#51 2 Business Points edit / add, user dashboard
This commit is contained in:
parent
263cf93a1e
commit
dfd049aaa9
25 changed files with 1291 additions and 381 deletions
|
|
@ -7,6 +7,8 @@ use Request;
|
|||
use App\Services\Payment;
|
||||
use App\Models\UserInvoice;
|
||||
use App\Services\HTMLHelper;
|
||||
use App\Models\UserSalesVolume;
|
||||
use App\Services\BusinessPlan\SalesPointsVolume;
|
||||
|
||||
class BusinessPointsController extends Controller
|
||||
{
|
||||
|
|
@ -24,30 +26,95 @@ class BusinessPointsController extends Controller
|
|||
public function index()
|
||||
{
|
||||
|
||||
$filter_members = UserSalesVolume::join('users', 'user_id', '=', 'users.id')
|
||||
->groupBy('user_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')
|
||||
->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get();
|
||||
|
||||
|
||||
$this->setFilterVars();
|
||||
$data = [
|
||||
'filter_months' => HTMLHelper::$months,
|
||||
'filter_years' => HTMLHelper::getYearRange(),
|
||||
'filter_members' => $filter_members,
|
||||
|
||||
];
|
||||
return view('admin.payment.invoice', $data);
|
||||
return view('admin.business.points', $data);
|
||||
}
|
||||
|
||||
public function store(){
|
||||
$data = Request::all();
|
||||
if(!isset($data['action'])){
|
||||
return back();
|
||||
}
|
||||
if(!isset($data['change_member_key']) || $data['change_member_key'] !== config('mivita.edit_data_pass')){
|
||||
\Session()->flash('alert-error', 'Das Passwort ist falsch.');
|
||||
return back();
|
||||
}
|
||||
if(!isset($data['is_checked_action'])){
|
||||
\Session()->flash('alert-error', 'Änderung nicht bestätigt');
|
||||
return back();
|
||||
}
|
||||
|
||||
if($data['action'] === 'add_user_sales_volume'){
|
||||
SalesPointsVolume::addSalesPointsVolume($data);
|
||||
return back(); }
|
||||
|
||||
if($data['action'] === 'edit_user_sales_volume'){
|
||||
SalesPointsVolume::editSalesPointsVolume($data);
|
||||
return back();
|
||||
|
||||
}
|
||||
|
||||
dd($data);
|
||||
|
||||
return redirect(route('admin_business_points'));
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
/*
|
||||
$add_credit_error = false;
|
||||
if(!isset($data['member_id']) || !$user = User::find($data['member_id'])){
|
||||
$add_credit_error = 'Vertriebspartner nicht gefunden';
|
||||
}
|
||||
if(!isset($data['credit'])){
|
||||
$add_credit_error = 'Bitte Betrag eingeben';
|
||||
}
|
||||
if(!isset($data['message'])){
|
||||
$add_credit_error = 'Bitte Mitteilung eingeben';
|
||||
}
|
||||
if($add_credit_error){
|
||||
$data = $this->makeData();
|
||||
$data['add_credit_error'] = $add_credit_error;
|
||||
return view('admin.payment.credit.index', $data);
|
||||
}
|
||||
|
||||
// $credit = Util::reFormatNumber($data['credit']);
|
||||
//$credit = number_format($credit, 2, '.', '');
|
||||
|
||||
//Payment::addUserCreditMargin($user, $credit, 3, $data['message']);
|
||||
\Session()->flash('alert-success', "Guthaben hinzugefügt");
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function setFilterVars(){
|
||||
|
||||
if(!session('invoice_filter_month')){
|
||||
session(['invoice_filter_month' => intval(date('m'))]);
|
||||
if(!session('points_filter_month')){
|
||||
session(['points_filter_month' => intval(date('m'))]);
|
||||
}
|
||||
if(!session('invoice_filter_year')){
|
||||
session(['invoice_filter_year' => intval(date('Y'))]);
|
||||
if(!session('points_filter_year')){
|
||||
session(['points_filter_year' => intval(date('Y'))]);
|
||||
}
|
||||
if(Request::get('invoice_filter_name')){
|
||||
session(['invoice_filter_name' => Request::get('invoice_filter_name')]);
|
||||
if(Request::get('points_filter_member_id')){
|
||||
session(['points_filter_member_id' => Request::get('points_filter_member_id')]);
|
||||
}
|
||||
if(Request::get('invoice_filter_month')){
|
||||
session(['invoice_filter_month' => Request::get('invoice_filter_month')]);
|
||||
if(Request::get('points_filter_month')){
|
||||
session(['points_filter_month' => Request::get('points_filter_month')]);
|
||||
}
|
||||
if(Request::get('invoice_filter_year')){
|
||||
session(['invoice_filter_year' => Request::get('invoice_filter_year')]);
|
||||
if(Request::get('points_filter_year')){
|
||||
session(['points_filter_year' => Request::get('points_filter_year')]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -55,14 +122,12 @@ class BusinessPointsController extends Controller
|
|||
{
|
||||
$this->setFilterVars();
|
||||
|
||||
$query = UserInvoice::with('shopping_order')->with('shopping_order.shopping_user')->select('user_invoices.*')
|
||||
->where('user_invoices.month', '=', Request::get('invoice_filter_month'))
|
||||
->where('user_invoices.year', '=', Request::get('invoice_filter_year'));
|
||||
$query = UserSalesVolume::with('user', 'user.account')->with('shopping_order')->select('user_sales_volumes.*')
|
||||
->where('user_sales_volumes.month', '=', Request::get('points_filter_month'))
|
||||
->where('user_sales_volumes.year', '=', Request::get('points_filter_year'));
|
||||
|
||||
if(Request::get('invoice_filter_name')){
|
||||
$query->where('shopping_order.shopping_user.billing_firstname', 'LIKE', '%'.Request::get('invoice_filter_name').'%');
|
||||
$query->where('shopping_order.shopping_user.billing_lastname', 'LIKE', '%'.Request::get('invoice_filter_name').'%');
|
||||
$query->where('shopping_order.shopping_user.billing_email', 'LIKE', '%'.Request::get('invoice_filter_name').'%');
|
||||
if(Request::get('points_filter_member_id')){
|
||||
$query->where('user_sales_volumes.user_id', '=', Request::get('points_filter_member_id'));
|
||||
}
|
||||
|
||||
//->orderBy('created_at', 'DESC');
|
||||
|
|
@ -77,54 +142,51 @@ class BusinessPointsController extends Controller
|
|||
|
||||
$query = $this->initSearch();
|
||||
return \DataTables::eloquent($query)
|
||||
->addColumn('id', function (UserInvoice $UserInvoice) {
|
||||
if($UserInvoice->shopping_order->auth_user_id){
|
||||
return '<a href="' . route('admin_sales_users_detail', [$UserInvoice->shopping_order->id]) . '" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
|
||||
->addColumn('id', function (UserSalesVolume $UserSalesVolume) {
|
||||
return '<button type="button" class="btn btn-xs btn-secondary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="'.$UserSalesVolume->id.'"
|
||||
data-action="edit_user_sales_volume"
|
||||
data-back=""
|
||||
data-modal="modal-xl"
|
||||
data-init_from="user"
|
||||
data-route="'.route('modal_load').'"><span class="far fa-eye"></span></button>';
|
||||
})
|
||||
->addColumn('order', function (UserSalesVolume $UserSalesVolume) {
|
||||
if($UserSalesVolume->shopping_order){
|
||||
if($UserSalesVolume->status === 1){
|
||||
return '<a href="' . route('admin_sales_users_detail', [$UserSalesVolume->shopping_order->id]) . '" class="btn btn-xs btn-primary">'.$UserSalesVolume->shopping_order->id.'</a>';
|
||||
}
|
||||
if($UserSalesVolume->status === 2 || $UserSalesVolume->status === 3){
|
||||
return '<a href="' . route('admin_sales_customers_detail', [$UserSalesVolume->shopping_order->id]) . '" class="btn btn-xs btn-secondary">'.$UserSalesVolume->shopping_order->id.'</a>';
|
||||
}
|
||||
}
|
||||
return '<a href="' . route('admin_sales_customers_detail', [$UserInvoice->shopping_order->id]) . '" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
|
||||
|
||||
return '';
|
||||
})
|
||||
->addColumn('total_shipping', function (UserInvoice $UserInvoice) {
|
||||
return '<span class="no-line-break">'.$UserInvoice->shopping_order->getFormattedTotalShipping()." €</span>";
|
||||
->addColumn('total_net', function (UserSalesVolume $UserSalesVolume) {
|
||||
return formatNumber($UserSalesVolume->total_net).' €';
|
||||
})
|
||||
->addColumn('created_at', function (UserInvoice $UserInvoice) {
|
||||
return $UserInvoice->created_at->format("d.m.Y");
|
||||
->addColumn('first_name', function (UserSalesVolume $UserSalesVolume) {
|
||||
return isset($UserSalesVolume->user) ? $UserSalesVolume->user->account->first_name : '';
|
||||
})
|
||||
/*
|
||||
->addColumn('shipping_order', function (UserInvoice $UserInvoice) {
|
||||
$ret = "";
|
||||
foreach($UserInvoice->shopping_order_items as $shopping_order_item){
|
||||
$ret .= $shopping_order_item->product->name."<br>";
|
||||
}
|
||||
return $ret;
|
||||
->addColumn('last_name', function (UserSalesVolume $UserSalesVolume) {
|
||||
return isset($UserSalesVolume->user) ? $UserSalesVolume->user->account->last_name : '';
|
||||
})
|
||||
*/
|
||||
->addColumn('txaction', function (UserInvoice $UserInvoice) {
|
||||
if($UserInvoice->shopping_order){
|
||||
return Payment::getShoppingOrderBadge($UserInvoice->shopping_order);
|
||||
}
|
||||
return "-";
|
||||
->addColumn('email', function (UserSalesVolume $UserSalesVolume) {
|
||||
return isset($UserSalesVolume->user) ? $UserSalesVolume->user->email : '';
|
||||
})
|
||||
->addColumn('status', function (UserInvoice $UserInvoice) {
|
||||
return '<a href="#" data-toggle="modal" data-target="#modals-load-content" data-modal="modal-lg"
|
||||
data-id="'.$UserInvoice->id.'" data-route="'.route('modal_load').'" data-action="user-credit-status" data-view="">
|
||||
<span class="badge badge-pill badge-'.$UserInvoice->getStatusColor().'">'.$UserInvoice->getStatusType().'</span>
|
||||
</a>';
|
||||
->addColumn('status', function (UserSalesVolume $UserSalesVolume) {
|
||||
return '<span class="badge badge-pill badge-'.$UserSalesVolume->getStatusColor().'">'.$UserSalesVolume->getStatusType().'</span>';
|
||||
})
|
||||
->addColumn('invoice', function (UserInvoice $UserInvoice) {
|
||||
$ret = "";
|
||||
$ret .= '<a href="'.route('storage_file', [$UserInvoice->shopping_order->id, 'invoice', 'download']).'" class="btn btn-primary btn-xs"><i class="fa fa-download"></i></a> ';
|
||||
$ret .= '<a href="'.route('storage_file', [$UserInvoice->shopping_order->id, 'invoice', 'stream']).'" target="_blank" class="btn btn-warning btn-xs"><i class="fa fa-eye"></i></a>';
|
||||
|
||||
return $ret;
|
||||
->addColumn('message', function (UserSalesVolume $UserSalesVolume) {
|
||||
return '<span class="no-line-break">'.$UserSalesVolume->message.'</span>';
|
||||
})
|
||||
|
||||
->orderColumn('id', 'id $1')
|
||||
->orderColumn('invoice_number', 'invoice_number $1')
|
||||
->orderColumn('txaction', 'txaction $1')
|
||||
->orderColumn('shipped', 'shipped $1')
|
||||
->orderColumn('total_shipping', 'total_shipping $1')
|
||||
->rawColumns(['id', 'shipping_order', 'txaction', 'total_shipping', 'status', 'txaction', 'invoice'])
|
||||
->orderColumn('order', 'order $1')
|
||||
->orderColumn('status', 'status $1')
|
||||
->orderColumn('status', 'message $1')
|
||||
|
||||
->rawColumns(['id', 'order', 'status', 'message', 'total_net'])
|
||||
->make(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -12,6 +12,7 @@ use App\Models\ShoppingUser;
|
|||
use App\Services\HTMLHelper;
|
||||
use App\Models\HomepartyUser;
|
||||
use App\Models\ShoppingOrder;
|
||||
use App\Models\UserSalesVolume;
|
||||
use App\Services\BusinessPlan\TreeCalcBot;
|
||||
|
||||
class ModalController extends Controller
|
||||
|
|
@ -83,7 +84,6 @@ class ModalController extends Controller
|
|||
$ret = view("user.shop.sales.modal_api_order_shipping_detail", compact('shopping_order', 'isAdmin', 'data'))->render();
|
||||
}
|
||||
|
||||
|
||||
if($data['action'] === 'user-order-my-delivery-show'){
|
||||
$user = \Auth::user();
|
||||
$ret = view("admin.modal.show_user_customers", compact('user', 'data'))->render();
|
||||
|
|
@ -120,6 +120,17 @@ class ModalController extends Controller
|
|||
$route = "";
|
||||
$ret = view("admin.modal.business_user_detail", compact('TreeCalcBot', 'user', 'data'))->render();
|
||||
}
|
||||
|
||||
if($data['action'] === 'edit_user_sales_volume'){
|
||||
$userSalesVolume = UserSalesVolume::findOrFail($data['id']);
|
||||
$route = route('admin_business_points_store', );
|
||||
$ret = view("admin.business.modal_edit_points", compact('userSalesVolume', 'data', 'route'))->render();
|
||||
}
|
||||
if($data['action'] === 'add_user_sales_volume'){
|
||||
$userSalesVolume = new UserSalesVolume();
|
||||
$route = route('admin_business_points_store', );
|
||||
$ret = view("admin.business.modal_add_points", compact('userSalesVolume', 'data', 'route'))->render();
|
||||
}
|
||||
}
|
||||
return response()->json(['response' => $data, 'html'=>$ret, 'status'=>$status]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -133,7 +133,8 @@ class SalesController extends Controller
|
|||
return redirect(route('admin_sales_customers'));
|
||||
}
|
||||
$filter_user_shops = ShoppingOrder::join('user_shops', 'user_shop_id', '=', 'user_shops.id')->orderBy('slug')->get()->pluck('slug', 'id')->unique()->toArray();
|
||||
$filter_members = ShoppingOrder::join('users', 'member_id', '=', 'users.id')->groupBy('member_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get(); //->pluck('email', 'id')->unique()->toArray();
|
||||
$filter_members = ShoppingOrder::join('users', 'member_id', '=', 'users.id')->groupBy('member_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get();
|
||||
//->pluck('email', 'id')->unique()->toArray();
|
||||
$data = [
|
||||
'filter_user_shops' => $filter_user_shops,
|
||||
'filter_members' => $filter_members,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class ShopSalesController extends Controller
|
|||
'shopping_order' => $shopping_order,
|
||||
'isAdmin' => false,
|
||||
];
|
||||
|
||||
return view('user.shop.sales.order_detail', $data);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -102,12 +102,22 @@ class UserSalesVolume extends Model
|
|||
|
||||
public static $statusTypes = [
|
||||
0 => 'nicht zugewiesen',
|
||||
1 => 'hinzugefügt aus Beraterbestellung',
|
||||
2 => 'hinzugefügt aus Shopbestellung',
|
||||
3 => 'hinzugefügt aus Shopbestellung / pending',
|
||||
1 => 'Beraterbestellung', //hinzugefügt aus
|
||||
2 => 'Shopbestellung', //hinzugefügt aus
|
||||
3 => 'Shopbestellung / pending', //hinzugefügt aus
|
||||
4 => 'Gutschrift', //hinzugefügt aus
|
||||
10 => ''
|
||||
];
|
||||
|
||||
public static $statusColors = [
|
||||
0 => 'warning',
|
||||
1 => 'success',
|
||||
2 => 'secondary',
|
||||
3 => 'warning',
|
||||
4 => 'info',
|
||||
10 => 'danger',
|
||||
];
|
||||
|
||||
public function shopping_order()
|
||||
{
|
||||
return $this->belongsTo(ShoppingOrder::class);
|
||||
|
|
@ -133,10 +143,21 @@ class UserSalesVolume extends Model
|
|||
return isset($this->attributes['date']) ? $this->attributes['date'] : NULL;
|
||||
}
|
||||
|
||||
public function getPointsSum(){
|
||||
return $this->month_points + $this->month_shop_points;
|
||||
}
|
||||
public function getTotalNetSum(){
|
||||
return $this->month_total_net + $this->month_shop_total_net;
|
||||
}
|
||||
|
||||
public function getStatusType(){
|
||||
return isset(self::$statusTypes[$this->status]) ? self::$statusTypes[$this->status] : "";
|
||||
}
|
||||
|
||||
public function getStatusColor(){
|
||||
return isset(self::$statusColors[$this->status]) ? self::$statusColors[$this->status] : "default";
|
||||
}
|
||||
|
||||
public function getFormatedMonthYear(){
|
||||
return str_pad($this->month, 2, "0", STR_PAD_LEFT)."/".$this->year;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
namespace App\Services\BusinessPlan;
|
||||
|
||||
use App\User;
|
||||
use App\Services\Util;
|
||||
use App\Models\ShoppingOrder;
|
||||
use App\Models\UserSalesVolume;
|
||||
|
||||
|
|
@ -29,7 +30,7 @@ class SalesPointsVolume
|
|||
$form_user = User::find($form_user_id);
|
||||
|
||||
$shoppingOrder->user_sales_volume->user_id = $to_user_id;
|
||||
$shoppingOrder->user_sales_volume->message = 'Punkte zugewiesen am: '.date('d.m.Y');
|
||||
$shoppingOrder->user_sales_volume->message = 'zugewiesen: '.date('d.m.Y');
|
||||
|
||||
$syslog = $shoppingOrder->user_sales_volume->syslog;
|
||||
$syslog[date('d.m.Y-h:i:s')] = 'change form: #'.$form_user_id.' '.$form_user->email.' to: #'.$to_user_id.' '.$to_user->email;
|
||||
|
|
@ -57,7 +58,7 @@ class SalesPointsVolume
|
|||
|
||||
foreach($userSalesVolumes as $userSalesVolume){
|
||||
switch ($userSalesVolume->status) {
|
||||
case 1: //Bestellung
|
||||
case 1: //Bestellung Berater
|
||||
$month_points += $userSalesVolume->points;
|
||||
$month_total_net += $userSalesVolume->total_net;
|
||||
break;
|
||||
|
|
@ -65,6 +66,10 @@ class SalesPointsVolume
|
|||
$month_shop_points += $userSalesVolume->points;
|
||||
$month_shop_total_net += $userSalesVolume->total_net;
|
||||
break;
|
||||
case 4: //add Berater
|
||||
$month_points += $userSalesVolume->points;
|
||||
$month_total_net += $userSalesVolume->total_net;
|
||||
break;
|
||||
}
|
||||
$userSalesVolume->month_shop_points = $month_shop_points;
|
||||
$userSalesVolume->month_shop_total_net = $month_shop_total_net;
|
||||
|
|
@ -163,4 +168,71 @@ class SalesPointsVolume
|
|||
}
|
||||
|
||||
|
||||
public static function editSalesPointsVolume($data){
|
||||
$user_sales_volume = UserSalesVolume::findOrFail($data['id']);
|
||||
if(!$user_sales_volume->isCurrentMonthYear()){
|
||||
\Session()->flash('alert-error', 'Änderung muss im selben Monat sein');
|
||||
return;
|
||||
}
|
||||
$old_points = $user_sales_volume->points;
|
||||
$old_total_net = $user_sales_volume->total_net;
|
||||
$user_sales_volume->total_net = Util::reFormatNumber($data['total_net']);
|
||||
$user_sales_volume->points = intval($data['points']);
|
||||
|
||||
$user_sales_volume->message = 'geändert: '.date('d.m.Y');
|
||||
|
||||
$syslog = $user_sales_volume->syslog;
|
||||
$syslog[date('d.m.Y-h:i:s')] = 'edit points: #'.$old_points.' '.$user_sales_volume->points .' total: #'.$old_total_net.' '.$user_sales_volume->total_ne;
|
||||
$user_sales_volume->syslog = $syslog;
|
||||
|
||||
$user_sales_volume->save();
|
||||
|
||||
self::reCalculateSalesPointsVolume($user_sales_volume->user_id, $user_sales_volume->month, $user_sales_volume->year);
|
||||
|
||||
\Session()->flash('alert-success', "Points geändert");
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
public static function addSalesPointsVolume($data){
|
||||
|
||||
|
||||
if(!isset($data['user_id'])){
|
||||
\Session()->flash('alert-error', 'Kein Berater ausgewählt');
|
||||
return;
|
||||
}
|
||||
$user = User::findOrFail($data['user_id']);
|
||||
$month = date('m');
|
||||
$year = date('Y');
|
||||
$date = date('d.m.Y');
|
||||
|
||||
$total_net = isset($data['total_net']) ? Util::reFormatNumber($data['total_net']) : 0;
|
||||
$points = isset($data['points']) ? intval($data['points']) : 0;
|
||||
$syslog[date('d.m.Y-h:i:s')] = 'add points: #'.$points.' total: #'.$total_net;
|
||||
|
||||
|
||||
$user_sales_volume = UserSalesVolume::create([
|
||||
'user_id' => $user->id,
|
||||
'shopping_order_id' => null,
|
||||
'month' => $month,
|
||||
'year' => $year,
|
||||
'date' => $date,
|
||||
'points' => $points,
|
||||
'total_net' => $total_net,
|
||||
'message' => 'hinzugefügt: '.date('d.m.Y'),
|
||||
'syslog' => $syslog,
|
||||
'status' => 4,
|
||||
]);
|
||||
|
||||
|
||||
self::reCalculateSalesPointsVolume($user_sales_volume->user_id, $user_sales_volume->month, $user_sales_volume->year);
|
||||
|
||||
\Session()->flash('alert-success', "Points hinzugefügt");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,18 @@ class Payment
|
|||
'NULL' => 'keine Zahlung',
|
||||
];
|
||||
|
||||
public static $txaction_filter_text = [
|
||||
'paid' => "Zahlung bezahlt",
|
||||
'appointed' => "Zahlung offen",
|
||||
'failed' => "Zahlung abbruch",
|
||||
'extern' => "Extern offen", //offen
|
||||
'extern_paid' => "Extern bezahlt",
|
||||
'invoice_open' => "Rechnung offen",
|
||||
'invoice_paid' => "Rechnung bezahlt",
|
||||
'invoice_non' => "Rechnung keine Zahlung",
|
||||
'NULL' => 'keine Zahlung',
|
||||
];
|
||||
|
||||
public static $txaction_invoice = [
|
||||
'invoice_open' => "Rechnung offen",
|
||||
'invoice_paid' => "Rechnung bezahlt",
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ class Util
|
|||
}
|
||||
|
||||
public static function _format_number($value){
|
||||
return preg_replace("/[^0-9,]/", "", $value);
|
||||
return preg_replace("/[^0-9,-]/", "", $value);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
16
app/User.php
16
app/User.php
|
|
@ -476,8 +476,9 @@ class User extends Authenticatable
|
|||
|
||||
public function getUserSalesVolumeBy($month, $year, $key)
|
||||
{
|
||||
//NOTE check ist, cant change month year !
|
||||
if($this->userSalesVolume === false){
|
||||
$this->userSalesVolume = UserSalesVolume::where('user_id', $this->id)->where('month', $month)->where('year', $year)->get()->last();
|
||||
$this->userSalesVolume = $this->getUserSalesVolume($month, $year, 'first');
|
||||
}
|
||||
if($this->userSalesVolume){
|
||||
switch ($key) {
|
||||
|
|
@ -507,7 +508,18 @@ class User extends Authenticatable
|
|||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
public function getUserSalesVolume($month, $year, $record = 'get')
|
||||
{
|
||||
$query = UserSalesVolume::where('user_id', $this->id)->where('month', $month)->where('year', $year)->orderBy('id', 'DESC');
|
||||
switch ($record) {
|
||||
case 'get':
|
||||
return $query->get();
|
||||
break;
|
||||
case 'first':
|
||||
return $query->first();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
65
resources/views/admin/business/modal_add_points.blade.php
Normal file
65
resources/views/admin/business/modal_add_points.blade.php
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{!! Form::open(['url' => $route, 'class' => 'modal-content', 'enctype' => 'multipart/form-data']) !!}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
Business Points
|
||||
<span class="font-weight-light">hinzufügen</span>
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="hidden" name="action" value="{{$data['action']}}">
|
||||
<input type="hidden" name="id" value="{{$data['id']}}">
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="change_member_key" class="form-label">{{ __('Passwort eingeben') }}*</label>
|
||||
<input type="text" class="form-control" name="change_member_key" id="change_member_key"
|
||||
placeholder="mivita" required>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-12">
|
||||
<label for="user_id" class="form-label">{{ __('Vertriebspartner auswählen') }}*</label>
|
||||
<select class="selectpicker" name="user_id" data-style="btn-light" data-live-search="true" required>
|
||||
{!! HTMLHelper::getMembersOptions(0, true) !!}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-4">
|
||||
<label for="points" class="form-label">{{__('Points')}}</label>
|
||||
{{ Form::text('points', '', array('placeholder'=>__('Points'), 'class'=>'form-control', 'id'=>'points', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-4">
|
||||
<label for="total_net" class="form-label">{{__('Umsatz netto%')}}</label>
|
||||
{{ Form::text('total_net', '', array('placeholder'=>__('in Euro'), 'class'=>'form-control', 'id'=>'total_net', 'required'=>true)) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="custom-control custom-checkbox">
|
||||
{!! Form::checkbox('is_checked_action', 1, 0, ['class' => 'custom-control-input', 'id' => 'is_checked_action', 'required'=>true]) !!}
|
||||
<span class="custom-control-label">Points / Umsatz hinzufügen</span>
|
||||
</label>
|
||||
|
||||
|
||||
<hr>
|
||||
<i>Points werden mit für den akutellen Datum hinzugefügt, da die monatliche Auswertung für die Monate davor schon berechnet sind.</i><br>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('speichern')}}</button>
|
||||
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$( document ).ready(function() {
|
||||
});
|
||||
</script>
|
||||
99
resources/views/admin/business/modal_edit_points.blade.php
Normal file
99
resources/views/admin/business/modal_edit_points.blade.php
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{!! Form::open(['url' => $route, 'class' => 'modal-content', 'enctype' => 'multipart/form-data']) !!}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
Business Points
|
||||
<span class="font-weight-light">bearbeiten</span>
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="hidden" name="action" value="{{$data['action']}}">
|
||||
<input type="hidden" name="id" value="{{$data['id']}}">
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col">
|
||||
<label for="change_member_key" class="form-label">{{ __('Passwort eingeben') }}*</label>
|
||||
<input type="text" class="form-control" name="change_member_key" id="change_member_key"
|
||||
placeholder="mivita" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Datum</th>
|
||||
<th>Points</th>
|
||||
<th>Umsatz netto</th>
|
||||
<th>Status</th>
|
||||
<th>Berater</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if($userSalesVolume)
|
||||
<tr>
|
||||
<td>{{ $userSalesVolume->date }}</td>
|
||||
<td>{{ $userSalesVolume->points }}</td>
|
||||
<td>{{ formatNumber($userSalesVolume->total_net) }} €</td>
|
||||
<td>{{ $userSalesVolume->getStatusType() }}</td>
|
||||
<td>@if($userSalesVolume->user)
|
||||
{{ $userSalesVolume->user->getFullName() }}
|
||||
@else
|
||||
nicht zugewiesen
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@if($userSalesVolume->message)
|
||||
<tr>
|
||||
<td colspan="5">{{ $userSalesVolume->message }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
@if($userSalesVolume->isCurrentMonthYear())
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-4">
|
||||
<label for="points" class="form-label">{{__('Points')}}</label>
|
||||
{{ Form::text('points', $userSalesVolume->points, array('class'=>'form-control', 'id'=>'points')) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-4">
|
||||
<label for="total_net" class="form-label">{{__('Umsatz netto')}}</label>
|
||||
{{ Form::text('total_net', formatNumber($userSalesVolume->total_net), array('class'=>'form-control', 'id'=>'total_net')) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="custom-control custom-checkbox">
|
||||
{!! Form::checkbox('is_checked_action', 1, 0, ['class' => 'custom-control-input', 'id' => 'is_checked_action', 'required'=>true]) !!}
|
||||
<span class="custom-control-label">Points / Umsatz ändern</span>
|
||||
</label>
|
||||
@else
|
||||
Points können nicht mehr geändet werden werden.
|
||||
@endif
|
||||
<hr>
|
||||
<i>Points können nur innerhalb des akutellen Monats geändert werden, da sonst die monatliche Auswertung schon berechnet ist.
|
||||
Danach können Points für den akutellen Monat manuell gutgeschrieben werden.</i><br>
|
||||
<a class="btn btn-sm btn-default mt-2" href="{{ route('admin_business_points') }}">Business -> Points gutschreiben</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('übernehmen')}}</button>
|
||||
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$( document ).ready(function() {
|
||||
});
|
||||
</script>
|
||||
123
resources/views/admin/business/points.blade.php
Normal file
123
resources/views/admin/business/points.blade.php
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
Business Points
|
||||
|
||||
<div class="float-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="new"
|
||||
data-action="add_user_sales_volume"
|
||||
data-back="{{url()->current()}}"
|
||||
data-route="{{ route('modal_load') }}"><span class="far fa-plus-circle"></span> Points hinzufügen
|
||||
</button>
|
||||
</div>
|
||||
</h5>
|
||||
|
||||
@if(isset($add_points_error) && $add_points_error)
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger p-2 mt-2">
|
||||
<ul>
|
||||
<li>{{ $add_points_error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="card-body p-0">
|
||||
|
||||
{!! Form::open(['url' => route('admin_business_points'), 'class' => 'form-horizontal', 'id'=>'form_admin_business_points']) !!}
|
||||
|
||||
<div class="form-row align-items-center px-4 pb-2 pt-3">
|
||||
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
|
||||
<select class="selectpicker on_change_select" data-style="btn-default" name="points_filter_member_id" id="points_filter_member_id" data-live-search="true">
|
||||
<option value="">Filter Berater aus</option>
|
||||
@foreach($filter_members as $member)
|
||||
<option value="{{$member->id}}" @if(session('points_filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} | {{$member->email}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
|
||||
<select class="custom-select on_change_select" name="points_filter_month">
|
||||
@foreach($filter_months as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('points_filter_month') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
|
||||
<select class="custom-select on_change_select" name="points_filter_year">
|
||||
@foreach($filter_years as $key=>$value)
|
||||
<option value="{{$value}}" @if(session('points_filter_year') == $value) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{__('Datum') }}</th>
|
||||
<th>{{__('Points')}}</th>
|
||||
<th>{{__('Umsatz netto')}}</th>
|
||||
<th>{{__('Art')}}</th>
|
||||
<th>{{__('Bestellung')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Info') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('#datatable-invoice').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"stateSave": true,
|
||||
"searching": false,
|
||||
ajax: {
|
||||
url: '{!! route('admin_business_points_datatable') !!}',
|
||||
data: function(d) {
|
||||
d.points_filter_member_id = $('select[name=points_filter_member_id]').val();
|
||||
d.points_filter_month = $('select[name=points_filter_month]').val();
|
||||
d.points_filter_year = $('select[name=points_filter_year]').val();
|
||||
}
|
||||
},
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false },
|
||||
{ data: 'date', name: 'date' },
|
||||
{ data: 'points', name: 'points' },
|
||||
{ data: 'total_net', name: 'total_net' },
|
||||
{ data: 'status', name: 'status', searchable: false },
|
||||
{ data: 'order', name: 'order', orderable: false },
|
||||
{ data: 'first_name', name: 'first_name', orderable: false },
|
||||
{ data: 'last_name', name: 'last_name', orderable: false },
|
||||
{ data: 'email', name: 'email', orderable: false },
|
||||
{ data: 'message', name: 'message', searchable: false },
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
$('select.on_change_select').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
$('input.on_keyup_input').on('keyup', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -10,21 +10,12 @@
|
|||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="form-row align-items-center">
|
||||
{{-- <div class="col-sm-5 mb-2">
|
||||
<label class="form-label" for="filter_user_shop_id">Filter Kunden/Berater</label>
|
||||
<select class="custom-select" name="filter_customer_member" id="filter_customer_member">
|
||||
<option value="">Filter aus</option>
|
||||
<option value="customers" @if(get_user_attr('filter_customer_member') === 'customers') selected @endif>Kunden</option>
|
||||
<option value="members" @if(get_user_attr('filter_customer_member') === 'members') selected @endif>Berater</option>
|
||||
|
||||
</select>
|
||||
</div>--}}
|
||||
<div class="col-sm-10 mb-2">
|
||||
<label class="form-label" for="filter_user_shop_id">Filter zugewiesener Berater</label>
|
||||
<select class="custom-select" name="filter_member_id" id="filter_member_id">
|
||||
<select class="selectpicker" data-style="btn-default" name="filter_member_id" id="filter_member_id" data-live-search="true">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach($filter_members as $member)
|
||||
<option value="{{$member->id}}" @if(get_user_attr('filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} |{{$member->email}}</option>
|
||||
<option value="{{$member->id}}" @if(get_user_attr('filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} | {{$member->email}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@
|
|||
<th>Points</th>
|
||||
<th>Umsatz netto</th>
|
||||
<th>Status</th>
|
||||
<th>Berater</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -45,10 +47,16 @@
|
|||
<td>{{ $value->user_sales_volume->points }}</td>
|
||||
<td>{{ formatNumber($value->user_sales_volume->total_net) }} €</td>
|
||||
<td>{{ $value->user_sales_volume->getStatusType() }}</td>
|
||||
<td>@if($value->user_sales_volume->user)
|
||||
{{ $value->user_sales_volume->user->getFullName() }}
|
||||
@else
|
||||
nicht zugewiesen
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@if($value->user_sales_volume->message)
|
||||
<tr>
|
||||
<td colspan="4">{{ $value->user_sales_volume->message }}</td>
|
||||
<td colspan="5">{{ $value->user_sales_volume->message }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endif
|
||||
|
|
|
|||
304
resources/views/admin/payment/credit.blade.php
Normal file
304
resources/views/admin/payment/credit.blade.php
Normal file
|
|
@ -0,0 +1,304 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
.td-entry-table-margin {
|
||||
padding-bottom: 6px;
|
||||
border-bottom: 1px solid rgb(221, 221, 221);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
</style>
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Zahlungen / offene Gutschriften
|
||||
|
||||
<div class="float-right">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
|
||||
data-id="new"
|
||||
data-action="add-user-credit"
|
||||
data-back="{{url()->current()}}"
|
||||
data-route="{{ route('modal_load') }}"><span class="far fa-plus-circle"></span> Gutschrift hinzufügen
|
||||
</button>
|
||||
</div>
|
||||
</h6>
|
||||
|
||||
@if(isset($add_credit_error) && $add_credit_error)
|
||||
<div class="col-sm-12">
|
||||
<div class="alert alert-danger p-2 mt-2">
|
||||
<ul>
|
||||
<li>{{ $add_credit_error }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Betrag') }}</th>
|
||||
<th>{{__('aus Bestellung / Gutschrift')}}</th>
|
||||
<th>{{__('#')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($ShoppingOrderMargins as $ShoppingOrderMargin)
|
||||
<tr>
|
||||
<td>{{ $ShoppingOrderMargin->first_name }}</td>
|
||||
<td>{{ $ShoppingOrderMargin->last_name }}</td>
|
||||
<td>{{ $ShoppingOrderMargin->email }}</td>
|
||||
<td>{!! \App\Services\UserMarign::getMontlyPartnerCommissionOpenByID($ShoppingOrderMargin->user_id, null, true, true) !!} €</td>
|
||||
<td>
|
||||
@foreach (\App\Services\UserMarign::getOrderFromPartnerCommissionByID($ShoppingOrderMargin->user_id) as $order)
|
||||
@if($order->shopping_order)
|
||||
<div class="td-entry-table-margin"><a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
|
||||
{{$order->shopping_order->shopping_user->billing_firstname }}
|
||||
{{$order->shopping_order->shopping_user->billing_lastname }}
|
||||
/ {{ $order->shopping_order->getLastShoppingPayment('reference') }}
|
||||
/ {{ $order->shopping_order->getFormattedTotalWithoutCredit()." €" }}
|
||||
/ {{ $order->shopping_order->created_at->format("d.m.Y") }}
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@foreach (\App\Services\UserMarign::getUserCreditMarginByID($ShoppingOrderMargin->user_id) as $creditMaring)
|
||||
<div class="td-entry-table-margin">
|
||||
<i class="fa fa-plus-circle text-secondary"></i>
|
||||
{!! nl2br($creditMaring->message) !!}
|
||||
/ {{ $creditMaring->created_at->format("d.m.Y") }}
|
||||
@if($deleteTime = $creditMaring->deleteTime())
|
||||
/ <span class="no-line-break">
|
||||
<a class="btn btn-danger btn-xs" href="{{ route('admin_payments_credit_delete', [$creditMaring->id, 'user_credit_margin']) }}" onclick="return confirm('Wirklich löschen?');">
|
||||
<i class="ion ion-ios-trash"></i>
|
||||
</a> noch {{ $deleteTime }} min.
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-credit"
|
||||
data-userid="{{ $ShoppingOrderMargin->user_id }}"
|
||||
data-email="{{ $ShoppingOrderMargin->email }}"
|
||||
data-back="{{url()->current()}}"
|
||||
data-action="create_credit">
|
||||
<span class="far fa-file-invoice-dollar"></span> <strong>Gutschrift erstellen</strong>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@foreach ($onlyUserCreditMargins as $user_id => $onlyUserCreditMargin)
|
||||
<tr>
|
||||
<td>{{ $onlyUserCreditMargin['first_name'] }}</td>
|
||||
<td>{{ $onlyUserCreditMargin['last_name'] }}</td>
|
||||
<td>{{ $onlyUserCreditMargin['email'] }}</td>
|
||||
<td>{!! formatNumber($onlyUserCreditMargin['sum']) !!} €</td>
|
||||
<td>
|
||||
@foreach ($onlyUserCreditMargin['entries'] as $key => $creditMaring)
|
||||
<div class="td-entry-table-margin">
|
||||
<i class="fa fa-plus-circle text-secondary"></i>
|
||||
{!! nl2br($creditMaring->message) !!}
|
||||
/ {{ $creditMaring->created_at->format("d.m.Y") }}
|
||||
@if($deleteTime = $creditMaring->deleteTime())
|
||||
/ <span class="no-line-break">
|
||||
<a class="btn btn-danger btn-xs" href="{{ route('admin_payments_credit_delete', [$creditMaring->id, 'user_credit_margin']) }}" onclick="return confirm('Wirklich löschen?');">
|
||||
<i class="ion ion-ios-trash"></i>
|
||||
</a> noch {{ $deleteTime }} min.
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-credit"
|
||||
data-userid="{{ $onlyUserCreditMargin['user_id'] }}"
|
||||
data-email="{{ $onlyUserCreditMargin['email'] }}"
|
||||
data-back="{{url()->current()}}"
|
||||
data-action="create_credit">
|
||||
<span class="far fa-file-invoice-dollar"></span> <strong>Gutschrift erstellen</strong>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="card mt-3">
|
||||
<h6 class="card-header">
|
||||
Zahlungen / offene Gutschriften pending
|
||||
</h6>
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Betrag') }}</th>
|
||||
<th>{{__('aus Bestellung')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($ShoppingOrderMarginPendings as $ShoppingOrderMarginPending)
|
||||
<tr>
|
||||
<td>{{ $ShoppingOrderMarginPending->first_name }}</td>
|
||||
<td>{{ $ShoppingOrderMarginPending->last_name }}</td>
|
||||
<td>{{ $ShoppingOrderMarginPending->email }}</td>
|
||||
<td>{!! \App\Services\UserMarign::getMontlyPartnerCommissionPendingByID($ShoppingOrderMarginPending->user_id, null, true) !!} €</td>
|
||||
<td>
|
||||
@foreach (\App\Services\UserMarign::getOrderFromPartnerCommissionPendingByID($ShoppingOrderMarginPending->user_id) as $order)
|
||||
@if($order->shopping_order)
|
||||
<div class="td-entry-table-margin"><a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
|
||||
<a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
|
||||
{{$order->shopping_order->shopping_user->billing_firstname }}
|
||||
{{$order->shopping_order->shopping_user->billing_lastname }}
|
||||
/ {{ $order->shopping_order->getLastShoppingPayment('reference') }}
|
||||
/ {{$order->shopping_order->getFormattedTotalWithoutCredit()." €" }}
|
||||
/ {{ $order->shopping_order->created_at->format("d.m.Y") }}
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-3">
|
||||
<h6 class="card-header">
|
||||
Zahlungen / erstellte Gutschriften
|
||||
</h6>
|
||||
<div class="col-sm-6 mb-0 mt-2">
|
||||
{!! Form::open(['url' => route('admin_payments_credit'), 'class' => 'form-horizontal', 'id'=>'form_filter_sales_year']) !!}
|
||||
|
||||
<label class="form-label" for="filter_sales_year">Filter Jahr</label>
|
||||
<select class="custom-select" name="filter_sales_year" id="filter_sales_year">
|
||||
@foreach($years as $year)
|
||||
<option value="{{$year}}" @if($active_year == $year) selected @endif>{{$year}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
{!! Form::close() !!}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-credit">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>{{__('G.Nr.')}}</th>
|
||||
<th>{{__('Gutschrift')}}</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Betrag') }}</th>
|
||||
<th>{{__('Datum') }}</th>
|
||||
<th>{{__('Zahlung')}}</th>
|
||||
<th>{{__('aus Bestellung / Gutschrift')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modals-credit">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content form-prevent-multiple-submits" action="{{ route('admin_payments_credit_create') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="userid" value="">
|
||||
<input type="hidden" name="action" value="create_credit">
|
||||
<input type="hidden" name="back" value="{{url()->current()}}">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('Gutschrift')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group col-sm-12">
|
||||
|
||||
{{ Form::select('credit_option', ['create'=>'Gutschrift erstellen'], false, array('data-live-search'=>'false', 'class'=>'selectpicker')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="credit_date">{{ __('Gutschriftsdatum') }}</label>
|
||||
{!! Form::text('credit_date', \Carbon::now()->format("d.m.Y"), ['class'=>'form-control datepicker-base']) !!}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="credit_number">{{ __('Gutschriftsnummer') }}</label>
|
||||
{!! Form::text('credit_number', App\Services\Credit::getCreditNumber(), ['class'=>'form-control', 'disabled']) !!}
|
||||
<em> nächste Gutschriftsnummer <a href="{{ route('admin_settings') }}"><i class="fa fa-edit"></i></a></em>
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="custom-control custom-checkbox">
|
||||
{!! Form::checkbox('credit_send_mail', 1, true, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">Gutschrift an <span id="set_credit_send_mail">mail</span></span>
|
||||
</label>
|
||||
</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 button-prevent-multiple-submits"><i class="spinner fa fa-spinner fa-spin"></i> {{ __('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('#datatable-credit').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
ajax: {
|
||||
url: '{!! route( 'admin_payments_credit_datatable') !!}',
|
||||
data: function(d) {
|
||||
d.filter_sales_year = $('select[name=filter_sales_year]').val();
|
||||
}
|
||||
},
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false },
|
||||
{ data: 'credit_number', name: 'credit_number' },
|
||||
{ data: 'credit', name: 'credit', orderable: false, searchable: false },
|
||||
{ data: 'user.account.first_name', name: 'user.account.first_name', orderable: false },
|
||||
{ data: 'user.account.last_name', name: 'user.account.last_name', orderable: false },
|
||||
{ data: 'user.email', name: 'user.email', orderable: false },
|
||||
{ data: 'total', name: 'total' },
|
||||
{ data: 'date', name: 'date' },
|
||||
{ data: 'status', name: 'status', searchable: false },
|
||||
{ data: 'user_margins', name: 'user_margins', orderable: false },
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
$('#filter_sales_year').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
$( document ).ready(function() {
|
||||
$('#modals-credit').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
if(event.relatedTarget){
|
||||
$(this).find(".modal-content input[name='userid']").val(button.data('userid'));
|
||||
$(this).find(".modal-body #set_credit_send_mail").html(button.data('email'));
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
|
@ -11,16 +11,17 @@
|
|||
<div class="form-row align-items-center">
|
||||
<div class="col-sm-4 mb-2">
|
||||
<label class="form-label" for="filter_user_shop_id">Filter zugewiesener Berater</label>
|
||||
<select class="custom-select" name="filter_member_id" id="filter_member_id">
|
||||
|
||||
<select class="selectpicker" data-style="btn-default" name="filter_member_id" id="filter_member_id" data-live-search="true">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach($filter_members as $member)
|
||||
<option value="{{$member->id}}" @if(get_user_attr('filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} |{{$member->email}}</option>
|
||||
<option value="{{$member->id}}" @if(get_user_attr('filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} | {{$member->email}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-4 mb-2">
|
||||
<label class="form-label" for="filter_user_shop_id">Filter Gekauft im Shop</label>
|
||||
<select class="custom-select" name="filter_user_shop_id" id="filter_user_shop_id">
|
||||
<select class="selectpicker" data-style="btn-default" name="filter_user_shop_id" id="filter_user_shop_id" data-live-search="true">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach($filter_user_shops as $id=>$name)
|
||||
<option value="{{$id}}" @if(get_user_attr('filter_user_shop_id') == $id) selected @endif>{{$name}}.{{config('app.domain').config('app.tld_care')}}</option>
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
<label class="form-label" for="filter_txaction">Filter Status</label>
|
||||
<select class="custom-select" name="filter_txaction" id="filter_txaction">
|
||||
<option value="">Filter aus</option>
|
||||
@foreach(\App\Services\Payment::$txaction_text as $id=>$name)
|
||||
@foreach(\App\Services\Payment::$txaction_filter_text as $id=>$name)
|
||||
<option value="{{$id}}" @if(get_user_attr('filter_txaction') == $id) selected @endif>{{$name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
|
|
|||
40
resources/views/dashboard/_activities.blade.php
Normal file
40
resources/views/dashboard/_activities.blade.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<div class="col-xl-5">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Activities') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->active == 1)
|
||||
@if($user->files->count())
|
||||
@foreach($user->files()->whereIdentifier('contract')->get() as $file)
|
||||
<a class="btn btn-secondary btn-block mb-3" href="{{ route('storage_file', [$file->id, 'user']) }}" target="_blank"><i class="ion ion-ios-download text-default mr-1"></i> MIVITA_Beratervertrag.pdf</a>
|
||||
<hr class="mb-3">
|
||||
@endforeach
|
||||
@endif
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Daten vollständig, freigeschaltet')}}</strong> {{__('at')}}: {{ $user->getActiveDateFormat() }}</p>
|
||||
@endif
|
||||
@if($user->account_id)
|
||||
@if($user->active == 1)
|
||||
@if($user->agreement)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Einverständniserklärung')}}</strong> {{__('at')}}: {{ $user->getAgreementFormat() }}
|
||||
</p>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Einverständniserklärung')}}</strong> {{ __('nicht akzeptiert') }}</p>
|
||||
@endif
|
||||
@endif
|
||||
@if($user->account->data_protection)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Privacy policy approved')}}</strong> {{__('at')}}: {{ $user->account->getDataProtectionFormat() }}
|
||||
</p>
|
||||
@endif
|
||||
@endif
|
||||
@if($user->confirmed == 1)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('E-Mail verified')}}</strong> {{__('at')}}: {{ $user->getConfirmationDateFormat() }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
54
resources/views/dashboard/_membership.blade.php
Normal file
54
resources/views/dashboard/_membership.blade.php
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<div class="d-flex col-xl-6 align-items-stretch">
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Mitgliedschaft') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->isActiveAccount() )
|
||||
<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
|
||||
<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')}}: <strong></strong>{{ $user->getPaymentAccountDateFormat() }}
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if($user->isActiveAccount() )
|
||||
<hr>
|
||||
<h6><span class="ion ion-md-checkmark-circle-outline text-success"></span>
|
||||
<strong>{{__('Aktive Rolle')}}:</strong>
|
||||
@if($user->m_level && $user->user_level) {{ $user->user_level->name }} @endif </h6>
|
||||
<table class="table table-striped table-bordered">
|
||||
<tr>
|
||||
<td class="text-left font-weight-semibold">{{__('Provision')}}:</td>
|
||||
<td class="text-left font-weight-semibold">{{__('Shop Provision')}}:</td>
|
||||
<td class="text-left font-weight-semibold">{{__('Qualifikation')}}:</td>
|
||||
<td class="text-left font-weight-semibold">{{__('Team Qualifikation')}}:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-left font-weight-bold">
|
||||
{{ $user->user_level->margin }} %
|
||||
</td>
|
||||
<td class="text-left font-weight-bold">
|
||||
{{ $user->user_level->margin_shop }} %
|
||||
</td>
|
||||
<td class="text-left font-weight-bold">
|
||||
{{ $user->user_level->qual_kp }} Points
|
||||
</td>
|
||||
<td class="text-left font-weight-bold">
|
||||
{{ $user->user_level->qual_tp }} Points
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
73
resources/views/dashboard/_points.blade.php
Normal file
73
resources/views/dashboard/_points.blade.php
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
<div class="d-flex col-xl-12 align-items-stretch">
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Aktuelle Punkte für') }} {{ HTMLHelper::getMonth(date('n')) }} {{ date('Y') }} </div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->isActiveAccount())
|
||||
<h6>
|
||||
@php($userSalesVolume = $user->getUserSalesVolume(date('n'), date('Y'), 'first'))
|
||||
@if($userSalesVolume)
|
||||
<div class="mb-2">
|
||||
<strong>Gesamte Points: {{ $userSalesVolume->getPointsSum() }}</strong> | Berater: {{ $userSalesVolume->month_points }} | Shop: {{ $userSalesVolume->month_shop_points }}<br>
|
||||
</div>
|
||||
<div>
|
||||
<strong>Gesamter Umsatz: {{ formatNumber($userSalesVolume->getTotalNetSum()) }} €</strong> | Berater: {{ formatNumber($userSalesVolume->month_total_net) }} € | Shop: {{ formatNumber($userSalesVolume->month_shop_total_net) }} €
|
||||
</div>
|
||||
@endif
|
||||
</h6>
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('Datum') }}</th>
|
||||
<th>{{__('Points')}}</th>
|
||||
<th>{{__('Umsatz netto')}}</th>
|
||||
<th>{{__('Art')}}</th>
|
||||
<th>{{__('Bestellung')}}</th>
|
||||
<th>{{__('Info') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php($userSalesVolumes = $user->getUserSalesVolume(date('n'), date('Y')))
|
||||
@if($userSalesVolumes)
|
||||
@foreach ($userSalesVolumes as $userSalesVolume)
|
||||
<tr>
|
||||
<td class="text-left font-weight-semibold">
|
||||
{{ $userSalesVolume->date }}
|
||||
</td>
|
||||
<td class="text-left font-weight-semibold">
|
||||
{{ $userSalesVolume->points }}
|
||||
</td>
|
||||
<td class="text-left font-weight-semibold">
|
||||
{{ formatNumber($userSalesVolume->total_net) }} €
|
||||
</td>
|
||||
<td class="text-left font-weight-semibold">
|
||||
<span class="badge badge-pill badge-{{ $userSalesVolume->getStatusColor() }}">{{ $userSalesVolume->getStatusType() }}</span>
|
||||
</td>
|
||||
<td class="text-left font-weight-semibold">
|
||||
@if($userSalesVolume->shopping_order)
|
||||
@if($userSalesVolume->status === 1 && $userSalesVolume->shopping_order->auth_user_id === $userSalesVolume->user_id)
|
||||
<a href="{{ route('user_order_detail', [$userSalesVolume->shopping_order->id]) }}" class="btn btn-xs btn-primary">{{ $userSalesVolume->shopping_order->id }}</a>
|
||||
@endif
|
||||
@if(($userSalesVolume->status === 2 || $userSalesVolume->status === 3) && $userSalesVolume->shopping_order->member_id === $userSalesVolume->user_id)
|
||||
<a href="{{ route('user_shop_order_detail', [$userSalesVolume->shopping_order->id]) }}" class="btn btn-xs btn-secondary">{{ $userSalesVolume->shopping_order->id }}</a>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-left font-weight-semibold">
|
||||
<span class="no-line-break"> {{ $userSalesVolume->message }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
@if($user->isActiveAccount())
|
||||
<div class="card-footer py-3">
|
||||
<a href="{{route('user_team_structure')}}" class="btn btn-secondary"><i class="ion ion-md-funnel rotate-180 text-default mr-1"></i> {{__('navigation.my_team')}} - {{__('navigation.structure')}}</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
60
resources/views/dashboard/_reminder.blade.php
Executable file
60
resources/views/dashboard/_reminder.blade.php
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
@if($user->active == 1)
|
||||
@if($user->payment_account && $user->daysActiveAccount() <= config('mivita.remind_first_days'))
|
||||
<div class="d-flex col-xl-12 align-items-stretch">
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">
|
||||
{{__('membership.home_hl') }}
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->daysActiveAccount() <= 0)
|
||||
@if($user->isActiveAccount())
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_35')}}</h5>
|
||||
<p>{{__('membership.home_copy_last_35', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@else
|
||||
{{-- 35, 36 --}}
|
||||
@if($user->daysActiveAccount() == 0)
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36_today', ['datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@else
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36', ['days'=>$user->daysActiveAccount()*-1, 'datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@endif
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_36', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
|
||||
<p>{{__('membership.home_copy_last_36', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@endif
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_last_days') )
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
<p>{{__('membership.home_copy_last_34', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_sec_days'))
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
@if($user->daysActiveAccount() < config('mivita.abo_booking_days') )
|
||||
<p>{{ __('membership.home_copy_SEPA_33', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@else
|
||||
<p>{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@endif
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_33', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
@else
|
||||
{{-- 32 / 31 --}}
|
||||
<h5 class="alert badge-default">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_31', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
<div class="card-footer py-3">
|
||||
<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>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
70
resources/views/dashboard/_settings.blade.php
Normal file
70
resources/views/dashboard/_settings.blade.php
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<div class="col-xl-7">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Daten') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if ($user->active == 1)
|
||||
<p>{{ __('Ändere Deine persönlichen Datan.') }}</p>
|
||||
<a href="{{ route('user_edit') }}" class="btn btn-secondary"><i
|
||||
class="ion ion-ios-contact text-default mr-1"></i> {{ __('Adjust data') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Sicherheit') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if ($user->active == 1)
|
||||
@if (!$user->isPasswort())
|
||||
<p>{{ __('Assign a password for your account.') }}</p>
|
||||
<a href="{{ route('user_update_password_first') }}" class="btn btn-submit"><i
|
||||
class="ion ion-ios-lock text-default mr-1"></i> {{ __('Create Password') }}</a>
|
||||
@else
|
||||
<p>{{ __('Ändere Dein persönliches Passwort.') }}</p>
|
||||
<a href="{{ route('user_update_password') }}" class="btn btn-secondary"><i
|
||||
class="ion ion-ios-lock text-default mr-1"></i> {{ __('Change password') }}</a>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Anmeldung') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if ($user->active == 1)
|
||||
<p>{{ __('Ändere Deine E-Mail Adresse.') }}</p>
|
||||
<a href="{{ route('user_update_email') }}" class="btn btn-secondary"><i
|
||||
class="ion ion-ios-mail text-default mr-1"></i> {{ __('Change E-Mail') }}</a>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Logout') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
<p>Abmelden und bis bald.</p>
|
||||
</o>
|
||||
<a href="{{ route('logout') }}" class="btn btn-primary"><i
|
||||
class="ion ion-ios-log-out text-default mr-1"></i> {{ __('Logout') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
57
resources/views/dashboard/_shop.blade.php
Normal file
57
resources/views/dashboard/_shop.blade.php
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<div class="d-flex col-xl-6 align-items-stretch">
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Your Shop') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->isActiveShop())
|
||||
<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
|
||||
<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')}}: <strong></strong>{{ $user->getPaymentShopDateFormat() }}
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
<hr>
|
||||
|
||||
@if($user->isActiveAccount())
|
||||
@if($user->isActiveShop())
|
||||
@if($user->shop)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-success"></span>
|
||||
<strong>{{__('open since')}}</strong> {{__('at')}} {{ $user->shop->getActiveDateFormat() }}</p>
|
||||
@if($user->shop->active)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-success"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('active') }}</p>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('inactive') }}</p>
|
||||
@endif
|
||||
|
||||
<div class="mb-2">
|
||||
<a class="btn btn-default btn-sm" href="{{ $user->shop->getSubdomain(false) }}" target="_blank"><i class="ion ion-md-globe text-default mr-1"></i> {{ $user->shop->getSubdomain(false) }}</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="btn btn-default btn-sm" href="{{route('user_shop_orders')}}" target="_self"><i class="ion ion-ios-cart text-default mr-1"></i> {{__('navigation.orders')}}</a>
|
||||
</div>
|
||||
|
||||
@else
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary">{{__('open your shop')}}</a>
|
||||
@endif
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Shop nicht gebucht')}}</strong></p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
@if($user->isActiveShop())
|
||||
<div class="card-footer py-3">
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary"><i class="ion ion-ios-basket text-default mr-1"></i> {{__('settings your shop')}}</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
62
resources/views/dashboard/reminder.blade.php
Executable file
62
resources/views/dashboard/reminder.blade.php
Executable file
|
|
@ -0,0 +1,62 @@
|
|||
@if($user->active == 1)
|
||||
@if($user->payment_account && $user->daysActiveAccount() <= config('mivita.remind_first_days'))
|
||||
<div class="d-flex col-xl-12 align-items-stretch">
|
||||
<!-- SHOP -->
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">
|
||||
{{__('membership.home_hl') }}
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->daysActiveAccount() <= 0)
|
||||
@if($user->isActiveAccount())
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_35')}}</h5>
|
||||
<p>{{__('membership.home_copy_last_35', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@else
|
||||
{{-- 35, 36 --}}
|
||||
@if($user->daysActiveAccount() == 0)
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36_today', ['datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@else
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36', ['days'=>$user->daysActiveAccount()*-1, 'datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@endif
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_36', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
|
||||
<p>{{__('membership.home_copy_last_36', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@endif
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_last_days') )
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
<p>{{__('membership.home_copy_last_34', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_sec_days'))
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
@if($user->daysActiveAccount() < config('mivita.abo_booking_days') )
|
||||
<p>{{ __('membership.home_copy_SEPA_33', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@else
|
||||
<p>{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@endif
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_33', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
@else
|
||||
{{-- 32 / 31 --}}
|
||||
<h5 class="alert badge-default">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_31', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
<div class="card-footer py-3">
|
||||
<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 -->
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
|
|
@ -28,309 +28,20 @@
|
|||
<hr class="container-m-nx mt-0 mb-4">
|
||||
|
||||
<div class="row">
|
||||
@if($user->active == 1)
|
||||
@if($user->payment_account && $user->daysActiveAccount() <= config('mivita.remind_first_days'))
|
||||
<div class="d-flex col-xl-12 align-items-stretch">
|
||||
<!-- SHOP -->
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header">
|
||||
{{__('membership.home_hl') }}
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->daysActiveAccount() <= 0)
|
||||
@if($user->isActiveAccount())
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_35')}}</h5>
|
||||
<p>{{__('membership.home_copy_last_35', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@else
|
||||
{{-- 35, 36 --}}
|
||||
@if($user->daysActiveAccount() == 0)
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36_today', ['datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@else
|
||||
<h5 class="alert badge-danger">{{__('membership.home_copy_alert_36', ['days'=>$user->daysActiveAccount()*-1, 'datetime'=>$user->getPaymentAccountDateFormat()])}}</h5>
|
||||
@endif
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_36', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
|
||||
<p>{{__('membership.home_copy_last_36', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@endif
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_last_days') )
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
<p>{{__('membership.home_copy_last_34', ['days'=>$user->daysActiveAccount(), 'datetime'=>$user->getPaymentAccountDateFormat()])}}</p>
|
||||
@elseif($user->daysActiveAccount() < config('mivita.remind_sec_days'))
|
||||
{{-- 33 --}}
|
||||
<h5 class="alert badge-warning">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
@if($user->daysActiveAccount() < config('mivita.abo_booking_days') )
|
||||
<p>{{ __('membership.home_copy_SEPA_33', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@else
|
||||
<p>{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}</p>
|
||||
@endif
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_33', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
@else
|
||||
{{-- 32 / 31 --}}
|
||||
<h5 class="alert badge-default">{{ __('membership.home_copy_alert_31', ['datetime'=>$user->getPaymentAccountDateFormat()]) }}</h5>
|
||||
@if($user->payment_account && $user->isAboOption())
|
||||
{{ __('membership.home_copy_SEPA_32', ['price'=> 'von '.$user->payment_order_product->getFormattedPrice().' EUR', 'pay_date'=>Carbon::parse($user->payment_account)->modify('- '.config('mivita.abo_booking_days').' days')->format('d.m.Y')]) }}
|
||||
<hr>
|
||||
@endif
|
||||
<p>{{__('membership.home_copy_last_31', ['days'=>$user->daysActiveAccount()])}}</p>
|
||||
@include('dashboard._reminder')
|
||||
|
||||
@endif
|
||||
</div>
|
||||
<div class="card-footer py-3">
|
||||
<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 -->
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
{{-- <div class="d-flex col-xl-6 align-items-stretch">
|
||||
<!-- Stats + Links -->
|
||||
<div class="card d-flex w-100 mb-4">
|
||||
<div class="row no-gutters row-bordered h-100">
|
||||
<div class="d-flex col-sm-6 col-md-4 col-lg-6 align-items-center">
|
||||
@include('dashboard._membership')
|
||||
|
||||
<a href="javascript:void(0)" class="card-body media align-items-center text-body">
|
||||
<i class="lnr lnr-chart-bars display-4 d-block text-primary"></i>
|
||||
<span class="media-body d-block ml-3">
|
||||
<span class="text-big font-weight-bolder">$1,342.11</span><br>
|
||||
<small class="">Umsatz diesen Monat</small>
|
||||
</span>
|
||||
</a>
|
||||
@include('dashboard._shop')
|
||||
|
||||
</div>
|
||||
<div class="d-flex col-sm-6 col-md-4 col-lg-6 align-items-center">
|
||||
@include('dashboard._points')
|
||||
|
||||
<a href="javascript:void(0)" class="card-body media align-items-center text-body">
|
||||
<i class="lnr lnr-hourglass display-4 d-block text-primary"></i>
|
||||
<span class="media-body d-block ml-3">
|
||||
<span class="text-big"><span class="font-weight-bolder">152</span> Working Hours</span><br>
|
||||
<small class="">Umsatz dieses Jahr</small>
|
||||
</span>
|
||||
</a>
|
||||
@include('dashboard._activities')
|
||||
|
||||
</div>
|
||||
<div class="d-flex col-sm-6 col-md-4 col-lg-6 align-items-center">
|
||||
<a href="javascript:void(0)" class="card-body media align-items-center text-body">
|
||||
<i class="lnr lnr-checkmark-circle display-4 d-block text-primary"></i>
|
||||
<span class="media-body d-block ml-3">
|
||||
<span class="text-big"><span class="font-weight-bolder">54</span> Tasks</span><br>
|
||||
<small class="">Punkte</small>
|
||||
</span>
|
||||
</a>
|
||||
@include('dashboard._settings')
|
||||
|
||||
</div>
|
||||
<div class="d-flex col-sm-6 col-md-4 col-lg-6 align-items-center">
|
||||
<a href="javascript:void(0)" class="card-body media align-items-center text-body">
|
||||
<i class="lnr lnr-license display-4 d-block text-primary"></i>
|
||||
<span class="media-body d-block ml-3">
|
||||
<span class="text-big"><span class="font-weight-bolder">6</span> Projects</span><br>
|
||||
<small class="">Verkäufe</small>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Stats + Links -->
|
||||
</div> --}}
|
||||
|
||||
<div class="d-flex col-xl-6 align-items-stretch">
|
||||
<!-- SHOP -->
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Mitgliedschaft') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->isActiveAccount() )
|
||||
<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
|
||||
<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')}}: <strong></strong>{{ $user->getPaymentAccountDateFormat() }}
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
<div class="clearfix mb-2"></div>
|
||||
@if($user->isActiveShop())
|
||||
<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
|
||||
<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')}}: <strong></strong>{{ $user->getPaymentShopDateFormat() }}
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
<!-- / SHOP -->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex col-xl-6 align-items-stretch">
|
||||
<!-- SHOP -->
|
||||
<div class="card w-100 mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Your Shop') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
|
||||
@if($user->isActiveAccount())
|
||||
@if($user->isActiveShop())
|
||||
@if($user->shop)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('open since')}}</strong> {{__('at')}} {{ $user->shop->getActiveDateFormat() }}</p>
|
||||
@if($user->shop->active)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('active') }}</p>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Status')}}</strong> {{ __('inactive') }}</p>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary">{{__('open your shop')}}</a>
|
||||
@endif
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Shop nicht gebucht')}}</strong></p>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
@if($user->isActiveShop())
|
||||
<div class="card-footer py-3">
|
||||
<a href="{{route('user_shop')}}" class="btn btn-secondary"><i class="ion ion-ios-basket text-default mr-1"></i> {{__('settings your shop')}}</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- / SHOP -->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-5">
|
||||
<!-- Tasks -->
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Activities') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->active == 1)
|
||||
@if($user->files->count())
|
||||
@foreach($user->files()->whereIdentifier('contract')->get() as $file)
|
||||
<a class="btn btn-secondary btn-block mb-3" href="{{ route('storage_file', [$file->id, 'user']) }}" target="_blank"><i class="ion ion-ios-download text-default mr-1"></i> MIVITA_Beratervertrag.pdf</a>
|
||||
<hr class="mb-3">
|
||||
@endforeach
|
||||
@endif
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Daten vollständig, freigeschaltet')}}</strong> {{__('at')}}: {{ $user->getActiveDateFormat() }}</p>
|
||||
@endif
|
||||
@if($user->account_id)
|
||||
@if($user->active == 1)
|
||||
@if($user->agreement)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Einverständniserklärung')}}</strong> {{__('at')}}: {{ $user->getAgreementFormat() }}
|
||||
</p>
|
||||
@else
|
||||
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
|
||||
<strong>{{__('Einverständniserklärung')}}</strong> {{ __('nicht akzeptiert') }}</p>
|
||||
@endif
|
||||
@endif
|
||||
@if($user->account->data_protection)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('Privacy policy approved')}}</strong> {{__('at')}}: {{ $user->account->getDataProtectionFormat() }}
|
||||
</p>
|
||||
@endif
|
||||
@endif
|
||||
@if($user->confirmed == 1)
|
||||
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
|
||||
<strong>{{__('E-Mail verified')}}</strong> {{__('at')}}: {{ $user->getConfirmationDateFormat() }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Tasks -->
|
||||
|
||||
</div>
|
||||
<div class="col-xl-7">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{__('Daten') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->active == 1)
|
||||
<p>{{__('Ändere Deine persönlichen Datan.')}}</p>
|
||||
<a href="{{ route('user_edit') }}" class="btn btn-secondary"><i class="ion ion-ios-contact text-default mr-1"></i> {{ __('Adjust data') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Sicherheit') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->active == 1)
|
||||
@if(!$user->isPasswort())
|
||||
<p>{{__('Assign a password for your account.')}}</p>
|
||||
<a href="{{route('user_update_password_first')}}" class="btn btn-submit"><i class="ion ion-ios-lock text-default mr-1"></i> {{__('Create Password')}}</a>
|
||||
@else
|
||||
<p>{{__('Ändere Dein persönliches Passwort.')}}</p>
|
||||
<a href="{{route('user_update_password')}}" class="btn btn-secondary"><i class="ion ion-ios-lock text-default mr-1"></i> {{__('Change password')}}</a>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Anmeldung') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
@if($user->active == 1)
|
||||
<p>{{__('Ändere Deine E-Mail Adresse.')}}</p>
|
||||
<a href="{{route('user_update_email')}}" class="btn btn-secondary"><i class="ion ion-ios-mail text-default mr-1"></i> {{__('Change E-Mail')}}</a>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header with-elements">
|
||||
<div class="card-header-title">{{ __('Logout') }}</div>
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
<p>Abmelden und bis bald.</p></o>
|
||||
<a href="{{route('logout')}}" class="btn btn-primary"><i class="ion ion-ios-log-out text-default mr-1"></i> {{ __('Logout') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="container-m-nx mt-0 mb-4">
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_car
|
|||
|
||||
//payments points // Gutschreiben
|
||||
Route::get('/admin/business/points', 'BusinessPointsController@index')->name('admin_business_points');
|
||||
Route::post('/admin/business/points', 'BusinessPointsController@index')->name('admin_business_points');
|
||||
Route::post('/admin/business/points/store', 'BusinessPointsController@store')->name('admin_business_points_store');
|
||||
Route::get('/admin/business/points/datatable', 'BusinessPointsController@datatable')->name('admin_business_points_datatable');
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue