From d776e59a30f31e86b82341af6d4e523524e700e4 Mon Sep 17 00:00:00 2001 From: PrasadChinwal Date: Tue, 7 Nov 2023 18:55:51 -0600 Subject: [PATCH] WIP --- .DS_Store | Bin 0 -> 8196 bytes README.md | 75 ++----- app/.DS_Store | Bin 0 -> 6148 bytes app/Console/.DS_Store | Bin 0 -> 6148 bytes app/Helpers/Helper.php | 127 +----------- .../Controllers/Api/RoleApiController.php | 74 +++++++ .../Controllers/Api/UserApiController.php | 2 +- app/Http/Controllers/RoleController.php | 21 ++ app/Http/Controllers/UserController.php | 68 +------ app/Http/Requests/RoleRequest.php | 30 +++ app/Http/Requests/UserFormRequest.php | 2 +- app/Http/Resources/RoleResource.php | 25 +++ app/Http/Resources/UserResource.php | 2 +- app/Models/Role.php | 14 ++ app/Providers/AuthServiceProvider.php | 6 + public/css/app.css | 30 ++- public/js/app.js | 4 +- public/mix-manifest.json | 4 +- resources/js/Pages/roles/Index.vue | 185 +++++++++++++++--- .../components/navigation-menu.blade.php | 46 +++-- resources/views/home.blade.php | 2 +- .../views/{roles => role}/index.blade.php | 4 +- routes/api.php | 2 + routes/web.php | 4 +- 24 files changed, 399 insertions(+), 328 deletions(-) create mode 100644 .DS_Store create mode 100644 app/.DS_Store create mode 100644 app/Console/.DS_Store create mode 100644 app/Http/Controllers/Api/RoleApiController.php create mode 100644 app/Http/Controllers/RoleController.php create mode 100644 app/Http/Requests/RoleRequest.php create mode 100644 app/Http/Resources/RoleResource.php create mode 100644 app/Models/Role.php rename resources/views/{roles => role}/index.blade.php (58%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..79f694e086459e2caafd5ab1233ecd2813210086 GIT binary patch literal 8196 zcmeHM%We}f6uoZJWI`V*h)Uf6Be5+ZMP-55gtT3-VACL2017k75Qa|2Q65dDs#10! zA%1~hKrHwa_!qxmsA5{*%3i)e$0JY=?OODN7s ze4q17TF9>4gcaZu4M|d;+9=Z*w7cLGa0)mDoB~b(r@%!}0Pk#0-kkTozUxY-fK%X7 zD!}W5kIc57*@?Dl=|G{j0I)?|Rta_N0~E*4Y(29RZ50)5>fM9Ls3O~92u;U*pW(3e z%uck`bP}3QB73sPb|^wU9XwybNz}DP8 z4^BuU)FK*K+@BWr${82q#aQ?R!|K;U*WxUK6GO3x0<-mn?-sIv9`&eaq6$0bqr&l^ zm#O_N>?QGFSgZXI3x(ohsqB@#CGS=9tsFOp!EiKa1pOEM?WvSWIIRcavp5>J)~@f! zbQr{G)K`SK69Mw_d7O6SxFJVrXP~%EeZ#AGmDbw&$w_U~ubpoCCtLTo?rr)Hwzp4D zE8hC;yAStU2gzY7-=o_|B3pyuIA;2Qui1c)n*B79DGSHwGGypuI$|22mRfRr1tRZO z6-=JQX9zS;CL}Z&#ak9*MIAb^Q%P_laH{kUH5^1)%uj#8Ou%c?fyMk~F-zG&*StXa zoC_2W&cd!4U}ORJ&}^GHVDk7Pf&)6)0jL5bk6Ts_%Z}JWNJ%_p#9=k#^c*mG-c=|S z@EB2cfxiQm8uL8e1cyz&g=MRSIeM$m$@7-Ldy70m&w0VA(lL6Tn0lx%%Cky}5u%qd zwN0!FraZPn`?QCpYL}kCR?&LLVz9rN41~P$mJvLsJ*%Jcw>+Z+oIHPlDYA#uO2%xE?5XL^3jHh5VUt2u95L>oLF#E*r9pBcy!9RbNt z!Lny!+1Cv0DtZ*bf2W?q%Ep*IHS-o1{$_A7NS7{}0tMZn4c`Cn%|HLYXx(=GaSAvE z{-FY*xZB)qpuy?yI=gM&Yx~HrkvTDLqOGE!P}^}>wH=2&`@;}*A5iAhGds~1SCIb0 VK|sO1|M6o%sqfzZN`^~V`~kGXFy{aO literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 3ed385a7..f6c8d2d7 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,15 @@ -

Laravel Logo

+# UIS ITS Laravel Template -

-Build Status -Total Downloads -Latest Stable Version -License -

+This is a template application for UIS ITS applications built using laravel framework. -## About Laravel +## Features +- User Authentication using [UIS ITS Laravel oidc](https://github.com/uisits/laravel-oidc) package. +- Migrations +- Databases: MySQL, Oracle +- AD-LDAP +- User Management +- User Role Management using [Spatie Permissions](https://spatie.be/docs/laravel-permission/v6/introduction) +- User Feedbacks +- Laravel Telescope for development -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: - -- [Simple, fast routing engine](https://laravel.com/docs/routing). -- [Powerful dependency injection container](https://laravel.com/docs/container). -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. -- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). -- [Robust background job processing](https://laravel.com/docs/queues). -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). - -Laravel is accessible, powerful, and provides tools required for large, robust applications. - -## Learning Laravel - -Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. - -You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. - -If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. - -## Laravel Sponsors - -We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell). - -### Premium Partners - -- **[Vehikl](https://vehikl.com/)** -- **[Tighten Co.](https://tighten.co)** -- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** -- **[64 Robots](https://64robots.com)** -- **[Cubet Techno Labs](https://cubettech.com)** -- **[Cyber-Duck](https://cyber-duck.co.uk)** -- **[Many](https://www.many.co.uk)** -- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)** -- **[DevSquad](https://devsquad.com)** -- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** -- **[OP.GG](https://op.gg)** -- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)** -- **[Lendio](https://lendio.com)** - -## Contributing - -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). - -## Code of Conduct - -In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). - -## Security Vulnerabilities - -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. - -## License - -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). +## Usage diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..793695d9d555418cf39e450401e38595a06c424a GIT binary patch literal 6148 zcmeHK&ui2`6n?Xf-K0g>g9R^zfY(KLr5?mf+_q2;f*7d>m37ku4aUr}$u`2Wkedbn z7*GBw`oDP6@6Ak$N%STn%RG4V&CL7W{P-X<86pysWjrPt5RnUKbaqhu#yHO2v7YJi zfI^KSDWl|3CeNa*!?qn(0jt3OrT~AteL5sbITa|czF!$3!pFix`0XFcQ0uUxs+dQa zVtbsiuP)hcYi` zX`U=pLK-KaynLSKv8*O?na7374RyfvTyHwqTdhVzf3zO@tMR?@-JyT~;9$M>+`U_O z9z31C%iibmqgpfx98k)x8@z-IR9XU@hl@Ou`5QzyYln{M1D#Pqb1Es-Qt3nPN~F)= zHAOlBKSM@B3o4pyvEO1lbb^sfnzwkLTD)y~jM-x~a(m40Ev`pTFtem{te7)8tLX9m zeqFOer{E@3HCNI5+Tx*UZ4(qQpM<-+37fHdunJfO{;C3eKKO9Pz+kOW9UUmt69DL- zTN)4(~t!N6dx5fPZssX(17%o9WCboBd%7Z|KH>U0w3@gdC2!n{y~njPc&icTWX zXiKYrRiLTBmTnIC{y+Zn`@flFTUG(9z(y$`oTKn)f-RZ5wX-?CYkl}@I2-e7jVc9& ixsFwZui~3fgc5S>i}-B4A^fl58D#5F1jDhI^Hr0oH5!&Q3#6l`o!3)dUP2{}ZOe53!S zC;ke52j1*%t5hl15}_Gu_RY@D*z32e{U9PWoMi)|E)i)cW2=MW9^rP@HE9J;8>rkn z5~?Vp`fX{ytVN4s6B*#K({x0ZF7d34Us~D}Z9FmFKo5R9fpt%OI+U5QK z literal 0 HcmV?d00001 diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 190e676b..cc14b509 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -3,21 +3,10 @@ namespace App\Helpers; use Adldap\Laravel\Facades\Adldap; -use App\Person; use DateTime; use Exception; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Session; -use jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType; -use jamesiarmes\PhpEws\Client; -use jamesiarmes\PhpEws\Enumeration\BodyTypeType; -use jamesiarmes\PhpEws\Enumeration\CalendarItemCreateOrDeleteOperationType; -use jamesiarmes\PhpEws\Enumeration\ResponseClassType; -use jamesiarmes\PhpEws\Request\CreateItemType; -use jamesiarmes\PhpEws\Type\BodyType; -use jamesiarmes\PhpEws\Type\CalendarItemType; -use jamesiarmes\PhpEws\Type\ConnectingSIDType; -use jamesiarmes\PhpEws\Type\ExchangeImpersonationType; use PDO; class Helper @@ -104,80 +93,6 @@ public static function getBannerNetidByUIN($uin) } - /** - * @return void - */ - public static function addToExchangeCalendar( - $start_string, - $end_string, - $subject, - $body, - $cal_username, - $server, - $username, - $password, - $tz - ) { - $version = Client::VERSION_2013; - $start = DateTime::createFromFormat('Y-m-d H:i:s', $start_string); - $end_day_before = DateTime::createFromFormat('Y-m-d H:i:s', $end_string); - $end = $end_day_before->modify('+1 day'); - - $ews = new Client($server, $username, $password, $version); - $ews->setTimezone($tz); - - //Impersonate - $ei = new ExchangeImpersonationType(); - $sid = new ConnectingSIDType(); - $sid->PrimarySmtpAddress = $cal_username; - $ei->ConnectingSID = $sid; - $ews->setImpersonation($ei); - - $request = new CreateItemType(); - $request->SendMeetingInvitations = CalendarItemCreateOrDeleteOperationType::SEND_ONLY_TO_ALL; - $request->Items = new NonEmptyArrayOfAllItemsType(); - - // Build the event to be added. - $event = new CalendarItemType(); - $event->Start = $start->format('c'); - $event->End = $end->format('c'); - $event->Subject = $subject; - - $event->LegacyFreeBusyStatus = 'Free'; - $event->ReminderIsSet = false; - - // Set the event body. - $event->Body = new BodyType(); - $event->Body->_ = $body; - $event->Body->BodyType = BodyTypeType::TEXT; - - // Add the event to the request. You could add multiple events to create more - // than one in a single request. - $request->Items->CalendarItem[] = $event; - - $response = $ews->CreateItem($request); - - // Iterate over the results, printing any error messages or event ids. - $response_messages = $response->ResponseMessages->CreateItemResponseMessage; - - foreach ($response_messages as $response_message) { - // Make sure the request succeeded. - if ($response_message->ResponseClass != ResponseClassType::SUCCESS) { - $code = $response_message->ResponseCode; - $message = $response_message->MessageText; - Session::flash('success', "Event failed to create with \"$code: $message\"\n"); - - continue; - } - - // Iterate over the created events, printing the id for each. - foreach ($response_message->Items->CalendarItem as $item) { - $id = $item->ItemId->Id; - Session::flash('success', 'The event was successfully added to the calendar.'); - } - } - } - /** * @return mixed|null */ @@ -259,7 +174,10 @@ public static function isDeanDirectorAVC($uin) public static function getTitleFromUin($uin) { $result = ''; - $supervisor_info = DB::connection('oraclecdmpvt')->table('EMP_SUPV_DEPT_UIS')->where('uin', $uin)->first(); + $supervisor_info = DB::connection('oraclecdmpvt') + ->table('EMP_SUPV_DEPT_UIS') + ->where('uin', $uin) + ->first(); if ($supervisor_info) { $result = $supervisor_info->posn_title; @@ -268,43 +186,6 @@ public static function getTitleFromUin($uin) return $result; } - /** - * @return false|string|null - */ - public static function getUinFromBarcode($barcode) - { - $uin = ''; - $uin = substr($barcode, 4, 9); - - return $uin; - } - - /** - * @return mixed|string - */ - public static function getLoggedUserNetid() - { - $result = ''; - if (isset($_SERVER['cn'])) { - $result = $_SERVER['cn']; - } - - return $result; - } - - /** - * @return mixed|string - */ - public static function getLoggedUserUIN() - { - $result = ''; - if (isset($_SERVER['iTrustUIN'])) { - $result = $_SERVER['iTrustUIN']; - } - - return $result; - } - /** * @return string */ diff --git a/app/Http/Controllers/Api/RoleApiController.php b/app/Http/Controllers/Api/RoleApiController.php new file mode 100644 index 00000000..9dc42f82 --- /dev/null +++ b/app/Http/Controllers/Api/RoleApiController.php @@ -0,0 +1,74 @@ + $request->validated('name') + ]); + return new RoleResource($role); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\JsonResponse + */ + public function destroy($id) + { + Role::where('id', $id)->delete(); + return response()->json(null); + } +} diff --git a/app/Http/Controllers/Api/UserApiController.php b/app/Http/Controllers/Api/UserApiController.php index d256b93e..ae38e029 100644 --- a/app/Http/Controllers/Api/UserApiController.php +++ b/app/Http/Controllers/Api/UserApiController.php @@ -17,7 +17,7 @@ class UserApiController extends Controller */ public function index() { - $users = User::with(['roles'])->orderBy('last_name', 'asc')->get(); + $users = User::with(['role'])->orderBy('last_name', 'asc')->get(); return UserResource::collection($users); } diff --git a/app/Http/Controllers/RoleController.php b/app/Http/Controllers/RoleController.php new file mode 100644 index 00000000..55d0da7f --- /dev/null +++ b/app/Http/Controllers/RoleController.php @@ -0,0 +1,21 @@ +orderBy('last_name', 'asc')->get(); $roles = Role::get(); return view('user.index', compact('users', 'roles')); } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - // - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - // - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function edit($id) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - public function update(Request $request, $id) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - // - } } diff --git a/app/Http/Requests/RoleRequest.php b/app/Http/Requests/RoleRequest.php new file mode 100644 index 00000000..aa518390 --- /dev/null +++ b/app/Http/Requests/RoleRequest.php @@ -0,0 +1,30 @@ +user()->can('admin'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules(): array + { + return [ + 'name' => 'required|unique:App\Models\Role,name' + ]; + } +} diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php index 034fb89d..03fa7a58 100644 --- a/app/Http/Requests/UserFormRequest.php +++ b/app/Http/Requests/UserFormRequest.php @@ -40,7 +40,7 @@ public function rules() 'email' => 'required', 'netid' => 'required', 'uin' => 'required', - 'roles' => 'sometimes', + 'role' => 'sometimes', ]; } } diff --git a/app/Http/Resources/RoleResource.php b/app/Http/Resources/RoleResource.php new file mode 100644 index 00000000..7a6cb4aa --- /dev/null +++ b/app/Http/Resources/RoleResource.php @@ -0,0 +1,25 @@ + $this->id, + 'name' => $this->name, + 'guard_name' => $this->guard_name, + 'created_at' => $this->created_at, + 'updated_at' => $this->updated_at, + ]; + } +} diff --git a/app/Http/Resources/UserResource.php b/app/Http/Resources/UserResource.php index 4e3026f1..02d3e49b 100644 --- a/app/Http/Resources/UserResource.php +++ b/app/Http/Resources/UserResource.php @@ -23,7 +23,7 @@ public function toArray($request) 'name' => $this->name, 'netid' => $this->netid, 'email' => $this->email, - 'roles' => $this->roles, + 'role' => $this->roles, 'created_at' => Carbon::parse($this->created_at)->format('Y-m-d'), 'updated_at' => Carbon::parse($this->updated_at)->format('Y-m-d'), ]; diff --git a/app/Models/Role.php b/app/Models/Role.php new file mode 100644 index 00000000..418dde82 --- /dev/null +++ b/app/Models/Role.php @@ -0,0 +1,14 @@ + 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + ]; +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 051e7255..06830dd8 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -26,6 +26,12 @@ class AuthServiceProvider extends ServiceProvider public function boot() { $this->registerPolicies(); + + // Super Admin role + Gate::before(function ($user, $ability) { + return $user->hasRole('super admin') ? true : null; + }); + Gate::define('admin', function (User $user) { return $user->hasRole('admin'); }); diff --git a/public/css/app.css b/public/css/app.css index 49db67ed..f3d4132c 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -482,10 +482,6 @@ video { .m-2 { margin: 0.5rem; } -.-mx-2 { - margin-left: -0.5rem; - margin-right: -0.5rem; -} .mx-4 { margin-left: 1rem; margin-right: 1rem; @@ -575,6 +571,9 @@ video { .h-9 { height: 2.25rem; } +.min-h-full { + min-height: 100%; +} .min-h-screen { min-height: 100vh; } @@ -593,12 +592,12 @@ video { .w-auto { width: auto; } -.w-full { - width: 100%; -} .max-w-2xl { max-width: 42rem; } +.max-w-6xl { + max-width: 72rem; +} .max-w-7xl { max-width: 80rem; } @@ -636,9 +635,6 @@ video { .flex-col { flex-direction: column; } -.flex-wrap { - flex-wrap: wrap; -} .content-center { align-content: center; } @@ -718,14 +714,13 @@ video { .p-2 { padding: 0.5rem; } +.p-5 { + padding: 1.25rem; +} .px-1 { padding-left: 0.25rem; padding-right: 0.25rem; } -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; @@ -754,6 +749,10 @@ video { padding-top: 1rem; padding-bottom: 1rem; } +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; @@ -1040,9 +1039,6 @@ video { } } @media (min-width: 768px) { - .md\:w-1\/2 { - width: 50%; - } .md\:w-1\/3 { width: 33.333333%; } diff --git a/public/js/app.js b/public/js/app.js index c457a2e0..d2140ce8 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -470,7 +470,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n appUrl: \"https://apps.uis.edu/starter\"\n };\n },\n props: {\n user: {\n required: true,\n type: Object\n },\n roles: {\n required: true,\n type: Array\n }\n },\n created: function created() {}\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL1BhZ2VzL3JvbGVzL0luZGV4LnZ1ZT80ODVjIl0sIm5hbWVzIjpbImRhdGEiLCJhcHBVcmwiLCJwcm9jZXNzIiwiTUlYX0FQUF9VUkwiLCJwcm9wcyIsInVzZXIiLCJyZXF1aXJlZCIsInR5cGUiLCJPYmplY3QiLCJyb2xlcyIsIkFycmF5IiwiY3JlYXRlZCJdLCJtYXBwaW5ncyI6IkFBcUJBO0FBQUE7RUFDQUEsSUFBQSxXQUFBQSxLQUFBO0lBQ0E7TUFDQUMsTUFBQSxFQUFBQyw4QkFBQUM7SUFDQTtFQUNBO0VBQ0FDLEtBQUE7SUFDQUMsSUFBQTtNQUNBQyxRQUFBO01BQ0FDLElBQUEsRUFBQUM7SUFDQTtJQUNBQyxLQUFBO01BQ0FILFFBQUE7TUFDQUMsSUFBQSxFQUFBRztJQUNBO0VBQ0E7RUFDQUMsT0FBQSxXQUFBQSxRQUFBLEdBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9yZXNvdXJjZXMvanMvUGFnZXMvcm9sZXMvSW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInB4LTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWJldHdlZW4gY29udGVudC1jZW50ZXIgLW14LTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IHYtZm9yPVwicm9sZSBpbiByb2xlc1wiIGNsYXNzPVwidy1mdWxsIG1kOnctMS8yIHB4LTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8di1jYXJkIHJhaXNlZCA6c2hhcGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHYtY2FyZC10aXRsZT57eyByb2xlLnJvbGUgfX08L3YtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2LWNhcmQtdGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2VtaWJvbGRcIj5DbGljayB0aGUgYnV0dG9uIHRvIHNlbGVjdCB0aGUge3sgcm9sZS5yb2xlfX0gcm9sZSBhbmQgdmlldyBhbGwgcGVuZGluZyBwZXRpdGlvbnMgcmVxdWlyaW5nIHlvdXIgYXBwcm92YWwuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC92LWNhcmQtdGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8di1zcGFjZXI+PC92LXNwYWNlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8di1idG4gb3V0bGluZWQgY29sb3I9XCJpbmZvXCIgOmhyZWY9XCJhcHBVcmwgKyByb2xlLnVybFwiPnt7IHJvbGUucm9sZSB9fTwvdi1idG4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3YtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICA8L3YtY2FyZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYXBwVXJsOiBwcm9jZXNzLmVudi5NSVhfQVBQX1VSTCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIHVzZXI6e1xuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHR5cGU6IE9iamVjdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGVzOntcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBBcnJheVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/Pages/roles/Index.vue?vue&type=script&lang=js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n loadingRoles: false,\n dialog: false,\n appName: \"starter\",\n appUrl: \"https://apps.uis.edu/starter\",\n csrfToken: document.querySelector('meta[name=\"csrf-token\"]').content,\n search: '',\n loadingUpdate: false,\n editedIndex: -1,\n editedItem: {\n id: null,\n name: null\n },\n defaultItem: {\n id: null,\n name: null\n },\n headers: [{\n text: '#id',\n value: 'id'\n }, {\n text: 'name',\n value: 'name'\n }, {\n text: 'Created At',\n value: 'created_at'\n }, {\n text: 'Updated At',\n value: 'updated_at'\n }, {\n text: 'Action',\n value: 'action',\n sortable: false\n }]\n };\n },\n props: {\n user: {\n type: Object,\n required: true\n },\n roles: {\n type: Array,\n required: true\n }\n },\n computed: {\n formTitle: function formTitle() {\n return this.editedIndex === -1 ? 'New Role' : 'Edit Role';\n }\n },\n watch: {\n dialog: function dialog(val) {\n val || this.close();\n }\n },\n created: function created() {},\n methods: {\n editItem: function editItem(item) {\n this.editedIndex = this.roles.indexOf(item);\n this.editedItem = Object.assign({}, item);\n this.dialog = true;\n },\n close: function close() {\n this.dialog = false;\n this.editedItem = Object.assign({}, this.defaultItem);\n this.editedIndex = -1;\n },\n deleteItem: function deleteItem(item) {\n var _this = this;\n this.editedIndex = this.roles.indexOf(item);\n this.editedItem = Object.assign({}, item);\n var shouldDelete = confirm('Are you sure you want to delete this?');\n if (shouldDelete) {\n this.loadingUpdate = true;\n axios.post(\"https://apps.uis.edu/starter\" + '/api/role/' + item.id, {\n name: item.name,\n _method: 'delete'\n }).then(function (response) {\n if (response.status === 200) {\n console.log(response);\n _this.roles.splice(_this.editedIndex, 1);\n console.log(_this.roles);\n _this.snack = true;\n _this.snackColor = 'success';\n _this.snackText = 'Successfully Updated';\n } else {\n _this.snack = true;\n _this.snackColor = 'error';\n _this.snackText = 'Oops! Something went wrong!';\n }\n _this.close();\n })[\"catch\"](function (error) {\n _this.snack = true;\n _this.snackColor = 'error';\n _this.snackText = 'Oops! Something went wrong!';\n })[\"finally\"](function () {\n _this.loadingUpdate = false;\n });\n }\n },\n onSubmit: function onSubmit(item) {\n var _this2 = this;\n // Add\n this.loadingUpdate = true;\n axios.post(\"https://apps.uis.edu/starter\" + '/api/role', {\n name: item.name\n }).then(function (response) {\n if (response.status === 201) {\n console.log(response.data);\n _this2.roles.push(response.data);\n console.log(_this2.roles);\n _this2.snack = true;\n _this2.snackColor = 'success';\n _this2.snackText = 'Successfully Updated';\n } else {\n _this2.snack = true;\n _this2.snackColor = 'error';\n _this2.snackText = 'Oops! Something went wrong!';\n }\n _this2.close();\n })[\"catch\"](function (error) {\n _this2.snack = true;\n _this2.snackColor = 'error';\n _this2.snackText = 'Oops! Something went wrong!';\n })[\"finally\"](function () {\n _this2.loadingUpdate = false;\n });\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL1BhZ2VzL3JvbGVzL0luZGV4LnZ1ZT80ODVjIl0sIm5hbWVzIjpbImRhdGEiLCJsb2FkaW5nUm9sZXMiLCJkaWFsb2ciLCJhcHBOYW1lIiwicHJvY2VzcyIsImFwcFVybCIsImNzcmZUb2tlbiIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJzZWFyY2giLCJsb2FkaW5nVXBkYXRlIiwiZWRpdGVkSW5kZXgiLCJlZGl0ZWRJdGVtIiwiaWQiLCJuYW1lIiwiZGVmYXVsdEl0ZW0iLCJoZWFkZXJzIiwidGV4dCIsInZhbHVlIiwic29ydGFibGUiLCJwcm9wcyIsInVzZXIiLCJ0eXBlIiwiT2JqZWN0IiwicmVxdWlyZWQiLCJyb2xlcyIsIkFycmF5IiwiY29tcHV0ZWQiLCJmb3JtVGl0bGUiLCJ3YXRjaCIsInZhbCIsImNsb3NlIiwiY3JlYXRlZCIsIm1ldGhvZHMiLCJlZGl0SXRlbSIsIml0ZW0iLCJpbmRleE9mIiwiYXNzaWduIiwiZGVsZXRlSXRlbSIsIl90aGlzIiwic2hvdWxkRGVsZXRlIiwiY29uZmlybSIsImF4aW9zIiwicG9zdCIsIl9tZXRob2QiLCJ0aGVuIiwicmVzcG9uc2UiLCJzdGF0dXMiLCJjb25zb2xlIiwibG9nIiwic3BsaWNlIiwic25hY2siLCJzbmFja0NvbG9yIiwic25hY2tUZXh0IiwiZXJyb3IiLCJvblN1Ym1pdCIsIl90aGlzMiIsInB1c2giXSwibWFwcGluZ3MiOiJBQTBDQTtBQUFlO0VBQ2ZBLElBQUEsV0FBQUEsS0FBQTtJQUFBO01BQ0FDLFlBQUE7TUFDQUMsTUFBQTtNQUNBQyxPQUFBLEVBQUFDLFNBQUE7TUFDQUMsTUFBQSxFQUFBRCw4QkFBQTtNQUNBRSxTQUFBLEVBQUFDLFFBQUEsQ0FBQUMsYUFBQSw0QkFBQUMsT0FBQTtNQUNBQyxNQUFBO01BQ0FDLGFBQUE7TUFDQUMsV0FBQTtNQUNBQyxVQUFBO1FBQ0FDLEVBQUE7UUFDQUMsSUFBQTtNQUNBO01BQ0FDLFdBQUE7UUFDQUYsRUFBQTtRQUNBQyxJQUFBO01BQ0E7TUFDQUUsT0FBQSxHQUNBO1FBQUFDLElBQUE7UUFBQUMsS0FBQTtNQUFBLEdBQ0E7UUFBQUQsSUFBQTtRQUFBQyxLQUFBO01BQUEsR0FDQTtRQUFBRCxJQUFBO1FBQUFDLEtBQUE7TUFBQSxHQUNBO1FBQUFELElBQUE7UUFBQUMsS0FBQTtNQUFBLEdBQ0E7UUFBQUQsSUFBQTtRQUFBQyxLQUFBO1FBQUFDLFFBQUE7TUFBQTtJQUVBO0VBQUE7RUFDQUMsS0FBQTtJQUNBQyxJQUFBO01BQ0FDLElBQUEsRUFBQUMsTUFBQTtNQUNBQyxRQUFBO0lBQ0E7SUFDQUMsS0FBQTtNQUNBSCxJQUFBLEVBQUFJLEtBQUE7TUFDQUYsUUFBQTtJQUNBO0VBQ0E7RUFDQUcsUUFBQTtJQUNBQyxTQUFBLFdBQUFBLFVBQUE7TUFDQSxZQUFBakIsV0FBQTtJQUNBO0VBQ0E7RUFDQWtCLEtBQUE7SUFDQTVCLE1BQUEsV0FBQUEsT0FBQTZCLEdBQUE7TUFDQUEsR0FBQSxTQUFBQyxLQUFBO0lBQ0E7RUFDQTtFQUNBQyxPQUFBLFdBQUFBLFFBQUEsR0FDQTtFQUNBQyxPQUFBO0lBQ0FDLFFBQUEsV0FBQUEsU0FBQUMsSUFBQTtNQUNBLEtBQUF4QixXQUFBLFFBQUFjLEtBQUEsQ0FBQVcsT0FBQSxDQUFBRCxJQUFBO01BQ0EsS0FBQXZCLFVBQUEsR0FBQVcsTUFBQSxDQUFBYyxNQUFBLEtBQUFGLElBQUE7TUFDQSxLQUFBbEMsTUFBQTtJQUNBO0lBQ0E4QixLQUFBLFdBQUFBLE1BQUE7TUFDQSxLQUFBOUIsTUFBQTtNQUNBLEtBQUFXLFVBQUEsR0FBQVcsTUFBQSxDQUFBYyxNQUFBLFVBQUF0QixXQUFBO01BQ0EsS0FBQUosV0FBQTtJQUNBO0lBQ0EyQixVQUFBLFdBQUFBLFdBQUFILElBQUE7TUFBQSxJQUFBSSxLQUFBO01BQ0EsS0FBQTVCLFdBQUEsUUFBQWMsS0FBQSxDQUFBVyxPQUFBLENBQUFELElBQUE7TUFDQSxLQUFBdkIsVUFBQSxHQUFBVyxNQUFBLENBQUFjLE1BQUEsS0FBQUYsSUFBQTtNQUNBLElBQUFLLFlBQUEsR0FBQUMsT0FBQTtNQUNBLElBQUFELFlBQUE7UUFDQSxLQUFBOUIsYUFBQTtRQUNBZ0MsS0FBQSxDQUFBQyxJQUFBLENBQUF4Qyw4QkFBQSxrQkFBQWdDLElBQUEsQ0FBQXRCLEVBQUE7VUFDQUMsSUFBQSxFQUFBcUIsSUFBQSxDQUFBckIsSUFBQTtVQUNBOEIsT0FBQTtRQUNBLEdBQUFDLElBQUEsV0FBQUMsUUFBQTtVQUNBLElBQUFBLFFBQUEsQ0FBQUMsTUFBQTtZQUNBQyxPQUFBLENBQUFDLEdBQUEsQ0FBQUgsUUFBQTtZQUNBUCxLQUFBLENBQUFkLEtBQUEsQ0FBQXlCLE1BQUEsQ0FBQVgsS0FBQSxDQUFBNUIsV0FBQTtZQUNBcUMsT0FBQSxDQUFBQyxHQUFBLENBQUFWLEtBQUEsQ0FBQWQsS0FBQTtZQUNBYyxLQUFBLENBQUFZLEtBQUE7WUFDQVosS0FBQSxDQUFBYSxVQUFBO1lBQ0FiLEtBQUEsQ0FBQWMsU0FBQTtVQUNBO1lBQ0FkLEtBQUEsQ0FBQVksS0FBQTtZQUNBWixLQUFBLENBQUFhLFVBQUE7WUFDQWIsS0FBQSxDQUFBYyxTQUFBO1VBQ0E7VUFDQWQsS0FBQSxDQUFBUixLQUFBO1FBQ0Esc0JBQUF1QixLQUFBO1VBQ0FmLEtBQUEsQ0FBQVksS0FBQTtVQUNBWixLQUFBLENBQUFhLFVBQUE7VUFDQWIsS0FBQSxDQUFBYyxTQUFBO1FBQ0E7VUFDQWQsS0FBQSxDQUFBN0IsYUFBQTtRQUNBO01BQ0E7SUFDQTtJQUNBNkMsUUFBQSxXQUFBQSxTQUFBcEIsSUFBQTtNQUFBLElBQUFxQixNQUFBO01BQ0E7TUFDQSxLQUFBOUMsYUFBQTtNQUNBZ0MsS0FBQSxDQUFBQyxJQUFBLENBQUF4Qyw4QkFBQTtRQUNBVyxJQUFBLEVBQUFxQixJQUFBLENBQUFyQjtNQUNBLEdBQUErQixJQUFBLFdBQUFDLFFBQUE7UUFDQSxJQUFBQSxRQUFBLENBQUFDLE1BQUE7VUFDQUMsT0FBQSxDQUFBQyxHQUFBLENBQUFILFFBQUEsQ0FBQS9DLElBQUE7VUFDQXlELE1BQUEsQ0FBQS9CLEtBQUEsQ0FBQWdDLElBQUEsQ0FBQVgsUUFBQSxDQUFBL0MsSUFBQTtVQUNBaUQsT0FBQSxDQUFBQyxHQUFBLENBQUFPLE1BQUEsQ0FBQS9CLEtBQUE7VUFDQStCLE1BQUEsQ0FBQUwsS0FBQTtVQUNBSyxNQUFBLENBQUFKLFVBQUE7VUFDQUksTUFBQSxDQUFBSCxTQUFBO1FBQ0E7VUFDQUcsTUFBQSxDQUFBTCxLQUFBO1VBQ0FLLE1BQUEsQ0FBQUosVUFBQTtVQUNBSSxNQUFBLENBQUFILFNBQUE7UUFDQTtRQUNBRyxNQUFBLENBQUF6QixLQUFBO01BQ0Esc0JBQUF1QixLQUFBO1FBQ0FFLE1BQUEsQ0FBQUwsS0FBQTtRQUNBSyxNQUFBLENBQUFKLFVBQUE7UUFDQUksTUFBQSxDQUFBSCxTQUFBO01BQ0E7UUFDQUcsTUFBQSxDQUFBOUMsYUFBQTtNQUNBO0lBQ0E7RUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcmVzb3VyY2VzL2pzL1BhZ2VzL3JvbGVzL0luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibWF4LXctNnhsIG14LWF1dG9cIj5cbiAgICAgICAgPHYtZGlhbG9nIHYtbW9kZWw9XCJkaWFsb2dcIiBtYXgtd2lkdGg9XCI4MDBweFwiPlxuICAgICAgICAgICAgPHYtY2FyZCByYWlzZWQ+XG4gICAgICAgICAgICAgICAgPHYtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtMnhsXCI+QWRkIE5ldyBSb2xlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8di1zcGFjZXI+PC92LXNwYWNlcj5cbiAgICAgICAgICAgICAgICAgICAgPHYtaWNvbiBjb2xvcj1cImVycm9yXCIgQGNsaWNrPVwiZGlhbG9nID0gZmFsc2VcIj5jYW5jZWw8L3YtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3YtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8di1kaXZpZGVyPjwvdi1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIDx2LWNhcmQtdGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTIgbXQtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHYtdGV4dC1maWVsZCB2LW1vZGVsPVwiZWRpdGVkSXRlbS5uYW1lXCIgbGFiZWw9XCJSb2xlIE5hbWVcIiBvdXRsaW5lZCBwcmVwZW5kLWljb249XCJtZGktZmluZ2VycHJpbnRcIj48L3YtdGV4dC1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC92LWNhcmQtdGV4dD5cbiAgICAgICAgICAgICAgICA8di1kaXZpZGVyPjwvdi1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIDx2LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPHYtc3BhY2VyPjwvdi1zcGFjZXI+XG4gICAgICAgICAgICAgICAgICAgIDx2LWJ0biBvdXRsaW5lZCBjb2xvcj1cImVycm9yXCIgQGNsaWNrPVwiY2xvc2VcIj5DYW5jZWw8L3YtYnRuPlxuICAgICAgICAgICAgICAgICAgICA8di1idG4gOmxvYWRpbmc9XCJsb2FkaW5nVXBkYXRlXCIgY29sb3I9XCJzdWNjZXNzXCIgQGNsaWNrPVwib25TdWJtaXQoZWRpdGVkSXRlbSlcIj5TdWJtaXQ8L3YtYnRuPlxuICAgICAgICAgICAgICAgIDwvdi1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgICA8L3YtY2FyZD5cbiAgICAgICAgPC92LWRpYWxvZz5cbiAgICAgICAgPHYtY2FyZCByYWlzZWQgY2xhc3M9XCJzaGFkb3ctbGdcIj5cbiAgICAgICAgICAgIDx2LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTN4bCBmb250LXNlbWlib2xkXCI+Um9sZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHYtc3BhY2VyPjwvdi1zcGFjZXI+XG4gICAgICAgICAgICAgICAgPHYtYnRuIGNsYXNzPVwibXgtNFwiIEBjbGljaz1cImRpYWxvZyA9IHRydWVcIiBjb2xvcj1cInByaW1hcnlcIiBvdXRsaW5lZD48di1pY29uPm1kaS1wZXJzb25fYWRkPC92LWljb24+QWRkIFJvbGU8L3YtYnRuPlxuICAgICAgICAgICAgICAgIDx2LXRleHQtZmllbGQgdi1tb2RlbD1cInNlYXJjaFwiIGFwcGVuZC1pY29uPVwic2VhcmNoXCIgbGFiZWw9XCJTZWFyY2hcIiBzaW5nbGUtbGluZSBoaWRlLWRldGFpbHM+PC92LXRleHQtZmllbGQ+XG4gICAgICAgICAgICA8L3YtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDx2LWRhdGEtdGFibGUgbXVsdGktc29ydCA6bG9hZGluZz1cImxvYWRpbmdSb2xlc1wiIDpoZWFkZXJzPVwiaGVhZGVyc1wiIDpzZWFyY2g9XCJzZWFyY2hcIiA6aXRlbXM9XCJyb2xlc1wiIGNsYXNzPVwiZWxldmF0aW9uLTFcIj5cbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1zbG90Oml0ZW0ubmFtZT1cInsgaXRlbSB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDx2LWNoaXAgY2xhc3M9XCJtYS0yXCIgY29sb3I9XCJzdWNjZXNzXCIgdGV4dC1jb2xvcj1cIndoaXRlXCI+e3sgaXRlbS5uYW1lIH19PC92LWNoaXA+XG4gICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1zbG90Oml0ZW0uYWN0aW9uPVwieyBpdGVtIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHYtaWNvbiBAY2xpY2s9XCJkZWxldGVJdGVtKGl0ZW0pXCIgY29sb3I9XCJkYW5nZXJcIj5tZGktZGVsZXRlPC92LWljb24+XG4gICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdi1kYXRhLXRhYmxlPlxuICAgICAgICA8L3YtY2FyZD5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGRhdGE6ICgpID0+ICh7XG4gICAgICAgIGxvYWRpbmdSb2xlczogZmFsc2UsXG4gICAgICAgIGRpYWxvZzogZmFsc2UsXG4gICAgICAgIGFwcE5hbWU6IHByb2Nlc3MuZW52Lk1JWF9BUFBfTkFNRSxcbiAgICAgICAgYXBwVXJsOiBwcm9jZXNzLmVudi5NSVhfQVBQX1VSTCxcbiAgICAgICAgY3NyZlRva2VuOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9XCJjc3JmLXRva2VuXCJdJykuY29udGVudCxcbiAgICAgICAgc2VhcmNoOiAnJyxcbiAgICAgICAgbG9hZGluZ1VwZGF0ZTogZmFsc2UsXG4gICAgICAgIGVkaXRlZEluZGV4OiAtMSxcbiAgICAgICAgZWRpdGVkSXRlbToge1xuICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0SXRlbToge1xuICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgICBoZWFkZXJzOiBbXG4gICAgICAgICAgICB7IHRleHQ6ICcjaWQnLCB2YWx1ZTogJ2lkJ30sXG4gICAgICAgICAgICB7IHRleHQ6ICduYW1lJywgdmFsdWU6ICduYW1lJ30sXG4gICAgICAgICAgICB7IHRleHQ6ICdDcmVhdGVkIEF0JywgdmFsdWU6ICdjcmVhdGVkX2F0J30sXG4gICAgICAgICAgICB7IHRleHQ6ICdVcGRhdGVkIEF0JywgdmFsdWU6ICd1cGRhdGVkX2F0J30sXG4gICAgICAgICAgICB7IHRleHQ6ICdBY3Rpb24nLCB2YWx1ZTogJ2FjdGlvbicsIHNvcnRhYmxlOiBmYWxzZSB9LFxuICAgICAgICBdLFxuICAgIH0pLFxuICAgIHByb3BzOntcbiAgICAgICAgdXNlcjp7XG4gICAgICAgICAgICB0eXBlOiBPYmplY3QsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcm9sZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgZm9ybVRpdGxlICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVkaXRlZEluZGV4ID09PSAtMSA/ICdOZXcgUm9sZScgOiAnRWRpdCBSb2xlJ1xuICAgICAgICB9LFxuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgZGlhbG9nICh2YWwpIHtcbiAgICAgICAgICAgIHZhbCB8fCB0aGlzLmNsb3NlKClcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGNyZWF0ZWQoKXtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgZWRpdEl0ZW0gKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdGVkSW5kZXggPSB0aGlzLnJvbGVzLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLmVkaXRlZEl0ZW0gPSBPYmplY3QuYXNzaWduKHt9LCBpdGVtKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2UgKCkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZWRpdGVkSXRlbSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGVmYXVsdEl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5lZGl0ZWRJbmRleCA9IC0xO1xuICAgICAgICB9LFxuICAgICAgICBkZWxldGVJdGVtKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdGVkSW5kZXggPSB0aGlzLnJvbGVzLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLmVkaXRlZEl0ZW0gPSBPYmplY3QuYXNzaWduKHt9LCBpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZERlbGV0ZSA9IGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nKTtcbiAgICAgICAgICAgIGlmKHNob3VsZERlbGV0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1VwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYXhpb3MucG9zdChwcm9jZXNzLmVudi5NSVhfQVBQX1VSTCArICcvYXBpL3JvbGUvJyArIGl0ZW0uaWQse1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIF9tZXRob2Q6ICdkZWxldGUnXG4gICAgICAgICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm9sZXMuc3BsaWNlKHRoaXMuZWRpdGVkSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yb2xlcylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0NvbG9yID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja1RleHQgPSAnU3VjY2Vzc2Z1bGx5IFVwZGF0ZWQnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFjayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQ29sb3IgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja1RleHQgPSAnT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmchJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0NvbG9yID0gJ2Vycm9yJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja1RleHQgPSAnT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmchJ1xuICAgICAgICAgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25TdWJtaXQoaXRlbSkge1xuICAgICAgICAgICAgLy8gQWRkXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdVcGRhdGUgPSB0cnVlO1xuICAgICAgICAgICAgYXhpb3MucG9zdChwcm9jZXNzLmVudi5NSVhfQVBQX1VSTCArICcvYXBpL3JvbGUnLHtcbiAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvbGVzLnB1c2gocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucm9sZXMpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQ29sb3IgPSAnc3VjY2Vzcyc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc25hY2tUZXh0ID0gJ1N1Y2Nlc3NmdWxseSBVcGRhdGVkJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNuYWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0NvbG9yID0gJ2Vycm9yJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja1RleHQgPSAnT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmchJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tDb2xvciA9ICdlcnJvcic7XG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja1RleHQgPSAnT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmchJ1xuICAgICAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nVXBkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/Pages/roles/Index.vue?vue&type=script&lang=js\n"); /***/ }), @@ -506,7 +506,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"container\"\n }, [_c(\"div\", {\n staticClass: \"px-2\"\n }, [_c(\"div\", {\n staticClass: \"flex flex-wrap justify-between content-center -mx-2\"\n }, _vm._l(_vm.roles, function (role) {\n return _c(\"div\", {\n staticClass: \"w-full md:w-1/2 px-2 mt-3\"\n }, [_c(\"v-card\", {\n attrs: {\n raised: \"\",\n shaped: true\n }\n }, [_c(\"v-card-title\", [_vm._v(_vm._s(role.role))]), _vm._v(\" \"), _c(\"v-card-text\", [_c(\"p\", {\n staticClass: \"text-semibold\"\n }, [_vm._v(\"Click the button to select the \" + _vm._s(role.role) + \" role and view all pending petitions requiring your approval.\")])]), _vm._v(\" \"), _c(\"v-card-actions\", [_c(\"v-spacer\"), _vm._v(\" \"), _c(\"v-btn\", {\n attrs: {\n outlined: \"\",\n color: \"info\",\n href: _vm.appUrl + role.url\n }\n }, [_vm._v(_vm._s(role.role))])], 1)], 1)], 1);\n }), 0)])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvUGFnZXMvcm9sZXMvSW5kZXgudnVlP2ZiOTIiXSwibmFtZXMiOlsicmVuZGVyIiwiX3ZtIiwiX2MiLCJfc2VsZiIsInN0YXRpY0NsYXNzIiwiX2wiLCJyb2xlcyIsInJvbGUiLCJhdHRycyIsInJhaXNlZCIsInNoYXBlZCIsIl92IiwiX3MiLCJvdXRsaW5lZCIsImNvbG9yIiwiaHJlZiIsImFwcFVybCIsInVybCIsInN0YXRpY1JlbmRlckZucyIsIl93aXRoU3RyaXBwZWQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUlBLE1BQU0sR0FBRyxTQUFTQSxNQUFNQSxDQUFBLEVBQUc7RUFDN0IsSUFBSUMsR0FBRyxHQUFHLElBQUk7SUFDWkMsRUFBRSxHQUFHRCxHQUFHLENBQUNFLEtBQUssQ0FBQ0QsRUFBRTtFQUNuQixPQUFPQSxFQUFFLENBQUMsS0FBSyxFQUFFO0lBQUVFLFdBQVcsRUFBRTtFQUFZLENBQUMsRUFBRSxDQUM3Q0YsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUFFRSxXQUFXLEVBQUU7RUFBTyxDQUFDLEVBQUUsQ0FDakNGLEVBQUUsQ0FDQSxLQUFLLEVBQ0w7SUFBRUUsV0FBVyxFQUFFO0VBQXNELENBQUMsRUFDdEVILEdBQUcsQ0FBQ0ksRUFBRSxDQUFDSixHQUFHLENBQUNLLEtBQUssRUFBRSxVQUFVQyxJQUFJLEVBQUU7SUFDaEMsT0FBT0wsRUFBRSxDQUNQLEtBQUssRUFDTDtNQUFFRSxXQUFXLEVBQUU7SUFBNEIsQ0FBQyxFQUM1QyxDQUNFRixFQUFFLENBQ0EsUUFBUSxFQUNSO01BQUVNLEtBQUssRUFBRTtRQUFFQyxNQUFNLEVBQUUsRUFBRTtRQUFFQyxNQUFNLEVBQUU7TUFBSztJQUFFLENBQUMsRUFDdkMsQ0FDRVIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDRCxHQUFHLENBQUNVLEVBQUUsQ0FBQ1YsR0FBRyxDQUFDVyxFQUFFLENBQUNMLElBQUksQ0FBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9DTixHQUFHLENBQUNVLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFDWFQsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUNoQkEsRUFBRSxDQUFDLEdBQUcsRUFBRTtNQUFFRSxXQUFXLEVBQUU7SUFBZ0IsQ0FBQyxFQUFFLENBQ3hDSCxHQUFHLENBQUNVLEVBQUUsQ0FDSixpQ0FBaUMsR0FDL0JWLEdBQUcsQ0FBQ1csRUFBRSxDQUFDTCxJQUFJLENBQUNBLElBQUksQ0FBQyxHQUNqQiwrREFDSixDQUFDLENBQ0YsQ0FBQyxDQUNILENBQUMsRUFDRk4sR0FBRyxDQUFDVSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQ1hULEVBQUUsQ0FDQSxnQkFBZ0IsRUFDaEIsQ0FDRUEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUNkRCxHQUFHLENBQUNVLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFDWFQsRUFBRSxDQUNBLE9BQU8sRUFDUDtNQUNFTSxLQUFLLEVBQUU7UUFDTEssUUFBUSxFQUFFLEVBQUU7UUFDWkMsS0FBSyxFQUFFLE1BQU07UUFDYkMsSUFBSSxFQUFFZCxHQUFHLENBQUNlLE1BQU0sR0FBR1QsSUFBSSxDQUFDVTtNQUMxQjtJQUNGLENBQUMsRUFDRCxDQUFDaEIsR0FBRyxDQUFDVSxFQUFFLENBQUNWLEdBQUcsQ0FBQ1csRUFBRSxDQUFDTCxJQUFJLENBQUNBLElBQUksQ0FBQyxDQUFDLENBQzVCLENBQUMsQ0FDRixFQUNELENBQ0YsQ0FBQyxDQUNGLEVBQ0QsQ0FDRixDQUFDLENBQ0YsRUFDRCxDQUNGLENBQUM7RUFDSCxDQUFDLENBQUMsRUFDRixDQUNGLENBQUMsQ0FDRixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFDRCxJQUFJVyxlQUFlLEdBQUcsRUFBRTtBQUN4QmxCLE1BQU0sQ0FBQ21CLGFBQWEsR0FBRyxJQUFJIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3Jlc291cmNlcy9qcy9QYWdlcy9yb2xlcy9JbmRleC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MjRiNzdiZTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpcyxcbiAgICBfYyA9IF92bS5fc2VsZi5fY1xuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjb250YWluZXJcIiB9LCBbXG4gICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJweC0yXCIgfSwgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGNvbnRlbnQtY2VudGVyIC1teC0yXCIgfSxcbiAgICAgICAgX3ZtLl9sKF92bS5yb2xlcywgZnVuY3Rpb24gKHJvbGUpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJ3LWZ1bGwgbWQ6dy0xLzIgcHgtMiBtdC0zXCIgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJ2LWNhcmRcIixcbiAgICAgICAgICAgICAgICB7IGF0dHJzOiB7IHJhaXNlZDogXCJcIiwgc2hhcGVkOiB0cnVlIH0gfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfYyhcInYtY2FyZC10aXRsZVwiLCBbX3ZtLl92KF92bS5fcyhyb2xlLnJvbGUpKV0pLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwidi1jYXJkLXRleHRcIiwgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJ0ZXh0LXNlbWlib2xkXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQ2xpY2sgdGhlIGJ1dHRvbiB0byBzZWxlY3QgdGhlIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKHJvbGUucm9sZSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcIiByb2xlIGFuZCB2aWV3IGFsbCBwZW5kaW5nIHBldGl0aW9ucyByZXF1aXJpbmcgeW91ciBhcHByb3ZhbC5cIlxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwidi1jYXJkLWFjdGlvbnNcIixcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwidi1zcGFjZXJcIiksXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidi1idG5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lZDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogXCJpbmZvXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogX3ZtLmFwcFVybCArIHJvbGUudXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKHJvbGUucm9sZSkpXVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgfSksXG4gICAgICAgIDBcbiAgICAgICksXG4gICAgXSksXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/Pages/roles/Index.vue?vue&type=template&id=24b77be7\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"max-w-6xl mx-auto\"\n }, [_c(\"v-dialog\", {\n attrs: {\n \"max-width\": \"800px\"\n },\n model: {\n value: _vm.dialog,\n callback: function callback($$v) {\n _vm.dialog = $$v;\n },\n expression: \"dialog\"\n }\n }, [_c(\"v-card\", {\n attrs: {\n raised: \"\"\n }\n }, [_c(\"v-card-title\", [_c(\"span\", {\n staticClass: \"font-semibold text-2xl\"\n }, [_vm._v(\"Add New Role\")]), _vm._v(\" \"), _c(\"v-spacer\"), _vm._v(\" \"), _c(\"v-icon\", {\n attrs: {\n color: \"error\"\n },\n on: {\n click: function click($event) {\n _vm.dialog = false;\n }\n }\n }, [_vm._v(\"cancel\")])], 1), _vm._v(\" \"), _c(\"v-divider\"), _vm._v(\" \"), _c(\"v-card-text\", [_c(\"div\", {\n staticClass: \"grid grid-cols-1 md:grid-cols-3 gap-2 mt-3\"\n }, [_c(\"v-text-field\", {\n attrs: {\n label: \"Role Name\",\n outlined: \"\",\n \"prepend-icon\": \"mdi-fingerprint\"\n },\n model: {\n value: _vm.editedItem.name,\n callback: function callback($$v) {\n _vm.$set(_vm.editedItem, \"name\", $$v);\n },\n expression: \"editedItem.name\"\n }\n })], 1)]), _vm._v(\" \"), _c(\"v-divider\"), _vm._v(\" \"), _c(\"v-card-actions\", [_c(\"v-spacer\"), _vm._v(\" \"), _c(\"v-btn\", {\n attrs: {\n outlined: \"\",\n color: \"error\"\n },\n on: {\n click: _vm.close\n }\n }, [_vm._v(\"Cancel\")]), _vm._v(\" \"), _c(\"v-btn\", {\n attrs: {\n loading: _vm.loadingUpdate,\n color: \"success\"\n },\n on: {\n click: function click($event) {\n return _vm.onSubmit(_vm.editedItem);\n }\n }\n }, [_vm._v(\"Submit\")])], 1)], 1)], 1), _vm._v(\" \"), _c(\"v-card\", {\n staticClass: \"shadow-lg\",\n attrs: {\n raised: \"\"\n }\n }, [_c(\"v-card-title\", [_c(\"span\", {\n staticClass: \"text-3xl font-semibold\"\n }, [_vm._v(\"Roles\")]), _vm._v(\" \"), _c(\"v-spacer\"), _vm._v(\" \"), _c(\"v-btn\", {\n staticClass: \"mx-4\",\n attrs: {\n color: \"primary\",\n outlined: \"\"\n },\n on: {\n click: function click($event) {\n _vm.dialog = true;\n }\n }\n }, [_c(\"v-icon\", [_vm._v(\"mdi-person_add\")]), _vm._v(\"Add Role\")], 1), _vm._v(\" \"), _c(\"v-text-field\", {\n attrs: {\n \"append-icon\": \"search\",\n label: \"Search\",\n \"single-line\": \"\",\n \"hide-details\": \"\"\n },\n model: {\n value: _vm.search,\n callback: function callback($$v) {\n _vm.search = $$v;\n },\n expression: \"search\"\n }\n })], 1), _vm._v(\" \"), _c(\"v-data-table\", {\n staticClass: \"elevation-1\",\n attrs: {\n \"multi-sort\": \"\",\n loading: _vm.loadingRoles,\n headers: _vm.headers,\n search: _vm.search,\n items: _vm.roles\n },\n scopedSlots: _vm._u([{\n key: \"item.name\",\n fn: function fn(_ref) {\n var item = _ref.item;\n return [_c(\"v-chip\", {\n staticClass: \"ma-2\",\n attrs: {\n color: \"success\",\n \"text-color\": \"white\"\n }\n }, [_vm._v(_vm._s(item.name))])];\n }\n }, {\n key: \"item.action\",\n fn: function fn(_ref2) {\n var item = _ref2.item;\n return [_c(\"v-icon\", {\n attrs: {\n color: \"danger\"\n },\n on: {\n click: function click($event) {\n return _vm.deleteItem(item);\n }\n }\n }, [_vm._v(\"mdi-delete\")])];\n }\n }])\n })], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvUGFnZXMvcm9sZXMvSW5kZXgudnVlP2ZiOTIiXSwibmFtZXMiOlsicmVuZGVyIiwiX3ZtIiwiX2MiLCJfc2VsZiIsInN0YXRpY0NsYXNzIiwiYXR0cnMiLCJtb2RlbCIsInZhbHVlIiwiZGlhbG9nIiwiY2FsbGJhY2siLCIkJHYiLCJleHByZXNzaW9uIiwicmFpc2VkIiwiX3YiLCJjb2xvciIsIm9uIiwiY2xpY2siLCIkZXZlbnQiLCJsYWJlbCIsIm91dGxpbmVkIiwiZWRpdGVkSXRlbSIsIm5hbWUiLCIkc2V0IiwiY2xvc2UiLCJsb2FkaW5nIiwibG9hZGluZ1VwZGF0ZSIsIm9uU3VibWl0Iiwic2VhcmNoIiwibG9hZGluZ1JvbGVzIiwiaGVhZGVycyIsIml0ZW1zIiwicm9sZXMiLCJzY29wZWRTbG90cyIsIl91Iiwia2V5IiwiZm4iLCJfcmVmIiwiaXRlbSIsIl9zIiwiX3JlZjIiLCJkZWxldGVJdGVtIiwic3RhdGljUmVuZGVyRm5zIiwiX3dpdGhTdHJpcHBlZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSUEsTUFBTSxHQUFHLFNBQVNBLE1BQU1BLENBQUEsRUFBRztFQUM3QixJQUFJQyxHQUFHLEdBQUcsSUFBSTtJQUNaQyxFQUFFLEdBQUdELEdBQUcsQ0FBQ0UsS0FBSyxDQUFDRCxFQUFFO0VBQ25CLE9BQU9BLEVBQUUsQ0FDUCxLQUFLLEVBQ0w7SUFBRUUsV0FBVyxFQUFFO0VBQW9CLENBQUMsRUFDcEMsQ0FDRUYsRUFBRSxDQUNBLFVBQVUsRUFDVjtJQUNFRyxLQUFLLEVBQUU7TUFBRSxXQUFXLEVBQUU7SUFBUSxDQUFDO0lBQy9CQyxLQUFLLEVBQUU7TUFDTEMsS0FBSyxFQUFFTixHQUFHLENBQUNPLE1BQU07TUFDakJDLFFBQVEsRUFBRSxTQUFBQSxTQUFVQyxHQUFHLEVBQUU7UUFDdkJULEdBQUcsQ0FBQ08sTUFBTSxHQUFHRSxHQUFHO01BQ2xCLENBQUM7TUFDREMsVUFB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Q0FBQ3FDLEVBQUUsQ0FBQ0QsSUFBSSxDQUFDaEIsSUFBSSxDQUFDLENBQUMsQ0FDNUIsQ0FBQyxDQUNGO01BQ0g7SUFDRixDQUFDLEVBQ0Q7TUFDRWEsR0FBRyxFQUFFLGFBQWE7TUFDbEJDLEVBQUUsRUFBRSxTQUFBQSxHQUFBSSxLQUFBLEVBQW9CO1FBQUEsSUFBUkYsSUFBSSxHQUFBRSxLQUFBLENBQUpGLElBQUk7UUFDbEIsT0FBTyxDQUNMbkMsRUFBRSxDQUNBLFFBQVEsRUFDUjtVQUNFRyxLQUFLLEVBQUU7WUFBRVMsS0FBSyxFQUFFO1VBQVMsQ0FBQztVQUMxQkMsRUFBRSxFQUFFO1lBQ0ZDLEtBQUssRUFBRSxTQUFBQSxNQUFVQyxNQUFNLEVBQUU7Y0FDdkIsT0FBT2hCLEdBQUcsQ0FBQ3VDLFVBQVUsQ0FBQ0gsSUFBSSxDQUFDO1lBQzdCO1VBQ0Y7UUFDRixDQUFDLEVBQ0QsQ0FBQ3BDLEdBQUcsQ0FBQ1ksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUN2QixDQUFDLENBQ0Y7TUFDSDtJQUNGLENBQUMsQ0FDRjtFQUNILENBQUMsQ0FBQyxDQUNILEVBQ0QsQ0FDRixDQUFDLENBQ0YsRUFDRCxDQUNGLENBQUM7QUFDSCxDQUFDO0FBQ0QsSUFBSTRCLGVBQWUsR0FBRyxFQUFFO0FBQ3hCekMsTUFBTSxDQUFDMEMsYUFBYSxHQUFHLElBQUkiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcmVzb3VyY2VzL2pzL1BhZ2VzL3JvbGVzL0luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yNGI3N2JlNy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzLFxuICAgIF9jID0gX3ZtLl9zZWxmLl9jXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwibWF4LXctNnhsIG14LWF1dG9cIiB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcInYtZGlhbG9nXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhdHRyczogeyBcIm1heC13aWR0aFwiOiBcIjgwMHB4XCIgfSxcbiAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgdmFsdWU6IF92bS5kaWFsb2csXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24gKCQkdikge1xuICAgICAgICAgICAgICBfdm0uZGlhbG9nID0gJCR2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJkaWFsb2dcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInYtY2FyZFwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyByYWlzZWQ6IFwiXCIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcInYtY2FyZC10aXRsZVwiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImZvbnQtc2VtaWJvbGQgdGV4dC0yeGxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIkFkZCBOZXcgUm9sZVwiKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwidi1zcGFjZXJcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwidi1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjb2xvcjogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5kaWFsb2cgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwiY2FuY2VsXCIpXVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJ2LWRpdmlkZXJcIiksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwidi1jYXJkLXRleHRcIiwgW1xuICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtMiBtdC0zXCIgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJ2LXRleHQtZmllbGRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJSb2xlIE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmVkOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmVwZW5kLWljb25cIjogXCJtZGktZmluZ2VycHJpbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmVkaXRlZEl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5lZGl0ZWRJdGVtLCBcIm5hbWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZWRpdGVkSXRlbS5uYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcInYtZGl2aWRlclwiKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJ2LWNhcmQtYWN0aW9uc1wiLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwidi1zcGFjZXJcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwidi1idG5cIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IG91dGxpbmVkOiBcIlwiLCBjb2xvcjogXCJlcnJvclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5jbG9zZSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwiQ2FuY2VsXCIpXVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJ2LWJ0blwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgbG9hZGluZzogX3ZtLmxvYWRpbmdVcGRhdGUsIGNvbG9yOiBcInN1Y2Nlc3NcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLm9uU3VibWl0KF92bS5lZGl0ZWRJdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwiU3VibWl0XCIpXVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcbiAgICAgICAgXCJ2LWNhcmRcIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJzaGFkb3ctbGdcIiwgYXR0cnM6IHsgcmFpc2VkOiBcIlwiIH0gfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJ2LWNhcmQtdGl0bGVcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwidGV4dC0zeGwgZm9udC1zZW1pYm9sZFwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCJSb2xlc1wiKSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwidi1zcGFjZXJcIiksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwidi1idG5cIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJteC00XCIsXG4gICAgICAgICAgICAgICAgICBhdHRyczogeyBjb2xvcjogXCJwcmltYXJ5XCIsIG91dGxpbmVkOiBcIlwiIH0sXG4gICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIF92bS5kaWFsb2cgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW19jKFwidi1pY29uXCIsIFtfdm0uX3YoXCJtZGktcGVyc29uX2FkZFwiKV0pLCBfdm0uX3YoXCJBZGQgUm9sZVwiKV0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcInYtdGV4dC1maWVsZFwiLCB7XG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgIFwiYXBwZW5kLWljb25cIjogXCJzZWFyY2hcIixcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlNlYXJjaFwiLFxuICAgICAgICAgICAgICAgICAgXCJzaW5nbGUtbGluZVwiOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgXCJoaWRlLWRldGFpbHNcIjogXCJcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnNlYXJjaCxcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS5zZWFyY2ggPSAkJHZcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInNlYXJjaFwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJ2LWRhdGEtdGFibGVcIiwge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZWxldmF0aW9uLTFcIixcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgIFwibXVsdGktc29ydFwiOiBcIlwiLFxuICAgICAgICAgICAgICBsb2FkaW5nOiBfdm0ubG9hZGluZ1JvbGVzLFxuICAgICAgICAgICAgICBoZWFkZXJzOiBfdm0uaGVhZGVycyxcbiAgICAgICAgICAgICAgc2VhcmNoOiBfdm0uc2VhcmNoLFxuICAgICAgICAgICAgICBpdGVtczogX3ZtLnJvbGVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiBcIml0ZW0ubmFtZVwiLFxuICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbiAoeyBpdGVtIH0pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidi1jaGlwXCIsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWEtMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgY29sb3I6IFwic3VjY2Vzc1wiLCBcInRleHQtY29sb3JcIjogXCJ3aGl0ZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhpdGVtLm5hbWUpKV1cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiBcIml0ZW0uYWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uICh7IGl0ZW0gfSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ2LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBjb2xvcjogXCJkYW5nZXJcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmRlbGV0ZUl0ZW0oaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwibWRpLWRlbGV0ZVwiKV1cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/Pages/roles/Index.vue?vue&type=template&id=24b77be7\n"); /***/ }), diff --git a/public/mix-manifest.json b/public/mix-manifest.json index f19238cf..66e0092a 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,4 +1,4 @@ { - "/js/app.js": "/js/app.js?id=4fffeaaef73c9d395ec2", - "/css/app.css": "/css/app.css?id=4de9fe04d9fee361b514" + "/js/app.js": "/js/app.js?id=3234e8ad31ea30bd0bea", + "/css/app.css": "/css/app.css?id=d079bd7d333ceee0dbea" } diff --git a/resources/js/Pages/roles/Index.vue b/resources/js/Pages/roles/Index.vue index eca50a71..232d4ed4 100644 --- a/resources/js/Pages/roles/Index.vue +++ b/resources/js/Pages/roles/Index.vue @@ -1,42 +1,163 @@ diff --git a/resources/views/components/navigation-menu.blade.php b/resources/views/components/navigation-menu.blade.php index 30eb6bf8..642c1290 100644 --- a/resources/views/components/navigation-menu.blade.php +++ b/resources/views/components/navigation-menu.blade.php @@ -50,18 +50,29 @@ class="inline-flex items-center px-3 py-2 border border-transparent text-sm lead {{ __('Users') }} - + - tune + settings - {{ __('Laravel Telescope') }} + {{ __('Roles') }} -{{-- --}} -{{-- --}} -{{-- dns--}} -{{-- --}} -{{-- {{ __('Horizon') }}--}} -{{-- --}} + @if(auth()->user()->can('super admin')) +
+ {{ __('App Management') }} +
+ + + tune + + {{ __('Laravel Telescope') }} + + {{-- --}} + {{-- --}} + {{-- dns--}} + {{-- --}} + {{-- {{ __('Horizon') }}--}} + {{-- --}} + @endcan @@ -151,12 +162,17 @@ class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hove {{ __('Users') }} - - - page_info - - {{ __('Telescope') }} - + @can('super admin') + + {{ __('Roles') }} + + + + page_info + + {{ __('Telescope') }} + + @endcan {{ __('Help') }} diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 86e5d237..a02b543b 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -7,7 +7,7 @@
-
+
{{ \Illuminate\Foundation\Inspiring::quote() }}
diff --git a/resources/views/roles/index.blade.php b/resources/views/role/index.blade.php similarity index 58% rename from resources/views/roles/index.blade.php rename to resources/views/role/index.blade.php index a462be34..caf98ec7 100644 --- a/resources/views/roles/index.blade.php +++ b/resources/views/role/index.blade.php @@ -2,11 +2,11 @@

- {{ __('Role Selection') }} + {{ __('Roles') }}

- +
diff --git a/routes/api.php b/routes/api.php index e7045e13..b99173a9 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,6 +1,7 @@ group(function() { Route::resource('/user', UserApiController::class); Route::resource('/feedback', FeedbackApiController::class); + Route::resource('/role', RoleApiController::class); }); diff --git a/routes/web.php b/routes/web.php index 0eab29ba..bc1775c2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,7 @@ name('home'); - Route::resource('/user', UserController::class); + Route::get('/user', [UserController::class, '__invoke'])->name('user.index'); + Route::get('/role', [RoleController::class, '__invoke'])->name('role.index'); Route::resource('/impersonate', ImpersonateController::class) ->only(['store', 'destroy']); Route::get('/feedback', function() {