0
0
Fork 0

chore: refs #4074 wip replace useRole for useAcl

This commit is contained in:
Jorge Penadés 2024-08-01 09:15:35 +02:00
parent 287abcf90c
commit 351c2a07dc
5 changed files with 17 additions and 18 deletions

View File

@ -115,8 +115,8 @@ watch(
); );
watch( watch(
() => [props.url, props.filter], () => [props.url, props.filter, props.userParams],
([url, filter]) => fetch({ url, filter }) ([url, filter, userParams]) => fetch({ url, filter, userParams })
); );
const addFilter = async (filter, params) => { const addFilter = async (filter, params) => {

View File

@ -13,7 +13,7 @@ import AccountCreate from './AccountCreate.vue';
import { useSummaryDialog } from 'src/composables/useSummaryDialog'; import { useSummaryDialog } from 'src/composables/useSummaryDialog';
import { useStateStore } from 'stores/useStateStore'; import { useStateStore } from 'stores/useStateStore';
import { useRole } from 'src/composables/useRole'; import { useAcl } from 'src/composables/useAcl';
import { QDialog } from 'quasar'; import { QDialog } from 'quasar';
const stateStore = useStateStore(); const stateStore = useStateStore();
@ -21,7 +21,7 @@ const router = useRouter();
const { t } = useI18n(); const { t } = useI18n();
const { viewSummary } = useSummaryDialog(); const { viewSummary } = useSummaryDialog();
const accountCreateDialogRef = ref(null); const accountCreateDialogRef = ref(null);
const showNewUserBtn = computed(() => useRole().hasAny(['itManagement'])); const showNewUserBtn = computed(() => useAcl().hasAny('Account', '*', 'WRITE'));
const filter = { const filter = {
fields: ['id', 'nickname', 'name', 'role'], fields: ['id', 'nickname', 'name', 'role'],

View File

@ -2,7 +2,7 @@
import { computed, onBeforeMount, ref } from 'vue'; import { computed, onBeforeMount, ref } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useRole } from 'src/composables/useRole'; import { useAcl } from 'src/composables/useAcl';
import axios from 'axios'; import axios from 'axios';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
@ -25,7 +25,7 @@ import InvoiceOutDescriptorProxy from 'src/pages/InvoiceOut/Card/InvoiceOutDescr
const { openConfirmationModal } = useVnConfirm(); const { openConfirmationModal } = useVnConfirm();
const { sendEmail } = usePrintService(); const { sendEmail } = usePrintService();
const { t } = useI18n(); const { t } = useI18n();
const { hasAny } = useRole(); const { hasAny } = useAcl();
const session = useSession(); const session = useSession();
const tokenMultimedia = session.getTokenMultimedia(); const tokenMultimedia = session.getTokenMultimedia();
@ -317,7 +317,7 @@ const showBalancePdf = ({ id }) => {
> >
<VnInput <VnInput
v-model="scope.value" v-model="scope.value"
:disable="!hasAny(['administrative'])" :disable="!hasAny('Receipt','*', 'WRITE')"
@keypress.enter="scope.set" @keypress.enter="scope.set"
autofocus autofocus
/> />

View File

@ -5,7 +5,7 @@ import { useI18n } from 'vue-i18n';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
import axios from 'axios'; import axios from 'axios';
import { toCurrency, toDate } from 'src/filters'; import { toCurrency, toDate } from 'src/filters';
import { useRole } from 'src/composables/useRole'; import { useAcl } from 'src/composables/useAcl';
import { downloadFile } from 'src/composables/downloadFile'; import { downloadFile } from 'src/composables/downloadFile';
import { useArrayData } from 'src/composables/useArrayData'; import { useArrayData } from 'src/composables/useArrayData';
import { usePrintService } from 'composables/usePrintService'; import { usePrintService } from 'composables/usePrintService';
@ -24,7 +24,7 @@ const $props = defineProps({ id: { type: Number, default: null } });
const { push, currentRoute } = useRouter(); const { push, currentRoute } = useRouter();
const quasar = useQuasar(); const quasar = useQuasar();
const { hasAny } = useRole(); const { hasAny } = useAcl();
const { t } = useI18n(); const { t } = useI18n();
const { openReport, sendEmail } = usePrintService(); const { openReport, sendEmail } = usePrintService();
const arrayData = useArrayData(); const arrayData = useArrayData();
@ -195,10 +195,9 @@ async function cloneInvoice() {
push({ path: `/invoice-in/${data.id}/summary` }); push({ path: `/invoice-in/${data.id}/summary` });
} }
const isAdministrative = () => hasAny(['administrative']); const canEditProp = (prop) => hasAny('InvoiceIn', prop, 'WRITE');
const isAgricultural = () => { const isAgricultural = () => {
console.error(config);
if (!config.value) return false; if (!config.value) return false;
return ( return (
invoiceIn.value?.supplier?.sageFarmerWithholdingFk === invoiceIn.value?.supplier?.sageFarmerWithholdingFk ===
@ -284,7 +283,7 @@ const createInvoiceInCorrection = async () => {
<InvoiceInToBook> <InvoiceInToBook>
<template #content="{ book }"> <template #content="{ book }">
<QItem <QItem
v-if="!entity?.isBooked && isAdministrative()" v-if="!entity?.isBooked && canEditProp('toBook')"
v-ripple v-ripple
clickable clickable
@click="book(entityId)" @click="book(entityId)"
@ -294,7 +293,7 @@ const createInvoiceInCorrection = async () => {
</template> </template>
</InvoiceInToBook> </InvoiceInToBook>
<QItem <QItem
v-if="entity?.isBooked && isAdministrative()" v-if="entity?.isBooked && canEditProp('toUnBook')"
v-ripple v-ripple
clickable clickable
@click="triggerMenu('unbook')" @click="triggerMenu('unbook')"
@ -304,7 +303,7 @@ const createInvoiceInCorrection = async () => {
</QItemSection> </QItemSection>
</QItem> </QItem>
<QItem <QItem
v-if="isAdministrative()" v-if="canEditProp('deleteById')"
v-ripple v-ripple
clickable clickable
@click="triggerMenu('delete')" @click="triggerMenu('delete')"
@ -312,7 +311,7 @@ const createInvoiceInCorrection = async () => {
<QItemSection>{{ t('Delete invoice') }}</QItemSection> <QItemSection>{{ t('Delete invoice') }}</QItemSection>
</QItem> </QItem>
<QItem <QItem
v-if="isAdministrative()" v-if="canEditProp('clone')"
v-ripple v-ripple
clickable clickable
@click="triggerMenu('clone')" @click="triggerMenu('clone')"

View File

@ -3,13 +3,13 @@ import { ref, computed } from 'vue';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import axios from 'axios'; import axios from 'axios';
import { useRole } from 'src/composables/useRole'; import { useAcl } from 'src/composables/useAcl';
import FormModel from 'components/FormModel.vue'; import FormModel from 'components/FormModel.vue';
import VnSelect from 'src/components/common/VnSelect.vue'; import VnSelect from 'src/components/common/VnSelect.vue';
import { useArrayData } from 'src/composables/useArrayData'; import { useArrayData } from 'src/composables/useArrayData';
import FetchData from 'components/FetchData.vue'; import FetchData from 'components/FetchData.vue';
const { hasAny } = useRole(); const { hasAny } = useAcl();
const { t } = useI18n(); const { t } = useI18n();
const fetchData = ref(); const fetchData = ref();
const originaLockerId = ref(); const originaLockerId = ref();
@ -57,7 +57,7 @@ const init = async (data) => {
option-label="code" option-label="code"
option-value="id" option-value="id"
hide-selected hide-selected
:readonly="!hasAny(['productionBoss', 'hr'])" :readonly="!hasAny('Worker','__get__locker','READ')"
/> />
</template> </template>
</FormModel> </FormModel>