From 7ef7a507c7a0a8e269f3e2b54056943e12b37743 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Fri, 3 Jan 2020 17:44:26 +0100 Subject: [PATCH] leads, sales lists, m_data, orders --- .idea/workspace.xml | 78 ++++---- app/Http/Controllers/CountryController.php | 1 - app/Http/Controllers/DataTableController.php | 59 ++---- app/Http/Controllers/LeadController.php | 118 +++++++++++- app/Http/Controllers/SalesController.php | 174 ++++++++++++++++++ .../Controllers/Sys/AdminToolsController.php | 61 +++++- app/Models/ShoppingOrder.php | 27 +++ app/Models/ShoppingUser.php | 7 +- app/Repositories/UserRepository.php | 5 +- app/Services/HTMLHelper.php | 24 ++- app/User.php | 34 +++- .../2014_10_12_000000_create_users_table.php | 6 + ...018_10_21_164001_create_products_table.php | 2 + ..._23_161530_create_shopping_users_table.php | 1 + resources/views/admin/lead/edit.blade.php | 32 +++- resources/views/admin/lead/index.blade.php | 25 ++- .../views/admin/lead/m_data_form.blade.php | 80 ++++---- .../admin/lead/m_data_form_edit.blade.php | 50 +++++ .../views/admin/sales/customers.blade.php | 58 ++++++ resources/views/admin/sales/users.blade.php | 58 ++++++ resources/views/admin/user/index.blade.php | 11 +- resources/views/layouts/application.blade.php | 5 +- .../layouts/includes/layout-sidenav.blade.php | 47 +++-- .../{index.blade.php => domain-ssl.blade.php} | 0 .../views/sys/admin/shopping-orders.blade.php | 50 +++++ routes/web.php | 25 ++- 26 files changed, 860 insertions(+), 178 deletions(-) create mode 100755 app/Http/Controllers/SalesController.php create mode 100644 resources/views/admin/lead/m_data_form_edit.blade.php create mode 100644 resources/views/admin/sales/customers.blade.php create mode 100644 resources/views/admin/sales/users.blade.php rename resources/views/sys/admin/{index.blade.php => domain-ssl.blade.php} (100%) create mode 100644 resources/views/sys/admin/shopping-orders.blade.php diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 5afaa57..7227b21 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,45 +2,31 @@ - - - - - - - + + + + + - - - - + + - - - - - - - + - - + + - - - - - - - - - + + + + + + - - + - - - - - - - @@ -236,6 +215,13 @@ + + + + + + + @@ -376,18 +364,18 @@ - + - - + + - - + + - + diff --git a/app/Http/Controllers/CountryController.php b/app/Http/Controllers/CountryController.php index 5ee6e9e..4368610 100755 --- a/app/Http/Controllers/CountryController.php +++ b/app/Http/Controllers/CountryController.php @@ -10,7 +10,6 @@ use Input; class CountryController extends Controller { - protected $userRepo; public function __construct() { diff --git a/app/Http/Controllers/DataTableController.php b/app/Http/Controllers/DataTableController.php index 98860e0..98139a3 100644 --- a/app/Http/Controllers/DataTableController.php +++ b/app/Http/Controllers/DataTableController.php @@ -13,41 +13,9 @@ class DataTableController extends Controller return view('datatable'); } - public function getLeads() - { - - $query = User::where('deleted_at', '=', null); - - return \DataTables::eloquent($query) - ->addColumn('first_name', function (User $user) { - return $user->account ? $user->account->first_name : ''; - }) - ->addColumn('last_name', function (User $user) { - return $user->account ? $user->account->last_name : ''; - }) - ->addColumn('action', function (User $user) { - return ''; - }) - ->addColumn('confirmed', function (User $user) { - return $user->confirmed ? '' : ''; - }) - ->addColumn('active', function (User $user) { - return $user->active ? ' ' : ''; - }) - ->addColumn('agreement', function (User $user) { - return $user->agreement ? '' : ''; - }) - ->orderColumn('confirmed', 'confirmed $1') - ->orderColumn('active', 'active $1') - ->orderColumn('agreement', 'agreement $1') - ->rawColumns(['action', 'confirmed', 'active', 'agreement']) - ->make(true); - } - public function getUsers() { - //confirmation_code_remider is delete 2 - $query = User::where('deleted_at', '=', null); + $query = User::with('account')->where('users.deleted_at', '=', null); return \DataTables::eloquent($query) ->addColumn('first_name', function (User $user) { @@ -56,7 +24,7 @@ class DataTableController extends Controller ->addColumn('last_name', function (User $user) { return $user->account ? $user->account->last_name : ''; }) - ->addColumn('action_edit', function (User $user) { + ->addColumn('id', function (User $user) { return ''; }) ->addColumn('admin', function (User $user) { @@ -71,28 +39,31 @@ class DataTableController extends Controller ->addColumn('shop', function (User $user) { if($user->shop){ if($user->shop->active){ - return ' active'.$user->shop->getActiveDateFormatSmall(); - }else{ - return' deactive'.$user->shop->getActiveDateFormatSmall(); + return ' active'; } + return' deactive'; } return ''; }) + ->addColumn('since', function (User $user) { + if($user->shop){ + if($user->shop->active){ + return $user->shop->getActiveDateFormatSmall(); + } + return $user->shop->getActiveDateFormatSmall(); + } + return "-"; + }) ->addColumn('action_delete', function (User $user) { return ' '; }) + ->orderColumn('id', 'id $1') ->orderColumn('confirmed', 'confirmed $1') ->orderColumn('active', 'active $1') ->orderColumn('shop', 'shop $1') ->orderColumn('admin', 'active $1') - ->rawColumns(['action_edit', 'admin', 'confirmed', 'active', 'shop', 'action_delete']) + ->rawColumns(['id', 'admin', 'confirmed', 'active', 'shop', 'action_delete']) ->make(true); } - - } - - - -/**/ \ No newline at end of file diff --git a/app/Http/Controllers/LeadController.php b/app/Http/Controllers/LeadController.php index aab15c1..8c80789 100755 --- a/app/Http/Controllers/LeadController.php +++ b/app/Http/Controllers/LeadController.php @@ -60,6 +60,46 @@ class LeadController extends Controller $data = [ 'user' => $user, 'can_change_mail' => true, + 'm_data_load' => false, + 'm_data_error' => false, + ]; + return view('admin.lead.edit', $data); + } + + /** + * @param $id + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function editPost($id) + { + $m_data_load = false; + $m_data_error = false; + $data = Input::all(); + if(!isset($data['edit_m_data_key']) && $data['edit_m_data_key'] !== "mivita"){ + $m_data_error = "Der Key ist falsch."; + }else{ + $m_data_load = true; + } + + + if($id === "new"){ + $user = new User(); + $user->account = new UserAccount(); + $user->account->same_as_billing = 1; + $user->account->country_id = 1; + $user->account->shipping_country_id = 1; + $user->id = "new"; + }else{ + $user = User::findOrFail($id); + if(!$user->account){ + $user->account = new UserAccount(); + } + } + $data = [ + 'user' => $user, + 'm_data_load' => $m_data_load, + 'm_data_error' => $m_data_error, + 'can_change_mail' => true, ]; return view('admin.lead.edit', $data); } @@ -129,12 +169,16 @@ class LeadController extends Controller } } - $user->m_level = isset($data['m_level']) ? $data['m_level'] : NULL; - $user->save(); - $this->userRepo->update($data); + if(isset($data['m_data_edit']) && $data['m_data_edit'] === "TSOK"){ + $user = $this->userRepo->getModel(); + $user->m_level = isset($data['m_level']) ? $data['m_level'] : NULL; + $user->m_sponsor = isset($data['m_sponsor']) ? $data['m_sponsor'] : NULL; + $user->save(); + } + if(isset($data['contact_verify'])){ $user = $this->userRepo->getModel(); @@ -165,7 +209,75 @@ class LeadController extends Controller } + } + +/* @if($user->payment_account ) +

+{{__('Account aktiv')}} {{__('bis zum:')}} {{ $user->getPaymentAccountDateFormat() }}

+@else +

+{{__('Account inaktiv')}}

+@endif + +@if($user->payment_shop) +

+{{__('Shop aktiv')}} {{__('bis zum')}}: {{ $user->getPaymentShopDateFormat() }}

+@else +

+{{__('Shop inaktiv')}}

+@endif*/ + public function getLeads() + { + + $query = User::with('account')->where('users.deleted_at', '=', null); + + return \DataTables::eloquent($query) + ->addColumn('first_name', function (User $user) { + return $user->account ? $user->account->first_name : ''; + }) + ->addColumn('last_name', function (User $user) { + return $user->account ? $user->account->last_name : ''; + }) + ->addColumn('id', function (User $user) { + return ''; + }) + ->addColumn('confirmed', function (User $user) { + return $user->confirmed ? '' : ''; + }) + ->addColumn('active', function (User $user) { + return $user->active ? ' ' : ''; + }) + ->addColumn('agreement', function (User $user) { + return $user->agreement ? ' ' : ''; + }) + ->addColumn('payment_account', function (User $user) { + return $user->payment_account ? ' ' : ''; + }) + ->addColumn('payment_account_date', function (User $user) { + return $user->payment_account ? $user->getPaymentAccountDateFormat(false) : "-"; + }) + ->addColumn('payment_shop', function (User $user) { + return $user->payment_shop ? ' ' : ''; + }) + ->addColumn('payment_shop_date', function (User $user) { + return $user->payment_shop ? $user->getPaymentShopDateFormat(false) : "-"; + }) + ->addColumn('turnover', function (User $user) { + return "-"; + }) + ->addColumn('sales_total', function (User $user) { + return "-"; + }) + + ->orderColumn('id', 'id $1') + ->orderColumn('confirmed', 'confirmed $1') + ->orderColumn('active', 'active $1') + ->orderColumn('agreement', 'agreement $1') + ->orderColumn('payment_account', 'payment_account $1') + ->orderColumn('payment_shop', 'payment_shop $1') + ->rawColumns(['id', 'confirmed', 'active', 'agreement', 'payment_account', 'payment_shop']) + ->make(true); } } \ No newline at end of file diff --git a/app/Http/Controllers/SalesController.php b/app/Http/Controllers/SalesController.php new file mode 100755 index 0000000..eec4ec4 --- /dev/null +++ b/app/Http/Controllers/SalesController.php @@ -0,0 +1,174 @@ +middleware('admin'); + + } + + + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function users() + { + $data = [ + //'values' => ShoppingOrder::all(), + ]; + return view('admin.sales.users', $data); + } + + + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function usersDetail() + { + $data = [ + // 'values' => Country::all(), + ]; + return view('admin.sales.index', $data); + } + + + public function usersDatatable(){ + + $query = ShoppingOrder::with('shopping_user')->where('shopping_orders.auth_user_id', '!=', NULL); + + return \DataTables::eloquent($query) + ->addColumn('billing_firstname', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_firstname : ''; + }) + ->addColumn('billing_lastname', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_lastname : ''; + }) + ->addColumn('billing_email', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_email : ''; + }) + ->addColumn('created_at', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->created_at->format("d.m.Y"); + }) + ->addColumn('txaction', function (ShoppingOrder $ShoppingOrder) { + return ''.$ShoppingOrder->getFormattedTxaction().''; + }) + ->addColumn('total_shipping', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->getFormattedTotalShipping(); + }) + ->addColumn('orders', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->orders : ''; + }) + ->addColumn('user_shop_id', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->user_shop ? ''.$ShoppingOrder->user_shop->getSubdomain().'' : ''; + }) + ->addColumn('id', function (ShoppingOrder $ShoppingOrder) { + return ''; + }) + /* ->addColumn('confirmed', function (User $user) { + return $user->confirmed ? '' : ''; + }) + ->addColumn('active', function (User $user) { + return $user->active ? ' ' : ''; + }) + ->addColumn('agreement', function (User $user) { + return $user->agreement ? ' ' : ''; + }) + ->orderColumn('confirmed', 'confirmed $1') + ->orderColumn('active', 'active $1') + ->orderColumn('agreement', 'agreement $1') + */ + ->orderColumn('id', 'id $1') + ->orderColumn('txaction', 'txaction $1') + ->orderColumn('user_shop_id', 'user_shop_id $1') + + ->rawColumns(['id', 'txaction', 'user_shop_id']) + ->make(true); + } + + + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function customers() + { + $data = [ + // 'values' => ShoppingOrder::all(), + ]; + return view('admin.sales.customers', $data); + } + + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function customersDetail() + { + $data = [ + // 'values' => Country::all(), + ]; + return view('admin.sales.index', $data); + } + + public function customersDatatable(){ + + $query = ShoppingOrder::with('shopping_user')->where('shopping_orders.auth_user_id', NULL); + + return \DataTables::eloquent($query) + ->addColumn('billing_firstname', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_firstname : ''; + }) + ->addColumn('billing_lastname', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_lastname : ''; + }) + ->addColumn('billing_email', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->billing_email : ''; + }) + ->addColumn('created_at', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->created_at->format("d.m.Y"); + }) + ->addColumn('txaction', function (ShoppingOrder $ShoppingOrder) { + return ''.$ShoppingOrder->getFormattedTxaction().''; + }) + ->addColumn('total_shipping', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->getFormattedTotalShipping(); + }) + ->addColumn('orders', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->shopping_user ? $ShoppingOrder->shopping_user->orders : ''; + }) + ->addColumn('user_shop_id', function (ShoppingOrder $ShoppingOrder) { + return $ShoppingOrder->user_shop ? ''.$ShoppingOrder->user_shop->getSubdomain().'' : ''; + }) + ->addColumn('id', function (ShoppingOrder $ShoppingOrder) { + return ''; + }) + /* ->addColumn('confirmed', function (User $user) { + return $user->confirmed ? '' : ''; + }) + ->addColumn('active', function (User $user) { + return $user->active ? ' ' : ''; + }) + ->addColumn('agreement', function (User $user) { + return $user->agreement ? ' ' : ''; + }) + ->orderColumn('confirmed', 'confirmed $1') + ->orderColumn('active', 'active $1') + ->orderColumn('agreement', 'agreement $1') + */ + ->orderColumn('id', 'id $1') + ->orderColumn('txaction', 'txaction $1') + ->orderColumn('user_shop_id', 'user_shop_id $1') + ->rawColumns(['id', 'txaction', 'user_shop_id']) + ->make(true); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Sys/AdminToolsController.php b/app/Http/Controllers/Sys/AdminToolsController.php index d42cb08..468db3c 100755 --- a/app/Http/Controllers/Sys/AdminToolsController.php +++ b/app/Http/Controllers/Sys/AdminToolsController.php @@ -7,6 +7,7 @@ namespace App\Http\Controllers\Sys; use App\Http\Controllers\Api\KasController; use App\Http\Controllers\Api\KasSLLController; use App\Http\Controllers\Controller; +use App\Models\ShoppingUser; use App\Models\UserShop; use Auth; use Input; @@ -31,9 +32,11 @@ class AdminToolsController extends Controller dd('index'); } + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ public function domainSSL() { - $user_shops = UserShop::all(); $text = ""; @@ -46,7 +49,7 @@ class AdminToolsController extends Controller foreach ($subdomains as $subdomain){ $text .= $subdomain['subdomain_name']." - ".$subdomain['ssl_certificate_sni']."\n"; - if($subdomain['ssl_certificate_sni'] != "Y"){ + if($subdomain['ssl_certificate_sni'] !== "Y"){ $pra = array( 'hostname' => $subdomain['subdomain_name'], ); @@ -54,22 +57,17 @@ class AdminToolsController extends Controller $value = $kas->action('update_ssl', $pra); $text .= $value."\n"; } - - - - } $data = [ 'values' => $user_shops, 'text' => $text, ]; - return view('sys.admin.index', $data); + return view('sys.admin.domain-ssl', $data); } - /** * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View @@ -84,4 +82,51 @@ class AdminToolsController extends Controller } + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function shoppingOrders() + { + $shopping_users = ShoppingUser::all(); + $data = [ + 'values' => $shopping_users, + 'text' => '', + ]; + return view('sys.admin.shopping-orders', $data); + + } + + + /** + * @return \Illuminate\Http\RedirectResponse + */ + public function shoppingOrdersStore() + { + $data = Input::all(); + $orders = []; + $shopping_users = ShoppingUser::all(); + + foreach ($shopping_users as $shopping_user){ + if(!isset($shopping_user->shopping_order)){ + $shopping_user->orders = NULL; + + }else{ + if($shopping_user->shopping_order->txaction === "paid" || $shopping_user->shopping_order->txaction === "appointed") { + $orders[$shopping_user->billing_email] = isset($orders[$shopping_user->billing_email]) ? $orders[$shopping_user->billing_email] + 1 : 1; + $shopping_user->orders = $orders[$shopping_user->billing_email]; + }else{ + $shopping_user->orders = NULL; + } + } + $shopping_user->save(); + + } + + \Session()->flash('alert-save', true); + return back(); + + } + + + } \ No newline at end of file diff --git a/app/Models/ShoppingOrder.php b/app/Models/ShoppingOrder.php index 0cc0bee..fa06bb5 100644 --- a/app/Models/ShoppingOrder.php +++ b/app/Models/ShoppingOrder.php @@ -70,6 +70,18 @@ class ShoppingOrder extends Model 'weight', ]; + protected $txaction_text = [ + 'paid' => "bezahlt", + 'appointed' => "offen", + 'failed' => "abbruch", + ]; + + protected $txaction_color = [ + 'paid' => "success", + 'appointed' => "warning", + 'failed' => "danger", + ]; + public function shopping_user() { @@ -134,5 +146,20 @@ class ShoppingOrder extends Model } + public function getFormattedTxaction(){ + if($this->txaction && isset($this->txaction_text[$this->txaction])){ + return $this->txaction_text[$this->txaction]; + } + return "not"; + } + + public function getFormattedTxactionColor(){ + if($this->txaction && isset($this->txaction_color[$this->txaction])){ + return $this->txaction_color[$this->txaction]; + } + return "danger"; + } + + } diff --git a/app/Models/ShoppingUser.php b/app/Models/ShoppingUser.php index af5056f..749104f 100644 --- a/app/Models/ShoppingUser.php +++ b/app/Models/ShoppingUser.php @@ -112,9 +112,14 @@ class ShoppingUser extends Model return $this->belongsTo('App\Models\Country','shipping_country_id'); } - public function Shopping_orders() + public function shopping_orders() { return $this->hasMany('App\Models\ShoppingOrder','shopping_user_id'); } + public function shopping_order() + { + return $this->hasOne('App\Models\ShoppingOrder','shopping_user_id'); + } + } \ No newline at end of file diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 0e87ae7..59db54e 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -53,7 +53,7 @@ class UserRepository extends BaseRepository { $user->account->delete(); } $user->email = "delete".time(); - $user->password = ""; + $user->password = "delete".time(); $user->confirmed = 0; $user->confirmation_code = "delete".time(); $user->confirmation_date = null; @@ -61,9 +61,10 @@ class UserRepository extends BaseRepository { $user->confirmation_code_remider = 2; $user->agreement = null; $user->active = 0; - $user->token = ''; + $user->remember_token = ''; $user->active_date = null; $user->admin = 0; + $user->deleted_at = now(); $user->save(); return true; diff --git a/app/Services/HTMLHelper.php b/app/Services/HTMLHelper.php index 005850c..d9ab4fc 100644 --- a/app/Services/HTMLHelper.php +++ b/app/Services/HTMLHelper.php @@ -7,6 +7,7 @@ use App\Models\Country; use App\Models\Product; use App\Models\ShippingCountry; use App\Models\UserLevel; +use App\User; class HTMLHelper { @@ -254,8 +255,6 @@ class HTMLHelper return $ret; } - - public static function getSalutation($id){ $values = array('mr' => __('MR'), 'ms' => __('MS')); $ret = ""; @@ -283,6 +282,27 @@ class HTMLHelper return $ret; } + public static function getSponsorOptions($id, $all=false){ + $values = User::all(); + $ret = ""; + if($all){ + $ret .= '\n'; + } + foreach ($values as $value){ + $attr = ($value->id == $id) ? 'selected="selected"' : ''; + $to=""; + if($value->account){ + $to = $value->account->first_name." ".$value->account->last_name." | "; + } + $ret .= '\n'; + + } + return $ret; + } + + + + /*public static function getIndustrySectorsWithoutParents($id = false, $sameId = false, $all = true){ $values = IndustrySector::where('parent_id', null)->get(); diff --git a/app/User.php b/app/User.php index 41419f3..e67d2ba 100755 --- a/app/User.php +++ b/app/User.php @@ -115,20 +115,37 @@ class User extends Authenticatable return $this->belongsTo('App\Models\UserAccount', 'account_id'); } + public function user_level() + { + return $this->belongsTo('App\Models\UserLevel', 'm_level'); + } + + public function user_sponsor(){ + return $this->belongsTo('App\User', 'm_sponsor'); + + } + + + public function shop() { return $this->hasOne('App\Models\UserShop', 'user_id', 'id'); } - /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ + + public function user_update_email() { return $this->hasMany('App\Models\UserUpdateEmail', 'user_id', 'id'); } + public function getMUserSponsor(){ + if($this->user_sponsor && $this->user_sponsor->account){ + return $this->user_sponsor->account->first_name." ".$this->user_sponsor->account->last_name." | ".$this->user_sponsor->email; + + } + } /** * @return bool */ @@ -210,13 +227,20 @@ class User extends Authenticatable return Carbon::parse($this->attributes['agreement'])->format(\Util::formatDateTimeDB()); } - public function getPaymentAccountDateFormat(){ + public function getPaymentAccountDateFormat($time = true){ if(!$this->attributes['payment_account']){ return ""; } + if(!$time){ + return Carbon::parse($this->attributes['payment_account'])->format(\Util::formatDateDB()); + + } return Carbon::parse($this->attributes['payment_account'])->format(\Util::formatDateTimeDB()); } - public function getPaymentShopDateFormat(){ + public function getPaymentShopDateFormat($time = true){ if(!$this->attributes['payment_shop']){ return ""; } + if(!$time){ + return Carbon::parse($this->attributes['payment_shop'])->format(\Util::formatDateDB()); + } return Carbon::parse($this->attributes['payment_shop'])->format(\Util::formatDateTimeDB()); } diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index d3ae6ee..eca5cf1 100755 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -20,6 +20,8 @@ class CreateUsersTable extends Migration $table->unsignedInteger('account_id')->nullable(); $table->unsignedInteger('m_level')->nullable(); + $table->unsignedInteger('m_sponsor')->nullable(); + $table->boolean('confirmed')->default(false); $table->string('confirmation_code', 30)->index()->nullable(); @@ -48,6 +50,10 @@ class CreateUsersTable extends Migration $table->timestamps(); $table->softDeletes(); + $table->foreign('m_sponsor') + ->references('id') + ->on('users'); + }); } diff --git a/database/migrations/2018_10_21_164001_create_products_table.php b/database/migrations/2018_10_21_164001_create_products_table.php index 52b3558..4888844 100644 --- a/database/migrations/2018_10_21_164001_create_products_table.php +++ b/database/migrations/2018_10_21_164001_create_products_table.php @@ -61,6 +61,8 @@ class CreateProductsTable extends Migration $table->softDeletes(); + + }); } diff --git a/database/migrations/2019_02_23_161530_create_shopping_users_table.php b/database/migrations/2019_02_23_161530_create_shopping_users_table.php index 2f52705..9742361 100644 --- a/database/migrations/2019_02_23_161530_create_shopping_users_table.php +++ b/database/migrations/2019_02_23_161530_create_shopping_users_table.php @@ -30,6 +30,7 @@ class CreateShoppingUsersTable extends Migration $table->string('billing_phone')->nullable(); $table->string('billing_email')->nullable(); + $table->unsignedSmallInteger('orders')->nullable()->default(1); $table->boolean('accepted_data_checkbox')->default(false); diff --git a/resources/views/admin/lead/edit.blade.php b/resources/views/admin/lead/edit.blade.php index 56e32cc..8ee6688 100644 --- a/resources/views/admin/lead/edit.blade.php +++ b/resources/views/admin/lead/edit.blade.php @@ -31,7 +31,12 @@ {{ __('back') }} - @include('admin.lead.m_data_form') + @if($m_data_load) + @include('admin.lead.m_data_form_edit') + @else + @include('admin.lead.m_data_form') + + @endif @if(!$user->id || $user->id === 'new') @include('user.user_new_form') @@ -48,4 +53,29 @@ {!! Form::close() !!} + + + @endsection \ No newline at end of file diff --git a/resources/views/admin/lead/index.blade.php b/resources/views/admin/lead/index.blade.php index 28650c5..3b8e82a 100644 --- a/resources/views/admin/lead/index.blade.php +++ b/resources/views/admin/lead/index.blade.php @@ -20,9 +20,15 @@ {{__('E-Mail')}} {{__('Vorname')}} {{__('Nachname')}} + {{__('Mitglied')}} + {{__('bis')}} + {{__('Onlineshop')}} + {{__('bis')}} + {{__('Umsatz')}} + {{__('Sales')}} {{__('verifiziert')}} {{__('freigegeben')}} - {{__('Einv.-Erkl.')}} + {{__('Einv.')}} @@ -42,15 +48,22 @@ $('.datatables-leads').dataTable({ "processing": true, "serverSide": true, - "ajax": '{!! route('datatables-leads') !!}', + "ajax": '{!! route('admin_leads_datatable') !!}', + "order": [[0, "desc" ]], "columns": [ - {data: 'action', orderable: false, searchable: false}, + {data: 'id', searchable: false}, { data: 'email', name: 'email' }, - { data: 'first_name', name: 'first_name' }, - { data: 'last_name', name: 'last_name' }, + { data: 'first_name', name: 'account.first_name' }, + { data: 'last_name', name: 'account.last_name' }, + { data: 'payment_account', name: 'payment_account' }, + { data: 'payment_account_date', name: 'payment_account_date' }, + { data: 'payment_shop', name: 'payment_shop' }, + { data: 'payment_shop_date', name: 'payment_shop_date' }, + { data: 'turnover', name: 'turnover' }, + { data: 'sales_total', name: 'sales_total' }, { data: 'confirmed', name: 'confirmed' }, { data: 'active', name: 'active' }, - { data: 'agreement', name: 'agreement' } + { data: 'agreement', name: 'agreement' }, ], "bLengthChange": false, "iDisplayLength": 50, diff --git a/resources/views/admin/lead/m_data_form.blade.php b/resources/views/admin/lead/m_data_form.blade.php index 26e7f4f..e73937f 100644 --- a/resources/views/admin/lead/m_data_form.blade.php +++ b/resources/views/admin/lead/m_data_form.blade.php @@ -1,40 +1,52 @@ +@if($m_data_error) +
+
+
+
    +
  • {{ $m_data_error }}
  • +
+
+
+
+@endif
{{ __('mivita interne Daten') }} +
+ +
-
-
-
- - {{ Form::text('m_account', $user->account->m_account, array('placeholder'=>__(' Account ID'), 'class'=>'form-control', 'id'=>'m_account', 'required'=>true)) }} -
-
- - -
-
-
-
- - -
- -
- - {{ Form::text('m_first_name', $user->account->m_first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'id'=>'m_first_name', 'required'=>true)) }} -
-
- - {{ Form::text('m_last_name', $user->account->m_last_name, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'id'=>'m_last_name', 'required'=>true)) }} -
-
-
- - {{ Form::textarea('m_notes', $user->account->m_notes , array('placeholder'=>__('weitere Daten'), 'class'=>'form-control', 'id'=>'m_notes', 'rows'=>4)) }} +
+
+ + + + + + + + + + + + + + + +
{{ __('Name') }}{{ __('Account ID') }}{{ __('Karriere-Level') }}{{ __('Sponsor') }}
{{ \App\Services\HTMLHelper::getSalutationLang($user->account->m_salutation) }} {{ $user->account->m_first_name }} {{ $user->account->m_last_name }}{{ $user->account->m_account }}@if($user->user_level){{ $user->user_level->name }}@endif@if($user->m_sponsor){{ $user->getMUserSponsor() }}@endif
+ + + + + + + + + +
{{ __('weitere Daten') }}
{{$user->account->m_notes}}
-
\ No newline at end of file +
+ diff --git a/resources/views/admin/lead/m_data_form_edit.blade.php b/resources/views/admin/lead/m_data_form_edit.blade.php new file mode 100644 index 0000000..000b5f5 --- /dev/null +++ b/resources/views/admin/lead/m_data_form_edit.blade.php @@ -0,0 +1,50 @@ +
+
+ {{ __('mivita interne Daten') }} +
+ + +
+
+
+ + {{ Form::text('m_account', $user->account->m_account, array('placeholder'=>__(' Account ID'), 'class'=>'form-control', 'id'=>'m_account')) }} +
+
+ + +
+
+ + +
+
+
+
+ + +
+ +
+ + {{ Form::text('m_first_name', $user->account->m_first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'id'=>'m_first_name')) }} +
+
+ + {{ Form::text('m_last_name', $user->account->m_last_name, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'id'=>'m_last_name')) }} +
+
+
+ + {{ Form::textarea('m_notes', $user->account->m_notes , array('placeholder'=>__('weitere Daten'), 'class'=>'form-control', 'id'=>'m_notes', 'rows'=>4)) }} +
+
+ +
+ diff --git a/resources/views/admin/sales/customers.blade.php b/resources/views/admin/sales/customers.blade.php new file mode 100644 index 0000000..e617945 --- /dev/null +++ b/resources/views/admin/sales/customers.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.layout-2') + +@section('content') + + +

+ {{ __('Bestellungen Berater') }} +

+ + +
+
+ + + + + + + + + + + + + + + +
#{{__('First name')}}{{__('Last name')}}{{__('E-Mail')}}{{__('Datum')}}{{__('Status')}}{{__('Betrag')}}{{__('Käufe')}}{{__('Shop')}}
+
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/admin/sales/users.blade.php b/resources/views/admin/sales/users.blade.php new file mode 100644 index 0000000..81248c1 --- /dev/null +++ b/resources/views/admin/sales/users.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.layout-2') + +@section('content') + + +

+ {{ __('Bestellungen Berater') }} +

+ + +
+
+ + + + + + + + + + + + + + + +
#{{__('First name')}}{{__('Last name')}}{{__('E-Mail')}}{{__('Datum')}}{{__('Status')}}{{__('Betrag')}}{{__('Käufe')}}{{__('Shop')}}
+
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/admin/user/index.blade.php b/resources/views/admin/user/index.blade.php index 4ef2f09..90e24f4 100644 --- a/resources/views/admin/user/index.blade.php +++ b/resources/views/admin/user/index.blade.php @@ -14,7 +14,7 @@ - {{__('edit')}} + # {{__('First name')}} {{__('Last name')}} {{__('E-Mail')}} @@ -22,6 +22,7 @@ {{__('verified')}} {{__('active')}} {{__('shop')}} + {{__('ab')}} {{__('delete')}} @@ -104,15 +105,17 @@ "processing": true, "serverSide": true, "ajax": '{!! route('data_table_users') !!}', + "order": [[0, "asc" ]], "columns": [ - { data: 'action_edit', orderable: false, searchable: false}, - { data: 'first_name', name: 'first_name' }, - { data: 'last_name', name: 'last_name' }, + { data: 'id', searchable: false}, + { data: 'first_name', name: 'account.first_name' }, + { data: 'last_name', name: 'account.last_name' }, { data: 'email', name: 'email' }, { data: 'admin', name: 'admin' }, { data: 'confirmed', name: 'confirmed' }, { data: 'active', name: 'active' }, { data: 'shop', name: 'shop' }, + { data: 'since', name: 'since' }, { data: 'action_delete', orderable: false, searchable: false}, ], "bLengthChange": false, diff --git a/resources/views/layouts/application.blade.php b/resources/views/layouts/application.blade.php index 8c5176d..881c361 100755 --- a/resources/views/layouts/application.blade.php +++ b/resources/views/layouts/application.blade.php @@ -82,10 +82,9 @@