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"?>
|
||||
<project version="4">
|
||||
<component name="AutoImportSettings">
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<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$/.idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.4.xsd" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/php-test-framework.xml" 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 afterPath="$PROJECT_DIR$/public/js/iq-shopping-cart.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/comp_product.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/order/yard_view_form.blade.php" 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/Web/ContactController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Web/ContactController.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/Http/Controllers/User/OrderController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/User/OrderController.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/Models/ShippingPrice.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShippingPrice.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/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$/app/Services/Shop.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/Shop.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/helpers.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/helpers.php" 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/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/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/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/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/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/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/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/customer/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/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/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/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/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/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/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/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/membership/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/membership/index.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/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/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/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/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/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" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
|
@ -322,7 +269,7 @@
|
|||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<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_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
|
|
@ -330,11 +277,11 @@
|
|||
</component>
|
||||
<component name="RecentsManager">
|
||||
<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/modal" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/user/order" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Controllers/SyS" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/sys/settings" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/resources/views/user/customer" />
|
||||
|
|
@ -582,6 +529,9 @@
|
|||
<workItem from="1596268902765" duration="165000" />
|
||||
<workItem from="1596269074069" duration="69000" />
|
||||
<workItem from="1596802450904" duration="6190000" />
|
||||
<workItem from="1596873885106" duration="22962000" />
|
||||
<workItem from="1597138806746" duration="5000" />
|
||||
<workItem from="1597216110022" duration="32246000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
@ -618,10 +568,10 @@
|
|||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</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="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" />
|
||||
</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">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
|
|
@ -670,21 +620,21 @@
|
|||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</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="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" />
|
||||
</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="-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 width="600" height="428" key="javadoc.popup" timestamp="1594733832314">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</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 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" />
|
||||
</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" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
|
|
|
|||
|
|
@ -79,39 +79,66 @@ class CustomerController extends Controller
|
|||
abort(404);
|
||||
}
|
||||
}
|
||||
if(old('email') || old('billing_email')){
|
||||
$step = 1;
|
||||
$shopping_user->same_as_billing = true;
|
||||
|
||||
$billing_email = null;
|
||||
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 = [
|
||||
'shopping_user' => $shopping_user,
|
||||
'isAdmin' => false,
|
||||
'isView' => $step === 0 ? 'customer' : 'customer-add',
|
||||
'step' => $step,
|
||||
'billing_email' => old('email'),
|
||||
'billing_email' => $billing_email,
|
||||
|
||||
];
|
||||
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)
|
||||
{
|
||||
$data = Request::all();
|
||||
|
||||
if($id === 'new' && $data['action'] === 'add_customer_step_email'){
|
||||
$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());
|
||||
}
|
||||
//okay, go to step 1
|
||||
if($id === 'new' && $data['action'] === 'add_customer_with_email'){
|
||||
return $this->checkShoppingUsersEmail($data);
|
||||
}
|
||||
if($id === 'new' && $data['action'] === 'add_customer_without_email'){
|
||||
return back()->withInput(Request::all());
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
$shopping_user->fill($data);
|
||||
$shopping_user->save();
|
||||
|
||||
}
|
||||
|
||||
if($id === 'new' && $data['action'] === 'shopping-user-store-new') {
|
||||
|
|
@ -169,6 +197,10 @@ class CustomerController extends Controller
|
|||
}
|
||||
\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);
|
||||
return redirect(route('user_customer_detail', [$shopping_user->id]));
|
||||
}
|
||||
|
|
@ -209,7 +241,7 @@ class CustomerController extends Controller
|
|||
return get_active_badge($ShoppingUser->subscribed);
|
||||
})
|
||||
->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) {
|
||||
return $ShoppingUser->wp_order_number.($ShoppingUser->mode==='dev' ? ' <span class="badge badge-warning">dev</span>' : '');
|
||||
|
|
|
|||
|
|
@ -4,12 +4,14 @@
|
|||
namespace App\Http\Controllers\User;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Product;
|
||||
use App\Models\ShippingCountry;
|
||||
use App\Models\ShoppingOrder;
|
||||
use App\Models\ShoppingUser;
|
||||
use App\Services\HTMLHelper;
|
||||
use App\Services\Payment;
|
||||
use App\User;
|
||||
use Auth;
|
||||
use Request;
|
||||
use Validator;
|
||||
use Yard;
|
||||
|
||||
|
||||
class OrderController extends Controller
|
||||
|
|
@ -17,10 +19,9 @@ class OrderController extends Controller
|
|||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('active.shop');
|
||||
$this->middleware('active.account');
|
||||
}
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data = [
|
||||
|
|
@ -47,22 +48,23 @@ class OrderController extends Controller
|
|||
{
|
||||
$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;
|
||||
$delivery_id = null;
|
||||
if($for === 'ot'){
|
||||
$shopping_user = $this->checkShoppingUser($id, $user);
|
||||
$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 = [
|
||||
|
|
@ -78,19 +80,26 @@ class OrderController extends Controller
|
|||
public function list($for, $id=null)
|
||||
{
|
||||
$user = User::find(\Auth::user()->id);
|
||||
|
||||
$shopping_user = null;
|
||||
$delivery_id = null;
|
||||
|
||||
if($for === 'ot'){
|
||||
$shopping_user = $this->checkShoppingUser($id, $user);
|
||||
$delivery_id = $shopping_user->id;
|
||||
}
|
||||
//$data = Request::all();
|
||||
//dd(session('switchers-radio-is-for'));
|
||||
//$shopping_user = new ShoppingUser();
|
||||
//$shopping_user->id = "new";
|
||||
//$shopping_user->same_as_billing = true;
|
||||
$shipping_country_id = $this->checkShoppingCountry($for, $id);
|
||||
if(!$shipping_country_id){
|
||||
\Session()->flash('custom-error', __('validation.custom.shipping_not_found'));
|
||||
return redirect(route('user_order_my_delivery', [$for, $delivery_id]));
|
||||
}
|
||||
|
||||
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 = [
|
||||
'shopping_user' => $shopping_user,
|
||||
'user' => $user,
|
||||
|
|
@ -98,11 +107,129 @@ class OrderController extends Controller
|
|||
'isView' => 'customer',
|
||||
'for' => $for,
|
||||
'delivery_id' => $delivery_id,
|
||||
|
||||
'comp_products' => $comp_products,
|
||||
];
|
||||
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){
|
||||
if($id === null){
|
||||
abort(403, 'Error: Keine User ID');
|
||||
|
|
@ -129,27 +256,22 @@ class OrderController extends Controller
|
|||
|
||||
return \DataTables::eloquent($query)
|
||||
->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>
|
||||
</a>';
|
||||
|
||||
/*'<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>'*/;
|
||||
</button>';
|
||||
})
|
||||
->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">
|
||||
<div class="input-group d-inline-flex w-auto">
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</div>';
|
||||
|
|
@ -161,22 +283,27 @@ class OrderController extends Controller
|
|||
}
|
||||
return "";
|
||||
})
|
||||
->addColumn('price', function (Product $product) {
|
||||
return $product->getFormattedPriceWith();
|
||||
->addColumn('price_net', function (Product $product) {
|
||||
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) {
|
||||
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-action="user-order-show-product" data-view="customer"><i class="ion ion-md-eye"></i></button>';
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
->orderColumn('name', 'name $1')
|
||||
->orderColumn('number', 'number $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('weight', 'weight $1')
|
||||
->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 = $net ? $this->calcPriceNet($price) : $price;
|
||||
$price = $ufactor ? $this->calcPriceUserFactor($price) : $price;
|
||||
return $price;
|
||||
return round($price, 2);
|
||||
}
|
||||
/*out*/
|
||||
public function getFormattedPriceWith(Bool $net = true, Bool $ufactor = true)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ namespace App\Services;
|
|||
|
||||
|
||||
use App\Models\ShoppingUser;
|
||||
use Gloudemans\Shoppingcart\CartItem;
|
||||
|
||||
class Shop
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<?php
|
||||
namespace App\Services;
|
||||
|
||||
use App\Models\Product;
|
||||
use App\Models\ShippingCountry;
|
||||
use \Gloudemans\Shoppingcart\Cart;
|
||||
use Gloudemans\Shoppingcart\CartItem;
|
||||
use Gloudemans\Shoppingcart\Contracts\Buyable;
|
||||
use Illuminate\Session\SessionManager;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
use Illuminate\Support\Collection;
|
||||
|
|
@ -12,8 +14,11 @@ use Illuminate\Support\Collection;
|
|||
class Yard extends Cart
|
||||
{
|
||||
private $shipping_price = 0;
|
||||
private $shipping_price_net = 0;
|
||||
private $shipping_tax_rate = 0;
|
||||
private $shipping_tax = 0;
|
||||
private $shipping_country_id = 0; //default de
|
||||
private $shipping_is_for;
|
||||
private $ysession;
|
||||
private $yinstance;
|
||||
|
||||
|
|
@ -33,16 +38,22 @@ class Yard extends Cart
|
|||
$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);
|
||||
|
||||
if($this->shipping_country_id == 0){
|
||||
if(gettype($this->shipping_country_id) !== 'object' && $this->shipping_country_id == 0){
|
||||
$shippingCountry = ShippingCountry::first();
|
||||
if($shippingCountry){
|
||||
$this->shipping_country_id = $shippingCountry->id;
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
public function setShippingCountryWithPrice($shipping_country_id)
|
||||
public function setShippingCountryWithPrice($shipping_country_id, $shipping_is_for = 'ot')
|
||||
{
|
||||
$this->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();
|
||||
|
||||
}
|
||||
|
|
@ -113,11 +128,15 @@ class Yard extends Cart
|
|||
private function calculateShippingPrice(){
|
||||
|
||||
$shippingCountry = ShippingCountry::find($this->shipping_country_id);
|
||||
if(!$shippingCountry){
|
||||
return;
|
||||
}
|
||||
$shipping = $shippingCountry->shipping;
|
||||
|
||||
if($this->weight() == 0){
|
||||
$shipping_price = $shipping->shipping_prices->first();
|
||||
$shipping_price->price = 0;
|
||||
$shipping_price->price_comp = 0;
|
||||
}else{
|
||||
//first by price
|
||||
$shipping_price = $this->shippingPriceByTotal($shipping->shipping_prices, $this->total(2, '.', ''));
|
||||
|
|
@ -131,10 +150,20 @@ class Yard extends Cart
|
|||
}
|
||||
}
|
||||
if($shipping_price){
|
||||
$this->shipping_price = $shipping_price->price;
|
||||
$this->shipping_tax = $shipping_price->tax_rate;
|
||||
$price = $shipping_price->price;
|
||||
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_tax_rate', $this->shipping_tax_rate);
|
||||
$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);
|
||||
}
|
||||
|
||||
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){
|
||||
$shippingTax = $this->shipping_price / (100 + $this->shipping_tax) * $this->shipping_tax;
|
||||
return $this->numberFormat($shippingTax, $decimals, $decimalPoint, $thousandSeperator);
|
||||
private function shippingTax($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||
{
|
||||
return $this->numberFormat($this->shipping_tax, $decimals, $decimalPoint, $thousandSeperator);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function subShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
||||
$subShipping = $this->shipping_price - $this->shippingTax($decimals, $decimalPoint, $thousandSeperator);
|
||||
/* private function subShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null){
|
||||
$subShipping = $this->shipping_price_net
|
||||
return $this->numberFormat($subShipping, $decimals, $decimalPoint, $thousandSeperator);
|
||||
}
|
||||
|
||||
|
||||
}*/
|
||||
//netto
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
public function taxWithShipping($decimals = null, $decimalPoint = null, $thousandSeperator = null)
|
||||
{
|
||||
$totalTax = $this->tax(2, '.', '');
|
||||
$shippingTax = $this->shippingTax(2, '.', '');
|
||||
return $this->numberFormat(($totalTax+$shippingTax), $decimals, $decimalPoint, $thousandSeperator);
|
||||
$total = $this->totalWithShipping(2, '.', '');
|
||||
// $totalTax = (float) $this->tax(2, '.', '') + $this->shipping_tax;
|
||||
$totalTax = $this->subtotalWithShipping(2, '.', '');
|
||||
return $this->numberFormat(($total - $totalTax), $decimals, $decimalPoint, $thousandSeperator);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -220,6 +254,27 @@ class Yard extends Cart
|
|||
|
||||
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.
|
||||
*
|
||||
|
|
@ -271,13 +326,48 @@ class Yard extends Cart
|
|||
$content = $this->getContent();
|
||||
|
||||
$subTotal = $content->reduce(function ($subTotal, CartItem $cartItem) {
|
||||
$priceTax = $cartItem->price / (100 + $cartItem->taxRate) * $cartItem->taxRate;
|
||||
return $subTotal + ($cartItem->qty * ($cartItem->price - $priceTax));
|
||||
$price_net = $cartItem->price / ((100 + $cartItem->taxRate) / 100);
|
||||
return $subTotal + ($cartItem->qty * $price_net);
|
||||
}, 0);
|
||||
|
||||
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()
|
||||
{
|
||||
$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
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ if (! function_exists('get_file_last_time')) {
|
|||
if (file_exists($value)) {
|
||||
return filemtime($value);
|
||||
}
|
||||
return date("Ymd-i", time());
|
||||
return date("Ymd-is", time());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,43 +45,46 @@ jQuery(document).ready(function() {
|
|||
e.preventDefault();
|
||||
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,
|
||||
todayBtn: 'linked',
|
||||
//daysOfWeekDisabled: '1',
|
||||
todayHighlight: true,
|
||||
multidate: false,
|
||||
daysOfWeekHighlighted: '0,6',
|
||||
autoclose: true,
|
||||
format: 'dd.mm.yyyy',
|
||||
language: 'de',
|
||||
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: ''
|
||||
});
|
||||
});
|
||||
}
|
||||
if($('.b-material-datetime-picker').length > 0) {
|
||||
$('.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' => [
|
||||
'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_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' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -36,75 +36,94 @@
|
|||
{{$shopping_user->firstEntryByNumber()->created_at->format("d.m.Y H:i")}}
|
||||
</div>
|
||||
<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>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<hr class="m-0">
|
||||
<!-- / Info -->
|
||||
|
||||
@if($isAdmin)
|
||||
<!-- Member -->
|
||||
<div class="card-body pb-1">
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
@if(isset($change_member_error) && $change_member_error)
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger p-2">
|
||||
<ul>
|
||||
<li>{{ $change_member_error }}</li>
|
||||
</ul>
|
||||
<div class="card-body pb-1">
|
||||
<div class="row">
|
||||
@if($isAdmin)
|
||||
<div class="col-md-6 mb-3">
|
||||
@if(isset($change_member_error) && $change_member_error)
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger p-2">
|
||||
<ul>
|
||||
<li>{{ $change_member_error }}</li>
|
||||
</ul>
|
||||
</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
|
||||
<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
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<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>
|
||||
<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
|
||||
<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
|
||||
</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>
|
||||
<div class="col-md-3 mb-3">
|
||||
<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
|
||||
<span class="badge badge-danger" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</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>
|
||||
<hr class="m-0">
|
||||
<!-- / Member -->
|
||||
@endif
|
||||
|
||||
<!-- Billing -->
|
||||
@include('admin.customer._customer_detail')
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
@endif
|
||||
</div>
|
||||
|
||||
<div class="media-body p-4 p-md-5">
|
||||
<div class="media-body p-4 p-md-5 ">
|
||||
<h4 class="mb-2">
|
||||
<a href="#" class="text-body">{{ $product->name }}</a>
|
||||
</h4>
|
||||
|
|
@ -49,7 +49,8 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<hr class="mt-0 mb-4">
|
||||
{{--
|
||||
<hr class="mt-0 mb-4">
|
||||
|
||||
<div class="input-group d-inline-flex w-auto">
|
||||
<span class="input-group-prepend">
|
||||
|
|
@ -64,6 +65,7 @@
|
|||
<button class="btn btn-secondary ml-3 mb-1">
|
||||
<strong>€ {{$product->getFormattedPriceWith()}}</strong> +<span class="ion ion-md-cart"></span>
|
||||
</button>
|
||||
--}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -142,18 +142,17 @@
|
|||
<label for="price" class="form-label">{{__('Kunden Preis (brutto)')}}*</label>
|
||||
<input type="text" class="form-control" name="price" placeholder="{{__('Preis in Euro')}}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-6">
|
||||
<label for="tax_rate" class="form-label">{{__('enthaltene Tax (%)')}}</label>
|
||||
<input type="text" class="form-control" name="tax_rate" placeholder="{{__('Tax in %')}}">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
|
|
|
|||
|
|
@ -142,6 +142,8 @@
|
|||
<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/iq-shopping-cart.js') }}?v=1{{ get_file_last_time('/js/iq-shopping-cart.js') }}"></script>
|
||||
|
||||
@yield('scripts')
|
||||
|
||||
<script type="text/javascript">
|
||||
|
|
|
|||
|
|
@ -45,9 +45,9 @@
|
|||
<div class="mb-3">
|
||||
<div id="smartwizard-3-step-1" class="card animated fadeIn">
|
||||
<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-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>
|
||||
{{ Form::text('email', '', array('placeholder'=>'E-Mail Adresse', 'class'=>'form-control', 'id'=>'email', 'required'=>true ,'tabindex' => 1)) }}
|
||||
@if ($errors->has('email'))
|
||||
|
|
@ -59,9 +59,32 @@
|
|||
</div>
|
||||
</div>
|
||||
<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>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="smartwizard-3-step-2" class="card animated fadeIn">
|
||||
|
|
@ -97,6 +120,15 @@
|
|||
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>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,16 @@
|
|||
<a href="{{route('user_customers')}}" class="btn btn-sm btn-default float-right">zurück</a>
|
||||
{{ __('Kunden Details') }}
|
||||
</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')
|
||||
<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">
|
||||
<h5 class="card-header">{{__('Mitgliedschaft')}} {{__('anpassen')}}</h5>
|
||||
<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>
|
||||
<p>Die restlichen Läufzeiten bleiben erhalten, erst mit der Verlängerung wird das geänderte Paket aktiv.</p>
|
||||
<h6 class="d-block text-dark">Du kannst Deine Mitglidschaft bis zur nächsten Vertragsverlängerung, am {{ $user->nextRenewalAccount() }}, ändern.</h6>
|
||||
<p>Die restlichen Laufzeiten bleiben erhalten, erst mit der Verlängerung wird das geänderte Paket aktiv.</p>
|
||||
@include('user.membership._change')
|
||||
</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-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>
|
||||
<div class="switchers-stacked">
|
||||
<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-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
</label>
|
||||
|
||||
<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-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
|
|
@ -42,19 +42,20 @@
|
|||
data-action="user-order-my-delivery-show"
|
||||
data-back="{{route('user_order_my_delivery', [$for])}}"
|
||||
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 class="form-group col-sm-6">
|
||||
<button type="button" class="btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-load-content"
|
||||
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>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
@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">
|
||||
<h4>An diesen Kunde versenden</h4>
|
||||
@include('admin.customer._customer_detail')
|
||||
|
|
@ -62,11 +63,15 @@
|
|||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="float-right">
|
||||
<button type="submit" class="btn btn-secondary">bestätigen und weiter zur Bestellung</button>
|
||||
</div>
|
||||
@if($shopping_user)
|
||||
<div class="float-right">
|
||||
<button type="submit" class="btn btn-secondary" name="action" value="next">bestätigen und weiter zur Bestellung</button>
|
||||
</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>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
|
@ -76,18 +81,14 @@
|
|||
$( document ).ready(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');
|
||||
$('#hide_for_ot').hide('slow');
|
||||
}else{
|
||||
$('#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>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
@section('content')
|
||||
<h4 class="font-weight-bold py-2 mb-2">
|
||||
{{ __('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>
|
||||
|
||||
<style>
|
||||
.btn-md-extra {
|
||||
padding: 0.3rem 0.6rem;
|
||||
|
|
@ -31,12 +31,11 @@
|
|||
min-width:55px;
|
||||
max-height: 160px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="card">
|
||||
<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>
|
||||
<tr>
|
||||
<th>{{__('Bild')}}</th>
|
||||
|
|
@ -45,6 +44,8 @@
|
|||
<th>{{__('Produkt')}}</th>
|
||||
<th>{{__('Artikelnummer')}}</th>
|
||||
<th>{{__('Netto-Preis')}}</th>
|
||||
<th>{{__('Brutto-Preis')}}</th>
|
||||
<th>{{__('VK-Brutto-Preis')}}</th>
|
||||
<th>{{__('Points')}}</th>
|
||||
<th><span class="no-line-break">{{__('Inhalt (ml)')}}</span></th>
|
||||
<th><span class="no-line-break">{{__('Gewicht (g)')}}</span></th>
|
||||
|
|
@ -55,33 +56,48 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{!! Form::open(['url' => route('wizard_store_payment', [20]), 'class' => 'form-horizontal']) !!}
|
||||
|
||||
{!! Form::open(['url' => route('user_order_my_payment', [$for, $delivery_id]), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="shipping_is_for" value="{{$for}}">
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
|
||||
@if($for === 'ot')
|
||||
<h4>Lieferadresse (Kunde)</h4>
|
||||
<h4>Lieferadresse des Kunden</h4>
|
||||
@include('user.order.shipping_ot')
|
||||
@endif
|
||||
|
||||
@if($for === 'me')
|
||||
<h4>Lieferadresse (meine)</h4>
|
||||
<h4>Meine Lieferadresse</h4>
|
||||
@include('user.order.shipping_me')
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
@include('user.order.list_form')
|
||||
|
||||
{!! Form::close() !!}
|
||||
</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>
|
||||
$( document ).ready(function() {
|
||||
|
||||
var iqShoppingCart = IqShoppingCart.init();
|
||||
|
||||
var oTable = $('#datatables-order-list').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
|
|
@ -99,7 +115,9 @@
|
|||
{ data: 'quantity', name: 'quantity', searchable: false, orderable: false},
|
||||
{ data: 'name', name: 'name' },
|
||||
{ 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: 'contents_total', name: 'contents_total', searchable: false },
|
||||
{ data: 'weight', name: 'weight', searchable: false },
|
||||
|
|
@ -109,23 +127,26 @@
|
|||
"iDisplayLength": 50,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
},
|
||||
drawCallback: function (settings) {
|
||||
iqShoppingCart.reInit();
|
||||
}
|
||||
});
|
||||
/* $('#filter_member_id').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
$('#filter_customer_member').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
*/
|
||||
|
||||
iqShoppingCart.setDatabase(oTable);
|
||||
|
||||
/* $('#filter_member_id').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
$('#filter_customer_member').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
*/
|
||||
|
||||
$('body').tooltip({
|
||||
selector: '.product-tooltip'
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
@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>
|
||||
</table>
|
||||
</div>
|
||||
<!-- / Shopping cart table -->
|
||||
<!-- 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>
|
||||
|
||||
<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 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>
|
||||
<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>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="float-right">
|
||||
<button type="submit" class="btn btn-secondary">bestätigen und weiter zur Kasse</button>
|
||||
</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>
|
||||
</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 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->same_as_billing)
|
||||
<!-- Billing -->
|
||||
<div class="row">
|
||||
@if($user->account->company)
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="text-muted small">Firma</div>
|
||||
{{ $user->account->company }}
|
||||
</div>
|
||||
@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 class="">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||
{{ Form::text('shipping_company', $user->account->company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Straße</div>
|
||||
{{ $user->account->address }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Zusatz</div>
|
||||
{{ $user->account->address_2 }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">PLZ</div>
|
||||
{{ $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 class="form-row">
|
||||
<div class="form-group col-md-6 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||
{!! HTMLHelper::getSalutation($user->account->salutation) !!}
|
||||
</select>
|
||||
@if ($errors->has('shipping_salutation'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</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 -->
|
||||
@else
|
||||
<div class="row">
|
||||
@if($user->account->shipping_company)
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="text-muted small">Firma</div>
|
||||
{{ $user->account->shipping_company }}
|
||||
</div>
|
||||
@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 class="">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||
{{ Form::text('shipping_company', $user->account->shipping_company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Straße</div>
|
||||
{{ $user->account->shipping_address }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Zusatz</div>
|
||||
{{ $user->account->shipping_address_2 }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">PLZ</div>
|
||||
{{ $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 class="form-row">
|
||||
<div class="form-group col-md-12 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||
{!! HTMLHelper::getSalutation($user->account->shipping_salutation) !!}
|
||||
</select>
|
||||
@if ($errors->has('shipping_salutation'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</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
|
||||
@else
|
||||
<h4>Fehler: Keine Adressdaten gefunden!</h4>
|
||||
|
|
|
|||
|
|
@ -1,99 +1,210 @@
|
|||
|
||||
@if($shopping_user->same_as_billing)
|
||||
<!-- Billing -->
|
||||
<div class="row">
|
||||
@if($shopping_user->billing_company)
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="text-muted small">Firma</div>
|
||||
{{ $shopping_user->billing_company }}
|
||||
</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 class="">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="shipping_company" class="form-label">{{ __('Company name') }} (optional)</label>
|
||||
{{ Form::text('shipping_company', $shopping_user->billing_company, array('placeholder'=>__('Company name'), 'class'=>'form-control')) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Straße</div>
|
||||
{{ $shopping_user->billing_address }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Zusatz</div>
|
||||
{{ $shopping_user->billing_address_2 }}
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<div class="text-muted small">PLZ</div>
|
||||
{{ $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 class="form-row">
|
||||
<div class="form-group col-md-6 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||
<label class="form-label">{{ __('Salutation') }}*</label>
|
||||
<select class="selectpicker" data-style="btn-light" name="shipping_salutation" id="shipping_salutation" required>
|
||||
{!! HTMLHelper::getSalutation($shopping_user->billing_salutation) !!}
|
||||
</select>
|
||||
@if ($errors->has('shipping_salutation'))
|
||||
<span class="help-block">
|
||||
<strong>{{ $errors->first('shipping_salutation') }}</strong>
|
||||
</span>
|
||||
@endif
|
||||
</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 -->
|
||||
@else
|
||||
<div class="row">
|
||||
@if($shopping_user->shipping_company)
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="text-muted small">Firma</div>
|
||||
{{ $shopping_user->shipping_company }}
|
||||
|
||||
<div class="">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<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>
|
||||
@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 class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Vorname</div>
|
||||
{{ $shopping_user->shipping_firstname }}
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12 {{ $errors->has('shipping_salutation') ? 'has-error' : '' }}">
|
||||
<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 class="col-md-3 mb-3">
|
||||
<div class="text-muted small">Nachname</div>
|
||||
{{ $shopping_user->shipping_lastname }}
|
||||
<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->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 class="row">
|
||||
<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>
|
||||
@endif
|
||||
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="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>
|
||||
|
|
@ -630,9 +630,7 @@
|
|||
</div>
|
||||
<div class="form-group col-sm-12 col-md-4">
|
||||
<label class="mt-0 fs-14 fw-400">Prüfnr.*</label>
|
||||
|
||||
{!! Form::text('cc_cardcvc2', '', ['class' => 'form-control', 'id'=>'cc_cardcvc2', 'placeholder'=>'CVC*']) !!}
|
||||
|
||||
</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::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/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::post('/user/order/my/perform/request/', 'User\OrderController@performRequest')->name('user_order_my_perform_request');
|
||||
|
||||
//products images
|
||||
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');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue