diff --git a/app/Http/Controllers/Admin/AdminLoginController.php b/app/Http/Controllers/Admin/AdminLoginController.php index 42513f1..eca7330 100644 --- a/app/Http/Controllers/Admin/AdminLoginController.php +++ b/app/Http/Controllers/Admin/AdminLoginController.php @@ -13,6 +13,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\URL; use App\Mail\ResetMail; +use App\Models\Iam_App_Resource_Action_Link; class AdminLoginController extends Controller { @@ -25,7 +26,7 @@ class AdminLoginController extends Controller { $email = $request->email; $password = $request->password; - $userPassword = User::where(['email' => $email, 'role' => 1])->value('password'); + $userPassword = User::where('email', $email)->whereIn('role', [1,2])->value('password'); if (!$userPassword) { return response()->json(['status' => 400, 'message' => 'Invalid Credentials!']); @@ -66,6 +67,7 @@ class AdminLoginController extends Controller User::where('id', $user->id)->update([ 'last_login' => now() ]); + // $redirectPage = Iam_App_Resource_Action_Link::where('user_xid',$user->id)->first(); return response()->json(['status' => 200, 'message' => 'Welcome!']); } return response()->json(['status' => 401, 'message' => 'OTP has expired!']); diff --git a/app/Http/Controllers/Admin/AdminProfileController.php b/app/Http/Controllers/Admin/AdminProfileController.php index c1bb2ae..dc15cbd 100644 --- a/app/Http/Controllers/Admin/AdminProfileController.php +++ b/app/Http/Controllers/Admin/AdminProfileController.php @@ -1,4 +1,5 @@ json(['status' => 400,'message' => $validationMessage]); + return response()->json(['status' => 400, 'message' => $validationMessage]); } $user = User::find(Auth::user()->id); if (Hash::check($request->current_password, $user->password)) { @@ -276,6 +277,10 @@ class AdminProfileController extends Controller public function viewUsersProfile() { + $check = checkSidebarAccess('update-user-password'); + if (!$check) { + abort(404); + } $users = User::where(['role' => 0, 'status' => '1'])->get(); diff --git a/app/Http/Controllers/Admin/ContactFormLeadsController.php b/app/Http/Controllers/Admin/ContactFormLeadsController.php index c5031a7..b18896e 100644 --- a/app/Http/Controllers/Admin/ContactFormLeadsController.php +++ b/app/Http/Controllers/Admin/ContactFormLeadsController.php @@ -20,6 +20,10 @@ class ContactFormLeadsController extends Controller public function index() { + $check = checkSidebarAccess('contact-form-leads'); + if (!$check) { + abort(404); + } return view('Admin.Pages.contact_form_leads.contact_form_leads', [ 'contactUs' => $this->contact->getAllData() ]); @@ -46,7 +50,7 @@ class ContactFormLeadsController extends Controller public function updateContactUsStatus(Request $request) { // dd($request->all()); - $updateStatus = ContactUs::where('id',$request->contact_id)->update(['status'=>$request->status]); + $updateStatus = ContactUs::where('id', $request->contact_id)->update(['status' => $request->status]); if ($updateStatus) { return response()->json([ 'status' => 200, diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 15b3ace..ac799df 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -33,6 +33,11 @@ class DashboardController extends Controller public function index(Request $request) { + $check = checkSidebarAccess('dashboard'); + if(!$check) + { + abort(404); + } // dd(123); // $a = ['1','2','3']; // $b = User::where('id',1)->update([ @@ -143,6 +148,11 @@ class DashboardController extends Controller } public function personalDashboard(Request $request){ + $check = checkSidebarAccess('personal-dashboard'); + if(!$check) + { + abort(404); + } // dd(123); // $a = ['1','2','3']; // $b = User::where('id',1)->update([ diff --git a/app/Http/Controllers/Admin/ManageBlogsController.php b/app/Http/Controllers/Admin/ManageBlogsController.php index cf2b4a7..8776982 100644 --- a/app/Http/Controllers/Admin/ManageBlogsController.php +++ b/app/Http/Controllers/Admin/ManageBlogsController.php @@ -22,6 +22,10 @@ class ManageBlogsController extends Controller public function index() { + $check = checkSidebarAccess('manage-blogs'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_cms.manage_blog.manage_blog', [ 'blogs' => $this->blog->getAllBlogs() ]); @@ -51,7 +55,7 @@ class ManageBlogsController extends Controller public function edit_blog($id) { return view('Admin.Pages.manage_cms.manage_blog.edit_blog', [ - 'blog' => $this->blog->getBlog($id), + 'blog' => $this->blog->getBlog($id), 'tags' => $this->blog->getAllTags() ]); } @@ -63,7 +67,7 @@ class ManageBlogsController extends Controller $this->response('Blog Updated Successfully!', 200) : $this->response('Blog Updation Error!', 400); } - + public function delete_blog($id) { $checkBlogExists = $this->blog->getBlog($id); diff --git a/app/Http/Controllers/Admin/ManageCommissionController.php b/app/Http/Controllers/Admin/ManageCommissionController.php index 5acdb9e..e004f18 100644 --- a/app/Http/Controllers/Admin/ManageCommissionController.php +++ b/app/Http/Controllers/Admin/ManageCommissionController.php @@ -33,6 +33,10 @@ class ManageCommissionController extends Controller public function index() { + $check = checkSidebarAccess('product-commission'); + if (!$check) { + abort(404); + } $products = Product::query() ->select(DB::raw('products.id, coalesce(sdi.product_name, p2p.scheme, fre.property_name_and_location,id.company_name,aif.fund_name,caga.project_name,hyf.security_name,lbf.company,sdi.product_name,vd.company_name) as product_name'), DB::raw('DATE_FORMAT(products.created_at, "%d-%b-%Y") as date'), 'categories.category_name', DB::raw('coalesce(sdi.minimum_investment, p2p.minimum_investment, fre.minimum_investment,id.minimum_investment,aif.minimum_investment,caga.minimum_investment,hyf.minimum_investment,lbf.minimum_investment,sdi.minimum_investment,vd.minimum_investment) as minimum_investment'), 'products.commission_type', 'products.rate', 'products.commission', 'products.description', DB::raw('coalesce(fre.companies_id,aif.companies_id,caga.companies_id,vd.companies_id) as companies_id'), 'upfront_rate', 'trail_rate') ->leftJoin('securitized_debt_instruments as sdi', 'products.id', 'sdi.products_id') @@ -150,6 +154,10 @@ class ManageCommissionController extends Controller public function userCommission() { + $check = checkSidebarAccess('user-commission'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_commission.user_commission'); } @@ -254,6 +262,11 @@ class ManageCommissionController extends Controller public function trailCommission() { + $check = checkSidebarAccess('trail-commission'); + if(!$check) + { + abort(404); + } return view('Admin.Pages.manage_commission.trail_commission', [ 'trailCommission' => $this->commission->getTrailCommissions() ]); diff --git a/app/Http/Controllers/Admin/ManageFaqController.php b/app/Http/Controllers/Admin/ManageFaqController.php index 6669736..eaed5c8 100644 --- a/app/Http/Controllers/Admin/ManageFaqController.php +++ b/app/Http/Controllers/Admin/ManageFaqController.php @@ -17,6 +17,10 @@ class ManageFaqController extends Controller // manage faq page public function index() { + $check = checkSidebarAccess('manage-faq'); + if (!$check) { + abort(404); + } $faq_data = FAQ::with('tag')->get(); return view('Admin.Pages.manage_cms.manage_faq.manage_faq', ['faq_data' => $faq_data]); } @@ -216,9 +220,9 @@ class ManageFaqController extends Controller { $tags = Tag::query() ->join('faq', 'tags.id', 'faq.tag_id') - ->where('is_active',true) + ->where('is_active', true) ->select('tags.id', 'tag_name') - ->distinct('id','tag_name') + ->distinct('id', 'tag_name') ->get(); if ($tags) { return response()->json([ @@ -249,7 +253,7 @@ class ManageFaqController extends Controller if ($faqs) { return response()->json([ "status" => "success", - 'tag' => $tag_id ? Tag::where('id',$tag_id)->value('tag_name') : 'No Tag', + 'tag' => $tag_id ? Tag::where('id', $tag_id)->value('tag_name') : 'No Tag', "data" => $faqs, ]); } else { diff --git a/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php b/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php index 2082f99..2d43a96 100644 --- a/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php +++ b/app/Http/Controllers/Admin/ManageFreeUInvestmentController.php @@ -43,6 +43,10 @@ class ManageFreeUInvestmentController extends Controller { public function index() { + $check = checkSidebarAccess('manage-product'); + if (!$check) { + abort(404); + } $products = Product::query() ->select(DB::raw('products.id, coalesce(sdi.product_name,re.property_name,funds.fund_name , p2p.scheme, fre.property_name_and_location,id.company_name,aif.fund_name,caga.project_name,hyf.security_name,lbf.company,sdi.product_name,vd.company_name) as product_name'), DB::raw('DATE_FORMAT(products.created_at, "%d-%b-%Y") as date'), 'categories.category_name', DB::raw('coalesce(sdi.minimum_investment, p2p.minimum_investment, fre.minimum_investment,id.minimum_investment,aif.minimum_investment,caga.minimum_investment,hyf.minimum_investment,lbf.minimum_investment,sdi.minimum_investment,vd.minimum_investment,re.total_price,funds.minimum_investment) as minimum_investment'), 'products.commission_type', 'products.rate', 'products.commission', 'products.description', 'products.top_pick', 'products.tables_id', 'products.status') ->leftJoin('securitized_debt_instruments as sdi', 'products.id', 'sdi.products_id') diff --git a/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCategoriesController.php b/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCategoriesController.php index 38dc47d..4c714e5 100644 --- a/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCategoriesController.php +++ b/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCategoriesController.php @@ -13,6 +13,10 @@ class ManageCategoriesController extends Controller { public function index() { + $check = checkSidebarAccess('manage-investment-categories'); + if (!$check) { + abort(404); + } // $categories = Category::all(); // return view('Admin.manage-freeu-investments.categories', compact('categories')); return view('Admin.manage-freeu-investments.categories'); @@ -112,21 +116,21 @@ class ManageCategoriesController extends Controller { if ($request->ajax()) { $data = Category::select('*'); - + // Check if dropdownValue is not null and not 'orderby' if ($request->dropdownValue != null && $request->dropdownValue != 'orderby') { $where = $request->dropdownValue; $data->where('status', $where); } - + // Check if dropdownValue is 'orderby' if ($request->dropdownValue == 'orderby') { $data->orderBy('id', 'desc'); } - + // Fetch categories as active first, then deactivated $data->orderByRaw('CASE WHEN status = 1 THEN 0 ELSE 1 END'); - + return Datatables::of($data) ->addIndexColumn() ->editColumn('created_at', function ($row) { @@ -138,7 +142,7 @@ class ManageCategoriesController extends Controller }) ->addColumn('action', function ($row) { $status = $row->status == 1 ? 'checked' : 'null'; - + $btn = '
@@ -157,7 +161,7 @@ class ManageCategoriesController extends Controller ->rawColumns(['category_name', 'created_at', 'action']) ->make(true); } - + return view('Admin.manage-freeu-investments.categories'); } diff --git a/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCompaniesController.php b/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCompaniesController.php index 0a47e7c..c249bb3 100644 --- a/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCompaniesController.php +++ b/app/Http/Controllers/Admin/ManageFreeUInvestments/ManageCompaniesController.php @@ -25,6 +25,10 @@ class ManageCompaniesController extends Controller public function index() { + $check = checkSidebarAccess('manage-manufacture-company'); + if (!$check) { + abort(404); + } return view('Admin.manage-freeu-investments.companies', [ 'categories' => $this->company->getCategories() ]); @@ -35,7 +39,7 @@ class ManageCompaniesController extends Controller $validator = Validator::make($request->all(), [ 'company_name' => 'required|unique:companies,company_name', 'company_logo' => 'required', - ],[ + ], [ 'required' => 'The :attribute field must be required', 'unique' => 'The :attribute field must be unique' ]); @@ -83,12 +87,12 @@ class ManageCompaniesController extends Controller $id = $request->company_id; $validator = Validator::make($request->all(), [ 'company_name' => 'required|unique:companies,company_name,' . $id . '', - ],[ + ], [ 'required' => 'The :attribute field must be required', 'unique' => 'The :attribute field must be unique' ]); $validationMessage = $this->validationError($validator); - if ($validationMessage) { + if ($validationMessage) { return response()->json(['status' => 400, 'message' => $validationMessage]); } $company = Company::find($id); @@ -115,14 +119,15 @@ class ManageCompaniesController extends Controller return response()->json(['status' => 200, 'message' => 'Company Updated!']); } - public function deleteCompany(Request $request){ + public function deleteCompany(Request $request) + { $id = $request->company_id; // dd($id); $company = Company::find($id); - if(!$company){ + if (!$company) { return response()->json(['status' => 400, 'message' => 'Error Deleting Company!!']); } - Company::where('id',$id)->delete(); + Company::where('id', $id)->delete(); return response()->json(['status' => 200, 'message' => 'Company Deleted!!']); } @@ -138,19 +143,21 @@ class ManageCompaniesController extends Controller } } - public function exportCompanies(Request $request){ + public function exportCompanies(Request $request) + { $query = $request->post(); // $a = Excel::download(new CompanyExport, 'Company List.xlsx'); // Excel::import(new AlternativeInvestmentFundImport($category_type), $request->file('productFile')) return Excel::download(new CompanyExport($query), 'Company List.xlsx'); } - public function getExcelfile(){ + public function getExcelfile() + { $users = Company::all(); // $total = Company::count(); $total = 100; - Excel::download('excelfile', function($excel) use ($users, $total) { - $excel->sheet('Excel', function($sheet) use ($users, $total) { + Excel::download('excelfile', function ($excel) use ($users, $total) { + $excel->sheet('Excel', function ($sheet) use ($users, $total) { $sheet->loadView('report.excel')->with("users", $users)->with("total", $total); }); })->export('xls'); @@ -160,4 +167,4 @@ class ManageCompaniesController extends Controller { return $this->company->datatable($request); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Admin/ManageInvestorController.php b/app/Http/Controllers/Admin/ManageInvestorController.php index 343db7b..1855bc9 100644 --- a/app/Http/Controllers/Admin/ManageInvestorController.php +++ b/app/Http/Controllers/Admin/ManageInvestorController.php @@ -21,6 +21,10 @@ class ManageInvestorController extends Controller { public function index() { + $check = checkSidebarAccess('manage-investors'); + if (!$check) { + abort(404); + } $users = User::with('activeInvestments')->users()->latest()->get(); $investingUserCount = MonthlyUpdateMaster::distinct('users_id')->count('users_id'); return view('Admin.Pages.manage_investors.manage_investors', compact('users', 'investingUserCount')); @@ -28,6 +32,10 @@ class ManageInvestorController extends Controller public function manage_investor_kyc() { + $check = checkSidebarAccess('manage-investors-kyc'); + if (!$check) { + abort(404); + } $users = UserKyc::with('user')->get(); return view('Admin.Pages.manage_investors.manage_investor_kyc', compact('users')); } diff --git a/app/Http/Controllers/Admin/ManageLeadController.php b/app/Http/Controllers/Admin/ManageLeadController.php index f381fec..d9a5a25 100644 --- a/app/Http/Controllers/Admin/ManageLeadController.php +++ b/app/Http/Controllers/Admin/ManageLeadController.php @@ -27,6 +27,10 @@ class ManageLeadController extends Controller public function index() { + $check = checkSidebarAccess('manage-leads'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_leads.manage_leads', [ 'leads' => $this->lead->getAllLeads(), 'leadCount' => $this->lead->totalLead(), @@ -176,4 +180,4 @@ class ManageLeadController extends Controller $this->response('Converted To Closed Activity Succesfully!', 200) : $this->response('Error Converting it to Closed Activity!', 400); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Admin/ManagePartnerPlatformController.php b/app/Http/Controllers/Admin/ManagePartnerPlatformController.php index e2df865..3f32944 100644 --- a/app/Http/Controllers/Admin/ManagePartnerPlatformController.php +++ b/app/Http/Controllers/Admin/ManagePartnerPlatformController.php @@ -15,6 +15,11 @@ class ManagePartnerPlatformController extends Controller { public function index() { + $check = checkSidebarAccess('manage-partner-platform'); + if(!$check) + { + abort(404); + } // $data = UserPartner::all() $data = UserPartner::join('users', 'user_partner.users_id', '=', 'users.id') ->join('companies', 'user_partner.company_id', '=', 'companies.id') diff --git a/app/Http/Controllers/Admin/ManageSellerProfileController.php b/app/Http/Controllers/Admin/ManageSellerProfileController.php index f62cf9f..e3c7d53 100644 --- a/app/Http/Controllers/Admin/ManageSellerProfileController.php +++ b/app/Http/Controllers/Admin/ManageSellerProfileController.php @@ -14,6 +14,11 @@ class ManageSellerProfileController extends Controller { public function index() { + $check = checkSidebarAccess('manage-seller-profile'); + if(!$check) + { + abort(404); + } $sellerProfile = MarketplaceSellerForm::query() ->with('users') ->withCount(['aif', 'fre', 'op']) diff --git a/app/Http/Controllers/Admin/ManageSubAdminController.php b/app/Http/Controllers/Admin/ManageSubAdminController.php index a1e2b50..7ad01b5 100644 --- a/app/Http/Controllers/Admin/ManageSubAdminController.php +++ b/app/Http/Controllers/Admin/ManageSubAdminController.php @@ -7,6 +7,10 @@ use App\Traits\HttpResponse; use App\Http\Controllers\Controller; use App\Services\Admin\ManageSubAdminService; use App\Models\User; +use App\Models\Iam_App_Resource_Action_Link; +use App\Models\Iam_App_Resources; +use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Hash; class ManageSubAdminController extends Controller { @@ -21,7 +25,11 @@ class ManageSubAdminController extends Controller public function index() { - return view('Admin.Pages.manage_sub_admin.manage_sub_admin',[ + $check = checkSidebarAccess('user-list'); + if (!$check) { + abort(404); + } + return view('Admin.Pages.manage_sub_admin.manage_sub_admin', [ 'users' => $this->admin->getAllAdmin() ]); } @@ -35,37 +43,45 @@ class ManageSubAdminController extends Controller // { // return view('Admin.Pages.manage_sub_admin.view_role'); // } - - public function status(Request $request) + + public function status(Request $request) { $statusChanged = $this->admin->changeStatus($request); return $statusChanged ? $this->response('Status Changed!', 200) : $this->response('Error Changing Status!', 400); } - + public function listSubAdmin() { - $subAdmin = User::where(['role'=>1, 'status'=>1])->whereNotIn('id',[auth()->user()->id])->get(); + $check = checkSidebarAccess('sub-admin'); + if (!$check) { + abort(404); + } + $subAdmin = User::where(['role' => 2, 'status' => 1])->whereNotIn('id', [auth()->user()->id])->latest()->get(); + // $subAdmin = User::where('status', 1)->whereIn('role', ['1', '2'])->whereNotIn('id', [auth()->user()->id])->latest()->get(); // dd($subAdmin); - return view('Admin.sub_admin_list',['subAdmin'=>$subAdmin]); + return view('Admin.sub_admin_list', ['subAdmin' => $subAdmin]); } - + public function addSubAdmin(Request $request) { - dd($request->all()); + // dd($request->all()); $validator = Validator::make($request->post(), [ 'name' => 'required', // 'address' => 'required', - // 'contact_number' => 'required|unique:users,contact_number', - // 'pan_no' => 'required|unique:users,pan_no', + 'mobile_number' => 'required|unique:users,contact_number', + 'password' => 'required', 'email' => 'required|unique:users,email', - ], ['email.unique' => 'Email is not unique', 'name.required' => 'Name is required']); - $validationMessage = $this->validationError($validator); + ], [ + 'unique' => ':attribute should be unique', + 'required' => ':attribute is required' + ]); + $validationMessage = validationErrorMessage($validator); if ($validationMessage) { return response()->json(['status' => 400, 'message' => $validationMessage]); } - $principalType = Iam_Principal_Type::find($request->role_type); + // $principalType = Iam_Principal_Type::find($request->role_type); // defining user type if ($request->role_type == 1) { @@ -75,20 +91,26 @@ class ManageSubAdminController extends Controller } else { $roleType = 0; } - + // dd(Hash::make($request->password)); $addUser = User::insertGetId([ - 'principal_type_xid' => $principalType->id, + // 'principal_type_xid' => $principalType->id, 'name' => $request->name, 'email' => $request->email, 'contact_number' => $request->mobile_number, + 'password' => Hash::make($request->password), 'role' => $roleType, ]); - + // $addUser = null; + if ($addUser == null) { + return response()->json(['status' => 400, 'message' => 'Something error!']); + } + // dd('hello'); foreach ($request->all() as $key => $value) { - if ($key == '_token' || $key == 'name' || $key == 'email' || $key == 'mobile_number' || $key == 'role_type') { + if ($key == '_token' || $key == 'name' || $key == 'email' || $key == 'mobile_number' || $key == 'role_type' || $key == 'password') { continue; } else { - $appResource = Iam_App_Resources::find($value); + // dd($value ); + $appResource = Iam_App_Resources::find((int)$value); $addAppResourceActionLink = Iam_App_Resource_Action_Link::create([ 'user_xid' => $addUser, 'app_resource_xid' => $appResource->id, @@ -97,26 +119,27 @@ class ManageSubAdminController extends Controller } return response()->json(['status' => 200, 'message' => 'User Added!']); } - - + + public function viewSubAdmin(Request $request) { - dd($request->all()); - $id = $request->id(); + // dd((int)$request->id); + $id = (int)$request->id; $user = User::find($id); $accessPage = Iam_App_Resource_Action_Link::where('user_xid', $id)->pluck('app_resource_xid'); - return view('Admin.edit-sub-admin',['user'=>$user, 'accessPage'=>$accessPage, 'id'=>$id]); + // dd($accessPage); + return view('Admin.view-sub-admin', ['user' => $user, 'accessPage' => $accessPage, 'id' => $id]); } public function updateSubAdmin(Request $request) { // dd($request->all()); // dd($request->ip()); - $id = $request->id; + $id = (int)$request->id; // dd($id); $validator = Validator::make($request->all(), [ 'name' => 'required', // 'address' => 'required', - // 'contact_number' => 'required|unique:users,contact_number,' . $id . '', + 'mobile_number' => 'required|unique:users,contact_number,' . $id . '', // 'pan_no' => 'required|unique:users,pan_no,' . $id . '', 'email' => 'required|unique:users,email,' . $id . '', ], [ @@ -124,7 +147,7 @@ class ManageSubAdminController extends Controller 'name.required' => 'Name is required', 'email.required' => 'Email is required' ]); - $validationMessage = $this->validationError($validator); + $validationMessage = validationErrorMessage($validator); if ($validationMessage) { return response()->json(['status' => 400, 'message' => $validationMessage]); } @@ -168,7 +191,7 @@ class ManageSubAdminController extends Controller // dd($request->post()); $checkAccess = Iam_App_Resource_Action_Link::where(['user_xid' => $id, 'app_resource_xid' => $value])->doesntExist(); if ($checkAccess) { - $appResource = Iam_App_Resources::find($value); + $appResource = Iam_App_Resources::find((int)$value); $addAppResourceActionLink = Iam_App_Resource_Action_Link::create([ 'user_xid' => $id, 'app_resource_xid' => $appResource->id, @@ -178,4 +201,12 @@ class ManageSubAdminController extends Controller } return response()->json(['status' => 200, 'message' => 'User Updated!']); } + + public function editSubAdmin(Request $request) + { + $id = (int)$request->id; + $user = User::find($id); + $accessPage = Iam_App_Resource_Action_Link::where('user_xid', $id)->pluck('app_resource_xid'); + return view('Admin.edit-sub-admin', ['user' => $user, 'accessPage' => $accessPage, 'id' => $id]); + } } diff --git a/app/Http/Controllers/Admin/ManageTagsController.php b/app/Http/Controllers/Admin/ManageTagsController.php index 96c0802..d344275 100644 --- a/app/Http/Controllers/Admin/ManageTagsController.php +++ b/app/Http/Controllers/Admin/ManageTagsController.php @@ -21,6 +21,10 @@ class ManageTagsController extends Controller public function index() { + $check = checkSidebarAccess('manage-tags'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_cms.manage_tag.manage_tag', [ 'tags' => $this->tag->getTags() ]); @@ -68,4 +72,4 @@ class ManageTagsController extends Controller $this->response('Tag Deleted Successfully!', 200) : $this->response('Tag Cannot Be Deleted!', 400); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Admin/ManageTestimonialController.php b/app/Http/Controllers/Admin/ManageTestimonialController.php index 9827f36..3a35f69 100644 --- a/app/Http/Controllers/Admin/ManageTestimonialController.php +++ b/app/Http/Controllers/Admin/ManageTestimonialController.php @@ -24,7 +24,11 @@ class ManageTestimonialController extends Controller public function index() { - return view('Admin.Pages.manage_cms.manage_testimonials.manage_testimonial',[ + $check = checkSidebarAccess('manage-testimonials'); + if (!$check) { + abort(404); + } + return view('Admin.Pages.manage_cms.manage_testimonials.manage_testimonial', [ 'data' => $this->testimonial->getTestimonials() ]); } @@ -44,7 +48,7 @@ class ManageTestimonialController extends Controller public function edit_testimonial($id) { - return view('Admin.Pages.manage_cms.manage_testimonials.edit_testimonial',[ + return view('Admin.Pages.manage_cms.manage_testimonials.edit_testimonial', [ 'testimonial_data' => $this->testimonial->show($id), ]); } @@ -83,4 +87,4 @@ class ManageTestimonialController extends Controller $hu = new TestimonialResourceCollection($data); return $hu->all(); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Admin/ManageUserProductController.php b/app/Http/Controllers/Admin/ManageUserProductController.php index 5599493..f21a00c 100644 --- a/app/Http/Controllers/Admin/ManageUserProductController.php +++ b/app/Http/Controllers/Admin/ManageUserProductController.php @@ -29,6 +29,11 @@ class ManageUserProductController extends Controller { public function index() { + $check = checkSidebarAccess('manage-user-product'); + if(!$check) + { + abort(404); + } $userProduct = MonthlyUpdateMaster::with('investor', 'products')->latest()->get(); // dd($userProduct[0]); return view('Admin.Pages.manage_investors.manage_user_product.manage_user', compact('userProduct')); diff --git a/app/Http/Controllers/Admin/OverviewController.php b/app/Http/Controllers/Admin/OverviewController.php index 102dda3..4be3252 100644 --- a/app/Http/Controllers/Admin/OverviewController.php +++ b/app/Http/Controllers/Admin/OverviewController.php @@ -21,6 +21,10 @@ class OverviewController extends Controller { public function index() { + $check = checkSidebarAccess('overview'); + if (!$check) { + abort(404); + } $totalSellerProfile = MarketplaceSellerForm::count(); $completedTransactions = MarketplaceBuyerForm::where('status', 'Sold')->count(); $totalInvestmentListed = MarketplaceAlternativeInvestmentFundSeller::count() + MarketplaceFractionalRealEstateSeller::count() + MarketplaceOtherProductsSeller::count(); @@ -100,6 +104,10 @@ class OverviewController extends Controller public function listingTransfer() { + $check = checkSidebarAccess('investment-listing-transfer'); + if (!$check) { + abort(404); + } // $freMarketPlace = MarketplaceFractionalRealEstateSeller::with('seller')->orderBy('created_at', 'desc')->get(); // $aifMarketPlace = MarketplaceAlternativeInvestmentFundSeller::with('seller')->orderBy('created_at', 'desc')->get(); // $opMarketPlace = MarketplaceOtherProductsSeller::with('seller')->orderBy('created_at', 'desc')->get(); @@ -110,7 +118,7 @@ class OverviewController extends Controller $freMarketPlace = MarketplaceFractionalRealEstateSeller::with('seller')->orderBy('created_at', 'desc')->get(); $aifMarketPlace = MarketplaceAlternativeInvestmentFundSeller::with('seller')->orderBy('created_at', 'desc')->get(); $opMarketPlace = MarketplaceOtherProductsSeller::with('seller')->orderBy('created_at', 'desc')->get(); - + $combinedData = collect(); foreach ($freMarketPlace as $freData) { $freData->table = 'marketplace_fre_sellers'; @@ -124,14 +132,16 @@ class OverviewController extends Controller $opData->table = 'marketplace_op_sellers'; $combinedData->push($opData); } - + $combinedData = $combinedData->sortByDesc('created_at'); - + //new end // dd($combinedData); - - return view('Admin.Pages.pre_owned_investment.pre_owned_investmentV2', - compact('freMarketPlace', 'aifMarketPlace', 'opMarketPlace','combinedData')); + + return view( + 'Admin.Pages.pre_owned_investment.pre_owned_investmentV2', + compact('freMarketPlace', 'aifMarketPlace', 'opMarketPlace', 'combinedData') + ); } public function listingDetails($id, $table) @@ -191,6 +201,10 @@ class OverviewController extends Controller public function transactions() { + $check = checkSidebarAccess('completed-transaction'); + if (!$check) { + abort(404); + } $aifBuyerForm = MarketplaceAlternativeInvestmentFundSeller::with('seller', 'company')->join('marketplace_buyer_forms', 'marketplace_aif_sellers.id', 'marketplace_buyer_forms.associated_id') ->latest('marketplace_aif_sellers.created_at')->get(); $freBuyerForm = MarketplaceFractionalRealEstateSeller::with('seller', 'company')->join('marketplace_buyer_forms', 'marketplace_fre_sellers.id', 'marketplace_buyer_forms.associated_id')->latest('marketplace_fre_sellers.created_at')->get(); diff --git a/app/Http/Controllers/PrivacypolicyController.php b/app/Http/Controllers/PrivacypolicyController.php index 016c2ae..5d302ec 100644 --- a/app/Http/Controllers/PrivacypolicyController.php +++ b/app/Http/Controllers/PrivacypolicyController.php @@ -23,6 +23,10 @@ class PrivacypolicyController extends Controller public function privacyData() { + $check = checkSidebarAccess('privacy-policy'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_cms.manage_Privacy_policy.privacy', [ 'data' => $this->content->privacyPolicy() ]); @@ -58,6 +62,10 @@ class PrivacypolicyController extends Controller public function termsData() { + $check = checkSidebarAccess('terms-and-conditions'); + if (!$check) { + abort(404); + } return view('Admin.Pages.manage_cms.manage_Privacy_policy.privacy', [ 'data' => $this->content->termsCondition() ]); @@ -87,4 +95,4 @@ class PrivacypolicyController extends Controller return response()->json(['message' => $e->getMessage()], 400); } } -} \ No newline at end of file +} diff --git a/app/Http/Middleware/BackendAccess.php b/app/Http/Middleware/BackendAccess.php index 601499b..c5cac25 100644 --- a/app/Http/Middleware/BackendAccess.php +++ b/app/Http/Middleware/BackendAccess.php @@ -1,6 +1,7 @@ check()){ + { + if (!auth()->check()) { return redirect()->route('admin.login'); } - $activeUser = User::where(["id" => auth()->user()->id, 'status' => true, 'role' => true])->exists(); - if(!$activeUser){ + $activeUser = User::where(["id" => auth()->user()->id, 'status' => true])->whereIn('role', [1, 2])->exists(); + if (!$activeUser) { abort(401); } - + return $next($request); } } diff --git a/app/Models/Iam_App_Resource_Action_Link.php b/app/Models/Iam_App_Resource_Action_Link.php new file mode 100644 index 0000000..63b2644 --- /dev/null +++ b/app/Models/Iam_App_Resource_Action_Link.php @@ -0,0 +1,15 @@ +hasMany(PrincipalRoleLink::class); } - - public function checkRoleWithPermission($resource, $permission) + public function getAppResourcesActionLink() { - return true; - $checkRole = User::with('manyRoles.roles')->where('id', \Auth::user()->id)->get(); - $totalRolesAssigned = array(); - foreach ($checkRole as $data) { - foreach ($data->manyRoles as $role) { - array_push($totalRolesAssigned, $role->roles->slug); - } + return $this->hasMany(Iam_App_Resource_Action_Link::class, 'user_xid', 'id'); + } + + public function checkRoleWithPermission($resource, $permission = null) + { + // dd(\Auth::user()->id); + $user = User::with('getAppResourcesActionLink')->where('id', \Auth::user()->id)->first(); + $sidebarSlugs = array(); + foreach ($user->getAppResourcesActionLink as $userResource) { + $resourceSlug = Iam_App_Resources::find($userResource->app_resource_xid); + array_push($sidebarSlugs, $resourceSlug->slug); } - if (in_array('super-admin', $totalRolesAssigned)) { + if (in_array($resource, $sidebarSlugs) || $user->role == 1) { return true; + } else { + return false; } - foreach ($totalRolesAssigned as $slug) { - $roleData = Role::where('slug', $slug)->first(); - if ($roleData) { - $appResource = AppResource::where('slug', $resource)->first(); - $permission = Permission::where('slug', $permission)->first(); - if ($appResource && $permission) { - $appResourceAction = AppResourceAction::where('app_resource_xid', $appResource->id)->where('app_action_xid', $permission->id)->first(); - if ($appResourceAction) { - $isRoleLinkWithResource = RoleAppResouceActionLink::where('app_resource_action_xid', $appResourceAction->id)->where('role_xid', $roleData->id)->exists(); - if ($isRoleLinkWithResource) { - return true; - } - } - } - } - } - return false; + // return true; + // $checkRole = User::with('manyRoles.roles')->where('id', \Auth::user()->id)->get(); + // $totalRolesAssigned = array(); + // foreach ($checkRole as $data) { + // foreach ($data->manyRoles as $role) { + // array_push($totalRolesAssigned, $role->roles->slug); + // } + // } + // if (in_array('super-admin', $totalRolesAssigned)) { + // return true; + // } + // foreach ($totalRolesAssigned as $slug) { + // $roleData = Role::where('slug', $slug)->first(); + // if ($roleData) { + // $appResource = AppResource::where('slug', $resource)->first(); + // $permission = Permission::where('slug', $permission)->first(); + // if ($appResource && $permission) { + // $appResourceAction = AppResourceAction::where('app_resource_xid', $appResource->id)->where('app_action_xid', $permission->id)->first(); + // if ($appResourceAction) { + // $isRoleLinkWithResource = RoleAppResouceActionLink::where('app_resource_action_xid', $appResourceAction->id)->where('role_xid', $roleData->id)->exists(); + // if ($isRoleLinkWithResource) { + // return true; + // } + // } + // } + // } + // } + // return false; } public function scopeAdmins(Builder $query): void @@ -134,15 +150,18 @@ class User extends Authenticatable implements MustVerifyEmail return imagePath('public/uploads/profile/img/') . $value; } - public function activeInvestments(){ - return $this->hasMany(MonthlyUpdateMaster::class,'users_id')->where('holding_status', 'Holding'); + public function activeInvestments() + { + return $this->hasMany(MonthlyUpdateMaster::class, 'users_id')->where('holding_status', 'Holding'); } - public function investments(){ - return $this->hasMany(MonthlyUpdateMaster::class,'users_id'); + public function investments() + { + return $this->hasMany(MonthlyUpdateMaster::class, 'users_id'); } - public function total(){ - return $this->hasMany(Chat::class,'user_id')->where(['by' => 'User','read_at' => null]); + public function total() + { + return $this->hasMany(Chat::class, 'user_id')->where(['by' => 'User', 'read_at' => null]); } } diff --git a/app/helper.php b/app/helper.php index aff2afd..8137569 100644 --- a/app/helper.php +++ b/app/helper.php @@ -19,6 +19,7 @@ use App\Models\MonthlyUpdateIndianFinancialAssets; use App\Models\MonthlyUpdateAlternativeInvestmentFund; use App\Models\MarketplaceFractionalRealEstateSeller; use App\Models\MarketplaceAlternativeInvestmentFundSeller; +use App\Models\Iam_App_Resources; // validation error message if (!function_exists('validationErrorMessage')) { @@ -291,7 +292,22 @@ function generateCommissionCount() function riskDisclosureData() { - return Content::where('type', 'terms-and-condition')->first()->value('content'); + return Content::where('type', 'terms-and-condition')->value('content'); +} + +function checkSidebarAccess($resource) +{ + $user = User::with('getAppResourcesActionLink')->where('id', \Auth::user()->id)->first(); + $sidebarSlugs = array(); + foreach ($user->getAppResourcesActionLink as $userResource) { + $resourceSlug = Iam_App_Resources::find($userResource->app_resource_xid); + array_push($sidebarSlugs, $resourceSlug->slug); + } + if (in_array($resource, $sidebarSlugs) || $user->role == 1) { + return true; + } else { + return false; + } } function IND_money_format($number) diff --git a/resources/views/Admin/add-sub-admin.blade.php b/resources/views/Admin/add-sub-admin.blade.php index 890d6d8..e1a463e 100644 --- a/resources/views/Admin/add-sub-admin.blade.php +++ b/resources/views/Admin/add-sub-admin.blade.php @@ -52,7 +52,7 @@ + placeholder="Please enter name" />
@@ -62,7 +62,7 @@ + placeholder="Please enter email" />
@@ -72,7 +72,17 @@ + placeholder="Please enter mobile number" /> + +
+
+ + + + +
@@ -167,7 +177,8 @@
General Dashboard +
General + Dashboard
@@ -187,7 +198,8 @@
Personal Dashboard +
Personal + Dashboard
@@ -249,7 +261,8 @@
Product Commission +
Product + Commission
@@ -269,7 +282,8 @@
- +
@@ -538,10 +551,9 @@
@@ -1024,45 +1036,42 @@ return $(id).prop('checked', false); } } - + // check and uncheck checkbox if parent checkbox is checked or not ---> (start from here) // dashboard $('#dashboard').click(function() { - if($('#dashboard').prop('checked') == true) - { - checkCheckbox('#general_dashboard'); - checkCheckbox('#personal_dashboard'); - }else{ + if ($('#dashboard').prop('checked') == true) { + checkCheckbox('#general_dashboard'); + checkCheckbox('#personal_dashboard'); + } else { unCheckCheckbox('#general_dashboard'); unCheckCheckbox('#personal_dashboard'); } checkSubAdmin(); }); - + // manage commission $('#manageCommission').click(function() { - if($('#manageCommission').prop('checked') == true) - { - checkCheckbox('#product_commission'); - checkCheckbox('#user_commission'); - checkCheckbox('#trail_commission'); - }else{ + if ($('#manageCommission').prop('checked') == true) { + checkCheckbox('#product_commission'); + checkCheckbox('#user_commission'); + checkCheckbox('#trail_commission'); + } else { unCheckCheckbox('#product_commission'); unCheckCheckbox('#user_commission'); unCheckCheckbox('#trail_commission'); } checkSubAdmin(); }); - + // investor (Users) $('#investor').click(function() { - if($('#investor').prop('checked') == true) - { - checkCheckbox('#manage_investor'); + if ($('#investor').prop('checked') == true) { + checkCheckbox('#manage_investor'); checkCheckbox('#manage_investor_kyc'); checkCheckbox('#manage_partner_platform'); checkCheckbox('#manage_user_product'); - }else{ + } else { unCheckCheckbox('#manage_investor'); unCheckCheckbox('#manage_investor_kyc'); unCheckCheckbox('#manage_partner_platform'); @@ -1070,31 +1079,29 @@ } checkSubAdmin(); }); - + // primary market $('#primaryMarket').click(function() { - if($('#primaryMarket').prop('checked') == true) - { - checkCheckbox('#manage_product'); - checkCheckbox('#manage_manufacture_company'); - checkCheckbox('#manage_categories'); - }else{ + if ($('#primaryMarket').prop('checked') == true) { + checkCheckbox('#manage_product'); + checkCheckbox('#manage_manufacture_company'); + checkCheckbox('#manage_categories'); + } else { unCheckCheckbox('#manage_product'); unCheckCheckbox('#manage_manufacture_company'); unCheckCheckbox('#manage_categories'); } checkSubAdmin(); }); - + // secondary market $('#secondary_market').click(function() { - if($('#secondary_market').prop('checked') == true) - { - checkCheckbox('#overview'); - checkCheckbox('#investment_listing_transfer'); - checkCheckbox('#completed_transactions'); - checkCheckbox('#manage_seller_profile'); - }else{ + if ($('#secondary_market').prop('checked') == true) { + checkCheckbox('#overview'); + checkCheckbox('#investment_listing_transfer'); + checkCheckbox('#completed_transactions'); + checkCheckbox('#manage_seller_profile'); + } else { unCheckCheckbox('#overview'); unCheckCheckbox('#investment_listing_transfer'); unCheckCheckbox('#completed_transactions'); @@ -1102,18 +1109,17 @@ } checkSubAdmin(); }); - + // manage cms $('#cms_panel').click(function() { - if($('#cms_panel').prop('checked') == true) - { - checkCheckbox('#manage_tags'); - checkCheckbox('#manage_blogs'); - checkCheckbox('#manage_faq'); + if ($('#cms_panel').prop('checked') == true) { + checkCheckbox('#manage_tags'); + checkCheckbox('#manage_blogs'); + checkCheckbox('#manage_faq'); checkCheckbox('#manage_testimonial'); checkCheckbox('#privacy_policy'); checkCheckbox('#terms_and_conditions'); - }else{ + } else { unCheckCheckbox('#manage_tags'); unCheckCheckbox('#manage_blogs'); unCheckCheckbox('#manage_faq'); @@ -1123,46 +1129,49 @@ } checkSubAdmin(); }); - + // manage sub admin $('#manage_sub_admin').click(function() { - if($('#manage_sub_admin').prop('checked') == true) - { - checkCheckbox('#sub_admin'); - checkCheckbox('#user_list'); + if ($('#manage_sub_admin').prop('checked') == true) { + checkCheckbox('#sub_admin'); + checkCheckbox('#user_list'); checkCheckbox('#update_user_password'); - }else{ + } else { unCheckCheckbox('#sub_admin'); unCheckCheckbox('#user_list'); unCheckCheckbox('#update_user_password'); } checkSubAdmin(); }); - + // check and uncheck checkbox if parent checkbox is checked or not ---> (end here) - + // start // check admin checkbox if all checkbox is checked and check sub-admin checkbox if any of listed checkbox is unchecked - function checkSubAdmin() - { + function checkSubAdmin() { if ($('#dashboard').prop('checked') == false || $('#general_dashboard').prop('checked') == false || $( '#personal_dashboard').prop('checked') == false || $('#manageCommission').prop('checked') == false || $('#product_commission').prop('checked') == false || $('#user_commission').prop('checked') == false || $('#trail_commission').prop('checked') == false || $('#investor').prop('checked') == false || $('#manage_investor').prop( 'checked') == false || - $('#manage_investor_kyc').prop('checked') == false || $('#manage_partner_platform').prop('checked') == false || $( + $('#manage_investor_kyc').prop('checked') == false || $('#manage_partner_platform').prop('checked') == + false || $( '#manage_user_product').prop('checked') == false || $('#primaryMarket').prop('checked') == false || $('#manage_product').prop('checked') == false || - $('#manage_manufacture_company').prop('checked') == false || $('#manage_categories').prop('checked') == false || $( + $('#manage_manufacture_company').prop('checked') == false || $('#manage_categories').prop('checked') == + false || $( '#secondary_market').prop('checked') == false || $('#overview').prop('checked') == false || $( - '#investment_listing_transfer').prop('checked') == false || $('#completed_transactions').prop('checked') == false || $( + '#investment_listing_transfer').prop('checked') == false || $('#completed_transactions').prop( + 'checked') == false || $( '#manage_seller_profile').prop('checked') == false || $('#cms_panel').prop('checked') == false || $('#manage_tags').prop('checked') == false || $( '#manage_blogs').prop('checked') == false || $('#manage_faq').prop('checked') == false || $('#manage_testimonial').prop('checked') == false || $('#privacy_policy').prop('checked') == false || $( - '#terms_and_conditions').prop('checked') == false || $('#manage_sub_admin').prop('checked') == false || $('#sub_admin').prop('checked') == false || $('#user_list').prop('checked') == false - || $('#update_user_password').prop('checked') == false || $('#manage_lead').prop('checked') == false || $('#contact_us_form').prop('checked') == false) { + '#terms_and_conditions').prop('checked') == false || $('#manage_sub_admin').prop('checked') == false || + $('#sub_admin').prop('checked') == false || $('#user_list').prop('checked') == false || + $('#update_user_password').prop('checked') == false || $('#manage_lead').prop('checked') == false || $( + '#contact_us_form').prop('checked') == false) { unCheckCheckbox('#admin_user'); checkCheckbox('#sub_admin_user'); } else { @@ -1171,19 +1180,17 @@ } } // end - + // start functions // check parent checkboxes if any child checkbox is checked and uncheck checkbox if any child check boxes is unchecked // dashboard - function checkDashboardCheckBox() - { + function checkDashboardCheckBox() { if ($('#general_dashboard').prop('checked') == true || $('#personal_dashboard').prop('checked') == true) { if ($('#dashboard').prop('checked') == false) { checkCheckbox('#dashboard'); } } else { - if($('#dashboardOne').hasClass('show') == true) - { + if ($('#dashboardOne').hasClass('show') == true) { $('#dashboardOne').removeClass('show'); $('#dashboard').addClass('collapsed'); $('#dashboard').prop('aria-expanded', false); @@ -1192,17 +1199,16 @@ } checkSubAdmin(); } - + // manage commission - function checkManageCommissionCheckBox() - { - if ($('#product_commission').prop('checked') == true || $('#user_commission').prop('checked') == true || $('#trail_commission').prop('checked') == true) { + function checkManageCommissionCheckBox() { + if ($('#product_commission').prop('checked') == true || $('#user_commission').prop('checked') == true || $( + '#trail_commission').prop('checked') == true) { if ($('#manageCommission').prop('checked') == false) { checkCheckbox('#manageCommission'); } } else { - if($('#manageCommissionOne').hasClass('show') == true) - { + if ($('#manageCommissionOne').hasClass('show') == true) { $('#manageCommissionOne').removeClass('show'); $('#manageCommission').addClass('collapsed'); $('#manageCommission').prop('aria-expanded', false); @@ -1211,17 +1217,17 @@ } checkSubAdmin(); } - + // investor (users) - function checkInvestorUserCheckBox() - { - if ($('#manage_investor').prop('checked') == true || $('#manage_investor_kyc').prop('checked') == true || $('#manage_partner_platform').prop('checked') == true || $('#manage_user_product').prop('checked') == true) { + function checkInvestorUserCheckBox() { + if ($('#manage_investor').prop('checked') == true || $('#manage_investor_kyc').prop('checked') == true || $( + '#manage_partner_platform').prop('checked') == true || $('#manage_user_product').prop('checked') == + true) { if ($('#investor').prop('checked') == false) { checkCheckbox('#investor'); } } else { - if($('#investorOne').hasClass('show') == true) - { + if ($('#investorOne').hasClass('show') == true) { $('#investorOne').removeClass('show'); $('#investor').addClass('collapsed'); $('#investor').prop('aria-expanded', false); @@ -1230,17 +1236,16 @@ } checkSubAdmin(); } - + // primary market - function checkPrimaryMarketCheckBox() - { - if ($('#manage_product').prop('checked') == true || $('#manage_manufacture_company').prop('checked') == true || $('#manage_categories').prop('checked') == true) { + function checkPrimaryMarketCheckBox() { + if ($('#manage_product').prop('checked') == true || $('#manage_manufacture_company').prop('checked') == true || + $('#manage_categories').prop('checked') == true) { if ($('#primaryMarket').prop('checked') == false) { checkCheckbox('#primaryMarket'); } } else { - if($('#primary_market').hasClass('show') == true) - { + if ($('#primary_market').hasClass('show') == true) { $('#primary_market').removeClass('show'); $('#primaryMarket').addClass('collapsed'); $('#primaryMarket').prop('aria-expanded', false); @@ -1249,17 +1254,17 @@ } checkSubAdmin(); } - + // secondary market - function checkSecondaryMarketCheckBox() - { - if ($('#overview').prop('checked') == true || $('#investment_listing_transfer').prop('checked') == true || $('#completed_transactions').prop('checked') == true || $('#manage_seller_profile').prop('checked') == true) { + function checkSecondaryMarketCheckBox() { + if ($('#overview').prop('checked') == true || $('#investment_listing_transfer').prop('checked') == true || $( + '#completed_transactions').prop('checked') == true || $('#manage_seller_profile').prop('checked') == + true) { if ($('#secondary_market').prop('checked') == false) { checkCheckbox('#secondary_market'); } } else { - if($('#secondaryMarketThree').hasClass('show') == true) - { + if ($('#secondaryMarketThree').hasClass('show') == true) { $('#secondaryMarketThree').removeClass('show'); $('#secondary_market').addClass('collapsed'); $('#secondary_market').prop('aria-expanded', false); @@ -1268,17 +1273,17 @@ } checkSubAdmin(); } - + // cms panel - function checkCMSPanelCheckBox() - { - if ($('#manage_tags').prop('checked') == true || $('#manage_blogs').prop('checked') == true || $('#manage_faq').prop('checked') == true || $('#manage_testimonial').prop('checked') == true || $('#privacy_policy').prop('checked') == true || $('#terms_and_conditions').prop('checked') == true ) { + function checkCMSPanelCheckBox() { + if ($('#manage_tags').prop('checked') == true || $('#manage_blogs').prop('checked') == true || $('#manage_faq') + .prop('checked') == true || $('#manage_testimonial').prop('checked') == true || $('#privacy_policy').prop( + 'checked') == true || $('#terms_and_conditions').prop('checked') == true) { if ($('#cms_panel').prop('checked') == false) { checkCheckbox('#cms_panel'); } } else { - if($('#cmsPanelFour').hasClass('show') == true) - { + if ($('#cmsPanelFour').hasClass('show') == true) { $('#cmsPanelFour').removeClass('show'); $('#cms_panel').addClass('collapsed'); $('#cms_panel').prop('aria-expanded', false); @@ -1287,17 +1292,16 @@ } checkSubAdmin(); } - + // manage sub admin - function checkManageSubAdminCheckBox() - { - if ($('#sub_admin').prop('checked') == true || $('#user_list').prop('checked') == true || $('#update_user_password').prop('checked') == true) { + function checkManageSubAdminCheckBox() { + if ($('#sub_admin').prop('checked') == true || $('#user_list').prop('checked') == true || $( + '#update_user_password').prop('checked') == true) { if ($('#manage_sub_admin').prop('checked') == false) { checkCheckbox('#manage_sub_admin'); } } else { - if($('#manageSubAdminFive').hasClass('show') == true) - { + if ($('#manageSubAdminFive').hasClass('show') == true) { $('#manageSubAdminFive').removeClass('show'); $('#manage_sub_admin').addClass('collapsed'); $('#manage_sub_admin').prop('aria-expanded', false); @@ -1307,7 +1311,7 @@ checkSubAdmin(); } // end functions - + //check all access if admin and uncheck all access if sub-admin $(document).ready(function() { $('.role_type').click(function() { @@ -1333,6 +1337,9 @@ mobile_number: { required: true, }, + password: { + required: true, + }, role_type: { required: true, }, @@ -1347,6 +1354,9 @@ mobile_number: { required: 'This field is required', }, + password: { + required: 'This field is required', + }, role_type: { required: 'This field is required', }, @@ -1355,7 +1365,7 @@ var formData = new FormData(form); $.ajax({ - url: "{{route('store.sub-admin')}}", + url: "{{ route('store.sub-admin') }}", type: "POST", data: formData, processData: false, @@ -1363,20 +1373,26 @@ dataType: 'json', success: function(result) { // alert("hello"); + if (result.status == '200') { + toastr.success(result.message); + window.location.href = "{{ route('manage_sub_admin') }}" + } else if (result.status == '400') { + toastr.warning(result.message); + } } }) } }) - - - - - - - + + + + + + + // old jquery for check checkboxes and uncheck checkboxes - - + + // $('#investor').click(function() { // // $('#cms_panel').prop('checked') == true ? $('#cms').attr('checked') : $('#cms').addClass('d-none'); // if ($('#investor').prop('checked') == true) { @@ -1639,6 +1655,5 @@ // // checkCheckbox('#dashboard'); // } // } - @endsection diff --git a/resources/views/Admin/edit-sub-admin.blade.php b/resources/views/Admin/edit-sub-admin.blade.php index e69de29..8785a97 100644 --- a/resources/views/Admin/edit-sub-admin.blade.php +++ b/resources/views/Admin/edit-sub-admin.blade.php @@ -0,0 +1,1681 @@ +@extends('Admin.layouts.master') +@section('style') + +@endsection +@section('content') + +
+ +
+
+
+
+ +
+ + +
+ +
+ @csrf + @method('PATCH') +
+ {{-- user detail start --}} +
+ {{--
Hello
--}} +
+ + + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ {{-- user detail end --}} + + {{-- user role start --}} +
+ {{--
Hello
--}} +
+ +
+ + role == 1 ? 'checked' : '' }} id="admin_user" /> + + + + +
+ +
+ +
+
+ + {{-- @dd($user) --}} +
+ + role == 2 ? 'checked' : '' }} id="sub_admin_user" /> + + + + +
+ +
+ +
+
+ {{-- user role ends --}} + + {{-- user access start --}} +
+ {{--
--}} + {{-- dashboard start --}} +
+ +
+
+ {{-- --}} +
+ +
+
+
+
+
+
+
+ + contains(39) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(40) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ {{-- dashboard ends --}} + +
+ + {{-- manage-commission start --}} +
+ +
+
+ {{-- --}} +
+ +
+
+
+
+
+
+
+ + contains(41) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(42) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(43) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ {{-- manage-commission ends --}} + +
+ + {{-- manage-investor start --}} +
+ +
+
+ {{-- --}} +
+ +
+
+
+
+
+
+
+ + contains(19) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(20) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(21) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(22) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ {{-- manage-investor ends --}} + +
+ + {{-- primary-market start --}} +
+ +
+
+
+ + contains(44) ? 'checked' : '' }} + data-bs-toggle="collapse" data-bs-target="#primary_market" + aria-expanded="true" aria-controls="primary_market" /> + + + + +
+
+ +
+
+
+
+
+
+
+ + contains(23) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(24) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(25) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ {{-- primary-market ends --}} + +
+ + {{-- secondary-market start --}} +
+ +
+
+
+ + contains(45) ? 'checked' : '' }} + data-bs-target="#secondaryMarketThree" + aria-expanded="true" aria-controls="secondaryMarketThree" + data-bs-toggle="collapse" /> + + + + +
+
+ +
+
+
+
+
+
+
+ + contains(26) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(27) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(28) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(29) ? 'checked' : '' }} /> + + + + +
+
+
+
+ +
+
+
+
+ {{-- secondary-market ends --}} + +
+ + {{-- manage-lead start --}} +
+ +
+ + contains(14) ? 'checked' : '' }} /> + + + + +
+ +
+ + {{-- manage-lead ends --}} + +
+ + {{-- cms-panel start --}} +
+
+
+ +
+ + contains(4) ? 'checked' : '' }} + data-bs-toggle="collapse" data-bs-target="#cmsPanelFour" + aria-expanded="true" aria-controls="cmsPanelFour" /> + + + + +
+ +
+
+
+
+
+ {{--
Hello
--}} +
+
+
+ + contains(30) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(31) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(32) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+ + contains(33) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(34) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(35) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ + {{-- cms-panel ends --}} + +
+ + {{-- contact-us-form start --}} +
+ +
+ + contains(15) ? 'checked' : '' }} /> + + + + +
+ +
+ + {{-- contact-us-form ends --}} + +
+ + {{-- manage sub-admin start --}} +
+
+
+ +
+ + contains(16) ? 'checked' : '' }} + data-bs-toggle="collapse" + data-bs-target="#manageSubAdminFive" aria-expanded="true" + aria-controls="manageSubAdminFive" /> + + + + +
+ +
+
+
+
+
+
+ + contains(36) ? 'checked' : '' }} /> + + + + +
+
+
+
+ + contains(37) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+ + contains(38) ? 'checked' : '' }} /> + + + + +
+
+
+
+
+
+
+
+ {{-- manage sub-admin ends --}} + {{--
--}} +
+ {{-- user access ends --}} + +
+ {{-- submit button start --}} +
+ +
+ {{-- submit button ends --}} +
+ +
+ +
+ +
+
+
+ +
+ +
+ +@endsection +@section('scripts') + {{-- + + --}} + +@endsection diff --git a/resources/views/Admin/sidebar.blade.php b/resources/views/Admin/sidebar.blade.php index 8955b0c..c00e2c3 100644 --- a/resources/views/Admin/sidebar.blade.php +++ b/resources/views/Admin/sidebar.blade.php @@ -1,102 +1,150 @@ -
+