diff --git a/src/components/VnTable/VnOrder.vue b/src/components/VnTable/VnOrder.vue
index d39fc8641..fe071a57f 100644
--- a/src/components/VnTable/VnOrder.vue
+++ b/src/components/VnTable/VnOrder.vue
@@ -70,7 +70,7 @@ function textAlignToFlex(textAlign) {
:style="textAlignToFlex(align)"
>
{{ label }}
-
+
{
>
diff --git a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
index 9d70fea38..61932468c 100644
--- a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
+++ b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
@@ -25,9 +25,7 @@ const { validate } = useValidator();
const { notify } = useNotify();
const router = useRouter();
const { t } = useI18n();
-const canEditZone = useAcl().hasAny([
- { model: 'Ticket', props: 'editZone', accessType: 'WRITE' },
-]);
+const canEditZone = useAcl().hasAcl('Ticket', 'editZone', 'WRITE');
const agencyFetchRef = ref();
const warehousesOptions = ref([]);
diff --git a/src/pages/Ticket/Card/TicketSaleMoreActions.vue b/src/pages/Ticket/Card/TicketSaleMoreActions.vue
index a1eaba53f..37441b44f 100644
--- a/src/pages/Ticket/Card/TicketSaleMoreActions.vue
+++ b/src/pages/Ticket/Card/TicketSaleMoreActions.vue
@@ -55,9 +55,7 @@ const isClaimable = computed(() => {
if (ticket.value) {
const landedPlusWeek = new Date(ticket.value.landed);
landedPlusWeek.setDate(landedPlusWeek.getDate() + 7);
- const createAfterDeadline = acl.hasAny([
- { model: 'Claim', props: 'createAfterDeadline', accessType: 'WRITE' },
- ]);
+ const createAfterDeadline = acl.hasAcl('Claim', 'createAfterDeadline', 'WRITE');
return landedPlusWeek >= Date.vnNew() || createAfterDeadline;
}
return false;
diff --git a/src/pages/Travel/Card/TravelDescriptorMenuItems.vue b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue
index 14d824b86..f8828bffe 100644
--- a/src/pages/Travel/Card/TravelDescriptorMenuItems.vue
+++ b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue
@@ -37,7 +37,7 @@ const cloneTravelWithEntries = async () => {
router.push({ name: 'TravelBasicData', params: { id: data.id } });
};
-const canDelete = computed(() => useAcl().hasAny('Travel', '*', 'WRITE'));
+const canDelete = computed(() => useAcl().hasAcl('Travel', '*', 'WRITE'));
const openDeleteEntryDialog = (id) => {
quasar
diff --git a/src/pages/Worker/Card/WorkerCalendar.vue b/src/pages/Worker/Card/WorkerCalendar.vue
index df4616011..05ebb4687 100644
--- a/src/pages/Worker/Card/WorkerCalendar.vue
+++ b/src/pages/Worker/Card/WorkerCalendar.vue
@@ -18,9 +18,7 @@ const router = useRouter();
const route = useRoute();
const { t } = useI18n();
const acl = useAcl();
-const canSeeNotes = computed(() =>
- acl.hasAny([{ model: 'Worker', props: '__get__business', accessType: 'READ' }]),
-);
+const canSeeNotes = computed(() => acl.hasAcl('Worker', '__get__business', 'READ'));
const workerIsFreelance = ref();
const WorkerFreelanceRef = ref();
const workerCalendarFilterRef = ref(null);
diff --git a/src/pages/Worker/Card/WorkerLocker.vue b/src/pages/Worker/Card/WorkerLocker.vue
index 015bced35..62891070d 100644
--- a/src/pages/Worker/Card/WorkerLocker.vue
+++ b/src/pages/Worker/Card/WorkerLocker.vue
@@ -9,7 +9,7 @@ import VnSelect from 'src/components/common/VnSelect.vue';
import { useArrayData } from 'src/composables/useArrayData';
import FetchData from 'components/FetchData.vue';
-const { hasAny } = useAcl();
+const { hasAcl } = useAcl();
const { t } = useI18n();
const fetchData = ref();
const originaLockerId = ref();
@@ -58,11 +58,7 @@ const init = async (data) => {
option-label="code"
option-value="id"
hide-selected
- :readonly="
- !hasAny([
- { model: 'Worker', props: '__get__locker', accessType: 'READ' },
- ])
- "
+ :readonly="!hasAcl('Worker', '__get__locker', 'READ')"
/>
diff --git a/src/pages/Worker/Card/WorkerTimeControl.vue b/src/pages/Worker/Card/WorkerTimeControl.vue
index 9c0fa6758..b64166c7d 100644
--- a/src/pages/Worker/Card/WorkerTimeControl.vue
+++ b/src/pages/Worker/Card/WorkerTimeControl.vue
@@ -68,13 +68,9 @@ const arrayData = useArrayData('Worker');
const acl = useAcl();
const selectedDateYear = computed(() => moment(selectedDate.value).isoWeekYear());
const worker = computed(() => arrayData.store?.data);
-const canSend = computed(() =>
- acl.hasAny([{ model: 'WorkerTimeControl', props: 'sendMail', accessType: 'WRITE' }]),
-);
+const canSend = computed(() => acl.hasAcl('WorkerTimeControl', 'sendMail', 'WRITE'));
const canUpdate = computed(() =>
- acl.hasAny([
- { model: 'WorkerTimeControl', props: 'updateMailState', accessType: 'WRITE' },
- ]),
+ acl.hasAcl('WorkerTimeControl', 'updateMailState', 'WRITE'),
);
const isHimself = computed(() => user.value.id === Number(route.params.id));
diff --git a/test/cypress/integration/invoiceIn/invoiceInDescriptor.spec.js b/test/cypress/integration/invoiceIn/invoiceInDescriptor.spec.js
index 7058e154c..fdaa01876 100644
--- a/test/cypress/integration/invoiceIn/invoiceInDescriptor.spec.js
+++ b/test/cypress/integration/invoiceIn/invoiceInDescriptor.spec.js
@@ -13,7 +13,7 @@ describe('InvoiceInDescriptor', () => {
cy.validateCheckbox(checkbox, false);
});
- it('should delete the invoice properly', () => {
+ it.skip('should delete the invoice properly', () => {
cy.visit('/#/invoice-in/2/summary');
cy.selectDescriptorOption(2);
cy.clickConfirm();
diff --git a/test/cypress/integration/vnComponent/VnShortcut.spec.js b/test/cypress/integration/vnComponent/VnShortcut.spec.js
index e08c44635..fa05e2e3d 100644
--- a/test/cypress/integration/vnComponent/VnShortcut.spec.js
+++ b/test/cypress/integration/vnComponent/VnShortcut.spec.js
@@ -27,12 +27,15 @@ describe('VnShortcuts', () => {
code: `Key${shortcut.toUpperCase()}`,
});
+ cy.waitSpinner();
cy.url().should('include', module);
if (['monitor', 'claim'].includes(module)) {
return;
}
cy.waitForElement('.q-page').should('exist');
cy.dataCy('vnTableCreateBtn').should('exist');
+ cy.waitSpinner();
+
cy.get('.q-page').trigger('keydown', {
ctrlKey: true,
altKey: true,