Fewo PDF Hinweise, Generator, Anhang Mail
This commit is contained in:
parent
a3bef8d1aa
commit
730832c8e1
31 changed files with 1786 additions and 147 deletions
3
.idea/mein.sterntours.test.iml
generated
3
.idea/mein.sterntours.test.iml
generated
|
|
@ -5,6 +5,9 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/resources/assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/storage/framework" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/storage/logs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-debugbar" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-dompdf" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/vendor/cocur/slugify" />
|
||||
|
|
|
|||
100
.idea/workspace.xml
generated
100
.idea/workspace.xml
generated
|
|
@ -2,6 +2,9 @@
|
|||
<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/CMS/CMSFeWoController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Services/CreatePDF.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/config/fewo.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,24 +28,24 @@
|
|||
<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$/storage/app/booking/files/2020/05/5ed104041c8f67.23753451_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking/files/2020/05/5ed104cd300220.63110550_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed1051bafc3b5.82676224_jackodurextrusionsstrang.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed1051bee26b3.70425691_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed105cc4be3e1.92100968_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed10756b16e44.33061945_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed1084db170d5.80879705_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed108c3096a09.95052646_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/05/5ed108e009c9f5.51348855_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/05/5ed104e5ac4de8.29989312_jackodurextrusionsstrang.jpg" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/customer/attachment/2020/05/5ed104e5ee9389.49113198_jdatlastoollogo.png" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/general/2020/05/5ed0f462b82255.53122339_ust111.pdf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/public/js/summernote-cleaner.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/public/wartung.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/cms/fewo/all/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/cms/fewo/content/detail.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/cms/fewo/content/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/pdf/fewo_instructions.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/pdf/layout-small.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/storage/app/booking_fewo/files/2020/06/5ef9ab45db7800.71530766_ust111.pdf" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/mein.sterntours.test.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/mein.sterntours.test.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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/ModalController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/ModalController.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/Repositories/CustomerFewoMailRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/CustomerFewoMailRepository.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/Http/Controllers/CustomerFileController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CustomerFileController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/DraftController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/DraftController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/TravelUserBookingFewoController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/TravelUserBookingFewoController.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/FewoLodging.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/FewoLodging.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Services/BookingFewo.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/BookingFewo.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/2019_03_20_132556_create_fewo_lodging_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_03_20_132556_create_fewo_lodging_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" />
|
||||
|
|
@ -90,12 +93,14 @@
|
|||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/index.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move.blade.php" afterDir="false" />
|
||||
<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$/resources/views/admin/modal/upload.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/modal/upload.blade.php" 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_price.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/booking/_detail_price.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/booking/upload_modal.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/booking/upload_modal.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/travel/user/booking/upload_modal.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/travel/user/booking/upload_modal.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/drafts/detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/drafts/detail.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/pdf/layout.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/pdf/layout.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/travel/user/booking/_detail_files.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/travel/user/booking/_detail_files.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/travel/user/booking/_detail_info.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/travel/user/booking/_detail_info.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/travel/user/booking/mail/modal-new-booking-files.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/travel/user/booking/mail/modal-new-booking-files.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" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
|
@ -317,12 +322,19 @@
|
|||
<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/admin/modal" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/pdf" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
|
||||
<property name="settings.editor.selected.configurable" value="web-ide.project.structure" />
|
||||
<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/pdf" />
|
||||
<recent name="$PROJECT_DIR$/app/Services" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/cms/fewo/content" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/cms/fewo/all" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Controllers/CMS" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/resources/views/settings" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/customer/mail" />
|
||||
|
|
@ -330,13 +342,6 @@
|
|||
<recent name="$PROJECT_DIR$/database/migrations" />
|
||||
<recent name="$PROJECT_DIR$/app/Models/Sym" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/resources/views/admin/modal" />
|
||||
<recent name="$PROJECT_DIR$/database/migrations" />
|
||||
<recent name="$PROJECT_DIR$/app/Repositories" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Controllers" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/travel/user/booking" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunAnythingCache">
|
||||
<option name="myCommands">
|
||||
|
|
@ -746,6 +751,12 @@
|
|||
<workItem from="1591600294848" duration="3464000" />
|
||||
<workItem from="1591604539185" duration="2568000" />
|
||||
<workItem from="1591864148704" duration="3228000" />
|
||||
<workItem from="1592911729860" duration="495000" />
|
||||
<workItem from="1592916723223" duration="8858000" />
|
||||
<workItem from="1593006138437" duration="7288000" />
|
||||
<workItem from="1593084225915" duration="9683000" />
|
||||
<workItem from="1593417309317" duration="4000" />
|
||||
<workItem from="1593417320619" duration="6174000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
@ -781,6 +792,10 @@
|
|||
<state x="873" y="395" key="#Notifications/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1586283483077" />
|
||||
<state x="873" y="395" key="#Notifications/2560.-493.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1585998077451" />
|
||||
<state x="873" y="395" key="#Notifications/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587029730203" />
|
||||
<state x="962" y="536" key="#com.intellij.fileTypes.FileTypeChooser" timestamp="1593421255813">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="962" y="536" key="#com.intellij.fileTypes.FileTypeChooser/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1593421255813" />
|
||||
<state x="968" y="466" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog" timestamp="1585396813007">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
|
|
@ -790,10 +805,10 @@
|
|||
</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="23" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1590658970755" />
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1590660061034">
|
||||
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1593421562418">
|
||||
<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="1590660061034" />
|
||||
<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="1593421562418" />
|
||||
<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 width="2518" height="407" key="GridCell.Tab.0.bottom" timestamp="1587976409045">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
|
|
@ -811,31 +826,32 @@
|
|||
<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="815" y="370" key="SettingsEditor" timestamp="1591607084280">
|
||||
<state x="815" y="370" key="SettingsEditor" timestamp="1593084487522">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="815" y="370" key="SettingsEditor/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1591607084280" />
|
||||
<state x="815" y="370" key="SettingsEditor/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1593084487522" />
|
||||
<state x="756" y="429" key="SettingsEditor/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@2560.-527.1440.2537" timestamp="1592914034552" />
|
||||
<state x="815" y="370" key="SettingsEditor/2560.-493.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1585999076795" />
|
||||
<state x="815" y="370" key="SettingsEditor/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1587029998517" />
|
||||
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1587128795225">
|
||||
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1593090629992">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</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.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1593090629992" />
|
||||
<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="675" y="397" width="1487" height="939" key="find.popup" timestamp="1591602501931">
|
||||
<state x="675" y="397" width="1487" height="939" key="find.popup" timestamp="1593421444006">
|
||||
<screen x="0" 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="-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="397" width="1487" height="939" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1591602501931" />
|
||||
<state x="675" y="397" width="1487" height="939" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1593421444006" />
|
||||
<state x="2940" y="143" width="837" height="1682" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@2560.-527.1440.2537" timestamp="1589874198139" />
|
||||
<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="1589202350952">
|
||||
<state x="946" y="348" width="670" height="676" key="search.everywhere.popup" timestamp="1593417679041">
|
||||
<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="1589202350952" />
|
||||
<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="1593417679041" />
|
||||
<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>
|
||||
|
|
|
|||
164
app/Http/Controllers/CMS/CMSFeWoController.php
Executable file
164
app/Http/Controllers/CMS/CMSFeWoController.php
Executable file
|
|
@ -0,0 +1,164 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\CMS;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\CMSContent;
|
||||
use App\Models\FewoLodging;
|
||||
use App\Services\BookingFewo;
|
||||
use App\Services\CreatePDF;
|
||||
use App\Services\Util;
|
||||
use Request;
|
||||
|
||||
|
||||
class CMSFeWoController extends Controller
|
||||
{
|
||||
|
||||
protected $identifier_content;
|
||||
protected $identifier_fewo;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->identifier_content = config('fewo.identifier_content');
|
||||
$this->identifier_fewo = config('fewo.identifier_fewo');
|
||||
}
|
||||
/*
|
||||
* ALL
|
||||
*/
|
||||
public function all($step = false)
|
||||
{
|
||||
|
||||
$data = [
|
||||
'contents' => CMSContent::where('identifier', '=', $this->identifier_content)->get()->sortBy('pos'),
|
||||
'identifier_content' => $this->identifier_content,
|
||||
'step' => $step
|
||||
];
|
||||
return view('cms.fewo.all.index', $data);
|
||||
}
|
||||
|
||||
public function storeAll($step = false)
|
||||
{
|
||||
$data = Request::all();
|
||||
|
||||
/*if($data['action'] === 'saveAll') {
|
||||
//saveAll on each change
|
||||
}*/
|
||||
$i = 1;
|
||||
if(isset($data['contents'] )) {
|
||||
foreach ($data['contents'] as $content_id => $item) {
|
||||
$content = CMSContent::findOrFail($content_id);
|
||||
$content->setObjectBy('page-break', (isset($item['page-break']) ? true : false));
|
||||
$content->name = $item['name'];
|
||||
$content->slug = null;
|
||||
$content->decimal = isset($item['in_pdf']) ? 1 : 0;
|
||||
$content->full_text = $item['full_text'];
|
||||
$content->pos = $i++;
|
||||
$content->save();
|
||||
}
|
||||
}
|
||||
//last
|
||||
if($data['action'] === 'addItem'){
|
||||
$create = [
|
||||
'name' => 'Abschnitt',
|
||||
'field' => 'full_text',
|
||||
'decimal' => 1,
|
||||
'identifier' => $this->identifier_content,
|
||||
'pos' => $i,
|
||||
];
|
||||
CMSContent::create($create);
|
||||
//store in cms old Datebase
|
||||
\App\Models\Sym\CmsContent::create($create);
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('cms_fewo_all', [$step]));
|
||||
}
|
||||
|
||||
public function deleteAll($id){
|
||||
$content = CMSContent::findOrFail($id);
|
||||
$content->delete();
|
||||
$m = \App\Models\Sym\CmsContent::find($id);
|
||||
$m->delete();
|
||||
\Session()->flash('alert-success', __('Content gelöscht'));
|
||||
return back(); //redirect(route('cms_content_all'));
|
||||
}
|
||||
/*
|
||||
* CONTENT
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
$data = [
|
||||
'fewo_lodgings' => FewoLodging::all()
|
||||
];
|
||||
return view('cms.fewo.content.index', $data);
|
||||
}
|
||||
|
||||
public function detail($id, $step = false)
|
||||
{
|
||||
$fewo = FewoLodging::findOrFail($id);
|
||||
$identifier_fewo = $this->identifier_fewo.Util::sanitize($fewo->single_name); // //this->identifier_fewo = 'fewo-pdf-';
|
||||
|
||||
$data = [
|
||||
'contents' => CMSContent::where('identifier', '=', $this->identifier_content)->get()->sortBy('pos'),
|
||||
'fewo' => $fewo,
|
||||
'identifier_content' => $this->identifier_content,
|
||||
'identifier_fewo' => $identifier_fewo,
|
||||
'step' => $step
|
||||
];
|
||||
return view('cms.fewo.content.detail', $data);
|
||||
}
|
||||
|
||||
public function store($id, $step = false)
|
||||
{
|
||||
$data = Request::all();
|
||||
$fewo = FewoLodging::findOrFail($id);
|
||||
$identifier_fewo = $this->identifier_fewo.Util::sanitize($fewo->single_name);
|
||||
|
||||
$i = 1;
|
||||
$last_content_id = null;
|
||||
if(isset($data['contents'] )) {
|
||||
foreach ($data['contents'] as $content_id => $item) {
|
||||
$content = CMSContent::findOrFail($content_id);
|
||||
if ($item['identifier'] === $this->identifier_content) {
|
||||
$last_content_id = $content->id;
|
||||
}
|
||||
if ($item['identifier'] === $identifier_fewo) {
|
||||
$content->setObjectBy('page-break', (isset($item['page-break']) ? true : false));
|
||||
$content->name = $item['name'];
|
||||
$content->slug = null;
|
||||
$content->decimal = isset($item['in_pdf']) ? 1 : 0;
|
||||
$content->full_text = $item['full_text'];
|
||||
$content->integer = $last_content_id != null ? $last_content_id : $content->integer; //is the main obj
|
||||
$content->pos = $i++;
|
||||
$content->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($data['action'] === 'previewPDF'){
|
||||
$pdf_content = BookingFewo::getFeWoCMSContentForPDF($this->identifier_content, $identifier_fewo);
|
||||
$pdf_file = new CreatePDF('pdf.fewo_instructions');
|
||||
return $pdf_file->create($fewo, $pdf_content);
|
||||
}
|
||||
|
||||
if($data['action'] === 'addItem' && isset($data['content_pos_id'])) {
|
||||
$create = [
|
||||
'name' => 'Abschnitt',
|
||||
'field' => 'full_text',
|
||||
'decimal' => 1,
|
||||
'integer' => $data['content_pos_id'],
|
||||
'identifier' => $identifier_fewo,
|
||||
'pos' => 0,
|
||||
];
|
||||
CMSContent::create($create);
|
||||
//store in cms old Datebase
|
||||
\App\Models\Sym\CmsContent::create($create);
|
||||
}
|
||||
|
||||
\Session()->flash('alert-save', '1');
|
||||
return redirect(route('cms_fewo_content_detail', [$id, $step]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,10 +8,14 @@ use App\Models\BookingConfirmation;
|
|||
use App\Models\BookingStorno;
|
||||
use App\Models\BookingVoucher;
|
||||
use App\Models\Coupon;
|
||||
use App\Models\FewoLodging;
|
||||
use App\Models\InsuranceCertificate;
|
||||
use App\Models\TravelInsurance;
|
||||
use App\Repositories\CustomerFileRepository;
|
||||
use App\Services\BookingFewo;
|
||||
use App\Services\CreateCouponPDF;
|
||||
use App\Services\CreatePDF;
|
||||
use App\Services\Util;
|
||||
use Carbon;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
|
|
@ -39,7 +43,6 @@ class CustomerFileController extends Controller
|
|||
public function show($model, $id, $cd = false){
|
||||
|
||||
$content_disposition = $cd ? 'attachment' : 'inline';
|
||||
|
||||
$file = false;
|
||||
$filename = "";
|
||||
switch ($model){
|
||||
|
|
@ -90,6 +93,18 @@ class CustomerFileController extends Controller
|
|||
}
|
||||
break;
|
||||
|
||||
case 'fewo_instruction_pdf':
|
||||
$fewo = FewoLodging::findOrFail($id);
|
||||
$identifier_content = config('fewo.identifier_content');
|
||||
$identifier_fewo = config('fewo.identifier_fewo');
|
||||
$identifier_fewo = $identifier_fewo.Util::sanitize($fewo->single_name);
|
||||
$pdf_name = \App\Services\BookingFewo::getFeWoInstructionPDFName($fewo);
|
||||
$pdf_content = BookingFewo::getFeWoCMSContentForPDF($identifier_content, $identifier_fewo);
|
||||
$pdf_file = new CreatePDF('pdf.fewo_instructions');
|
||||
return $pdf_file->create($fewo, $pdf_content, $pdf_name, $cd);
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ class DraftController extends Controller
|
|||
$i = 1;
|
||||
if(isset($data['draft_item'])){
|
||||
foreach ($data['draft_item'] as $draft_item_id => $draft_item){
|
||||
if($data['action'] == 'saveAllFromOld'){
|
||||
if($data['action'] === 'saveAllFromOld'){
|
||||
$di = $draft->draft_items()->create([]);
|
||||
}else{
|
||||
$di = DraftItem::findOrFail($draft_item_id);
|
||||
|
|
@ -82,7 +82,7 @@ class DraftController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['action'] == 'addItem'){
|
||||
if($data['action'] === 'addItem'){
|
||||
$draft->draft_items()->create(['pos' => $i]);
|
||||
}
|
||||
if(strpos($data['action'], 'up_') !== false) {
|
||||
|
|
|
|||
|
|
@ -21,14 +21,13 @@ use Request;
|
|||
class TravelUserBookingFewoController extends Controller
|
||||
{
|
||||
protected $userBookingFewoRepo;
|
||||
// protected $identifier_fewo;
|
||||
|
||||
public function __construct(TravelUserBookingFewoRepository $userBookingFewoRepo)
|
||||
{
|
||||
$this->middleware('admin');
|
||||
$this->userBookingFewoRepo = $userBookingFewoRepo;
|
||||
|
||||
|
||||
|
||||
// $this->identifier_fewo = 'fewo-pdf-';
|
||||
}
|
||||
|
||||
public function index($step = false)
|
||||
|
|
@ -59,6 +58,11 @@ class TravelUserBookingFewoController extends Controller
|
|||
$id = $travel_user_booking_fewo->id;
|
||||
$replace_info_text['fewo_user_anrede'] = $travel_user_booking_fewo->getUserSalutation();
|
||||
$replace_info_text['fewo_adresse'] = $travel_user_booking_fewo->getNameAddressLocation(", ");
|
||||
|
||||
/* if($travel_user_booking_fewo->fewo_lodging){
|
||||
|
||||
$this->identifier_fewo = $this->identifier_fewo.Util::sanitize($travel_user_booking_fewo->fewo_lodging->single_name);
|
||||
}*/
|
||||
}
|
||||
if(!$travel_user_booking_fewo->info_mail_text) {
|
||||
$travel_user_booking_fewo->info_mail_text = CMSContent::getContentBySlug('pdf-vorlage-anreiseinfo-fewo');
|
||||
|
|
@ -78,10 +82,10 @@ class TravelUserBookingFewoController extends Controller
|
|||
public function store($id)
|
||||
{
|
||||
$data = Request::all();
|
||||
if($data['action'] == 'saveAll'){
|
||||
if($data['action'] === 'saveAll'){
|
||||
return $this->userBookingFewoRepo->update($id, $data);
|
||||
}
|
||||
if($data['action'] == 'createInvoice'){
|
||||
if($data['action'] === 'createInvoice'){
|
||||
if(!TravelUserBookingFewo::find($id)){
|
||||
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
||||
return back()->withRequest(Request::all());
|
||||
|
|
@ -97,7 +101,7 @@ class TravelUserBookingFewoController extends Controller
|
|||
|
||||
}
|
||||
}
|
||||
if($data['action'] == 'createTravelInfo'){
|
||||
if($data['action'] === 'createTravelInfo'){
|
||||
if(!TravelUserBookingFewo::find($id)){
|
||||
\Session()->flash('alert-error', __('Buchung nicht gefunden.'));
|
||||
return back()->withRequest(Request::all());
|
||||
|
|
@ -114,7 +118,7 @@ class TravelUserBookingFewoController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['action'] == 'sendMailtoUser') {
|
||||
if($data['action'] === 'sendMailtoUser') {
|
||||
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||
if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){
|
||||
$mail_bbc = config('mail.mail_bbc');
|
||||
|
|
@ -128,7 +132,7 @@ class TravelUserBookingFewoController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['action'] == 'sendInfosMailtoUser') {
|
||||
if($data['action'] === 'sendInfosMailtoUser') {
|
||||
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||
if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){
|
||||
$mail_bbc = config('mail.mail_bbc');
|
||||
|
|
@ -142,7 +146,7 @@ class TravelUserBookingFewoController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['action'] == 'sendMailtoService') {
|
||||
if($data['action'] === 'sendMailtoService') {
|
||||
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||
if($travel_user_booking_fewo){
|
||||
$mail_bbc = config('mail.mail_bbc');
|
||||
|
|
@ -160,7 +164,7 @@ class TravelUserBookingFewoController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['action'] == 'sendMailtoEmployee') {
|
||||
if($data['action'] === 'sendMailtoEmployee') {
|
||||
$travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id);
|
||||
if($travel_user_booking_fewo){
|
||||
$mails = explode(",", Request::get('send_mail_employee_mail'));
|
||||
|
|
@ -220,7 +224,6 @@ class TravelUserBookingFewoController extends Controller
|
|||
|
||||
public function getTravelUserBookingFewos()
|
||||
{
|
||||
|
||||
$query = $this->prozessTravelUserBookingFewosSearch();
|
||||
|
||||
return \DataTables::eloquent($query)
|
||||
|
|
|
|||
|
|
@ -219,6 +219,15 @@ class CMSContent extends Model
|
|||
$this->attributes['integer'] = intval($value);
|
||||
}
|
||||
|
||||
public function getObjectBy($key){
|
||||
return isset($this->object[$key]) ? $this->object[$key] : false;
|
||||
}
|
||||
|
||||
public function setObjectBy($key, $value){
|
||||
$obj = $this->object;
|
||||
$obj[$key] = $value;
|
||||
$this->object = $obj;
|
||||
}
|
||||
|
||||
public static function getContentBySlug($slug){
|
||||
$CMSContent = CMSContent::whereSlug(trim($slug))->first();
|
||||
|
|
@ -251,4 +260,6 @@ class CMSContent extends Model
|
|||
public static function getModelBySlug($slug){
|
||||
return CMSContent::whereSlug(trim($slug))->first();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ class FewoLodging extends Model
|
|||
'type_id',
|
||||
'name',
|
||||
'single_name',
|
||||
'pdf_name',
|
||||
'description',
|
||||
'equipment',
|
||||
'adress1',
|
||||
|
|
|
|||
|
|
@ -76,4 +76,29 @@ class BookingFewo
|
|||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
public static function getFeWoInstructionPDFName($fewo){
|
||||
return "HINWEISE-FERIENWOHNUNG-".$fewo->pdf_name.".pdf";
|
||||
}
|
||||
public static function getFeWoCMSContent($content, $identifier_fewo){
|
||||
return CMSContent::where('identifier', '=', $identifier_fewo)->where('integer', $content->id)->get()->sortBy('pos');
|
||||
}
|
||||
|
||||
public static function getFeWoCMSContentForPDF($identifier_content, $identifier_fewo){
|
||||
$pdf_content = [];
|
||||
$contents = CMSContent::where('identifier', '=', $identifier_content)->get()->sortBy('pos');
|
||||
foreach ($contents as $content){
|
||||
if($content->decimal > 0){ //in_pdf
|
||||
$pdf_content[] = $content;
|
||||
}
|
||||
if($fewo_contents = BookingFewo::getFeWoCMSContent($content, $identifier_fewo)){
|
||||
foreach ($fewo_contents as $fewo_content){
|
||||
if($fewo_content->decimal > 0){ //in_pdf
|
||||
$pdf_content[] = $fewo_content;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $pdf_content;
|
||||
}
|
||||
}
|
||||
60
app/Services/CreatePDF.php
Normal file
60
app/Services/CreatePDF.php
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
namespace App\Services;
|
||||
|
||||
use App\Libraries\CouponPDF;
|
||||
use App\Models\Coupon;
|
||||
|
||||
class CreatePDF{
|
||||
|
||||
protected $view;
|
||||
protected $pdf;
|
||||
|
||||
|
||||
public function __construct($view)
|
||||
{
|
||||
$this->view = $view;
|
||||
}
|
||||
|
||||
public function create($fewo, $contents, $name='test.pdf', $output='stream'){
|
||||
|
||||
header('Content-type: text/html; charset=UTF-8') ;//chrome
|
||||
//dd($data);
|
||||
$data = [
|
||||
'contents' => $contents,
|
||||
'fewo' => $fewo,
|
||||
];
|
||||
$pdf = app('dompdf.wrapper');
|
||||
$pdf->getDomPDF()->set_option("enable_php", true);
|
||||
$pdf->loadView($this->view, $data);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
|
||||
|
||||
if($output === 'stream'){
|
||||
return $pdf->stream($name);
|
||||
}
|
||||
if($output === 'download'){
|
||||
return $pdf->download($name);
|
||||
}
|
||||
|
||||
if($output === 'save'){
|
||||
/* $dir = $invoice->getInvoiceStorageDir();
|
||||
if(!Storage::disk('invoices')->exists( $dir )){
|
||||
Storage::disk('invoices')->makeDirectory($dir); //creates directory
|
||||
}
|
||||
$path = Storage::disk('invoices')->getAdapter()->getPathPrefix();
|
||||
|
||||
if($preview){
|
||||
$filename = "preview.pdf";
|
||||
}else{
|
||||
$filename = $invoice->invoice_number.".pdf";
|
||||
}
|
||||
|
||||
$pdf->save($path.$dir.$filename);
|
||||
|
||||
return $path.$dir.$filename; */
|
||||
//return $pdf->download($name);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
6
config/fewo.php
Normal file
6
config/fewo.php
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'identifier_content' => 'fewo-pdf-general',
|
||||
'identifier_fewo' => 'fewo-pdf-'
|
||||
];
|
||||
|
|
@ -23,6 +23,7 @@ return [
|
|||
'cms' => ['name' => 'ADMIN CMS' , 'color' => 'secondary'],
|
||||
'cms-iq-assets' => ['name' => 'ADMIN CMS > Medien' , 'color' => 'secondary'],
|
||||
'cms-tg' => ['name' => 'ADMIN CMS > Reiseführer' , 'color' => 'secondary'],
|
||||
'cms-fewo' => ['name' => 'ADMIN CMS > FeWo' , 'color' => 'secondary'],
|
||||
'cms-fb' => ['name' => 'ADMIN CMS > Feedback' , 'color' => 'secondary'],
|
||||
'cms-sb' => ['name' => 'ADMIN CMS > Sidebar' , 'color' => 'secondary'],
|
||||
'cms-cn' => ['name' => 'ADMIN CMS > Inhalte' , 'color' => 'secondary'],
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class CreateFewoLodgingTable extends Migration
|
|||
$table->integer('type_id')->nullable();
|
||||
$table->string('name', 255);
|
||||
$table->string('single_name', 255);
|
||||
$table->string('pdf_name', 255);
|
||||
$table->longText('description');
|
||||
$table->longText('equipment');
|
||||
$table->string('adress1', 255);
|
||||
|
|
|
|||
178
public/js/summernote-cleaner.js
Executable file
178
public/js/summernote-cleaner.js
Executable file
|
|
@ -0,0 +1,178 @@
|
|||
/* https://github.com/DiemenDesign/summernote-cleaner */
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['jquery'], factory);
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
module.exports = factory(require('jquery'));
|
||||
} else {
|
||||
factory(window.jQuery);
|
||||
}
|
||||
}
|
||||
(function ($) {
|
||||
$.extend(true, $.summernote.lang, {
|
||||
'en-US': {
|
||||
cleaner: {
|
||||
tooltip: 'Cleaner',
|
||||
not: 'Text has been Cleaned!!!',
|
||||
limitText: 'Text',
|
||||
limitHTML: 'HTML'
|
||||
}
|
||||
}
|
||||
});
|
||||
$.extend($.summernote.options, {
|
||||
cleaner: {
|
||||
action: 'both', // both|button|paste 'button' only cleans via toolbar button, 'paste' only clean when pasting content, both does both options.
|
||||
newline: '<br>', // Summernote's default is to use '<p><br></p>'
|
||||
notStyle: 'position:absolute;top:0;left:0;right:0',
|
||||
icon: '<i class="note-icon"><svg xmlns="http://www.w3.org/2000/svg" id="libre-paintbrush" viewBox="0 0 14 14" width="14" height="14"><path d="m 11.821425,1 q 0.46875,0 0.82031,0.311384 0.35157,0.311384 0.35157,0.780134 0,0.421875 -0.30134,1.01116 -2.22322,4.212054 -3.11384,5.035715 -0.64956,0.609375 -1.45982,0.609375 -0.84375,0 -1.44978,-0.61942 -0.60603,-0.61942 -0.60603,-1.469866 0,-0.857143 0.61608,-1.419643 l 4.27232,-3.877232 Q 11.345985,1 11.821425,1 z m -6.08705,6.924107 q 0.26116,0.508928 0.71317,0.870536 0.45201,0.361607 1.00781,0.508928 l 0.007,0.475447 q 0.0268,1.426339 -0.86719,2.32366 Q 5.700895,13 4.261155,13 q -0.82366,0 -1.45982,-0.311384 -0.63616,-0.311384 -1.0212,-0.853795 -0.38505,-0.54241 -0.57924,-1.225446 -0.1942,-0.683036 -0.1942,-1.473214 0.0469,0.03348 0.27455,0.200893 0.22768,0.16741 0.41518,0.29799 0.1875,0.130581 0.39509,0.24442 0.20759,0.113839 0.30804,0.113839 0.27455,0 0.3683,-0.247767 0.16741,-0.441965 0.38505,-0.753349 0.21763,-0.311383 0.4654,-0.508928 0.24776,-0.197545 0.58928,-0.31808 0.34152,-0.120536 0.68974,-0.170759 0.34821,-0.05022 0.83705,-0.07031 z"/></svg></i>',
|
||||
keepHtml: true, //Remove all Html formats
|
||||
keepOnlyTags: [], // If keepHtml is true, remove all tags except these
|
||||
keepClasses: false, //Remove Classes
|
||||
badTags: ['style', 'script', 'applet', 'embed', 'noframes', 'noscript', 'html'], //Remove full tags with contents
|
||||
badAttributes: ['style', 'start'], //Remove attributes from remaining tags
|
||||
limitChars: 0, // 0|# 0 disables option
|
||||
limitDisplay: 'both', // none|text|html|both
|
||||
limitStop: false // true/false
|
||||
}
|
||||
});
|
||||
$.extend($.summernote.plugins, {
|
||||
'cleaner': function (context) {
|
||||
var self = this,
|
||||
ui = $.summernote.ui,
|
||||
$note = context.layoutInfo.note,
|
||||
$editor = context.layoutInfo.editor,
|
||||
options = context.options,
|
||||
lang = options.langInfo;
|
||||
var cleanText = function (txt, nlO) {
|
||||
var out = txt;
|
||||
if (!options.cleaner.keepClasses) {
|
||||
var sS = /(\n|\r| class=(")?Mso[a-zA-Z]+(")?)/g;
|
||||
out = txt.replace(sS, ' ');
|
||||
}
|
||||
var nL = /(\n)+/g;
|
||||
out = out.replace(nL, nlO);
|
||||
if (options.cleaner.keepHtml) {
|
||||
var cS = new RegExp('<!--(.*?)-->', 'gi');
|
||||
out = out.replace(cS, '');
|
||||
var tS = new RegExp('<(/)*(meta|link|\\?xml:|st1:|o:|font)(.*?)>', 'gi');
|
||||
out = out.replace(tS, '');
|
||||
var bT = options.cleaner.badTags;
|
||||
for (var i = 0; i < bT.length; i++) {
|
||||
tS = new RegExp('<' + bT[i] + '\\b.*>.*</' + bT[i] + '>', 'gi');
|
||||
out = out.replace(tS, '');
|
||||
}
|
||||
var allowedTags = options.cleaner.keepOnlyTags;
|
||||
if (typeof(allowedTags) == "undefined") allowedTags = [];
|
||||
if (allowedTags.length > 0) {
|
||||
allowedTags = (((allowedTags||'') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('');
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi;
|
||||
out = out.replace(tags, function($0, $1) {
|
||||
return allowedTags.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''
|
||||
});
|
||||
}
|
||||
var bA = options.cleaner.badAttributes;
|
||||
for (var ii = 0; ii < bA.length; ii++ ) {
|
||||
//var aS=new RegExp(' ('+bA[ii]+'="(.*?)")|('+bA[ii]+'=\'(.*?)\')', 'gi');
|
||||
var aS = new RegExp(' ' + bA[ii] + '=[\'|"](.*?)[\'|"]', 'gi');
|
||||
out = out.replace(aS, '');
|
||||
aS = new RegExp(' ' + bA[ii] + '[=0-9a-z]', 'gi');
|
||||
out = out.replace(aS, '');
|
||||
}
|
||||
}
|
||||
return out;
|
||||
};
|
||||
if (options.cleaner.action == 'both' || options.cleaner.action == 'button') {
|
||||
context.memo('button.cleaner', function () {
|
||||
var button = ui.button({
|
||||
contents: options.cleaner.icon,
|
||||
tooltip: lang.cleaner.tooltip,
|
||||
container: 'body',
|
||||
click: function () {
|
||||
if ($note.summernote('createRange').toString())
|
||||
$note.summernote('pasteHTML', $note.summernote('createRange').toString());
|
||||
else
|
||||
$note.summernote('code', cleanText($note.summernote('code')));
|
||||
if ($editor.find('.note-status-output').length > 0)
|
||||
$editor.find('.note-status-output').html('<div class="alert alert-success">' + lang.cleaner.not + '</div>');
|
||||
}
|
||||
});
|
||||
return button.render();
|
||||
});
|
||||
}
|
||||
this.events = {
|
||||
'summernote.init': function () {
|
||||
if ($.summernote.interface === 'lite') {
|
||||
// $("head").append('<style>.note-statusbar .pull-right{float:right!important}.note-status-output .text-muted{color:#777}.note-status-output .text-primary{color:#286090}.note-status-output .text-success{color:#3c763d}.note-status-output .text-info{color:#31708f}.note-status-output .text-warning{color:#8a6d3b}.note-status-output .text-danger{color:#a94442}.alert{margin:-7px 0 0 0;padding:7px 10px;border:1px solid transparent;border-radius:0}.alert .note-icon{margin-right:5px}.alert-success{color:#3c763d!important;background-color: #dff0d8 !important;border-color:#d6e9c6}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}</style>');
|
||||
}
|
||||
if (options.cleaner.limitChars != 0 || options.cleaner.limitDisplay != 'none') {
|
||||
var textLength = $editor.find(".note-editable").text().replace(/(<([^>]+)>)/ig, "").replace(/( )/, " ");
|
||||
var codeLength = $editor.find('.note-editable').html();
|
||||
var lengthStatus = '';
|
||||
if (textLength.length > options.cleaner.limitChars && options.cleaner.limitChars > 0)
|
||||
lengthStatus += 'text-danger">';
|
||||
else
|
||||
lengthStatus += '">';
|
||||
if (options.cleaner.limitDisplay == 'text' || options.cleaner.limitDisplay == 'both') lengthStatus += lang.cleaner.limitText + ': ' + textLength.length;
|
||||
if (options.cleaner.limitDisplay == 'both') lengthStatus += ' / ';
|
||||
if (options.cleaner.limitDisplay == 'html' || options.cleaner.limitDisplay == 'both') lengthStatus += lang.cleaner.limitHTML + ': ' + codeLength.length;
|
||||
// $editor.find('.note-status-output').html('<small class="pull-right ' + lengthStatus + ' </small>');
|
||||
}
|
||||
},
|
||||
'summernote.keydown': function (we, e) {
|
||||
if (options.cleaner.limitChars != 0 || options.cleaner.limitDisplay != 'none') {
|
||||
var textLength = $editor.find(".note-editable").text().replace(/(<([^>]+)>)/ig, "").replace(/( )/, " ");
|
||||
var codeLength = $editor.find('.note-editable').html();
|
||||
var lengthStatus = '';
|
||||
if (options.cleaner.limitStop == true && textLength.length >= options.cleaner.limitChars) {
|
||||
var key = e.keyCode;
|
||||
allowed_keys = [8, 37, 38, 39, 40, 46]
|
||||
if ($.inArray(key, allowed_keys) != -1) {
|
||||
$editor.find('.cleanerLimit').removeClass('text-danger');
|
||||
return true;
|
||||
} else {
|
||||
$editor.find('.cleanerLimit').addClass('text-danger');
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
} else {
|
||||
if (textLength.length > options.cleaner.limitChars && options.cleaner.limitChars > 0)
|
||||
lengthStatus += 'text-danger">';
|
||||
else
|
||||
lengthStatus += '">';
|
||||
if (options.cleaner.limitDisplay == 'text' || options.cleaner.limitDisplay == 'both')
|
||||
lengthStatus += lang.cleaner.limitText + ': ' + textLength.length;
|
||||
if (options.cleaner.limitDisplay == 'both')
|
||||
lengthStatus += ' / ';
|
||||
if (options.cleaner.limitDisplay == 'html' || options.cleaner.limitDisplay == 'both')
|
||||
lengthStatus += lang.cleaner.limitHTML + ': ' + codeLength.length;
|
||||
//$editor.find('.note-status-output').html('<small class="cleanerLimit pull-right ' + lengthStatus + ' </small>');
|
||||
}
|
||||
}
|
||||
},
|
||||
'summernote.paste': function (we, e) {
|
||||
if (options.cleaner.action == 'both' || options.cleaner.action == 'paste') {
|
||||
e.preventDefault();
|
||||
var ua = window.navigator.userAgent;
|
||||
var msie = ua.indexOf("MSIE ");
|
||||
msie = msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./);
|
||||
var ffox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
|
||||
if (msie)
|
||||
var text = window.clipboardData.getData("Text");
|
||||
else
|
||||
var text = e.originalEvent.clipboardData.getData(options.cleaner.keepHtml ? 'text/html' : 'text/plain');
|
||||
if (text) {
|
||||
if (msie || ffox)
|
||||
setTimeout(function () {
|
||||
$note.summernote('pasteHTML', cleanText(text, options.cleaner.newline));
|
||||
}, 1);
|
||||
else
|
||||
$note.summernote('pasteHTML', cleanText(text, options.cleaner.newline));
|
||||
/*if ($editor.find('.note-status-output').length > 0)
|
||||
$editor.find('.note-status-output').html('<div class="summernote-cleanerAlert alert alert-success">' + lang.cleaner.not + '</div>');*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}));
|
||||
314
public/wartung.html
Normal file
314
public/wartung.html
Normal file
|
|
@ -0,0 +1,314 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>Wartungsmodus</title>
|
||||
|
||||
<style>
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
|
||||
display:block
|
||||
}
|
||||
|
||||
audio, canvas, video {
|
||||
display:inline-block
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height:0
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display:none
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust:100%
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0
|
||||
}
|
||||
|
||||
a:focus {
|
||||
outline:thin dotted
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
outline:0
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin:.67em 0
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom:1px dotted
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight:700
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style:italic
|
||||
}
|
||||
|
||||
hr {
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
height:0
|
||||
}
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color:#000
|
||||
}
|
||||
|
||||
code, kbd, pre, samp {
|
||||
font:1em monospace, serif
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space:pre-wrap
|
||||
}
|
||||
|
||||
q {
|
||||
quotes: "\201C" "\201D" "\2018" "\2019"
|
||||
}
|
||||
|
||||
small {
|
||||
font-size:80%
|
||||
}
|
||||
|
||||
sub, sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align:baseline
|
||||
}
|
||||
|
||||
sup {
|
||||
top:-.5em
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom:-.25em
|
||||
}
|
||||
|
||||
img {
|
||||
border:0
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow:hidden
|
||||
}
|
||||
|
||||
figure {
|
||||
margin:0
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid silver;
|
||||
margin: 0 2px;
|
||||
padding:.35em .625em .75em
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
padding:0
|
||||
}
|
||||
|
||||
button, input, select, textarea {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
margin:0
|
||||
}
|
||||
|
||||
button, input {
|
||||
line-height:normal
|
||||
}
|
||||
|
||||
button, select {
|
||||
text-transform: none
|
||||
}
|
||||
|
||||
button, html input[type="button"], input[type="reset"], input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor:pointer
|
||||
}
|
||||
|
||||
button[disabled], html input[disabled] {
|
||||
cursor: default
|
||||
}
|
||||
|
||||
input[type="checkbox"], input[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance:none
|
||||
}
|
||||
|
||||
button::-moz-focus-inner, input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding:0
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
vertical-align:top
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0
|
||||
}
|
||||
|
||||
body, html {
|
||||
min-height: 100%;
|
||||
background: #e9ebed;
|
||||
}
|
||||
|
||||
.maintenance-container {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
margin: 50px auto;
|
||||
width: 475px;
|
||||
padding: 30px;
|
||||
text-align: center;
|
||||
-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
|
||||
-moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
|
||||
-ms-box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
|
||||
box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
|
||||
}
|
||||
|
||||
.maintenance-headline {
|
||||
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: 300;
|
||||
margin: 0 0 .8em;
|
||||
}
|
||||
|
||||
.maintenance-text {
|
||||
font-size: 13px
|
||||
}
|
||||
|
||||
.maintenance-progress {
|
||||
border-top: 1px solid #529e52;
|
||||
height: 4px;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: #5eb95e;
|
||||
-webkit-background-size: 40px 40px;
|
||||
-moz-background-size: 40px 40px;
|
||||
-o-background-size: 40px 40px;
|
||||
background-size: 40px 40px;
|
||||
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
||||
-moz-animation: progress-bar-stripes 2s linear infinite;
|
||||
-ms-animation: progress-bar-stripes 2s linear infinite;
|
||||
-o-animation: progress-bar-stripes 2s linear infinite;
|
||||
animation: progress-bar-stripes 2s linear infinite;
|
||||
background-color: #62C462;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
|
||||
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
hr {
|
||||
background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAHUlEQVR42q3IoREAAACCQHdy/91IFrLcfSGqc5wAdFYCZQo/LFUAAAAASUVORK5CYII=") repeat-x;
|
||||
border: 0 none;
|
||||
color: #CCC;
|
||||
height: 4px;
|
||||
padding: 0;
|
||||
margin: 30px 0;
|
||||
}
|
||||
|
||||
@-webkit-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-ms-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-o-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="maintenance-container">
|
||||
<h1 class="maintenance-headline">Unsere Website befindet sich gerade in der Wartung.</h1>
|
||||
|
||||
<p class="maintenance-text">
|
||||
Wir stehen Ihnen bald wieder zur Verfügung. Entschuldigen Sie etwaige Unannehmlichkeiten.
|
||||
</p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h1 class="maintenance-headline">Our website is currently undergoing maintenance.</h1>
|
||||
|
||||
<p class="maintenance-text">
|
||||
We'll be back very soon. Sorry for any inconvenience.
|
||||
</p>
|
||||
|
||||
<div class="maintenance-progress"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
209
resources/views/cms/fewo/all/index.blade.php
Executable file
209
resources/views/cms/fewo/all/index.blade.php
Executable file
|
|
@ -0,0 +1,209 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
/* body {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}*/
|
||||
.btn-xs {
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 1px solid #9c9c9c;
|
||||
}
|
||||
.table th, .table td {
|
||||
border-top: none;
|
||||
}
|
||||
.table tr.border-none td, .table tr.border-none th {
|
||||
border-top: none;
|
||||
}
|
||||
.table .thead-dark th {
|
||||
color: #4E5155;
|
||||
background-color: rgba(24, 28, 33, 0.1);
|
||||
border-color: rgba(63, 69, 74, 0.1);
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
|
||||
.note-editing-area {
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid rgba(24, 28, 33, 0.1);
|
||||
padding: 0.438rem 0.875rem;
|
||||
color: #4E5155;
|
||||
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.note-editor.note-frame .note-editing-area .note-editable, .note-editor.note-airframe .note-editing-area .note-editable {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.note-editor.note-frame .note-editing-area:focus-within , .note-editor.note-airframe .note-editing-area:focus-within {
|
||||
border-color: #648859;
|
||||
}
|
||||
.note-editing-area .note-editable li {
|
||||
margin-bottom:0.5rem;
|
||||
}
|
||||
.note-editor.note-airframe .note-placeholder {
|
||||
padding: 0;
|
||||
}
|
||||
.draft_item_tbody .form-control {
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
FeWo Allgemein
|
||||
</h4>
|
||||
|
||||
<div class="nav-tabs-top mb-4">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if(!$step) active show @endif" data-toggle="tab" href="#navs-top-drafts">PDF Vorlage</a>
|
||||
</li>
|
||||
{{--
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'settings') active show @endif" data-toggle="tab" href="#navs-top-settings">Einstellungen</a>
|
||||
</li>
|
||||
--}}
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
|
||||
<div class="tab-pane fade @if(!$step) active show @endif" id="navs-top-drafts">
|
||||
<div class="card">
|
||||
|
||||
{!! Form::open(['url' => route('cms_fewo_all', [$step]), 'class' => 'form-horizontal']) !!}
|
||||
@if(count($contents))
|
||||
@php($i = 1)
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table mb-0" id="table_dragula_tbody" style="min-width: 1080px">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 1em"></th>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Abschnitte</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($contents as $content)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'required')) }}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_fewo_all_delete', [$content->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-secondary btn-sm" title="speichern"><i class="ion ion-ios-save"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::textarea('contents['.$content->id.'][full_text]', $content->getContent(), array('class'=>'form-control autoExpand summernote-air', 'id'=>'contents_'.$content->id.'_name', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-left mt-3 m-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> Neuen Abschnitt hinzufügen</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$.dragYScroll();
|
||||
var sort_item_pos_number = function(){
|
||||
var index = 1;
|
||||
$('#table_dragula_tbody .draft_item_tbody').each(function () {
|
||||
$(this).find('.item_pos_number').html(index);
|
||||
$(this).data('rowPosition', index);
|
||||
index++;
|
||||
});
|
||||
};
|
||||
$(function() {
|
||||
// Drag handle
|
||||
var sortableItems = dragula([$('#table_dragula_tbody')[0]], {
|
||||
moves: function (el, container, handle) {
|
||||
return handle.classList.contains('handle');
|
||||
}
|
||||
});
|
||||
sortableItems.on('dragend', function() {
|
||||
//sort new
|
||||
sort_item_pos_number();
|
||||
});
|
||||
});
|
||||
$('table .move-up-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var prevRow = thisRow.prev();
|
||||
if (prevRow.length) {
|
||||
prevRow.before(thisRow);
|
||||
sort_item_pos_number()
|
||||
|
||||
}
|
||||
});
|
||||
$('table .move-down-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var nextRow = thisRow.next();
|
||||
if (nextRow.length) {
|
||||
nextRow.after(thisRow);
|
||||
sort_item_pos_number()
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step === 'settings') active show @endif" id="navs-top-settings">
|
||||
<div class="card">
|
||||
<h4 class="mt-4 mb-2 ml-4">Einstellungen</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
273
resources/views/cms/fewo/content/detail.blade.php
Executable file
273
resources/views/cms/fewo/content/detail.blade.php
Executable file
|
|
@ -0,0 +1,273 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
/* body {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}*/
|
||||
.btn-xs {
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.table tbody + tbody {
|
||||
border-top: 1px solid #9c9c9c;
|
||||
}
|
||||
.table th, .table td {
|
||||
border-top: none;
|
||||
}
|
||||
.table tr.border-none td, .table tr.border-none th {
|
||||
border-top: none;
|
||||
}
|
||||
.table .thead-dark th {
|
||||
color: #4E5155;
|
||||
background-color: rgba(24, 28, 33, 0.1);
|
||||
border-color: rgba(63, 69, 74, 0.1);
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
padding: 0.438rem 0.475rem;
|
||||
}
|
||||
|
||||
.note-editing-area {
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid rgba(24, 28, 33, 0.1);
|
||||
padding: 0.438rem 0.875rem;
|
||||
color: #4E5155;
|
||||
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
||||
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
||||
}
|
||||
|
||||
.note-editing-area.readonly {
|
||||
background-color: #f1f1f2;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.note-editor.note-frame .note-editing-area .note-editable, .note-editor.note-airframe .note-editing-area .note-editable {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.note-editor.note-frame .note-editing-area:focus-within , .note-editor.note-airframe .note-editing-area:focus-within {
|
||||
border-color: #648859;
|
||||
}
|
||||
.note-editing-area li {
|
||||
margin-bottom:0.5rem;
|
||||
}
|
||||
.note-editor.note-airframe .note-placeholder {
|
||||
padding: 0;
|
||||
}
|
||||
.draft_item_tbody .form-control {
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
FeWo Inhalt <span class="text-primary">{{ $fewo->name }}</span>
|
||||
</h4>
|
||||
|
||||
<div class="nav-tabs-top mb-4">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if(!$step) active show @endif" data-toggle="tab" href="#navs-top-drafts">PDF Vorlage</a>
|
||||
</li>
|
||||
{{--
|
||||
<li class="nav-item">
|
||||
<a class="nav-link @if($step === 'settings') active show @endif" data-toggle="tab" href="#navs-top-settings">Einstellungen</a>
|
||||
</li>
|
||||
--}}
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
|
||||
<div class="tab-pane fade @if(!$step) active show @endif" id="navs-top-drafts">
|
||||
<div class="card">
|
||||
|
||||
{!! Form::open(['url' => route('cms_fewo_content_detail', [$fewo->id, $step]), 'class' => 'form-horizontal', 'id'=>'fewo-content-detail-form']) !!}
|
||||
|
||||
{{ Form::hidden('content_pos_id', '') }}
|
||||
{{ Form::hidden('action', '') }}
|
||||
@if(count($contents))
|
||||
@php($i = 1)
|
||||
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table mb-0" id="table_dragula_tbody" style="min-width: 1080px">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 1em"></th>
|
||||
<th style="width: 1em">#</th>
|
||||
<th>Abschnitte</th>
|
||||
<th style="width: 8em">#</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach($contents as $content)
|
||||
@if($content->decimal > 0)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="ion ion-ios-lock d-inline-block bg-dark text-white p-1 px-2"></span>
|
||||
{{-- <span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span> --}}
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'readonly')) }}
|
||||
{{ Form::hidden('contents['.$content->id.'][identifier]', $identifier_content) }}
|
||||
</td>
|
||||
<td>
|
||||
{{--
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_fewo_all_delete', [$content->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
--}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="button" name="action" value="addItem" class="btn btn-xs btn-primary btn-add-item" title="Abschnitt hinzufügen" data-pos-id="{{$content->id}}"><i class="fa fa-plus"></i> <i class="fa fa-arrow-down"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
<div class="note-editing-area readonly">
|
||||
{!! $content->getContent() !!}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{{-- --}}
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input', 'disabled']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input', 'disabled']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@endif
|
||||
@if($fewo_contents = \App\Services\BookingFewo::getFeWoCMSContent($content, $identifier_fewo))
|
||||
@foreach($fewo_contents as $content)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
{{ Form::text('contents['.$content->id.'][name]', $content->name, array('placeholder'=>__('Abschnitt*'), 'class'=>'form-control', 'id'=>'contents_'.$content->id.'_name', 'required')) }}
|
||||
{{ Form::hidden('contents['.$content->id.'][identifier]', $identifier_fewo) }}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$content->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$content->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('cms_fewo_all_delete', [$content->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-none">
|
||||
<td colspan="2" style="vertical-align: bottom">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-secondary btn-sm" title="speichern"><i class="ion ion-ios-save"></i></button>
|
||||
</td>
|
||||
<td>
|
||||
{{ Form::textarea('contents['.$content->id.'][full_text]', $content->getContent(), array('class'=>'form-control autoExpand summernote-air', 'id'=>'contents_'.$content->id.'_name', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
</td>
|
||||
<td>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][in_pdf]', 1, ($content->decimal > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
<label class="custom-control custom-checkbox mt-2" style="margin-right: 20px;">
|
||||
{!! Form::checkbox('contents['.$content->id.'][page-break]', 1, ($content->getObjectBy('page-break') > 0), ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label" style="white-space: nowrap;">{{__('Neue Seite')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4"></td>
|
||||
</tr>
|
||||
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-left mt-3 m-2">
|
||||
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>
|
||||
|
||||
<div class="float-right">
|
||||
<button type="submit" name="action" value="previewPDF" class="btn btn-sm btn-info"><i class="fa fa-file-pdf"></i> Vorschau PDF</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.btn-add-item').on('click', function () {
|
||||
$('input[name=content_pos_id]').val($(this).data('pos-id'));
|
||||
$('input[name=action]').val('addItem');
|
||||
|
||||
$("#fewo-content-detail-form").submit();
|
||||
});
|
||||
$.dragYScroll();
|
||||
var sort_item_pos_number = function(){
|
||||
var index = 1;
|
||||
$('#table_dragula_tbody .draft_item_tbody').each(function () {
|
||||
$(this).find('.item_pos_number').html(index);
|
||||
$(this).data('rowPosition', index);
|
||||
index++;
|
||||
});
|
||||
};
|
||||
$(function() {
|
||||
// Drag handle
|
||||
var sortableItems = dragula([$('#table_dragula_tbody')[0]], {
|
||||
moves: function (el, container, handle) {
|
||||
return handle.classList.contains('handle');
|
||||
}
|
||||
});
|
||||
sortableItems.on('dragend', function() {
|
||||
//sort new
|
||||
sort_item_pos_number();
|
||||
});
|
||||
});
|
||||
$('table .move-up-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var prevRow = thisRow.prev();
|
||||
if (prevRow.length) {
|
||||
prevRow.before(thisRow);
|
||||
sort_item_pos_number()
|
||||
|
||||
}
|
||||
});
|
||||
$('table .move-down-btn').on('click', function () {
|
||||
var thisRow = $(this).closest('tbody');
|
||||
var nextRow = thisRow.next();
|
||||
if (nextRow.length) {
|
||||
nextRow.after(thisRow);
|
||||
sort_item_pos_number()
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade @if($step === 'settings') active show @endif" id="navs-top-settings">
|
||||
<div class="card">
|
||||
<h4 class="mt-4 mb-2 ml-4">Einstellungen</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
85
resources/views/cms/fewo/content/index.blade.php
Executable file
85
resources/views/cms/fewo/content/index.blade.php
Executable file
|
|
@ -0,0 +1,85 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<h4 class="font-weight-bold py-3 mb-1">
|
||||
FeWo Inhalte
|
||||
</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">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 60px;"> </th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Adresse')}}</th>
|
||||
<th>{{__('Personen')}}</th>
|
||||
<th>{{__('Erwachsenen')}}</th>
|
||||
<th>{{__('Kinder')}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($fewo_lodgings as $value)
|
||||
<tr>
|
||||
<td data-sort="{{ $value->id }}">
|
||||
<a href="{{ route('cms_fewo_content_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td><a href="{{ route('cms_fewo_content_detail', [$value->id]) }}">{{ $value->name }}</a></td>
|
||||
<td>
|
||||
{{ $value->adress1 }}, {{ $value->zip_code }} {{ $value->city }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $value->maximum_persons }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $value->maximum_adults }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $value->maximum_childs }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{--
|
||||
<div class="ml-3 mb-2">
|
||||
<a href="{{ route('admin_settings_travel_country_detail', ['new']) }}" class="btn btn-sm btn-primary">Neues Reiseland anlegen</a>
|
||||
</div>
|
||||
--}}
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('.datatables-feedbacks').dataTable({
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -44,7 +44,6 @@
|
|||
</span>
|
||||
</h4>
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="exampleNotice" tabindex="-1" role="dialog" aria-labelledby="exampleNoticeTitle" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
|
|
@ -108,11 +107,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{!! Form::open(['url' => route('draft_detail', [$id]), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
|
||||
|
||||
<input type="hidden" name="id" id="id" value="{{$id}}">
|
||||
|
|
@ -133,7 +127,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@if(count($draft->draft_items))
|
||||
@php($i = 1)
|
||||
<div class="text-left mt-3 mb-2">
|
||||
|
|
@ -160,59 +153,60 @@
|
|||
|
||||
@foreach($draft->draft_items as $draft_item)
|
||||
<tbody class="draft_item_tbody">
|
||||
<tr @if($draft_item->draft_type) style="background-color: {{ $draft_item->draft_type->color }}" @endif>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
<tr @if($draft_item->draft_type) style="background-color: {{ $draft_item->draft_type->color }}" @endif>
|
||||
<td>
|
||||
<span class="handle ion ion-ios-move d-inline-block bg-primary text-white p-1"></span>
|
||||
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][draft_type_id]" id="draft_item_{{$draft_item->id }}_draft_type_id" data-live-search="true" required>
|
||||
<option value="" disabled>Vorlagen-Typ*</option>
|
||||
{!! HTMLHelper::getDraftTypes($draft_item->draft_type_id) !!}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_start]]" id="draft_item_{{$draft_item->id }}_days_start">
|
||||
<option value="">(Datum) Start + Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->days_start, 30, ' Tag(e)') !!}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_duration]" id="draft_item_{{$draft_item->id }}_days_duration">
|
||||
<option value="">(Datum) Dauer + Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->days_duration, 30, ' Tag(e)') !!}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" data-style="btn-light" name="draft_item[{{$draft_item->id}}][adult]" id="draft_item_{{$draft_item->id }}_adult">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->adult, 10, ' T.') !!}
|
||||
</td>
|
||||
<td><span class="item_pos_number">{{ $i++ }}</span></td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][draft_type_id]" id="draft_item_{{$draft_item->id }}_draft_type_id" data-live-search="true" required>
|
||||
<option value="" disabled>Vorlagen-Typ*</option>
|
||||
{!! HTMLHelper::getDraftTypes($draft_item->draft_type_id) !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$draft_item->id.'][price_adult]', $draft_item->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_adult',)) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" data-style="btn-light" name="draft_item[{{$draft_item->id}}][children]" id="draft_item_{{$draft_item->id}}_children">
|
||||
<option value="">Kinder</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->children, 10, ' K.') !!}
|
||||
</td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_start]]" id="draft_item_{{$draft_item->id }}_days_start">
|
||||
<option value="">(Datum) Start + Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->days_start, 30, ' Tag(e)') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$draft_item->id.'][price_children]', $draft_item->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_children')) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$draft_item->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$draft_item->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('draft_item_delete', [$draft_item->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_duration]" id="draft_item_{{$draft_item->id }}_days_duration">
|
||||
<option value="">(Datum) Dauer + Tage</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->days_duration, 30, ' Tag(e)') !!}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" data-style="btn-light" name="draft_item[{{$draft_item->id}}][adult]" id="draft_item_{{$draft_item->id }}_adult">
|
||||
<option value="">0</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->adult, 10, ' T.') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$draft_item->id.'][price_adult]', $draft_item->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_adult',)) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<select class="custom-select" data-style="btn-light" name="draft_item[{{$draft_item->id}}][children]" id="draft_item_{{$draft_item->id}}_children">
|
||||
<option value="">Kinder</option>
|
||||
{!! HTMLHelper::getRangeOptions($draft_item->children, 10, ' K.') !!}
|
||||
</select>
|
||||
{{ Form::text('draft_item['.$draft_item->id.'][price_children]', $draft_item->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_children')) }}
|
||||
<span class="input-group-append">
|
||||
<span class="input-group-text">€</span>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" name="" value="up_{{$draft_item->id}}" class="btn btn-xs btn-default move-up-btn"><i class="fa fa-arrow-up"></i> </button>
|
||||
<button type="button" name="" value="down_{{$draft_item->id}}" class="btn btn-xs btn-default mr-2 move-down-btn"><i class="fa fa-arrow-down"></i> </button>
|
||||
<a class="text-danger" href="{{ route('draft_item_delete', [$draft_item->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="fa fa-trash-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr @if($draft_item->draft_type) style="background-color: {{ $draft_item->draft_type->color }}" @endif class="border-none">
|
||||
<td colspan="7">
|
||||
{{ Form::textarea('draft_item['.$draft_item->id.'][service]', $draft_item->service, array('placeholder'=>__('Leistungen'), 'class'=>'form-control autoExpand', 'id'=>'draft_item_'.$draft_item->id.'_service', 'rows'=>'1', 'data-min-rows'=>'1')) }}
|
||||
|
|
@ -223,10 +217,8 @@
|
|||
<span class="custom-control-label">{{__('in PDF')}}</span>
|
||||
</label>
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</tbody>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -139,13 +139,16 @@
|
|||
<script src="{{ mix('/vendor/libs/minicolors/minicolors.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.js?v=0.8.16') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/lang/summernote-de-DE.js?v=0.8.16') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-cleaner.js?v=1') }}"></script>
|
||||
|
||||
|
||||
|
||||
<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('/js/summernote-iq-content-extension.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/js/summernote-image-title.js?v=2') }}"></script>
|
||||
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
|
||||
<script src="{{ asset('/js/filemanager.js?v=3') }}"></script>
|
||||
@endif
|
||||
|
|
@ -311,6 +314,36 @@
|
|||
},
|
||||
|
||||
});
|
||||
|
||||
$('.summernote-air').summernote({
|
||||
airMode: true,
|
||||
lang: 'de-DE',
|
||||
placeholder: 'Text ...',
|
||||
tabsize: 2,
|
||||
popover: { air:[
|
||||
['style', ['style']],
|
||||
['font', ['bold', 'italic', 'underline', 'clear']],
|
||||
['font', ['strikethrough']],
|
||||
['para', ['ul', 'ol', 'paragraph']],
|
||||
['insert', ['link']],
|
||||
['color', ['color']],
|
||||
['view', ['codeview']],
|
||||
] },
|
||||
cleaner:{
|
||||
action: 'paste', // both|button|paste 'button' only cleans via toolbar button, 'paste' only clean when pasting content, both does both options.
|
||||
newline: '<br>', // Summernote's default is to use '<p><br></p>'
|
||||
notStyle: 'position:absolute;top:0;left:0;right:0', // Position of Notification
|
||||
icon: '<i class="note-icon">[Your Button]</i>',
|
||||
keepHtml: false, // Remove all Html formats
|
||||
keepOnlyTags: ['<p>', '<br>', '<ul>', '<li>', '<b>', '<strong>','<i>', '<a>'], // If keepHtml is true, remove all tags except these
|
||||
keepClasses: false, // Remove Classes
|
||||
badTags: ['style', 'script', 'applet', 'embed', 'noframes', 'noscript', 'html'], // Remove full tags with contents
|
||||
badAttributes: ['style', 'start'], // Remove attributes from remaining tags
|
||||
limitChars: false, // 0/false|# 0/false disables option
|
||||
limitDisplay: false, // text|html|both
|
||||
limitStop: false // true/false
|
||||
}
|
||||
});
|
||||
//save in the codeview
|
||||
$('.note-codable').on('blur', function() {
|
||||
var codeviewHtml = $(this).val();
|
||||
|
|
|
|||
|
|
@ -160,6 +160,22 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-fewo'))
|
||||
<li class="sidenav-item{{ Request::is('cms/fewo/*') ? ' open' : '' }}">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-home"></i>
|
||||
<div>FeWo</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is(['cms/fewo/all', 'cms/fewo/all/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_fewo_all') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-paper"></i><div>FeWo Allgemein</div></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is(['cms/fewo/content', 'cms/fewo/content/*']) ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_fewo_content') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-paper"></i><div>FeWo Inhalte</div></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-fb'))
|
||||
<li class="sidenav-item{{ Request::is('cms/feedback') ? ' active' : '' }}">
|
||||
|
|
@ -171,31 +187,31 @@
|
|||
<a href="{{ route('cms_sidebar') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-list"></i><div>Sidebar</div></a>
|
||||
</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>
|
||||
<div>Inhalte</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
@if(Auth::user()->isPermission('cms-cn-in'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/infos') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_infos') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-business"></i><div>Infos</div></a>
|
||||
@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>
|
||||
<div>Inhalte</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
@if(Auth::user()->isPermission('cms-cn-in'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/infos') ? ' active' : '' }}">
|
||||
<a href="{{ route('cms_content_infos') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-business"></i><div>Infos</div></a>
|
||||
</li>
|
||||
@endif
|
||||
@if(Auth::user()->isPermission('cms-cn-al'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/all') ? ' active' : '' }}">
|
||||
<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-al'))
|
||||
<li class="sidenav-item{{ Request::is('cms/content/all') ? ' active' : '' }}">
|
||||
<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-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>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@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>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
|
||||
|
|
|
|||
40
resources/views/pdf/fewo_instructions.blade.php
Normal file
40
resources/views/pdf/fewo_instructions.blade.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
@extends('pdf.layout-small')
|
||||
|
||||
@section('content')
|
||||
<style>
|
||||
h2 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
padding-left: 2rem;
|
||||
}
|
||||
li {
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
.pdf-input-content {
|
||||
font-size: 11pt;
|
||||
line-height: 1.3em;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.pdf-break-block {
|
||||
page-break-inside: avoid;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
<h1>HINWEISE FERIENWOHNUNG STERN USEDOM</h1>
|
||||
<h1>{{$fewo->single_name}} in der {{ $fewo->adress1 }} in {{ $fewo->zip_code }} {{ $fewo->city }}</h1>
|
||||
<hr>
|
||||
@foreach($contents as $content)
|
||||
@if($content->getObjectBy('page-break'))
|
||||
<div class="page_break"></div>
|
||||
@endif
|
||||
<div class="pdf-break-block">
|
||||
<h2>{{$content->name}}</h2>
|
||||
<div class="pdf-input-content">
|
||||
{!! $content->getContent() !!}
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endsection
|
||||
143
resources/views/pdf/layout-small.blade.php
Normal file
143
resources/views/pdf/layout-small.blade.php
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="{{ url('/') }}">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>STERN TOURS</title>
|
||||
<style>
|
||||
html {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
font-size: 9.5pt;
|
||||
line-height: 1.15em;
|
||||
font-family: Helvetica;
|
||||
}
|
||||
table {
|
||||
border: none;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 20mm 15mm 22mm 15mm;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
|
||||
header {
|
||||
position: fixed;
|
||||
top:-20mm;
|
||||
right: 0mm;
|
||||
width: 100mm;
|
||||
height: 20mm;
|
||||
text-align: right;
|
||||
}
|
||||
header img {
|
||||
padding-top: 6mm;
|
||||
height: 10mm;
|
||||
}
|
||||
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: -16mm;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 10mm;
|
||||
padding-top: 2mm;
|
||||
border-top: 0.25pt solid #000;
|
||||
font-size: 8.5pt;
|
||||
|
||||
/** Extra personal styles **/
|
||||
}
|
||||
|
||||
footer table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
footer table td {
|
||||
vertical-align: top;
|
||||
width: 33.33%;
|
||||
}
|
||||
/* footer .page {
|
||||
position: absolute;
|
||||
top:0mm;
|
||||
font-size: 8pt;
|
||||
text-align: right;
|
||||
right: 0;
|
||||
}
|
||||
footer .page:after { content: counter(page); }
|
||||
*/
|
||||
|
||||
|
||||
main {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
|
||||
.page_break { page-break-before: always; }
|
||||
|
||||
#pdf-page {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #648859 !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/php">
|
||||
if (isset($pdf)) {
|
||||
$font = null;
|
||||
$size = 8;
|
||||
$color = array(0,0,0);
|
||||
$word_space = 0.0; // default
|
||||
$char_space = 0.0; // default
|
||||
$angle = 0.0; // default
|
||||
$text = "{PAGE_NUM} / {PAGE_COUNT}";
|
||||
$y = $pdf->get_height() - 64;
|
||||
$x = $pdf->get_width() - 66;
|
||||
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
|
||||
}
|
||||
</script>
|
||||
<header>
|
||||
<img src="{{\App\Services\Util::getURLasContent(asset('/images/stern-tours-logo.png'), true)}}" alt="STERNTOURS">
|
||||
</header>
|
||||
<footer>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>STERN TOURS GmbH</strong><br>
|
||||
Emser Str. 3<br>
|
||||
10719 Berlin<br>
|
||||
</td>
|
||||
<td style="text-align: center">
|
||||
<strong>Beratung und Buchung</strong>
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<strong>Web:</strong> <a href="https://www.sterntours.de/ferienwohnungen">www.sterntours.de/ferienwohnungen</a><br>
|
||||
<strong>E-Mail:</strong> <a href="mailto:stern@sterntours.de">stern@sterntours.de</a><br>
|
||||
<strong>Tel.:</strong> <a href="tel:03070094100">030 - 700 94 100</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</footer>
|
||||
<main>
|
||||
<div id="pdf-page">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<base href="{{ url('/') }}">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<title>STERN TOURS</title>
|
||||
<style>
|
||||
{!! \App\Services\Util::getURLasContent(asset('/css/stern_fewo_pdf.css')) !!}
|
||||
</style>
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
10719 Berlin<br>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Fon:</strong> 030 | 88 0 313 0<br>
|
||||
<strong>Tel.:</strong> 030 | 88 0 313 0<br>
|
||||
<strong>Fax:</strong> 030 | 88 0 313 44<br>
|
||||
<strong>E-Mail:</strong> kontakt@sterntours.de<br>
|
||||
<strong>Web:</strong> www.sterntours.de
|
||||
|
|
|
|||
|
|
@ -19,7 +19,26 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@if($travel_user_booking_fewo->fewo_lodging)
|
||||
<tr>
|
||||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a target="_blank" href="{{ route('customer_file_show', ['fewo_instruction_pdf', $travel_user_booking_fewo->fewo_lodging->id, 'stream']) }}" class="badge badge-md badge-next">
|
||||
<i class="fa fa-file-pdf mr-1"></i> {{\App\Services\BookingFewo::getFeWoInstructionPDFName($travel_user_booking_fewo->fewo_lodging)}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
application/pdf
|
||||
</td>
|
||||
<td>-</td>
|
||||
<td>
|
||||
<a href="{{ route('customer_file_show', ['fewo_instruction_pdf', $travel_user_booking_fewo->fewo_lodging->id, 'download']) }}" class="btn btn-xs btn-default"
|
||||
title="Download" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach(\App\Services\BookingFewo::contentFiles() as $content_file)
|
||||
@if($file = \App\Models\CMSContent::getModelBySlug($content_file))
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<h6 class="card-header bg-primary text-white py-2" data-toggle="collapse" data-target="#collapseBookingInfo" aria-expanded="false" aria-controls="collapseBookingInfo">
|
||||
<strong style="line-height: 1.6em"> Kunde / Buchung</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseBookingInfo">
|
||||
<div class="collapse @if($id === 'new') show @endif" id="collapseBookingInfo">
|
||||
<div class="card-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
|
|
|
|||
|
|
@ -12,6 +12,27 @@
|
|||
<tbody>
|
||||
@php($booking_files_count = 1)
|
||||
|
||||
@if($booking->fewo_lodging)
|
||||
<tr>
|
||||
<th scope="row">{{$booking_files_count++}}</th>
|
||||
<td>
|
||||
<a target="_blank" href="{{ route('customer_file_show', ['fewo_instruction_pdf', $booking->fewo_lodging->id, 'stream']) }}" class="badge badge-md badge-next">
|
||||
<i class="fa fa-file-pdf mr-1"></i> {{\App\Services\BookingFewo::getFeWoInstructionPDFName($booking->fewo_lodging)}}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
application/pdf
|
||||
</td>
|
||||
<td>-</td>
|
||||
<td>
|
||||
<button data-target="{{ route('customer_file_show', ['fewo_instruction_pdf', $booking->fewo_lodging->id, 'stream']) }}" data-name="{{\App\Services\BookingFewo::getFeWoInstructionPDFName($booking->fewo_lodging)}}" class="btn btn-xs btn-primary add-file-to-attachment"
|
||||
title="als Anhang hinzufügen" data-placement="left" rel="tooltip">
|
||||
<i class="fa fa-cloud-download-alt"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@foreach(\App\Services\BookingFewo::contentFiles() as $content_file)
|
||||
@if($file = \App\Models\CMSContent::getModelBySlug($content_file))
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -249,11 +249,21 @@ Route::group(['middleware' => ['admin']], function()
|
|||
Route::get('/cms/travel_guide/page/detail/{id}', 'CMS\CMSTravelGuideControllecr@pageDetail')->name('cms_travel_guide_page_detail');
|
||||
Route::post('/cms/travel_guide/page/detail/{id}', 'CMS\CMSTravelGuideController@pageStore')->name('cms_travel_guide_page_detail');
|
||||
|
||||
|
||||
Route::get('/cms/travel_guide/detail/{id}', 'CMS\CMSTravelGuideController@detail')->name('cms_travel_guide_detail');
|
||||
Route::post('/cms/travel_guide/detail/{id}', 'CMS\CMSTravelGuideController@store')->name('cms_travel_guide_detail');
|
||||
Route::get('/cms/travel_guide/delete/{id}', 'CMS\CMSTravelGuideController@delete')->name('cms_travel_guide_delete');
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:cms-tg']], function() {
|
||||
// CMS FeWo
|
||||
Route::get('/cms/fewo/all/{step?}', 'CMS\CMSFeWoController@all')->name('cms_fewo_all');
|
||||
Route::post('/cms/fewo/all/{step?}', 'CMS\CMSFeWoController@storeAll')->name('cms_fewo_all');
|
||||
Route::get('/cms/fewo/all/delete/{id}', 'CMS\CMSFeWoController@deleteAll')->name('cms_fewo_all_delete');
|
||||
|
||||
Route::get('/cms/fewo/content', 'CMS\CMSFeWoController@content')->name('cms_fewo_content');
|
||||
Route::get('/cms/fewo/content/detail/{id}/{step?}', 'CMS\CMSFeWoController@detail')->name('cms_fewo_content_detail');
|
||||
Route::post('/cms/fewo/content/detail/{id}/{step?}', 'CMS\CMSFeWoController@store')->name('cms_fewo_content_store');
|
||||
|
||||
});
|
||||
Route::group(['middleware' => ['auth.permission:cms-fb']], function() {
|
||||
// CMS Feedback
|
||||
Route::get('/cms/feedback', 'CMS\CMSFeedbackController@index')->name('cms_feedback');
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue