From a718baf9714919bcc965c8305ccbbd402af83e54 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Fri, 20 Aug 2021 18:21:38 +0200 Subject: [PATCH] Travel Group / Programms --- .env | 14 +- .../Controllers/IQ/TravelGroupController.php | 5 +- .../Controllers/IQ/TravelItemController.php | 4 +- .../IQ/TravelProgrammController.php | 80 +++++---- app/Http/Controllers/ModalController.php | 11 +- app/Models/IQTravelGroup.php | 2 +- app/Models/IQTravelItem.php | 2 +- app/Models/IQTravelProgram.php | 159 ++++++++++++++++++ app/Models/IQTravelProgramItem.php | 70 ++++++++ app/Repositories/IQ/TravelRepository.php | 74 ++++++++ app/Services/HTMLHelper.php | 39 +++-- ...14705_create_i_q_travel_programs_table.php | 59 +++++++ ..._create_i_q_travel_program_items_table.php | 55 ++++++ .../modal/iq_travel_item-place.blade.php | 3 +- .../modal/iq_travel_prgram-item.blade.php | 37 ++++ .../modal/iq_travel_program-group.blade.php | 36 ++++ .../modal/iq_travel_program-item.blade.php | 39 +++++ .../views/iq/travel/group/detail.blade.php | 35 ++-- .../views/iq/travel/group/index.blade.php | 2 +- .../views/iq/travel/item/index.blade.php | 2 +- .../views/iq/travel/programm/detail.blade.php | 151 +++++++++++++++++ .../views/iq/travel/programm/index.blade.php | 13 +- routes/web.php | 5 +- 23 files changed, 808 insertions(+), 89 deletions(-) create mode 100644 app/Models/IQTravelProgram.php create mode 100644 app/Models/IQTravelProgramItem.php create mode 100644 database/migrations/2021_08_10_114705_create_i_q_travel_programs_table.php create mode 100644 database/migrations/2021_08_10_114745_create_i_q_travel_program_items_table.php create mode 100644 resources/views/admin/modal/iq_travel_prgram-item.blade.php create mode 100644 resources/views/admin/modal/iq_travel_program-group.blade.php create mode 100644 resources/views/admin/modal/iq_travel_program-item.blade.php create mode 100644 resources/views/iq/travel/programm/detail.blade.php diff --git a/.env b/.env index ba2c798..a5f8576 100755 --- a/.env +++ b/.env @@ -43,14 +43,20 @@ MAIL_BBC=kevin@adametz.media MAIL_FEWO_EMPLOYEE=kevin@adametz.media #MAIL_FEWO_EMPLOYEE=katrin.nikolai@stern-tours.de,gerda.fritsch@stern-tours.de #MAIL_BBC=kontakt@stern-tours.de,thomas.stern@stern-tours.de -MAIL_FROM_ADDRESS=info@mein.sterntours.de -MAIL_FROM_NAME="Reisebüro STERN TOURS" + MAIL_DRIVER=smtp -MAIL_HOST=mail.your-server.de +MAIL_FROM_NAME="Reisebüro STERN TOURS" +#MAIL_FROM_ADDRESS=stern@sterntours.de +#MAIL_HOST=zimbra.managedemail.de +#MAIL_USERNAME=stern@stern-tours.de +#MAIL_PASSWORD=13C!NlecB!Phil4beAxKl MAIL_PORT=587 +MAIL_ENCRYPTION=TLS + +MAIL_FROM_ADDRESS=info@mein.sterntours.de +MAIL_HOST=mail.your-server.de MAIL_USERNAME=info@mein.sterntours.de MAIL_PASSWORD=B7f8Ojt98v6tMz8W -MAIL_ENCRYPTION=TLS #MAIL_FROM_ADDRESS=stern@stern-tours.de #MAIL_HOST=zimbra.managedemail.de diff --git a/app/Http/Controllers/IQ/TravelGroupController.php b/app/Http/Controllers/IQ/TravelGroupController.php index 38c33e3..50b9658 100644 --- a/app/Http/Controllers/IQ/TravelGroupController.php +++ b/app/Http/Controllers/IQ/TravelGroupController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers\IQ; use Request; -use App\Models\IQTravelItemPlace; use App\Http\Controllers\Controller; use App\Models\IQTravelGroup; use App\Models\IQTravelGroupItem; @@ -99,7 +98,7 @@ class TravelGroupController extends Controller ->addColumn('action_edit', function (IQTravelGroup $iq_travel_group) { return ''; }) - ->addColumn('trave_items', function (IQTravelGroup $iq_travel_group) { + ->addColumn('travel_items', function (IQTravelGroup $iq_travel_group) { $ret = ""; if($iq_travel_group->i_q_travel_group_items->count()){ foreach($iq_travel_group->i_q_travel_group_items as $i_q_travel_group_item){ @@ -120,7 +119,7 @@ class TravelGroupController extends Controller return ''; }) ->orderColumn('id', 'id $1') - ->rawColumns(['action_edit', 'id', 'active', 'trave_items', 'action_delete']) + ->rawColumns(['action_edit', 'id', 'active', 'travel_items', 'action_delete']) ->make(true); } } diff --git a/app/Http/Controllers/IQ/TravelItemController.php b/app/Http/Controllers/IQ/TravelItemController.php index 3739a4e..01c9ce6 100644 --- a/app/Http/Controllers/IQ/TravelItemController.php +++ b/app/Http/Controllers/IQ/TravelItemController.php @@ -104,7 +104,7 @@ class TravelItemController extends Controller ->addColumn('country', function (IQTravelItem $iq_travel_item) { return $iq_travel_item->travel_country ? $iq_travel_item->travel_country->name : ''; }) - ->addColumn('trave_places', function (IQTravelItem $iq_travel_item) { + ->addColumn('travel_places', function (IQTravelItem $iq_travel_item) { $ret = ""; if($iq_travel_item->i_q_travel_item_places->count()){ foreach($iq_travel_item->i_q_travel_item_places as $i_q_travel_item_place){ @@ -130,7 +130,7 @@ class TravelItemController extends Controller return ''; }) ->orderColumn('id', 'id $1') - ->rawColumns(['action_edit', 'id', 'active', 'draft_type', 'trave_places', 'action_delete']) + ->rawColumns(['action_edit', 'id', 'active', 'draft_type', 'travel_places', 'action_delete']) ->make(true); } } diff --git a/app/Http/Controllers/IQ/TravelProgrammController.php b/app/Http/Controllers/IQ/TravelProgrammController.php index f952ef0..e3a1ea0 100644 --- a/app/Http/Controllers/IQ/TravelProgrammController.php +++ b/app/Http/Controllers/IQ/TravelProgrammController.php @@ -3,22 +3,21 @@ namespace App\Http\Controllers\IQ; use Request; -use App\Models\IQTravelItemPlace; use App\Http\Controllers\Controller; -use App\Models\IQTravelGroup; -use App\Models\IQTravelGroupItem; +use App\Models\IQTravelProgram; +use App\Models\IQTravelProgramItem; use App\Repositories\IQ\TravelRepository; class TravelProgrammController extends Controller { - protected $tavelRepo; + protected $travelRepo; - public function __construct(TravelRepository $tavelRepo) + public function __construct(TravelRepository $travelRepo) { $this->middleware('admin'); - $this->tavelRepo = $tavelRepo; + $this->travelRepo = $travelRepo; } public function index() @@ -33,11 +32,11 @@ class TravelProgrammController extends Controller public function detail($id, $step = false) { if($id === "new") { - $model = new IQTravelGroup(); + $model = new IQTravelProgram(); $id = 'new'; $model->active = 1; }else{ - $model = IQTravelGroup::findOrFail($id); + $model = IQTravelProgram::findOrFail($id); $id = $model->id; } @@ -46,7 +45,7 @@ class TravelProgrammController extends Controller 'id' => $id, ]; - return view('iq.travel.group.detail', $data); + return view('iq.travel.programm.detail', $data); } @@ -55,15 +54,15 @@ class TravelProgrammController extends Controller $data = Request::all(); if(isset($data['action'])){ if($data['action'] === 'saveAll'){ - $travel_group = $this->tavelRepo->updateTravelGroup($id, $data); + $travel_program = $this->travelRepo->updateTravelProgram($id, $data); \Session()->flash('alert-save', '1'); - return redirect(route('iq_travel_group_detail', [$travel_group->id])); + return redirect(route('iq_travel_programm_detail', [$travel_program->id])); } - if($data['action'] === 'save-iq_travel_item_group'){ - $travel_group_item = $this->tavelRepo->updateTravelGroupItem($id, $data); + if($data['action'] === 'save-iq_travel_program_items'){ + $travel_program = $this->travelRepo->createTravelProgramItems($id, $data); \Session()->flash('alert-save', '1'); - return redirect(route('iq_travel_group_detail', [$id])); + return redirect(route('iq_travel_programm_detail', [$id])); } } @@ -72,37 +71,46 @@ class TravelProgrammController extends Controller public function delete($id, $del=false){ - if($del === 'i_q_travel_group_item'){ - $IQTravelGroupItem = IQTravelGroupItem::findOrFail($id); - $r_id = $IQTravelGroupItem->i_q_travel_group_id; + if($del === 'i_q_travel_program_item'){ + $IQTravelProgramItem = IQTravelProgramItem::findOrFail($id); + $IQTravelProgram = $IQTravelProgramItem->i_q_travel_program; //TODO check need ??? - $IQTravelGroupItem->delete(); + $IQTravelProgramItem->delete(); + $this->travelRepo->sortPosTravelProgramItems($IQTravelProgram); \Session()->flash('alert-success', __('Eintrag gelöscht')); - return redirect(route('iq_travel_group_detail', [$r_id])); + return redirect(route('iq_travel_programm_detail', [$IQTravelProgram->id])); } - if($del === 'iq_travel_group'){ - $IQTravelGroup = IQTravelGroup::findOrFail($id); + if($del === 'iq_travel_programm'){ + $IQTravelProgram = IQTravelProgram::findOrFail($id); //TODO check need ??? - $IQTravelGroup->delete(); + $IQTravelProgram->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); - return redirect(route('iq_travel_groups')); + return redirect(route('iq_travel_programms')); } return back(); } - public function getTravelGroups() + public function getTravelProgramms() { - $query = IQTravelGroup::with('i_q_travel_group_items')->with('i_q_travel_group_items.i_q_travel_item')->select('i_q_travel_groups.*'); + //->with('i_q_travel_program_items.i_q_travel_item') + $query = IQTravelProgram::with('i_q_travel_program_items')->select('i_q_travel_programs.*'); return \DataTables::eloquent($query) - ->addColumn('action_edit', function (IQTravelGroup $iq_travel_group) { - return ''; + ->addColumn('action_edit', function (IQTravelProgram $iq_travel_program) { + return ''; }) - ->addColumn('trave_items', function (IQTravelGroup $iq_travel_group) { + + ->addColumn('typ', function (IQTravelProgram $iq_travel_program) { + return $iq_travel_program->typ ? IQTravelProgram::$status_type[$iq_travel_program->typ] : '-'; + }) + ->addColumn('country', function (IQTravelProgram $iq_travel_program) { + return $iq_travel_program->travel_country ? $iq_travel_program->travel_country->name : ''; + }) + ->addColumn('travel_items', function (IQTravelProgram $iq_travel_program) { $ret = ""; - if($iq_travel_group->i_q_travel_group_items->count()){ - foreach($iq_travel_group->i_q_travel_group_items as $i_q_travel_group_item){ + /*if($iq_travel_program->i_q_travel_group_items->count()){ + foreach($iq_travel_program->i_q_travel_group_items as $i_q_travel_group_item){ $ret .= $i_q_travel_group_item->i_q_travel_item->name; $ret .= $i_q_travel_group_item->i_q_travel_item->draft_type_id ? '   |  '.$i_q_travel_group_item->i_q_travel_item->draft_type->name.'' : ''; @@ -110,17 +118,17 @@ class TravelProgrammController extends Controller $ret .= "
"; } $ret = rtrim($ret, '
'); - } + }*/ return $ret; }) - ->addColumn('active', function (IQTravelGroup $iq_travel_group) { - return get_active_badge($iq_travel_group->active); + ->addColumn('active', function (IQTravelProgram $iq_travel_program) { + return get_active_badge($iq_travel_program->active); }) - ->addColumn('action_delete', function (IQTravelGroup $iq_travel_group) { - return ''; + ->addColumn('action_delete', function (IQTravelProgram $iq_travel_program) { + return ''; }) ->orderColumn('id', 'id $1') - ->rawColumns(['action_edit', 'id', 'active', 'trave_items', 'action_delete']) + ->rawColumns(['action_edit', 'id', 'active', 'travel_items', 'action_delete']) ->make(true); } } diff --git a/app/Http/Controllers/ModalController.php b/app/Http/Controllers/ModalController.php index 7165eb7..710bb37 100644 --- a/app/Http/Controllers/ModalController.php +++ b/app/Http/Controllers/ModalController.php @@ -8,6 +8,7 @@ use App\Models\IQContentSite; use App\Models\TravelCountry; use App\Models\IQTravelGroupItem; use App\Models\IQTravelItemPlace; +use App\Models\IQTravelProgramItem; use App\Models\TravelCompanyService; use App\Models\TravelCountryService; use App\Models\ServiceProviderService; @@ -93,7 +94,15 @@ class ModalController extends Controller $ret = view("admin.modal.iq_travel_group-item", compact('data', 'value'))->render(); } - + if($data['action'] === 'modal-iq_travel_program-item'){ + if($data['id'] === 'new'){ + $value = new IQTravelProgramItem(); + $value->pos = 0; + }else{ + $value = IQTravelProgramItem::find($data['id']); + } + $ret = view("admin.modal.iq_travel_program-item", compact('data', 'value'))->render(); + } } return response()->json(['response' => $data, 'html'=>$ret, 'status'=>$status]); diff --git a/app/Models/IQTravelGroup.php b/app/Models/IQTravelGroup.php index df9fab7..634bfdd 100644 --- a/app/Models/IQTravelGroup.php +++ b/app/Models/IQTravelGroup.php @@ -63,7 +63,7 @@ class IQTravelGroup extends Model public function i_q_travel_group_items() { - return $this->hasMany(IQTravelGroupItem::class)->orderBy('pos', 'DESC'); + return $this->hasMany(IQTravelGroupItem::class)->orderBy('pos', 'ASC'); } diff --git a/app/Models/IQTravelItem.php b/app/Models/IQTravelItem.php index d55e7f5..45841b5 100644 --- a/app/Models/IQTravelItem.php +++ b/app/Models/IQTravelItem.php @@ -81,7 +81,7 @@ class IQTravelItem extends Model public function i_q_travel_item_places() { - return $this->hasMany(IQTravelItemPlace::class)->orderBy('pos', 'DESC'); + return $this->hasMany(IQTravelItemPlace::class)->orderBy('pos', 'ASC'); } public function draft_type() diff --git a/app/Models/IQTravelProgram.php b/app/Models/IQTravelProgram.php new file mode 100644 index 0000000..97561ea --- /dev/null +++ b/app/Models/IQTravelProgram.php @@ -0,0 +1,159 @@ + 'int', + 'days_duration' => 'int', + 'typ' => 'int', + 'discount' => 'float', + 'deposit_pro' => 'float', + 'price_adult_total' => 'float', + 'price_children_total' => 'float', + 'active' => 'bool', + 'weekdays' => 'array', + 'travel_insurance' => 'array', + ]; + + protected $fillable = [ + 'name', + 'code', + 'typ', + 'travel_country_id', + 'description', + 'highlights', + 'not_included', + 'weekdays', + 'days_duration', + 'discount', + 'deposit_pro', + 'price_adult_total', + 'price_children_total', + 'travel_insurance', + 'active' + ]; + + public static $status_type = [ + 0 => '-', + 4 => '--- ist noch genau zu definieren', + 1 => 'individuelles Angebot', + 2 => 'Reiseangebot', + 3 => 'Reisekonfigurator', + + ]; + + public static $days = [ + 0 => 'Sonntag', + 1 => 'Montag', + 2 => 'Dienstag', + 3 => 'Mittwoch', + 4 => 'Donnerstag', + 5 => 'Freitag', + 6 => 'Samstag' + ]; + + public function travel_country() + { + return $this->belongsTo(TravelCountry::class); + } + + public function i_q_travel_program_items() + { + return $this->hasMany(IQTravelProgramItem::class)->orderBy('pos', 'ASC'); + } + + + //price_adult_total + public function getPriceAdultTotalAttribute() + { + return isset($this->attributes['price_adult_total']) ? Util::_number_format($this->attributes['price_adult_total']) : null; + } + public function setPriceAdultTotalAttribute($value) + { + $this->attributes['price_adult_total'] = $value ? Util::_clean_float($value) : null; + } + public function getPriceAdultTotalRaw() + { + + return isset($this->attributes['price_adult_total']) ? $this->attributes['price_adult_total'] : 0; + } + public function setPriceAdultTotalRaw($value) + { + return $this->attributes['price_adult_total'] = $value; + } + + + //price_children_total + public function getPriceChildrenTotalAttribute() + { + return isset($this->attributes['price_children_total']) ? Util::_number_format($this->attributes['price_children_total']) : null; + } + public function setPriceChildrenTotalAttribute($value) + { + $this->attributes['price_children_total'] = $value ? Util::_clean_float($value) : null; + } + public function getPriceChildrenTotalRaw() + { + return isset($this->attributes['price_children_total']) ? $this->attributes['price_children_total'] : 0; + } + public function setPriceChildrenTotalRaw($value) + { + return $this->attributes['price_children_total'] = $value; + } + + + public static function getWeekdaysOptions($weekdays = []){ + + if($weekdays === null){ + $weekdays = []; + } + $options = range(0, 6); + $ret = ''; + foreach ($options as $option){ + $attr = (in_array($option, $weekdays)) ? 'selected="selected"' : ''; + $ret .= '\n'; + } + return $ret; + } +} diff --git a/app/Models/IQTravelProgramItem.php b/app/Models/IQTravelProgramItem.php new file mode 100644 index 0000000..49471a4 --- /dev/null +++ b/app/Models/IQTravelProgramItem.php @@ -0,0 +1,70 @@ + 'int', + 'i_q_travel_item_id' => 'int', + 'i_q_travel_group_id' => 'int', + 'typ' => 'int', + 'pos' => 'int', + 'active' => 'bool' + ]; + + protected $fillable = [ + 'i_q_travel_program_id', + 'i_q_travel_item_id', + 'i_q_travel_group_id', + 'typ', + 'pos', + 'active' + ]; + + public function i_q_travel_group() + { + return $this->belongsTo(IQTravelGroup::class); + } + + public function i_q_travel_item() + { + return $this->belongsTo(IQTravelItem::class); + } + + public function i_q_travel_program() + { + return $this->belongsTo(IQTravelProgram::class); + } +} diff --git a/app/Repositories/IQ/TravelRepository.php b/app/Repositories/IQ/TravelRepository.php index cd2700d..3524847 100644 --- a/app/Repositories/IQ/TravelRepository.php +++ b/app/Repositories/IQ/TravelRepository.php @@ -6,6 +6,8 @@ use App\Models\IQTravelGroup; use App\Models\IQTravelGroupItem; use App\Models\IQTravelItem; use App\Models\IQTravelItemPlace; +use App\Models\IQTravelProgram; +use App\Models\IQTravelProgramItem; use App\Repositories\BaseRepository; class TravelRepository extends BaseRepository { @@ -17,6 +19,78 @@ class TravelRepository extends BaseRepository { } + public function updateTravelProgram($id, $data) + { + + $data['travel_country_id'] = $data['travel_country_id'] ? $data['travel_country_id'] : null; + + if($id == "new"){ + $this->model = IQTravelProgram::create($data); + } + else{ + $this->model = IQTravelProgram::findOrFail($id); + $this->model->fill($data); + $this->model->save(); + } + + return $this->model; + } + + public function createTravelProgramItems($id, $data) + { + $this->model = IQTravelProgram::findOrFail($id); + $data['pos'] = isset($data['pos']) ? intval($data['pos']) : 0; + $data['typ'] = isset($data['typ']) ? intval($data['typ']) : 0; + $data['i_q_travel_program_id'] = $data['iq_travel_program_id']; + + $pos = $this->sortPosTravelProgramItems($this->model); + + if($data['iq_travel_program_item_id'] == "new"){ + if(isset($data['i_q_travel_item_ids']) && is_array($data['i_q_travel_item_ids'])){ + foreach($data['i_q_travel_item_ids'] as $key=>$i_q_travel_item_id){ + IQTravelProgramItem::create([ + 'i_q_travel_program_id' => $this->model->id, + 'i_q_travel_item_id' => intval($i_q_travel_item_id), + 'i_q_travel_group_id' => null, + 'typ' => $data['typ'], + 'pos' => $pos, + ]); + $pos++; + } + } + + if(isset($data['i_q_travel_group_ids']) && is_array($data['i_q_travel_group_ids'])){ + foreach($data['i_q_travel_group_ids'] as $key=>$i_q_travel_group_id){ + $IQTravelGroup = IQTravelGroup::findOrFail($i_q_travel_group_id); + if($IQTravelGroup->i_q_travel_group_items){ + foreach($IQTravelGroup->i_q_travel_group_items as $IQTravelGroupItem){ + IQTravelProgramItem::create([ + 'i_q_travel_program_id' => $this->model->id, + 'i_q_travel_item_id' => $IQTravelGroupItem->i_q_travel_item_id, + 'i_q_travel_group_id' => $IQTravelGroupItem->i_q_travel_group_id, + 'typ' => $data['typ'], + 'pos' => $pos, + ]); + $pos++; + } + } + } + } + } + return $this->model; + } + + public function sortPosTravelProgramItems($IQTravelProgram){ + $pos = 1; + if($IQTravelProgram->i_q_travel_program_items){ + foreach ($IQTravelProgram->i_q_travel_program_items as $IQTravelProgramItem){ + $IQTravelProgramItem->pos = $pos; + $IQTravelProgramItem->save(); + $pos++; + } + } + return $pos; + } diff --git a/app/Services/HTMLHelper.php b/app/Services/HTMLHelper.php index bcd0863..d619a36 100644 --- a/app/Services/HTMLHelper.php +++ b/app/Services/HTMLHelper.php @@ -1,25 +1,27 @@ orderBy('id', $order)->get(); + $ret = ''; + if($empty){ + $ret = '\n'; + } + foreach ($options as $option){ + $attr = ($option->id === $id) ? 'selected="selected"' : ''; + $ret .= '\n'; + } + return $ret; + } + public static function getCustomerMailDirsOptions(CMSContent $customer_mail_dir, $checked = []){ //$checked = []; $model = $customer_mail_dir->getArrayContent('model'); diff --git a/database/migrations/2021_08_10_114705_create_i_q_travel_programs_table.php b/database/migrations/2021_08_10_114705_create_i_q_travel_programs_table.php new file mode 100644 index 0000000..8213f88 --- /dev/null +++ b/database/migrations/2021_08_10_114705_create_i_q_travel_programs_table.php @@ -0,0 +1,59 @@ +create('i_q_travel_programs', function (Blueprint $table) { + + $table->increments('id'); + + $table->string('name')->nullable(); + $table->string('code')->nullable(); + $table->unsignedTinyInteger('typ')->nullable(); + + $table->integer('travel_country_id')->nullable(); + + $table->text('description')->nullable(); + $table->text('highlights')->nullable(); + $table->text('not_included')->nullable(); + + $table->string('weekdays')->nullable(); + $table->tinyInteger('days_duration')->unsigned()->nullable(); + + $table->decimal('discount', 5, 2)->nullable(); + $table->decimal('deposit_pro', 5, 2)->nullable(); + $table->decimal('price_adult_total', 10, 2)->nullable(); + $table->decimal('price_children_total', 10, 2)->nullable(); + + $table->string('travel_insurance')->nullable(); + + $table->boolean('active')->default(true); + + $table->timestamps(); + + $table->foreign('travel_country_id') + ->references('id') + ->on('travel_country'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::connection('mysql_stern')->dropIfExists('i_q_travel_programs'); + } +} diff --git a/database/migrations/2021_08_10_114745_create_i_q_travel_program_items_table.php b/database/migrations/2021_08_10_114745_create_i_q_travel_program_items_table.php new file mode 100644 index 0000000..8560c3f --- /dev/null +++ b/database/migrations/2021_08_10_114745_create_i_q_travel_program_items_table.php @@ -0,0 +1,55 @@ +create('i_q_travel_program_items', function (Blueprint $table) { + $table->bigIncrements('id'); + + $table->unsignedInteger('i_q_travel_program_id')->index(); + $table->unsignedInteger('i_q_travel_item_id')->nullable()->index(); + $table->unsignedInteger('i_q_travel_group_id')->nullable()->index(); + + $table->unsignedTinyInteger('typ')->nullable(); + $table->unsignedTinyInteger('pos')->nullable(); + $table->boolean('active')->default(true); + + $table->timestamps(); + + $table->foreign('i_q_travel_program_id') + ->references('id') + ->on('i_q_travel_programs') + ->onDelete('cascade'); + + $table->foreign('i_q_travel_item_id') + ->references('id') + ->on('i_q_travel_items') + ->onDelete('cascade'); + + $table->foreign('i_q_travel_group_id') + ->references('id') + ->on('i_q_travel_groups') + ->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::connection('mysql_stern')->dropIfExists('i_q_travel_program_items'); + } +} diff --git a/resources/views/admin/modal/iq_travel_item-place.blade.php b/resources/views/admin/modal/iq_travel_item-place.blade.php index a968ebd..254b146 100644 --- a/resources/views/admin/modal/iq_travel_item-place.blade.php +++ b/resources/views/admin/modal/iq_travel_item-place.blade.php @@ -14,13 +14,12 @@