refactoring some methodes

This commit is contained in:
ragu 2023-03-05 20:01:47 +01:00
parent 697a29b97d
commit 729dad2be4
28 changed files with 567 additions and 2323 deletions

View file

@ -27,7 +27,7 @@ use Mod::Buttons;
use Mod::Prelogic;
use Lib::Mlogic;
use Mod::Basework;
use Mod::Premain;
#use Mod::Premain;
use Mod::DBtank;
use Mod::Libenzdb;
use Mod::APIfunc;
@ -46,7 +46,7 @@ sub handler {
my $ml = new Mlogic;
my $bw = new Basework;
my $pre = new Prelogic;
my $pm = new Premain;
#my $pm = new Premain;
my $tk = new Shareework;
my $dbt = new DBtank;
my $db = new Libenzdb;
@ -182,7 +182,7 @@ sub handler {
#create_account. 2. inserts contentadr
my $tinkc_id = $tk->create_account($aowner);
($returnwww,$feedb) = $tk->save_account($tinkc_id,\%varenv,$aowner);
($returnwww,$feedb) = $tk->save_account($q,$tinkc_id,\%varenv,$aowner);
#Like login_sharee, redundant
my $hw_id = unpack ('H*', pack('Nc', time, $$ % 0xff));#old $co
@ -316,66 +316,93 @@ sub handler {
#permissions
#DMS Kunden rw
if($R::base_edit && $node_meta->{ct_table} eq "contentadr"){
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}|$R::c_id with: $R::base_edit","","");
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
my $users_dms_primary = { u_id => 0 };
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
if($R::c_id && $R::base_edit eq "remove_chk4rel"){
my $delete_key = "delete_content";
$delete_key = "delete_adr";
if($users_dms_primary->{u_id} && $users_dms_primary->{int02} == 2 && $users_dms->{u_id} && $users_dms->{int02} == 2){
if($R::c_id && $R::base_edit eq "remove_chk4rel"){
my $delete_key = "delete_adr";
$return = "failure::Datensatz wirklich löschen. ::?base_edit=$delete_key\&exit_box2=1\&c_id=$R::c_id ::löschen";
}elsif($users_dms_primary->{u_id} && $users_dms_primary->{int02} == 2 && $users_dms->{u_id} && $users_dms->{int02} == 2 && $R::c_id && $R::base_edit eq "save_adr"){
($returnwww,$feedb) = $tk->save_account($R::c_id,\%varenv,$users_dms->{u_id});
}elsif($users_dms_primary->{u_id} && $users_dms_primary->{int02} == 2 && $users_dms->{u_id} && $users_dms->{int02} == 2 && $R::c_id && $R::base_edit eq "delete_adr"){
}elsif($R::c_id && $R::base_edit eq "delete_adr"){
$return = $tk->delete_account($R::c_id,$users_dms->{u_id});
}elsif($R::c_id && $R::base_edit eq "save_adr"){
($returnwww,$feedb) = $tk->save_account($q,$R::c_id,\%varenv,$users_dms->{u_id});
}
}else{
$return = "failure::Abbruch. Schreibender Zugriff \"Kunden Stammdaten\" verweigert.";
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"Kunden Stammdaten\" verweigert.";
}
}
#DMS users accounts
if($R::base_edit && $node_meta->{ct_table} eq "users"){#DMS-Account rw
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table} with: $R::base_edit","","");
if($R::u_id && $R::base_edit eq "remove_chk4rel"){#users
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
if($users_dms->{u_id} && $users_dms->{int07} == 2){
if($R::u_id && $R::base_edit eq "remove_chk4rel"){#users
my $delete_key = "delete_dmsusers";
$return = "failure::Datensatz wirklich löschen. ::?base_edit=$delete_key\&exit_box2=1\&u_id=$R::u_id ::löschen";
}elsif($users_dms->{int07} == 2 && ($R::u_id || $R::c_idadr) && $R::base_edit =~ /_dmsusers/){
}elsif(($R::u_id || $R::c_idadr) && $R::base_edit =~ /_dmsusers/){
my $u_id = $1 if($R::u_id && $R::u_id =~ /(\d+)/);
$u_id = $1 if($R::c_idadr && $R::c_idadr =~ /(\d+)/ && $R::base_edit eq "new_dmsusers");
$return = $tk->manage_dmsusers($R::base_edit,$u_id,$users_dms);
$return = $tk->manage_dmsusers($q,$R::base_edit,$u_id,$users_dms);
}
}else{
$return = "failure::Abbruch. Schreibender Zugriff \"DMS-Account\" verweigert.";
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"DMS-Account\" verweigert.";
}
}
#DMS Waren || Einstellung/Service* rw
if(($node_meta->{ct_table} eq "content" || $node_meta->{ct_table} eq "contentuser") && $R::main_id && $R::main_id >= 200000){
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}|$R::main_id with: $R::rel_edit","","");
if(($node_meta->{ct_table} eq "content" && $users_dms->{int01} == 2) || ($node_meta->{ct_table} eq "contentuser" && $users_dms->{int08} == 2)){
if($R::rel_edit eq "save_relation"){
#DMS Waren
if($node_meta->{ct_table} eq "content"){
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
if($users_dms->{u_id} && $users_dms->{int01} == 2){
if($R::rel_edit eq "save_relation" && $R::main_id && $R::main_id >= 200000){
$return = $pl->save_relation($q,$R::main_id,$users_dms->{u_id});
}elsif($R::rel_edit eq "delete_relation"){
}elsif($R::rel_edit eq "delete_relation" && $R::main_id && $R::main_id >= 200000){
$return = $pl->delete_relation($q,$R::main_id,$users_dms->{u_id});
}elsif($R::rel_edit eq "new_relation"){
}elsif($R::rel_edit eq "new_relation" && $R::main_id && $R::main_id >= 200000){
$return = $pl->new_relation($q,$R::main_id,$users_dms->{u_id});
}elsif($R::rel_edit eq "save_ctuser"){
$return = $pl->save_service_desc($q,$R::c_id,$users_dms);
}elsif($R::base_edit eq "new_contentcms"){
$feedb = $pl->new_contentcms($q,$users_dms);
}elsif($R::base_edit eq "save_contentcms"){
}elsif($R::base_edit eq "new_content" && $R::main_id && $R::main_id >= 200000){
$feedb = $pl->new_content($q,$users_dms);
}elsif($R::base_edit eq "save_content"){
$feedb = $pl->save_content($q,$users_dms,$node_meta,$R::c_id) if(looks_like_number($R::c_id));
}elsif($R::rel_edit){
$return = $pm->maininit($users_dms);
}elsif($R::c_id && $R::base_edit eq "remove_chk4rel"){
my $delete_key = "delete_content";
$feedb->{message} = "failure::Datensatz wirklich löschen. ::?base_edit=$delete_key\&exit_box2=1\&c_id=$R::c_id ::löschen";
}elsif($R::c_id && $R::base_edit eq "delete_content"){
$feedb = $pl->delete_content($node_meta,$R::c_id);
#}elsif($R::rel_edit){
#$return = $pm->maininit($users_dms);
}
}elsif($R::rel_edit){
$return = "failure::Abbruch. Schreibender Zugriff \"Waren Stammdaten\" verweigert.";
}else{
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"Waren Stammdaten\" verweigert.";
}
}
#Einstellung
if($node_meta->{ct_table} eq "contentuser"){
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
if($users_dms->{u_id} && $users_dms->{int08} == 2){
if($R::rel_edit eq "save_ctuser" && $R::main_id && $R::main_id >= 200000){
$return = $pl->save_service_desc($q,$R::c_id,$users_dms);
}elsif($R::base_edit eq "new_contentcms" && $R::main_id && $R::main_id >= 200000){
$feedb = $pl->new_content($q,$users_dms);
}elsif($R::base_edit eq "save_contentcms" && $R::main_id && $R::main_id >= 200000){
$feedb = $pl->save_content($q,$users_dms,$node_meta,$R::c_id) if(looks_like_number($R::c_id));
}elsif($R::c_id && $R::base_edit eq "remove_chk4rel"){
my $delete_key = "delete_contentuser";
$feedb->{message} = "failure::Datensatz wirklich löschen. ::?base_edit=$delete_key\&exit_box2=1\&c_id=$R::c_id ::löschen";
}elsif($R::c_id && $R::base_edit eq "delete_contentuser"){
$feedb = $pl->delete_content($node_meta,$R::c_id);
}
}else{
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"Einstellung\" verweigert.";
}
}
#DMS Faktura
if($node_meta->{ct_table} eq "contenttrans"){
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}|$R::c_id4trans,$R::tpl_id4trans with: $R::ct_trans","","");
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
my $users_dms_primary = { u_id => 0 };
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03 >= 1");
@ -395,14 +422,15 @@ sub handler {
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){
if($R::ct_trans ne "open" && looks_like_number($R::c_id4trans) && !$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($users_dms,$lang);#transactions logic
}
}elsif($R::ct_trans){
$return = "failure::Abbruch. Schreibender Zugriff \"Faktura\" verweigert.";
$feedb->{message} = "failure::Abbruch. Schreibender Zugriff \"Faktura\" verweigert.";
}
}
@ -426,11 +454,11 @@ sub handler {
#save_account. 3. updates contentadr
if($users_sharee->{c_id} && $R::sharee_edit && $R::sharee_edit =~ /save_account/){
($returnwww,$feedb) = $tk->save_account($users_sharee->{c_id},\%varenv,$aowner);
($returnwww,$feedb) = $tk->save_account($q,$users_sharee->{c_id},\%varenv,$aowner);
}
if($users_sharee->{c_id} && $R::sharee_edit && $R::sharee_edit =~ /save_transact/){
$returnwww = $tk->save_transact($users_sharee->{c_id},$coo,$aowner);
$returnwww = $tk->save_transact($q,$users_sharee->{c_id},$coo,$aowner);
}
if($returnwww && $returnwww =~ /failure::(.*)/){
@ -484,9 +512,10 @@ sub handler {
$update_adr->{txt23} = "";
$update_adr->{ct_name} = $q->escapeHTML($R::pseudocardpan);
$update_adr->{txt27} = $q->escapeHTML($R::status);
$update_adr->{txt28} = $now_dt . " pseudocardpan\n" . $q->escapeHTML($payone_return);
$update_adr->{txt28} = $now_dt . "\n" . $q->escapeHTML($payone_return);
$update_adr->{int12} = 0 if($users_sharee->{int12} != 2);#Vde hard set by fibu
$update_adr->{int03} = 2;
$update_adr->{int24} = "null";#cpdate reset
$dbt->update_record($dbh,$update_adr,$users_sharee) if($users_sharee->{c_id} > 0);
($api_return,$users_sharee) = $apif->auth_verify($q,$coo,"");
@ -810,7 +839,7 @@ sub handler {
}elsif($return =~ /failure::/){
$feedb->{message} = $return;
}
$ml->tpl($node_meta,$users_dms,$mode,\%varenv,$users_sharee,$feedb);
$ml->tpl($q,$node_meta,$users_dms,$mode,\%varenv,$users_sharee,$feedb);
if(ref($api_return) eq "HASH" && $api_return->{response_text}){
print<<EOF