|
|
|
import { mapActions } from "vuex";
|
|
|
|
import globalStore from "@Global/store";
|
|
|
|
import authStore from "@Core/store";
|
|
|
|
import permissionList from "@Global/utils/Permissions/list";
|
|
|
|
import { UserService } from "@Global/services/storage.services";
|
|
|
|
const global = {
|
|
|
|
methods: {
|
|
|
|
$_getPath(subPath = '') {
|
|
|
|
const path = process.env.MIX_PUSHER_APP_PUBLIC_PATH ? process.env.MIX_PUSHER_APP_PUBLIC_PATH : '/';
|
|
|
|
return path + subPath;
|
|
|
|
},
|
|
|
|
|
|
|
|
//Modal
|
|
|
|
|
|
|
|
...mapActions("modal", ["openModal", "closeModal", "dialog"]),
|
|
|
|
$_openModal(options) {
|
|
|
|
this.openModal(options);
|
|
|
|
},
|
|
|
|
$_closeModal(options) {
|
|
|
|
this.closeModal(options);
|
|
|
|
},
|
|
|
|
|
|
|
|
//Alert
|
|
|
|
|
|
|
|
$_dialog(options) {
|
|
|
|
this.dialog(options);
|
|
|
|
},
|
|
|
|
|
|
|
|
//Permission
|
|
|
|
$_hasPermission(permission, owner = false) {
|
|
|
|
let currentModule = globalStore.state.common.current_module;
|
|
|
|
let permissions = authStore.state.auth.permissions;
|
|
|
|
let multiPermission = permission.split("|");
|
|
|
|
let siteOwner = !!UserService.get().is_owner;
|
|
|
|
for (const iterator of multiPermission) {
|
|
|
|
if (iterator == "") {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
permission = permissionList[iterator];
|
|
|
|
if (
|
|
|
|
siteOwner ||
|
|
|
|
owner ||
|
|
|
|
(permission &&
|
|
|
|
permissions[currentModule] &&
|
|
|
|
Object.values(permissions[currentModule]).includes(
|
|
|
|
permission
|
|
|
|
))
|
|
|
|
) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export { global };
|