mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-11 22:37:27 +02:00
beta App api extension with bikes-occupied on bikes-available request. Rental freed-time without rental-count restriction on TR.
This commit is contained in:
parent
60f21a4f85
commit
44d47011af
5 changed files with 85 additions and 38 deletions
|
@ -24,7 +24,6 @@ use Mod::Prelogic;
|
|||
use Lib::Mlogic;
|
||||
use Mod::Basework;
|
||||
use Mod::DBtank;
|
||||
use Mod::Libenzdb;
|
||||
use Mod::APIfunc;
|
||||
use Mod::Shareework;
|
||||
use Mod::Prelib;
|
||||
|
@ -43,7 +42,6 @@ sub handler {
|
|||
my $pre = new Prelogic;
|
||||
my $tk = new Shareework;
|
||||
my $dbt = new DBtank;
|
||||
my $db = new Libenzdb;
|
||||
my $apif = new APIfunc;
|
||||
my $but = new Buttons;
|
||||
my $pl = new Prelib;
|
||||
|
@ -252,8 +250,13 @@ sub handler {
|
|||
if($mode =~ /logout/){
|
||||
if($mode =~ /logout_sharee/){
|
||||
$apif->authout($q,$coo);
|
||||
}else{
|
||||
$db->cook_out($coo);
|
||||
}elsif($users_dms->{u_id}){
|
||||
my $update_users = {
|
||||
table => "users",
|
||||
change => "no_time",
|
||||
u_id => $users_dms->{u_id}
|
||||
};
|
||||
$dbt->update_one($dbh,$update_users,"cookie=''");
|
||||
}
|
||||
print redirect("$varenv{wwwhost}");
|
||||
exit 0;
|
||||
|
@ -265,7 +268,15 @@ sub handler {
|
|||
|
||||
if($R::login_sharee){
|
||||
if($users_sharee->{c_id} && (!$payable_check || ($users_sharee->{txt31} && $tpl->{tpl_order} =~ /$users_sharee->{txt31}/))){
|
||||
my $row = $db->updater("contentadr","c_id","$users_sharee->{c_id}","int12","1") if(!$payable_check);#Vde
|
||||
if(!$payable_check){
|
||||
my $update_adr = {
|
||||
table => "contentadr",
|
||||
mtime => "now()",
|
||||
owner => $aowner,
|
||||
c_id => $users_sharee->{c_id}
|
||||
};
|
||||
$dbt->update_one($dbh,$update_adr,"int12=1");
|
||||
}
|
||||
print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1}$session");
|
||||
exit 0;
|
||||
}elsif($users_sharee->{c_id} && !$payable_check){
|
||||
|
@ -299,6 +310,12 @@ sub handler {
|
|||
|
||||
#DMS & Tools
|
||||
if($varenv{orga} eq "dms" && $users_dms->{u_id}){
|
||||
my $update_users = {
|
||||
table => "users",
|
||||
change => "no_time",
|
||||
u_id => $users_dms->{u_id}
|
||||
};
|
||||
|
||||
if($R::cal_delta_start){
|
||||
use Date::Calc qw(Add_Delta_YMD);
|
||||
my $day = strftime "%d", localtime;
|
||||
|
@ -308,21 +325,21 @@ sub handler {
|
|||
($year,$mon,$day) = split(/-/,$users_dms->{cal_start}) if($users_dms->{cal_start});
|
||||
my ($year1,$mon1,$day1) = split(/:/,$R::cal_delta_start);
|
||||
my ($Dy,$Dm,$Dd) = Add_Delta_YMD($year,$mon,$day, $year1,$mon1,$day1);
|
||||
$db->users_up("cal_start","$Dy-$Dm-$Dd",$users_dms->{u_id});
|
||||
$dbt->update_one($dbh,$update_users,"cal_start='$Dy-$Dm-$Dd'");
|
||||
}
|
||||
if($R::cal_today){
|
||||
my $today4db = strftime("%Y-%m-%d %H:%M",localtime(time));
|
||||
$db->users_up("cal_start","$today4db",$users_dms->{u_id});
|
||||
$dbt->update_one($dbh,$update_users,"cal_start='$today4db'");
|
||||
}
|
||||
if($R::cal_sort_updown){
|
||||
$db->users_up("cal_sort_updown",$R::cal_sort_updown,$users_dms->{u_id});
|
||||
$dbt->update_one($dbh,$update_users,"cal_sort_updown='$R::cal_sort_updown'");
|
||||
}
|
||||
|
||||
if($R::col_sort && $node_meta->{ct_table}){
|
||||
$db->users_up("col_sort_$node_meta->{ct_table}",$R::col_sort,$users_dms->{u_id});
|
||||
$dbt->update_one($dbh,$update_users,"col_sort_$node_meta->{ct_table}='$R::col_sort'");
|
||||
}
|
||||
if($R::sort_updown){
|
||||
$db->users_up("sort_updown_$node_meta->{ct_table}",$R::sort_updown,$users_dms->{u_id});
|
||||
$dbt->update_one($dbh,$update_users,"sort_updown_$node_meta->{ct_table}='$R::sort_updown'");
|
||||
}
|
||||
|
||||
#base_edit implements new DMS methodes without Pre* things
|
||||
|
@ -420,15 +437,20 @@ sub handler {
|
|||
#DMS Faktura
|
||||
if($node_meta->{ct_table} eq "contenttrans"){
|
||||
$bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,"");
|
||||
my $update_users = {
|
||||
table => "users",
|
||||
change => "no_time",
|
||||
u_id => $users_dms->{u_id}
|
||||
};
|
||||
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");
|
||||
|
||||
if($users_dms_primary->{u_id} && $users_dms_primary->{int03} >= 1 && $users_dms->{u_id} && $users_dms->{int03} >= 1 && $R::ct_trans eq "open"){#DMS Faktura read
|
||||
$db->update_users4trans($R::c_id4trans,$R::tpl_id4trans,"",$users_dms->{u_id}) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans));
|
||||
$dbt->update_one($dbh,$update_users,"c_id4trans=$R::c_id4trans,tpl_id4trans=$R::tpl_id4trans") if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans));
|
||||
}
|
||||
if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2 && $users_dms->{u_id} && $users_dms->{int03} == 2){#DMS Faktura rw
|
||||
$db->update_users4trans($R::c_id4trans,$R::tpl_id4trans,"",$users_dms->{u_id}) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans));
|
||||
$dbt->update_one($dbh,$update_users,"c_id4trans=$R::c_id4trans,tpl_id4trans=$R::tpl_id4trans") if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans));
|
||||
if($R::ct_trans =~ /set_workflow2invoice|set_workflow2storno/){
|
||||
$return = $pl->set_workflow($q,$users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
|
||||
}elsif($R::ct_trans =~ /set_accounting2invoice/){
|
||||
|
@ -624,6 +646,11 @@ sub handler {
|
|||
|
||||
#email and sms acknowledgments, check and save confirm states
|
||||
if($R::confirm_userid && $R::confirm_userid =~ /^\d+$/ && ($R::confirm_code && length($R::confirm_code) >= 5 || $R::confirm_smscode && length($R::confirm_smscode) >= 5)){
|
||||
my $update_adr = {
|
||||
table => "contentadr",
|
||||
mtime => "now()",
|
||||
owner => $aowner,
|
||||
};
|
||||
|
||||
#keep in mind, for now and just for testing confirm codes are just c_id
|
||||
open(FILE,">>$varenv{logdir}/confirm.log") if($debug);
|
||||
|
@ -639,25 +666,30 @@ sub handler {
|
|||
my $authref = {
|
||||
table => "contentadr",
|
||||
fetch => "one",
|
||||
template_id => "202",
|
||||
c_id => $R::confirm_userid,
|
||||
txt34 => "ilike::$confirm_code%",
|
||||
};
|
||||
my $confirmed_email = { c_id => 0 };
|
||||
$confirmed_email = $dbt->fetch_record($dbh,$authref);
|
||||
$confirmed_email = $dbt->fetch_tablerecord($dbh,$authref);
|
||||
|
||||
#($api_return,$users_sharee) = $apif->auth_verify($q,"",$R::confirm_code);
|
||||
if($confirmed_email->{c_id}){
|
||||
$db->updater("contentadr","c_id","$confirmed_email->{c_id}","int04","1");
|
||||
$update_adr->{c_id} = $confirmed_email->{c_id};
|
||||
$dbt->update_one($dbh,$update_adr,"int04=1");
|
||||
#save verified email
|
||||
$db->updater("contentadr","c_id","$confirmed_email->{c_id}","txt32","$confirmed_email->{txt08}");
|
||||
$dbt->update_one($dbh,$update_adr,"txt32='$confirmed_email->{txt08}'");
|
||||
print FILE "confirmed_email: $confirmed_email->{c_id} update because confirm_code:$confirm_code\n" if($debug);
|
||||
|
||||
#after mailAck, delete all douple adr with no mailAck
|
||||
my $ctadr = $db->collect_ct4rel3("contentadr","","","ilike","txt08","$confirmed_email->{txt08}","","","");
|
||||
my $authref = {
|
||||
table => "contentadr",
|
||||
fetch => "all",
|
||||
keyfield => "c_id",
|
||||
txt08 => "ilike::" . $q->escapeHTML($confirmed_email->{txt08}),
|
||||
};
|
||||
my $ctadr = $dbt->fetch_tablerecord($dbh,$authref);
|
||||
foreach my $aid (keys(%$ctadr)){
|
||||
if(!$ctadr->{$aid}->{int04}){
|
||||
$db->delete_content("contentadr",$ctadr->{$aid}->{c_id});
|
||||
$dbt->delete_content("contentadr",$ctadr->{$aid}->{c_id});
|
||||
print FILE "c_id $ctadr->{$aid}->{c_id} $confirmed_email->{txt08} delete because of dopplel\n" if($debug);
|
||||
}
|
||||
}
|
||||
|
@ -668,18 +700,17 @@ sub handler {
|
|||
my $authref = {
|
||||
table => "contentadr",
|
||||
fetch => "one",
|
||||
template_id => "202",
|
||||
c_id => $R::confirm_userid,
|
||||
txt34 => "ilike::%$confirm_smscode",
|
||||
};
|
||||
my $confirmed_sms = { c_id => 0 };
|
||||
$confirmed_sms = $dbt->fetch_record($dbh,$authref);
|
||||
$confirmed_sms = $dbt->fetch_tablerecord($dbh,$authref);
|
||||
|
||||
#($api_return,$users_sharee) = $apif->auth_verify($q,"",$R::confirm_smscode);
|
||||
if($confirmed_sms->{c_id}){
|
||||
$db->updater("contentadr","c_id","$confirmed_sms->{c_id}","int13","1");
|
||||
$update_adr->{c_id} = $confirmed_sms->{c_id};
|
||||
$dbt->update_one($dbh,$update_adr,"int13=1");
|
||||
#save verified telnr
|
||||
$db->updater("contentadr","c_id","$confirmed_sms->{c_id}","txt33","$confirmed_sms->{txt07}");
|
||||
$dbt->update_one($dbh,$update_adr,"txt33='$confirmed_sms->{txt07}'");
|
||||
print FILE "confirmed_sms: $confirmed_sms->{c_id} update because confirm_smscode:$confirm_smscode\n" if($debug);
|
||||
}
|
||||
}
|
||||
|
@ -687,8 +718,6 @@ sub handler {
|
|||
($api_return,$users_sharee) = $apif->auth_verify($q,"",$users_sharee->{c_id}) if($users_sharee->{c_id});
|
||||
|
||||
if($users_sharee->{int04} && $users_sharee->{int13}){
|
||||
#2023-01-17 disabled because of should only be set by pseudocardpan ajax
|
||||
#my $row = $db->updater("contentadr","c_id","$users_sharee->{c_id}","int12","0");#Vde
|
||||
$dbt->update_operatorsloop($varenv{dbname},$users_sharee->{c_id},"update");
|
||||
}else{
|
||||
my $field = "int13";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue