get()->sortByDesc("id"); return response()->json(['success' => $drafts], $this->successStatus); } if ($action === "get_draft_list_for_table") { $ret = []; if (request('program_id') && request('program_id') > 0) { $travel_program = TravelProgram::find(request('program_id')); if ($travel_program && count($travel_program->travel_program_drafts)) { foreach ($travel_program->travel_program_drafts as $travel_program_draft) { $key = $travel_program_draft->id; $ret[$key]['name'] = $travel_program_draft->draft->name; if ($travel_program_draft->travel_class) { $ret[$key]['travel_class'] = $travel_program_draft->travel_class->name; } else { $ret[$key]['travel_class'] = "alle Kategorien"; } $ret[$key]['weekdays'] = HTMLHelper::getWeekdaysString($travel_program_draft->weekdays); } } } return response()->json(['success' => $ret], $this->successStatus); } if ($action === "create_drafts_from_fewo") { $data = Request::all(); $start_date = Carbon::parse($data['startDateStr']); $end_date = Carbon::parse($data['endDateStr']); $pos = 0; if (isset($data['priceResult']) && is_array($data['priceResult'])) { if (isset($data['priceResult']['season']) && is_array($data['priceResult']['season'])) { foreach ($data['priceResult']['season'] as $season => $values) { $service = '* Saison: ' . $season . "\n" . '* Mindestbelegung: ' . $values['minimumStay'] . ' ' . ($values['minimumStay'] < 2 ? 'Nacht' : 'Nächte') . "\n" . '* Preis: ' . number_format($values['price'], 2, ',', '.') . ' € / ' . $values['numberDays'] . ' ' . ($values['numberDays'] < 2 ? 'Nacht' : 'Nächte') . ' x ' . number_format($values['perNight'], 2, ',', '.') . " € \n"; $from_date = Carbon::parse($values['fromDay']); $to_date = Carbon::parse($values['toDay']); $to_date->modify('+1 day'); BookingDraftItem::create([ 'booking_id' => $data['booking_id'], 'fewo_lodging_id' => $data['fewo_lodging_id'], 'draft_type_id' => 38, 'request_date' => $data['request_date'], 'days_duration' => $values['numberDays'], 'start_date' => $from_date->format("Y-m-d"), 'end_date' => $to_date->format("Y-m-d"), 'service' => $service, 'price' => $values['perNight'], 'pos' => $pos, 'in_pdf' => true, ]); $pos++; } } if (isset($data['priceResult']['flatPrice'])) { $service = '* Service-Gebühr: ' . number_format($data['priceResult']['deposit'], 2, ',', '.'); BookingDraftItem::create([ 'booking_id' => $data['booking_id'], 'fewo_lodging_id' => $data['fewo_lodging_id'], 'draft_type_id' => 39, 'request_date' => $data['request_date'], 'days_duration' => $data['priceResult']['days'], 'start_date' => $start_date->format("Y-m-d"), 'end_date' => $end_date->format("Y-m-d"), 'service' => $service, 'price' => $data['priceResult']['flatPrice'], 'pos' => $pos, 'in_pdf' => true, ]); $pos++; } if (isset($data['priceResult']['deposit'])) { $service = '* Kaution: ' . number_format($data['priceResult']['deposit'], 2, ',', '.'); BookingDraftItem::create([ 'booking_id' => $data['booking_id'], 'fewo_lodging_id' => $data['fewo_lodging_id'], 'draft_type_id' => 40, 'request_date' => $data['request_date'], 'days_duration' => $data['priceResult']['days'], 'start_date' => $start_date->format("Y-m-d"), 'end_date' => $end_date->format("Y-m-d"), 'service' => $service, 'price' => $data['priceResult']['flatPrice'], 'pos' => $pos, 'in_pdf' => true, ]); } } return response()->json(['success' => $data['booking_id']], $this->successStatus); } } }