diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 454871d..6b5fb5e 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -869,7 +869,7 @@ sub service_work { $return->{$article}->{$key}->{service_type} = "$service_type"; $return->{$article}->{$key}->{work_val} = "1" if($key =~ /int/); $return->{$article}->{$key}->{work_val} = "::erledigt::" if($key =~ /txt/); - $return->{$article}->{$key}->{mtime} = "2022-09-29 00:00"; + $return->{$article}->{$key}->{mtime} = "2023-02-16 00:00"; $return->{$article}->{$key}->{user_name} = "init"; $return->{$article}->{$key}->{owner} = "188"; diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index 8f85ebc..9f25cc3 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -18,7 +18,7 @@ use Apache2::Const -compile => qw(OK ); use JSON; use Scalar::Util qw(looks_like_number); use Config::General; - +use Time::Piece; use Lib::Config; use Mod::DBtank; use Mod::Basework; @@ -665,7 +665,7 @@ elsif($q->param('request') eq "stations_available"){ $user_agent_subversion = $3 if($user_agent =~ /3\.0\.(\d+)/); #for tests only contributors with service-tour defined - if($user_agent_subversion <= 398 && $authraw->{txt18} && $authraw->{c_id} =~ /$dbt->{copri_conf}->{contributors}/){ + if(1==2 && $user_agent_subversion <= 398 && $authraw->{txt18} && $authraw->{c_id} =~ /$dbt->{copri_conf}->{contributors}/){ my $pref_ctu = { table => "contentuser", fetch => "one", @@ -675,8 +675,24 @@ elsif($q->param('request') eq "stations_available"){ $uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu); $response->{merchant_message} = $uadr->{txt01}; $response->{merchant_message} = $uadr->{txt02} if($q->param('lang') eq "en"); - $response->{merchant_message} .= "\n\nWill be disabled --> debug contributor App version ($user_agent)"; - $response->{merchant_message} .= "\n\nWill be disabled --> debug contributor user_device (" . $q->param('user_device') . ")"; + } + #bayern-maintanance-message + my $lnow = strftime("%Y-%m-%d %H:%M:%S", localtime(time)); + my $localtime = Time::Piece->strptime($lnow, "%Y-%m-%d %H:%M:%S"); + my $epoch_now = $localtime->epoch; + my $maintanance_start = Time::Piece->strptime("2023-02-16 21:00:00", "%Y-%m-%d %H:%M:%S"); + my $maintanance_end = Time::Piece->strptime("2023-02-17 03:00:00", "%Y-%m-%d %H:%M:%S"); + my $epoch_start = $maintanance_start->epoch; + my $epoch_end = $maintanance_end->epoch; + if(1==1 && $return_merchant->{merchant_id} eq $dbt->{appsframe}->{LastenradBayern}->{merchant_id} && $epoch_now >= $epoch_start && $epoch_now <= $epoch_end){ + my $pref_ctu = { + table => "contentuser", + fetch => "one", + ct_name => "bayern-maintanance-message", + }; + my $uadr = { c_id => 0 }; + $uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu); + $response->{merchant_message} = $uadr->{txt01}; } $response = { %$response, %$auth }; diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm index 67c12e2..37cb543 100755 --- a/copri4/main/src/Mod/Prelib.pm +++ b/copri4/main/src/Mod/Prelib.pm @@ -1001,6 +1001,9 @@ sub save_service_desc { if($_ =~ /txt\d+/ && $valxx =~ /int\d+=[a-z-]+=checkbox=\d+=\d/i){ $update_ctuser->{$_} = "$valxx"; $tpl_order_desc .= ",$valxx"; + }else{ + $update_ctuser->{$_} = ""; + $tpl_order_desc .= ""; } } print FILE "update contentuser c_id:$c_id\n" . Dumper($update_ctuser) . "\n"; diff --git a/copri4/main/src/Mod/Prelogic.pm b/copri4/main/src/Mod/Prelogic.pm index 61958f6..9f21745 100755 --- a/copri4/main/src/Mod/Prelogic.pm +++ b/copri4/main/src/Mod/Prelogic.pm @@ -87,9 +87,9 @@ sub preinit(){ return "failure::Fehler
Die Sitzung wurde unterbrochen."; } - if((!looks_like_number($R::c_id4trans) || !looks_like_number($R::tpl_id4trans)) && $R::ct_trans !~ /delete_trans/ && !$R::v_abschluss){ + if((!looks_like_number($R::c_id4trans) || !looks_like_number($R::tpl_id4trans)) && ($R::ct_trans !~ /delete_trans|new_trans/) && !$R::v_abschluss){ print FILE Dumper($q); - return "failure::Fehler
Daten ID's nicht vollständig ($R::c_id4trans || $R::tpl_id4trans)"; + return "failure::Fehler
Daten ID's nicht vollständig (if((!looks_like_number($R::c_id4trans) || !looks_like_number($R::tpl_id4trans)) && ($R::ct_trans !~ /delete_trans|new_trans/) && !$R::v_abschluss))"; } #international buttons @@ -626,8 +626,6 @@ sub preinit(){ $ctt = $db->get_content1("contenttrans",$ctt->{c_id}); $ctt->{sequence} = $R::payone_sequence || 1; - #only if int14 = OPOS (set by preauthorization) - #if($ctt->{int14})#TODO doupleclick if($state !~ /Zahlungseingang/){ #SEPA capture if($ctadr->{int03} == 1 && $ctt->{txt16} && $R::state =~ /SEPA/){#SEPA @@ -652,6 +650,10 @@ sub preinit(){ $update_ctt->{pay_time} = "now()"; $u_rows += $dbt->update_record($dbh,$update_ctt,$ctt); $db->updater($table,"ct_name",$ctt->{barcode},"int14","null","","","","","");#delete OPOS also on basic invoice + }elsif($ctt->{txt00} eq "Rechnung" && $R::sum_paid <= 0){ + $update_ctt->{int14} = "null"; + $update_ctt->{pay_time} = "now()"; + $u_rows += $dbt->update_record($dbh,$update_ctt,$ctt); } } diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index cac0399..581a001 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -234,6 +234,7 @@ EOF if($users_dms->{u_id} && ($R::trans2edit eq "client" || $R::ct_trans eq "add_transadr")){ #my @_anrede = ("","Frau","Herr","Firma"); print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$ctt->{c_id}"),"\n"; + print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"); print $q->hidden(-name=>'int10', -override=>'1', -value=>"$c_idadr"),"\n"; print $q->hidden(-name=>'c_idadr', -override=>'1', -value=>"$c_idadr"),"\n"; print $q->hidden(-name=>'rel_id', -override=>'1', -value=>"$ctt->{rel_id}"),"\n"; @@ -271,6 +272,7 @@ EOF print ""; print $but->singlesubmit2glyph("trans2edit","client","Kunden bearbeiten","background-color:white;"),"\n"; print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$ctt->{c_id}"),"\n"; + print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"); #from json_selectadr print $q->hidden(-id=>'c_idadr', -name=>"c_idadr", -override=>'1'),"\n"; print $q->hidden(-id=>'vorname_name', -name=>"vorname_name", -override=>'1'),"\n"; diff --git a/copri4/main/src/Tpl/Karte_osm.pm b/copri4/main/src/Tpl/Karte_osm.pm index 2aab074..57dbb6f 100755 --- a/copri4/main/src/Tpl/Karte_osm.pm +++ b/copri4/main/src/Tpl/Karte_osm.pm @@ -51,7 +51,7 @@ sub tpl(){ $project = $dbt->{website}->{$varenv->{syshost}}->{project} if($dbt->{website}->{$varenv->{syshost}}->{project}); $uri_request = $dbt->{website}->{$varenv->{syshost}}->{operatorWeb}; if($project eq "Freiburg"){ - print $q->div({-style=>"color:#026666;font-size:20px;padding-bottom:12px;"},"Hier können öffentlich verfügbare Lastenfahrräder gemietet werden"),"\n"; + print $q->div({-style=>"color:#026666;font-size:20px;padding-bottom:12px;"},"Hier können Lastenräder gemietet werden"),"\n"; }else{ print $q->div({-class=>"content2_contact"},"Hier können Lastenfahrräder gemietet werden:"),"\n"; } @@ -209,11 +209,9 @@ EOF print "\n"; -if($project ne "Freiburg"){ print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:37px;', -src=>"$varenv->{metahost}/img/$icon_green"}), "Lastenrad verfügbar"),"\n"; print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:37px;', -src=>"$varenv->{metahost}/img/$icon_red"}), "Lastenrad nicht verfügbar"),"\n"; #print $q->div({-class=>"content2_legende"}, " "),"\n"; -} print "$initMap|$varenv->{dbname}|$api_return->{authcookie}|$users_sharee->{c_id}" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); diff --git a/copri4/main/src/Tpl/TransPositionen.pm b/copri4/main/src/Tpl/TransPositionen.pm index 2cac33a..0440bb2 100755 --- a/copri4/main/src/Tpl/TransPositionen.pm +++ b/copri4/main/src/Tpl/TransPositionen.pm @@ -580,25 +580,25 @@ EOF $but->selector("state","250px",$kind_of_payment,@_paymentstate), $but->singlesubmit1("set_state","buchen")), "\n"; - } - if($ctt->{txt00} ne "Storno" && $ctt->{ct_name} =~ /\d+-\d/){ - my @s_valxx = (""); - my $s_hash = {}; - $s_hash = $dbt->{shareedms_conf}->{warning_state}; - foreach my $s_key (sort keys (%{ $s_hash })) { + if($ctt->{txt00} ne "Storno" && $ctt->{ct_name} =~ /\d+-\d/){ + my @s_valxx = (""); + my $s_hash = {}; + $s_hash = $dbt->{shareedms_conf}->{warning_state}; + foreach my $s_key (sort keys (%{ $s_hash })) { push @s_valxx, "$s_key:($s_key) $s_hash->{$s_key}"; - } - my $warn_time = $ctt->{warn_time} || ""; - $warn_time = $lb->time4de($warn_time,0) if($warn_time); + } + my $warn_time = $ctt->{warn_time} || ""; + $warn_time = $lb->time4de($warn_time,0) if($warn_time); - if($ctt->{ct_name} =~ /\d+-\d/){ + if($ctt->{ct_name} =~ /\d+-\d/){ undef @s_valxx[1]; undef @s_valxx[2]; - } - print $q->div({-class=>'element6',-style=>'float:right;background-color:silver;'},"Mahnstufe",$but->selector_class("int06","","",$ctt->{int06},@s_valxx), + } + print $q->div({-class=>'element6',-style=>'float:right;background-color:silver;'},"Mahnstufe",$but->selector_class("int06","","",$ctt->{int06},@s_valxx), "Fälligkeit",$q->textfield(-id=>'datepicker3',-class=>'etxt',-name=>"warn_time",-default=>"$warn_time",-override=>1,-size=>"8",-maxlength=>10)),"\n"; - print $q->hidden(-name=>'int14', -override=>'1', -value=>"1"),"\n";#set OPOS + print $q->hidden(-name=>'int14', -override=>'1', -value=>"1"),"\n";#set OPOS + } } } diff --git a/copri4/shareeapp-operator/src/Tpl/Contact.pm b/copri4/shareeapp-operator/src/Tpl/Contact.pm index ef7d46e..0c40728 100755 --- a/copri4/shareeapp-operator/src/Tpl/Contact.pm +++ b/copri4/shareeapp-operator/src/Tpl/Contact.pm @@ -92,7 +92,7 @@ sub tpl(){ #print Dumper($node_meta->{tpl_order}) . "
\n"; #handmade activation to show only realy live operators on web contact - if($sharee_operator && $sharee_operator =~ /sharee_mak|sharee_sx|sharee_lec/){ + if($sharee_operator && $sharee_operator =~ /sharee_mak|sharee_sx|sharee_lec|sharee_cad/){ foreach (@tpl_order){ my ($key,$des,$size) = split /=/,$_;