diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm
index da66cfc..839a419 100755
--- a/copri4/main/src/Mod/APIfunc.pm
+++ b/copri4/main/src/Mod/APIfunc.pm
@@ -866,6 +866,7 @@ sub fetch_bike_tariff {
#2022-04-05 refactored bike reservation
sub booking_request(){
my $self = shift;
+ my $q = shift;
my $varenv = shift;
my $auth = shift;#app API auth
my $bike = shift || "";#app API request
@@ -875,13 +876,17 @@ sub booking_request(){
my $gps = shift || "";
my $sig_book = shift || {};
+ my $state = $q->escapeHTML($q->param('state')) || "";
+ my $lock_state = $q->escapeHTML($q->param('lock_state')) || "";
+
my $dbh = "";
my $pos_id="";
my $now_dt = strftime "%Y-%m-%d %H:%M", localtime;
my $response_state = "OK";
my $response_text = "";
- $bw->log("booking_request bike $bike, auth $auth->{c_id}, tarif $ct_tariff->{barcode}, requested bike:",$bike,"");
+ #state and lock_state is only defined if requestes incl. occupied
+ $bw->log("booking_request bike to state $bike $state $lock_state, auth $auth->{c_id}, tarif $ct_tariff->{barcode}, bike:",$bike,"");
my $update_adr = {
table => "contentadr",
diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm
index b9c52f8..6b99beb 100755
--- a/copri4/main/src/Mod/APIjsonserver.pm
+++ b/copri4/main/src/Mod/APIjsonserver.pm
@@ -103,11 +103,17 @@ if(!$coo && !$q->param('merchant_id')){
return Apache2::Const::OK;
exit 0;
}else{
- ($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
- if($aowner && ($aowner == 195 || $aowner == 185 || $aowner == 176)){
+ my $return_merchant = { project_id => "" };
+ ($aowner, $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
+ #if($aowner && ($aowner == 195 || $aowner == 185 || $aowner == 176)){
+ if($return_merchant->{project_id} eq "Konstanz"){
$response->{agb_html} = "site/agb_konrad_1.html";
$response->{bike_info_html} = "site/bike_info_konrad_1.html";
}
+ if($return_merchant->{project_id} eq "Bayern"){
+ $response->{agb_html} = "site/agb_lastenradbayern_2.html";
+ }
+
}
#If param>40 || value > 400 then exit
@@ -252,7 +258,7 @@ elsif($q->param('request') eq "booking_request"){
if($ct_bike->{int11} == 3){
$sig_book = $si->sig_booking(\%varenv,$authraw,$ct_bike,"","reserve");
}
- $response_book = $apif->booking_request(\%varenv,$authraw,$bike,$ct_bike,$ct_tariff,$aowner,$gps,$sig_book);
+ $response_book = $apif->booking_request($q,\%varenv,$authraw,$bike,$ct_bike,$ct_tariff,$aowner,$gps,$sig_book);
}elsif(!$ct_tariff->{barcode}){
$response->{response_state} = "Failure 2089: booking bike $bike fails, no user tariff available";
$response->{response_text} = "Reservierungsfehler Fahrrad Nr. $bike. Es konnte kein Mietrad Tarif gefunden werden.";
diff --git a/copri4/shareeapp-operator/src/Lib/Mlogic.pm b/copri4/shareeapp-operator/src/Lib/Mlogic.pm
index f929d41..08ab803 100755
--- a/copri4/shareeapp-operator/src/Lib/Mlogic.pm
+++ b/copri4/shareeapp-operator/src/Lib/Mlogic.pm
@@ -43,11 +43,12 @@ sub tpl(){
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || "";
#my $api_test = "sharee_fr01"; my $bike="FR1538";
- my $api_test = "sharee_fr01"; my $bike="FR4781";#BVB test
+ #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 $api_test = "sharee_wue"; my $bike="WUE5524";
#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/Anmelden.pm b/copri4/shareeapp-operator/src/Tpl/Anmelden.pm
index 5db3506..88a2d0e 100755
--- a/copri4/shareeapp-operator/src/Tpl/Anmelden.pm
+++ b/copri4/shareeapp-operator/src/Tpl/Anmelden.pm
@@ -89,19 +89,27 @@ sub tpl(){
}elsif($viewsel[1] eq "Account" && $R::sharee_edit =~ /delete_account/){
if($R::sharee_edit eq "delete_account1" && $users_sharee->{c_id}){
#
- my ($ctpos,$operator_hash) = $apif->user_rentals_history($q,$users_sharee);
- my $ctpos_count = 0;
+ my ($cttpos,$operator_hash) = $apif->user_rentals_history($q,$users_sharee);
+ my $pricing = {};
+ my $counting = {};
+ my $cttpos_count = 0;
my $sum = 0;
- foreach my $id (keys(%$ctpos)){
- $ctpos_count++;
- my $gesamt = 0;
- my $rabatt = "";
- ($gesamt,$rabatt) = $pri->price2calc($ctpos->{$id});
- $sum += $gesamt;
+ foreach my $id (keys(%$cttpos)){
+ $cttpos_count++;
+ if($cttpos->{$id}->{int35} && $cttpos->{$id}->{start_time} && $cttpos->{$id}->{end_time}){
+ ($pricing,$counting) = $pri->counting_rental($varenv,$cttpos->{$id},"calc_price");
+ $sum += $pricing->{total_price};
+ }else{
+ my ($gesamt,$rabatt) = $pri->price2calc($cttpos->{$id});
+ $sum += $gesamt;
+ }
}
$sum = $lb->round($sum);
- if($ctpos_count > 0 && $sum > 0){
- print $q->div({-class=>'content2'}, "Ihr Konto ist nicht ausgeglichen ($sum). Bitte kontaktieren Sie uns damit wir Ihre Rechnungstellung beschleunigen. Anschließend können Sie Ihren Account löschen. Danke für Ihr Verständnis"),"\n";
+ $sum = sprintf('%.2f', $sum);
+ $sum =~ s/\./,/;
+
+ if($cttpos_count > 0 && $sum > 0){
+ print $q->div({-class=>'content2'}, "Ihr Konto ist nicht ausgeglichen, es ist ein Betrag von $sum € offen. Bitte kontaktieren Sie uns unter post\@sharee.bike damit wir die Rechnungstellung für sie beschleunigen. Anschließend können Sie Ihren Account löschen. Danke für Ihr Verständnis"),"\n";
print $q->div({-style=>'margin-top:1em;text-align:center;'},$q->a({-class=>"btn btn-primary btn-lg btn-block",-href=>'javascript:history.back()', -style=>"border:1px solid #$bgcolor1;background-color:#$bgcolor1;color:#fffffe;"}, "zurück")),"\n";
}else{
print $q->div({-class=>'content2'}, "Wollen Sie wirklich Ihre Daten löschen?"),"\n";
diff --git a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm
index 73f124a..daf2c15 100755
--- a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm
+++ b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm
@@ -75,6 +75,10 @@ sub tpl(){
my $aowner = "198";
$aowner = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id} if($varenv->{merchant_id} && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id});
+ #TODO substitute aowner by project
+ my $project = "all";
+ $project = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{project} if($varenv->{merchant_id} && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{project});
+
my $bonus_desc = "Bonusnummer (falls vorhanden)";
my $bonus_ak = "Ihre Bonusnummer wurde akzeptiert. Bitte beachten Sie dass der Bonustarif im Kontext des Mietradbetreibers vergeben wird. Der Tarif wird bei der Mietrad Reservierung angezeigt.";
my $bonus_avail = "Die Bonusnummer ist nicht vorhanden.";
@@ -163,7 +167,14 @@ Weitere Personen aus Ihrem Haushalt profitieren jedoch ebenfalls, falls Sie weit
my $sharee_agb_text = {};
$sharee_agb_text->{ct_name} = "AGB";
$sharee_agb_text->{txt01} = "";
- $sharee_agb_text->{txt01} = "" if($aowner == 195 || $aowner == 185 || $aowner == 176);
+ #if($aowner == 195 || $aowner == 185 || $aowner == 176){
+ if($project eq "Konstanz"){
+ $sharee_agb_text->{txt01} = "";
+ }
+ if($project eq "Bayern"){
+ $sharee_agb_text->{txt01} = "";
+ }
+
my $sharee_privacy_text = {};
$sharee_privacy_text->{ct_name} = "Datenschutzhinweise";
@@ -514,11 +525,11 @@ Nach Abschluss der Registrierung erhalten Sie sowohl auf die von Ihnen hinterleg
if($key =~ /txt16/ && $ctrel->{c_id}){
if($R::failure =~ /^txt16/){
$autofocus = "autofocus";
- $label_des = "Der Gutscheincode ist leider nicht vorhanden. Bei nicht vorhandenen Codes das Feld bitte leer lassen.";
+ $label_des = "Der Gutscheincode ist nicht vorhanden.";
}
elsif($R::failure =~ /conflict_txt16/){
$autofocus = "autofocus";
- $label_des = "Der Gutscheincode wurde bereits hinterlegt. Bei nicht vorhandenen Codes das Feld bitte leer lassen.";
+ $label_des = "Der Gutscheincode wurde bereits hinterlegt.";
}else{
$required="";
$label_des = "$des";
diff --git a/copri4/shareeweb-project/src/Lib/Mlogic.pm b/copri4/shareeweb-project/src/Lib/Mlogic.pm
index 373499e..aa03266 100755
--- a/copri4/shareeweb-project/src/Lib/Mlogic.pm
+++ b/copri4/shareeweb-project/src/Lib/Mlogic.pm
@@ -54,11 +54,12 @@ sub tpl(){
if($users_sharee->{c_id} eq $varenv->{superu_id} || $dbt->{copri_conf}->{stage} eq "test"){
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || $dbt->{website}->{$varenv->{syshost}}->{merchant_id};
- #my $api_test = "sharee_kn";
+ #my $api_test = "sharee_kn"; my $bike="KN201";
#my $api_test = "sharee_fr01"; my $bike="FR1538";
- #my $api_test = "sharee_wue";
- my $api_test = "sharee_sx"; my $bike="S3X1001";
+ my $api_test = "sharee_wue"; my $bike="WUE5524";
+ #my $api_test = "sharee_sx"; my $bike="S3X1001";
#my $api_test = "sharee_ren"; my $bike="REN2";
+
print $q->div({-style=>'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 ] ")),"\n";
}