mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-10 14:06:26 +02:00
Extend operator dms-account management
This commit is contained in:
parent
b2dce25de8
commit
6212b1aefb
18 changed files with 840 additions and 552 deletions
|
@ -11,12 +11,14 @@ use CGI ':standard';
|
|||
use Config::General;
|
||||
use Mod::Buttons;
|
||||
use Mod::Basework;
|
||||
use Mod::Shareework;
|
||||
use Mod::Libenz;
|
||||
use Mod::DBtank;
|
||||
use POSIX;
|
||||
use Data::Dumper;
|
||||
|
||||
my $bw = new Basework;
|
||||
my $shwo = new Shareework;
|
||||
my $lb = new Libenz;
|
||||
my $dbt = new DBtank;
|
||||
my $but = new Buttons;
|
||||
|
@ -55,6 +57,7 @@ sub tpl(){
|
|||
my $view_root = $viewsel[0] || "";
|
||||
my $parent_id = $node_meta->{parent_id};
|
||||
my $main_id = $node_meta->{main_id};
|
||||
my $red = "#c83434";
|
||||
|
||||
my $coprihome = "c o p r i ";
|
||||
$coprihome .= " <span style='font-size:0.71em;'>home</span>" if($dbt->{primary}->{$varenv->{dbname}}->{title});
|
||||
|
@ -65,9 +68,114 @@ sub tpl(){
|
|||
$title .= $dbt->{website}->{$varenv->{syshost}}->{title} if($dbt->{website}->{$varenv->{syshost}}->{title});
|
||||
$title .= " (devel $varenv->{dbname})" if($dbt->{copri_conf}->{stage} eq "test");
|
||||
|
||||
#Ack codes or pw renew-prompt
|
||||
if($users_dms->{u_id} && $users_sharee->{c_id} && (!$users_sharee->{int04} || !$users_sharee->{int13} || $users_sharee->{int06})){
|
||||
print "<div style='position:fixed;z-index:10;right:0px;'>\n";
|
||||
print $q->div({-id=>'Headerlogin'},$q->a({-class=>'elinkbutton1',-href=>"$dbt->{primary}->{sharee_primary}->{primaryApp}",-target=>'_blank'},"$users_sharee->{txt08} "), $q->span({-id=>"owner", -style=>"color:silver"}, "($users_dms->{u_id})")),"\n";
|
||||
print $q->div({-id=>'Headerlogin'},$q->a({-href=>"logout",-title=>'logout'},$q->span({-class=>"bi bi-door-open", -style=>'font-size:1em;color:white;padding-right:1em;'}))),"\n";
|
||||
print "</div>\n";
|
||||
|
||||
###User Panel
|
||||
if($users_dms->{u_id}){
|
||||
print "<div id='ContentLogin'>\n";
|
||||
print $q->start_multipart_form(-id=>'authform', -name=>'loginscreen'),"\n";
|
||||
print $q->hidden(-name=>"merchant_id",-override=>1,-value=>"$varenv->{merchant_id}") if($varenv->{merchant_id});
|
||||
print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid") if($R::sessionid);
|
||||
|
||||
print "<div class='form-group'>\n";
|
||||
print $q->div({-class=>'content2', -nowrap=>1}, $q->img({ -style=>"height:25px",-src=>"$varenv->{head_logo}"}),"Operator Login – $title"),"\n";
|
||||
|
||||
#pw renewe-prompt
|
||||
if($users_sharee->{int06}){
|
||||
my $key = "txt04";
|
||||
my $des = $varenv->{cms}->{"iframe-form-302.$key"}->{txt};
|
||||
my $label_des="* $des";
|
||||
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-renew-pw'}->{txt}"),"\n";
|
||||
|
||||
if($R::failure && $R::failure =~ /confirm_txt04/){
|
||||
$label_des = "<span style=color:$red>$varenv->{cms}->{'iframe-repeat-pw-failure'}->{txt}</span>";
|
||||
}
|
||||
print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$label_des"),"\n";
|
||||
print "<input id='$key' type='password' class='form-control' name='$key' value='' override required autofocus /><br />\n";
|
||||
print $q->label({-for=>"confirm_$key"},"* $varenv->{cms}->{'iframe-repeat-pw'}->{txt}"),"\n";
|
||||
print "<input id='confirm_$key' type='password' class='form-control' name='confirm_$key' value='' override required />\n";
|
||||
print $q->div({-style=>'text-align:left;color:grey;'}, "<input type='checkbox' onclick='show_passwd()'>", "$varenv->{cms}->{'iframe-show-pw'}->{txt}"),"\n";
|
||||
print $q->div({-style=>'margin-top:2em;text-align:center;'},"<button type='submit' name='sharee_edit' value='save_account' class='btn btn-primary btn-lg btn-block ebutton4' style='width:300px;'>Passwort speichern</button>"),"\n";
|
||||
|
||||
}elsif(!$users_sharee->{int04} || !$users_sharee->{int13}){
|
||||
my $acktext = "$varenv->{cms}->{'iframe-confirmation-codes-sent'}->{txt}";
|
||||
$acktext = "$varenv->{cms}->{'iframe-sms-confirmation-code-sent'}->{txt}" if($users_sharee->{int04} && !$users_sharee->{int13});
|
||||
$acktext = "$varenv->{cms}->{'iframe-email-confirmation-code-sent'}->{txt}" if(!$users_sharee->{int04} && $users_sharee->{int13});
|
||||
print $q->div({-class=>'content2'}, "$acktext $varenv->{cms}->{'iframe-successful-confirmation'}->{txt}"),"\n";
|
||||
if(!$users_sharee->{int04}){
|
||||
my $des = "$varenv->{cms}->{'iframe-email-code'}->{txt}";
|
||||
my $key = "confirm_code";
|
||||
my $label_des="* $des";
|
||||
$varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/;
|
||||
$label_des = "<span style=color:$red>$varenv->{cms}->{'iframe-correct-input'}->{txt}</span>" if($R::failure);
|
||||
print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n";
|
||||
print "<input id='$key' type='text' class='form-control' name='$key' value='' autofocus/>\n";
|
||||
print $q->div({-class=>'content2'}, " $varenv->{cms}->{'iframe-if-email-code-not-received'}->{txt}",$q->a({-class=>'elinkbutton4',-href=>"$varenv->{wwwhost}?sharee_edit=send_email"},"$varenv->{cms}->{'iframe-request-email-code'}->{txt}")),"\n";
|
||||
}else{
|
||||
print $q->div({-class=>'content2', -style=>'color:gray;'}, "* $varenv->{cms}->{'iframe-email-code-already-entered'}->{txt}"),"\n";
|
||||
}
|
||||
if(!$users_sharee->{int13}){
|
||||
my $des = "$varenv->{cms}->{'iframe-sms-code'}->{txt}";
|
||||
my $key = "confirm_smscode";
|
||||
my $label_des="* $des";
|
||||
$varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/;
|
||||
$label_des = "<span style=color:$red>$varenv->{cms}->{'iframe-correct-input'}->{txt}</span>" if($R::failure);
|
||||
print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n";
|
||||
print "<input id='$key' type='text' class='form-control' name='$key' value='' autofocus />\n";
|
||||
print $q->div({-class=>'content2'}, " $varenv->{cms}->{'iframe-if-sms-code-not-received'}->{txt}",$q->a({-class=>'elinkbutton4',-href=>"$varenv->{wwwhost}?sharee_edit=send_sms"},"$varenv->{cms}->{'iframe-request-sms-code'}->{txt}")),"\n";
|
||||
}else{
|
||||
print $q->div({-class=>'content2', -style=>'color:gray;'}, "* $varenv->{cms}->{'iframe-sms-code-already-entered'}->{txt}"),"\n";
|
||||
}
|
||||
print $q->div({-style=>'margin-top:2em;text-align:center;'},"<button type='submit' name='confirm_userid' value='$users_sharee->{c_id}' class='btn btn-primary btn-lg btn-block ebutton4' style='width:300px;'>Weiter</button>"),"\n";
|
||||
}
|
||||
print "</div>\n";
|
||||
print $q->end_form,"\n";
|
||||
print "</div>";
|
||||
}
|
||||
#mainlogin
|
||||
elsif(!$users_dms->{u_id}){
|
||||
|
||||
print "<div id='ContentLogin'>\n";
|
||||
print $q->start_multipart_form(-id=>'authform', -name=>'loginscreen'),"\n";
|
||||
print $q->hidden(-name=>"merchant_id",-override=>1,-value=>"$varenv->{merchant_id}") if($varenv->{merchant_id});
|
||||
print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid") if($R::sessionid);
|
||||
|
||||
print "<div class='form-group'>\n";
|
||||
print $q->div({-class=>'content2', -nowrap=>1}, $q->img({ -style=>"height:25px",-src=>"$varenv->{head_logo}"}),"Operator Login – $title"),"\n";
|
||||
|
||||
#ask email
|
||||
if($R::coccessor eq "pwmail"){
|
||||
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-we-need-email'}->{txt}"),"\n";
|
||||
print $q->label({-for=>'E-Mail'},""),"\n";
|
||||
print $q->textfield(-class=>'form-control', -name=>'email', -value=>'', -override=>1, -type=>'email',-class=>'form-control', -id=>'Email', -placeholder=>'E-Mail Adresse', -required=>1, -autofocus=>1),"\n";
|
||||
|
||||
print $q->div({-style=>'margin-top:1em;text-align:center;'},"<button type='submit' name='sharee_edit' value='password_forgotten' class='btn btn-primary btn-lg btn-block ebutton4'>$varenv->{cms}->{'iframe-send-pw-email'}->{txt}</button>"),"\n";
|
||||
|
||||
|
||||
}
|
||||
#login
|
||||
else{
|
||||
print $q->div({-style=>'color:#c83434'},"Login failure"),"\n" if("$R::login_dms" eq "Login" && !$users_dms->{u_id});
|
||||
if($R::sharee_edit eq "password_forgotten"){
|
||||
$varenv->{cms}->{'iframe-email-sent'}->{txt} =~ s/::email::/$R::email/;
|
||||
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-email-sent'}->{txt}"),"\n";
|
||||
}
|
||||
print $q->label({-for=>'Userid'},""),"\n";
|
||||
print $q->textfield(-class=>'form-control', -name=>'user_id', -value=>'', -override=>1, -type=>'email',-class=>'form-control', -id=>'Userid', -placeholder=>'NutzerIn', -required=>1, -autofocus=>1),"\n";
|
||||
print $q->label({-for=>'PW'},""),"\n";
|
||||
print $q->password_field(-class=>'form-control', -name=>'user_pw', -value=>'', -override=>1, -type=>'password',-class=>'form-control', -id=>'PW', -placeholder=>'Passwort', -required=>1),"\n";
|
||||
print $q->div({-style=>'margin:1em 0;'},"<button type='submit' name='login_dms' value='Login' class='btn btn-primary btn-lg btn-block ebutton4' style='width:300px;'>Login</button>"),"\n";
|
||||
|
||||
print $q->div({-class=>'content2'},$q->a({-class=>'elinkbutton4', -href=>"?coccessor=pwmail"}, "Neues Passwort anfordern")),"\n";
|
||||
}
|
||||
print "</div>\n";
|
||||
print $q->end_form,"\n";
|
||||
print "</div>";
|
||||
}
|
||||
elsif($users_dms->{u_id} && $main_id){
|
||||
|
||||
###header start
|
||||
print "<div style='position:fixed;z-index:10;left:0px;width:100%;height:24px;background-color:#5c5c5c;'>\n";
|
||||
|
@ -95,44 +203,13 @@ sub tpl(){
|
|||
print $q->div({-id=>'Headerlogin',-style=>"background-color:#f7ae37;"},$q->a({-class=>'elinkbutton1',-title=>"Faktura Terminal öffnen",-href=>"$varenv->{wwwhost}/DMS/Faktura?ct_trans=open\&c_id4trans=$users_dms->{c_id4trans}\&tpl_id4trans=$users_dms->{tpl_id4trans}\&owner=$users_dms->{owner}\&offset=$offset\&limit=$limit\&relids=$R::relids\&no_redirect=1"}," Faktura \#$ctrel->{ct_name} $ctrel->{txt01}", $q->span({-id=>"c_id4trans", -style=>"color:#f7ae37"}, "$users_dms->{c_id4trans}"))) if($ctrel->{ct_name});
|
||||
}
|
||||
|
||||
print $q->div({-id=>'Headerlogin'},"$users_sharee->{txt08} ", $q->span({-id=>"owner", -style=>"color:silver"}, "($users_dms->{u_id})")),"\n";
|
||||
print $q->div({-id=>'Headerlogin'},$q->a({-class=>'elinkbutton1',-href=>"$dbt->{primary}->{sharee_primary}->{primaryApp}",-target=>'_blank'},"$users_sharee->{txt08} "), $q->span({-id=>"owner", -style=>"color:silver"}, "($users_dms->{u_id})")),"\n";
|
||||
print $q->div({-id=>'Headerlogin'},$q->a({-href=>"logout",-title=>'logout'},$q->span({-class=>"bi bi-door-open", -style=>'font-size:1em;color:white;padding-right:1em;'}))),"\n";
|
||||
print "</div>";
|
||||
print "</div>";
|
||||
}
|
||||
#end user panel
|
||||
###header end
|
||||
###header end
|
||||
|
||||
|
||||
#Mainlogin
|
||||
if(!$users_dms->{u_id}){
|
||||
|
||||
print "<div id='ContentLogin'>\n";
|
||||
|
||||
print $q->start_multipart_form(-id=>'authform', -name=>'loginscreen'),"\n";
|
||||
print $q->hidden(-name=>"merchant_id",-override=>1,-value=>"$varenv->{merchant_id}") if($varenv->{merchant_id});
|
||||
print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid") if($R::sessionid);
|
||||
|
||||
print "<div class='form-group'>\n";
|
||||
#Login
|
||||
print $q->div({-class=>'content2', -nowrap=>1}, $q->img({ -style=>"height:25px",-src=>"$varenv->{head_logo}"}),"Operator Login – $title"),"\n";
|
||||
print $q->div({-style=>'color:#c83434'},"Login failure"),"\n" if("$R::login_dms" eq "Login" && !$users_dms->{u_id});
|
||||
print $q->label({-for=>'Userid'},""),"\n";
|
||||
print $q->textfield(-class=>'form-control', -name=>'user_id', -value=>'', -override=>1, -type=>'email',-class=>'form-control', -id=>'Userid', -placeholder=>'NutzerIn', -required=>1, -autofocus=>1),"\n";
|
||||
print $q->label({-for=>'PW'},""),"\n";
|
||||
print $q->password_field(-class=>'form-control', -name=>'user_pw', -value=>'', -override=>1, -type=>'password',-class=>'form-control', -id=>'PW', -placeholder=>'Passwort', -required=>1),"\n";
|
||||
print $q->div({-style=>'margin-top:1em;'},"<button type='submit' name='login_dms' value='Login' class='btn btn-primary btn-lg btn-block'>Login</button>"),"\n";
|
||||
|
||||
print "</div>\n";
|
||||
print $q->end_form,"\n";
|
||||
#print $q->span({-style=>'color:white;'},"merchant_id:$varenv->{merchant_id}"),"\n";
|
||||
print "</div>";
|
||||
|
||||
exit 0;
|
||||
}
|
||||
|
||||
if($users_dms->{u_id} && $main_id){
|
||||
|
||||
|
||||
if($main_id >= "100000"){
|
||||
my $mstyle="";
|
||||
|
||||
|
@ -294,7 +371,7 @@ sub tpl(){
|
|||
}
|
||||
|
||||
$debug = "syshost: $varenv->{syshost}, merchant_id: $varenv->{merchant_id}, (c_id4trans:$users_dms->{c_id4trans} && tpl_id4trans:$users_dms->{tpl_id4trans}) $node_meta->{tpl_name},$node_meta->{tpl_id},$node_meta->{ct_table},$parent_id,$main_id, permissions: ($users_dms->{int01},$users_dms->{int02},$users_dms->{int03},$users_dms->{int07},$users_dms->{int08},$users_dms->{int09})" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
||||
print $q->div({-style=>'position:fixed;bottom:0%;right:1%;z-index:10;padding:2px;font-size:13px;'},"$debug",$q->a({-style=>'color:black;text-decoration: none;',-href=>'https://sharee.bike',-target=>'_blank'},"sharee.bike © TeilRad GmbH 2023")),"\n";
|
||||
print $q->div({-style=>'position:fixed;bottom:0%;right:1%;z-index:10;padding:2px;font-size:13px;'},"$debug",$q->a({-style=>'color:black;text-decoration: none;',-href=>'https://sharee.bike',-target=>'_blank'},"sharee.bike © TeilRad GmbH 2024")),"\n";
|
||||
|
||||
print $q->div({-style=>'padding: 30px 0 0 0;'}, ""), "\n";
|
||||
$self->tplselect($node_meta,$users_dms,$mode,$varenv,$feedb);
|
||||
|
@ -338,7 +415,7 @@ sub tplselect(){
|
|||
$feedb = &Liste3::tpl($node_meta,$users_dms,$mode,$feedb);
|
||||
}elsif($node_meta->{ct_table} =~ /contenttranspos|contenttheftpos/){
|
||||
require "Tpl/Calorin.pm";
|
||||
&Calorin::tpl($node_meta,$users_dms,$mode,$feedb);
|
||||
&Calorin::tpl($node_meta,$users_dms,$feedb);
|
||||
}
|
||||
#print Dumper($feedb);
|
||||
#exit;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue