06 2022
This commit is contained in:
parent
34a3d2196b
commit
93d1bea8e3
45 changed files with 1601 additions and 573 deletions
2
.env
2
.env
|
|
@ -6,7 +6,7 @@ APP_URL=https://mein.sterntours.test
|
|||
APP_OLD_URL=https://cms-stern-tours.test
|
||||
|
||||
#APP_URL_V2=https://v2.stern-tours.de
|
||||
APP_URL_V2=https://v2-sterntours.test
|
||||
APP_URL_V2=https://v2.sterntours.test
|
||||
|
||||
#APP_URL_STERN=https://www.sterntours.de
|
||||
APP_URL_STERN=https://sterntours.test
|
||||
|
|
|
|||
|
|
@ -3,24 +3,25 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Models\BookingApplication;
|
||||
use App\Models\BookingConfirmation;
|
||||
use App\Models\BookingStorno;
|
||||
use App\Models\BookingVoucher;
|
||||
use App\Models\Coupon;
|
||||
use App\Models\FewoLodging;
|
||||
use App\Models\InsuranceCertificate;
|
||||
use App\Models\TravelInsurance;
|
||||
use App\Repositories\CustomerFileRepository;
|
||||
use App\Services\BookingFewo;
|
||||
use App\Services\CreateCouponPDF;
|
||||
use App\Services\CreatePDF;
|
||||
use App\Services\Util;
|
||||
use Carbon;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use Request;
|
||||
use Response;
|
||||
use App\Models\Coupon;
|
||||
use App\Services\Util;
|
||||
use App\Models\FewoLodging;
|
||||
use App\Services\CreatePDF;
|
||||
use App\Models\BookingStorno;
|
||||
use App\Services\BookingFewo;
|
||||
use App\Models\BookingVoucher;
|
||||
use App\Models\TravelInsurance;
|
||||
use App\Services\CreateCouponPDF;
|
||||
use App\Models\BookingApplication;
|
||||
use App\Models\BookingConfirmation;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use App\Models\BookingVoucherAgency;
|
||||
use App\Models\InsuranceCertificate;
|
||||
use App\Repositories\CustomerFileRepository;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
|
||||
class CustomerFileController extends Controller
|
||||
{
|
||||
|
|
@ -75,9 +76,16 @@ class CustomerFileController extends Controller
|
|||
}
|
||||
break;
|
||||
case 'booking_voucher':
|
||||
if($booking_vouchers = BookingVoucher::find($id)){
|
||||
$filename = "Voucher-".$booking_vouchers->booking->getBookingNumber().".pdf";
|
||||
$file = base64_decode($booking_vouchers->binary_data);
|
||||
if($booking_voucher = BookingVoucher::find($id)){
|
||||
$filename = "Voucher-".$booking_voucher->booking->getBookingNumber().".pdf";
|
||||
$file = base64_decode($booking_voucher->binary_data);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'booking_voucher_agency':
|
||||
if($booking_voucher_agency = BookingVoucherAgency::find($id)){
|
||||
$filename = "Voucher-Agentur-".$booking_voucher_agency->booking->getBookingNumber().".pdf";
|
||||
$file = base64_decode($booking_voucher_agency->binary_data);
|
||||
}
|
||||
break;
|
||||
case 'insurance_certificate':
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ class TravelAgendaController extends Controller
|
|||
|
||||
public function delete($id){
|
||||
|
||||
if(Booking::where('travelagenda_id', $id)->count()){
|
||||
\Session()->flash('alert-error', 'Eintrag wird verwendet');
|
||||
if(Booking::where('travelagenda_id', $id)->count()){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Buchnungen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\TravelArrivalPoint;
|
||||
use Request;
|
||||
|
||||
class TravelArrivalPointController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(['superadmin', '2fa']);
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'travel_arrival_point' => TravelArrivalPoint::all(),
|
||||
];
|
||||
return view('settings.travel_arrival_point.index', $data);
|
||||
}
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
if($data['id'] === "new"){
|
||||
$model = TravelArrivalPoint::create([
|
||||
'name' => $data['name'],
|
||||
'active' => isset($data['active']) ? true : false,
|
||||
'travel_country_id' => $data['travel_country_id'],
|
||||
|
||||
]);
|
||||
}else{
|
||||
$model = TravelArrivalPoint::find($data['id']);
|
||||
$model->name = $data['name'];
|
||||
$model->active = isset($data['active']) ? true : false;
|
||||
$model->travel_country_id = $data['travel_country_id'];
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_travel_arrival_point'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
|
||||
$model = TravelArrivalPoint::findOrFail($id);
|
||||
if($model->travel_programs->count() > 0){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Reiseprogrammen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
67
app/Http/Controllers/Settings/TravelCategoryController.php
Normal file
67
app/Http/Controllers/Settings/TravelCategoryController.php
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\TravelCategory;
|
||||
use Request;
|
||||
|
||||
class TravelCategoryController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(['superadmin', '2fa']);
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'travel_category' => TravelCategory::all(),
|
||||
];
|
||||
return view('settings.travel_category.index', $data);
|
||||
}
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
if($data['id'] === "new"){
|
||||
$model = TravelCategory::create([
|
||||
'name' => $data['name'],
|
||||
'active' => isset($data['active']) ? true : false
|
||||
|
||||
]);
|
||||
}else{
|
||||
$model = TravelCategory::find($data['id']);
|
||||
$model->name = $data['name'];
|
||||
$model->active = isset($data['active']) ? true : false;
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_travel_category'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
|
||||
$model = TravelCategory::findOrFail($id);
|
||||
if($model->bookings->count() > 0){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Buchnungen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
if($model->travel_programs->count() > 0){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Programmen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
if($model->leads->count() > 0){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Anfragen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\TravelGerneralNote;
|
||||
use Request;
|
||||
|
||||
class TravelGerneralNotesController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(['superadmin', '2fa']);
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'gerneral_notes' => TravelGerneralNote::all(),
|
||||
];
|
||||
return view('settings.gerneral_notes.index', $data);
|
||||
}
|
||||
|
||||
public function update(){
|
||||
$data = Request::all();
|
||||
if($data['id'] === "new"){
|
||||
$model = TravelGerneralNote::create([
|
||||
'name' => $data['name'],
|
||||
'text' => $data['text']
|
||||
]);
|
||||
}else{
|
||||
$model = TravelGerneralNote::find($data['id']);
|
||||
$model->name = $data['name'];
|
||||
$model->text = $data['text'];
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_gerneral_notes'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
$model = TravelGerneralNote::findOrFail($id);
|
||||
if($model->travel_programs->count() > 0){
|
||||
\Session()->flash('alert-error', 'Eintrag wird bei Reiseprogrammen verwendet');
|
||||
return redirect()->back();
|
||||
}
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -48,10 +48,23 @@ class TravelProgramController extends Controller
|
|||
|
||||
public function store($id)
|
||||
{
|
||||
//TODO new must have an extra funtction!
|
||||
$data = Request::all();
|
||||
$program = $this->travelProgramRepo->update($data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_program_detail', [$program->id]));
|
||||
if(!isset($data['action'])){
|
||||
abort(403, 'keine Action');
|
||||
}
|
||||
if($data['action'] === 'saveGeneral'){
|
||||
$program = $this->travelProgramRepo->updateGeneral($id, $data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_program_detail', [$program->id])."#collapseBookingNotice");
|
||||
}
|
||||
if($data['action'] === 'saveDetails'){
|
||||
$program = $this->travelProgramRepo->updateDetail($id, $data);
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_program_detail', [$program->id])."#collapseTravelProgramDetails");
|
||||
}
|
||||
|
||||
return redirect(route('travel_program_detail', [$id]));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -68,6 +81,7 @@ class TravelProgramController extends Controller
|
|||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('travel_program_detail', [$data['program_id']]));
|
||||
}
|
||||
|
||||
public function classDelete($id){
|
||||
$travel_class = TravelClass::findOrFail($id);
|
||||
$pId = $travel_class->program_id;
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ use Illuminate\Database\Eloquent\Collection;
|
|||
* @property Collection|BookingInvoice[] $booking_invoices
|
||||
* @property Collection|BookingServiceItem[] $booking_service_items
|
||||
* @property Collection|BookingVoucher[] $booking_vouchers
|
||||
* @property Collection|BookingVoucherAgency[] $booking_voucher_agencys
|
||||
* @property Collection|Coupon[] $coupons
|
||||
* @property Collection|InsuranceCertificate[] $insurance_certificates
|
||||
* @property Collection|Participant[] $participants
|
||||
|
|
@ -155,6 +156,7 @@ use Illuminate\Database\Eloquent\Collection;
|
|||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\BookingStorno[] $booking_stornos
|
||||
* @property-read int|null $booking_stornos_count
|
||||
* @property-read int|null $booking_vouchers_count
|
||||
* @property-read int|null $booking_voucher_agencys_count
|
||||
* @property-read int|null $travel_insurances_count
|
||||
* @property string|null $origin_start_date
|
||||
* @property \Illuminate\Support\Carbon|null $lawyer_date
|
||||
|
|
@ -496,6 +498,11 @@ class Booking extends Model
|
|||
return $this->hasMany(BookingVoucher::class);
|
||||
}
|
||||
|
||||
public function booking_voucher_agencys()
|
||||
{
|
||||
return $this->hasMany(BookingVoucherAgency::class);
|
||||
}
|
||||
|
||||
public function travel_insurances()
|
||||
{
|
||||
return $this->hasMany(TravelInsurance::class);
|
||||
|
|
|
|||
49
app/Models/BookingVoucherAgency.php
Normal file
49
app/Models/BookingVoucherAgency.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class BookingVoucherAgency
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $booking_id
|
||||
* @property boolean $binary_data
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
* @property Booking $booking
|
||||
* @package App\Models
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency whereBinaryData($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency whereBookingId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingVoucherAgency whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BookingVoucherAgency extends Model
|
||||
{
|
||||
protected $table = 'booking_voucher_agency';
|
||||
|
||||
protected $casts = [
|
||||
'booking_id' => 'int',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'booking_id',
|
||||
'binary_data'
|
||||
];
|
||||
|
||||
public function booking()
|
||||
{
|
||||
return $this->belongsTo(Booking::class);
|
||||
}
|
||||
}
|
||||
78
app/Models/TravelArrivalPoint.php
Normal file
78
app/Models/TravelArrivalPoint.php
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class TravelInsurance
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $booking_id
|
||||
* @property string $policy_number
|
||||
* @property string $ak
|
||||
* @property string $an
|
||||
* @property string $akt
|
||||
* @property float $premium
|
||||
* @property string $request_data
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
* @property Booking $booking
|
||||
* @package App\Models
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAk($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAkt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAn($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereBookingId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance wherePolicyNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance wherePremium($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereRequestData($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class TravelArrivalPoint extends Model
|
||||
{
|
||||
protected $connection = 'mysql_stern';
|
||||
|
||||
protected $table = 'travel_arrival_point';
|
||||
public $timestamps = false;
|
||||
|
||||
protected $casts = [
|
||||
'travel_country_id' => 'int',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'travel_country_id',
|
||||
'active'
|
||||
|
||||
];
|
||||
|
||||
public function travel_programs()
|
||||
{
|
||||
return $this->hasMany(TravelProgram::class, 'travel_arrival_point_id');
|
||||
}
|
||||
|
||||
//on crm
|
||||
/* public function travel_country_crm()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Sym\TravelCountry', 'travel_country_id', 'crm_id');
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//on stern DB relaunch
|
||||
public function travel_country()
|
||||
{
|
||||
return $this->belongsTo('App\Models\TravelCountry', 'travel_country_id', 'id');
|
||||
}
|
||||
}
|
||||
|
|
@ -34,7 +34,8 @@ class TravelCategory extends Model
|
|||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'name'
|
||||
'name',
|
||||
'active'
|
||||
];
|
||||
|
||||
public function bookings()
|
||||
|
|
@ -46,4 +47,9 @@ class TravelCategory extends Model
|
|||
{
|
||||
return $this->hasMany(Lead::class, 'travelcategory_id');
|
||||
}
|
||||
|
||||
public function travel_programs()
|
||||
{
|
||||
return $this->hasMany(TravelProgram::class, 'travel_category');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
60
app/Models/TravelGerneralNote.php
Normal file
60
app/Models/TravelGerneralNote.php
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class TravelInsurance
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $booking_id
|
||||
* @property string $policy_number
|
||||
* @property string $ak
|
||||
* @property string $an
|
||||
* @property string $akt
|
||||
* @property float $premium
|
||||
* @property string $request_data
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
* @property Booking $booking
|
||||
* @package App\Models
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAk($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAkt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereAn($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereBookingId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance wherePolicyNumber($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance wherePremium($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereRequestData($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelInsurance whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class TravelGerneralNote extends Model
|
||||
{
|
||||
protected $connection = 'mysql_stern';
|
||||
protected $table = 'travel_general_notes';
|
||||
public $timestamps = false;
|
||||
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'text',
|
||||
// 'active'
|
||||
|
||||
];
|
||||
|
||||
public function travel_programs()
|
||||
{
|
||||
return $this->hasMany(TravelProgram::class, 'generalnote');
|
||||
}
|
||||
}
|
||||
|
|
@ -163,6 +163,12 @@ class TravelProgram extends Model
|
|||
1 => 'Vermittlung'
|
||||
];
|
||||
|
||||
public static $programDiscountTypes = [
|
||||
0 => '€',
|
||||
1 => '%'
|
||||
];
|
||||
|
||||
|
||||
public static $travelCategoryTypes = [
|
||||
1 => 'Ägypten-Reise',
|
||||
2 => 'Israel-Reise',
|
||||
|
|
@ -172,9 +178,9 @@ class TravelProgram extends Model
|
|||
|
||||
public function travel_arrival_point()
|
||||
{
|
||||
return $this->belongsTo(TravelArrivalPoint::class);
|
||||
return $this->belongsTo(TravelArrivalPoint::class, 'travel_arrival_point_id');
|
||||
}
|
||||
|
||||
//default 1 sterntours
|
||||
public function travel_organizer()
|
||||
{
|
||||
return $this->belongsTo(TravelOrganizer::class, 'organizer');
|
||||
|
|
|
|||
|
|
@ -690,7 +690,7 @@ class TravelUserBookingFewo extends Model
|
|||
$salutation = __('Dear Sir')." ".$this->travel_user->last_name;
|
||||
}
|
||||
if($this->travel_user->salutation_id == 2){
|
||||
$salutation = __('Dear Sir')." ".$this->travel_user->last_name;
|
||||
$salutation = __('Dear Mrs')." ".$this->travel_user->last_name;
|
||||
}
|
||||
if($this->travel_user->salutation_id == 4){
|
||||
$salutation = __('Dear customer')." ".$this->travel_user->last_name;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class TravelProgramRepository extends BaseRepository {
|
|||
|
||||
public function update($data)
|
||||
{
|
||||
if($data['id'] == "new"){
|
||||
/*if($data['id'] == "new"){
|
||||
$this->model = TravelProgram::createNew();
|
||||
}
|
||||
else{
|
||||
|
|
@ -29,9 +29,88 @@ class TravelProgramRepository extends BaseRepository {
|
|||
$this->model->fill($data);
|
||||
$this->model->status = isset($data['status']) ? true : false;
|
||||
$this->model->save();
|
||||
return $this->model;*/
|
||||
}
|
||||
|
||||
|
||||
public function updateGeneral($id, $data){
|
||||
//weekdays
|
||||
$this->model = TravelProgram::findOrFail($id);
|
||||
|
||||
$this->checkDraftsWeekdays($data['weekdays']);
|
||||
$data['weekdays'] = $this->model->setWeekdaysFromArray($data['weekdays']);
|
||||
|
||||
$fill = [
|
||||
'title' => $data['title'],
|
||||
'subtitle' => $data['subtitle'],
|
||||
'program_code' => $data['program_code'],
|
||||
'program_type' => $data['program_type'] ? $data['program_type'] : null,
|
||||
'category_id' => $data['category_id'] ? $data['category_id'] : null,
|
||||
'travel_country' => $data['travel_country'] ? $data['travel_country'] : null,
|
||||
'travel_agenda' => $data['travel_agenda'] ? $data['travel_agenda'] : null,
|
||||
'travel_category' => $data['travel_category'] ? $data['travel_category'] : null,
|
||||
'travel_company' => $data['travel_company'] ? $data['travel_company'] : null,
|
||||
'status' => isset($data['status']) ? 1 : 0,
|
||||
'weekdays' => $data['weekdays'],
|
||||
];
|
||||
$this->model->fill($fill);
|
||||
$this->model->save();
|
||||
return $this->model;
|
||||
}
|
||||
|
||||
|
||||
public function updateDetail($id, $data){
|
||||
//weekdays
|
||||
$this->model = TravelProgram::findOrFail($id);
|
||||
|
||||
$this->checkDraftsWeekdays($data['weekdays']);
|
||||
$data['weekdays'] = $this->model->setWeekdaysFromArray($data['weekdays']);
|
||||
|
||||
$fill = [
|
||||
'default_flight_price' => $data['default_flight_price'] ? $data['default_flight_price'] : null,
|
||||
'deposit_percent' => $data['deposit_percent'] ? $data['deposit_percent'] : null,
|
||||
'discount' => $data['discount'] ? $data['discount'] : null,
|
||||
'discount_is_percent_value' => $data['discount_is_percent_value'] ? $data['discount_is_percent_value'] : null,
|
||||
'travel_arrival_point_id' => $data['travel_arrival_point_id'] ? $data['travel_arrival_point_id'] : null,
|
||||
'max_age_for_children' => $data['max_age_for_children'] ? $data['max_age_for_children'] : null,
|
||||
'url' => $data['url'] ? $data['url'] : null,
|
||||
'generalnote' => $data['generalnote'] ? $data['generalnote'] : null,
|
||||
];
|
||||
$this->model->fill($fill);
|
||||
$this->model->save();
|
||||
return $this->model;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
'profit_margin',
|
||||
'program_duration',
|
||||
'is_seasonal',
|
||||
'youth',
|
||||
'slider_info',
|
||||
'organizer',
|
||||
'generalnote',
|
||||
'included',
|
||||
'class_description',
|
||||
'excluded',
|
||||
'advices',
|
||||
'notes',
|
||||
'html_description',
|
||||
'insurance_1',
|
||||
'insurance_2',
|
||||
'insurance_3',
|
||||
'insurance_4',
|
||||
'in_slider',
|
||||
'show_map',
|
||||
'map_html',
|
||||
'map_image',
|
||||
'map_image_ext',
|
||||
'netto_prices_in_euro',
|
||||
'text_right',
|
||||
'position',
|
||||
*/
|
||||
|
||||
public function checkDraftsWeekdays($weekdays){
|
||||
if(isset($weekdays) && is_array($weekdays) && $weekdays[0] === NULL){
|
||||
$weekdays = range(0, 6);
|
||||
|
|
|
|||
|
|
@ -412,7 +412,7 @@ class HTMLHelper
|
|||
public static function getWeekdaysString($weekdays = []){
|
||||
|
||||
$ret = "";
|
||||
if(count($weekdays)){
|
||||
if(is_array($weekdays) && count($weekdays)){
|
||||
foreach($weekdays as $weekday){
|
||||
if($weekday !== NULL){
|
||||
$ret .= self::getDay($weekday).', ';
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ use App\Models\TravelCategory;
|
|||
use App\Models\ServiceProvider;
|
||||
use App\Models\TravelNationality;
|
||||
use App\Models\Sym\TravelCountry as SymTravelCountry;
|
||||
use App\Models\TravelArrivalPoint;
|
||||
use App\Models\TravelGerneralNote;
|
||||
|
||||
class Model
|
||||
{
|
||||
|
|
@ -25,18 +27,16 @@ class Model
|
|||
public static function getTravelCountryArray($emtpy = false){
|
||||
$TravelCountry = TravelCountry::where('active_backend', 1)->orderBy('name')->get()->pluck('name', 'id');
|
||||
return $emtpy ? $TravelCountry->prepend('-', 0) : $TravelCountry;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static function getTravelCountryCRMArray($emtpy = false){
|
||||
public static function getTravelCountryCRMArray($emtpy = false){
|
||||
$TravelCountry = TravelCountry::where('active_backend', 1)->orderBy('name')->get()->pluck('name', 'crm_id');
|
||||
return $emtpy ? $TravelCountry->prepend('-', 0) : $TravelCountry;
|
||||
}
|
||||
|
||||
public static function getTravelCategoryArray($emtpy = false){
|
||||
$TravelCategory = TravelCategory::orderBy('name')->get()->pluck('name', 'id');
|
||||
$TravelCategory = TravelCategory::where('active', true)->orderBy('name')->get()->pluck('name', 'id');
|
||||
return $emtpy ? $TravelCategory->prepend('-', 0) : $TravelCategory;
|
||||
|
||||
}
|
||||
|
||||
public static function getTravelAgendaArray($emtpy = false, $travelcountry_id = false){
|
||||
|
|
@ -63,6 +63,17 @@ class Model
|
|||
return $emtpy ? $TravelCompany->prepend('-', 0) : $TravelCompany;
|
||||
}
|
||||
|
||||
public static function getTravelArrivalPointArray($emtpy = false){
|
||||
$TravelArrivalPoint = TravelArrivalPoint::where('active', true)->orderBy('name')->get()->pluck('name', 'id');
|
||||
return $emtpy ? $TravelArrivalPoint->prepend('-', 0) : $TravelArrivalPoint;
|
||||
}
|
||||
|
||||
public static function getTravelGerneralNotesArray($emtpy = false){
|
||||
$TravelGerneralNote = TravelGerneralNote::orderBy('name')->get()->pluck('name', 'id');
|
||||
return $emtpy ? $TravelGerneralNote->prepend('-', 0) : $TravelGerneralNote;
|
||||
}
|
||||
|
||||
|
||||
public static function getBranchArray($emtpy = false){
|
||||
$Branch = Branch::orderBy('name')->get()->pluck('name', 'id');
|
||||
return $emtpy ? $Branch->prepend('-', 0) : $Branch;
|
||||
|
|
|
|||
|
|
@ -54,12 +54,16 @@ return [
|
|||
'sua-st-tpl' => ['name' => 'SUPERADMIN > Einstellungen > Reiseorte' , 'color' => 'superadmin'],
|
||||
'sua-st-bs' => ['name' => 'SUPERADMIN > Einstellungen > Reisestatus' , 'color' => 'superadmin'],
|
||||
'sua-st-tc' => ['name' => 'SUPERADMIN > Einstellungen > Veranstalter' , 'color' => 'superadmin'],
|
||||
'sua-st-tca' => ['name' => 'SUPERADMIN > Einstellungen > Reiseart' , 'color' => 'superadmin'],
|
||||
'sua-st-tap' => ['name' => 'SUPERADMIN > Einstellungen > Zielflughafen' , 'color' => 'superadmin'],
|
||||
'sua-st-in' => ['name' => 'SUPERADMIN > Einstellungen > Versicherungen' , 'color' => 'superadmin'],
|
||||
'sua-st-ca' => ['name' => 'SUPERADMIN > Einstellungen > Kategorien' , 'color' => 'superadmin'],
|
||||
'sua-st-tgn' => ['name' => 'SUPERADMIN > Einstellungen > Reisehinweise' , 'color' => 'superadmin'],
|
||||
'sua-re' => ['name' => 'SUPERADMIN > Export' , 'color' => 'superadmin'],
|
||||
'sua-re-bo' => ['name' => 'SUPERADMIN > Export > Buchungen' , 'color' => 'superadmin'],
|
||||
'sua-re-pp' => ['name' => 'SUPERADMIN > Export > Leistungsträger' , 'color' => 'superadmin'],
|
||||
'sua-ur-rt' => ['name' => 'SUPERADMIN > User Rechte' , 'color' => 'danger'],
|
||||
|
||||
'cms-cn-co' => ['name' => 'ADMIN CMS > Inhalte > Länder' , 'color' => 'secondary'],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
/**
|
||||
* Migration auto-generated by Sequel Pro Laravel Export (1.4.1)
|
||||
* @see https://github.com/cviebrock/sequel-pro-laravel-export
|
||||
*/
|
||||
class CreateBookingVoucherTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('booking_voucher_agency', function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->bigInteger('booking_id');
|
||||
$table->binary('binary_data');
|
||||
$table->dateTime('created_at');
|
||||
$table->dateTime('updated_at');
|
||||
|
||||
$table->index('booking_id', 'booking_voucher_agency_booking_id_idx');
|
||||
|
||||
$table->foreign('booking_id', 'booking_voucher_agency_booking_id_booking_id')->references('id')->on('booking')->onDelete('CASCADE
|
||||
')->onUpdate('RESTRICT');
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('booking_voucher_agency');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
/**
|
||||
* Migration auto-generated by Sequel Pro Laravel Export (1.4.1)
|
||||
* @see https://github.com/cviebrock/sequel-pro-laravel-export
|
||||
*/
|
||||
class CreateBookingVoucherTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('booking_voucher', function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->bigInteger('booking_id');
|
||||
$table->binary('binary_data');
|
||||
$table->dateTime('created_at');
|
||||
$table->dateTime('updated_at');
|
||||
|
||||
$table->index('booking_id', 'booking_voucher_booking_id_idx');
|
||||
|
||||
$table->foreign('booking_id', 'booking_voucher_booking_id_booking_id')->references('id')->on('booking')->onDelete('CASCADE
|
||||
')->onUpdate('RESTRICT');
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('booking_voucher');
|
||||
}
|
||||
}
|
||||
|
|
@ -124,15 +124,15 @@
|
|||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id]) }}" target="_blank" class="badge badge-md badge-dark">
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher-ID {{$booking_voucher->id}}
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher ID {{$booking_voucher->id}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Voucher für den Kunden
|
||||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_voucher->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_vouchers', $booking_voucher->id, true]) }}" class="btn btn-xs btn-default"
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id, true]) }}" class="btn btn-xs btn-default"
|
||||
title="Download" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-download"></i>
|
||||
</a>
|
||||
|
|
@ -141,6 +141,29 @@
|
|||
@endforeach
|
||||
@endif
|
||||
|
||||
@if($booking->booking_voucher_agencys)
|
||||
@foreach($booking->booking_voucher_agencys as $booking_voucher_agency)
|
||||
<tr>
|
||||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->id]) }}" target="_blank" class="badge badge-md badge-dark">
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher-Agentur ID {{$booking_voucher_agency->id}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
Voucher für die Agentur
|
||||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_voucher_agency->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->id, true]) }}" class="btn btn-xs btn-default"
|
||||
title="Download" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if($booking->insurance_certificates)
|
||||
@foreach($booking->insurance_certificates as $insurance_certificate)
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -114,15 +114,39 @@
|
|||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id]) }}" target="_blank" class="badge badge-md badge-dark">
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher-ID {{$booking_voucher->id}}
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher ID {{$booking_voucher->id}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Voucher für den Kunden
|
||||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_voucher->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['booking_vouchers', $booking_voucher->id]) }}" data-name="Voucher-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['booking_voucher', $booking_voucher->id]) }}" data-name="Voucher-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-cloud-download-alt"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if($booking->booking_voucher_agencys)
|
||||
@foreach($booking->booking_voucher_agencys as $booking_voucher_agency)
|
||||
<tr>
|
||||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher_agency->id]) }}" target="_blank" class="badge badge-md badge-dark">
|
||||
<i class="fa fa-file-pdf mr-1"></i> Voucher-Agentur ID {{$booking_voucher_agency->id}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
Voucher für die Agentur
|
||||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_voucher_agency->updated_at, 'date')}}</td>
|
||||
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['booking_voucher_agency', $booking_voucher->id]) }}" data-name="Voucher-Agentur-ID_{{$booking_voucher->id}}.pdf" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-cloud-download-alt"></i>
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -5,65 +5,8 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>mein STERN TOURS</title>
|
||||
|
||||
<style type="text/css">
|
||||
img {
|
||||
max-width: 600px;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
outline: none;
|
||||
color: #5f8155;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color:#e5aa30;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
td, h1, h2, h3 {
|
||||
font-family: "Roboto", Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #37302d;
|
||||
background: #ffffff;
|
||||
font-size: 15px;
|
||||
line-height: 26px
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
|
||||
.headline {
|
||||
color: #5f8155;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.force-full-width {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
|
||||
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
|
||||
{{ $copy1line }}
|
||||
|
|
@ -74,7 +17,7 @@
|
|||
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
|
||||
<center>
|
||||
<br>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
@include('emails.header')
|
||||
|
|
@ -89,7 +32,7 @@
|
|||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<tr>
|
||||
<td style="color:#37302d;">
|
||||
<br>
|
||||
|
|
@ -105,7 +48,7 @@
|
|||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<table style="text-align: left;" role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-wrap:break-word;background:transparent;font-size:0px;padding:10px 25px;padding-top:15px;padding-bottom:15px;padding-right:40px;padding-left:40px;" align="center" valign="top" background="data:image/gif;base64,">
|
||||
|
|
|
|||
|
|
@ -5,76 +5,27 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>mein STERN TOURS</title>
|
||||
<style type="text/css">
|
||||
img {
|
||||
max-width: 600px;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
outline: none;
|
||||
color: #5f8155;
|
||||
}
|
||||
a:hover {
|
||||
color:#e5aa30;
|
||||
}
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
td, h1, h2, h3 {
|
||||
font-family: "Roboto", Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
td {
|
||||
text-align: left;
|
||||
}
|
||||
body {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #37302d;
|
||||
background: #ffffff;
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
.headline {
|
||||
color: #5f8155;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.force-full-width {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
|
||||
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
|
||||
{{ strip_tags($content) }}
|
||||
</div>
|
||||
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
|
||||
<tr>
|
||||
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
|
||||
<center>
|
||||
<br>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
@include('emails.header')
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%"
|
||||
bgcolor="#ffffff">
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<tr>
|
||||
<td style="color:#37302d; text-align: left">
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<table cellpadding="0" cellspacing="0" class="force-full-width"
|
||||
bgcolor="#f8f8f8" style="margin: 0 auto">
|
||||
<table cellpadding="0" cellspacing="0" bgcolor="#f8f8f8" style="margin: 0 auto; width: 100% !important; text-align: left;">
|
||||
<tr>
|
||||
<td style="color:#7B7B7E; font-size:14px;">
|
||||
<br>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style=" text-align:center;">
|
||||
<center>
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tbody class="">
|
||||
<tr class="">
|
||||
<td align="center" valign="top" style="font-size: 0px; text-align: center">
|
||||
<picture class="">
|
||||
<img src="https://mein.sterntours.de/images/stern-tours-logo.png" alt="STERN TOURS" style="border:none" width="260">
|
||||
<img src="https://mein.sterntours.de/images/stern-tours-logo.png" alt="STERN TOURS" style="border:none;" width="260">
|
||||
</picture>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -5,80 +5,19 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>mein STERN TOURS</title>
|
||||
|
||||
<style type="text/css">
|
||||
img {
|
||||
max-width: 600px;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
outline: none;
|
||||
color: #5f8155;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color:#e5aa30;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
td, h1, h2, h3 {
|
||||
font-family: "Roboto", Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #37302d;
|
||||
background: #ffffff;
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
|
||||
.headline {
|
||||
color: #5f8155;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.force-full-width {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
<body class="body" style="padding:0; margin:0; display:block; width: 100%; height: 100%; background:#f8f8f8; color: #37302d; font-size: 14px; line-height: 20px -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
|
||||
<div style="display: none; mso-hide: all; width: 0px; height: 0px; max-width: 0px; max-height: 0px; font-size: 0px; line-height: 0px;">
|
||||
{{ $copy1line }}
|
||||
</div>
|
||||
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
|
||||
<tr>
|
||||
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
|
||||
<center>
|
||||
<br>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="700" class="w320">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
@include('emails.header')
|
||||
|
|
@ -86,7 +25,7 @@
|
|||
bgcolor="#ffffff">
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<tr>
|
||||
<td style="color:#37302d; text-align: left">
|
||||
<p style="font-size: 14px;">{!! nl2br($copy1line) !!}</p>
|
||||
|
|
|
|||
|
|
@ -5,55 +5,6 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>mein STERN TOURS</title>
|
||||
<style type="text/css">
|
||||
img {
|
||||
max-width: 600px;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
outline: none;
|
||||
color: #5f8155;
|
||||
}
|
||||
a:hover {
|
||||
color:#e5aa30;
|
||||
}
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
td, h1, h2, h3 {
|
||||
font-family: "Roboto", Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
td {
|
||||
text-align: left;
|
||||
}
|
||||
body {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #37302d;
|
||||
background: #ffffff;
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
.headline {
|
||||
color: #5f8155;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.force-full-width {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
|
||||
|
||||
|
|
@ -61,7 +12,7 @@
|
|||
{{ $copy1line }}
|
||||
</div>
|
||||
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%">
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" style="text-align: left;">
|
||||
<tr>
|
||||
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
|
||||
<center>
|
||||
|
|
@ -70,15 +21,14 @@
|
|||
<tr>
|
||||
<td align="center" valign="top">
|
||||
@include('emails.header')
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%"
|
||||
bgcolor="#ffffff">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff" >
|
||||
<tr>
|
||||
<td>
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<tr>
|
||||
<td style="color:#37302d; text-align: left">
|
||||
<br>
|
||||
<b><span class="headline"> {{ $salutation }} </span></b>
|
||||
<b><span style="color: #5f8155; font-size: 16px;"> {{ $salutation }} </span></b>
|
||||
<br>
|
||||
<p style="font-size: 14px;">{{ $copy1line }}</p>
|
||||
</td>
|
||||
|
|
@ -88,7 +38,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5" cellpadding="3" cellspacing="0" width="90%">
|
||||
<table style="padding: 20px; border:1px solid #eee; background-color: #f6fdf5; text-align: left;" cellpadding="3" cellspacing="0" width="90%">
|
||||
<tr>
|
||||
<td style="color:#37302d; text-align: right; vertical-align: top; width: 25%; " >
|
||||
{{ __('Belegungszeitraum:') }}
|
||||
|
|
@ -142,7 +92,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td style="color:#37302d;font-size: 14px;">
|
||||
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
|
||||
<table style="margin: 0 auto; text-align: left;" cellpadding="0" cellspacing="0" width="90%">
|
||||
@if($notice && $notice != "")
|
||||
<tr>
|
||||
<td style="color:#37302d;">
|
||||
|
|
|
|||
|
|
@ -346,11 +346,27 @@
|
|||
<a href="{{ route('admin_settings_travel_company') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-archive"></i><div>{{ __('Veranstalter') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tca'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_category') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_category') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-briefcase"></i><div>{{ __('Reiseart') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tap'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_arrival_point') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_arrival_point') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-pin"></i><div>{{ __('Zielflughafen') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-in'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/insurance') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_insurance') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-umbrella"></i><div>{{ __('Versicherungen') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tgn'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/gerneral_notes') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_gerneral_notes') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>{{ __('Reisehinweise') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->isPermission('sua-st-ca'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/categories') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_categories') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-list-box"></i><div>{{ __('Kategorien') }}</div></a>
|
||||
|
|
|
|||
106
resources/views/settings/gerneral_notes/index.blade.php
Executable file
106
resources/views/settings/gerneral_notes/index.blade.php
Executable file
|
|
@ -0,0 +1,106 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reisehinweise
|
||||
</h4>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-default table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Text')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($gerneral_notes as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-text="{{ $value->text }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->text }}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_gerneral_notes_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-text=""
|
||||
>Neues Reiseprogramm anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_gerneral_notes_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Reiseprogramme <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="text">Text</label>
|
||||
<textarea class="form-control" rows="10" name="text" cols=""></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('#modals-default').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='name']").val(button.data('name'));
|
||||
$(this).find(".modal-body textarea[name='text']").val(button.data('text'));
|
||||
|
||||
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 1, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
117
resources/views/settings/travel_arrival_point/index.blade.php
Executable file
117
resources/views/settings/travel_arrival_point/index.blade.php
Executable file
|
|
@ -0,0 +1,117 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Zielflughafen
|
||||
</h4>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-default table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Land')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($travel_arrival_point as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-active="{{ $value->active }}"
|
||||
data-travel_country_id="{{$value->travel_country_id}}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td>{{ $value->travel_country->name }}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_travel_arrival_point_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-active="1"
|
||||
data-travel_country_id="0"
|
||||
>Neues Reiseprogramm anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_travel_arrival_point_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Reiseprogramme <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="active" checked>
|
||||
<span class="custom-control-label">{{__('sichtbar')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="travel_country_id" class="form-label">{{__('Land')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="travel_country_id" data-live-search="true" required>
|
||||
{!! HTMLHelper::getTravelCountriesOptions(false, false) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('#modals-default').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='name']").val(button.data('name'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
$(this).find(".modal-body select[name='travel_country_id']").val(button.data('travel_country_id'));
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 1, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
107
resources/views/settings/travel_category/index.blade.php
Executable file
107
resources/views/settings/travel_category/index.blade.php
Executable file
|
|
@ -0,0 +1,107 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reiseart
|
||||
</h4>
|
||||
<div class="card">
|
||||
|
||||
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-default table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($travel_category as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-active="{{ $value->active }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_travel_category_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="mt-4 col">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-active="1">Neue Reiseart anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_travel_category_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Reiseart <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="active" checked>
|
||||
<span class="custom-control-label">{{__('sichtbar')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('#modals-default').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='name']").val(button.data('name'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
//$('.selectpicker').selectpicker('refresh');
|
||||
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 1, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
52
resources/views/travel/program/_classes.blade.php
Normal file
52
resources/views/travel/program/_classes.blade.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramClasses" aria-expanded="false" aria-controls="collapseTravelProgramClasses">
|
||||
<strong style="line-height: 1.6em">Kategorien/Klassen</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramClasses">
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Standard</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->classes as $value)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-description="{{ $value->description }}"
|
||||
data-standard="{{ $value->standard }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>@if($value->standard)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
@else
|
||||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-classes"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-description=""
|
||||
data-active="1"
|
||||
>Neue Katagorie anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
104
resources/views/travel/program/_details.blade.php
Normal file
104
resources/views/travel/program/_details.blade.php
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDetails" aria-expanded="false" aria-controls="collapseTravelProgramDetails">
|
||||
<strong style="line-height: 1.6em">Details</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramDetails">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="default_flight_price" class="form-label">{{ __('Standard-Flugpreis') }}</label>
|
||||
{{ Form::text('default_flight_price', $program->default_flight_price, array('class'=>'form-control', 'id'=>'default_flight_price')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="deposit_percent" class="form-label">{{ __(' Anzahlung in %') }}
|
||||
<button class="btn btn-xs btn-default" title=" wenn leer, default Wert 20%<br>0 = keine Anzahlung<br>Ägypten 20% vom Gesamtpreis<br>Rest 100% vom Flugpreis und 20% Landleistung" data-placement="top" rel="tooltip">
|
||||
<i class="fa fa-info"></i></button></label>
|
||||
{{ Form::text('deposit_percent', $program->deposit_percent, array('class'=>'form-control', 'id'=>'deposit_percent')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-6 col-sm-3 col-md-2">
|
||||
<label for="discount" class="form-label">{{ __('Rabatt') }}*</label>
|
||||
{{ Form::text('discount', $program->discount, array('class'=>'form-control', 'id'=>'discount')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-6 col-sm-3 col-md-2">
|
||||
<label for="discount_is_percent_value" class="form-label">{{ __('Rabatt in') }}*</label>
|
||||
{{ Form::select('discount_is_percent_value', $program::$programDiscountTypes , $program->discount_is_percent_value, array('class'=>'custom-select', 'id'=>'discount_is_percent_value')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_arrival_point_id" class="form-label">{{ __('Zielflughafen') }}* <a href="{{ route('admin_settings_travel_arrival_point') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_arrival_point_id', \App\Services\Model::getTravelArrivalPointArray(true) , $program->travel_arrival_point_id, array('class'=>'custom-select', 'id'=>'travel_arrival_point_id')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="max_age_for_children" class="form-label">{{ __('max. Alter für Kinderermäßigung (0 = keine)') }}</label>
|
||||
{{ Form::text('max_age_for_children', $program->max_age_for_children, array('class'=>'form-control', 'id'=>'max_age_for_children')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="url" class="form-label">{{ __('URL') }}</label>
|
||||
{{ Form::text('url', $program->url, array('class'=>'form-control', 'id'=>'url')) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="generalnote" class="form-label">{{ __('Reisehinweise') }}* <a href="{{ route('admin_settings_gerneral_notes') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('generalnote', \App\Services\Model::getTravelGerneralNotesArray(true) , $program->generalnote, array('class'=>'custom-select', 'id'=>'generalnote')) }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="text-left mt-2">
|
||||
<button type="submit" name="action" value="saveDetails" class="btn btn-sm btn-secondary">Änderungen speichern</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{--
|
||||
|
||||
Text
|
||||
Eingeschlossene Leistungen (pro Zeile eine Leistung!)
|
||||
included
|
||||
|
||||
|
||||
Klassen/Kategorien und zusätzliche Infos (erscheint unterhalb der "Eingeschlossenen Leistungen") (HTML)
|
||||
class_description
|
||||
|
||||
|
||||
Nicht eingeschlossene Leistungen (pro Zeile eine Leistung!)
|
||||
excluded
|
||||
|
||||
Hinweise
|
||||
advices
|
||||
|
||||
|
||||
Anmerkungen (pro Zeile eine Anmerkung!)
|
||||
notes
|
||||
|
||||
|
||||
HTML-Beschreibung
|
||||
html_description
|
||||
|
||||
Text (rechts außen)
|
||||
text_right
|
||||
|
||||
|
||||
|
||||
|
||||
Reiseversicherung 1
|
||||
Reiseversicherung 2
|
||||
Reiseversicherung 3
|
||||
Reiseversicherung 4
|
||||
Im Slider anzeigen?
|
||||
Kartentyp
|
||||
Währung der Netto-Preise
|
||||
Position bei Suchergebnissen (Kleinere Wert bedeutet höhere Position)
|
||||
|
||||
--}}
|
||||
55
resources/views/travel/program/_drafts.blade.php
Normal file
55
resources/views/travel/program/_drafts.blade.php
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramDrafts" aria-expanded="false" aria-controls="collapseTravelProgramDrafts">
|
||||
<strong style="line-height: 1.6em">Vorlagen Reiseprogramm (CRM)</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramDrafts">
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Kategorie</th>
|
||||
<th>Wochentage</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->travel_program_drafts as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="{{ $value->id }}"
|
||||
data-travel_class_id="{{ $value->travel_class_id }}"
|
||||
data-draft_id="{{ $value->draft_id }}"
|
||||
data-weekdays="{{ json_encode($value->weekdays) }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->draft->name }}</td>
|
||||
<td>@if( $value->travel_class)
|
||||
{{ $value->travel_class->name }}
|
||||
@else
|
||||
alle Kategorien
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="new"
|
||||
data-travel_class_id=""
|
||||
data-draft_id=""
|
||||
data-weekdays=""
|
||||
>Neue Vorlage zuordnen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
80
resources/views/travel/program/_general.blade.php
Normal file
80
resources/views/travel/program/_general.blade.php
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseTravelProgramGeneral" aria-expanded="false" aria-controls="collapseTravelProgramGeneral">
|
||||
<strong style="line-height: 1.6em">Allgemein</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseTravelProgramGeneral">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="title">{{ __('Title') }}*</label>
|
||||
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'title', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="subtitle">{{ __('Subtitle') }}*</label>
|
||||
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'subtitle', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
|
||||
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
|
||||
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
|
||||
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_country" class="form-label">{{ __('Reiseland') }}* <a href="{{ route('admin_settings_travel_country') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}* <a href="{{ route('admin_settings_travel_program') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(true) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_category" class="form-label">{{ __('Reiseart') }}* <a href="{{ route('admin_settings_categories') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-8">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
|
||||
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}* <a href="{{ route('admin_settings_travel_company') }}"><i class="fa fa-edit"></i></a></label>
|
||||
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<div class="text-left mt-2">
|
||||
<button type="submit" name="action" value="saveGeneral" class="btn btn-sm btn-secondary">Änderungen speichern</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{--
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
|
||||
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
|
||||
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
105
resources/views/travel/program/_modals.blade.php
Normal file
105
resources/views/travel/program/_modals.blade.php
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
|
||||
<div class="modal fade" id="modals-classes">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<input type="hidden" class="form-control" name="program_id" value="{{$program->id}}">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
<input type="checkbox" class="custom-control-input" name="standard" checked>
|
||||
<span class="custom-control-label">{{__('Standard')}}</span>
|
||||
</label>
|
||||
<label for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="description" class="form-label">Beschreibung</label>
|
||||
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modals-draft">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<input type="hidden" class="form-control" name="travel_program_id" value="{{$program->id}}">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
|
||||
{!! HTMLHelper::getDraftOptions() !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
|
||||
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
|
||||
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('#modals-classes').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='name']").val(button.data('name'));
|
||||
$(this).find(".modal-body input[name='description']").val(button.data('description'));
|
||||
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
|
||||
});
|
||||
$('#modals-draft').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
|
||||
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
|
||||
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -2,317 +2,148 @@
|
|||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
body {
|
||||
}
|
||||
.btn-xs {
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 1px solid #9c9c9c;
|
||||
}
|
||||
.table th, .table td {
|
||||
border-top: none;
|
||||
}
|
||||
.table tr.border-none td, .table tr.border-none th {
|
||||
border-top: none;
|
||||
}
|
||||
.table .thead-dark th {
|
||||
color: #4E5155;
|
||||
background-color: rgba(24, 28, 33, 0.1);
|
||||
border-color: rgba(63, 69, 74, 0.1);
|
||||
}
|
||||
|
||||
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Programm @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||
Reiseprogramm @if($id == "new") <span class="text-primary">anlegen</span> @else verwalten {{"(ID: ".$id.")"}} @endif
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-default btn-sm">{{ __('zur Übersicht') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<ul class="nav nav-sm nav-tabs nav-justified tabs-alt mb-3" id="top-nav-quick-jump">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramGeneral">
|
||||
Allgemein
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDetails">
|
||||
Details
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramClasses">
|
||||
Klassen
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="javascript:void(0)" data-collapse="#collapseTravelProgramDrafts">
|
||||
Vorlagen
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
||||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('aktiv')}}</span>
|
||||
</label>
|
||||
<label class="form-label" for="program_title">{{ __('Title') }}*</label>
|
||||
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'program_title', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="program_subtitle">{{ __('Subtitle') }}*</label>
|
||||
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'program_subtitle', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
@include('travel.program._general')
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_code" class="form-label">{{ __('Programm Code') }}*</label>
|
||||
{{ Form::text('program_code', $program->program_code, array('class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="program_type" class="form-label">{{ __('Programtyp') }}*</label>
|
||||
{{ Form::select('program_type', $program::$programTypeTypes , $program->program_type, array('class'=>'custom-select', 'id'=>'program_type', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="category_id" class="form-label">{{ __('Kategorie') }}*</label>
|
||||
{{ Form::select('category_id', $program::$travelCategoryTypes , $program->category_id, array('class'=>'custom-select', 'id'=>'category_id', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_country" class="form-label">{{ __('Reiseland') }}*</label>
|
||||
{{ Form::select('travel_country', \App\Services\Model::getSymTravelCountryArray() , $program->travel_country, array('class'=>'custom-select', 'id'=>'travel_country', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_agenda" class="form-label">{{ __('Reiseprogramm') }}*</label>
|
||||
{{ Form::select('travel_agenda', \App\Services\Model::getTravelAgendaArray(false) , $program->travel_agenda, array('class'=>'custom-select', 'id'=>'travel_agenda', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_category" class="form-label">{{ __('Reiseart') }}*</label>
|
||||
{{ Form::select('travel_category', \App\Services\Model::getTravelCategoryArray() , $program->travel_category, array('class'=>'custom-select', 'id'=>'travel_category', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-8">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
|
||||
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-sm-6 col-md-4">
|
||||
<label for="travel_company" class="form-label">{{ __('Veranstalter') }}*</label>
|
||||
{{ Form::select('travel_company', \App\Services\Model::getTravelCompanyArray() , $program->travel_company, array('class'=>'custom-select', 'id'=>'travel_company', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
@if($id !== "new" && $program)
|
||||
@include('travel.program._details')
|
||||
@include('travel.program._classes')
|
||||
@include('travel.program._drafts')
|
||||
@endif
|
||||
|
||||
{{--
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<a href="{{route('travel_program_generate_keywords', [$program->id])}}" class="btn btn-xs btn-secondary float-right">generate Keywords</a>
|
||||
<label for="keywords" class="form-label">{{__('Keywords')}}</label>
|
||||
{{ Form::text('keywords', $program->keywords, array('placeholder'=>__('Keyword,Keyword'), 'class'=>'form-control', 'id'=>'keywords')) }}
|
||||
</div>
|
||||
</div>
|
||||
--}}
|
||||
</div>
|
||||
<div class="float-right mt-3">
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-sm btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
|
||||
</div>
|
||||
|
||||
<!-- program classes -->
|
||||
<div class="card mb-2">
|
||||
<h6 class="card-header">
|
||||
Eingetragene Kategorien/Klassen
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Standard</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->classes as $value)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
|
||||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-description="{{ $value->description }}"
|
||||
data-standard="{{ $value->standard }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>@if($value->standard)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
@else
|
||||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-description=""
|
||||
data-active="1"
|
||||
>Neue Katagorie anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- program classes -->
|
||||
<div class="card mb-2">
|
||||
<h6 class="card-header">
|
||||
Vorlagen Reiseprogramm (CRM)
|
||||
</h6>
|
||||
<div class="card-body">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Kategorie</th>
|
||||
<th>Wochentage</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($program->travel_program_drafts as $value)
|
||||
<tr>
|
||||
<td>
|
||||
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="{{ $value->id }}"
|
||||
data-travel_class_id="{{ $value->travel_class_id }}"
|
||||
data-draft_id="{{ $value->draft_id }}"
|
||||
data-weekdays="{{ json_encode($value->weekdays) }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->draft->name }}</td>
|
||||
<td>@if( $value->travel_class)
|
||||
{{ $value->travel_class->name }}
|
||||
@else
|
||||
alle Kategorien
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
|
||||
</td>
|
||||
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
|
||||
data-id="new"
|
||||
data-travel_class_id=""
|
||||
data-draft_id=""
|
||||
data-weekdays=""
|
||||
>Neue Vorlage zuordnen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
<a href="{{route('travel_programs')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
<a href="{{ make_v2_url("/acp/travel_program/show/".$program->id."/") }}" class="btn btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-class">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<input type="hidden" class="form-control" name="program_id" value="{{$program->id}}">
|
||||
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="custom-control custom-checkbox float-right">
|
||||
<input type="checkbox" class="custom-control-input" name="standard" checked>
|
||||
<span class="custom-control-label">{{__('Standard')}}</span>
|
||||
</label>
|
||||
<label for="name" class="form-label">Name*</label>
|
||||
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="description" class="form-label">Beschreibung</label>
|
||||
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-draft">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
<input type="hidden" class="form-control" name="travel_program_id" value="{{$program->id}}">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
|
||||
{!! HTMLHelper::getDraftOptions() !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
|
||||
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
|
||||
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@if($id !== "new" && $program)
|
||||
@include('travel.program._modals')
|
||||
@endif
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('#modals-class').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='name']").val(button.data('name'));
|
||||
$(this).find(".modal-body input[name='description']").val(button.data('description'));
|
||||
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
|
||||
$(document).ready(function() {
|
||||
|
||||
var collapseHashValue = null;
|
||||
$('[rel="tooltip"]').tooltip({trigger: "hover", html: true});
|
||||
|
||||
$('#top-nav-quick-jump .nav-link').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
$('#top-nav-quick-jump .nav-link').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
var collapse_id = $(this).data('collapse');
|
||||
//console.log(collapse_id);
|
||||
$(collapse_id).collapse('show');
|
||||
// animate
|
||||
$('html, body').animate({
|
||||
scrollTop: $(collapse_id).parent('.card').offset().top
|
||||
}, 300, function(){
|
||||
// when done, add hash to url
|
||||
// (default click behaviour)
|
||||
window.location.hash = collapse_id;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('#modals-draft').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
|
||||
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
|
||||
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
|
||||
$(".collapse").on('shown.bs.collapse', function (){
|
||||
if(collapseHashValue){
|
||||
$('a[data-collapse="#'+collapseHashValue+'"]').click();
|
||||
collapseHashValue = null;
|
||||
}
|
||||
CookiesAddJSONValue('travel_program_collapse', $(this).attr('id'));
|
||||
window.location.hash = "#"+$(this).attr('id');
|
||||
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
});
|
||||
|
||||
$(".collapse").on('hidden.bs.collapse', function (){
|
||||
CookiesRemoveJSONValue('travel_program_collapse', $(this).attr('id'));
|
||||
});
|
||||
|
||||
function init_site(){
|
||||
if(window.location.hash){
|
||||
value = $(window.location.hash).attr('id');
|
||||
if(value){
|
||||
collapseHashValue = value;
|
||||
CookiesAddJSONValue('travel_program_collapse', value);
|
||||
}
|
||||
}
|
||||
var travel_program_collapses = Cookies.get('travel_program_collapse');
|
||||
if (travel_program_collapses != null)
|
||||
{
|
||||
travel_program_collapses = JSON.parse(travel_program_collapses);
|
||||
for (var travel_program_collapse in travel_program_collapses){
|
||||
$("#"+travel_program_collapses[travel_program_collapse]).collapse("show");
|
||||
}
|
||||
}
|
||||
}
|
||||
init_site();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Programme
|
||||
Reiseprogramme
|
||||
</h4>
|
||||
|
||||
<div class="card">
|
||||
|
|
|
|||
|
|
@ -392,6 +392,21 @@ Route::group(['middleware' => ['superadmin', '2fa']], function() {
|
|||
Route::post('/admin/settings/travel_program/update', 'Settings\TravelAgendaController@update')->name('admin_settings_travel_program_update');
|
||||
Route::get('/admin/settings/travel_program/delete/{id}', 'Settings\TravelAgendaController@delete')->name('admin_settings_travel_program_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tca']], function() {
|
||||
//SUPERADMIN > Einstellungen > / Reiseart
|
||||
Route::get('/admin/settings/travel_category/{id?}', 'Settings\TravelCategoryController@index')->name('admin_settings_travel_category');
|
||||
Route::post('/admin/settings/travel_category/update', 'Settings\TravelCategoryController@update')->name('admin_settings_travel_category_update');
|
||||
Route::get('/admin/settings/travel_category/delete/{id}', 'Settings\TravelCategoryController@delete')->name('admin_settings_travel_category_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tgn']], function() {
|
||||
//SUPERADMIN > Einstellungen > / Reisehinweise
|
||||
Route::get('/admin/settings/gerneral_notes/{id?}', 'Settings\TravelGerneralNotesController@index')->name('admin_settings_gerneral_notes');
|
||||
Route::post('/admin/settings/gerneral_notes/update', 'Settings\TravelGerneralNotesController@update')->name('admin_settings_gerneral_notes_update');
|
||||
Route::get('/admin/settings/gerneral_notes/delete/{id}', 'Settings\TravelGerneralNotesController@delete')->name('admin_settings_gerneral_notes_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tpl']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reiseorte
|
||||
Route::get('/admin/settings/travel_places', 'Settings\TravelPlaceController@index')->name('admin_settings_travel_places');
|
||||
|
|
@ -412,14 +427,14 @@ Route::group(['middleware' => ['superadmin', '2fa']], function() {
|
|||
Route::post('/admin/settings/travel_country/update/{id}', 'Settings\TravelCountryController@update')->name('admin_settings_travel_country_update');
|
||||
Route::get('/admin/settings/travel_country/delete/{id}/{del?}', 'Settings\TravelCountryController@delete')->name('admin_settings_travel_country_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-bs']], function() {
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tc']], function() {
|
||||
//SUPERADMIN > Einstellungen > Veranstalter
|
||||
Route::get('/admin/settings/travel_company', 'Settings\TravelCompanyController@index')->name('admin_settings_travel_company');
|
||||
Route::get('/admin/settings/travel_company/detail/{id}/{step?}', 'Settings\TravelCompanyController@detail')->name('admin_settings_travel_company_detail');
|
||||
Route::post('/admin/settings/travel_company/update/{id}', 'Settings\TravelCompanyController@update')->name('admin_settings_travel_company_update');
|
||||
Route::get('/admin/settings/travel_company/delete/{id}/{del?}', 'Settings\TravelCompanyController@delete')->name('admin_settings_travel_company_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-bs']], function() {
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-in']], function() {
|
||||
//SUPERADMIN > Einstellungen > Versicherungen
|
||||
Route::get('/admin/settings/insurance', 'Settings\InsuranceController@index')->name('admin_settings_insurance');
|
||||
Route::post('/admin/settings/insurance/update', 'Settings\InsuranceController@update')->name('admin_settings_insurance_update');
|
||||
|
|
@ -432,6 +447,14 @@ Route::group(['middleware' => ['superadmin', '2fa']], function() {
|
|||
Route::get('/admin/settings/categories/delete/{id}', 'Settings\CategoryController@delete')->name('admin_settings_categories_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tap']], function() {
|
||||
//SUPERADMIN > Einstellungen > Zielflughafen
|
||||
Route::get('/admin/settings/travel_arrival_point', 'Settings\TravelArrivalPointController@index')->name('admin_settings_travel_arrival_point');
|
||||
Route::post('/admin/settings/travel_arrival_point/update', 'Settings\TravelArrivalPointController@update')->name('admin_settings_travel_arrival_point_update');
|
||||
Route::get('/admin/settings/travel_arrival_point/delete/{id}', 'Settings\TravelArrivalPointController@delete')->name('admin_settings_travel_arrival_point_delete');
|
||||
});
|
||||
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-re-bo']], function() {
|
||||
//SUPERADMIN > report > Buchungen
|
||||
Route::get('/admin/report/bookings', 'Admin\ReportController@bookings')->name('admin_report_bookings');
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue