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 6a7c1ed55..ead0193c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "salix-front", - "version": "24.38.0", + "version": "24.40.0", "description": "Salix frontend", "productName": "Salix", "author": "Verdnatura", diff --git a/src/boot/axios.js b/src/boot/axios.js index 9b32275bd..99a163cca 100644 --- a/src/boot/axios.js +++ b/src/boot/axios.js @@ -5,8 +5,10 @@ import useNotify from 'src/composables/useNotify.js'; const session = useSession(); const { notify } = useNotify(); +const baseUrl = '/api/'; -axios.defaults.baseURL = '/api/'; +axios.defaults.baseURL = baseUrl; +const axiosNoError = axios.create({ baseURL: baseUrl }); const onRequest = (config) => { const token = session.getToken(); @@ -79,5 +81,7 @@ const onResponseError = (error) => { axios.interceptors.request.use(onRequest, onRequestError); axios.interceptors.response.use(onResponse, onResponseError); +axiosNoError.interceptors.request.use(onRequest); +axiosNoError.interceptors.response.use(onResponse); -export { onRequest, onResponseError }; +export { onRequest, onResponseError, axiosNoError }; diff --git a/src/boot/mainShortcutMixin.js b/src/boot/mainShortcutMixin.js deleted file mode 100644 index 8e5f147db..000000000 --- a/src/boot/mainShortcutMixin.js +++ /dev/null @@ -1,38 +0,0 @@ -import routes from 'src/router/modules'; -import { useRouter } from 'vue-router'; - -let isNotified = false; - -export default { - created: function () { - const router = useRouter(); - const keyBindingMap = routes - .filter((route) => route.meta.keyBinding) - .reduce((map, route) => { - map['Key' + route.meta.keyBinding.toUpperCase()] = route.path; - return map; - }, {}); - - const handleKeyDown = (event) => { - const { ctrlKey, altKey, code } = event; - - if (ctrlKey && altKey && keyBindingMap[code] && !isNotified) { - event.preventDefault(); - router.push(keyBindingMap[code]); - isNotified = true; - } - }; - - const handleKeyUp = (event) => { - const { ctrlKey, altKey } = event; - - // Resetea la bandera cuando se sueltan las teclas ctrl o alt - if (!ctrlKey || !altKey) { - isNotified = false; - } - }; - - window.addEventListener('keydown', handleKeyDown); - window.addEventListener('keyup', handleKeyUp); - }, -}; diff --git a/src/boot/quasar.js b/src/boot/quasar.js index e2035c880..f39d1f0be 100644 --- a/src/boot/quasar.js +++ b/src/boot/quasar.js @@ -1,10 +1,14 @@ import { boot } from 'quasar/wrappers'; import qFormMixin from './qformMixin'; -import mainShortcutMixin from './mainShortcutMixin'; import keyShortcut from './keyShortcut'; +import useNotify from 'src/composables/useNotify.js'; +const { notify } = useNotify(); export default boot(({ app }) => { app.mixin(qFormMixin); - app.mixin(mainShortcutMixin); app.directive('shortcut', keyShortcut); + app.config.errorHandler = function (err) { + console.error(err); + notify('globals.error', 'negative', 'error'); + }; }); diff --git a/src/components/CreateBankEntityForm.vue b/src/components/CreateBankEntityForm.vue index c46ac7752..0a3c10f57 100644 --- a/src/components/CreateBankEntityForm.vue +++ b/src/components/CreateBankEntityForm.vue @@ -1,5 +1,5 @@ + diff --git a/src/components/common/VnComponent.vue b/src/components/common/VnComponent.vue index fa99f9892..bd25c787c 100644 --- a/src/components/common/VnComponent.vue +++ b/src/components/common/VnComponent.vue @@ -17,17 +17,15 @@ const $props = defineProps({ }, }); -let mixed; const componentArray = computed(() => { if (typeof $props.prop === 'object') return [$props.prop]; return $props.prop; }); function mix(toComponent) { - if (mixed) return mixed; const { component, attrs, event } = toComponent; const customComponent = $props.components[component]; - mixed = { + return { component: customComponent?.component ?? component, attrs: { ...toValueAttrs(attrs), @@ -37,7 +35,6 @@ function mix(toComponent) { }, event: { ...customComponent?.event, ...event }, }; - return mixed; } function toValueAttrs(attrs) { diff --git a/src/components/common/VnDmsList.vue b/src/components/common/VnDmsList.vue index 68ff0e359..52dd6ef79 100644 --- a/src/components/common/VnDmsList.vue +++ b/src/components/common/VnDmsList.vue @@ -5,12 +5,14 @@ import { useRoute } from 'vue-router'; import { useQuasar, QCheckbox, QBtn, QInput } from 'quasar'; import axios from 'axios'; +import VnUserLink from '../ui/VnUserLink.vue'; +import { downloadFile } from 'src/composables/downloadFile'; +import VnImg from 'components/ui/VnImg.vue'; import VnPaginate from 'components/ui/VnPaginate.vue'; import VnDms from 'src/components/common/VnDms.vue'; import VnConfirm from 'components/ui/VnConfirm.vue'; import VnInputDate from 'components/common/VnInputDate.vue'; -import VnUserLink from '../ui/VnUserLink.vue'; -import { downloadFile } from 'src/composables/downloadFile'; +import { useSession } from 'src/composables/useSession'; const route = useRoute(); const quasar = useQuasar(); @@ -18,6 +20,7 @@ const { t } = useI18n(); const rows = ref(); const dmsRef = ref(); const formDialog = ref({}); +const token = useSession().getTokenMultimedia(); const $props = defineProps({ model: { @@ -89,6 +92,23 @@ const dmsFilter = { }; const columns = computed(() => [ + { + label: '', + name: 'file', + align: 'left', + component: VnImg, + props: (prop) => { + return { + storage: 'dms', + collection: null, + resolution: null, + id: prop.row.file.split('.')[0], + token: token, + class: 'rounded', + ratio: 1, + }; + }, + }, { align: 'left', field: 'id', @@ -142,13 +162,6 @@ const columns = computed(() => [ 'model-value': Boolean(prop.value), }), }, - { - align: 'left', - field: 'file', - label: t('globals.file'), - name: 'file', - component: 'span', - }, { align: 'left', field: 'worker', @@ -387,7 +400,14 @@ defineExpose({ /> - + {{ t('Upload file') }} @@ -395,10 +415,6 @@ defineExpose({ + + +es: + noAmount: La cantidad no puede ser 0 +en: + noAmount: Amount can not be 0 + diff --git a/src/pages/Order/Card/OrderCreateDialog.vue b/src/pages/Order/Card/OrderCreateDialog.vue new file mode 100644 index 000000000..bcc62aa43 --- /dev/null +++ b/src/pages/Order/Card/OrderCreateDialog.vue @@ -0,0 +1,215 @@ + + + + + + es: + No default address found for the client: No hay ninguna dirección asociada a este cliente. + diff --git a/src/pages/Order/Card/OrderFilter.vue b/src/pages/Order/Card/OrderFilter.vue index be47eed54..917369919 100644 --- a/src/pages/Order/Card/OrderFilter.vue +++ b/src/pages/Order/Card/OrderFilter.vue @@ -17,10 +17,6 @@ const props = defineProps({ const agencyFilter = { fields: ['id', 'name'] }; const agencyList = ref(null); -const salesPersonFilter = { - fields: ['id', 'nickname'], -}; -const salesPersonList = ref(null); const sourceList = ref([]); @@ -32,14 +28,6 @@ const sourceList = ref([]); auto-load @on-fetch="(data) => (agencyList = data)" /> -