Berater Bestellungen
This commit is contained in:
parent
a5db985ae8
commit
bde1095014
26 changed files with 1524 additions and 577 deletions
114
.idea/workspace.xml
generated
114
.idea/workspace.xml
generated
|
|
@ -1,88 +1,35 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="2fbaac5f-25ba-4502-a970-cc14728d7d55" name="Default Changelist" comment="">
|
<list default="true" id="2fbaac5f-25ba-4502-a970-cc14728d7d55" name="Default Changelist" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/commandlinetools/Laravel_30_07_20__14_22.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/public/js/iq-shopping-cart.js" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.4.xsd" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/resources/views/user/order/comp_product.blade.php" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/php-test-framework.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/resources/views/user/order/yard_view_form.blade.php" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/PaymentMethodController.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/User/OrderController.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/app/Mail/MailSyS.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/app/Services/SysLog.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/public/js/shopping_card.js" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/admin/customer/_customer_detail.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/admin/modal/show_product.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/admin/modal/show_user_customers.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/admin/payment_method/index.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/emails/sys.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/sys/settings/index.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/delivery.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/index.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/list.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/list_form.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/shipping_me.blade.php" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/shipping_ot.blade.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.phpstorm.meta.php" beforeDir="false" afterPath="$PROJECT_DIR$/.phpstorm.meta.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/_ide_helper.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/_ide_helper_models.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper_models.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/AdminUserController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/AdminUserController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Api/KasSLLController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Api/KasSLLController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Api/PayoneController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Api/PayoneController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Api/ShoppingUserController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Api/ShoppingUserController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CustomerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CustomerController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/DataTableController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/DataTableController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/LeadController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/LeadController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/ModalController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/ModalController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/ProductController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/ProductController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/ShippingController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/ShippingController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Sys/AdminToolsController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Sys/AdminToolsController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/User/CustomerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/User/CustomerController.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/User/CustomerController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/User/CustomerController.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Web/ContactController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Web/ContactController.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/User/OrderController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/User/OrderController.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Web/RegisterController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Web/RegisterController.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Mail/MailContact.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Mail/MailContact.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Mail/MailInfo.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Mail/MailInfo.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/Product.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Product.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/Models/Product.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Product.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/Shipping.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Shipping.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/Services/Shop.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/Shop.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/ShippingPrice.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShippingPrice.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/Services/Yard.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/Yard.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/ShoppingOrder.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShoppingOrder.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app/helpers.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/helpers.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/ShoppingOrderItem.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShoppingOrderItem.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Models/ShoppingUser.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShoppingUser.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Repositories/ProductRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/ProductRepository.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Repositories/UserRepository.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Repositories/UserRepository.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Services/HTMLHelper.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/HTMLHelper.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/Services/UserService.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/UserService.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/app/User.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/User.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/database/migrations/2014_10_12_000000_create_users_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2014_10_12_000000_create_users_table.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/database/migrations/2018_10_21_164001_create_products_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2018_10_21_164001_create_products_table.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/database/migrations/2019_01_06_004849_create_shipping_prices_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_01_06_004849_create_shipping_prices_table.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/database/migrations/2019_02_23_163527_create_shopping_orders_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_02_23_163527_create_shopping_orders_table.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/database/migrations/2019_02_25_090014_create_payment_transactions_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_02_25_090014_create_payment_transactions_table.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/public/assets/css/custom-style.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/assets/css/custom-style.css" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/public/css/application.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/css/application.css" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/public/js/custom.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/custom.js" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/public/js/custom.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/custom.js" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/lang/de/email.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/lang/de/email.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/lang/de/navigation.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/lang/de/navigation.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/lang/de/validation.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/lang/de/validation.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/lang/de/validation.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/lang/de/validation.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/customer/_detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/customer/_detail.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/admin/customer/_detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/customer/_detail.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/customer/_edit.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/customer/_edit.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/admin/modal/show_product.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/modal/show_product.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/lead/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/lead/index.blade.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/level/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/level/index.blade.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/product/form.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/product/form.blade.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/product/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/product/index.blade.php" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/shipping/edit.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/shipping/edit.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/admin/shipping/edit.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/shipping/edit.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/admin/user/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/user/index.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/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/user/customer/add.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/customer/add.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/sys/admin/customers.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/sys/admin/customers.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/customer/detail.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/customer/detail.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/user/customer/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/customer/index.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/membership/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/membership/index.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/layouts/application.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/layouts/application.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/order/delivery.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/order/delivery.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/layouts/includes/footer.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/layouts/includes/footer.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/order/list.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/order/list.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/templates/kontakt.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/templates/kontakt.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/order/list_form.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/order/list_form.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/templates/registrierung.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/templates/registrierung.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/order/shipping_me.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/order/shipping_me.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/user/layouts/application.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/user/layouts/application.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/user/order/shipping_ot.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/order/shipping_ot.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/resources/views/web/user/layouts/includes/footer.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/user/layouts/includes/footer.blade.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/resources/views/web/templates/checkout.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/templates/checkout.blade.php" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/web.php" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/web.php" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
|
@ -322,7 +269,7 @@
|
||||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/admin/customer" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/user/order" />
|
||||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||||
<property name="nodejs_package_manager_path" value="npm" />
|
<property name="nodejs_package_manager_path" value="npm" />
|
||||||
|
|
@ -330,11 +277,11 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/resources/views/user/order" />
|
||||||
|
<recent name="$PROJECT_DIR$/public/js" />
|
||||||
<recent name="$PROJECT_DIR$/resources/views/admin/customer" />
|
<recent name="$PROJECT_DIR$/resources/views/admin/customer" />
|
||||||
<recent name="$PROJECT_DIR$/resources/views/admin/modal" />
|
<recent name="$PROJECT_DIR$/resources/views/admin/modal" />
|
||||||
<recent name="$PROJECT_DIR$/resources/views/user/order" />
|
|
||||||
<recent name="$PROJECT_DIR$/app/Http/Controllers/SyS" />
|
<recent name="$PROJECT_DIR$/app/Http/Controllers/SyS" />
|
||||||
<recent name="$PROJECT_DIR$/resources/views/sys/settings" />
|
|
||||||
</key>
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
<recent name="$PROJECT_DIR$/resources/views/user/customer" />
|
<recent name="$PROJECT_DIR$/resources/views/user/customer" />
|
||||||
|
|
@ -582,6 +529,9 @@
|
||||||
<workItem from="1596268902765" duration="165000" />
|
<workItem from="1596268902765" duration="165000" />
|
||||||
<workItem from="1596269074069" duration="69000" />
|
<workItem from="1596269074069" duration="69000" />
|
||||||
<workItem from="1596802450904" duration="6190000" />
|
<workItem from="1596802450904" duration="6190000" />
|
||||||
|
<workItem from="1596873885106" duration="22962000" />
|
||||||
|
<workItem from="1597138806746" duration="5000" />
|
||||||
|
<workItem from="1597216110022" duration="32246000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|
@ -618,10 +568,10 @@
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state x="688" 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="1596113300502" />
|
<state x="688" 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="1596113300502" />
|
||||||
<state x="1019" y="499" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1596190525352">
|
<state x="1019" y="499" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1596896828871">
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state x="1019" y="499" 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="1596190525352" />
|
<state x="1019" y="499" 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="1596896828871" />
|
||||||
<state width="2421" height="408" key="GridCell.Tab.0.bottom" timestamp="1595683782568">
|
<state width="2421" height="408" key="GridCell.Tab.0.bottom" timestamp="1595683782568">
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
|
|
@ -670,21 +620,21 @@
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state x="951" y="549" key="com.jetbrains.php.test.PhpNewTestDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1591961096724" />
|
<state x="951" y="549" key="com.jetbrains.php.test.PhpNewTestDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1591961096724" />
|
||||||
<state x="531" y="536" width="1497" height="794" key="find.popup" timestamp="1596805311824">
|
<state x="531" y="536" width="1497" height="794" key="find.popup" timestamp="1597252813961">
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state x="805" y="444" width="1115" height="793" key="find.popup/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1589024021327" />
|
<state x="805" y="444" width="1115" height="793" key="find.popup/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1589024021327" />
|
||||||
<state x="-1755" y="444" width="1115" height="793" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@-2560.23.2560.1417" timestamp="1589974580416" />
|
<state x="-1755" y="444" width="1115" height="793" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@-2560.23.2560.1417" timestamp="1589974580416" />
|
||||||
<state x="531" y="536" width="1497" height="794" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1596805311824" />
|
<state x="531" y="536" width="1497" height="794" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1597252813961" />
|
||||||
<state x="863" y="438" width="1115" height="793" key="find.popup/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1595682561944" />
|
<state x="863" y="438" width="1115" height="793" key="find.popup/2560.-527.1440.2537/-2560.23.2560.1417/0.23.2560.1417@0.23.2560.1417" timestamp="1595682561944" />
|
||||||
<state width="600" height="428" key="javadoc.popup" timestamp="1594733832314">
|
<state width="600" height="428" key="javadoc.popup" timestamp="1594733832314">
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state width="600" height="428" key="javadoc.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1594733832314" />
|
<state width="600" height="428" key="javadoc.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1594733832314" />
|
||||||
<state x="945" y="377" width="670" height="676" key="search.everywhere.popup" timestamp="1595679115918">
|
<state x="945" y="377" width="670" height="676" key="search.everywhere.popup" timestamp="1596888361783">
|
||||||
<screen x="0" y="23" width="2560" height="1417" />
|
<screen x="0" y="23" width="2560" height="1417" />
|
||||||
</state>
|
</state>
|
||||||
<state x="945" y="377" 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="1593542096563" />
|
<state x="945" y="377" 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="1596888361783" />
|
||||||
<state x="945" y="377" 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="1595679115918" />
|
<state x="945" y="377" 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="1595679115918" />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
|
|
|
||||||
|
|
@ -79,39 +79,66 @@ class CustomerController extends Controller
|
||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(old('email') || old('billing_email')){
|
|
||||||
$step = 1;
|
$billing_email = null;
|
||||||
$shopping_user->same_as_billing = true;
|
if(!session('errors')){
|
||||||
|
if(old('email') || old('billing_email')){
|
||||||
|
$step = 1;
|
||||||
|
$shopping_user->same_as_billing = true;
|
||||||
|
$billing_email = old('email');
|
||||||
|
}
|
||||||
|
if(old('switcher-without-email') === 'true'){
|
||||||
|
$step = 1;
|
||||||
|
$shopping_user->same_as_billing = true;
|
||||||
|
$billing_email = time()."@faker-mivita.care";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$data = [
|
$data = [
|
||||||
'shopping_user' => $shopping_user,
|
'shopping_user' => $shopping_user,
|
||||||
'isAdmin' => false,
|
'isAdmin' => false,
|
||||||
'isView' => $step === 0 ? 'customer' : 'customer-add',
|
'isView' => $step === 0 ? 'customer' : 'customer-add',
|
||||||
'step' => $step,
|
'step' => $step,
|
||||||
'billing_email' => old('email'),
|
'billing_email' => $billing_email,
|
||||||
|
|
||||||
];
|
];
|
||||||
return view('user.customer.add', $data);
|
return view('user.customer.add', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function checkShoppingUsersEmail($data){
|
||||||
|
$rules = array(
|
||||||
|
'email' => 'required|string|email|max:255|unique:shopping_users,billing_email',
|
||||||
|
);
|
||||||
|
$messages = [
|
||||||
|
'unique' => __('validation.custom.unique_email_client'),
|
||||||
|
];
|
||||||
|
$validator = Validator::make(Request::all(), $rules, $messages);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return back()->withErrors($validator)->withInput(Request::all());
|
||||||
|
}
|
||||||
|
|
||||||
|
$rules = array(
|
||||||
|
'email' => 'required|string|email|max:255|unique:users,email',
|
||||||
|
);
|
||||||
|
$messages = [
|
||||||
|
'unique' => __('validation.custom.unique_email_member'),
|
||||||
|
];
|
||||||
|
$validator = Validator::make(Request::all(), $rules, $messages);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return back()->withErrors($validator)->withInput(Request::all());
|
||||||
|
}
|
||||||
|
|
||||||
|
return back()->withInput(Request::all());
|
||||||
|
}
|
||||||
|
|
||||||
public function store($id)
|
public function store($id)
|
||||||
{
|
{
|
||||||
$data = Request::all();
|
$data = Request::all();
|
||||||
|
|
||||||
if($id === 'new' && $data['action'] === 'add_customer_step_email'){
|
if($id === 'new' && $data['action'] === 'add_customer_with_email'){
|
||||||
$rules = array(
|
return $this->checkShoppingUsersEmail($data);
|
||||||
'email' => 'required|string|email|max:255|unique:shopping_users,billing_email',
|
}
|
||||||
);
|
if($id === 'new' && $data['action'] === 'add_customer_without_email'){
|
||||||
$messages = [
|
|
||||||
'unique' => __('validation.custom.unique_email_client'),
|
|
||||||
];
|
|
||||||
$validator = Validator::make(Request::all(), $rules, $messages);
|
|
||||||
if ($validator->fails()) {
|
|
||||||
return back()->withErrors($validator)->withInput(Request::all());
|
|
||||||
}
|
|
||||||
//okay, go to step 1
|
|
||||||
return back()->withInput(Request::all());
|
return back()->withInput(Request::all());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($data['action'] === 'shopping-user-store-new' || $data['action']==='shopping-user-store'){
|
if($data['action'] === 'shopping-user-store-new' || $data['action']==='shopping-user-store'){
|
||||||
|
|
@ -159,6 +186,7 @@ class CustomerController extends Controller
|
||||||
CustomerPriority::checkChangeOne($shopping_user, $data, true);
|
CustomerPriority::checkChangeOne($shopping_user, $data, true);
|
||||||
$shopping_user->fill($data);
|
$shopping_user->fill($data);
|
||||||
$shopping_user->save();
|
$shopping_user->save();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($id === 'new' && $data['action'] === 'shopping-user-store-new') {
|
if($id === 'new' && $data['action'] === 'shopping-user-store-new') {
|
||||||
|
|
@ -169,6 +197,10 @@ class CustomerController extends Controller
|
||||||
}
|
}
|
||||||
\App\Services\Shop::newUserOrder($shopping_user->number);
|
\App\Services\Shop::newUserOrder($shopping_user->number);
|
||||||
|
|
||||||
|
if($shopping_user->is_like){
|
||||||
|
\Session()->flash('custom-error', __('validation.custom.match_found'));
|
||||||
|
}
|
||||||
|
|
||||||
\Session()->flash('alert-save', true);
|
\Session()->flash('alert-save', true);
|
||||||
return redirect(route('user_customer_detail', [$shopping_user->id]));
|
return redirect(route('user_customer_detail', [$shopping_user->id]));
|
||||||
}
|
}
|
||||||
|
|
@ -209,7 +241,7 @@ class CustomerController extends Controller
|
||||||
return get_active_badge($ShoppingUser->subscribed);
|
return get_active_badge($ShoppingUser->subscribed);
|
||||||
})
|
})
|
||||||
->addColumn('status', function (ShoppingUser $ShoppingUser) {
|
->addColumn('status', function (ShoppingUser $ShoppingUser) {
|
||||||
return $ShoppingUser->is_like ? '<span class="badge badge-pill badge-warning"><i class="fa fa-clock"></i> in Prüfung</span> ' : '<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> aktiv</span>';
|
return $ShoppingUser->is_like ? '<span class="badge badge-pill badge-warning"><i class="fa fa-clock"></i> in Prüfung</span> ' : '<span class="badge badge-pill badge-success"><i class="fa fa-check-circle"></i> zugewiesen</span>';
|
||||||
})
|
})
|
||||||
->addColumn('extras', function (ShoppingUser $ShoppingUser) {
|
->addColumn('extras', function (ShoppingUser $ShoppingUser) {
|
||||||
return $ShoppingUser->wp_order_number.($ShoppingUser->mode==='dev' ? ' <span class="badge badge-warning">dev</span>' : '');
|
return $ShoppingUser->wp_order_number.($ShoppingUser->mode==='dev' ? ' <span class="badge badge-warning">dev</span>' : '');
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,14 @@
|
||||||
namespace App\Http\Controllers\User;
|
namespace App\Http\Controllers\User;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Product;
|
use App\Models\Product;
|
||||||
|
use App\Models\ShippingCountry;
|
||||||
use App\Models\ShoppingOrder;
|
use App\Models\ShoppingOrder;
|
||||||
use App\Models\ShoppingUser;
|
use App\Models\ShoppingUser;
|
||||||
use App\Services\HTMLHelper;
|
|
||||||
use App\Services\Payment;
|
|
||||||
use App\User;
|
use App\User;
|
||||||
|
use Auth;
|
||||||
use Request;
|
use Request;
|
||||||
|
use Validator;
|
||||||
|
use Yard;
|
||||||
|
|
||||||
|
|
||||||
class OrderController extends Controller
|
class OrderController extends Controller
|
||||||
|
|
@ -17,10 +19,9 @@ class OrderController extends Controller
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->middleware('active.shop');
|
$this->middleware('active.account');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
|
@ -47,22 +48,23 @@ class OrderController extends Controller
|
||||||
{
|
{
|
||||||
$user = User::find(\Auth::user()->id);
|
$user = User::find(\Auth::user()->id);
|
||||||
|
|
||||||
/*if (Request::isMethod('post')) {
|
|
||||||
$data = Request::all();
|
|
||||||
if($data['switchers-radio-is-for'] === 'is-for-member'){
|
|
||||||
return redirect(route('user_order_my_list', ['me']));
|
|
||||||
}
|
|
||||||
if($data['switchers-radio-is-for'] === 'is-for-customer'){
|
|
||||||
//check ist customer
|
|
||||||
return redirect(route('user_order_my_list', ['ot', $id]));
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
$shopping_user = null;
|
$shopping_user = null;
|
||||||
$delivery_id = null;
|
$delivery_id = null;
|
||||||
if($for === 'ot'){
|
if($for === 'ot'){
|
||||||
$shopping_user = $this->checkShoppingUser($id, $user);
|
$shopping_user = $this->checkShoppingUser($id, $user);
|
||||||
$delivery_id = $shopping_user->id;
|
$delivery_id = $shopping_user->id;
|
||||||
|
if(!$this->checkShoppingCountry($for, $delivery_id) && !\Session()->has('custom-error')){
|
||||||
|
\Session()->flash('custom-error', __('validation.custom.shipping_not_found'));
|
||||||
|
return redirect(route('user_order_my_delivery', [$for, $delivery_id]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Request::get('action') === 'next'){
|
||||||
|
Yard::instance('shopping')->destroy();
|
||||||
|
if(Request::get('switchers-radio-is-for') === 'ot'){
|
||||||
|
$delivery_id = $id;
|
||||||
|
}
|
||||||
|
return redirect(route('user_order_my_list', [Request::get('switchers-radio-is-for'), $delivery_id]));
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
|
|
@ -78,19 +80,26 @@ class OrderController extends Controller
|
||||||
public function list($for, $id=null)
|
public function list($for, $id=null)
|
||||||
{
|
{
|
||||||
$user = User::find(\Auth::user()->id);
|
$user = User::find(\Auth::user()->id);
|
||||||
|
|
||||||
$shopping_user = null;
|
$shopping_user = null;
|
||||||
$delivery_id = null;
|
$delivery_id = null;
|
||||||
|
|
||||||
if($for === 'ot'){
|
if($for === 'ot'){
|
||||||
$shopping_user = $this->checkShoppingUser($id, $user);
|
$shopping_user = $this->checkShoppingUser($id, $user);
|
||||||
$delivery_id = $shopping_user->id;
|
$delivery_id = $shopping_user->id;
|
||||||
}
|
}
|
||||||
//$data = Request::all();
|
$shipping_country_id = $this->checkShoppingCountry($for, $id);
|
||||||
//dd(session('switchers-radio-is-for'));
|
if(!$shipping_country_id){
|
||||||
//$shopping_user = new ShoppingUser();
|
\Session()->flash('custom-error', __('validation.custom.shipping_not_found'));
|
||||||
//$shopping_user->id = "new";
|
return redirect(route('user_order_my_delivery', [$for, $delivery_id]));
|
||||||
//$shopping_user->same_as_billing = true;
|
}
|
||||||
|
|
||||||
|
Yard::instance('shopping')->setShippingCountryWithPrice($shipping_country_id, $for);
|
||||||
|
|
||||||
|
$comp_products = null;
|
||||||
|
if($for === 'me'){
|
||||||
|
$comp_products = Product::whereActive(true)->where('show_at', '=', 1)->where('shipping_addon', true)->orderBy('pos', 'DESC')->get();
|
||||||
|
|
||||||
|
}
|
||||||
$data = [
|
$data = [
|
||||||
'shopping_user' => $shopping_user,
|
'shopping_user' => $shopping_user,
|
||||||
'user' => $user,
|
'user' => $user,
|
||||||
|
|
@ -98,11 +107,129 @@ class OrderController extends Controller
|
||||||
'isView' => 'customer',
|
'isView' => 'customer',
|
||||||
'for' => $for,
|
'for' => $for,
|
||||||
'delivery_id' => $delivery_id,
|
'delivery_id' => $delivery_id,
|
||||||
|
'comp_products' => $comp_products,
|
||||||
];
|
];
|
||||||
return view('user.order.list', $data);
|
return view('user.order.list', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function payment($for, $id=null){
|
||||||
|
|
||||||
|
$data = Request::all();
|
||||||
|
|
||||||
|
$user = User::find(Auth::user()->id);
|
||||||
|
$rules = array(
|
||||||
|
'shipping_salutation' => 'required',
|
||||||
|
'shipping_firstname'=>'required',
|
||||||
|
'shipping_lastname'=>'required',
|
||||||
|
'shipping_address'=>'required',
|
||||||
|
'shipping_zipcode'=>'required',
|
||||||
|
'shipping_city' => 'required',
|
||||||
|
'shipping_state' => 'required',
|
||||||
|
);
|
||||||
|
$validator = Validator::make(Request::all(), $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return back()->withErrors($validator)->withInput(Request::all());
|
||||||
|
}
|
||||||
|
|
||||||
|
if($for === 'me'){
|
||||||
|
if(Request::get('switchers-comp-product')) {
|
||||||
|
$product = Product::find(Request::get('switchers-comp-product'));
|
||||||
|
Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, 0, ['image' => '', 'slug' => $product->slug, 'weight' => 0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// Yard::instance('shopping')->destroy();
|
||||||
|
|
||||||
|
return back()->withInput(Request::all());
|
||||||
|
|
||||||
|
if($for === 'ot' && $id){
|
||||||
|
dd($data);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Yard::instance('shopping')->destroy();
|
||||||
|
$product = Product::find(Request::get('switchers-package-wizard'));
|
||||||
|
$showAboOptions = false;
|
||||||
|
if(Request::get('abo_options')){
|
||||||
|
$showAboOptions = true;
|
||||||
|
$user->abo_options = true;
|
||||||
|
$user->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
if($product && $product->active && $product->show_at == 3){
|
||||||
|
//set membership product
|
||||||
|
$image = "";
|
||||||
|
if($product->images->count()){
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//set onboarding products
|
||||||
|
if(Request::get('products_on_board')){
|
||||||
|
foreach (Request::get('products_on_board') as $product_on_board_id){
|
||||||
|
$product_on_board = Product::find($product_on_board_id);
|
||||||
|
$image = "";
|
||||||
|
if($product_on_board->images->count()){
|
||||||
|
$image = $product_on_board->images->first()->slug;
|
||||||
|
}
|
||||||
|
Yard::instance('shopping')->add($product_on_board->id, $product_on_board->getLang('name'), 1, $product_on_board->price, ['image' => $image, 'slug' => $product_on_board->slug, 'weight' => $product_on_board->weight]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
do {
|
||||||
|
$identifier = Util::getToken();
|
||||||
|
} while( ShoppingInstance::where('identifier', $identifier)->count() );
|
||||||
|
|
||||||
|
ShoppingInstance::create([
|
||||||
|
'identifier' => $identifier,
|
||||||
|
'user_shop_id' => 1, //is first faker shop for buy intern
|
||||||
|
'auth_user_id' => Auth::user()->id,
|
||||||
|
'payment' => 4, //Berater Wizard
|
||||||
|
'subdomain' => url('/'),
|
||||||
|
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||||
|
|
||||||
|
]);
|
||||||
|
Yard::instance('shopping')->store($identifier);
|
||||||
|
//add to DB
|
||||||
|
$path = route('checkout.checkout_card', ['identifier'=>$identifier]);
|
||||||
|
UserHistory::create(['user_id' => $user->id, 'action'=>'wizard_payment', 'status'=>1, 'product_id'=>$product->id, 'identifier'=>$identifier, 'abo_options'=>$showAboOptions]);
|
||||||
|
//$path = str_replace('http', 'https', $path);
|
||||||
|
return redirect()->secure($path);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
\Session()->flash('alert-error', "Fehler beim Produkt");
|
||||||
|
return back();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function checkShoppingCountry($for, $id=null){
|
||||||
|
$country_id = null;
|
||||||
|
if($for === 'me'){
|
||||||
|
$user = User::find(\Auth::user()->id);
|
||||||
|
if($user->same_as_billing){
|
||||||
|
$country_id = $user->account->country_id;
|
||||||
|
}else{
|
||||||
|
$country_id = $user->account->shipping_country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($for === 'ot' && $id){
|
||||||
|
$shopping_user = ShoppingUser::findOrFail($id);
|
||||||
|
if($shopping_user->same_as_billing){
|
||||||
|
$country_id = $shopping_user->billing_country_id;
|
||||||
|
}else{
|
||||||
|
$country_id = $shopping_user->shipping_country_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($country_id){
|
||||||
|
if($shipping_country = ShippingCountry::whereCountryId($country_id)->first()){
|
||||||
|
return $shipping_country->id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private function checkShoppingUser($id, $user){
|
private function checkShoppingUser($id, $user){
|
||||||
if($id === null){
|
if($id === null){
|
||||||
abort(403, 'Error: Keine User ID');
|
abort(403, 'Error: Keine User ID');
|
||||||
|
|
@ -129,27 +256,22 @@ class OrderController extends Controller
|
||||||
|
|
||||||
return \DataTables::eloquent($query)
|
return \DataTables::eloquent($query)
|
||||||
->addColumn('add_card', function (Product $product) {
|
->addColumn('add_card', function (Product $product) {
|
||||||
return '<a href="#" class="btn btn-sm btn-md-extra btn-secondary">
|
return '<button type="button" class="btn btn-sm btn-md-extra btn-secondary add-product-basket" data-product-id="'.$product->id.'">
|
||||||
<strong>€ '.$product->getFormattedPriceWith().'</strong> +<span class="ion ion-md-cart"></span>
|
<strong>€ '.$product->getFormattedPriceWith().'</strong> +<span class="ion ion-md-cart"></span>
|
||||||
</a>';
|
</button>';
|
||||||
|
|
||||||
/*'<a href="javascript:void(0)" class="btn btn-secondary btn-sm my-1 mx-2">
|
|
||||||
<i class="ion ion-md-add"></i> <i class="ion ion-md-basket"></i>
|
|
||||||
</a><br>
|
|
||||||
<a href="javascript:void(0)" class="btn btn-outline-secondary btn-sm my-1 mx-2">
|
|
||||||
<i class="ion ion-md-remove"></i> <i class="ion ion-md-basket"></i>
|
|
||||||
</a>'*/;
|
|
||||||
})
|
})
|
||||||
->addColumn('quantity', function (Product $product) {
|
->addColumn('quantity', function (Product $product) {
|
||||||
//return '<input type="text" class="form-control text-center" value="0" style="width: 4em">';
|
$cartItem = Yard::instance('shopping')->getCartItemByProduct($product->id);
|
||||||
|
$qty = isset($cartItem->qty) ? $cartItem->qty : 0;
|
||||||
|
$rowId = isset($cartItem->rowId) ? $cartItem->rowId : '';
|
||||||
return '<div class="no-line-break input-group-min-w">
|
return '<div class="no-line-break input-group-min-w">
|
||||||
<div class="input-group d-inline-flex w-auto">
|
<div class="input-group d-inline-flex w-auto">
|
||||||
<span class="input-group-prepend">
|
<span class="input-group-prepend">
|
||||||
<button class="btn btn-secondary icon-btn md-btn-extra" type="button">-</button>
|
<button type="button" class="btn btn-secondary icon-btn md-btn-extra remove-product-basket" data-row-id="'.$rowId.'" data-product-id="'.$product->id.'">-</button>
|
||||||
</span>
|
</span>
|
||||||
<input type="text" class="form-control text-center input-extra" value="0">
|
<input type="text" class="form-control text-center input-extra table-input-event-onchange" name="product_qty_'.$product->id.'" data-row-id="'.$rowId.'" data-product-id="'.$product->id.'" value="'.$qty.'">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button class="btn btn-secondary icon-btn md-btn-extra" type="button">+</button>
|
<button type="button" class="btn btn-secondary icon-btn md-btn-extra add-product-basket" data-row-id="'.$rowId.'" data-product-id="'.$product->id.'">+</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
@ -161,22 +283,27 @@ class OrderController extends Controller
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
})
|
})
|
||||||
->addColumn('price', function (Product $product) {
|
->addColumn('price_net', function (Product $product) {
|
||||||
return $product->getFormattedPriceWith();
|
return $product->getFormattedPriceWith(true, true). " €";
|
||||||
|
})
|
||||||
|
->addColumn('price_gross', function (Product $product) {
|
||||||
|
return $product->getFormattedPriceWith(false, true). " €";
|
||||||
|
})
|
||||||
|
->addColumn('price_vk_gross', function (Product $product) {
|
||||||
|
return $product->getFormattedPriceWith(false, false). " €";
|
||||||
})
|
})
|
||||||
->addColumn('action', function (Product $product) {
|
->addColumn('action', function (Product $product) {
|
||||||
return '<button class="btn btn-default btn-sm icon-btn md-btn-flat product-tooltip" title="details" data-modal="modal-lg"
|
return '<button class="btn btn-default btn-sm icon-btn md-btn-flat product-tooltip" title="details" data-modal="modal-lg"
|
||||||
data-toggle="modal" data-target="#modals-load-content" data-id="'.$product->id.'" data-route="'.route('modal_load').'"
|
data-toggle="modal" data-target="#modals-load-content" data-id="'.$product->id.'" data-route="'.route('modal_load').'"
|
||||||
data-action="user-order-show-product" data-view="customer"><i class="ion ion-md-eye"></i></button>';
|
data-action="user-order-show-product" data-view="customer"><i class="ion ion-md-eye"></i></button>';
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
->orderColumn('name', 'name $1')
|
->orderColumn('name', 'name $1')
|
||||||
->orderColumn('number', 'number $1')
|
->orderColumn('number', 'number $1')
|
||||||
->orderColumn('points', 'points $1')
|
->orderColumn('points', 'points $1')
|
||||||
->orderColumn('price', 'price $1')
|
->orderColumn('price_net', 'price_net $1')
|
||||||
|
->orderColumn('price_gross', 'price_gross $1')
|
||||||
|
->orderColumn('price_vk_gross', 'price_vk_gross $1')
|
||||||
->orderColumn('contents_total', 'contents_total $1')
|
->orderColumn('contents_total', 'contents_total $1')
|
||||||
->orderColumn('weight', 'weight $1')
|
->orderColumn('weight', 'weight $1')
|
||||||
->rawColumns(['add_card', 'quantity', 'picture', 'action'])
|
->rawColumns(['add_card', 'quantity', 'picture', 'action'])
|
||||||
|
|
@ -184,4 +311,82 @@ class OrderController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function performRequest(){
|
||||||
|
|
||||||
|
if(Request::ajax()) {
|
||||||
|
$data = Request::all();
|
||||||
|
if($data['action'] === 'updateCart' && isset($data['product_id'])){
|
||||||
|
if($product = Product::find($data['product_id'])){
|
||||||
|
$image = "";
|
||||||
|
if($product->images->count()){
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
|
||||||
|
//get the card item
|
||||||
|
$cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, $product->getPriceWith(false, true), ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight, 'points' => $product->points]);
|
||||||
|
Yard::setTax($cartItem->rowId, $product->tax);
|
||||||
|
|
||||||
|
if(isset($data['qty']) && $data['qty'] > 0){
|
||||||
|
Yard::instance('shopping')->update($cartItem->rowId, $data['qty']);
|
||||||
|
}else{
|
||||||
|
//if 0 get the item by qty:1 and remove it
|
||||||
|
Yard::instance('shopping')->remove($cartItem->rowId);
|
||||||
|
}
|
||||||
|
$this->updateCompProduct($data);
|
||||||
|
|
||||||
|
Yard::instance('shopping')->reCalculateShippingPrice();
|
||||||
|
$html = view("user.order.yard_view_form", $data)->render();
|
||||||
|
return response()->json(['response' => true, 'data'=>$data, 'html'=>$html]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($data['action'] === 'clearCart') {
|
||||||
|
Yard::instance('shopping')->destroy();
|
||||||
|
return response()->json(['response' => true, 'data'=>Yard::instance('shopping')->count(), 'html'=>'']);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($data['action'] === 'updateShippingCountry') {
|
||||||
|
if(isset($data['shipping_country_id'])){
|
||||||
|
$is_for = isset($data['shipping_is_for']) ? $data['shipping_is_for'] : 'ot';
|
||||||
|
if($shipping_country = ShippingCountry::find($data['shipping_country_id'])){
|
||||||
|
Yard::instance('shopping')->setShippingCountryWithPrice($shipping_country->id, $is_for);
|
||||||
|
$this->updateCompProduct($data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$html = view("user.order.yard_view_form", $data)->render();
|
||||||
|
return response()->json(['response' => true, 'data'=>$data, 'html'=>$html]);
|
||||||
|
|
||||||
|
}
|
||||||
|
if($data['action'] === 'updateCompProduct'){
|
||||||
|
$this->updateCompProduct($data);
|
||||||
|
Yard::instance('shopping')->reCalculateShippingPrice();
|
||||||
|
$html = view("user.order.yard_view_form", $data)->render();
|
||||||
|
return response()->json(['response' => true, 'data'=>$data, 'html'=>$html]);
|
||||||
|
|
||||||
|
}
|
||||||
|
return response()->json(['response' => false, 'data'=>$data]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function updateCompProduct($data){
|
||||||
|
//clear old
|
||||||
|
foreach (Yard::instance('shopping')->content() as $row) {
|
||||||
|
if($row->options->comp) {
|
||||||
|
Yard::instance('shopping')->remove($row->rowId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isset($data['comp_product_id'])) {
|
||||||
|
if ($product = Product::find($data['comp_product_id'])) {
|
||||||
|
|
||||||
|
$image = "";
|
||||||
|
if ($product->images->count()) {
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cartItem = Yard::instance('shopping')->add($product->id, $product->getLang('name'), 1, 0, ['image' => $image, 'slug' => $product->slug, 'weight' => 0, 'points' => 0, 'comp' => $product->id]);
|
||||||
|
Yard::setTax($cartItem->rowId, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -295,7 +295,7 @@ class Product extends Model
|
||||||
$price = $this->attributes['price'];
|
$price = $this->attributes['price'];
|
||||||
$price = $net ? $this->calcPriceNet($price) : $price;
|
$price = $net ? $this->calcPriceNet($price) : $price;
|
||||||
$price = $ufactor ? $this->calcPriceUserFactor($price) : $price;
|
$price = $ufactor ? $this->calcPriceUserFactor($price) : $price;
|
||||||
return $price;
|
return round($price, 2);
|
||||||
}
|
}
|
||||||
/*out*/
|
/*out*/
|
||||||
public function getFormattedPriceWith(Bool $net = true, Bool $ufactor = true)
|
public function getFormattedPriceWith(Bool $net = true, Bool $ufactor = true)
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ namespace App\Services;
|
||||||
|
|
||||||
|
|
||||||
use App\Models\ShoppingUser;
|
use App\Models\ShoppingUser;
|
||||||
|
use Gloudemans\Shoppingcart\CartItem;
|
||||||
|
|
||||||
class Shop
|
class Shop
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
namespace App\Services;
|
namespace App\Services;
|
||||||
|
|
||||||
|
use App\Models\Product;
|
||||||
use App\Models\ShippingCountry;
|
use App\Models\ShippingCountry;
|
||||||
use \Gloudemans\Shoppingcart\Cart;
|
use \Gloudemans\Shoppingcart\Cart;
|
||||||
use Gloudemans\Shoppingcart\CartItem;
|
use Gloudemans\Shoppingcart\CartItem;
|
||||||
|
use Gloudemans\Shoppingcart\Contracts\Buyable;
|
||||||
use Illuminate\Session\SessionManager;
|
use Illuminate\Session\SessionManager;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
|
@ -12,8 +14,11 @@ use Illuminate\Support\Collection;
|
||||||
class Yard extends Cart
|
class Yard extends Cart
|
||||||
{
|
{
|
||||||
private $shipping_price = 0;
|
private $shipping_price = 0;
|
||||||
|
private $shipping_price_net = 0;
|
||||||
|
private $shipping_tax_rate = 0;
|
||||||
private $shipping_tax = 0;
|
private $shipping_tax = 0;
|
||||||
private $shipping_country_id = 0; //default de
|
private $shipping_country_id = 0; //default de
|
||||||
|
private $shipping_is_for;
|
||||||
private $ysession;
|
private $ysession;
|
||||||
private $yinstance;
|
private $yinstance;
|
||||||
|
|
||||||
|
|
@ -33,16 +38,22 @@ class Yard extends Cart
|
||||||
$this->shipping_country_id = $this->getShippingExtra('shipping_country_id');
|
$this->shipping_country_id = $this->getShippingExtra('shipping_country_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($this->getShippingExtra('shipping_is_for')){
|
||||||
|
$this->shipping_is_for = $this->getShippingExtra('shipping_is_for');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
parent::__construct($session, $events);
|
parent::__construct($session, $events);
|
||||||
|
|
||||||
if($this->shipping_country_id == 0){
|
if(gettype($this->shipping_country_id) !== 'object' && $this->shipping_country_id == 0){
|
||||||
$shippingCountry = ShippingCountry::first();
|
$shippingCountry = ShippingCountry::first();
|
||||||
if($shippingCountry){
|
if($shippingCountry){
|
||||||
$this->shipping_country_id = $shippingCountry->id;
|
$this->shipping_country_id = $shippingCountry->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->shipping_price == 0){
|
if($this->shipping_price == 0){
|
||||||
self::instance('shopping')->setShippingCountryWithPrice($this->shipping_country_id);
|
self::instance('shopping')->setShippingCountryWithPrice($this->shipping_country_id, $this->shipping_is_for);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -102,10 +113,14 @@ class Yard extends Cart
|
||||||
$this->calculateShippingPrice();
|
$this->calculateShippingPrice();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setShippingCountryWithPrice($shipping_country_id)
|
public function setShippingCountryWithPrice($shipping_country_id, $shipping_is_for = 'ot')
|
||||||
{
|
{
|
||||||
$this->shipping_country_id = $shipping_country_id;
|
$this->shipping_country_id = $shipping_country_id;
|
||||||
$this->putShippingExtra('shipping_country_id', $shipping_country_id);
|
$this->putShippingExtra('shipping_country_id', $shipping_country_id);
|
||||||
|
|
||||||
|
$this->shipping_is_for = $shipping_is_for;
|
||||||
|
$this->putShippingExtra('shipping_is_for', $shipping_is_for);
|
||||||
|
|
||||||
$this->calculateShippingPrice();
|
$this->calculateShippingPrice();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -113,11 +128,15 @@ class Yard extends Cart
|
||||||
private function calculateShippingPrice(){
|
private function calculateShippingPrice(){
|
||||||
|
|
||||||
$shippingCountry = ShippingCountry::find($this->shipping_country_id);
|
$shippingCountry = ShippingCountry::find($this->shipping_country_id);
|
||||||
|
if(!$shippingCountry){
|
||||||
|
return;
|
||||||
|
}
|
||||||
$shipping = $shippingCountry->shipping;
|
$shipping = $shippingCountry->shipping;
|
||||||
|
|
||||||
if($this->weight() == 0){
|
if($this->weight() == 0){
|
||||||
$shipping_price = $shipping->shipping_prices->first();
|
$shipping_price = $shipping->shipping_prices->first();
|
||||||
$shipping_price->price = 0;
|
$shipping_price->price = 0;
|
||||||
|
$shipping_price->price_comp = 0;
|
||||||
}else{
|
}else{
|
||||||
//first by price
|
//first by price
|
||||||
$shipping_price = $this->shippingPriceByTotal($shipping->shipping_prices, $this->total(2, '.', ''));
|
$shipping_price = $this->shippingPriceByTotal($shipping->shipping_prices, $this->total(2, '.', ''));
|
||||||
|
|
@ -131,10 +150,20 @@ class Yard extends Cart
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($shipping_price){
|
if($shipping_price){
|
||||||
$this->shipping_price = $shipping_price->price;
|
$price = $shipping_price->price;
|
||||||
$this->shipping_tax = $shipping_price->tax_rate;
|
if($this->shipping_is_for === 'me'){
|
||||||
|
$price = $shipping_price->price_comp;
|
||||||
|
|
||||||
|
}
|
||||||
|
$this->shipping_price = $price;
|
||||||
|
$this->shipping_tax_rate = $shipping_price->tax_rate;
|
||||||
|
$this->shipping_price_net = round($price / ((100+$shipping_price->tax_rate) / 100), 2);
|
||||||
|
$this->shipping_tax = round($price / (100+$shipping_price->tax_rate) * 100, 2);
|
||||||
|
|
||||||
$this->putShippingExtra('shipping_price', $this->shipping_price);
|
$this->putShippingExtra('shipping_price', $this->shipping_price);
|
||||||
|
$this->putShippingExtra('shipping_tax_rate', $this->shipping_tax_rate);
|
||||||
$this->putShippingExtra('shipping_tax', $this->shipping_tax);
|
$this->putShippingExtra('shipping_tax', $this->shipping_tax);
|
||||||
|
$this->putShippingExtra('shipping_price_net', $this->shipping_price_net);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -169,31 +198,36 @@ class Yard extends Cart
|
||||||
{
|
{
|
||||||
return $this->numberFormat($this->shipping_price, $decimals, $decimalPoint, $thousandSeperator);
|
return $this->numberFormat($this->shipping_price, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function shippingNet($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
|
{
|
||||||
|
return $this->numberFormat($this->shipping_price_net, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
//
|
//
|
||||||
private function shippingTax($decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
private function shippingTax($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
$shippingTax = $this->shipping_price / (100 + $this->shipping_tax) * $this->shipping_tax;
|
{
|
||||||
return $this->numberFormat($shippingTax, $decimals, $decimalPoint, $thousandSeperator);
|
return $this->numberFormat($this->shipping_tax, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* private function subShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
||||||
private function subShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
$subShipping = $this->shipping_price_net
|
||||||
$subShipping = $this->shipping_price - $this->shippingTax($decimals, $decimalPoint, $thousandSeperator);
|
|
||||||
return $this->numberFormat($subShipping, $decimals, $decimalPoint, $thousandSeperator);
|
return $this->numberFormat($subShipping, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
}
|
}*/
|
||||||
|
//netto
|
||||||
|
|
||||||
public function subtotalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
public function subtotalWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
{
|
{
|
||||||
$subtotal = $this->subtotal(2, '.', '') + $this->subShipping(2, '.', '');
|
$subtotal = (float) $this->shipping_price_net + $this->subtotal(2, '.', '');
|
||||||
return $this->numberFormat($subtotal, $decimals, $decimalPoint, $thousandSeperator);
|
return $this->numberFormat($subtotal, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function taxWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
public function taxWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||||
{
|
{
|
||||||
$totalTax = $this->tax(2, '.', '');
|
$total = $this->totalWithShipping(2, '.', '');
|
||||||
$shippingTax = $this->shippingTax(2, '.', '');
|
// $totalTax = (float) $this->tax(2, '.', '') + $this->shipping_tax;
|
||||||
return $this->numberFormat(($totalTax+$shippingTax), $decimals, $decimalPoint, $thousandSeperator);
|
$totalTax = $this->subtotalWithShipping(2, '.', '');
|
||||||
|
return $this->numberFormat(($total - $totalTax), $decimals, $decimalPoint, $thousandSeperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -220,6 +254,27 @@ class Yard extends Cart
|
||||||
|
|
||||||
return $total;
|
return $total;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function points()
|
||||||
|
{
|
||||||
|
$content = $this->getContent();
|
||||||
|
$total = $content->reduce(function ($total, CartItem $cartItem) {
|
||||||
|
return $total + ($cartItem->options->points ? ($cartItem->options->points * $cartItem->qty) : 0);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return $total;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function compCount()
|
||||||
|
{
|
||||||
|
$content = $this->getContent();
|
||||||
|
|
||||||
|
$count = parent::count();
|
||||||
|
$comp_count = $content->reduce(function ($comp_count, CartItem $cartItem) {
|
||||||
|
return $cartItem->options->comp ? $comp_count + 1 : $comp_count;
|
||||||
|
}, 0);
|
||||||
|
return $count-$comp_count;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Get the total price of the items in the cart.
|
* Get the total price of the items in the cart.
|
||||||
*
|
*
|
||||||
|
|
@ -271,13 +326,48 @@ class Yard extends Cart
|
||||||
$content = $this->getContent();
|
$content = $this->getContent();
|
||||||
|
|
||||||
$subTotal = $content->reduce(function ($subTotal, CartItem $cartItem) {
|
$subTotal = $content->reduce(function ($subTotal, CartItem $cartItem) {
|
||||||
$priceTax = $cartItem->price / (100 + $cartItem->taxRate) * $cartItem->taxRate;
|
$price_net = $cartItem->price / ((100 + $cartItem->taxRate) / 100);
|
||||||
return $subTotal + ($cartItem->qty * ($cartItem->price - $priceTax));
|
return $subTotal + ($cartItem->qty * $price_net);
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
return $this->numberFormat($subTotal, $decimals, $decimalPoint, $thousandSeperator);
|
return $this->numberFormat($subTotal, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getCartItemByProduct($product_id, $set_price='with'){
|
||||||
|
if($product = Product::find($product_id)) {
|
||||||
|
$image = "";
|
||||||
|
if ($product->images->count()) {
|
||||||
|
$image = $product->images->first()->slug;
|
||||||
|
}
|
||||||
|
$price = $product->price;
|
||||||
|
if($set_price === 'with'){
|
||||||
|
$price = $product->getPriceWith(false, true);
|
||||||
|
}
|
||||||
|
$cartItem = $this->getCartItem($product->id, $product->getLang('name'), 1, $price, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight, 'points' => $product->points]);
|
||||||
|
$content = $this->getContent();
|
||||||
|
|
||||||
|
if ($content->has($cartItem->rowId)){
|
||||||
|
return $content->get($cartItem->rowId);
|
||||||
|
}
|
||||||
|
return $cartItem;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getCartItem($id, $name = null, $qty = null, $price = null, array $options = []){
|
||||||
|
if ($id instanceof Buyable) {
|
||||||
|
$cartItem = CartItem::fromBuyable($id, $qty ?: []);
|
||||||
|
} elseif (is_array($id)) {
|
||||||
|
$cartItem = CartItem::fromArray($id);
|
||||||
|
} else {
|
||||||
|
$cartItem = CartItem::fromAttributes($id, $name, $price, $options);
|
||||||
|
}
|
||||||
|
return $cartItem;
|
||||||
|
}
|
||||||
|
|
||||||
public function destroy()
|
public function destroy()
|
||||||
{
|
{
|
||||||
$this->ysession->remove($this->yinstance);
|
$this->ysession->remove($this->yinstance);
|
||||||
|
|
@ -285,6 +375,17 @@ class Yard extends Cart
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function rowPriceNet(CartItem $row, $decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
||||||
|
$price = round($row->price / ((100 + $row->taxRate) /100), 4);
|
||||||
|
return $this->numberFormat($price, $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rowSubtotalNet(CartItem $row, $decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
||||||
|
$price = round($row->price / ((100 + $row->taxRate) /100), 4);
|
||||||
|
return $this->numberFormat(($price * $row->qty), $decimals, $decimalPoint, $thousandSeperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Formated number
|
* Get the Formated number
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ if (! function_exists('get_file_last_time')) {
|
||||||
if (file_exists($value)) {
|
if (file_exists($value)) {
|
||||||
return filemtime($value);
|
return filemtime($value);
|
||||||
}
|
}
|
||||||
return date("Ymd-i", time());
|
return date("Ymd-is", time());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,43 +45,46 @@ jQuery(document).ready(function() {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
update_modal_data_load(e, $(this));
|
update_modal_data_load(e, $(this));
|
||||||
});
|
});
|
||||||
|
if($('.datepicker-base').length > 0) {
|
||||||
|
$('.datepicker-base').datepicker({
|
||||||
|
orientation: 'auto right',
|
||||||
|
calendarWeeks: true,
|
||||||
|
todayBtn: 'linked',
|
||||||
|
//daysOfWeekDisabled: '1',
|
||||||
|
todayHighlight: true,
|
||||||
|
multidate: false,
|
||||||
|
daysOfWeekHighlighted: '0,6',
|
||||||
|
autoclose: true,
|
||||||
|
format: 'dd.mm.yyyy',
|
||||||
|
language: 'de',
|
||||||
|
clearBtn: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if($('.datepicker-birthday').length > 0) {
|
||||||
|
$('.datepicker-birthday').datepicker({
|
||||||
|
todayBtn: 'linked',
|
||||||
|
// daysOfWeekDisabled: '1',
|
||||||
|
multidate: false,
|
||||||
|
daysOfWeekHighlighted: '0,6',
|
||||||
|
autoclose: true,
|
||||||
|
format: 'dd.mm.yyyy',
|
||||||
|
language: 'de',
|
||||||
|
clearBtn: true,
|
||||||
|
startView: 2,
|
||||||
|
|
||||||
$('.datepicker-base').datepicker({
|
});
|
||||||
orientation: 'auto right',
|
}
|
||||||
calendarWeeks: true,
|
if($('.b-material-datetime-picker').length > 0) {
|
||||||
todayBtn: 'linked',
|
$('.b-material-datetime-picker').bootstrapMaterialDatePicker({
|
||||||
//daysOfWeekDisabled: '1',
|
weekStart: 1,
|
||||||
todayHighlight: true,
|
format: 'DD.MM.YYYY HH:mm',
|
||||||
multidate: false,
|
shortTime: false,
|
||||||
daysOfWeekHighlighted: '0,6',
|
nowButton: true,
|
||||||
autoclose: true,
|
clearButton: true,
|
||||||
format: 'dd.mm.yyyy',
|
lang: 'de',
|
||||||
language: 'de',
|
//currentDate: ''
|
||||||
clearBtn: true,
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
$('.datepicker-birthday').datepicker({
|
|
||||||
todayBtn: 'linked',
|
|
||||||
// daysOfWeekDisabled: '1',
|
|
||||||
multidate: false,
|
|
||||||
daysOfWeekHighlighted: '0,6',
|
|
||||||
autoclose: true,
|
|
||||||
format: 'dd.mm.yyyy',
|
|
||||||
language: 'de',
|
|
||||||
clearBtn: true,
|
|
||||||
startView: 2,
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.b-material-datetime-picker').bootstrapMaterialDatePicker({
|
|
||||||
weekStart: 1,
|
|
||||||
format : 'DD.MM.YYYY HH:mm',
|
|
||||||
shortTime: false,
|
|
||||||
nowButton : true,
|
|
||||||
clearButton: true,
|
|
||||||
lang: 'de',
|
|
||||||
//currentDate: ''
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
188
public/js/iq-shopping-cart.js
Executable file
188
public/js/iq-shopping-cart.js
Executable file
|
|
@ -0,0 +1,188 @@
|
||||||
|
|
||||||
|
var IqShoppingCart = {
|
||||||
|
table: "#datatables-order-list",
|
||||||
|
btn_add: '.add-product-basket',
|
||||||
|
btn_remove: '.remove-product-basket',
|
||||||
|
card_holder: '#holder_html_view_card',
|
||||||
|
is_for: null,
|
||||||
|
url: null,
|
||||||
|
btn_clear: '#clear-products-basket',
|
||||||
|
modal: null,
|
||||||
|
oTable: null,
|
||||||
|
cProductId: null,
|
||||||
|
table_input: '.table-input-event-onchange',
|
||||||
|
cart_input: '.cart-input-event-onchange',
|
||||||
|
remove_item: '.remove_item_form_cart',
|
||||||
|
shipping_state: '#change_shipping_state',
|
||||||
|
comp_product: 'switchers-comp-product',
|
||||||
|
shipping_is_for: 'shipping_is_for',
|
||||||
|
|
||||||
|
init: function () {
|
||||||
|
var _self = this;
|
||||||
|
_self.url = $(_self.table).data('url');
|
||||||
|
_self.is_for = $('input[name="'+_self.shipping_is_for+'"]').val();
|
||||||
|
_self.cProductId = $('input[name="'+_self.comp_product+'"]:checked').val();
|
||||||
|
_self.showInit();
|
||||||
|
$(_self.shipping_state).on('change', function(){
|
||||||
|
_self.update_shipping_state($(this));
|
||||||
|
});
|
||||||
|
$('input[name="'+_self.comp_product+'"]').on('change', function(){
|
||||||
|
_self.update_comp_product();
|
||||||
|
});
|
||||||
|
// _self.update_comp_product();
|
||||||
|
return _self;
|
||||||
|
},
|
||||||
|
setDatabase: function (oTable){
|
||||||
|
var _self = this;
|
||||||
|
_self.oTable = oTable;
|
||||||
|
},
|
||||||
|
reInit: function (){
|
||||||
|
var _self = this;
|
||||||
|
$(_self.table).find(_self.btn_add).on('click', function(){
|
||||||
|
_self.add_product($(this))
|
||||||
|
});
|
||||||
|
|
||||||
|
$(_self.table).find(_self.btn_remove).on('click', function(){
|
||||||
|
_self.remove_product($(this))
|
||||||
|
});
|
||||||
|
$(_self.table).find(_self.table_input).off('change').on('change', function(){
|
||||||
|
_self.update_input_table($(this));
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showInit: function (){
|
||||||
|
var _self = this;
|
||||||
|
$(_self.btn_clear).on('click', function (){
|
||||||
|
_self.performRequest({action: 'clearCart'})
|
||||||
|
.done(_self.refreshDatabaseRefreshAndView)
|
||||||
|
});
|
||||||
|
$(_self.cart_input).on('change', function(){
|
||||||
|
_self.update_input_cart($(this));
|
||||||
|
});
|
||||||
|
$(_self.remove_item).on('click', function(){
|
||||||
|
_self.update_cart_database($(this).data('product-id'), 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
update_shipping_state : function (_obj){
|
||||||
|
var _self = this;
|
||||||
|
var id = parseInt(_obj.val());
|
||||||
|
var is_for = _obj.data('is-for');
|
||||||
|
_self.performRequest({shipping_country_id: id, shipping_is_for: is_for, action: 'updateShippingCountry'})
|
||||||
|
.done(_self.refreshItemsAndView);
|
||||||
|
},
|
||||||
|
update_input_table: function (_obj){
|
||||||
|
var _self = this;
|
||||||
|
var qty = parseInt(_obj.val());
|
||||||
|
qty = _self.checkNumber(qty);
|
||||||
|
_obj.val(qty);
|
||||||
|
_self.update_cart(_obj.data('product-id'), qty);
|
||||||
|
},
|
||||||
|
update_input_cart: function (_obj){
|
||||||
|
var _self = this;
|
||||||
|
var qty = parseInt(_obj.val());
|
||||||
|
qty = _self.checkNumber(qty);
|
||||||
|
_obj.val(qty);
|
||||||
|
_self.update_cart_database(_obj.data('product-id'), qty);
|
||||||
|
},
|
||||||
|
update_comp_product: function (){
|
||||||
|
var _self = this;
|
||||||
|
_self.cProductId = $('input[name="'+_self.comp_product+'"]:checked').val();
|
||||||
|
_self.performRequest({action: 'updateCompProduct'})
|
||||||
|
.done(_self.refreshItemsAndView);
|
||||||
|
},
|
||||||
|
add_product: function (_obj){
|
||||||
|
var _self = this;
|
||||||
|
var input = $(_self.table).find('input[name="product_qty_'+_obj.data('product-id')+'"]');
|
||||||
|
var qty = parseInt(input.val()) + 1;
|
||||||
|
qty = _self.checkNumber(qty);
|
||||||
|
input.val(qty);
|
||||||
|
_self.update_cart(_obj.data('product-id'), qty);
|
||||||
|
},
|
||||||
|
remove_product: function (_obj){
|
||||||
|
var _self = this;
|
||||||
|
var input = $(_self.table).find('input[name="product_qty_'+_obj.data('product-id')+'"]');
|
||||||
|
var qty = parseInt(input.val()) - 1;
|
||||||
|
if(qty < 0){
|
||||||
|
qty = 0;
|
||||||
|
}
|
||||||
|
input.val(qty);
|
||||||
|
_self.update_cart(_obj.data('product-id'), qty);
|
||||||
|
},
|
||||||
|
update_cart_database: function (product_id, qty){
|
||||||
|
var _self = this;
|
||||||
|
_self.performRequest({product_id: product_id, qty: qty, action: 'updateCart'})
|
||||||
|
.done(_self.refreshDatabaseAndView);
|
||||||
|
},
|
||||||
|
update_cart: function (product_id, qty){
|
||||||
|
var _self = this;
|
||||||
|
_self.performRequest({product_id: product_id, qty: qty, action: 'updateCart'})
|
||||||
|
.done(_self.refreshItemsAndView);
|
||||||
|
},
|
||||||
|
refreshItemsAndView: function (data){
|
||||||
|
var _self = IqShoppingCart;
|
||||||
|
$(_self.card_holder).html(data.html);
|
||||||
|
_self.showInit();
|
||||||
|
|
||||||
|
},
|
||||||
|
refreshDatabaseAndView: function (data) {
|
||||||
|
var _self = IqShoppingCart;
|
||||||
|
$(_self.card_holder).html(data.html);
|
||||||
|
var input = $(_self.table).find('input[name="product_qty_'+data.data.product_id+'"]');
|
||||||
|
input.val(data.data.qty);
|
||||||
|
_self.showInit();
|
||||||
|
},
|
||||||
|
refreshDatabaseRefreshAndView : function (data){
|
||||||
|
var _self = IqShoppingCart;
|
||||||
|
$(_self.card_holder).html(data.html);
|
||||||
|
_self.showInit();
|
||||||
|
_self.oTable.draw();
|
||||||
|
_self.update_comp_product();
|
||||||
|
|
||||||
|
},
|
||||||
|
checkNumber : function(number){
|
||||||
|
if(number < 0 || isNaN(number)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if(number >= 100){
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
return number;
|
||||||
|
},
|
||||||
|
performRequest : function(data) {
|
||||||
|
var _self = this;
|
||||||
|
var url = _self.url,
|
||||||
|
contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
|
||||||
|
|
||||||
|
data.shipping_is_for = _self.is_for;
|
||||||
|
data.comp_product_id = _self.cProductId;
|
||||||
|
console.log(data);
|
||||||
|
console.log(url);
|
||||||
|
|
||||||
|
return $.ajax({
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
type: "POST",
|
||||||
|
dataType: "json",
|
||||||
|
cache: false,
|
||||||
|
contentType: contentType,
|
||||||
|
encode: true,
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.done(function (data) {
|
||||||
|
|
||||||
|
console.log('performRequest');
|
||||||
|
console.log(data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||||
|
console.log(jqXHR);
|
||||||
|
console.log(jqXHR.responseText);
|
||||||
|
console.log(textStatus);
|
||||||
|
console.log(errorThrown);
|
||||||
|
console.log("Sorry, there was a problem!");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -130,7 +130,11 @@ return [
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'custom' => [
|
'custom' => [
|
||||||
|
'no_email' => 'Das Feld E-Mail muss angegeben werden',
|
||||||
'unique_email_client' => 'Ein Kunde mit der E-Mail-Adresse ist schon im mivita-Salescenter vorhanden',
|
'unique_email_client' => 'Ein Kunde mit der E-Mail-Adresse ist schon im mivita-Salescenter vorhanden',
|
||||||
|
'unique_email_member' => 'Ein Berater mit der E-Mail-Adresse ist schon im mivita-Salescenter vorhanden',
|
||||||
|
'match_found' => 'Kundenhoheit: Es wurde eine Übereinstimmung zu einem bestehenden Kunden gefunden, dieser Konflikt wird erst überprüft. Bis dahin hat der Kunden den Status "in Prüfung". Möchtest du eine Bestellung für den Kunden ausführen, so kannst Du die Produkte auch zu Deiner Adresse bestellen.',
|
||||||
|
'shipping_not_found' => 'Das Lieferland ist noch nicht im System hinterlegt, bitte wende Dich an info@mivita.care um das Lieferland hinterlegen zu lassen.',
|
||||||
'attribute-name' => [
|
'attribute-name' => [
|
||||||
'rule-name' => 'custom-message',
|
'rule-name' => 'custom-message',
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -36,75 +36,94 @@
|
||||||
{{$shopping_user->firstEntryByNumber()->created_at->format("d.m.Y H:i")}}
|
{{$shopping_user->firstEntryByNumber()->created_at->format("d.m.Y H:i")}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3 mb-3">
|
<div class="col-md-3 mb-3">
|
||||||
|
|
||||||
|
@if(!$shopping_user->is_like)
|
||||||
<a class="btn btn-sm btn-secondary mt-2" href="{{route('user_customer_edit', [$shopping_user->id])}}">Kundendaten bearbeiten</a>
|
<a class="btn btn-sm btn-secondary mt-2" href="{{route('user_customer_edit', [$shopping_user->id])}}">Kundendaten bearbeiten</a>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<hr class="m-0">
|
<hr class="m-0">
|
||||||
<!-- / Info -->
|
<!-- / Info -->
|
||||||
|
|
||||||
@if($isAdmin)
|
|
||||||
<!-- Member -->
|
<!-- Member -->
|
||||||
<div class="card-body pb-1">
|
<div class="card-body pb-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-3">
|
@if($isAdmin)
|
||||||
@if(isset($change_member_error) && $change_member_error)
|
<div class="col-md-6 mb-3">
|
||||||
<div class="row">
|
@if(isset($change_member_error) && $change_member_error)
|
||||||
<div class="col-sm-12">
|
<div class="row">
|
||||||
<div class="alert alert-danger p-2">
|
<div class="col-sm-12">
|
||||||
<ul>
|
<div class="alert alert-danger p-2">
|
||||||
<li>{{ $change_member_error }}</li>
|
<ul>
|
||||||
</ul>
|
<li>{{ $change_member_error }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
<div class="text-muted small">Zugewiesener Berater</div>
|
|
||||||
@if($shopping_user->is_like)
|
|
||||||
<button type="button" class="btn btn-xs btn-outline-info" data-toggle="modal" data-target="#modals-load-content"
|
|
||||||
data-id="{{$shopping_user->id}}"
|
|
||||||
data-action="shopping-user-is-like-member"
|
|
||||||
data-back="{{route('admin_customer_detail', [$shopping_user->id])}}"
|
|
||||||
data-modal="modal-xl"
|
|
||||||
data-route="{{route('modal_load')}}"><span class="fa fa-edit"></span> Berater zuordnen</button>
|
|
||||||
@else
|
|
||||||
@if($shopping_user->member)
|
|
||||||
<a class="btn btn-xs btn-outline-primary" href="{{route('admin_lead_edit', [$shopping_user->member->id])}}"><i class="ion ion-ios-contacts"></i></a>
|
|
||||||
{{$shopping_user->member->getFullName()}} <span class="text-muted">#{{$shopping_user->member->number}}</span>
|
|
||||||
@endif
|
@endif
|
||||||
<button type="button" class="btn btn-xs btn-outline-secondary" data-toggle="modal" data-target="#modals-load-content"
|
<div class="text-muted small">Zugewiesener Berater</div>
|
||||||
data-id="{{ $shopping_user->id }}"
|
@if($shopping_user->is_like)
|
||||||
data-action="shopping-user-change-member"
|
<button type="button" class="btn btn-xs btn-outline-info" data-toggle="modal" data-target="#modals-load-content"
|
||||||
data-view="customer"
|
data-id="{{$shopping_user->id}}"
|
||||||
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
|
data-action="shopping-user-is-like-member"
|
||||||
@endif
|
data-back="{{route('admin_customer_detail', [$shopping_user->id])}}"
|
||||||
</div>
|
data-modal="modal-xl"
|
||||||
<div class="col-md-3 mb-3">
|
data-route="{{route('modal_load')}}"><span class="fa fa-edit"></span> Berater zuordnen</button>
|
||||||
<div class="text-muted small">Über Shop</div>
|
|
||||||
@if($shopping_user->shopping_order)
|
|
||||||
@if($shopping_user->shopping_order->user_shop->user->isActive() && $shopping_user->shopping_order->user_shop->user->isActiveShop())
|
|
||||||
<a href="{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}" class="badge badge-success" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</a>
|
|
||||||
@else
|
@else
|
||||||
<span class="badge badge-danger" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</span>
|
@if($shopping_user->member)
|
||||||
|
<a class="btn btn-xs btn-outline-primary" href="{{route('admin_lead_edit', [$shopping_user->member->id])}}"><i class="ion ion-ios-contacts"></i></a>
|
||||||
|
{{$shopping_user->member->getFullName()}} <span class="text-muted">#{{$shopping_user->member->number}}</span>
|
||||||
|
@endif
|
||||||
|
<button type="button" class="btn btn-xs btn-outline-secondary" data-toggle="modal" data-target="#modals-load-content"
|
||||||
|
data-id="{{ $shopping_user->id }}"
|
||||||
|
data-action="shopping-user-change-member"
|
||||||
|
data-view="customer"
|
||||||
|
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>
|
||||||
@endif
|
@endif
|
||||||
@endif
|
</div>
|
||||||
</div>
|
<div class="col-md-3 mb-3">
|
||||||
<div class="col-md-3 mb-3">
|
<div class="text-muted small">Über Shop</div>
|
||||||
<div class="text-muted small">ist Berater</div>
|
@if($shopping_user->shopping_order)
|
||||||
@if($shopping_user->auth_user)
|
@if($shopping_user->shopping_order->user_shop->user->isActive() && $shopping_user->shopping_order->user_shop->user->isActiveShop())
|
||||||
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
<a href="{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}" class="badge badge-success" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</a>
|
||||||
<a class="btn btn-xs btn-outline-primary" href="{{route('admin_lead_edit', [$shopping_user->auth_user->id])}}"><i class="ion ion-ios-contacts"></i></a>
|
@else
|
||||||
{{$shopping_user->auth_user->getFullName()}} <span class="text-muted">#{{$shopping_user->auth_user->number}}</span>
|
<span class="badge badge-danger" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</span>
|
||||||
@else
|
@endif
|
||||||
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
@endif
|
||||||
@endif
|
</div>
|
||||||
|
<div class="col-md-3 mb-3">
|
||||||
|
<div class="text-muted small">ist Berater</div>
|
||||||
|
@if($shopping_user->auth_user)
|
||||||
|
<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>
|
||||||
|
<a class="btn btn-xs btn-outline-primary" href="{{route('admin_lead_edit', [$shopping_user->auth_user->id])}}"><i class="ion ion-ios-contacts"></i></a>
|
||||||
|
{{$shopping_user->auth_user->getFullName()}} <span class="text-muted">#{{$shopping_user->auth_user->number}}</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
@if(!$shopping_user->is_like)
|
||||||
|
<a href="{{ route('user_order_my_delivery', ['ot', $shopping_user->id]) }}" class="btn btn-sm btn-secondary mt-2">
|
||||||
|
<span class="fa fa-shopping-cart"></span> Bestellung für diesen Kunden aufgeben
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
<div class="text-muted small">Kundenhoheit</div>
|
||||||
|
@if($shopping_user->is_like)
|
||||||
|
<span class="badge badge-pill badge-warning"><i class="fa fa-clock"></i> in Prüfung</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-pill badge-success"><i class="fa fa-check-circle"></i> zugewiesen</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<hr class="m-0">
|
<hr class="m-0">
|
||||||
<!-- / Member -->
|
<!-- / Member -->
|
||||||
@endif
|
|
||||||
|
|
||||||
<!-- Billing -->
|
<!-- Billing -->
|
||||||
@include('admin.customer._customer_detail')
|
@include('admin.customer._customer_detail')
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="media-body p-4 p-md-5">
|
<div class="media-body p-4 p-md-5 ">
|
||||||
<h4 class="mb-2">
|
<h4 class="mb-2">
|
||||||
<a href="#" class="text-body">{{ $product->name }}</a>
|
<a href="#" class="text-body">{{ $product->name }}</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
@ -49,7 +49,8 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<hr class="mt-0 mb-4">
|
{{--
|
||||||
|
<hr class="mt-0 mb-4">
|
||||||
|
|
||||||
<div class="input-group d-inline-flex w-auto">
|
<div class="input-group d-inline-flex w-auto">
|
||||||
<span class="input-group-prepend">
|
<span class="input-group-prepend">
|
||||||
|
|
@ -64,6 +65,7 @@
|
||||||
<button class="btn btn-secondary ml-3 mb-1">
|
<button class="btn btn-secondary ml-3 mb-1">
|
||||||
<strong>€ {{$product->getFormattedPriceWith()}}</strong> +<span class="ion ion-md-cart"></span>
|
<strong>€ {{$product->getFormattedPriceWith()}}</strong> +<span class="ion ion-md-cart"></span>
|
||||||
</button>
|
</button>
|
||||||
|
--}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,18 +142,17 @@
|
||||||
<label for="price" class="form-label">{{__('Kunden Preis (brutto)')}}*</label>
|
<label for="price" class="form-label">{{__('Kunden Preis (brutto)')}}*</label>
|
||||||
<input type="text" class="form-control" name="price" placeholder="{{__('Preis in Euro')}}" required>
|
<input type="text" class="form-control" name="price" placeholder="{{__('Preis in Euro')}}" required>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="form-group col-6">
|
<div class="form-group col-6">
|
||||||
<label for="price_comp" class="form-label">{{__('Kompensation Preis (brutto)')}}*</label>
|
<label for="price_comp" class="form-label">{{__('Kompensation Preis (brutto)')}}*</label>
|
||||||
<input type="text" class="form-control" name="price_comp" placeholder="{{__('Preis in Euro')}}" required>
|
<input type="text" class="form-control" name="price_comp" placeholder="{{__('Preis in Euro')}}" required>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
<div class="form-group col-6">
|
<div class="form-group col-6">
|
||||||
<label for="tax_rate" class="form-label">{{__('enthaltene Tax (%)')}}</label>
|
<label for="tax_rate" class="form-label">{{__('enthaltene Tax (%)')}}</label>
|
||||||
<input type="text" class="form-control" name="tax_rate" placeholder="{{__('Tax in %')}}">
|
<input type="text" class="form-control" name="tax_rate" placeholder="{{__('Tax in %')}}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@
|
||||||
<script src="{{ mix('/js/application.js') }}"></script>
|
<script src="{{ mix('/js/application.js') }}"></script>
|
||||||
<script src="{{ asset('/js/custom.js') }}?v=1{{ get_file_last_time('/js/custom.js') }}"></script>
|
<script src="{{ asset('/js/custom.js') }}?v=1{{ get_file_last_time('/js/custom.js') }}"></script>
|
||||||
|
|
||||||
|
<script src="{{ asset('/js/iq-shopping-cart.js') }}?v=1{{ get_file_last_time('/js/iq-shopping-cart.js') }}"></script>
|
||||||
|
|
||||||
@yield('scripts')
|
@yield('scripts')
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,9 @@
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<div id="smartwizard-3-step-1" class="card animated fadeIn">
|
<div id="smartwizard-3-step-1" class="card animated fadeIn">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{!! Form::open(['url' => route('user_customer_edit', ['new']), 'class' => 'form-horizontal', 'id'=>'lead-form-validation-confirm']) !!}
|
{!! Form::open(['url' => route('user_customer_edit', ['new']), 'class' => 'form-horizontal']) !!}
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-group col-md-6 {{ $errors->has('email') ? 'has-error' : '' }}">
|
<div class="form-group col-md-12 {{ $errors->has('email') ? 'has-error' : '' }}">
|
||||||
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
|
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
|
||||||
{{ Form::text('email', '', array('placeholder'=>'E-Mail Adresse', 'class'=>'form-control', 'id'=>'email', 'required'=>true ,'tabindex' => 1)) }}
|
{{ Form::text('email', '', array('placeholder'=>'E-Mail Adresse', 'class'=>'form-control', 'id'=>'email', 'required'=>true ,'tabindex' => 1)) }}
|
||||||
@if ($errors->has('email'))
|
@if ($errors->has('email'))
|
||||||
|
|
@ -59,9 +59,32 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-left mt-2">
|
<div class="text-left mt-2">
|
||||||
<button type="submit" class="btn btn-secondary" name="action" value="add_customer_step_email">{{ __('prüfen und weiter') }}</button>
|
<button type="submit" class="btn btn-secondary" name="action" value="add_customer_with_email">{{ __('prüfen und weiter') }}</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
{!! Form::close() !!}
|
||||||
|
{!! Form::open(['url' => route('user_customer_edit', ['new']), 'class' => 'form-horizontal']) !!}
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 mt-2">
|
||||||
|
<label class="switcher switcher-secondary">
|
||||||
|
<input type="checkbox" class="switcher-input" name="switcher-without-email" value="true">
|
||||||
|
<span class="switcher-indicator">
|
||||||
|
<span class="switcher-yes"></span>
|
||||||
|
<span class="switcher-no"></span>
|
||||||
|
</span>
|
||||||
|
<span class="switcher-label">Kunde ohne E-Mail hinzufügen</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="text-left" style="display: none" id="show-button-without-email">
|
||||||
|
<p class="mt-2">Hinweis: Der Kunden bekommt eine Platzhalter E-Mail (...@faker-mivita.care), da die E-Mail das primäre Feld für die Kundenhoheit ist.<br>
|
||||||
|
Wird der Kunden mit seiner E-Mail von einem anderen Berater angelegt oder bestellt in einem anderen Beratershop, wird dem Berater der Kunde zugewiesen.</p>
|
||||||
|
<button type="submit" class="btn btn-secondary" name="action" value="add_customer_without_email">{{ __('weiter ohne E-Mail') }}</button>
|
||||||
</div>
|
</div>
|
||||||
{!! Form::close() !!}
|
{!! Form::close() !!}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="smartwizard-3-step-2" class="card animated fadeIn">
|
<div id="smartwizard-3-step-2" class="card animated fadeIn">
|
||||||
|
|
@ -97,6 +120,15 @@
|
||||||
showPreviousButton: false,
|
showPreviousButton: false,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('input[name="switcher-without-email"]').on('change', function (){
|
||||||
|
|
||||||
|
if($(this).prop('checked') === true){
|
||||||
|
$('#show-button-without-email').show();
|
||||||
|
}else{
|
||||||
|
$('#show-button-without-email').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,16 @@
|
||||||
<a href="{{route('user_customers')}}" class="btn btn-sm btn-default float-right">zurück</a>
|
<a href="{{route('user_customers')}}" class="btn btn-sm btn-default float-right">zurück</a>
|
||||||
{{ __('Kunden Details') }}
|
{{ __('Kunden Details') }}
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@if(Session::has('custom-error'))
|
||||||
|
<div class="alert alert-dark-warning alert-dismissible fade show">
|
||||||
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
|
<strong>{{ Session::get('custom-error') }}</strong>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
@include('admin.customer._detail')
|
@include('admin.customer._detail')
|
||||||
<a href="{{route('user_customers')}}" class="btn btn-sm btn-default mt-2 float-right">zurück</a>
|
<a href="{{route('user_customers')}}" class="btn btn-sm btn-default mt-2 float-right">zurück</a>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,8 @@
|
||||||
<div class="card w-100 mb-4">
|
<div class="card w-100 mb-4">
|
||||||
<h5 class="card-header">{{__('Mitgliedschaft')}} {{__('anpassen')}}</h5>
|
<h5 class="card-header">{{__('Mitgliedschaft')}} {{__('anpassen')}}</h5>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h6 class="d-block text-dark">Du kannst Deine Mitglidschaft bis zur nächsten Vertragsverlängerung, am {{ $user->nextRenewalAccount() }}, ändern</h6>
|
<h6 class="d-block text-dark">Du kannst Deine Mitglidschaft bis zur nächsten Vertragsverlängerung, am {{ $user->nextRenewalAccount() }}, ändern.</h6>
|
||||||
<p>Die restlichen Läufzeiten bleiben erhalten, erst mit der Verlängerung wird das geänderte Paket aktiv.</p>
|
<p>Die restlichen Laufzeiten bleiben erhalten, erst mit der Verlängerung wird das geänderte Paket aktiv.</p>
|
||||||
@include('user.membership._change')
|
@include('user.membership._change')
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
35
resources/views/user/order/comp_product.blade.php
Normal file
35
resources/views/user/order/comp_product.blade.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<div class="card mt-4">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4>Versand Kompensationsprodukt</h4>
|
||||||
|
|
||||||
|
@if($comp_products)
|
||||||
|
<div class="row no-gutters row-bordered">
|
||||||
|
@php($counter = 1)
|
||||||
|
|
||||||
|
@foreach($comp_products as $comp_product)
|
||||||
|
<div class="media col-md-6 col-lg-4 p-4">
|
||||||
|
<div class="d-block ui-w-80 ui-bordered mr-3">
|
||||||
|
@if(count($comp_product->images))
|
||||||
|
<img src="{{ route('product_image', [$comp_product->images->first()->slug]) }}" class="img-fluid" alt="">
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="media-body">
|
||||||
|
<label class="switcher switcher-secondary">
|
||||||
|
<input type="radio" class="switcher-input" value="{{$comp_product->id}}" name="switchers-comp-product" @if($counter == 1) checked @endif >
|
||||||
|
<span class="switcher-indicator">
|
||||||
|
<span class="switcher-yes"></span>
|
||||||
|
<span class="switcher-no"></span>
|
||||||
|
</span>
|
||||||
|
<span class="switcher-label"></span>
|
||||||
|
</label>
|
||||||
|
<div class="text-body mt-2"><strong>{{ $comp_product->name }}</strong></div>
|
||||||
|
<div class="">Art-Nr.: {{ $comp_product->number }}</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@php($counter++)
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -10,12 +10,12 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body p-2 p-md-4">
|
<div class="card-body p-2 p-md-4">
|
||||||
|
|
||||||
{!! Form::open(['url' => route('user_order_my_list', [$for, $delivery_id]), 'class' => 'form-horizontal']) !!}
|
{!! Form::open(['url' => route('user_order_my_delivery', [$for, $delivery_id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
|
||||||
<h4>Lieferdaten</h4>
|
<h4>Lieferdaten</h4>
|
||||||
<div class="switchers-stacked">
|
<div class="switchers-stacked">
|
||||||
<label class="switcher switcher-secondary">
|
<label class="switcher switcher-secondary">
|
||||||
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="is-for-member" @if(!$shopping_user) checked="checked" @endif >
|
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="me" @if(!$shopping_user) checked="checked" @endif >
|
||||||
<span class="switcher-indicator">
|
<span class="switcher-indicator">
|
||||||
<span class="switcher-yes"></span>
|
<span class="switcher-yes"></span>
|
||||||
<span class="switcher-no"></span>
|
<span class="switcher-no"></span>
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="switcher switcher-secondary">
|
<label class="switcher switcher-secondary">
|
||||||
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="is-for-customer" @if($shopping_user) checked="checked" @endif>
|
<input type="radio" class="switcher-input" name="switchers-radio-is-for" value="ot" @if($shopping_user) checked="checked" @endif>
|
||||||
<span class="switcher-indicator">
|
<span class="switcher-indicator">
|
||||||
<span class="switcher-yes"></span>
|
<span class="switcher-yes"></span>
|
||||||
<span class="switcher-no"></span>
|
<span class="switcher-no"></span>
|
||||||
|
|
@ -42,19 +42,20 @@
|
||||||
data-action="user-order-my-delivery-show"
|
data-action="user-order-my-delivery-show"
|
||||||
data-back="{{route('user_order_my_delivery', [$for])}}"
|
data-back="{{route('user_order_my_delivery', [$for])}}"
|
||||||
data-modal="modal-xl"
|
data-modal="modal-xl"
|
||||||
data-route="{{route('modal_load')}}"><span class="fa fa-shopping-cart"></span> An bestehenden Kunden versenden (Kunden auswählen)</button>
|
data-route="{{route('modal_load')}}"><span class="fa fa-shopping-cart"></span> An bestehenden Kunden versenden | Kunden auswählen</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<button type="button" class="btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-load-content"
|
<a href="{{route('user_customer_add', ['new'])}}" class="btn btn-sm btn-primary">An neuen Kunden versenden | <i class="ion ion-md-person-add"></i> Kunden hinzufügen</a>
|
||||||
data-id="add"
|
|
||||||
data-action="user-order-my-delivery-add"
|
|
||||||
data-back="{{route('user_order_my_delivery', [$for])}}"
|
|
||||||
data-modal="modal-xl"
|
|
||||||
data-route="{{route('modal_load')}}"><span class="fa fa-plus-circle"></span> An neuen Kunden versenden (Kunden hinzufügen)</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
@if($shopping_user)
|
@if($shopping_user)
|
||||||
|
@if(Session::has('custom-error'))
|
||||||
|
<div class="alert alert-dark-warning alert-dismissible fade show">
|
||||||
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
|
<strong>{{ Session::get('custom-error') }}</strong>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
<div class="show-is-for-customer">
|
<div class="show-is-for-customer">
|
||||||
<h4>An diesen Kunde versenden</h4>
|
<h4>An diesen Kunde versenden</h4>
|
||||||
@include('admin.customer._customer_detail')
|
@include('admin.customer._customer_detail')
|
||||||
|
|
@ -62,11 +63,15 @@
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@if($shopping_user)
|
||||||
|
<div class="float-right">
|
||||||
<div class="float-right">
|
<button type="submit" class="btn btn-secondary" name="action" value="next">bestätigen und weiter zur Bestellung</button>
|
||||||
<button type="submit" class="btn btn-secondary">bestätigen und weiter zur Bestellung</button>
|
</div>
|
||||||
</div>
|
@else
|
||||||
|
<div class="float-right" id="hide_for_ot">
|
||||||
|
<button type="submit" class="btn btn-secondary" name="action" value="next">bestätigen und weiter zur Bestellung</button>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
{!! Form::close() !!}
|
{!! Form::close() !!}
|
||||||
|
|
||||||
|
|
@ -76,18 +81,14 @@
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|
||||||
$('input[name="switchers-radio-is-for"]').on('change', function (){
|
$('input[name="switchers-radio-is-for"]').on('change', function (){
|
||||||
if($(this).val() === 'is-for-customer'){
|
if($(this).val() === 'ot'){
|
||||||
$('#show-is-for-customer').show('slow');
|
$('#show-is-for-customer').show('slow');
|
||||||
|
$('#hide_for_ot').hide('slow');
|
||||||
}else{
|
}else{
|
||||||
$('#show-is-for-customer').hide('slow');
|
$('#show-is-for-customer').hide('slow');
|
||||||
|
$('#hide_for_ot').show('slow');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
|
||||||
* showCreditCardPayment(jQuery('input[name="payment_method"]:checked').val());
|
|
||||||
jQuery('input[name="payment_method"]').on('change', function () {
|
|
||||||
showCreditCardPayment($(this).val());
|
|
||||||
});*/
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
@section('content')
|
@section('content')
|
||||||
<h4 class="font-weight-bold py-2 mb-2">
|
<h4 class="font-weight-bold py-2 mb-2">
|
||||||
{{ __('navigation.my_orders') }} / {{ __('navigation.do_order') }}
|
{{ __('navigation.my_orders') }} / {{ __('navigation.do_order') }}
|
||||||
|
<a href="{{ route('user_order_my_delivery', [$for, $delivery_id]) }}" class="btn btn-sm btn-default float-right">zurück</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.btn-md-extra {
|
.btn-md-extra {
|
||||||
padding: 0.3rem 0.6rem;
|
padding: 0.3rem 0.6rem;
|
||||||
|
|
@ -31,12 +31,11 @@
|
||||||
min-width:55px;
|
min-width:55px;
|
||||||
max-height: 160px;
|
max-height: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-datatable table-responsive">
|
<div class="card-datatable table-responsive">
|
||||||
<table class="datatables-order-list table table-striped table-bordered" id="datatables-order-list">
|
<table class="datatables-order-list table table-striped table-bordered" id="datatables-order-list" data-url="{{route('user_order_my_perform_request')}}">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{{__('Bild')}}</th>
|
<th>{{__('Bild')}}</th>
|
||||||
|
|
@ -45,6 +44,8 @@
|
||||||
<th>{{__('Produkt')}}</th>
|
<th>{{__('Produkt')}}</th>
|
||||||
<th>{{__('Artikelnummer')}}</th>
|
<th>{{__('Artikelnummer')}}</th>
|
||||||
<th>{{__('Netto-Preis')}}</th>
|
<th>{{__('Netto-Preis')}}</th>
|
||||||
|
<th>{{__('Brutto-Preis')}}</th>
|
||||||
|
<th>{{__('VK-Brutto-Preis')}}</th>
|
||||||
<th>{{__('Points')}}</th>
|
<th>{{__('Points')}}</th>
|
||||||
<th><span class="no-line-break">{{__('Inhalt (ml)')}}</span></th>
|
<th><span class="no-line-break">{{__('Inhalt (ml)')}}</span></th>
|
||||||
<th><span class="no-line-break">{{__('Gewicht (g)')}}</span></th>
|
<th><span class="no-line-break">{{__('Gewicht (g)')}}</span></th>
|
||||||
|
|
@ -55,33 +56,48 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<hr>
|
{!! Form::open(['url' => route('user_order_my_payment', [$for, $delivery_id]), 'class' => 'form-horizontal']) !!}
|
||||||
|
<input type="hidden" name="shipping_is_for" value="{{$for}}">
|
||||||
{!! Form::open(['url' => route('wizard_store_payment', [20]), 'class' => 'form-horizontal']) !!}
|
<div class="card mt-4">
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
@if($for === 'ot')
|
@if($for === 'ot')
|
||||||
<h4>Lieferadresse (Kunde)</h4>
|
<h4>Lieferadresse des Kunden</h4>
|
||||||
@include('user.order.shipping_ot')
|
@include('user.order.shipping_ot')
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($for === 'me')
|
@if($for === 'me')
|
||||||
<h4>Lieferadresse (meine)</h4>
|
<h4>Meine Lieferadresse</h4>
|
||||||
@include('user.order.shipping_me')
|
@include('user.order.shipping_me')
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@include('user.order.list_form')
|
|
||||||
|
|
||||||
{!! Form::close() !!}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if($for === 'me')
|
||||||
|
@include('user.order.comp_product')
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="card mt-4">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4>Warenkorb</h4>
|
||||||
|
<div id="holder_html_view_card">
|
||||||
|
@include('user.order.yard_view_form')
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-2">
|
||||||
|
<a href="{{ route('user_order_my_delivery', [$for, $delivery_id]) }}" class="btn btn-sm btn-default float-right">zurück</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{!! Form::close() !!}
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|
||||||
|
var iqShoppingCart = IqShoppingCart.init();
|
||||||
|
|
||||||
var oTable = $('#datatables-order-list').DataTable({
|
var oTable = $('#datatables-order-list').DataTable({
|
||||||
"processing": true,
|
"processing": true,
|
||||||
"serverSide": true,
|
"serverSide": true,
|
||||||
|
|
@ -99,7 +115,9 @@
|
||||||
{ data: 'quantity', name: 'quantity', searchable: false, orderable: false},
|
{ data: 'quantity', name: 'quantity', searchable: false, orderable: false},
|
||||||
{ data: 'name', name: 'name' },
|
{ data: 'name', name: 'name' },
|
||||||
{ data: 'number', name: 'number' },
|
{ data: 'number', name: 'number' },
|
||||||
{ data: 'price', name: 'price', searchable: false },
|
{ data: 'price_net', name: 'price_net', searchable: false },
|
||||||
|
{ data: 'price_gross', name: 'price_gross', searchable: false },
|
||||||
|
{ data: 'price_vk_gross', name: 'price_vk_gross', searchable: false },
|
||||||
{ data: 'points', name: 'points', searchable: false },
|
{ data: 'points', name: 'points', searchable: false },
|
||||||
{ data: 'contents_total', name: 'contents_total', searchable: false },
|
{ data: 'contents_total', name: 'contents_total', searchable: false },
|
||||||
{ data: 'weight', name: 'weight', searchable: false },
|
{ data: 'weight', name: 'weight', searchable: false },
|
||||||
|
|
@ -109,23 +127,26 @@
|
||||||
"iDisplayLength": 50,
|
"iDisplayLength": 50,
|
||||||
"language": {
|
"language": {
|
||||||
"url": "/js/German.json"
|
"url": "/js/German.json"
|
||||||
|
},
|
||||||
|
drawCallback: function (settings) {
|
||||||
|
iqShoppingCart.reInit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
/* $('#filter_member_id').on('change', function(){
|
|
||||||
oTable.draw();
|
iqShoppingCart.setDatabase(oTable);
|
||||||
});
|
|
||||||
$('#filter_customer_member').on('change', function(){
|
/* $('#filter_member_id').on('change', function(){
|
||||||
oTable.draw();
|
oTable.draw();
|
||||||
});
|
});
|
||||||
*/
|
$('#filter_customer_member').on('change', function(){
|
||||||
|
oTable.draw();
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
$('body').tooltip({
|
$('body').tooltip({
|
||||||
selector: '.product-tooltip'
|
selector: '.product-tooltip'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,104 +1,103 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="card-body p-2 p-md-4">
|
|
||||||
<h4>Warenkorb</h4>
|
|
||||||
|
|
||||||
<!-- Shopping cart table -->
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-bordered m-0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<!-- Set columns width -->
|
|
||||||
<th class="text-center py-3 px-4" style="min-width: 400px;">Produkt</th>
|
|
||||||
<th class="text-right py-3 px-4" style="width: 100px;">Preis</th>
|
|
||||||
<th class="text-center py-3 px-4" style="width: 120px;">Anzahl</th>
|
|
||||||
<th class="text-right py-3 px-4" style="width: 100px;">Summe</th>
|
|
||||||
<th class="py-3 px-4" style="width: 40px;"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="p-4">
|
|
||||||
<div class="media align-items-center">
|
|
||||||
<img src="/products/appwork/v152/assets_/img/uikit/nike-1.jpg" class="d-block ui-w-40 ui-bordered mr-4" alt>
|
|
||||||
<div class="media-body">
|
|
||||||
<a href="#" class="d-block text-body">Nike Men Black Liteforce III Sneakers</a>
|
|
||||||
<small>
|
|
||||||
<span class="text-muted">Color:</span>
|
|
||||||
<span class="ui-product-color ui-product-color-sm align-text-bottom" style="background:#e81e2c;"></span>
|
|
||||||
<span class="text-muted">Size: </span> EU 37
|
|
||||||
<span class="text-muted">Ships from: </span> China
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="text-right font-weight-semibold align-middle p-4">
|
|
||||||
$57.55
|
|
||||||
</td>
|
|
||||||
<td class="align-middle p-4">
|
|
||||||
<input type="text" class="form-control text-center" value="2">
|
|
||||||
</td>
|
|
||||||
<td class="text-right font-weight-semibold align-middle p-4">
|
|
||||||
<span class="price">115.1</span> €
|
|
||||||
</td>
|
|
||||||
<td class="text-center align-middle px-0">
|
|
||||||
<a href="#" class="close float-none" data-toggle="tooltip" title data-original-title="Remove">×</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="p-4">
|
|
||||||
<div class="media align-items-center">
|
|
||||||
<img src="/products/appwork/v152/assets_/img/uikit/sunglasses.jpg" class="d-block ui-w-40 ui-bordered mr-4" alt>
|
|
||||||
<div class="media-body">
|
|
||||||
<a href="#" class="d-block text-body">WALKING 400 BLUE CAT3</a>
|
|
||||||
<small>
|
|
||||||
<span class="text-muted">Ships from: </span> Germany
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="text-right font-weight-semibold align-middle p-4">
|
|
||||||
$20.55
|
|
||||||
</td>
|
|
||||||
<td class="align-middle p-4">
|
|
||||||
<input type="text" class="form-control text-center" value="1">
|
|
||||||
</td>
|
|
||||||
<td class="text-right font-weight-semibold align-middle p-4">
|
|
||||||
$20.55
|
|
||||||
</td>
|
|
||||||
<td class="text-center align-middle px-0">
|
|
||||||
<a href="#" class="close float-none" data-toggle="tooltip" title data-original-title="Remove">×</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
<!-- Shopping cart table -->
|
||||||
</table>
|
<div class="table-responsive">
|
||||||
</div>
|
<table class="table table-bordered m-0">
|
||||||
<!-- / Shopping cart table -->
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- Set columns width -->
|
||||||
|
<th class="text-center py-3 px-4" style="min-width: 400px;">Produkt</th>
|
||||||
|
<th class="text-right py-3 px-4" style="width: 100px;">Preis</th>
|
||||||
|
<th class="text-center py-3 px-4" style="width: 120px;">Anzahl</th>
|
||||||
|
<th class="text-right py-3 px-4" style="width: 100px;">Summe</th>
|
||||||
|
<th class="py-3 px-4" style="width: 40px;"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
<div class="d-flex flex-wrap justify-content-between align-items-center pb-4">
|
<tr>
|
||||||
<div class="mt-4">
|
<td class="p-4">
|
||||||
{{-- <label class="text-muted font-weight-normal">Promocode</label>
|
<div class="media align-items-center">
|
||||||
<input type="text" placeholder="ABC" class="form-control">
|
<img src="/products/appwork/v152/assets_/img/uikit/nike-1.jpg" class="d-block ui-w-40 ui-bordered mr-4" alt>
|
||||||
--}}
|
<div class="media-body">
|
||||||
</div>
|
<a href="#" class="d-block text-body">Nike Men Black Liteforce III Sneakers</a>
|
||||||
<div class="d-flex">
|
<small>
|
||||||
<div class="text-right mt-4 mr-5">
|
<span class="text-muted">Color:</span>
|
||||||
<label class="text-muted font-weight-normal m-0">Points</label>
|
<span class="ui-product-color ui-product-color-sm align-text-bottom" style="background:#e81e2c;"></span>
|
||||||
<div class="text-large"><strong>$20</strong></div>
|
<span class="text-muted">Size: </span> EU 37
|
||||||
</div>
|
<span class="text-muted">Ships from: </span> China
|
||||||
<div class="text-right mt-4">
|
</small>
|
||||||
<label class="text-muted font-weight-normal m-0">Gesamtsumme</label>
|
|
||||||
<div class="text-large"><strong>$1164.65</strong></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</td>
|
||||||
<hr>
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
<div class="float-right">
|
$57.55
|
||||||
<button type="submit" class="btn btn-secondary">bestätigen und weiter zur Kasse</button>
|
</td>
|
||||||
</div>
|
<td class="align-middle p-4">
|
||||||
|
<input type="text" class="form-control text-center" value="2">
|
||||||
|
</td>
|
||||||
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
|
<span class="price">115.1</span> €
|
||||||
|
</td>
|
||||||
|
<td class="text-center align-middle px-0">
|
||||||
|
<a href="#" class="close float-none" data-toggle="tooltip" title data-original-title="Remove">×</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="p-4">
|
||||||
|
<div class="media align-items-center">
|
||||||
|
<img src="/products/appwork/v152/assets_/img/uikit/sunglasses.jpg" class="d-block ui-w-40 ui-bordered mr-4" alt>
|
||||||
|
<div class="media-body">
|
||||||
|
<a href="#" class="d-block text-body">WALKING 400 BLUE CAT3</a>
|
||||||
|
<small>
|
||||||
|
<span class="text-muted">Ships from: </span> Germany
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
|
$20.55
|
||||||
|
</td>
|
||||||
|
<td class="align-middle p-4">
|
||||||
|
<input type="text" class="form-control text-center" value="1">
|
||||||
|
</td>
|
||||||
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
|
$20.55
|
||||||
|
</td>
|
||||||
|
<td class="text-center align-middle px-0">
|
||||||
|
<a href="#" class="close float-none" data-toggle="tooltip" title data-original-title="Remove">×</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- / Shopping cart table -->
|
||||||
|
|
||||||
|
<div class="d-flex flex-wrap justify-content-between align-items-center pb-4">
|
||||||
|
<div class="mt-4">
|
||||||
|
{{-- <label class="text-muted font-weight-normal">Promocode</label>
|
||||||
|
<input type="text" placeholder="ABC" class="form-control">
|
||||||
|
--}}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="d-flex">
|
||||||
|
<div class="text-right mt-4 mr-5">
|
||||||
|
<label class="text-muted font-weight-normal m-0">Points</label>
|
||||||
|
<div class="text-large"><strong>$20</strong></div>
|
||||||
|
</div>
|
||||||
|
<div class="text-right mt-4">
|
||||||
|
<label class="text-muted font-weight-normal m-0">Gesamtsumme</label>
|
||||||
|
<div class="text-large"><strong>$1164.65</strong></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" class="btn btn-secondary">bestätigen und weiter zur Kasse</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,100 +2,213 @@
|
||||||
@if($user->account)
|
@if($user->account)
|
||||||
@if($user->account->same_as_billing)
|
@if($user->account->same_as_billing)
|
||||||
<!-- Billing -->
|
<!-- Billing -->
|
||||||
<div class="row">
|
|
||||||
@if($user->account->company)
|
<div class="">
|
||||||
<div class="col-md-12 mb-3">
|
<div class="form-row">
|
||||||
<div class="text-muted small">Firma</div>
|
<div class="form-group col-md-12">
|
||||||
{{ $user->account->company }}
|
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||||
</div>
|
{{ Form::text('shipping_company', $user->account->company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||||
@endif
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Anrede</div>
|
|
||||||
{{ \App\Services\HTMLHelper::getSalutationLang($user->account->salutation) }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Vorname</div>
|
|
||||||
{{ $user->account->first_name }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Nachname</div>
|
|
||||||
{{ $user->account->last_name }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="form-row">
|
||||||
<div class="col-md-3 mb-3">
|
<div class="form-group col-md-6 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||||
<div class="text-muted small">Straße</div>
|
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||||
{{ $user->account->address }}
|
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||||
</div>
|
{!! HTMLHelper::getSalutation($user->account->salutation) !!}
|
||||||
<div class="col-md-3 mb-3">
|
</select>
|
||||||
<div class="text-muted small">Zusatz</div>
|
@if ($errors->has('shipping_salutation'))
|
||||||
{{ $user->account->address_2 }}
|
<span class="help-block">
|
||||||
</div>
|
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||||
<div class="col-md-3 mb-3">
|
</span>
|
||||||
<div class="text-muted small">PLZ</div>
|
@endif
|
||||||
{{ $user->account->zipcode }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Stadt</div>
|
|
||||||
{{ $user->account->city }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Land</div>
|
|
||||||
@if($user->account->country){{ $user->account->country->getLocated() }}@endif
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Telefon</div>
|
|
||||||
{{ $user->account->phone }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_firstname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_firstname">{{ __('First name') }}*</label>
|
||||||
|
{{ Form::text('shipping_firstname', $user->account->first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_firstname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_firstname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_lastname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_lastname">{{ __('Last name') }}*</label>
|
||||||
|
{{ Form::text('shipping_lastname', $user->account->last_name, array('placeholder'=>__('Last name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_lastname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_lastname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_address">{{ __('Street') }} / {{ __('House number') }}*</label>
|
||||||
|
{{ Form::text('shipping_address', $user->account->address, array('placeholder'=>__('Street'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_address'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address_2') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_address_2">{{ __('Wohnung / Gebäude (optional)') }}</label>
|
||||||
|
{{ Form::text('shipping_address_2', $user->account->address_2, array('placeholder'=>__('Wohnung / Gebäude (optional)'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_zipcode') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_zipcode">{{ __('Postcode') }}*</label>
|
||||||
|
{{ Form::text('shipping_zipcode', $user->account->zipcode, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_zipcode'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_zipcode') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_city') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_city">{{ __('City') }}*</label>
|
||||||
|
{{ Form::text('shipping_city', $user->account->city, array('placeholder'=>__('City'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_city'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_city') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_state') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label">{{ __('Versandland') }}*</label>
|
||||||
|
<select name="shipping_state" class="selectpicker" id="change_shipping_state" data-is-for="me">
|
||||||
|
{!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!}
|
||||||
|
</select>
|
||||||
|
@if ($errors->has('shipping_state'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_state') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label class="form-label" for="shipping_phone">{{ __('Phone') }}</label>
|
||||||
|
{{ Form::text('shipping_phone', $user->account->phone, array('placeholder'=>__('Phone'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!-- / Billing -->
|
<!-- / Billing -->
|
||||||
@else
|
@else
|
||||||
<div class="row">
|
|
||||||
@if($user->account->shipping_company)
|
<div class="">
|
||||||
<div class="col-md-12 mb-3">
|
<div class="form-row">
|
||||||
<div class="text-muted small">Firma</div>
|
<div class="form-group col-md-12">
|
||||||
{{ $user->account->shipping_company }}
|
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||||
</div>
|
{{ Form::text('shipping_company', $user->account->shipping_company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||||
@endif
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Anrede</div>
|
|
||||||
{{ \App\Services\HTMLHelper::getSalutationLang($user->account->shipping_salutation) }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Vorname</div>
|
|
||||||
{{ $user->account->shipping_firstname }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Nachname</div>
|
|
||||||
{{ $user->account->shipping_lastname }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="form-row">
|
||||||
<div class="col-md-3 mb-3">
|
<div class="form-group col-md-12 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||||
<div class="text-muted small">Straße</div>
|
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||||
{{ $user->account->shipping_address }}
|
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||||
</div>
|
{!! HTMLHelper::getSalutation($user->account->shipping_salutation) !!}
|
||||||
<div class="col-md-3 mb-3">
|
</select>
|
||||||
<div class="text-muted small">Zusatz</div>
|
@if ($errors->has('shipping_salutation'))
|
||||||
{{ $user->account->shipping_address_2 }}
|
<span class="help-block">
|
||||||
</div>
|
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||||
<div class="col-md-3 mb-3">
|
</span>
|
||||||
<div class="text-muted small">PLZ</div>
|
@endif
|
||||||
{{ $user->account->shipping_zipcode }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Stadt</div>
|
|
||||||
{{ $user->account->shipping_city }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Land</div>
|
|
||||||
@if($user->account->shipping_country){{ $user->account->shipping_country->getLocated() }}@endif
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Telefon</div>
|
|
||||||
{{ $user->account->shipping_phone }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_firstname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_firstname">{{ __('First name') }}*</label>
|
||||||
|
{{ Form::text('shipping_firstname', $user->account->shipping_firstname, array('placeholder'=>__('First name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_firstname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_firstname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_lastname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_lastname">{{ __('Last Name') }}*</label>
|
||||||
|
{{ Form::text('shipping_lastname', $user->account->shipping_lastname, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_lastname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_lastname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_address">{{ __('Street') }} / {{ __('House number') }}*</label>
|
||||||
|
{{ Form::text('shipping_address', $user->account->shipping_address, array('placeholder'=>__('Street'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_address'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address_2') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_address_2">{{ __('Wohnung / Gebäude (optional)') }}</label>
|
||||||
|
{{ Form::text('shipping_address_2', $user->account->shipping_address_2, array('placeholder'=>__('Wohnung / Gebäude (optional)'), 'class'=>'form-control')) }}
|
||||||
|
@if ($errors->has('shipping_address_2'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address_2') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_zipcode') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_zipcode">{{ __('Postcode') }}*</label>
|
||||||
|
{{ Form::text('shipping_zipcode', $user->account->shipping_zipcode, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_zipcode'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_zipcode') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_city') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_city">{{ __('City') }}*</label>
|
||||||
|
{{ Form::text('shipping_city', $user->account->shipping_city, array('placeholder'=>__('City'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_city'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_city') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_state') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label">{{ __('Versandland') }}*</label>
|
||||||
|
<select name="shipping_state" class="selectpicker" id="change_shipping_state" data-is-for="me">
|
||||||
|
{!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!}
|
||||||
|
</select>
|
||||||
|
@if ($errors->has('shipping_state'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_state') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label class="form-label" for="shipping_phone">{{ __('Phone') }}</label>
|
||||||
|
{{ Form::text('shipping_phone', $user->account->shipping_phone, array('placeholder'=>__('Phone'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@else
|
@else
|
||||||
<h4>Fehler: Keine Adressdaten gefunden!</h4>
|
<h4>Fehler: Keine Adressdaten gefunden!</h4>
|
||||||
|
|
|
||||||
|
|
@ -1,99 +1,210 @@
|
||||||
|
|
||||||
@if($shopping_user->same_as_billing)
|
@if($shopping_user->same_as_billing)
|
||||||
<!-- Billing -->
|
<!-- Billing -->
|
||||||
<div class="row">
|
<div class="">
|
||||||
@if($shopping_user->billing_company)
|
<div class="form-row">
|
||||||
<div class="col-md-12 mb-3">
|
<div class="form-group col-md-12">
|
||||||
<div class="text-muted small">Firma</div>
|
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||||
{{ $shopping_user->billing_company }}
|
{{ Form::text('shipping_company', $shopping_user->billing_company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Anrede</div>
|
|
||||||
{{ \App\Services\HTMLHelper::getSalutationLang($shopping_user->billing_salutation) }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Vorname</div>
|
|
||||||
{{ $shopping_user->billing_firstname }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Nachname</div>
|
|
||||||
{{ $shopping_user->billing_lastname }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="form-row">
|
||||||
<div class="col-md-3 mb-3">
|
<div class="form-group col-md-6 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||||
<div class="text-muted small">Straße</div>
|
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||||
{{ $shopping_user->billing_address }}
|
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||||
</div>
|
{!! HTMLHelper::getSalutation($shopping_user->billing_salutation) !!}
|
||||||
<div class="col-md-3 mb-3">
|
</select>
|
||||||
<div class="text-muted small">Zusatz</div>
|
@if ($errors->has('shipping_salutation'))
|
||||||
{{ $shopping_user->billing_address_2 }}
|
<span class="help-block">
|
||||||
</div>
|
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||||
<div class="col-md-3 mb-3">
|
</span>
|
||||||
<div class="text-muted small">PLZ</div>
|
@endif
|
||||||
{{ $shopping_user->billing_zipcode }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Stadt</div>
|
|
||||||
{{ $shopping_user->billing_city }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Land</div>
|
|
||||||
@if($shopping_user->billing_country){{ $shopping_user->billing_country->getLocated() }}@endif
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Telefon</div>
|
|
||||||
{{ $shopping_user->billing_phone }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_firstname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_firstname">{{ __('First name') }}*</label>
|
||||||
|
{{ Form::text('shipping_firstname', $shopping_user->billing_firstname, array('placeholder'=>__('First name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_firstname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_firstname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_lastname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_lastname">{{ __('Last name') }}*</label>
|
||||||
|
{{ Form::text('shipping_lastname', $shopping_user->billing_lastname, array('placeholder'=>__('Last name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_lastname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_lastname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_address">{{ __('Street') }} / {{ __('House number') }}*</label>
|
||||||
|
{{ Form::text('shipping_address', $shopping_user->billing_address, array('placeholder'=>__('Street'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_address'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address_2') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_address_2">{{ __('Wohnung / Gebäude (optional)') }}</label>
|
||||||
|
{{ Form::text('shipping_address_2', $shopping_user->billing_address_2, array('placeholder'=>__('Wohnung / Gebäude (optional)'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_zipcode') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_zipcode">{{ __('Postcode') }}*</label>
|
||||||
|
{{ Form::text('shipping_zipcode', $shopping_user->billing_zipcode, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_zipcode'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_zipcode') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_city') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for=shipping_city">{{ __('City') }}*</label>
|
||||||
|
{{ Form::text('shipping_city', $shopping_user->billing_city, array('placeholder'=>__('City'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_city'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_city') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_state') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label">{{ __('Versandland') }}*</label>
|
||||||
|
<select name="shipping_state" class="selectpicker" id="change_shipping_state" data-is-for="ot">
|
||||||
|
{!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!}
|
||||||
|
</select>
|
||||||
|
@if ($errors->has('shipping_state'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_state') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label class="form-label" for="shipping_phone">{{ __('Phone') }}</label>
|
||||||
|
{{ Form::text('shipping_phone', $shopping_user->billing_phone, array('placeholder'=>__('Phone'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!-- / Billing -->
|
<!-- / Billing -->
|
||||||
@else
|
@else
|
||||||
<div class="row">
|
|
||||||
@if($shopping_user->shipping_company)
|
<div class="">
|
||||||
<div class="col-md-12 mb-3">
|
<div class="form-row">
|
||||||
<div class="text-muted small">Firma</div>
|
<div class="form-group col-md-12">
|
||||||
{{ $shopping_user->shipping_company }}
|
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||||
|
{{ Form::text('shipping_company', $shopping_user->shipping_company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Anrede</div>
|
|
||||||
{{ \App\Services\HTMLHelper::getSalutationLang($shopping_user->shipping_salutation) }}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3 mb-3">
|
<div class="form-row">
|
||||||
<div class="text-muted small">Vorname</div>
|
<div class="form-group col-md-12 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||||
{{ $shopping_user->shipping_firstname }}
|
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||||
|
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||||
|
{!! HTMLHelper::getSalutation($shopping_user->shipping_salutation) !!}
|
||||||
|
</select>
|
||||||
|
@if ($errors->has('shipping_salutation'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3 mb-3">
|
<div class="form-row">
|
||||||
<div class="text-muted small">Nachname</div>
|
<div class="form-group col-md-6 {{ $errors->has('shipping_firstname') ? 'has-error' : '' }}">
|
||||||
{{ $shopping_user->shipping_lastname }}
|
<label class="form-label" for="shipping_firstname">{{ __('First name') }}*</label>
|
||||||
|
{{ Form::text('shipping_firstname', $shopping_user->shipping_firstname, array('placeholder'=>__('First name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_firstname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_firstname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_lastname') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_lastname">{{ __('Last Name') }}*</label>
|
||||||
|
{{ Form::text('shipping_lastname', $shopping_user->shipping_lastname, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_lastname'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_lastname') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_address">{{ __('Street') }} / {{ __('House number') }}*</label>
|
||||||
|
{{ Form::text('shipping_address', $shopping_user->shipping_address, array('placeholder'=>__('Street'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_address'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_address_2') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_address_2">{{ __('Wohnung / Gebäude (optional)') }}</label>
|
||||||
|
{{ Form::text('shipping_address_2', $shopping_user->shipping_address_2, array('placeholder'=>__('Wohnung / Gebäude (optional)'), 'class'=>'form-control')) }}
|
||||||
|
@if ($errors->has('shipping_address_2'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_address_2') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_zipcode') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_zipcode">{{ __('Postcode') }}*</label>
|
||||||
|
{{ Form::text('shipping_zipcode', $shopping_user->shipping_zipcode, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_zipcode'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_zipcode') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6 {{ $errors->has('shipping_city') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label" for="shipping_city">{{ __('City') }}*</label>
|
||||||
|
{{ Form::text('shipping_city', $shopping_user->shipping_city, array('placeholder'=>__('City'), 'class'=>'form-control', 'required'=>true)) }}
|
||||||
|
@if ($errors->has('shipping_city'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_city') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12 {{ $errors->has('shipping_state') ? 'has-error' : '' }}">
|
||||||
|
<label class="form-label">{{ __('Versandland') }}*</label>
|
||||||
|
<select name="shipping_state" class="selectpicker" id="change_shipping_state" data-is-for="ot">
|
||||||
|
{!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!}
|
||||||
|
</select>
|
||||||
|
@if ($errors->has('shipping_state'))
|
||||||
|
<span class="help-block">
|
||||||
|
<strong>{{ $errors->first('shipping_state') }}</strong>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label class="form-label" for="shipping_phone">{{ __('Phone') }}</label>
|
||||||
|
{{ Form::text('shipping_phone', $shopping_user->shipping_phone, array('placeholder'=>__('Phone'), 'class'=>'form-control')) }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
@endif
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Straße</div>
|
|
||||||
{{ $shopping_user->shipping_address }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Zusatz</div>
|
|
||||||
{{ $shopping_user->shipping_address_2 }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">PLZ</div>
|
|
||||||
{{ $shopping_user->shipping_zipcode }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Stadt</div>
|
|
||||||
{{ $shopping_user->shipping_city }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Land</div>
|
|
||||||
@if($shopping_user->shipping_country){{ $shopping_user->shipping_country->getLocated() }}@endif
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3 mb-3">
|
|
||||||
<div class="text-muted small">Telefon</div>
|
|
||||||
{{ $shopping_user->shipping_phone }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
115
resources/views/user/order/yard_view_form.blade.php
Normal file
115
resources/views/user/order/yard_view_form.blade.php
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
|
||||||
|
@if(Yard::instance('shopping')->content()->count())
|
||||||
|
@if(Yard::instance('shopping')->compCount() > 0)
|
||||||
|
|
||||||
|
<!-- Shopping cart table -->
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered m-0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- Set columns width -->
|
||||||
|
<th class="text-center py-3 px-4" style="min-width: 400px;">Produkt</th>
|
||||||
|
<th class="text-right py-3 px-4" style="width: 120px;"><div class="no-line-break">Netto-Preis</div></th>
|
||||||
|
<th class="text-center py-3 px-2" style="width: 125px;">Anzahl</th>
|
||||||
|
<th class="text-right py-3 px-4" style="width: 120px;">Summe</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
@foreach(Yard::instance('shopping')->content() as $row)
|
||||||
|
@php($product = \App\Models\Product::find($row->id))
|
||||||
|
<tr>
|
||||||
|
<td class="p-4">
|
||||||
|
<div class="media align-items-center">
|
||||||
|
@if($row->options->has('image'))
|
||||||
|
<img src="{{ route('product_image', [$row->options->image]) }}" class="d-block ui-w-80 ui-bordered mr-4" alt="">
|
||||||
|
@else
|
||||||
|
<img src="{{ asset('/assets/images/1x1.png') }}" class="d-block ui-w-80 ui-bordered mr-4" alt="">
|
||||||
|
@endif
|
||||||
|
<div class="media-body">
|
||||||
|
<div class="d-block text-body" style="font-size: 15px; font-weight: 500;">{{ $row->name }}</div>
|
||||||
|
<div class="text-body">
|
||||||
|
<div>Inhalt: {{ $product->contents }}</div>
|
||||||
|
<div>Art.-Nr.: {{ $product->number }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
|
<div class="no-line-break">{{ Yard::instance('shopping')->rowPriceNet($row, 3) }} €</div>
|
||||||
|
</td>
|
||||||
|
<td class="align-middle p-2">
|
||||||
|
@if($row->options->comp)
|
||||||
|
<div class="text-center product-tooltip" data-toggle="tooltip" title="Kompensationsprodukt">1x KP</div>
|
||||||
|
@else
|
||||||
|
<div class="input-group d-inline-flex" style="width: 110px">
|
||||||
|
<input type="number" class="form-control text-center cart-input-event-onchange" data-row-id="{{$row->rowId}}" data-product-id="{{ $product->id }}" value="{{ $row->qty }}" name="quantity[{{$row->rowId}}]" maxlength="3" max="999" min="1">
|
||||||
|
<span class="input-group-append">
|
||||||
|
<button type="button" class="btn btn-default btn-sm remove_item_form_cart product-tooltip" data-row-id="{{$row->rowId}}" data-product-id="{{ $product->id }}">x</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="text-right font-weight-semibold align-middle p-4">
|
||||||
|
<div class="no-line-break">{{ Yard::instance('shopping')->rowSubtotalNet($row) }} €</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- / Shopping cart table -->
|
||||||
|
<div class="d-flex flex-wrap justify-content-between pb-4">
|
||||||
|
<div class="mt-2">
|
||||||
|
<p class="small mb-2">Du hast {{ Yard::instance('shopping')->compCount() }} Artikel in Deinem Warenkorb</p>
|
||||||
|
<p>Gesamte Points: {{ Yard::instance('shopping')->points() }}</p>
|
||||||
|
<button type="button" class="btn btn-default btn-sm" id="clear-products-basket"><i class="ion ion-ios-trash"></i> Warenkorb löschen</button>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex">
|
||||||
|
<div class="text-right mt-2">
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left" style="border-top:none;">Zwischensumme:</td>
|
||||||
|
<td style="border-top:none;">{{ Yard::instance('shopping')->subtotal() }} €</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left">Versandland:</td>
|
||||||
|
<td>{{ Yard::instance('shopping')->getShippingCountryName() }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left">Versandkosten:</td>
|
||||||
|
<td>
|
||||||
|
{{ Yard::instance('shopping')->shippingNet() }} €
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left">Summe ohne MwSt:</td>
|
||||||
|
<td>
|
||||||
|
{{ Yard::instance('shopping')->subtotalWithShipping() }} €
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left">zzgl. MwSt:</td>
|
||||||
|
<td>{{ Yard::instance('shopping')->taxWithShipping() }} €</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left"><strong>Gesamtsumme Brutto:</strong></td>
|
||||||
|
<td><strong>{{ Yard::instance('shopping')->totalWithShipping() }} €</strong></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="float-right">
|
||||||
|
<button type="submit" class="btn btn-secondary"><i class="ion ion-ios-redo"></i> bestätigen und weiter zur Kasse</button>
|
||||||
|
</div>
|
||||||
|
<br><br>
|
||||||
|
<em class="small text-center"> <i class="fa fa-lock"></i> Du wirst auf unseren checkout Server weitergeletet, die Verbindung ist SSL verschlüsselt.</em>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
@ -322,7 +322,7 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 col-sm-12">
|
<div class="col-md-12 col-sm-12">
|
||||||
<div class="form-group {{($errors->has('billing_salutation') ? 'error' : '')}}">
|
<div class="form-group {{($errors->has('billing_salutation') ? 'error' : '')}}">
|
||||||
|
|
||||||
|
|
||||||
<label class="mt-0 fs-14 fw-400" for="shipping_salutation">Anrede *</label>
|
<label class="mt-0 fs-14 fw-400" for="shipping_salutation">Anrede *</label>
|
||||||
|
|
@ -630,9 +630,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-12 col-md-4">
|
<div class="form-group col-sm-12 col-md-4">
|
||||||
<label class="mt-0 fs-14 fw-400">Prüfnr.*</label>
|
<label class="mt-0 fs-14 fw-400">Prüfnr.*</label>
|
||||||
|
|
||||||
{!! Form::text('cc_cardcvc2', '', ['class' => 'form-control', 'id'=>'cc_cardcvc2', 'placeholder'=>'CVC*']) !!}
|
{!! Form::text('cc_cardcvc2', '', ['class' => 'form-control', 'id'=>'cc_cardcvc2', 'placeholder'=>'CVC*']) !!}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -252,9 +252,15 @@ Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_car
|
||||||
Route::get('/user/order/my/delivery/{for}/{id?}', 'User\OrderController@delivery')->name('user_order_my_delivery');
|
Route::get('/user/order/my/delivery/{for}/{id?}', 'User\OrderController@delivery')->name('user_order_my_delivery');
|
||||||
Route::post('/user/order/my/delivery/{for}/{id?}', 'User\OrderController@delivery')->name('user_order_my_delivery');
|
Route::post('/user/order/my/delivery/{for}/{id?}', 'User\OrderController@delivery')->name('user_order_my_delivery');
|
||||||
|
|
||||||
|
Route::get('/user/order/my/list/{for}/{id?}', 'User\OrderController@list')->name('user_order_my_list');
|
||||||
Route::post('/user/order/my/list/{for}/{id?}', 'User\OrderController@list')->name('user_order_my_list');
|
Route::post('/user/order/my/list/{for}/{id?}', 'User\OrderController@list')->name('user_order_my_list');
|
||||||
|
|
||||||
|
Route::post('/user/order/my/payment/{for}/{id?}', 'User\OrderController@payment')->name('user_order_my_payment');
|
||||||
|
|
||||||
Route::get('/user/order/my/datatable', 'User\OrderController@datatable')->name('user_order_my_datatable');
|
Route::get('/user/order/my/datatable', 'User\OrderController@datatable')->name('user_order_my_datatable');
|
||||||
|
|
||||||
|
Route::post('/user/order/my/perform/request/', 'User\OrderController@performRequest')->name('user_order_my_perform_request');
|
||||||
|
|
||||||
//products images
|
//products images
|
||||||
Route::post('/user/shop_on_site/upload/image', 'UserShopController@uploadOnSiteImage')->name('user_shop_on_site_upload_image');
|
Route::post('/user/shop_on_site/upload/image', 'UserShopController@uploadOnSiteImage')->name('user_shop_on_site_upload_image');
|
||||||
Route::get('/user/shop_on_site/{image_id}/{user_shop_id}', 'UserShopController@deleteOnSiteImage')->name('user_shop_on_site_delete_image');
|
Route::get('/user/shop_on_site/{image_id}/{user_shop_id}', 'UserShopController@deleteOnSiteImage')->name('user_shop_on_site_delete_image');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue