diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 27ce40b..1c8d946 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -710,21 +710,21 @@ sub service_work { #breaks JSON hash. don't do it #$return->{$article}->{template_id} = "$pos_record->{$id}->{template_id}"; + $bw->log("$article --> service_work template used:",$template_group->{$pos_record->{$id}->{template_id}}->{tpl_id},""); if($template_group->{$pos_record->{$id}->{template_id}}){ @tpl_order = split /,/,$template_group->{$pos_record->{$id}->{template_id}}->{tpl_order}; $node->{template_id} = "$pos_record->{$id}->{template_id}"; - #$bw->log("service_work ($id) template used ($node->{template_id})",$template_group->{$pos_record->{$id}->{template_id}}->{tpl_order},""); foreach (@tpl_order){ my ($key,$val,$size,$interval,$service_type) = split /=/,$_; $service_type = 0 if(!looks_like_number($service_type)); my $erledigt = 0; - $erledigt = 1 if(!$history && $pos_record->{$id}->{$key} !~ /::erledigt::/); - $erledigt = 1 if($history && $pos_record->{$id}->{$key} =~ /::erledigt::/); + $erledigt = 1 if(!$history && $pos_record->{$id}->{txt01} && $pos_record->{$id}->{txt01} !~ /::erledigt::/); + $erledigt = 1 if($history && $pos_record->{$id}->{txt01} && $pos_record->{$id}->{txt01} =~ /::erledigt::/); if((($key =~ /int/ && looks_like_number($pos_record->{$id}->{$key})) || ($key eq "txt01" && $pos_record->{$id}->{$key} && $pos_record->{$id}->{$key} ne "NaN" && $erledigt))){ $tpl_keyseen .= "$key|"; - $bw->log("if((($key =~ /int/ && looks_like_number($pos_record->{$id}->{$key})) || ($key eq \"txt01\" && $pos_record->{$id}->{$key} && $pos_record->{$id}->{$key} ne \"NaN\"))){",$tpl_keyseen,""); + $bw->log("$pos_record->{$id}->{barcode} --> if((($key =~ /int/ && looks_like_number($pos_record->{$id}->{$key})) || ($key eq \"txt01\" && $pos_record->{$id}->{$key} && $pos_record->{$id}->{$key} ne \"NaN\"))){",$tpl_keyseen,""); my $u_name = $users_map->{$pos_record->{$id}->{owner}}->{txt01} || $channel_map->{$pos_record->{$id}->{owner}} || $pos_record->{$id}->{owner}; my $dt2 = DateTime::Format::Pg->parse_datetime($pos_record->{$id}->{mtime}); my $time_over = "0"; @@ -760,7 +760,7 @@ sub service_work { #set init values #$bw->log("set service init values by @tpl_order","",""); if(!$history && scalar(@tpl_order) > 1){ - $bw->log("tpl_keyseen",$tpl_keyseen,""); + #$bw->log("tpl_keyseen",$tpl_keyseen,""); $tpl_keyseen =~ s/\|$//; foreach (@tpl_order){ my ($key,$val,$size,$interval,$service_type) = split /=/,$_; @@ -775,7 +775,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} = "2021-09-01 00:00"; + $return->{$article}->{$key}->{mtime} = "2022-01-18 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 ddaaff8..654af8f 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -829,6 +829,7 @@ elsif($q->param('request') eq "service_work"){ $bike_id = $1 if($q->param('bike') =~ /(\d+)/); $response->{uri_operator} = "$varenv{wwwhost}"; my $node = {}; + my $response_work = {}; my $history = 0; $history = $q->param('history') if(looks_like_number($q->param('history'))); if(ref($auth) eq "HASH" && $auth->{authcookie}){ @@ -837,7 +838,7 @@ elsif($q->param('request') eq "service_work"){ (my $xresponse, my $pos_record, my $node_template, my $crecord) = $apif->service_select($q,$authraw,"",$history); #$bw->log("service_work bike_id $bike_id pos_record",$pos_record,""); - (my $response_work, $node) = $apif->service_work($pos_record,$bikes_allraw,$history,$node_template); + ($response_work, $node) = $apif->service_work($pos_record,$bikes_allraw,$history,$node_template); $bw->log("service_work bike_id $bike_id response_work",$response_work,""); if(ref($response_work) ne "HASH"){#if fails $response->{response_state} = "Failure 4010: no service found"; @@ -851,7 +852,7 @@ elsif($q->param('request') eq "service_work"){ my ($bikes_all,$bikes_allraw,$bikes_on_station) = $apif->bikes_all($q,\%varenv,$authraw,""); my $bike = $q->param('bike'); (my $xresponse, my $pos_record, my $node_template, my $crecord) = $apif->service_select($q,$authraw,"",$history); - (my $response_work, $node) = $apif->service_work($pos_record,$bikes_allraw,$history,$node_template); + ($response_work, $node) = $apif->service_work($pos_record,$bikes_allraw,$history,$node_template); if(ref($response_work) ne "HASH"){#if fails $response->{response_state} = "Failure 4011: no service found"; } @@ -864,7 +865,7 @@ elsif($q->param('request') eq "service_work"){ my ($bikes_all,$bikes_allraw,$bikes_on_station) = $apif->bikes_all($q,\%varenv,$authraw,""); my ($stations_all,$stations_allraw) = $apif->stations_all($q,\%varenv,$bikes_on_station,$authraw); (my $xresponse, my $pos_record, my $node_template, my $crecord) = $apif->service_select($q,$authraw,"",$history); - (my $response_work, $node) = $apif->service_work($pos_record,$stations_allraw,$history,$node_template); + ($response_work, $node) = $apif->service_work($pos_record,$stations_allraw,$history,$node_template); if(ref($response_work) ne "HASH"){#if fails $response->{response_state} = "Failure 4013: no service found"; } @@ -878,7 +879,7 @@ elsif($q->param('request') eq "service_work"){ my ($stations_all,$stations_allraw) = $apif->stations_all($q,\%varenv,$bikes_on_station,$authraw); my $station = $q->param('station'); (my $xresponse, my $pos_record, my $node_template, my $crecord) = $apif->service_select($q,$authraw,"",$history); - (my $response_work, $node) = $apif->service_work($pos_record,$stations_allraw,$history,$node_template); + ($response_work, $node) = $apif->service_work($pos_record,$stations_allraw,$history,$node_template); if(ref($response_work) ne "HASH"){#if fails $response->{response_state} = "Failure 4014: no service found"; } @@ -886,7 +887,7 @@ elsif($q->param('request') eq "service_work"){ foreach my $key (keys %$response_work){ $op_response_work->{$oprefix . $key} = $response_work->{$key}; } - $response = { %$response, %$response_work, %$auth }; + $response = { %$response, %$op_response_work, %$auth }; }else{ $response->{response_state} = "Failure 3002: no bike OR station ID defined"; } diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index 32d2c2e..afa4fe6 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -15,6 +15,7 @@ use Mod::Libenz; use Mod::Libenzdb; use Mod::DBtank; use Tpl::TransPositionen; +use Data::Dumper; sub new { my $class = shift; @@ -34,40 +35,27 @@ sub tpl(){ my $but = new Buttons; my $transp = new TransPositionen; my %varenv = $cf->envonline(); - my $script = $q->script_name(); - my $path_info = $q->path_info(); - my $path = $path_info; - #with meta_host, - if("$varenv{metahost}"){ - $path = "$script" . "$path_info"; - $script=""; - } - my $u_id = $users_dms->{u_id}; my $lang = "de"; - my $users = $db->select_users($u_id); my $user_agent = $q->user_agent(); my %ib = $but->ibuttons(); my $line_count1; #get Firma my $ctf = $db->get_content1("contentuser",$dbt->{shareedms_conf}->{parent_id}); - my $rel4tpl = { c_id => 0 }; - if($R::c_id4trans && $node_meta->{tpl_id} && $users_dms->{u_id} > 0){ - $rel4tpl = $db->get_rel4tpl("",$lang,$R::c_id4trans,$node_meta->{tpl_id}); - } + #print Dumper($users_dms) . "if($R::c_id4trans && $node_meta->{tpl_id} && $users_dms->{u_id} > 0)\n"; + + my $rel4tpl = $db->get_rel4tpl("",$lang,$users_dms->{c_id4trans},$node_meta->{tpl_id}); + my @tpl_order = split /,/,$rel4tpl->{tpl_order}; my $node = $db->get_node4multi($node_meta->{main_id},$lang) if($node_meta->{main_id}); - if(!$node->{main_id} && $users->{owner}){ + if(!$node->{main_id} && $users_dms->{u_id}){ $db->update_users4trans("0","0",$R::kind_of_trans,$users_dms->{u_id}); - $users = $db->select_users($u_id); - } - #edit marker for "question save" dialog - if($u_id && $R::trans2edit && $R::c_id4trans){ - $db->users_up("c_id4edit","$R::c_id4trans","$users->{owner}"); + $users_dms = $db->select_users($users_dms->{u_id}); } + my $ctx = { c_id => 0 }; - $ctx = $db->get_content1("contenttrans",$R::c_id4trans); + $ctx = $db->get_content1("contenttrans",$users_dms->{c_id4trans}); my $c_idadr = $ctx->{int10};#c_id orig from contentadr my $ctadr = $db->get_content1("contentadr",$c_idadr); my $rel_adr = $db->get_rel4tpl("","$lang","$c_idadr","202"); @@ -183,7 +171,7 @@ EOF } print "\n"; - print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users->{owner}"); + print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users_dms->{owner}"); print $q->hidden(-name=>'c_idadr', -override=>'1', -value=>"$c_idadr"); print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset"); print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit"); @@ -195,7 +183,7 @@ EOF print $q->hidden(-name=>'close_time', -override=>'1', -value=>"$ctx->{close_time}"); print $q->end_form,"\n"; - print $q->div({-style=>'position:fixed;bottom:2%;right:1%;z-index:10;font-size:13px;'}," (c_id: $ctx->{c_id} | rel_id: $rel4tpl->{rel_id} | tpl_id: $rel4tpl->{tpl_id})"),"\n" if($u_id eq $varenv{superu_id}); + print $q->div({-style=>'position:fixed;bottom:2%;right:1%;z-index:10;font-size:13px;'}," (c_id: $ctx->{c_id} | rel_id: $rel4tpl->{rel_id} | tpl_id: $rel4tpl->{tpl_id})"),"\n" if($users_dms->{u_id} eq $varenv{superu_id}); ########## @@ -209,14 +197,13 @@ EOF print $q->start_table({-class=>'list', -height=>'10em',-border=>'0', -width=>'100%',-align=>'left', -cellpadding=>'0', -cellspacing=>'0'}),"\n"; ###Content #Edit Address --> template=Adressenliste $ctt->{txt01} = $q->unescapeHTML("$ctt->{txt01}"); - if($u_id && ($R::trans2edit eq "client" || $R::ct_trans eq "add_transadr")){ + 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=>"$ctx->{c_id}"),"\n";#c_id from contenttrans print $q->hidden(-name=>'int10', -override=>'1', -value=>"$c_idadr"),"\n"; #print $q->hidden(-name=>'txt26', -override=>'1', -value=>"$mandat"),"\n"; print $q->hidden(-name=>'c_idadr', -override=>'1', -value=>"$c_idadr"),"\n"; print $q->hidden(-name=>'rel_id', -override=>'1', -value=>"$rel4tpl->{rel_id}"),"\n"; - print $q->hidden(-name=>'u_id', -override=>'1', -value=>"$u_id"),"\n"; print $q->Tr(),"\n"; print "