mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-07-17 02:07:26 +02:00
user message on longterm rental, based also on fleed operator. Bikeakku view config
This commit is contained in:
parent
addf1ab6db
commit
030091de20
16 changed files with 364 additions and 248 deletions
|
@ -29,14 +29,12 @@ use DateTime::Format::Pg;
|
|||
use Scalar::Util qw(looks_like_number);
|
||||
use Lib::Config;
|
||||
use Mod::DBtank;
|
||||
use Mod::Prelib;
|
||||
use Mod::MailTransport;
|
||||
use Data::Dumper;
|
||||
my $cf = new Config;
|
||||
my %varenv = $cf->envonline();
|
||||
|
||||
my $dbt = new DBtank;
|
||||
my $pl = new Prelib;
|
||||
my $mailtrans = new MailTransport;
|
||||
my $now_dt = strftime "%Y.%m.%d %H:%M:%S", localtime;
|
||||
|
||||
|
@ -212,7 +210,7 @@ sub send_invoice {
|
|||
}
|
||||
|
||||
my $ctadr_invoice = $ctt;#take adr from invoice for account-less mailing
|
||||
$sendref = prepare_content($sendref,$ctadr_invoice,$uadr,$ctt,$varenv{cms}->{$cms_message_key}->{txt},$with_pdf);
|
||||
$sendref = $mailtrans->prepare_content(\%varenv,$sendref,$ctadr_invoice,$uadr,$ctt,$varenv{cms}->{$cms_message_key}->{txt},$with_pdf);
|
||||
|
||||
my $updatectt = {
|
||||
table => "contenttrans",
|
||||
|
@ -256,7 +254,7 @@ sub send_payonelink {
|
|||
my $record_pos = { c_id => 0 };
|
||||
$record_pos = $dbt->fetch_tablerecord($dbh_primary,$pref_pos) if($ctpos_id);
|
||||
|
||||
$sendref = prepare_content($sendref,$ctadr,$uadr,$record_pos,$varenv{cms}->{$cms_message_key}->{txt},'',$app_name);
|
||||
$sendref = $mailtrans->prepare_content(\%varenv,$sendref,$ctadr,$uadr,$record_pos,$varenv{cms}->{$cms_message_key}->{txt},'',$app_name);
|
||||
|
||||
my $update_pos = {
|
||||
table => "contenttranspos",
|
||||
|
@ -296,7 +294,7 @@ sub send_emailack {
|
|||
$ctadr->{txt34} = "";
|
||||
}
|
||||
|
||||
$sendref = prepare_content($sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
$sendref = $mailtrans->prepare_content(\%varenv,$sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
|
||||
return $sendref;
|
||||
}#end send_emailack
|
||||
|
@ -328,7 +326,7 @@ sub send_password {
|
|||
$ctadr->{txt04} = "";
|
||||
}
|
||||
|
||||
$sendref = prepare_content($sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
$sendref = $mailtrans->prepare_content(\%varenv,$sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
|
||||
return $sendref;
|
||||
}#end send_password
|
||||
|
@ -353,7 +351,7 @@ sub send_cpupdate_message {
|
|||
$varenv{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $lang });
|
||||
my $cms_message_key = "email-cpupdate-message";
|
||||
$cms_message_key = "email-proactive-cpupdate-message" if($todo eq "send_proactive_cpupdate_message");
|
||||
$sendref = prepare_content($sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
$sendref = $mailtrans->prepare_content(\%varenv,$sendref,$ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
|
||||
return $sendref;
|
||||
}#end send_cpupdate_message
|
||||
|
@ -441,7 +439,7 @@ sub send_occupied2hotline {
|
|||
};
|
||||
|
||||
my $cttpos = { c_id => 0 };
|
||||
$cttpos = $dbt->collect_transpos($dbh,$search,1);
|
||||
$cttpos = $dbt->collect_transpos($dbh,$search,0);
|
||||
|
||||
my $bike = "";
|
||||
foreach my $pid (sort { $cttpos->{$b}->{end_time} cmp $cttpos->{$a}->{end_time} } keys(%$cttpos)){
|
||||
|
@ -535,116 +533,6 @@ EOF
|
|||
return;
|
||||
}#end send_invoice_onwork
|
||||
|
||||
#greater 12h_mailmessage
|
||||
#TODO test ....
|
||||
sub email_longterm_occupied {
|
||||
my $dbh = shift;
|
||||
my $oprefix = shift || "";
|
||||
my $sendref = shift;
|
||||
|
||||
#operator contact
|
||||
my $pref_ctu = {
|
||||
table => "contentuser",
|
||||
fetch => "one",
|
||||
c_id => "1",
|
||||
};
|
||||
my $uadr = { c_id => 0 };
|
||||
$uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu);
|
||||
|
||||
my $longterm_ctadr = {};
|
||||
$longterm_ctadr = $pl->longterm_occupied(\%varenv);
|
||||
my $lang = $longterm_ctadr->{txt11} || "de";
|
||||
|
||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => $lang });
|
||||
my $cms_message_key = "";
|
||||
$cms_message_key = "email-" . $longterm_ctadr->{hours} . "h-occupied" if($longterm_ctadr->{hours});
|
||||
if($longterm_ctadr->{posting} eq "email" && $varenv{cms}->{$cms_message_key}->{txt}){
|
||||
$sendref = prepare_content($sendref,$longterm_ctadr,$uadr,"",$varenv{cms}->{$cms_message_key}->{txt});
|
||||
}
|
||||
|
||||
return $sendref;
|
||||
}#end email_longterm_occupied
|
||||
|
||||
|
||||
#prepare email by cms markup
|
||||
sub prepare_content {
|
||||
my $sendref = shift;
|
||||
my $ctadr = shift;
|
||||
my $uadr = shift;
|
||||
my $ctt = shift || {};
|
||||
my $cms_prim = shift || "";
|
||||
my $with_pdf = shift || "";
|
||||
my $app_name = shift || "";
|
||||
|
||||
if(!$app_name && $dbt->{operator}->{$varenv{dbname}}->{app_name}){
|
||||
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
||||
}else{
|
||||
$app_name = "Mietrad App";
|
||||
}
|
||||
my $invoice_name = "";
|
||||
my $invoice_nr = "";
|
||||
my $total_sum = "";
|
||||
my $sharee_ticket = "";
|
||||
my $fibu_user = "";
|
||||
my $prepaid_id = "";
|
||||
my $payone_link = "";
|
||||
if(ref($ctt) eq "HASH" && $ctt->{ct_name}){
|
||||
$invoice_name = "$ctt->{txt00}-$varenv{dbname}-$ctt->{ct_name}.pdf";
|
||||
$sendref->{attachment} = "$invoice_name" if($with_pdf);
|
||||
$invoice_nr = "$varenv{dbname}-$ctt->{ct_name}";
|
||||
$total_sum = "$ctt->{int01}";
|
||||
$total_sum =~ s/\./,/;
|
||||
$sharee_ticket = "[$invoice_nr]";
|
||||
$fibu_user = "\n$ctt->{fibu_user}\n" if($ctt->{fibu_user});
|
||||
$prepaid_id = $ctt->{ct_id} . "-" . $ctt->{c_id};
|
||||
$payone_link = $ctt->{txt30};
|
||||
}
|
||||
|
||||
my $subject = "TeilRad Mietradsystem";#default
|
||||
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
||||
$cms_prim =~ s/--subject--$subject--subject--//;
|
||||
$subject .= " $sharee_ticket" if($sharee_ticket && !$payone_link);
|
||||
$cms_prim =~ s/\n//;
|
||||
|
||||
my $signature = <<EOF
|
||||
--$fibu_user
|
||||
$uadr->{txt01}
|
||||
$uadr->{txt03}
|
||||
$uadr->{txt06}
|
||||
$uadr->{txt07}
|
||||
$uadr->{txt08}
|
||||
|
||||
$uadr->{txt09}
|
||||
|
||||
$uadr->{txt10}
|
||||
|
||||
EOF
|
||||
;
|
||||
|
||||
$sendref->{mail_to} = $ctadr->{txt08};
|
||||
$sendref->{c_id} = $ctadr->{c_id};
|
||||
$sendref->{subject} = $subject;
|
||||
$sendref->{subject} =~ s/::app_name::/$app_name/;
|
||||
$sendref->{subject} =~ s/Mein // if($sendref->{subject} =~ /^Mein/);
|
||||
|
||||
$sendref->{message} = $cms_prim;
|
||||
$sendref->{message} =~ s/::user_name::/$ctadr->{txt01}/g;
|
||||
$sendref->{message} =~ s/::bike::/$ctadr->{bike}/g if($ctadr->{bike});
|
||||
$sendref->{message} =~ s/::app_name::/$app_name/g;
|
||||
$sendref->{message} =~ s/::invoice_nr::/\<b\>$invoice_nr\<\/b\>/g if($invoice_nr);
|
||||
$sendref->{message} =~ s/::total_sum::/\<b\>$total_sum €\<\/b\>/g if($total_sum);
|
||||
$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
|
||||
$sendref->{message} =~ s/::prepaid_id::/\<b\>$prepaid_id\<\/b\>/g;
|
||||
$sendref->{message} =~ s/::payone_link::/\<b\><a href='$payone_link'>$payone_link<\/a>\<\/b\>/g;
|
||||
$sendref->{message} =~ s/::signature::/$signature/;
|
||||
$sendref->{message} =~ s/\n/\<br \/\>/g;
|
||||
|
||||
return $sendref;
|
||||
}#end prepare_content
|
||||
|
||||
|
||||
#sending mail job
|
||||
sub sendmailjob {
|
||||
|
|
26
copri4/main/src/scripts/messanger_divers.pl
Executable file
26
copri4/main/src/scripts/messanger_divers.pl
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||||
#
|
||||
#Examples
|
||||
#./src/scripts/messanger_divers shareedms-operator
|
||||
|
||||
use vars qw($syshost);
|
||||
|
||||
BEGIN {
|
||||
$syshost = $ARGV[0] || die 'syshost not defined';
|
||||
}
|
||||
|
||||
use lib "/var/www/copri-bike/$syshost/src";
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Lib::Config;
|
||||
use Mod::Prelib;
|
||||
|
||||
my $cf = new Config;
|
||||
my %varenv = $cf->envonline();
|
||||
my $pl = new Prelib;
|
||||
|
||||
my $longterm_ctadr = $pl->longterm_occupied(\%varenv);
|
|
@ -53,9 +53,10 @@ my $oprefix = $dbt->{operator}->{$varenv{dbname}}->{oprefix} || "";
|
|||
my $record_cc = { c_id => 0 };
|
||||
$record_cc = $dbt->fetch_record($dbh,$pref_cc);
|
||||
my $contact_hotline = "";
|
||||
$record_cc->{txt07} =~ s/\s//g;
|
||||
$record_cc->{txt07} =~ s/[\s\-\/]//g;
|
||||
$contact_hotline = "Hotline $record_cc->{txt01} $record_cc->{txt08}, $record_cc->{txt07}";
|
||||
|
||||
#2024-02-22 substitued by messanger_divers longterm_occupied
|
||||
#SMS message if 24h,48h,72h occupied
|
||||
if($todo eq "24h_occupied"){
|
||||
#select booking pos if state=occupied and start_time > 24h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue