diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 1e1418f..83e870b 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -543,6 +543,8 @@ sub service_update(){ $update->{txt01} = $q->escapeHTML($q->param('q1')) if($q->param('q1')); $update->{txt02} = $q->escapeHTML($q->param('q2')) if($q->param('q2')); $update->{txt03} = $q->escapeHTML($q->param('q3')) if($q->param('q3')); + + #just a assumption my $last_used_operator = $auth->{txt19}; if($last_used_operator){ my $dbh_operator = $dbt->dbconnect_extern("$last_used_operator"); @@ -551,35 +553,40 @@ sub service_update(){ table_pos => "contenttranspos", fetch => "one", ca_id => "$auth->{c_id}", - int26 => ">::0.1",#if cloud distance km > 0,1 - end_time => ">=::(now() - interval '10 minutes')", + #end_time => ">=::(now() - interval '10 minutes')", }; - my $post_record = $dbt->collect_post($dbh_operator,$postref); + my $post_record = { c_id => 0 }; + $post_record = $dbt->collect_post($dbh_operator,$postref); $update->{int02} = $post_record->{int26} if($post_record->{int26}); $update->{txt10} = $dbt->{operator}->{$last_used_operator}->{oprefix}; - } - #to update sig int28 counter - $ctpos = $dbt->collect_post($dbh,$pref) if($bike_id); - if($ctpos->{c_id} > 0){ + #to update sig int28 counter my $update_pos = { table => "contenttranspos", mtime => "now()", int28 => "1", }; - $dbt->update_record($dbh,$update_pos,$ctpos); + $dbt->update_record($dbh_operator,$update_pos,$post_record) if($post_record->{c_id}); - #user_miniquest_count - my $user_miniquest_count = $auth->{int23} || 0; - if($user_miniquest_count <= 3){ + #user_miniquest_count on operator + my $adref = { + table => "contentadr", + fetch => "one", + template_id => "202", + c_id => "$auth->{c_id}", + }; + my $auth_op = $dbt->fetch_record($dbh_operator,$adref); + + my $user_miniquest_count = $auth_op->{int23} || 0; + #if($user_miniquest_count <= 3){ $user_miniquest_count++; my $update_op = { table => "contentadr", int23 => $user_miniquest_count, atime => "now()", }; - my $rows = $dbt->update_record($dbh,$update_op,$auth); - } + my $rows = $dbt->update_record($dbh_operator,$update_op,$auth_op); + #} } } @@ -1607,7 +1614,7 @@ sub booking_update(){ my $co2diff = $pri->co2calc($booking); my $sprit_price = $pri->sprit2calc($booking); $co2saving .= "$co2diff kg CO2, "; - $co2saving .= "$sprit_price EUR " if($sprit_price > 0); + $co2saving .= "$sprit_price EUR " if($sprit_price !~ /-/); $booking->{int26} =~ s/\./,/; $co2saving .= "bei einer Strecke von $booking->{int26} KM"; $booking_values->{co2saving} = $co2saving; @@ -1726,6 +1733,49 @@ sub user_rentals_history(){ }#end user_rental_history +#last used rental to feedback +sub rental_to_feedback{ + my $self = shift; + my $varenv = shift; + my $auth = shift; + + my $pref = { + table => "contenttrans", + table_pos => "contenttranspos", + fetch => "one", + template_id => "218", + ca_id => "$auth->{c_id}", + "ct.close_time" => "is::null", + int10 => "1", + int11 => "3",#sig system + int28 => "3",#set count on sig rental_end + #end_time => ">=::(now() - interval '5 min')", + }; + my $ctpos = { c_id => 0 }; + $ctpos = $dbt->collect_post($dbh,$pref); + + + my $show_dialog = {}; + if($dbt->{operator}->{$varenv->{dbname}}->{project} eq "Bayern"){ + if($auth->{int23} < 4){ + $bw->log("user_miniquery via $varenv->{dbname} user ID $auth->{c_id} exist count:",$auth->{int23},""); + $show_dialog->{user_miniquery} = $dbt->evaluationsfragen($dbh); + } + if($ctpos->{int26}){ + my $co2saving = "Einsparung: "; + my $co2diff = $pri->co2calc($ctpos); + my $sprit_price = $pri->sprit2calc($ctpos); + $co2saving .= "$co2diff kg CO2, "; + $co2saving .= "$sprit_price EUR " if($sprit_price !~ /-/); + $ctpos->{int26} =~ s/\./,/; + $co2saving .= "bei einer Strecke von $ctpos->{int26} KM"; + $show_dialog->{co2saving} = $co2saving; + } + } + return ($ctpos,$show_dialog); +} + + #user bikes occupied sub user_bikes_occupied(){ my $self = shift; @@ -1747,7 +1797,7 @@ sub user_bikes_occupied(){ ##selects also int28 > 0 bikes to view once miniquery #it will only defined on booking_request, because there must be available - $pref->{show_dialog} = "1" if($show_dialog); + #$pref->{show_dialog} = "1" if($show_dialog); my $record = $dbt->collect_post($dbh,$pref); return $record; }#end user_bikes_occupied @@ -1788,7 +1838,8 @@ sub rentals(){ } } #sig update station_lock_state=locked to cancel once miniquery - elsif($record->{$id}->{int11} && $record->{$id}->{int11} == 3){ + #disabled, moving to bikes_available + elsif(1==2 && $record->{$id}->{int11} && $record->{$id}->{int11} == 3){ $return->{$id}->{rentalId} = "$record->{$id}->{txt11}"; if($record->{$id}->{int28}){ diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 1cba1a5..1487eae 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -68,7 +68,13 @@ sub sig_available { my $authed = 0; my $tariff_content = {}; - $authed = 1 if(ref($ctadr) eq "HASH" && $ctadr->{c_id} && $ctadr->{c_id} > 0); + my $ctpos = { c_id => 0 }; + my $show_dialog = {}; + if(ref($ctadr) eq "HASH" && $ctadr->{c_id} && $ctadr->{c_id} > 0){ + $authed = 1; + ($ctpos,$show_dialog) = $apif->rental_to_feedback($varenv,$ctadr); + } + (my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,$q->param('authcookie')); my $hotline_hash = { @@ -165,6 +171,10 @@ sub sig_available { print FILE "bike_group $bike_id | $resp->{site}->{id} | @{$bike_group}[0]\n"; if($bike && looks_like_number($bike_id) && looks_like_number($resp->{site}->{id}) && ref($bike_group) eq "ARRAY" && @{$bike_group}[0]){ print FILE "Bike: $bike\n"; + if($ctpos->{barcode} && $ctpos->{barcode} == $bike_id){ + $response_out->{$bike}->{user_miniquery} = $show_dialog->{user_miniquery} if($show_dialog->{user_miniquery}); + $response_out->{$bike}->{co2saving} = $show_dialog->{co2saving} if($show_dialog->{co2saving}); + } $response_out->{$bike}->{bike} = "$bike"; $response_out->{$bike}->{authed} = "$authed"; $response_out->{$bike}->{station} = "SX$resp->{site}->{id}" || ""; diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index f228b9e..40b6cd0 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -625,10 +625,10 @@ sub collect_post(){ }elsif($key =~ /^(c_id|ca_id|ct_id|owner|barcode|int\d+)$/ && $value){ $cp_where .= " and cp.$key $op $value"; } - } + #} #selects also push event=RENTAL_END station_lock_state bikes to view feedback and miniquery - elsif($key eq "int10" && $value eq "('3','2')" && $fetch->{show_dialog}){ - $cp_where .= " and (cp.$key $op $value OR cp.int28 = 3)";#select only if no dialog saved + #elsif($key eq "int10" && $value eq "('3','2')" && $fetch->{show_dialog}){ + # $cp_where .= " and (cp.$key $op $value OR cp.int28 = 3)";#select only if no dialog saved }elsif($key =~ /^(c_id|ca_id|ct_id|owner|barcode|int\d+)$/ && $value){ $cp_where .= " and cp.$key $op $value"; }elsif($fetch->{catch} && $key eq "template_id" && $value){ diff --git a/copri4/main/src/Mod/Printpreview.pm b/copri4/main/src/Mod/Printpreview.pm index 5016783..f796200 100755 --- a/copri4/main/src/Mod/Printpreview.pm +++ b/copri4/main/src/Mod/Printpreview.pm @@ -474,7 +474,7 @@ td { my $co2diff = $pri->co2calc($cttpos->{$id}); my $sprit_price = $pri->sprit2calc($cttpos->{$id}); $co2saving .= "$co2diff kg CO²
"; - $co2saving .= "$sprit_price EUR
" if($sprit_price > 0); + $co2saving .= "$sprit_price EUR
" if($sprit_price !~ /-/); $cttpos->{$id}->{int26} =~ s/\./,/; $co2saving .= "bei $cttpos->{$id}->{int26} KM"; } diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index 9939c51..44e0db1 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -379,7 +379,7 @@ EOF my $co2diff = $pri->co2calc($cttpos); my $sprit_price = $pri->sprit2calc($cttpos); $co2saving .= "$co2diff kg CO²
"; - $co2saving .= "$sprit_price EUR
" if($sprit_price > 0); + $co2saving .= "$sprit_price EUR
" if($sprit_price !~ /-/); $cttpos->{int26} =~ s/\./,/; $co2saving .= "bei $cttpos->{int26} KM"; print $q->td({-class=>'content1_cms'},"$co2saving"); diff --git a/copri4/main/src/Tpl/TransPositionen.pm b/copri4/main/src/Tpl/TransPositionen.pm index fcf9aee..4d9d6bc 100755 --- a/copri4/main/src/Tpl/TransPositionen.pm +++ b/copri4/main/src/Tpl/TransPositionen.pm @@ -253,7 +253,7 @@ EOF my $co2diff = $pri->co2calc($cttpos->{$id}); my $sprit_price = $pri->sprit2calc($cttpos->{$id}); $co2saving .= "$co2diff kg CO²
"; - $co2saving .= "$sprit_price EUR
" if($sprit_price > 0); + $co2saving .= "$sprit_price EUR
" if($sprit_price !~ /-/); $cttpos->{$id}->{int26} =~ s/\./,/; $co2saving .= "bei $cttpos->{$id}->{int26} KM"; } diff --git a/copri4/shareeapp-operator/src/Lib/Mlogic.pm b/copri4/shareeapp-operator/src/Lib/Mlogic.pm index 55e109d..4c2a56a 100755 --- a/copri4/shareeapp-operator/src/Lib/Mlogic.pm +++ b/copri4/shareeapp-operator/src/Lib/Mlogic.pm @@ -45,8 +45,8 @@ sub tpl(){ #my $api_test = "sharee_fr01"; my $bike="FR1538"; #my $api_test = "sharee_fr01"; my $bike="FR4781";#Tracking and BVB test #my $api_test = "sharee_kn"; my $bike="KN205"; - my $api_test = "sharee_wue"; my $bike="WUE5525"; - #my $api_test = "sharee_sx"; my $bike="S3X1001"; + #my $api_test = "sharee_wue"; my $bike="WUE5525"; + my $api_test = "sharee_sx"; my $bike="S3X1001"; #my $api_test = "sharee_ren"; my $bike="REN2"; print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test\&bike=$bike", -target=>'_blank'}," [ tests --> $api_test ] "),"$users_sharee->{txt08}",$q->a({-style=>"color:#$bgcolor1;", -href=>"logout_sharee$session"},"logout")),"\n"; diff --git a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm index a0e5b9c..0d64b81 100755 --- a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm +++ b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm @@ -425,7 +425,7 @@ Nach Abschluss der Registrierung erhalten Sie sowohl auf die von Ihnen hinterleg my $co2diff = $pri->co2calc($cttpos->{$id}); my $sprit_price = $pri->sprit2calc($cttpos->{$id}); $co2saving .= "$co2diff kg CO²
"; - $co2saving .= "$sprit_price EUR
" if($sprit_price > 0); + $co2saving .= "$sprit_price EUR
" if($sprit_price !~ /-/); $cttpos->{$id}->{int26} =~ s/\./,/; $co2saving .= "bei $cttpos->{$id}->{int26} KM"; }