From 3ea4b37b78b01318a8ae4e00e2a9c6ee940b442c Mon Sep 17 00:00:00 2001 From: ragu Date: Tue, 12 Jul 2022 19:59:44 +0200 Subject: [PATCH] vehicle_type_id for station filter and aa-journay --- copri4/main/css/local_style_2.css | 2 +- copri4/main/src/Mod/APIfunc.pm | 142 ++++++---- copri4/main/src/Mod/APIsigclient.pm | 11 +- copri4/main/src/Mod/APIvelo.pm | 9 +- copri4/main/src/Mod/DBtank.pm | 19 +- copri4/main/src/Mod/Prelib.pm | 11 + copri4/main/src/Mod/Shareework.pm | 2 +- copri4/main/src/Tpl/BaseEdit.pm | 10 +- copri4/main/src/Tpl/Karte.pm | 7 - copri4/main/src/Tpl/Liste3.pm | 50 +++- copri4/shareeapp-operator/src/Lib/Mlogic.pm | 4 - .../src/Tpl/ModalboxDialog.pm | 262 ------------------ copri4/shareeweb-project/src/Lib/Mlogic.pm | 7 - 13 files changed, 162 insertions(+), 374 deletions(-) delete mode 100755 copri4/shareeapp-operator/src/Tpl/ModalboxDialog.pm diff --git a/copri4/main/css/local_style_2.css b/copri4/main/css/local_style_2.css index e5cf4be..3ec4727 100755 --- a/copri4/main/css/local_style_2.css +++ b/copri4/main/css/local_style_2.css @@ -674,7 +674,7 @@ text-align:left; border: 0px solid gray; margin: 0; padding: 40px 5px 5px 0px; - min-width: 1150px; + min-width: 1250px; } div#Content4cal { diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 42e97be..e2f18e5 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -850,8 +850,8 @@ sub fetch_bike_tariff { $bike_id = $1 if($bike_id =~ /(\d+)/); my $main_ids = ""; - my ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,""); - $main_ids = join(",",@{$bike_group}); + my ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,""); + $main_ids = join(",",@{$bike_node}); $main_ids =~ s/[a-z_]+//ig; my $ct_bike = {}; my $pref_cc = { @@ -918,7 +918,7 @@ sub fetch_bike_tariff { } } - $bw->log("booking_request fetch_bike_tariff result ---> bike $ct_bike->{barcode} matching by bike_group: @{$bike_group} main_ids:$main_ids | user_group:@{$user_group} | Tarif selected: $tariff_nr",$tariff_content->{$tariff_nr},""); + $bw->log("booking_request fetch_bike_tariff result ---> bike $ct_bike->{barcode} matching by bike_node: @{$bike_node} main_ids:$main_ids | bike_group by type_id:@{$bike_group} | Tarif selected: $tariff_nr",$tariff_content->{$tariff_nr},""); return ($ct_bike,$tariff_content->{$tariff_nr}); } @@ -977,6 +977,16 @@ sub booking_request(){ if($rentable_check == 2){ + #to get if station only for A-A journay + my $pref_station = { + table => "content", + fetch => "one", + template_id => "225", + int04 => $ct_bike->{int04}, + }; + my $ct_station = {}; + $ct_station = $dbt->fetch_record($dbh,$pref_station) if($ct_bike->{int04}); + #get invoice $ctt = $dbt->fetch_record($dbh,$pref); if(!$ctt->{c_id}){ @@ -990,7 +1000,7 @@ sub booking_request(){ if($ctt->{c_id}){ #2 = "requested" - $pos_id = $dbt->insert_pos($dbh,$ctt->{c_id},$ct_bike,$auth,$ct_tariff,$now_dt,$bike,"2",$owner,$sig_book); + $pos_id = $dbt->insert_pos($dbh,$ctt->{c_id},$ct_bike,$ct_station,$auth,$ct_tariff,$now_dt,$bike,"2",$owner,$sig_book); $bw->log("booking_request insert_pos:",$pos_id,""); if($pos_id){ @@ -1117,7 +1127,8 @@ sub booking_update(){ barcode => $bike_id, }; - my $record_cc = $dbt->fetch_record($dbh,$pref_cc) if($q->param('bike')); + my $record_cc = {}; + $record_cc = $dbt->fetch_record($dbh,$pref_cc) if($q->param('bike')); $bw->log("booking_update bike to state $bike $state ($state_key) $lock_state, auth $auth->{c_id}, bike:",$bike,""); @@ -1503,10 +1514,10 @@ sub booking_update(){ #int30=Station Id #int31=Slot Id #int27=velofactur bike Id - if($record_cc->{int11} && $record_cc->{int11} >=3 && $record_cc->{int30} && $record_cc->{int31} && $record_cc->{int27}){ - $bw->log("unlock station lock with: '$record_cc->{int30}' '$record_cc->{int31}' '$record_cc->{int27}' 'Freigeben' '$record_pos->{c_id}'","",""); + #if($record_cc->{int11} && $record_cc->{int11} >=3 && $record_cc->{int30} && $record_cc->{int31} && $record_cc->{int27}){ + # $bw->log("unlock station lock with: '$record_cc->{int30}' '$record_cc->{int31}' '$record_cc->{int27}' 'Freigeben' '$record_pos->{c_id}'","",""); #system(`$varenv{basedir}/src/scripts/velofaktur_client.pl $varenv{syshost} post_velo "$record_cc->{int30}" "$record_cc->{int31}" "$record_cc->{int27}" "Freigeben" "$record_pos->{c_id}"`); - } + #} $lock_value = 2; $update_cc->{int20} = "$lock_value"; $update_pos->{int20} = "$lock_value"; @@ -1591,6 +1602,12 @@ sub booking_update(){ } }#end mini_quest + #TODO, return akku capacity level for user question + #set e-bike attribut on DMS editor nad not by main_id + #if($booking->{int10} == 1 && $record_cc->{main_id} == 300102){ + if($booking->{int10} == 1 && $record_cc->{energy_id} == 1){ + $booking_values->{akku_levelquery} = "5"; + } #fetch tracking distance on Ilockit cloud by summary trip if(tracking && deviceId && available) if($booking->{int25} == 1 && $booking->{int10} == 1){ @@ -1609,7 +1626,7 @@ sub booking_update(){ } my $co2saving = ""; - $booking->{int26} = 10 if(!$booking->{int26} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 11765 || $auth->{c_id} == 1843));#10 km test + $booking->{int26} = 10 if(!$booking->{int26} && ($auth->{c_id} == 1842 || $auth->{c_id} == 1843 || $auth->{c_id} == 5781 || $auth->{c_id} == 11765 || $auth->{c_id} == 38883));#10 km test if($booking->{int26}){ $co2saving = "Einsparung: "; my $co2diff = $pri->co2calc($booking); @@ -1838,22 +1855,6 @@ sub rentals(){ $return->{$id}->{K_u} = "$K_val" if($K_key eq "K_u"); } } - #sig update station_lock_state=locked to cancel once miniquery - #disabled, moving to bikes_available - elsif(1==2 && $record->{$id}->{int11} && $record->{$id}->{int11} == 3){ - $return->{$id}->{rentalId} = "$record->{$id}->{txt11}"; - - if($record->{$id}->{int28}){ - - #$return->{$id}->{state} = "returned"; - #only for project=Bayern and developer enabled - if($dbt->{operator}->{$varenv{dbname}}->{project} eq "Bayern" && $auth->{int23} < 4){ - - $bw->log("user_miniquery via $varenv{dbname} user ID $auth->{c_id} exist count:",$auth->{int23},""); - $return->{$id}->{user_miniquery} = $dbt->evaluationsfragen($dbh); - }#end mini_quest - } - } } return $return; @@ -1887,8 +1888,8 @@ sub bikes_available(){ }; my $tariff_content = {}; $authed = 1 if(ref($auth) eq "HASH" && $auth->{c_id} > 0); - (my $bike_group,my $user_group,$tariff_content,my $user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); - my $main_ids = join(",",@{$bike_group}); + (my $bike_group,my $bike_node,$tariff_content,my $user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); + my $main_ids = join(",",@{$bike_node}); $main_ids =~ s/[a-z_-]+//ig;#should work also without Trenner $pref = { %$pref, main_id => "IN::($main_ids)" }; @@ -1899,7 +1900,8 @@ sub bikes_available(){ $pref = { %$pref, barcode => "=::" . $bike_id }; } - my $record = $dbt->fetch_record($dbh,$pref) if(ref($bike_group) eq "ARRAY" && @{$bike_group}[0]); + my $record = {}; + $record = $dbt->fetch_record($dbh,$pref) if(ref($bike_node) eq "ARRAY" && @{$bike_node}[0]); my $op_return = {}; my @adr_tariff = (); @@ -1928,8 +1930,13 @@ sub bikes_available(){ $return->{$id}->{lock_state} = "unlocked" if($record->{$id}->{int20} == 2); $return->{$id}->{lock_state} = "locking" if($record->{$id}->{int20} == 3); $return->{$id}->{lock_state} = "unlocking" if($record->{$id}->{int20} == 4); - $return->{$id}->{bike_group} = ["$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{main_id}"]; - + #$return->{$id}->{bike_group} = ["$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{main_id}"]; + #for station_type_id mapping + if($record->{$id}->{type_id}){ + $return->{$id}->{bike_group} = ["$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{type_id}"]; + }else{ + $return->{$id}->{bike_group} = []; + } if($record->{$id}->{int11} eq "2"){ $return->{$id}->{system} = "Ilockit"; $return->{$id}->{Ilockit_GUID} = "$record->{$id}->{txt17}"; @@ -1965,7 +1972,7 @@ sub bikes_available(){ $return->{$id}->{rental_description}->{reserve_timerange} = "15"; $return->{$id}->{rental_description}->{reserve_timerange} = "30" if($record->{$id}->{int11} == 3);#sig timeout time $return->{$id}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"] if($record->{$id}->{int25}); - $return->{$id}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262 || $auth->{c_id} == 38883)); + $return->{$id}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 1843 || $auth->{c_id} == 5781 || $auth->{c_id} == 11765 || $auth->{c_id} == 38883)); my $i = 0; foreach my $td (sort keys (%$td_template)){ @@ -2015,8 +2022,8 @@ sub bikes_all(){ int10 => "!=::3", }; - my ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); - my $main_ids = join(",",@{$bike_group}); + my ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); + my $main_ids = join(",",@{$bike_node}); $main_ids =~ s/[a-z_]+//ig; $pref = { %$pref, main_id => "IN::($main_ids)" }; @@ -2047,7 +2054,7 @@ sub bikes_all(){ } $bw->log("sub bikes_all with user_tour ($station_id) @stations_service_tour",$pref,""); - $record = $dbt->fetch_record($dbh,$pref) if(ref($bike_group) eq "ARRAY" && @{$bike_group}[0]); + $record = $dbt->fetch_record($dbh,$pref) if(ref($bike_node) eq "ARRAY" && @{$bike_node}[0]); my $bikes_on_station = {}; my $op_return = {}; @@ -2067,7 +2074,12 @@ sub bikes_all(){ $return->{$id}->{lock_state} = "unlocked" if($record->{$id}->{int20} == 2); $return->{$id}->{lock_state} = "locking" if($record->{$id}->{int20} == 3); $return->{$id}->{lock_state} = "unlocking" if($record->{$id}->{int20} == 4); - $return->{$id}->{bike_group} = ["$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{main_id}"]; + #for bike-station type_id mapping + if($record->{$id}->{type_id}){ + $return->{$id}->{bike_group} = ["$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{type_id}"]; + }else{ + $return->{$id}->{bike_group} = []; + } if($record->{$id}->{int11} eq "2"){ $return->{$id}->{system} = "Ilockit"; @@ -2096,14 +2108,18 @@ sub stations_available(){ my $auth = shift || ""; my $record_pos = shift || {}; + #2022-07-12, int12 changed to bike type_id my $station_group = ""; - $station_group = $record_pos->{int12} if(ref($record_pos) eq "HASH" && $record_pos->{int12}); + $station_group = $record_pos->{int29} if(ref($record_pos) eq "HASH" && $record_pos->{int29}); + my $aa_station = ""; + #take start station from pos + $aa_station = $record_pos->{int06} if(ref($record_pos) eq "HASH" && $record_pos->{int06} && $record_pos->{int42}); #$bw->log("stations_available by station_group: $station_group",$record_pos,""); my $authed = 0; $authed = 1 if(ref($auth) eq "HASH" && $auth->{c_id}); - my ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); + my ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); my $return = {}; my $pref = { @@ -2118,11 +2134,20 @@ sub stations_available(){ my $pref_sql = ""; $pref_sql .= " and ("; foreach(@{$bike_group}){ - if($station_group && $_ =~ /(\d+)/){ + #on rental end select only stations which are defined + #A-A rental + if($station_group && $_ =~ /(\d+)/ && $aa_station){ + my $group_id = $1; + if($group_id == $station_group){ + $pref_sql .= " ct.int04 = $aa_station OR"; + } + #A-B rental + }elsif($station_group && $_ =~ /(\d+)/){ my $group_id = $1; if($group_id == $station_group){ $pref_sql .= " ct.txt24 like '%$group_id%' OR"; } + #without a rental }elsif($_ =~ /(\d+)/){ my $group_id = $1; $pref_sql .= " ct.txt24 like '%$group_id%' OR"; @@ -2138,7 +2163,7 @@ sub stations_available(){ my $op_return = {}; foreach my $id (sort { $record->{$a}->{barcode} <=> $record->{$b}->{barcode} } keys (%$record)){ $return->{$id}->{authed} = "$authed"; - $return->{$id}->{capacity} = $record->{$id}->{int05} || 1; + $return->{$id}->{capacity} = "$record->{$id}->{int05}" || "1"; $return->{$id}->{station} = "$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{int04}"; $return->{$id}->{uri_operator} = "$varenv->{wwwhost}"; @@ -2147,7 +2172,7 @@ sub stations_available(){ $return->{$id}->{description} = Encode::encode('utf-8', Encode::decode('iso-8859-1', $record->{$id}->{txt01})); $return->{$id}->{state} = "$dbt->{copri_conf}->{bike_state}->{$record->{$id}->{int10}}"; $return->{$id}->{station_group} = ""; - if($record->{$id}->{txt24}){#Ilockit with new station_group logic + if($record->{$id}->{txt24}){ $return->{$id}->{gps_radius} = "$record->{$id}->{int06}"; $record->{$id}->{txt24} =~ s/(\d+)/$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$1/g; my @station_group = split(/\s/,$record->{$id}->{txt24}); @@ -2193,7 +2218,7 @@ sub stations_all(){ my $authed = 0; $authed = 1 if(ref($auth) eq "HASH" && $auth->{c_id}); - my ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); + my ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie')); my $return={}; my $pref = { @@ -2294,7 +2319,7 @@ sub stations_all(){ $return->{$id}->{bike_soll} = "$bike_soll" || "0"; $return->{$id}->{bike_ist} = "$bikes_on_station->{$id}->{bike_ist}" || "0"; $return->{$id}->{station_group} = ""; - if($record->{$id}->{txt24}){#sharee Ilockit with new station_group logic + if($record->{$id}->{txt24}){ $return->{$id}->{gps_radius} = "$record->{$id}->{int06}"; $record->{$id}->{txt24} =~ s/(\d+)/$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$1/g; my @station_group = split(/\s/,$record->{$id}->{txt24}); @@ -2334,7 +2359,7 @@ sub bikes_soll(){ } -#Collect Tariff to get user_group---------------------- +#Collect Tarif to get users bike access ---------------------- sub fetch_tariff(){ my $self = shift; my $dbname = shift; @@ -2361,6 +2386,8 @@ sub fetch_tariff(){ template_id => "210",#Tariff tpl_id }; + my ($nodes,$rows) = $dbt->collect_node($dbh,$dbt->{shareedms_conf}->{waren}); + #if no primary address then only 2=public if((ref($adr) ne "HASH" || !$adr->{c_id}) && ($dbname ne "sharee_lv")){ $tariff->{int18} = 2; @@ -2402,7 +2429,7 @@ sub fetch_tariff(){ $oprefix = "$dbt->{operator}->{$dbname}->{oprefix}" if($dbt->{operator}->{$dbname}->{oprefix}); my @tarifnr = (); - my @user_group = (); + my @bike_node = (); my @bike_group = (); my @adr_tariff = (); if($auth_operator->{txt30}){ @@ -2416,8 +2443,9 @@ sub fetch_tariff(){ if($_ == $tariff_content->{$id}->{barcode} && $tariff_content->{$id}->{int12}){ $bw->log("Tarif FOUND with merchant $merchant_id for authorized user-id $auth_operator->{c_id} if($tariff_content->{$id}->{int12}) (s-type:$tariff_content->{$id}->{int18})",$tariff_content->{$id}->{barcode},""); push(@tarifnr, "$tariff_content->{$id}->{barcode}"); - push(@user_group, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id - push(@bike_group, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id + push(@bike_node, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id + my $type_id = $nodes->{$tariff_content->{$id}->{int12}}->{type_id} || ""; + push(@bike_group, "$oprefix$type_id");#sharee bike_node.type_id } } } @@ -2429,13 +2457,14 @@ sub fetch_tariff(){ if($tariff_content->{$id}->{int18} eq 2){ $bw->log("Tarif FOUND FALLBACK for No Tarif users with merchant $merchant_id if($tariff_content->{$id}->{int12} && $dbname) (s-type:$tariff_content->{$id}->{int18})",$id,""); push(@tarifnr, "$tariff_content->{$id}->{barcode}"); - push(@user_group, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id - push(@bike_group, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id + push(@bike_node, "$oprefix$tariff_content->{$id}->{int12}");#sharee bike_node.main_id + my $type_id = $nodes->{$tariff_content->{$id}->{int12}}->{type_id} || ""; + push(@bike_group, "$oprefix$type_id");#sharee bike_node.type_id } } } - $bw->log("FETCHED_Tarif by dbname:$dbname with merchant $merchant_id | user_group:@user_group | bike_group:@bike_group | user_tour:@user_tour | tarifnr: @tarifnr",\@tarifnr,""); - return (\@bike_group,\@user_group,$tariff_content,\@user_tour); + $bw->log("FETCHED_Tarif by dbname:$dbname with merchant $merchant_id | bike_node:@bike_node | bike_group:@bike_group | user_tour:@user_tour | tarifnr: @tarifnr",\@tarifnr,""); + return (\@bike_group,\@bike_node,$tariff_content,\@user_tour); } #authout @@ -2462,7 +2491,6 @@ sub authout(){ }; $record = $dbt->fetch_record($dbh,$authref); - my @user_group = (); if ($record->{c_id} > 0 && length($record->{txt05}) > 20){ my $all_authcookie = $record->{txt05}; @@ -2488,7 +2516,7 @@ sub authout(){ if($rows == 1){ $return = { authcookie => "1", user_id => "$record->{txt08}", - user_group => @user_group, + user_group => [], }; $return = { %$return, debuglevel => "$record->{int11}" } if($record->{int11}); $return = { %$return, Ilockit_admin => "$record->{int19}" } if($record->{int19}); @@ -2523,8 +2551,8 @@ sub auth_verify(){ user_group => [] }; - my $user_group = ""; my $bike_group = ""; + my $bike_node = ""; my $tariff_content = ""; my $user_tour = ""; @@ -2675,7 +2703,7 @@ sub auth_verify(){ }#end if($varenv{dbname} ne "sharee_primary") if($varenv{dbname} ne "sharee_primary"){ - ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv{dbname},$record,$q->param('authcookie')); + ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv{dbname},$record,$q->param('authcookie')); } if($auth_primary->{c_id} > 0 && length($auth_primary->{txt05}) > 30){ @@ -2684,7 +2712,7 @@ sub auth_verify(){ if(length($_) > 30 && $_ =~ /$cgi_authcookie/){ $return->{authcookie} = $cgi_authcookie; $return->{user_id} = $record->{txt08}; - $return->{user_group} = $user_group; + $return->{user_group} = $bike_group;#yes, but deprecated $return->{user_tour} = $user_tour; $return->{debuglevel} = "$record->{int11}" if($record->{int11}); $return->{Ilockit_admin} = "$record->{int19}" if($record->{int19}); @@ -2701,11 +2729,11 @@ sub auth_verify(){ $record = $dbt->fetch_record($dbh,$authref); - ($bike_group,$user_group,$tariff_content,$user_tour) = $self->fetch_tariff($varenv{dbname},$record,$q->param('authcookie')); + ($bike_group,$bike_node,$tariff_content,$user_tour) = $self->fetch_tariff($varenv{dbname},$record,$q->param('authcookie')); #maybe there isnt't any authcookie still available on confirm if ($record->{c_id} > 0){ $return->{user_id} = $record->{txt08}; - $return->{user_group} = $user_group; + $return->{user_group} = $bike_group;#yes, but deprecated $return->{user_tour} = $user_tour; $return->{debuglevel} = "$record->{int11}" if($record->{int11}); $return->{Ilockit_admin} = "$record->{int19}" if($record->{int19}); diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 7ee5d39..ed18bd4 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -75,7 +75,7 @@ sub sig_available { ($ctpos,$show_dialog) = $apif->rental_to_feedback($varenv,$ctadr); } - (my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,$q->param('authcookie')); + (my $bike_group,my $bike_node,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,$q->param('authcookie')); my $hotline_hash = { table => "contentuser", @@ -115,7 +115,7 @@ sub sig_available { $response_out->{$station}->{authed} = "$authed"; $response_out->{$station}->{uri_operator} = "$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}"; $response_out->{$station}->{description} = "$resp->{site}->{address}" || ""; - $response_out->{$station}->{station_group} = ["SX300102"];#E-Lastenrad + $response_out->{$station}->{station_group} = ["SX300101"];#Lastenrad alias type_id $response_out->{$station}->{gps}->{latitude} = "$resp->{site}->{lat}" || ""; $response_out->{$station}->{gps}->{longitude} = "$resp->{site}->{lon}" || ""; $response_out->{$station}->{gps_radius} = "75"; @@ -149,7 +149,7 @@ sub sig_available { $return2copri->{$station}->{int06} = $1 if($response_out->{$station}->{gps_radius} =~ /(\d+)/); $return2copri->{$station}->{txt01} = "$response_out->{$station}->{description}"; $return2copri->{$station}->{txt06} = "$response_out->{$station}->{gps}->{latitude},$response_out->{$station}->{gps}->{longitude}"; - $return2copri->{$station}->{txt24} = "300102"; + $return2copri->{$station}->{txt24} = "300101";#type_id while (my ($key, $value) = each %{ $dbt->{copri_conf}->{station_state} }) { if($response_out->{$station}->{state} eq $value){ $return2copri->{$station}->{int10} = $key; @@ -198,7 +198,7 @@ sub sig_available { } $response_out->{$bike}->{system} = "sigo"; - $response_out->{$bike}->{bike_group} = ["SX300102"];#E-Lastenrad + $response_out->{$bike}->{bike_group} = ["SX300101"];#Lastenrad type_id $response_out->{$bike}->{unlock_allowed} = "1"; $response_out->{$bike}->{tariff_description} = {}; $response_out->{$bike}->{rental_description} = {}; @@ -211,14 +211,13 @@ sub sig_available { $response_out->{$bike}->{tariff_description}->{max_eur_per_day} = "$tariff_content->{$tid}->{int17}" if($tariff_content->{$tid}->{int17}); $response_out->{$bike}->{tariff_description}->{free_hours} = "$tariff_content->{$tid}->{int16}" if($tariff_content->{$tid}->{int16}); $response_out->{$bike}->{tariff_description}->{abo_eur_per_month} = "$tariff_content->{$tid}->{int15}" if($tariff_content->{$tid}->{int15}); - $response_out->{$bike}->{tariff_description}->{operator_agb} = "Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (Demo)." if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262)); #new rental_description $response_out->{$bike}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}"; $response_out->{$bike}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}"; $response_out->{$bike}->{rental_description}->{reserve_timerange} = "30"; $response_out->{$bike}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"];#TODO if($resp->{gps_tracker_id}); - $response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262)); + $response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 1843 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 11765 || $ctadr->{c_id} == 38883)); my $i = 0; foreach my $td (sort keys (%$td_template)){ diff --git a/copri4/main/src/Mod/APIvelo.pm b/copri4/main/src/Mod/APIvelo.pm index b03787d..1b96c9c 100755 --- a/copri4/main/src/Mod/APIvelo.pm +++ b/copri4/main/src/Mod/APIvelo.pm @@ -65,7 +65,6 @@ eval { #- int19=bike charge #- int27=velofactur bike ID #- int28=station_lock_state (station lock velofactur) - #- int29=velofactur Buchbar (true|false) #- int30=velofactur station ID #- int31=velofactur slot ID #- txt25=velofactur last station message (error or success) @@ -111,14 +110,14 @@ eval { #velofactur false|true boeelan #set bike_state to maintanance #only if saved! velofactur Buchbar_state = true and bike_state = available - $update_cc->{int10} = 4 if($update_cc->{int29} == 1 && $update_cc->{int10} == 1); - $update_cc->{int29} = 0; + #$update_cc->{int10} = 4 if($update_cc->{int29} == 1 && $update_cc->{int10} == 1); + #$update_cc->{int29} = 0; if($response_in->{Fahrzeug}->{Buchbar}){ #set bike_state to available #only if saved! velofactur Buchbar_state = false and bike_state = maintanance - $update_cc->{int10} = 1 if($update_cc->{int29} == 0 && $update_cc->{int10} == 4); - $update_cc->{int29} = 1; + #$update_cc->{int10} = 1 if($update_cc->{int29} == 0 && $update_cc->{int10} == 4); + #$update_cc->{int29} = 1; } $rows = $dbt->update_record($dbh_operator,$update_cc,$record_cc); diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 40b6cd0..8ddec5c 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -185,7 +185,7 @@ sub update_operatorsloop { #pseudo code copied fom net_booking. have to be done elsewehre because of $apif if(1==2){ my $ctadr = { c_id => $c_id }; - my ($bike_group,$user_group,$tariff_content,$user_tour);# = $apif->fetch_tariff($ctadr,""); + my ($bike_group,$bike_node,$tariff_content,$user_tour);# = $apif->fetch_tariff($ctadr,""); foreach my $id (keys (%$tariff_content)){ # #int18 # @@ -723,7 +723,7 @@ sub fetch_record(){ } #ct.* because of nd.txt01 and ct.txt01 . - my $sql = "SELECT ct.*,rel.*,nd.node_name,nd.parent_id FROM $fetch->{table} ct, relation rel, nodes nd $where $order"; + my $sql = "SELECT ct.*,rel.*,nd.node_name,nd.parent_id,nd.type_id,nd.energy_id FROM $fetch->{table} ct, relation rel, nodes nd $where $order"; my $sth = $dbh->prepare($sql); my $rc = $sth->execute(); $bw->log("DBtank fetch_record $source: $rc",$sql,"") if($debug); @@ -1115,7 +1115,7 @@ sub collect_transpos { $where .= " and cp.$key = $search->{$key}" if($key eq "int10" && looks_like_number($search->{$key}));#bike_state $where .= " and cp.$key = $search->{$key}" if($key eq "int20" && looks_like_number($search->{$key}));#lock_state $where .= " and cp.$key = $search->{$key}" if($key eq "barcode" && looks_like_number($search->{$key})); - $where .= " and cp.$key = $search->{$key}" if($key eq "int12" && looks_like_number($search->{$key}));#bike_group + $where .= " and cp.$key = $search->{$key}" if($key eq "int12" && looks_like_number($search->{$key}));#flot_id $where .= " and (cp.$key = $search->{$key} OR cp.owner_end = $search->{$key})" if($key eq "owner" && looks_like_number($search->{$key})); $where .= " and (cp.$key is $search->{$key} OR cp.$key = 0)" if($key eq "int34" && $search->{$key} eq "null"); } @@ -1150,7 +1150,7 @@ sub collect_theftpos { $where .= " and cp.$key = $search->{$key}" if($key eq "int10" && looks_like_number($search->{$key}));#bike_state $where .= " and cp.$key = $search->{$key}" if($key eq "int20" && looks_like_number($search->{$key}));#lock_state $where .= " and cp.$key = $search->{$key}" if($key eq "barcode" && looks_like_number($search->{$key})); - $where .= " and cp.$key = $search->{$key}" if($key eq "int12" && looks_like_number($search->{$key}));#bike_group + $where .= " and cp.$key = $search->{$key}" if($key eq "int12" && looks_like_number($search->{$key}));#flot_id $where .= " and cp.$key = $search->{$key}" if($key eq "int13" && looks_like_number($search->{$key}));#deviceId $where .= " and cp.$key = $search->{$key}" if($key eq "owner" && looks_like_number($search->{$key})); } @@ -1315,15 +1315,17 @@ sub insert_pos(){ my $self = shift; my $dbh = shift || $dbh_intern; my $ctt_id = shift; - my $ct = shift; - my $ctadr = shift; + my $ct = shift || {}; + my $ct_station = shift || {}; + my $ctadr = shift || {}; my $ct_tariff = shift || ""; my $endRental = shift || "0000-00-00"; my $ct_name = shift || ""; my $status = shift || ""; my $owner = shift || ""; my $sig_book = shift || {}; - #txt11=$sig_book->{rentalId} will be set on booking_update + + my $aa_station = $ct_station->{int42} || 0; $ct_name = $ct->{barcode} if(!$ct_name);#artikelnr or bikenr my $prefix = ""; @@ -1338,6 +1340,7 @@ sub insert_pos(){ my $deviceId = $ct->{int13} || 0; my $bike_charge = $ct->{int19} || 0; my $trackon = $ct->{int25} || 0; + my $bike_type_id = $ct->{type_id} || 0; my $from_main_id = $ct->{main_id} || 0; my $station = $ct->{int04} || 0; my $rabatt = 0; @@ -1376,7 +1379,7 @@ sub insert_pos(){ my $sth; #Verleihräder if($ct->{template_id} && $ct->{template_id} == 205){#Leihrad_list - $sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int34,txt22,txt11,int35,int36,int37,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$staff','$sig_book->{bikeId}','$sig_book->{rentalId}','$unit_price1','$unit_price2','$start_price','$unit_time','$free_time') RETURNING c_id"); + $sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int29,int34,txt22,txt11,int35,int36,int37,int42,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$bike_type_id','$staff','$sig_book->{bikeId}','$sig_book->{rentalId}','$unit_price1','$unit_price2','$start_price','$aa_station','$unit_time','$free_time') RETURNING c_id"); }else{ $sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt08,txt09,itime,int02,int03,txt01,txt06,txt07,int10,int12,owner) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','0','$user_name','$ctadr->{txt09}',now(),'$unit_price','1','$ct->{txt01}','$ct->{txt06}','$ct->{txt07}','0','$from_main_id','$owner') RETURNING c_id"); } diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm index 3239d53..5f01146 100755 --- a/copri4/main/src/Mod/Prelib.pm +++ b/copri4/main/src/Mod/Prelib.pm @@ -444,6 +444,17 @@ sub save_relation { $u_rows = $dbt->update_one($dbh,$update_node,"node_name='$node_name'"); $u_rows = $dbt->update_one($dbh,$update_node,"node_path='$node_path'"); + + #type_id and energy_id by node_name pattern match. + #TODO, should be editable by NodeEditor + my $type_id = 300101;#if Lastenrad + $type_id = 300102 if($node_name =~ /E-Lastenrad/); + $type_id = 300103 if($node_name =~ /Stadtrad/); + $u_rows = $dbt->update_one($dbh,$update_node,"type_id=$type_id"); + my $energy_id = 0; + $energy_id = 1 if($node_name =~ /E-/i); + $u_rows = $dbt->update_one($dbh,$update_node,"energy_id=$energy_id"); + if($subrelnode->{main_id} && $subrelnode->{template_id} >= 400 && $subrelnode->{template_id} <= 499){ my $update_subnode = { table => "nodes", diff --git a/copri4/main/src/Mod/Shareework.pm b/copri4/main/src/Mod/Shareework.pm index 4e11f58..d858add 100755 --- a/copri4/main/src/Mod/Shareework.pm +++ b/copri4/main/src/Mod/Shareework.pm @@ -745,7 +745,7 @@ sub save_transact(){ #if(!$cttpos->{c_id}){#disabled if(1==1){ if($ctt->{c_id} > 0){ - $pos_id = $dbt->insert_pos($dbh_operator,$ctt->{c_id},$ct,$ctadr_operator,"",$now_dt,$valxx,"0",$owner); + $pos_id = $dbt->insert_pos($dbh_operator,$ctt->{c_id},$ct,"",$ctadr_operator,"",$now_dt,$valxx,"0",$owner,""); }else{ my $ct_id = {c_id => 0}; $ct_id = $dbt->insert_contenttrans($dbh_operator,$ctadr_operator,"300008","218","----",$owner); diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index 77c2ce3..88c9b99 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -582,6 +582,8 @@ EOF elsif($key =~ /int18/ && "$size" eq "select" && $node_meta->{tpl_id} == 210){#sharing_type my @_lock_valxx = (); + #delete hidden-lv if not LV + delete $dbt->{copri_conf}->{sharing_type}->{4} if($varenv{syshost} ne "shareedms-lv"); foreach my $s_key (sort keys (%{ $dbt->{copri_conf}->{sharing_type} })) { push @_lock_valxx, "$s_key:$dbt->{copri_conf}->{sharing_type}->{$s_key}"; } @@ -682,10 +684,16 @@ EOF print $q->td({-class=>'content1_cms',-colspan=>'1'},$but->selector2("$key","50px;","$height",$ctrel->{$key},@_service_valxx)); } elsif($key =~ /txt24/ && $node_meta->{tpl_id} == 225){ #Station on station_group (bikenode.main_ids) + my %station_filter_hash = (); my @_valxx = (""); foreach my $rid (sort { $bike_nodes->{$a}->{node_name} cmp $bike_nodes->{$b}->{node_name} } keys (%$bike_nodes)){ - push (@_valxx, "$bike_nodes->{$rid}->{main_id}:$bike_nodes->{$rid}->{node_name} - $bike_nodes->{$rid}->{main_id}"); + #push (@_valxx, "$bike_nodes->{$rid}->{main_id}:$bike_nodes->{$rid}->{node_name} - $bike_nodes->{$rid}->{main_id}"); + $station_filter_hash{$bike_nodes->{$rid}->{type_id}} = 1; } + foreach my $type_id (keys (%station_filter_hash)){ + push (@_valxx, "$type_id:$dbt->{copri_conf}->{type_id}->{$type_id} - $type_id"); + } + my $height = scalar(@_valxx); print $q->Tr(); print $q->td({-class=>'left_italic_cms',-style=>'vertical-align:top;',-colspan=>'1'},"$des"); diff --git a/copri4/main/src/Tpl/Karte.pm b/copri4/main/src/Tpl/Karte.pm index 85e5af4..4515e03 100755 --- a/copri4/main/src/Tpl/Karte.pm +++ b/copri4/main/src/Tpl/Karte.pm @@ -129,13 +129,6 @@ print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:30px;', -sr print "$initMap|$varenv->{dbname}|$api_return->{authcookie}|$users_sharee->{c_id}|$kmlfile" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); - #print "$varenv->{syshost}/$varenv->{dbname} --> $dbt->{operator}->{$varenv->{dbname}}->{initMap}"; - #if($R::ask_radID && $R::ask_radID =~ /^\d+$/){ - # require "Tpl/ModalboxDialog.pm"; - # &ModalboxDialog::mobox2($tpl_name,$tpl_id,$parent_id,$main_id,$u_id,$u_group,$lang,$users_sharee,$bg_color1,$bg_color2,$R::ask_radID); - # } - # - } 1; diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index 278b059..bfa9886 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -181,10 +181,9 @@ sub tpl(){ my $limit = $R::limit || $varenv{limit}; my $offset = $R::offset || "0"; - if($node_meta->{int10} && $node_meta->{int10} < $varenv{limit}){ - $offset = 0; - } - + #if($node_meta->{int10} && $node_meta->{int10} < $varenv{limit}){ + # $offset = 0; + #} #backward | forward if($R::go && $R::go eq "backward_list"){ @@ -583,12 +582,25 @@ sub tpl(){ print $q->td({-class=>"search_line"},$q->textfield(-class=>'stxt',-name=>"s_$key",-default=>"$s_val",-size=>"$size",-maxlength=>40, -autofocus=>1),"\n"); }elsif($table =~ /contentadr|contenttrans/ && $key eq "txt08"){ print $q->td({-class=>"search_line"},$q->textfield(-class=>'stxt',-name=>"s_$key",-default=>"$s_val",-size=>"$size",-maxlength=>40, -autofocus=>1),"\n"); - }elsif($size =~ /select/ && $key =~ /int12|txt24/ && $tpl_id =~ /225|210/){#txt24=Flotten ID select + }elsif($size =~ /select/ && $key =~ /int12/ && $tpl_id =~ /210/){#Tarif for Flot my @s_valxx = (""); foreach my $rid (sort { $bike_nodes->{$a}->{node_name} cmp $bike_nodes->{$b}->{node_name} } keys (%$bike_nodes)){ push (@s_valxx, "$bike_nodes->{$rid}->{main_id}:$bike_nodes->{$rid}->{node_name} - $bike_nodes->{$rid}->{main_id}"); } print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n"; + }elsif($size =~ /select/ && $key =~ /txt24/ && $tpl_id =~ /225/){#txt24=bike_group (for station filter) + my %station_filter_hash = (); + my @s_valxx = (""); + foreach my $rid (sort { $bike_nodes->{$a}->{node_name} cmp $bike_nodes->{$b}->{node_name} } keys (%$bike_nodes)){ + #push (@s_valxx, "$bike_nodes->{$rid}->{main_id}:$bike_nodes->{$rid}->{node_name} - $bike_nodes->{$rid}->{main_id}"); + $station_filter_hash{$bike_nodes->{$rid}->{type_id}} = 1; + + } + foreach my $type_id (keys (%station_filter_hash)){ + push (@s_valxx, "$type_id:$dbt->{copri_conf}->{type_id}->{$type_id} - $type_id"); + } + print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n"; + }elsif($size =~ /select/ && $key =~ /int21|int22/ && $tpl_id == 228){#Bonusnummern my @s_valxx = (""); foreach my $rid (sort { $tariff_all->{$a}->{barcode} <=> $tariff_all->{$b}->{barcode} } keys (%$tariff_all)){ @@ -1012,16 +1024,23 @@ sub tpl(){ print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style $colorize"},"$dbt->{copri_conf}->{lock_state}->{$ct4rel->{$id}->{$key}}"),"\n"; }elsif($ct4rel->{$id}->{template_id} == 205 && $key eq "int11"){#lock_system print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$dbt->{copri_conf}->{lock_system}->{$ct4rel->{$id}->{$key}}"),"\n"; - #}elsif($ct4rel->{$id}->{template_id} == 210 && $key eq "int01"){#tariff_unit - # print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$dbt->{copri_conf}->{tariff_unit}->{$ct4rel->{$id}->{$key}}"),"\n"; }elsif($ct4rel->{$id}->{template_id} == 210 && $key eq "int18"){#sharing_type print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$dbt->{copri_conf}->{sharing_type}->{$ct4rel->{$id}->{$key}}"),"\n"; - }elsif($ct4rel->{$id}->{template_id} =~ /225|210/ && $key =~ /txt24|int12/){ + }elsif($ct4rel->{$id}->{template_id} == 210 && $key eq "int12"){ my $flotten = ""; foreach my $rid (sort { $bike_nodes->{$a}->{node_name} cmp $bike_nodes->{$b}->{node_name} } keys (%$bike_nodes)){ $flotten .= "$bike_nodes->{$rid}->{node_name} - $bike_nodes->{$rid}->{main_id}
" if($ct4rel->{$id}->{$key} =~ /$bike_nodes->{$rid}->{main_id}/); } print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$flotten"),"\n"; + }elsif($ct4rel->{$id}->{template_id} == 225 && $key eq "txt24"){ + my @station_filter = ($ct4rel->{$id}->{$key}); + @station_filter = split(/\s+/,$ct4rel->{$id}->{$key}) if($ct4rel->{$id}->{$key} =~ /\d\s+\d/); + my $group_type = ""; + foreach (@station_filter){ + $group_type .= "$dbt->{copri_conf}->{type_id}->{$_} - $_
"; + } + print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$group_type"),"\n"; + }elsif($ct4rel->{$id}->{template_id} == 228 && $key =~ /int21|int22/){ my $bonustarif = ""; foreach my $rid (sort { $tariff_all->{$a}->{barcode} <=> $tariff_all->{$b}->{barcode} } keys (%$tariff_all)){ @@ -1347,7 +1366,8 @@ sub tpl(){ print $q->end_form; my $offset_nr = $offset + $nr; - my $counter = $node_meta->{int10} || $rows; + #my $counter = $node_meta->{int10} || $rows; + my $counter = $rows; print $q->div({-style=>'float:left;padding:6px 0 0 10px;'},"Zeile: $offset - $offset_nr / $counter"); #backward | forward @@ -1369,14 +1389,14 @@ sub tpl(){ print ""; - if($varenv{wwwhost} !~ /regiox/ && $node_meta->{main_id} > 300000 && $rows =~ /\d/){ - $db->updater("nodes","main_id",$node_meta->{main_id},"int10",$rows); - } + #if($varenv{wwwhost} !~ /regiox/ && $node_meta->{main_id} > 300000 && $rows =~ /\d/){ + # $db->updater("nodes","main_id",$node_meta->{main_id},"int10",$rows); + #} #letzte Suche - if(!$v_journal && $R::detail_search && ref($searchref) eq "HASH" && $nr =~ /\d/){ - $db->updater("nodes","main_id","300023","int10",$nr); - } + #if(!$v_journal && $R::detail_search && ref($searchref) eq "HASH" && $nr =~ /\d/){ + # $db->updater("nodes","main_id","300023","int10",$nr); + #} #print Dumper($node_meta); return $return; } diff --git a/copri4/shareeapp-operator/src/Lib/Mlogic.pm b/copri4/shareeapp-operator/src/Lib/Mlogic.pm index 4a332dc..3503674 100755 --- a/copri4/shareeapp-operator/src/Lib/Mlogic.pm +++ b/copri4/shareeapp-operator/src/Lib/Mlogic.pm @@ -94,10 +94,6 @@ sub tplselect(){ }elsif($tpl_id == 1 || $tpl_id == 3){ require "Tpl/Listing.pm"; &Listing::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return); - - #require "Tpl/ModalboxDialog.pm"; - #&ModalboxDialog::mobox2($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return); - } } my $debug = "Mlogic --> (users_sharee->{c_id}: $users_sharee->{c_id} | ct_table: $node_meta->{ct_table} | parent_id: $node_meta->{parent_id} | main_id: $node_meta->{main_id} | tpl_id: $node_meta->{tpl_id} | u_id: $u_id | mode: $mode)"; diff --git a/copri4/shareeapp-operator/src/Tpl/ModalboxDialog.pm b/copri4/shareeapp-operator/src/Tpl/ModalboxDialog.pm deleted file mode 100755 index b45ef96..0000000 --- a/copri4/shareeapp-operator/src/Tpl/ModalboxDialog.pm +++ /dev/null @@ -1,262 +0,0 @@ -package ModalboxDialog; -# -# SPDX-License-Identifier: AGPL-3.0-or-later -# Copyright (c) Rainer Gümpelein, TeilRad GmbH -# -use strict; -use warnings; - -use CGI::Cookie (); -use CGI ':standard'; -use DateTime; -use DateTime::Format::Pg; -use Lib::Config; -use Mod::Buttons; -use Mod::DBtank; -use Mod::APIfunc; -use Mod::Libenzdb; - -sub new { - my $class = shift; - my $self = {}; - bless($self,$class); - return $self; -} - -sub mobox2(){ - my $node_meta = shift; - my $users_dms = shift || ""; - my $mode = shift || ""; - my $varenv = shift; - my $users_sharee = shift || ""; - my $return = shift || ""; - my $ask_radID = shift || ""; - - my $q = new CGI; - my $cf = new Config; - my $dbt = new DBtank; - my $apif = new APIfunc; - - my $db = new Libenzdb; - my $but = new Buttons; - 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 $bg_color = "white"; - my $bg_color2 = $varenv->{brand_color} || ""; - - my $session=""; - my $session_and=""; - if(length($R::sessionid) > 20){ - $session = "?sessionid=$R::sessionid"; - $session_and = "&sessionid=$R::sessionid"; - } - - my $ctadr = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id}); - - my $main_ids; - my ($bike_group,$user_group,$tariff_content,$user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,""); - $main_ids = join(",",@{$bike_group}); - $main_ids =~ s/[a-z_]+//ig; - - my $title = ""; - my $ct = {}; - if($ask_radID){ - my $pref_cc = { - table => "content", - fetch => "one", - main_id => "IN::($main_ids)", - barcode => $ask_radID, - int10 => 1, - }; - - $ct = $dbt->fetch_record($dbh,$pref_cc) if($ask_radID && $main_ids); - $title = "Fahrrad Buchungsbestätigung"; - } - - my $height = "250"; - my $width = "400"; - -print< - .ui-dialog .ui-dialog-content { - background: $bg_color; - } - .ui-dialog > .ui-widget-header { - color:$varenv->{color}; - font-weight:normal; - border:1px solid $bg_color2; - background: $bg_color2; - } - .ui-widget-overlay { - background: #666 url("$varenv->{metahost}/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; - opacity: .5; - filter: Alpha(Opacity=50); - } - -EOF -; - -#int04 != 1 --> no mailACK -#int13 != 1 --> no telACK -#int01 != 3 --> no sync -#int12 == 1 --> Vde - - my $ctadr_int13 = 1;#default to activ - if($varenv->{telAck_startdate} && $ctadr->{mtime}){ - my ($ty,$tm,$td) = split(/-/,$varenv->{telAck_startdate}); - my $dt1telAck_start = DateTime->new(year => $ty, month => $tm, day => $td); - my $dt2mtime = DateTime::Format::Pg->parse_datetime($ctadr->{mtime}); - #will be only evaluated if mtime never than global conf - if($ctadr->{owner} == 197 && $dt2mtime > $dt1telAck_start){ - $ctadr_int13 = $ctadr->{int13}; - } - } -if($node_meta->{main_id} && $ctadr->{c_id} && ($ctadr->{int04} != 1 || $ctadr_int13 != 1 || $ctadr->{int12} || $ask_radID)){ - - -print< - \$(function() { - \$( "#dialog-form2" ) - .css("background-color","$bg_color") - .dialog({ - height: $height, - width: $width, - closeOnEscape: false, - modal: true - }); - \$('.ui-widget-overlay').click(function() { - \$(".ui-dialog-titlebar-close").trigger('click');}); - - \$( "#btn_no1" ).click(function() { - \$( "#dialog-form2" ).dialog( "close" ); - }); - \$( "#btn_no2" ).click(function() { - \$( "#dialog-form2" ).dialog( "close" ); - }); - - \$( "#btn_yes" ).click(function() { - window.location.href = '$varenv->{wwwhost}?radID=$ask_radID$session_and'; - }); - - }); - -EOF -; - - print "
"; - - - print $q->start_form(-name=>'modaldialog'); - print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid"); - - print "
\n"; - - if($ctadr->{int04} != 1 || $ctadr_int13 != 1){ - my $required = "required"; - if($ctadr->{int04} != 1){ - my $des = "E-Mail Bestätigungscode"; - my $key = "confirm_code"; - my $label_des="* $des"; - print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; - print "\n"; - }else{ - print $q->div({-class=>'content2', -style=>'color:gray;'}, "* E-Mail Bestätigungscode wurde bereits erfolgreich eingegeben."),"\n"; - } - if($ctadr_int13 != 1 && $varenv->{telAck_startdate}){ - my $des = "SMS Bestätigungscode"; - my $key = "confirm_smscode"; - my $label_des="* $des"; - print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; - print "\n"; - }elsif($varenv->{telAck_startdate}){ - print $q->div({-class=>'content2', -style=>'color:gray;'}, "* SMS Bestätigungscode wurde bereits erfolgreich eingegeben."),"\n"; - } - my $button_name = "Weiter"; - print $q->div({-style=>'margin-top:1em;'},""),"\n"; - - }elsif($ctadr->{int04} && $R::confirm_code){ - - my $des = "Danke! Die Bestätigung war erfolgreich."; - my $key = "nothing"; - my $label_des="$des"; - print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; - print $q->div({-style=>'margin-top:2em;text-align:center;'},""),"\n"; - - - }elsif($ctadr->{int12} || $ctadr->{int01} != 3 || !$ct->{c_id}){ - my $des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.

Bitte überprüfen Sie Ihre Profildaten auf Vollständigkeit."; - $des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.

Bitte kontaktieren Sie uns damit wir das Problem lösen und Ihren Account wieder freischalten können.." if($ctadr->{int12} == 2); - my $key = "nothing"; - my $label_des="$des"; - print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; - print $q->div({-style=>'margin-top:2em;text-align:center;'},""),"\n"; - - - - }elsif($ask_radID){ - - my $des = "Fahrrad Nr. $R::ask_radID kostenlos für 15 Min. reservieren?"; - my $key = "radID"; - my $label_des="$des"; - print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; - #print "\n"; - #print $q->hidden(-name=>"$key",-override=>1,-value=>"$ask_radID"); - print $q->div({-style=>'margin-top:2em;text-align:center;'},"",""),"\n"; - - } - - print "
\n"; - - print $q->end_form,"\n"; - print "
\n"; - - }elsif($ask_radID){ -#If no Login -print< - \$(function() { - \$( "#dialog-form2" ) - .css("background-color","$bg_color") - .dialog({ - height: $height, - width: $width, - closeOnEscape: false, - modal: true - }); - \$('.ui-widget-overlay').click(function() { - \$(".ui-dialog-titlebar-close").trigger('click');}); - - \$( "#btn_no3" ).click(function() { - \$( "#dialog-form2" ).dialog( "close" ); - }); - \$( "#btn_anmelden" ).click(function() { - window.location.href = '$varenv->{wwwhost}/$varenv->{mandant}/Anmelden'; - }); - - }); - -EOF -; - print "
"; - print "
\n"; - - my $des = "Bitte erst anmelden."; - my $label_des="$des"; - print $q->label({-for=>"no_access", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; - print $q->div({-style=>'margin-top:2em;text-align:center;'},"",""),"\n"; - - - print "
\n"; - print "
\n"; - - } -} -1; diff --git a/copri4/shareeweb-project/src/Lib/Mlogic.pm b/copri4/shareeweb-project/src/Lib/Mlogic.pm index 7686503..4b4ab4f 100755 --- a/copri4/shareeweb-project/src/Lib/Mlogic.pm +++ b/copri4/shareeweb-project/src/Lib/Mlogic.pm @@ -300,13 +300,6 @@ sub tplselect(){ }elsif($tpl_id == 197){ require "Tpl/Contact.pm"; &Contact::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return); - #}elsif($tpl_id == 1 || $tpl_id == 3){ - #require "Tpl/Listing.pm"; - #&Listing::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return); - - #require "Tpl/ModalboxDialog.pm"; - #&ModalboxDialog::mobox2($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return); - } }