diff --git a/CHANGELOG.md b/CHANGELOG.md index 47f2f49d1..86ffce3fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,91 @@ +# Version 24.32 - 2024-08-06 + +### Added 🆕 + +- chore: refs #7197 drop space by:jorgep +- chore: refs #7197 drop useless attr by:jorgep +- chore: refs #7197 fix test by:jorgep +- chore: refs #7197 fix tests by:jorgep +- chore: refs #7197 fix unit tests by:jorgep +- chore: refs #7197 idrop useless class by:jorgep +- chore: refs #7197 improve form filling in Cypress tests by:jorgep +- chore: refs #7197 remove unused import by:jorgep +- feat: customerPayments card view by:alexm +- feat: refs #6943 lock grid mode by:jorgep +- feat: refs #6943 wip consumption filter by:jorgep +- feat: refs #7197 add correcting filter by:jorgep +- feat: refs #7197 add supplier activities filter option by:jorgep +- feat: refs #7197 summary responsive by:jorgep +- feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon +- feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon +- feat: refs #7356 list & weekly to VnTable and style fixes by:Jon +- feat: refs #7401 add menu options by:pablone +- feat: SalesClientTable by:Javier Segarra +- feat: salesOrderTable by:Javier Segarra +- feat: salesTicketTable by:Javier Segarra +- feat: VnTable SalesTicketTable by:Javier Segarra +- fix: columns style by:alexm + +### Changed 📦 + +- perf: LeftMenu show/hide by:Javier Segarra +- perf: refs #7356 TicketList state column by:Jon +- perf: VnFilterPanel (origin/7323_WorkerMigration_End) by:Javier Segarra +- perf: width SalesTicketsTable by:Javier Segarra +- refactor: #6943 wip use vnTable CustomerCredits by:jorgep +- refactor: CustomerNotifications use VnTable by:alexm +- refactor: CustomerPayments use VnTable by:alexm +- refactor: refs #7014 deleted main files and changed route files by:Jon +- refactor: refs #7014 improved route.js & deleted RouteMain by:Jon +- refactor: refs #7014 refactor Main.vue by:Jon +- refactor: refs #7014 refactor ZoneCard, deleted ZoneMain & created basic tests for functionality by:Jon +- refactor: refs #7197 use invoiceInSearchbar & queryParams by:jorgep +- refactor: refs #7323 hidden column filter proposal by:Jon +- refactor: refs #7356 fixed VnTable filters by:Jon +- refactor: refs #7356 requested changes by:Jon +- refactor: wip use vnTable CustomerCredits by:jorgep + +### Fixed 🛠️ + +- chore: refs #7197 fix test by:jorgep +- chore: refs #7197 fix tests by:jorgep +- chore: refs #7197 fix unit tests by:jorgep +- feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon +- feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon +- feat: refs #7356 list & weekly to VnTable and style fixes by:Jon +- fix(claim): small details (6336-claim-v6) by:alexm +- fix: columns style by:alexm +- fix: customer defaulter add amount order (6943-fixCustomer) by:alexm +- fix: customerDefaulter correct functionality by:alexm +- fix: customerNotifications filter by:alexm +- fix: fix conflicts by:Jon +- fix: refs #6101 fix TicketList by:Jon +- fix: refs #6891 worker tests by:jorgep +- fix: refs #6943 drop padding-left checkbox & create wrap mode vnRow by:jorgep +- fix: refs #6943 prevent undefined by:jorgep +- fix: refs #7014 fix tests by:Jon +- fix: refs #7014 fix wagon module by:Jon +- fix: refs #7197 add url InvoiceInSearchbar by:jorgep +- fix: refs #7197 amount reactivity by:jorgep +- fix: refs #7197 drop character by:jorgep +- fix: refs #7197 reactivity invoiceCorrection by:jorgep +- fix: refs #7197 responsive summary layout by:jorgep +- fix: refs #7197 rollback by:jorgep +- fix: refs #7197 rollback crudModel by:jorgep +- fix: refs #7197 setInvoiceInCorrecition by:jorgep +- fix: refs #7197 vat, intrastat, filter and list sections by:jorgep +- fix: refs #7323 fix department & email table filter by:Jon +- fix: refs #7323 fixed left filter by:Jon +- fix: refs #7323 fix workerTimeControl form by:Jon +- fix: refs #7401 fix routeForm by:pablone +- fix: refs #7401 remove console.log by:pablone +- fix: refs CAU 207504 fix itemDiary and logs by:Jon +- fix: workerCreate form street field to be always upperCase by:Jon +- hotfix: refs CAU #207614 fix sale.concept field by:Jon +- refactor: refs #7356 fixed VnTable filters by:Jon +- refs #6898 fix by:carlossa +- Ticket expedition initial load fix by:wbuezas + # Version 24.28 - 2024-07-09 ### Added 🆕 diff --git a/src/boot/axios.js b/src/boot/axios.js index fa8a08003..9b32275bd 100644 --- a/src/boot/axios.js +++ b/src/boot/axios.js @@ -43,6 +43,15 @@ const onResponseError = (error) => { } switch (response?.status) { + case 422: + if (error.name == 'ValidationError') + message += + ' "' + + responseError.details.context + + '.' + + Object.keys(responseError.details.codes).join(',') + + '"'; + break; case 500: message = 'errors.statusInternalServerError'; break; diff --git a/src/components/CreateNewCityForm.vue b/src/components/CreateNewCityForm.vue index 48e76d885..9a7d8666c 100644 --- a/src/components/CreateNewCityForm.vue +++ b/src/components/CreateNewCityForm.vue @@ -4,8 +4,8 @@ import { useI18n } from 'vue-i18n'; import FetchData from 'components/FetchData.vue'; import VnRow from 'components/ui/VnRow.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; -import VnInput from 'src/components/common/VnInput.vue'; +import VnSelectProvince from 'components/VnSelectProvince.vue'; +import VnInput from 'components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); @@ -19,8 +19,8 @@ const cityFormData = reactive({ const provincesOptions = ref([]); -const onDataSaved = (dataSaved) => { - emit('onDataSaved', dataSaved); +const onDataSaved = (...args) => { + emit('onDataSaved', ...args); }; @@ -36,7 +36,7 @@ const onDataSaved = (dataSaved) => { :form-initial-data="cityFormData" url-create="towns" model="city" - @on-data-saved="onDataSaved($event)" + @on-data-saved="onDataSaved" > diff --git a/src/components/CreateNewPostcodeForm.vue b/src/components/CreateNewPostcodeForm.vue index 7ea171e53..a426ac2b4 100644 --- a/src/components/CreateNewPostcodeForm.vue +++ b/src/components/CreateNewPostcodeForm.vue @@ -5,9 +5,9 @@ import { useI18n } from 'vue-i18n'; import FetchData from 'components/FetchData.vue'; import VnRow from 'components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; +import VnSelectProvince from 'src/components/VnSelectProvince.vue'; import VnInput from 'src/components/common/VnInput.vue'; import CreateNewCityForm from './CreateNewCityForm.vue'; -import CreateNewProvinceForm from './CreateNewProvinceForm.vue'; import VnSelectDialog from 'components/common/VnSelectDialog.vue'; import FormModelPopup from './FormModelPopup.vue'; @@ -22,20 +22,17 @@ const postcodeFormData = reactive({ townFk: null, }); -const townsFetchDataRef = ref(null); const provincesFetchDataRef = ref(null); const countriesOptions = ref([]); const provincesOptions = ref([]); -const townsLocationOptions = ref([]); +const town = ref({}); -const onDataSaved = (formData) => { +function onDataSaved(formData) { const newPostcode = { ...formData, }; - const townObject = townsLocationOptions.value.find( - ({ id }) => id === formData.townFk - ); - newPostcode.town = townObject?.name; + newPostcode.town = town.value.name; + newPostcode.townFk = town.value.id; const provinceObject = provincesOptions.value.find( ({ id }) => id === formData.provinceFk ); @@ -43,39 +40,41 @@ const onDataSaved = (formData) => { const countryObject = countriesOptions.value.find( ({ id }) => id === formData.countryFk ); - newPostcode.country = countryObject?.country; + newPostcode.country = countryObject?.name; emit('onDataSaved', newPostcode); -}; +} -const onCityCreated = async ({ name, provinceFk }, formData) => { - await townsFetchDataRef.value.fetch(); - formData.townFk = townsLocationOptions.value.find((town) => town.name === name).id; - formData.provinceFk = provinceFk; - formData.countryFk = provincesOptions.value.find( - (province) => province.id === provinceFk - ).countryFk; -}; - -const onProvinceCreated = async ({ name }, formData) => { +async function onCityCreated(newTown, formData) { await provincesFetchDataRef.value.fetch(); - formData.provinceFk = provincesOptions.value.find( - (province) => province.name === name - ).id; -}; + newTown.province = provincesOptions.value.find( + (province) => province.id === newTown.provinceFk + ); + formData.townFk = newTown; + setTown(newTown, formData); +} + +function setTown(newTown, data) { + if (!newTown) return; + town.value = newTown; + data.provinceFk = newTown.provinceFk; + data.countryFk = newTown.province.countryFk; +} + +async function setProvince(id, data) { + await provincesFetchDataRef.value.fetch(); + const newProvince = provincesOptions.value.find((province) => province.id == id); + if (!newProvince) return; + + data.countryFk = newProvince.countryFk; +}