Membership
This commit is contained in:
parent
37cb2b06c7
commit
21abafb8db
51 changed files with 1549 additions and 493 deletions
5
.env
5
.env
|
|
@ -12,6 +12,8 @@ APP_URL_CHECKOUT=checkout.
|
|||
#APP_URL_MAIN=dev.
|
||||
APP_URL_CRM=my.
|
||||
APP_CHECKOUT_MAIL=register@adametz.media
|
||||
APP_INFO_MAIL=register@adametz.media
|
||||
|
||||
#APP_CHECKOUT_MAIL=no-replay@mivita.care
|
||||
LOG_CHANNEL=stack
|
||||
|
||||
|
|
@ -55,3 +57,6 @@ PUSHER_APP_CLUSTER=mt1
|
|||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
MIVITA_RENEWAL_DAYS=29
|
||||
MIVITA_ABO_BOOKING_DAYS=14
|
||||
|
|
|
|||
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Datasource local storage ignored files
|
||||
/dataSources.local.xml
|
||||
/dataSources/
|
||||
11
.idea/dataSources.xml
generated
Normal file
11
.idea/dataSources.xml
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="MySQL - @localhost" uuid="f58b2045-72b3-4199-b31f-5c9c653c31de">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://localhost:3306/mivita</jdbc-url>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
127
.idea/workspace.xml
generated
127
.idea/workspace.xml
generated
|
|
@ -2,43 +2,54 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="2fbaac5f-25ba-4502-a970-cc14728d7d55" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/MembershipController.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Middleware/ActiveAccount.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Http/Middleware/ActiveShop.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/lang/de/cal.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/_abo_options.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/_upgrade.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/index.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/wizard/_payment.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/wizard/create_release.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/wizard/register_payment.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/.gitignore" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/app/Mail/MailInfo.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/config/mivita.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/lang/de/payment.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/_change.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/_payment.blade.php" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/resources/views/user/membership/_payment_order.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.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$/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/PayoneController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Api/PayoneController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/HomeController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/HomeController.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/MembershipController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/MembershipController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Pay/PayoneController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Pay/PayoneController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/UserShopController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/UserShopController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Web/CardController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Web/CardController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/Web/CheckoutController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/Web/CheckoutController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/WizardController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/WizardController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Kernel.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Kernel.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/Authenticate.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Middleware/Authenticate.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/Localization.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Middleware/Localization.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/Checkout.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Middleware/Checkout.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Http/Middleware/Subdomain.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Middleware/Subdomain.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Mail/MailCheckout.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Mail/MailCheckout.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/File.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/File.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/ShoppingInstance.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShoppingInstance.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/ShoppingUser.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ShoppingUser.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Models/UserAccount.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/UserAccount.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Services/Util.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/Util.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/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$/composer.lock" beforeDir="false" afterPath="$PROJECT_DIR$/composer.lock" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/config/app.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/app.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_02_23_161530_create_shopping_users_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_02_23_161530_create_shopping_users_table.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/database/migrations/2019_02_29_170559_create_user_accounts_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_02_29_170559_create_user_accounts_table.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/public/css/application.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/css/application.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/database/migrations/2019_02_21_195012_create_shopping_instances_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/migrations/2019_02_21_195012_create_shopping_instances_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$/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/site/edit.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/admin/site/edit.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/emails/checkout.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/emails/checkout.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/auth/login.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/auth/login.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/home.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/home.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/user/wizard/create.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/wizard/create.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/user/membership/_abo_options.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/membership/_abo_options.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/user/membership/_upgrade.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/membership/_upgrade.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/wizard/_payment.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/user/wizard/_payment.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$/resources/views/web/user/layouts/includes/footer.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/user/layouts/includes/footer.blade.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/resources/views/web/user/layouts/includes/header.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/web/user/layouts/includes/header.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" />
|
||||
|
|
@ -52,6 +63,43 @@
|
|||
<phar pharPath="/usr/local/bin/composer" interpreterId="1b9e99f0-0fb5-45bb-9686-0d9b61bf499b" />
|
||||
</execution>
|
||||
</component>
|
||||
<component name="DatabaseView">
|
||||
<option name="SHOW_INTERMEDIATE" value="true" />
|
||||
<option name="GROUP_DATA_SOURCES" value="true" />
|
||||
<option name="GROUP_SCHEMA" value="true" />
|
||||
<option name="GROUP_CONTENTS" value="false" />
|
||||
<option name="SORT_POSITIONED" value="false" />
|
||||
<option name="SHOW_EMPTY_GROUPS" value="false" />
|
||||
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
|
||||
<option name="HIDDEN_KINDS">
|
||||
<set />
|
||||
</option>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="MySQL - @localhost" type="feb32156:DbDataSourceImpl" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="MySQL - @localhost" type="feb32156:DbDataSourceImpl" />
|
||||
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="MySQL - @localhost" type="feb32156:DbDataSourceImpl" />
|
||||
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
|
||||
<item name="mivita: schema" type="76f4a085:MysqlImplModel$Schema" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="MySQL - @localhost" type="feb32156:DbDataSourceImpl" />
|
||||
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
|
||||
<item name="mivita: schema" type="76f4a085:MysqlImplModel$Schema" />
|
||||
<item name="user_histories: table" type="285a2a93:MysqlImplModel$Table" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</component>
|
||||
<component name="FrameworkCommandLineHistory">
|
||||
<commandsHistory>
|
||||
<command text="php artisan ide-helper:meta" />
|
||||
|
|
@ -213,10 +261,11 @@
|
|||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
|
||||
<property name="DatabaseDriversLRU" value="mysql" />
|
||||
<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/user/membership" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/app/Mail" />
|
||||
<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" />
|
||||
|
|
@ -231,11 +280,11 @@
|
|||
<recent name="$PROJECT_DIR$/public/download" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/app/Mail" />
|
||||
<recent name="$PROJECT_DIR$/resources/lang/de" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/user/membership" />
|
||||
<recent name="$PROJECT_DIR$/config" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/user/members" />
|
||||
<recent name="$PROJECT_DIR$/resources/views/user/wizard" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Controllers" />
|
||||
<recent name="$PROJECT_DIR$/app/Http/Middleware" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
|
|
@ -383,6 +432,10 @@
|
|||
<workItem from="1581604452585" duration="5853000" />
|
||||
<workItem from="1581686945791" duration="4486000" />
|
||||
<workItem from="1581691515338" duration="19033000" />
|
||||
<workItem from="1582045337297" duration="7000" />
|
||||
<workItem from="1582975911467" duration="18419000" />
|
||||
<workItem from="1583498764097" duration="142000" />
|
||||
<workItem from="1583572250584" duration="19295000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
|
@ -412,28 +465,36 @@
|
|||
</option>
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="754" y="395" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1581158802015">
|
||||
<state x="754" y="395" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1583573436293">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="754" y="395" key="#com.intellij.execution.impl.EditConfigurationsDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1581158802015" />
|
||||
<state x="754" y="395" key="#com.intellij.execution.impl.EditConfigurationsDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1583573436293" />
|
||||
<state x="968" y="472" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog" timestamp="1581691507125">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="968" y="472" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1581691507125" />
|
||||
<state x="968" y="472" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1578493681405" />
|
||||
<state x="1019" y="499" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1581190466051">
|
||||
<state x="1019" y="499" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1583605520212">
|
||||
<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="1581190466051" />
|
||||
<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="1583605520212" />
|
||||
<state x="1019" y="499" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1578836311908" />
|
||||
<state width="239" height="457" key="HiddenNamespacesPopup" timestamp="1583573337041">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state width="239" height="457" key="HiddenNamespacesPopup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1583573337041" />
|
||||
<state x="1143" y="547" key="com.intellij.database.view.ui.DbObjectDialog" timestamp="1583573350583">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="1143" y="547" key="com.intellij.database.view.ui.DbObjectDialog/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1583573350583" />
|
||||
<state x="1064" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1578063343693">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
</state>
|
||||
<state x="1064" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1578063343693" />
|
||||
<state x="805" y="444" width="1115" height="793" key="find.popup" timestamp="1581770796462">
|
||||
<state x="805" y="444" width="1115" height="793" key="find.popup" timestamp="1583605700904">
|
||||
<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/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1581770796462" />
|
||||
<state x="805" y="444" width="1115" height="793" key="find.popup/-2560.23.2560.1417/2560.-527.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1583605700904" />
|
||||
<state x="926" y="497" width="683" height="486" key="find.popup/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1578504136004" />
|
||||
<state x="945" y="377" width="670" height="676" key="search.everywhere.popup" timestamp="1581771399932">
|
||||
<screen x="0" y="23" width="2560" height="1417" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace PHPSTORM_META {
|
|||
|
||||
/**
|
||||
* PhpStorm Meta file, to provide autocomplete information for PhpStorm
|
||||
* Generated on 2020-02-12 16:29:05.
|
||||
* Generated on 2020-03-07 13:24:22.
|
||||
*
|
||||
* @author Barry vd. Heuvel <barryvdh@gmail.com>
|
||||
* @see https://github.com/barryvdh/laravel-ide-helper
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/**
|
||||
* A helper file for Laravel 5, to provide autocomplete information to your IDE
|
||||
* Generated for Laravel 5.6.39 on 2020-02-12 16:29:05.
|
||||
* Generated for Laravel 5.6.39 on 2020-03-07 13:24:22.
|
||||
*
|
||||
* This file should not be included in your code, only analyzed by your IDE!
|
||||
*
|
||||
|
|
@ -2322,10 +2322,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function check($name, $parameters = null)
|
||||
public static function check($name, ...$parameters)
|
||||
{
|
||||
/** @var \Illuminate\View\Compilers\BladeCompiler $instance */
|
||||
return $instance->check($name, $parameters);
|
||||
return $instance->check($name, ...$parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3602,10 +3602,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return void
|
||||
* @static
|
||||
*/
|
||||
public static function queue($parameters = null)
|
||||
public static function queue(...$parameters)
|
||||
{
|
||||
/** @var \Illuminate\Cookie\CookieJar $instance */
|
||||
$instance->queue($parameters);
|
||||
$instance->queue(...$parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -8061,10 +8061,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function is($patterns = null)
|
||||
public static function is(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->is($patterns);
|
||||
return $instance->is(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -8074,10 +8074,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function routeIs($patterns = null)
|
||||
public static function routeIs(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->routeIs($patterns);
|
||||
return $instance->routeIs(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -8087,10 +8087,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function fullUrlIs($patterns = null)
|
||||
public static function fullUrlIs(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->fullUrlIs($patterns);
|
||||
return $instance->fullUrlIs(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -10003,9 +10003,9 @@ namespace Illuminate\Support\Facades {
|
|||
*
|
||||
* @static
|
||||
*/
|
||||
public static function validate($rules, $params = null)
|
||||
public static function validate($rules, ...$params)
|
||||
{
|
||||
return \Illuminate\Http\Request::validate($rules, $params);
|
||||
return \Illuminate\Http\Request::validate($rules, ...$params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -10955,10 +10955,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function is($patterns = null)
|
||||
public static function is(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Routing\Router $instance */
|
||||
return $instance->is($patterns);
|
||||
return $instance->is(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -10968,10 +10968,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function currentRouteNamed($patterns = null)
|
||||
public static function currentRouteNamed(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Routing\Router $instance */
|
||||
return $instance->currentRouteNamed($patterns);
|
||||
return $instance->currentRouteNamed(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -10993,10 +10993,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function uses($patterns = null)
|
||||
public static function uses(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Routing\Router $instance */
|
||||
return $instance->uses($patterns);
|
||||
return $instance->uses(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -14225,10 +14225,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function is($patterns = null)
|
||||
public static function is(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->is($patterns);
|
||||
return $instance->is(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -14238,10 +14238,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function routeIs($patterns = null)
|
||||
public static function routeIs(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->routeIs($patterns);
|
||||
return $instance->routeIs(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -14251,10 +14251,10 @@ namespace Illuminate\Support\Facades {
|
|||
* @return bool
|
||||
* @static
|
||||
*/
|
||||
public static function fullUrlIs($patterns = null)
|
||||
public static function fullUrlIs(...$patterns)
|
||||
{
|
||||
/** @var \Illuminate\Http\Request $instance */
|
||||
return $instance->fullUrlIs($patterns);
|
||||
return $instance->fullUrlIs(...$patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -16167,9 +16167,9 @@ namespace Illuminate\Support\Facades {
|
|||
*
|
||||
* @static
|
||||
*/
|
||||
public static function validate($rules, $params = null)
|
||||
public static function validate($rules, ...$params)
|
||||
{
|
||||
return \Illuminate\Http\Request::validate($rules, $params);
|
||||
return \Illuminate\Http\Request::validate($rules, ...$params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -20805,10 +20805,10 @@ namespace {
|
|||
* @return \Illuminate\Database\Query\Builder
|
||||
* @static
|
||||
*/
|
||||
public static function groupBy($groups = null)
|
||||
public static function groupBy(...$groups)
|
||||
{
|
||||
/** @var \Illuminate\Database\Query\Builder $instance */
|
||||
return $instance->groupBy($groups);
|
||||
return $instance->groupBy(...$groups);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -62,15 +62,58 @@ class AdminUserController extends Controller
|
|||
$data = Input::all();
|
||||
$user = User::findOrFail($data['id']);
|
||||
|
||||
$user->admin = $data['admin'];
|
||||
$user->confirmed = isset($data['confirmed']) ? true : false;
|
||||
$user->active = isset($data['active']) ? true : false;
|
||||
$user->save();
|
||||
if(isset($data['save-admin'])){
|
||||
$user->admin = $data['admin'];
|
||||
}
|
||||
|
||||
if(isset($data['save-confirmed'])){
|
||||
$data['confirmed'] = isset($data['confirmed']) ? true : false;
|
||||
$user->confirmed = $data['confirmed'];
|
||||
if($data['confirmed']){
|
||||
if(!isset($data['confirmation_date']) || $data['confirmation_date'] == ""){
|
||||
$user->confirmation_date = now();
|
||||
}else{
|
||||
$user->confirmation_date = \Carbon::parse(str_replace("- ", "", $data['confirmation_date']));
|
||||
}
|
||||
}else{
|
||||
$user->confirmation_date = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($data['save-active'])){
|
||||
|
||||
$data['active'] = isset($data['active']) ? true : false;
|
||||
$user->active = $data['active'];
|
||||
if($data['active']){
|
||||
if(!isset($data['active_date']) || $data['active_date'] == ""){
|
||||
$user->active_date = now();
|
||||
}else{
|
||||
$user->active_date = \Carbon::parse(str_replace("- ", "", $data['active_date']));
|
||||
}
|
||||
}else{
|
||||
$user->active_date = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($data['save-account'])){
|
||||
if(!isset($data['payment_account']) || $data['payment_account'] == ""){
|
||||
$user->payment_account = null;
|
||||
}else{
|
||||
$user->payment_account = \Carbon::parse(str_replace("- ", "", $data['payment_account']));
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($data['save-shop'])){
|
||||
if(!isset($data['payment_shop']) || $data['payment_shop'] == ""){
|
||||
$user->payment_shop = null;
|
||||
}else{
|
||||
$user->payment_shop = \Carbon::parse(str_replace("- ", "", $data['payment_shop']));
|
||||
}
|
||||
}
|
||||
$user->save();
|
||||
|
||||
\Session()->flash('alert-save', true);
|
||||
return redirect('/admin/users');
|
||||
|
||||
}
|
||||
|
||||
public function deleteUser($user_id)
|
||||
|
|
|
|||
|
|
@ -120,11 +120,18 @@ class PayoneController extends Controller
|
|||
$shopping_payment->save();
|
||||
|
||||
$send_link = false;
|
||||
if($data['txaction'] === 'failed'){
|
||||
|
||||
|
||||
if($data['txaction'] === 'failed'){
|
||||
$shopping_order->setUserHistoryValue(['status' => 6]);
|
||||
|
||||
}
|
||||
if($data['txaction'] === 'appointed'){
|
||||
$shopping_order->setUserHistoryValue(['status' => 7]);
|
||||
}
|
||||
|
||||
if($data['txaction'] === 'paid'){
|
||||
$shopping_order->setUserHistoryValue(['status' => 8]);
|
||||
$shopping_order->paid = true;
|
||||
$shopping_order->save();
|
||||
|
||||
|
|
@ -135,18 +142,31 @@ class PayoneController extends Controller
|
|||
if($shopping_order_item->product->action){
|
||||
|
||||
$user = User::findOrFail($shopping_order->auth_user_id);
|
||||
$user->payment_order_id = $shopping_order_item->product->id;
|
||||
$user->save();
|
||||
$send_link = true;
|
||||
$date = date("Y-m-d H:i:s", strtotime("+1 years"));
|
||||
foreach ($shopping_order_item->product->action as $do){
|
||||
if($shopping_order_item->product->getActionName($do) === 'payment_for_account'){
|
||||
$user->payment_order_id = $shopping_order_item->product->id; //34
|
||||
$user->payment_account = $date;
|
||||
$user->wizard = 100;
|
||||
$shopping_order->setUserHistoryValue(['status' => 9]);
|
||||
|
||||
}
|
||||
if($shopping_order_item->product->getActionName($do) === 'payment_for_shop'){
|
||||
$user->payment_order_id = $shopping_order_item->product->id; //35
|
||||
$user->payment_shop = $date;
|
||||
$user->wizard = 100;
|
||||
$shopping_order->setUserHistoryValue(['status' => 9]);
|
||||
|
||||
}
|
||||
if($shopping_order_item->product->getActionName($do) === 'payment_for_shop_upgrade'){
|
||||
if($shopping_order_item->product->upgrade_to_id){
|
||||
$user->payment_order_id = $shopping_order_item->product->upgrade_to_id;
|
||||
}
|
||||
$user->payment_shop = $user->payment_account; //same Date, is upgrade
|
||||
$shopping_order->setUserHistoryValue(['status' => 9]);
|
||||
|
||||
}
|
||||
$user->save();
|
||||
}
|
||||
|
|
@ -156,10 +176,6 @@ class PayoneController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($data['txaction'] === 'appointed'){
|
||||
|
||||
}
|
||||
|
||||
$billing_email = $shopping_order->shopping_user->billing_email;
|
||||
$user_shop_email = $shopping_order->user_shop->user->email;
|
||||
if(!$billing_email){
|
||||
|
|
|
|||
|
|
@ -28,22 +28,39 @@ class DataTableController extends Controller
|
|||
return '<a href="' . route('admin_lead_edit', [$user->id]) . '" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
|
||||
})
|
||||
->addColumn('admin', function (User $user) {
|
||||
return '<a href="#" data-toggle="modal" data-target="#modals-default" data-id="'.$user->id.'" data-email="'.$user->email.'" data-admin="'.$user->admin.'" data-active="'.$user->active.'" data-confirmed="'.$user->confirmed.'">'.HTMLHelper::getRoleLabel($user->admin).'</a>';
|
||||
return '<a href="#" data-toggle="modal" data-target="#modals-admin" data-id="'.$user->id.'" data-email="'.$user->email.'" data-admin="'.$user->admin.'">'.HTMLHelper::getRoleLabel($user->admin).'</a>';
|
||||
})
|
||||
->addColumn('confirmed', function (User $user) {
|
||||
return $user->confirmed ? '<span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
|
||||
$date = $user->getConfirmationDateFormat();
|
||||
$link = '<a href="#" data-toggle="modal" data-target="#modals-confirmed" data-id="'.$user->id.'" data-email="'.$user->email.'" data-confirmed="'.$user->confirmed.'" data-confirmation_date="'.$date.'">';
|
||||
return $user->confirmed ? $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>' : $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
|
||||
})
|
||||
->addColumn('active', function (User $user) {
|
||||
return $user->active ? ' <span class="badge badge-pill badge-success"><i class="fa fa-check"></i></span>' : '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
|
||||
$date = $user->getActiveDateFormat();
|
||||
$link = '<a href="#" data-toggle="modal" data-target="#modals-active" data-id="'.$user->id.'" data-email="'.$user->email.'" data-active="'.$user->active.'" data-active_date="'.$date.'">';
|
||||
return $user->active ? $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>' : $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
|
||||
})
|
||||
->addColumn('account', function (User $user) {
|
||||
$date = $user->getPaymentAccountDateFormat();
|
||||
$link = '<a href="#" data-toggle="modal" data-target="#modals-account" data-id="'.$user->id.'" data-email="'.$user->email.'" data-payment_account="'.$date.'">';
|
||||
if($user->payment_account){
|
||||
if($user->isActiveAccount()){
|
||||
return $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>';
|
||||
}
|
||||
return $link.'<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i> '.$date.'</span></a>';
|
||||
}
|
||||
return $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
|
||||
})
|
||||
->addColumn('shop', function (User $user) {
|
||||
if($user->shop){
|
||||
if($user->shop->active){
|
||||
return '<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> active</span>';
|
||||
$date = $user->getPaymentShopDateFormat();
|
||||
$link = '<a href="#" data-toggle="modal" data-target="#modals-shop" data-id="'.$user->id.'" data-email="'.$user->email.'" data-payment_shop="'.$date.'">';
|
||||
if($user->payment_shop){
|
||||
if($user->isActiveShop()){
|
||||
return $link.'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> '.$date.'</span></a>';
|
||||
}
|
||||
return'<span class="badge badge-pill badge-success"><i class="fa fa-check"></i> deactive</span>';
|
||||
return $link.'<span class="badge badge-pill badge-warning"><i class="fa fa-ban"></i> '.$date.'</span></a>';
|
||||
}
|
||||
return '<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span>';
|
||||
return $link.'<span class="badge badge-pill badge-danger"><i class="fa fa-times"></i></span></a>';
|
||||
})
|
||||
->addColumn('since', function (User $user) {
|
||||
if($user->shop){
|
||||
|
|
@ -63,7 +80,7 @@ class DataTableController extends Controller
|
|||
->orderColumn('active', 'active $1')
|
||||
->orderColumn('shop', 'shop $1')
|
||||
->orderColumn('admin', 'active $1')
|
||||
->rawColumns(['id', 'admin', 'confirmed', 'active', 'shop', 'action_delete'])
|
||||
->rawColumns(['id', 'admin', 'confirmed', 'active', 'account', 'shop', 'action_delete'])
|
||||
->make(true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,17 +2,21 @@
|
|||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Mail\MailInfo;
|
||||
use App\Models\Product;
|
||||
use App\Models\ShoppingInstance;
|
||||
use App\Models\ShoppingPayment;
|
||||
use App\Models\UserHistory;
|
||||
use App\User;
|
||||
use Auth;
|
||||
use Carbon\Carbon;
|
||||
use Carbon;
|
||||
use Config;
|
||||
use Illuminate\Validation\Rules\In;
|
||||
use Request;
|
||||
use Input;
|
||||
use Util;
|
||||
use Yard;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
|
||||
class MembershipController extends Controller
|
||||
{
|
||||
|
|
@ -29,58 +33,129 @@ class MembershipController extends Controller
|
|||
|
||||
public function index()
|
||||
{
|
||||
$user = Auth::user();
|
||||
$user = User::find(Auth::user()->id);
|
||||
$diff_months = 0;
|
||||
|
||||
if($user->payment_account){
|
||||
$diff_months = Carbon::now()->diffInMonths(Carbon::parse($user->payment_account)) +1;
|
||||
}
|
||||
|
||||
$userHistoryPaymentOrder = UserHistory::whereUserId($user->id)->whereAction('payment_order')->get()->last();
|
||||
$userHistoryUpgradeOrder = UserHistory::whereUserId($user->id)->whereAction('upgrade_order')->get()->last();
|
||||
$userHistoryDeleteMembership = UserHistory::whereUserId($user->id)->whereAction('delete_membership')->whereStatus(50)->get()->last();
|
||||
|
||||
|
||||
$data = [
|
||||
'user' => $user,
|
||||
'products' => Product::where('active', true)->where('show_at', '=', 3)->orderBy('pos', 'ASC')->get(),
|
||||
'upgrade' => Product::where('active', true)->where('show_at', '=', 4)->where('identifier', 'upgrade')->get(),
|
||||
'diff_months' => $diff_months,
|
||||
'userHistoryPaymentOrder' => $userHistoryPaymentOrder,
|
||||
'userHistoryUpgradeOrder' => $userHistoryUpgradeOrder,
|
||||
'userHistoryDeleteMembership' => $userHistoryDeleteMembership,
|
||||
];
|
||||
return view('user.membership.index', $data);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function storePayment($step = 0){
|
||||
if(Input::get('switchers-package-wizard')){
|
||||
$user = Auth::user();
|
||||
Yard::instance('shopping')->destroy();
|
||||
$product = Product::find(Input::get('switchers-package-wizard'));
|
||||
public function storePayment($action){
|
||||
|
||||
if(Input::get('abo_options')){
|
||||
$user->abo_options = true;
|
||||
|
||||
$data = Input::all();
|
||||
|
||||
//#### remove_abo
|
||||
if($action === "remove_abo"){
|
||||
if(Input::get('abo_options_remove')){
|
||||
$user = User::find(Auth::user()->id);
|
||||
$user->abo_options = false;
|
||||
$user->save();
|
||||
$user->account->payment_data = null;
|
||||
$user->account->save();
|
||||
UserHistory::create(['user_id' => $user->id, 'action'=>'abo_options_remove', 'status'=>10]);
|
||||
\Session()->flash('alert-success', "Abo-Option deaktiviert");
|
||||
return back();
|
||||
}
|
||||
if($product && $product->active && $product->show_at >= 3){
|
||||
$image = "";
|
||||
if($product->images->count()){
|
||||
$image = $product->images->first()->slug;
|
||||
\Session()->flash('alert-error', "Fehler, Checkbox nicht bestätigt.");
|
||||
return back();
|
||||
}
|
||||
//#### payment order
|
||||
//#### shop upgrade
|
||||
if($action === "upgrade_order" || $action === "payment_order"){
|
||||
if(Input::get('switchers-package-wizard')){
|
||||
$user = User::find(Auth::user()->id);
|
||||
Yard::instance('shopping')->destroy();
|
||||
$product = Product::find(Input::get('switchers-package-wizard'));
|
||||
$showAboOptions = false;
|
||||
if(Input::get('abo_options')){
|
||||
$showAboOptions = true;
|
||||
$user->abo_options = true;
|
||||
$user->save();
|
||||
}
|
||||
$qty = Input::get('qty') ? Input::get('qty') : 1;
|
||||
Yard::instance('shopping')->add($product->id, $product->getLang('name'), $qty, $product->price, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight]);
|
||||
if($product && $product->active && $product->show_at >= 3){
|
||||
$image = "";
|
||||
if($product->images->count()){
|
||||
$image = $product->images->first()->slug;
|
||||
}
|
||||
$qty = Input::get('qty') ? Input::get('qty') : 1;
|
||||
Yard::instance('shopping')->add($product->id, $product->getLang('name'), $qty, $product->price, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight]);
|
||||
|
||||
do {
|
||||
$identifier = Util::getToken();
|
||||
} while( ShoppingInstance::where('identifier', $identifier)->count() );
|
||||
do {
|
||||
$identifier = Util::getToken();
|
||||
} while( ShoppingInstance::where('identifier', $identifier)->count() );
|
||||
|
||||
ShoppingInstance::create([
|
||||
'identifier' => $identifier,
|
||||
'user_shop_id' => 1, //is first faker shop!
|
||||
'auth_user_id' => Auth::user()->id,
|
||||
'subdomain' => url('/'),
|
||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||
|
||||
]);
|
||||
Yard::instance('shopping')->store($identifier);
|
||||
//add to DB
|
||||
$path = route('checkout.checkout_card', ['identifier'=>$identifier]);
|
||||
//$path = str_replace('http', 'https', $path);
|
||||
return redirect()->secure($path);
|
||||
ShoppingInstance::create([
|
||||
'identifier' => $identifier,
|
||||
'user_shop_id' => 1, //is first faker shop for nuy intern
|
||||
'auth_user_id' => Auth::user()->id,
|
||||
'payment' => 3, //Berater Membership
|
||||
'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'=>$action, '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();
|
||||
|
||||
if($action === "change_order"){
|
||||
if(Input::get('switchers-package-wizard')){
|
||||
$user = User::find(Auth::user()->id);
|
||||
$product = Product::find(Input::get('switchers-package-wizard'));
|
||||
if($user->payment_order_id == $product->id){
|
||||
\Session()->flash('alert-success', "keine Änderung vorgenommen.");
|
||||
return back();
|
||||
}
|
||||
if($product && $product->active && $product->show_at >= 3){
|
||||
$user->payment_order_id = $product->id;
|
||||
$user->save();
|
||||
UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>10, 'product_id'=>$product->id]);
|
||||
\Session()->flash('alert-success', "gebuchtes Paket wurde geändert.");
|
||||
return back();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if($action === "delete_membership"){
|
||||
if(Input::get('delete_membership_mivita')){
|
||||
//TODO
|
||||
$user = User::find(Auth::user()->id);
|
||||
$mail = config('app.info_mail');
|
||||
Mail::to($mail)->send(new MailInfo($user, 'delete_membership'));
|
||||
UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>50]);
|
||||
\Session()->flash('alert-success', "Mitgliedschaft beenden ist beantragt");
|
||||
return back();
|
||||
}
|
||||
\Session()->flash('alert-error', "Fehler, Checkbox nicht bestätigt.");
|
||||
return back();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -233,6 +233,7 @@ class PayoneController extends Controller
|
|||
'customermessage' => $response['customermessage'],
|
||||
'status' => $response['status'],
|
||||
]);
|
||||
Util::setUserHistoryValue(['status'=>3]);
|
||||
\Session::flash('errormessage', $response['errormessage']);
|
||||
\Session::flash('customermessage', $response['customermessage']);
|
||||
return redirect(route('checkout.checkout_card'));
|
||||
|
|
@ -247,6 +248,7 @@ class PayoneController extends Controller
|
|||
'userid' => $response['userid'],
|
||||
'status' => $response['status'],
|
||||
]);
|
||||
Util::setUserHistoryValue(['status'=>4]);
|
||||
return redirect()->away($response["redirecturl"]);
|
||||
exit;
|
||||
|
||||
|
|
@ -262,7 +264,7 @@ class PayoneController extends Controller
|
|||
'status' => $response['status'],
|
||||
'transmitted_data' => $response,
|
||||
]);
|
||||
|
||||
Util::setUserHistoryValue(['status'=>5]);
|
||||
if($payt->shopping_payment->clearingtype === "vor"){
|
||||
//vorkasse
|
||||
return redirect(route('checkout.transaction_approved', [$payt->id, $this->reference]));
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ class CardController extends Controller
|
|||
ShoppingInstance::create([
|
||||
'identifier' => $identifier,
|
||||
'user_shop_id' => $user_shop->id,
|
||||
'payment' => 1,
|
||||
'subdomain' => url('/'),
|
||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||
|
||||
|
|
|
|||
|
|
@ -72,13 +72,16 @@ class CheckoutController extends Controller
|
|||
$shopping_user->shipping_city = $user->account->shipping_city;
|
||||
$shopping_user->shipping_country_id = $user->account->shipping_country_id;
|
||||
$shopping_user->shipping_phone = $user->account->shipping_phone;
|
||||
$shopping_user->abo_options = $user->abo_options;
|
||||
$shopping_user->save();
|
||||
$this->putPayments('shopping_user_id', $shopping_user->id);
|
||||
|
||||
}else{
|
||||
$shopping_user = ShoppingUser::findOrNew($this->getPayments('shopping_user_id'));
|
||||
}
|
||||
if(Util::getAuthUser()){
|
||||
$shopping_user->abo_options = Util::getUserHistoryValue('abo_options');
|
||||
$shopping_user->save();
|
||||
}
|
||||
|
||||
if($shopping_user->same_as_billing === NULL){
|
||||
$shopping_user->same_as_billing = true;
|
||||
}
|
||||
|
|
@ -91,7 +94,6 @@ class CheckoutController extends Controller
|
|||
|
||||
public function checkoutFinal(){
|
||||
|
||||
|
||||
$rules = array(
|
||||
'billing_salutation' => 'required',
|
||||
'billing_firstname'=>'required',
|
||||
|
|
@ -124,6 +126,7 @@ class CheckoutController extends Controller
|
|||
$shopping_user = $this->makeShoppingUser($data);
|
||||
//make Order and Items
|
||||
$shopping_order = $this->makeShoppingOrder($shopping_user);
|
||||
Util::setUserHistoryValue(['status'=>2, 'shopping_order_id'=>$shopping_order->id]);
|
||||
|
||||
//check credit Card
|
||||
if(Input::get('payment_method')){
|
||||
|
|
@ -183,7 +186,6 @@ class CheckoutController extends Controller
|
|||
\Session::flash('elv-creditor_identifier', $ret['elv']['creditor_identifier']);
|
||||
return redirect(route('checkout.checkout_card'))->withInput(Input::all());
|
||||
|
||||
|
||||
/*
|
||||
* array(4) { ["status"]=> string(5) "VALID" ["pseudocardpan"]=> string(19) "9410010000169020567" ["cardtype"]=> string(1) "V" ["truncatedcardpan"]=> string(16) "411111XXXXXX1111" }
|
||||
* application through http post
|
||||
|
|
@ -224,6 +226,8 @@ class CheckoutController extends Controller
|
|||
$ShoppingPayment = ShoppingPayment::where('shopping_order_id', $shopping_order_id)->where('reference', $reference)->first();
|
||||
if(!$ShoppingPayment){
|
||||
//TODO log this
|
||||
Util::setUserHistoryValue(['status'=>21]);
|
||||
|
||||
\Session::flash('checkout-error', 'Der Zahlungsvorgang konnte nicht abgeschlossen werden, die Zahlung wurde nicht gefunden: '.$reference);
|
||||
return redirect(route('checkout.checkout_card'));
|
||||
}
|
||||
|
|
@ -245,11 +249,13 @@ class CheckoutController extends Controller
|
|||
return view('web.templates.checkout-final', $data);
|
||||
}
|
||||
if($status === "cancel"){
|
||||
Util::setUserHistoryValue(['status'=>22]);
|
||||
\Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.');
|
||||
return redirect(route('checkout.checkout_card'));
|
||||
|
||||
}
|
||||
if($status === "error"){
|
||||
Util::setUserHistoryValue(['status'=>23]);
|
||||
\Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.');
|
||||
return redirect(route('checkout.checkout_card'));
|
||||
|
||||
|
|
@ -276,7 +282,7 @@ class CheckoutController extends Controller
|
|||
private function storeUserPaymentsData($shopping_user, $ret){
|
||||
if($shopping_user->auth_user_id){
|
||||
$user = User::find($shopping_user->auth_user_id);
|
||||
if($user && $user->account && $user->abo_options){
|
||||
if($user && $user->account && $shopping_user->abo_options){
|
||||
if(isset($ret['elv']) && is_array($ret['elv'])){
|
||||
$user->account->payment_data = $ret['elv'];
|
||||
$user->account->save();
|
||||
|
|
@ -308,7 +314,6 @@ class CheckoutController extends Controller
|
|||
|
||||
private function makeShoppingOrder($shopping_user){
|
||||
|
||||
|
||||
$user_shop = Util::getUserShop();
|
||||
|
||||
$data = [
|
||||
|
|
@ -316,6 +321,7 @@ class CheckoutController extends Controller
|
|||
'auth_user_id' => $shopping_user->auth_user_id,
|
||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||
'user_shop_id' => $user_shop->id,
|
||||
'payment_for' => Util::getUserPaymentFor(),
|
||||
'total' => Yard::instance('shopping')->total(2, '.', ','),
|
||||
'shipping' => Yard::instance('shopping')->shipping(2, '.', ','),
|
||||
'subtotal' => Yard::instance('shopping')->subtotalWithShipping(2, '.', ','),
|
||||
|
|
|
|||
|
|
@ -394,8 +394,9 @@ class WizardController extends Controller
|
|||
|
||||
ShoppingInstance::create([
|
||||
'identifier' => $identifier,
|
||||
'user_shop_id' => 1, //is first faker shop!
|
||||
'user_shop_id' => 1, //is first faker shop for buy intern
|
||||
'auth_user_id' => Auth::user()->id,
|
||||
'payment' => 4,
|
||||
'subdomain' => url('/'),
|
||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||
|
||||
|
|
|
|||
|
|
@ -21,24 +21,25 @@ class Checkout
|
|||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if($identifier = ShoppingInstance::where('identifier', $request->route('identifier'))->first()){
|
||||
if($shopping_instance = ShoppingInstance::where('identifier', $request->route('identifier'))->first()){
|
||||
//user shop
|
||||
$user_shop = $identifier->user_shop;
|
||||
if($user_shop && $user_shop->active == 1){
|
||||
$user_shop = $shopping_instance->user_shop;
|
||||
if($user_shop && $user_shop->active == 1 && $user_shop->user->isActiveShop()){
|
||||
Util::setPostRoute('user/');
|
||||
\Session::put('user_shop', $user_shop);
|
||||
\Session::put('user_shop_domain', $identifier->subdomain);
|
||||
\Session::put('user_shop_domain', $shopping_instance->subdomain);
|
||||
\Session::put('user_shop_payment', $shopping_instance->payment);
|
||||
\Session::put('user_shop_identifier', $shopping_instance->identifier);
|
||||
\Session::put('isCheckout', true);
|
||||
|
||||
if($identifier->auth_user_id){
|
||||
\Session::put('auth_user', $identifier->auth_user);
|
||||
if($shopping_instance->auth_user_id){
|
||||
\Session::put('auth_user', $shopping_instance->auth_user);
|
||||
}
|
||||
|
||||
}
|
||||
Yard::instance('shopping')->destroy();
|
||||
//restore yard
|
||||
Yard::instance('shopping')->restore($request->route('identifier'));
|
||||
Yard::instance('shopping')->setShippingCountryWithPrice($identifier->country_id);
|
||||
Yard::instance('shopping')->setShippingCountryWithPrice($shopping_instance->country_id);
|
||||
|
||||
ShoppingInstance::where('identifier', $request->route('identifier'))->delete();
|
||||
$request->route()->forgetParameter('identifier');
|
||||
|
|
|
|||
|
|
@ -22,10 +22,18 @@ class Subdomain
|
|||
{
|
||||
$tld = config('app.tld_care');
|
||||
if(!empty($request->route('subdomain'))){
|
||||
$user_shop = UserShop::where('slug', $request->route('subdomain'))->where('active', 1)->first();
|
||||
//sub.mivita.care
|
||||
$user_shop = UserShop::where('slug', $request->route('subdomain'))->first();
|
||||
$request->route()->forgetParameter('subdomain');
|
||||
Util::setPostRoute('user/');
|
||||
if($user_shop){
|
||||
|
||||
if(!$user_shop->active){
|
||||
abort(503);
|
||||
}
|
||||
if(!$user_shop->user->isActiveShop()){
|
||||
abort(503);
|
||||
}
|
||||
\Session::put('user_shop', $user_shop);
|
||||
\Session::put('user_shop_domain', config('app.protocol').$user_shop->slug.".".config('app.domain').config('app.tld_care'));
|
||||
|
||||
|
|
@ -33,8 +41,9 @@ class Subdomain
|
|||
return $next($request);
|
||||
}
|
||||
}else{
|
||||
//mivita.shop
|
||||
$tld = config('app.tld_shop');
|
||||
$user_shop = UserShop::where('slug', 'aloevera')->where('active', 1)->first();
|
||||
$user_shop = UserShop::where('slug', 'aloevera')->first();
|
||||
//$request->route()->forgetParameter('subdomain');
|
||||
Util::setPostRoute('user/');
|
||||
if($user_shop){
|
||||
|
|
@ -44,10 +53,8 @@ class Subdomain
|
|||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return redirect(config('app.url'). $tld);
|
||||
return redirect(config('app.url') .$tld);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ class MailCheckout extends Mailable
|
|||
return $this->view('emails.checkout_status')->with([
|
||||
'salutation' => $salutation,
|
||||
'copy1line' => __('email.status_copy1line'),
|
||||
'txactionn' => $this->txaction,
|
||||
'txaction' => $this->txaction,
|
||||
'shopping_order' => $this->shopping_order,
|
||||
'shopping_payment' => $this->shopping_payment,
|
||||
'copy3line' => __('email.checkout_copy3line'),
|
||||
|
|
|
|||
66
app/Mail/MailInfo.php
Normal file
66
app/Mail/MailInfo.php
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
namespace App\Mail;
|
||||
|
||||
use App\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class MailInfo extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
protected $user;
|
||||
protected $action;
|
||||
public $subject;
|
||||
|
||||
|
||||
public function __construct(User $user, $action)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->action = $action;
|
||||
if($action === "delete_membership"){
|
||||
$this->subject = 'Mitgliedschaft beenden - beantragt';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function build()
|
||||
{
|
||||
$content = __(strtoupper($this->user->account->salutation))." ";
|
||||
$content .= $this->user->account->first_name." ".$this->user->account->last_name."\n";
|
||||
$content .= $this->user->account->address."\n";
|
||||
$content .= $this->user->account->zipcode." ".$this->user->account->city."\n";
|
||||
$content .= $this->user->account->country_id ? $this->user->account->country->de."\n\n" : "\n\n";
|
||||
if($this->user->account->phone){
|
||||
$content .= "Telefon: ";
|
||||
$content .= $this->user->account->pre_phone_id ? $this->user->account->pre_phone->phone." " : " ";
|
||||
$content .= $this->user->account->phone;
|
||||
}
|
||||
if($this->user->account->mobil){
|
||||
$content .= "Mobil: ";
|
||||
$content .= $this->user->account->pre_mobil_id ? $this->user->account->pre_mobil->phone." " : " ";
|
||||
$content .= $this->user->account->mobil;
|
||||
}
|
||||
$content .= "E-Mail: ".$this->user->email;
|
||||
|
||||
|
||||
if($this->action === "delete_membership"){
|
||||
$copy1line = "Ein Berater möchte seine Mitgliedschaft beenden."."\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return $this->view('emails.info')->with([
|
||||
'url' => route('admin_lead_edit', $this->user->id).'?show=check_lead',
|
||||
'salutation' => 'Berater Registrierung pürfen',
|
||||
'button' => 'zur Berater Prüfung',
|
||||
'copy1line' => $copy1line,
|
||||
'copy2line' => __('email.copy2line'),
|
||||
'content' => $content,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -12,7 +12,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
|
||||
/**
|
||||
* Class File
|
||||
*
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property string $filename
|
||||
|
|
@ -23,10 +23,24 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @property int $size
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
*
|
||||
* @property User $user
|
||||
*
|
||||
* @package App\Models
|
||||
* @property string $identifier
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereDir($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereExt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereFilename($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereIdentifier($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereMine($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereOriginalName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereSize($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\File whereUserId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class File extends Model
|
||||
{
|
||||
|
|
|
|||
|
|
@ -90,11 +90,25 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
|||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ProductImage[] $imagesActive
|
||||
* @property-read int|null $images_active_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product wherePoints($value)
|
||||
* @property string|null $identifier
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereIdentifier($value)
|
||||
* @property int|null $upgrade_to_id
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereUpgradeToId($value)
|
||||
*/
|
||||
class Product extends Model
|
||||
{
|
||||
|
||||
/*identifiers
|
||||
show_upgrade # in membership payment can upgrade this package to show order
|
||||
show_order # in membership payment show always
|
||||
upgrade # need upgrade_to_id set user->payment_order_id to the package in the payment api
|
||||
*/
|
||||
|
||||
protected $identifiers_types = [
|
||||
'show_upgrade' => 'Kann gepdatet werden',
|
||||
'show_order' => 'Wird immer als Option angezeigt',
|
||||
'upgrade' => 'Produktupgrade zu upgrade_to_id',
|
||||
];
|
||||
protected $table = 'products';
|
||||
|
||||
protected $casts = [
|
||||
|
|
@ -134,7 +148,8 @@ class Product extends Model
|
|||
'active',
|
||||
'show_at',
|
||||
'identifier',
|
||||
'action'
|
||||
'action',
|
||||
'upgrade_to_id'
|
||||
];
|
||||
|
||||
public $showATs = [
|
||||
|
|
@ -148,6 +163,7 @@ class Product extends Model
|
|||
public $actions = [
|
||||
0 => 'payment_for_account',
|
||||
1 => 'payment_for_shop',
|
||||
2 => 'payment_for_shop_upgrade',
|
||||
];
|
||||
|
||||
public function sluggable()
|
||||
|
|
|
|||
|
|
@ -28,14 +28,24 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereUserShopId($value)
|
||||
* @mixin \Eloquent
|
||||
* @property int|null $payment
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance wherePayment($value)
|
||||
*/
|
||||
class ShoppingInstance extends Model
|
||||
{
|
||||
|
||||
public $paymentTypes = [
|
||||
1 => 'User Shop',
|
||||
2 => 'Berater Shop',
|
||||
3 => 'Berater Membership',
|
||||
4 => 'Berater Wizard',
|
||||
];
|
||||
|
||||
protected $table = 'shopping_instances';
|
||||
|
||||
|
||||
protected $fillable = [
|
||||
'identifier', 'user_shop_id', 'auth_user_id', 'subdomain', 'country_id'
|
||||
'identifier', 'user_shop_id', 'auth_user_id', 'payment', 'subdomain', 'country_id'
|
||||
];
|
||||
|
||||
public function user_shop()
|
||||
|
|
|
|||
|
|
@ -51,6 +51,8 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereUserShopId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereWeight($value)
|
||||
* @mixin \Eloquent
|
||||
* @property int|null $payment_for
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder wherePaymentFor($value)
|
||||
*/
|
||||
class ShoppingOrder extends Model
|
||||
{
|
||||
|
|
@ -104,6 +106,11 @@ class ShoppingOrder extends Model
|
|||
return $this->belongsTo('App\User','auth_user_id');
|
||||
}
|
||||
|
||||
public function user_history()
|
||||
{
|
||||
return $this->hasOne('App\Models\UserHistory','shopping_order_id')->latest();
|
||||
}
|
||||
|
||||
|
||||
public function shopping_order_items(){
|
||||
return $this->hasMany('App\Models\ShoppingOrderItem', 'shopping_order_id');
|
||||
|
|
@ -113,6 +120,14 @@ class ShoppingOrder extends Model
|
|||
return $this->hasMany('App\Models\ShoppingPayment', 'shopping_order_id');
|
||||
}
|
||||
|
||||
public function setUserHistoryValue($values = []){
|
||||
if($user_history = $this->user_history){
|
||||
foreach ($values as $key=>$val){
|
||||
$user_history->{$key} = $val;
|
||||
}
|
||||
$user_history->save();
|
||||
}
|
||||
}
|
||||
|
||||
public function _format_number($value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @property-read \App\Models\ShoppingOrder $shopping_order
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingOrder[] $shopping_orders
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereOrders($value)
|
||||
* @property int|null $abo_options
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereAboOptions($value)
|
||||
*/
|
||||
class ShoppingUser extends Model
|
||||
{
|
||||
|
|
|
|||
|
|
@ -113,6 +113,8 @@ use Carbon\Carbon;
|
|||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserAccount whereMNotes($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserAccount whereMSalutation($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserAccount whereTaxableSales($value)
|
||||
* @property array|null $payment_data
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserAccount wherePaymentData($value)
|
||||
*/
|
||||
class UserAccount extends Model
|
||||
{
|
||||
|
|
|
|||
125
app/Models/UserHistory.php
Normal file
125
app/Models/UserHistory.php
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use App\User;
|
||||
|
||||
/**
|
||||
* Class UserHistory
|
||||
*
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int $shopping_order_id
|
||||
* @property int $product_id
|
||||
* @property string $action
|
||||
* @property int $referenz
|
||||
* @property int $status
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
* @property Product $product
|
||||
* @property ShoppingOrder $shopping_order
|
||||
* @property User $user
|
||||
* @package App\Models
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereAction($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereProductId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereReferenz($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereShoppingOrderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereUserId($value)
|
||||
* @mixin \Eloquent
|
||||
* @property string|null $identifier
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereIdentifier($value)
|
||||
*/
|
||||
class UserHistory extends Model
|
||||
{
|
||||
protected $table = 'user_histories';
|
||||
|
||||
protected $status_types = [
|
||||
1 => 'store_payment',
|
||||
2 => 'checkout_payment',
|
||||
3 => 'payment_error',
|
||||
4 => 'payment_redirect',
|
||||
5 => 'payment_approved',
|
||||
6 => 'txaction_failed',
|
||||
7 => 'txaction_appointed',
|
||||
8 => 'txaction_paid',
|
||||
9 => 'success_payment',
|
||||
10 => 'success',
|
||||
21 => 'payment_not_found',
|
||||
22 => 'checkout_cancel',
|
||||
23 => 'checkout_error',
|
||||
50 => 'delete_membership'
|
||||
];
|
||||
protected $status_colors = [
|
||||
1 => 'warning',
|
||||
2 => 'warning',
|
||||
3 => 'danger',
|
||||
4 => 'warning',
|
||||
5 => 'success',
|
||||
6 => 'danger',
|
||||
7 => 'warning',
|
||||
8 => 'success',
|
||||
9 => 'success',
|
||||
10 => 'success',
|
||||
21 => 'danger',
|
||||
22 => 'danger',
|
||||
23 => 'danger',
|
||||
];
|
||||
protected $casts = [
|
||||
'user_id' => 'int',
|
||||
'shopping_order_id' => 'int',
|
||||
'product_id' => 'int',
|
||||
'referenz' => 'int',
|
||||
'status' => 'int'
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'shopping_order_id',
|
||||
'product_id',
|
||||
'action',
|
||||
'referenz',
|
||||
'identifier',
|
||||
'abo_options',
|
||||
'status'
|
||||
];
|
||||
|
||||
public function product()
|
||||
{
|
||||
return $this->belongsTo(Product::class);
|
||||
}
|
||||
|
||||
public function shopping_order()
|
||||
{
|
||||
return $this->belongsTo(ShoppingOrder::class);
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function getStatusType(){
|
||||
if(isset($this->status_types[$this->status])){
|
||||
return $this->status_types[$this->status];
|
||||
}
|
||||
}
|
||||
public function getStatusColor(){
|
||||
if(isset($this->status_colors[$this->status])){
|
||||
return $this->status_colors[$this->status];
|
||||
}
|
||||
return 'default';
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,8 @@ namespace App\Services;
|
|||
|
||||
|
||||
|
||||
use App\Models\UserHistory;
|
||||
|
||||
class Util
|
||||
{
|
||||
|
||||
|
|
@ -81,9 +83,42 @@ class Util
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
public static function getUserShopIdentifier(){
|
||||
if(\Session::has('user_shop_identifier')){
|
||||
if($user_shop_identifier = \Session::get('user_shop_identifier')){
|
||||
return $user_shop_identifier;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static function getUserHistory(){
|
||||
$auth_user = self::getAuthUser();
|
||||
$user_shop_identifier = self::getUserShopIdentifier();
|
||||
if($user_shop_identifier && $auth_user){
|
||||
return UserHistory::whereUserId($auth_user->id)->whereIdentifier($user_shop_identifier)->get()->last();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function setUserHistoryValue($values = []){
|
||||
if($user_history = self::getUserHistory()){
|
||||
foreach ($values as $key=>$val){
|
||||
$user_history->{$key} = $val;
|
||||
}
|
||||
$user_history->save();
|
||||
}
|
||||
}
|
||||
|
||||
public static function getUserHistoryValue($key){
|
||||
if($user_history = self::getUserHistory()) {
|
||||
return $user_history->{$user_history};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function addRoute($p = []){
|
||||
$b = [];
|
||||
|
||||
if(\Session::has('user_shop')){
|
||||
if($user_shop = \Session::get('user_shop')){
|
||||
$b = ['subdomain' => $user_shop->slug];
|
||||
|
|
@ -106,6 +141,14 @@ class Util
|
|||
$pro = $protocol ? config('app.protocol') : "";
|
||||
return $pro.config('app.pre_url_crm').config('app.domain').config('app.tld_care');
|
||||
}
|
||||
|
||||
public static function getUserPaymentFor(){
|
||||
if(\Session::has('user_shop_payment')){
|
||||
return \Session::get('user_shop_payment');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getUserShopBackUrl($reference = ""){
|
||||
|
||||
if(\Session::has('user_shop')){
|
||||
|
|
@ -123,6 +166,13 @@ class Util
|
|||
|
||||
if(\Session::has('user_shop')){
|
||||
if(\Session::has('user_shop_domain')){
|
||||
|
||||
if(self::getUserPaymentFor() === 3){
|
||||
return \Session::get('user_shop_domain')."/user/membership";
|
||||
}
|
||||
if(self::getUserPaymentFor() === 2){
|
||||
return \Session::get('user_shop_domain')."/user/orders";
|
||||
}
|
||||
return \Session::get('user_shop_domain');
|
||||
}
|
||||
if($user_shop = \Session::get('user_shop')){
|
||||
|
|
|
|||
35
app/User.php
35
app/User.php
|
|
@ -86,6 +86,19 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
|||
* @property-read \App\User|null $user_sponsor
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereMLevel($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereMSponsor($value)
|
||||
* @property string|null $release_account
|
||||
* @property int|null $payment_order_id
|
||||
* @property int|null $abo_options
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\File[] $files
|
||||
* @property-read int|null $files_count
|
||||
* @property-read \App\Models\Product|null $payment_order
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingOrder[] $shopping_orders
|
||||
* @property-read int|null $shopping_orders_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereAboOptions($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\User wherePaymentOrderId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereReleaseAccount($value)
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserHistory[] $user_histories
|
||||
* @property-read int|null $user_histories_count
|
||||
*/
|
||||
class User extends Authenticatable
|
||||
{
|
||||
|
|
@ -96,7 +109,6 @@ class User extends Authenticatable
|
|||
|
||||
protected $table = 'users';
|
||||
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
|
|
@ -126,23 +138,24 @@ class User extends Authenticatable
|
|||
|
||||
public function user_sponsor(){
|
||||
return $this->belongsTo('App\User', 'm_sponsor');
|
||||
|
||||
}
|
||||
|
||||
public function payment_order(){
|
||||
public function payment_order_product(){
|
||||
return $this->belongsTo('App\Models\Product', 'payment_order_id');
|
||||
}
|
||||
|
||||
public function files(){
|
||||
return $this->hasMany('App\Models\File', 'user_id', '');
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function shopping_orders(){
|
||||
return $this->hasMany('App\Models\ShoppingOrder', 'auth_user_id', '');
|
||||
|
||||
}
|
||||
|
||||
public function user_histories(){
|
||||
return $this->hasMany('App\Models\UserHistory', 'user_id', '');
|
||||
}
|
||||
|
||||
public function shop()
|
||||
{
|
||||
|
|
@ -150,7 +163,6 @@ class User extends Authenticatable
|
|||
}
|
||||
|
||||
|
||||
|
||||
public function user_update_email()
|
||||
{
|
||||
return $this->hasMany('App\Models\UserUpdateEmail', 'user_id', 'id');
|
||||
|
|
@ -227,6 +239,17 @@ class User extends Authenticatable
|
|||
return $this->payment_shop ? Carbon::parse($this->payment_shop)->gt(Carbon::now()) : false;
|
||||
}
|
||||
|
||||
public function isRenewalAccount()
|
||||
{
|
||||
if ($this->payment_account) {
|
||||
return Carbon::parse($this->payment_account)->modify('-'.config('mivita.renewal_days').' days')->lt(Carbon::now());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public function nextRenewalAccount(){
|
||||
return $this->payment_account ? Carbon::parse($this->payment_account)->modify('-'.config('mivita.renewal_days').' days')->format(\Util::formatDateTimeDB()) : false ;
|
||||
}
|
||||
|
||||
|
||||
public function daysActiveAccount(){
|
||||
return Carbon::now()->diffInDays(Carbon::parse($this->payment_account), false);
|
||||
|
|
|
|||
368
composer.lock
generated
368
composer.lock
generated
|
|
@ -648,16 +648,16 @@
|
|||
},
|
||||
{
|
||||
"name": "egulias/email-validator",
|
||||
"version": "2.1.15",
|
||||
"version": "2.1.17",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/egulias/EmailValidator.git",
|
||||
"reference": "e834eea5306d85d67de5a05db5882911d5b29357"
|
||||
"reference": "ade6887fd9bd74177769645ab5c474824f8a418a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e834eea5306d85d67de5a05db5882911d5b29357",
|
||||
"reference": "e834eea5306d85d67de5a05db5882911d5b29357",
|
||||
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a",
|
||||
"reference": "ade6887fd9bd74177769645ab5c474824f8a418a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -702,7 +702,7 @@
|
|||
"validation",
|
||||
"validator"
|
||||
],
|
||||
"time": "2020-01-20T21:40:59+00:00"
|
||||
"time": "2020-02-13T22:36:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "erusev/parsedown",
|
||||
|
|
@ -752,24 +752,24 @@
|
|||
},
|
||||
{
|
||||
"name": "fideloper/proxy",
|
||||
"version": "4.2.2",
|
||||
"version": "4.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fideloper/TrustedProxy.git",
|
||||
"reference": "790194d5d3da89a713478875d2e2d05855a90a81"
|
||||
"reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/790194d5d3da89a713478875d2e2d05855a90a81",
|
||||
"reference": "790194d5d3da89a713478875d2e2d05855a90a81",
|
||||
"url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a",
|
||||
"reference": "ec38ad69ee378a1eec04fb0e417a97cfaf7ed11a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^5.0|^6.0|^7.0",
|
||||
"illuminate/contracts": "^5.0|^6.0|^7.0|^8.0",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"illuminate/http": "^5.0|^6.0|^7.0",
|
||||
"illuminate/http": "^5.0|^6.0|^7.0|^8.0",
|
||||
"mockery/mockery": "^1.0",
|
||||
"phpunit/phpunit": "^6.0"
|
||||
},
|
||||
|
|
@ -802,7 +802,7 @@
|
|||
"proxy",
|
||||
"trusted proxy"
|
||||
],
|
||||
"time": "2019-12-20T13:11:11+00:00"
|
||||
"time": "2020-02-22T01:51:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "gloudemans/shoppingcart",
|
||||
|
|
@ -2467,16 +2467,16 @@
|
|||
},
|
||||
{
|
||||
"name": "ramsey/uuid",
|
||||
"version": "3.9.2",
|
||||
"version": "3.9.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ramsey/uuid.git",
|
||||
"reference": "7779489a47d443f845271badbdcedfe4df8e06fb"
|
||||
"reference": "7e1633a6964b48589b142d60542f9ed31bd37a92"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/7779489a47d443f845271badbdcedfe4df8e06fb",
|
||||
"reference": "7779489a47d443f845271badbdcedfe4df8e06fb",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92",
|
||||
"reference": "7e1633a6964b48589b142d60542f9ed31bd37a92",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2550,7 +2550,7 @@
|
|||
"identifier",
|
||||
"uuid"
|
||||
],
|
||||
"time": "2019-12-17T08:18:51+00:00"
|
||||
"time": "2020-02-21T04:36:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "reliese/laravel",
|
||||
|
|
@ -2652,26 +2652,29 @@
|
|||
},
|
||||
{
|
||||
"name": "setasign/fpdi",
|
||||
"version": "v2.2.0",
|
||||
"version": "v2.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Setasign/FPDI.git",
|
||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f"
|
||||
"reference": "ff7e43e07abb97feb4a1cceaf72d75ce0e175ca0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
||||
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/ff7e43e07abb97feb4a1cceaf72d75ce0e175ca0",
|
||||
"reference": "ff7e43e07abb97feb4a1cceaf72d75ce0e175ca0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-zlib": "*",
|
||||
"php": "^5.6 || ^7.0"
|
||||
},
|
||||
"conflict": {
|
||||
"setasign/tfpdf": "<1.31"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~5.7",
|
||||
"setasign/fpdf": "~1.8",
|
||||
"setasign/tfpdf": "1.25",
|
||||
"setasign/tfpdf": "1.31",
|
||||
"tecnickcom/tcpdf": "~6.2"
|
||||
},
|
||||
"suggest": {
|
||||
|
|
@ -2709,7 +2712,7 @@
|
|||
"fpdi",
|
||||
"pdf"
|
||||
],
|
||||
"time": "2019-01-30T14:11:19+00:00"
|
||||
"time": "2020-02-19T11:30:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
|
|
@ -2775,16 +2778,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "f512001679f37e6a042b51897ed24a2f05eba656"
|
||||
"reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/f512001679f37e6a042b51897ed24a2f05eba656",
|
||||
"reference": "f512001679f37e6a042b51897ed24a2f05eba656",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/4fa15ae7be74e53f6ec8c83ed403b97e23b665e9",
|
||||
"reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2847,20 +2850,20 @@
|
|||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-25T12:44:29+00:00"
|
||||
"time": "2020-02-24T13:10:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v5.0.4",
|
||||
"version": "v5.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/css-selector.git",
|
||||
"reference": "ff60c90cb7950b592ebc84ad1289d0345bf24f9f"
|
||||
"reference": "a0b51ba9938ccc206d9284de7eb527c2d4550b44"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/ff60c90cb7950b592ebc84ad1289d0345bf24f9f",
|
||||
"reference": "ff60c90cb7950b592ebc84ad1289d0345bf24f9f",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/a0b51ba9938ccc206d9284de7eb527c2d4550b44",
|
||||
"reference": "a0b51ba9938ccc206d9284de7eb527c2d4550b44",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2900,20 +2903,20 @@
|
|||
],
|
||||
"description": "Symfony CssSelector Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-04T14:08:26+00:00"
|
||||
"time": "2020-02-04T09:41:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/debug.git",
|
||||
"reference": "20236471058bbaa9907382500fc14005c84601f0"
|
||||
"reference": "a980d87a659648980d89193fd8b7a7ca89d97d21"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/20236471058bbaa9907382500fc14005c84601f0",
|
||||
"reference": "20236471058bbaa9907382500fc14005c84601f0",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/a980d87a659648980d89193fd8b7a7ca89d97d21",
|
||||
"reference": "a980d87a659648980d89193fd8b7a7ca89d97d21",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2956,26 +2959,26 @@
|
|||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-25T12:44:29+00:00"
|
||||
"time": "2020-02-23T14:41:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/error-handler",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/error-handler.git",
|
||||
"reference": "d2721499ffcaf246a743e01cdf6696d3d5dd74c1"
|
||||
"reference": "89aa4b9ac6f1f35171b8621b24f60477312085be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/d2721499ffcaf246a743e01cdf6696d3d5dd74c1",
|
||||
"reference": "d2721499ffcaf246a743e01cdf6696d3d5dd74c1",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/89aa4b9ac6f1f35171b8621b24f60477312085be",
|
||||
"reference": "89aa4b9ac6f1f35171b8621b24f60477312085be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1.3",
|
||||
"psr/log": "~1.0",
|
||||
"symfony/debug": "^4.4",
|
||||
"symfony/debug": "^4.4.5",
|
||||
"symfony/var-dumper": "^4.4|^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
|
|
@ -3012,20 +3015,20 @@
|
|||
],
|
||||
"description": "Symfony ErrorHandler Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-27T09:48:47+00:00"
|
||||
"time": "2020-02-26T11:45:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "9e3de195e5bc301704dd6915df55892f6dfc208b"
|
||||
"reference": "4ad8e149799d3128621a3a1f70e92b9897a8930d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9e3de195e5bc301704dd6915df55892f6dfc208b",
|
||||
"reference": "9e3de195e5bc301704dd6915df55892f6dfc208b",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4ad8e149799d3128621a3a1f70e92b9897a8930d",
|
||||
"reference": "4ad8e149799d3128621a3a1f70e92b9897a8930d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3082,7 +3085,7 @@
|
|||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-10T21:54:01+00:00"
|
||||
"time": "2020-02-04T09:32:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
|
|
@ -3144,16 +3147,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "3a50be43515590faf812fbd7708200aabc327ec3"
|
||||
"reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/3a50be43515590faf812fbd7708200aabc327ec3",
|
||||
"reference": "3a50be43515590faf812fbd7708200aabc327ec3",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/ea69c129aed9fdeca781d4b77eb20b62cf5d5357",
|
||||
"reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3189,20 +3192,20 @@
|
|||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-04T13:00:46+00:00"
|
||||
"time": "2020-02-14T07:42:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "491a20dfa87e0b3990170593bc2de0bb34d828a5"
|
||||
"reference": "7e41b4fcad4619535f45f8bfa7744c4f384e1648"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/491a20dfa87e0b3990170593bc2de0bb34d828a5",
|
||||
"reference": "491a20dfa87e0b3990170593bc2de0bb34d828a5",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/7e41b4fcad4619535f45f8bfa7744c4f384e1648",
|
||||
"reference": "7e41b4fcad4619535f45f8bfa7744c4f384e1648",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3244,20 +3247,20 @@
|
|||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-31T09:11:17+00:00"
|
||||
"time": "2020-02-13T19:40:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "62116a9c8fb15faabb158ad9cb785c353c2572e5"
|
||||
"reference": "8c8734486dada83a6041ab744709bdc1651a8462"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/62116a9c8fb15faabb158ad9cb785c353c2572e5",
|
||||
"reference": "62116a9c8fb15faabb158ad9cb785c353c2572e5",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/8c8734486dada83a6041ab744709bdc1651a8462",
|
||||
"reference": "8c8734486dada83a6041ab744709bdc1651a8462",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3334,20 +3337,20 @@
|
|||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-31T12:45:06+00:00"
|
||||
"time": "2020-02-29T10:31:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mime",
|
||||
"version": "v5.0.4",
|
||||
"version": "v5.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/mime.git",
|
||||
"reference": "2a3c7fee1f1a0961fa9cf360d5da553d05095e59"
|
||||
"reference": "9b3e5b5e58c56bbd76628c952d2b78556d305f3c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/2a3c7fee1f1a0961fa9cf360d5da553d05095e59",
|
||||
"reference": "2a3c7fee1f1a0961fa9cf360d5da553d05095e59",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/9b3e5b5e58c56bbd76628c952d2b78556d305f3c",
|
||||
"reference": "9b3e5b5e58c56bbd76628c952d2b78556d305f3c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3396,20 +3399,20 @@
|
|||
"mime",
|
||||
"mime-type"
|
||||
],
|
||||
"time": "2020-01-04T14:08:26+00:00"
|
||||
"time": "2020-02-04T09:41:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
|
||||
"reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
|
||||
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38",
|
||||
"reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3421,7 +3424,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3454,20 +3457,20 @@
|
|||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-iconv",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-iconv.git",
|
||||
"reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36"
|
||||
"reference": "926832ce51059bb58211b7b2080a88e0c3b5328e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36",
|
||||
"reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/926832ce51059bb58211b7b2080a88e0c3b5328e",
|
||||
"reference": "926832ce51059bb58211b7b2080a88e0c3b5328e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3479,7 +3482,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3513,26 +3516,26 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-idn",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||
"reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46"
|
||||
"reference": "6842f1a39cf7d580655688069a03dd7cd83d244a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
|
||||
"reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6842f1a39cf7d580655688069a03dd7cd83d244a",
|
||||
"reference": "6842f1a39cf7d580655688069a03dd7cd83d244a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"symfony/polyfill-mbstring": "^1.3",
|
||||
"symfony/polyfill-php72": "^1.9"
|
||||
"symfony/polyfill-php72": "^1.10"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
|
|
@ -3540,7 +3543,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3575,20 +3578,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-17T12:01:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
|
||||
"reference": "34094cfa9abe1f0f14f48f490772db7a775559f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2",
|
||||
"reference": "34094cfa9abe1f0f14f48f490772db7a775559f2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3600,7 +3603,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3634,20 +3637,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T14:18:11+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php56",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php56.git",
|
||||
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4"
|
||||
"reference": "16ec91cb06998b609501b55b7177b7d7c02badb3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
|
||||
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/16ec91cb06998b609501b55b7177b7d7c02badb3",
|
||||
"reference": "16ec91cb06998b609501b55b7177b7d7c02badb3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3657,7 +3660,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3690,20 +3693,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php72",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||
"reference": "66fea50f6cb37a35eea048d75a7d99a45b586038"
|
||||
"reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038",
|
||||
"reference": "66fea50f6cb37a35eea048d75a7d99a45b586038",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
|
||||
"reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3712,7 +3715,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3745,20 +3748,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php73",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||
"reference": "4b0e2222c55a25b4541305a053013d5647d3a25f"
|
||||
"reference": "5e66a0fa1070bf46bec4bea7962d285108edd675"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f",
|
||||
"reference": "4b0e2222c55a25b4541305a053013d5647d3a25f",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675",
|
||||
"reference": "5e66a0fa1070bf46bec4bea7962d285108edd675",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3767,7 +3770,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3803,20 +3806,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T16:25:15+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-util",
|
||||
"version": "v1.13.1",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-util.git",
|
||||
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f"
|
||||
"reference": "ba3cfcea6d0192cae46c62041f61cbb704b526d3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/964a67f293b66b95883a5ed918a65354fcd2258f",
|
||||
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ba3cfcea6d0192cae46c62041f61cbb704b526d3",
|
||||
"reference": "ba3cfcea6d0192cae46c62041f61cbb704b526d3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3825,7 +3828,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.13-dev"
|
||||
"dev-master": "1.14-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -3855,20 +3858,20 @@
|
|||
"polyfill",
|
||||
"shim"
|
||||
],
|
||||
"time": "2019-11-27T13:56:44+00:00"
|
||||
"time": "2020-01-13T11:15:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "f5697ab4cb14a5deed7473819e63141bf5352c36"
|
||||
"reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/f5697ab4cb14a5deed7473819e63141bf5352c36",
|
||||
"reference": "f5697ab4cb14a5deed7473819e63141bf5352c36",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/bf9166bac906c9e69fb7a11d94875e7ced97bcd7",
|
||||
"reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3904,20 +3907,20 @@
|
|||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-09T09:50:08+00:00"
|
||||
"time": "2020-02-07T20:06:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "7bf4e38573728e317b926ca4482ad30470d0e86a"
|
||||
"reference": "4124d621d0e445732520037f888a0456951bde8c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/7bf4e38573728e317b926ca4482ad30470d0e86a",
|
||||
"reference": "7bf4e38573728e317b926ca4482ad30470d0e86a",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/4124d621d0e445732520037f888a0456951bde8c",
|
||||
"reference": "4124d621d0e445732520037f888a0456951bde8c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3980,7 +3983,7 @@
|
|||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2020-01-08T17:29:02+00:00"
|
||||
"time": "2020-02-25T12:41:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
|
|
@ -4042,16 +4045,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "f5d2ac46930238b30a9c2f1b17c905f3697d808c"
|
||||
"reference": "0a19a77fba20818a969ef03fdaf1602de0546353"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/f5d2ac46930238b30a9c2f1b17c905f3697d808c",
|
||||
"reference": "f5d2ac46930238b30a9c2f1b17c905f3697d808c",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/0a19a77fba20818a969ef03fdaf1602de0546353",
|
||||
"reference": "0a19a77fba20818a969ef03fdaf1602de0546353",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -4114,7 +4117,7 @@
|
|||
],
|
||||
"description": "Symfony Translation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2020-01-15T13:29:06+00:00"
|
||||
"time": "2020-02-04T09:32:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
|
|
@ -4175,16 +4178,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "46b53fd714568af343953c039ff47b67ce8af8d6"
|
||||
"reference": "2572839911702b0405479410ea7a1334bfab0b96"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/46b53fd714568af343953c039ff47b67ce8af8d6",
|
||||
"reference": "46b53fd714568af343953c039ff47b67ce8af8d6",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/2572839911702b0405479410ea7a1334bfab0b96",
|
||||
"reference": "2572839911702b0405479410ea7a1334bfab0b96",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -4247,7 +4250,7 @@
|
|||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2020-01-25T12:44:29+00:00"
|
||||
"time": "2020-02-24T13:10:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
|
|
@ -4424,33 +4427,33 @@
|
|||
"packages-dev": [
|
||||
{
|
||||
"name": "barryvdh/laravel-ide-helper",
|
||||
"version": "v2.6.6",
|
||||
"version": "v2.6.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-ide-helper.git",
|
||||
"reference": "b91b959364d97af658f268c733c75dccdbff197e"
|
||||
"reference": "edd69c5e0508972c81f1f7173236de2459c45814"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/b91b959364d97af658f268c733c75dccdbff197e",
|
||||
"reference": "b91b959364d97af658f268c733c75dccdbff197e",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/edd69c5e0508972c81f1f7173236de2459c45814",
|
||||
"reference": "edd69c5e0508972c81f1f7173236de2459c45814",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"barryvdh/reflection-docblock": "^2.0.6",
|
||||
"composer/composer": "^1.6",
|
||||
"doctrine/dbal": "~2.3",
|
||||
"illuminate/console": "^5.5|^6",
|
||||
"illuminate/filesystem": "^5.5|^6",
|
||||
"illuminate/support": "^5.5|^6",
|
||||
"php": ">=7"
|
||||
"illuminate/console": "^5.5|^6|^7",
|
||||
"illuminate/filesystem": "^5.5|^6|^7",
|
||||
"illuminate/support": "^5.5|^6|^7",
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"illuminate/config": "^5.5|^6",
|
||||
"illuminate/view": "^5.5|^6",
|
||||
"phpro/grumphp": "^0.14",
|
||||
"phpunit/phpunit": "4.*",
|
||||
"scrutinizer/ocular": "~1.1",
|
||||
"illuminate/config": "^5.5|^6|^7",
|
||||
"illuminate/view": "^5.5|^6|^7",
|
||||
"mockery/mockery": "^1.3",
|
||||
"orchestra/testbench": "^3|^4",
|
||||
"phpro/grumphp": "^0.17.1",
|
||||
"squizlabs/php_codesniffer": "^3"
|
||||
},
|
||||
"type": "library",
|
||||
|
|
@ -4491,7 +4494,7 @@
|
|||
"phpstorm",
|
||||
"sublime"
|
||||
],
|
||||
"time": "2019-10-30T20:53:27+00:00"
|
||||
"time": "2020-02-25T20:41:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/reflection-docblock",
|
||||
|
|
@ -4741,16 +4744,16 @@
|
|||
},
|
||||
{
|
||||
"name": "composer/spdx-licenses",
|
||||
"version": "1.5.2",
|
||||
"version": "1.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/spdx-licenses.git",
|
||||
"reference": "7ac1e6aec371357df067f8a688c3d6974df68fa5"
|
||||
"reference": "0c3e51e1880ca149682332770e25977c70cf9dae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7ac1e6aec371357df067f8a688c3d6974df68fa5",
|
||||
"reference": "7ac1e6aec371357df067f8a688c3d6974df68fa5",
|
||||
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/0c3e51e1880ca149682332770e25977c70cf9dae",
|
||||
"reference": "0c3e51e1880ca149682332770e25977c70cf9dae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -4797,7 +4800,7 @@
|
|||
"spdx",
|
||||
"validator"
|
||||
],
|
||||
"time": "2019-07-29T10:31:59+00:00"
|
||||
"time": "2020-02-14T07:44:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
|
|
@ -5457,16 +5460,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "5.0.0",
|
||||
"version": "5.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "a48807183a4b819072f26e347bbd0b5199a9d15f"
|
||||
"reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/a48807183a4b819072f26e347bbd0b5199a9d15f",
|
||||
"reference": "a48807183a4b819072f26e347bbd0b5199a9d15f",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
|
||||
"reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -5506,30 +5509,29 @@
|
|||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"time": "2020-02-09T09:16:15+00:00"
|
||||
"time": "2020-02-22T12:28:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
"version": "1.0.1",
|
||||
"version": "1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
|
||||
"reference": "7462d5f123dfc080dfdf26897032a6513644fc95"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
|
||||
"reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95",
|
||||
"reference": "7462d5f123dfc080dfdf26897032a6513644fc95",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1",
|
||||
"php": "^7.2",
|
||||
"phpdocumentor/reflection-common": "^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-tokenizer": "^7.1",
|
||||
"mockery/mockery": "~1",
|
||||
"phpunit/phpunit": "^7.0"
|
||||
"ext-tokenizer": "^7.2",
|
||||
"mockery/mockery": "~1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
|
@ -5553,7 +5555,7 @@
|
|||
}
|
||||
],
|
||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"time": "2019-08-22T18:11:29+00:00"
|
||||
"time": "2020-02-18T18:59:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
|
|
@ -6571,16 +6573,16 @@
|
|||
},
|
||||
{
|
||||
"name": "seld/phar-utils",
|
||||
"version": "1.0.2",
|
||||
"version": "1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/phar-utils.git",
|
||||
"reference": "84715761c35808076b00908a20317a3a8a67d17e"
|
||||
"reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/84715761c35808076b00908a20317a3a8a67d17e",
|
||||
"reference": "84715761c35808076b00908a20317a3a8a67d17e",
|
||||
"url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8800503d56b9867d43d9c303b9cbcc26016e82f0",
|
||||
"reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6609,13 +6611,13 @@
|
|||
],
|
||||
"description": "PHAR file format utilities, for when PHP phars you up",
|
||||
"keywords": [
|
||||
"phra"
|
||||
"phar"
|
||||
],
|
||||
"time": "2020-01-13T10:41:09+00:00"
|
||||
"time": "2020-02-14T15:25:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v4.4.4",
|
||||
"version": "v4.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
|
|
@ -6705,16 +6707,16 @@
|
|||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
"version": "1.6.0",
|
||||
"version": "1.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/webmozart/assert.git",
|
||||
"reference": "573381c0a64f155a0d9a23f4b0c797194805b925"
|
||||
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925",
|
||||
"reference": "573381c0a64f155a0d9a23f4b0c797194805b925",
|
||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598",
|
||||
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6749,7 +6751,7 @@
|
|||
"check",
|
||||
"validate"
|
||||
],
|
||||
"time": "2019-11-24T13:36:37+00:00"
|
||||
"time": "2020-02-14T12:15:55+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ return [
|
|||
'pre_url_crm' => env('APP_URL_CRM', 'my.'),
|
||||
'checkout_url' => env('APP_URL_CHECKOUT', 'checkout.'),
|
||||
'checkout_mail' => env('APP_CHECKOUT_MAIL', 'no-replay@mivita.care'),
|
||||
|
||||
'info_mail' => env('APP_INFO_MAIL', 'no-replay@mivita.care'),
|
||||
|
||||
/* 'url_backend' => env('APP_URL', 'http://mivita.local/'),
|
||||
'url_backend' => env('APP_URL', 'http://mivita.local/'),
|
||||
|
|
|
|||
10
config/mivita.php
Executable file
10
config/mivita.php
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
|
||||
'renewal_days' => env('MIVITA_RENEWAL_DAYS', '29'),
|
||||
'abo_booking_days' => env('MIVITA_ABO_BOOKING_DAYS', '14'),
|
||||
|
||||
|
||||
];
|
||||
|
|
@ -57,6 +57,8 @@ class CreateProductsTable extends Migration
|
|||
$table->string('identifier', 20)->nullable();
|
||||
$table->string('action')->nullable();
|
||||
|
||||
//is an upgrade product, set this product id by payments API paid
|
||||
$table->unsignedInteger('upgrade_to_id')->nullable();
|
||||
|
||||
$table->timestamps();
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ class CreateShoppingInstancesTable extends Migration
|
|||
$table->string('identifier')->unique()->index();
|
||||
$table->unsignedInteger('user_shop_id');
|
||||
$table->unsignedInteger('auth_user_id');
|
||||
$table->unsignedTinyInteger('payment');
|
||||
$table->unsignedInteger('country_id');
|
||||
$table->string('subdomain');
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ class CreateShoppingOrdersTable extends Migration
|
|||
$table->unsignedInteger('country_id');
|
||||
$table->unsignedInteger('user_shop_id');
|
||||
|
||||
$table->unsignedTinyInteger('payment_for');
|
||||
|
||||
$table->decimal('total', 13, 2)->nullable();
|
||||
$table->decimal('shipping', 8, 2)->nullable();
|
||||
$table->decimal('subtotal', 13, 2)->nullable();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateUserHistoriesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('user_histories', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->unsignedInteger('user_id');
|
||||
|
||||
$table->unsignedInteger('shopping_order_id')->nullable();
|
||||
$table->unsignedInteger('product_id')->nullable();
|
||||
|
||||
$table->string('action')->index()->nullable();
|
||||
$table->unsignedInteger('referenz')->default(0);
|
||||
$table->string('identifier')->index()->nullable();
|
||||
|
||||
$table->boolean('abo_options')->default(false);
|
||||
|
||||
$table->unsignedTinyInteger('status')->index()->default(0);
|
||||
|
||||
$table->timestamps();
|
||||
|
||||
$table->foreign('shopping_order_id')
|
||||
->references('id')
|
||||
->on('shopping_orders');
|
||||
|
||||
$table->foreign('product_id')
|
||||
->references('id')
|
||||
->on('products');
|
||||
|
||||
$table->foreign('user_id')
|
||||
->references('id')
|
||||
->on('users')
|
||||
->onDelete('cascade');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('user_histories');
|
||||
}
|
||||
}
|
||||
20
resources/lang/de/payment.php
Executable file
20
resources/lang/de/payment.php
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'status' => [
|
||||
'store_payment' => 'Zahlung gespeichert',
|
||||
'checkout_payment' => 'Checkout',
|
||||
'payment_error' => 'Zahlung Fehler',
|
||||
'payment_redirect' => 'Zahlung weitergeleitet',
|
||||
'payment_approved' => 'Zahlung genehmigt',
|
||||
'txaction_failed' => 'Zahlung fehlgeschlagen',
|
||||
'txaction_appointed' => 'Zahlung genehmigt',
|
||||
'txaction_paid' => 'Zahlung bestätigt',
|
||||
'success_payment' => 'Zahlung erflogreich',
|
||||
'success' => 'Erflogreich ausgeführt',
|
||||
'payment_not_found' => 'Zahlung nicht gefunden',
|
||||
'checkout_cancel' => ' Zahlungsvorgang Abbruch',
|
||||
'checkout_error' => 'Zahlungsvorgang Fehler',
|
||||
],
|
||||
];
|
||||
|
|
@ -50,12 +50,17 @@
|
|||
<label class="form-label" for="copy">{{ __('copy') }}</label>
|
||||
{{ Form::textarea('copy', $product->copy , array('placeholder'=>__('Leistungen'), 'class'=>'form-control summernote', 'id'=>'copy')) }}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="title">{{ __('Action') }}</label>
|
||||
{{ Form::select('action[]', $product->actions, $product->action, array('data-live-search'=>'false', 'class'=>'selectpicker', 'id'=>'action', 'multiple') ) }}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-8">
|
||||
<label class="form-label" for="action">{{ __('Action') }}</label>
|
||||
{{ Form::select('action[]', $product->actions, $product->action, array('data-live-search'=>'false', 'class'=>'selectpicker', 'id'=>'action', 'multiple') ) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-4">
|
||||
<label class="form-label" for="upgrade_to_id">{{ __('Upgrade to ID') }}</label>
|
||||
{{ Form::text('upgrade_to_id', $product->upgrade_to_id, array('placeholder'=>__('Product ID when need an upgrade'), 'class'=>'form-control', 'id'=>'upgrade_to_id')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
{{ __('User') }}
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-datatable table-responsive">
|
||||
<table class="datatables-users table table-striped table-bordered">
|
||||
|
|
@ -19,12 +18,12 @@
|
|||
<th>{{__('Last name')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('Zugang')}}</th>
|
||||
<th>{{__('verified')}}</th>
|
||||
<th>{{__('active')}}</th>
|
||||
<th>{{__('shop')}}</th>
|
||||
<th>{{__('ab')}}</th>
|
||||
<th>{{__('verified')}} (seit)</th>
|
||||
<th>{{__('active')}} (seit)</th>
|
||||
<th>{{__('Account')}} (bis)</th>
|
||||
<th>{{__('Shop')}} (bis)</th>
|
||||
<th>{{__('Shop')}} ab</th>
|
||||
<th>{{__('delete')}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
|
@ -33,16 +32,15 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<!-- Modal template -->
|
||||
<div class="modal fade" id="modals-default">
|
||||
<!-- Modal admin -->
|
||||
<div class="modal fade" id="modals-admin">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}}<span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
|
@ -62,28 +60,159 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-admin" value="save-admin">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal confirmed -->
|
||||
<div class="modal fade" id="modals-confirmed">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="confirmed" checked>
|
||||
<span class="custom-control-label">{{__('verified')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="confirmation_date" class="form-label">{{__('Datum')}} seit</label>
|
||||
<input type="text" name="confirmation_date" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-confirmed" value="save-confirmed">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal active -->
|
||||
<div class="modal fade" id="modals-active">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="custom-control custom-checkbox m-0">
|
||||
<input type="checkbox" class="custom-control-input" name="active" checked>
|
||||
<span class="custom-control-label">{{__('active')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="active_date" class="form-label">{{__('Datum')}} seit</label>
|
||||
<input type="text" name="active_date" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-active" value="save-active">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal account -->
|
||||
<div class="modal fade" id="modals-account">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="payment_account" class="form-label">{{__('Account')}} bis</label>
|
||||
<input type="text" name="payment_account" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-account" value="save-account">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal account -->
|
||||
<div class="modal fade" id="modals-shop">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" class="form-control" name="id">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('User')}} <span class="font-weight-light">{{__('create/edit')}}</span></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="email" class="form-label">{{__('E-Mail')}}</label>
|
||||
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="payment_shop" class="form-label">{{__('Shop')}} bis</label>
|
||||
<input type="text" name="payment_shop" class="form-control b-material-datetime-picker" placeholder="25.10.2020 10:30">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary" name="save-shop" value="save-shop">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -91,21 +220,51 @@
|
|||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
$('#modals-default').on('show.bs.modal', function (event) {
|
||||
$('#modals-admin').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body select[name='admin']").val(button.data('admin'));
|
||||
$('.selectpicker').selectpicker('refresh');
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
$(this).find(".modal-body input[name='confirmed']").prop( "checked", button.data('confirmed'));
|
||||
});
|
||||
|
||||
$('#modals-confirmed').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='confirmed']").prop( "checked", button.data('confirmed'));
|
||||
$(this).find(".modal-body input[name='confirmation_date']").val(button.data('confirmation_date'));
|
||||
});
|
||||
|
||||
$('#modals-active').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
|
||||
$(this).find(".modal-body input[name='active_date']").val(button.data('active_date'));
|
||||
});
|
||||
|
||||
$('#modals-account').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='payment_account']").val(button.data('payment_account'));
|
||||
});
|
||||
|
||||
$('#modals-shop').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='id']").val(button.data('id'));
|
||||
$(this).find(".modal-body input[name='email']").val(button.data('email'));
|
||||
$(this).find(".modal-body input[name='payment_shop']").val(button.data('payment_shop'));
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('.datatables-users').dataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"ajax": '{!! route('data_table_users') !!}',
|
||||
"order": [[0, "asc" ]],
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false},
|
||||
{ data: 'first_name', name: 'account.first_name' },
|
||||
|
|
@ -114,6 +273,7 @@
|
|||
{ data: 'admin', name: 'admin' },
|
||||
{ data: 'confirmed', name: 'confirmed' },
|
||||
{ data: 'active', name: 'active' },
|
||||
{ data: 'account', name: 'account' },
|
||||
{ data: 'shop', name: 'shop' },
|
||||
{ data: 'since', name: 'since' },
|
||||
{ data: 'action_delete', orderable: false, searchable: false},
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
<h5 class="text-center text-muted font-weight-normal mb-4">{{ __('Login to your account') }}</h5>
|
||||
|
||||
|
||||
<!-- Form -->
|
||||
<form method="POST" class="my-5" action="{{ route('login') }}" aria-label="{{ __('Login') }}">
|
||||
@csrf
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<div class="row">
|
||||
@if($user->active == 1)
|
||||
@if($user->payment_account && $user->daysActiveAccount() <= 29)
|
||||
@if($user->payment_account && $user->daysActiveAccount() <= config('mivita.renewal_days'))
|
||||
<div class="d-flex col-xl-12 align-items-stretch">
|
||||
<!-- SHOP -->
|
||||
<div class="card w-100 mb-4">
|
||||
|
|
@ -38,27 +38,28 @@
|
|||
{{__('Mitgliedschaft / Jahresbeitrag') }}
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
<h5><strong>Achtung:</strong> Deine Mitgliedschaft wurde verlängert!</h5>
|
||||
|
||||
@if($user->daysActiveAccount() <= 0)
|
||||
@if($user->isActiveAccount())
|
||||
<h5 class="alert badge-danger"><strong>Achtung:</strong> Deine Mitgliedschaft läuft heute aus, bitte aktualisiere jetzt Deine Zahlung!</h5>
|
||||
@else
|
||||
<h5 class="alert badge-danger"><strong>Achtung:</strong> Deine Mitgliedschaft ist vor {{ $user->daysActiveAccount()*-1 }} Tagen ausgelaufen, bitte aktualisiere jetzt Deine Zahlung!</h5>
|
||||
@endif
|
||||
@elseif($user->daysActiveAccount() < 14)
|
||||
<h5 class="alert badge-warning"><strong>Achtung:</strong> Deine Mitgliedschaft läuft in {{$user->daysActiveAccount()}} Tagen aus, bitte aktualisiere jetzt Deine Zahlung!</h5>
|
||||
@if($user->daysActiveAccount() <= 0)
|
||||
@if($user->isActiveAccount())
|
||||
<h5 class="alert badge-danger">Dein Zahlungsfrist läuft heute aus, bitte aktualisiere jetzt Deine Mitgliedschaft!</h5>
|
||||
@else
|
||||
<h5 class="alert badge-default"><strong>Achtung:</strong> Deine Mitgliedschaft läuft in {{$user->daysActiveAccount()}} Tagen aus, bitte aktualisiere jetzt Deine Zahlung!</h5>
|
||||
{{--
|
||||
TODO SEPA
|
||||
--}}
|
||||
<h5 class="alert badge-danger">Dein Zahlungsfrist ist vor {{ $user->daysActiveAccount()*-1 }} Tagen ausgelaufen, bitte aktualisiere jetzt Deine Mitgliedschaft!</h5>
|
||||
@endif
|
||||
<p>Erst wenn Dein Jahresbeitrag bei uns eingeht wird Deine Mitgliedschaft automastisch um ein Jahr verlängert.</p>
|
||||
<p>Die Verlängerung gibt ab erstes Abschlussdatum ein weiteres volles Jahr, bis zum <strong>{{$user->modifyActiveAccount()}}</strong></p>
|
||||
@elseif($user->daysActiveAccount() < config('mivita.abo_booking_days') )
|
||||
<h5 class="alert badge-warning">Dein Zahlungsfrist läuft in {{$user->daysActiveAccount()}} Tagen aus, bitte aktualisiere jetzt Deine Mitgliedschaft!</h5>
|
||||
@else
|
||||
<h5 class="alert badge-default">Dein Zahlungsfrist läuft in {{$user->daysActiveAccount()}} Tagen aus, bitte aktualisiere jetzt Deine Mitgliedschaft!</h5>
|
||||
@if($user->abo_options && $user->payment_account)
|
||||
<p>Deine Abo-Option ist aktiv, wir werden am <strong>{!! Carbon::parse($user->payment_account)->modify('-'.config('mivita.abo_booking_days').' days')->format('d.m.Y') !!}</strong> Deine Mitgliedschaftsgebühr automatisch per SEPA Mandat einziehen.<br>
|
||||
@endif
|
||||
@endif
|
||||
<p>Erst wenn Dein Jahresbeitrag bei uns eingeht wird Deine Mitgliedschaft automastisch für ein Jahr verlängert. Die Verlängerung gilt ab erstes Abschlussdatum ein weiteres volles Jahr, bis zum <strong>{{$user->modifyActiveAccount()}}</strong>.
|
||||
Sollte nach Ablauf der Zahlungsfrist Dein Jahresbeitrag nicht bei uns eingehen, wird Dein Account gesperrt.</p>
|
||||
|
||||
</div>
|
||||
<div class="card-footer py-3">
|
||||
<a href="" class="btn btn-info mb-3"><i class="ion ion-ios-refresh text-default mr-1"></i> Mitgliedschaft jetzt hier verlängern</a>
|
||||
<a href="{{route('user_membership')}}" class="btn btn-info mb-3"><i class="ion ion-ios-refresh text-default mr-1"></i> Mitgliedschaft jetzt hier verwalten</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- / SHOP -->
|
||||
|
|
@ -126,34 +127,36 @@
|
|||
<div class="card-body">
|
||||
|
||||
@if($user->isActiveAccount() )
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Berater-Mitgliedschaft aktiv')}}</strong> {{__('bis zum:')}} {{ $user->getPaymentAccountDateFormat() }}</p>
|
||||
<div class="badge btn-success p-2">
|
||||
<i class="ion ion-md-checkmark-circle-outline text-white"></i>
|
||||
<strong>{{__('Berater-Mitgliedschaft aktiv')}}</strong> {{__('bis zum:')}} <strong></strong>{{ $user->getPaymentAccountDateFormat() }}</div>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<div class="badge badge-danger p-2">
|
||||
<i class="ion ion-md-close-circle-outline text-white"></i>
|
||||
<strong>{{__('Berater-Account inaktiv')}} </strong>
|
||||
@if($user->payment_account)
|
||||
{{__('abgelaufen am')}}: {{ $user->getPaymentAccountDateFormat() }}
|
||||
{{__('abgelaufen am')}}: <strong></strong>{{ $user->getPaymentAccountDateFormat() }}
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="clearfix mb-2"></div>
|
||||
@if($user->isActiveShop())
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Berater-Online-Shop aktiv')}}</strong> {{__('bis zum')}}: {{ $user->getPaymentShopDateFormat() }}</p>
|
||||
<div class="badge btn-success p-2">
|
||||
<i class="ion ion-md-checkmark-circle-outline text-white"></i>
|
||||
<strong>{{__('Berater-Online-Shop aktiv')}}</strong> {{__('bis zum')}}: <strong></strong>{{ $user->getPaymentShopDateFormat() }}</div>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<div class="badge badge-danger p-2">
|
||||
<i class="ion ion-md-close-circle-outline text-white"></i>
|
||||
<strong>{{__('Berater-Shop inaktiv')}}</strong>
|
||||
@if($user->payment_shop)
|
||||
{{__('abgelaufen am')}}: {{ $user->getPaymentShopDateFormat() }}
|
||||
{{__('abgelaufen am')}}: <strong></strong>{{ $user->getPaymentShopDateFormat() }}
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@if($user->payment_order_id)
|
||||
<div class="card-footer py-3">
|
||||
<a href="{{route('user_membership')}}" class="btn btn-secondary"><i class="ion ion-ios-people text-default mr-1"></i> {{__('Mitgliedschaft verwalten')}}</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- / SHOP -->
|
||||
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@
|
|||
<link rel="stylesheet" href="{{ mix('/vendor/libs/datatables/datatables.css') }}">
|
||||
<link rel="stylesheet" href="{{ mix('/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.css') }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/bootstrap-material-datetimepicker/bootstrap-material-datetimepicker.css') }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/slim-image-cropper/slim/slim.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('/vendor/libs/dropzone/dropzone.css') }}">
|
||||
|
||||
|
||||
|
||||
<!-- Layout helpers -->
|
||||
<script src="{{ mix('/vendor/js/layout-helpers.js') }}"></script>
|
||||
|
||||
|
|
@ -102,6 +102,8 @@
|
|||
<script src="{{ mix('/vendor/js/bootstrap.js') }}"></script>
|
||||
<script src="{{ mix('/vendor/js/sidenav.js') }}"></script>
|
||||
<script src="{{ mix('/vendor/libs/growl/growl.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/moment-develop/min/moment.min.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/moment-develop/locale/de.js') }}"></script>
|
||||
|
||||
<script src="{{ mix('/vendor/libs/validate/validate.js') }}"></script>
|
||||
|
||||
|
|
@ -112,6 +114,7 @@
|
|||
<script src="{{ mix('/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.js') }}"></script>
|
||||
<script src="{{asset('/js/bootstrap-datepicker.de.min.js')}}"></script>
|
||||
|
||||
<script src="{{ asset('/vendor/libs/bootstrap-material-datetimepicker/bootstrap-material-datetimepicker.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.min.js') }}"></script>
|
||||
<script src="{{ asset('/vendor/libs/summernote/lang/summernote-de-DE.js') }}"></script>
|
||||
|
|
@ -119,7 +122,7 @@
|
|||
|
||||
|
||||
<script src="{{ asset('/vendor/libs/slim-image-cropper/slim/slim.kickstart.min.js') }}"></script>
|
||||
<script src="{{asset('/vendor/libs/dropzone/dropzone.js')}}"></script>
|
||||
<script src="{{ asset('/vendor/libs/dropzone/dropzone.js')}}"></script>
|
||||
<script src="{{ asset('/js/forms_file-upload.js') }}"></script>
|
||||
|
||||
|
||||
|
|
@ -137,7 +140,6 @@
|
|||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
$('.datepicker-base').datepicker({
|
||||
orientation: 'auto right',
|
||||
calendarWeeks: true,
|
||||
|
|
@ -150,8 +152,18 @@
|
|||
format: 'dd.mm.yyyy',
|
||||
language: 'de',
|
||||
clearBtn: true,
|
||||
|
||||
});
|
||||
|
||||
$('.b-material-datetime-picker').bootstrapMaterialDatePicker({
|
||||
weekStart: 1,
|
||||
format : 'DD.MM.YYYY HH:mm',
|
||||
shortTime: false,
|
||||
nowButton : true,
|
||||
clearButton: true,
|
||||
lang: 'de',
|
||||
//currentDate: ''
|
||||
});
|
||||
|
||||
$('.summernote').summernote({
|
||||
height: 140,
|
||||
lang: 'de-DE',
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<hr>
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options" @if($user && $user->abo_options) checked="checked" @endif>
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen 14 Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wir speichern Dein SEPA-Lastschrift Mandart und buchen {{config('mivita.abo_booking_days')}} Tage vor Ablauf Deine Jahresgebühr automatisch ab.</span>
|
||||
<p class="text-muted">Du kannst Deine Abo-Option jederzeit im Login-Bereich rückgängig machen. Ohne Abo-Option musst du vor Ablauf der Frist selbstänig im Login-Bereich die Zahlung ausführen.</p>
|
||||
</label>
|
||||
<hr>
|
||||
51
resources/views/user/membership/_change.blade.php
Normal file
51
resources/views/user/membership/_change.blade.php
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
|
||||
{!! Form::open(['url' => route('user_membership_store', ['change_order']), 'class' => 'form-horizontal']) !!}
|
||||
<div class="table-responsive">
|
||||
<table class="table table- m-0">
|
||||
<tbody class="switchers-stacked">
|
||||
@foreach($products as $product)
|
||||
|
||||
<tr>
|
||||
<td class="text-center align-middle px-0">
|
||||
<label class="switcher switcher-secondary">
|
||||
<input type="radio" class="switcher-input" value="{{$product->id}}" name="switchers-package-wizard" @if($product->id == $user->payment_order_id) checked @endif >
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td class="p-4">
|
||||
<div class="media align-items-center">
|
||||
@if(count($product->images))
|
||||
<img src="{{ route('product_image', [$product->images->first()->slug]) }}" class="d-block ui-w-60 ui-bordered mr-4" alt="">
|
||||
@endif
|
||||
<div class="media-body">
|
||||
<h5 class="d-block text-dark">{{$product->name}} @if($product->id == $user->payment_order_id) (aktives Paket) @endif</h5>
|
||||
{!! $product->getLang('copy') !!}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-right font-weight-semibold align-middle p-4">{{$product->getFormattedPrice()}} EUR / p.a.</td>
|
||||
</tr>
|
||||
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="text-left mt-3">
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-secondary">{{ __('auswählen und speichern') }}</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Description -->
|
||||
57
resources/views/user/membership/_payment.blade.php
Normal file
57
resources/views/user/membership/_payment.blade.php
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
|
||||
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
|
||||
{!! Form::open(['url' => route('user_membership_store', ['payment']), 'class' => 'form-horizontal']) !!}
|
||||
<div class="table-responsive">
|
||||
<table class="table table- m-0">
|
||||
<tbody class="switchers-stacked">
|
||||
@foreach($products as $product)
|
||||
<tr>
|
||||
<td class="text-center align-middle px-0">
|
||||
<label class="switcher switcher-secondary">
|
||||
<input type="radio" class="switcher-input" value="{{$product->id}}" name="switchers-package-wizard" @if($product->id == $user->payment_order_id) checked @endif >
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td class="p-4">
|
||||
<div class="media align-items-center">
|
||||
@if(count($product->images))
|
||||
<img src="{{ route('product_image', [$product->images->first()->slug]) }}" class="d-block ui-w-60 ui-bordered mr-4" alt="">
|
||||
@endif
|
||||
<div class="media-body">
|
||||
<h5 class="d-block text-dark">{{$product->name}}</h5>
|
||||
{!! $product->getLang('copy') !!}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-right font-weight-semibold align-middle p-4">{{$product->getFormattedPrice()}} EUR / p.a.</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="text-left mt-3">
|
||||
<hr>
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options">
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen {{config('mivita.abo_booking_days')}} Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<p class="text-muted">Du kannst Deine Abo-Option jederzeit im Login-Bereich rückgängig machen. Ohne Abo-Option musst du vor Ablauf der Frist selbstänig im Login-Bereich die Zahlung ausführen.</p>
|
||||
</label>
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-secondary">{{ __('wählen und weiter zur Kasse') }}</button>
|
||||
<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>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Description -->
|
||||
65
resources/views/user/membership/_payment_order.blade.php
Normal file
65
resources/views/user/membership/_payment_order.blade.php
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
|
||||
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h5>Dein gebuchtes Paket</h5>
|
||||
{!! Form::open(['url' => route('user_membership_store', ['payment_order']), 'class' => 'form-horizontal']) !!}
|
||||
<div class="table-responsive">
|
||||
<table class="table table- m-0">
|
||||
<tbody class="switchers-stacked">
|
||||
@foreach($products as $product)
|
||||
@if($product->id === $user->payment_order_id || $product->identifier === 'show_order')
|
||||
<tr>
|
||||
<td class="text-center align-middle px-0">
|
||||
<label class="switcher switcher-secondary">
|
||||
<input type="radio" class="switcher-input" value="{{$product->id}}" name="switchers-package-wizard" @if($product->id == $user->payment_order_id) checked @endif >
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td class="p-4">
|
||||
<div class="media align-items-center">
|
||||
@if(count($product->images))
|
||||
<img src="{{ route('product_image', [$product->images->first()->slug]) }}" class="d-block ui-w-60 ui-bordered mr-4" alt="">
|
||||
@endif
|
||||
<div class="media-body">
|
||||
<h5 class="d-block text-dark">{{$product->name}}</h5>
|
||||
{!! $product->getLang('copy') !!}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-right font-weight-semibold align-middle p-4">{{$product->getFormattedPrice()}} EUR / p.a.</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="text-left mt-3">
|
||||
@if(!$user->abo_options)
|
||||
<hr>
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options">
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen {{config('mivita.abo_booking_days')}} Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<p class="text-muted">Du kannst Deine Abo-Option jederzeit im Login-Bereich rückgängig machen. Ohne Abo-Option musst du vor Ablauf der Frist selbstänig im Login-Bereich die Zahlung ausführen.</p>
|
||||
</label>
|
||||
<hr>
|
||||
@else
|
||||
<p><strong>Alternativ hast Du die Möglichkeit jetzt direkt Deine Mitgliedschaft mit anderen Zahlungsmöglichkeite zu bezahlen.</strong><br>
|
||||
Ist die Mitgliedschaft vor dem {!! Carbon::parse($user->payment_account)->modify('-'.config('mivita.abo_booking_days').' days')->format('d.m.Y') !!} bezahlt, wird das SEPA Mandart nicht ausgeführt!</p>
|
||||
<hr>
|
||||
@endif
|
||||
<button type="submit" class="btn btn-secondary">{{ __('wählen und weiter zur Kasse') }}</button>
|
||||
<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>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Description -->
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
@php($months = Carbon::now()->diffInMonths(Carbon::parse($user->payment_account)) +1)
|
||||
|
||||
{!! Form::open(['url' => route('user_membership_store_payment'), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="qty" value="{{$months}}">
|
||||
{!! Form::open(['url' => route('user_membership_store', ['upgrade_order']), 'class' => 'form-horizontal']) !!}
|
||||
<input type="hidden" name="qty" value="{{$diff_months}}">
|
||||
<div class="table-responsive">
|
||||
<table class="table table- m-0">
|
||||
<tbody class="switchers-stacked">
|
||||
|
|
@ -31,8 +30,8 @@
|
|||
<td class="text-right font-weight-semibold align-middle p-4">{{$product->getFormattedPrice()}} EUR / Monat</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="text-right">Restlaufzeit: {{$months}} @if($months==1) Monat @else Monate @endif</td>
|
||||
<td class="text-right font-weight-semibold"> {!! Util::formatNumber($months * $product->price) !!} EUR</td>
|
||||
<td colspan="2" class="text-right">Restlaufzeit: {{$diff_months}} @if($diff_months==1) Monat @else Monate @endif</td>
|
||||
<td class="text-right font-weight-semibold"> {!! Util::formatNumber($diff_months * $product->price) !!} EUR</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
|
|
|||
|
|
@ -17,108 +17,124 @@
|
|||
@endif
|
||||
|
||||
<h4 class="font-weight-bold py-2 mb-2">
|
||||
{{ __('Deine Mitgliedschaft') }}
|
||||
{{ __('Mitgliedschaft') }}
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col order-2 order-md-1">
|
||||
|
||||
@if($user->isActiveAccount() && !$user->isActiveShop())
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">{{__('MIVITA BUSINESS Paket')}} {{__('Upgrade')}}</h5>
|
||||
<div class="card-body">
|
||||
<h5 class="d-block text-dark">Erweitere jetzt Deine Mitglidschaft auf MIVITA BUSINESS Paket!</h5>
|
||||
<p>Berechnet werden die restlichen Monate bis zur Berater-Mitgliedschaft Verlängerung. Danach wird jährlich der MIVITA BUSINESS Paketpreis berechnet.</p>
|
||||
@include('user.membership._upgrade')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@if($user->abo_options && $user->payment_account)
|
||||
@if($user->isRenewalAccount())
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">{{__('Abo-Option')}} {{__('deaktivieren')}}</h5>
|
||||
<h5 class="card-header">Deine Mitglidschaft wurde am {!! Carbon::parse($user->payment_account)->modify('-'.config('mivita.abo_booking_days').' days')->format('d.m.Y') !!} verlänget.</h5>
|
||||
<div class="card-body">
|
||||
<p>Abo-Option dekativeren und SEPA Mandat zurückziehen.<br>
|
||||
Die nächste Buchung ist am: <strong>{!! Carbon::parse($user->payment_account)->modify('- 29 days')->format('d.m.Y') !!}</strong></p>
|
||||
|
||||
<button type="submit" class="btn btn-secondary">{{ __('Abo-Option') }} {{__('deaktivieren')}}</button>
|
||||
@if($userHistoryPaymentOrder && $userHistoryPaymentOrder->status > 2)
|
||||
<h6 class="alert badge-{{$userHistoryPaymentOrder->getStatusColor()}}">Eine Zahlung wurde ausgeführt. Status: {{ trans('payment.status.'.$userHistoryPaymentOrder->getStatusType())}}</h6>
|
||||
@endif
|
||||
@if($user->abo_options && $user->payment_account)
|
||||
<p class="alert py-2 px-2 badge-secondary">Deine Abo-Option ist aktiv, wir werden am <strong>{!! Carbon::parse($user->payment_account)->modify('-'.config('mivita.abo_booking_days').' days')->format('d.m.Y') !!}</strong> Deine Mitgliedschaftsgebühr automatisch per SEPA Mandat einziehen.<br>
|
||||
@else
|
||||
@if($user->payment_order_id && $user->payment_order_product->identifier === 'show_upgrade')
|
||||
<p></p>
|
||||
@endif
|
||||
@endif
|
||||
@if($user->payment_order_id)
|
||||
@if($user->payment_order_product->identifier === 'show_upgrade')
|
||||
<p><strong>Eine Rückstufung Deiner Berater-Mitgliedschaft ist nicht mehr möglich.</strong></p>
|
||||
<p><strong>Du hast die Möglichkeit Dein Paket zu upgraden, wähle einfach das erweiterte Paket aus und gehe weiter zur Zahlung.</strong></p>
|
||||
@endif
|
||||
@if($user->payment_order_product->identifier === 'show_order')
|
||||
<p><strong>Eine Änderung Deiner Berater-Mitgliedschaft ist nicht mehr möglich.</strong></p>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
|
||||
@include('user.membership._payment_order')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
|
||||
|
||||
{{--
|
||||
TODO
|
||||
//Warnungen und Zahlungen verlängerung.
|
||||
//upgrade speichern über api
|
||||
//Verlängern
|
||||
//cron sepa
|
||||
//cron Mails erinnerungen
|
||||
//downgrade
|
||||
|
||||
--}}
|
||||
|
||||
|
||||
|
||||
<!-- Description -->
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
|
||||
{!! Form::open(['url' => route('wizard_store_payment', [20]), 'class' => 'form-horizontal']) !!}
|
||||
<div class="table-responsive">
|
||||
<table class="table table- m-0">
|
||||
<tbody class="switchers-stacked">
|
||||
@foreach($products as $product)
|
||||
<tr>
|
||||
<td class="text-center align-middle px-0">
|
||||
<label class="switcher switcher-secondary">
|
||||
<input type="radio" class="switcher-input" value="{{$product->id}}" name="switchers-package-wizard" @if($product->id == $user->payment_order_id) checked @endif >
|
||||
<span class="switcher-indicator">
|
||||
<span class="switcher-yes"></span>
|
||||
<span class="switcher-no"></span>
|
||||
</span>
|
||||
<span class="switcher-label"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td class="p-4">
|
||||
<div class="media align-items-center">
|
||||
@if(count($product->images))
|
||||
<img src="{{ route('product_image', [$product->images->first()->slug]) }}" class="d-block ui-w-60 ui-bordered mr-4" alt="">
|
||||
@endif
|
||||
<div class="media-body">
|
||||
<h5 class="d-block text-dark">{{$product->name}}</h5>
|
||||
{!! $product->getLang('copy') !!}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-right font-weight-semibold align-middle p-4">{{$product->getFormattedPrice()}} EUR / p.a.</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{{-- upgrade downgrade next booking --}}
|
||||
@if($user->payment_account)
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">{{__('Mitgliedschaft')}} {{__('anpassen')}}</h5>
|
||||
<div class="card-body">
|
||||
<h6 class="d-block text-dark">Ändere Deine Mitglidschaft für die nächste Vertragsverlängerung.</h6>
|
||||
<p>Die restlichen Läufzeiten bleiben erhalten, erst mit der Verlängerung wird das geänderte Paket aktiv.</p>
|
||||
@include('user.membership._change')
|
||||
</div>
|
||||
<div class="text-left mt-3">
|
||||
<hr>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- no Shop - Upgrade --}}
|
||||
@if($user->isActiveAccount() && !$user->isActiveShop())
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">{{__('MIVITA BUSINESS Paket')}} {{__('Upgrade')}}</h5>
|
||||
<div class="card-body">
|
||||
<h5 class="d-block text-dark">Erweitere jetzt Deine Mitglidschaft auf MIVITA BUSINESS Paket!</h5>
|
||||
<p>Berechnet werden die restlichen Monate bis zur Berater-Mitgliedschaft Verlängerung. Danach wird jährlich der MIVITA BUSINESS Paketpreis berechnet.</p>
|
||||
@include('user.membership._upgrade')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
{{-- remove ABO Options --}}
|
||||
@if($user->abo_options && $user->payment_account)
|
||||
<div class="card w-100 mb-4">
|
||||
{!! Form::open(['url' => route('user_membership_store', ['remove_abo']), 'class' => 'form-horizontal']) !!}
|
||||
<h5 class="card-header">{{__('Abo-Option')}} {{__('deaktivieren')}}</h5>
|
||||
|
||||
<div class="card-body">
|
||||
<p>Abo-Option dekativeren und SEPA Mandat zurückziehen.<br>
|
||||
Die nächste Buchung ist am: <strong>{!! Carbon::parse($user->payment_account)->modify('-'.config('mivita.abo_booking_days').' days')->format('d.m.Y') !!}</strong></p>
|
||||
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options_remove">
|
||||
<span class="custom-control-label secondary">Hiermit bestätige ich, mein SEPA zu löschen und die Abo-Option dekativeren.</span>
|
||||
</label>
|
||||
<button type="submit" class="btn btn-secondary btn-sm">{{ __('Abo-Option') }} {{__('deaktivieren')}}</button>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if($user->payment_account)
|
||||
<div class="card w-100 mb-4">
|
||||
{!! Form::open(['url' => route('user_membership_store', ['delete_membership']), 'class' => 'form-horizontal']) !!}
|
||||
<h5 class="card-header">{{__('Mitgliedschaft')}} {{__('beenden')}}</h5>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<p>Du möchtest kein MIVITA Berater mehr sein und Deine Mitgliedschaft beenden?<br>
|
||||
Damit gibst du alle möglichen Provisionen, Vergünstigungen, Zugang zum Sales-Center und noch viel mehr auf. Mit absenden dieser Option erhalten wir ein Nachricht und kümmern uns um die Löschung Deines Accounts. Dieser Vorgang kann ein paar Tage dauern.</p>
|
||||
|
||||
@if($userHistoryDeleteMembership && $userHistoryDeleteMembership->status == 50)
|
||||
<p class="alert py-2 px-2 badge-danger">Die Beendigung und Löschung Deiner MIVITA Mitgliedschaft ist beantragt.<br>
|
||||
@else
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options">
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen 14 Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<p class="text-muted">Du kannst Deine Abo-Option jederzeit im Login-Bereich rückgängig machen. Ohne Abo-Option musst du vor Ablauf der Frist selbstänig im Login-Bereich die Zahlung ausführen.</p>
|
||||
<input type="checkbox" class="custom-control-input" name="delete_membership_mivita">
|
||||
<span class="custom-control-label secondary">Ja, ich möchte die MIVITA Mitgliedschaft beenden, ich verzichte auf jeglichen Anspruch gegenüber MIVITA und möchte, dass mein Account gelöscht wird!</span>
|
||||
</label>
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-secondary">{{ __('wählen und weiter zur Kasse') }}</button>
|
||||
<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>
|
||||
<button type="submit" class="btn btn-default btn-sm">{{ __('Mitgliedschaft hiermit beenden') }}</button>
|
||||
@endif
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Description -->
|
||||
@endif
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{{--
|
||||
TODO
|
||||
//cron sepa
|
||||
//cron Mails erinnerungen
|
||||
--}}
|
||||
</div>
|
||||
<div class="col-md-5 col-xl-4 order-1 order-md-2">
|
||||
<!-- Project details -->
|
||||
|
|
@ -130,7 +146,15 @@
|
|||
<div class="text-muted">{{__('gebuchtes Paket')}}</div>
|
||||
<div class="text-right">
|
||||
@if($user->payment_order_id)
|
||||
{{ $user->payment_order->name }}
|
||||
{{ $user->payment_order_product->name }}
|
||||
@endif
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<div class="text-muted">{{__('Vertragsverlängerung')}}</div>
|
||||
<div class="text-right">
|
||||
@if($user->payment_account)
|
||||
{{ $user->nextRenewalAccount() }}
|
||||
@endif
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
<hr>
|
||||
<label class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" name="abo_options">
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen 14 Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<span class="custom-control-label secondary"><strong>Abo-Option:</strong> Klicke dieses Box an, wenn Du Deine jährlichen Mitgliedschaft-Beiträge automatisch abbuchen lassen willst. Wähle dann bei der Zahlung SEPA-Lastschrift aus, wir speichern Dein SEPA-Lastschrift Mandart und buchen {{config('mivita.abo_booking_days')}} Tage vor ablauf deine Jahresgebühr automatisch ab.</span>
|
||||
<p class="text-muted">Du kannst Deine Abo-Option jederzeit im Login-Bereich rückgängig machen. Ohne Abo-Option musst du vor Ablauf der Frist selbstänig im Login-Bereich die Zahlung ausführen.</p>
|
||||
</label>
|
||||
<hr>
|
||||
|
|
|
|||
|
|
@ -134,9 +134,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="m-checkout">
|
||||
{!! Form::open(['url' => route('checkout.checkout_card_final'), 'class' => 'row clearfix', 'id'=>'']) !!}
|
||||
|
||||
|
|
@ -428,7 +425,11 @@
|
|||
</a>
|
||||
@else
|
||||
<a href="{{ Util::getUserCardBackUrl('/card/show') }}" class="btn btn-default btn-sm btn- size-15 mt-4">
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@if(Util::getUserPaymentFor() > 1)
|
||||
<i class="fa fa-chevron-left"></i> zurück {{ Util::getMyMivitaUrl(false) }}
|
||||
@else
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
|
@ -437,14 +438,21 @@
|
|||
|
||||
<!-- PAYMENT METHOD -->
|
||||
<fieldset class="box-border-shadow p-20">
|
||||
|
||||
<h4>Zahlungsart</h4>
|
||||
|
||||
<hr>
|
||||
<div class="toggle-transparent toggle-bordered-full clearfix">
|
||||
<div class="toggle active">
|
||||
<div class="toggle-content">
|
||||
<div class="row nomargin-bottom">
|
||||
@if(($shopping_user->abo_options === 1) && (Util::getUserPaymentFor() >= 3))
|
||||
<div class="col-lg-12 nomargin clearfix">
|
||||
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
|
||||
{!! Form::radio('payment_method', 'elv', '1') !!}
|
||||
<i></i> <span class="weight-400"><span class="fa fa-check text-primary"></span> SEPA Lastschrift</span>
|
||||
<img class="float-right" width="90" src="{{asset('images/payments-assets/sepa.png')}}" alt="SEPA Lastschrift">
|
||||
</label>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-lg-12 nomargin clearfix">
|
||||
<label class="mt-0 fs-14 fw-400 radio pull-left nomargin-top" style="width: 100%">
|
||||
{!! Form::radio('payment_method', 'wlt#PPE', (!old('payment_method') ? '1' : '')) !!}
|
||||
|
|
@ -460,8 +468,6 @@
|
|||
<img class="float-right" width="90" src="{{asset('images/payments-assets/creditcard.png')}}" alt="Mastercard + Visa">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-12 nomargin clearfix">
|
||||
<label class="mt-4 fs-14 fw-400 radio pull-left" style="width: 100%">
|
||||
{!! Form::radio('payment_method', 'sb#PNT', '') !!}
|
||||
|
|
@ -484,6 +490,8 @@
|
|||
|
||||
</label>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- <div class="col-lg-12 nomargin clearfix">
|
||||
<label class="mt-0 fs-14 fw-400 radio pull-left" style="width: 100%">
|
||||
<input name="payment_method" type="radio" value="sb#GPY" />
|
||||
|
|
@ -504,9 +512,7 @@
|
|||
</label>
|
||||
</div>
|
||||
--}}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -684,7 +690,6 @@
|
|||
</div>
|
||||
<!-- /CHECKOUT -->
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -71,7 +71,11 @@
|
|||
</a>
|
||||
@else
|
||||
<a href="{{ Util::getUserCardBackUrl('/card/show') }}">
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@if(Util::getUserPaymentFor() > 1)
|
||||
<i class="fa fa-chevron-left"></i> zurück {{ Util::getMyMivitaUrl(false) }}
|
||||
@else
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
<!-- /Links -->
|
||||
|
|
|
|||
|
|
@ -81,7 +81,11 @@
|
|||
</a>
|
||||
@else
|
||||
<a href="{{ Util::getUserCardBackUrl('/card/show') }}">
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@if(Util::getUserPaymentFor() > 1)
|
||||
<i class="fa fa-chevron-left"></i> zurück {{ Util::getMyMivitaUrl(false) }}
|
||||
@else
|
||||
<i class="fa fa-chevron-left"></i> zurück zum Warenkorb
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_car
|
|||
Route::get('/user/shop_on_site/{image_id}/{user_shop_id}', 'UserShopController@deleteOnSiteImage')->name('user_shop_on_site_delete_image');
|
||||
|
||||
Route::get('/user/membership', 'MembershipController@index')->name('user_membership');
|
||||
Route::post('/user/membership/store/payment', 'MembershipController@storePayment')->name('user_membership_store_payment');
|
||||
Route::post('/user/membership/store/{action}', 'MembershipController@storePayment')->name('user_membership_store');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['admin']], function()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue