invoice management fix

This commit is contained in:
Rainer Gümpelein 2022-01-26 15:52:25 +01:00
parent 83da7fe92b
commit dc2b4f7086
5 changed files with 44 additions and 64 deletions

View file

@ -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";

View file

@ -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";
}

View file

@ -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 "</div>\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 "<td class='tdtxt' nowrap>";
print $but->singlesubmit7("ct_trans","save_adr","$ib{save_adr}","","","ebutton4"),"\n";
@ -238,7 +225,7 @@ EOF
print $q->Tr(),"\n";
print $q->td({-class=>'tdescr'},"eMail"),"\n";
print $q->td({-class=>'tdval',-colspan=>'2'}, $q->textfield(-class=>'etxt',-name=>'txt08', -default=>"$ctt->{txt08}", -size=>'34', maxlength=>'45')),"\n";
}elsif($u_id){
}elsif($users_dms->{u_id}){
print $q->Tr(),"\n";
if(!$ctx->{close_time}){
print "<td class='tdtxt' style='width:8em;' nowrap>";
@ -255,7 +242,7 @@ EOF
print $q->td({-class=>'tdval'},"$ctt->{txt02}"),"\n";
if($c_idadr && $rel_adr->{rel_id}){
print $q->td({-class=>'tdval'},$q->span({-style=>"background-color:#dcd77f;"},$q->a({-class=>"linknav",-href=>"/$users->{fullurl}/Kunden?node2edit=editpart\&mode=manager\&rel_id=$rel_adr->{rel_id}\&tpl_id=202",-title=>"Kunden Stammdaten öffnen"}," Kunden ID $c_idadr ")), $q->span({-style=>"color:red;"}," $ctadr->{int12}")),"\n";
print $q->td({-class=>'tdval'},$q->span({-style=>"background-color:#dcd77f;"},$q->a({-class=>"linknav",-href=>"/DMS/Kunden?node2edit=editpart\&mode=manager\&rel_id=$rel_adr->{rel_id}\&tpl_id=202",-title=>"Kunden Stammdaten öffnen"}," Kunden ID $c_idadr ")), $q->span({-style=>"color:red;"}," $ctadr->{int12}")),"\n";
}
if($ctt->{txt01} || $ctt->{txt02} || $ctt->{txt07} || $ctt->{txt08}){
$ctt->{txt01} = $lb->newline($ctt->{txt01},"","");
@ -282,7 +269,7 @@ EOF
print "<td width='50%' style='font-size:1em;'>\n";
print $q->start_table({-class=>'list', -border=>'0', -width=>'100%',-align=>'left', -cellpadding=>'0', -cellspacing=>'0'}),"\n";
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")){
print $q->Tr(),"\n";
print $q->td({-class=>'tdescr'},"RFID"),"\n";
print $q->td({-class=>'tdval'}, $q->textfield(-class=>'etxt',-name=>'txt09', -default=>"$ctt->{txt09}", -size=>'25', maxlength=>'40')),"\n";
@ -366,7 +353,7 @@ EOF
print "<tr><td colspan='5' style='font-size:1em;'>\n";
#require "Tpl/TransPositionen.pm";
my $line_count2 = $transp->tpl($node_meta,$users_dms,$set_main_id,$rel4tpl->{main_id},$rel4tpl->{rel_id},$ctx->{c_id},$u_id,$lang,"$return","$node->{node_name}");
my $line_count2 = $transp->tpl($node_meta,$users_dms,$set_main_id,$rel4tpl->{main_id},$rel4tpl->{rel_id},$rel4tpl->{content_id},$lang,"$return","$node->{node_name}");
print "</td></tr>\n";
###end Edit Parts

View file

@ -96,7 +96,7 @@ sub tpl(){
my @_users = ("");
foreach my $id (sort { $channel_map->{$a} cmp $channel_map->{$b} } keys (%$channel_map)){
push (@_users, "$id:$channel_map->{$id}");
if($channel_map->{$id} eq $R::s_owner){
if($R::s_owner && $channel_map->{$id} eq $R::s_owner){
$searchref->{owner} = $id;
#$s_u_name = $channel_map->{$id};
}
@ -257,14 +257,14 @@ EOF
}
#1. Search-fields
my $s_val;
my $s_val = "";
foreach(@tpl_order){
my ($key,$val,$size) = split /=/,$_;
$size = 15 if($size =~ /area/);
$size = 10 if($size =~ /time/);
$size = 2 if($size =~ /checkbox/);
$s_val = $searchref->{$key};
$s_val = $searchref->{$key} if($searchref->{$key});
#print "$key=$searchref->{$key}|";
if($key =~ /node|txt|int|uri|ct_name|_id|barcode|sort|public/){
if($key =~ /barcode|int04/){
@ -372,8 +372,8 @@ EOF
$tdstyle = "text-align:right;max-width:8em;$size px;";
}
$ct4rel->{$id}->{$key} = $lb->time4de($ct4rel->{$id}->{$key},"1") if($key =~ /time/);
$ct4rel->{$id}->{$key} = $q->unescapeHTML("$ct4rel->{$id}->{$key}");
$ct4rel->{$id}->{$key} = $lb->newline($ct4rel->{$id}->{$key},"","");
$ct4rel->{$id}->{$key} = $q->unescapeHTML($ct4rel->{$id}->{$key}) if($ct4rel->{$id}->{$key});
$ct4rel->{$id}->{$key} = $lb->newline($ct4rel->{$id}->{$key},"","") if($ct4rel->{$id}->{$key});
if($key eq "owner"){
my $u_name = $ct4rel->{$id}->{owner};
foreach my $ctu_id (keys (%$ct_users)){

View file

@ -31,7 +31,7 @@ sub new {
#Template
sub tpl(){
my $self=shift;
my ($node_meta,$users_dms,$set_main_id,$main_id,$rel_id,$c_id,$u_id,$lang,$return,$node_name) = @_;
my ($node_meta,$users_dms,$set_main_id,$main_id,$rel_id,$c_id,$lang,$return,$node_name) = @_;
my $q = new CGI;
my $cf = new Config;
my $lb = new Libenz;
@ -48,7 +48,6 @@ sub tpl(){
$path = "$script" . "$path_info";
$script="";
}
my $users = $db->select_users($u_id);
my %ib = $but->ibuttons();
my $today = strftime("%d.%m.%Y",localtime(time));
my $dbh = "";
@ -86,13 +85,8 @@ sub tpl(){
my $max_sum = $ctf->{int03} || "10000";
my $cttpos = { c_id => 0 };
my $rows = 0;
($cttpos,$rows) = $db->collect_contentpos("contenttrans",$c_id) if($c_id);
my $tpath; #Terminal target-path
if($users->{transaction_uri} =~ /Verkauf|Verleih|Faktur/){
$tpath = "$users->{transaction_uri}";
}elsif("$users->{fullurl}"){
$tpath = "$script/$users->{fullurl}/$users->{kind_of_trans}";
}
($cttpos,$rows) = $db->collect_contentpos("contenttrans",$c_id);# if($c_id);
if($varenv{orga} eq "dms"){#obsolete after migrating lx-rad and mobile ...
print<<EOF
<style>
@ -265,10 +259,10 @@ EOF
print $but->singlesubmit2("ct_trans","save_pos","$ib{save_pos}","","ebutton5"),
$but->singlesubmit2("ct_trans","delete_pos","$ib{delete_pos}"),"\n";
}elsif(!$ctt->{close_time}){
print $q->a({-class=>"editnav",-href=>"$tpath?trans2edit=transpos\&c_idpos=$cttpos->{$id}->{c_id}\&c_id4trans=$c_id\&tpl_id4trans=$node_meta->{tpl_id}\&owner=$users->{u_id}",-title=>"Datensatz bearbeiten"}, $q->img({-src=>"$varenv{metahost}/glyphicons/glyphicons-151-edit.png"})),"\n";
print $q->a({-class=>"editnav",-href=>"/DMS/Faktura?trans2edit=transpos\&c_idpos=$cttpos->{$id}->{c_id}\&c_id4trans=$c_id\&tpl_id4trans=$node_meta->{tpl_id}\&owner=$users_dms->{u_id}",-title=>"Datensatz bearbeiten"}, $q->img({-src=>"$varenv{metahost}/glyphicons/glyphicons-151-edit.png"})),"\n";
}
my $calpath = "Mietjournal";
print $q->a({-class=>"linknav3", -style=>"background-color:$varenv{calendar_active_color}",-href=>"$script/$users->{fullurl}/$calpath/?cttpos_id=$cttpos->{$id}->{c_id}",-title=>"Im $calpath öffnen"},"<br /><br />ID $cttpos->{$id}->{c_id}"),"\n";
print $q->a({-class=>"linknav3", -style=>"background-color:$varenv{calendar_active_color}",-href=>"/DMS/$calpath/?cttpos_id=$cttpos->{$id}->{c_id}",-title=>"Im $calpath öffnen"},"<br /><br />ID $cttpos->{$id}->{c_id}"),"\n";
print "</td>\n";
#Tablecontent (parameter)
@ -334,7 +328,7 @@ EOF
my $stamm_style = "background-color:#98c13b;padding:2px;";
my $article = $cttpos->{$id}->{ct_name};
if($cttpos->{$id}->{int09}){
print $q->td({-class=>'tdint',-style=>"min-width:60px;padding-top:5px;"}, $q->a({-class=>"linknav3",-style=>"$stamm_style",-href=>"$script/$users->{fullurl}/Waren/?detail_search=1&s_barcode=$cttpos->{$id}->{barcode}",-title=>"Im Warenstamm"},"$article")),"\n";
print $q->td({-class=>'tdint',-style=>"min-width:60px;padding-top:5px;"}, $q->a({-class=>"linknav3",-style=>"$stamm_style",-href=>"/DMS/Waren/?detail_search=1&s_barcode=$cttpos->{$id}->{barcode}",-title=>"Im Warenstamm"},"$article")),"\n";
}else{
print $q->td({-class=>'tdint'},"$article"),"\n";
}
@ -436,13 +430,12 @@ EOF
my $n="5";
my $m= 1 + $k - $n;
$m++ if($users->{kind_of_trans} =~ /Faktur|Verleih/);
$m++;
print "<tr><td colspan='$m'>&nbsp;</td><td style='font-size:1em;' colspan='$n'>\n";
print $q->start_table({-class=>'list',-style=>'border-top:1px;border-style:solid;border-color:black;', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
print $q->Tr("\n");
print $q->td("&nbsp;");
#if($users->{kind_of_trans} ne "Einkauf" && $node_name !~ /steuerfrei/){
if($node_name !~ /steuerfrei/){
print $q->Tr("\n"); $line_count2++;
print $q->td({-class=>'tdint'},"Nettobetrag:");
@ -465,7 +458,6 @@ EOF
}
}
my $summe = "Summe";
#$summe = "Nettosumme" if($users->{kind_of_trans} eq "Einkauf");
print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdsum'},"<b>$summe:</b>");
print $q->td({-class=>'tdint',-nowrap=>"1"},"<b>$sum_paid €<b/>");
@ -476,7 +468,7 @@ EOF
print "</tr>";
print $q->end_table;
print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users->{u_id}");
print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users_dms->{u_id}");
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset") if($R::offset);
print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$c_id");
print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$node_meta->{tpl_id}");
@ -488,7 +480,7 @@ EOF
print $q->hidden(-name=>'set_main_id', -value=>"$set_main_id", -override=>'1');
#if(!$ctt->{close_time} && $varenv{Zahlungsweise} && $users->{u_id} == $dbt->{copri_conf}->{superu_id}){
#if(!$ctt->{close_time} && $varenv{Zahlungsweise} && $users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}){
if($users_dms->{int03} == 2){
#only if user is also a primary DMS user with invoice rw
my $dbh_primary = $dbt->dbconnect_extern("sharee_primary");
@ -518,7 +510,7 @@ EOF
"buchen incl. drucken ",$but->checkbox("print_pdf","ct_trans","1","PDF drucken",""),
" eMail Versand ",$but->checkbox("1","send_invoice","$send_invoice_checkbox","eMail Rechnung",""),
$but->singlesubmit1("set_state","buchen"),
$but->selector("state","150px",$kind_of_payment,@_paymentstate),"\n") if($users->{kind_of_trans} =~ /Verkauf|Verleih|Faktur/);
$but->selector("state","150px",$kind_of_payment,@_paymentstate)),"\n";
}
}
@ -540,7 +532,7 @@ EOF
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset") if($R::offset);
print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit") if($R::limit);
print $q->hidden(-name=>'relids', -override=>'1', -value=>"$R::relids") if($R::relids);
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! Rechnung eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","send_invoice_again")),"\n" if($users->{u_id} == $dbt->{copri_conf}->{superu_id});
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! Rechnung eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","send_invoice_again")),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
print $q->end_form;
}