save enhanced payment logging

This commit is contained in:
ragu 2022-12-16 08:37:05 +01:00
parent d786a0f30e
commit a645d292d5
13 changed files with 100 additions and 49 deletions

View file

@ -117,7 +117,7 @@ div#Oline {
border-bottom-width:1px; border-bottom-width:1px;
border-bottom-style:dotted; border-bottom-style:dotted;
border-color:silver; border-color:silver;
margin:0.5em 0em; margin:0.5em;
} }
.Sline { .Sline {

View file

@ -540,10 +540,12 @@ sub service_update(){
$update_pos->{int28} = 2 if($ctpos->{int28} && $ctpos->{int28} == 3); $update_pos->{int28} = 2 if($ctpos->{int28} && $ctpos->{int28} == 3);
#update bike charge on pos and content #update bike charge on pos and content
if($q->param('charge_current_bars') =~ /^\d+$/){ if(looks_like_number($q->param('charge_current_bars'))){
my $max_bars = 5; my $max_bars = 5;
my $current_percent = $bw->battery_percent($max_bars,$q->param('charge_current_bars')); my $current_percent = $bw->battery_percent($max_bars,$q->param('charge_current_bars'));
$update_pos->{int19} = $current_percent; $update_pos->{int19} = $current_percent;
#NO, because of service_work should also be deleted if > 50%
#$self->service_automatic($q,$current_percent) if($current_percent <= 50);
#update also bike charge #update also bike charge
my $update_bike = { my $update_bike = {
@ -1534,7 +1536,7 @@ sub smartlock {
#only by system=Ilockit #only by system=Ilockit
if($record_pos->{int11} eq "2" && $q->param('voltage') && $q->param('voltage') =~ /(\d+)/){ if($record_pos->{int11} eq "2" && $q->param('voltage') && $q->param('voltage') =~ /(\d+)/){
$update_cc->{int14} = $1; $update_cc->{int14} = $1;
$self->service_automatic($q) if($1 <= 50); $self->service_automatic($q,"") if($1 <= 50);
} }
my $update_pos = { my $update_pos = {
@ -1604,18 +1606,26 @@ sub smartlock {
sub service_automatic { sub service_automatic {
my $self = shift; my $self = shift;
my $q = shift || ""; my $q = shift || "";
my $current_percent = shift || 0;
my $station_id = ""; my $station_id = "";
my $bike_id = ""; my $bike_id = "";
$station_id = $1 if($q->param('station') =~ /(\d+)/);#could be also 0 $station_id = $1 if($q->param('station') =~ /(\d+)/);#could be also 0
$bike_id = $1 if($q->param('bike') && $q->param('bike') =~ /(\d+)/); $bike_id = $1 if($q->param('bike') && $q->param('bike') =~ /(\d+)/);
my $authraw = { c_id => $owner };#default sys API my $authraw = { c_id => $owner };#default sys API
my $lock_charge = "Achtung, Fahrradschloss Ladung unter " . $q->param('voltage') . "%"; my $charge = "";
if(looks_like_number($q->param('voltage'))){
$charge = "Achtung, Schloss-Akku Ladung " . $q->param('voltage') . "%";
}
if(looks_like_number($q->param('charge_current_bars'))){
$charge = "Achtung, Fahr-Akku Ladung " . $current_percent . "%";
}
my $response = {}; my $response = {};
if(looks_like_number($bike_id) || looks_like_number($station_id)){ if(looks_like_number($bike_id) || looks_like_number($station_id)){
$q->param(-name=>'request',-value=>"service_done"); $q->param(-name=>'request',-value=>"service_done");
$q->param(-name=>'work_id',-value=>"txt01"); $q->param(-name=>'work_id',-value=>"txt01");
$q->param(-name=>'work_val',-value=>"$lock_charge"); $q->param(-name=>'work_val',-value=>"$charge");
my $article = looks_like_number($bike_id) || looks_like_number($station_id); my $article = looks_like_number($bike_id) || looks_like_number($station_id);
#insert only new dataset if mtime > 10 days #insert only new dataset if mtime > 10 days

View file

@ -952,8 +952,8 @@ sub update_record(){
$set .= " $key=null,";#we need this for null values in operators loop $set .= " $key=null,";#we need this for null values in operators loop
} }
} }
if($key =~ /(mtime|atime|pay_time|invoice_time)$/){ if($key =~ /(mtime|atime|pay_time|invoice_time|warn_time)$/){
if($value && $value =~ /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/){ if($value && $value =~ /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$|^\d{2}\.\d{2}\.\d{4}$/){
$set .= " $key='$value',"; $set .= " $key='$value',";
}else{ }else{
$set .= " $key='now()',"; $set .= " $key='now()',";

View file

@ -378,6 +378,8 @@ sub handler {
$return = $pl->set_workflow($users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow)); $return = $pl->set_workflow($users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
}elsif($R::ct_trans =~ /set_accounting2invoice/){ }elsif($R::ct_trans =~ /set_accounting2invoice/){
$return = $pl->set_accounting2invoice($users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow)); $return = $pl->set_accounting2invoice($users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
}elsif($R::ct_trans =~ /save_text|save_adr/){
$return = $pl->save_text2contenttrans($users_dms,$R::c_id4trans) if(looks_like_number($R::c_id4trans));
}elsif($R::detail_search && $R::detail_search eq "operator_accounting"){ }elsif($R::detail_search && $R::detail_search eq "operator_accounting"){
my $ck4ex = "@R::ck4ex" || ""; my $ck4ex = "@R::ck4ex" || "";
$return = $pl->operator_accounting($users_dms,$users_sharee,$R::accounting_type,$ck4ex); $return = $pl->operator_accounting($users_dms,$users_sharee,$R::accounting_type,$ck4ex);
@ -440,14 +442,13 @@ sub handler {
#Payone Response POST (TransactionStatus) #Payone Response POST (TransactionStatus)
#payone response ($R::pseudocardpan || $R::status) #payone response ($R::pseudocardpan || $R::status)
if($users_sharee->{c_id} && ($R::pseudocardpan || $R::status)){ if($users_sharee->{c_id} && ($R::pseudocardpan || $R::status)){
my $payone_return; my $payone_return = "";
open(FILE,">>$varenv{logdir}/payone-return-post.log"); open(FILE,">>$varenv{logdir}/payone-return-post.log");
print FILE "<--- $now_dt from Indexsharee.pm \nPayone return-way by ajaxCall: $R::status\n"; print FILE "<--- $now_dt from Indexsharee.pm \nPayone return-way by ajaxCall: $R::status\n";
my @keywords = $q->param; my @keywords = $q->param;
foreach(@keywords){ foreach(@keywords){
my $val = $q->param($_); my $val = $q->param($_);
print FILE "$_=$val\n"; print FILE "$_=$val\n";
#TODO, check errormessages. At first we have do indicate what comes from payone!
$payone_return .= "$_=$val\n";# if($_ =~ /error|message/i); $payone_return .= "$_=$val\n";# if($_ =~ /error|message/i);
} }
close(FILE); close(FILE);
@ -464,11 +465,12 @@ sub handler {
#CC #CC
if($R::pseudocardpan && length($R::pseudocardpan) >= 19){#done by payone AJAX return if($R::pseudocardpan && length($R::pseudocardpan) >= 19){#done by payone AJAX return
#if($R::status eq "APPROVED") #if($R::status eq "APPROVED")
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
$update_adr->{txt22} = ""; $update_adr->{txt22} = "";
$update_adr->{txt23} = ""; $update_adr->{txt23} = "";
$update_adr->{ct_name} = $q->escapeHTML($R::pseudocardpan); $update_adr->{ct_name} = $q->escapeHTML($R::pseudocardpan);
$update_adr->{txt27} = $q->escapeHTML($R::status); $update_adr->{txt27} = $q->escapeHTML($R::status);
$update_adr->{txt28} = ""; $update_adr->{txt28} = $now_dt . " pseudocardpan\n" . $q->escapeHTML($payone_return);
$update_adr->{int12} = 0; $update_adr->{int12} = 0;
$update_adr->{int03} = 2; $update_adr->{int03} = 2;
$dbt->update_record($dbh,$update_adr,$users_sharee) if($users_sharee->{c_id} > 0); $dbt->update_record($dbh,$update_adr,$users_sharee) if($users_sharee->{c_id} > 0);
@ -511,7 +513,7 @@ sub handler {
print redirect("$varenv{wwwhost}/$varenv{mandant}/$varenv{profile}?$returnwww$session_and"); print redirect("$varenv{wwwhost}/$varenv{mandant}/$varenv{profile}?$returnwww$session_and");
exit 0; exit 0;
}else{ }else{
$update_adr->{txt28} = $q->escapeHTML($payone_return); $update_adr->{txt28} = $now_dt . " else pseudocardpan\n" . $q->escapeHTML($payone_return);
$update_adr->{int12} = $vde_on_fail; $update_adr->{int12} = $vde_on_fail;
$dbt->update_record($dbh,$update_adr,$users_sharee) if($users_sharee->{c_id} > 0); $dbt->update_record($dbh,$update_adr,$users_sharee) if($users_sharee->{c_id} > 0);
$dbt->update_operatorsloop($varenv{dbname},$users_sharee->{c_id},"update"); $dbt->update_operatorsloop($varenv{dbname},$users_sharee->{c_id},"update");

View file

@ -567,6 +567,7 @@ sub newline(){
my $not_used = shift || "";#old my $not_used = shift || "";#old
my $editor = shift || ""; my $editor = shift || "";
$txtxx =~ s/\r\n/<br \/>/g if(!$editor); $txtxx =~ s/\r\n/<br \/>/g if(!$editor);
$txtxx =~ s/\n/<br \/>/g if(!$editor);
return $txtxx; return $txtxx;
} }

View file

@ -70,7 +70,7 @@ print<<EOF
background: $bg_color2; background: $bg_color2;
} }
.ui-widget-overlay { .ui-widget-overlay {
background: #666 url("$varenv{metahost}/js/jquery-ui-1.12.1/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; background: #666 url("$varenv{metahost}/external/jquery-ui-1.12.1/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;
opacity: .5; opacity: .5;
filter: Alpha(Opacity=50); filter: Alpha(Opacity=50);
} }

View file

@ -75,7 +75,7 @@ print<<EOF
background: $bg_color2; background: $bg_color2;
} }
.ui-widget-overlay { .ui-widget-overlay {
background: #666 url("$varenv{metahost}/js/jquery-ui-1.12.1/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; background: #666 url("$varenv{metahost}/external/jquery-ui-1.12.1/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;
opacity: .5; opacity: .5;
filter: Alpha(Opacity=50); filter: Alpha(Opacity=50);
} }

View file

@ -462,8 +462,6 @@ sub rpc {
print FILE "\n*** $now_dt (ctadr_id:$ctadr->{c_id}, ctt_id:$ctt->{c_id}) from payone_post.pl\n$httpReqServer \n" if($debug); print FILE "\n*** $now_dt (ctadr_id:$ctadr->{c_id}, ctt_id:$ctt->{c_id}) from payone_post.pl\n$httpReqServer \n" if($debug);
print FILE "---> request to payone $todo:\n$post\n"; print FILE "---> request to payone $todo:\n$post\n";
#Payone CONFIGURATION TransactionStatus URL:
#https://tinkrpc.copri.eu/src/scripts/postread_server.pl
#Check the outcome of the response #Check the outcome of the response
if ($res->is_success) { if ($res->is_success) {
print FILE "<--- return from payone $todo:\n" . $res->content . "\n" if($debug); print FILE "<--- return from payone $todo:\n" . $res->content . "\n" if($debug);
@ -487,7 +485,8 @@ sub rpc {
$update_adr->{txt23} = $val if($key eq "bic"); $update_adr->{txt23} = $val if($key eq "bic");
$update_adr->{ct_name} = $val if($key eq "mandate_identification"); $update_adr->{ct_name} = $val if($key eq "mandate_identification");
$update_adr->{txt27} = $val if($key eq "mandate_status"); $update_adr->{txt27} = $val if($key eq "mandate_status");
$update_adr->{txt28} = $val if($key eq "mandate_text" && ($val =~ /SEPA/ || !$val)); #$update_adr->{txt28} = $val if($key eq "mandate_text" && ($val =~ /SEPA/ || !$val));
$update_adr->{txt28} = $now_dt . " $todo\n" . $q->escapeHTML($res->content);
} }
$update_adr->{int12} = 0;#Vde $update_adr->{int12} = 0;#Vde
$dbt->update_record($dbh,$update_adr,$ctadr) if($ctadr->{c_id} > 0); $dbt->update_record($dbh,$update_adr,$ctadr) if($ctadr->{c_id} > 0);
@ -513,15 +512,14 @@ sub rpc {
$update_ctt->{txt16} = $txidval; $update_ctt->{txt16} = $txidval;
$update_ctt->{txt22} = $ctt->{payone_reset} if($ctt->{payone_reset}); $update_ctt->{txt22} = $ctt->{payone_reset} if($ctt->{payone_reset});
$update_ctt->{txt26} = $ctadr->{ct_name};#Mandat/pseudocp $update_ctt->{txt26} = $ctadr->{ct_name};#Mandat/pseudocp
$update_ctt->{txt28} = "";
$update_adr->{int12} = 0; $update_adr->{int12} = 0;
$update_adr->{int17} = $useridval if($useridval); $update_adr->{int17} = $useridval if($useridval);
$update_adr->{txt28} = "";
}elsif($ctadr->{c_id}){ }elsif($ctadr->{c_id}){
$update_ctt->{int14} = 1;#OPOS $update_ctt->{int14} = 1;#OPOS
$update_ctt->{txt28} = $now_dt . $res->content;
$update_adr->{int12} = $vde_on_fail;#Vde $update_adr->{int12} = $vde_on_fail;#Vde
} }
#2022-12-15 save log for any
$update_ctt->{txt28} = $now_dt . " $todo\n" . $res->content . "\n" . $update_ctt->{txt28};
} }
#Capture #Capture
@ -533,15 +531,13 @@ sub rpc {
if($txidval && $ctt->{c_id} && $ctadr->{c_id} && $res->content =~ /settleaccount=/){ if($txidval && $ctt->{c_id} && $ctadr->{c_id} && $res->content =~ /settleaccount=/){
#int01 and state will be set by "buchen" via Prelogic or via payone_cron/Payment payone_capture #int01 and state will be set by "buchen" via Prelogic or via payone_cron/Payment payone_capture
$update_ctt->{int14} = "null"; $update_ctt->{int14} = "null";
$update_ctt->{txt28} = "";
$update_adr->{int12} = 0; $update_adr->{int12} = 0;
$update_adr->{txt28} = "";
}else{#because of Prelogic logic set it empty if no capture }else{#because of Prelogic logic set it empty if no capture
$update_ctt->{int14} = 1;#OPOS $update_ctt->{int14} = 1;#OPOS
$update_ctt->{txt28} = $now_dt . $res->content;
$update_adr->{int12} = $vde_on_fail;#Vde $update_adr->{int12} = $vde_on_fail;#Vde
#system(`$varenv->{basedir}/src/Mod/newsletter_tink.pl "$varenv->{basedir}" "$varenv->{wwwhost}" "send_capture_fail" "$ctadr->{c_id}" "$ctt->{ct_name}"`); #system(`$varenv->{basedir}/src/Mod/newsletter_tink.pl "$varenv->{basedir}" "$varenv->{wwwhost}" "send_capture_fail" "$ctadr->{c_id}" "$ctt->{ct_name}"`);
} }
$update_ctt->{txt28} = $now_dt . " $todo\n" . $res->content . "\n" . $update_ctt->{txt28};
} }
}else{#not APPROVED }else{#not APPROVED
@ -552,24 +548,18 @@ sub rpc {
#errormessage=Amount no longer available --> disabled #errormessage=Amount no longer available --> disabled
if($res->content !~ /errorcode=911/){ if($res->content !~ /errorcode=911/){
my $payone_message = "$now_dt\n" . $res->content . "\nAufgrund der payone Ablehnung wurde der Verleih gesperrt.\n";
if($payoneLive == 1 && $ctadr->{c_id}){ if($payoneLive == 1 && $ctadr->{c_id}){
$update_ctt->{txt28} = $payone_message; $update_ctt->{txt28} = $now_dt . " $todo\n" . $res->content . "\nVde.\n" . $update_ctt->{txt28};
$update_adr->{txt28} = $payone_message; $update_adr->{txt28} = $now_dt . " $todo\n" . $res->content . "\nVde.\n" . $update_adr->{txt28};
#never delete on state=occupied, in this case ist must delete it on available #never delete on state=occupied, in this case ist must delete it on available
if($res->content !~ /errorcode=80/){ if($res->content !~ /errorcode=80/){
$update_adr->{int12} = $vde_on_fail;#Vde $update_adr->{int12} = $vde_on_fail;#Vde
} }
} }
if($payoneLive == 1 && $ctt->{c_id}){
$update_adr->{txt28} = $payone_message;
}
}else{ }else{
if($payoneLive == 1 && $ctt->{c_id}){ if($payoneLive == 1 && $ctt->{c_id}){
my $payone_message = "$now_dt\n" . $res->content . "\n"; $update_ctt->{txt28} = $now_dt . " $todo\n" . $res->content . "\n" . $update_ctt->{txt28};
$update_ctt->{txt28} = $payone_message; $update_adr->{txt28} = $now_dt . " $todo\n" . $res->content . "\n" . $update_adr->{txt28};
$update_adr->{txt28} = $payone_message;
} }
} }
} }
@ -579,7 +569,7 @@ sub rpc {
print FILE "payone RPC end\n\n" if($debug); print FILE "payone RPC end\n\n" if($debug);
close(FILE) if($debug); close(FILE) if($debug);
#set contentadr owner and mtime only if Vde or error will be set by payone id's #set contentadr owner and mtime only if Vde or payone-return will be set by payone id's
if((($update_adr->{int12} && $update_adr->{int12} > 0) || $update_adr->{txt28}) && ($owner == 178 || $owner == 179)){ if((($update_adr->{int12} && $update_adr->{int12} > 0) || $update_adr->{txt28}) && ($owner == 178 || $owner == 179)){
$update_adr->{owner} = "$owner"; $update_adr->{owner} = "$owner";
$update_adr->{mtime} = "now()"; $update_adr->{mtime} = "now()";

View file

@ -52,6 +52,45 @@ my %varenv = $cf->envonline();
my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime; my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
my $debug=1; my $debug=1;
#save invoice address or text
sub save_text2contenttrans {
my $self = shift;
my $users_dms = shift;
my $c_id = shift;
$q->import_names('R');
my @keywords = $q->param;
my $dbh = "";
my $feedb = { message => "" };
my $ctt = { c_id => $c_id };
my $update_ctt = {
table => "contenttrans",
owner => $users_dms->{u_id},
mtime => "now()",
};
foreach(@keywords){
my $val = $q->param($_);
my $valxx = $q->escapeHTML("$val");
my @val = $q->param($_);
$valxx = $q->escapeHTML("@val");
if($_ =~ /txt|int|state|time/){
$update_ctt->{$_} = "$valxx";
}
}
$u_rows += $dbt->update_record($dbh,$update_ctt,$ctt);
#empty warn_time if warnstate not set
if(!$R::int06){
$dbt->update_one($dbh,$update_ctt,"warn_time=null",$c_id);
}
$feedb->{u_rows} = $u_rows;
return $feedb;
}#end save_text2contenttrans
#part or fee to invoice #part or fee to invoice
sub insert_contenttranspos { sub insert_contenttranspos {
my $self = shift; my $self = shift;
@ -965,3 +1004,4 @@ sub operator_accounting {
} }
1; 1;

View file

@ -63,6 +63,8 @@ sub tpl(){
c_id => $users_dms->{c_id4trans}, c_id => $users_dms->{c_id4trans},
}; };
$ctt = $dbt->fetch_record($dbh,$pref); $ctt = $dbt->fetch_record($dbh,$pref);
my $warn_time = $ctt->{warn_time} || "";
$warn_time = $lb->time4de($warn_time,0) if($warn_time);
my $ctadr = { c_id => 0 }; my $ctadr = { c_id => 0 };
my $rel_adr = { rel_id => 0 }; my $rel_adr = { rel_id => 0 };
@ -309,9 +311,16 @@ EOF
my $kind_of_payment = "fehlt"; my $kind_of_payment = "fehlt";
$kind_of_payment = "$_paymentstate[0]" if($ctadr->{int03} == 1); $kind_of_payment = "$_paymentstate[0]" if($ctadr->{int03} == 1);
$kind_of_payment = "$_paymentstate[1]" if($ctadr->{int03} == 2); $kind_of_payment = "$_paymentstate[1]" if($ctadr->{int03} == 2);
my $payteaser = "";
if($ctadr->{txt28}){
$payteaser = substr($ctadr->{txt28},0,50) . " ...";
}
print $q->Tr(),"\n"; print $q->Tr(),"\n";
print $q->td({-class=>'tdescr4'},"Payone Zahlungsart"),"\n"; print $q->td({-class=>'tdescr4'},"Payone Zahlungsart"),"\n";
print $q->td({-class=>'tdval4'},"$kind_of_payment | aus Kunden Stammdaten"),"\n"; print $q->td({-class=>'tdval4'},"$kind_of_payment"),"\n";
print $q->Tr(),"\n";
print $q->td({-class=>'tdescr4'},"Payone last log"),"\n";
print $q->td({-class=>'tdval4'},"$payteaser"),"\n";
print $q->Tr(),"\n"; print $q->Tr(),"\n";
print $q->td({-class=>'tdescr4'},"Payone TXID"),"\n"; print $q->td({-class=>'tdescr4'},"Payone TXID"),"\n";
print $q->td({-class=>'tdval4'},"$ctt->{txt16}"),"\n"; print $q->td({-class=>'tdval4'},"$ctt->{txt16}"),"\n";
@ -322,12 +331,6 @@ EOF
print $q->td({-class=>'tdescr4'},"Payone Referenz"),"\n"; print $q->td({-class=>'tdescr4'},"Payone Referenz"),"\n";
print $q->td({-class=>'tdval4'},"$ctt->{txt25}"),"\n"; print $q->td({-class=>'tdval4'},"$ctt->{txt25}"),"\n";
#check payone status
if($ctt->{txt28} =~ /error/i){
print $q->Tr(),"\n";
print $q->td({-class=>'tdescr4'},"payone error"),"\n";
print $q->td({-class=>'tdval4'},"(transaction) $ctt->{txt28}"),"\n";
}
} }
print $q->end_table; print $q->end_table;
print "</td></tr>\n"; print "</td></tr>\n";
@ -372,7 +375,7 @@ EOF
print $q->Tr(),"\n"; print $q->Tr(),"\n";
my @_orderstate = split(/\|/,$dbt->{shareedms_conf}->{order_state}); my @_orderstate = split(/\|/,$dbt->{shareedms_conf}->{order_state});
print $q->td({-class=>'tdval5',-colspan=>1},$but->selector("txt22","180px",$ctt->{txt22},@_orderstate)),"\n"; print $q->td({-class=>'tdval5',-colspan=>1},$but->selector("txt22","180px",$ctt->{txt22},@_orderstate)),"\n";
print $q->td({-class=>'tdval5',-colspan=>1},"Fälligkeit",$q->textfield(-id=>'datepicker3',-class=>'etxt',-name=>"warn_time",-default=>"$ctt->{warn_time}",-size=>"8",-maxlength=>10)),"\n"; print $q->td({-class=>'tdval5',-colspan=>1},"Fälligkeit",$q->textfield(-id=>'datepicker3',-class=>'etxt',-name=>"warn_time",-default=>"$warn_time",-override=>1,-size=>"8",-maxlength=>10)),"\n";
} }
$ctt->{txt23} = $q->unescapeHTML("$ctt->{txt23}") if($ctt->{txt23}); $ctt->{txt23} = $q->unescapeHTML("$ctt->{txt23}") if($ctt->{txt23});
@ -439,7 +442,7 @@ EOF
$ctt_rel = $dbt->fetch_record($dbh,$pref_rel); $ctt_rel = $dbt->fetch_record($dbh,$pref_rel);
if(ref($ctt_rel) eq "HASH"){ if(ref($ctt_rel) eq "HASH"){
print "<div style='padding: 0 10px 15px 5px;'>Relationen\n"; print "<div style='padding: 0 15px;font-size:0.91em;'><b>Relationen</b>\n";
foreach my $id (sort { $ctt_rel->{$b}->{c_id} <=> $ctt_rel->{$a}->{c_id} } keys (%$ctt_rel)){ foreach my $id (sort { $ctt_rel->{$b}->{c_id} <=> $ctt_rel->{$a}->{c_id} } keys (%$ctt_rel)){
print $q->span({-style=>"background-color:#f7ae37"}, $q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$ctt_rel->{$id}->{node_name}?ct_trans=open\&c_id4trans=$ctt_rel->{$id}->{c_id}\&tpl_id4trans=$ctt_rel->{$id}->{template_id}\&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $ctt_rel->{$id}->{txt00} #$ctt_rel->{$id}->{ct_name} ]")),"\n"; print $q->span({-style=>"background-color:#f7ae37"}, $q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$ctt_rel->{$id}->{node_name}?ct_trans=open\&c_id4trans=$ctt_rel->{$id}->{c_id}\&tpl_id4trans=$ctt_rel->{$id}->{template_id}\&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $ctt_rel->{$id}->{txt00} #$ctt_rel->{$id}->{ct_name} ]")),"\n";
} }
@ -447,11 +450,16 @@ EOF
} }
} }
#payone-return log
$ctt->{txt28} = $lb->newline($ctt->{txt28},"","");
print $q->div({-id=>'Oline'},""),"\n";
print $q->div({-style=>'padding: 0 15px 20px 15px;font-size:0.91em;'},"<b>payone-response log</b><br />$ctt->{txt28}"),"\n";
$line_count2 = "0" . "$line_count2" if($line_count2 < 10); $line_count2 = "0" . "$line_count2" if($line_count2 < 10);
my $line_count = "$line_count1.$line_count2"; my $line_count = "$line_count1.$line_count2";
#print $q->div({style=>'font-size:0.81em;'},"line to print -> address+text: $line_count1 | table: $line_count2"),"\n"; #print $q->div({style=>'font-size:0.81em;'},"line to print -> address+text: $line_count1 | table: $line_count2"),"\n";
#$db->update_content4change2("contenttrans",$ctt->{c_id},"$line_count","int04") if($ctt->{c_id});
print "</div>\n"; print "</div>\n";
$db->update_content4change2("contenttrans",$ctt->{c_id},"$line_count","int04") if($ctt->{c_id});
return $line_count; return $line_count;
} }
1; 1;

View file

@ -783,10 +783,10 @@ EOF
use URI::Encode qw(uri_encode uri_decode); use URI::Encode qw(uri_encode uri_decode);
$ctrel->{txt28} = uri_decode($ctrel->{txt28}); $ctrel->{txt28} = uri_decode($ctrel->{txt28});
$ctrel->{txt28} =~ s/\+/ /g; $ctrel->{txt28} =~ s/\+/ /g;
print $q->td({-style=>'border:1px solid silver;'},$ctrel->{txt28}),"\n"; #print $q->td({-style=>'border:1px solid silver;'},$ctrel->{txt28}),"\n";
}else{ #}else{
print $q->td({-class=>'content1_cms', -colspan=>'3'},$q->textarea(-id=>"$key", -class=>"etxt", -style=>"border: 1px solid silver;$h $w", -name=>"$key", -override=>'1',-default=>"$ctrel->{$key}")),"\n";
} }
print $q->td({-class=>'content1_cms', -colspan=>'3'},$q->textarea(-id=>"$key", -class=>"etxt", -style=>"border: 1px solid silver;$h $w", -name=>"$key", -override=>'1',-default=>"$ctrel->{$key}")),"\n";
} }
elsif($key =~ /txt02/ && $varenv{syshost} =~ /sharee/){ elsif($key =~ /txt02/ && $varenv{syshost} =~ /sharee/){
#nothing txt02=Datei aktiv=10=sharee-APP aktivierte Dokument #nothing txt02=Datei aktiv=10=sharee-APP aktivierte Dokument

View file

@ -401,8 +401,8 @@ sub tpl(){
my $pos_id = "ID $cttpos->{$pid}->{c_id}"; my $pos_id = "ID $cttpos->{$pid}->{c_id}";
my $user_device = ""; my $user_device = "";
my $charge = ""; my $charge = "";
$charge .= " &rarr; lock-charge $cttpos->{$pid}->{int14} %" if($cttpos->{$pid}->{int14}); $charge .= " &rarr; lock-charge $cttpos->{$pid}->{int14} %" if(looks_like_number($cttpos->{$pid}->{int14}));
$charge .= " &rarr; bike-charge $cttpos->{$pid}->{int19} %" if($cttpos->{$pid}->{int19}); $charge .= " &rarr; bike-charge $cttpos->{$pid}->{int19} %" if(looks_like_number($cttpos->{$pid}->{int19}));
if($users_dms_primary->{u_id} && $dbt->{copri_conf}->{contributors} && $users_dms_primary->{u_id} =~ /$dbt->{copri_conf}->{contributors}/){ if($users_dms_primary->{u_id} && $dbt->{copri_conf}->{contributors} && $users_dms_primary->{u_id} =~ /$dbt->{copri_conf}->{contributors}/){
$pos_id = $q->div({-class=>"popup",-onclick=>"toggle_box('$pid')"},"$cttpos->{$pid}->{c_id}", $q->span({-class=>"popuptext",-id=>"$pid"},"$pos_details")); $pos_id = $q->div({-class=>"popup",-onclick=>"toggle_box('$pid')"},"$cttpos->{$pid}->{c_id}", $q->span({-class=>"popuptext",-id=>"$pid"},"$pos_details"));
$user_device = ""; $user_device = "";

View file

@ -1043,7 +1043,7 @@ sub tpl(){
} }
print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$color_code"),"\n"; print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$color_code"),"\n";
#teaser shorts longtext #teaser shorts longtext
}elsif(($table eq "contentadr" && $key =~ /txt29/) || ($table eq "content" && $key =~ /txt04/) || ($table eq "contenttrans" && $key =~ /txt23/)){ }elsif(($table eq "contentadr" && $key =~ /txt29/) || ($table eq "content" && $key =~ /txt04/) || ($table eq "contenttrans" && $key =~ /txt23|txt28/)){
my $teaser = ""; my $teaser = "";
if($ct4rel->{$id}->{$key}){ if($ct4rel->{$id}->{$key}){
$teaser = substr($ct4rel->{$id}->{$key},0,50) . " ..."; $teaser = substr($ct4rel->{$id}->{$key},0,50) . " ...";