diff --git a/app/Http/Controllers/PartnerController.php b/app/Http/Controllers/Admin/PartnerController.php similarity index 61% rename from app/Http/Controllers/PartnerController.php rename to app/Http/Controllers/Admin/PartnerController.php index 887e56d3..c91f592d 100644 --- a/app/Http/Controllers/PartnerController.php +++ b/app/Http/Controllers/Admin/PartnerController.php @@ -1,7 +1,8 @@ 'required|integer|max:100|min:0', ]); + if(PartnerDiscount::where("user_id",$request->user_id)->exists()){ + return redirect()->route('admin.partners.index')->with('error', __('Partner already exists')); + } + PartnerDiscount::create($request->all()); return redirect()->route('admin.partners.index')->with('success', __('partner has been created!')); } - /** - * Display the specified resource. - * - * @param Voucher $voucher - * @return Response - */ - public function show(Voucher $voucher) - { - // - } - /** * Show the form for editing the specified resource. * - * @param Voucher $voucher + * @param Partner $partner * @return Application|Factory|View */ public function edit(PartnerDiscount $partner) @@ -75,7 +69,7 @@ class PartnerController extends Controller * Update the specified resource in storage. * * @param Request $request - * @param Voucher $voucher + * @param Partner $partner * @return RedirectResponse */ public function update(Request $request, PartnerDiscount $partner) @@ -95,7 +89,7 @@ class PartnerController extends Controller /** * Remove the specified resource from storage. * - * @param Voucher $voucher + * @param Partner $partner * @return RedirectResponse */ public function destroy(PartnerDiscount $partner) @@ -105,81 +99,7 @@ class PartnerController extends Controller return redirect()->back()->with('success', __('partner has been removed!')); } - public function users(Voucher $voucher) - { - return view('admin.vouchers.users', [ - 'voucher' => $voucher, - ]); - } - /** - * @param Request $request - * @return JsonResponse - * - * @throws ValidationException - */ - public function redeem(Request $request) - { - //general validations - $request->validate([ - 'code' => 'required|exists:vouchers,code', - ]); - - //get voucher by code - $voucher = Voucher::where('code', '=', $request->input('code'))->firstOrFail(); - - //extra validations - if ($voucher->getStatus() == 'USES_LIMIT_REACHED') { - throw ValidationException::withMessages([ - 'code' => __('This voucher has reached the maximum amount of uses'), - ]); - } - - if ($voucher->getStatus() == 'EXPIRED') { - throw ValidationException::withMessages([ - 'code' => __('This voucher has expired'), - ]); - } - - if (! $request->user()->vouchers()->where('id', '=', $voucher->id)->get()->isEmpty()) { - throw ValidationException::withMessages([ - 'code' => __('You already redeemed this voucher code'), - ]); - } - - if ($request->user()->credits + $voucher->credits >= 99999999) { - throw ValidationException::withMessages([ - 'code' => "You can't redeem this voucher because you would exceed the limit of ".CREDITS_DISPLAY_NAME, - ]); - } - - //redeem voucher - $voucher->redeem($request->user()); - - event(new UserUpdateCreditsEvent($request->user())); - - return response()->json([ - 'success' => "{$voucher->credits} ".CREDITS_DISPLAY_NAME.' '.__('have been added to your balance!'), - ]); - } - - public function usersDataTable(Voucher $voucher) - { - $users = $voucher->users(); - - return datatables($users) - ->editColumn('name', function (User $user) { - return ''.$user->name.''; - }) - ->addColumn('credits', function (User $user) { - return ' '.$user->credits(); - }) - ->addColumn('last_seen', function (User $user) { - return $user->last_seen ? $user->last_seen->diffForHumans() : ''; - }) - ->rawColumns(['name', 'credits', 'last_seen']) - ->make(); - } public function dataTable() { diff --git a/app/Http/Controllers/TicketsController.php b/app/Http/Controllers/TicketsController.php index e025f94d..cf86ea43 100644 --- a/app/Http/Controllers/TicketsController.php +++ b/app/Http/Controllers/TicketsController.php @@ -50,7 +50,7 @@ class TicketsController extends Controller $ticket = new Ticket([ 'title' => $request->input('title'), 'user_id' => Auth::user()->id, - 'ticket_id' => strtoupper(Str::random(5)), + 'ticket_id' => strtoupper(Str::random(8)), 'ticketcategory_id' => $request->input('ticketcategory'), 'priority' => $request->input('priority'), 'message' => $request->input('message'), diff --git a/public/themes/blue/app.css b/public/themes/blue/app.css index cdd91be4..10839a8e 100644 --- a/public/themes/blue/app.css +++ b/public/themes/blue/app.css @@ -1,93 +1,24 @@ -@import "default.css"; - -/******************* CUSTOM CSS ********************/ - -.layout-fixed .wrapper .sidebar { - height: calc(100vh - 3.5rem - 1px); - background: radial-gradient(#061b29, black); -} - -body:not(.sidebar-mini-md) .content-wrapper, body:not(.sidebar-mini-md) .main-footer, body:not(.sidebar-mini-md) .main-header { - transition: margin-left .3s ease-in-out; - margin-left: 250px; - background: radial-gradient(#061b29, black); -} - -[class*=sidebar-dark] .brand-link, [class*=sidebar-dark] .brand-link .pushmenu { - color: hsla(0,0%,100%,.8); - background: radial-gradient(#061b29, black); -} - -.main-sidebar .brand-text, .main-sidebar .logo-xl, .main-sidebar .logo-xs, .sidebar .nav-link p, .sidebar .user-panel .info { - transition: margin-left .3s linear,opacity .3s ease,visibility .3s ease; - color: #d3d3d3; -} - -.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active, .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active { - color: #fff; - background: radial-gradient(#1b4b61, #fd030300); - border-radius: 50px; -} - - -.dark-mode .card { - background-color: #00000000; - color: #ffffff99; - border-width: 3px; - border-color: #f7f7f7; - border-style: double; - border-radius: 15px; -} - -.btn-info { - color: #ffffff; - background-color: #b8171700; - border-color: #ffffff; - box-shadow: none; -} - - -.btn-warning { - color: #ffffff; - background-color: #ffc10700; - border-color: #ffffff; - box-shadow: none; -} - - -.card-title { - float: left; - font-size: 1.1rem; - font-weight: 400; - margin: 0; - color: white; -} - -.dark-mode .text-muted { - color: #ffffff99!important; -} - -.dark-mode .list-group-item { - background-color: #343a4000; - border-color: #ffffff99; -} - -.dark-mode .info-box { - background-color: #343a4000; - color: #fff; - border: 3px; - border-style: double; - border-radius: 15px; - border-color: white; -} - -label:not(.form-check-label):not(.custom-file-label) { - font-weight: 700; - color: #ffffffc2; -} - -.dark-mode .custom-control-label:before, .dark-mode .custom-file-label, .dark-mode .custom-file-label:after, .dark-mode .custom-select, .dark-mode .form-control, .dark-mode .input-group-text { - background-color: #007af400; - color: #828282; -} - +@import "default.css";.layout-fixed .wrapper .sidebar{ height:calc(100vh - 3.5rem - 1px);background:radial-gradient(#061b29,black);} +body:not(.sidebar-mini-md) .content-wrapper,body:not(.sidebar-mini-md) .main-footer,body:not(.sidebar-mini-md) .main-header{ transition:margin-left .3s ease-in-out;margin-left:250px;background:radial-gradient(#061b29,black);} +[class*=sidebar-dark] .brand-link,[class*=sidebar-dark] .brand-link .pushmenu{ color:hsla(0,0%,100%,.8);background:radial-gradient(#061b29,black);} +.main-sidebar .brand-text,.main-sidebar .logo-xl,.main-sidebar .logo-xs,.sidebar .nav-link p,.sidebar .user-panel .info{ transition:margin-left .3s linear,opacity .3s ease,visibility .3s ease;color:#d3d3d3;} +.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{ color:#fff;background:radial-gradient(#1b4b61,#fd030300);border-radius:50px;} +.dark-mode .card{ background-color:#00000000;color:#ffffff99;border-width:3px;border-color:#f7f7f7;border-style:double;border-radius:15px;} +.btn-info{ color:#ffffff;background-color:#b8171700;border-color:#ffffff;box-shadow:none;} +.btn-warning{ color:#ffffff;background-color:#ffc10700;border-color:#ffffff;box-shadow:none;} +.card-title{ float:left;font-size:1.1rem;font-weight:400;margin:0;color:white;} +.dark-mode .text-muted{ color:#ffffff99!important;} +.dark-mode .list-group-item{ background-color:#343a4000;border-color:#ffffff99;} +.dark-mode .info-box{ background-color:#343a4000;color:#fff;border:3px;border-style:double;border-radius:15px;border-color:white;} +label:not(.form-check-label):not(.custom-file-label){ font-weight:700;color:#ffffffc2;} +.dark-mode .custom-control-label:before,.dark-mode .custom-file-label,.dark-mode .custom-file-label:after,.dark-mode .custom-select,.dark-mode .form-control,.dark-mode .input-group-text{ background-color:#007af400;color:#828282;} +.alert-success{ color:#fff;background-color:#28a745;border-color:#ffffff;border-radius:15px;border-style:double;} +.dark-mode{ color:#fff;background:radial-gradient(#061b29,black);} +.dark-mode .invoice{ background-color:#343a4000;border:3px;border-radius:15px;border-color:white;border:double;} +.dark-mode .nav-tabs .nav-item.show .nav-link,.dark-mode .nav-tabs .nav-link.active{ background-color:#ffffff1c;color:#fff;} +.slim-crop-area img,.slim-image-editor img,.slim-popover img,.slim img{ background:black;} +.dark-mode .callout{ background-color:#00ff0333;} +.callout.callout-info{ border-left-color:#00e11d;} +.p-3{ padding:1rem!important;background:#04141e;} +.small-box>.small-box-footer{ color:hsla(0,0%,100%,.8);display:block;padding:3px 0;position:relative;text-align:center;text-decoration:none;z-index:10;background:#061b29;} +.dark-mode .dropdown-menu{ background-color:#061b29;border-color:white;} \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index e4a5d910..8f0cf0e4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,6 +10,7 @@ use App\Http\Controllers\Admin\ApplicationApiController; use App\Http\Controllers\Admin\InvoiceController; use App\Http\Controllers\Admin\LegalController; use App\Http\Controllers\Admin\OverViewController; +use App\Http\Controllers\Admin\PartnerController; use App\Http\Controllers\Admin\PaymentController; use App\Http\Controllers\Admin\ProductController; use App\Http\Controllers\Admin\ServerController as AdminServerController; @@ -22,7 +23,6 @@ use App\Http\Controllers\Auth\SocialiteController; use App\Http\Controllers\HomeController; use App\Http\Controllers\Moderation\TicketsController as ModTicketsController; use App\Http\Controllers\NotificationController; -use App\Http\Controllers\PartnerController; use App\Http\Controllers\ProductController as FrontProductController; use App\Http\Controllers\ProfileController; use App\Http\Controllers\ServerController; diff --git a/themes/default/views/admin/partners/create.blade.php b/themes/default/views/admin/partners/create.blade.php index f635e51b..03f8cab3 100644 --- a/themes/default/views/admin/partners/create.blade.php +++ b/themes/default/views/admin/partners/create.blade.php @@ -6,12 +6,12 @@
-

{{__('Vouchers')}}

+

{{__('Partner')}}