Adding payment-type prepaid and refactoring payment selection.

This commit is contained in:
ragu 2023-09-22 07:15:38 +02:00
parent e7959e2da9
commit b6100696a5
15 changed files with 154 additions and 152 deletions

View file

@ -90,7 +90,7 @@ sub tplselect(){
&FormEdit::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
}elsif($tpl_id == 308){
require "Tpl/PayoneSelect.pm";
&PayoneSelect::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
&PayoneSelect::tpl($q,$node_meta,$users_dms,$varenv,$users_sharee,$feedb);
}elsif($tpl_id == 197){
require "Tpl/Contact.pm";
&Contact::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);

View file

@ -9,8 +9,7 @@ use POSIX;
use CGI ':standard';
use Lib::Config;
use Mod::Buttons;
use Mod::Libenz;
use Mod::Libenzdb;
use Mod::Basework;
use Mod::DBtank;
sub new {
@ -25,7 +24,6 @@ sub tpl(){
my $self = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $feedb = shift || "";
@ -33,11 +31,10 @@ sub tpl(){
my $q = new CGI;
my $cf = new Config;
my $but = new Buttons;
my $lb = new Libenz;
my $db = new Libenzdb;
my $bw = new Basework;
my $dbt = new DBtank;
my $lang = "de";
my $dbh = "";
my $script = $q->script_name();
my $path_info = $q->path_info();
my $path = $path_info;
@ -74,10 +71,9 @@ sub tpl(){
#payable check
my $payable_check=0;
if(($users_sharee->{int03} == 1 && $users_sharee->{ct_name} =~ /\w{2}-\d+/) || ($users_sharee->{int03} == 2 && length($users_sharee->{ct_name}) >= 19)){
$payable_check=1;
}
my $node1 = $db->collect_node($node_meta->{parent_id},$lang,"1");
$payable_check = $bw->isuser_rentable($users_sharee,$varenv);
my ($node1,$rows) = $dbt->collect_node($dbh,$node_meta->{parent_id});
my $margin_top = "0";
if($dbt->{website}->{$varenv->{syshost}}->{layout} eq "iframe"){

View file

@ -224,7 +224,7 @@ EOF
}
#subMenue--------
$submenu->tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
$submenu->tpl($node_meta,$users_dms,$varenv,$users_sharee,$feedb);
#-----------------
my $catch_failure=0;
@ -642,16 +642,24 @@ EOF
if($key =~ /int03/){
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-choose-payment-method'}->{txt}"),"\n";
my $checked_sepa = "";
my $checked_creditcard = "";
my $checked_prepaid = "";
my $incasso="1";
my $creditcard="2";
my $checked_incasso;
my $checked_creditcard;
$checked_incasso=1 if($ctrel->{$key} == 1 || $ctrel->{$key} == 3);
$checked_creditcard=2 if($ctrel->{$key} == 2);
print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$incasso","$checked_incasso",$q->img({-id=>"pic-payment" ,-style=>'height:50px;', -title=>'Abbuchung',-src=>"$varenv->{metahost}/img/payment-incasso2.png"}))),"\n";
print $q->div({ -class=>'radio', -style=>'padding-bottom:20px;' },$but->radiobox_vertical("$key","$creditcard","$checked_creditcard",$q->img({-id=>"pic-payment" ,-style=>'height:30px;', -title=>'Kreditkarte', -src=>"$varenv->{metahost}/img/payment-creditcard2.png"}))),"\n";
print $q->hidden(-name=>"$key",-override=>1,-value=>"null");
foreach my $p_id (sort keys (%{ $dbt->{copri_conf}->{payment_type} })) {
$checked_sepa = 1 if($ctrel->{$key} == 1);
$checked_creditcard = 2 if($ctrel->{$key} == 2);
$checked_prepaid = 3 if($ctrel->{$key} == 3);
if($p_id == 1){
print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$p_id","$checked_sepa",$q->img({-id=>"pic-payment" ,-style=>'height:50px;', -title=>"$dbt->{copri_conf}->{payment_type}->{$p_id}",-src=>"$varenv->{metahost}/img/payment-incasso2.png"}))),"\n";
}elsif($p_id == 2){
print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$p_id","$checked_creditcard",$q->img({-id=>"pic-payment" ,-style=>'height:25px;', -title=>"$dbt->{copri_conf}->{payment_type}->{$p_id}",-src=>"$varenv->{metahost}/img/payment-creditcard2.png"}))),"\n";
}elsif($p_id == 3){
print $q->div({ -class=>'radio', -style=>'padding-top:25px;' },$but->radiobox_vertical("$key","$p_id","$checked_prepaid","<span style='padding-left:25px;font-size:1.2em;'>Prepaid</span>")),"\n" if($ctrel->{c_id} =~ /$dbt->{copri_conf}->{contributors}/);#testing by contributors
}
}
print $q->hidden(-name=>"$key",-override=>1,-value=>"null");
}
}

View file

@ -24,10 +24,9 @@ sub tpl(){
my $tpl_id = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $return = shift || "";
my $feedb = shift || "";
my $q = new CGI;
my $lb = new Libenz;

View file

@ -7,9 +7,8 @@ use strict;
use warnings;
use POSIX;
use CGI ':standard';
use Lib::Config;
use Mod::Buttons;
use Mod::Libenz;
use Mod::Basework;
use Mod::Shareework;
use Mod::DBtank;
use Sys::Hostname;
@ -27,14 +26,12 @@ sub tpl(){
my $tpl_id = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $return = shift || "";
my $feedb = shift || "";
my $q = new CGI;
my $cf = new Config;
my $lb = new Libenz;
my $bw = new Basework;
my $tk = new Shareework;
my $dbt = new DBtank;
my $but = new Buttons;
@ -42,23 +39,15 @@ sub tpl(){
$q->import_names('R');
my @keywords = $q->param;
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 $dbh = "";
my $now_dt = strftime "%Y-%m-%d %H:%M", localtime;
my @viewsel = split /\//,$1 if($path =~ /^\/(.*)/);
my $bgcolor1 = "009899";#sharee
$bgcolor1 = $dbt->{website}->{$varenv->{syshost}}->{bgcolor1} if($dbt->{website}->{$varenv->{syshost}}->{bgcolor1});
$bgcolor1 = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{bgcolor1} if($dbt->{merchant_ids}->{$varenv->{merchant_id}}->{bgcolor1});
my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid;
my $ctadr = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id});
my $payable_check=0;
$payable_check = $bw->isuser_rentable($ctadr,$varenv);
my $tpl = $dbt->get_tpl($dbh,$tpl_id);
my @tpl_order = split /,/,$tpl->{tpl_order};
@ -70,12 +59,13 @@ sub tpl(){
print "<div class='form-group' style='clear:both;'>\n";
print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-bank-account'}->{txt}"),"\n";
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-sepa-mandat-prolog'}->{txt}"),"\n";
#print $q->div({-class=>'content2'}, "Zur Validierung Ihrer Zahlungsdaten wird eine 1,- € Testbuchung vorgenommen. Wir werden nach erfolgreicher Abbuchung den Betrag als Mietgutschrift in Ihrem Account hinterlegen."),"\n";
#SEPA
if($tpl_id == 309){
print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-bank-account'}->{txt}"),"\n";
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-sepa-mandat-prolog'}->{txt}"),"\n";
#print $q->div({-class=>'content2'}, "Zur Validierung Ihrer Zahlungsdaten wird eine 1,- € Testbuchung vorgenommen. Wir werden nach erfolgreicher Abbuchung den Betrag als Mietgutschrift in Ihrem Account hinterlegen."),"\n";
foreach (@tpl_order){
foreach (@tpl_order){
my ($key,$des,$size) = split /=/,$_;
$ctadr->{$key} = $q->unescapeHTML("$ctadr->{$key}");
@ -99,12 +89,10 @@ sub tpl(){
print "<input id='$key' type='text' class='form-control' name='$key' override=1 value='$ctadr->{$key}' placeholder='$des' $required />\n";
#------------------------
}elsif($key =~ /int03/ && $size eq "checkbox"){
if($ctadr->{$key} != 1){
}elsif($key =~ /int03/ && $size eq "checkbox"){
if(!$payable_check){
my $int03 = "";
$int03 = $ctadr->{$key} if($ctadr->{$key} == 1);
#$int03 = $ctadr->{$key} if($ctadr->{$key} == 1);
print $q->div({-style=>'margin:10px 0;'},"$varenv->{cms}->{'iframe-sepa-mandat'}->{txt}"),"\n";
if($ctadr->{txt27} !~ /active|pending/ && $R::failure eq $key){
@ -115,20 +103,9 @@ sub tpl(){
my $des = "$varenv->{cms}->{'iframe-sepa-mandat-accept'}->{txt}";
print $q->div({-id=>"$key"},$but->checkbox("1","$key","$int03","","$required"), " $des"),"\n";
}else{
#2022-08-08 disabled because of decoding, anyway, pdf should be enough
if(1==2 && $ctadr->{txt28} =~ /SEPA-Lastschriftmandat/){
print $q->div({-class=>'content2'}, ""),"\n";
$ctadr->{txt28} = $q->unescapeHTML("$ctadr->{txt28}");
use URI::Encode qw(uri_encode uri_decode);
$ctadr->{txt28} = uri_decode($ctadr->{txt28});
$ctadr->{txt28} =~ s/\+/ /g;
print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;'},$ctadr->{txt28}),"\n";
}
#if payone fails/error
if($ctadr->{txt27} =~ /active|pending/){
}else{
#if payone fails/error
if($ctadr->{txt27} =~ /active|pending/){
if($ctadr->{ct_name} && ($ctadr->{ct_name} =~ /PO-/ || $ctadr->{ct_name} =~ /TM-/) && $coo){
my $webtarget = "_blank";
my $dtext = "";
@ -142,21 +119,27 @@ sub tpl(){
}else{
print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;color:#c83434;'},"$varenv->{cms}->{'iframe-mandate-problem'}->{txt}"),"\n";
}
}elsif($ctadr->{txt22}){ #if IBAN but no mandat_status
}elsif($ctadr->{txt22}){ #if IBAN but no mandat_status
print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;color:#c83434;'}, "$varenv->{cms}->{'iframe-mandate-error'}->{txt}"),"\n";
$ctadr->{txt28} = $q->unescapeHTML("$ctadr->{txt28}");
$ctadr->{txt28} = $lb->newline($ctadr->{txt28},"","0");
}
print $q->hidden(-name=>"$key",-override=>1,-value=>"1");
}
}
#--------------------
}
print $q->div({-style=>'margin-top:1em;text-align:center;'},"<button type='submit' name='sharee_edit' value='save_account' class='btn btn-primary btn-lg btn-block' style='border:1px solid #$bgcolor1;background-color:#$bgcolor1;'>$varenv->{cms}->{'iframe-next'}->{txt}</button>"),"\n";
}
}
}
print $q->div({-style=>'margin-top:1em;text-align:center;'},"<button type='submit' name='sharee_edit' value='save_account' class='btn btn-primary btn-lg btn-block' style='border:1px solid #$bgcolor1;background-color:#$bgcolor1;'>$varenv->{cms}->{'iframe-next'}->{txt}</button>"),"\n";
}#end SEPA
#prepay
elsif($tpl_id == 313){
print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-prepay-account'}->{txt}"),"\n";
$varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/\n/<br \/>/g;
$varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/::app_name::/<b>$dbt->{merchant_ids}->{$varenv->{merchant_id}}->{app_name}<\/b>/g;
$varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/::user_id::/<b>$ctadr->{c_id}<\/b>/g;
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-prepay-prolog'}->{txt}"),"\n";
}
print "</div>\n";
print $q->end_form,"\n";

View file

@ -7,8 +7,6 @@ use strict;
use warnings;
use POSIX;
use CGI ':standard';
use Lib::Config;
use Mod::DBtank;
use Tpl::AccountSubmenu;
use Tpl::PayoneSEPA;
use Tpl::PayoneCCclient;
@ -23,52 +21,34 @@ sub new {
#Template
sub tpl(){
my $q = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $feedb = shift || "";
my $q = new CGI;
my $cf = new Config;
my $dbt = new DBtank;
my $submenu = new AccountSubmenu;
my $paySEPA = new PayoneSEPA;
my $payDebit = new PayoneSEPA;
my $payCC = new PayoneCCclient;
$q->import_names('R');
my @keywords = $q->param;
my $dbh = "";
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 $time = time;
my $now_dt = strftime "%Y-%m-%d %H:%M", localtime;
my @viewsel = split /\//,$1 if($path =~ /^\/(.*)/);
print "<div id='Contentapp'>\n";
my $ctrel = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id});
my $tpl = $dbt->get_tpl($dbh,$node_meta->{tpl_id});
print "<div id='Contentapp'>\n";
$submenu->tpl($node_meta,$users_dms,$varenv,$users_sharee,$feedb);
#subMenue--------
$submenu->tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
#-----------------
#Selected Payment
if($ctrel->{int03} == 1 || $ctrel->{int03} == 3){
$paySEPA->tpl("309",$node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
}elsif($ctrel->{int03} == 2){
$payCC->tpl("310",$node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);
#Selected payment-type
if(ref($users_sharee) eq "HASH" && $users_sharee->{int03}){
if($users_sharee->{int03} == 1){
$payDebit->tpl("309",$node_meta,$users_dms,$varenv,$users_sharee,$feedb);
}elsif($users_sharee->{int03} == 2){
$payCC->tpl("310",$node_meta,$users_dms,$varenv,$users_sharee,$feedb);
}elsif($users_sharee->{int03} == 3){
$payDebit->tpl("313",$node_meta,$users_dms,$varenv,$users_sharee,$feedb);
}
}
print "</div>\n";
print "</div>\n";
}
1;