Adding prepaid payment methode and prepaid accounting with api interface

This commit is contained in:
ragu 2024-01-09 07:27:19 +01:00
parent da31898968
commit 2dc53f4087
22 changed files with 815 additions and 236 deletions

View file

@ -94,6 +94,11 @@ if(looks_like_number($adr_id)){
$sendmail = send_invoice($todo,$sendref,$ctadr,$ct_id,$cmstext_select,$with_pdf);
}
#send_payonelink
if($todo eq "send_payonelink"){
$sendmail = send_payonelink($todo,$sendref,$ctadr,$ct_id,$cmstext_select);
}
#send_emailack
if($todo eq "send_emailack"){
$sendmail = send_emailack($todo,$sendref,$ctadr);
@ -219,6 +224,48 @@ sub send_invoice {
return $sendref;
}#end send_invoice
#send_payonelink
sub send_payonelink {
my $todo = shift;
my $sendref = shift;
my $ctadr = shift;
my $ctpos_id = shift;
my $cms_message_key = shift || "";
my $lang = $ctadr->{txt11} || $ctadr->{txt10};
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname},"iso-8859-1");
my $pref_ctu = {
table => "contentuser",
fetch => "one",
c_id => "1",#primary hotline
};
my $uadr = { c_id => 0 };
$uadr = $dbt->fetch_tablerecord($dbh_primary,$pref_ctu);
$varenv{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $lang });
my $pref_pos = {
table => "contenttranspos",
fetch => "one",
ca_id => "$ctadr->{c_id}",
c_id => "$ctpos_id",
};
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});
my $update_pos = {
table => "contenttranspos",
c_id => "$ctpos_id",
};
my $log_stamp = strftime "%d.%m.%Y %H:%M:%S", localtime;
my $mailing_log = $record_pos->{txt25} . "\n- $log_stamp mailing: $cms_message_key";
$dbt->update_one($dbh_primary,$update_pos,"txt25='$mailing_log'");
return $sendref;
}#end send_payonelink
#send_emailack
sub send_emailack {
@ -532,6 +579,8 @@ sub prepare_content {
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);
@ -540,12 +589,14 @@ sub prepare_content {
$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);
$subject .= " $sharee_ticket" if($sharee_ticket && !$payone_link);
$cms_prim =~ s/\n//;
my $signature = <<EOF
@ -579,6 +630,8 @@ EOF
$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;