mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 03:36:30 +01:00
copri Faktura ticket email integration. Table depended sort. Cleanup users table
This commit is contained in:
parent
1672564775
commit
e3d3713994
16 changed files with 219 additions and 238 deletions
|
@ -68,7 +68,7 @@ my $response = {
|
|||
apiserver => "$apiserver",
|
||||
response => "$respreq",
|
||||
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
||||
copri_version => "4.1.23.15",
|
||||
copri_version => "4.1.23.16",
|
||||
user_id => "",
|
||||
authcookie => "",
|
||||
new_authcoo => "0",
|
||||
|
|
|
@ -31,7 +31,7 @@ sub ibuttons(){
|
|||
'barcode' => 'Barcode Label drucken',
|
||||
'buchen' => 'buchen',
|
||||
'send_invoice_again' => 'senden',
|
||||
'email_generate' => 'eMail generieren',
|
||||
'send_invoice_cms' => 'eMail senden',
|
||||
'new_contenttver' => 'Neues Arbeitsprofil',
|
||||
'new_content' => 'NEUER Datensatz',
|
||||
'new_contentcms' => 'NEUER Datensatz',
|
||||
|
|
|
@ -1679,9 +1679,9 @@ sub search_content(){
|
|||
my $searchref = shift;
|
||||
my $node_meta = shift;
|
||||
my $users_dms = shift;
|
||||
my $main_ids = shift || "";
|
||||
my $tplids = shift || "";
|
||||
my $ct_ids = shift || "";
|
||||
my $main_ids = shift || 0;
|
||||
my $tplids = shift || 0;
|
||||
my $ct_ids = shift || 0;
|
||||
my $v_journal = shift || "";
|
||||
my $ck4ex = shift || "";
|
||||
|
||||
|
@ -1692,13 +1692,13 @@ sub search_content(){
|
|||
$ck4ex =~ s/\s/,/g;
|
||||
$ck4ex =~ s/,$//;
|
||||
|
||||
my $owner = $users_dms->{u_id};
|
||||
my $sort_updown = $users_dms->{sort_updown};
|
||||
my $scol = $searchref->{scol};
|
||||
my $offset = $searchref->{offset};
|
||||
my $limit = $searchref->{limit};
|
||||
my $export = $searchref->{export};
|
||||
my $opos = $searchref->{opos};
|
||||
my $owner = $users_dms->{u_id} || 0;
|
||||
my $sort_updown = $users_dms->{sort_updown} || "down";
|
||||
my $scol = $searchref->{scol} || "mtime";
|
||||
my $offset = $searchref->{offset} || 0;
|
||||
my $limit = $searchref->{limit} || 200;
|
||||
my $export = $searchref->{export} || "";
|
||||
my $opos = $searchref->{opos} || 0;
|
||||
|
||||
my $stamp_time = strftime("%d.%m.%Y %H:%M",localtime(time));
|
||||
my $debug=0;
|
||||
|
@ -1751,10 +1751,10 @@ sub search_content(){
|
|||
$cptxt_where .= " and cp.$key $opref->{$key} $valref->{$key}";
|
||||
}
|
||||
}else{
|
||||
if($key eq "ct_name" && $valref->{$key} =~ /^(\d+)(0\d)$/){
|
||||
if($key eq "ct_name" && $valref->{$key} =~ /^\d+$/){
|
||||
$txt_where .= " and (ct.$key ilike '$valref->{$key}' OR ct.barcode $opref->{$key} $valref->{$key})";
|
||||
}elsif($key eq "ct_name"){
|
||||
$txt_where .= " and ct.$key ilike '$valref->{$key}'";
|
||||
$txt_where .= " and ct.$key ilike '$valref->{$key}%'";
|
||||
}elsif($key =~ /_id|barcode|int\d+|sort|owner/ && (looks_like_number($valref->{$key}) || $valref->{$key} =~ /null|0/)){
|
||||
$txt_where .= " and ct.$key $opref->{$key} $valref->{$key}";
|
||||
}elsif($key =~ /txt|uri/){
|
||||
|
@ -1826,7 +1826,7 @@ sub search_content(){
|
|||
$txt_where .= " and ct.int14 is $opos" if($opos eq "null");
|
||||
}
|
||||
|
||||
$txt_where = " and ct.c_id IN ($ck4ex)" if($export =~ /check4export/);
|
||||
$txt_where = " and ct.c_id IN ($ck4ex)" if($export eq "check4export" && $ck4ex);
|
||||
my $sth = "";
|
||||
my $updown = "ASC";
|
||||
$updown = "DESC" if($sort_updown eq "down");
|
||||
|
|
|
@ -311,16 +311,17 @@ sub handler {
|
|||
my $today4db = strftime("%Y-%m-%d %H:%M",localtime(time));
|
||||
$db->users_up("cal_start","$today4db",$users_dms->{u_id});
|
||||
}
|
||||
if($R::col_sort){
|
||||
$db->users_up("col_sort",$R::col_sort,$users_dms->{u_id});
|
||||
}
|
||||
if($R::sort_updown){
|
||||
$db->users_up("sort_updown",$R::sort_updown,$users_dms->{u_id});
|
||||
}
|
||||
if($R::cal_sort_updown){
|
||||
$db->users_up("cal_sort_updown",$R::cal_sort_updown,$users_dms->{u_id});
|
||||
}
|
||||
|
||||
if($R::col_sort && $node_meta->{ct_table}){
|
||||
$db->users_up("col_sort_$node_meta->{ct_table}",$R::col_sort,$users_dms->{u_id});
|
||||
}
|
||||
if($R::sort_updown){
|
||||
$db->users_up("sort_updown_$node_meta->{ct_table}",$R::sort_updown,$users_dms->{u_id});
|
||||
}
|
||||
|
||||
#base_edit implements new DMS methodes without Pre* things
|
||||
#permissions
|
||||
#DMS Kunden rw
|
||||
|
@ -431,26 +432,23 @@ sub handler {
|
|||
$return = $pl->set_accounting2invoice($q,$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/){
|
||||
$feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans) if(looks_like_number($R::c_id4trans));
|
||||
}elsif($R::ct_trans =~ /email_generate/){
|
||||
#TODO
|
||||
my $sendref = $pl->prepare_email({},{ txt08 => 'xxxx@sharee.bike' }, {}, $varenv{cms}->{$R::email_select}->{txt});
|
||||
#print Dumper($sendref);
|
||||
my $email_body = $q->unescapeHTML($sendref->{message});
|
||||
$email_body =~ s/\r\n/\%0A/g;
|
||||
$email_body =~ s/\n/\%0A/g;
|
||||
#print "$email_body";
|
||||
print redirect("mailto:$sendref->{mail_to}?subject=$sendref->{subject}\&body=$email_body");
|
||||
exit 0;
|
||||
}
|
||||
#not used because of attachement
|
||||
elsif($R::ct_trans =~ /email_generate/ && $R::c_id4trans && $R::email_select){
|
||||
#my $sendref = $pl->prepare_email(\%varenv,$R::c_id4trans,$R::email_select);
|
||||
#print redirect("mailto:$sendref->{mail_to}?subject=$sendref->{subject}\&body=$sendref->{message}");
|
||||
#exit 0;
|
||||
|
||||
}elsif($R::detail_search && $R::detail_search eq "operator_accounting"){
|
||||
my $ck4ex = "@R::ck4ex" || "";
|
||||
$return = $pl->operator_accounting($q,$users_dms,$users_sharee,$R::accounting_type,$ck4ex);
|
||||
}elsif($R::ct_trans || $R::v_abschluss || $R::trans2edit){
|
||||
}elsif($R::ct_trans || $R::set_state || $R::v_abschluss || $R::trans2edit){
|
||||
#should do all else invoice text save , without positions and booking payment
|
||||
if($R::ct_trans !~ /_pos|open/ && looks_like_number($R::c_id4trans) && !$R::v_abschluss && !$R::trans2edit){
|
||||
$feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans);
|
||||
}
|
||||
$return .= "|";
|
||||
$return .= $pre->preinit($q,$users_dms);#transactions logic
|
||||
$return .= $pre->preinit($q,$node_meta,$users_dms);
|
||||
}
|
||||
}elsif($R::ct_trans){
|
||||
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"Faktura\" verweigert.";
|
||||
|
|
|
@ -612,9 +612,7 @@ sub update_users4trans(){
|
|||
my ($c_id4trans,$tpl_id4trans,$kind_of_trans,$u_id) = @_;
|
||||
my $sth = $dbh->prepare("UPDATE users SET
|
||||
c_id4trans='$c_id4trans',
|
||||
tpl_id4trans='$tpl_id4trans',
|
||||
ctpos_activ='0',
|
||||
kind_of_trans='Faktura'
|
||||
tpl_id4trans='$tpl_id4trans'
|
||||
where u_id=$u_id");
|
||||
my $rows = $sth->execute();
|
||||
return $rows;
|
||||
|
@ -625,15 +623,7 @@ sub cleanup_users(){
|
|||
my $u_id = shift;
|
||||
my $sth = $dbh->prepare("UPDATE users SET
|
||||
c_id4trans='0',
|
||||
tpl_id4trans='0',
|
||||
ctpos_activ='0',
|
||||
c_id4package='0',
|
||||
kind_of_trans='',
|
||||
parts_uri='',
|
||||
address_uri='',
|
||||
project_uri='',
|
||||
transaction_uri='',
|
||||
nel_uri=''
|
||||
tpl_id4trans='0'
|
||||
where u_id=$u_id");
|
||||
my $rows = $sth->execute();
|
||||
return $rows;
|
||||
|
@ -2103,7 +2093,6 @@ sub update_content4comp(){
|
|||
}
|
||||
my $val="0";
|
||||
$val=$menge if($menge);
|
||||
$val = $val * -1 if($table eq "content" && $kind_of_trans eq "Einkauf");
|
||||
my $ct_set = "int03=(int03 $operator $val)";
|
||||
my $sth = $dbh->prepare("UPDATE $table SET $ct_set where $where") if($c_id || $ct_name);
|
||||
my $rows = $sth->execute();
|
||||
|
|
|
@ -743,8 +743,8 @@ sub payone_capture(){
|
|||
|
||||
#send_invoice infomail, only if eMail never sent
|
||||
if(-f "$dbt->{copri_conf}->{basedir}/$varenv->{syshost}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf" && !$ctt->{txt30}){
|
||||
system("$dbt->{copri_conf}->{basedir}/$varenv->{syshost}/src/scripts/mailTransportcms.pl '$varenv->{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' ''");
|
||||
print EMA "---> Payment send_invoice e-mail command: $dbt->{copri_conf}->{basedir}/$varenv->{syshost}/src/scripts/mailTransportcms.pl '$varenv->{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '$praefix-$ctt->{ct_name}.pdf' ''\n";
|
||||
system("$dbt->{copri_conf}->{basedir}/$varenv->{syshost}/src/scripts/mailTransportcms.pl '$varenv->{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '' ''");
|
||||
print EMA "---> Payment send_invoice $praefix-$ctt->{ct_name}.pdf email command: $dbt->{copri_conf}->{basedir}/$varenv->{syshost}/src/scripts/mailTransportcms.pl '$varenv->{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '' ''\n";
|
||||
}
|
||||
close EMA;
|
||||
}
|
||||
|
|
|
@ -1479,14 +1479,49 @@ sub export_csv {
|
|||
return $feedb;
|
||||
}
|
||||
|
||||
#prepare email by cms markup
|
||||
#also done in mailTransportcms
|
||||
#prepare email standalone for extern email client posting
|
||||
#partly adapted from mailTransportcms
|
||||
#attachement breaks, that's because not used
|
||||
sub prepare_email {
|
||||
my $self = shift;
|
||||
my $sendref = shift;
|
||||
my $ctadr = shift;
|
||||
my $ctt = shift || {};
|
||||
my $cms_prim = shift;
|
||||
my $varenv = shift;
|
||||
my $ct_id = shift || "";
|
||||
my $email_select = shift || "";
|
||||
my $dbh = "";
|
||||
|
||||
my $cms_prim = $varenv->{cms}->{$email_select}->{txt};
|
||||
|
||||
#mailxcfg is shareeconf/mailx.cfg <block> selection!
|
||||
#hash data to send
|
||||
my $sendref = {
|
||||
mailxcfg => "mailx_default",
|
||||
syshost => "$varenv->{syshost}",
|
||||
mail_from => "",
|
||||
mail_to => "",
|
||||
mail_bcc => "",
|
||||
c_id => 0,
|
||||
subject => "",
|
||||
message => "",
|
||||
signature => "",
|
||||
attachment => "",
|
||||
};
|
||||
|
||||
my $fetchctt = {
|
||||
table => "contenttrans",
|
||||
fetch => "one",
|
||||
c_id => "=::$ct_id",
|
||||
};
|
||||
my $ctt = { c_id => 0 };
|
||||
$ctt = $dbt->fetch_tablerecord($dbh,$fetchctt);
|
||||
|
||||
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname},"iso-8859-1");
|
||||
my $pref_adr = {
|
||||
table => "contentadr",
|
||||
fetch => "one",
|
||||
c_id => "$ctt->{int10}",
|
||||
};
|
||||
my $ctadr = { c_id => 0 };
|
||||
$ctadr = $dbt->fetch_tablerecord($dbh_primary,$pref_adr);
|
||||
|
||||
my $app_name = "Mietrad App";
|
||||
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
||||
|
@ -1500,8 +1535,8 @@ sub prepare_email {
|
|||
|
||||
my $subject = "TeilRad Mietradsystem";#default
|
||||
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
||||
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||
$cms_prim =~ s/--subject--$subject--subject--//;
|
||||
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||
$cms_prim =~ s/\n//;
|
||||
$cms_prim =~ s/\n//;
|
||||
|
||||
|
@ -1522,6 +1557,6 @@ sub prepare_email {
|
|||
#$sendref->{message} =~ s/\n/\<br \/\>/g;
|
||||
|
||||
return $sendref;
|
||||
}#end prepare_content
|
||||
}#end prepare_email
|
||||
|
||||
1;
|
||||
|
|
|
@ -37,6 +37,7 @@ sub new {
|
|||
sub preinit(){
|
||||
my $self = shift;
|
||||
my $q = shift;
|
||||
my $node_meta = shift;
|
||||
my $users_dms = shift;
|
||||
|
||||
$q->import_names('R');
|
||||
|
@ -115,15 +116,6 @@ sub preinit(){
|
|||
my $barcode=0;
|
||||
my $s_owner_id=0;
|
||||
|
||||
if($R::cash_sort){
|
||||
$db->users_up("cash_sort",$R::cash_sort,$users_dms->{u_id});
|
||||
}
|
||||
if($R::ctpos_close){
|
||||
$db->users_up("ctpos_activ","0",$users_dms->{u_id});
|
||||
}elsif($R::ctpos_activ){
|
||||
$db->users_up("ctpos_activ",$R::ctpos_activ,$users_dms->{u_id});
|
||||
}
|
||||
|
||||
if($R::s_start_date_time && $varenv{dataflow} =~ /wiki/){
|
||||
$db->users_up("cal_start","$R::s_start_date_time",$users_dms->{u_id});
|
||||
}
|
||||
|
@ -439,27 +431,12 @@ sub preinit(){
|
|||
}
|
||||
|
||||
my $pos_id = $R::c_idpos || $R::pos_id;
|
||||
#DELETE verpos
|
||||
if($ib_key eq "remove_verpos" && $pos_id){
|
||||
$table = "contenttverpos";
|
||||
$d_rows += $db->delete_content("$table","$pos_id");
|
||||
}
|
||||
|
||||
#DELETE pos
|
||||
if($ib_key =~ /delete_pos|delete_verpos/ && $pos_id){
|
||||
if($ib_key =~ /delete_pos/ && $pos_id){
|
||||
$table = "contenttranspos";
|
||||
$table = "contenttverpos" if($ib_key =~ /delete_verpos/);
|
||||
my $cttpos = $db->get_content1($table,$pos_id);
|
||||
|
||||
my $ctpos_sort;
|
||||
if($pos_id == $users_dms->{ctpos_activ}){
|
||||
my $ctt_subpos = $db->collect_content2($table,"ctpos_id","$pos_id");
|
||||
foreach my $id (keys(%$ctt_subpos)){
|
||||
$d_rows += $db->delete_content("$table","$ctt_subpos->{$id}->{c_id}");
|
||||
}
|
||||
}
|
||||
$d_rows += $db->delete_content("$table","$pos_id");
|
||||
$db->users_up("ctpos_activ","0",$users_dms->{u_id}) if("$pos_id" eq "$users_dms->{ctpos_activ}");
|
||||
$ct_name = $1 if($R::ct_name =~ /^(\d+)/);
|
||||
$u_rows += $db->update_content4comp("content",$ct_name,"$cttpos->{cc_id}","+","$cttpos->{int03}","","");
|
||||
}
|
||||
|
@ -478,7 +455,7 @@ sub preinit(){
|
|||
###SET Relation (like move doc-type)
|
||||
#executed by Terminal submit-buttons
|
||||
#2. counter for WaWi and ReNr
|
||||
if((!$R::close_time && $R::set_main_id) && ($R::set_relation || $R::set_state || $R::open_set_main_id > 300000 || $R::ct_trans =~ /print_pdf|print/i)){
|
||||
if((!$R::close_time && $R::set_main_id) && ($R::set_relation || $R::set_state || $R::open_set_main_id > 300000 || $R::ct_trans =~ /print_pdf/i)){
|
||||
if($R::open_set_main_id){
|
||||
$R::set_main_id = $R::open_set_main_id;
|
||||
$users_dms = $db->select_users($users_dms->{u_id});
|
||||
|
@ -630,8 +607,8 @@ sub preinit(){
|
|||
}
|
||||
###end SET Relation or state (V Terminal submit's)
|
||||
|
||||
my $c_id4print = $R::c_id4trans;
|
||||
$c_id4print= $R::c_id if($R::printer_id =~ /Adresse|Kunde/);
|
||||
my $c_id4print = "";
|
||||
$c_id4print = $R::c_id4trans if(looks_like_number($R::c_id4trans));
|
||||
if($c_id4print){
|
||||
open(EMA, ">> $varenv{logdir}/copri-print.log");
|
||||
print EMA "$today4db\n";
|
||||
|
@ -643,43 +620,54 @@ sub preinit(){
|
|||
my $praefix = "$ctt->{txt00}-$varenv{praefix}";#like Rechnung-sharee_operator
|
||||
|
||||
|
||||
###PRINT
|
||||
if($R::ct_trans =~ /print_pdf|print/i){
|
||||
my $main_id = $R::set_main_id || $R::main_id;
|
||||
my $node = $db->get_node4multi($main_id,$lang);
|
||||
#PDF generate
|
||||
if($R::ct_trans =~ /print_pdf/ || $R::print_pdf){
|
||||
my $psize="A4";
|
||||
if("$ctt->{txt00}" =~ /Quittung/){
|
||||
$psize="A5";
|
||||
#-B 0 -T 0 -L 0 -R 0 # testing paper-margin=0
|
||||
}
|
||||
my ($sysname, $nodename, $release, $version, $machine) = uname();
|
||||
my $topdf = "$varenv{basedir}/src/wkhtmltopdf-amd64";
|
||||
|
||||
if("$R::printer_id" =~ /PDF/){
|
||||
#without system() because we have to wait until PDF is ready
|
||||
$print_return = `$topdf --page-size $psize "$varenv{wwwhost}$script/Printpreview?printer_id=$R::printer_id\&mandant_main_id=$mandant_main_id\&main_id=$node->{main_id}\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$c_id4print\&u_id=$users_dms->{u_id}\&pkey=$apikeyconf{pdfprinter}->{pkey}" "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf" 2>&1`;
|
||||
$print_return = `$topdf --page-size $psize "$varenv{wwwhost}$script/Printpreview?printer_id=$R::printer_id\&mandant_main_id=$mandant_main_id\&main_id=$node_meta->{main_id}\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$c_id4print\&u_id=$users_dms->{u_id}\&pkey=$apikeyconf{pdfprinter}->{pkey}" "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf" 2>&1`;
|
||||
$exit_code = $?;
|
||||
|
||||
my $filesize = -s "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf";
|
||||
print EMA "$topdf --page-size $psize $varenv{wwwhost}$script/Printpreview?printer_id=$R::printer_id\&mandant_main_id=$mandant_main_id\&main_id=$node->{main_id}\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$c_id4print\&u_id=$users_dms->{u_id}\&pkey=$apikeyconf{pdfprinter}->{pkey} $varenv{pdf}/$praefix-$ctt->{ct_name}.pdf\nreturn: $print_return\nfilesize: $filesize\nexit_code: $exit_code\nset_state: $R::set_state\n";
|
||||
print EMA "$topdf --page-size $psize $varenv{wwwhost}$script/Printpreview?printer_id=$R::printer_id\&mandant_main_id=$mandant_main_id\&main_id=$node_meta->{main_id}\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$c_id4print\&u_id=$users_dms->{u_id}\&pkey=$apikeyconf{pdfprinter}->{pkey} $varenv{pdf}/$praefix-$ctt->{ct_name}.pdf\nreturn: $print_return\nfilesize: $filesize\nexit_code: $exit_code\nset_state: $R::set_state\n";
|
||||
|
||||
if($R::set_state ne "buchen"){#no redirect if buchen incl. print_pdf
|
||||
#no redirect
|
||||
if($R::ct_trans eq "print_pdf"){
|
||||
if( -f "$varenv{basedir}/pdf/$praefix-$ctt->{ct_name}.pdf"){
|
||||
print "<script type=\"text/javascript\">window.open('$varenv{wwwhost}/FileOut?file=$praefix-$ctt->{ct_name}.pdf');</script>";
|
||||
}else{
|
||||
return "failure::PDF konnte nicht generiert werden, bitte Info an: admin\@sharee.bike\n $varenv{wwwhost}/pdf/$praefix-$ctt->{ct_name}.pdf";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#PDF will be generated by "print_pdf" in context "buchen"
|
||||
#"send_invoice_again" will use formarly generated PDF
|
||||
if(-f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf" && (($R::set_state eq "buchen" && $R::send_invoice && $ctt->{int01} && $ctt->{int01} != 0) || ($ib_key eq "send_invoice_again"))){
|
||||
system("$dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' ''");
|
||||
print EMA "---> Prelogic send_invoice e-mail command: $dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '$praefix-$ctt->{ct_name}.pdf'\n";
|
||||
|
||||
my $cms_message_key = "email-invoice";
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => "de" });
|
||||
if(!$varenv{cms}->{$cms_message_key}->{txt}){
|
||||
return "failure::Achtung, CMS-Text '$cms_message_key' ist nicht vorhanden. Es wurde keine eMail versandt!";
|
||||
}
|
||||
|
||||
system("$dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '' '$cms_message_key' '1'");
|
||||
print EMA "---> Prelogic send_invoice $praefix-$ctt->{ct_name}.pdf email command: $dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice' '$ctt->{int10}' '$ctt->{c_id}' '' '$cms_message_key' '1'\n";
|
||||
}
|
||||
#
|
||||
|
||||
if($ib_key eq "send_invoice_cms" && $R::cms_message_key){
|
||||
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => "de" });
|
||||
if(!$varenv{cms}->{$R::cms_message_key}->{txt}){
|
||||
return "failure::Achtung, CMS-Text '$R::cms_message_key' ist nicht vorhanden. Es wurde keine eMail versandt!";
|
||||
}
|
||||
my $with_pdf = "";
|
||||
$with_pdf = 1 if(-f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf" && $R::print_pdf);
|
||||
system("$dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice_cms' '$ctt->{int10}' '$ctt->{c_id}' '' '$R::cms_message_key' '$with_pdf'");
|
||||
print EMA "---> Prelogic send_invoice_cms $praefix-$ctt->{ct_name}.pdf email command: $dbt->{copri_conf}->{basedir}/$varenv{syshost}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_invoice_cms' '$ctt->{int10}' '$ctt->{c_id}' '' '$R::cms_message_key' '$with_pdf'\n";
|
||||
}
|
||||
|
||||
close EMA;
|
||||
}#end c_id4print
|
||||
|
||||
|
|
|
@ -410,20 +410,24 @@ sub save_account(){
|
|||
#phonenr
|
||||
}elsif($_ eq "txt07"){
|
||||
$valxx =~ s/[\s\-\/]//g;
|
||||
if($valxx !~ /\d{9}/ || length($valxx) > 16){
|
||||
my $email = "";
|
||||
my $phone = "";
|
||||
$phone = $1 if($valxx =~ /([+0-9]+)/);
|
||||
if(length($phone) < 9 || length($phone) > 16){
|
||||
$ret = "failure::$_#top";
|
||||
}else{
|
||||
#smsAck reset
|
||||
if($valxx ne $ctadr->{txt07}){
|
||||
if($phone ne $ctadr->{txt07}){
|
||||
$u_rows = $dbt->update_one($dbh,$update_primary,"int13=0");
|
||||
}
|
||||
$u_rows = $dbt->update_one($dbh,$update_primary,"$_='$valxx'");
|
||||
my $email = $R::txt08;
|
||||
$u_rows = $dbt->update_one($dbh,$update_primary,"$_='$phone'");
|
||||
$email = $q->escapeHTML("$R::txt08");
|
||||
$email =~ s/\s//g;
|
||||
my $confirm_digest = sha1_base64($email . $valxx);
|
||||
my $confirm_digest = sha1_base64($email . $phone);
|
||||
$confirm_digest =~ s/[I1LO0]//ig;
|
||||
$u_rows = $dbt->update_one($dbh,$update_primary,"txt34='$confirm_digest'");
|
||||
}
|
||||
print FILE "confirm_digest input after substitution: $email . $phone\n" if($debug);
|
||||
#user alias email
|
||||
}elsif($_ eq "txt08"){
|
||||
$valxx =~ s/\s//g;
|
||||
|
@ -438,7 +442,6 @@ sub save_account(){
|
|||
order => "mtime",
|
||||
};
|
||||
my $account_check = $dbt->fetch_tablerecord($dbh,$pref_ac);
|
||||
#my $account_check = $self->check_account("txt08","ilike",$valxx,"c_id","!=",$c_id);
|
||||
|
||||
print FILE "account_check email:$valxx, c_id:$account_check->{c_id} && $account_check->{c_id} != $c_id\n" if($debug);
|
||||
if($account_check->{c_id} && $account_check->{c_id} != $c_id){
|
||||
|
|
|
@ -952,6 +952,19 @@ EOF
|
|||
my $legend = "";
|
||||
$legend = "<span style='color:#FF5F1F;'>• </span> Orange markierte Angaben bitte prüfen und ggf. korrigieren." if($node_meta->{tpl_id} == 221);
|
||||
print $q->div($but->singlesubmit7("$edit","$save_key","$ib{$save_key}","margin:10px 5px;"), "$legend"),"\n";
|
||||
|
||||
if($node_meta->{tpl_id} == 194){
|
||||
print $q->div({-style=>'font-size:13px;'},"<b>Text Variablen Legende:</b><br />
|
||||
--subject-- --subject-- → eMail Betreff<br />
|
||||
::user_name:: → Kunden Name<br />
|
||||
::app_name:: → App Name<br />
|
||||
::invoice_nr:: → Faktura Beleg Nr<br />
|
||||
::invoice_name:: → Faktura PDF Name<br />
|
||||
::txid:: → Payone TXID<br />
|
||||
::signature:: → eMail Signature<br />
|
||||
"),"\n";
|
||||
}
|
||||
|
||||
my $debug = "";
|
||||
$debug = "(ct_table: $node_meta->{ct_table} | main_id: $node_meta->{main_id} | c_id: $ctrel->{c_id} | tpl_id: $tpl->{tpl_id} | rel_id: $ctrel->{rel_id})";
|
||||
print $q->div({-style=>'z-index:10;font-size:13px;'},"$debug"),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
||||
|
|
|
@ -78,7 +78,6 @@ sub tpl(){
|
|||
|
||||
$path =~ s/\/login|\/user|\/manager|\/admin|\/$//;
|
||||
my $user_agent = $q->user_agent();
|
||||
my $saved_query = $q->url(-query=>1);
|
||||
my %ib = $but->ibuttons();
|
||||
my $main_id = $node_meta->{main_id};
|
||||
my $tpl_id = $node_meta->{template_id};
|
||||
|
@ -134,7 +133,7 @@ sub tpl(){
|
|||
$cttpos = { %$cttpos_trans };
|
||||
|
||||
|
||||
my $table = $node_meta->{ct_table} || "";
|
||||
my $table = $node_meta->{ct_table} || "content";
|
||||
|
||||
my $hashfile = "$varenv{logdir}/$users_dms->{u_id}-$table-searchhash";
|
||||
|
||||
|
@ -153,19 +152,9 @@ sub tpl(){
|
|||
|
||||
my @tpl_order = split /,/,$node_meta->{tpl_order};
|
||||
|
||||
my $scol = "c_id";
|
||||
$scol = "txt01" if($path =~ /Waren/);
|
||||
#table columne check for col_sort
|
||||
if($users_dms->{col_sort} eq "node_name" && ($table eq "contenttver")){
|
||||
$scol = "node_name";
|
||||
}elsif($users_dms->{col_sort} eq "date_time" && ($table =~ /contenttver|contenttrans/)){
|
||||
$scol = "end_time";
|
||||
}elsif($users_dms->{col_sort}){
|
||||
my $tinfo = $db->table_info($table);
|
||||
foreach (keys(%$tinfo)){
|
||||
$scol = "$users_dms->{col_sort}" if("$users_dms->{col_sort}" eq "$tinfo->{$_}->{attname}");
|
||||
}
|
||||
$db->users_up("col_sort","0",$users_dms->{owner}) if("$scol" ne "$users_dms->{col_sort}");
|
||||
my $scol = "mtime";
|
||||
if($users_dms->{"col_sort_$table"}){
|
||||
$scol = $users_dms->{"col_sort_$table"};
|
||||
}
|
||||
|
||||
my $limit = $R::limit || 250;
|
||||
|
@ -546,7 +535,7 @@ EOF
|
|||
print $q->a({-class=>'elinkbutton',-style=>'margin:0 0 2px 20px;', -href=>'?accounting_select=1'},"1. Einzüge selektieren"),"\n";
|
||||
}
|
||||
print "<b>$months[$mon -1] $year</b>\n";
|
||||
print $q->span({-style=>'font-size:0.81em;'}," (1. selektiert Rechnungen mit Payone Einzug & kein OPOS & p-Saldo=0 & kein Storno & keine interne Bemerkung, alle anderen bitte manuell überprüfen und falls i.O. selektieren)"),"\n";
|
||||
print $q->span({-style=>'font-size:0.81em;'}," (1. selektiert Rechnungen mit Payone Einzug & kein OPOS & p-Saldo=0 & kein Storno & keinen internen Bearbeitungsstatus & payone-sequence=1, alle anderen bitte manuell überprüfen und falls i.O. selektieren)"),"\n";
|
||||
print "</div>\n";
|
||||
}
|
||||
print $q->hidden(-name=>'mandant_main_id', -value=>"$dbt->{shareedms_conf}->{parent_id}"),"\n";
|
||||
|
@ -689,8 +678,8 @@ EOF
|
|||
$i += 2;
|
||||
my $sort_up = "up";
|
||||
my $sort_down = "down";
|
||||
$sort_up = "<b>$sort_up</b>" if($users_dms->{sort_updown} eq "up");
|
||||
$sort_down = "<b>$sort_down</b>" if($users_dms->{sort_updown} eq "down");
|
||||
$sort_up = "<b>$sort_up</b>" if($users_dms->{"sort_updown_$table"} eq "up");
|
||||
$sort_down = "<b>$sort_down</b>" if($users_dms->{"sort_updown_$table"} eq "down");
|
||||
|
||||
print $q->th($q->a({-class=>"sortnav",-href=>"?sort_updown=up\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>'Aufsteigend sortieren'},"$sort_up"),"|",$q->a({-class=>"sortnav",-href=>"?sort_updown=down\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>'Absteigend sortieren'},"$sort_down")),"\n";
|
||||
print $q->th(""),"\n";
|
||||
|
@ -698,7 +687,7 @@ EOF
|
|||
foreach (@tpl_order){
|
||||
my ($key,$val,$size,$title) = split /=/,$_;
|
||||
my $sort_title=" $title";
|
||||
$val = "<b>$val</b>" if($key eq $users_dms->{col_sort});
|
||||
$val = "<b>$val</b>" if($key eq $users_dms->{"col_sort_$table"});
|
||||
if($key =~ /byte|txt|time|node|int|time\d+|save|state|owner|c_id|ct_name|barcode|sort|public/){
|
||||
$i++;
|
||||
print $q->th({-nowrap=>1},$q->a({-class=>"sortnav",-href=>"?col_sort=$key\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"$sort_title"},"$val")),"\n";
|
||||
|
@ -718,7 +707,7 @@ EOF
|
|||
|
||||
#BIG LOOP loop content table
|
||||
foreach my $id (sort {
|
||||
if($users_dms->{sort_updown} eq "down"){
|
||||
if($users_dms->{"sort_updown_$table"} eq "down"){
|
||||
if ($scol =~ /barcode|int/) {
|
||||
$ct4rel->{$b}->{$scol} <=> $ct4rel->{$a}->{$scol}
|
||||
}else{
|
||||
|
@ -835,7 +824,7 @@ EOF
|
|||
}
|
||||
#1.Spalte
|
||||
if("$ct4rel->{$id}->{main_id}" eq "$node_meta->{main_id}" || "$ct4rel->{$id}->{main_id}" eq "$node_meta->{parent_id}"){
|
||||
if($table =~ /content$|contentadr|contentnel/){
|
||||
if($table =~ /content$|contentadr/){
|
||||
$ecol++;
|
||||
print "<td class='tb_inst' style='$set_style' nowrap>\n";
|
||||
|
||||
|
@ -960,7 +949,7 @@ EOF
|
|||
my $opos = "";
|
||||
$opos = "<span style='color:red'>•</span>" if($ct4rel->{$id}->{int14});
|
||||
print $q->td({-class=>'tdint',-style=>"font-weight:normal;$set_style4nr", -nowrap=>1},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&owner=$users_dms->{u_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$opos $ct4rel->{$id}->{$key}"));
|
||||
}elsif($table =~ /content$|contentadr|contentnel/){
|
||||
}elsif($table =~ /content$|contentadr/){
|
||||
print $q->td({-class=>"tdint",-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?node2edit=editpart\&mode=manager\&rel_id=$ct4rel->{$id}->{rel_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")),"\n";
|
||||
}elsif(($node_meta->{tpl_order} !~ /barcode/) || ("$ct4rel->{$id}->{$key}" ne "$ct4rel->{$id}->{barcode}")){
|
||||
print $q->td({-class=>'tdint',-style=>"font-weight:bold;$set_style4nr"},"$ct4rel->{$id}->{$key}"),"\n";
|
||||
|
@ -1246,9 +1235,8 @@ EOF
|
|||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_CCpayone €");
|
||||
}
|
||||
if($sum_gutschrift != 0){
|
||||
$sum_gutschrift *= -1;
|
||||
#$sum_gutschrift *= -1;
|
||||
$sum_gutschrift = sprintf('%.2f',$sum_gutschrift);
|
||||
$sum_gutschrift += $sum_gutschrift;
|
||||
$sum_success += $sum_gutschrift;
|
||||
print $q->Tr();
|
||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||
|
|
|
@ -121,10 +121,15 @@ sub tpl(){
|
|||
$searchref->{table_pos} = "contentpos";
|
||||
if($node_meta->{tpl_id} == 194 || $node_meta->{tpl_id} == 199){
|
||||
$table = "contentuser";
|
||||
$searchref->{table} = "$table";
|
||||
$searchref->{table_pos} = "";
|
||||
$searchref->{template_id_pos} = "";
|
||||
$searchref->{c_id} = ">::400";
|
||||
$main_ids = $node_meta->{main_id};
|
||||
$searchref->{c_id} = ">::400" if($node_meta->{tpl_id} == 199);
|
||||
if($node_meta->{main_id} < 400000){
|
||||
$main_ids = $node_meta->{main_id};
|
||||
}else{
|
||||
$searchref->{ct_name} = "$node_meta->{node_name}";
|
||||
}
|
||||
$tpl_ids = $node_meta->{tpl_id};
|
||||
}
|
||||
elsif($node_meta->{tpl_id} > 400 && $node_meta->{tpl_id} <= 499){
|
||||
|
@ -187,22 +192,23 @@ EOF
|
|||
my @tpl_order = split /,/,$node_meta->{tpl_order};
|
||||
my $rows = 0;
|
||||
#table columne check for col_sort
|
||||
if($users_dms->{col_sort}){
|
||||
my $tinfo = $db->table_info($table);
|
||||
foreach (keys(%$tinfo)){
|
||||
$searchref->{scol} = "$users_dms->{col_sort}" if($users_dms->{col_sort} eq $tinfo->{$_}->{attname});
|
||||
}
|
||||
$db->users_up("col_sort","0",$users_dms->{owner}) if($searchref->{scol} ne $users_dms->{col_sort});
|
||||
if($users_dms->{"col_sort_$table"}){
|
||||
$searchref->{scol} = $users_dms->{"col_sort_$table"};
|
||||
}
|
||||
|
||||
$searchref->{scol} = "u_id" if($node_meta->{template_id} == 198);
|
||||
$users_dms->{sort_updown} = "down" if(!$users_dms->{sort_updown});
|
||||
$users_dms->{"sort_updown_$table"} = "down" if(!$users_dms->{"sort_updown_$table"});
|
||||
|
||||
#print Dumper($node_meta);
|
||||
my $hashfile = "$varenv{logdir}/$users_dms->{u_id}-$searchref->{table_pos}-searchhash";
|
||||
$hashfile = "$varenv{logdir}/$users_dms->{u_id}-$searchref->{table}-searchhash" if(!$searchref->{table_pos});
|
||||
|
||||
if($node_meta->{tpl_id} =~ /194/ && !$R::detail_search && -f $hashfile && ($R::node2edit || $R::base_edit)){
|
||||
$searchref = {};
|
||||
$searchref = retrieve($hashfile);
|
||||
}
|
||||
|
||||
my $ct4rel = {};
|
||||
#print Dumper($node_meta);
|
||||
#print "if(!$start_chck && !$end_chck && $main_ids && $tpl_ids){";
|
||||
if(!$start_chck && !$end_chck && $main_ids && $tpl_ids){
|
||||
#$rows = $db->count_content($searchref->{table_pos},"$main_ids","$tpl_ids");
|
||||
|
||||
|
@ -221,6 +227,12 @@ EOF
|
|||
my $ck4ex = "";
|
||||
#only if permission read
|
||||
if(($node_meta->{ct_table} eq "users" && $users_dms->{int07} >= 1) || ($node_meta->{ct_table} eq "contentadrpos" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentpos" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentuser" && $users_dms->{int08} >= 1)){
|
||||
|
||||
#trying to save hashref
|
||||
if($node_meta->{tpl_id} =~ /194/ && $R::detail_search && ref($searchref) eq "HASH"){
|
||||
store $searchref, $hashfile;
|
||||
}
|
||||
|
||||
$ct4rel = $dbt->search_content($dbh,$searchref,$node_meta,$users_dms,"$main_ids","$tpl_ids","","",$ck4ex);
|
||||
}else{
|
||||
$return = "failure::Abbruch. Keine Zugriffsberechtigung";
|
||||
|
@ -259,14 +271,14 @@ EOF
|
|||
}
|
||||
|
||||
#1. Search-fields
|
||||
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} if($searchref->{$key});
|
||||
my $s_val = "";
|
||||
$s_val = $searchref->{$key} if($searchref->{$key});
|
||||
#print "$key=$searchref->{$key}|";
|
||||
if($key =~ /node|txt|int|ct_name|_id|barcode|sort|public/){
|
||||
if($key =~ /_id|barcode|int04/){
|
||||
|
@ -309,8 +321,8 @@ EOF
|
|||
#print $q->th({-style=>""}," "),"\n";
|
||||
my $sort_up = "up";
|
||||
my $sort_down = "down";
|
||||
$sort_up = "<b>$sort_up</b>" if($users_dms->{sort_updown} eq "up");
|
||||
$sort_down = "<b>$sort_down</b>" if($users_dms->{sort_updown} eq "down");
|
||||
$sort_up = "<b>$sort_up</b>" if($users_dms->{"sort_updown_$table"} eq "up");
|
||||
$sort_down = "<b>$sort_down</b>" if($users_dms->{"sort_updown_$table"} eq "down");
|
||||
print $q->th($q->a({-class=>"sortnav",-href=>"?sort_updown=up\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>'Aufsteigend sortieren'},"$sort_up"),"|",$q->a({-class=>"sortnav",-href=>"?sort_updown=down\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>'Absteigend sortieren'},"$sort_down")),"\n";
|
||||
print $q->th({-style=>""}," "),"\n";
|
||||
}
|
||||
|
@ -335,7 +347,7 @@ EOF
|
|||
my $sort_title="| $val";
|
||||
|
||||
if($node_meta->{tpl_id} !~ /198|199/){
|
||||
$val = "<b>$val</b>" if($key eq $users_dms->{col_sort});
|
||||
$val = "<b>$val</b>" if($key eq $users_dms->{"col_sort_$table"});
|
||||
print $q->th({-style=>'padding:5px 0'},$q->div({-style=>"$divstyle"},$q->a({-class=>"sortnav",-href=>"?col_sort=$key\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"$val"},"$val"))),"\n" if($key ne "u_id");
|
||||
}else{
|
||||
print $q->th({-style=>'padding:5px 0'},$q->div({-style=>"$divstyle"},"$val")),"\n" if($key ne "u_id");
|
||||
|
@ -368,7 +380,7 @@ EOF
|
|||
else{
|
||||
my $scol = $searchref->{scol};
|
||||
foreach my $id (sort {
|
||||
if($users_dms->{sort_updown} eq "down"){
|
||||
if($users_dms->{"sort_updown_$table"} eq "down"){
|
||||
if ($scol =~ /barcode|int|_id/) {
|
||||
$ct4rel->{$b}->{$scol} <=> $ct4rel->{$a}->{$scol}
|
||||
}else{
|
||||
|
|
|
@ -587,7 +587,7 @@ EOF
|
|||
my $send_invoice_checkbox = 1;
|
||||
$send_invoice_checkbox = 0 if($ctt->{txt30} || $ctt->{ct_name} =~ /\d-\d/);
|
||||
print $q->div({-class=>'element6',-style=>'float:right;background-color:silver;'}, $q->b("$ctt->{txt00}"),
|
||||
": PDF drucken ",$but->checkbox("print_pdf","ct_trans","1","PDF drucken",""),
|
||||
": PDF drucken ",$but->checkbox("1","print_pdf","1","PDF drucken",""),
|
||||
" – eMail senden ",$but->checkbox("1","send_invoice","$send_invoice_checkbox","eMail $ctt->{txt00}",""),
|
||||
" – Zahlungsart/Status ",
|
||||
$but->selector("state","250px",$kind_of_payment,@_paymentstate),
|
||||
|
@ -633,6 +633,7 @@ EOF
|
|||
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
||||
print $q->div({-style=>"clear:both;height:0.1px;"},""),"\n";
|
||||
if($ctt->{txt30}){
|
||||
$ctt->{txt30} = $lb->newline($ctt->{txt30},"","");
|
||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "$ctt->{txt30}"),"\n";
|
||||
}elsif( -f "$dbt->{copri_conf}->{basedir}/$varenv{syshost}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf" ){
|
||||
print $q->start_form(),"\n";
|
||||
|
@ -644,36 +645,28 @@ EOF
|
|||
print $q->end_form;
|
||||
}
|
||||
|
||||
#TODO
|
||||
if(1==2 && "$varenv{praefix}-$ctt->{ct_name}" =~ /\d+/){
|
||||
my $sharee_ticket = "";
|
||||
my $subject = "";
|
||||
$sharee_ticket = " [$varenv{praefix}-$ctt->{ct_name}]";
|
||||
$subject .= $sharee_ticket if($sharee_ticket);
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => 'de' });
|
||||
my @_valxx = ("");
|
||||
if( -f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){
|
||||
print $q->div({-style=>'padding:0.5em;font-size:0.91em;width:98%;text-align:right;'}, "PDF download: ", $q->a({-href=>"$varenv{wwwhost}/FileOut?file=$praefix-$ctt->{ct_name}.pdf&sessionid=$coo", -target=>"_blank" , -type=>'application/octet-stream', -style=>'text-decoration:underline;'}, "$praefix-$ctt->{ct_name}.pdf")),"\n";
|
||||
}
|
||||
|
||||
#copri-Ticket-mailing, eMail send by select cms_message_key
|
||||
if("$varenv{praefix}-$ctt->{ct_name}" =~ /\d+/){
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => 'de', ct_name => 'email-invoice%' });
|
||||
my @_valxx = ("email CMS-Text select");
|
||||
foreach my $rid (sort { $varenv{cms}->{$a}->{ct_name} cmp $varenv{cms}->{$b}->{ct_name} } keys (%{$varenv{cms}})){
|
||||
push (@_valxx, "$varenv{cms}->{$rid}->{ct_name}:$varenv{cms}->{$rid}->{ct_name}");
|
||||
}
|
||||
|
||||
#print $q->start_form(-action=>'mailto:xxxx@sharee.bike', -method=>'GET'),"\n";
|
||||
print $q->start_form(),"\n";
|
||||
print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$ctt->{content_id}"),"\n";
|
||||
print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"),"\n";
|
||||
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset"),"\n" if($R::offset);
|
||||
print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit"),"\n" if($R::limit);
|
||||
|
||||
print $q->hidden(-name=>'mailto', -value=>"xxxx\@sharee.bike"),"\n";
|
||||
print $q->hidden(-name=>'subject', -value=>"xxxx"),"\n";
|
||||
print $q->div({-style=>"padding:0.5em;font-size:0.91em;width:98%;text-align:left;"}, $but->selector_class("email_select","eselect","width:250px;",$ctt->{txt31},@_valxx), $but->singlesubmit1("ct_trans","email_generate","")),"\n";
|
||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "Copri-Ticket-mailing: ", $but->selector_class("cms_message_key","eselect","width:250px;","",@_valxx), "mit PDF", $but->checkbox("1","print_pdf","1","mit PDF",""), $but->singlesubmit1("ct_trans","send_invoice_cms","")),"\n";
|
||||
print $q->end_form;
|
||||
}
|
||||
|
||||
|
||||
if( -f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){
|
||||
print $q->div({-style=>'padding:0.5em;font-size:0.91em;width:98%;text-align:right;'}, "Download: ", $q->a({-href=>"$varenv{wwwhost}/FileOut?file=$praefix-$ctt->{ct_name}.pdf&sessionid=$coo", -target=>"_blank" , -type=>'application/octet-stream', -style=>'text-decoration:underline;'}, "$praefix-$ctt->{ct_name}.pdf")),"\n";
|
||||
}
|
||||
|
||||
$db->updater("contenttrans","c_id","$ctt->{content_id}","txt20","$accounting_start - $accounting_end","","","","","no_time") if(!$int05 && $accounting_start && $accounting_end);
|
||||
$db->updater("contenttrans","c_id","$ctt->{content_id}","int15","$sum_preauth","","","","","no_time") if($sum_preauth || $sum_preauth == 0);
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#
|
||||
#Example
|
||||
#./src/scripts/mailTransportcms.pl 'shareedms-operator' 'send_alarm2hotline' '[user.c_id]' '[contenttxxxx.c_id]'
|
||||
#./src/scripts/mailTransportcms.pl 'shareedms-operator' 'send_invoice_cms' '[user.c_id]' '[contenttxxxx.c_id]' '' '[cmstext_select]' '[with_pdf]'
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -42,6 +43,8 @@ my $todo = $ARGV[1] || "";
|
|||
my $adr_id = $ARGV[2] || "";
|
||||
my $ct_id = $ARGV[3] || "";
|
||||
my $temppw = $ARGV[4] || "";
|
||||
my $cmstext_select = $ARGV[5] || "";
|
||||
my $with_pdf = $ARGV[6] || "";
|
||||
|
||||
open(EMA, ">> $dbt->{copri_conf}->{logdir}/mailTransportcms.log");
|
||||
print EMA "\n$now_dt, start mailTransportcms.pl syshost: $syshost, todo:$todo, adr_id:$adr_id, ct_id:$ct_id, temppw:$temppw\n";
|
||||
|
@ -80,13 +83,13 @@ if(looks_like_number($adr_id)){
|
|||
#send_invoice
|
||||
if($todo eq "send_invoice" && looks_like_number($ct_id)){
|
||||
$sendref->{mailxcfg} = "mailx_invoice";
|
||||
$sendmail = send_invoice($todo,$sendref,$ctadr,$ct_id);
|
||||
$sendmail = send_invoice($todo,$sendref,$ctadr,$ct_id,"email-invoice",$with_pdf);
|
||||
}
|
||||
|
||||
#send_warninginvoice
|
||||
if($todo eq "send_warninginvoice" && looks_like_number($ct_id)){
|
||||
$sendref->{mailxcfg} = "mailx_invoice_bcc";
|
||||
$sendmail = send_warninginvoice($todo,$sendref,$ctadr,$ct_id);
|
||||
#send_invoice_cms
|
||||
if($todo eq "send_invoice_cms" && looks_like_number($ct_id) && $cmstext_select){
|
||||
$sendref->{mailxcfg} = "mailx_invoice_bcc";#with BCC
|
||||
$sendmail = send_invoice($todo,$sendref,$ctadr,$ct_id,$cmstext_select,$with_pdf);
|
||||
}
|
||||
|
||||
#send_emailack
|
||||
|
@ -115,7 +118,7 @@ if($todo eq "send_occupied2hotline"){
|
|||
$sendmail = send_occupied2hotline($sendref);
|
||||
}
|
||||
|
||||
#send_invoice_onwork once a week as reminder
|
||||
#send_invoice_onwork once a week as reminder [in Arbeit|eMail gesendet]
|
||||
if($todo eq "send_invoice_onwork"){
|
||||
#loop operators DB
|
||||
while (my ($key, $op_name) = each %{ $dbt->{operator} }) {
|
||||
|
@ -144,18 +147,21 @@ if($sendmail->{c_id}){
|
|||
|
||||
#send_invoice
|
||||
sub send_invoice {
|
||||
my $todo = shift;
|
||||
my $sendref = shift;
|
||||
my $ctadr = shift;
|
||||
my $ct_id = shift;
|
||||
|
||||
my $project = $dbt->{operator}->{$varenv{dbname}}->{project} || "";
|
||||
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname},"iso-8859-1");
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $ctadr->{txt10} });
|
||||
my $cms_message_key = "email-invoice";
|
||||
my $todo = shift || "";
|
||||
my $sendref = shift || {};
|
||||
my $ctadr = shift || "";
|
||||
my $ct_id = shift || "";
|
||||
my $cms_message_key = shift || "email-invoice";
|
||||
my $with_pdf = shift || "";
|
||||
|
||||
my $dbh = $dbt->dbconnect_extern($dbt->{operator}->{$varenv{dbname}}->{database}->{dbname},"iso-8859-1");
|
||||
#ex. primary hotline c_id=1# changed to Kunden-Fakture c_is=100002, check tablefields
|
||||
my $project = $dbt->{operator}->{$varenv{dbname}}->{project} || "";
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => $ctadr->{txt10} });
|
||||
|
||||
if(!$varenv{cms}->{$cms_message_key}->{txt}){
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
|
@ -178,52 +184,13 @@ sub send_invoice {
|
|||
table => "contenttrans",
|
||||
c_id => "$ct_id",
|
||||
};
|
||||
$dbt->update_one($dbh,$updatectt,"txt30='$now_dt, $ctt->{txt00} per eMail versandt'");
|
||||
my $log_stamp = strftime "%d.%m.%Y %H:%M:%S", localtime;
|
||||
my $mailing_log = $ctt->{txt30} . "\n- $log_stamp mailing: $cms_message_key";
|
||||
$dbt->update_one($dbh,$updatectt,"txt30='$mailing_log'");
|
||||
|
||||
return $sendref;
|
||||
}#end send_invoice
|
||||
|
||||
#TODO with CMS-Text selection
|
||||
#send_warninginvoice
|
||||
sub send_warninginvoice {
|
||||
my $todo = shift;
|
||||
my $sendref = shift;
|
||||
my $ctadr = shift;
|
||||
my $ct_id = shift;
|
||||
|
||||
my $project = $dbt->{operator}->{$varenv{dbname}}->{project} || "";
|
||||
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname},"iso-8859-1");
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $ctadr->{txt10} });
|
||||
my $cms_message_key = "email-invoice";
|
||||
|
||||
my $dbh = $dbt->dbconnect_extern($dbt->{operator}->{$varenv{dbname}}->{database}->{dbname},"iso-8859-1");
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
c_id => "100002",
|
||||
};
|
||||
my $uadr = { c_id => 0 };
|
||||
$uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu);
|
||||
|
||||
my $fetchctt = {
|
||||
table => "contenttrans",
|
||||
fetch => "one",
|
||||
c_id => "=::$ct_id",
|
||||
};
|
||||
my $ctt = { c_id => 0 };
|
||||
$ctt = $dbt->fetch_tablerecord($dbh,$fetchctt);
|
||||
|
||||
$sendref = prepare_content($sendref,$ctadr,$uadr,$ctt,$varenv{cms}->{$cms_message_key}->{txt});
|
||||
|
||||
my $updatectt = {
|
||||
table => "contenttrans",
|
||||
c_id => "$ct_id",
|
||||
};
|
||||
#$dbt->update_one($dbh,$updatectt,"txt30='$now_dt, $ctt->{txt00} per eMail versandt'");
|
||||
|
||||
return $sendref;
|
||||
}#end send_warninginvoice
|
||||
|
||||
|
||||
#send_emailack
|
||||
sub send_emailack {
|
||||
|
@ -496,28 +463,22 @@ sub prepare_content {
|
|||
my $ctt = shift || {};
|
||||
my $cms_prim = shift;
|
||||
|
||||
my $globalconf_file = "/var/www/copri4/shareeconf/global.cfg";
|
||||
my $conf = Config::General->new($globalconf_file);
|
||||
my %globalconf = $conf->getall;
|
||||
|
||||
my $app_name = "Mietrad App";
|
||||
#while (my ($key, $merchant) = each %{ $globalconf{merchant_ids} }) {
|
||||
# $app_name =~ s/$app_name/$merchant->{app_name}/ if($merchant->{app_name} && $ctadr->{int15} && $ctadr->{int15} == $merchant->{id});
|
||||
#}
|
||||
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
||||
my $invoice_name = "";
|
||||
my $invoice_nr = "";
|
||||
my $sharee_ticket = "";
|
||||
if(ref($ctt) eq "HASH" && $ctt->{ct_name}){
|
||||
$invoice_name = "$ctt->{txt00}-$varenv{dbname}-$ctt->{ct_name}.pdf";
|
||||
$sendref->{attachment} = "$invoice_name";
|
||||
$sharee_ticket = "[$varenv{dbname}-$ctt->{ct_name}]";
|
||||
$invoice_nr = "$varenv{dbname}-$ctt->{ct_name}";
|
||||
$sharee_ticket = "[$invoice_nr]";
|
||||
}
|
||||
|
||||
my $subject = "TeilRad Mietradsystem";#default
|
||||
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
||||
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||
$cms_prim =~ s/--subject--$subject--subject--//;
|
||||
$cms_prim =~ s/\n//;
|
||||
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||
$cms_prim =~ s/\n//;
|
||||
|
||||
my $signature = <<EOF
|
||||
|
@ -540,9 +501,10 @@ EOF
|
|||
$sendref->{subject} =~ s/Mein // if($sendref->{subject} =~ /^Mein/);
|
||||
|
||||
$sendref->{message} = $cms_prim;
|
||||
$sendref->{message} =~ s/::user_name::/$ctadr->{txt01}/;
|
||||
$sendref->{message} =~ s/::user_name::/$ctadr->{txt01}/g;
|
||||
$sendref->{message} =~ s/::app_name::/$app_name/g;
|
||||
$sendref->{message} =~ s/::invoice_name::/$invoice_name/ if($invoice_name);
|
||||
$sendref->{message} =~ s/::invoice_nr::/\<b\>$invoice_nr\<\/b\>/g if($invoice_nr);
|
||||
$sendref->{message} =~ s/::invoice_name::/$invoice_name/g if($invoice_name);
|
||||
$sendref->{message} =~ s/::txid::/$ctt->{txt16}/;
|
||||
$sendref->{message} =~ s/::email_temppassword::/\<b\>$ctadr->{txt04}\<\/b\>/g;
|
||||
$sendref->{message} =~ s/::email_ack_digest::/\<b\>$ctadr->{txt34}\<\/b\>/g;#send_emailack
|
||||
|
|
Binary file not shown.
|
@ -231,7 +231,7 @@ sub tpl(){
|
|||
foreach my $id2 (sort {$node2->{$a}->{n_sort} <=> $node2->{$b}->{n_sort}} keys (%$node2)){
|
||||
my $parent_node4rel = $db->get_node4rel($node2->{$id2}->{parent_id},"","","null");
|
||||
#because of don't view Service Attribut on Einste.
|
||||
if($parent_node4rel->{template_id} =~ /205|225/){
|
||||
if($parent_node4rel->{template_id} =~ /205|225|194/){
|
||||
#if(1==1){
|
||||
$mclass = "";
|
||||
$mstyle = "";
|
||||
|
|
Loading…
Add table
Reference in a new issue