Mails
This commit is contained in:
parent
68b9d1ff88
commit
b9c26d06d0
75 changed files with 2143 additions and 818 deletions
182
.idea/workspace.xml
generated
182
.idea/workspace.xml
generated
|
|
@ -2,10 +2,15 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e1ac1cea-a1a5-4c16-b5f0-5908c7d368de" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/FileController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Repositories/BookingFileRepository.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Repositories/CMSFileRepository.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Repositories/FileRepository.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/EmailTemplateController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/InsuranceController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/ServiceProviderController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/TravelCompanyController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Models/EmailTemplate.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Models/Insurance.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Services/Placeholder.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/database/migrations/2020_04_23_144804_create_insurances_table.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/database/migrations/2020_04_23_144838_create_email_templates_table.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171716_create_i_q_content_folders_table.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171717_create_i_q_content_files_table.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171718_create_i_q_content_categories_table.php" afterDir="false" />
|
||||
|
|
@ -25,71 +30,50 @@
|
|||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/colors.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/file.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move-item.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_booking.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_drafs.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_files.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_info.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_lead.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_mails.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_myjack.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/_detail_price.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/booking/upload_modal.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/customer/mail/modal-new-booking-files.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking/files/2020/04/5e9873901e2bd_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking/files/2020/04/5e997d7b4ecc2_ust111.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking/files/2020/04/5e99aaf396d750.47072403_muscat-sultan-qaboos-moschee-h1_k.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e972e144373d7.97972029_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e972e27878222.09265384_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e972e38af6043.03271213_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e972fbe2ce954.66250128_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e97302ed1c839.78339022_muscat-sultan-qaboos-moschee-h1.JPG" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99a72f1bfde9.86685319_ust111pd." afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99a752cba2a2.94746278_jdatlastoollogopn." afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aa9cd041d8.89347563_reiseanme.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aad1b1ba55.84697018_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aadc24e747.88797929_reisebestäti.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aadce9a149.07769362_gutschein_202258804771.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aadd9d8d66.71792306_sicherungsscheinnachsis651r.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aadea97ec4.45183917_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aadf8228a7.04445821_ust111.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99ab01275620.11542311_muscat-sultan-qaboos-moschee-h1_k.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99accb7b29a6.14209159_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99adcfe04075.56597947_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99ae058f7ec3.92405331_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99ae5570a9d2.76710677_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99ae646eb0a1.78424093_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99afbe21f9c2.01938887_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99aff4c885b4.22939380_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b016467117.77860068_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b065104c37.78810324_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b0c59b2738.41424954_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b0cb639727.76108821_reisebestäti.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b0cda4e229.01104704_reisebestäti.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b1f2e2bc67.91448850_reiseanmel.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b1f532d420.57931412_muscat-sultan-qaboos-moschee-h1_k.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/asdas.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/test.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/public/cms_files/2020/04/5e98451b1ae7a_sicherungsscheinnachsis651r.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/_travel_country/detail.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/email_template/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/email_template/modal.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/insurance/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/service_provider/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/settings/travel_company/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b543e42254.12049207_reiseanmeldung.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b544a84a15.70270514_reisebestätigung.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b546a93b85.31250574_gutschein2022588047711038.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b5497293f4.96026058_sicherungsscheinnachsis651r.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b54ba91d07.08332553_ust111.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b57f1c31f0.70883767_reiseanmeldung.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5e99b580163fe3.60366976_reiseanmeldung.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5ea8590b019148.46292698_muscat-sultan-qaboos-moschee-h1_k.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5ea85937d5bf78.04249430_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/04/5ea859563f7df6.49508975_muscat-sultan-qaboos-moschee-h1_k.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.phpstorm.meta.php" beforeDir="false" afterPath="$PROJECT_DIR$/.phpstorm.meta.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/_ide_helper.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/_ide_helper_models.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper_models.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Admin/ReportController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Admin/ReportController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/BookingController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/BookingController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CustomerFileController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CustomerFileController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentCountryController.php" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CustomerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CustomerController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CustomerMailController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CustomerMailController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/LeadController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/LeadController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/RequestController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/RequestController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Mail/MailSendInfo.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Mail/MailSendInfo.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Settings/AirlineController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/AirlineController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Settings/TravelCountryController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/TravelCountryController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Settings/TravelNationalityController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Settings/TravelNationalityController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/Airline.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Airline.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/Booking.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Booking.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/CMSContent.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/CMSContent.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/CustomerFile.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/CustomerFile.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/BookingServiceItem.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/BookingServiceItem.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/ServiceProvider.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ServiceProvider.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/TravelCompany.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/TravelCompany.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Repositories/CustomerFileRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/CustomerFileRepository.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/TravelCountry.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/TravelCountry.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Repositories/CustomerMailRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/CustomerMailRepository.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Services/CreateCouponPDF.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/CreateCouponPDF.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Repositories/FileRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/FileRepository.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Services/HTMLHelper.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/HTMLHelper.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Services/Util.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/Util.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/config/filesystems.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/filesystems.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/config/permissions.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/permissions.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/database/migrations/2018_10_29_202123_create_booking_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2018_10_29_202123_create_booking_table.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/database/migrations/2020_01_29_154619_create_travel_company_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2020_01_29_154619_create_travel_company_table.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/database/migrations/2020_02_04_160054_create_service_provider_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2020_02_04_160054_create_service_provider_table.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/composer.json" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/composer.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/css/cropper.min.css" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/css/cropper.min.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/js/cropper.min.js" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/js/cropper.min.js" afterDir="false" />
|
||||
|
|
@ -139,15 +123,24 @@
|
|||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/resize.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/resize.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/public/css/application.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/css/application.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/public/js/custom.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/custom.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/report/bookings.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/report/bookings.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/report/service_providers.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/report/service_providers.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/booking/_detail_mails.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/booking/_detail_mails.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/booking/_detail_price.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/booking/_detail_price.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/booking/detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/booking/detail.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/cms/content/all/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/cms/content/all/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/cms/content/all/modal.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/cms/content/all/modal.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/cms/content/country/detail.blade.php" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/cms/content/country/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/_travel_country/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/customer/mail/modal-new-booking-files.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/customer/mail/modal-new-booking-files.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/customer/mail/modal-new-mail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/customer/mail/modal-new-mail.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/customer/mail/modal-show-mail-inner.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/customer/mail/modal-show-mail-inner.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/customer/mail/modal-show-mail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/customer/mail/modal-show-mail.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/layouts/application.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/layouts/application.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/request/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/request/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/airline/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/airline/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/keywords/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/keywords/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/travel_agenda/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/travel_agenda/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/travel_country/detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/travel_country/detail.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/travel_country/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/travel_country/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/settings/travel_nationality/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/settings/travel_nationality/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/web.php" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
|
@ -370,24 +363,25 @@
|
|||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="database.console.LAST_STATE" value="false" />
|
||||
<property name="js.buildTools.grunt.grunt-cli.package" value="" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/customer/mail" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/settings/email_template" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
|
||||
<property name="ts.external.directory.path" value="$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/jsLanguageServicesImpl/external" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/resources/views/customer/mail" />
|
||||
<recent name="$PROJECT_DIR$/app/Repositories" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/booking" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Controllers" />
|
||||
<recent name="$PROJECT_DIR$/app/Libraries" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/settings/email_template" />
|
||||
<recent name="$PROJECT_DIR$/app/Services" />
|
||||
<recent name="$PROJECT_DIR$/public/vendor/libs/quill-placeholder-module/dist" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/settings/insurance" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/settings/travel_company" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/resources/views/settings" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/customer/mail" />
|
||||
<recent name="$PROJECT_DIR$/public/js" />
|
||||
<recent name="$PROJECT_DIR$/database/migrations" />
|
||||
<recent name="$PROJECT_DIR$/app/Models/Sym" />
|
||||
<recent name="$PROJECT_DIR$/app/Models" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunAnythingCache">
|
||||
|
|
@ -743,6 +737,27 @@
|
|||
<workItem from="1587109633375" duration="34000" />
|
||||
<workItem from="1587113061793" duration="13766000" />
|
||||
<workItem from="1587131112608" duration="33000" />
|
||||
<workItem from="1587131605007" duration="201000" />
|
||||
<workItem from="1587482281676" duration="112000" />
|
||||
<workItem from="1587540966558" duration="2253000" />
|
||||
<workItem from="1587544270314" duration="1881000" />
|
||||
<workItem from="1587628315336" duration="2730000" />
|
||||
<workItem from="1587631176924" duration="3512000" />
|
||||
<workItem from="1587635930806" duration="5245000" />
|
||||
<workItem from="1587644042987" duration="3345000" />
|
||||
<workItem from="1587749582717" duration="2000" />
|
||||
<workItem from="1587975666426" duration="4464000" />
|
||||
<workItem from="1587981719838" duration="4726000" />
|
||||
<workItem from="1588067289707" duration="11814000" />
|
||||
<workItem from="1588089306360" duration="2150000" />
|
||||
<workItem from="1588092534819" duration="865000" />
|
||||
<workItem from="1588146658578" duration="4000" />
|
||||
<workItem from="1588159276941" duration="117000" />
|
||||
<workItem from="1588248862944" duration="3071000" />
|
||||
<workItem from="1588253879164" duration="9000" />
|
||||
<workItem from="1588267968818" duration="645000" />
|
||||
<workItem from="1588269075570" duration="700000" />
|
||||
<workItem from="1588410019832" duration="192000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
@ -793,15 +808,31 @@
|
|||
</state>
|
||||
<state x="723" y="23" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1586342353394" />
|
||||
<state x="723" y="54" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1581351314829" />
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1587048507717">
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1587982214324">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1585128425251" />
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1587982214324" />
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587048507717" />
|
||||
<state x="1097" y="610" width="600" height="300" key="ComposerAddDependencyOutputPopupDimensionServiceKey" timestamp="1581350288912">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="1097" y="610" width="600" height="300" key="ComposerAddDependencyOutputPopupDimensionServiceKey/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1581350288912" />
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.bottom" timestamp="1587976409045">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.bottom/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1587976409045" />
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.center" timestamp="1587976409044">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.center/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1587976409044" />
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.left" timestamp="1587976409044">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.left/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1587976409044" />
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.right" timestamp="1587976409044">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state width="2518" height="407" key="GridCell.Tab.0.right/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1587976409044" />
|
||||
<state x="1020" y="544" width="527" height="375" key="PHPComposerAddDependencyDialogDimensionKey" timestamp="1581350432217">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
|
|
@ -816,18 +847,19 @@
|
|||
</state>
|
||||
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1585232936868" />
|
||||
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587128795225" />
|
||||
<state x="870" y="380" width="1487" height="939" key="find.popup" timestamp="1587130944842">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
<state x="-1885" y="398" width="1487" height="939" key="find.popup" timestamp="1588269655118">
|
||||
<screen x="-2560" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="870" y="380" width="1487" height="939" key="find.popup/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1586367147094" />
|
||||
<state x="-1690" y="380" width="1487" height="939" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1585157716675" />
|
||||
<state x="-1885" y="398" width="1487" height="939" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@-2560.23.2560.1417" timestamp="1588269655118" />
|
||||
<state x="675" y="398" width="1487" height="939" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1588253604606" />
|
||||
<state x="870" y="380" width="1487" height="939" key="find.popup/2560.-493.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1586172282780" />
|
||||
<state x="870" y="380" width="1487" height="939" key="find.popup/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587130944842" />
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup" timestamp="1587036951215">
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup" timestamp="1588072154124">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1586370499861" />
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1585136385851" />
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1588072154124" />
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup/2560.-493.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1585834441242" />
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587036951215" />
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace PHPSTORM_META {
|
|||
|
||||
/**
|
||||
* PhpStorm Meta file, to provide autocomplete information for PhpStorm
|
||||
* Generated on 2020-04-16 17:05:54.
|
||||
* Generated on 2020-04-23 10:42:35.
|
||||
*
|
||||
* @author Barry vd. Heuvel <barryvdh@gmail.com>
|
||||
* @see https://github.com/barryvdh/laravel-ide-helper
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/**
|
||||
* A helper file for Laravel 5, to provide autocomplete information to your IDE
|
||||
* Generated for Laravel 6.18.5 on 2020-04-16 17:05:52.
|
||||
* Generated for Laravel 6.18.5 on 2020-04-23 10:42:32.
|
||||
*
|
||||
* This file should not be included in your code, only analyzed by your IDE!
|
||||
*
|
||||
|
|
|
|||
|
|
@ -456,6 +456,8 @@ namespace App\Models{
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Booking whereOriginStartDate($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\BookingFile[] $booking_files
|
||||
* @property-read int|null $booking_files_count
|
||||
* @property float|null $price_balance
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Booking wherePriceBalance($value)
|
||||
*/
|
||||
class Booking extends \Eloquent {}
|
||||
}
|
||||
|
|
@ -3272,6 +3274,7 @@ namespace App\Models{
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingFile whereOriginalName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingFile whereSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\BookingFile whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class BookingFile extends \Eloquent {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class ReportController extends Controller
|
|||
private function prozessBookingSearch()
|
||||
{
|
||||
|
||||
$query = Booking::with( 'customer', 'lead', 'service_provider_entries', 'service_provider_entries.service_provider');
|
||||
$query = Booking::with( 'customer', 'lead', 'service_provider_entries', 'service_provider_entries.service_provider')->select('booking.*');
|
||||
|
||||
if(Request::get('filter_travel_date_from') != ""){
|
||||
$travel_date_from = Carbon::parse(Request::get('filter_travel_date_from'))->format("Y-m-d");
|
||||
|
|
@ -74,6 +74,9 @@ class ReportController extends Controller
|
|||
->with('price_total_sum', function() use ($query) {
|
||||
return Util::_number_format($query->sum('price'));
|
||||
})
|
||||
->with('price_total_total_sum', function() use ($query) {
|
||||
return Util::_number_format($query->sum('price_total'));
|
||||
})
|
||||
->with('proceed_total_sum', function() use ($query) {
|
||||
if($query->count() > 200){
|
||||
return 'max 200 ';
|
||||
|
|
@ -81,7 +84,7 @@ class ReportController extends Controller
|
|||
$all = $query->get();
|
||||
$proceeds = 0;
|
||||
foreach ($all as $v){
|
||||
$proceeds += $v->proceedsRaw();
|
||||
$proceeds += $v->proceeds(true);
|
||||
}
|
||||
return Util::_number_format($proceeds);
|
||||
})
|
||||
|
|
@ -116,8 +119,7 @@ class ReportController extends Controller
|
|||
return $ret === "" ? "-" : $ret;
|
||||
})
|
||||
->addColumn('lead.status_id', function (Booking $booking) {
|
||||
//umbuchen
|
||||
if($booking->lead->status_id){
|
||||
if($booking->lead && $booking->lead->status_id){
|
||||
$color = $booking->lead->status->color;
|
||||
$icon = "";
|
||||
if($booking->lead->status_id == 14 && $booking->lead->is_rebook){
|
||||
|
|
@ -166,6 +168,7 @@ class ReportController extends Controller
|
|||
'BuchungsID',
|
||||
'Status',
|
||||
'MyJack Nr.',
|
||||
'Organisation',
|
||||
'Reisepreis',
|
||||
'Erlös',
|
||||
'Kunde',
|
||||
|
|
@ -182,6 +185,7 @@ class ReportController extends Controller
|
|||
'abgeschlossen',
|
||||
);
|
||||
$total_price = 0;
|
||||
$total_price_total = 0;
|
||||
$total_proceeds = 0;
|
||||
$total_amount_final = 0;
|
||||
|
||||
|
|
@ -191,14 +195,16 @@ class ReportController extends Controller
|
|||
foreach ($export->service_provider_entries as $service_provider_entry){
|
||||
if($new){
|
||||
$total_price += $export->getPriceRaw();
|
||||
$total_proceeds += $export->proceedsRaw();
|
||||
$total_price_total += $export->getPriceTotalRaw();
|
||||
$total_proceeds += $export->proceeds(true);
|
||||
}
|
||||
$total_amount_final += $service_provider_entry->getAmountFinalEurRaw();
|
||||
$columns[] = array(
|
||||
'BuchungsID' => $new ? $export->id : "",
|
||||
'Status' => $new ? $export->lead->status->name : "",
|
||||
'MyJack Nr.' => $new ? $export->merlin_order_number : "",
|
||||
'Reisepreis' => $new ? $export->price : "",
|
||||
'Organisation' => $new ? $export->price : "",
|
||||
'Reisepreis' => $new ? $export->price_total : "",
|
||||
'Erlös' => $new ? $export->proceeds() : "",
|
||||
'Kunde' => $new ? $export->customer->fullName() : "",
|
||||
'Reisedatum' => $new ? $export->getStartDateFormat() : "",
|
||||
|
|
@ -222,7 +228,8 @@ class ReportController extends Controller
|
|||
'BuchungsID' => $export->id,
|
||||
'Status' => $export->lead->status->name,
|
||||
'MyJack Nr.' => $export->merlin_order_number,
|
||||
'Reisepreis' => $export->price,
|
||||
'Organisation' => $export->price,
|
||||
'Reisepreis' => $export->price_total,
|
||||
'Erlös' => $export->proceeds(),
|
||||
'Kunde' => $export->customer->fullName(),
|
||||
'Reisedatum' => $export->getStartDateFormat(),
|
||||
|
|
@ -244,7 +251,8 @@ class ReportController extends Controller
|
|||
'BuchungsID' => "Total",
|
||||
'Status' => "",
|
||||
'MyJack Nr.' => "",
|
||||
'Reisepreis' => Util::_number_format($total_price),
|
||||
'Organisation' => Util::_number_format($total_price),
|
||||
'Reisepreis' => Util::_number_format($total_price_total),
|
||||
'Erlös' => Util::_number_format($total_proceeds),
|
||||
'Kunde' => "",
|
||||
'Reisedatum' => "",
|
||||
|
|
@ -266,7 +274,7 @@ class ReportController extends Controller
|
|||
private function prozessProvidersSearch(){
|
||||
|
||||
|
||||
$query = ServiceProviderEntry::with('booking', 'service_provider', 'booking.customer');
|
||||
$query = ServiceProviderEntry::with('booking', 'service_provider', 'booking.customer')->select('service_provider_entry.*');
|
||||
if(Request::get('filter_is_cleared') != ""){
|
||||
$query->where('is_cleared', '=', Request::get('filter_is_cleared'));
|
||||
}
|
||||
|
|
@ -299,11 +307,24 @@ class ReportController extends Controller
|
|||
if($query->count() > 200){
|
||||
return 'max 200 ';
|
||||
}
|
||||
$all = $query->get();
|
||||
$price = 0;
|
||||
$isset = [];
|
||||
foreach ($all as $v){
|
||||
$price += in_array($v->booking->lead_id, $isset) ? 0 : $v->booking->getPriceRaw();
|
||||
$isset[] = $v->booking->lead_id;
|
||||
}
|
||||
return Util::_number_format($price);
|
||||
})
|
||||
->with('price_total_total_sum', function() use ($query) {
|
||||
if($query->count() > 200){
|
||||
return 'max 200 ';
|
||||
}
|
||||
$all = $query->get();
|
||||
$price = 0;
|
||||
$isset = [];
|
||||
foreach ($all as $v){
|
||||
$price += in_array($v->booking->lead_id, $isset) ? 0 : $v->booking->getPriceRaw();
|
||||
$price += in_array($v->booking->lead_id, $isset) ? 0 : $v->booking->getPriceTotalRaw();
|
||||
$isset[] = $v->booking->lead_id;
|
||||
}
|
||||
return Util::_number_format($price);
|
||||
|
|
@ -316,14 +337,14 @@ class ReportController extends Controller
|
|||
$proceeds = 0;
|
||||
$isset = [];
|
||||
foreach ($all as $v){
|
||||
$proceeds += in_array($v->booking->lead_id, $isset) ? 0 : $v->booking->proceedsRaw();
|
||||
$proceeds += in_array($v->booking->lead_id, $isset) ? 0 : $v->booking->proceeds(true);
|
||||
$isset[] = $v->booking->lead_id;
|
||||
}
|
||||
return Util::_number_format($proceeds);
|
||||
/*$all = $query->get();
|
||||
$proceeds = 0;
|
||||
foreach ($all as $v){
|
||||
$proceeds += $v->proceedsRaw();
|
||||
$proceeds += $v->proceeds(true);
|
||||
}
|
||||
return Util::_number_format($proceeds);*/
|
||||
})
|
||||
|
|
@ -384,6 +405,7 @@ class ReportController extends Controller
|
|||
'CRM Nr',
|
||||
'Kunde',
|
||||
'Reisedatum',
|
||||
'Organisation',
|
||||
'Gesamtreisepreis',
|
||||
'Reiseland',
|
||||
'Reiseprogramm',
|
||||
|
|
@ -397,13 +419,15 @@ class ReportController extends Controller
|
|||
);
|
||||
$isset = [];
|
||||
$total_price = 0;
|
||||
$total_price_total = 0;
|
||||
$total_amount_final = 0;
|
||||
$total_proceeds = 0;
|
||||
foreach($exports as $export) {
|
||||
$new = in_array($export->booking->lead_id, $isset) ? false : true;
|
||||
if($new){
|
||||
$total_price += $export->booking->getPriceRaw();
|
||||
$total_proceeds += $export->booking->proceedsRaw();
|
||||
$total_price_total += $export->booking->getPriceTotalRaw();
|
||||
$total_proceeds += $export->booking->proceeds(true);
|
||||
}
|
||||
$total_amount_final += $export->getAmountFinalEurRaw();
|
||||
$columns[] = array(
|
||||
|
|
@ -412,7 +436,8 @@ class ReportController extends Controller
|
|||
'CRM Nr' => $new ? $export->booking->lead_id : "",
|
||||
'Kunde' => $new ? $export->booking->customer->name : "",
|
||||
'Reisedatum' => $new ? $export->booking->getStartDateFormat() : "",
|
||||
'Gesamtreisepreis' => $new ? $export->booking->price : "",
|
||||
'Organisation' => $new ? $export->booking->price : "",
|
||||
'Gesamtreisepreis' => $new ? $export->booking->price_total : "",
|
||||
'Reiseland' => $new ? $export->booking->travel_country->name : "",
|
||||
'Reiseprogramm' => $new ? $export->booking->travel_agenda->name : "",
|
||||
'Reiseteilnehmer' => $new ? $export->booking->pax : "",
|
||||
|
|
@ -431,7 +456,8 @@ class ReportController extends Controller
|
|||
'CRM Nr' => "",
|
||||
'Kunde' =>"",
|
||||
'Reisedatum' => "",
|
||||
'Gesamtreisepreis' => Util::_number_format($total_price),
|
||||
'Organisation' => Util::_number_format($total_price),
|
||||
'Gesamtreisepreis' => Util::_number_format($total_price_total),
|
||||
'Reiseland' => "",
|
||||
'Reiseprogramm' => "",
|
||||
'Reiseteilnehmer' => "",
|
||||
|
|
@ -466,7 +492,7 @@ class ReportController extends Controller
|
|||
foreach($exports as $export) {
|
||||
$new = in_array($export->booking->lead_id, $isset) ? false : true;
|
||||
if($new) {
|
||||
$payments_total += $export->booking->getServiceProviderPaymentsTotalRaw();
|
||||
$payments_total += $export->booking->getServiceProviderPaymentsTotal(true);
|
||||
}
|
||||
$total_amount_final += $export->getAmountFinalEurRaw();
|
||||
$columns[] = array(
|
||||
|
|
|
|||
|
|
@ -203,7 +203,6 @@ class BookingController extends Controller
|
|||
$ret = CustomerMailRepository::loadModal($data);
|
||||
}
|
||||
|
||||
|
||||
if($data['action'] === "modal-upload-booking-file") {
|
||||
$ret = view("booking.upload_modal", compact('data'))->render();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,86 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\CMS;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\CMSContent;
|
||||
use App\Models\TravelCountry;
|
||||
use App\Models\TravelNationality;
|
||||
use Request;
|
||||
use Validator;
|
||||
|
||||
|
||||
class CMSContentCountryController extends Controller
|
||||
{
|
||||
|
||||
/*
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'travel_countries' => TravelCountry::all(),
|
||||
];
|
||||
return view('cms.content.country.index', $data);
|
||||
}
|
||||
|
||||
public function detail($id, $step = false)
|
||||
{
|
||||
$model = TravelCountry::findOrFail($id);
|
||||
$id = $model->id;
|
||||
|
||||
$data = [
|
||||
'model' => $model,
|
||||
'id' => $id,
|
||||
'step' => $step,
|
||||
'travel_nationalities' => TravelNationality::where('active', true)->get(),
|
||||
];
|
||||
return view('cms.content.country.detail', $data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function store($id)
|
||||
{
|
||||
|
||||
$data = Request::all();
|
||||
if(isset($data['contact_emails'])){
|
||||
$data['contact_emails'] = explode('#', str_replace(array("\r\n", "\r", "\n"),"#",$data['contact_emails']));
|
||||
}else{
|
||||
$data['contact_emails'] = null;
|
||||
}
|
||||
if(!isset($data['contact_lands'])){
|
||||
$data['contact_lands'] = null;
|
||||
}
|
||||
$model = TravelCountry::findOrFail($id);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
|
||||
//travel_nationality_requirement
|
||||
if (isset($data['travel_nationality_requirement'])) {
|
||||
foreach ($data['travel_nationality_requirement'] as $travel_nationality_id => $text) {
|
||||
$model->setNationalityRequirement($travel_nationality_id, $text);
|
||||
}
|
||||
}
|
||||
|
||||
//TODO for this time
|
||||
if ($data['action'] == 'contact') {
|
||||
//we need an update in the old CRM v1 system DB
|
||||
$tc = \App\Models\Sym\TravelCountry::findOrFail($model->crm_id);
|
||||
$tc->fill($data);
|
||||
$tc->save();
|
||||
}
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('cms_content_country_detail', [$model->id, $data['action']]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -62,7 +62,7 @@ class CustomerController extends Controller
|
|||
|
||||
public function getCustomers()
|
||||
{
|
||||
$query = Customer::with('salutation');
|
||||
$query = Customer::with('salutation')->select('customer.*');
|
||||
|
||||
return \DataTables::eloquent($query)
|
||||
->addColumn('action_edit', function (Customer $customer) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||
use App\Models\Customer;
|
||||
use App\Models\CustomerFile;
|
||||
use App\Models\CustomerMail;
|
||||
use App\Models\EmailTemplate;
|
||||
use App\Repositories\CustomerMailRepository;
|
||||
use App\Repositories\CustomerFileRepository;
|
||||
use App\Services\Util;
|
||||
|
|
@ -136,7 +137,7 @@ class CustomerMailController extends Controller
|
|||
|
||||
public function getCustomerMails()
|
||||
{
|
||||
$query = CustomerMail::with('booking')->with('customer');
|
||||
$query = CustomerMail::with('booking')->with('customer')->select('customer_mails.*');
|
||||
|
||||
return \DataTables::eloquent($query)
|
||||
->addColumn('action_edit', function (CustomerMail $customer_mail) {
|
||||
|
|
@ -183,6 +184,37 @@ class CustomerMailController extends Controller
|
|||
->make(true);
|
||||
}
|
||||
|
||||
public function getEmailTemplates()
|
||||
{
|
||||
$query = EmailTemplate::where('active', '=', true);
|
||||
|
||||
return \DataTables::eloquent($query)
|
||||
->addColumn('action', function (EmailTemplate $emailTemplate) {
|
||||
return '<a href="javascript:void(0)" class="btn icon-btn btn-sm btn-primary email-template-action"
|
||||
data-url="'.route('customer_mail_ajax').'" data-id="'.$emailTemplate->id.'" data-action="load_email_template"
|
||||
title="Vorlage laden" data-placement="left" rel="tooltip"><span class="ion ion-ios-arrow-dropup"></span></a>';
|
||||
})
|
||||
->orderColumn('id', 'id $1')
|
||||
->orderColumn('subject', 'subject $1')
|
||||
->orderColumn('message', 'message $1')
|
||||
->filterColumn('id', function($query, $keyword) {
|
||||
if($keyword != ""){
|
||||
$query->where('id', 'LIKE', '%'.$keyword.'%');
|
||||
}
|
||||
})
|
||||
->filterColumn('subject', function($query, $keyword) {
|
||||
if($keyword != ""){
|
||||
$query->where('subject', 'LIKE', '%'.$keyword.'%');
|
||||
$query->OrWhere('message', 'LIKE', '%'.$keyword.'%');
|
||||
|
||||
}
|
||||
})
|
||||
->rawColumns(['action'])
|
||||
->make(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function uploadAttachment($id){
|
||||
|
||||
$fileRepo = new CustomerFileRepository(new CustomerFile());
|
||||
|
|
@ -212,6 +244,20 @@ class CustomerMailController extends Controller
|
|||
$customer_mail->save();
|
||||
$status = 'success';
|
||||
}
|
||||
if($data['action'] === 'load_email_template'){
|
||||
$email_template = EmailTemplate::find($data['id']);
|
||||
$ret = $email_template->message;
|
||||
$data['subject'] = $email_template->subject;
|
||||
$status = 'success';
|
||||
}
|
||||
if($data['action'] === 'delete_mail_attachment'){
|
||||
$customer_file = CustomerFile::find($data['id']);
|
||||
$fileRepo = new CustomerFileRepository($customer_file);
|
||||
$fileRepo->_set('disk', 'customer');
|
||||
$ret = $fileRepo->delete();
|
||||
$status = 'success';
|
||||
}
|
||||
|
||||
if($data['action'] === 'add_attachment'){
|
||||
$arrContextOptions=array(
|
||||
"ssl"=>array(
|
||||
|
|
@ -219,10 +265,7 @@ class CustomerMailController extends Controller
|
|||
"verify_peer_name"=>false,
|
||||
),
|
||||
);
|
||||
|
||||
$contents = file_get_contents($data['target'], false, stream_context_create($arrContextOptions));
|
||||
|
||||
|
||||
$mine = Util::getMimeFromHeader($http_response_header);
|
||||
$extension = Util::getExtensionFromMime($mine);
|
||||
$fileRepo = new CustomerFileRepository(new CustomerFile());
|
||||
|
|
@ -234,7 +277,6 @@ class CustomerMailController extends Controller
|
|||
$fileRepo->_set('originalName', $data['name']);
|
||||
$fileRepo->_set('mine', $mine);
|
||||
$fileRepo->_set('extension', $extension);
|
||||
|
||||
return $fileRepo->storeFile($contents);
|
||||
}
|
||||
}
|
||||
|
|
@ -246,7 +288,6 @@ class CustomerMailController extends Controller
|
|||
if (!Request::get('booking_id')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$query = CustomerMail::where('booking_id', '=', Request::get('booking_id'));
|
||||
if (Request::get('customer_mail_dir') == 11) { //draft
|
||||
$query->where('draft', '=', true);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ class LeadController extends Controller
|
|||
|
||||
public function getLeads()
|
||||
{
|
||||
$query = Lead::with('customer')->with('sf_guard_user')->with('status');
|
||||
$query = Lead::with('customer')->with('sf_guard_user')->with('status')->select('lead.*');
|
||||
|
||||
return \DataTables::eloquent($query)
|
||||
->addColumn('action_edit', function (Lead $lead) {
|
||||
|
|
|
|||
|
|
@ -79,16 +79,17 @@ class RequestController extends Controller
|
|||
*/
|
||||
private function getSearchRequests(){
|
||||
|
||||
$query = Booking::with('lead')->with('customer_mails')->where('lead_id', '!=', NULL);
|
||||
$query = Booking::with('lead')->with('customer')->with('customer_mails')->select('booking.*')->where('lead_id', '!=', NULL);
|
||||
|
||||
if(Request::get('full_firstname_search') != ""){
|
||||
$query->where('participant_firstname', 'LIKE', '%'.Request::get('full_firstname_search').'%');
|
||||
}
|
||||
|
||||
$query->whereHas('customer', function ($q) {
|
||||
$q->where('firstname', 'LIKE', '%'.Request::get('full_firstname_search').'%');
|
||||
}); }
|
||||
if(Request::get('full_lastname_search') != ""){
|
||||
$query->where('participant_name', 'LIKE', '%'.Request::get('full_lastname_search').'%');
|
||||
$query->whereHas('customer', function ($q) {
|
||||
$q->where('name', 'LIKE', '%'.Request::get('full_lastname_search').'%');
|
||||
});
|
||||
}
|
||||
|
||||
if(Request::get('travel_option_country_id') != ""){
|
||||
$country_ids = TravelCountry::where('contact_lands', 'LIKE', '%"'.Request::get('travel_option_country_id').'"%')->get()->pluck('id');
|
||||
$country_ids[] = Request::get('travel_option_country_id');
|
||||
|
|
@ -261,12 +262,12 @@ class RequestController extends Controller
|
|||
->addColumn('lead_id', function (Booking $booking) {
|
||||
return '<a data-order="'.$booking->lead_id.'" href="'.make_old_url('leads/'.$booking->lead_id.'/edit').'" data-id="'.$booking->lead_id.'">'.$booking->lead_id.'</a>';
|
||||
})
|
||||
->addColumn('participant_firstname', function (Booking $booking) {
|
||||
/*->addColumn('participant_firstname', function (Booking $booking) {
|
||||
return '<a data-order="'.$booking->participant_firstname.'" href="'.make_old_url('customer/'.$booking->customer_id.'/edit').'" data-id="'.$booking->customer_id.'">'.$booking->participant_firstname.'</a>';
|
||||
})
|
||||
->addColumn('participant_name', function (Booking $booking) {
|
||||
return '<a data-order="'.$booking->participant_name.'" href="'.make_old_url('customer/'.$booking->customer_id.'/edit').'" data-id="'.$booking->customer_id.'">'.$booking->participant_name.'</a>';
|
||||
})
|
||||
})*/
|
||||
->addColumn('id', function (Booking $booking) {
|
||||
return '<a data-order="'.$booking->id.'" href="'.make_old_url('booking/'.$booking->id.'/edit').'" data-id="'.$booking->id.'">'.$booking->id.'</a>';
|
||||
})
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|||
|
||||
use App\Models\Airline;
|
||||
use App\Models\Booking;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
class AirlineController extends Controller
|
||||
|
|
@ -28,11 +29,10 @@ class AirlineController extends Controller
|
|||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
if(isset($data['contact_emails'])){
|
||||
$data['contact_emails'] = explode('#', str_replace(array("\r\n", "\r", "\n"),"#",$data['contact_emails']));
|
||||
}else{
|
||||
$data['contact_emails'] = null;
|
||||
}
|
||||
|
||||
|
||||
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
|
||||
|
||||
if($data['id'] === "new"){
|
||||
$model = Airline::create($data);
|
||||
}else{
|
||||
|
|
|
|||
75
app/Http/Controllers/Settings/EmailTemplateController.php
Executable file
75
app/Http/Controllers/Settings/EmailTemplateController.php
Executable file
|
|
@ -0,0 +1,75 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\EmailTemplate;
|
||||
use Request;
|
||||
|
||||
class EmailTemplateController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
}
|
||||
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'email_template' => EmailTemplate::all(),
|
||||
];
|
||||
return view('settings.email_template.index', $data);
|
||||
}
|
||||
|
||||
public function load(){
|
||||
$data = Request::all();
|
||||
$ret = "";
|
||||
if(Request::ajax()) {
|
||||
|
||||
if($data['action'] === "modal-email-template") {
|
||||
if($data['id'] === 'new'){
|
||||
$value = new EmailTemplate();
|
||||
$value->id = 0;
|
||||
$value->active = 1;
|
||||
|
||||
}else{
|
||||
$value = EmailTemplate::find($data['id']);
|
||||
|
||||
}
|
||||
$ret = view("settings.email_template.modal", compact('value'))->render();
|
||||
}
|
||||
}
|
||||
return response()->json(['response' => $data, 'html'=>$ret]);
|
||||
}
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
$data['active'] = isset($data['active']) ? true : false;
|
||||
|
||||
if($data['id'] === "new" || $data['id'] == 0){
|
||||
$model = EmailTemplate::create($data);
|
||||
}else{
|
||||
$model = EmailTemplate::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_email_template'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
|
||||
$model = EmailTemplate::findOrFail($id);
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
55
app/Http/Controllers/Settings/InsuranceController.php
Executable file
55
app/Http/Controllers/Settings/InsuranceController.php
Executable file
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\Insurance;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
class InsuranceController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'insurance' => Insurance::all(),
|
||||
];
|
||||
return view('settings.insurance.index', $data);
|
||||
}
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
|
||||
$data['active'] = isset($data['active']) ? true : false;
|
||||
|
||||
if($data['id'] === "new"){
|
||||
$model = Insurance::create($data);
|
||||
}else{
|
||||
$model = Insurance::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_insurance'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
$model = Insurance::findOrFail($id);
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
57
app/Http/Controllers/Settings/ServiceProviderController.php
Executable file
57
app/Http/Controllers/Settings/ServiceProviderController.php
Executable file
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\ServiceProvider;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
class ServiceProviderController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'service_provider' => ServiceProvider::all(),
|
||||
];
|
||||
return view('settings.service_provider.index', $data);
|
||||
}
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
|
||||
$data['active'] = isset($data['active']) ? true : false;
|
||||
|
||||
if($data['id'] === "new"){
|
||||
$model = ServiceProvider::create($data);
|
||||
}else{
|
||||
$model = ServiceProvider::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_service_provider'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
|
||||
abort(404, 'Noch keine Funktion');
|
||||
$model = ServiceProvider::findOrFail($id);
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
58
app/Http/Controllers/Settings/TravelCompanyController.php
Executable file
58
app/Http/Controllers/Settings/TravelCompanyController.php
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use App\Models\TravelCompany;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
class TravelCompanyController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
{
|
||||
$data = [
|
||||
'travel_company' => TravelCompany::all(),
|
||||
];
|
||||
return view('settings.travel_company.index', $data);
|
||||
}
|
||||
|
||||
|
||||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
|
||||
$data['active'] = isset($data['active']) ? true : false;
|
||||
$data['is_allowed_edit_commission'] = isset($data['is_allowed_edit_commission']) ? true : false;
|
||||
$data['is_inhouse'] = isset($data['is_inhouse']) ? true : false;
|
||||
if($data['id'] === "new"){
|
||||
$model = TravelCompany::create($data);
|
||||
}else{
|
||||
$model = TravelCompany::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_travel_company'));
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
|
||||
abort(404, 'Noch keine Funktion');
|
||||
$model = TravelCompany::findOrFail($id);
|
||||
$model->delete();
|
||||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -6,13 +6,21 @@ use App\Http\Controllers\Controller;
|
|||
|
||||
use App\Models\TravelCountry;
|
||||
use App\Models\TravelNationality;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
class TravelCountryController extends Controller
|
||||
{
|
||||
|
||||
|
||||
/*
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('admin');
|
||||
$this->middleware('admin');
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -24,9 +32,9 @@ class TravelCountryController extends Controller
|
|||
return view('settings.travel_country.index', $data);
|
||||
}
|
||||
|
||||
public function detail($id)
|
||||
public function detail($id, $step = false)
|
||||
{
|
||||
if($id == "new") {
|
||||
if($id === "new") {
|
||||
$model = new TravelCountry();
|
||||
$id = 'new';
|
||||
$model->active_backend = 1;
|
||||
|
|
@ -34,9 +42,11 @@ class TravelCountryController extends Controller
|
|||
$model = TravelCountry::findOrFail($id);
|
||||
$id = $model->id;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'model' => $model,
|
||||
'id' => $id,
|
||||
'step' => $step,
|
||||
'travel_nationalities' => TravelNationality::where('active', true)->get(),
|
||||
];
|
||||
return view('settings.travel_country.detail', $data);
|
||||
|
|
@ -44,45 +54,53 @@ class TravelCountryController extends Controller
|
|||
|
||||
|
||||
|
||||
public function store(){
|
||||
public function update($id)
|
||||
{
|
||||
|
||||
$data = Request::all();
|
||||
$data['is_customer_country'] = isset($data['is_customer_country']) ? true : false;
|
||||
$data = Request::all();
|
||||
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
|
||||
if(!isset($data['contact_lands'])){
|
||||
$data['contact_lands'] = null;
|
||||
}
|
||||
/*
|
||||
* $data['is_customer_country'] = isset($data['is_customer_country']) ? true : false;
|
||||
$data['active_frontend'] = isset($data['active_frontend']) ? true : false;
|
||||
$data['active_backend'] = isset($data['active_backend']) ? true : false;
|
||||
*/
|
||||
if($id === "new"){
|
||||
$data['crm_id'] = 0;
|
||||
$model = TravelCountry::create($data);
|
||||
}else{
|
||||
$model = TravelCountry::find($id);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
|
||||
if($data['id'] == "new"){
|
||||
$data['crm_id'] = 0;
|
||||
$model = TravelCountry::create($data);
|
||||
}else{
|
||||
$model = TravelCountry::find($data['id']);
|
||||
$model->fill($data);
|
||||
$model->save();
|
||||
}
|
||||
//travel_nationality_requirement
|
||||
if (isset($data['travel_nationality_requirement'])) {
|
||||
foreach ($data['travel_nationality_requirement'] as $travel_nationality_id => $text) {
|
||||
$model->setNationalityRequirement($travel_nationality_id, $text);
|
||||
}
|
||||
}
|
||||
|
||||
//travel_nationality_requirement
|
||||
if(isset($data['travel_nationality_requirement'])){
|
||||
foreach ($data['travel_nationality_requirement'] as $travel_nationality_id => $text){
|
||||
$model->setNationalityRequirement($travel_nationality_id, $text);
|
||||
}
|
||||
}
|
||||
//TODO for this time
|
||||
if ($data['action'] === 'contact') {
|
||||
//we need an update in the old CRM v1 system DB
|
||||
$tc = \App\Models\Sym\TravelCountry::findOrFail($model->crm_id);
|
||||
if(!$tc){
|
||||
$tc = \App\Models\Sym\TravelCountry::create($data);
|
||||
$model->crm_id = $tc->id;
|
||||
$model->save();
|
||||
}else{
|
||||
$tc->fill($data);
|
||||
$tc->save();
|
||||
}
|
||||
|
||||
//TODO for this time
|
||||
//we need an update in the old CRM v1 system DB
|
||||
$tc = \App\Models\Sym\TravelCountry::find($model->crm_id);
|
||||
if(!$tc){
|
||||
$tc = \App\Models\Sym\TravelCountry::create($data);
|
||||
$model->crm_id = $tc->id;
|
||||
$model->save();
|
||||
}else{
|
||||
$tc->fill($data);
|
||||
$tc->save();
|
||||
}
|
||||
}
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_travel_country_detail', [$model->id]));
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('admin_settings_travel_country_detail', [$model->id]));
|
||||
|
||||
}
|
||||
|
||||
public function delete($id){
|
||||
$model = TravelCountry::findOrFail($id);
|
||||
|
|
@ -100,7 +118,6 @@ class TravelCountryController extends Controller
|
|||
\Session()->flash('alert-success', 'Eintrag gelöscht');
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class TravelNationalityController extends Controller
|
|||
public function update(){
|
||||
|
||||
$data = Request::all();
|
||||
if($data['id'] == "new"){
|
||||
if($data['id'] === "new"){
|
||||
$model = TravelNationality::create([
|
||||
'name' => $data['name'],
|
||||
'active' => isset($data['active']) ? true : false,
|
||||
|
|
|
|||
|
|
@ -47,10 +47,4 @@ class Airline extends Model
|
|||
|
||||
protected $casts = ['contact_emails' => 'array'];
|
||||
|
||||
public function getContactEmailsStr($glue=PHP_EOL){
|
||||
if($this->contact_emails){
|
||||
return implode($glue, $this->contact_emails);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Services\Util;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
@ -160,6 +161,8 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Booking whereOriginStartDate($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\BookingFile[] $booking_files
|
||||
* @property-read int|null $booking_files_count
|
||||
* @property float|null $price_balance
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Booking wherePriceBalance($value)
|
||||
*/
|
||||
class Booking extends Model
|
||||
{
|
||||
|
|
@ -236,7 +239,9 @@ class Booking extends Model
|
|||
'travel_company_id',
|
||||
'travel_documents',
|
||||
'price',
|
||||
'price_canceled',
|
||||
'price_total',
|
||||
'price_balance',
|
||||
'deposit_total',
|
||||
'final_payment',
|
||||
'final_payment_date',
|
||||
|
|
@ -317,36 +322,6 @@ class Booking extends Model
|
|||
2 => 'success',
|
||||
];
|
||||
|
||||
/*
|
||||
*
|
||||
* <ul class="tabscontrol flatlist clearfix" id="tabscontrol">
|
||||
<li class="tab"><a href="#customer" class="active"><?php echo __('Kunde') ?></a></li>
|
||||
<?php if ($booking->relatedExists('Application')): ?>
|
||||
<li class="tab"><a href="#application" class="active"><?php echo __('Reiseanmeldung') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('Confirmation')): ?>
|
||||
<li class="tab"><a href="#confirmation" class="active"><?php echo __('Reisebestätigung') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('Invoice')): ?>
|
||||
<li class="tab"><a href="#invoice" class="active"><?php echo __('Rechnung') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('Storno')): ?>
|
||||
<li class="tab"><a href="#storno" class="active"><?php echo __('Storno') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('TravelInsurance')): ?>
|
||||
<li class="tab"><a href="#travelinsurance" class="active"><?php echo __('Versicherung') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('InsuranceCertificate')): ?>
|
||||
<li class="tab"><a href="#insurance" class="active"><?php echo __('Sicherungsschein') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('Voucher')): ?>
|
||||
<li class="tab"><a href="#voucher" class="active"><?php echo __('Voucher') ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($booking->relatedExists('Coupon')): ?>
|
||||
<li class="tab"><a href="#coupon" class="active"><?php echo __('Gutscheine') ?></a></li>
|
||||
<?php endif; ?>
|
||||
|
||||
*/
|
||||
|
||||
/*public function branch()
|
||||
{
|
||||
|
|
@ -535,15 +510,69 @@ class Booking extends Model
|
|||
|
||||
public function getPriceAttribute()
|
||||
{
|
||||
// 2 = decimal places | '.' = decimal seperator | ',' = thousand seperator
|
||||
return number_format(($this->attributes['price']), 2, ',', '.');
|
||||
return Util::_number_format($this->attributes['price']);
|
||||
}
|
||||
|
||||
public function getPriceRaw()
|
||||
{
|
||||
return $this->attributes['price'];
|
||||
}
|
||||
|
||||
public function getPriceCanceledAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['price_canceled']);
|
||||
}
|
||||
public function getPriceCanceledRaw()
|
||||
{
|
||||
return $this->attributes['price_canceled'];
|
||||
}
|
||||
|
||||
public function getPriceTotalAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['price_total']);
|
||||
}
|
||||
public function getPriceTotalRaw()
|
||||
{
|
||||
return $this->attributes['price_total'];
|
||||
}
|
||||
|
||||
public function getCanceledAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['canceled']);
|
||||
}
|
||||
public function getCanceledRaw()
|
||||
{
|
||||
return $this->attributes['canceled'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getPriceBalanceAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['price_balance']);
|
||||
}
|
||||
public function getPriceBalanceRaw()
|
||||
{
|
||||
return $this->attributes['price_balance'];
|
||||
}
|
||||
|
||||
public function getDepositTotalAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['deposit_total']);
|
||||
}
|
||||
public function getDepositTotalRaw()
|
||||
{
|
||||
return $this->attributes['deposit_total'];
|
||||
}
|
||||
|
||||
public function getFinalPaymentAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['final_payment']);
|
||||
}
|
||||
public function getFinalPaymentRaw()
|
||||
{
|
||||
return $this->attributes['final_payment'];
|
||||
}
|
||||
|
||||
public function findBeforeDraftItemRelation($reid)
|
||||
{
|
||||
$before = false;
|
||||
|
|
@ -585,56 +614,48 @@ class Booking extends Model
|
|||
return Carbon::parse($this->attributes['booking_date'])->format(\Util::formatDateDB());
|
||||
}
|
||||
|
||||
//erlös #getRevenueFactor
|
||||
public function proceedsRaw(){
|
||||
$total = 0;
|
||||
foreach ($this->service_provider_entries as $entry)
|
||||
{
|
||||
$total += $entry->amount / $entry->factor;
|
||||
}
|
||||
return $this->attributes['price'] - $total;
|
||||
public function getFinalPaymentDateFormat(){
|
||||
if(!$this->attributes['final_payment_date']){ return ""; }
|
||||
return Carbon::parse($this->attributes['final_payment_date'])->format(\Util::formatDateDB());
|
||||
}
|
||||
|
||||
public function isCanceled(){
|
||||
return ($this->attributes['canceled'] > 0);
|
||||
}
|
||||
|
||||
//erlös #getRevenueFactor
|
||||
public function proceeds(){
|
||||
$proceeds = $this->attributes['price']
|
||||
// - $this->getServiceTotal()
|
||||
// - $this->getServiceFee()
|
||||
- $this->getServiceProviderEntriesAmountFactorTotal();
|
||||
|
||||
return number_format(($proceeds), 2, ',', '.');
|
||||
public function proceeds($raw = false){
|
||||
$proceeds = $this->attributes['price'] - $this->attributes['price_balance'] - $this->getServiceProviderPaymentsFactorTotal(true);
|
||||
return $raw ? $proceeds : Util::_number_format($proceeds);
|
||||
|
||||
}
|
||||
|
||||
public function getServiceProviderEntriesAmountFactorTotal()
|
||||
public function getServiceTotal($raw = false)
|
||||
{
|
||||
$total = 0;
|
||||
foreach ($this->service_provider_entries as $entry)
|
||||
{
|
||||
foreach ($this->booking_service_items as $booking_service_item){
|
||||
$total += $booking_service_item->getServicePriceRaw();
|
||||
}
|
||||
return $raw ? $total : Util::_number_format($total);
|
||||
}
|
||||
|
||||
|
||||
public function getServiceProviderPaymentsFactorTotal($raw = false)
|
||||
{
|
||||
$total = 0;
|
||||
foreach ($this->service_provider_entries as $entry){
|
||||
$total += $entry->amount / $entry->factor;
|
||||
}
|
||||
return $total;
|
||||
return $raw ? $total : Util::_number_format($total);
|
||||
}
|
||||
|
||||
public function getServiceProviderPaymentsTotalRaw()
|
||||
public function getServiceProviderPaymentsTotal($raw = false)
|
||||
{
|
||||
$total = 0;
|
||||
foreach ($this->service_provider_entries as $entry)
|
||||
{
|
||||
foreach ($this->service_provider_entries as $entry){
|
||||
$total += $entry->amount;
|
||||
}
|
||||
return $total;
|
||||
}
|
||||
|
||||
public function getServiceProviderPaymentsTotal()
|
||||
{
|
||||
$total = 0;
|
||||
foreach ($this->service_provider_entries as $entry)
|
||||
{
|
||||
$total += $entry->amount;
|
||||
}
|
||||
return number_format(($total), 2, ',', '.');
|
||||
return $raw ? $total : Util::_number_format($total);
|
||||
}
|
||||
|
||||
public function getKontoNumber(){
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Services\Util;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
|
|
@ -81,4 +82,14 @@ class BookingServiceItem extends Model
|
|||
{
|
||||
return $this->belongsTo(TravelCompany::class);
|
||||
}
|
||||
|
||||
|
||||
public function getServicePriceAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['service_price']);
|
||||
}
|
||||
public function getServicePriceRaw()
|
||||
{
|
||||
return $this->attributes['service_price'];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
39
app/Models/EmailTemplate.php
Normal file
39
app/Models/EmailTemplate.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class EmailTemplate
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $subject
|
||||
* @property string $message
|
||||
* @property bool $active
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
*
|
||||
* @package App\Models
|
||||
*/
|
||||
class EmailTemplate extends Model
|
||||
{
|
||||
protected $connection = 'mysql';
|
||||
|
||||
protected $table = 'email_templates';
|
||||
|
||||
protected $casts = [
|
||||
'active' => 'bool'
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'subject',
|
||||
'message',
|
||||
'active'
|
||||
];
|
||||
}
|
||||
42
app/Models/Insurance.php
Normal file
42
app/Models/Insurance.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* Class Insurance
|
||||
*
|
||||
* @property int $id
|
||||
* @property string $name
|
||||
* @property string $name_full
|
||||
* @property string $contact_emails
|
||||
* @property bool $active
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
*
|
||||
* @package App\Models
|
||||
*/
|
||||
class Insurance extends Model
|
||||
{
|
||||
protected $connection = 'mysql';
|
||||
|
||||
protected $table = 'insurances';
|
||||
|
||||
protected $casts = [
|
||||
'active' => 'bool',
|
||||
'contact_emails' => 'array'
|
||||
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'contact_emails',
|
||||
'active'
|
||||
];
|
||||
}
|
||||
|
|
@ -33,14 +33,23 @@ class ServiceProvider extends Model
|
|||
protected $table = 'service_provider';
|
||||
public $timestamps = false;
|
||||
|
||||
public static $types = [
|
||||
'payment' => 'payment',
|
||||
'discount' => 'discount',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'dollar' => 'bool'
|
||||
];
|
||||
'dollar' => 'bool',
|
||||
'active' => 'bool',
|
||||
'contact_emails' => 'array'
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'dollar',
|
||||
'type'
|
||||
'type',
|
||||
'contact_emails',
|
||||
'active'
|
||||
];
|
||||
|
||||
public function service_provider_entries()
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Services\Util;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
|
|
@ -44,15 +45,19 @@ class TravelCompany extends Model
|
|||
protected $casts = [
|
||||
'percentage' => 'float',
|
||||
'is_allowed_edit_commission' => 'bool',
|
||||
'is_inhouse' => 'bool'
|
||||
];
|
||||
'is_inhouse' => 'bool',
|
||||
'active' => 'bool',
|
||||
'contact_emails' => 'array'
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'percentage',
|
||||
'is_allowed_edit_commission',
|
||||
'is_inhouse'
|
||||
];
|
||||
'is_inhouse',
|
||||
'contact_emails',
|
||||
'active'
|
||||
];
|
||||
|
||||
public function bookings()
|
||||
{
|
||||
|
|
@ -63,4 +68,19 @@ class TravelCompany extends Model
|
|||
{
|
||||
return $this->hasMany(BookingServiceItem::class);
|
||||
}
|
||||
|
||||
public function setPercentageAttribute($value)
|
||||
{
|
||||
$this->attributes['percentage'] = Util::_clean_float($value);
|
||||
}
|
||||
|
||||
public function getPercentageAttribute()
|
||||
{
|
||||
return Util::_number_format($this->attributes['percentage']);
|
||||
}
|
||||
|
||||
public function getPercentageRaw()
|
||||
{
|
||||
return isset($this->attributes['percentage']) ? $this->attributes['percentage'] : 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,13 +118,6 @@ class TravelCountry extends Model
|
|||
}
|
||||
}
|
||||
|
||||
public function getContactEmailsStr($glue=PHP_EOL){
|
||||
if(isset($this->contact_emails)){
|
||||
return implode($glue, $this->contact_emails);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public function getContactLandsArray(){
|
||||
$ret = [];
|
||||
if($this->contact_lands){
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ use App\Models\Booking;
|
|||
use App\Models\CMSContent;
|
||||
use App\Models\CustomerFile;
|
||||
use App\Models\CustomerMail;
|
||||
use App\Services\Placeholder;
|
||||
use App\Services\Util;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
|
@ -54,6 +55,7 @@ class CustomerMailRepository extends BaseRepository {
|
|||
foreach ($customer_files as $file) {
|
||||
$file->customer_id = $booking->customer_id;
|
||||
$file->customer_mail_id = $customer_mail->id;
|
||||
$file->identifier = 'mail';
|
||||
$file->save();
|
||||
}
|
||||
|
||||
|
|
@ -86,6 +88,7 @@ class CustomerMailRepository extends BaseRepository {
|
|||
foreach ($customer_files as $file) {
|
||||
$file->customer_id = $booking->customer_id;
|
||||
$file->customer_mail_id = $customer_mail->id;
|
||||
$file->identifier = 'mail';
|
||||
$file->save();
|
||||
}
|
||||
}
|
||||
|
|
@ -170,26 +173,8 @@ class CustomerMailRepository extends BaseRepository {
|
|||
}
|
||||
|
||||
private function prepareContent($booking, $content){
|
||||
|
||||
$first_name = $booking->customer->firstname;
|
||||
$last_name = $booking->customer->name;
|
||||
$title = $booking->customer->title;
|
||||
|
||||
$country = $booking->travel_country_id ? $booking->travel_country->name : "-";
|
||||
$program = $booking->travelagenda_id ? $booking->travel_agenda->name : "-";
|
||||
$salutation = $booking->customer->salutation->name;
|
||||
$start_date = $booking->getStartDateFormat();
|
||||
$end_date = $booking->getEndDateFormat();
|
||||
$booking_date = $booking->getBookingDateFormat();
|
||||
$airline = $booking->airline ? $booking->airline->name_full : '-';
|
||||
|
||||
$dear = $booking->customer->salutation_id == 1 ? 'geehrter' : 'geehrte';
|
||||
$search = ['#geehrte/r#', '#Anrede#', '#Titel#', '#Vorname#', '#Nachname#', '#Reiseland#', '#Programm#', '#Anreisedatum#', '#Abreisedatum#', '#Buchungsdatum#', '#Airline#'];
|
||||
$replace = [$dear, $salutation, $title, $first_name, $last_name, $country, $program, $start_date, $end_date, $booking_date, $airline];
|
||||
$content = str_replace($search, $replace, $content);
|
||||
|
||||
$content = Placeholder::replaceBooking($booking, $content);
|
||||
return $content;
|
||||
|
||||
}
|
||||
|
||||
private static function prepareContactMails($value){
|
||||
|
|
@ -236,6 +221,7 @@ class CustomerMailRepository extends BaseRepository {
|
|||
$value->recipient = "";
|
||||
$value->cc = "";
|
||||
$value->bcc = "";
|
||||
$value->lead_title_id = "";
|
||||
/*Ansicht*/
|
||||
if ($data['action'] === "show-customer-mail") {
|
||||
if (isset($data['customer_mail_id']) && $customer_mail = CustomerMail::find($data['customer_mail_id'])) {
|
||||
|
|
@ -255,6 +241,8 @@ class CustomerMailRepository extends BaseRepository {
|
|||
$value->id = $customer_mail->booking_id;
|
||||
$value->booking = $booking;
|
||||
$value->show = 'single';
|
||||
$value->lead_title_id = " - (".$value->booking->lead_id.")";
|
||||
|
||||
|
||||
$tmp = [];
|
||||
$tmp['email'] = $customer_mail->email ? $customer_mail->email : "";
|
||||
|
|
@ -288,21 +276,21 @@ class CustomerMailRepository extends BaseRepository {
|
|||
if ($data['action'] === "new-customer-mail") {
|
||||
$value->id = "";
|
||||
$value->draft = false;
|
||||
$lead_id = "-";
|
||||
$value->lead_title_id = "-";
|
||||
//singel
|
||||
if (isset($data['booking_id']) && $booking = Booking::find($data['booking_id'])) {
|
||||
$value->id = $data['booking_id'];
|
||||
$value->booking = $booking;
|
||||
$value->show = 'single';
|
||||
$value->draft = true;
|
||||
$lead_id = " - (".$value->booking->lead_id.")";
|
||||
$value->lead_title_id = " - (".$value->booking->lead_id.")";
|
||||
|
||||
}else{
|
||||
//multi
|
||||
$value->show = 'multi';
|
||||
}
|
||||
$value->customers = $data['customers'];
|
||||
$value->subject = $lead_id ;
|
||||
$value->subject = $value->lead_title_id;
|
||||
$value->message = CMSContent::getContentBySlug('mailvorlage');
|
||||
$value->s_placeholder = "Betreff der E-Mail";
|
||||
$value->m_placeholder = "Nachricht der E-Mail";
|
||||
|
|
@ -333,6 +321,7 @@ class CustomerMailRepository extends BaseRepository {
|
|||
$value->booking = $booking;
|
||||
$value->message = "";
|
||||
$value->subject = "";
|
||||
$value->lead_title_id = " - (".$value->booking->lead_id.")";
|
||||
$value->s_placeholder = "Betreff des Kunden";
|
||||
$value->m_placeholder = "Nachricht des Kunden";
|
||||
if(isset($data['customer_mail_id']) && $customer_mail = CustomerMail::find($data['customer_mail_id'])){
|
||||
|
|
|
|||
|
|
@ -100,6 +100,16 @@ class FileRepository extends BaseRepository {
|
|||
], 200);
|
||||
}
|
||||
|
||||
public function delete(){
|
||||
if($this->model){
|
||||
if(Storage::disk($this->disk)->exists( $this->model->dir.$this->model->filename )){
|
||||
Storage::disk($this->disk)->delete($this->model->dir.$this->model->filename);
|
||||
}
|
||||
$this->model->delete();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private function makeFilename(){
|
||||
$originalNameWithoutExt = substr($this->originalName, 0, strlen($this->originalName) - strlen($this->extension) - 1);
|
||||
$this->filename = Util::sanitize($originalNameWithoutExt, true, false, true);
|
||||
|
|
|
|||
|
|
@ -112,6 +112,10 @@ class HTMLHelper
|
|||
|
||||
}
|
||||
|
||||
public static function getActiveIcon($active){
|
||||
return $active ? '<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
|
||||
}
|
||||
|
||||
public static function getRolesOptions($id = 0){
|
||||
$ret = "";
|
||||
foreach (self::$roles as $role_id => $value){
|
||||
|
|
|
|||
68
app/Services/Placeholder.php
Normal file
68
app/Services/Placeholder.php
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
namespace App\Services;
|
||||
|
||||
use App\Models\Booking;
|
||||
|
||||
class Placeholder
|
||||
{
|
||||
|
||||
public static $booking = [
|
||||
'dear' => '#geehrte/r#',
|
||||
'salutation' => '#Anrede#',
|
||||
'title' => '#Titel#',
|
||||
'first_name' => '#Vorname#',
|
||||
'last_name' => '#Nachname#',
|
||||
'country' => '#Reiseland#',
|
||||
'program' => '#Programm#',
|
||||
'start_date' => '#Anreisedatum#',
|
||||
'end_date' => '#Abreisedatum#',
|
||||
'booking_date' => '#Buchungsdatum#',
|
||||
'airline' => '#Airline#'
|
||||
];
|
||||
|
||||
public static function getBookingQuill(){
|
||||
$ret = "";
|
||||
foreach (self::$booking as $key => $value) {
|
||||
$value = str_replace('#', '', $value);
|
||||
$ret .= "{id: '".$value."', label: '".$value."'},"."\n";
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
public static function getBookingOptions(){
|
||||
$ret = "";
|
||||
foreach (self::$booking as $key => $value) {
|
||||
$value = str_replace('#', '', $value);
|
||||
$ret .= '<option value="'.$value.'">'.$value.'</option>'."\n";
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function replaceBooking(Booking $booking, $content)
|
||||
{
|
||||
$dear = $booking->customer->salutation_id == 1 ? 'geehrter' : 'geehrte';
|
||||
$first_name = $booking->customer->firstname;
|
||||
$last_name = $booking->customer->name;
|
||||
$title = $booking->customer->title;
|
||||
$country = $booking->travel_country_id ? $booking->travel_country->name : "-";
|
||||
$program = $booking->travelagenda_id ? $booking->travel_agenda->name : "-";
|
||||
$salutation = $booking->customer->salutation->name;
|
||||
$start_date = $booking->getStartDateFormat();
|
||||
$end_date = $booking->getEndDateFormat();
|
||||
$booking_date = $booking->getBookingDateFormat();
|
||||
$airline = $booking->airline ? $booking->airline->name_full : '-';
|
||||
$search = [];
|
||||
$replace = [];
|
||||
|
||||
foreach (self::$booking as $key => $value) {
|
||||
$search[] = $value;
|
||||
$replace[] = ${$key};
|
||||
}
|
||||
$content = str_replace($search, $replace, $content);
|
||||
$content = preg_replace('/<placeholder.*?>(.*?)<\/placeholder>/', '$1', $content);
|
||||
$content = preg_replace('/<span contenteditable="false">(.*?)<\/span>/', '$1', $content);
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -64,13 +64,6 @@ class Util
|
|||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public function getContactEmailsStr($glue=PHP_EOL){
|
||||
if(isset($this->contact_emails)){
|
||||
return implode($glue, $this->contact_emails);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
public static function _clean_float($value){
|
||||
|
||||
$groups = explode(".", preg_replace("/[^0-9.-]/", "", str_replace(',', '.', $value)));
|
||||
|
|
|
|||
|
|
@ -28,21 +28,27 @@ return [
|
|||
'cms-cn' => ['name' => 'ADMIN CMS > Inhalte' , 'color' => 'secondary'],
|
||||
'cms-cn-in' => ['name' => 'ADMIN CMS > Inhalte > Infos' , 'color' => 'secondary'],
|
||||
'cms-cn-al' => ['name' => 'ADMIN CMS > Inhalte > Inhalte' , 'color' => 'secondary'],
|
||||
'cms-cn-co' => ['name' => 'ADMIN CMS > Inhalte > Länder' , 'color' => 'secondary'],
|
||||
'cms-cn-au' => ['name' => 'ADMIN CMS > Inhalte > Autor' , 'color' => 'secondary'],
|
||||
],
|
||||
2 => [
|
||||
'sua-st' => ['name' => 'SUPERADMIN > Einstellungen' , 'color' => 'superadmin'],
|
||||
'sua-st-tp' => ['name' => 'SUPERADMIN > Einstellungen > Reisprogramme' , 'color' => 'superadmin'],
|
||||
'sua-st-tc' => ['name' => 'SUPERADMIN > Einstellungen > Reiseländer' , 'color' => 'superadmin'],
|
||||
'sua-st-tn' => ['name' => 'SUPERADMIN > Einstellungen > Nationalitäten' , 'color' => 'superadmin'],
|
||||
'sua-st-bs' => ['name' => 'SUPERADMIN > Einstellungen > Reisestatus' , 'color' => 'superadmin'],
|
||||
'sua-st-ke' => ['name' => 'SUPERADMIN > Einstellungen > Keywords' , 'color' => 'superadmin'],
|
||||
'sua-st-al' => ['name' => 'SUPERADMIN > Einstellungen > Airline' , 'color' => 'superadmin'],
|
||||
'sua-st-et' => ['name' => 'SUPERADMIN > Einstellungen > E-Mail Vorlagen' , 'color' => 'superadmin'],
|
||||
'sua-st-ke' => ['name' => 'SUPERADMIN > Einstellungen > Keywords' , 'color' => 'superadmin'],
|
||||
'sua-st-sp' => ['name' => 'SUPERADMIN > Einstellungen > Leistungsträger' , 'color' => 'superadmin'],
|
||||
'sua-st-tn' => ['name' => 'SUPERADMIN > Einstellungen > Nationalitäten' , 'color' => 'superadmin'],
|
||||
'sua-st-co' => ['name' => 'SUPERADMIN > Einstellungen > Reiseländer' , 'color' => 'superadmin'],
|
||||
'sua-st-tp' => ['name' => 'SUPERADMIN > Einstellungen > Reisprogramme' , 'color' => 'superadmin'],
|
||||
'sua-st-bs' => ['name' => 'SUPERADMIN > Einstellungen > Reisestatus' , 'color' => 'superadmin'],
|
||||
'sua-st-tc' => ['name' => 'SUPERADMIN > Einstellungen > Veranstalter' , 'color' => 'superadmin'],
|
||||
'sua-st-in' => ['name' => 'SUPERADMIN > Einstellungen > Versicherungen' , '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'],
|
||||
|
||||
],
|
||||
],
|
||||
'roles' => [
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ class CreateBookingTable extends Migration
|
|||
$table->decimal('price', 10, 2)->nullable();
|
||||
$table->decimal('price_canceled', 10, 2)->nullable();
|
||||
$table->decimal('price_total', 10, 2)->nullable();
|
||||
$table->decimal('price_balance', 10, 2)->nullable();
|
||||
$table->decimal('deposit_total', 10, 2)->nullable();
|
||||
$table->decimal('final_payment', 10, 2)->nullable();
|
||||
$table->date('final_payment_date')->nullable();
|
||||
|
|
|
|||
|
|
@ -23,11 +23,10 @@ class CreateTravelCompanyTable extends Migration
|
|||
$table->decimal('percentage', 6, 2)->nullable();
|
||||
$table->tinyInteger('is_allowed_edit_commission')->nullable()->default(0);
|
||||
$table->tinyInteger('is_inhouse')->nullable()->default(0);
|
||||
$table->text('contact_emails')->nullable();
|
||||
$table->boolean('active')->default(true);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ class CreateServiceProviderTable extends Migration
|
|||
$table->string('name', 255);
|
||||
$table->unsignedTinyInteger('dollar')->nullable()->default(0);
|
||||
$table->string('type', 255)->nullable();
|
||||
$table->text('contact_emails')->nullable();
|
||||
$table->boolean('active')->default(true);
|
||||
|
||||
$table->index('type', 'service_provider_type_idx');
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateInsurancesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('insurances', function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->string('name', 255);
|
||||
$table->text('contact_emails')->nullable();
|
||||
$table->boolean('active')->default(true);
|
||||
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('insurances');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateEmailTemplatesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('email_templates', function (Blueprint $table) {
|
||||
$table->bigIncrements('id');
|
||||
$table->string('subject', 255);
|
||||
$table->text('message')->nullable();
|
||||
$table->boolean('active')->default(true);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('email_templates');
|
||||
}
|
||||
}
|
||||
|
|
@ -385,6 +385,21 @@ figcaption {
|
|||
border-left:1px solid #768394
|
||||
}
|
||||
|
||||
|
||||
.btn-outline-next {
|
||||
border-color: #8897AA;
|
||||
background: transparent;
|
||||
color: #8897AA;
|
||||
}
|
||||
|
||||
.btn-outline-next:hover {
|
||||
border-color: transparent;
|
||||
background: #8897AA;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.badge-md {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
|
@ -444,3 +459,14 @@ div.dropzone.dz-drag-hover {
|
|||
border-style: dashed;
|
||||
}
|
||||
|
||||
.ql-picker.ql-placeholder {
|
||||
width: 102px;
|
||||
}
|
||||
|
||||
.ql-picker.ql-placeholder > span.ql-picker-label::before {
|
||||
content: 'Platzhalter';
|
||||
}
|
||||
|
||||
.ql-picker.ql-placeholder > span.ql-picker-options > span.ql-picker-item::before {
|
||||
content: attr(data-label);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,11 +196,13 @@ function ajax_object_action(event, object, callback) {
|
|||
event.preventDefault();
|
||||
var data = {};
|
||||
$.each(object.data(), function(index, value){
|
||||
data[index] = value;
|
||||
if(typeof value !== 'object'){
|
||||
data[index] = value;
|
||||
}
|
||||
});
|
||||
var url = data['url'];
|
||||
//console.log(data);
|
||||
//console.log(url);
|
||||
console.log(data);
|
||||
console.log(url);
|
||||
$.ajax({
|
||||
url: url,
|
||||
data: data,
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
<th>BuchungsID</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('MyJack Nr.')}}</th>
|
||||
<th>{{__('Organisation')}}</th>
|
||||
<th>{{__('Reisepreis')}}</th>
|
||||
<th>{{__('Erlös')}}</th>
|
||||
<th>{{__('Kunde')}}</th>
|
||||
|
|
@ -79,6 +80,7 @@
|
|||
<tr>
|
||||
<td colspan="3">Total</td>
|
||||
<td id="price_total_sum">0</td>
|
||||
<td id="price_total_total_sum">0</td>
|
||||
<td id="proceed_total_sum">0</td>
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
|
|
@ -111,6 +113,7 @@
|
|||
{ data: 'lead.status_id', name: 'lead.status_id', orderable: false, searchable: false },
|
||||
{ data: 'merlin_order_number', name: 'merlin_order_number' },
|
||||
{ data: 'price', name: 'price' },
|
||||
{ data: 'price_total', name: 'price_total' },
|
||||
{ data: 'proceeds', name: 'proceeds' },
|
||||
{ data: 'customer.fullName', name: 'customer.fullName' },
|
||||
{ data: 'start_date', name: 'start_date' },
|
||||
|
|
@ -127,6 +130,7 @@
|
|||
},
|
||||
drawCallback: function (settings) {
|
||||
$('#price_total_sum').html(settings.json.price_total_sum);
|
||||
$('#price_total_total_sum').html(settings.json.price_total_total_sum);
|
||||
$('#proceed_total_sum').html(settings.json.proceed_total_sum);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
<th>BuchungsID</th>
|
||||
<th>{{__('Reiseveranstalter')}}</th>
|
||||
<th>{{__('MyJack Nr.')}}</th>
|
||||
<th>{{__('Organisation')}}</th>
|
||||
<th>{{__('Reisepreis')}}</th>
|
||||
<th>{{__('Erlös')}}</th>
|
||||
<th>{{__('Kunde')}}</th>
|
||||
|
|
@ -74,6 +75,7 @@
|
|||
<tr>
|
||||
<td colspan="4">Total</td>
|
||||
<td id="price_total_sum">0</td>
|
||||
<td id="price_total_total_sum">0</td>
|
||||
<td id="proceed_total_sum">0</td>
|
||||
<td colspan="3"></td>
|
||||
</tr>
|
||||
|
|
@ -109,6 +111,7 @@
|
|||
{ data: 'service_provider.name', name: 'service_provider.name' },
|
||||
{ data: 'booking.merlin_order_number', name: 'booking.merlin_order_number' },
|
||||
{ data: 'booking.price', name: 'booking.price' },
|
||||
{ data: 'booking.price_total', name: 'booking.price_total' },
|
||||
{ data: 'booking.proceeds', name: 'booking.proceeds' },
|
||||
{ data: 'booking.customer.fullName', name: 'booking.customer.fullName' },
|
||||
{ data: 'booking.start_date', name: 'booking.start_date' },
|
||||
|
|
@ -124,6 +127,7 @@
|
|||
},
|
||||
drawCallback: function (settings) {
|
||||
$('#price_total_sum').html(settings.json.price_total_sum);
|
||||
$('#price_total_total_sum').html(settings.json.price_total_total_sum);
|
||||
$('#proceed_total_sum').html(settings.json.proceed_total_sum);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@
|
|||
<input type="hidden" name="booking_id" value="{{$booking->id}}">
|
||||
<input type="hidden" name="customer_mail_dir" value="0">
|
||||
<input type="hidden" name="customer_mail_country" value="">
|
||||
|
||||
<table id="datatables-customer-mails" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -120,7 +119,6 @@
|
|||
<th>{{__('Betreff')}}</th>
|
||||
<th>{{__('Datum')}}</th>
|
||||
<th style="width: 100px">{{__('#')}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="">
|
||||
|
|
|
|||
|
|
@ -4,15 +4,123 @@
|
|||
</h6>
|
||||
<div class="collapse" id="collapseBookingPrice">
|
||||
<div class="card-body row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="price">{{ __('Gesamtpreis Organisation') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="form-group ">
|
||||
<label class="form-label" for="price">{{ __('Gesamtpreis Organisation') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('price', $booking->price, array('placeholder'=>__('Gesamtpreis'), 'class'=>'form-control', 'id'=>'price', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group ">
|
||||
<label class="form-label" for="service_total">{{ __('Gesamtpreis Vermittlung') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('service_total', $booking->getServiceTotal(), array('placeholder'=>__('Gesamtpreis Vermittlung'), 'class'=>'form-control', 'id'=>'service_total', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
@if($booking->isCanceled() > 0)
|
||||
<div class="form-group ">
|
||||
<label class="form-label" for="price_canceled">{{ __('Storno Betrag') }} <span class="text-muted">{{ __('(Forderung)') }}</span></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('price_canceled', $booking->price_canceled, array('placeholder'=>__('Storno Betrag'), 'class'=>'form-control', 'id'=>'price_canceled', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group ">
|
||||
<label class="form-label" for="price_balance">{{ __('Restbetrag') }} <span class="text-muted">{{ __('(nicht zu zahlen)') }}</span></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('price_balance', $booking->price_balance, array('placeholder'=>__('Restbetrag'), 'class'=>'form-control', 'id'=>'price_balance', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group ">
|
||||
<label class="form-label" for="price_total">{{ __('Gesamtpreis Reise') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('price_total', $booking->price_total, array('placeholder'=>__('Gesamtpreis Reise'), 'class'=>'form-control', 'id'=>'price_total', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="price">{{ __('Gesamtpreis Leistungsträger') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('price', $booking->getServiceProviderPaymentsFactorTotal(), array('placeholder'=>__('Gesamtpreis Leistungsträger'), 'class'=>'form-control', 'id'=>'price', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="proceeds">{{ __('Nettomarge bei Eigenveranstaltung') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('proceeds', $booking->proceeds(), array('placeholder'=>__('Erlös'), 'class'=>'form-control', 'id'=>'proceeds', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($booking->isCanceled() > 0)
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="canceled">{{ __('Storno in %') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('canceled', $booking->canceled, array('placeholder'=>__('Storno in %'), 'class'=>'form-control', 'id'=>'canceled', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="deposit_total">{{ __('Anzahlung') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('deposit_total', $booking->deposit_total, array('placeholder'=>__('Anzahlung'), 'class'=>'form-control', 'id'=>'deposit_total', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="final_payment">{{ __('Restzahlung') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('final_payment', $booking->final_payment, array('placeholder'=>__('Restzahlung'), 'class'=>'form-control', 'id'=>'final_payment', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="final_payment_date">{{ __('Restzahlung bis') }}</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">€</span>
|
||||
</div>
|
||||
{{ Form::text('final_payment_date', $booking->getFinalPaymentDateFormat(), array('placeholder'=>__('Restzahlung bis'), 'class'=>'form-control', 'id'=>'final_payment_date', 'readonly')) }}
|
||||
</div>
|
||||
{{ Form::text('price', $booking->price, array('placeholder'=>__('Gesamtpreis'), 'class'=>'form-control', 'id'=>'price', 'readonly')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
</style>
|
||||
<div class="float-right mt-3">
|
||||
<a href="{{route('bookings')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<a href="{{route('requests')}}" class="btn btn-sm btn-default">{{ __('zur Übersicht') }}</a>
|
||||
<a href="{{ make_old_url('/index.php/booking/'.$booking->id.'/edit') }}" class="btn btn-sm btn-default float-right">{{ __('zurück ins CRM v2') }}</a>
|
||||
</div>
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
|
|
@ -260,11 +260,11 @@
|
|||
"drawCallback": function( settings ) {
|
||||
$('#datatables-customer-mails [rel="tooltip"]').tooltip({trigger: "hover"});
|
||||
$('#datatables-customer-mails .customer-mail-ajax-action').on('click', function (event) {
|
||||
ajax_object_action(event, $(this), callback_ajax_data_table);
|
||||
ajax_object_action(event, $(this), callback_customer_mails_data_table);
|
||||
});
|
||||
}
|
||||
});
|
||||
function callback_ajax_data_table(data) {
|
||||
function callback_customer_mails_data_table(data) {
|
||||
if(data.status === 'success'){
|
||||
oTable.draw();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,210 +0,0 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
{!! Form::open(['url' => route('cms_content_country_store', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reiseland Inhalte {{ $model->name }}
|
||||
<div class="float-right">
|
||||
<a href="{{route('cms_content_country')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="nav-tabs-top mb-4">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Seite</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'contact') active show @endif" data-toggle="tab" href="#navs-contact">Kontaktdaten</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'travel') active show @endif" data-toggle="tab" href="#navs-travel">Einreisebestimmungen</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Inhalte für Seite</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Landinformationen (HTML)') }} </label>
|
||||
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('active_frontend', 0) }}
|
||||
{{ Form::checkbox('active_frontend', 1, $model->active_frontend, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar im Frontend (Suche)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('active_backend', 0) }}
|
||||
{{ Form::checkbox('active_backend', 1, $model->active_backend, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar im Backend CRM</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('is_customer_country', 0) }}
|
||||
{{ Form::checkbox('is_customer_country', 1, $model->is_customer_country, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar bei Kunden</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'form') active show @endif" id="navs-form">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Inhalte für Formular</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="text_before">{{ __('Formular Text vor der Reise (max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_before', $model->text_before, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Formular Text nach der Reise ( max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_after', $model->text_after, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="form" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'contact') active show @endif" id="navs-contact">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_lands">Kontaktdaten aus folgenden Ländern nehmen</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="contact_lands[]" multiple>
|
||||
{!! HTMLHelper::getTravelCountriesOptions($model->contact_lands) !!}
|
||||
</select>
|
||||
<em>Land/Länder müssen angeben sein, die Kontaktdaten des Landes (Reiselandes) werden nacheinander im PDF (RA, RB, Voucher) eingefügt.</em>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>E-Mail-Adressen</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_headline">Der Agenturen für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', $model->getContactEmailsStr(), ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Kontaktdaten PDF</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_headline">Überschrift</label>
|
||||
{{ Form::text('contact_headline', $model->contact_headline, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_1">Kontaktfeld 1 </label>
|
||||
{{ Form::textarea('contact_text_1', $model->contact_text_1, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_2">Kontaktfeld 2 </label>
|
||||
{{ Form::textarea('contact_text_2', $model->contact_text_2, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_3">Kontaktfeld 3 </label>
|
||||
{{ Form::textarea('contact_text_3', $model->contact_text_3, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_4">Kontaktfeld 4</label>
|
||||
{{ Form::textarea('contact_text_4', $model->contact_text_4, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Rückfragen PDF</h4>
|
||||
<p>Übergreifende Texte für jedes Land sind unter: <a href="{{route('cms_content_all')}}">Inhalte Allgemein</a><br>
|
||||
- PDF Footer Hinweise Rückfragen<br>
|
||||
- PDF Footer Hinweise Reisebedingungen<br>
|
||||
- PDF Absender<br>
|
||||
</p>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_text_4">Kontakt Footer</label>
|
||||
{{ Form::textarea('contact_footer', $model->contact_footer, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="contact" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'travel') active show @endif" id="navs-travel">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Einreisebestimmungen</h4>
|
||||
@foreach($travel_nationalities as $travel_nationality)
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
<button type="submit" name="action" value="travel" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<a href="{{route('cms_content_country')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('input[name="active_frontend"]').on('change', function () {
|
||||
if($(this).prop( "checked")){
|
||||
$('#show_active_frontend').show("slow");
|
||||
}else{
|
||||
$('#show_active_frontend').hide("slow");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_application->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['booking_application', $booking_application->id, true]) }}" data-name="Reiseanmeldung" class="btn btn-xs btn-primary add-file-to-attachment add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['booking_application', $booking_application->id, true]) }}" data-name="Reiseanmeldung.pdf" class="btn btn-xs btn-primary add-file-to-attachment add-file-to-attachment"
|
||||
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-cloud-download-alt"></i>
|
||||
</button>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_confirmation->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['booking_confirmation', $booking_confirmation->id]) }}" data-name="Reisebestätigung" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['booking_confirmation', $booking_confirmation->id]) }}" data-name="Reisebestätigung.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>
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($booking_storno->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['booking_storno', $booking_storno->id]) }}" data-name="Stornobestätigung" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['booking_storno', $booking_storno->id]) }}" data-name="Stornobestätigung.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>
|
||||
|
|
@ -99,7 +99,7 @@
|
|||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($coupon->issue_date, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['coupon', $coupon->id]) }}" data-name="Gutschein {{$coupon->number}}" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['coupon', $coupon->id]) }}" data-name="Gutschein_{{$coupon->number}}.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>
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
</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}}" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<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"
|
||||
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-cloud-download-alt"></i>
|
||||
</button>
|
||||
|
|
@ -145,7 +145,7 @@
|
|||
</td>
|
||||
<td>{{\App\Services\Util::_format_date($insurance_certificate->updated_at, 'date')}}</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['insurance_certificates', $insurance_certificate->id]) }}" data-name="Sicherungsschein Nr. {{$insurance_certificate->internal_id}}" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
<button data-target="{{ route('customer_file_show', ['insurance_certificates', $insurance_certificate->id]) }}" data-name="Sicherungsschein-Nr-{{$insurance_certificate->internal_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>
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@
|
|||
|
||||
|
||||
<div class="form-row">
|
||||
{{ Form::hidden('lead_title_id', $value->lead_title_id, array('id'=>'lead_title_id')) }}
|
||||
<div class="form-group col">
|
||||
<label for="subject" class="form-label">Betreff</label>
|
||||
{{ Form::text('subject', $value->subject, array('placeholder'=>$value->s_placeholder, 'id'=>'subject', 'class'=>'form-control', 'required')) }}
|
||||
|
|
@ -129,7 +130,9 @@
|
|||
<div class="form-group mb-1">
|
||||
<label class="form-label" for="message">Nachricht</label>
|
||||
@if($value->show === 'single' || $value->show === 'multi')
|
||||
<div class="float-right small">Vorlage unter: <a href="{{route('cms_content_all')}}">CMS->Inhalte->Allgemein</a> Slug:mailvorlage</div>
|
||||
@if(Auth::user()->isPermission('sua-st-et'))
|
||||
<div class="float-right small">Vorlage unter: <a href="{{route('admin_settings_email_template')}}">Einstellungen -> E-Mail Vorlagen</a></div>
|
||||
@endif
|
||||
@endif
|
||||
<div id="message-editor-toolbar">
|
||||
<span class="ql-formats">
|
||||
|
|
@ -156,12 +159,38 @@
|
|||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-placeholder">
|
||||
{!! \App\Services\Placeholder::getBookingOptions() !!}
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
|
||||
{{ Form::textarea('message', $value->message, array('placeholder'=>$value->m_placeholder, 'id'=>'message-editor-fallback', 'class'=>'form-control d-none', 'rows'=>15)) }}
|
||||
</div>
|
||||
@if(isset($value->customers))
|
||||
<p>Platzhalter: #geehrte/r# #Anrede# #Titel# #Vorname# #Nachname# #Reiseland# #Programm# #Anreisedatum# #Abreisedatum# #Buchungsdatum# #Airline#</p>
|
||||
@if($value->show === 'single' || $value->show === 'multi')
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="button" class="btn btn-sm btn-outline-next mt-1 mb-3 float-left" data-toggle="collapse" data-target="#collapseModalEmailTemplate" aria-expanded="false" aria-controls="collapseModalEmailTemplate"><i class="ion ion-ios-mail"></i> E-Mail Vorlage laden</button>
|
||||
</div>
|
||||
<div class="collapse col-12" id="collapseModalEmailTemplate">
|
||||
<hr class="mt-0">
|
||||
<div class="table-responsive" id="email_templates_table">
|
||||
<table id="datatables-email-templates" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{__('Betreff')}}</th>
|
||||
<th> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<hr class="mt-1">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@if($value->show === 'single' || $value->show === 'reply')
|
||||
<div class="form-row">
|
||||
|
|
@ -199,7 +228,6 @@
|
|||
@if($value->show === 'single' && isset($value->booking))
|
||||
<button type="button" class="btn btn-sm btn-outline-primary mt-1 mb-2 float-right" data-toggle="collapse" data-target="#collapseModalBookingFiles" aria-expanded="false" aria-controls="collapseModalBookingFiles"><i class="fa fa-plus-circle"></i> Dateien aus Buchung</button>
|
||||
@endif
|
||||
|
||||
<h5>Datei Anhänge</h5>
|
||||
</div>
|
||||
@if($value->show === 'single' && isset($value->booking))
|
||||
|
|
@ -220,7 +248,7 @@
|
|||
<div class="text-muted small mail-att-size">{{$customer_file->formatBytes()}}</div>
|
||||
<div>
|
||||
<a href="{{$customer_file->getURL()}}" target="_blank" class="mail-att-show">Vorschau</a>
|
||||
{{-- <a href="javascript:void(0)" class="mail-att-delete">entfernen</a> --}}
|
||||
<a href="javascript:void(0)" data-url="{{route('customer_mail_ajax')}}" data-id="{{$customer_file->id}}" data-action="delete_mail_attachment" class="mail-att-delete">löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -260,7 +288,7 @@
|
|||
<div class="text-muted small mail-att-size"> </div>
|
||||
<div>
|
||||
<a href="javascript:void(0)" target="_blank" class="mail-att-show">Vorschau</a>
|
||||
<a href="javascript:void(0)" class="mail-att-delete">entfernen</a>
|
||||
<a href="javascript:void(0)" class="mail-att-remove">entfernen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -286,10 +314,9 @@
|
|||
|
||||
///'storage/file/{id}/{disk}
|
||||
template.find('.mail-att-show').attr('href', response.file_url);
|
||||
template.find('.mail-att-delete').on('click', function () {
|
||||
template.find('.mail-att-remove').on('click', function () {
|
||||
$(this).parents('.message-attachment').remove();
|
||||
});
|
||||
|
||||
$('#preview-mail-attachment').append(template);
|
||||
}
|
||||
|
||||
|
|
@ -314,10 +341,16 @@
|
|||
$('#message-editor,#message-editor-toolbar').remove();
|
||||
$('#message-editor-fallback').removeClass('d-none');
|
||||
} else {
|
||||
Quill.register('modules/placeholder', PlaceholderModule.default(Quill))
|
||||
//$('#message-editor-fallback').remove();
|
||||
var quill = new Quill('#message-editor', {
|
||||
modules: {
|
||||
toolbar: '#message-editor-toolbar'
|
||||
toolbar: '#message-editor-toolbar',
|
||||
placeholder: {
|
||||
placeholders: [
|
||||
{!! \App\Services\Placeholder::getBookingQuill() !!}
|
||||
]
|
||||
}
|
||||
},
|
||||
placeholder: '{{$value->m_placeholder}}',
|
||||
theme: 'snow'
|
||||
|
|
@ -350,6 +383,60 @@
|
|||
$( "#customer-mail-form" ).submit();
|
||||
});
|
||||
|
||||
$("#preview-mail-attachment .mail-att-delete").click(function(event) {
|
||||
_self = $(this);
|
||||
if(!confirm('Angang wirklick löschen?')){
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
ajax_object_action(event, $(this), function (data) {
|
||||
console.log(data);
|
||||
if(data.status === 'success'){
|
||||
_self.parents('.message-attachment').remove();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
var emailTempplateTable = $('#datatables-email-templates').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"searching": true,
|
||||
"autoWidth": false,
|
||||
ajax: {
|
||||
url: '{!! route( 'email_template_data_table' ) !!}',
|
||||
},
|
||||
"columns": [
|
||||
{ data: 'id', width: '8%', searchable: true },
|
||||
{ data: 'subject', name: 'subject', width: '', searchable: true },
|
||||
{ data: 'action', width: '8%', orderable: false, searchable: false},
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 10,
|
||||
"orderSequence": ["desc", "asc"],
|
||||
"order": [[ 0, "desc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
"drawCallback": function( settings ) {
|
||||
$('#datatables-email-templates [rel="tooltip"]').tooltip({trigger: "hover"});
|
||||
$('#datatables-email-templates .email-template-action').on('click', function (event) {
|
||||
ajax_object_action(event, $(this), callback_email_template_data_table);
|
||||
});
|
||||
}
|
||||
});
|
||||
function callback_email_template_data_table(data) {
|
||||
if(data.status === 'success'){
|
||||
$('input#subject').val(data.response.subject + $('input#lead_title_id').val());
|
||||
$("input#message-editor-fallback").val(data.html);
|
||||
$('#message-editor .ql-editor').html(data.html)
|
||||
$('#collapseModalEmailTemplate').collapse('hide');
|
||||
}
|
||||
}
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
$("#uploadAttachmentFile").dropzone({
|
||||
uploadMultiple: false,
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@
|
|||
@yield('styles')
|
||||
|
||||
<!-- Application stylesheets -->
|
||||
<link rel="stylesheet" href="{{ mix('/css/application.css') }}?v=6{{ get_file_last_time('js/application.css') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/css/application.css') }}?v=7{{ get_file_last_time('js/application.css') }}">
|
||||
<script src="{{ asset('/js/jquery.min.js') }}"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('/css/cookieconsent.min.css') }}" />
|
||||
|
|
@ -102,7 +102,6 @@
|
|||
|
||||
@yield('layout-content')
|
||||
|
||||
|
||||
@include('iq.content.assets.modals')
|
||||
|
||||
<!-- Core scripts -->
|
||||
|
|
@ -144,6 +143,7 @@
|
|||
<script src="{{ asset('/js/summernote-iq-content-extension.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-image-title.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/quill/quill.min.js?v=1.3.6') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/quill-placeholder-module/dist/placeholder-module.js?v=1') }}"></script>
|
||||
|
||||
@if(isset($lfm_helper))
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
@if(Auth::user()->isPermission('cms-tg'))
|
||||
<li class="sidenav-item{{ Request::is('cms/travel_guide/*') ? ' open' : '' }} {{ Request::is('iq/content/tree/*') ? ' open' : '' }}">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-map"></i>
|
||||
<i class="sidenav-icon ion ion-ios-journal"></i>
|
||||
<div>Reiseführer</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
|
|
@ -172,7 +172,6 @@
|
|||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn'))
|
||||
|
||||
<li class="sidenav-item{{ Request::is('cms/content/*') ? ' open' : '' }}">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-map"></i>
|
||||
|
|
@ -189,11 +188,6 @@
|
|||
<a href="{{ route('cms_content_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>Allgemein</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-co'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/country') ? ' active' : '' }} {{ Request::is('cms/content/country/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_country') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>Reiseländer</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-au'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/author') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_author') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-finger-print"></i><div>Autoren</div></a>
|
||||
|
|
@ -215,35 +209,54 @@
|
|||
<div>Einstellungen</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
@if(Auth::user()->isPermission('sua-st-tp'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel/program') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_program') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-airplane"></i><div>{{ __('Reiseprogramme') }}</div></a>
|
||||
</li>
|
||||
@if(Auth::user()->isPermission('sua-st-al'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/airline') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_airline') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-airplane"></i><div>{{ __('Airline') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
{{-- @if(Auth::user()->isPermission('sua-st-tc'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel/country') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_country') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>{{ __('Reiseländer') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
--}}
|
||||
@if(Auth::user()->isPermission('sua-st-tn'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel/nationality') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_nationality') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-people"></i><div>{{ __('Nationalitäten') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-bs'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/booking/status') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_booking_status') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-stats"></i><div>{{ __('Reisestatus') }}</div></a>
|
||||
</li>
|
||||
@if(Auth::user()->isPermission('sua-st-et'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/email_template') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_email_template') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-mail"></i><div>{{ __('E-Mail Vorlagen') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-ke'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/keyword') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_keyword') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-key"></i><div>{{ __('Keywords') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-al'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/airline') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_airline') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-airplane"></i><div>{{ __('Airline') }}</div></a>
|
||||
@if(Auth::user()->isPermission('sua-st-sp'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/service_provider') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_service_provider') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-archive"></i><div>{{ __('Leistungsträger') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tn'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_nationality') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_nationality') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-people"></i><div>{{ __('Nationalitäten') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-co'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_country') ? ' active' : '' }} {{ Request::is('admin/settings/travel_country/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_country') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>{{ __('Reiseländer') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tp'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_program') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_travel_program') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-airplane"></i><div>{{ __('Reiseprogramme') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-bs'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/booking_status') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin_settings_booking_status') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-stats"></i><div>{{ __('Reisestatus') }}</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('sua-st-tc'))
|
||||
<li class="sidenav-item{{ Request::is('admin/settings/travel_company') ? ' active' : '' }}">
|
||||
<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-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
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
</h4>
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header">
|
||||
<div class="">
|
||||
<div class="form-row align-items-center">
|
||||
|
|
@ -257,8 +256,8 @@
|
|||
"columns": [
|
||||
{ data: 'action_lead_edit', orderable: false, searchable: false},
|
||||
{ data: 'lead_id', name: 'lead_id' },
|
||||
{ data: 'participant_firstname', name: 'participant_firstname' },
|
||||
{ data: 'participant_name', name: 'participant_name' },
|
||||
{ data: 'customer.firstname', name: 'customer.firstname' },
|
||||
{ data: 'customer.name', name: 'customer.name' },
|
||||
{ data: 'action_booking_edit', orderable: false, searchable: false},
|
||||
{ data: 'id', name: 'id' },
|
||||
{ data: 'travel_country_id', name: 'travel_country_id', orderable: false },
|
||||
|
|
|
|||
116
resources/views/settings/_travel_country/detail.blade.php
Executable file
116
resources/views/settings/_travel_country/detail.blade.php
Executable file
|
|
@ -0,0 +1,116 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
{!! Form::open(['url' => route('admin_settings_travel_country_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reiseland @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('admin_settings_travel_country')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
||||
|
||||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="name">{{ __('Name') }}*</label>
|
||||
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('active_frontend', 1, $model->active_frontend, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('Seite')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('active_backend', 1, $model->active_backend, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('CRM')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('is_customer_country', 1, $model->is_customer_country, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('Kunden')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="slug">{{ __('Slug') }}</label>
|
||||
{{ Form::text('slug', $model->slug, array('placeholder'=>__('Slug'), 'class'=>'form-control', 'id'=>'slug')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="show_active_frontend" @if(!$model->active_frontend) style="display: none;" @endif>
|
||||
<hr>
|
||||
|
||||
<h4>Inhalte für Seite</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Landinformationen (HTML)') }} </label>
|
||||
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote-small']) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="text_before">{{ __('Formular Text vor der Reise (max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_before', $model->text_before, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Formular Text nach der Reise ( max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_after', $model->text_after, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<h5>Einreisebestimmungen</h5>
|
||||
@foreach($travel_nationalities as $travel_nationality)
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</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('admin_settings_travel_country')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('input[name="active_frontend"]').on('change', function () {
|
||||
if($(this).prop( "checked")){
|
||||
$('#show_active_frontend').show("slow");
|
||||
}else{
|
||||
$('#show_active_frontend').hide("slow");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -3,26 +3,11 @@
|
|||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
{{ __('Inhalte') }} {{ __('Reiseländer') }}
|
||||
{{ __('Reiseländer') }}
|
||||
<a class="btn btn-default btn-sm float-right" href="{{ make_v2_url('/acp') }}" > zurück ins v2 CMS</a>
|
||||
<a class="btn btn-default btn-sm float-right" href="{{ make_old_url('backend.php') }}" > zurück ins v1 CRM</a>
|
||||
|
||||
</h4>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-feedbacks table table-striped table-bordered">
|
||||
|
|
@ -30,29 +15,23 @@
|
|||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Bezug')}}</th>
|
||||
<th>{{__('E-Mail(s)')}}</th>
|
||||
<th>{{__('Slug')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('Seite')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('CRM')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('Kunden')}}</th>
|
||||
<th>#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($travel_countries as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<a href="{{ route('cms_content_country_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<a href="{{ route('admin_settings_travel_country_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td><a href="{{ route('cms_content_country_detail', [$value->id]) }}">{{ $value->name }}</a></td>
|
||||
<td>
|
||||
{!! implode("<br>", $value->getContactLandsArray()) !!}
|
||||
</td>
|
||||
<td>
|
||||
{!! $value->getContactEmailsStr("<br>") !!}
|
||||
</td>
|
||||
<td><a href="{{ route('admin_settings_travel_country_detail', [$value->id]) }}">{{ $value->name }}</a></td>
|
||||
<td>{{ $value->slug }}</td>
|
||||
<td data-sort="{{ $value->active_frontend }}">
|
||||
@if($value->active_frontend)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
|
|
@ -74,11 +53,17 @@
|
|||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a class="text-danger" href="{{ route('admin_settings_travel_country_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">
|
||||
<a href="{{ route('admin_settings_travel_country_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Reiseland anlegen</a>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
|
@ -98,5 +83,4 @@
|
|||
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -24,13 +24,13 @@
|
|||
data-id="{{ $value->id }}"
|
||||
data-name="{{ $value->name }}"
|
||||
data-name_full="{{ $value->name_full }}"
|
||||
data-contact_emails="{{$value->getContactEmailsStr()}}">
|
||||
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->name }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->name_full }}">{{ $value->name_full }}</td>
|
||||
<td>{!! $value->getContactEmailsStr("<br>") !!}</td>
|
||||
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_airline_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
@ -40,6 +40,8 @@
|
|||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-default"
|
||||
data-id="new"
|
||||
data-name=""
|
||||
data-name_full=""
|
||||
data-contact_emails=""
|
||||
>Neue Airline anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
64
resources/views/settings/email_template/index.blade.php
Executable file
64
resources/views/settings/email_template/index.blade.php
Executable file
|
|
@ -0,0 +1,64 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
E-Mail Vorlagen
|
||||
</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>{{__('Betreff')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($email_template as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
|
||||
data-target="#modals-load-content"
|
||||
data-id="{{ $value->id }}"
|
||||
data-model="emailTemplate"
|
||||
data-action="modal-email-template"
|
||||
data-url=""
|
||||
data-redirect="back"
|
||||
data-route="{{ route('admin_settings_email_template_load') }}"><span class="fa fa-edit"></span></button>
|
||||
</td>
|
||||
<td>{{ $value->subject }}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_email_template_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-load-content"
|
||||
data-id="new"
|
||||
data-model="emailTemplate"
|
||||
data-action="modal-email-template"
|
||||
data-url=""
|
||||
data-redirect="back"
|
||||
data-route="{{ route('admin_settings_email_template_load') }}"> Neue E-Mail Vorlage anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 0, "desc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
@endsection
|
||||
95
resources/views/settings/email_template/modal.blade.php
Executable file
95
resources/views/settings/email_template/modal.blade.php
Executable file
|
|
@ -0,0 +1,95 @@
|
|||
{!! Form::open([ 'url' => route('admin_settings_email_template_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', $value->id) }}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">E-Mail Vorlagen <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="subject" class="form-label">Betreff*</label>
|
||||
{{ Form::text('subject', $value->subject, array('class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="message">Nachricht</label>
|
||||
<div id="message-editor-toolbar">
|
||||
<span class="ql-formats">
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-strike"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-header" value="1"></button>
|
||||
<button class="ql-header" value="2"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button class="ql-code-block"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-list" value="ordered"></button>
|
||||
<button class="ql-list" value="bullet"></button>
|
||||
<button class="ql-indent" value="-1"></button>
|
||||
<button class="ql-indent" value="+1"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-align"></select>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<button class="ql-clean"></button>
|
||||
</span>
|
||||
<span class="ql-formats">
|
||||
<select class="ql-placeholder">
|
||||
{!! \App\Services\Placeholder::getBookingOptions() !!}
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div id="message-editor" style="height: 400px">{!! $value->message !!}</div>
|
||||
{{ Form::textarea('message', $value->message, array('placeholder'=>'', 'id'=>'message-editor-fallback', 'class'=>'form-control d-none', 'rows'=>15)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('active', 1, $value->active, array('class'=>'custom-control-input')) }}
|
||||
<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 submit-button-form">{{__('save')}}</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
if (!window.Quill) {
|
||||
$('#message-editor,#message-editor-toolbar').remove();
|
||||
$('#message-editor-fallback').removeClass('d-none');
|
||||
} else {
|
||||
Quill.register('modules/placeholder', PlaceholderModule.default(Quill))
|
||||
//$('#message-editor-fallback').remove();
|
||||
var quill = new Quill('#message-editor', {
|
||||
modules: {
|
||||
toolbar: '#message-editor-toolbar',
|
||||
placeholder: {
|
||||
placeholders: [
|
||||
{!! \App\Services\Placeholder::getBookingQuill() !!}
|
||||
]
|
||||
}
|
||||
},
|
||||
placeholder: '',
|
||||
theme: 'snow'
|
||||
});
|
||||
//quill.clipboard.dangerouslyPasteHTML('<span class="ql-placeholder-content" data-id="foo" data-label="foo"></span>')
|
||||
}
|
||||
|
||||
$(".submit-button-form").click(function(event) {
|
||||
$("#message-editor-fallback").val($('#message-editor .ql-editor').html());
|
||||
$( "#customer-mail-form" ).submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
112
resources/views/settings/insurance/index.blade.php
Executable file
112
resources/views/settings/insurance/index.blade.php
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Versicherungen
|
||||
</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>{{__('E-Mail(s)')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($insurance as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<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-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}"
|
||||
data-active="{{ $value->active }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_insurance_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-contact_emails=""
|
||||
data-active="1"
|
||||
>Neue Versicherung anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
{!! Form::open([ 'url' => route('admin_settings_insurance_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', '') }}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Versicherungen <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>
|
||||
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', '', array('class'=>'form-control', 'rows'=>4)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<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::close() !!}
|
||||
</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='contact_emails']").val(button.data('contact_emails'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 0, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -41,9 +41,8 @@
|
|||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_keyword_update') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
{!! Form::open([ 'url' => route('admin_settings_keyword_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', '') }}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Keyword <span class="font-weight-light">anlegen/bearbeiten</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
|
|
@ -52,7 +51,7 @@
|
|||
<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>
|
||||
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -61,8 +60,7 @@
|
|||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
123
resources/views/settings/service_provider/index.blade.php
Executable file
123
resources/views/settings/service_provider/index.blade.php
Executable file
|
|
@ -0,0 +1,123 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Leistungsträger
|
||||
</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>{{__('E-Mail(s)')}}</th>
|
||||
<th>{{__('Type')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($service_provider as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<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-type="{{ $value->type }}"
|
||||
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}"
|
||||
data-active="{{ $value->active }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
|
||||
<td data-sort="{{ $value->type }}">{{$value->type}}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_service_provider_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-type=""
|
||||
data-contact_emails=""
|
||||
data-active="1"
|
||||
>Neuen Leistungsträger anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
{!! Form::open([ 'url' => route('admin_settings_service_provider_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', '') }}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Leistungsträger <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>
|
||||
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="type">Type</label>
|
||||
{{ Form::select('type', \App\Models\ServiceProvider::$types , '', array('class'=>'custom-select', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', '', array('class'=>'form-control', 'rows'=>4)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<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::close() !!}
|
||||
</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 select[name='type']").val(button.data('type'));
|
||||
$(this).find(".modal-body textarea[name='contact_emails']").val(button.data('contact_emails'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 0, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -33,14 +33,7 @@
|
|||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td>{{ $value->travel_country->name }}</td>
|
||||
|
||||
<td data-sort="{{ $value->active }}">
|
||||
@if($value->active)
|
||||
<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 data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_travel_program_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
|
|||
145
resources/views/settings/travel_company/index.blade.php
Executable file
145
resources/views/settings/travel_company/index.blade.php
Executable file
|
|
@ -0,0 +1,145 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reiseveranstalter
|
||||
</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>{{__('E-Mail(s)')}}</th>
|
||||
<th>{{__('Prozentsatz für Provision')}}</th>
|
||||
<th>{{__('Provision änderbar')}}</th>
|
||||
<th>{{__('In-House')}}</th>
|
||||
<th>{{__('sichtbar')}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($travel_company as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<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-percentage="{{ $value->percentage }}"
|
||||
data-is_allowed_edit_commission="{{ $value->is_allowed_edit_commission }}"
|
||||
data-is_inhouse="{{ $value->is_inhouse }}"
|
||||
data-contact_emails="{{\App\Services\Util::_implodeLines($value->contact_emails)}}"
|
||||
data-active="{{ $value->active }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</button>
|
||||
</td>
|
||||
<td>{{ $value->name }}</td>
|
||||
<td>{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}</td>
|
||||
<td data-sort="{{ $value->percentage }}">{{$value->percentage}}</td>
|
||||
<td data-sort="{{ $value->is_allowed_edit_commission }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->is_allowed_edit_commission) !!}</td>
|
||||
<td data-sort="{{ $value->is_inhouse }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->is_inhouse) !!}</td>
|
||||
<td data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_service_provider_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-percentage=""
|
||||
data-is_allowed_edit_commission=""
|
||||
data-contact_emails=""
|
||||
data-active="1"
|
||||
>Neuen Reiseveranstalter anlegen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
{!! Form::open([ 'url' => route('admin_settings_travel_company_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', '') }}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Reiseveranstalter <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>
|
||||
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="percentage" class="form-label">Prozentsatz für Provision*</label>
|
||||
{{ Form::text('percentage', '', array('placeholder'=>__('%'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label class="form-label" for="contact_emails">Für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', '', array('class'=>'form-control', 'rows'=>4)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('is_allowed_edit_commission', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<span class="custom-control-label">{{__('Provision änderbar')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('is_inhouse', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<span class="custom-control-label">{{__('In-House')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<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::close() !!}
|
||||
</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='percentage']").val(button.data('percentage'));
|
||||
$(this).find(".modal-body input[name='is_allowed_edit_commission']").prop( "checked", button.data('is_allowed_edit_commission'));
|
||||
$(this).find(".modal-body input[name='is_inhouse']").prop( "checked", button.data('is_inhouse'));
|
||||
$(this).find(".modal-body textarea[name='contact_emails']").val(button.data('contact_emails'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
});
|
||||
|
||||
$('.datatables-default').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"order": [[ 0, "asc" ]],
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -2,89 +2,184 @@
|
|||
|
||||
@section('content')
|
||||
|
||||
{!! Form::open(['url' => route('admin_settings_travel_country_detail', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
{!! Form::open(['url' => route('admin_settings_travel_country_update', [$id]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
Reiseland @if($id == "new") <span class="text-primary">anlegen</span> @else {{"(ID: ".$id.")"}} verwalten @endif
|
||||
Reiseland Inhalte {{ $model->name }}
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<a href="{{route('admin_settings_travel_country')}}" class="btn btn-default btn-sm">{{ __('back') }}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="clearfix"></div>
|
||||
<div class="nav-tabs-top mb-4">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-site">Seite</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'form') active show @endif" data-toggle="tab" href="#navs-form">Formular</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'contact') active show @endif" data-toggle="tab" href="#navs-contact">Kontaktdaten</a>
|
||||
</li>
|
||||
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step == 'travel') active show @endif" data-toggle="tab" href="#navs-travel">Einreisebestimmungen</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<!-- draft -->
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="name">{{ __('Name') }}*</label>
|
||||
{{ Form::text('name', $model->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'name', 'required'=>true)) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('active_frontend', 1, $model->active_frontend, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('Seite')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('active_backend', 1, $model->active_backend, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('CRM')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group col-sm-2">
|
||||
<label class="form-label"> </label>
|
||||
<label class="custom-control custom-checkbox mt-2">
|
||||
{!! Form::checkbox('is_customer_country', 1, $model->is_customer_country, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label"><i class="fa fa-eye"></i> {{__('Kunden')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="slug">{{ __('Slug') }}</label>
|
||||
{{ Form::text('slug', $model->slug, array('placeholder'=>__('Slug'), 'class'=>'form-control', 'id'=>'slug')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="show_active_frontend" @if(!$model->active_frontend) style="display: none;" @endif>
|
||||
<hr>
|
||||
|
||||
<h4>Inhalte für Seite</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Landinformationen (HTML)') }} </label>
|
||||
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote-small']) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="text_before">{{ __('Formular Text vor der Reise (max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_before', $model->text_before, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Formular Text nach der Reise ( max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_after', $model->text_after, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<h5>Einreisebestimmungen</h5>
|
||||
@foreach($travel_nationalities as $travel_nationality)
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-site">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Inhalte für Seite</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Landinformationen (HTML)') }} </label>
|
||||
{{ Form::textarea('html_information', $model->html_information, ['class' => 'form-control summernote']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('active_frontend', 0) }}
|
||||
{{ Form::checkbox('active_frontend', 1, $model->active_frontend, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar im Frontend (Suche)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('active_backend', 0) }}
|
||||
{{ Form::checkbox('active_backend', 1, $model->active_backend, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar im Backend CRM</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-12 py-2">
|
||||
<label class="switcher switcher-on-off">
|
||||
{{ Form::hidden('is_customer_country', 0) }}
|
||||
{{ Form::checkbox('is_customer_country', 1, $model->is_customer_country, array('class'=>'switcher-input')) }}
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label">Sichtbar bei Kunden</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<button type="submit" name="action" value="" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'form') active show @endif" id="navs-form">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Inhalte für Formular</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="text_before">{{ __('Formular Text vor der Reise (max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_before', $model->text_before, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="html_information">{{ __('Formular Text nach der Reise ( max. 255 Zeichen)') }} </label>
|
||||
{{ Form::text('text_after', $model->text_after, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="form" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'contact') active show @endif" id="navs-contact">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_lands">Kontaktdaten aus folgenden Ländern nehmen</label>
|
||||
<select class="selectpicker" data-style="btn-default" name="contact_lands[]" multiple>
|
||||
{!! HTMLHelper::getTravelCountriesOptions($model->contact_lands) !!}
|
||||
</select>
|
||||
<em>Land/Länder müssen angeben sein, die Kontaktdaten des Landes (Reiselandes) werden nacheinander im PDF (RA, RB, Voucher) eingefügt.</em>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>E-Mail-Adressen</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_headline">Der Agenturen für interene Mails <span class="text-muted">(jede E-Mail in eine extra Zeile)</span></label>
|
||||
{{ Form::textarea('contact_emails', \App\Services\Util::_implodeLines($model->contact_emails), ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Kontaktdaten PDF</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_headline">Überschrift</label>
|
||||
{{ Form::text('contact_headline', $model->contact_headline, ['class' => 'form-control', 'maxlength'=>'255']) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_1">Kontaktfeld 1 </label>
|
||||
{{ Form::textarea('contact_text_1', $model->contact_text_1, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_2">Kontaktfeld 2 </label>
|
||||
{{ Form::textarea('contact_text_2', $model->contact_text_2, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_3">Kontaktfeld 3 </label>
|
||||
{{ Form::textarea('contact_text_3', $model->contact_text_3, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="form-label" for="contact_text_4">Kontaktfeld 4</label>
|
||||
{{ Form::textarea('contact_text_4', $model->contact_text_4, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h4>Rückfragen PDF</h4>
|
||||
<p>Übergreifende Texte für jedes Land sind unter: <a href="{{route('cms_content_all')}}">Inhalte Allgemein</a><br>
|
||||
- PDF Footer Hinweise Rückfragen<br>
|
||||
- PDF Footer Hinweise Reisebedingungen<br>
|
||||
- PDF Absender<br>
|
||||
</p>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="contact_text_4">Kontakt Footer</label>
|
||||
{{ Form::textarea('contact_footer', $model->contact_footer, ['class' => 'form-control', 'rows'=>4]) }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" name="action" value="contact" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step == 'travel') active show @endif" id="navs-travel">
|
||||
<div class="card-body">
|
||||
<br>
|
||||
<h4>Einreisebestimmungen</h4>
|
||||
@foreach($travel_nationalities as $travel_nationality)
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="travel_nationality_requirement_{{$travel_nationality->id}}">{{ $travel_nationality->name }}{{ __('(HTML)') }} </label>
|
||||
{{ Form::textarea('travel_nationality_requirement['.$travel_nationality->id.']', $model->getNationalityRequirement($travel_nationality->id), ['class' => 'form-control summernote-small', 'id'=>'travel_nationality_requirement_'.$travel_nationality->id]) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
<button type="submit" name="action" value="travel" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
|
||||
|
|
@ -93,7 +188,6 @@
|
|||
</div>
|
||||
|
||||
<div class="text-left mt-3">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>
|
||||
<a href="{{route('admin_settings_travel_country')}}" class="btn btn-default">{{ __('back') }}</a>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,23 @@
|
|||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
{{ __('Reiseländer') }}
|
||||
<a class="btn btn-default btn-sm float-right" href="{{ make_v2_url('/acp') }}" > zurück ins v2 CMS</a>
|
||||
<a class="btn btn-default btn-sm float-right" href="{{ make_old_url('backend.php') }}" > zurück ins v1 CRM</a>
|
||||
{{ __('Einstellungen') }} {{ __('Reiseländer') }}
|
||||
</h4>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-feedbacks table table-striped table-bordered">
|
||||
|
|
@ -15,11 +27,11 @@
|
|||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Slug')}}</th>
|
||||
<th>{{__('Bezug')}}</th>
|
||||
<th>{{__('E-Mail(s)')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('Seite')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('CRM')}}</th>
|
||||
<th><i class="fa fa-eye"></i> {{__('Kunden')}}</th>
|
||||
<th>#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -30,8 +42,14 @@
|
|||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td><a href="{{ route('admin_settings_travel_country_detail', [$value->id]) }}">{{ $value->name }}</a></td>
|
||||
<td>{{ $value->slug }}</td>
|
||||
<td>
|
||||
{!! implode("<br>", $value->getContactLandsArray()) !!}
|
||||
</td>
|
||||
<td>
|
||||
{!! \App\Services\Util::_implodeLines($value->contact_emails, "<br>") !!}
|
||||
</td>
|
||||
<td data-sort="{{ $value->active_frontend }}">
|
||||
@if($value->active_frontend)
|
||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||
|
|
@ -53,17 +71,11 @@
|
|||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a class="text-danger" href="{{ route('admin_settings_travel_country_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">
|
||||
<a href="{{ route('admin_settings_travel_country_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Reiseland anlegen</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
|
|
@ -80,7 +92,4 @@
|
|||
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -31,13 +31,7 @@
|
|||
</button>
|
||||
</td>
|
||||
<td data-sort="{{ $value->id }}">{{ $value->name }}</td>
|
||||
<td data-sort="{{ $value->active }}">
|
||||
@if($value->active)
|
||||
<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 data-sort="{{ $value->active }}">{!! \App\Services\HTMLHelper::getActiveIcon($value->active) !!}</td>
|
||||
<td><a class="text-danger" href="{{ route('admin_settings_travel_nationality_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a></td>
|
||||
|
||||
</tr>
|
||||
|
|
@ -56,8 +50,8 @@
|
|||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_settings_travel_nationality_update') }}" method="post">
|
||||
@csrf
|
||||
{!! Form::open([ 'url' => route('admin_settings_travel_nationality_update'), 'method' => 'post', 'class' => 'modal-content' ]) !!}
|
||||
{{ Form::hidden('id', '') }}
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
|
|
@ -68,12 +62,12 @@
|
|||
<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>
|
||||
{{ Form::text('name', '', array('placeholder'=>__('Description'), 'class'=>'form-control', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="active" checked>
|
||||
{{ Form::checkbox('active', 1, '', array('class'=>'custom-control-input')) }}
|
||||
<span class="custom-control-label">{{__('sichtbar')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
|
|
@ -82,7 +76,7 @@
|
|||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ Route::group(['middleware' => ['admin']], function()
|
|||
Route::post('/customer_mail/send/mail', 'CustomerMailController@sendMail')->name('customer_mail_send_mail');
|
||||
Route::post('/customer_mail/reply/mail', 'CustomerMailController@replyMail')->name('customer_mail_reply_mail');
|
||||
Route::get('/customer_mail/data/table', 'CustomerMailController@getRequests')->name('customer_mail_data_table');
|
||||
Route::get('/email_template/data/table', 'CustomerMailController@getEmailTemplates')->name('email_template_data_table');
|
||||
Route::get('/customer_mail/delete/{id}', 'CustomerMailController@delete')->name('customer_mail_delete');
|
||||
Route::post('customer_mail/ajax', 'CustomerMailController@ajax')->name('customer_mail_ajax');
|
||||
|
||||
|
|
@ -221,12 +222,6 @@ Route::group(['middleware' => ['admin']], function()
|
|||
Route::post('/cms/content/all/load/modal', 'CMS\CMSContentController@loadModal')->name('cms_content_all_load_modal');
|
||||
Route::get('/cms/content/all/delete/{id}', 'CMS\CMSContentController@delete')->name('cms_content_all_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:cms-cn-co']], function() {
|
||||
//CMS Länder
|
||||
Route::get('/cms/content/country', 'CMS\CMSContentCountryController@index')->name('cms_content_country');
|
||||
Route::get('/cms/content/country/detail/{id}/{step?}', 'CMS\CMSContentCountryController@detail')->name('cms_content_country_detail');
|
||||
Route::post('/cms/content/country/store/{id}', 'CMS\CMSContentCountryController@store')->name('cms_content_country_store');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:cms-cn-au']], function() {
|
||||
//CMS Author
|
||||
Route::get('/cms/content/author', 'CMS\CMSContentAuthorController@index')->name('cms_content_author');
|
||||
|
|
@ -278,45 +273,67 @@ Route::group(['middleware' => ['superadmin']], function() {
|
|||
Route::get('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@edit')->name('admin_translate_file_edit');
|
||||
Route::post('/admin/translation/file/{file}/{language?}/{langsource?}/{show?}', 'TranslationFileController@update')->name('admin_translate_file_update');
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tp']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reisprogramme
|
||||
Route::get('/admin/settings/travel/program/{id?}', 'Settings\TravelAgendaController@index')->name('admin_settings_travel_program');
|
||||
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-al']], function() {
|
||||
//SUPERADMIN > Einstellungen > Airline
|
||||
Route::get('/admin/settings/airline', 'Settings\AirlineController@index')->name('admin_settings_airline');
|
||||
Route::post('/admin/settings/airline/update', 'Settings\AirlineController@update')->name('admin_settings_airline_update');
|
||||
Route::get('/admin/settings/airline/delete/{id}', 'Settings\AirlineController@delete')->name('admin_settings_airline_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tc']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reiseländer
|
||||
Route::get('/admin/settings/travel/country', 'Settings\TravelCountryController@index')->name('admin_settings_travel_country');
|
||||
Route::get('/admin/settings/travel/country/detail/{id}', 'Settings\TravelCountryController@detail')->name('admin_settings_travel_country_detail');
|
||||
Route::post('/admin/settings/travel/country/detail/{id}', 'Settings\TravelCountryController@store')->name('admin_settings_travel_country_detail');
|
||||
Route::get('/admin/settings/travel/country/delete/{id}', 'Settings\TravelCountryController@delete')->name('admin_settings_travel_country_delete');
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-et']], function() {
|
||||
//SUPERADMIN > Einstellungen > E-Mail Vorlagen
|
||||
Route::get('/admin/settings/email_template', 'Settings\EmailTemplateController@index')->name('admin_settings_email_template');
|
||||
Route::post('/admin/settings/email_template/load', 'Settings\EmailTemplateController@load')->name('admin_settings_email_template_load');
|
||||
Route::post('/admin/settings/email_template/update', 'Settings\EmailTemplateController@update')->name('admin_settings_email_template_update');
|
||||
Route::get('/admin/settings/email_template/delete/{id}', 'Settings\EmailTemplateController@delete')->name('admin_settings_email_template_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tn']], function() {
|
||||
//SUPERADMIN > Einstellungen > Nationalitäten
|
||||
Route::get('/admin/settings/travel/nationality', 'Settings\TravelNationalityController@index')->name('admin_settings_travel_nationality');
|
||||
Route::post('/admin/settings/travel/nationality/update', 'Settings\TravelNationalityController@update')->name('admin_settings_travel_nationality_update');
|
||||
Route::get('/admin/settings/travel/nationality/delete/{id}', 'Settings\TravelNationalityController@delete')->name('admin_settings_travel_nationality_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-bs']], function() {
|
||||
//SUPERADMIN > Einstellungen > Nationalitäten
|
||||
Route::get('/admin/settings/booking/status', 'Settings\BookingStatusController@index')->name('admin_settings_booking_status');
|
||||
Route::post('/admin/settings/booking/status/update', 'Settings\BookingStatusController@update')->name('admin_settings_booking_status_update');
|
||||
Route::get('/admin/settings/booking/status/delete/{id}', 'Settings\BookingStatusController@delete')->name('admin_settings_booking_status_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-ke']], function() {
|
||||
//SUPERADMIN > Einstellungen > Keywords
|
||||
Route::get('/admin/settings/keyword', 'Settings\KeywordController@index')->name('admin_settings_keyword');
|
||||
Route::post('/admin/settings/keyword/update', 'Settings\KeywordController@update')->name('admin_settings_keyword_update');
|
||||
Route::get('/admin/settings/keyword/delete/{id}', 'Settings\KeywordController@delete')->name('admin_settings_keyword_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-al']], function() {
|
||||
//SUPERADMIN > Einstellungen > Airline
|
||||
Route::get('/admin/settings/airline', 'Settings\AirlineController@index')->name('admin_settings_airline');
|
||||
Route::post('/admin/settings/airline/update', 'Settings\AirlineController@update')->name('admin_settings_airline_update');
|
||||
Route::get('/admin/settings/airline/delete/{id}', 'Settings\AirlineController@delete')->name('admin_settings_airline_delete');
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-sp']], function() {
|
||||
//SUPERADMIN > Einstellungen > Leistungsträger
|
||||
Route::get('/admin/settings/service_provider', 'Settings\ServiceProviderController@index')->name('admin_settings_service_provider');
|
||||
Route::post('/admin/settings/service_provider/update', 'Settings\ServiceProviderController@update')->name('admin_settings_service_provider_update');
|
||||
Route::get('/admin/settings/service_provider/delete/{id}', 'Settings\ServiceProviderController@delete')->name('admin_settings_service_provider_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tn']], function() {
|
||||
//SUPERADMIN > Einstellungen > Nationalitäten
|
||||
Route::get('/admin/settings/travel_nationality', 'Settings\TravelNationalityController@index')->name('admin_settings_travel_nationality');
|
||||
Route::post('/admin/settings/travel_nationality/update', 'Settings\TravelNationalityController@update')->name('admin_settings_travel_nationality_update');
|
||||
Route::get('/admin/settings/travel_nationality/delete/{id}', 'Settings\TravelNationalityController@delete')->name('admin_settings_travel_nationality_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-tp']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reisprogramme
|
||||
Route::get('/admin/settings/travel_program/{id?}', 'Settings\TravelAgendaController@index')->name('admin_settings_travel_program');
|
||||
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-bs']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reisestatus
|
||||
Route::get('/admin/settings/booking_status', 'Settings\BookingStatusController@index')->name('admin_settings_booking_status');
|
||||
Route::post('/admin/settings/booking_status/update', 'Settings\BookingStatusController@update')->name('admin_settings_booking_status_update');
|
||||
Route::get('/admin/settings/booking_status/delete/{id}', 'Settings\BookingStatusController@delete')->name('admin_settings_booking_status_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-co']], function() {
|
||||
//SUPERADMIN > Einstellungen > Reiseländer
|
||||
Route::get('/admin/settings/travel_country', 'Settings\TravelCountryController@index')->name('admin_settings_travel_country');
|
||||
Route::get('/admin/settings/travel_country/detail/{id}', 'Settings\TravelCountryController@detail')->name('admin_settings_travel_country_detail');
|
||||
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}', 'Settings\TravelCountryController@delete')->name('admin_settings_travel_country_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-bs']], function() {
|
||||
//SUPERADMIN > Einstellungen > Veranstalter
|
||||
Route::get('/admin/settings/travel_company', 'Settings\TravelCompanyController@index')->name('admin_settings_travel_company');
|
||||
Route::post('/admin/settings/travel_company/update', 'Settings\TravelCompanyController@update')->name('admin_settings_travel_company_update');
|
||||
Route::get('/admin/settings/travel_company/delete/{id}', 'Settings\TravelCompanyController@delete')->name('admin_settings_travel_company_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:sua-st-bs']], 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');
|
||||
Route::get('/admin/settings/insurance/delete/{id}', 'Settings\InsuranceController@delete')->name('admin_settings_insurance_delete');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth.permission:sua-re-bo']], function() {
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 269 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.2 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.2 MiB |
Loading…
Add table
Add a link
Reference in a new issue