diff --git a/CHANGELOG.md b/CHANGELOG.md index f1d10b26e..88abb9ae0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,183 @@ +# Version 24.40 - 2024-10-02 + +### Added 🆕 + +- chore: refs #4074 admit several acls by:jorgep +- chore: refs #4074 drop workerCreate by:jorgep +- chore: refs #4074 fix tests by:jorgep +- chore: refs #4074 wip replace useRole for useAcl by:jorgep +- chore: refs #7155 remove console.log by:alexm +- chore: refs #7155 typo by:alexm +- chore: refs #7663 add test by:jorgep +- chore: refs #7663 create test wip by:jorgep +- chore: refs #7663 drop useless code (origin/7663-setWeight) by:jorgep +- chore: refs #7828 fix e2e by:jorgep +- feat(AccountBasicData): add twoFactorFk by:alexm +- feat: add max rule by:Javier Segarra +- feat: add shortcut add event in some subSections by:Javier Segarra +- feat: add shortcut more buttons (origin/add_shortcut_add_subSections) by:Javier Segarra +- feat: add tooltip CustomerNewCustomAgent by:Javier Segarra +- feat: apply color when today by:Javier Segarra +- feat: change label because its more natural by:Javier Segarra +- feat: change order by:Javier Segarra +- feat: change QBadge color by:Javier Segarra +- feat: change url CustomerList by:Javier Segarra +- feat: copy customer countryFk by:Javier Segarra +- feat: create VnSelectEnum and add in AccountBasicData and ClaimBasicData by:alexm +- feat: CustomerBalance by:Javier Segarra +- feat: CustomerConsumptionFilter by:Javier Segarra +- feat: customer consumption (origin/7830-customerDesplegables, 7830-customerDesplegables) by:alexm +- feat: CustomerCreateTicket by:Javier Segarra +- feat: CustomerCredit section by:Javier Segarra +- feat: CustomerGreuges by:Javier Segarra +- feat: CustomerSample to VnTable by:Javier Segarra +- feat: global handler (origin/fix_global_handler, fix_global_handler) by:alexm +- feat: goToSupplier by:Javier Segarra +- feat: handle newValue by:Javier Segarra +- feat: handle same multiple CP by:Javier Segarra +- feat: hide menus on small view (origin/hideMenu) by:jorgep +- feat: minor changes by:Javier Segarra +- feat: orderCreateDialog by:Javier Segarra +- feat: refs #4074 drop useless code by:jorgep +- feat: refs #4074 useAcl in vnSelectDialog by:jorgep +- feat: refs #6346 new wagon type section by:Jon +- feat: refs #7404 add m3 and fix detail by:pablone +- feat: refs #7404 add some style to the form and reorganize fields by:pablone +- feat: refs #7404 add travel m3 to reserves form by:pablone +- feat: refs #7404 style dynamic text color by:pablone +- feat: refs #7404 travel m3 form by:pablone +- feat: refs #7500 added VnImg to show files by:Jon +- feat: refs #7663 add setWeight menu opt (wip) by:jorgep +- feat: refs #7663 fine tunning by:jorgep +- feat: refs #7828 create axios instance which no manage errors (origin/7828-makeCorrectCalls) by:jorgep +- feat: refs #7828 useAcl & cherry pick mail data worker by:jorgep +- feat: remove cli warnings by:Javier Segarra +- feat: show preparation field by:Javier Segarra +- feat: stateGroupedFilter by:Javier Segarra +- feat: translations fixed by:jgallego +- feat(TravelList): add daysOnward by:alexm +- feat: travel m3 by:pablone +- feat: use disableInifiniteScroll property by:Javier Segarra +- feat: VnImg draggable by:Javier Segarra +- feat: vnLocation changes by:Javier Segarra +- feat: vnSelect exprBuilder by:Javier Segarra +- fix: refs #7404 remove some style by:pablone +- fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone +- fix: refs #7404 translates and some minor style fixes by:pablone +- fix: styles by:Javier Segarra +- perf: improve style by:Javier Segarra + +### Changed 📦 + +- perf: CustomerBalance by:Javier Segarra +- perf: CustomerBasicData by:Javier Segarra +- perf: CustomerBasicData.salesPersonFk by:Javier Segarra +- perf: CustomerSummary by:Javier Segarra +- perf: customerSummaryTable by:Javier Segarra +- perf: disable card option by:Javier Segarra +- perf: i18n by:Javier Segarra +- perf: improve by:Javier Segarra +- perf: improve style by:Javier Segarra +- perf: imrpove exprBuilder by:Javier Segarra +- perf: minor comments by:Javier Segarra +- perf: refs #6346 previous changes by:Jon +- perf: sendEmail customerConsumption by:Javier Segarra +- perf: solve reload CardSummary component by:Javier Segarra +- perf: update CustommerDescriptor by:Javier Segarra +- refactor: refs #4074 accept array by:jorgep +- refactor: refs #4074 rollback by:jorgep +- refactor: refs #4074 use acl & drop useless roles by:jorgep +- refactor: refs #4074 useAcl in navigationStore & router by:jorgep +- refactor: refs #4074 use fn (origin/4074-useAcls) by:jorgep +- refactor: refs #4074 use VnTitle by:jorgep +- refactor: refs #6346 deleted front error checking by:Jon +- refactor: refs #6346 requested changes by:Jon +- refactor: refs #6346 wagons to VnTable by:Jon +- refactor: refs #7500 deleted useless code by:Jon +- refactor: refs #7500 refactor vnimg when storage is dms by:Jon +- refactor: refs #7828 wip by:jorgep + +### Fixed 🛠️ + +- chore: refs #4074 fix tests by:jorgep +- chore: refs #7828 fix e2e by:jorgep +- feat: refs #7404 add m3 and fix detail by:pablone +- feat: translations fixed by:jgallego +- fix: #5938 grouped filter by:Javier Segarra +- fix: #6943 fix customerSummaryTable by:Javier Segarra +- fix: #6943 show nickname salesPerson by:Javier Segarra +- fix: address-create i18n by:Javier Segarra +- fix: comments (origin/6943_fix_customer_module, 6943_fix_customer_module) by:Javier Segarra +- fix: CusomerSummary to Address by:Javier Segarra +- fix: CustomerAddress mobile by:Javier Segarra +- fix: CustomerBillingData by:Javier Segarra +- fix: Customerconsumption by:Javier Segarra +- fix: customer credit opinion by:alexm +- fix: CustomerCreditOpinion workerDescriptor by:Javier Segarra +- fix: CustomerDescriptorAccount by:Javier Segarra +- fix: CustomerDescriptor.bussinessTypeFk by:Javier Segarra +- fix: CustomerFilter by:Javier Segarra +- fix: CustomerGreuges by:Javier Segarra +- fix: CustomerMandates by:Javier Segarra +- fix: Customer module find salesPersons out of first get by:Javier Segarra +- fix: CustomerRecovery transalate label by:Javier Segarra +- fix: CustomerSamples by:Javier Segarra +- fix: customerSummaryToTicketList button by:Javier Segarra +- fix: CustomerWebPayment by:Javier Segarra +- fix: CustommerSummaryTable Proxy by:Javier Segarra +- fix: deleted code by:Jon +- fix: duplicate code by:alexm +- fix: emit:updateModelValue by:Javier Segarra +- fix: fixed wagon tests by:Jon +- fix: fix wagon list reload by:Jon +- fix: i18n en preparation label by:Javier Segarra +- fix: infiniteScroll by:Javier Segarra +- fix: isFullMovable checkbox by:Javier Segarra +- fix: merge conflicts by:Javier Segarra +- fix: merge in dev by:alexm +- fix: missing code by:Jon +- fix: Options VnSelect properties by:Javier Segarra +- fix: refs #4074 await to watch by:jorgep +- fix: refs #4074 drop wrong acl by:jorgep +- fix: refs #4074 workerCard data-key by:jorgep +- fix: refs #6346 fix list and create by:pablone +- fix: refs #6943 prevent null (origin/6943-warmfix-preventNull) by:jorgep +- fix: refs #7155 remove userParams in watcher (7155-travel_daysOnward) by:alexm +- fix: refs #7155 use chip-locale (origin/7155-travel_daysOnward_2, 7155-travel_daysOnward_2) by:alexm +- fix: refs #7404 remove console.log by:pablone +- fix: refs #7404 remove from test by:pablone +- fix: refs #7404 remove some style by:pablone +- fix: refs #7404 revert commit prevent production access by:pablone +- fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone +- fix: refs #7404 translates and some minor style fixes by:pablone +- fix: refs #7500 fixed e2e test by:Jon +- fix: refs #7500 fixed showing images wrongly by:Jon +- fix: refs #7830 customer credit by:pablone +- fix: refs #7830 remove console.log by:pablone +- fix: remove console.log by:pablone +- fix: remove FetchData by:Javier Segarra +- fix: remove FIXME (origin/6943_fix_customerSummaryTable) by:Javier Segarra +- fix: remove print variable by:Javier Segarra +- fix: remove promise execution by:Javier Segarra +- fix: reset VnTable scroll properties by:Javier Segarra +- fix: rule by:Javier Segarra +- fix: solve conflicts from master to test by:Javier Segarra +- fix: split params (origin/warmfix-addSearchUrl) by:jorgep +- fix: state cell by:Javier Segarra +- fix: stop call back event hasMoreData by:Javier Segarra +- fix: styles by:Javier Segarra +- fix: SupplierFiscalData VnLocation (origin/fix_supplierFD_location) by:Javier Segarra +- fix: VnLocation test by:Javier Segarra +- fix(VnTable): header background-color by:alexm +- fix(VnTable): sanitizer value is defined by:carlossa +- fix: wagon reload (origin/FixWagonRedirect) by:Jon +- fix: workerDms filter workerFk by:alexm +- fix(WorkerList): add type email by:alexm +- Merge remote-tracking branch 'origin/7830-customerDesplegables' into 6943_fix_customerSummaryTable by:Javier Segarra +- refs #7155 scopeDays fix (origin/7155-scopeDays) by:carlossa +- revert: vnUSerLink change by:Javier Segarra +- test: fix test (7677_vnLocation_perf) by:Javier Segarra + # Version 24.38 - 2024-09-17 ### Added 🆕 diff --git a/package.json b/package.json index eaaa0b812..a61c8f21a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "salix-front", - "version": "24.42.0", + "version": "24.44.0", "description": "Salix frontend", "productName": "Salix", "author": "Verdnatura", diff --git a/src/boot/axios.js b/src/boot/axios.js index 99a163cca..3bd80f487 100644 --- a/src/boot/axios.js +++ b/src/boot/axios.js @@ -2,9 +2,11 @@ import axios from 'axios'; import { useSession } from 'src/composables/useSession'; import { Router } from 'src/router'; import useNotify from 'src/composables/useNotify.js'; +import { useStateQueryStore } from 'src/stores/useStateQueryStore'; const session = useSession(); const { notify } = useNotify(); +const stateQuery = useStateQueryStore(); const baseUrl = '/api/'; axios.defaults.baseURL = baseUrl; @@ -15,7 +17,7 @@ const onRequest = (config) => { if (token.length && !config.headers.Authorization) { config.headers.Authorization = token; } - + stateQuery.add(config); return config; }; @@ -24,10 +26,10 @@ const onRequestError = (error) => { }; const onResponse = (response) => { - const { method } = response.config; + const config = response.config; + stateQuery.remove(config); - const isSaveRequest = method === 'patch'; - if (isSaveRequest) { + if (config.method === 'patch') { notify('globals.dataSaved', 'positive'); } @@ -35,6 +37,8 @@ const onResponse = (response) => { }; const onResponseError = (error) => { + stateQuery.remove(error.config); + let message = ''; const response = error.response; diff --git a/src/boot/defaults/qInput.js b/src/boot/defaults/qInput.js new file mode 100644 index 000000000..299b98718 --- /dev/null +++ b/src/boot/defaults/qInput.js @@ -0,0 +1,4 @@ +import { QInput } from 'quasar'; +import setDefault from './setDefault'; + +setDefault(QInput, 'dense', true); diff --git a/src/boot/defaults/qSelect.js b/src/boot/defaults/qSelect.js new file mode 100644 index 000000000..be0ba048a --- /dev/null +++ b/src/boot/defaults/qSelect.js @@ -0,0 +1,4 @@ +import { QSelect } from 'quasar'; +import setDefault from './setDefault'; + +setDefault(QSelect, 'dense', true); diff --git a/src/boot/quasar.defaults.js b/src/boot/quasar.defaults.js index c792100d7..9638e2057 100644 --- a/src/boot/quasar.defaults.js +++ b/src/boot/quasar.defaults.js @@ -1 +1,3 @@ export * from './defaults/qTable'; +export * from './defaults/qInput'; +export * from './defaults/qSelect'; diff --git a/src/components/CreateBankEntityForm.vue b/src/components/CreateBankEntityForm.vue index 1117225c7..a42be6ef8 100644 --- a/src/components/CreateBankEntityForm.vue +++ b/src/components/CreateBankEntityForm.vue @@ -21,7 +21,7 @@ const customer = computed(() => state.get('customer')); const bankEntityFormData = reactive({ name: null, bic: null, - countryFk: customer.value.countryFk, + countryFk: customer.value?.countryFk, id: null, }); @@ -31,8 +31,8 @@ const countriesFilter = { const countriesOptions = ref([]); -const onDataSaved = (formData, requestResponse) => { - emit('onDataSaved', formData, requestResponse); +const onDataSaved = (...args) => { + emit('onDataSaved', ...args); }; onMounted(async () => { diff --git a/src/components/CreateNewCityForm.vue b/src/components/CreateNewCityForm.vue index 9a7d8666c..85d13beb1 100644 --- a/src/components/CreateNewCityForm.vue +++ b/src/components/CreateNewCityForm.vue @@ -1,35 +1,42 @@ diff --git a/src/components/common/VnLocation.vue b/src/components/common/VnLocation.vue index e5ed14a40..5f94c466a 100644 --- a/src/components/common/VnLocation.vue +++ b/src/components/common/VnLocation.vue @@ -12,14 +12,46 @@ const props = defineProps({ default: null, }, }); + +const locationProperties = [ + 'postcode', + (obj) => + obj.city + ? `${obj.city}${obj.province?.name ? `(${obj.province.name})` : ''}` + : null, + (obj) => obj.country?.name, +]; + +const formatLocation = (obj, properties) => { + const parts = properties.map((prop) => { + if (typeof prop === 'string') { + return obj[prop]; + } else if (typeof prop === 'function') { + return prop(obj); + } + return null; + }); + + const filteredParts = parts.filter( + (part) => part !== null && part !== undefined && part !== '' + ); + + return filteredParts.join(', '); +}; + const modelValue = ref( - props.location - ? `${props.location?.postcode}, ${props.location?.city}(${props.location?.province?.name}), ${props.location?.country?.name}` - : null + props.location ? formatLocation(props.location, locationProperties) : null ); + function showLabel(data) { - return `${data.code}, ${data.town}(${data.province}), ${data.country}`; + const dataProperties = [ + 'code', + (obj) => (obj.town ? `${obj.town}(${obj.province})` : null), + 'country', + ]; + return formatLocation(data, dataProperties); } + const handleModelValue = (data) => { emit('update:model-value', data); }; @@ -41,6 +73,7 @@ const handleModelValue = (data) => { v-bind="$attrs" clearable :emit-value="false" + :tooltip="t('Create new location')" >