Procházet zdrojové kódy

feat: authorization

Muhammad Iqbal Afandi před 3 roky
rodič
revize
92f5266818

+ 5
- 0
app/Http/Controllers/ExpenseController.php Zobrazit soubor

@@ -12,6 +12,11 @@ use Inertia\Inertia;
12 12
 
13 13
 class ExpenseController extends Controller
14 14
 {
15
+    public function __construct()
16
+    {
17
+        $this->authorizeResource(Expense::class);
18
+    }
19
+
15 20
     /**
16 21
      * Display a listing of the resource.
17 22
      *

app/Http/Controllers/ReportMutationController.php → app/Http/Controllers/MutationController.php Zobrazit soubor

@@ -7,7 +7,7 @@ use App\Models\Mutation;
7 7
 use App\Services\MutationService;
8 8
 use Inertia\Inertia;
9 9
 
10
-class ReportMutationController extends Controller
10
+class MutationController extends Controller
11 11
 {
12 12
     /**
13 13
      * Display a listing of the resource.
@@ -16,6 +16,8 @@ class ReportMutationController extends Controller
16 16
      */
17 17
     public function index()
18 18
     {
19
+        $this->authorize('viewAny', Mutation::class);
20
+
19 21
         $mutations = Mutation::filter(request()->only('startDate', 'endDate'));
20 22
 
21 23
         return inertia('mutation/Report', [
@@ -47,6 +49,8 @@ class ReportMutationController extends Controller
47 49
      */
48 50
     public function exportExcel()
49 51
     {
52
+        $this->authorize('viewAny', Mutation::class);
53
+
50 54
         return new MutationExport(request());
51 55
     }
52 56
 }

+ 5
- 0
app/Http/Controllers/ParkingFeeController.php Zobrazit soubor

@@ -8,6 +8,11 @@ use Illuminate\Http\Request;
8 8
 
9 9
 class ParkingFeeController extends Controller
10 10
 {
11
+    public function __construct()
12
+    {
13
+        $this->authorizeResource(ParkingFee::class);
14
+    }
15
+
11 16
     /**
12 17
      * Display a listing of the resource.
13 18
      *

+ 5
- 0
app/Http/Controllers/TopUpController.php Zobrazit soubor

@@ -14,6 +14,11 @@ use Inertia\Inertia;
14 14
 
15 15
 class TopUpController extends Controller
16 16
 {
17
+    public function __construct()
18
+    {
19
+        $this->authorizeResource(TopUp::class);
20
+    }
21
+
17 22
     /**
18 23
      * Display a listing of the resource.
19 24
      *

+ 5
- 0
app/Http/Controllers/TypeMemberController.php Zobrazit soubor

@@ -12,6 +12,11 @@ use Illuminate\Support\Facades\DB;
12 12
 
13 13
 class TypeMemberController extends Controller
14 14
 {
15
+    public function __construct()
16
+    {
17
+        $this->authorizeResource(TypeMember::class);
18
+    }
19
+
15 20
     /**
16 21
      * Display a listing of the resource.
17 22
      *

+ 5
- 0
app/Http/Controllers/TypeVehicleController.php Zobrazit soubor

@@ -9,6 +9,11 @@ use App\Services\TypeVehicleService;
9 9
 
10 10
 class TypeVehicleController extends Controller
11 11
 {
12
+    public function __construct()
13
+    {
14
+        $this->authorizeResource(TypeVehicle::class);
15
+    }
16
+
12 17
     /**
13 18
      * Display a listing of the resource.
14 19
      *

+ 3
- 1
app/Http/Controllers/UserController.php Zobrazit soubor

@@ -18,7 +18,9 @@ class UserController extends Controller
18 18
      * @return void
19 19
      */
20 20
     public function __construct()
21
-    {}
21
+    {
22
+        $this->authorizeResource(User::class);
23
+    }
22 24
 
23 25
     /**
24 26
      * Display a listing of the resource.

+ 94
- 0
app/Policies/ExpensePolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\Expense;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class ExpensePolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        return $user->role_id !== 1;
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\Expense  $expense
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, Expense $expense)
32
+    {
33
+        return $user->role_id !== 1;
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        return $user->role_id !== 1;
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\Expense  $expense
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, Expense $expense)
55
+    {
56
+        return $user->role_id !== 1;
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\Expense  $expense
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, Expense $expense)
67
+    {
68
+        return $user->role_id !== 1;
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\Expense  $expense
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, Expense $expense)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\Expense  $expense
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, Expense $expense)
91
+    {
92
+        //
93
+    }
94
+}

+ 94
- 0
app/Policies/MemberPolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\Member;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class MemberPolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        //
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\Member  $member
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, Member $member)
32
+    {
33
+        //
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        //
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\Member  $member
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, Member $member)
55
+    {
56
+        //
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\Member  $member
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, Member $member)
67
+    {
68
+        //
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\Member  $member
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, Member $member)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\Member  $member
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, Member $member)
91
+    {
92
+        //
93
+    }
94
+}

+ 22
- 0
app/Policies/MutationPolicy.php Zobrazit soubor

@@ -0,0 +1,22 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\User;
6
+use Illuminate\Auth\Access\HandlesAuthorization;
7
+
8
+class MutationPolicy
9
+{
10
+    use HandlesAuthorization;
11
+
12
+    /**
13
+     * Determine whether the user can view any models.
14
+     *
15
+     * @param  \App\Models\User  $user
16
+     * @return \Illuminate\Auth\Access\Response|bool
17
+     */
18
+    public function viewAny(User $user)
19
+    {
20
+        return $user->role_id === 2;
21
+    }
22
+}

+ 94
- 0
app/Policies/ParkingFeePolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\ParkingFee;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class ParkingFeePolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        return $user->role_id === 2;
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\ParkingFee  $parkingFee
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, ParkingFee $parkingFee)
32
+    {
33
+        return $user->role_id === 2;
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        return $user->role_id === 2;
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\ParkingFee  $parkingFee
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, ParkingFee $parkingFee)
55
+    {
56
+        return $user->role_id === 2;
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\ParkingFee  $parkingFee
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, ParkingFee $parkingFee)
67
+    {
68
+        //
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\ParkingFee  $parkingFee
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, ParkingFee $parkingFee)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\ParkingFee  $parkingFee
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, ParkingFee $parkingFee)
91
+    {
92
+        //
93
+    }
94
+}

+ 94
- 0
app/Policies/TopUpPolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\TopUp;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class TopUpPolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        return $user->role_id === 3;
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\TopUp  $topUp
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, TopUp $topUp)
32
+    {
33
+        return $user->role_id === 3;
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        return $user->role_id === 3;
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\TopUp  $topUp
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, TopUp $topUp)
55
+    {
56
+        return $user->role_id === 3;
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\TopUp  $topUp
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, TopUp $topUp)
67
+    {
68
+        return $user->role_id === 3;
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\TopUp  $topUp
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, TopUp $topUp)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\TopUp  $topUp
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, TopUp $topUp)
91
+    {
92
+        //
93
+    }
94
+}

+ 94
- 0
app/Policies/TypeMemberPolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\TypeMember;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class TypeMemberPolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        return $user->role_id === 2;
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\TypeMember  $typeMember
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, TypeMember $typeMember)
32
+    {
33
+        return $user->role_id === 2;
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        return $user->role_id === 2;
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\TypeMember  $typeMember
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, TypeMember $typeMember)
55
+    {
56
+        return $user->role_id === 2;
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\TypeMember  $typeMember
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, TypeMember $typeMember)
67
+    {
68
+        return $user->role_id === 2;
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\TypeMember  $typeMember
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, TypeMember $typeMember)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\TypeMember  $typeMember
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, TypeMember $typeMember)
91
+    {
92
+        //
93
+    }
94
+}

+ 94
- 0
app/Policies/TypeVehiclePolicy.php Zobrazit soubor

@@ -0,0 +1,94 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\TypeVehicle;
6
+use App\Models\User;
7
+use Illuminate\Auth\Access\HandlesAuthorization;
8
+
9
+class TypeVehiclePolicy
10
+{
11
+    use HandlesAuthorization;
12
+
13
+    /**
14
+     * Determine whether the user can view any models.
15
+     *
16
+     * @param  \App\Models\User  $user
17
+     * @return \Illuminate\Auth\Access\Response|bool
18
+     */
19
+    public function viewAny(User $user)
20
+    {
21
+        return $user->role_id === 2;
22
+    }
23
+
24
+    /**
25
+     * Determine whether the user can view the model.
26
+     *
27
+     * @param  \App\Models\User  $user
28
+     * @param  \App\Models\TypeVehicle  $typeVehicle
29
+     * @return \Illuminate\Auth\Access\Response|bool
30
+     */
31
+    public function view(User $user, TypeVehicle $typeVehicle)
32
+    {
33
+        return $user->role_id === 2;
34
+    }
35
+
36
+    /**
37
+     * Determine whether the user can create models.
38
+     *
39
+     * @param  \App\Models\User  $user
40
+     * @return \Illuminate\Auth\Access\Response|bool
41
+     */
42
+    public function create(User $user)
43
+    {
44
+        return $user->role_id === 2;
45
+    }
46
+
47
+    /**
48
+     * Determine whether the user can update the model.
49
+     *
50
+     * @param  \App\Models\User  $user
51
+     * @param  \App\Models\TypeVehicle  $typeVehicle
52
+     * @return \Illuminate\Auth\Access\Response|bool
53
+     */
54
+    public function update(User $user, TypeVehicle $typeVehicle)
55
+    {
56
+        return $user->role_id === 2;
57
+    }
58
+
59
+    /**
60
+     * Determine whether the user can delete the model.
61
+     *
62
+     * @param  \App\Models\User  $user
63
+     * @param  \App\Models\TypeVehicle  $typeVehicle
64
+     * @return \Illuminate\Auth\Access\Response|bool
65
+     */
66
+    public function delete(User $user, TypeVehicle $typeVehicle)
67
+    {
68
+        return $user->role_id === 2;
69
+    }
70
+
71
+    /**
72
+     * Determine whether the user can restore the model.
73
+     *
74
+     * @param  \App\Models\User  $user
75
+     * @param  \App\Models\TypeVehicle  $typeVehicle
76
+     * @return \Illuminate\Auth\Access\Response|bool
77
+     */
78
+    public function restore(User $user, TypeVehicle $typeVehicle)
79
+    {
80
+        //
81
+    }
82
+
83
+    /**
84
+     * Determine whether the user can permanently delete the model.
85
+     *
86
+     * @param  \App\Models\User  $user
87
+     * @param  \App\Models\TypeVehicle  $typeVehicle
88
+     * @return \Illuminate\Auth\Access\Response|bool
89
+     */
90
+    public function forceDelete(User $user, TypeVehicle $typeVehicle)
91
+    {
92
+        //
93
+    }
94
+}

+ 97
- 0
app/Policies/UserPolicy.php Zobrazit soubor

@@ -0,0 +1,97 @@
1
+<?php
2
+
3
+namespace App\Policies;
4
+
5
+use App\Models\User;
6
+use Illuminate\Auth\Access\HandlesAuthorization;
7
+
8
+class UserPolicy
9
+{
10
+    use HandlesAuthorization;
11
+
12
+    /**
13
+     * Determine whether the user can view any models.
14
+     *
15
+     * @param  \App\Models\User  $user
16
+     * @return \Illuminate\Auth\Access\Response|bool
17
+     */
18
+    public function viewAny(User $user)
19
+    {
20
+        return $user->role_id === 1;
21
+    }
22
+
23
+    /**
24
+     * Determine whether the user can view the model.
25
+     *
26
+     * @param  \App\Models\User  $user
27
+     * @param  \App\Models\User  $model
28
+     * @return \Illuminate\Auth\Access\Response|bool
29
+     */
30
+    public function view(User $user, User $model)
31
+    {
32
+        return $model->role_id === $user->role_id;
33
+    }
34
+
35
+    /**
36
+     * Determine whether the user can create models.
37
+     *
38
+     * @param  \App\Models\User  $user
39
+     * @return \Illuminate\Auth\Access\Response|bool
40
+     */
41
+    public function create(User $user)
42
+    {
43
+        return $user->role_id === 1;
44
+    }
45
+
46
+    /**
47
+     * Determine whether the user can update the model.
48
+     *
49
+     * @param  \App\Models\User  $user
50
+     * @param  \App\Models\User  $model
51
+     * @return \Illuminate\Auth\Access\Response|bool
52
+     */
53
+    public function update(User $user, User $model)
54
+    {
55
+        if (request()->routeIs('users.edit')) {
56
+            return $user->role_id === 1;
57
+        } else {
58
+            return true;
59
+        }
60
+    }
61
+
62
+    /**
63
+     * Determine whether the user can delete the model.
64
+     *
65
+     * @param  \App\Models\User  $user
66
+     * @param  \App\Models\User  $model
67
+     * @return \Illuminate\Auth\Access\Response|bool
68
+     */
69
+    public function delete(User $user, User $model)
70
+    {
71
+        return $user->role_id === 1;
72
+    }
73
+
74
+    /**
75
+     * Determine whether the user can restore the model.
76
+     *
77
+     * @param  \App\Models\User  $user
78
+     * @param  \App\Models\User  $model
79
+     * @return \Illuminate\Auth\Access\Response|bool
80
+     */
81
+    public function restore(User $user, User $model)
82
+    {
83
+        //
84
+    }
85
+
86
+    /**
87
+     * Determine whether the user can permanently delete the model.
88
+     *
89
+     * @param  \App\Models\User  $user
90
+     * @param  \App\Models\User  $model
91
+     * @return \Illuminate\Auth\Access\Response|bool
92
+     */
93
+    public function forceDelete(User $user, User $model)
94
+    {
95
+        //
96
+    }
97
+}

+ 23
- 0
app/Providers/AuthServiceProvider.php Zobrazit soubor

@@ -2,6 +2,21 @@
2 2
 
3 3
 namespace App\Providers;
4 4
 
5
+use App\Models\Expense;
6
+use App\Models\Member;
7
+use App\Models\Mutation;
8
+use App\Models\ParkingFee;
9
+use App\Models\TopUp;
10
+use App\Models\TypeMember;
11
+use App\Models\TypeVehicle;
12
+use App\Models\User;
13
+use App\Policies\ExpensePolicy;
14
+use App\Policies\MemberPolicy;
15
+use App\Policies\MutationPolicy;
16
+use App\Policies\ParkingFeePolicy;
17
+use App\Policies\TopUpPolicy;
18
+use App\Policies\TypeMemberPolicy;
19
+use App\Policies\UserPolicy;
5 20
 use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
6 21
 
7 22
 class AuthServiceProvider extends ServiceProvider
@@ -13,6 +28,14 @@ class AuthServiceProvider extends ServiceProvider
13 28
      */
14 29
     protected $policies = [
15 30
         // Class::class => ClassPolicy::class,
31
+        User::class => UserPolicy::class,
32
+        Expense::class => ExpensePolicy::class,
33
+        Member::class => MemberPolicy::class,
34
+        Mutation::class => MutationPolicy::class,
35
+        ParkingFee::class => ParkingFeePolicy::class,
36
+        TopUp::class => TopUpPolicy::class,
37
+        TypeMember::class => TypeMemberPolicy::class,
38
+        TypeVehicle::class => TypeVehicle::class,
16 39
     ];
17 40
 
18 41
     /**

+ 3
- 21
public/js/resources_js_pages_topup_Index_vue.js Zobrazit soubor

@@ -1154,13 +1154,9 @@ var _hoisted_6 = {
1154 1154
   "class": "col-12 md:col-3"
1155 1155
 };
1156 1156
 var _hoisted_7 = {
1157
-  key: 0,
1158
-  "class": "col-12 md:col-3"
1159
-};
1160
-var _hoisted_8 = {
1161 1157
   "class": "col-auto mt-2 ml-2"
1162 1158
 };
1163
-var _hoisted_9 = {
1159
+var _hoisted_8 = {
1164 1160
   "class": "col-12 md:col-4 flex flex-column md:flex-row justify-content-end"
1165 1161
 };
1166 1162
 function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -1168,8 +1164,6 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1168 1164
 
1169 1165
   var _component_Calendar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Calendar");
1170 1166
 
1171
-  var _component_Dropdown = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Dropdown");
1172
-
1173 1167
   var _component_Button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Button");
1174 1168
 
1175 1169
   var _component_Column = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Column");
@@ -1209,23 +1203,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1209 1203
             "manual-input": false
1210 1204
           }, null, 8
1211 1205
           /* PROPS */
1212
-          , ["modelValue"])]), _ctx.$page.props.auth.user.role_id === 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Dropdown, {
1213
-            "class": "w-full",
1214
-            placeholder: "pilih outlet...",
1215
-            modelValue: $setup.filterForm.outlet,
1216
-            "onUpdate:modelValue": _cache[2] || (_cache[2] = function ($event) {
1217
-              return $setup.filterForm.outlet = $event;
1218
-            }),
1219
-            "option-label": "label",
1220
-            "option-value": "value",
1221
-            options: _ctx.outlets
1222
-          }, null, 8
1223
-          /* PROPS */
1224
-          , ["modelValue", "options"])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
1206
+          , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
1225 1207
             label: "reset",
1226 1208
             "class": "p-button-link",
1227 1209
             onClick: $setup.filterReset
1228
-          })])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1210
+          })])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1229 1211
             label: "Top Up",
1230 1212
             "class": "p-button-outlined",
1231 1213
             icon: "pi pi-pencil",

+ 1
- 1
public/js/vue.js Zobrazit soubor

@@ -58396,7 +58396,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
58396 58396
 /******/ 		// This function allow to reference async chunks
58397 58397
 /******/ 		__webpack_require__.u = (chunkId) => {
58398 58398
 /******/ 			// return url for filenames based on template
58399
-/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"5b9f0529bda25a9b","resources_js_pages_auth_Login_vue":"61b9c9ae1ae9da32","resources_js_pages_auth_ResetPassword_vue":"b091193a1e114ce8","resources_js_pages_auth_VerifyEmail_vue":"d9853eae0a0235f2","resources_js_pages_expense_Create_vue":"24ce2fe5d7bc72c8","resources_js_pages_expense_Index_vue":"798dbf6d69320567","resources_js_pages_expense_Show_vue":"d5681c75fde77308","resources_js_pages_expense_TableHeader_js":"eed3f0613f167cfd","resources_js_pages_home_Index_vue":"b922dc090509ea08","resources_js_pages_member_Create_vue":"fc1cd382141d2c70","resources_js_pages_member_Edit_vue":"33eee7f2667de50d","resources_js_pages_member_Index_vue":"cf14eae2779192d8","resources_js_pages_member_TableHeader_js":"51dbf053f7ddd45c","resources_js_pages_mutation_Report_vue":"6569326149c7e8b3","resources_js_pages_mutation_TableHeader_js":"7822e888aa3c52fc","resources_js_pages_parkingfee_Create_vue":"2d28f6b526f6f602","resources_js_pages_topup_Create_vue":"d4b2fe633c0691f2","resources_js_pages_topup_Index_vue":"60a18a4c3c4e6123","resources_js_pages_topup_Show_vue":"cd5e15ada76e9fbe","resources_js_pages_topup_TableHeader_js":"601b7c0a855ce64e","resources_js_pages_typemember_Create_vue":"06b9f61209ca7651","resources_js_pages_typemember_Edit_vue":"4d8a32f046a9a08b","resources_js_pages_typemember_Index_vue":"73b3a8ec31100c62","resources_js_pages_typemember_TableHeader_js":"ac1d31a59f8d464e","resources_js_pages_typevehicle_Create_vue":"75389ee20755d74a","resources_js_pages_typevehicle_Edit_vue":"09a18fe1169d4335","resources_js_pages_typevehicle_Index_vue":"d15b150b4fdee4ad","resources_js_pages_typevehicle_TableHeader_js":"a40378918fbe74e1","resources_js_pages_user_Create_vue":"9b13f9080e20bf2d","resources_js_pages_user_Edit_vue":"4edf8db4d7073eac","resources_js_pages_user_Index_vue":"9c791e4ceac6a483","resources_js_pages_user_Show_vue":"2431556dd033ddb2","resources_js_pages_user_TableHeader_js":"0d87fd422fe40491"}[chunkId] + "";
58399
+/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"5b9f0529bda25a9b","resources_js_pages_auth_Login_vue":"61b9c9ae1ae9da32","resources_js_pages_auth_ResetPassword_vue":"b091193a1e114ce8","resources_js_pages_auth_VerifyEmail_vue":"d9853eae0a0235f2","resources_js_pages_expense_Create_vue":"24ce2fe5d7bc72c8","resources_js_pages_expense_Index_vue":"798dbf6d69320567","resources_js_pages_expense_Show_vue":"d5681c75fde77308","resources_js_pages_expense_TableHeader_js":"eed3f0613f167cfd","resources_js_pages_home_Index_vue":"b922dc090509ea08","resources_js_pages_member_Create_vue":"fc1cd382141d2c70","resources_js_pages_member_Edit_vue":"33eee7f2667de50d","resources_js_pages_member_Index_vue":"cf14eae2779192d8","resources_js_pages_member_TableHeader_js":"51dbf053f7ddd45c","resources_js_pages_mutation_Report_vue":"6569326149c7e8b3","resources_js_pages_mutation_TableHeader_js":"7822e888aa3c52fc","resources_js_pages_parkingfee_Create_vue":"2d28f6b526f6f602","resources_js_pages_topup_Create_vue":"d4b2fe633c0691f2","resources_js_pages_topup_Index_vue":"b2565eb99363b9ba","resources_js_pages_topup_Show_vue":"cd5e15ada76e9fbe","resources_js_pages_topup_TableHeader_js":"601b7c0a855ce64e","resources_js_pages_typemember_Create_vue":"06b9f61209ca7651","resources_js_pages_typemember_Edit_vue":"4d8a32f046a9a08b","resources_js_pages_typemember_Index_vue":"73b3a8ec31100c62","resources_js_pages_typemember_TableHeader_js":"ac1d31a59f8d464e","resources_js_pages_typevehicle_Create_vue":"75389ee20755d74a","resources_js_pages_typevehicle_Edit_vue":"09a18fe1169d4335","resources_js_pages_typevehicle_Index_vue":"d15b150b4fdee4ad","resources_js_pages_typevehicle_TableHeader_js":"a40378918fbe74e1","resources_js_pages_user_Create_vue":"9b13f9080e20bf2d","resources_js_pages_user_Edit_vue":"4edf8db4d7073eac","resources_js_pages_user_Index_vue":"9c791e4ceac6a483","resources_js_pages_user_Show_vue":"2431556dd033ddb2","resources_js_pages_user_TableHeader_js":"0d87fd422fe40491"}[chunkId] + "";
58400 58400
 /******/ 		};
58401 58401
 /******/ 	})();
58402 58402
 /******/ 	

+ 0
- 10
resources/js/pages/topup/Index.vue Zobrazit soubor

@@ -94,16 +94,6 @@ const filterReset = () => {
94 94
                   :manual-input="false"
95 95
                 />
96 96
               </div>
97
-              <div v-if="$page.props.auth.user.role_id === 1" class="col-12 md:col-3">
98
-                <Dropdown
99
-                  class="w-full"
100
-                  placeholder="pilih outlet..."
101
-                  v-model="filterForm.outlet"
102
-                  option-label="label"
103
-                  option-value="value"
104
-                  :options="outlets"
105
-                />
106
-              </div>
107 97
               <div class="col-auto mt-2 ml-2">
108 98
                 <Button label="reset" class="p-button-link" @click="filterReset" />
109 99
               </div>

+ 3
- 3
routes/web.php Zobrazit soubor

@@ -3,8 +3,8 @@
3 3
 use App\Http\Controllers\DashboardController;
4 4
 use App\Http\Controllers\ExpenseController;
5 5
 use App\Http\Controllers\MemberController;
6
+use App\Http\Controllers\MutationController;
6 7
 use App\Http\Controllers\ParkingFeeController;
7
-use App\Http\Controllers\ReportMutationController;
8 8
 use App\Http\Controllers\TopUpController;
9 9
 use App\Http\Controllers\TypeMemberController;
10 10
 use App\Http\Controllers\TypeVehicleController;
@@ -29,8 +29,8 @@ Route::middleware(['auth', 'verified'])->group(function () {
29 29
 
30 30
     Route::resource('/expenses', ExpenseController::class);
31 31
 
32
-    Route::get('/reports/mutations', [ReportMutationController::class, 'index']);
33
-    Route::get('/reports/mutations/export/excel', [ReportMutationController::class, 'exportExcel'])->name('mutations.excel');
32
+    Route::get('/reports/mutations', [MutationController::class, 'index']);
33
+    Route::get('/reports/mutations/export/excel', [MutationController::class, 'exportExcel'])->name('mutations.excel');
34 34
 
35 35
     Route::resource('/members', MemberController::class);
36 36