mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-13 15:16:38 +02:00
Booking calendar (beta intern) for calendar bike reservation
This commit is contained in:
parent
030091de20
commit
d5a98d0c54
26 changed files with 1127 additions and 144 deletions
|
@ -71,7 +71,7 @@ my $response = {
|
|||
apiserver => "$apiserver",
|
||||
response => "$respreq",
|
||||
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
||||
copri_version => "4.1.23.29",
|
||||
copri_version => "4.1.23.30",
|
||||
user_id => "",
|
||||
authcookie => "",
|
||||
new_authcoo => "0",
|
||||
|
@ -243,18 +243,31 @@ elsif($q->param('request') eq "booking_request"){
|
|||
$bike_id = $1 if($bike_id =~ /(\d+)/);
|
||||
|
||||
#check count of occcupied/requested bikes
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
my $record = {};
|
||||
my $max_rental_count = 3;
|
||||
$max_rental_count = 10 if($authraw->{int09});
|
||||
my $rental_count=0;
|
||||
my $still_requested = 0;
|
||||
foreach my $id (keys(%$record)){
|
||||
if($R::calreserv){
|
||||
$record = $apif->bikes_reserved($q,$dbh);
|
||||
foreach my $id (keys(%$record)){
|
||||
if($bike_id && $bike_id == $record->{$id}->{barcode}){
|
||||
$still_requested = 1;
|
||||
$response->{response_state} = "OK, bike " . $bike . " already in timerange reserved";
|
||||
$response->{response_text} = "Rad " . $bike . " ist für diesen Zeitraum nicht verfügbar.";
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
$record = $apif->user_bikes_occupied($q,$dbh,$authraw,"");
|
||||
foreach my $id (keys(%$record)){
|
||||
$rental_count++;
|
||||
if($bike_id && $bike_id == $record->{$id}->{barcode}){
|
||||
$still_requested = 1;
|
||||
$response->{response_state} = "OK, bike " . $bike . " already requested or occupied";
|
||||
$response->{response_text} = "Fahrrad Nr. " . $bike . " ist bereits reserviert";
|
||||
$response->{response_text} = "Rad " . $bike . " ist bereits reserviert";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$still_requested){
|
||||
|
@ -293,7 +306,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
rentalId => "",
|
||||
};
|
||||
|
||||
if(!$ct_bike->{barcode} || !$ct_bike->{int10} || $ct_bike->{int10} != 1){
|
||||
if(!$ct_bike->{barcode} || !$ct_bike->{int10}){
|
||||
$response->{response_state} = "Failure 2001: booking bike $bike fails, bike not available";
|
||||
$response->{response_text} = "Mietrad $bike ist nicht verfügbar. Ist das Mietrad für sie freigeschaltet? Bitte überprüfen Sie Ihre Profildaten auf Vollständigkeit";
|
||||
}elsif(!$ct_tariff->{barcode}){#ist will not happen, because of prios tariff select in fetch_bike_tariff
|
||||
|
@ -318,7 +331,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
table => "contenttranspos",
|
||||
fetch => "one",
|
||||
barcode => "$bike_id",
|
||||
int10 => "2",
|
||||
int10 => "IN::('2','7')",
|
||||
ca_id => "$authraw->{c_id}",
|
||||
};
|
||||
my $dbh = "";
|
||||
|
@ -342,7 +355,7 @@ elsif($q->param('request') eq "booking_request"){
|
|||
}
|
||||
|
||||
#return list of occupied/requested bikes
|
||||
$record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
$record = $apif->user_bikes_occupied($q,$dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");#returns JSON rental values
|
||||
|
||||
}#end still_requested
|
||||
|
@ -379,7 +392,7 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
$bike_id =~ s/S[1-9]X/SX/;
|
||||
$bike_id = $1 if($bike_id =~ /(\d+)/);
|
||||
|
||||
my $ctpos = {};
|
||||
my $ctpos = {};#can be removed after sig
|
||||
my $booking_pos = {
|
||||
table => "contenttranspos",
|
||||
fetch => "one",
|
||||
|
@ -426,7 +439,7 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
|
||||
$response = {%$response, %$booking_values};
|
||||
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||
my $record = $apif->user_bikes_occupied($q,$dbh,$authraw,"show_dialog");
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||
|
||||
#update on Ilockit
|
||||
|
@ -435,12 +448,12 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
|||
$apif->stations_caching($q,\%varenv,$authraw);
|
||||
$response = {%$response, %$booking_values};
|
||||
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
my $record = $apif->user_bikes_occupied($q,$dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||
}
|
||||
}#end occupied|available
|
||||
else{
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||
my $record = $apif->user_bikes_occupied($q,$dbh,$authraw,"");
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||
}
|
||||
|
||||
|
@ -478,7 +491,7 @@ elsif($q->param('request') eq "user_bikes_occupied"){
|
|||
($auth,$authraw) = $apif->auth_verify($q);
|
||||
if(ref($auth) eq "HASH" && $auth->{authcookie}){
|
||||
$response = { %$response, %$auth };
|
||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||
my $record = $apif->user_bikes_occupied($q,$dbh,$authraw,"show_dialog");
|
||||
if($R::withoutkey){
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"");
|
||||
}else{
|
||||
|
@ -531,9 +544,12 @@ elsif($q->param('request') eq "bikes_available"){
|
|||
my $station_id = "";
|
||||
$station_id = $1 if($station =~ /(\d+)$/);
|
||||
|
||||
$record = $apif->user_bikes_occupied($dbh,$authraw,"",$station_id);
|
||||
$record = $apif->user_bikes_occupied($q,$dbh,$authraw,"",$station_id);
|
||||
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");#returns JSON rental values
|
||||
}
|
||||
|
||||
#$response->{bikes_blocked} = $apif->bikes_reserved($q,$dbh) if($R::calreserv);
|
||||
|
||||
}
|
||||
if(ref($response->{bikes}) ne "HASH"){
|
||||
$response->{response_state} = "Failure 5003: cannot find any user defined bike tariff";
|
||||
|
@ -742,13 +758,15 @@ elsif($q->param('request') eq "stations_available"){
|
|||
}
|
||||
|
||||
#App merchant message
|
||||
#if($user_agent =~ /konrad/i && $dbt->{copri_conf}->{betau_id}->{$authraw->{c_id}} && $varenv{cms}->{'App-merchant-message'}->{txt}){
|
||||
if($user_agent =~ /konrad/i && $varenv{cms}->{'App-merchant-message'}->{txt}){
|
||||
#if($epoch_now >= $epoch_start && $epoch_now <= $epoch_end){
|
||||
$response->{merchant_message} = $varenv{cms}->{'App-merchant-message'}->{txt};
|
||||
#}
|
||||
}
|
||||
#App merchant message bayern
|
||||
if($user_agent =~ /bayern/i && $varenv{cms}->{'App-merchant-message-bayern'}->{txt}){
|
||||
#if($user_agent =~ /bayern/i && $varenv{cms}->{'App-merchant-message-bayern'}->{txt}){
|
||||
if($user_agent =~ /bayern/i && $user_agent_subversion <= 380 && $varenv{cms}->{'App-merchant-message-bayern'}->{txt}){
|
||||
#if($epoch_now >= $epoch_start && $epoch_now <= $epoch_end){
|
||||
$response->{merchant_message} = $varenv{cms}->{'App-merchant-message-bayern'}->{txt};
|
||||
#}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue