Booking edit v3
This commit is contained in:
parent
6706d28f51
commit
6880c7e989
20 changed files with 691 additions and 97 deletions
|
|
@ -7,7 +7,12 @@ use App\Models\Booking;
|
|||
use App\Models\Customer;
|
||||
use App\Models\BookingFile;
|
||||
use App\Models\BookingNotice;
|
||||
use App\Models\ServiceProvider;
|
||||
use App\Models\BookingDraftItem;
|
||||
use App\Models\BookingServiceItem;
|
||||
use App\Models\Participant;
|
||||
use App\Models\ServiceProviderEntry;
|
||||
use App\Models\TravelCompany;
|
||||
use App\Repositories\DraftRepository;
|
||||
use App\Repositories\BookingRepository;
|
||||
use App\Repositories\BookingFileRepository;
|
||||
|
|
@ -100,6 +105,27 @@ class BookingController extends Controller
|
|||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingPrice");
|
||||
}
|
||||
|
||||
if($data['action'] === 'update_service_provider_entry'){
|
||||
$booking = $this->bookingRepo->updateServiceProviderEntry($id, $data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingProvider");
|
||||
}
|
||||
|
||||
if($data['action'] === 'update_booking_service_item'){
|
||||
$booking = $this->bookingRepo->updateBookingServiceItem($id, $data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingProvider");
|
||||
}
|
||||
|
||||
|
||||
if($data['action'] === 'update_booking_participant'){
|
||||
$booking = $this->bookingRepo->updateBookingParticipant($id, $data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingParticipant");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -230,7 +256,6 @@ class BookingController extends Controller
|
|||
return redirect(route('booking_detail', [$booking->id]));
|
||||
}
|
||||
|
||||
|
||||
public function loadModal(){
|
||||
$data = Request::all();
|
||||
$ret = "";
|
||||
|
|
@ -283,16 +308,63 @@ class BookingController extends Controller
|
|||
|
||||
public function action($action, $id=false){
|
||||
|
||||
if(!$booking = Booking::find($id)){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
if($action === 'change_travel_dates'){
|
||||
if($booking = Booking::find($id)){
|
||||
$draftRepo = new DraftRepository($booking);
|
||||
$draftRepo->change_dates_drafts_from_booking(Request::get('change_travel_start_date'));
|
||||
\Session()->flash('alert-success', __('Datum der Reise wurde geändert'));
|
||||
return redirect(route('booking_detail', [$booking->id]));
|
||||
}
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingOrganisation");
|
||||
}
|
||||
}
|
||||
|
||||
if($action === 'service_provider_entry_add_discount'){
|
||||
$ServiceProvider = ServiceProvider::where('type', 'discount')->where('active',true)->first();
|
||||
ServiceProviderEntry::create([
|
||||
'booking_id' => $booking->id,
|
||||
'service_provider_id' => $ServiceProvider->id,
|
||||
'type' => 'discount',
|
||||
]);
|
||||
\Session()->flash('alert-success', __('Leistungsträger neuer Rabatt hinzugefügt'));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingProvider");
|
||||
}
|
||||
|
||||
if($action === 'service_provider_entry_add_payment'){
|
||||
$ServiceProvider = ServiceProvider::where('type', 'payment')->where('active',true)->first();
|
||||
ServiceProviderEntry::create([
|
||||
'booking_id' => $booking->id,
|
||||
'service_provider_id' => $ServiceProvider->id,
|
||||
'type' => 'payment',
|
||||
]);
|
||||
\Session()->flash('alert-success', __('Leistungsträger neue Zahlung hinzugefügt'));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingProvider");
|
||||
}
|
||||
|
||||
if($action === 'booking_service_item_add'){
|
||||
$TravelCompany = TravelCompany::where('active',true)->first();
|
||||
BookingServiceItem::create([
|
||||
'booking_id' => $booking->id,
|
||||
'travel_company_id' => $TravelCompany->id,
|
||||
'travel_date' => now(),
|
||||
]);
|
||||
\Session()->flash('alert-success', __('Reiseveranstalter neue Leistung hinzugefügt'));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingCompany");
|
||||
}
|
||||
|
||||
if($action === 'booking_participant_add'){
|
||||
Participant::create([
|
||||
'booking_id' => $booking->id,
|
||||
'nationality_id' => 1,
|
||||
'participant_salutation_id' => 1,
|
||||
|
||||
]);
|
||||
\Session()->flash('alert-success', __('Neuen Teilnehmer hinzugefügt'));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingParticipant");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function delete($id, $del="booking"){
|
||||
|
||||
|
|
@ -309,22 +381,50 @@ class BookingController extends Controller
|
|||
$fileRepo->delete();
|
||||
$booking_file->delete();
|
||||
\Session()->flash('alert-success', 'Datei gelöscht');
|
||||
return redirect(route('booking_detail', [$booking->id]));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingFiles");
|
||||
}
|
||||
if($del === 'booking_notice'){
|
||||
$booking_notice = BookingNotice::findOrFail($id);
|
||||
$booking = $booking_notice->booking;
|
||||
$booking_notice->delete();
|
||||
\Session()->flash('alert-success', 'Notiz gelöscht');
|
||||
return redirect(route('booking_detail', [$booking->id]));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingNotice");
|
||||
|
||||
}
|
||||
|
||||
if($del === 'passolution_file'){
|
||||
$booking = Booking::findOrFail($id);
|
||||
$booking->resyncPassolutionPDF();
|
||||
\Session()->flash('alert-success', 'Passolution erneuert');
|
||||
return redirect(route('booking_detail', [$booking->id]));
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingFiles");
|
||||
|
||||
}
|
||||
|
||||
if($del === 'service_provider_entry'){
|
||||
$ServiceProviderEntry = ServiceProviderEntry::findOrFail($id);
|
||||
$booking = $ServiceProviderEntry->booking;
|
||||
$ServiceProviderEntry->delete();
|
||||
\Session()->flash('alert-success', 'Leistungsträger gelöscht');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingProvider");
|
||||
|
||||
}
|
||||
|
||||
if($del === 'booking_service_item'){
|
||||
$BookingServiceItem = BookingServiceItem::findOrFail($id);
|
||||
$booking = $BookingServiceItem->booking;
|
||||
$BookingServiceItem->delete();
|
||||
\Session()->flash('alert-success', 'Reiseveranstalter gelöscht');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingCompany");
|
||||
}
|
||||
|
||||
if($del === 'participant'){
|
||||
$Participant = Participant::findOrFail($id);
|
||||
$booking = $Participant->booking;
|
||||
$Participant->delete();
|
||||
\Session()->flash('alert-success', 'Teilnehmer gelöscht');
|
||||
return redirect(route('booking_detail', [$booking->id])."#collapseBookingParticipant");
|
||||
}
|
||||
|
||||
return redirect(route('requests'));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue