mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 11:46:27 +01:00
vehicle_type_id for station filter and aa-journay
This commit is contained in:
parent
c2238c9932
commit
3ea4b37b78
13 changed files with 162 additions and 374 deletions
|
@ -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 {
|
||||
|
|
|
@ -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 <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> 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 <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> 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});
|
||||
|
|
|
@ -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 <a href='$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}/site/agb.html' target='_blank'>AGB</a> 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 <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> 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 <a href='$varenv->{wwwhost}/site/agb.html' target='_blank'>AGB</a> 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)){
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
#<sharing_type>
|
||||
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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}<br />" 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}->{$_} - $_<br />";
|
||||
}
|
||||
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 "</div>";
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -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)";
|
||||
|
|
|
@ -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<<EOF
|
||||
<style>
|
||||
.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);
|
||||
}
|
||||
</style>
|
||||
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<<EOF
|
||||
<script>
|
||||
\$(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';
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
EOF
|
||||
;
|
||||
|
||||
print "<div id='dialog-form2' style='text-align:left;margin:auto;max-width:1000px;' title='$title'>";
|
||||
|
||||
|
||||
print $q->start_form(-name=>'modaldialog');
|
||||
print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid");
|
||||
|
||||
print "<div class='form-group' style='clear:both;'>\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 "<input id='$key' type='text' class='form-control' name='$key' value='' placeholder='$des' $required />\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 "<input id='$key' type='text' class='form-control' name='$key' value='' placeholder='$des' $required />\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;'},"<button type='submit' name='confirm_email' value='$ctadr->{txt08}' class='btn btn-primary btn-lg btn-block'>$button_name</button>"),"\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;'},"<button type='button' id='btn_no1' class='btn btn-primary'>Schließen</button>"),"\n";
|
||||
|
||||
|
||||
}elsif($ctadr->{int12} || $ctadr->{int01} != 3 || !$ct->{c_id}){
|
||||
my $des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.<br /><br />Bitte überprüfen Sie Ihre Profildaten auf Vollständigkeit.";
|
||||
$des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.<br /><br />Bitte kontaktieren Sie uns damit wir das Problem lösen und Ihren Account wieder freischalten können.</a>." 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;'},"<button type='button' id='btn_no1' class='btn btn-primary'>Schließen</button>"),"\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 "<input id='$key' type='text' class='form-control' name='$key' value='' placeholder='$des' $required />\n";
|
||||
#print $q->hidden(-name=>"$key",-override=>1,-value=>"$ask_radID");
|
||||
print $q->div({-style=>'margin-top:2em;text-align:center;'},"<button type='button' id='btn_no2' class='btn btn-primary' style='width:5em;margin:0 2.5em;'>Nein</button>","<button type='button' id='btn_yes' class='btn btn-primary' style='width:5em;;margin:0 2.5em;'>Ja</button>"),"\n";
|
||||
|
||||
}
|
||||
|
||||
print "</div>\n";
|
||||
|
||||
print $q->end_form,"\n";
|
||||
print "</div>\n";
|
||||
|
||||
}elsif($ask_radID){
|
||||
#If no Login
|
||||
print<<EOF
|
||||
<script>
|
||||
\$(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';
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
EOF
|
||||
;
|
||||
print "<div id='dialog-form2' style='text-align:left;margin:auto;max-width:1000px;' title='$title'>";
|
||||
print "<div class='form-group' style='clear:both;'>\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;'},"<button type='button' id='btn_no3' class='btn btn-primary' style='margin:0 2em;'>Schließen</button>","<button type='button' id='btn_anmelden' class='btn btn-primary' style='margin:0 2em;'>Anmelden</button>"),"\n";
|
||||
|
||||
|
||||
print "</div>\n";
|
||||
print "</div>\n";
|
||||
|
||||
}
|
||||
}
|
||||
1;
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue