mivita/app/Http/Controllers/ModalController.php
2023-07-03 10:07:08 +02:00

173 lines
No EOL
7.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Request;
use App\User;
use App\Models\Product;
use App\Models\Homeparty;
use App\Models\UserLevel;
use App\Models\UserCredit;
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
{
public function __construct()
{
$this->middleware('auth');
}
public function load(){
$data = Request::all();
$ret = "";
$status = false;
if(Request::ajax()){
if($data['action'] === 'shopping-order-change-member'){
$value = ShoppingOrder::find($data['id']);
$route = route('admin_sales_customers_detail', [$value->id]);
$ret = view("admin.modal.member", compact('value', 'data', 'route'))->render();
}
if($data['action'] === 'shopping-user-change-member'){
$value = ShoppingUser::find($data['id']);
$route = route('admin_customer_edit', [$value->id]);
$ret = view("admin.modal.member", compact('value', 'data', 'route'))->render();
}
if($data['action'] === 'shopping-user-is-like-member'){
$current = ShoppingUser::find($data['id']); //current user form order
$possibles = [];
if($current->is_like){
$likes = $current->getNotice('like');
foreach ($likes as $like_id=>$number){
$possibles[] = ShoppingUser::find($like_id);
}
}
$ret = view("admin.modal.is_like_member", compact('current', 'possibles', 'data'))->render();
}
if($data['action'] === 'shopping-order-change-points'){
$value = ShoppingOrder::find($data['id']);
$route = route('admin_sales_customers_detail', [$value->id]);
$ret = view("admin.modal.change_points", compact('value', 'data', 'route'))->render();
}
if($data['action'] === 'user-order-show-product'){
$product = Product::find($data['id']); //current user form order
$ret = view("admin.modal.show_product", compact('product', 'data'))->render();
}
if($data['action'] === 'user-order-show-product'){
$product = Product::find($data['id']); //current user form order
$ret = view("admin.modal.show_product", compact('product', 'data'))->render();
}
if($data['action'] === 'shop-user-order-detail'){
$user = \Auth::user();
$shopping_order = ShoppingOrder::findOrFail($data['id']);
if(!$user->isAdmin() && $shopping_order->member_id !== $user->id){
abort(404);
}
$isAdmin = false ;
$ret = view("user.shop.sales.modal_api_order_detail", compact('shopping_order', 'isAdmin', 'data'))->render();
}
if($data['action'] === 'shop-user-order-shipping-detail'){
$user = \Auth::user();
$shopping_order = ShoppingOrder::findOrFail($data['id']);
if(!$user->isAdmin() && $shopping_order->auth_user_id !== $user->id){
abort(404);
}
$isAdmin = false ;
$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();
}
if($data['action'] === 'user-order-my-delivery-add'){
$user = \Auth::user();
/* $product = Product::find($data['id']); //current user form order
$ret = view("admin.modal.show_product", compact('product', 'data'))->render(); */
}
if($data['action'] === 'homeparty-add-product') {
$homeparty = Homeparty::find($data['id']);
$homeparty_user = HomepartyUser::find($data['user_id']);
$data['homeparty'] = $homeparty;
$ret = view("user.homeparty.modal_show_products", compact( 'data', 'homeparty', 'homeparty_user'))->render();
}
if($data['action'] === 'user-level-edit'){
$value = UserLevel::find($data['id']);
$route = route('admin_level_store', [$value->id]);
$ret = view("admin.modal.user_level_edit", compact('value', 'data', 'route'))->render();
}
if($data['action'] === 'business-user-detail'){
$user = User::findOrFail($data['id']);
if($data['init_from'] === 'admin'){
$data['month'] = session('business_user_filter_month');
$data['year'] = session('business_user_filter_year');
}else{
$data['month'] = session('team_user_filter_month');
$data['year'] = session('team_user_filter_year');
}
$TreeCalcBot = $this->getForBusinessUserDetail($user, $data);
$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();
}
if($data['action'] === 'add-user-credit'){
$value = [];
$ret = view("admin.payment.modal_add_credit", compact('value', 'data'))->render();
}
if($data['action'] === 'user-credit-status'){
$UserCredit = UserCredit::find($data['id']); //current user form order
$ret = view("admin.payment.modal_credit_status", compact('UserCredit', 'data'))->render();
}
}
return response()->json(['response' => $data, 'html'=>$ret, 'status'=>$status]);
}
private function getForBusinessUserDetail(User $user, $data){
//$auth_user = \Auth::user();
//if($auth_user->isAdmin() || $auth_user->id === $user->id){
$TreeCalcBot = new TreeCalcBot($data['month'], $data['year'], $data['init_from']);
$TreeCalcBot->initBusinesslUserDetail($user);
//TODO is not Admin, read is user in Parent tree ...
if(!$TreeCalcBot->business_user){
abort(403, 'no user found');
}
return $TreeCalcBot;
//}
return null;
}
}
/* <button type="button" class="btn btn-sm btn-primary" data-toggle="modal"
data-target="#modals-load-content"
data-id="{{ $value->id }}"
data-model="emailTemplate"
data-action="modal-email-template"
data-url=""
data-redirect="back"
data-route="{{ route('modal_load') }}"><span class="fa fa-edit"></span></button>*/