View | Details | Raw Unified | Return to bug 38930
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/permissions.js (-1 / +27 lines)
Line 0 Link Here
0
- 
1
import { defineStore } from "pinia";
2
import { APIClient } from "../fetch/api-client.js";
3
4
export const usePermissionsStore = defineStore("permissions", {
5
    state: () => ({
6
        userPermissions: null,
7
    }),
8
    actions: {
9
        isUserPermitted(operation, permissions) {
10
            const userPermissions = permissions
11
                ? permissions
12
                : this.userPermissions;
13
            if (!operation) return true;
14
            if (!userPermissions) return false;
15
16
            return (
17
                userPermissions.hasOwnProperty(operation) &&
18
                userPermissions[operation]
19
            );
20
        },
21
        async loadUserPermissions() {
22
            const userPermissions =
23
                await APIClient.patron.userPermissions.get();
24
            this.userPermissions = userPermissions.permissions;
25
        },
26
    },
27
});

Return to bug 38930