diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index ce0034e..936881b 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -381,7 +381,7 @@ sub service_select { $pos_record->{1}->{template_id} = $node_template->{template_id}; } - #$bw->log("service_select pos_record:",$pos_record,""); + $bw->log("service_select with node_template: $node_template->{template_id} and pos_record:",$pos_record,""); } return ($return,$pos_record,$node_template,$crecord); @@ -690,10 +690,17 @@ 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}"; + if(1==1){ + if($pos_record->{$id}->{template_id} && $template_group->{$pos_record->{$id}->{template_id}}){ + $bw->log("$article --> service_work template on id: $id used:",$template_group->{$pos_record->{$id}->{template_id}}->{tpl_id},""); + @tpl_order = split /,/,$template_group->{$pos_record->{$id}->{template_id}}->{tpl_order}; + $node->{template_id} = "$pos_record->{$id}->{template_id}"; + }elsif(1==1){#on init use node tpl + $bw->log("$article --> service_work template on id: $id used node_template:",$node->{template_id},""); + my $tpl = $dbt->get_tpl($dbh,$node_template->{template_id}); + @tpl_order = split /,/,$tpl->{tpl_order}; + $node->{template_id} = "$tpl->{tpl_id}"; + } foreach (@tpl_order){ my ($key,$val,$size,$interval,$service_type) = split /=/,$_; @@ -727,7 +734,8 @@ sub service_work { $return->{$article}->{$key_change}->{interval} = "$interval"; $return->{$article}->{$key_change}->{time_over} = "$time_over"; $return->{$article}->{$key_change}->{service_type} = "$service_type"; - $return->{$article}->{$key_change}->{work_val} .= "$pos_record->{$id}->{$key}\n"; + $return->{$article}->{$key_change}->{work_val} = "$pos_record->{$id}->{$key}" if($key =~ /int/); + $return->{$article}->{$key_change}->{work_val} .= "$pos_record->{$id}->{$key}" if($key =~ /txt/); $return->{$article}->{$key_change}->{mtime} = "$pos_record->{$id}->{mtime}"; $return->{$article}->{$key_change}->{user_name} = "$u_name"; $return->{$article}->{$key_change}->{owner} = "$pos_record->{$id}->{owner}"; @@ -738,9 +746,9 @@ sub service_work { } #set init values - #$bw->log("set service init values by @tpl_order","",""); + $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 /=/,$_;