Compare commits

..

864 Commits

Author SHA1 Message Date
JOSE ANTONIO TUBAU RODRIGUEZ 1b05c10b50 Merge pull request 'ShowDptoLink' (!1076) from showDeptLink into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1076
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-12-12 14:35:41 +00:00
JOSE ANTONIO TUBAU RODRIGUEZ 1d37d0dfb4 Merge branch 'dev' into showDeptLink
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 13:50:42 +00:00
JOSE ANTONIO TUBAU RODRIGUEZ d35c37bfdf fix: addLocales
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 14:47:21 +01:00
JOSE ANTONIO TUBAU RODRIGUEZ 013c07e51f feat: addDptoLink 2024-12-12 14:39:07 +01:00
Pablo Natek d72b507fd4 Merge pull request 'feat: refs #7301 add exclude inventory supplier from list' (!982) from 7301-itemLastEntries into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #982
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-12 13:23:30 +00:00
Pablo Natek 87bdf532a8 Merge branch 'dev' into 7301-itemLastEntries
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 13:11:45 +00:00
Carlos Satorres 59b034d0b4 Merge pull request 'fix: fix department filter' (!1075) from fix-6389departmentFilter into dev
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
Reviewed-on: #1075
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-12 10:03:24 +00:00
Carlos Satorres ac3ca3e243 fix: fix department filter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 10:51:13 +01:00
Carlos Satorres b022ede6a9 Merge pull request 'fix: refs #6389 ipt' (!846) from 6389-changesMonitor into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #846
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-12 09:28:52 +00:00
Carlos Satorres e628a6c445 Merge branch 'dev' into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 08:48:28 +00:00
Pablo Natek c043a7d99a Merge branch 'dev' into 7301-itemLastEntries
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 08:34:39 +00:00
Carlos Satorres 79c1709618 Merge pull request 'fix: refs #7031 add test e2e' (!1049) from 7031-zonePrice into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1049
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-12-12 08:33:55 +00:00
Carlos Satorres 964cf68b9c Merge branch 'dev' into 7031-zonePrice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 08:32:17 +00:00
Pablo Natek d4bb5a063f Merge branch 'dev' into 7301-itemLastEntries
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 08:31:51 +00:00
Pablo Natek 8bccb959ed fix: refs #7301 unnecessary console logs from ItemLastEntries.vue
gitea/salix-front/pipeline/pr-dev Build queued... Details
2024-12-12 09:31:33 +01:00
Jon Elias cd9b433a45 Merge pull request 'FIX: added restore ticket function in TicketDescriptorMenu' (!1072) from Fix-TicketDescriptorMenuOption into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1072
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-12 08:28:37 +00:00
Pablo Natek 52cacd8c16 Merge branch 'dev' of https: refs #7301//gitea.verdnatura.es/verdnatura/salix-front into 7301-itemLastEntries 2024-12-12 09:03:09 +01:00
Jon Elias ba300ec065 Merge branch 'Fix-TicketDescriptorMenuOption' of https://gitea.verdnatura.es/verdnatura/salix-front into Fix-TicketDescriptorMenuOption
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 08:04:07 +01:00
Jon Elias e01f1fe5d2 refactor: deleted log 2024-12-12 08:04:06 +01:00
Jon Elias d7d1e4d691 Merge branch 'dev' into Fix-TicketDescriptorMenuOption
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 06:52:31 +00:00
Jon Elias 983c86ffa5 feat: added restore ticket function in ticket descriptor menu
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-12 07:35:20 +01:00
Carlos Satorres 3d666338ce fix: refs #6389 front add packing filter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-11 11:50:37 +01:00
Jorge Penadés 5b5a935021 Merge pull request '#8002 addSupportService' (!894) from xxxx-addSupportService into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #894
Reviewed-by: Juan Ferrer <juan@verdnatura.es>
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-12-11 09:49:39 +00:00
Jorge Penadés 273c879879 Merge branch 'dev' into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-11 09:39:59 +00:00
Carlos Satorres 0ecc103fc2 fix: refs #6389 front
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-11 09:59:05 +01:00
Carlos Satorres 7697caa85a Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-11 06:49:38 +01:00
Alex Moreno 4fc9ad3f76 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-10 13:40:47 +01:00
Javier Segarra ee445aca83 Merge pull request 'perf: emit options from VnSelectProvince' (!1062) from hotfix_improve_cp into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1062
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-12-10 12:24:00 +00:00
Javier Segarra 854e72fe51 perf: emit options from VnSelectProvince
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-10 13:17:31 +01:00
Alex Moreno 4a6f859a86 fix(RouteExtendedList): fix cloneRoutes
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-10 13:15:03 +01:00
Alex Moreno b2fe1a6b6a Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-10 11:29:06 +01:00
Javier Segarra b97ee919a6 Merge pull request 'Hotfix: Bugs detected after 24.50' (!1060) from hotfix_minor_24-50 into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1060
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-10 08:49:07 +00:00
Javier Segarra 256caa2eb5 fix: replace useNotify by useQuasar
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-10 08:35:04 +01:00
Javier Segarra 8dcf272942 fix: #8282 CustomerSummary email icon 2024-12-10 08:34:48 +01:00
Alex Moreno dd33dfc766 fix(VnSelect): hotFix handleKeyDown add next focus
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-10 07:49:59 +01:00
Alex Moreno 051482fd23 Merge pull request '8282-testToMaster' (!1057) from 8282-testToMaster into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1057
Reviewed-by: Guillermo Bonet <guillermo@verdnatura.es>
2024-12-10 06:23:35 +00:00
Alex Moreno ff8561d0c2 chore: refs #8282 add changelog
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 15:24:18 +01:00
Alex Moreno 629531cce4 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-09 14:32:42 +01:00
Alex Moreno cd4b2a92dc Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 14:17:41 +01:00
Jorge Penadés 2fb179803c refactor: add useCau composable
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 13:42:00 +01:00
Jon Elias 91afc3ddab Merge pull request '#7283: Fix Item module' (!1042) from Fix-Items-Module into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1042
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-12-09 12:29:54 +00:00
Jon Elias d4682248fd Merge branch 'Fix-Items-Module' of https://gitea.verdnatura.es/verdnatura/salix-front into Fix-Items-Module
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 13:24:36 +01:00
Jon Elias 1de74dec8e fix: fix conflicts 2024-12-09 13:24:34 +01:00
Jon Elias bf68eab480 Merge pull request '#8194 created VnSelectWorker component' (!977) from 8194-VnSelectWorker into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #977
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-12-09 12:04:18 +00:00
Jon Elias 853bb9e5aa Merge branch 'dev' into 8194-VnSelectWorker
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 12:02:16 +00:00
Jon Elias e4837b45be Merge branch 'dev' into Fix-Items-Module
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 12:01:07 +00:00
Jorge Penadés fca380897f Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 12:41:45 +01:00
Jorge Penadés 9342cd0408 Merge pull request 'Mixin performance' (!875) from performance_mixins into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #875
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-09 11:38:51 +00:00
Jorge Penadés 7a9edfd88f Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService 2024-12-09 12:38:38 +01:00
Jorge Penadés f16c45b01a Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 11:37:52 +00:00
Carlos Satorres 5fc7d66425 Merge branch '7031-zonePrice' of https://gitea.verdnatura.es/verdnatura/salix-front into 7031-zonePrice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 11:43:22 +01:00
Carlos Satorres a20afa5f35 fix: refs #7031 fix zoneTest 2024-12-09 11:43:20 +01:00
Jon Elias 92b05db9d2 refactor: deleted useless hidden tag
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 11:27:30 +01:00
Jorge Penadés 1a954459eb Merge pull request 'feat: refs #7409 add dialog with validations' (!1056) from 7409-hotfix-addValidations into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1056
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-09 10:01:18 +00:00
Jorge Penadés a4fb2a4819 feat: refs #7409 add dialog with validations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 10:39:51 +01:00
Jorge Penadés fe037ce511 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 7409-hotfix-addValidations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 09:55:48 +01:00
Jorge Penadés f1cc4a01ad feat: refs #7409 add dialog with validations
gitea/salix-front/pipeline/pr-master Build queued... Details
2024-12-09 09:55:06 +01:00
Javier Segarra ce72388d5e Merge pull request 'HOTFIX: OrderCatalog scroll To Item' (!1026) from hotfix_scrollToItem into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1026
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-12-09 08:44:07 +00:00
Javier Segarra f049337f95 Merge branch 'master' into hotfix_scrollToItem
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 08:42:47 +00:00
Javier Segarra 2e4225f0a9 Merge pull request 'HOTFIX: open Itemdiary from Ticket' (!1054) from hotfix_itemDiary_redirect into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1054
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-09 08:42:32 +00:00
Javier Segarra fb7f982356 Merge pull request 'warmFix: fix own test' (!1041) from fix_js_e2e_test into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1041
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-09 08:42:21 +00:00
Carlos Satorres d9fe5be6fe Merge branch 'dev' into 7031-zonePrice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 08:11:53 +00:00
Javier Segarra dc294c78fc Merge branch 'master' into hotfix_itemDiary_redirect
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 07:53:52 +00:00
Javier Segarra 4eb491d793 perf: i18n missing
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 08:53:23 +01:00
Javier Segarra 933a1958a2 perf: remove unnecessary logic 2024-12-09 08:51:26 +01:00
Jon Elias b26d07f605 Merge branch 'Fix-Items-Module' of https://gitea.verdnatura.es/verdnatura/salix-front into Fix-Items-Module
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 08:49:27 +01:00
Jon Elias f5f77a50bc refactor: added again search emit 2024-12-09 08:49:26 +01:00
Javier Segarra edef54dae1 Merge branch 'master' into hotfix_scrollToItem
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 07:45:18 +00:00
Jon Elias 338058c1a4 Merge branch 'dev' into Fix-Items-Module
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 07:22:17 +00:00
Jon Elias 0c88db5931 refactor: deleted onUnmounted code
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 08:20:35 +01:00
Javier Segarra 69e3d3159f Merge pull request 'ItemFixedPrice' (!791) from hotfix_itemFixedPrice into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #791
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-12-09 07:05:53 +00:00
Javier Segarra e0bc14e3f7 Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 07:05:18 +00:00
Alex Moreno 8a1812dbb0 Merge pull request 'fix(TicketSaleMoreActions): hotFix isClaimable' (!1055) from hotFix_ticketSale_isClaimable into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1055
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-12-09 07:00:59 +00:00
Alex Moreno 88863a215a fix(TicketSaleMoreActions): hotFix isClaimable
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-09 07:56:50 +01:00
Carlos Satorres dc4ae1fd92 Merge branch 'dev' of https: refs #6389//gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-09 06:57:47 +01:00
Javier Segarra 96223801d2 fix: open Itemdiary from Ticket
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-06 14:59:47 +01:00
Javier Segarra 11ef388f92 Merge branch 'fix_js_e2e_test' of https://gitea.verdnatura.es/verdnatura/salix-front into fix_js_e2e_test
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-05 14:55:56 +01:00
Javier Segarra 4c01cf9603 perf: remove timeout 2024-12-05 14:55:51 +01:00
Jon Elias fea161d5c2 perf: refs #8194 select worker component
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 14:19:58 +01:00
Jon Elias 96920dd540 refactor: refs #8194 modified select worker template
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 14:13:31 +01:00
Jon Elias cf522684d6 refactor: refs #8194 deleted unnecessary label
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 14:00:45 +01:00
Jon Elias 6c05347219 refactor: refs #8194 modified select worker to allow no one filter from monitor ticket
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 13:45:18 +01:00
Jon Elias accf61517a refactor: refs #8194 requested changes
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 13:31:39 +01:00
Jon Elias c7115f4781 refactor: refs #8194 moved translation to the correct place
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 11:14:15 +01:00
Jon Elias 2d2187090c Merge branch 'dev' of https: refs #8194//gitea.verdnatura.es/verdnatura/salix-front into 8194-VnSelectWorker
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 11:04:02 +01:00
Jon Elias 1e1032b3da refactor: refs #8194 structure changes in component and related files
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-12-05 11:00:40 +01:00
Javier Segarra b068515f55 perf: test command fillInForm
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-05 09:43:45 +00:00
Jon Elias 646007ea63 refactor: log error
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 10:30:43 +01:00
Javier Segarra 408aa9d535 test: pref minor change
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-05 10:20:35 +01:00
Javier Segarra d02acf4d90 Merge branch 'test' into fix_js_e2e_test
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-05 08:52:54 +00:00
Guillermo Bonet dcbaa7529d Merge branch 'test' into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-05 09:24:45 +01:00
Guillermo Bonet 407b81f4b7 Merge branch 'master' into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-05 09:24:35 +01:00
Carlos Satorres 47f81f2b2c Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-12-05 09:19:55 +01:00
Carlos Satorres 3d0245553e Merge pull request 'fix-7355AccountCreate' (!1051) from fix-7355AccountCreate into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1051
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-05 08:17:23 +00:00
Carlos Satorres c3c10b2238 fix: account create
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 09:03:13 +01:00
Guillermo Bonet ebf5b74660 Merge pull request 'feat: refs #8248 Added beta in jenkinsfile' (!1050) from 8248-addBetaJenskinsfile into beta
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1050
Reviewed-by: Juan Ferrer <juan@verdnatura.es>
2024-12-05 07:55:41 +00:00
Guillermo Bonet b6844a517f feat: refs #8248 Added beta in jenkinsfile
gitea/salix-front/pipeline/pr-beta This commit looks good Details
2024-12-05 08:50:06 +01:00
Carlos Satorres 91c9a4a559 Merge branch 'dev' into 7031-zonePrice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 07:32:10 +00:00
Carlos Satorres cb15652dd6 fix: refs #7031 add test e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 08:28:43 +01:00
Jon Elias 58a18bfb69 refactor: deleted warnings and corrected itemTag
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-05 06:26:02 +01:00
Carlos Satorres 95551d9f99 fix: account 2024-12-05 06:03:10 +01:00
Javier Segarra 0198a25972 Merge pull request 'fix: use right variable instead item.name' (!1048) from hotfix_ticketSale_concept into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1048
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-04 14:06:21 +00:00
Javier Segarra ad176f3f95 fix: use right variable instead item.name
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 13:45:12 +00:00
Carlos Satorres f5c6810d9e fix: accountList create 2024-12-04 13:58:59 +01:00
Jorge Penadés e0090c29c9 Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 12:22:09 +00:00
Jorge Penadés 559ee5416a Merge pull request 'fix: refs #6238 enhance ui' (!1047) from 6238-hotfix-wideCol into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1047
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-04 11:33:19 +00:00
Jorge Penadés dc801489b3 Merge branch 'master' into 6238-hotfix-wideCol
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 11:26:48 +00:00
Jorge Penadés 26b6157f65 fix: refs #6238 drop important
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 12:18:31 +01:00
Javier Segarra 228c6e50f2 Merge pull request 'HOTFIX: vnLocation change value' (!1046) from hotfix_vnLocation_change_value into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1046
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-04 11:14:04 +00:00
Jorge Penadés a661f938b7 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 6238-hotfix-wideCol
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 12:13:46 +01:00
Jorge Penadés 4c9b8a339e fix: refs #6238 enhance ui
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 12:12:01 +01:00
Javier Segarra 17751323b3 fix: vnLocation change value
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 10:53:46 +00:00
Alex Moreno 6b28f39720 fix(CustomerWebAccess): hotFix use .account to save
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-04 11:32:19 +01:00
Carlos Satorres a6a21f3925 Merge pull request 'remove autocomplete address' (!935) from 8114-removeAutoAddress into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #935
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-04 09:43:24 +00:00
Carlos Satorres fc3c80d60d fix: refs #8114 fix lifeCycle hooks
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 10:35:33 +01:00
Carlos Satorres e55d116398 fix: refs #8114 fix pr
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 10:31:59 +01:00
Carlos Satorres 41292e467b Merge branch '8114-removeAutoAddress' of https://gitea.verdnatura.es/verdnatura/salix-front into 8114-removeAutoAddress
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 09:27:24 +01:00
Carlos Satorres 55627a5b47 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8114-removeAutoAddress 2024-12-04 09:24:35 +01:00
Carlos Satorres 29b923130f Merge branch 'dev' into 8114-removeAutoAddress
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 08:22:58 +00:00
Carlos Satorres 32a17738eb Merge pull request 'fix: fix invoiceOut filter' (!1038) from hotfix-6899invoiceOut into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1038
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-04 08:21:58 +00:00
Carlos Satorres 0da4591da8 Merge branch 'master' into hotfix-6899invoiceOut
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 08:20:14 +00:00
Javier Segarra 98b8124577 perf: remove setTimeOut insteaduse requestAnimationFrame
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-04 09:15:02 +01:00
Jon Elias 4276cefd7a feat: requested changes in item module
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-04 09:14:00 +01:00
Javier Segarra b1f42cc7e0 test: fix own test
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-03 15:35:24 +01:00
Javier Segarra dcbb0da8c0 Merge branch 'master' into hotfix_scrollToItem
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-03 14:33:17 +00:00
Javier Segarra 7b39fc5f83 Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-03 14:32:14 +00:00
Jorge Penadés 7c71becb64 Merge pull request 'feat: add country filter & fix userParams' (!1040) from hotfix-addCountryFilter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1040
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-03 14:18:26 +00:00
Jorge Penadés 94c0177f1b feat: mock validations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-03 14:37:45 +01:00
Alex Moreno b4a4c4a0a4 build: new version
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-03 14:34:01 +01:00
Alex Moreno e35fe20a10 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-03 14:32:21 +01:00
Alex Moreno f045b37b55 Merge pull request '8267-devToTest' (!1036) from 8267-devToTest into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1036
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-12-03 13:32:09 +00:00
Jorge Penadés 4b1a4adfe3 feat: add country filter & fix userParams
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-12-03 14:01:17 +01:00
Carlos Satorres 1f80229bc8 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-03 11:54:58 +01:00
Alex Moreno b698098823 fix: hotfix correct path "log"
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-03 11:03:40 +01:00
Carlos Satorres ce83879960 Merge branch 'dev' of https: refs #8114//gitea.verdnatura.es/verdnatura/salix-front into 8114-removeAutoAddress
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-03 10:33:48 +01:00
Carlos Satorres 2afaa48c25 fix: fix invoiceOut filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-03 10:25:33 +01:00
Carlos Satorres d832d958ef Merge pull request 'fix: due date' (!1037) from hotfix-6896OrderTranslat into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1037
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-12-03 08:37:21 +00:00
Carlos Satorres b536cfe0af fix: due date
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-03 09:35:19 +01:00
Alex Moreno ad3894e6b2 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8267-devToTest
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-12-03 08:37:05 +01:00
Alex Moreno a36287d8fd Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8267-devToTest 2024-12-03 08:31:18 +01:00
Alex Moreno 4bc8c948b6 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-12-03 08:29:40 +01:00
Javier Segarra 9ac974a46b Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 23:03:38 +01:00
Javier Segarra 0ddc8f225c test: #7260 add dataCy 2024-12-02 23:02:35 +01:00
Javier Segarra 4f93d472ac fix: #7260 remove value 2024-12-02 23:02:13 +01:00
Jorge Penadés 4d6ee25aeb Merge pull request 'fix: refs #6818 get default prefix on err' (!1034) from 6818-hotfix-getDefaultPrefix into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1034
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-12-02 15:08:04 +00:00
Jorge Penadés baf76cf633 test: refs #6818 update description
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 14:43:58 +01:00
Jorge Penadés 07b2be14ae fix: refs #6818 get default prefix on err
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 14:39:55 +01:00
Robert Ferrús fcee9a4351 Merge pull request 'fix: refs #8263 itemTags order' (!1033) from 8263-itemTagsOrder into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1033
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-02 12:57:58 +00:00
Robert Ferrús 7c2933893f Merge branch 'master' into 8263-itemTagsOrder
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 12:41:01 +00:00
Javier Segarra 624764ba1d Merge branch 'master' into hotfix_scrollToItem
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 12:34:57 +00:00
Javier Segarra 46e4727f68 Merge pull request 'fix: HOTFIX Sage input required' (!1024) from hotfix_required_sage into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1024
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-02 12:34:28 +00:00
Javier Segarra 92cd707ec8 Merge branch 'master' into hotfix_required_sage
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 12:33:49 +00:00
Carlos Satorres 1291dc1723 fix: refs #8114 clean
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-12-02 13:28:13 +01:00
Carlos Satorres 50360523b3 fix: refs #8114 remove logs
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-12-02 13:26:26 +01:00
Carlos Satorres 48482efe3b fix: refs #8114 fix agencyList
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-12-02 13:25:07 +01:00
Javier Segarra f3834e92d1 Merge branch 'master' into hotfix_scrollToItem
gitea/salix-front/pipeline/pr-master Build queued... Details
2024-12-02 12:20:15 +00:00
Robert Ferrús d360200e98 fix: refs #8263 itemTags order
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 12:43:18 +01:00
Jorge Penadés a3f14bc39f refactor: drop logic
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 12:12:23 +01:00
Jorge Penadés cfa22bbc85 Merge branch 'performance_mixins' of https://gitea.verdnatura.es/verdnatura/salix-front into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 11:58:57 +01:00
Jorge Penadés bfa7300651 Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 10:58:52 +00:00
Jorge Penadés 1710ae718e Merge branch 'performance_mixins' of https://gitea.verdnatura.es/verdnatura/salix-front into performance_mixins 2024-12-02 11:58:44 +01:00
Jorge Penadés b00a3d7acf Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into performance_mixins 2024-12-02 11:55:54 +01:00
Jorge Penadés 1940ea638a Merge pull request 'refactor: refs #6818 check prefix' (!1013) from 6818-hotfix-refactorParsePhone into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1013
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-12-02 10:22:20 +00:00
Jorge Penadés f6ebc3f10d Merge branch 'master' into 6818-hotfix-refactorParsePhone
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 10:20:17 +00:00
Carlos Satorres a4bf89882a Merge pull request 'fix: refs #7304 7304 clean warning' (!838) from 7304-warningCustomerBasicData into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #838
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-02 09:38:37 +00:00
Jorge Penadés c341c06170 fix: refs #6818 test
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 10:36:30 +01:00
Jorge Penadés 7693d193f0 feat: refs #6818 add URL handling vn-link-phone 2024-12-02 10:36:18 +01:00
Carlos Satorres 392cc66030 Merge branch 'dev' into 7304-warningCustomerBasicData
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 09:34:31 +00:00
Carlos Satorres 7f3ce0393f Merge pull request 'fix: hotfix search' (!1012) from hotfix-7366TravelSearch into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1012
Reviewed-by: Carlos Andrés <carlosap@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-12-02 09:34:19 +00:00
Carlos Satorres fd0c8fc694 Merge branch 'master' into hotfix-7366TravelSearch
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 09:32:00 +00:00
Jorge Penadés 68b11295bb Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-hotfix-refactorParsePhone
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-12-02 09:51:03 +01:00
Javier Segarra bd95f8877f Merge pull request 'fix_city_from_province' (!1032) from fix_city_from_province into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1032
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-12-02 08:50:08 +00:00
Javier Segarra ff344c24d8 Merge branch 'dev' into fix_city_from_province
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 08:18:11 +00:00
Javier Segarra 21dc47ed74 perf: add dataCy
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-12-02 01:25:42 +01:00
Javier Segarra 007b95a616 test: remove #q- 2024-12-02 00:50:31 +01:00
Javier Segarra 444f68e937 fix: #8016 fetching data 2024-12-01 23:52:41 +01:00
Javier Segarra 6622135271 perf: #6896 change path import
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-30 01:38:12 +01:00
Javier Segarra 0f0d906e08 fix: #6896 OrderCatalogItem actions
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-30 01:35:25 +01:00
Javier Segarra 0e1552f962 fix: scrollInto Item 2024-11-30 01:33:18 +01:00
Javier Segarra 1b975193f0 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 23:23:52 +01:00
Javier Segarra 918c8bea60 test: input sage required
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 22:46:26 +01:00
Javier Segarra 0c7be99ecb fix: input sage required 2024-11-29 22:46:15 +01:00
Javier Segarra 883104f1f1 fix: dataByOrder when is null composable 2024-11-29 22:45:42 +01:00
Javier Segarra 37e557264c fix: useRequired composable 2024-11-29 22:45:32 +01:00
Javier Segarra d9d6819390 Merge pull request 'fix: hotfix webAccess' (!1022) from hotfix-6943CustomerWebAccess into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1022
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-29 12:31:01 +00:00
Javier Segarra 2e1a5ecdd9 fix: #6943 CustomerAddressCreate
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 13:29:15 +01:00
Javier Segarra 4db8432e5e Merge branch 'hotfix-6943CustomerWebAccess' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix-6943CustomerWebAccess
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 13:27:57 +01:00
Javier Segarra f834178f7b Merge branch 'master' into hotfix-6943CustomerWebAccess 2024-11-29 13:27:45 +01:00
Javier Segarra 51460c1138 fix: #6943 use v-model 2024-11-29 13:27:36 +01:00
Javier Segarra 940fe5c2b9 fix: #6943 CustomerAddressCreate 2024-11-29 13:21:19 +01:00
Carlos Satorres d65fdf0a5f Merge branch 'master' into hotfix-6943CustomerWebAccess
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 12:14:40 +00:00
Alex Moreno 4480b58551 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-29 12:23:26 +01:00
Alex Moreno 79c86e271c Merge pull request 'hotFix_supplier_autoBic' (!1023) from hotFix_supplier_autoBic into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1023
Reviewed-by: Jorge Penadés <jorgep@verdnatura.es>
2024-11-29 11:22:55 +00:00
Carlos Satorres 514d54b222 fix: hotfix-accountWeb
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 12:20:53 +01:00
Alex Moreno 068b2dc9aa fix: e2e
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 10:36:22 +01:00
Alex Moreno 89a13e8886 Merge branch 'master' into hotFix_supplier_autoBic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 09:27:23 +00:00
Carlos Andrés 658551e085 Merge pull request 'fix: translations travel' (!1021) from Hotfix--translationsTravel into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1021
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-29 09:13:29 +00:00
Carlos Satorres 67d6d4ef45 fix: hotfix webAccess
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 10:05:09 +01:00
Guillermo Bonet bf8b9e4283 Merge branch 'test' into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-29 09:48:43 +01:00
Guillermo Bonet 8428c7a205 fix: refs #7920 Changed shelving option value
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-29 09:48:09 +01:00
Alex Moreno f1fc5edac3 chore: duplicate isLoading.value = false;
gitea/salix-front/pipeline/pr-master Build queued... Details
2024-11-29 09:39:42 +01:00
Alex Moreno d364e30cf0 feat(SupplierAccount): add autoBic when change bankEntity 2024-11-29 09:38:58 +01:00
Javier Segarra af92b06eca Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 09:24:25 +01:00
Javier Segarra 870f07d335 Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 08:20:24 +00:00
Robert Ferrús 4f8bf00786 Merge pull request 'feat: refs #245362 itemTags' (!1017) from 245362-hotFixItemTags into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1017
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-29 07:42:15 +00:00
Robert Ferrús bedf7d8a3a Merge branch 'master' into 245362-hotFixItemTags
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 07:39:40 +00:00
Javier Segarra ed41bb6ecb Merge branch 'master' into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 07:51:54 +01:00
Javier Segarra b83c640760 feat: improve Merge branch 'test' into dev 2024-11-29 07:32:31 +01:00
Alex Moreno 50796df06a Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-29 07:28:06 +01:00
Alex Moreno 36de1ad400 fix(MailForwarding): add try catch
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-29 07:27:14 +01:00
Robert Ferrús 650acccbee Merge branch 'master' into 245362-hotFixItemTags
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-29 04:53:09 +00:00
Carlos Andrés 67c257ce0e fix: translations travel
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 19:24:13 +01:00
Carlos Satorres bc535ff0a1 Merge branch 'master' into hotfix-7366TravelSearch
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 13:07:55 +00:00
Javier Segarra 7a3e2c0a9b Merge pull request 'fix: remove message when setWeigth ticket' (!1019) from setWeight_modal into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1019
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-28 13:06:00 +00:00
Javier Segarra 280a70a145 fix: remove message when setWeigth ticket
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 14:05:04 +01:00
Jon Elias ddfcc0aff5 Merge pull request 'Hotfix: delete event and dated value when excluding a day' (!1010) from Hotfix-ZoneEventsExclusion into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1010
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-28 12:51:44 +00:00
Jon Elias 4193710123 Merge branch 'master' into Hotfix-ZoneEventsExclusion
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 12:43:41 +00:00
Jon Elias 6263481a3e refactor: exclusionCreate function and translations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 13:42:22 +01:00
Javier Segarra d74bad50cb Merge pull request 'HOTFIX #8217 Update Customer Credit' (!986) from hotfix_8217_updateCustomerCredit into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #986
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-28 12:34:11 +00:00
Javier Segarra 07274002cf Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 12:33:07 +00:00
Jon Elias 61d0d71538 fix: fixed functionality like Salix
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 12:26:33 +01:00
Robert Ferrús 547455d976 Merge branch 'master' into 245362-hotFixItemTags
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 10:38:00 +00:00
Robert Ferrús 97c12bced3 feat: refs #245362 change request
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 11:36:59 +01:00
Carlos Satorres aaeabefdfe fix: refs #8114 fix removeAddress
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-28 11:11:45 +01:00
Javier Segarra 1bbce5f828 Merge pull request 'HOTFIX: ticketSale keyup.enter' (!1009) from hotfix_ticketSale_enter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1009
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-28 10:03:40 +00:00
Jorge Penadés 6745c15b0e fix: refs #6818 add early return for empty phone input in parsePhone function
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 10:28:06 +01:00
Jorge Penadés d4028da92e fix: refs #6818 refactor phone parsing and improve error handling
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 10:25:50 +01:00
Javier Segarra 8bc3c1610b Merge branch 'master' into hotfix_ticketSale_enter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 08:39:18 +00:00
Jorge Penadés ad45d612ee Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-hotfix-refactorParsePhone
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 09:38:56 +01:00
Robert Ferrús 5c79c6bfef feat: refs #245362 itemTags
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 09:38:28 +01:00
Guillermo Bonet 7315d117c0 Merge branch 'test' into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-28 09:01:17 +01:00
Guillermo Bonet 41fb880c0e fix: refs #7266 Minor fixes
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-28 08:59:13 +01:00
Alex Moreno 1ae53791bf Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-28 08:41:58 +01:00
Alex Moreno a251e348a8 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev 2024-11-28 08:41:56 +01:00
Guillermo Bonet 4af309ce8d Merge branch 'test' into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-28 08:36:36 +01:00
Javier Segarra 8daa08b99c Merge branch 'master' into hotfix_ticketSale_enter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 07:35:46 +00:00
Alex Moreno fe34eefc55 Merge pull request 'fix: not fetch on mounted' (!1015) from hotfix-notRedirectOnLoad into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1015
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-28 07:34:21 +00:00
Alex Moreno 118e346a07 Merge branch 'master' into hotfix-notRedirectOnLoad
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 07:32:52 +00:00
Guillermo Bonet 55b9e3ddcd fix: refs #7266 Bad report
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-28 08:21:09 +01:00
Jon Elias aaab41fe97 fix: translations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 07:37:50 +01:00
Jon Elias b2e99230b3 Merge branch 'Hotfix-ZoneEventsExclusion' of https://gitea.verdnatura.es/verdnatura/salix-front into Hotfix-ZoneEventsExclusion
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-28 07:21:04 +01:00
Jon Elias 1a0406b5b1 fix: fixed exclusionCreate when excluding an event already excluded 2024-11-28 07:21:02 +01:00
Javier Segarra c287c04894 Merge pull request '#8061 Improve_newCP' (!1016) from 8061_improve_newCP into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1016
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-11-28 05:52:26 +00:00
Javier Segarra 89a2486f62 fix: refs #8061 improve code dependencies
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 23:33:39 +01:00
Javier Segarra 3a695bdfe1 perf: refs #8061 use opts from VnSelect 2024-11-27 22:42:18 +01:00
Javier Segarra 507b78f5e8 perf: refs #8061 filter autonomy 2024-11-27 22:33:00 +01:00
Javier Segarra 827f6032b6 Merge pull request 'test: Order catalog tests' (!1008) from wbuezas/salix-front-mindshore-fork2:feature/CatalogTests into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1008
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-27 20:02:34 +00:00
William Buezas 63f0db459c test: change file name and path
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 16:17:37 -03:00
Javier Segarra 38d8dbab8e Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 18:28:20 +00:00
Javier Segarra e23c6bc144 Merge branch 'master' into hotfix_ticketSale_enter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 18:19:59 +00:00
Javier Segarra a7f5c13acf Merge branch 'master' into Hotfix-ZoneEventsExclusion
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 18:15:05 +00:00
Jorge Penadés 33de645e37 fix: not fetch on mounted
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 17:02:41 +01:00
Jon Elias 5889dbf3de Merge pull request 'Hotfix: fixed ref filter in InvoiceOutList' (!1014) from Hotfix-InvoiceOutRefFilter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1014
Reviewed-by: Jorge Penadés <jorgep@verdnatura.es>
2024-11-27 13:16:30 +00:00
Jon Elias d2cee10141 Merge branch 'master' into Hotfix-InvoiceOutRefFilter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 13:13:57 +00:00
Jon Elias 7d28037c29 fix: fixed ref filter in InvoiceOutList
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 14:09:37 +01:00
Jorge Penadés 25b8535f19 refactor: refs #6818 check prefix
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 12:54:11 +01:00
Carlos Satorres 8b69940d41 Merge branch 'dev' into 7304-warningCustomerBasicData
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 11:54:05 +00:00
Jon Elias e94c99662d Merge branch 'Hotfix-ZoneEventsExclusion' of https://gitea.verdnatura.es/verdnatura/salix-front into Hotfix-ZoneEventsExclusion
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 12:53:08 +01:00
Jon Elias e764f4066f fix: ticket notes translation and deleted useless code 2024-11-27 12:53:07 +01:00
Carlos Satorres 2d656faf58 Merge branch '6389-changesMonitor' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 11:28:34 +01:00
Carlos Satorres 954a777182 Merge branch 'dev' of https: refs #6389//gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor 2024-11-27 11:28:31 +01:00
Carlos Satorres a531973421 fix: hotfix search
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 10:18:32 +01:00
Javier Segarra dc156e44b6 Merge branch 'master' into hotfix_ticketSale_enter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 07:40:24 +00:00
Jon Elias 6b95df0202 Merge branch 'master' into Hotfix-ZoneEventsExclusion
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 07:13:18 +00:00
Jon Elias 07ba02aec8 fix: fixed delete event and dated value when excluding a day
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 08:02:18 +01:00
Javier Segarra bfb0915da0 Merge pull request 'feat: remove More options separator' (!1007) from hotfix_remove_moreOptions into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1007
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-27 06:58:06 +00:00
Javier Segarra 13ee4625be Merge branch 'master' into hotfix_remove_moreOptions
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 06:57:23 +00:00
Javier Segarra 1f752e19f2 Merge pull request 'HOTFIX SaySimple redirect' (!1005) from hotfix_saySimple into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1005
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-27 06:56:29 +00:00
Javier Segarra abec8035a9 Merge branch 'master' into hotfix_saySimple
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 06:55:22 +00:00
Javier Segarra fd9dd7ae55 Merge pull request 'HOTFIX Agency list should be ordered' (!1006) from hotfix_agencySelect_ordered into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1006
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-27 06:53:53 +00:00
Carlos Satorres 59648d14f0 fix: refs #8114 orderList
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 06:18:41 +01:00
William Buezas 4a562acd92 test: change selector
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-26 21:58:30 -03:00
Javier Segarra 72a481ae5b test: remove only
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 01:30:42 +01:00
Javier Segarra b61d6e6cbe Merge branch 'dev' into feature/CatalogTests
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-27 01:22:45 +01:00
Javier Segarra e3bdea2197 fix: ticketSale keyup.enter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-27 01:15:16 +01:00
William Buezas a2d84c48c0 refactor: remove unnecesary things
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-26 21:05:47 -03:00
Javier Segarra ff91ca2dfe feat: remove More options separator
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 23:57:10 +01:00
Javier Segarra bc0d7f110d fix: apply dataByOrder
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 23:48:47 +01:00
Javier Segarra 4539a73efc test: improve clientList
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 23:34:57 +01:00
Javier Segarra cf34204f82 Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 23:21:05 +01:00
Javier Segarra 1b3500bbce test: add vitest VnLinkPhone filter
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-11-26 22:58:36 +01:00
Javier Segarra 21eda340a8 fix: #6818 VnLinkPhone using spanish prefix 2024-11-26 22:57:47 +01:00
Javier Segarra 511a5bc614 Merge pull request 'feat: add Options Style in AddressList from TicketCrete' (!999) from hotfix_addressSelect_optionFormat into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #999
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-26 14:09:46 +00:00
Alex Moreno 9086b7d48d Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 14:20:08 +01:00
Javier Segarra 1af90f695e Merge branch 'master' into hotfix_addressSelect_optionFormat
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 12:42:41 +00:00
Carlos Andrés b20803e6b9 Actualizar src/pages/Travel/Card/TravelBasicData.vue
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 12:31:23 +00:00
Carlos Satorres 75986bf7a8 Merge pull request 'fix: hotfix travel' (!1003) from hotfix-7366travel into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1003
Reviewed-by: Carlos Andrés <carlosap@verdnatura.es>
2024-11-26 12:17:06 +00:00
Carlos Satorres c5f2be688c fix: fix true
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 13:12:53 +01:00
Carlos Satorres 4008f50781 fix: remove
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 13:08:28 +01:00
Carlos Satorres 728055352d fix: fix raidDays
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 13:06:55 +01:00
Carlos Satorres ad8d5b5e9a fix: hotfix travel
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 13:00:38 +01:00
Javier Segarra ac1153b14c feat: add Options style in AddressList from OrderCreate
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 12:26:18 +01:00
Javier Segarra 0e9fe82d3d Merge branch 'master' into hotfix_addressSelect_optionFormat
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 12:23:39 +01:00
Javier Segarra 63536ea0f5 feat: add Options style in AddressList from OrderCreate 2024-11-26 12:17:33 +01:00
Jorge Penadés 9c5125a4d2 Merge pull request '#8232 change default scopeDays' (!1000) from 8232-changeDefaultScopeDays into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #1000
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-26 09:44:18 +00:00
Jorge Penadés 15c1898044 feat: refs #8232 hide only if it is null
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 10:42:14 +01:00
Jorge Penadés a33f801543 refactor: refs #8232 use composable
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 10:19:54 +01:00
Jorge Penadés 84adc40c18 feat: refs #8232 change default scopeDays
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 10:16:53 +01:00
Alex Moreno 7feea110a6 fix(CustomerSummary): fixed CustomerSummaryTable max width
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 09:29:09 +01:00
Alex Moreno 2076072eeb fix(TicketSale): set old quantity when error
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 09:21:51 +01:00
Alex Moreno 8fbf7fed43 fix(TicketSale): throw error when it should
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 09:05:46 +01:00
Alex Moreno 1e4cda6c6a fix(OrderCatalogFilter): remove limit
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-26 07:39:37 +01:00
Alex Moreno 1ce1f1f8e0 Merge pull request '8231_testToMaster_2448' (!997) from 8231_testToMaster_2448 into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #997
Reviewed-by: Guillermo Bonet <guillermo@verdnatura.es>
2024-11-26 06:28:29 +00:00
Javier Segarra c3510aea60 feat: add Options Style in AddressList from TicketCrete
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-26 00:18:42 +01:00
Javier Segarra e28d026ca9 test: perf clientList descriptor action
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 23:53:14 +01:00
Javier Segarra 4e5754ccb5 test: perf clientList descriptor action 2024-11-25 23:49:24 +01:00
Javier Segarra 6c6144864f revert: remove customer test
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 23:21:32 +01:00
Javier Segarra c0d427ecb9 Revert "test: rename client by customer"
gitea/salix-front/pipeline/pr-master This commit looks good Details
This reverts commit 30a2da027b.
2024-11-25 23:20:15 +01:00
Javier Segarra 1cbe134e27 Merge pull request '#8163 add VnInput insert functionality and e2e test' (!987) from wbuezas/salix-front-mindshore-fork2:8163-VnInputFunctionality into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #987
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-25 21:36:09 +00:00
Javier Segarra a45c40f796 fix: refs #8163 minor problem when keypress
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 22:34:56 +01:00
Javier Segarra 7650997c24 perf: refs #8163 #8061 createNewPostCodeForm
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 17:54:38 +01:00
Javier Segarra f6e97efe78 fix: refs #8163 #8061 createNewPostCodeForm 2024-11-25 17:33:59 +01:00
Javier Segarra 7e924bc791 Merge branch '8231_testToMaster_2448' of https://gitea.verdnatura.es/verdnatura/salix-front into 8231_testToMaster_2448
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 14:59:29 +01:00
Javier Segarra 2ead484026 test: refs #8231 fix VnLocation 2024-11-25 14:59:26 +01:00
Alex Moreno 594fc60eec chore: refs #8231 add changelog
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 14:49:10 +01:00
Javier Segarra 1974fd4663 Merge branch 'dev' into 8163-VnInputFunctionality
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 14:27:44 +01:00
Javier Segarra 4735d98afc test: refs #8163 #8163 rename tests
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 14:26:59 +01:00
Jorge Penadés 8688f2a3aa Merge pull request 'fix: refs #7229 set url' (!990) from 7229-fixUrl into dev
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
Reviewed-on: #990
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 13:16:28 +00:00
Jorge Penadés 5bdf9bc57e Merge branch 'dev' into 7229-fixUrl
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:15:29 +00:00
Javier Segarra 28c9aceb80 Merge pull request 'Randomize functions and example' (!994) from cypress_randomizeValue into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #994
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-25 13:07:55 +00:00
Alex Moreno 209266d843 Merge branch 'dev' into 7229-fixUrl
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:07:15 +00:00
Javier Segarra 4821c43d0d Merge branch 'dev' into cypress_randomizeValue
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:06:07 +00:00
Carlos Satorres 2c492e88d5 Merge pull request 'refs #7529 create WorkerPIT' (!442) from 7529-workerPIT into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #442
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 13:05:32 +00:00
Javier Segarra 582a3b333a Merge branch 'dev' into cypress_randomizeValue
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 14:01:27 +01:00
Carlos Satorres dfcaf4e692 fix: refs #7529 fix e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:53:22 +01:00
Carlos Satorres 2bc2217406 fix: refs #7529 fix workerPit e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:49:01 +01:00
Jorge Penadés 34062d3fc4 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixUrl
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:37:34 +01:00
Carlos Satorres 5dd508c559 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 13:31:02 +01:00
Javier Segarra 60590f6c97 Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 12:28:23 +00:00
William Buezas 62cd952e84 feat: refs #8163 resolve conflictss
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 09:22:21 -03:00
William Buezas 0e55f7abdc test: order catalog tests
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-25 09:18:11 -03:00
Javier Segarra ec96f6bea7 Merge pull request 'fix: #8061 Handle new CP' (!948) from 8061_newCP into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #948
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 12:17:13 +00:00
Alex Moreno ee2450c82f Merge branch 'dev' into 8061_newCP
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 12:16:18 +00:00
Alex Moreno 655a76ff62 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-25 13:03:11 +01:00
Alex Moreno fbd57dc96b Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 13:02:58 +01:00
Jon Elias 843c54fcc1 Merge pull request 'Hotfix: ZoneLocationsTree' (!995) from Fix-ZoneLocationsTree2 into master
gitea/salix-front/pipeline/pr-test This commit looks good Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #995
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 11:56:30 +00:00
Alex Moreno 8e7cb9c46e fix: zoneLocationsTree check selected sons
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 12:54:15 +01:00
Javier Segarra a99f64f66a Merge branch 'dev' into 8061_newCP
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 11:20:20 +00:00
Jon Elias f3429297cf Merge branch 'master' into Fix-ZoneLocationsTree2
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 11:20:17 +00:00
Javier Segarra 3e06ba3c18 perf: remove console
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 11:20:07 +00:00
Javier Segarra 4bd14927de Merge branch 'dev' into cypress_randomizeValue
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-25 11:19:30 +00:00
Javier Segarra b62935494a test: remove only
gitea/salix-front/pipeline/pr-dev Build queued... Details
2024-11-25 11:19:21 +00:00
Jon Elias d191d88e81 refactor: modified button to prevent submit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 12:19:20 +01:00
Javier Segarra caca9aea71 Merge pull request 'Add reportFileName option' (!993) from cypress_reporterFileName into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #993
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 11:18:43 +00:00
Javier Segarra 424dfc0a5c Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 11:18:18 +00:00
Jorge Penadés 6c30ea9e7a Merge pull request '#8207 hotfix-tableActions' (!991) from 8207-hotfix-tableActions into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-test This commit looks good Details
Reviewed-on: #991
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-25 11:13:45 +00:00
Jorge Penadés e994ae72b6 fix: refs #8207 add filter to reset
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 12:08:37 +01:00
Jorge Penadés a1284cefc2 refactor: refs #8207 add update fn
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 12:01:28 +01:00
Jon Elias c558636799 refactor: requested changes
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 11:12:11 +01:00
Jorge Penadés a3f56aaf24 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 8207-hotfix-tableActions
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 10:27:00 +01:00
Jon Elias 1dedf00fef Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into Fix-ZoneLocationsTree2
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-25 09:24:58 +01:00
Jon Elias a1aa9337c8 fix: show data and fixed search button when excluding a location
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-11-25 09:21:20 +01:00
Javier Segarra c4f2ea032c feat: randomize functions and example
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-24 17:01:54 +01:00
Javier Segarra b8ac82bc75 feat: add reportFileName option
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-24 16:41:21 +01:00
Alex Moreno e10e0d01e6 fix: zoneEventExclusion form dated
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-24 11:53:40 +01:00
Javier Segarra feb752f75c perf: refs #8061 solve conflicts and random posCode it
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-24 09:31:43 +01:00
Javier Segarra fb4de9cda9 Merge branch 'dev' into 8061_newCP
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-24 09:23:37 +01:00
Javier Segarra a45bf4c83b perf: remove comments
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-24 08:49:03 +01:00
Javier Segarra 8d59cfa9c3 perf: use FetchData instead VnPAginate 2024-11-24 08:48:56 +01:00
Javier Segarra 7f87df1225 feat: refs #8163 use VnAccountNumber in VnAccountNumber
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-23 16:49:32 +01:00
Javier Segarra 2fa8c3f88a feat: refs #8163 limit with maxLength
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-23 15:59:29 +01:00
Javier Segarra 8deeae8e9c test: inprove test
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-23 01:21:21 +01:00
Javier Segarra 083706885c Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix_itemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-23 01:15:36 +01:00
Javier Segarra 4fa5d47481 test: more e2e customer tests
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-23 01:12:59 +01:00
Javier Segarra 30a2da027b test: rename client by customer 2024-11-23 00:51:45 +01:00
Javier Segarra 8a1a748c92 test: add data-cy 2024-11-23 00:51:33 +01:00
Javier Segarra 4233385267 Merge branch 'hotfix_8217_updateCustomerCredit' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix_8217_updateCustomerCredit 2024-11-23 00:33:36 +01:00
Javier Segarra 276dc233c1 perf: remove almost fonseca code 2024-11-23 00:33:30 +01:00
Javier Segarra 12dcb51fbe fix: problem from CustomerDescriptor 2024-11-23 00:33:11 +01:00
Jorge Penadés 8b52629b0b refactor: refs #8207 improve logic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 15:55:30 +01:00
Jorge Penadés 3a4c0e729a refactor: refs #8207 improve logic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 15:52:22 +01:00
Javier Segarra 148e255665 Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 14:49:36 +00:00
Jorge Penadés 9d8698fa2f refactor: refs #8207 improve logic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 15:49:07 +01:00
Javier Segarra 87d3dd6fa8 feat: use mapper
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 15:49:01 +01:00
Jorge Penadés 661cc0b5ee refactor: refs #8207 improve logic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 15:37:48 +01:00
Alex Moreno 01ffb663f1 fix(ClaimList): stateCode orderBy priority
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 15:14:03 +01:00
William Buezas be1cd824d8 feat: refs #8163 add max length and more tests 2024-11-22 10:55:11 -03:00
Jorge Penadés 0eeb22d40a chore: refs #8207 drop useless code
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 13:56:30 +01:00
Jorge Penadés 7048f96565 refactor: refs #8207 imrove logic
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 13:55:22 +01:00
Jorge Penadés 50fbf64cf9 fix: refs #8207 update btn wip
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 13:33:35 +01:00
Jorge Penadés c72fa52851 fix: refs #8207 auto-refresh 2024-11-22 13:03:23 +01:00
Alex Moreno 6276843613 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 12:40:27 +01:00
Alex Moreno 14d2ddfa83 fix: merge errors
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 12:40:07 +01:00
Alex Moreno ef426dc579 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head There was a failure building this commit Details
2024-11-22 12:10:34 +01:00
Alex Moreno 4913cf2c29 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head There was a failure building this commit Details
2024-11-22 12:10:04 +01:00
Javier Segarra 651b67e98f Merge pull request 'fix: orderCatalogFilter and fix useArrayData' (!989) from hotFix_orderCatalogFilter_refactor_fix into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #989
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-22 10:24:18 +00:00
Alex Moreno 94361f18fa Merge branch 'master' into hotFix_orderCatalogFilter_refactor_fix
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 10:23:10 +00:00
Alex Moreno 142302193e Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 11:21:33 +01:00
Alex Moreno 9d7f2b95e8 revert: VnVisibleColumn try catch
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 11:21:08 +01:00
Jorge Penadés 1beeccef7a fix: refs #7229 test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-22 11:17:47 +01:00
Jorge Penadés 3d4f7d8860 fix: refs #7229 set url
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-22 11:08:32 +01:00
Alex Moreno 2db0369b74 fix: resetCategory
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 11:05:48 +01:00
Javier Segarra 1c2c2538ed perf: formModel
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 11:05:19 +01:00
Alex Moreno 1709795cf9 Merge branch 'master' into hotFix_orderCatalogFilter_refactor_fix
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 09:56:04 +00:00
Alex Moreno 26c1394321 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 10:52:51 +01:00
Alex Moreno 367f660508 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 10:52:30 +01:00
Javier Segarra 4ea0d04b86 perf: formModel 2024-11-22 10:48:03 +01:00
Alex Moreno 9019d4ff90 Merge pull request 'fix: remove all try catch(err) (error) console.error' (!988) from hotFix_tryCatch_badPractice into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #988
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-22 09:47:32 +00:00
Alex Moreno 522f32aa9a fix: orderCatalogFilter and fix useArrayData
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 10:40:49 +01:00
Jorge Penadés 55f9023201 Merge pull request '#7229 download file' (!833) from 7229-fixDownloadFile into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #833
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-22 09:34:31 +00:00
Jorge Penadés d1055ad572 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-22 10:24:52 +01:00
Javier Segarra 8a4a6061e7 test: add e2e 2024-11-22 10:16:56 +01:00
Javier Segarra c6b547bc55 perf: change fn name
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 10:04:17 +01:00
Javier Segarra e2f092948e Merge branch 'master' into hotfix_8217_updateCustomerCredit
gitea/salix-front/pipeline/pr-master This commit looks good Details
gitea/salix-front/pipeline/pr-test There was a failure building this commit Details
2024-11-22 08:24:44 +00:00
Javier Segarra aae475bf4c feat: refs #8163 maxLength SupplierFD account
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-22 08:54:41 +01:00
Javier Segarra ce28757a1a feat: refs #8163 maxLengthVnInput 2024-11-22 08:54:19 +01:00
Alex Moreno bf29be1c5f fix: remove all try catch(err) (error) console.error
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-22 08:39:46 +01:00
Alex Moreno 8cbf40f465 fix(TicketSummary): observationTypes use .description
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-22 07:45:49 +01:00
Alex Moreno 3b03f0dfee fix(TicketNotes): observationTypes use .description
gitea/salix-front/pipeline/head There was a failure building this commit Details
2024-11-22 07:43:59 +01:00
Carlos Satorres 095c1f477f fix: refs #7529 add save
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-22 07:34:39 +01:00
Carlos Satorres 3352cea0e7 fix: refs #7529 fix e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-22 06:08:11 +01:00
William Buezas 86d19218de feat: refs #8163 add prop
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 16:54:22 -03:00
Javier Segarra 94514a3254 feat: #8217 send just changes
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 20:14:54 +01:00
Carlos Andrés 6c866e48a0 Merge branch 'test' into dev
gitea/salix-front/pipeline/head There was a failure building this commit Details
2024-11-21 16:02:41 +01:00
Carlos Andrés e04d77f55e Merge pull request 'feat: refs#8087 Redadas en travel' (!984) from travelisRaidTest into test
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #984
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-21 14:56:09 +00:00
Carlos Andrés 5268140d8b feat: refs#8087 Redadas en travel
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-21 15:51:27 +01:00
William Buezas ec40ef9351 feat: refs #8163 add VnInput insert functionality and e2e test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 10:49:19 -03:00
Carlos Andrés 977512cae0 Merge pull request 'feat: refs #8087 refs#8087 Redadas en travel' (!908) from 8087-nuevosCamposTravel into dev
gitea/salix-front/pipeline/head There was a failure building this commit Details
Reviewed-on: #908
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 11:51:51 +00:00
Carlos Andrés 242bf6f318 Merge branch 'dev' into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 11:45:20 +00:00
Carlos Satorres a0f804ab78 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT 2024-11-21 12:19:30 +01:00
Pablo Natek 104348b94b Merge branch 'dev' into 7301-itemLastEntries
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 09:30:42 +00:00
Carlos Satorres 69498cccf9 Merge pull request 'hotfix-clientAddress' (!983) from hotfix-clientAddress into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #983
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 09:28:38 +00:00
Carlos Satorres 518ed40c91 Merge branch 'master' into hotfix-clientAddress
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 09:26:45 +00:00
Alex Moreno fdc71a13ff Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-21 10:26:38 +01:00
Alex Moreno bf0bda0e27 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-21 10:26:29 +01:00
Pablo Natek c006b4cb37 Merge branch 'dev' into 7301-itemLastEntries
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 09:20:54 +00:00
Carlos Satorres 8a972507a4 fix: remove s
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 10:20:42 +01:00
Javier Segarra 3bc5c9bd6a Merge pull request '#8162 - E2E Tickets' (!951) from wbuezas/salix-front-mindshore-fork2:8162-E2ETickets into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #951
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-21 09:19:54 +00:00
Pablo Natek 46cb18b5ef feat: refs #7301 add exclude inventory supplier from list
gitea/salix-front/pipeline/pr-dev Build queued... Details
2024-11-21 10:19:30 +01:00
Carlos Satorres 837f42d21f fix: provinceName 2024-11-21 10:18:25 +01:00
Jon Elias 0cefe391cb Merge pull request 'Hotfix: Show only the correct path of the search' (!954) from Hotfix-ZoneLocationsTree into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #954
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 09:15:45 +00:00
Jon Elias 747bc4af76 Merge branch 'master' into Hotfix-ZoneLocationsTree
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 09:13:42 +00:00
Jon Elias 5ff95c2b93 fix: locations tree
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 10:10:44 +01:00
Alex Moreno 0c3581f3dc Merge pull request 'hotFix(orderCatalogFilter): fix searchByTag' (!961) from hotFix_orderCatalogFilter_values into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #961
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-21 09:09:51 +00:00
Javier Segarra f36363dbd2 Merge pull request 'warmfix: ItemLastEntries to date' (!981) from warmfix_itemLastEntriesFilter into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #981
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-21 09:09:50 +00:00
Javier Segarra e5434e7436 warmfix: ItemLastEntries to date
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-21 09:08:52 +00:00
Carlos Satorres 991ef7b243 fix: refs #7529 fix te2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 09:32:45 +01:00
Javier Segarra 0434332ec4 Merge branch 'master' into hotFix_orderCatalogFilter_values
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 08:27:13 +00:00
Javier Segarra 81d7b9f04f Merge branch 'dev' into 8162-E2ETickets
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 08:20:29 +00:00
Javier Segarra 6f324b44b8 Merge pull request 'WARMFIX: e2e jsegarra' (!973) from fix_js_e2e into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #973
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 08:20:21 +00:00
Javier Segarra 5a90434425 Merge branch 'test' into fix_js_e2e
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-21 08:19:21 +00:00
Jon Elias e943838dbe Merge pull request '#8038 added new functionality in VnSelect and refactored styles' (!871) from 8038-ImproveAndCorrectVnTable into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #871
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 07:08:13 +00:00
Jon Elias 4d8d56eb6e Merge branch 'dev' into 8038-ImproveAndCorrectVnTable
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 07:05:59 +00:00
Alex Moreno 9e41459da4 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-21 07:59:53 +01:00
Alex Moreno 6b8470d6e1 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-21 07:59:42 +01:00
Alex Moreno e817e51b28 Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-21 06:57:47 +00:00
Javier Segarra 350c28eef0 Merge pull request 'HOTfix: use id instead description to open InvoiceOutDescriptor' (!980) from hotFix_customer_balance_email into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #980
2024-11-21 06:52:01 +00:00
Alex Moreno 44f2ecca28 chore: requested changes
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 07:49:10 +01:00
Alex Moreno c5acde22a3 chore: requested changes
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-21 07:42:00 +01:00
Alex Moreno c1e06325d3 Merge pull request '#7874 show name' (!978) from 7874-warmfix-useName into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #978
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-21 06:04:47 +00:00
William Buezas 8e411125bf test: refs #8162 more tests and change data-testid for data-cy
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 18:58:08 -03:00
Javier Segarra 3b5d385d22 fix: use id instead description to open InvoiceOutDescriptor
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 22:43:04 +01:00
Carlos Andrés 087ec5f39f Merge branch 'dev' into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 18:06:04 +00:00
Jorge Penadés 7039b68bba fix: refs #7874 show name
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 17:23:40 +01:00
Jorge Penadés 9632fb7c75 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 16:46:58 +01:00
Jorge Penadés 43f94ede64 fix: refs #7229 url + test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 16:43:59 +01:00
Javi Gallego bc173d9f6a fix: removed selectedClient
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 15:35:37 +01:00
Carlos Andrés c21785b1f6 Merge branch '8087-nuevosCamposTravel' of https://gitea.verdnatura.es/verdnatura/salix-front into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 14:29:56 +01:00
Carlos Andrés 16133faca7 feat: refs #8087 refs#8087 Redadas en travel 2024-11-20 14:29:53 +01:00
Jorge Penadés ad93e16896 fix: refs #7229 url
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-20 13:50:35 +01:00
Alex Moreno 42d24359cd Merge branch 'master' into hotFix_orderCatalogFilter_values
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 12:40:39 +00:00
Alex Moreno abd79283ff fix(CatalogFilterValueDialog): from dev and fix
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 13:38:22 +01:00
Carlos Satorres 258da0f60b Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT 2024-11-20 13:16:10 +01:00
Javi Gallego 2a1cc49499 fix: ticketDescriptor
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 13:15:40 +01:00
Jorge Penadés 0274dfcef2 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-20 13:14:56 +01:00
Carlos Andrés 317e9ad034 Merge branch 'dev' into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 12:14:50 +00:00
Jon Elias 2b235e93e7 feat: refs #8194 created VnSelectWorker component and use it in Lilium
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 11:25:17 +01:00
Javier Segarra 79c53adc30 perf: #7260 remove unnussed code
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 11:20:34 +01:00
Javier Segarra 09c0a590cd perf: #7260 change params by filter 2024-11-20 11:19:58 +01:00
Javier Segarra 74f1ce88c7 Merge branch 'master' into hotfix_itemFixedPrice 2024-11-20 10:07:41 +01:00
Javier Segarra d6aedad38e perf: use const in VnLocation
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 10:07:03 +01:00
Javier Segarra deb6467af8 feat: remove comments
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 10:05:10 +01:00
Javier Segarra 9da0488184 feat: remove comments 2024-11-20 10:03:23 +01:00
Carlos Satorres 093e6cb0e8 Merge pull request 'fix: fix create bankEntity' (!976) from hotfix-createBankEntity into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #976
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-20 09:02:01 +00:00
Carlos Satorres 131cd2de8c fix: options
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 09:53:52 +01:00
Carlos Satorres 2d5d1c549b Merge branch 'hotfix-createBankEntity' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix-createBankEntity
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 09:52:14 +01:00
Carlos Satorres c59baf9cf5 fix: fix code 2024-11-20 09:52:11 +01:00
Javier Segarra ea3569e81a feat: #7260 remove comment
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 09:45:55 +01:00
Javier Segarra cb2aa2845d Merge branch 'master' into hotfix_itemFixedPrice 2024-11-20 09:43:21 +01:00
Javier Segarra 226f604f9d test: #8162 fix vnLocation spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 09:37:47 +01:00
Alex Moreno 51beef3cbe Merge branch 'master' into hotfix-createBankEntity
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 08:27:58 +00:00
Javier Segarra e10ee5e6c7 test: #8162 fix vnLocation spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 09:26:40 +01:00
Alex Moreno 32fdc836f9 fix(OrderCatalogFilter): fix field value
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 09:26:38 +01:00
Javier Segarra 1fb927488a test: #8162 fix clientList spec 2024-11-20 09:26:33 +01:00
Carlos Satorres 2806c94fdb fix: fix create bankEntity
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 09:22:50 +01:00
Jon Elias 71c26c2fa7 Merge pull request '#6999 added search when user tabs on a filter with value' (!888) from 6999-AddTabToFilter into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #888
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-20 07:26:30 +00:00
Jon Elias 26ee54c488 Merge branch 'dev' into 6999-AddTabToFilter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 07:25:50 +00:00
Javier Segarra 68c9baa7f6 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into fix_js_e2e 2024-11-20 08:12:51 +01:00
Alex Moreno eee5873283 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 08:04:40 +01:00
Alex Moreno e032d5988b Merge branch 'master' into hotFix_orderCatalogFilter_values
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-20 07:04:36 +00:00
Alex Moreno 98ac560b16 Merge pull request 'warmFix_vnSearchBar.spec' (!975) from warmFix_vnSearchBar.spec into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #975
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-20 07:03:53 +00:00
Alex Moreno c1d9650c60 Merge branch 'test' into warmFix_vnSearchBar.spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 07:02:22 +00:00
Alex Moreno e33bb9f8b5 Merge pull request 'fix: logout spec' (!974) from warmFix_logout.spec into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #974
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-20 07:02:17 +00:00
Alex Moreno 3ba8402dfd fix: vnSearchbar spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 08:01:50 +01:00
Alex Moreno 67a5800a66 fix: logout spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-20 07:57:45 +01:00
Alex Moreno 46430d1b6d Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 07:42:35 +01:00
Alex Moreno 44134a8fec Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 07:42:25 +01:00
Alex Moreno fef7dd9ac1 fix(MonitorOrders): translation sendDate → landed
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-20 07:41:39 +01:00
Pablo Natek cbdce8f474 Merge pull request '#8138 add-component-ticketProblems' (!962) from 8138-add-component-ticketProblems into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #962
2024-11-20 05:02:50 +00:00
Pablo Natek 8b5a2cd159 Merge branch 'dev' into 8138-add-component-ticketProblems
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-20 05:02:13 +00:00
Jorge Penadés bc73996dfe Merge pull request 'fix: refs #8166 show zone error' (!972) from 8166-fixAdvanceTickets into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #972
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-19 17:29:16 +00:00
Javier Segarra b4ee19bcde test: #8162 fix clientList spec
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 15:56:27 +01:00
Jorge Penadés 9665a3407f fix: refs #7229 remove catch
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-19 15:54:38 +01:00
Jorge Penadés 85aeda337f Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-19 15:49:45 +01:00
Jorge Penadés 8e9e8a8c78 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8166-fixAdvanceTickets
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 15:46:05 +01:00
Jorge Penadés 73b7fa7704 feat: refs #8166 show notification
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 15:43:55 +01:00
Jorge Penadés e54eb50265 fix: refs #8166 show zone error
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 15:35:57 +01:00
Javier Segarra e6f8b87890 Merge branch 'test' into fix_test_jsegarra 2024-11-19 15:05:39 +01:00
Alex Moreno a498e1178f Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 14:50:14 +01:00
Alex Moreno fdafeee39d Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 14:49:22 +01:00
Javier Segarra 8fb843a180 Merge pull request 'feat: add /reports in gitignore' (!970) from warmFix_reports_in_gitignore into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #970
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-19 13:42:47 +00:00
Alex Moreno 7b243a470c Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 14:41:47 +01:00
Alex Moreno 5f7fd91272 feat: add /reports in gitignore
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 14:41:07 +01:00
Alex Moreno 38c2f89fba Merge pull request 'fix(VnSelect): setOptions when applyFilter' (!969) from warmFix_vnSelect into test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #969
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-19 13:40:21 +00:00
Alex Moreno 14e6b870ac Merge branch 'test' into warmFix_vnSelect
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 13:29:15 +00:00
Alex Moreno 8714980595 fix(VnSelect): setOptions when applyFilter
gitea/salix-front/pipeline/pr-test Build queued... Details
2024-11-19 14:28:43 +01:00
Jon Elias bdae26ba08 Merge pull request 'Warmfix: worker test e2e' (!968) from Fix-WorkerCreateE2E into test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #968
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-19 13:19:20 +00:00
Jon Elias 1b68d3c5ea Merge branch 'test' into Fix-WorkerCreateE2E
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 13:16:41 +00:00
Jon Elias f43e974bbc fix: worker test e2e
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 14:14:50 +01:00
Carlos Andrés 5da6e9b2ca Merge branch 'dev' of https: refs #8087//gitea.verdnatura.es/verdnatura/salix-front into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 14:04:13 +01:00
Pablo Natek fb5e38dc0b Merge branch 'dev' into 8138-add-component-ticketProblems
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 12:54:49 +00:00
Pablo Natek 479c428edf Merge branch '8138-add-component-ticketProblems' of https://gitea.verdnatura.es/verdnatura/salix-front into 8138-add-component-ticketProblems
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 13:51:23 +01:00
Pablo Natek 3824f5d124 fix: refs #8138 move component from ui folder 2024-11-19 13:51:19 +01:00
Jorge Penadés 9e0f54ea9b fix: e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 13:49:53 +01:00
Javier Segarra 65100fcf25 test: fix e2e 2024-11-19 13:45:44 +01:00
Jorge Penadés 794036b880 Merge pull request '#7323 warmfix-addRemainingFields' (!965) from 7323-warfix-addRemainingFields into test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #965
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-19 12:37:28 +00:00
Jorge Penadés 26e777cdd5 fix: test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 13:36:58 +01:00
Javier Segarra 5515f55bf6 test: fix e2e 2024-11-19 12:51:05 +01:00
Jorge Penadés 8f8fcfe440 feat: focus menu searchbar
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 12:38:19 +01:00
Jon Elias 98017df57d fix: refs #8038 solve conflicts
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 12:25:15 +01:00
Jon Elias 7cef1d11be Merge branch '8038-ImproveAndCorrectVnTable' of https://gitea.verdnatura.es/verdnatura/salix-front into 8038-ImproveAndCorrectVnTable
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-19 12:22:17 +01:00
Jon Elias cf6695f7ff Merge branch 'dev' of https: refs #8038//gitea.verdnatura.es/verdnatura/salix-front into 8038-ImproveAndCorrectVnTable 2024-11-19 12:22:15 +01:00
Jorge Penadés 93144439d2 Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 11:21:56 +00:00
Robert Ferrús ff272ab6c3 Merge pull request 'fix(Supplier): change isSerious to isReal' (!966) from hotFix_supplier_isReal into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #966
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-19 11:07:15 +00:00
Robert Ferrús 8a1db719e3 fix(Supplier): change isSerious to isReal
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-19 11:58:16 +01:00
Jorge Penadés 1faab668b1 fix: refs #7323 show advanced fields
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 11:53:33 +01:00
Jorge Penadés 38ccf464b7 fix: refs #7323 locale #7396 2024-11-19 11:52:00 +01:00
Carlos Satorres eac476781f Merge branch 'dev' into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 10:42:33 +00:00
Carlos Satorres b9ba67c5a6 fix: refs #7304 fix warning
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 11:39:35 +01:00
Carlos Andrés 8c20b8736b feat: refs #8087 refs#8087 Redadas en travel
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-19 11:10:37 +01:00
Carlos Satorres af7f7aa8f3 fix: refs #6389 fix filter trad
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 10:54:51 +01:00
Jon Elias 5acce4d61d Merge branch 'dev' into 6999-AddTabToFilter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 09:21:10 +00:00
Alex Moreno 19cb781800 Merge pull request '#8036 - arrayData_exprBuilder_after' (!845) from 8036-arrayData_exprBuilder_after into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #845
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-19 09:03:49 +00:00
Alex Moreno 88d2384c35 Merge branch 'dev' of https: refs #8036//gitea.verdnatura.es/verdnatura/salix-front into 8036-arrayData_exprBuilder_after
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 10:00:20 +01:00
Alex Moreno bbb20ec4e6 Merge pull request 'fix(VnPaginate): disable pagination' (!964) from hotFix_disable_pagination into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #964
Reviewed-by: Jorge Penadés <jorgep@verdnatura.es>
2024-11-19 08:48:52 +00:00
Alex Moreno 5d58bb0c13 fix(VnPaginate): disable pagination
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-19 09:47:59 +01:00
Alex Moreno e7b431e9ec fix(VnPaginate): disable pagination
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-11-19 09:32:35 +01:00
Alex Moreno a14cc29fc4 build: change package version
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 09:12:43 +01:00
Alex Moreno a43c28cb57 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 09:11:52 +01:00
Alex Moreno b26028c6a5 Merge pull request '8144-devToTest_2448' (!963) from 8144-devToTest_2448 into test
gitea/salix-front/pipeline/pr-dev This commit looks good Details
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #963
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-19 07:54:41 +00:00
Carlos Satorres 1844e15239 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 08:52:02 +01:00
Javi Gallego 9c271eee08 Merge pull request '#7346 manualInvoice' (!793) from 7346-manualInvoice into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #793
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-19 07:10:06 +00:00
Pablo Natek 6ab31fa2d2 Merge branch 'dev' into 8138-add-component-ticketProblems
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 07:02:32 +00:00
Carlos Satorres 2be55ca81c fix: refs #7304 fix list
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 08:01:00 +01:00
Alex Moreno 8d997b5a7a build: refs #8144 change package version
gitea/salix-front/pipeline/pr-test This commit looks good Details
2024-11-19 07:59:48 +01:00
Pablo Natek f999760205 fix: refs #8138 sme minor issues
gitea/salix-front/pipeline/pr-dev Build queued... Details
2024-11-19 07:59:45 +01:00
Pablo Natek e119bf5bfc feat: refs #8138 add component ticket problems 2024-11-19 07:59:14 +01:00
Alex Moreno afaf2df2ee Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 07:56:04 +01:00
Alex Moreno 43f58d3dba Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-19 07:48:02 +01:00
Carlos Satorres be89f003a7 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7304-warningCustomerBasicData
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-19 06:46:31 +01:00
Javi Gallego 7d2f4bcf44 Merge branch 'dev' into 7346-manualInvoice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 15:46:08 +01:00
Alex Moreno c2db7be8cd fix(orderCatalogFilter): fix searchByTag
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 15:06:09 +01:00
William Buezas 28bfda869a refactor: refs #8162 remove comment
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 10:47:57 -03:00
Javier Segarra 73072794ee test: refs #8162 #8162 fix TicketList spec
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 14:41:27 +01:00
Alex Moreno 00fdbfa2e4 fix(OrderCatalogFilter): hotFix use search-url="params"
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-18 13:41:54 +01:00
Alex Moreno 8f526798f9 Merge pull request 'fix: hotfix OrderTickets' (!960) from hotfix-orderTickets into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #960
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-18 12:31:06 +00:00
Alex Moreno f3ca51aab4 Merge branch 'master' into hotfix-orderTickets
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 12:30:22 +00:00
Carlos Satorres d3993442b6 fix: hotfix OrderTickets
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 13:26:27 +01:00
Javier Segarra 2f06eea8ea Merge branch 'dev' into 8162-E2ETickets
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 12:03:10 +00:00
Jon Elias 3c5472ad4a Merge pull request 'Fix: changed route.query' (!959) from Fix-OrderCatalogCategoryFilter into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #959
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-18 11:28:25 +00:00
Jon Elias 0c0b9ca648 fix: changed route.query
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 12:27:07 +01:00
Alex Moreno dd490888cf merge test in dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-18 11:23:36 +01:00
Alex Moreno 09be2d4d41 Merge pull request 'solveConflicts_test_to_dev' (!957) from solveConflicts_test_to_dev into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #957
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-18 10:21:50 +00:00
Alex Moreno 1e7f2b3f4d Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-18 11:14:29 +01:00
Alex Moreno 009a6b09d6 Merge pull request 'feat(TicketSummary): add ticketDescritporMenu' (!956) from hotFix_ticketSummary_add_ticketDescriptorMenu into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #956
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-18 10:11:42 +00:00
Alex Moreno 5b4299114b Merge branch 'master' into hotFix_ticketSummary_add_ticketDescriptorMenu
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 10:00:54 +00:00
Javier Segarra 5ab28c13d0 Merge pull request 'HOTFIX: CustomerSummary BalanceDue' (!955) from hotFix_customerSumamry_balanceDue into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #955
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-18 10:00:08 +00:00
Javier Segarra f52095a2fc Merge branch 'test' into solveConflicts_test_to_dev
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 10:57:49 +01:00
Alex Moreno 383f51c1b2 refactor(TicketDescritporMenu): url isEditable
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 10:57:26 +01:00
Javier Segarra 0c36d385ec Merge branch 'test' into solveConflicts_test_to_dev 2024-11-18 10:50:42 +01:00
Alex Moreno 09aad5914f feat(TicketSummary): add ticketDescritporMenu
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 10:49:30 +01:00
Javier Segarra 9ea9239250 fix: customerSummary balanceDue label value
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 10:41:25 +01:00
Alex Moreno 29239ef2cd Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into test
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-18 10:13:27 +01:00
Alex Moreno 03490b7f3a Merge pull request 'hotFix(TicketBasicData): getShipped, getLanded & bad try catch' (!953) from hotFix_ticketBasicData_getLanded_getShipped into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #953
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-18 09:13:14 +00:00
Alex Moreno b74c1d1823 Merge branch 'master' into hotFix_ticketBasicData_getLanded_getShipped
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:12:28 +00:00
Alex Moreno 27a1d7460d Merge pull request 'hotFix_arrayData_store_data' (!929) from hotFix_arrayData_store_data into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #929
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-18 09:12:21 +00:00
Alex Moreno 149f92bc93 Merge branch 'master' into hotFix_arrayData_store_data
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:08:37 +00:00
Alex Moreno a50b22bb2a Merge branch 'master' into hotFix_ticketBasicData_getLanded_getShipped
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:08:29 +00:00
Javier Segarra ff9d793378 Merge pull request 'HOTFIX: #7671 apply sort-by itemFk and name' (!949) from hotfix_itemFixedPrice_sortBy into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #949
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-18 09:08:05 +00:00
Alex Moreno 48513868b1 Merge branch 'master' into hotFix_arrayData_store_data
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:04:21 +00:00
Jon Elias a64575c7cc Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into Hotfix-ZoneLocationsTree
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:48:02 +01:00
Jon Elias 452ba788c9 fix: how only the correct path of the search
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-11-18 09:46:34 +01:00
Alex Moreno e230cc61a0 fix(TicketBasicData): getShipped, getLanded & bad try catch
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-18 09:18:06 +01:00
Jon Elias 80770b1165 Merge pull request '#8185 Fix LeftMenu to avoid duplicates' (!952) from 8185-DuplicateLeftMenu into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #952
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-18 06:33:54 +00:00
Jon Elias 3d8aa3cff9 Merge branch 'dev' into 8185-DuplicateLeftMenu
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 06:21:42 +00:00
Alex Moreno 34ccbccf20 Merge pull request 'Down changes from master to test' (!950) from master into test
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #950
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-18 06:15:13 +00:00
Jon Elias 2bc219a09b refactor: refs #8185 modified LeftMenu to avoid duplicates
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-18 06:59:09 +01:00
William Buezas d8c1bd5b16 test: refs #8162 more tests
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-17 15:24:46 -03:00
Javier Segarra 8e67a73d90 perf: #7260 ItemsFilterPanel
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-17 17:15:51 +01:00
Javier Segarra ff9ff45cbc Merge branch 'master' into hotfix_itemFixedPrice 2024-11-17 16:27:26 +01:00
Javier Segarra 46cf68bc76 test: #7260 improve test 2024-11-17 16:27:05 +01:00
Javier Segarra 5e5d2f3c42 fix: #7671 apply sort-by itemFk and name
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-17 13:44:44 +00:00
Javier Segarra 28cbe8bf3f fix: #7671 apply order 2024-11-17 14:42:36 +01:00
Javier Segarra 4116f681b0 test: refs #8061 #8061 remove only
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-17 14:27:51 +01:00
Javier Segarra 95758e2564 test: refs #8061 #8061 CreateNewPostcodeForm
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-17 14:25:23 +01:00
Javier Segarra 8e37d22164 test: refs #8061 #8061 CreateNewPostcodeForm 2024-11-17 14:22:42 +01:00
Javier Segarra 69e6f0f467 test: refs #8061 #8061 CreateNewPostcodeForm 2024-11-17 12:57:35 +01:00
Javier Segarra e8ad185873 revert: refs #8061 test #8061 updates
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-16 14:32:41 +01:00
Javier Segarra 69a2eae542 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8061_newCP 2024-11-16 14:31:58 +01:00
Javier Segarra 1a0a2d9442 test: refs #8061 #8061 updates 2024-11-16 14:30:16 +01:00
Jon Elias 6de5864dd6 Merge pull request 'Hotix: deleted duplicate VnUsesMana' (!940) from Hotfix-SalesMana into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-test This commit looks good Details
Reviewed-on: #940
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 13:32:42 +00:00
Jon Elias 1dc2f54f61 Merge branch 'master' into Hotfix-SalesMana
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 13:31:53 +00:00
Javier Segarra b8293d91e8 Merge pull request 'HOTFIX: #6943 hotFix_AddressObservation_crud' (!945) from hotFix_AddressObservation_crud into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #945
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 13:14:26 +00:00
Javier Segarra 2e2a118627 Merge branch 'master' into hotFix_AddressObservation_crud
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 12:55:08 +00:00
Javier Segarra 94873f7771 Merge pull request 'fix: Redirect to catalog when create new order' (!947) from hotfix_OrderNew_redirectTo into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #947
Reviewed-by: Jon Elias <jon@verdnatura.es>
2024-11-15 12:52:17 +00:00
Javier Segarra 5916923521 fix: Redirect to catalog when create new order
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 12:51:25 +00:00
Javier Segarra acaf7f2930 Merge pull request 'fix: Redirect to catalog when create new order' (!946) from hotfix_OrderNew_redirectTo_catalog into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #946
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 12:38:39 +00:00
Javier Segarra 54a34e8034 fix: Redirect to catalog when create new order
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 12:33:56 +00:00
Javier Segarra 064dbfc432 fix: #6943 Update AddressObservations
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 12:20:50 +00:00
Jon Elias f03e5dc412 Merge pull request 'Hotfix: fixed state column in TicketList and translation' (!944) from Hotfix-TicketList into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #944
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 11:11:14 +00:00
Carlos Satorres 3f486f6514 Merge pull request 'fix: refs #7310 clean warning' (!840) from 7310-warningTravelTermographs into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #840
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 11:10:28 +00:00
Jon Elias 89661397fb Merge branch 'master' into Hotfix-TicketList
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:09:20 +00:00
Carlos Satorres 95291d4d4e Merge branch 'dev' into 7310-warningTravelTermographs
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-15 11:06:03 +00:00
Javier Segarra d0427c17be Merge pull request 'HOTFIX: #6943 CustomerDescriptor actions' (!943) from hotfix-customerDescriptor_actions into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #943
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 11:04:34 +00:00
Jon Elias 1fc2ae0689 Merge branch 'master' into Hotfix-TicketList
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 10:53:53 +00:00
Jon Elias eb287696fa fix: fixed state column in ticket list
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:49:46 +01:00
Javier Segarra e64ea2db19 feat: #6943 CustomerList salesPerson
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:48:19 +01:00
Javier Segarra 4d8432feb5 revert: #6943 address star feature
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:46:55 +01:00
Javier Segarra bdd36f6ba1 Merge branch 'master' into hotfix-customerDescriptor_actions
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:44:41 +01:00
Javier Segarra c465c9b2c7 Merge branch 'master' into hotfix-customerDescriptor_actions
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 11:41:28 +01:00
Javier Segarra 87ba74bcfc perf: #6943 Create ticket from client
gitea/salix-front/pipeline/pr-master There was a failure building this commit Details
2024-11-15 11:39:43 +01:00
Javier Segarra 8e52bd0688 perf: #6943 improve OrderList 2024-11-15 11:37:27 +01:00
Javier Segarra 2891e1363a feat: #6943 CustomerDescriptor actions 2024-11-15 11:36:20 +01:00
Javier Segarra c57ff7b3c9 Merge pull request 'HOTFIX: Customer Risk color' (!942) from hotFix_customerRisk_icon into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #942
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-15 10:32:35 +00:00
Javier Segarra d3f538e37c perf: previous commit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 10:27:37 +00:00
Alex Moreno e8f0bc9965 Merge pull request 'feat(VnSelect): refs #7136 add scroll' (!890) from 7136-vnSelect_paginate_simplify_2 into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #890
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-15 10:24:46 +00:00
Javier Segarra d52a0fdc7f fix: customer Risk icon color
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 10:23:57 +00:00
Alex Moreno 0e93766670 Merge branch 'dev' into 7136-vnSelect_paginate_simplify_2
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-15 10:23:55 +00:00
Javier Segarra c7c9c13944 test: refs #8061 #8061 updates 2024-11-15 10:28:52 +01:00
Javier Segarra 703aaa1f38 feat: refs #8061 #8061 updates 2024-11-15 10:28:42 +01:00
Alex Moreno e19d11baa8 Merge branch 'master' into hotFix_arrayData_store_data
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 08:21:27 +00:00
Alex Moreno f2b132db79 fix(VnPaginate): not start without data
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 08:50:10 +01:00
Jon Elias 141cb32cae Merge branch 'master' into Hotfix-SalesMana
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 07:23:59 +00:00
Jon Elias 354f2ce055 fix: deleted duplicate VnUsesMana
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-15 08:21:29 +01:00
Guillermo Bonet 3c77076718 Merge pull request 'refactor: refs #7950 Created cmr model' (!911) from 7950-cmrModelUnify into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #911
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-15 06:04:51 +00:00
Guillermo Bonet c607fc5f61 Merge branch 'dev' into 7950-cmrModelUnify
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-15 06:03:30 +00:00
Javier Segarra 0a239e8c43 Merge pull request 'HOTFIX: customerFilter sales person input' (!939) from hotfix_customer_salesPerson_Filter into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #939
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-14 15:26:44 +00:00
Javier Segarra ca0d70933e Merge branch 'master' into hotfix_customer_salesPerson_Filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 15:26:00 +00:00
Jorge Penadés 7626c777ed Merge pull request 'feat: refs #7874 improve vn-notes ui' (!938) from 7874-improveVnNotesUi into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #938
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-14 15:21:24 +00:00
Javier Segarra 64c884693d Merge pull request 'HOTFIX #8192 Filter termopragh' (!934) from hotfix_termograph_filter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #934
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-14 15:21:20 +00:00
Javier Segarra cb1c050343 fix: customerFilter sales person input
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 16:18:22 +01:00
Javier Segarra 39e8f73d1b Merge branch 'dev' of https: refs #7136//gitea.verdnatura.es/verdnatura/salix-front into 7136-vnSelect_paginate_simplify_2
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 16:05:08 +01:00
Jorge Penadés 8e0b098756 fix: refs #7874 add title
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 16:01:09 +01:00
Jorge Penadés 59b40fed45 feat: refs #7874 improve vn-notes ui
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 15:57:01 +01:00
Javier Segarra e6ba0c7c30 Merge branch 'master' into hotfix_termograph_filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 14:56:30 +00:00
Jorge Penadés 8d070edf8d Merge pull request 'feat: refs #6839 normalize search' (!936) from 6839-normalizeSearch into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #936
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 14:06:03 +00:00
Alex Moreno 045a828bf9 fix(ZoneCard): fix ZoneLocations redirections
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 13:59:04 +01:00
Jorge Penadés 7224860c5c feat: refs #6839 normalize search
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 13:51:39 +01:00
Alex Moreno a929dec2ab fix(ZoneCard): fix ZoneLocations redirections
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 13:42:46 +01:00
Javier Segarra c4cad9b7bb Merge branch 'master' into hotfix_termograph_filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 12:27:57 +00:00
Javier Segarra 84414df487 Merge branch 'hotfix_termograph_filter' of https://gitea.verdnatura.es/verdnatura/salix-front into hotfix_termograph_filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 13:27:41 +01:00
Javier Segarra aa5eb005fd feat: #8192 remove expr-builder proposal 2024-11-14 13:27:38 +01:00
Javier Segarra 68994db6ff Merge pull request 'Change layout CustomerDescriptor Actions' (!931) from warmFix_customerDescriptorActions into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #931
Reviewed-by: Jorge Penadés <jorgep@verdnatura.es>
2024-11-14 12:23:33 +00:00
Javier Segarra 61cd8c49c6 Merge branch 'dev' into warmFix_customerDescriptorActions
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 12:22:33 +00:00
Jorge Penadés 0fe740e415 fix: e2e
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 13:20:23 +01:00
Alex Moreno 925ff859cc fix(ZoneCard): fix ZoneLocations redirections
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 13:01:56 +01:00
Javier Segarra 259f0e30af Merge branch 'master' into hotfix_termograph_filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 11:59:33 +00:00
Javier Segarra faf307bc16 fix: #8192 find by thermographFk instead id
gitea/salix-front/pipeline/pr-master Build queued... Details
2024-11-14 12:59:18 +01:00
Alex Moreno 218d041000 fix(ZoneCard): fix ZoneLocations redirections
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 12:58:41 +01:00
Javier Segarra 291e97e540 feat: #6943 use openURL quasar
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 12:48:33 +01:00
Alex Moreno 55b4c07e80 fix(ZoneCard): fix ZoneLocations searchbar
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 12:33:44 +01:00
Alex Moreno 73c6dcfdd1 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 12:20:17 +01:00
Alex Moreno c65f15d0f0 fix(Zone): if route is null
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 12:18:39 +01:00
Carlos Satorres 27accd0e8b Merge pull request 'fix: refs #7306 clean warning' (!839) from 7306-warningCustomerUnpaid into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #839
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 11:09:25 +00:00
Carlos Satorres 857136a866 Merge branch 'dev' into 7306-warningCustomerUnpaid
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:08:37 +00:00
Javier Segarra ecf131ba78 feat: move buttons to DescriptorMenu
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 12:06:12 +01:00
Jorge Penadés fa43f270ca fix: prevent null
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 12:02:40 +01:00
Javier Segarra 5af494e13c perf: refs #7346 #7346 use v-show instead v-if
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:54:04 +01:00
Javier Segarra aa05b4b0cb perf: refs #7346 #7346 Imrpove interface dialog
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:51:06 +01:00
Javier Segarra d284cec31a Merge branch '7346-manualInvoice' of https: refs #7346//gitea.verdnatura.es/verdnatura/salix-front into 7346-manualInvoice 2024-11-14 11:50:09 +01:00
Jorge Penadés 43af96eb05 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:41:05 +01:00
Jorge Penadés 84802cf267 Merge pull request 'refactor: refs #6818 change channel source' (!932) from 6818-useDefaultChannel into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #932
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 10:31:15 +00:00
Jorge Penadés 877497e8ae Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-useDefaultChannel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:29:58 +01:00
Alex Moreno e0e03526af Merge pull request 'warmFix: Revert previous commit e57a253c6f649382da187d1129449d265fb26d3b' (!930) from revert_warning_inject into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #930
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 10:28:37 +00:00
Jorge Penadés c4a4f7fcd6 refactor: refs #6818 change channel source
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 11:20:16 +01:00
Carlos Satorres 5b444ef0f5 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7306-warningCustomerUnpaid
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 10:54:22 +01:00
Javier Segarra 2bcd7061cb revert e57a253c6f
gitea/salix-front/pipeline/pr-dev This commit looks good Details
revert Merge pull request '#7308 Remove console warnings' (!928) from 7308-warning_inject into dev

Reviewed-on: #928
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 09:50:00 +00:00
Javi Gallego c0ddc2c5b4 fix: refs #7346 traslations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 10:47:14 +01:00
Carlos Satorres fd71c597e9 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7304-warningCustomerBasicData
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 10:44:10 +01:00
Alex Moreno 139861f6cf test: fix limit
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-14 10:38:02 +01:00
Alex Moreno 94c7ee3ae3 fix: arrayData store shared 2024-11-14 10:36:42 +01:00
Jorge Penadés f7c64fe6ff Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 09:37:24 +01:00
Javi Gallego 79ce2ad79e Merge branch 'dev' into 7346-manualInvoice 2024-11-14 09:22:18 +01:00
Javier Segarra e57a253c6f Merge pull request '#7308 Remove console warnings' (!928) from 7308-warning_inject into dev
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
Reviewed-on: #928
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 08:09:09 +00:00
Javier Segarra b0bb09e9a6 perf: refs #7308 #7308 remove comments
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 09:03:18 +01:00
Carlos Satorres a115caac71 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7310-warningTravelTermographs
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 08:34:56 +01:00
Jon Elias 8cfc2996d4 Merge branch 'dev' into 6999-AddTabToFilter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 07:32:07 +00:00
Jon Elias 7f4a73fd56 feat: refs #6999 added tab to search in VnTable filter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 08:30:55 +01:00
Javier Segarra 0fe5f6d54d Merge branch 'dev' into 7308-warning_inject
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 07:20:28 +00:00
Javier Segarra 590d495dbd test: refs #7308 #7308 axios.spec.js
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 08:19:41 +01:00
Javier Segarra ef415d080a feat: refs #7308 #7308 remove warnings related to useSession 2024-11-14 08:19:19 +01:00
Jon Elias 483760c8cd Merge pull request '#7132 fix translations' (!843) from 7132-FixTranslations into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #843
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-14 07:10:49 +00:00
Jon Elias f9ef50db02 Merge branch 'dev' into 7132-FixTranslations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-14 07:10:02 +00:00
Guillermo Bonet c2b6b816a4 fix: refs #7283 Account image resolution
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-14 08:04:06 +01:00
Jorge Penadés 81f1c447ad fix: rollback
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 17:45:02 +01:00
Jorge Penadés a5d032f022 feat: make additional data object
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 17:29:19 +01:00
Jorge Penadés 34df9cf254 fix: rollback
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 15:33:41 +01:00
Jon Elias eecf8beb7a Merge pull request 'Hotfix: allow decimal numbers when creating a purchase request' (!927) from Hotfix-CreateRequest into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #927
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 13:18:48 +00:00
Jon Elias bcb777d4bc Merge branch 'master' into Hotfix-CreateRequest
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 13:18:00 +00:00
Jon Elias 540e0348a1 Merge branch 'dev' of https: refs #7132//gitea.verdnatura.es/verdnatura/salix-front into 7132-FixTranslations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 14:10:08 +01:00
Carlos Satorres 9e653b8c2d Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7310-warningTravelTermographs
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 14:05:57 +01:00
Javier Segarra 9afbcd5cea Merge pull request 'fix: customer last tickets' (!926) from fixCustomerSumarryLastTickets into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #926
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-13 12:56:24 +00:00
Pablo Natek ddfea42c62 fix: add click stop on descriptorProxis
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 13:51:37 +01:00
Jon Elias 75c33dabf1 Merge branch 'master' into Hotfix-CreateRequest
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 12:41:40 +00:00
Jon Elias 244c23be1d fix: allow decimal numbers when creating a purchase request
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 13:40:19 +01:00
Pablo Natek 1c5a02fe52 fix: customer last tickets
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 13:17:15 +01:00
Jorge Penadés 0c476725ae refactor: use locale keys
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 13:11:02 +01:00
Jorge Penadés 00c712469f Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 12:37:33 +01:00
Javier Segarra 4dc2be291f perf: remove comments
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 12:32:53 +01:00
Javier Segarra a4ccbe66c7 Merge branch 'dev' into performance_mixins
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 12:27:49 +01:00
Javier Segarra c3c51e01d4 perf: qFormMixin 2024-11-13 12:27:33 +01:00
Pablo Natek 8d296daf1e Merge pull request 'fix: refs #7404 some filter issues' (!921) from 7404-fixFilterIsssues into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #921
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 11:25:31 +00:00
Pablo Natek bccfb161e6 Merge branch 'master' into 7404-fixFilterIsssues
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 11:24:25 +00:00
Jorge Penadés 76187f00a1 Merge pull request 'feat: add city name' (!925) from 7354-hotfix-showCity into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #925
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 11:23:17 +00:00
Jorge Penadés b68868e103 feat: add city name
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 12:11:15 +01:00
Jon Elias cc85d4ab4b Merge branch 'dev' into 8038-ImproveAndCorrectVnTable
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 11:02:33 +00:00
Jorge Penadés 7dba1a1846 Merge pull request 'feat: refs #6818 add icon' (!924) from 6818-addIcon into dev
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
Reviewed-on: #924
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 11:01:40 +00:00
Jon Elias 9533c1a97e Merge branch 'dev' into 8038-ImproveAndCorrectVnTable
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 11:00:43 +00:00
Jorge Penadés 9291c4dd6a feat: refs #6818 add icon
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 11:50:08 +01:00
Pablo Natek f93532d5b7 Merge pull request 'hotfixZoneFilter' (!922) from hotfixZoneFilter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #922
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 09:22:15 +00:00
Javier Segarra 9b681d806b perf: qFormMixin improvement
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 10:13:00 +01:00
Pablo Natek 178753ddcc fix: add scope fields on filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 10:11:14 +01:00
Pablo Natek 8eb76cd0fc fix: url name
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 10:00:04 +01:00
Pablo Natek 81927c5af5 fix: zoneFilter 2024-11-13 09:58:41 +01:00
Jorge Penadés d474fb924f Merge pull request 'feat: refs #6818 saysimple integration' (!904) from 6818-saySimpleIntegration into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #904
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-13 08:25:27 +00:00
Jorge Penadés 96e9de519f Merge branch 'dev' into 6818-saySimpleIntegration
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 08:22:44 +00:00
Pablo Natek 5c59ae8217 fix: refs #7404 some filter issues
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-13 09:12:51 +01:00
Alex Moreno 9ac3316567 Merge branch 'dev' into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 07:56:33 +00:00
Alex Moreno 1f8ead608c Merge pull request 'feat(VnSelect): order data equal salix' (!918) from warmFix_order_equalSalix into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #918
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-13 06:48:55 +00:00
Alex Moreno 6f1e6a3bfa Merge branch 'dev' into 8036-arrayData_exprBuilder_after
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 06:22:52 +00:00
Alex Moreno 2ae9d68fec Merge branch 'dev' into warmFix_order_equalSalix
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 06:21:59 +00:00
Alex Moreno 8269037faa chore: perf
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 07:21:42 +01:00
Guillermo Bonet 8db3ab4d47 Merge branch 'dev' into 7950-cmrModelUnify
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-13 06:13:23 +00:00
Jorge Penadés 4572817699 feat: refs #8087 reactive data
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 16:37:59 +01:00
Carlos Andrés b460a0be2f Merge branch '8087-nuevosCamposTravel' of https://gitea.verdnatura.es/verdnatura/salix-front into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 16:27:41 +01:00
Carlos Andrés 18593cc3f9 feat: refs #8087 refs#8087 Redadas en travel 2024-11-12 16:27:40 +01:00
Jorge Penadés 83be57a0c4 chore: refs #6818 drop useless code & comment
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 15:01:17 +01:00
Jorge Penadés e29cd38ae9 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-saySimpleIntegration
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 15:00:18 +01:00
Alex Moreno fc28639556 Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-12 14:40:42 +01:00
Alex Moreno 3f15c3cce0 feat(VnSelect): order data equal salix
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 14:35:55 +01:00
Jorge Penadés 679107d7ea Merge pull request 'fix: refs #7354 redirect to ticket' (!917) from 7354-hotfix-redirectToTicket into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #917
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-12 12:47:35 +00:00
Jorge Penadés 86b8f9bf54 Merge pull request 'feat: refs #6919 sync entry data' (!913) from 6919-reactiveDescriptor into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #913
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
2024-11-12 12:37:39 +00:00
Jorge Penadés 90f04cc010 Merge branch 'dev' into 6919-reactiveDescriptor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 12:36:48 +00:00
Jorge Penadés 18f544f8dc fix: refs #7354 redirect to ticket
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 13:23:28 +01:00
Javier Segarra 830c3658d4 Merge pull request 'fix/OrderCatalog' (!893) from wbuezas/salix-front-mindshore-fork2:fix/OrderCatalog into dev
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #893
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-12 12:01:43 +00:00
Jorge Penadés 1554333e07 Merge pull request 'fix: refs #7354 zip filter' (!916) from 7354-hotfix-zipFilter into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #916
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
2024-11-12 11:53:41 +00:00
Jorge Penadés db8340bde5 Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/salix-front into 7354-hotfix-zipFilter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 12:51:09 +01:00
Alex Moreno 26af102804 fix(CreateThermographForm): remove limit
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-12 12:47:30 +01:00
Jorge Penadés 2afddeb063 fix: refs #7354 zip filter
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 12:41:10 +01:00
Javier Segarra a7d53fcbe6 Merge branch 'dev' into fix/OrderCatalog
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 11:30:36 +00:00
Javier Segarra a76d63ff00 Merge pull request 'HOTFIX: Send SMS using mobile instead phone' (!914) from hotFix-customer_sms into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #914
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-12 11:13:32 +00:00
Javier Segarra 2139b7e8e8 Merge branch 'master' into hotFix-customer_sms
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 11:12:46 +00:00
Carlos Satorres d8ae6c056e Merge pull request 'fix: fix termo' (!915) from hotfix-termog into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #915
Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
2024-11-12 11:09:41 +00:00
Carlos Satorres fefa61ea5c fix: fix termo
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 12:07:02 +01:00
Javier Segarra 6355993c14 fix: mobile is more relevant than phone
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 11:00:05 +00:00
Carlos Andrés 4a0c15ed90 Merge branch 'dev' into 8087-nuevosCamposTravel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 10:24:06 +00:00
Jorge Penadés b4d7653661 refactor: refs #6919 export filter
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 11:15:34 +01:00
Jorge Penadés efd66ea02a feat: refs #6919 sync entry data
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 11:08:45 +01:00
Alex Moreno 95b6e72e6c Merge pull request 'HOTFIX(CustomerBalance): getClientRisk' (!912) from hotFix_customer_balance into master
gitea/salix-front/pipeline/head This commit looks good Details
gitea/salix-front/pipeline/pr-master This commit looks good Details
Reviewed-on: #912
Reviewed-by: Carlos Satorres <carlossa@verdnatura.es>
2024-11-12 09:27:54 +00:00
Alex Moreno 700fb7481b fix(CustomerBalance): getClientRisk
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-12 10:15:31 +01:00
Jorge Penadés 81b35aa75b chore: refs #6818 add spaces
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 10:11:26 +01:00
Jorge Penadés 700701f055 refactor: refs #6818 channel logic
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 10:10:26 +01:00
Jorge Penadés c775ba8592 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-saySimpleIntegration 2024-11-12 09:45:05 +01:00
Guillermo Bonet 40ecd6e358 refactor: refs #7950 Created cmr model
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-12 08:28:02 +01:00
Alex Moreno 8c78991163 fix(EntryStockBought): min width
gitea/salix-front/pipeline/head This commit looks good Details
2024-11-12 08:23:49 +01:00
Alex Moreno 87b7fd6db4 Merge pull request '8179-testToMaster' (!909) from 8179-testToMaster into master
gitea/salix-front/pipeline/head This commit looks good Details
Reviewed-on: #909
Reviewed-by: Guillermo Bonet <guillermo@verdnatura.es>
2024-11-12 07:01:11 +00:00
Javi Gallego 8e4931516a feat: refs #7346 traducciones en cammelCase
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-12 07:42:55 +01:00
Javi Gallego 76e35cc758 feat: refs #7346 address ordered
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-11-12 07:28:51 +01:00
William Buezas 4bfbd1925e test: refs #8162 ticket list e2e tests 2024-11-11 15:18:29 -03:00
Jorge Penadés 7f1a4d6cc8 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-saySimpleIntegration
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-11 16:42:20 +01:00
Carlos Andrés e9fad1a44e feat: refs #8087 refs#8087 Redadas en travel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-11 15:00:07 +01:00
Carlos Andrés fc73149dcf feat: refs #8087 refs#8087 Redadas en travel
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-11 14:20:39 +01:00
Jorge Penadés 8a4589910c Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-11 13:16:22 +01:00
Javier Segarra d55764d2bc Merge branch 'dev' into performance_mixins 2024-11-11 09:58:50 +01:00
Javier Segarra 669186a43a revert: #7679 improve changes 2024-11-11 09:56:03 +01:00
Jorge Penadés 462382ecb5 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6818-saySimpleIntegration 2024-11-08 17:49:35 +01:00
Jorge Penadés 7fb3e71688 feat: refs #6818 fetch url & default channel 2024-11-08 17:41:27 +01:00
William Buezas ade90afd03 refactor: change keyup.enter for update:model-value
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 10:13:35 -03:00
William Buezas c1d623622d refactor: remove unused variable
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 10:11:15 -03:00
Jorge Penadés 3bae121ed7 fix: refs #6818 use right icon
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 13:04:40 +01:00
Javier Segarra 3825dc3851 feat: disabled buttons
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 11:54:04 +01:00
Jorge Penadés a467c44b91 feat: refs #6818 saysimple integration
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 11:51:13 +01:00
Javier Segarra e5a0c42352 perf: remove comment
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-11-08 09:17:02 +01:00
Javier Segarra e8312701f4 Merge branch 'master' into hotfix_itemFixedPrice 2024-11-08 09:03:30 +01:00
Javier Segarra 96d68ed106 Merge branch 'dev' into fix/OrderCatalog
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-08 06:59:26 +00:00
William Buezas 8bff7fc1d6 fix: reset category
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-07 21:09:39 -03:00
William Buezas 52a2250acc refactor: apply QPopupProxy
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-07 19:16:06 -03:00
William Buezas 498a52a3e5 refactor: small change
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-07 19:07:03 -03:00
Carlos Satorres 04f6107909 fix: refs #7529 fix scss
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-07 14:38:54 +01:00
Carlos Satorres 780af58747 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-07 12:48:26 +01:00
Jorge Penadés f6d200405c feat: message to grant access
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-05 09:33:16 +01:00
Jorge Penadés 3ca26a97dc Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into xxxx-addSupportService 2024-11-05 09:22:46 +01:00
William Buezas d627c1f698 fix: order catalog
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-11-03 10:29:03 -03:00
Jorge Penadés 8817fd7c55 feat: add support service wip 2024-10-30 13:55:51 +01:00
Javi Gallego 4e957ed8a7 feat: refs #7346 style radioButton 2024-10-29 17:23:45 +01:00
Alex Moreno bf4bee0f95 feat(VnSelect): refs #7136 add scroll
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-29 14:07:34 +01:00
Carlos Satorres 8b2fbefc35 fix: refs #7529 front
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-29 14:00:04 +01:00
Jon Elias 493e518339 feat: refs #6999 added search when user tabs on a filter with value
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-29 12:15:40 +01:00
Carlos Satorres eea6276264 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT 2024-10-29 08:32:47 +01:00
Carlos Satorres adbf1af453 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-29 06:13:22 +01:00
Jorge Penadés 53399c8f74 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-10-28 16:25:18 +01:00
Carlos Satorres 847cf6a5b4 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-28 13:31:42 +01:00
Carlos Satorres 8dd2c94b37 fix: refs #6389 packing
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-28 09:01:00 +01:00
Carlos Satorres c0c1d3e3a9 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-28 08:08:19 +01:00
William Buezas c93f152060 fix: order catalog fixes 2024-10-27 15:27:53 -03:00
William Buezas 211da859bd fix: catalog view category and type filter 2024-10-25 08:57:16 -03:00
Javier Segarra 4df05b7522 feat: #8110 apply mixin in quasar components
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-25 13:41:06 +02:00
Jon Elias e13090bb3b feat: refs #8038 added new functionality in VnSelect and refactor styles
gitea/salix-front/pipeline/pr-dev Build queued... Details
2024-10-25 07:01:58 +02:00
Alex Moreno 1e04ead780 perf: refs #8036 currentFilter
gitea/salix-front/pipeline/pr-test Build started... Details
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-24 15:11:58 +02:00
Alex Moreno e739f42ddf Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8036-arrayData_exprBuilder_after 2024-10-24 14:46:00 +02:00
Carlos Satorres fee51db30d Merge branch 'dev' of https: refs #6389//gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-24 08:09:09 +02:00
Alex Moreno 99549c6787 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8036-arrayData_exprBuilder_after
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-24 07:58:00 +02:00
Carlos Satorres e8fd3c0a8f fix: refs #6389 fix front, filters, itp
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-10-23 14:58:03 +02:00
Jon Elias b69ef48a44 refactor: refs #7132 deleted pageTitles repeated
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-23 12:21:34 +02:00
Carlos Satorres daf57c9b2b fix: refs #6389 front filters
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-23 12:20:53 +02:00
Jon Elias 03f2da8169 Merge branch 'dev' of https: refs #7132//gitea.verdnatura.es/verdnatura/salix-front into 7132-FixTranslations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-23 12:14:50 +02:00
Javi Gallego 2a94916bc2 feat: refs #7346 radioButton
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-22 15:04:23 +02:00
Carlos Satorres 861a507e10 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6389-changesMonitor
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-22 14:52:10 +02:00
Javi Gallego 69215851bb Merge branch 'dev' into 7346-manualInvoice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-21 14:01:18 +02:00
Jon Elias df3b4e7a18 refactor: refs #7132 deleted useless code
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-21 13:07:07 +02:00
Jon Elias 1d41647022 Merge branch 'dev' of https: refs #7132//gitea.verdnatura.es/verdnatura/salix-front into 7132-FixTranslations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-21 12:57:32 +02:00
Jon Elias e5cd9d4b8f refactor: refs #7132 global translations files changed
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-10-21 12:56:09 +02:00
Carlos Satorres 1bafdf1b85 fix: refs #6389 ipt
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-20 15:01:37 +02:00
Carlos Satorres 1aefad58e9 fix: refs #7529 fix front
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 14:05:38 +02:00
Alex Moreno bfc906a346 fix: refs #8036 only add where when required
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 13:48:10 +02:00
Alex Moreno 8381a25017 fix: refs #8036 apply exprBuilder after save filters 2024-10-18 13:46:34 +02:00
Jon Elias 89cb9aacec refactor: refs #7132 1st wave of changes in global translations files
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 12:54:21 +02:00
Carlos Satorres 237b3ed4df Merge branch 'dev' of https: refs #7529//gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 11:17:06 +02:00
Jon Elias 0e77d4b68f refactor: refs #7132 account's module translations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 10:40:40 +02:00
Jon Elias 8eef9c0009 refactor: refs #7132 customer's module translations
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 09:21:18 +02:00
Jon Elias 58e88f605c refactor: refs #7132 delete duplicate translations' keys
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-18 08:04:52 +02:00
Carlos Satorres 608e6c717a fix: refs #7310 clean warning
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-17 09:34:48 +02:00
Carlos Satorres 16ef5d3722 fix: refs #7306 clean warning
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-17 08:30:45 +02:00
Carlos Satorres b82453582a fix: refs #7304 7304 clean warning
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-17 07:44:31 +02:00
Jorge Penadés 4e5a4ae7a3 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7229-fixDownloadFile
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-10-16 11:49:42 +02:00
Jorge Penadés fb7087d38a fix: refs #7229 download file
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details
2024-10-15 10:26:07 +02:00
Javier Segarra dc13096bc1 perf: remove comments
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-10-09 00:50:53 +02:00
Javier Segarra 2877ef8a33 feat: refs #7346 #7346 improve form 2024-10-04 11:50:55 +02:00
Javier Segarra 1aab0abbcd Merge branch 'dev' into 7346-manualInvoice
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-04 07:45:31 +00:00
Carlos Satorres 5d8f9dbd72 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-03 13:02:56 +02:00
Javi Gallego 6eb0c93802 feat: manual invoice in two lines
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-03 10:17:36 +02:00
Javi Gallego 909244a658 Merge branch 'dev' into 7346-manualInvoice 2024-10-03 08:50:46 +02:00
Javier Segarra 477404f00a test: #7679 ItemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-10-02 22:50:57 +02:00
Javier Segarra 4a346bd5d0 test: #7679 ItemFixedPrice
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-10-02 22:49:26 +02:00
Javi Gallego 789e70b7a8 feat: all clients just with global series
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-02 16:37:58 +02:00
Javi Gallego 6d08875809 fix: icons
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-10-02 15:37:05 +02:00
Javier Segarra 40f7ccf42b perf: refs #7404 #7679 improve create
gitea/salix-front/pipeline/pr-master This commit looks good Details
2024-10-02 14:58:57 +02:00
Javi Gallego c5eb3a4b00 Merge branch 'dev' into 7346-manualInvoice 2024-10-01 14:02:53 +02:00
Javi Gallego fc3a025047 feat: manualInvoice with address 2024-10-01 13:03:55 +02:00
Carlos Satorres ee2f80e9bb refs #7529 crudModel workerPit
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-09-19 10:25:22 +02:00
Carlos Satorres 87bce8fc21 refs #7529 fix workerPit
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-09-18 12:08:38 +02:00
Carlos Satorres b2c2f42243 Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 7529-workerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-09-18 07:57:58 +02:00
Carlos Satorres 657dbc6761 refs #7529 route
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-06-13 08:24:36 +02:00
Carlos Satorres 3bfbed9e54 refs #7529 create WorkerPIT
gitea/salix-front/pipeline/pr-dev This commit looks good Details
2024-06-10 13:19:09 +02:00
342 changed files with 6415 additions and 5954 deletions

View File

@ -1,3 +1,273 @@
# Version 24.50 - 2024-12-10
### Added 🆕
- feat: add reportFileName option by:Javier Segarra
- feat: all clients just with global series by:jgallego
- feat: improve Merge branch 'test' into dev by:Javier Segarra
- feat: manual invoice in two lines by:jgallego
- feat: manualInvoice with address by:jgallego
- feat: randomize functions and example by:Javier Segarra
- feat: refs #6999 added search when user tabs on a filter with value by:Jon
- feat: refs #6999 added tab to search in VnTable filter by:Jon
- feat: refs #7346 #7346 improve form by:Javier Segarra
- feat: refs #7346 address ordered by:jgallego
- feat: refs #7346 radioButton by:jgallego
- feat: refs #7346 style radioButton by:jgallego
- feat: refs #7346 traducciones en cammelCase (7346-manualInvoice) by:jgallego
- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
- feat: refs #8061 #8061 updates by:Javier Segarra
- feat: refs #8087 reactive data by:jorgep
- feat: refs #8087 refs#8087 Redadas en travel by:Carlos Andrés
- feat: refs #8138 add component ticket problems by:pablone
- feat: refs #8163 add max length and more tests by:wbuezas
- feat: refs #8163 add prop by:wbuezas
- feat: refs #8163 add VnInput insert functionality and e2e test by:wbuezas
- feat: refs #8163 limit with maxLength by:Javier Segarra
- feat: refs #8163 maxLength SupplierFD account by:Javier Segarra
- feat: refs #8163 maxLengthVnInput by:Javier Segarra
- feat: refs #8163 use VnAccountNumber in VnAccountNumber by:Javier Segarra
- feat: refs #8166 show notification by:jorgep
### Changed 📦
- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
- perf: add dataCy by:Javier Segarra
- perf: refs #7346 #7346 Imrpove interface dialog by:Javier Segarra
- perf: refs #7346 #7346 use v-show instead v-if by:Javier Segarra
- perf: refs #8036 currentFilter by:alexm
- perf: refs #8061 filter autonomy by:Javier Segarra
- perf: refs #8061 solve conflicts and random posCode it by:Javier Segarra
- perf: refs #8061 use opts from VnSelect by:Javier Segarra
- perf: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
- perf: remove console by:Javier Segarra
- perf: remove timeout by:Javier Segarra
- perf: test command fillInForm by:Javier Segarra
- refactor: refs #8162 remove comment by:wbuezas
- refactor: remove unnecesary things by:wbuezas
### Fixed 🛠️
- fix: #8016 fetching data by:Javier Segarra
- fix: icons by:jgallego
- fix: refs #7229 download file by:jorgep
- fix: refs #7229 remove catch by:jorgep
- fix: refs #7229 set url by:jorgep
- fix: refs #7229 test by:jorgep
- fix: refs #7229 url by:jorgep
- fix: refs #7229 url + test by:jorgep
- fix: refs #7304 7304 clean warning by:carlossa
- fix: refs #7304 fix list by:carlossa
- fix: refs #7304 fix warning by:carlossa
- fix: refs #7346 traslations by:jgallego
- fix: refs #7529 add save by:carlossa
- fix: refs #7529 fix e2e by:carlossa
- fix: refs #7529 fix front by:carlossa
- fix: refs #7529 fix scss by:carlossa
- fix: refs #7529 fix te2e by:carlossa
- fix: refs #7529 fix workerPit e2e by:carlossa
- fix: refs #7529 front by:carlossa
- fix: refs #8036 apply exprBuilder after save filters by:alexm
- fix: refs #8036 only add where when required by:alexm
- fix: refs #8038 solve conflicts by:Jon
- fix: refs #8061 improve code dependencies (origin/8061_improve_newCP) by:Javier Segarra
- fix: refs #8138 move component from ui folder by:pablone
- fix: refs #8138 sme minor issues by:pablone
- fix: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
- fix: refs #8163 minor problem when keypress by:Javier Segarra
- fix: refs #8166 show zone error by:jorgep
- fix: removed selectedClient by:jgallego
- refs #7529 fix workerPit by:carlossa
- revert: refs #8061 test #8061 updates by:Javier Segarra
- test: fix own test by:Javier Segarra
- test: refs #8162 #8162 fix TicketList spec by:Javier Segarra
# Version 24.48 - 2024-11-25
### Added 🆕
- chore: correct checkNotification (fix_customer_issues) by:alexm
- chore: perf (warmFix_order_equalSalix) by:alexm
- chore: refs #6818 add spaces by:jorgep
- chore: refs #6818 drop useless code & comment by:jorgep
- chore: refs #7273 sticky add btn & refactor by:jorgep
- chore: refs #7524 fix test by:jorgep
- chore: refs #8039 not required by:alexm
- chore: refs #8078 fiz tests by:jorgep
- chore: refs #8078 rollback ref by:jorgep
- chore: remove console.log (warmFix_invoiceOut_Global) by:alexm
- chore: typo (fix_itemType-redirection) by:alexm
- feat: #6943 use openURL quasar by:Javier Segarra
- feat: #7782 add cypress report by:Javier Segarra
- feat: #7782 cypress.config watchForFileChanges by:Javier Segarra
- feat: #7782 npm run resetDatabase by:Javier Segarra
- feat: #7782 waitUntil domContentLoad by:Javier Segarra
- feat: added composable to confirm orders by:Jon
- feat: add /reports in gitignore (warmFix_reports_in_gitignore) by:alexm
- feat: apply changes for customerModule by:Javier Segarra
- feat: disabled buttons by:Javier Segarra
- feat: move buttons to DescriptorMenu by:Javier Segarra
- feat: refs #6818 add icon by:jorgep
- feat: refs #6818 fetch url & default channel by:jorgep
- feat: refs #6818 saysimple integration by:jorgep
- feat: refs #6839 module searching (6839-addSearchMenu) by:jorgep
- feat: refs #6839 normalize search by:jorgep
- feat: refs #6919 sync entry data by:jorgep
- feat: refs #7006 itemType basic data new inputs by:guillermo
- feat: refs #7006 itemTypeLog added by:guillermo
- feat: refs #7193 modified parking to use the scope and corrected small errors by:Jon
- feat: refs #7206 added inactive label and corrected minor errors by:Jon
- feat: refs #7308 #7308 remove warnings related to useSession by:Javier Segarra
- feat: refs #7349 usa back con permisos by:jgallego
- feat: refs #7524 add front test by:jorgep
- feat: refs #7874 improve vn-notes ui by:jorgep
- feat: refs #7970 notify changes by:Jon
- feat(): refs #8039 canceledError not notify by:alexm
- feat: refs #8039 notify error unify by:alexm
- feat: refs #8039 show duplicate request in local by:alexm
- feat: refs #8078 add shortcut multi selection by:jorgep
- feat: refs #8078 add tests by:jorgep
- feat: refs#8087 Redadas en travel by:Carlos Andrés
- feat: refs #8087 Traspasar redadas a travels by:Carlos Andrés
- feat: remove comments by:Javier Segarra
- feat(Supplier): add companySize by:alexm
- feat: use composable to unify logic by:Javier Segarra
- feat(VnInput): empty to null by:alexm
- feat(VnSelect): order data equal salix by:alexm
- feat(VnSelect): refs #7136 add scroll (7136-vnSelect_paginate_simplify_2) by:alexm
### Changed 📦
- chore: perf (warmFix_order_equalSalix) by:alexm
- chore: refs #7273 sticky add btn & refactor by:jorgep
- fix: better performance (warmFix_accountAcls) by:alexm
- perf: minor bugs detected by:Javier Segarra
- perf: refs #6943 #6943 merge command by:Javier Segarra
- perf: refs #7283 #7283 declare composable inst4ead code duplicated by:Javier Segarra
- perf: refs #7283 #7283 handle composable i18n by:Javier Segarra
- perf: refs #7283 #7283 handle i18n by:Javier Segarra
- perf: refs #7283 #7283 i18n params by:Javier Segarra
- perf: refs #7308 #7308 remove comments by:Javier Segarra
- perf: remove appendParams by:Javier Segarra
- perf: use const in VnLocation by:Javier Segarra
- perf: use required instead :required="true" by:Javier Segarra
- refactor: apply QPopupProxy by:wbuezas
- refactor: changed confirmOrder directory by:Jon
- refactor: change keyup.enter for update:model-value by:wbuezas
- refactor(InvoiceInBasicData): use VnDms by:alexm
- refactor: modified composable by:Jon
- refactor: refs #6818 change channel source by:jorgep
- refactor: refs #6818 channel logic by:jorgep
- refactor: refs #6919 export filter by:jorgep
- refactor: refs #7132 1st wave of changes in global translations files by:Jon
- refactor: refs #7132 account's module translations by:Jon
- refactor: refs #7132 customer's module translations by:Jon
- refactor: refs #7132 deleted pageTitles repeated by:Jon
- refactor: refs #7132 delete duplicate translations' keys by:Jon
- refactor: refs #7132 deleted useless code by:Jon
- refactor: refs #7132 global translations files changed by:Jon
- refactor: refs #7266 Changed method name by:guillermo
- refactor: refs #7950 Created cmr model by:guillermo
- refactor: refs #7970 added emit by:Jon
- refactor: refs #7970 refactored VnConfirm to emit events by:Jon
- refactor: refs #8185 modified LeftMenu to avoid duplicates by:Jon
- refactor: remove unused variable by:wbuezas
- refactor: revert catalog changes by:Jon
- refactor: small change by:wbuezas
- test: refactor e2e by:alexm
- test: refs #8039 add hasNotify and, refactor: agencyWorkCenter test by:alexm
### Fixed 🛠️
- chore: refs #7524 fix test by:jorgep
- fix: better performance (warmFix_accountAcls) by:alexm
- fix: catalog view category and type filter by:wbuezas
- fix: category and tags filters by:Jon
- fix: changed route.query by:Jon
- fix: change type vnput by:Javier Segarra
- fix(ClaimList): stateCode orderBy priority by:alexm
- fix: entryFilters by:carlossa
- fix: filter panel by:Jon
- fix(InvoiceOutGlobal): parallelism by:alexm
- fix: itemBotanical by:Javier Segarra
- fix: itemType redirection and fix filters by:alexm
- fix: logout spec (warmFix_logout.spec) by:alexm
- fix: merge errors by:alexm
- fix: order catalog by:wbuezas
- fix: order catalog fixes by:wbuezas
- fix: refs #6818 use right icon by:jorgep
- fix: refs #6896 fixed module problems by:Jon
- fix: refs #7193 fixed e2e test by:Jon
- fix: refs #7206 deleted duplicate code by:Jon
- fix: refs #7273 use same filter by:jorgep
- fix: refs #7283 #7283 bugs by:Javier Segarra
- fix: refs #7283 #7283 ItemDiary subToolbar by:Javier Segarra
- fix: refs #7283 #7283 ItemSummary bugs by:Javier Segarra
- fix: refs #7283 Account image resolution by:guillermo
- fix: refs #7283 css by:jorgep
- fix: refs #7283 filter by:carlossa
- fix: refs #7283 fix image by:carlossa
- fix: refs #7283 fix pr by:carlossa
- fix: refs #7283 fix preview by:carlossa
- fix: refs #7283 fix required by:carlossa
- fix: refs #7283 item filters by:carlossa
- fix: refs #7283 itemtype fix by:carlossa
- fix: refs #7283 order translation by:carlossa
- fix: refs #7283 preview by:carlossa
- fix: refs #7283 tooltips !Item by:Javier Segarra
- fix: refs #7306 clean warning by:carlossa
- fix: refs #7310 clean warning by:carlossa
- fix: refs #7323 locale #7396 by:jorgep
- fix: refs #7323 show advanced fields by:jorgep
- fix: refs #7349 dependencia no usada by:jgallego
- fix: refs #7524 e2e & worker module by:jorgep
- fix: refs #7874 add title by:jorgep
- fix: refs #7874 show name by:jorgep
- fix: refs #7943 use correct data-key by:jorgep
- fix: refs #7943 use summary by:jorgep
- fix: refs #8039 bad tests by:alexm
- fix: refs #8039 o not handle unnecessary errors by:alexm
- fix: refs #8078 e2e #7970 by:jorgep
- fix: refs #8078 handleSelection by:jorgep
- fix: refs #8078 improve cy command (8078-enableMultiSelection) by:jorgep
- fix: refs #8078 improve handleSelection by:jorgep
- fix: reset category by:wbuezas
- fix: tag chips by:Jon
- fix: vnSearchbar spec (warmFix_vnSearchBar.spec) by:alexm
- fix(VnSelect): setOptions when applyFilter by:alexm
- fix: worker test e2e by:Jon
- Merge branch 'dev' into fix_customer_issues by:Javier Segarra
- refactor: revert catalog changes by:Jon
- refs #7283 fix conflicts by:carlossa
- refs #7283 fix descriptorproxy by:carlossa
- refs #7283 fixedPrice by:carlossa
- refs #7283 fixedPrices by:carlossa
- refs #7283 fix itemFixed by:carlossa
- refs #7283 fix itemFixedPrice by:carlossa
- refs #7283 fix itemMigration by:carlossa
- refs #7283 fix itemMigration list filters by:carlossa
- refs #7283 fix items by:carlossa
- refs #7283 fix items error get images by:carlossa
- refs #7283 fix items images by:carlossa
- refs #7283 fix request by:carlossa
- refs #7283 fix searchbar by:carlossa
- refs #7283 fix viewSummary by:carlossa
- refs #7283 fix yml list basicData by:carlossa
- refs #7283 itemRequest fix by:carlossa
- refs #7283 itemRequest fix deny by:carlossa
- refs #7283 itemRequest fix reload by:carlossa
- refs #72983 fix filters by:carlossa
- revert: commit by:Javier Segarra
- revert e57a253c6f649382da187d1129449d265fb26d3b by:Javier Segarra
- test: #8162 fix clientList spec by:Javier Segarra
- test: #8162 fix vnLocation spec by:Javier Segarra
- test: fix arrayData by:Javier Segarra
- test: fix e2e by:alexm
- test: fix e2e by:Javier Segarra
- test: refs #8039 fix WorkerNotification e2e by:alexm
- test: refs #8039 fix ZoneWarehouse e2e by:alexm
- warmfix: ItemLastEntries to date (origin/warmfix_itemLastEntriesFilter) by:Javier Segarra
# Version 24.40 - 2024-10-02 # Version 24.40 - 2024-10-02
### Added 🆕 ### Added 🆕

6
Jenkinsfile vendored
View File

@ -4,7 +4,8 @@ def PROTECTED_BRANCH
def BRANCH_ENV = [ def BRANCH_ENV = [
test: 'test', test: 'test',
master: 'production' master: 'production',
beta: 'production'
] ]
node { node {
@ -15,7 +16,8 @@ node {
PROTECTED_BRANCH = [ PROTECTED_BRANCH = [
'dev', 'dev',
'test', 'test',
'master' 'master',
'beta'
].contains(env.BRANCH_NAME) ].contains(env.BRANCH_NAME)
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables // https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables

View File

@ -1,4 +1,7 @@
const { defineConfig } = require('cypress'); const { defineConfig } = require('cypress');
// https://docs.cypress.io/app/tooling/reporters
// https://docs.cypress.io/app/references/configuration
// https://www.npmjs.com/package/cypress-mochawesome-reporter
module.exports = defineConfig({ module.exports = defineConfig({
e2e: { e2e: {
@ -16,6 +19,7 @@ module.exports = defineConfig({
reporterOptions: { reporterOptions: {
charts: true, charts: true,
reportPageTitle: 'Cypress Inline Reporter', reportPageTitle: 'Cypress Inline Reporter',
reportFilename: '[status]_[datetime]-report',
embeddedScreenshots: true, embeddedScreenshots: true,
reportDir: 'test/cypress/reports', reportDir: 'test/cypress/reports',
inlineAssets: true, inlineAssets: true,

View File

@ -1,6 +1,6 @@
{ {
"name": "salix-front", "name": "salix-front",
"version": "24.44.0", "version": "24.52.0",
"description": "Salix frontend", "description": "Salix frontend",
"productName": "Salix", "productName": "Salix",
"author": "Verdnatura", "author": "Verdnatura",

View File

@ -0,0 +1,36 @@
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;
if (!ctrlKey || !altKey) {
isNotified = false;
}
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
},
};

View File

@ -1,30 +1,52 @@
import { getCurrentInstance } from 'vue'; function focusFirstInput(input) {
input.focus();
return;
}
export default { export default {
mounted: function () { mounted: function () {
const vm = getCurrentInstance(); const that = this;
if (vm.type.name === 'QForm') {
if (!['searchbarForm', 'filterPanelForm'].includes(this.$el?.id)) { const form = document.querySelector('.q-form#formModel');
// TODO: AUTOFOCUS IS NOT FOCUSING if (!form) return;
const that = this; try {
this.$el.addEventListener('keyup', function (evt) { const inputsFormCard = form.querySelectorAll(
if (evt.key === 'Enter') { `input:not([disabled]):not([type="checkbox"])`
const input = evt.target; );
if (input.type == 'textarea' && evt.shiftKey) { if (inputsFormCard.length) {
evt.preventDefault(); focusFirstInput(inputsFormCard[0]);
let { selectionStart, selectionEnd } = input;
input.value =
input.value.substring(0, selectionStart) +
'\n' +
input.value.substring(selectionEnd);
selectionStart = selectionEnd = selectionStart + 1;
return;
}
evt.preventDefault();
that.onSubmit();
}
});
} }
const textareas = document.querySelectorAll(
'textarea:not([disabled]), [contenteditable]:not([disabled])'
);
if (textareas.length) {
focusFirstInput(textareas[textareas.length - 1]);
}
const inputs = document.querySelectorAll(
'form#formModel input:not([disabled]):not([type="checkbox"])'
);
const input = inputs[0];
if (!input) return;
focusFirstInput(input);
} catch (error) {
console.error(error);
} }
form.addEventListener('keyup', function (evt) {
if (evt.key === 'Enter') {
const input = evt.target;
if (input.type == 'textarea' && evt.shiftKey) {
evt.preventDefault();
let { selectionStart, selectionEnd } = input;
input.value =
input.value.substring(0, selectionStart) +
'\n' +
input.value.substring(selectionEnd);
selectionStart = selectionEnd = selectionStart + 1;
return;
}
evt.preventDefault();
that.onSubmit();
}
});
}, },
}; };

View File

@ -1,15 +1,18 @@
import axios from 'axios';
import { boot } from 'quasar/wrappers'; import { boot } from 'quasar/wrappers';
import qFormMixin from './qformMixin'; import qFormMixin from './qformMixin';
import keyShortcut from './keyShortcut'; import keyShortcut from './keyShortcut';
import useNotify from 'src/composables/useNotify.js'; import { QForm } from 'quasar';
import { CanceledError } from 'axios'; import { QLayout } from 'quasar';
import mainShortcutMixin from './mainShortcutMixin';
const { notify } = useNotify(); import { useCau } from 'src/composables/useCau';
export default boot(({ app }) => { export default boot(({ app }) => {
app.mixin(qFormMixin); QForm.mixins = [qFormMixin];
QLayout.mixins = [mainShortcutMixin];
app.directive('shortcut', keyShortcut); app.directive('shortcut', keyShortcut);
app.config.errorHandler = (error) => { app.config.errorHandler = async (error) => {
let message; let message;
const response = error.response; const response = error.response;
const responseData = response?.data; const responseData = response?.data;
@ -40,12 +43,12 @@ export default boot(({ app }) => {
} }
console.error(error); console.error(error);
if (error instanceof CanceledError) { if (error instanceof axios.CanceledError) {
const env = process.env.NODE_ENV; const env = process.env.NODE_ENV;
if (env && env !== 'development') return; if (env && env !== 'development') return;
message = 'Duplicate request'; message = 'Duplicate request';
} }
notify(message ?? 'globals.error', 'negative', 'error'); await useCau(response, message);
}; };
}); });

View File

@ -9,8 +9,6 @@ import VnRow from 'components/ui/VnRow.vue';
import FormModelPopup from './FormModelPopup.vue'; import FormModelPopup from './FormModelPopup.vue';
import { useState } from 'src/composables/useState'; import { useState } from 'src/composables/useState';
defineProps({ showEntityField: { type: Boolean, default: true } });
const emit = defineEmits(['onDataSaved']); const emit = defineEmits(['onDataSaved']);
const { t } = useI18n(); const { t } = useI18n();
const bicInputRef = ref(null); const bicInputRef = ref(null);
@ -18,17 +16,16 @@ const state = useState();
const customer = computed(() => state.get('customer')); const customer = computed(() => state.get('customer'));
const countriesFilter = {
fields: ['id', 'name', 'code'],
};
const bankEntityFormData = reactive({ const bankEntityFormData = reactive({
name: null, name: null,
bic: null, bic: null,
countryFk: customer.value?.countryFk, countryFk: customer.value?.countryFk,
id: null,
}); });
const countriesFilter = {
fields: ['id', 'name', 'code'],
};
const countriesOptions = ref([]); const countriesOptions = ref([]);
const onDataSaved = (...args) => { const onDataSaved = (...args) => {
@ -44,7 +41,6 @@ onMounted(async () => {
<template> <template>
<FetchData <FetchData
url="Countries" url="Countries"
:filter="countriesFilter"
auto-load auto-load
@on-fetch="(data) => (countriesOptions = data)" @on-fetch="(data) => (countriesOptions = data)"
/> />
@ -54,6 +50,7 @@ onMounted(async () => {
:title="t('title')" :title="t('title')"
:subtitle="t('subtitle')" :subtitle="t('subtitle')"
:form-initial-data="bankEntityFormData" :form-initial-data="bankEntityFormData"
:filter="countriesFilter"
@on-data-saved="onDataSaved" @on-data-saved="onDataSaved"
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
@ -85,7 +82,13 @@ onMounted(async () => {
:rules="validate('bankEntity.countryFk')" :rules="validate('bankEntity.countryFk')"
/> />
</div> </div>
<div v-if="showEntityField" class="col"> <div
v-if="
countriesOptions.find((c) => c.id === data.countryFk)?.code ==
'ES'
"
class="col"
>
<VnInput <VnInput
:label="t('id')" :label="t('id')"
v-model="data.id" v-model="data.id"

View File

@ -1,155 +0,0 @@
<script setup>
import { reactive, ref, computed } from 'vue';
import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
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 FormModelPopup from './FormModelPopup.vue';
import VnInputDate from './common/VnInputDate.vue';
const emit = defineEmits(['onDataSaved']);
const { t } = useI18n();
const router = useRouter();
const manualInvoiceFormData = reactive({
maxShipped: Date.vnNew(),
});
const formModelPopupRef = ref();
const invoiceOutSerialsOptions = ref([]);
const taxAreasOptions = ref([]);
const ticketsOptions = ref([]);
const clientsOptions = ref([]);
const isLoading = computed(() => formModelPopupRef.value?.isLoading);
const onDataSaved = async (formData, requestResponse) => {
emit('onDataSaved', formData, requestResponse);
if (requestResponse && requestResponse.id)
router.push({ name: 'InvoiceOutSummary', params: { id: requestResponse.id } });
};
</script>
<template>
<FetchData
url="InvoiceOutSerials"
:filter="{ where: { code: { neq: 'R' } }, order: ['code'] }"
@on-fetch="(data) => (invoiceOutSerialsOptions = data)"
auto-load
/>
<FetchData
url="TaxAreas"
:filter="{ order: ['code'] }"
@on-fetch="(data) => (taxAreasOptions = data)"
auto-load
/>
<FormModelPopup
ref="formModelPopupRef"
:title="t('Create manual invoice')"
url-create="InvoiceOuts/createManualInvoice"
model="invoiceOut"
:form-initial-data="manualInvoiceFormData"
@on-data-saved="onDataSaved"
>
<template #form-inputs="{ data }">
<span v-if="isLoading" class="text-primary invoicing-text">
<QIcon name="warning" class="fill-icon q-mr-sm" size="md" />
{{ t('Invoicing in progress...') }}
</span>
<VnRow>
<VnSelect
:label="t('Ticket')"
:options="ticketsOptions"
hide-selected
option-label="id"
option-value="id"
v-model="data.ticketFk"
@update:model-value="data.clientFk = null"
url="Tickets"
:where="{ refFk: null }"
:fields="['id', 'nickname']"
:filter-options="{ order: 'shipped DESC' }"
>
<template #option="scope">
<QItem v-bind="scope.itemProps">
<QItemSection>
<QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
<QItemLabel caption>{{ scope.opt?.nickname }}</QItemLabel>
</QItemSection>
</QItem>
</template>
</VnSelect>
<span class="row items-center" style="max-width: max-content">{{
t('Or')
}}</span>
<VnSelect
:label="t('Client')"
:options="clientsOptions"
hide-selected
option-label="name"
option-value="id"
v-model="data.clientFk"
@update:model-value="data.ticketFk = null"
url="Clients"
:fields="['id', 'name']"
:filter-options="{ order: 'name ASC' }"
/>
<VnInputDate :label="t('Max date')" v-model="data.maxShipped" />
</VnRow>
<VnRow>
<VnSelect
:label="t('Serial')"
:options="invoiceOutSerialsOptions"
hide-selected
option-label="description"
option-value="code"
v-model="data.serial"
/>
<VnSelect
:label="t('Area')"
:options="taxAreasOptions"
hide-selected
option-label="code"
option-value="code"
v-model="data.taxArea"
/>
</VnRow>
<VnRow>
<VnInput
:label="t('Reference')"
type="textarea"
v-model="data.reference"
fill-input
autogrow
/>
</VnRow>
</template>
</FormModelPopup>
</template>
<style lang="scss" scoped>
.invoicing-text {
display: flex;
justify-content: center;
align-items: center;
color: $primary;
font-size: 24px;
margin-bottom: 8px;
}
</style>
<i18n>
es:
Create manual invoice: Crear factura manual
Ticket: Ticket
Client: Cliente
Max date: Fecha límite
Serial: Serie
Area: Area
Reference: Referencia
Or: O
Invoicing in progress...: Facturación en progreso...
</i18n>

View File

@ -17,10 +17,6 @@ const $props = defineProps({
type: Number, type: Number,
default: null, default: null,
}, },
provinces: {
type: Array,
default: () => [],
},
}); });
const { t } = useI18n(); const { t } = useI18n();
@ -44,19 +40,23 @@ const onDataSaved = (...args) => {
url-create="towns" url-create="towns"
model="city" model="city"
@on-data-saved="onDataSaved" @on-data-saved="onDataSaved"
data-cy="newCityForm"
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow> <VnRow>
<VnInput <VnInput
:label="t('Names')" :label="t('Name')"
v-model="data.name" v-model="data.name"
:rules="validate('city.name')" :rules="validate('city.name')"
required
data-cy="cityName"
/> />
<VnSelectProvince <VnSelectProvince
:province-selected="$props.provinceSelected" :province-selected="$props.provinceSelected"
:country-fk="$props.countryFk" :country-fk="$props.countryFk"
v-model="data.provinceFk" v-model="data.provinceFk"
:provinces="$props.provinces" required
data-cy="provinceCity"
/> />
</VnRow> </VnRow>
</template> </template>

View File

@ -1,5 +1,5 @@
<script setup> <script setup>
import { reactive, ref, watch } from 'vue'; import { reactive, ref } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import FetchData from 'components/FetchData.vue'; import FetchData from 'components/FetchData.vue';
@ -21,13 +21,14 @@ const postcodeFormData = reactive({
provinceFk: null, provinceFk: null,
townFk: null, townFk: null,
}); });
const townsFetchDataRef = ref(false);
const townFilter = ref({});
const townsFetchDataRef = ref(null); const countriesRef = ref(false);
const provincesFetchDataRef = ref(null);
const countriesOptions = ref([]);
const provincesOptions = ref([]); const provincesOptions = ref([]);
const townsOptions = ref([]); const townsOptions = ref([]);
const town = ref({}); const town = ref({});
const countryFilter = ref({});
function onDataSaved(formData) { function onDataSaved(formData) {
const newPostcode = { const newPostcode = {
@ -39,110 +40,91 @@ function onDataSaved(formData) {
({ id }) => id === formData.provinceFk ({ id }) => id === formData.provinceFk
); );
newPostcode.province = provinceObject?.name; newPostcode.province = provinceObject?.name;
const countryObject = countriesOptions.value.find( const countryObject = countriesRef.value.opts.find(
({ id }) => id === formData.countryFk ({ id }) => id === formData.countryFk
); );
newPostcode.country = countryObject?.name; newPostcode.country = countryObject?.name;
emit('onDataSaved', newPostcode); emit('onDataSaved', newPostcode);
} }
async function setCountry(countryFk, data) {
data.townFk = null;
data.provinceFk = null;
data.countryFk = countryFk;
await fetchTowns();
}
// Province
async function handleProvinces(data) {
provincesOptions.value = data;
if (postcodeFormData.countryFk) {
await fetchTowns();
}
}
async function setProvince(id, data) {
if (data.provinceFk === id) return;
const newProvince = provincesOptions.value.find((province) => province.id == id);
if (newProvince) data.countryFk = newProvince.countryFk;
postcodeFormData.provinceFk = id;
await fetchTowns();
}
async function onProvinceCreated(data) {
postcodeFormData.provinceFk = data.id;
}
function provinceByCountry(countryFk = postcodeFormData.countryFk) {
return provincesOptions.value
.filter((province) => province.countryFk === countryFk)
.map(({ id }) => id);
}
// Town
async function handleTowns(data) {
townsOptions.value = data;
}
function setTown(newTown, data) {
town.value = newTown;
data.provinceFk = newTown?.provinceFk ?? newTown;
data.countryFk = newTown?.province?.countryFk ?? newTown;
}
async function onCityCreated(newTown, formData) { async function onCityCreated(newTown, formData) {
await provincesFetchDataRef.value.fetch();
newTown.province = provincesOptions.value.find( newTown.province = provincesOptions.value.find(
(province) => province.id === newTown.provinceFk (province) => province.id === newTown.provinceFk
); );
formData.townFk = newTown; formData.townFk = newTown;
setTown(newTown, formData); setTown(newTown, formData);
} }
async function fetchTowns(countryFk = postcodeFormData.countryFk) {
function setTown(newTown, data) { if (!countryFk) return;
if (!newTown) return; const provinces = postcodeFormData.provinceFk
town.value = newTown; ? [postcodeFormData.provinceFk]
data.provinceFk = newTown.provinceFk; : provinceByCountry();
data.countryFk = newTown.province.countryFk; townFilter.value.where = {
provinceFk: {
inq: provinces,
},
};
await townsFetchDataRef.value?.fetch();
} }
async function setProvince(id, data) { async function filterTowns(name) {
const newProvince = provincesOptions.value.find((province) => province.id == id); if (name !== '') {
if (!newProvince) return; townFilter.value.where = {
name: {
data.countryFk = newProvince.countryFk; like: `%${name}%`,
} },
};
async function onProvinceCreated(data) { await townsFetchDataRef.value?.fetch();
await provincesFetchDataRef.value.fetch({
where: { countryFk: postcodeFormData.countryFk },
});
postcodeFormData.provinceFk.value = data.id;
}
watch(
() => [postcodeFormData.countryFk],
async (newCountryFk, oldValueFk) => {
if (Array.isArray(newCountryFk)) {
newCountryFk = newCountryFk[0];
}
if (Array.isArray(oldValueFk)) {
oldValueFk = oldValueFk[0];
}
if (!!oldValueFk && newCountryFk !== oldValueFk) {
postcodeFormData.provinceFk = null;
postcodeFormData.townFk = null;
}
if (oldValueFk !== newCountryFk) {
await provincesFetchDataRef.value.fetch({
where: {
countryFk: newCountryFk,
},
});
await townsFetchDataRef.value.fetch({
where: {
provinceFk: {
inq: provincesOptions.value.map(({ id }) => id),
},
},
});
}
} }
);
watch(
() => postcodeFormData.provinceFk,
async (newProvinceFk, oldValueFk) => {
if (Array.isArray(newProvinceFk)) {
newProvinceFk = newProvinceFk[0];
}
if (newProvinceFk !== oldValueFk) {
await townsFetchDataRef.value.fetch({
where: { provinceFk: newProvinceFk },
});
}
}
);
async function handleProvinces(data) {
provincesOptions.value = data;
}
async function handleTowns(data) {
townsOptions.value = data;
}
async function handleCountries(data) {
countriesOptions.value = data;
} }
</script> </script>
<template> <template>
<FetchData
ref="provincesFetchDataRef"
@on-fetch="handleProvinces"
:sort-by="['name ASC']"
:limit="30"
auto-load
url="Provinces/location"
/>
<FetchData <FetchData
ref="townsFetchDataRef" ref="townsFetchDataRef"
:sort-by="['name ASC']" :sort-by="['name ASC']"
:limit="30" :limit="30"
:filter="townFilter"
@on-fetch="handleTowns" @on-fetch="handleTowns"
auto-load auto-load
url="Towns/location" url="Towns/location"
@ -164,10 +146,13 @@ async function handleCountries(data) {
v-model="data.code" v-model="data.code"
:rules="validate('postcode.code')" :rules="validate('postcode.code')"
clearable clearable
required
data-cy="locationPostcode"
/> />
<VnSelectDialog <VnSelectDialog
:label="t('City')" :label="t('City')"
@update:model-value="(value) => setTown(value, data)" @update:model-value="(value) => setTown(value, data)"
@filter="filterTowns"
:tooltip="t('Create city')" :tooltip="t('Create city')"
v-model="data.townFk" v-model="data.townFk"
:options="townsOptions" :options="townsOptions"
@ -176,7 +161,8 @@ async function handleCountries(data) {
:rules="validate('postcode.city')" :rules="validate('postcode.city')"
:acls="[{ model: 'Town', props: '*', accessType: 'WRITE' }]" :acls="[{ model: 'Town', props: '*', accessType: 'WRITE' }]"
:emit-value="false" :emit-value="false"
:clearable="true" required
data-cy="locationTown"
> >
<template #option="{ itemProps, opt }"> <template #option="{ itemProps, opt }">
<QItem v-bind="itemProps"> <QItem v-bind="itemProps">
@ -193,7 +179,6 @@ async function handleCountries(data) {
<CreateNewCityForm <CreateNewCityForm
:country-fk="data.countryFk" :country-fk="data.countryFk"
:province-selected="data.provinceFk" :province-selected="data.provinceFk"
:provinces="provincesOptions"
@on-data-saved=" @on-data-saved="
(_, requestResponse) => (_, requestResponse) =>
onCityCreated(requestResponse, data) onCityCreated(requestResponse, data)
@ -207,21 +192,31 @@ async function handleCountries(data) {
:country-fk="data.countryFk" :country-fk="data.countryFk"
:province-selected="data.provinceFk" :province-selected="data.provinceFk"
@update:model-value="(value) => setProvince(value, data)" @update:model-value="(value) => setProvince(value, data)"
@update:options="
(data) => {
provincesOptions = data;
}
"
v-model="data.provinceFk" v-model="data.provinceFk"
:clearable="true"
:provinces="provincesOptions"
@on-province-created="onProvinceCreated" @on-province-created="onProvinceCreated"
required
/> />
<VnSelect <VnSelect
url="Countries" ref="countriesRef"
:limit="30"
:filter="countryFilter"
:sort-by="['name ASC']" :sort-by="['name ASC']"
auto-load
url="Countries"
required
:label="t('Country')" :label="t('Country')"
@update:options="handleCountries"
hide-selected hide-selected
option-label="name" option-label="name"
option-value="id" option-value="id"
v-model="data.countryFk" v-model="data.countryFk"
:rules="validate('postcode.countryFk')" :rules="validate('postcode.countryFk')"
@update:model-value="(value) => setCountry(value, data)"
data-cy="locationCountry"
/> />
</VnRow> </VnRow>
</template> </template>

View File

@ -1,8 +1,7 @@
<script setup> <script setup>
import { reactive, ref } from 'vue'; import { computed, reactive, ref } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import FetchData from 'components/FetchData.vue';
import VnRow from 'components/ui/VnRow.vue'; import VnRow from 'components/ui/VnRow.vue';
import VnSelect from 'src/components/common/VnSelect.vue'; import VnSelect from 'src/components/common/VnSelect.vue';
import VnInput from 'src/components/common/VnInput.vue'; import VnInput from 'src/components/common/VnInput.vue';
@ -21,34 +20,24 @@ const $props = defineProps({
type: Number, type: Number,
default: null, default: null,
}, },
provinces: {
type: Array,
default: () => [],
},
}); });
const autonomiesOptions = ref([]); const autonomiesRef = ref([]);
const onDataSaved = (dataSaved, requestResponse) => { const onDataSaved = (dataSaved, requestResponse) => {
requestResponse.autonomy = autonomiesOptions.value.find( requestResponse.autonomy = autonomiesRef.value.opts.find(
(autonomy) => autonomy.id == requestResponse.autonomyFk (autonomy) => autonomy.id == requestResponse.autonomyFk
); );
emit('onDataSaved', dataSaved, requestResponse); emit('onDataSaved', dataSaved, requestResponse);
}; };
const where = computed(() => {
if (!$props.countryFk) {
return {};
}
return { countryFk: $props.countryFk };
});
</script> </script>
<template> <template>
<FetchData
@on-fetch="(data) => (autonomiesOptions = data)"
auto-load
:filter="{
where: {
countryFk: $props.countryFk,
},
}"
url="Autonomies/location"
:sort-by="['name ASC']"
:limit="30"
/>
<FormModelPopup <FormModelPopup
:title="t('New province')" :title="t('New province')"
:subtitle="t('Please, ensure you put the correct data!')" :subtitle="t('Please, ensure you put the correct data!')"
@ -63,10 +52,19 @@ const onDataSaved = (dataSaved, requestResponse) => {
:label="t('Name')" :label="t('Name')"
v-model="data.name" v-model="data.name"
:rules="validate('province.name')" :rules="validate('province.name')"
required
data-cy="provinceName"
/> />
<VnSelect <VnSelect
data-cy="autonomyProvince"
required
ref="autonomiesRef"
auto-load
:where="where"
url="Autonomies/location"
:sort-by="['name ASC']"
:limit="30"
:label="t('Autonomy')" :label="t('Autonomy')"
:options="autonomiesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
option-value="id" option-value="id"

View File

@ -38,7 +38,7 @@ const onDataSaved = (dataSaved) => {
@on-fetch="(data) => (warehousesOptions = data)" @on-fetch="(data) => (warehousesOptions = data)"
auto-load auto-load
url="Warehouses" url="Warehouses"
:filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }" :filter="{ fields: ['id', 'name'], order: 'name ASC' }"
/> />
<FetchData <FetchData
@on-fetch="(data) => (temperaturesOptions = data)" @on-fetch="(data) => (temperaturesOptions = data)"

View File

@ -10,6 +10,7 @@ import VnPaginate from 'components/ui/VnPaginate.vue';
import VnConfirm from 'components/ui/VnConfirm.vue'; import VnConfirm from 'components/ui/VnConfirm.vue';
import SkeletonTable from 'components/ui/SkeletonTable.vue'; import SkeletonTable from 'components/ui/SkeletonTable.vue';
import { tMobile } from 'src/composables/tMobile'; import { tMobile } from 'src/composables/tMobile';
import getDifferences from 'src/filters/getDifferences';
const { push } = useRouter(); const { push } = useRouter();
const quasar = useQuasar(); const quasar = useQuasar();
@ -77,7 +78,7 @@ const isLoading = ref(false);
const hasChanges = ref(false); const hasChanges = ref(false);
const originalData = ref(); const originalData = ref();
const vnPaginateRef = ref(); const vnPaginateRef = ref();
const formData = ref(); const formData = ref([]);
const saveButtonRef = ref(null); const saveButtonRef = ref(null);
const watchChanges = ref(); const watchChanges = ref();
const formUrl = computed(() => $props.url); const formUrl = computed(() => $props.url);
@ -94,6 +95,7 @@ defineExpose({
saveChanges, saveChanges,
getChanges, getChanges,
formData, formData,
originalData,
vnPaginateRef, vnPaginateRef,
}); });
@ -174,14 +176,13 @@ async function saveChanges(data) {
const changes = data || getChanges(); const changes = data || getChanges();
try { try {
await axios.post($props.saveUrl || $props.url + '/crud', changes); await axios.post($props.saveUrl || $props.url + '/crud', changes);
} catch (e) { } finally {
return (isLoading.value = false); isLoading.value = false;
} }
originalData.value = JSON.parse(JSON.stringify(formData.value)); originalData.value = JSON.parse(JSON.stringify(formData.value));
if (changes.creates?.length) await vnPaginateRef.value.fetch(); if (changes.creates?.length) await vnPaginateRef.value.fetch();
hasChanges.value = false; hasChanges.value = false;
isLoading.value = false;
emit('saveChanges', data); emit('saveChanges', data);
quasar.notify({ quasar.notify({
type: 'positive', type: 'positive',
@ -248,7 +249,7 @@ function getChanges() {
for (const [i, row] of formData.value.entries()) { for (const [i, row] of formData.value.entries()) {
if (!row[pk]) { if (!row[pk]) {
creates.push(row); creates.push(row);
} else if (originalData.value) { } else if (originalData.value[i]) {
const data = getDifferences(originalData.value[i], row); const data = getDifferences(originalData.value[i], row);
if (!isEmpty(data)) { if (!isEmpty(data)) {
updates.push({ updates.push({
@ -267,28 +268,6 @@ function getChanges() {
return changes; return changes;
} }
function getDifferences(obj1, obj2) {
let diff = {};
delete obj1.$index;
delete obj2.$index;
for (let key in obj1) {
if (obj2[key] && JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])) {
diff[key] = obj2[key];
}
}
for (let key in obj2) {
if (
obj1[key] === undefined ||
JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])
) {
diff[key] = obj2[key];
}
}
return diff;
}
function isEmpty(obj) { function isEmpty(obj) {
if (obj == null) return true; if (obj == null) return true;
if (obj === undefined) return true; if (obj === undefined) return true;
@ -394,6 +373,7 @@ watch(formUrl, async () => {
@click="onSubmit" @click="onSubmit"
:disable="!hasChanges" :disable="!hasChanges"
:title="t('globals.save')" :title="t('globals.save')"
data-cy="crudModelDefaultSaveBtn"
/> />
<slot name="moreAfterActions" /> <slot name="moreAfterActions" />
</QBtnGroup> </QBtnGroup>

View File

@ -156,26 +156,22 @@ const rotateRight = () => {
}; };
const onSubmit = () => { const onSubmit = () => {
try { if (!newPhoto.files && !newPhoto.url) {
if (!newPhoto.files && !newPhoto.url) { notify(t('Select an image'), 'negative');
notify(t('Select an image'), 'negative'); return;
return;
}
const options = {
type: 'blob',
};
editor.value
.result(options)
.then((result) => {
const file = new File([result], newPhoto.files?.name || '');
newPhoto.blob = file;
})
.then(() => makeRequest());
} catch (err) {
console.error('Error uploading image');
} }
const options = {
type: 'blob',
};
editor.value
.result(options)
.then((result) => {
const file = new File([result], newPhoto.files?.name || '');
newPhoto.blob = file;
})
.then(() => makeRequest());
}; };
const makeRequest = async () => { const makeRequest = async () => {

View File

@ -51,21 +51,17 @@ const onDataSaved = () => {
}; };
const onSubmit = async () => { const onSubmit = async () => {
try { isLoading.value = true;
isLoading.value = true; const rowsToEdit = $props.rows.map((row) => ({ id: row.id, itemFk: row.itemFk }));
const rowsToEdit = $props.rows.map((row) => ({ id: row.id, itemFk: row.itemFk })); const payload = {
const payload = { field: selectedField.value.field,
field: selectedField.value.field, newValue: newValue.value,
newValue: newValue.value, lines: rowsToEdit,
lines: rowsToEdit, };
};
await axios.post($props.editUrl, payload); await axios.post($props.editUrl, payload);
onDataSaved(); onDataSaved();
isLoading.value = false; isLoading.value = false;
} catch (err) {
console.error('Error submitting table cell edit');
}
}; };
const closeForm = () => { const closeForm = () => {
@ -89,12 +85,14 @@ const closeForm = () => {
hide-selected hide-selected
option-label="label" option-label="label"
v-model="selectedField" v-model="selectedField"
data-cy="field-to-edit"
/> />
<component <component
:is="inputs[selectedField?.component || 'input']" :is="inputs[selectedField?.component || 'input']"
v-bind="selectedField?.attrs || {}" v-bind="selectedField?.attrs || {}"
v-model="newValue" v-model="newValue"
:label="t('Value')" :label="t('Value')"
data-cy="value-to-edit"
style="width: 200px" style="width: 200px"
/> />
</VnRow> </VnRow>

View File

@ -50,25 +50,25 @@ const loading = ref(false);
const tableColumns = computed(() => [ const tableColumns = computed(() => [
{ {
label: t('entry.buys.id'), label: t('globals.id'),
name: 'id', name: 'id',
field: 'id', field: 'id',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.name'), label: t('globals.name'),
name: 'name', name: 'name',
field: 'name', field: 'name',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.size'), label: t('globals.size'),
name: 'size', name: 'size',
field: 'size', field: 'size',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.producer'), label: t('globals.producer'),
name: 'producerName', name: 'producerName',
field: 'producer', field: 'producer',
align: 'left', align: 'left',
@ -84,34 +84,30 @@ const tableColumns = computed(() => [
]); ]);
const onSubmit = async () => { const onSubmit = async () => {
try { let filter = itemFilter;
let filter = itemFilter; const params = itemFilterParams;
const params = itemFilterParams; const where = {};
const where = {}; for (let key in params) {
for (let key in params) { const value = params[key];
const value = params[key]; if (!value) continue;
if (!value) continue;
switch (key) { switch (key) {
case 'name': case 'name':
where[key] = { like: `%${value}%` }; where[key] = { like: `%${value}%` };
break; break;
case 'producerFk': case 'producerFk':
case 'typeFk': case 'typeFk':
case 'size': case 'size':
case 'inkFk': case 'inkFk':
where[key] = value; where[key] = value;
}
} }
filter.where = where;
const { data } = await axios.get(props.url, {
params: { filter: JSON.stringify(filter) },
});
tableRows.value = data;
} catch (err) {
console.error('Error fetching entries items');
} }
filter.where = where;
const { data } = await axios.get(props.url, {
params: { filter: JSON.stringify(filter) },
});
tableRows.value = data;
}; };
const closeForm = () => { const closeForm = () => {
@ -152,10 +148,10 @@ const selectItem = ({ id }) => {
</span> </span>
<h1 class="title">{{ t('Filter item') }}</h1> <h1 class="title">{{ t('Filter item') }}</h1>
<VnRow> <VnRow>
<VnInput :label="t('entry.buys.name')" v-model="itemFilterParams.name" /> <VnInput :label="t('globals.name')" v-model="itemFilterParams.name" />
<VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" /> <VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" />
<VnSelect <VnSelect
:label="t('entry.buys.producer')" :label="t('globals.producer')"
:options="producersOptions" :options="producersOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -163,7 +159,7 @@ const selectItem = ({ id }) => {
v-model="itemFilterParams.producerFk" v-model="itemFilterParams.producerFk"
/> />
<VnSelect <VnSelect
:label="t('entry.buys.type')" :label="t('globals.type')"
:options="ItemTypesOptions" :options="ItemTypesOptions"
hide-selected hide-selected
option-label="name" option-label="name"

View File

@ -48,13 +48,13 @@ const loading = ref(false);
const tableColumns = computed(() => [ const tableColumns = computed(() => [
{ {
label: t('entry.basicData.id'), label: t('globals.id'),
name: 'id', name: 'id',
field: 'id', field: 'id',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.basicData.warehouseOut'), label: t('globals.warehouseOut'),
name: 'warehouseOutFk', name: 'warehouseOutFk',
field: 'warehouseOutFk', field: 'warehouseOutFk',
align: 'left', align: 'left',
@ -62,7 +62,7 @@ const tableColumns = computed(() => [
warehousesOptions.value.find((warehouse) => warehouse.id === val).name, warehousesOptions.value.find((warehouse) => warehouse.id === val).name,
}, },
{ {
label: t('entry.basicData.warehouseIn'), label: t('globals.warehouseIn'),
name: 'warehouseInFk', name: 'warehouseInFk',
field: 'warehouseInFk', field: 'warehouseInFk',
align: 'left', align: 'left',
@ -70,14 +70,14 @@ const tableColumns = computed(() => [
warehousesOptions.value.find((warehouse) => warehouse.id === val).name, warehousesOptions.value.find((warehouse) => warehouse.id === val).name,
}, },
{ {
label: t('entry.basicData.shipped'), label: t('globals.shipped'),
name: 'shipped', name: 'shipped',
field: 'shipped', field: 'shipped',
align: 'left', align: 'left',
format: (val) => toDate(val), format: (val) => toDate(val),
}, },
{ {
label: t('entry.basicData.landed'), label: t('globals.landed'),
name: 'landed', name: 'landed',
field: 'landed', field: 'landed',
align: 'left', align: 'left',
@ -86,32 +86,28 @@ const tableColumns = computed(() => [
]); ]);
const onSubmit = async () => { const onSubmit = async () => {
try { let filter = travelFilter;
let filter = travelFilter; const params = travelFilterParams;
const params = travelFilterParams; const where = {};
const where = {}; for (let key in params) {
for (let key in params) { const value = params[key];
const value = params[key]; if (!value) continue;
if (!value) continue;
switch (key) { switch (key) {
case 'agencyModeFk': case 'agencyModeFk':
case 'warehouseInFk': case 'warehouseInFk':
case 'warehouseOutFk': case 'warehouseOutFk':
case 'shipped': case 'shipped':
case 'landed': case 'landed':
where[key] = value; where[key] = value;
}
} }
filter.where = where;
const { data } = await axios.get('Travels', {
params: { filter: JSON.stringify(filter) },
});
tableRows.value = data;
} catch (err) {
console.error('Error fetching travels');
} }
filter.where = where;
const { data } = await axios.get('Travels', {
params: { filter: JSON.stringify(filter) },
});
tableRows.value = data;
}; };
const closeForm = () => { const closeForm = () => {
@ -146,7 +142,7 @@ const selectTravel = ({ id }) => {
<h1 class="title">{{ t('Filter travels') }}</h1> <h1 class="title">{{ t('Filter travels') }}</h1>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('entry.basicData.agency')" :label="t('globals.agency')"
:options="agenciesOptions" :options="agenciesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -154,7 +150,7 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.agencyModeFk" v-model="travelFilterParams.agencyModeFk"
/> />
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseOut')" :label="t('globals.warehouseOut')"
:options="warehousesOptions" :options="warehousesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -162,7 +158,7 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.warehouseOutFk" v-model="travelFilterParams.warehouseOutFk"
/> />
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseIn')" :label="t('globals.warehouseIn')"
:options="warehousesOptions" :options="warehousesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -170,11 +166,11 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.warehouseInFk" v-model="travelFilterParams.warehouseInFk"
/> />
<VnInputDate <VnInputDate
:label="t('entry.basicData.shipped')" :label="t('globals.shipped')"
v-model="travelFilterParams.shipped" v-model="travelFilterParams.shipped"
/> />
<VnInputDate <VnInputDate
:label="t('entry.basicData.landed')" :label="t('globals.landed')"
v-model="travelFilterParams.landed" v-model="travelFilterParams.landed"
/> />
</VnRow> </VnRow>

View File

@ -91,6 +91,10 @@ const $props = defineProps({
type: Boolean, type: Boolean,
default: true, default: true,
}, },
maxWidth: {
type: [String, Boolean],
default: '800px',
},
}); });
const emit = defineEmits(['onFetch', 'onDataSaved']); const emit = defineEmits(['onFetch', 'onDataSaved']);
const modelValue = computed( const modelValue = computed(
@ -106,6 +110,7 @@ const originalData = ref({});
const formData = computed(() => state.get(modelValue)); const formData = computed(() => state.get(modelValue));
const defaultButtons = computed(() => ({ const defaultButtons = computed(() => ({
save: { save: {
dataCy: 'saveDefaultBtn',
color: 'primary', color: 'primary',
icon: 'save', icon: 'save',
label: 'globals.save', label: 'globals.save',
@ -113,6 +118,7 @@ const defaultButtons = computed(() => ({
type: 'submit', type: 'submit',
}, },
reset: { reset: {
dataCy: 'resetDefaultBtn',
color: 'primary', color: 'primary',
icon: 'restart_alt', icon: 'restart_alt',
label: 'globals.reset', label: 'globals.reset',
@ -203,7 +209,9 @@ async function save() {
isLoading.value = true; isLoading.value = true;
try { try {
formData.value = trimData(formData.value); formData.value = trimData(formData.value);
const body = $props.mapper ? $props.mapper(formData.value) : formData.value; const body = $props.mapper
? $props.mapper(formData.value, originalData.value)
: formData.value;
const method = $props.urlCreate ? 'post' : 'patch'; const method = $props.urlCreate ? 'post' : 'patch';
const url = const url =
$props.urlCreate || $props.urlUpdate || $props.url || arrayData.store.url; $props.urlCreate || $props.urlUpdate || $props.url || arrayData.store.url;
@ -283,6 +291,7 @@ defineExpose({
@submit="save" @submit="save"
@reset="reset" @reset="reset"
class="q-pa-md" class="q-pa-md"
:style="maxWidth ? 'max-width: ' + maxWidth : ''"
id="formModel" id="formModel"
> >
<QCard> <QCard>
@ -317,6 +326,7 @@ defineExpose({
:title="t(defaultButtons.reset.label)" :title="t(defaultButtons.reset.label)"
/> />
<QBtnDropdown <QBtnDropdown
data-cy="saveAndContinueDefaultBtn"
v-if="$props.goTo" v-if="$props.goTo"
@click="saveAndGo" @click="saveAndGo"
:label="tMobile('globals.saveAndContinue')" :label="tMobile('globals.saveAndContinue')"
@ -371,7 +381,6 @@ defineExpose({
color: black; color: black;
} }
#formModel { #formModel {
max-width: 800px;
width: 100%; width: 100%;
} }

View File

@ -62,6 +62,7 @@ defineExpose({
@click="emit('onDataCanceled')" @click="emit('onDataCanceled')"
v-close-popup v-close-popup
data-cy="FormModelPopup_cancel" data-cy="FormModelPopup_cancel"
z-max
/> />
<QBtn <QBtn
:label="t('globals.save')" :label="t('globals.save')"
@ -72,6 +73,7 @@ defineExpose({
:disabled="isLoading" :disabled="isLoading"
:loading="isLoading" :loading="isLoading"
data-cy="FormModelPopup_save" data-cy="FormModelPopup_save"
z-max
/> />
</div> </div>
</template> </template>

View File

@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
const emit = defineEmits(['onSubmit']); const emit = defineEmits(['onSubmit']);
defineProps({ const $props = defineProps({
title: { title: {
type: String, type: String,
default: '', default: '',
@ -25,16 +25,21 @@ defineProps({
type: String, type: String,
default: '', default: '',
}, },
submitOnEnter: {
type: Boolean,
default: true,
},
}); });
const { t } = useI18n(); const { t } = useI18n();
const closeButton = ref(null); const closeButton = ref(null);
const isLoading = ref(false); const isLoading = ref(false);
const onSubmit = () => { const onSubmit = () => {
emit('onSubmit'); if ($props.submitOnEnter) {
closeForm(); emit('onSubmit');
closeForm();
}
}; };
const closeForm = () => { const closeForm = () => {

View File

@ -9,6 +9,8 @@ import VnSelect from 'components/common/VnSelect.vue';
import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue'; import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue';
import axios from 'axios'; import axios from 'axios';
import { getParamWhere } from 'src/filters';
import { useRoute } from 'vue-router';
const { t } = useI18n(); const { t } = useI18n();
const props = defineProps({ const props = defineProps({
@ -26,28 +28,21 @@ const props = defineProps({
}, },
}); });
const itemCategories = ref([]); const route = useRoute();
const selectedCategoryFk = ref(null);
const selectedTypeFk = ref(null);
const itemTypesOptions = ref([]); const itemTypesOptions = ref([]);
const suppliersOptions = ref([]); const suppliersOptions = ref([]);
const tagOptions = ref([]); const tagOptions = ref([]);
const tagValues = ref([]); const tagValues = ref([]);
const categoryList = ref(null);
const selectedCategoryFk = ref(getParamWhere(route.query.table, 'categoryFk', false));
const selectedTypeFk = ref(getParamWhere(route.query.table, 'typeFk', false));
const categoryList = computed(() => { const selectedCategory = computed(() => {
return (itemCategories.value || []) return (categoryList.value || []).find(
.filter((category) => category.display)
.map((category) => ({
...category,
icon: `vn:${(category.icon || '').split('-')[1]}`,
}));
});
const selectedCategory = computed(() =>
(itemCategories.value || []).find(
(category) => category?.id === selectedCategoryFk.value (category) => category?.id === selectedCategoryFk.value
) );
); });
const selectedType = computed(() => { const selectedType = computed(() => {
return (itemTypesOptions.value || []).find( return (itemTypesOptions.value || []).find(
@ -87,21 +82,17 @@ const applyTags = (params, search) => {
search(); search();
}; };
const fetchItemTypes = async (id) => { const fetchItemTypes = async (id = selectedCategoryFk.value) => {
try { const filter = {
const filter = { fields: ['id', 'name', 'categoryFk'],
fields: ['id', 'name', 'categoryFk'], where: { categoryFk: id },
where: { categoryFk: id }, include: 'category',
include: 'category', order: 'name ASC',
order: 'name ASC', };
}; const { data } = await axios.get('ItemTypes', {
const { data } = await axios.get('ItemTypes', { params: { filter: JSON.stringify(filter) },
params: { filter: JSON.stringify(filter) }, });
}); itemTypesOptions.value = data;
itemTypesOptions.value = data;
} catch (err) {
console.error('Error fetching item types', err);
}
}; };
const getCategoryClass = (category, params) => { const getCategoryClass = (category, params) => {
@ -111,38 +102,38 @@ const getCategoryClass = (category, params) => {
}; };
const getSelectedTagValues = async (tag) => { const getSelectedTagValues = async (tag) => {
try { if (!tag?.selectedTag?.id) return;
if (!tag?.selectedTag?.id) return; tag.value = null;
tag.value = null; const filter = {
const filter = { fields: ['value'],
fields: ['value'], order: 'value ASC',
order: 'value ASC', limit: 30,
limit: 30, };
};
const params = { filter: JSON.stringify(filter) }; const params = { filter: JSON.stringify(filter) };
const { data } = await axios.get(`Tags/${tag.selectedTag.id}/filterValue`, { const { data } = await axios.get(`Tags/${tag.selectedTag.id}/filterValue`, {
params, params,
}); });
tag.valueOptions = data; tag.valueOptions = data;
} catch (err) {
console.error('Error getting selected tag values');
}
}; };
const removeTag = (index, params, search) => { const removeTag = (index, params, search) => {
(tagValues.value || []).splice(index, 1); (tagValues.value || []).splice(index, 1);
applyTags(params, search); applyTags(params, search);
}; };
const setCategoryList = (data) => {
categoryList.value = (data || [])
.filter((category) => category.display)
.map((category) => ({
...category,
icon: `vn:${(category.icon || '').split('-')[1]}`,
}));
fetchItemTypes();
};
</script> </script>
<template> <template>
<FetchData <FetchData url="ItemCategories" limit="30" auto-load @on-fetch="setCategoryList" />
url="ItemCategories"
limit="30"
auto-load
@on-fetch="(data) => (itemCategories = data)"
/>
<FetchData <FetchData
url="Suppliers" url="Suppliers"
limit="30" limit="30"
@ -248,7 +239,7 @@ const removeTag = (index, params, search) => {
> >
<QItemSection class="col"> <QItemSection class="col">
<VnSelect <VnSelect
:label="t('components.itemsFilterPanel.tag')" :label="t('globals.tag')"
v-model="value.selectedTag" v-model="value.selectedTag"
:options="tagOptions" :options="tagOptions"
option-label="name" option-label="name"

View File

@ -22,7 +22,7 @@ const props = defineProps({
default: 'main', default: 'main',
}, },
}); });
const initialized = ref(false);
const items = ref([]); const items = ref([]);
const expansionItemElements = reactive({}); const expansionItemElements = reactive({});
const pinnedModules = computed(() => { const pinnedModules = computed(() => {
@ -34,18 +34,26 @@ const search = ref(null);
const filteredItems = computed(() => { const filteredItems = computed(() => {
if (!search.value) return items.value; if (!search.value) return items.value;
const normalizedSearch = normalize(search.value);
return items.value.filter((item) => { return items.value.filter((item) => {
const locale = t(item.title).toLowerCase(); const locale = normalize(t(item.title));
return locale.includes(search.value.toLowerCase()); return locale.includes(normalizedSearch);
}); });
}); });
const filteredPinnedModules = computed(() => { const filteredPinnedModules = computed(() => {
if (!search.value) return pinnedModules.value; if (!search.value) return pinnedModules.value;
const normalizedSearch = search.value
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.toLowerCase();
const map = new Map(); const map = new Map();
for (const [key, pinnedModule] of pinnedModules.value) { for (const [key, pinnedModule] of pinnedModules.value) {
const locale = t(pinnedModule.title).toLowerCase(); const locale = t(pinnedModule.title)
if (locale.includes(search.value.toLowerCase())) map.set(key, pinnedModule); .normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.toLowerCase();
if (locale.includes(normalizedSearch)) map.set(key, pinnedModule);
} }
return map; return map;
}); });
@ -53,11 +61,13 @@ const filteredPinnedModules = computed(() => {
onMounted(async () => { onMounted(async () => {
await navigation.fetchPinned(); await navigation.fetchPinned();
getRoutes(); getRoutes();
initialized.value = true;
}); });
watch( watch(
() => route.matched, () => route.matched,
() => { () => {
if (!initialized.value) return;
items.value = []; items.value = [];
getRoutes(); getRoutes();
}, },
@ -147,6 +157,13 @@ async function togglePinned(item, event) {
const handleItemExpansion = (itemName) => { const handleItemExpansion = (itemName) => {
expansionItemElements[itemName].scrollToLastElement(); expansionItemElements[itemName].scrollToLastElement();
}; };
function normalize(text) {
return text
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.toLowerCase();
}
</script> </script>
<template> <template>
@ -160,6 +177,7 @@ const handleItemExpansion = (itemName) => {
class="full-width" class="full-width"
filled filled
dense dense
autofocus
/> />
</QItem> </QItem>
<QSeparator /> <QSeparator />

View File

@ -39,14 +39,10 @@ const refund = async () => {
invoiceCorrectionTypeFk: invoiceParams.invoiceCorrectionTypeFk, invoiceCorrectionTypeFk: invoiceParams.invoiceCorrectionTypeFk,
}; };
try { const { data } = await axios.post('InvoiceOuts/refundAndInvoice', params);
const { data } = await axios.post('InvoiceOuts/refundAndInvoice', params); notify(t('Refunded invoice'), 'positive');
notify(t('Refunded invoice'), 'positive'); const [id] = data?.refundId || [];
const [id] = data?.refundId || []; if (id) router.push({ name: 'InvoiceOutSummary', params: { id } });
if (id) router.push({ name: 'InvoiceOutSummary', params: { id } });
} catch (err) {
console.error('Error refunding invoice', err);
}
}; };
</script> </script>

View File

@ -0,0 +1,40 @@
<script setup>
defineProps({ row: { type: Object, required: true } });
</script>
<template>
<span>
<QIcon
v-if="row.isTaxDataChecked === 0"
name="vn:no036"
color="primary"
size="xs"
>
<QTooltip>{{ $t('salesTicketsTable.noVerifiedData') }}</QTooltip>
</QIcon>
<QIcon v-if="row.hasTicketRequest" name="vn:buyrequest" color="primary" size="xs">
<QTooltip>{{ $t('salesTicketsTable.purchaseRequest') }}</QTooltip>
</QIcon>
<QIcon v-if="row.itemShortage" name="vn:unavailable" color="primary" size="xs">
<QTooltip>{{ $t('salesTicketsTable.notVisible') }}</QTooltip>
</QIcon>
<QIcon v-if="row.isFreezed" name="vn:frozen" color="primary" size="xs">
<QTooltip>{{ $t('salesTicketsTable.clientFrozen') }}</QTooltip>
</QIcon>
<QIcon
v-if="row.risk"
name="vn:risk"
:color="row.hasHighRisk ? 'negative' : 'primary'"
size="xs"
>
<QTooltip>
{{ $t('salesTicketsTable.risk') }}: {{ row.risk - row.credit }}
</QTooltip>
</QIcon>
<QIcon v-if="row.hasComponentLack" name="vn:components" color="primary" size="xs">
<QTooltip>{{ $t('salesTicketsTable.componentLack') }}</QTooltip>
</QIcon>
<QIcon v-if="row.isTooLittle" name="vn:isTooLittle" color="primary" size="xs">
<QTooltip>{{ $t('salesTicketsTable.tooLittle') }}</QTooltip>
</QIcon>
</span>
</template>

View File

@ -49,36 +49,32 @@ const makeInvoice = async () => {
makeInvoice: checked.value, makeInvoice: checked.value,
}; };
try { if (checked.value && hasToInvoiceByAddress) {
if (checked.value && hasToInvoiceByAddress) { const response = await new Promise((resolve) => {
const response = await new Promise((resolve) => { quasar
quasar .dialog({
.dialog({ component: VnConfirm,
component: VnConfirm, componentProps: {
componentProps: { title: t('Bill destination client'),
title: t('Bill destination client'), message: t('transferInvoiceInfo'),
message: t('transferInvoiceInfo'), },
}, })
}) .onOk(() => {
.onOk(() => { resolve(true);
resolve(true); })
}) .onCancel(() => {
.onCancel(() => { resolve(false);
resolve(false); });
}); });
}); if (!response) {
if (!response) { return;
return;
}
} }
const { data } = await axios.post('InvoiceOuts/transfer', params);
notify(t('Transferred invoice'), 'positive');
const id = data?.[0];
if (id) router.push({ name: 'InvoiceOutSummary', params: { id } });
} catch (err) {
console.error('Error transfering invoice', err);
} }
const { data } = await axios.post('InvoiceOuts/transfer', params);
notify(t('Transferred invoice'), 'positive');
const id = data?.[0];
if (id) router.push({ name: 'InvoiceOutSummary', params: { id } });
}; };
</script> </script>

View File

@ -1,5 +1,5 @@
<script setup> <script setup>
import { ref } from 'vue'; import { ref, watch } from 'vue';
import { useValidator } from 'src/composables/useValidator'; import { useValidator } from 'src/composables/useValidator';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
@ -7,7 +7,7 @@ import VnSelectDialog from 'components/common/VnSelectDialog.vue';
import FetchData from 'components/FetchData.vue'; import FetchData from 'components/FetchData.vue';
import CreateNewProvinceForm from './CreateNewProvinceForm.vue'; import CreateNewProvinceForm from './CreateNewProvinceForm.vue';
const emit = defineEmits(['onProvinceCreated']); const emit = defineEmits(['onProvinceCreated', 'onProvinceFetched', 'update:options']);
const $props = defineProps({ const $props = defineProps({
countryFk: { countryFk: {
type: Number, type: Number,
@ -17,20 +17,23 @@ const $props = defineProps({
type: Number, type: Number,
default: null, default: null,
}, },
provinces: {
type: Array,
default: () => [],
},
}); });
const provinceFk = defineModel({ type: Number, default: null }); const provinceFk = defineModel({ type: Number, default: null });
const { validate } = useValidator(); const { validate } = useValidator();
const { t } = useI18n(); const { t } = useI18n();
const filter = ref({
include: { relation: 'country' },
where: {
countryFk: $props.countryFk,
},
});
const provincesOptions = ref($props.provinces); const provincesOptions = ref($props.provinces);
provinceFk.value = $props.provinceSelected;
const provincesFetchDataRef = ref(); const provincesFetchDataRef = ref();
provinceFk.value = $props.provinceSelected;
if (!$props.countryFk) {
filter.value.where = {};
}
async function onProvinceCreated(_, data) { async function onProvinceCreated(_, data) {
await provincesFetchDataRef.value.fetch({ where: { countryFk: $props.countryFk } }); await provincesFetchDataRef.value.fetch({ where: { countryFk: $props.countryFk } });
provinceFk.value = data.id; provinceFk.value = data.id;
@ -38,24 +41,33 @@ async function onProvinceCreated(_, data) {
} }
async function handleProvinces(data) { async function handleProvinces(data) {
provincesOptions.value = data; provincesOptions.value = data;
emit('update:options', data);
} }
watch(
() => $props.countryFk,
async () => {
if ($props.countryFk) {
filter.value.where.countryFk = $props.countryFk;
} else filter.value.where = {};
await provincesFetchDataRef.value.fetch({});
emit('onProvinceFetched', provincesOptions.value);
}
);
</script> </script>
<template> <template>
<FetchData <FetchData
ref="provincesFetchDataRef" ref="provincesFetchDataRef"
:filter="{ :filter="filter"
include: { relation: 'country' },
where: {
countryFk: $props.countryFk,
},
}"
@on-fetch="handleProvinces" @on-fetch="handleProvinces"
url="Provinces" url="Provinces"
auto-load
/> />
<VnSelectDialog <VnSelectDialog
data-cy="locationProvince"
:label="t('Province')" :label="t('Province')"
:options="$props.provinces" :options="provincesOptions"
:tooltip="t('Create province')" :tooltip="t('Create province')"
hide-selected hide-selected
v-model="provinceFk" v-model="provinceFk"

View File

@ -25,7 +25,7 @@ const $props = defineProps({
}, },
searchUrl: { searchUrl: {
type: String, type: String,
default: 'params', default: 'table',
}, },
}); });
@ -143,6 +143,10 @@ function alignRow() {
const showFilter = computed( const showFilter = computed(
() => $props.column?.columnFilter !== false && $props.column.name != 'tableActions' () => $props.column?.columnFilter !== false && $props.column.name != 'tableActions'
); );
const onTabPressed = async () => {
if (model.value) enterEvent['keyup.enter']();
};
</script> </script>
<template> <template>
<div <div
@ -157,6 +161,7 @@ const showFilter = computed(
v-model="model" v-model="model"
:components="components" :components="components"
component-prop="columnFilter" component-prop="columnFilter"
@keydown.tab="onTabPressed"
/> />
</div> </div>
</template> </template>

View File

@ -17,7 +17,7 @@ const $props = defineProps({
}, },
searchUrl: { searchUrl: {
type: String, type: String,
default: 'params', default: 'table',
}, },
vertical: { vertical: {
type: Boolean, type: Boolean,

View File

@ -162,9 +162,7 @@ onMounted(() => {
: $props.defaultMode; : $props.defaultMode;
stateStore.rightDrawer = quasar.screen.gt.xs; stateStore.rightDrawer = quasar.screen.gt.xs;
columnsVisibilitySkipped.value = [ columnsVisibilitySkipped.value = [
...splittedColumns.value.columns ...splittedColumns.value.columns.filter((c) => !c.visible).map((c) => c.name),
.filter((c) => c.visible == false)
.map((c) => c.name),
...['tableActions'], ...['tableActions'],
]; ];
createForm.value = $props.create; createForm.value = $props.create;
@ -237,7 +235,7 @@ function splitColumns(columns) {
if (col.create) splittedColumns.value.create.push(col); if (col.create) splittedColumns.value.create.push(col);
if (col.cardVisible) splittedColumns.value.cardVisible.push(col); if (col.cardVisible) splittedColumns.value.cardVisible.push(col);
if ($props.isEditable && col.disable == null) col.disable = false; if ($props.isEditable && col.disable == null) col.disable = false;
if ($props.useModel && col.columnFilter != false) if ($props.useModel && col.columnFilter !== false)
col.columnFilter = { inWhere: true, ...col.columnFilter }; col.columnFilter = { inWhere: true, ...col.columnFilter };
splittedColumns.value.columns.push(col); splittedColumns.value.columns.push(col);
} }
@ -326,6 +324,8 @@ function handleOnDataSaved(_) {
} }
function handleScroll() { function handleScroll() {
if ($props.crudModel.disableInfiniteScroll) return;
const tMiddle = tableRef.value.$el.querySelector('.q-table__middle'); const tMiddle = tableRef.value.$el.querySelector('.q-table__middle');
const { scrollHeight, scrollTop, clientHeight } = tMiddle; const { scrollHeight, scrollTop, clientHeight } = tMiddle;
const isAtBottom = Math.abs(scrollHeight - scrollTop - clientHeight) <= 40; const isAtBottom = Math.abs(scrollHeight - scrollTop - clientHeight) <= 40;
@ -394,7 +394,7 @@ function handleSelection({ evt, added, rows: selectedRows }, rows) {
:name="col.orderBy ?? col.name" :name="col.orderBy ?? col.name"
:data-key="$attrs['data-key']" :data-key="$attrs['data-key']"
:search-url="searchUrl" :search-url="searchUrl"
:vertical="true" :vertical="false"
/> />
</div> </div>
<slot <slot
@ -610,6 +610,7 @@ function handleSelection({ evt, added, rows: selectedRows }, rows) {
$props.rowClick && $props.rowClick(row); $props.rowClick && $props.rowClick(row);
} }
" "
style="height: 100%"
> >
<QCardSection <QCardSection
vertical vertical
@ -737,6 +738,7 @@ function handleSelection({ evt, added, rows: selectedRows }, rows) {
fab fab
icon="add" icon="add"
shortcut="+" shortcut="+"
data-cy="vnTableCreateBtn"
/> />
<QTooltip self="top right"> <QTooltip self="top right">
{{ createForm?.title }} {{ createForm?.title }}

View File

@ -58,79 +58,71 @@ const getConfig = async (url, filter) => {
}; };
const fetchViewConfigData = async () => { const fetchViewConfigData = async () => {
try { const userConfigFilter = {
const userConfigFilter = { where: { tableCode: $props.tableCode, userFk: user.value.id },
where: { tableCode: $props.tableCode, userFk: user.value.id }, };
}; const userConfig = await getConfig('UserConfigViews', userConfigFilter);
const userConfig = await getConfig('UserConfigViews', userConfigFilter);
if (userConfig) { if (userConfig) {
initialUserConfigViewData.value = userConfig; initialUserConfigViewData.value = userConfig;
setUserConfigViewData(userConfig.configuration); setUserConfigViewData(userConfig.configuration);
return; return;
} }
const defaultConfigFilter = { where: { tableCode: $props.tableCode } }; const defaultConfigFilter = { where: { tableCode: $props.tableCode } };
const defaultConfig = await getConfig('DefaultViewConfigs', defaultConfigFilter); const defaultConfig = await getConfig('DefaultViewConfigs', defaultConfigFilter);
if (defaultConfig) { if (defaultConfig) {
// Si el backend devuelve una configuración por defecto la usamos // Si el backend devuelve una configuración por defecto la usamos
setUserConfigViewData(defaultConfig.columns); setUserConfigViewData(defaultConfig.columns);
return; return;
} else { } else {
// Si no hay configuración por defecto mostramos todas las columnas // Si no hay configuración por defecto mostramos todas las columnas
const defaultColumns = {}; const defaultColumns = {};
$props.allColumns.forEach((col) => (defaultColumns[col] = true)); $props.allColumns.forEach((col) => (defaultColumns[col] = true));
setUserConfigViewData(defaultColumns); setUserConfigViewData(defaultColumns);
}
} catch (err) {
console.error('Error fetching config view data', err);
} }
}; };
const saveConfig = async () => { const saveConfig = async () => {
try { const params = {};
const params = {}; const configuration = {};
const configuration = {};
formattedCols.value.forEach((col) => { formattedCols.value.forEach((col) => {
const { name, active } = col; const { name, active } = col;
configuration[name] = active; configuration[name] = active;
}); });
// Si existe una view config del usuario hacemos un update si no la creamos // Si existe una view config del usuario hacemos un update si no la creamos
if (initialUserConfigViewData.value) { if (initialUserConfigViewData.value) {
params.updates = [ params.updates = [
{ {
data: { data: {
configuration: configuration,
},
where: {
id: initialUserConfigViewData.value.id,
},
},
];
} else {
params.creates = [
{
userFk: user.value.id,
tableCode: $props.tableCode,
tableConfig: $props.tableCode,
configuration: configuration, configuration: configuration,
}, },
]; where: {
} id: initialUserConfigViewData.value.id,
},
const response = await axios.post('UserConfigViews/crud', params); },
if (response.data && response.data[0]) { ];
initialUserConfigViewData.value = response.data[0]; } else {
} params.creates = [
emitSavedConfig(); {
notify('globals.dataSaved', 'positive'); userFk: user.value.id,
popupProxyRef.value.hide(); tableCode: $props.tableCode,
} catch (err) { tableConfig: $props.tableCode,
console.error('Error saving user view config', err); configuration: configuration,
},
];
} }
const response = await axios.post('UserConfigViews/crud', params);
if (response.data && response.data[0]) {
initialUserConfigViewData.value = response.data[0];
}
emitSavedConfig();
notify('globals.dataSaved', 'positive');
popupProxyRef.value.hide();
}; };
const emitSavedConfig = () => { const emitSavedConfig = () => {

View File

@ -1,20 +1,24 @@
<script setup> <script setup>
import { ref, watch } from 'vue'; import { nextTick, ref, watch } from 'vue';
import { QInput } from 'quasar'; import { QInput } from 'quasar';
const props = defineProps({ const $props = defineProps({
modelValue: { modelValue: {
type: String, type: String,
default: '', default: '',
}, },
insertable: {
type: Boolean,
default: false,
},
}); });
const emit = defineEmits(['update:modelValue', 'accountShortToStandard']); const emit = defineEmits(['update:modelValue', 'accountShortToStandard']);
let internalValue = ref(props.modelValue); let internalValue = ref($props.modelValue);
watch( watch(
() => props.modelValue, () => $props.modelValue,
(newVal) => { (newVal) => {
internalValue.value = newVal; internalValue.value = newVal;
} }
@ -28,8 +32,46 @@ watch(
} }
); );
const handleKeydown = (e) => {
if (e.key === 'Backspace') return;
if (e.key === '.') {
accountShortToStandard();
// TODO: Fix this setTimeout, with nextTick doesn't work
setTimeout(() => {
setCursorPosition(0, e.target);
}, 1);
return;
}
if ($props.insertable && e.key.match(/[0-9]/)) {
handleInsertMode(e);
}
};
function setCursorPosition(pos, el = vnInputRef.value) {
el.focus();
el.setSelectionRange(pos, pos);
}
const vnInputRef = ref(false);
const handleInsertMode = (e) => {
e.preventDefault();
const input = e.target;
const cursorPos = input.selectionStart;
const { maxlength } = vnInputRef.value;
let currentValue = internalValue.value;
if (!currentValue) currentValue = e.key;
const newValue = e.key;
if (newValue && !isNaN(newValue) && cursorPos < maxlength) {
internalValue.value =
currentValue.substring(0, cursorPos) +
newValue +
currentValue.substring(cursorPos + 1);
}
nextTick(() => {
input.setSelectionRange(cursorPos + 1, cursorPos + 1);
});
};
function accountShortToStandard() { function accountShortToStandard() {
internalValue.value = internalValue.value.replace( internalValue.value = internalValue.value?.replace(
'.', '.',
'0'.repeat(11 - internalValue.value.length) '0'.repeat(11 - internalValue.value.length)
); );
@ -37,5 +79,5 @@ function accountShortToStandard() {
</script> </script>
<template> <template>
<q-input v-model="internalValue" /> <QInput @keydown="handleKeydown" ref="vnInputRef" v-model="internalValue" />
</template> </template>

View File

@ -0,0 +1,31 @@
<script setup>
import { toDateFormat } from 'src/filters/date.js';
defineProps({ date: { type: [Date, String], required: true } });
function getBadgeAttrs(date) {
let today = Date.vnNew();
today.setHours(0, 0, 0, 0);
let timeTicket = new Date(date);
timeTicket.setHours(0, 0, 0, 0);
let timeDiff = today - timeTicket;
if (timeDiff == 0) return { color: 'warning', 'text-color': 'black' };
if (timeDiff < 0) return { color: 'success', 'text-color': 'black' };
return { color: 'transparent', 'text-color': 'white' };
}
function formatShippedDate(date) {
if (!date) return '-';
const dateSplit = date.split('T');
const [year, month, day] = dateSplit[0].split('-');
const newDate = new Date(year, month - 1, day);
return toDateFormat(newDate);
}
</script>
<template>
<QBadge v-bind="getBadgeAttrs(date)" class="q-pa-sm" style="font-size: 14px">
{{ formatShippedDate(date) }}
</QBadge>
</template>

View File

@ -163,7 +163,7 @@ function addDefaultData(data) {
/> />
<QFile <QFile
ref="inputFileRef" ref="inputFileRef"
:label="t('entry.buys.file')" :label="t('globals.file')"
v-model="dms.files" v-model="dms.files"
:multiple="false" :multiple="false"
:accept="allowedContentTypes" :accept="allowedContentTypes"

View File

@ -1,5 +1,5 @@
<script setup> <script setup>
import { computed, ref, useAttrs } from 'vue'; import { computed, ref, useAttrs, nextTick } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { useRequired } from 'src/composables/useRequired'; import { useRequired } from 'src/composables/useRequired';
@ -34,6 +34,14 @@ const $props = defineProps({
type: Boolean, type: Boolean,
default: true, default: true,
}, },
insertable: {
type: Boolean,
default: false,
},
maxlength: {
type: Number,
default: null,
},
}); });
const vnInputRef = ref(null); const vnInputRef = ref(null);
@ -69,6 +77,9 @@ const mixinRules = [
requiredFieldRule, requiredFieldRule,
...($attrs.rules ?? []), ...($attrs.rules ?? []),
(val) => { (val) => {
const { maxlength } = vnInputRef.value;
if (maxlength && +val.length > maxlength)
return t(`maxLength`, { value: maxlength });
const { min, max } = vnInputRef.value.$attrs; const { min, max } = vnInputRef.value.$attrs;
if (!min) return null; if (!min) return null;
if (min >= 0) if (Math.floor(val) < min) return t('inputMin', { value: min }); if (min >= 0) if (Math.floor(val) < min) return t('inputMin', { value: min });
@ -78,6 +89,33 @@ const mixinRules = [
} }
}, },
]; ];
const handleKeydown = (e) => {
if (e.key === 'Backspace') return;
if ($props.insertable && e.key.match(/[0-9]/)) {
handleInsertMode(e);
}
};
const handleInsertMode = (e) => {
e.preventDefault();
const input = e.target;
const cursorPos = input.selectionStart;
const { maxlength } = vnInputRef.value;
let currentValue = value.value;
if (!currentValue) currentValue = e.key;
const newValue = e.key;
if (newValue && !isNaN(newValue) && cursorPos < maxlength) {
value.value =
currentValue.substring(0, cursorPos) +
newValue +
currentValue.substring(cursorPos + 1);
}
nextTick(() => {
input.setSelectionRange(cursorPos + 1, cursorPos + 1);
});
};
</script> </script>
<template> <template>
@ -89,10 +127,12 @@ const mixinRules = [
:type="$attrs.type" :type="$attrs.type"
:class="{ required: isRequired }" :class="{ required: isRequired }"
@keyup.enter="emit('keyup.enter')" @keyup.enter="emit('keyup.enter')"
@keydown="handleKeydown"
:clearable="false" :clearable="false"
:rules="mixinRules" :rules="mixinRules"
:lazy-rules="true" :lazy-rules="true"
hide-bottom-space hide-bottom-space
:data-cy="$attrs.dataCy ?? $attrs.label + '_input'"
> >
<template v-if="$slots.prepend" #prepend> <template v-if="$slots.prepend" #prepend>
<slot name="prepend" /> <slot name="prepend" />
@ -101,7 +141,13 @@ const mixinRules = [
<QIcon <QIcon
name="close" name="close"
size="xs" size="xs"
v-if="hover && value && !$attrs.disabled && $props.clearable" v-if="
hover &&
value &&
!$attrs.disabled &&
!$attrs.readonly &&
$props.clearable
"
@click=" @click="
() => { () => {
value = null; value = null;
@ -123,9 +169,11 @@ const mixinRules = [
<i18n> <i18n>
en: en:
inputMin: Must be more than {value} inputMin: Must be more than {value}
maxLength: The value exceeds {value} characters
inputMax: Must be less than {value} inputMax: Must be less than {value}
es: es:
inputMin: Debe ser mayor a {value} inputMin: Debe ser mayor a {value}
maxLength: El valor excede los {value} carácteres
inputMax: Debe ser menor a {value} inputMax: Debe ser menor a {value}
</i18n> </i18n>
<style lang="scss"> <style lang="scss">

View File

@ -1,8 +1,7 @@
<script setup> <script setup>
import { onMounted, watch, computed, ref } from 'vue'; import { onMounted, watch, computed, ref, useAttrs } from 'vue';
import { date } from 'quasar'; import { date } from 'quasar';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { useAttrs } from 'vue';
import VnDate from './VnDate.vue'; import VnDate from './VnDate.vue';
import { useRequired } from 'src/composables/useRequired'; import { useRequired } from 'src/composables/useRequired';

View File

@ -2,7 +2,7 @@
import CreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue'; import CreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue';
import VnSelectDialog from 'components/common/VnSelectDialog.vue'; import VnSelectDialog from 'components/common/VnSelectDialog.vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { ref } from 'vue'; import { computed } from 'vue';
import { useAttrs } from 'vue'; import { useAttrs } from 'vue';
import { useRequired } from 'src/composables/useRequired'; import { useRequired } from 'src/composables/useRequired';
const { t } = useI18n(); const { t } = useI18n();
@ -43,7 +43,7 @@ const formatLocation = (obj, properties) => {
return filteredParts.join(', '); return filteredParts.join(', ');
}; };
const modelValue = ref( const modelValue = computed(() =>
props.location ? formatLocation(props.location, locationProperties) : null props.location ? formatLocation(props.location, locationProperties) : null
); );
@ -75,7 +75,6 @@ const handleModelValue = (data) => {
:input-debounce="300" :input-debounce="300"
:class="{ required: isRequired }" :class="{ required: isRequired }"
v-bind="$attrs" v-bind="$attrs"
clearable
:emit-value="false" :emit-value="false"
:tooltip="t('Create new location')" :tooltip="t('Create new location')"
:rules="mixinRules" :rules="mixinRules"

View File

@ -238,6 +238,7 @@ async function openPointRecord(id, modelLog) {
pointRecord.value = parseProps(propNames, locale, data); pointRecord.value = parseProps(propNames, locale, data);
} }
async function setLogTree(data) { async function setLogTree(data) {
if (!data) return;
logTree.value = getLogTree(data); logTree.value = getLogTree(data);
} }

View File

@ -2,5 +2,12 @@
const model = defineModel({ type: Boolean, required: true }); const model = defineModel({ type: Boolean, required: true });
</script> </script>
<template> <template>
<QRadio v-model="model" v-bind="$attrs" dense :dark="true" class="q-mr-sm" /> <QRadio
v-model="model"
v-bind="$attrs"
dense
:dark="true"
class="q-mr-sm"
size="xs"
/>
</template> </template>

View File

@ -1,12 +1,21 @@
<script setup> <script setup>
import { ref, toRefs, computed, watch, onMounted, useAttrs } from 'vue'; import { ref, toRefs, computed, watch, onMounted, useAttrs } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import FetchData from 'src/components/FetchData.vue'; import { useArrayData } from 'src/composables/useArrayData';
import { useRequired } from 'src/composables/useRequired'; import { useRequired } from 'src/composables/useRequired';
import dataByOrder from 'src/utils/dataByOrder';
const emit = defineEmits(['update:modelValue', 'update:options', 'remove']); const emit = defineEmits(['update:modelValue', 'update:options', 'remove']);
const $attrs = useAttrs(); const $attrs = useAttrs();
const { t } = useI18n(); const { t } = useI18n();
const { isRequired, requiredFieldRule } = useRequired($attrs);
const isRequired = computed(() => {
return useRequired($attrs).isRequired;
});
const requiredFieldRule = computed(() => {
return useRequired($attrs).requiredFieldRule;
});
const $props = defineProps({ const $props = defineProps({
modelValue: { modelValue: {
type: [String, Number, Object], type: [String, Number, Object],
@ -88,6 +97,10 @@ const $props = defineProps({
type: Boolean, type: Boolean,
default: false, default: false,
}, },
dataKey: {
type: String,
default: null,
},
}); });
const mixinRules = [requiredFieldRule, ...($attrs.rules ?? [])]; const mixinRules = [requiredFieldRule, ...($attrs.rules ?? [])];
@ -96,14 +109,14 @@ const { optionLabel, optionValue, optionFilter, optionFilterValue, options, mode
const myOptions = ref([]); const myOptions = ref([]);
const myOptionsOriginal = ref([]); const myOptionsOriginal = ref([]);
const vnSelectRef = ref(); const vnSelectRef = ref();
const dataRef = ref();
const lastVal = ref(); const lastVal = ref();
const noOneText = t('globals.noOne'); const noOneText = t('globals.noOne');
const noOneOpt = ref({ const noOneOpt = ref({
[optionValue.value]: false, [optionValue.value]: false,
[optionLabel.value]: noOneText, [optionLabel.value]: noOneText,
}); });
const isLoading = ref(false);
const useURL = computed(() => $props.url);
const value = computed({ const value = computed({
get() { get() {
return $props.modelValue; return $props.modelValue;
@ -119,7 +132,7 @@ watch(options, (newValue) => {
}); });
watch(modelValue, async (newValue) => { watch(modelValue, async (newValue) => {
if (!myOptions.value.some((option) => option[optionValue.value] == newValue)) if (!myOptions?.value?.some((option) => option[optionValue.value] == newValue))
await fetchFilter(newValue); await fetchFilter(newValue);
if ($props.noOne) myOptions.value.unshift(noOneOpt.value); if ($props.noOne) myOptions.value.unshift(noOneOpt.value);
@ -127,17 +140,23 @@ watch(modelValue, async (newValue) => {
onMounted(() => { onMounted(() => {
setOptions(options.value); setOptions(options.value);
if ($props.url && $props.modelValue && !findKeyInOptions()) if (useURL.value && $props.modelValue && !findKeyInOptions())
fetchFilter($props.modelValue); fetchFilter($props.modelValue);
if ($props.focusOnMount) setTimeout(() => vnSelectRef.value.showPopup(), 300); if ($props.focusOnMount) setTimeout(() => vnSelectRef.value.showPopup(), 300);
}); });
const arrayDataKey =
$props.dataKey ?? ($props.url?.length > 0 ? $props.url : $attrs.name ?? $attrs.label);
const arrayData = useArrayData(arrayDataKey, { url: $props.url, searchUrl: false });
function findKeyInOptions() { function findKeyInOptions() {
if (!$props.options) return; if (!$props.options) return;
return filter($props.modelValue, $props.options)?.length; return filter($props.modelValue, $props.options)?.length;
} }
function setOptions(data) { function setOptions(data) {
data = dataByOrder(data, $props.sortBy);
myOptions.value = JSON.parse(JSON.stringify(data)); myOptions.value = JSON.parse(JSON.stringify(data));
myOptionsOriginal.value = JSON.parse(JSON.stringify(data)); myOptionsOriginal.value = JSON.parse(JSON.stringify(data));
emit('update:options', data); emit('update:options', data);
@ -165,7 +184,7 @@ function filter(val, options) {
} }
async function fetchFilter(val) { async function fetchFilter(val) {
if (!$props.url || !dataRef.value) return; if (!$props.url) return;
const { fields, include, sortBy, limit } = $props; const { fields, include, sortBy, limit } = $props;
const key = const key =
@ -187,8 +206,11 @@ async function fetchFilter(val) {
const fetchOptions = { where, include, limit }; const fetchOptions = { where, include, limit };
if (fields) fetchOptions.fields = fields; if (fields) fetchOptions.fields = fields;
if (sortBy) fetchOptions.order = sortBy; if (sortBy) fetchOptions.order = sortBy;
arrayData.reset(['skip', 'filter.skip', 'page']);
return dataRef.value.fetch(fetchOptions); const { data } = await arrayData.applyFilter({ filter: fetchOptions });
setOptions(data);
return data;
} }
async function filterHandler(val, update) { async function filterHandler(val, update) {
@ -228,20 +250,58 @@ function nullishToTrue(value) {
const getVal = (val) => ($props.useLike ? { like: `%${val}%` } : val); const getVal = (val) => ($props.useLike ? { like: `%${val}%` } : val);
async function onScroll({ to, direction, from, index }) {
const lastIndex = myOptions.value.length - 1;
if (from === 0 && index === 0) return;
if (!useURL.value && !$props.fetchRef) return;
if (direction === 'decrease') return;
if (to === lastIndex && arrayData.store.hasMoreData && !isLoading.value) {
isLoading.value = true;
await arrayData.loadMore();
setOptions(arrayData.store.data);
vnSelectRef.value.scrollTo(lastIndex);
isLoading.value = false;
}
}
defineExpose({ opts: myOptions }); defineExpose({ opts: myOptions });
function handleKeyDown(event) {
if (event.key === 'Tab' && !event.shiftKey) {
event.preventDefault();
const inputValue = vnSelectRef.value?.inputValue;
if (inputValue) {
const matchingOption = myOptions.value.find(
(option) =>
option[optionLabel.value].toLowerCase() === inputValue.toLowerCase()
);
if (matchingOption) {
emit('update:modelValue', matchingOption[optionValue.value]);
} else {
emit('update:modelValue', inputValue);
}
vnSelectRef.value?.hidePopup();
}
const focusableElements = document.querySelectorAll(
'a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'
);
const currentIndex = Array.prototype.indexOf.call(
focusableElements,
event.target
);
if (currentIndex >= 0 && currentIndex < focusableElements.length - 1) {
focusableElements[currentIndex + 1].focus();
}
}
}
</script> </script>
<template> <template>
<FetchData
ref="dataRef"
:url="$props.url"
@on-fetch="(data) => setOptions(data)"
:where="where || { [optionValue]: value }"
:limit="limit"
:sort-by="sortBy"
:fields="fields"
:params="params"
/>
<QSelect <QSelect
v-model="value" v-model="value"
:options="myOptions" :options="myOptions"
@ -249,6 +309,7 @@ defineExpose({ opts: myOptions });
:option-value="optionValue" :option-value="optionValue"
v-bind="$attrs" v-bind="$attrs"
@filter="filterHandler" @filter="filterHandler"
@keydown="handleKeyDown"
:emit-value="nullishToTrue($attrs['emit-value'])" :emit-value="nullishToTrue($attrs['emit-value'])"
:map-options="nullishToTrue($attrs['map-options'])" :map-options="nullishToTrue($attrs['map-options'])"
:use-input="nullishToTrue($attrs['use-input'])" :use-input="nullishToTrue($attrs['use-input'])"
@ -260,10 +321,14 @@ defineExpose({ opts: myOptions });
:rules="mixinRules" :rules="mixinRules"
virtual-scroll-slice-size="options.length" virtual-scroll-slice-size="options.length"
hide-bottom-space hide-bottom-space
:input-debounce="useURL ? '300' : '0'"
:loading="isLoading"
@virtual-scroll="onScroll"
:data-cy="$attrs.dataCy ?? $attrs.label + '_select'"
> >
<template v-if="isClearable" #append> <template #append>
<QIcon <QIcon
v-show="value" v-show="isClearable && value"
name="close" name="close"
@click.stop=" @click.stop="
() => { () => {
@ -276,7 +341,22 @@ defineExpose({ opts: myOptions });
/> />
</template> </template>
<template v-for="(_, slotName) in $slots" #[slotName]="slotData" :key="slotName"> <template v-for="(_, slotName) in $slots" #[slotName]="slotData" :key="slotName">
<slot :name="slotName" v-bind="slotData ?? {}" :key="slotName" /> <div v-if="slotName == 'append'">
<QIcon
v-show="isClearable && value"
name="close"
@click.stop="
() => {
value = null;
emit('remove');
}
"
class="cursor-pointer"
size="xs"
/>
<slot name="append" v-if="$slots.append" v-bind="slotData ?? {}" />
</div>
<slot v-else :name="slotName" v-bind="slotData ?? {}" :key="slotName" />
</template> </template>
</QSelect> </QSelect>
</template> </template>

View File

@ -43,6 +43,7 @@ const isAllowedToCreate = computed(() => {
> >
<template v-if="isAllowedToCreate" #append> <template v-if="isAllowedToCreate" #append>
<QIcon <QIcon
:data-cy="$attrs.dataCy ?? $attrs.label + '_icon'"
@click.stop.prevent="$refs.dialog.show()" @click.stop.prevent="$refs.dialog.show()"
:name="actionIcon" :name="actionIcon"
:size="actionIcon === 'add' ? 'xs' : 'sm'" :size="actionIcon === 'add' ? 'xs' : 'sm'"

View File

@ -0,0 +1,85 @@
<script setup>
import { computed, useAttrs } from 'vue';
import VnSelect from 'components/common/VnSelect.vue';
import VnAvatar from 'src/components/ui/VnAvatar.vue';
const emit = defineEmits(['update:modelValue']);
const $props = defineProps({
hasAvatar: {
type: Boolean,
default: false,
},
hasInfo: {
type: Boolean,
default: false,
},
modelValue: {
type: [String, Number, Object],
default: null,
},
});
const $attrs = useAttrs();
const value = computed({
get() {
return $props.modelValue;
},
set(val) {
emit('update:modelValue', val);
},
});
const url = computed(() => {
let url = 'Workers/search';
const { departmentCodes } = $attrs.params ?? {};
if (!departmentCodes) return url;
const params = new URLSearchParams({
departmentCodes: JSON.stringify(departmentCodes),
});
return url.concat(`?${params.toString()}`);
});
</script>
<template>
<VnSelect
:label="$t('globals.worker')"
v-bind="$attrs"
v-model="value"
:url="url"
option-value="id"
option-label="nickname"
:fields="['id', 'name', 'nickname', 'code']"
sort-by="nickname ASC"
>
<template #prepend v-if="$props.hasAvatar">
<VnAvatar :worker-id="value" color="primary" :title="title" />
</template>
<template #append v-if="$props.hasInfo">
<QIcon name="info" class="cursor-pointer">
<QTooltip>{{ $t($props.hasInfo) }}</QTooltip>
</QIcon>
</template>
<template #option="scope">
<QItem v-bind="scope.itemProps">
<QItemSection>
<QItemLabel>
{{ scope.opt.name }}
</QItemLabel>
<QItemLabel v-if="!scope.opt.id">
{{ scope.opt.nickname }}
</QItemLabel>
<QItemLabel caption v-else>
{{ scope.opt.nickname }}, {{ scope.opt.code }}
</QItemLabel>
</QItemSection>
</QItem>
</template>
</VnSelect>
</template>
<i18n>
es:
Responsible for approving invoices: Responsable de aprobar las facturas
</i18n>

View File

@ -86,7 +86,7 @@ async function send() {
</script> </script>
<template> <template>
<QDialog ref="dialogRef"> <QDialog ref="dialogRef" data-cy="vnSmsDialog">
<QCard class="q-pa-sm"> <QCard class="q-pa-sm">
<QCardSection class="row items-center q-pb-none"> <QCardSection class="row items-center q-pb-none">
<span class="text-h6 text-grey"> <span class="text-h6 text-grey">
@ -161,6 +161,7 @@ async function send() {
:loading="isLoading" :loading="isLoading"
color="primary" color="primary"
unelevated unelevated
data-cy="sendSmsBtn"
/> />
</QCardActions> </QCardActions>
</QCard> </QCard>

View File

@ -222,8 +222,8 @@ const toModule = computed(() =>
/> />
</template> </template>
<style lang="scss"> <style lang="scss" scoped>
.body { :deep(.body) {
background-color: var(--vn-section-color); background-color: var(--vn-section-color);
.text-h5 { .text-h5 {
font-size: 20px; font-size: 20px;
@ -262,9 +262,7 @@ const toModule = computed(() =>
} }
} }
} }
</style>
<style lang="scss" scoped>
.title { .title {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;

View File

@ -83,7 +83,7 @@ async function fetch() {
<slot name="header" :entity="entity" dense> <slot name="header" :entity="entity" dense>
<VnLv :label="`${entity.id} -`" :value="entity.name" /> <VnLv :label="`${entity.id} -`" :value="entity.name" />
</slot> </slot>
<slot name="header-right"> <slot name="header-right" :entity="entity">
<span></span> <span></span>
</slot> </slot>
</div> </div>

View File

@ -67,7 +67,7 @@ const dialog = ref(null);
<QTooltip>{{ t('globals.add') }}</QTooltip> <QTooltip>{{ t('globals.add') }}</QTooltip>
<QPopupProxy ref="dialog"> <QPopupProxy ref="dialog">
<OrderCatalogItemDialog <OrderCatalogItemDialog
:prices="item.prices" :item="item"
@added="() => dialog.hide()" @added="() => dialog.hide()"
/> />
</QPopupProxy> </QPopupProxy>

View File

@ -6,7 +6,7 @@ import { useColor } from 'src/composables/useColor';
import { getCssVar } from 'quasar'; import { getCssVar } from 'quasar';
const $props = defineProps({ const $props = defineProps({
workerId: { type: Number, required: true }, workerId: { type: [Number, undefined], default: null },
description: { type: String, default: null }, description: { type: String, default: null },
title: { type: String, default: null }, title: { type: String, default: null },
color: { type: String, default: null }, color: { type: String, default: null },
@ -38,7 +38,13 @@ watch(src, () => (showLetter.value = false));
<template v-if="showLetter"> <template v-if="showLetter">
{{ title.charAt(0) }} {{ title.charAt(0) }}
</template> </template>
<QImg v-else :src="src" spinner-color="white" @error="showLetter = true" /> <QImg
v-else-if="workerId"
:src="src"
spinner-color="white"
@error="showLetter = true"
/>
<QIcon v-else name="mood" size="xs" />
</QAvatar> </QAvatar>
<div class="description"> <div class="description">
<slot name="description" v-if="description"> <slot name="description" v-if="description">

View File

@ -37,7 +37,7 @@ const $props = defineProps({
}, },
hiddenTags: { hiddenTags: {
type: Array, type: Array,
default: () => ['filter', 'search', 'or', 'and'], default: () => ['filter', 'or', 'and'],
}, },
customTags: { customTags: {
type: Array, type: Array,
@ -49,7 +49,7 @@ const $props = defineProps({
}, },
searchUrl: { searchUrl: {
type: String, type: String,
default: 'params', default: 'table',
}, },
redirect: { redirect: {
type: Boolean, type: Boolean,
@ -57,7 +57,6 @@ const $props = defineProps({
}, },
}); });
defineExpose({ search, sanitizer });
const emit = defineEmits([ const emit = defineEmits([
'update:modelValue', 'update:modelValue',
'refresh', 'refresh',
@ -76,8 +75,11 @@ const arrayData = useArrayData($props.dataKey, {
const route = useRoute(); const route = useRoute();
const store = arrayData.store; const store = arrayData.store;
const userParams = ref({}); const userParams = ref({});
defineExpose({ search, sanitizer, params: userParams });
onMounted(() => { onMounted(() => {
userParams.value = $props.modelValue ?? {}; if (!userParams.value) userParams.value = $props.modelValue ?? {};
emit('init', { params: userParams.value }); emit('init', { params: userParams.value });
}); });
@ -103,7 +105,8 @@ watch(
watch( watch(
() => arrayData.store.userParams, () => arrayData.store.userParams,
(val, oldValue) => (val || oldValue) && setUserParams(val) (val, oldValue) => (val || oldValue) && setUserParams(val),
{ immediate: true }
); );
watch( watch(
@ -170,16 +173,36 @@ const tagsList = computed(() => {
return tagList; return tagList;
}); });
const formatTags = (tags) => {
const formattedTags = [];
tags.forEach((tag) => {
if (tag.label === 'and') {
tag.value.forEach((item) => {
for (const key in item) {
formattedTags.push({ label: key, value: item[key] });
}
});
} else {
formattedTags.push(tag);
}
});
return formattedTags;
};
const tags = computed(() => { const tags = computed(() => {
return tagsList.value.filter((tag) => !($props.customTags || []).includes(tag.label)); const filteredTags = tagsList.value.filter(
(tag) => !($props.customTags || []).includes(tag.label)
);
return formatTags(filteredTags);
}); });
const customTags = computed(() => const customTags = computed(() =>
tagsList.value.filter((tag) => ($props.customTags || []).includes(tag.label)) tagsList.value.filter((tag) => ($props.customTags || []).includes(tag.label))
); );
async function remove(key) { async function remove(key) {
userParams.value[key] = undefined; userParams.value[key] = undefined;
search(); await search();
emit('remove', key); emit('remove', key);
emit('update:modelValue', userParams.value); emit('update:modelValue', userParams.value);
} }
@ -193,7 +216,12 @@ function formatValue(value) {
function sanitizer(params) { function sanitizer(params) {
for (const [key, value] of Object.entries(params)) { for (const [key, value] of Object.entries(params)) {
if (value && typeof value === 'object') { if (key === 'and' && Array.isArray(value)) {
value.forEach((item) => {
Object.assign(params, item);
});
delete params[key];
} else if (value && typeof value === 'object') {
const param = Object.values(value)[0]; const param = Object.values(value)[0];
if (typeof param == 'string') params[key] = param.replaceAll('%', ''); if (typeof param == 'string') params[key] = param.replaceAll('%', '');
} }
@ -247,6 +275,7 @@ function sanitizer(params) {
:key="chip.label" :key="chip.label"
:removable="!unremovableParams?.includes(chip.label)" :removable="!unremovableParams?.includes(chip.label)"
@remove="remove(chip.label)" @remove="remove(chip.label)"
data-cy="vnFilterPanelChip"
> >
<slot name="tags" :tag="chip" :format-fn="formatValue"> <slot name="tags" :tag="chip" :format-fn="formatValue">
<div class="q-gutter-x-xs"> <div class="q-gutter-x-xs">

View File

@ -1,16 +1,60 @@
<script setup> <script setup>
defineProps({ phoneNumber: { type: [String, Number], default: null } }); import { ref, reactive, useAttrs, onBeforeMount, capitalize } from 'vue';
import axios from 'axios';
import { parsePhone } from 'src/filters';
import useOpenURL from 'src/composables/useOpenURL';
const props = defineProps({
phoneNumber: { type: [String, Number], default: null },
channel: { type: Number, default: null },
country: { type: String, default: null },
});
const phone = ref(props.phoneNumber);
const config = reactive({
sip: { icon: 'phone', href: `sip:${props.phoneNumber}` },
'say-simple': {
icon: 'vn:saysimple',
url: null,
channel: props.channel,
},
});
const type = Object.keys(config).find((key) => key in useAttrs()) || 'sip';
onBeforeMount(async () => {
if (!phone.value) return;
let { channel } = config[type];
if (type === 'say-simple') {
const { url, defaultChannel } = (await axios.get('SaySimpleConfigs/findOne'))
.data;
if (!channel) channel = defaultChannel;
phone.value = await parsePhone(props.phoneNumber, props.country.toLowerCase());
config[
type
].url = `${url}?customerIdentity=%2B${phone.value}&channelId=${channel}`;
}
});
function handleClick() {
if (config[type].url) useOpenURL(config[type].url);
else if (config[type].href) window.location.href = config[type].href;
}
</script> </script>
<template> <template>
<QBtn <QBtn
v-if="phoneNumber" v-if="phone"
flat flat
round round
icon="phone" :icon="config[type].icon"
size="sm" size="sm"
color="primary" color="primary"
padding="none" padding="none"
:href="`sip:${phoneNumber}`" @click.stop="handleClick"
@click.stop >
/> <QTooltip>
{{ capitalize(type).replace('-', '') }}
</QTooltip>
</QBtn>
</template> </template>

View File

@ -6,7 +6,6 @@ import { useI18n } from 'vue-i18n';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
import { toDateHourMin } from 'src/filters'; import { toDateHourMin } from 'src/filters';
import { useState } from 'src/composables/useState';
import VnPaginate from 'components/ui/VnPaginate.vue'; import VnPaginate from 'components/ui/VnPaginate.vue';
import VnUserLink from 'components/ui/VnUserLink.vue'; import VnUserLink from 'components/ui/VnUserLink.vue';
@ -26,9 +25,7 @@ const $props = defineProps({
}); });
const { t } = useI18n(); const { t } = useI18n();
const state = useState();
const quasar = useQuasar(); const quasar = useQuasar();
const currentUser = ref(state.getUser());
const newNote = reactive({ text: null, observationTypeFk: null }); const newNote = reactive({ text: null, observationTypeFk: null });
const observationTypes = ref([]); const observationTypes = ref([]);
const vnPaginateRef = ref(); const vnPaginateRef = ref();
@ -65,13 +62,9 @@ onBeforeRouteLeave((to, from, next) => {
auto-load auto-load
@on-fetch="(data) => (observationTypes = data)" @on-fetch="(data) => (observationTypes = data)"
/> />
<QCard class="q-pa-xs q-mb-xl full-width" v-if="$props.addNote"> <QCard class="q-pa-xs q-mb-lg full-width" v-if="$props.addNote">
<QCardSection horizontal> <QCardSection horizontal>
<VnAvatar :worker-id="currentUser.id" size="md" /> {{ t('New note') }}
<div class="full-width row justify-between q-pa-xs">
<VnUserLink :name="t('New note')" :worker-id="currentUser.id" />
{{ t('globals.now') }}
</div>
</QCardSection> </QCardSection>
<QCardSection class="q-px-xs q-my-none q-py-none"> <QCardSection class="q-px-xs q-my-none q-py-none">
<VnRow class="full-width"> <VnRow class="full-width">
@ -105,6 +98,7 @@ onBeforeRouteLeave((to, from, next) => {
@click="insert" @click="insert"
class="q-mb-xs" class="q-mb-xs"
dense dense
data-cy="saveNote"
/> />
</template> </template>
</VnInput> </VnInput>
@ -144,7 +138,7 @@ onBeforeRouteLeave((to, from, next) => {
<div class="full-width row justify-between q-pa-xs"> <div class="full-width row justify-between q-pa-xs">
<div> <div>
<VnUserLink <VnUserLink
:name="`${note.worker.user.nickname}`" :name="`${note.worker.user.name}`"
:worker-id="note.worker.id" :worker-id="note.worker.id"
/> />
<QBadge <QBadge

View File

@ -44,7 +44,7 @@ const props = defineProps({
}, },
limit: { limit: {
type: Number, type: Number,
default: 10, default: 20,
}, },
userParams: { userParams: {
type: Object, type: Object,
@ -100,7 +100,7 @@ const arrayData = useArrayData(props.dataKey, {
const store = arrayData.store; const store = arrayData.store;
onMounted(async () => { onMounted(async () => {
if (props.autoLoad) await fetch(); if (props.autoLoad && !store.data?.length) await fetch();
mounted.value = true; mounted.value = true;
}); });
@ -115,7 +115,11 @@ watch(
watch( watch(
() => store.data, () => store.data,
(data) => emit('onChange', data) (data) => {
if (!mounted.value) return;
emit('onChange', data);
},
{ immediate: true }
); );
watch( watch(
@ -128,10 +132,24 @@ const addFilter = async (filter, params) => {
async function fetch(params) { async function fetch(params) {
useArrayData(props.dataKey, params); useArrayData(props.dataKey, params);
arrayData.reset(['filter.skip', 'skip']); arrayData.reset(['filter.skip', 'skip', 'page']);
await arrayData.fetch({ append: false }); await arrayData.fetch({ append: false, updateRouter: mounted.value });
if (!store.hasMoreData) isLoading.value = false; return emitStoreData();
}
async function update(params) {
useArrayData(props.dataKey, params);
const { limit, skip } = store;
store.limit = limit + skip;
store.skip = 0;
await arrayData.fetch({ append: false });
store.limit = limit;
store.skip = skip;
return emitStoreData();
}
function emitStoreData() {
if (!store.hasMoreData) isLoading.value = false;
emit('onFetch', store.data); emit('onFetch', store.data);
return store.data; return store.data;
} }
@ -177,7 +195,7 @@ async function onLoad(index, done) {
done(isDone); done(isDone);
} }
defineExpose({ fetch, addFilter, paginate }); defineExpose({ fetch, update, addFilter, paginate });
</script> </script>
<template> <template>

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="vn-row q-gutter-md q-mb-md"> <div class="vn-row q-gutter-md">
<slot /> <slot />
</div> </div>
</template> </template>
@ -18,6 +18,9 @@
&:not(.wrap) { &:not(.wrap) {
flex-direction: column; flex-direction: column;
} }
&[fixed] {
flex-direction: row;
}
} }
} }
</style> </style>

View File

@ -45,7 +45,7 @@ const props = defineProps({
}, },
limit: { limit: {
type: Number, type: Number,
default: 10, default: 20,
}, },
userParams: { userParams: {
type: Object, type: Object,
@ -130,6 +130,7 @@ async function search() {
dense dense
standout standout
autofocus autofocus
data-cy="vnSearchBar"
> >
<template #prepend> <template #prepend>
<QIcon <QIcon

View File

@ -1,6 +1,5 @@
<script setup> <script setup>
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { defineProps } from 'vue';
const props = defineProps({ const props = defineProps({
routeName: { routeName: {

View File

@ -1,11 +1,24 @@
import { useSession } from 'src/composables/useSession'; import { useSession } from 'src/composables/useSession';
import { getUrl } from './getUrl'; import { getUrl } from './getUrl';
import axios from 'axios';
import { exportFile } from 'quasar';
const { getTokenMultimedia } = useSession(); const { getTokenMultimedia } = useSession();
const token = getTokenMultimedia(); const token = getTokenMultimedia();
export async function downloadFile(id, model = 'dms', urlPath = '/downloadFile', url) { export async function downloadFile(id, model = 'dms', urlPath = '/downloadFile', url) {
let appUrl = await getUrl('', 'lilium'); const appUrl = (await getUrl('', 'lilium')).replace('/#/', '');
appUrl = appUrl.replace('/#/', ''); const response = await axios.get(
window.open(url ?? `${appUrl}/api/${model}/${id}${urlPath}?access_token=${token}`); url ?? `${appUrl}/api/${model}/${id}${urlPath}?access_token=${token}`,
{ responseType: 'blob' }
);
const contentDisposition = response.headers['content-disposition'];
const matches = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(contentDisposition);
const filename =
matches != null && matches[1]
? matches[1].replace(/['"]/g, '')
: 'downloaded-file';
exportFile(filename, response.data);
} }

View File

@ -75,18 +75,10 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
limit: store.limit, limit: store.limit,
}; };
let exprFilter;
let userParams = { ...store.userParams }; let userParams = { ...store.userParams };
if (store?.exprBuilder) {
const where = buildFilter(userParams, (param, value) => {
const res = store.exprBuilder(param, value);
if (res) delete userParams[param];
return res;
});
exprFilter = where ? { where } : null;
}
Object.assign(filter, store.userFilter, exprFilter); Object.assign(filter, store.userFilter);
let where; let where;
if (filter?.where || store.filter?.where) if (filter?.where || store.filter?.where)
where = Object.assign(filter?.where ?? {}, store.filter?.where ?? {}); where = Object.assign(filter?.where ?? {}, store.filter?.where ?? {});
@ -95,12 +87,29 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
const params = { filter }; const params = { filter };
Object.assign(params, userParams); Object.assign(params, userParams);
params.filter.skip = store.skip; if (params.filter) params.filter.skip = store.skip;
if (store.order && store.order.length) params.filter.order = store.order; if (store?.order && typeof store?.order == 'string') store.order = [store.order];
if (store.order?.length) params.filter.order = [...store.order];
else delete params.filter.order; else delete params.filter.order;
store.currentFilter = JSON.parse(JSON.stringify(params));
delete store.currentFilter.filter.include;
store.currentFilter.filter = JSON.stringify(store.currentFilter.filter);
let exprFilter;
if (store?.exprBuilder) {
exprFilter = buildFilter(params, (param, value) => {
if (param == 'filter') return;
const res = store.exprBuilder(param, value);
if (res) delete params[param];
return res;
});
}
if (params.filter.where || exprFilter)
params.filter.where = { ...params.filter.where, ...exprFilter };
params.filter = JSON.stringify(params.filter); params.filter = JSON.stringify(params.filter);
store.currentFilter = params;
store.isLoading = true; store.isLoading = true;
const response = await axios.get(store.url, { const response = await axios.get(store.url, {
signal: canceller.signal, signal: canceller.signal,
@ -247,6 +256,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
} }
function updateStateParams() { function updateStateParams() {
if (!route?.path) return;
const newUrl = { path: route.path, query: { ...(route.query ?? {}) } }; const newUrl = { path: route.path, query: { ...(route.query ?? {}) } };
if (store?.searchUrl) if (store?.searchUrl)
newUrl.query[store.searchUrl] = JSON.stringify(store.currentFilter); newUrl.query[store.searchUrl] = JSON.stringify(store.currentFilter);
@ -270,7 +280,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
const pushUrl = { path: to }; const pushUrl = { path: to };
if (to.endsWith('/list') || to.endsWith('/')) if (to.endsWith('/list') || to.endsWith('/'))
pushUrl.query = newUrl.query; pushUrl.query = newUrl.query;
destroy(); else destroy();
return router.push(pushUrl); return router.push(pushUrl);
} }
} }

73
src/composables/useCau.js Normal file
View File

@ -0,0 +1,73 @@
import VnInput from 'src/components/common/VnInput.vue';
import { useVnConfirm } from 'src/composables/useVnConfirm';
import axios from 'axios';
import { ref } from 'vue';
import { i18n } from 'src/boot/i18n';
import useNotify from 'src/composables/useNotify.js';
export async function useCau(res, message) {
const { notify } = useNotify();
const { openConfirmationModal } = useVnConfirm();
const { config, headers, request, status, statusText, data } = res || {};
const { params, url, method, signal, headers: confHeaders } = config || {};
const { message: resMessage, code, name } = data?.error || {};
const additionalData = {
path: location.hash,
message: resMessage,
code,
request: request?.responseURL,
status,
name,
statusText: statusText,
config: {
url,
method,
params,
headers: confHeaders,
aborted: signal?.aborted,
version: headers?.['salix-version'],
},
};
const opts = {
actions: [
{
icon: 'support_agent',
color: 'primary',
dense: true,
flat: false,
round: true,
handler: async () => {
const locale = i18n.global.t;
const reason = ref(
code == 'ACCESS_DENIED' ? locale('cau.askPrivileges') : ''
);
openConfirmationModal(
locale('cau.title'),
locale('cau.subtitle'),
async () => {
await axios.post('OsTickets/send-to-support', {
reason: reason.value,
additionalData,
});
},
null,
{
component: VnInput,
props: {
modelValue: reason,
'onUpdate:modelValue': (val) => (reason.value = val),
label: locale('cau.inputLabel'),
class: 'full-width',
required: true,
autofocus: true,
},
}
);
},
},
],
};
notify(message ?? 'globals.error', 'negative', 'error', opts);
}

View File

@ -2,7 +2,7 @@ import { Notify } from 'quasar';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
export default function useNotify() { export default function useNotify() {
const notify = (message, type, icon) => { const notify = (message, type, icon, opts = {}) => {
const defaultIcons = { const defaultIcons = {
warning: 'warning', warning: 'warning',
negative: 'error', negative: 'error',
@ -13,6 +13,7 @@ export default function useNotify() {
message: i18n.global.t(message), message: i18n.global.t(message),
type: type, type: type,
icon: icon ? icon : defaultIcons[type], icon: icon ? icon : defaultIcons[type],
...opts,
}); });
}; };

View File

@ -0,0 +1,8 @@
import { openURL } from 'quasar';
const defaultWindowFeatures = {
noopener: true,
noreferrer: true,
};
export default function (url, windowFeatures = defaultWindowFeatures, fn = undefined) {
openURL(url, fn, windowFeatures);
}

View File

@ -2,8 +2,14 @@ import { useValidator } from 'src/composables/useValidator';
export function useRequired($attrs) { export function useRequired($attrs) {
const { validations } = useValidator(); const { validations } = useValidator();
const hasRequired = Object.keys($attrs).includes('required');
const isRequired = Object.keys($attrs).includes('required'); let isRequired = false;
if (hasRequired) {
const required = $attrs['required'];
if (typeof required === 'boolean') {
isRequired = required;
}
}
const requiredFieldRule = (val) => validations().required(isRequired, val); const requiredFieldRule = (val) => validations().required(isRequired, val);
return { return {

View File

@ -20,7 +20,7 @@ export function useRole() {
function hasAny(roles) { function hasAny(roles) {
const roleStore = state.getRoles(); const roleStore = state.getRoles();
if (typeof roles === 'string') roles = [roles];
for (const role of roles) { for (const role of roles) {
if (roleStore.value.indexOf(role) !== -1) return true; if (roleStore.value.indexOf(role) !== -1) return true;
} }

View File

@ -1,22 +1,29 @@
import { h } from 'vue';
import { Dialog } from 'quasar';
import VnConfirm from 'components/ui/VnConfirm.vue'; import VnConfirm from 'components/ui/VnConfirm.vue';
import { useQuasar } from 'quasar';
export function useVnConfirm() { export function useVnConfirm() {
const quasar = useQuasar(); const openConfirmationModal = (
title,
const openConfirmationModal = (title, message, promise, successFn) => { message,
quasar promise,
.dialog({ successFn,
component: VnConfirm, customHTML = {}
componentProps: { ) => {
const { component, props } = customHTML;
Dialog.create({
component: h(
VnConfirm,
{
title: title, title: title,
message: message, message: message,
promise: promise, promise: promise,
}, },
}) { customHTML: () => h(component, props) }
.onOk(async () => { ),
if (successFn) successFn(); }).onOk(async () => {
}); if (successFn) successFn();
});
}; };
return { openConfirmationModal }; return { openConfirmationModal };

View File

@ -241,7 +241,7 @@ input::-webkit-inner-spin-button {
th, th,
td { td {
padding: 1px 10px 1px 10px; padding: 1px 10px 1px 10px;
max-width: 100px; max-width: 130px;
div span { div span {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;

View File

@ -0,0 +1,21 @@
export default function getDifferences(obj1, obj2) {
let diff = {};
delete obj1.$index;
delete obj2.$index;
for (let key in obj1) {
if (obj2[key] && JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])) {
diff[key] = obj2[key];
}
}
for (let key in obj2) {
if (
obj1[key] === undefined ||
JSON.stringify(obj1[key]) !== JSON.stringify(obj2[key])
) {
diff[key] = obj2[key];
}
}
return diff;
}

View File

@ -1,4 +1,3 @@
// parsing JSON safely
function parseJSON(str, fallback) { function parseJSON(str, fallback) {
try { try {
return JSON.parse(str ?? '{}'); return JSON.parse(str ?? '{}');
@ -9,12 +8,20 @@ function parseJSON(str, fallback) {
} }
export default function (route, param) { export default function (route, param) {
// catch route query params // catch route query params
const params = parseJSON(route?.query?.params, {}); const params = parseJSON(route?.query?.table, {});
// extract and parse filter from params // extract and parse filter from params
const { filter: filterStr = '{}' } = params; const { filter: filterStr = '{}' } = params;
const where = parseJSON(filterStr, {})?.where; const where = parseJSON(filterStr, {})?.where;
if (where && where[param] !== undefined) {
if (where && !param) {
return where;
} else if (where && where.and) {
const foundParam = where.and.find((p) => p[param]);
if (foundParam) {
return foundParam[param];
}
} else if (where && where[param]) {
return where[param]; return where[param];
} }
return null; return null;

View File

@ -0,0 +1,6 @@
export default function getUpdatedValues(keys, formData) {
return keys.reduce((acc, key) => {
acc[key] = formData[key];
return acc;
}, {});
}

View File

@ -11,11 +11,17 @@ import dashIfEmpty from './dashIfEmpty';
import dateRange from './dateRange'; import dateRange from './dateRange';
import toHour from './toHour'; import toHour from './toHour';
import dashOrCurrency from './dashOrCurrency'; import dashOrCurrency from './dashOrCurrency';
import getDifferences from './getDifferences';
import getUpdatedValues from './getUpdatedValues';
import getParamWhere from './getParamWhere'; import getParamWhere from './getParamWhere';
import parsePhone from './parsePhone';
import isDialogOpened from './isDialogOpened'; import isDialogOpened from './isDialogOpened';
export { export {
getUpdatedValues,
getDifferences,
isDialogOpened, isDialogOpened,
parsePhone,
toLowerCase, toLowerCase,
toLowerCamel, toLowerCamel,
toDate, toDate,

18
src/filters/parsePhone.js Normal file
View File

@ -0,0 +1,18 @@
import axios from 'axios';
export default async function parsePhone(phone, country) {
if (!phone) return;
if (phone.startsWith('+')) return `${phone.slice(1)}`;
if (phone.startsWith('00')) return `${phone.slice(2)}`;
let prefix;
try {
prefix = (await axios.get(`Prefixes/${country.toLowerCase()}`)).data?.prefix;
} catch (e) {
prefix = (await axios.get('PbxConfigs/findOne')).data?.defaultPrefix;
}
prefix = prefix.replace(/^0+/, '');
if (phone.startsWith(prefix)) return phone;
return `${prefix}${phone}`;
}

View File

@ -59,8 +59,8 @@ globals:
downloadCSVSuccess: CSV downloaded successfully downloadCSVSuccess: CSV downloaded successfully
reference: Reference reference: Reference
agency: Agency agency: Agency
wareHouseOut: Warehouse Out warehouseOut: Warehouse Out
wareHouseIn: Warehouse In warehouseIn: Warehouse In
landed: Landed landed: Landed
shipped: Shipped shipped: Shipped
totalEntries: Total entries totalEntries: Total entries
@ -106,9 +106,30 @@ globals:
weight: Weight weight: Weight
error: Ups! Something went wrong error: Ups! Something went wrong
recalc: Recalculate recalc: Recalculate
alias: Alias
vat: VAT
intrastat: Intrastat
tags: Tags
size: Size
producer: Producer
origin: Origin
state: State
subtotal: Subtotal
visible: Visible
price: Price
client: Client
country: Country
phone: Phone
mobile: Mobile
postcode: Postcode
street: Street
tag: Tag
ticketId: Ticket ID
confirmed: Confirmed
small: Small small: Small
medium: Medium medium: Medium
big: Big big: Big
email: Email
pageTitles: pageTitles:
logIn: Login logIn: Login
addressEdit: Update address addressEdit: Update address
@ -278,6 +299,7 @@ globals:
clientsActionsMonitor: Clients and actions clientsActionsMonitor: Clients and actions
serial: Serial serial: Serial
medical: Mutual medical: Mutual
pit: IRPF
RouteExtendedList: Router RouteExtendedList: Router
wasteRecalc: Waste recaclulate wasteRecalc: Waste recaclulate
operator: Operator operator: Operator
@ -300,19 +322,18 @@ globals:
maxTemperature: Max maxTemperature: Max
minTemperature: Min minTemperature: Min
params: params:
id: ID
clientFk: Client id clientFk: Client id
salesPersonFk: Sales person salesPersonFk: Sales person
warehouseFk: Warehouse warehouseFk: Warehouse
provinceFk: Province provinceFk: Province
from: From
To: To
stateFk: State stateFk: State
email: Email email: Email
SSN: SSN SSN: SSN
fi: FI fi: FI
packing: ITP
myTeam: My team myTeam: My team
departmentFk: Department departmentFk: Department
countryFk: Country
changePass: Change password changePass: Change password
deleteConfirmTitle: Delete selected elements deleteConfirmTitle: Delete selected elements
changeState: Change state changeState: Change state
@ -336,16 +357,12 @@ login:
loginError: Invalid username or password loginError: Invalid username or password
fieldRequired: This field is required fieldRequired: This field is required
twoFactorRequired: Two-factor verification required twoFactorRequired: Two-factor verification required
twoFactor: twoFactorRequired:
code: Code
validate: Validate validate: Validate
insert: Enter the verification code insert: Enter the verification code
explanation: >- explanation: >-
Please, enter the verification code that we have sent to your email in the Please, enter the verification code that we have sent to your email in the
next 5 minutes next 5 minutes
verifyEmail:
pageTitles:
verifyEmail: Email verification
recoverPassword: recoverPassword:
userOrEmail: User or recovery email userOrEmail: User or recovery email
explanation: >- explanation: >-
@ -354,18 +371,15 @@ resetPassword:
repeatPassword: Repeat password repeatPassword: Repeat password
passwordNotMatch: Passwords don't match passwordNotMatch: Passwords don't match
passwordChanged: Password changed passwordChanged: Password changed
cau:
title: Send cau
subtitle: By sending this ticket, all the data related to the error, the section, the user, etc., are already sent.
inputLabel: Explain why this error should not appear
askPrivileges: Ask for privileges
entry: entry:
list: list:
newEntry: New entry newEntry: New entry
landed: Landed
invoiceNumber: Invoice number
supplier: Supplier
booked: Booked
confirmed: Confirmed
ordered: Ordered
tableVisibleColumns: tableVisibleColumns:
id: Id
reference: Reference
created: Creation created: Creation
supplierFk: Supplier supplierFk: Supplier
isBooked: Booked isBooked: Booked
@ -378,236 +392,117 @@ entry:
summary: summary:
commission: Commission commission: Commission
currency: Currency currency: Currency
company: Company
reference: Reference
invoiceNumber: Invoice number invoiceNumber: Invoice number
ordered: Ordered ordered: Ordered
confirmed: Confirmed
booked: Booked booked: Booked
excludedFromAvailable: Inventory excludedFromAvailable: Inventory
travelReference: Reference travelReference: Reference
travelAgency: Agency travelAgency: Agency
travelShipped: Shipped travelShipped: Shipped
travelWarehouseOut: Warehouse Out
travelDelivered: Delivered travelDelivered: Delivered
travelLanded: Landed travelLanded: Landed
travelWarehouseIn: Warehouse In
travelReceived: Received travelReceived: Received
buys: Buys buys: Buys
quantity: Quantity
stickers: Stickers stickers: Stickers
package: Package package: Package
weight: Weight packing: Pack.
packing: Packing grouping: Group.
grouping: Grouping
buyingValue: Buying value buyingValue: Buying value
import: Import import: Import
pvp: PVP pvp: PVP
item: Item
basicData: basicData:
supplier: Supplier
travel: Travel travel: Travel
reference: Reference
invoiceNumber: Invoice number
company: Company
currency: Currency currency: Currency
commission: Commission commission: Commission
observation: Observation observation: Observation
ordered: Ordered
confirmed: Confirmed
booked: Booked booked: Booked
excludedFromAvailable: Inventory excludedFromAvailable: Inventory
agency: Agency
warehouseOut: Warehouse Out
warehouseIn: Warehouse In
shipped: Shipped
landed: Landed
id: ID
buys: buys:
groupingPrice: Grouping price
packingPrice: Packing price
reference: Reference
observations: Observations observations: Observations
item: Item
size: Size
packing: Packing
grouping: Grouping
buyingValue: Buying value
packagingFk: Box packagingFk: Box
file: File
name: Name
producer: Producer
type: Type
color: Color color: Color
id: ID
printedStickers: Printed stickers printedStickers: Printed stickers
notes: notes:
observationType: Observation type observationType: Observation type
descriptor:
agency: Agency
landed: Landed
warehouseOut: Warehouse Out
latestBuys: latestBuys:
tableVisibleColumns: tableVisibleColumns:
image: Picture image: Picture
itemFk: Item ID itemFk: Item ID
packing: Packing
grouping: Grouping
quantity: Quantity
size: Size
tags: Tags
type: Type
intrastat: Intrastat
origin: Origin
weightByPiece: Weight/Piece weightByPiece: Weight/Piece
isActive: Active isActive: Active
family: Family family: Family
entryFk: Entry entryFk: Entry
buyingValue: Buying value
freightValue: Freight value freightValue: Freight value
comissionValue: Commission value comissionValue: Commission value
description: Description
packageValue: Package value packageValue: Package value
isIgnored: Is ignored isIgnored: Is ignored
price2: Grouping price2: Grouping
price3: Packing price3: Packing
minPrice: Min minPrice: Min
ektFk: Ekt ektFk: Ekt
weight: Weight
packagingFk: Package
packingOut: Package out packingOut: Package out
landing: Landing landing: Landing
isExcludedFromAvailable: Es inventory isExcludedFromAvailable: Es inventory
ticket: ticket:
pageTitles:
tickets: Tickets
list: List
ticketCreate: New ticket
summary: Summary
basicData: Basic Data
boxing: Boxing
sms: Sms
notes: Notes
sale: Sale
dms: File management
volume: Volume
observation: Notes
ticketAdvance: Advance tickets
futureTickets: Future tickets
purchaseRequest: Purchase request
weeklyTickets: Weekly tickets
list:
nickname: Nickname
state: State
shipped: Shipped
landed: Landed
salesPerson: Sales person
total: Total
card: card:
ticketId: Ticket ID
state: State
customerId: Customer ID customerId: Customer ID
salesPerson: Sales person
agency: Agency
shipped: Shipped
warehouse: Warehouse
customerCard: Customer card customerCard: Customer card
alias: Alias
ticketList: Ticket List ticketList: Ticket List
newOrder: New Order newOrder: New Order
boxing: boxing:
expedition: Expedition expedition: Expedition
item: Item
created: Created created: Created
worker: Worker
selectTime: 'Select time:' selectTime: 'Select time:'
selectVideo: 'Select video:' selectVideo: 'Select video:'
notFound: No videos available notFound: No videos available
summary: summary:
state: State
salesPerson: Sales person
agency: Agency
zone: Zone zone: Zone
warehouse: Warehouse
collection: Collection collection: Collection
route: Route route: Route
invoice: Invoice invoice: Invoice
shipped: Shipped shipped: Shipped
landed: Landed
consigneePhone: Consignee phone consigneePhone: Consignee phone
consigneeMobile: Consignee mobile consigneeMobile: Consignee mobile
consigneeAddress: Consignee address consigneeAddress: Consignee address
clientPhone: Client phone clientPhone: Client phone
clientMobile: Client mobile clientMobile: Client mobile
consignee: Consignee consignee: Consignee
subtotal: Subtotal
vat: VAT
total: Total total: Total
saleLines: Line items saleLines: Line items
item: Item
visible: Visible
available: Available available: Available
quantity: Quantity
price: Price
discount: Discount discount: Discount
packing: Packing packing: Packing
hasComponentLack: Component lack hasComponentLack: Component lack
itemShortage: Not visible itemShortage: Not visible
claim: Claim claim: Claim
reserved: Reserved reserved: Reserved
created: Created
package: Package package: Package
taxClass: Tax class taxClass: Tax class
services: Services services: Services
requester: Requester requester: Requester
atender: Atender atender: Atender
request: Request request: Request
weight: Weight
goTo: Go to goTo: Go to
summaryAmount: Summary summaryAmount: Summary
purchaseRequest: Purchase request purchaseRequest: Purchase request
service: Service service: Service
description: Description
attender: Attender attender: Attender
ok: Ok ok: Ok
create: create:
client: Client
address: Address address: Address
landed: Landed
warehouse: Warehouse
agency: Agency
invoiceOut: invoiceOut:
list:
ref: Reference
issued: Issued
shortIssued: Issued
client: Client
created: Created
shortCreated: Created
company: Company
dued: Due date
shortDued: Due date
amount: Amount
card: card:
issued: Issued issued: Issued
client: Client
company: Company
customerCard: Customer card customerCard: Customer card
summary: summary:
issued: Issued issued: Issued
created: Created
dued: Due dued: Due
booked: Booked booked: Booked
company: Company
taxBreakdown: Tax breakdown taxBreakdown: Tax breakdown
type: Type
taxableBase: Taxable base taxableBase: Taxable base
rate: Rate rate: Rate
fee: Fee fee: Fee
tickets: Tickets tickets: Tickets
ticketId: Ticket id
nickname: Alias
shipped: Shipped
totalWithVat: Amount totalWithVat: Amount
globalInvoices: globalInvoices:
errors: errors:
@ -620,23 +515,16 @@ invoiceOut:
invoiceWithFutureDate: Exists an invoice with a future date invoiceWithFutureDate: Exists an invoice with a future date
noTicketsToInvoice: There are not tickets to invoice noTicketsToInvoice: There are not tickets to invoice
criticalInvoiceError: 'Critical invoicing error, process stopped' criticalInvoiceError: 'Critical invoicing error, process stopped'
invalidSerialTypeForAll: The serial type must be global when invoicing all clients
table: table:
client: Client
addressId: Address id addressId: Address id
streetAddress: Street streetAddress: Street
statusCard: statusCard:
percentageText: '{getPercentage}% {getAddressNumber} of {getNAddresses}' percentageText: '{getPercentage}% {getAddressNumber} of {getNAddresses}'
pdfsNumberText: '{nPdfs} of {totalPdfs} PDFs' pdfsNumberText: '{nPdfs} of {totalPdfs} PDFs'
negativeBases: negativeBases:
from: From
to: To
company: Company
country: Country
clientId: Client Id clientId: Client Id
client: Client
amount: Amount
base: Base base: Base
ticketId: Ticket Id
active: Active active: Active
hasToInvoice: Has to Invoice hasToInvoice: Has to Invoice
verifiedData: Verified Data verifiedData: Verified Data
@ -649,15 +537,6 @@ shelving:
priority: Priority priority: Priority
newShelving: New Shelving newShelving: New Shelving
summary: summary:
code: Code
parking: Parking
priority: Priority
worker: Worker
recyclable: Recyclable
basicData:
code: Code
parking: Parking
priority: Priority
recyclable: Recyclable recyclable: Recyclable
parking: parking:
pickingOrder: Picking order pickingOrder: Picking order
@ -670,56 +549,27 @@ parking:
order: order:
field: field:
salesPersonFk: Sales Person salesPersonFk: Sales Person
clientFk: Client
isConfirmed: Confirmed
created: Created
landed: Landed
hour: Hour
agency: Agency
total: Total
form: form:
clientFk: Client clientFk: Client
addressFk: Address addressFk: Address
landed: Landed
agencyModeFk: Agency agencyModeFk: Agency
list: list:
newOrder: New Order newOrder: New Order
summary: summary:
basket: Basket basket: Basket
nickname: Nickname
company: Company
confirmed: Confirmed
notConfirmed: Not confirmed notConfirmed: Not confirmed
created: Created created: Created
landed: Landed
phone: Phone
createdFrom: Created From createdFrom: Created From
address: Address address: Address
notes: Notes
subtotal: Subtotal
total: Total total: Total
vat: VAT
state: State
alias: Alias
items: Items items: Items
orderTicketList: Order Ticket List orderTicketList: Order Ticket List
details: Details
item: Item
quantity: Quantity
price: Price
amount: Amount amount: Amount
confirm: Confirm confirm: Confirm
confirmLines: Confirm lines confirmLines: Confirm lines
department: department:
pageTitles:
basicData: Basic data
department: Department
summary: Summary
name: Name
code: Code
chat: Chat chat: Chat
bossDepartment: Boss Department bossDepartment: Boss Department
email: Email
selfConsumptionCustomer: Self-consumption customer selfConsumptionCustomer: Self-consumption customer
telework: Telework telework: Telework
notifyOnErrors: Notify on errors notifyOnErrors: Notify on errors
@ -728,47 +578,11 @@ department:
hasToSendMail: Send check-ins by email hasToSendMail: Send check-ins by email
departmentRemoved: Department removed departmentRemoved: Department removed
worker: worker:
pageTitles:
workers: Workers
list: List
basicData: Basic data
summary: Summary
notifications: Notifications
workerCreate: New worker
department: Department
pda: PDA
notes: Notas
dms: My documentation
pbx: Private Branch Exchange
log: Log
calendar: Calendar
timeControl: Time control
locker: Locker
balance: Balance
medical: Medical
operator: Operator
list: list:
name: Name
email: Email
phone: Phone
mobile: Mobile
active: Active
department: Department department: Department
schedule: Schedule schedule: Schedule
newWorker: New worker newWorker: New worker
card:
workerId: Worker ID
user: User
name: Name
email: Email
phone: Phone
mobile: Mobile
active: Active
warehouse: Warehouse
agency: Agency
salesPerson: Sales person
summary: summary:
basicData: Basic data
boss: Boss boss: Boss
phoneExtension: Phone extension phoneExtension: Phone extension
entPhone: Enterprise phone entPhone: Enterprise phone
@ -779,15 +593,15 @@ worker:
role: Role role: Role
sipExtension: Extension sipExtension: Extension
locker: Locker locker: Locker
fiDueDate: Fecha de caducidad del DNI fiDueDate: FI due date
sex: Sexo sex: Sex
seniority: Antigüedad seniority: Seniority
fi: DNI/NIE/NIF fi: DNI/NIE/NIF
birth: Fecha de nacimiento birth: Birth
isFreelance: Autónomo isFreelance: Freelance
isSsDiscounted: Bonificación SS isSsDiscounted: Bonificación SS
hasMachineryAuthorized: Autorizado para llevar maquinaria hasMachineryAuthorized: Machinery authorized
isDisable: Trabajador desactivado isDisable: Disable
notificationsManager: notificationsManager:
activeNotifications: Active notifications activeNotifications: Active notifications
availableNotifications: Available notifications availableNotifications: Available notifications
@ -800,19 +614,12 @@ worker:
serialNumber: Serial number serialNumber: Serial number
removePDA: Deallocate PDA removePDA: Deallocate PDA
create: create:
name: Name
lastName: Last name lastName: Last name
birth: Birth birth: Birth
fi: Fi fi: Fi
code: Worker code code: Worker code
phone: Phone
postcode: Postcode
province: Province
city: City
street: Street
webUser: Web user webUser: Web user
personalEmail: Personal email personalEmail: Personal email
company: Company
boss: Boss boss: Boss
payMethods: Pay method payMethods: Pay method
iban: IBAN iban: IBAN
@ -824,16 +631,13 @@ worker:
endDate: End date endDate: End date
center: Training center center: Training center
invoice: Invoice invoice: Invoice
amount: Amount
remark: Remark remark: Remark
hasDiploma: Has diploma hasDiploma: Has diploma
medical: medical:
tableVisibleColumns: tableVisibleColumns:
date: Date
time: Hour time: Hour
center: Formation Center center: Formation Center
invoice: Invoice invoice: Invoice
amount: Amount
isFit: Fit isFit: Fit
remark: Observations remark: Observations
imageNotFound: Image not found imageNotFound: Image not found
@ -857,18 +661,7 @@ worker:
isOnReservationMode: Reservation mode isOnReservationMode: Reservation mode
machine: Machine machine: Machine
wagon: wagon:
pageTitles:
wagons: Wagons
wagonsList: Wagons List
wagonCreate: Create wagon
wagonEdit: Edit wagon
typesList: Types List
typeCreate: Create type
typeEdit: Edit type
wagonCounter: Trolley counter
wagonTray: Tray List
type: type:
name: Name
submit: Submit submit: Submit
reset: Reset reset: Reset
trayColor: Tray color trayColor: Tray color
@ -876,13 +669,10 @@ wagon:
list: list:
plate: Plate plate: Plate
volume: Volume volume: Volume
type: Type
remove: Remove remove: Remove
removeItem: Wagon removed successfully removeItem: Wagon removed successfully
create: create:
plate: Plate plate: Plate
volume: Volume
type: Type
label: Label label: Label
warnings: warnings:
noData: No data available noData: No data available
@ -899,26 +689,17 @@ wagon:
supplier: supplier:
list: list:
payMethod: Pay method payMethod: Pay method
payDeadline: Pay deadline
payDay: Pay day
account: Account account: Account
newSupplier: New supplier newSupplier: New supplier
tableVisibleColumns: tableVisibleColumns:
id: Id
name: Name
nif: NIF/CIF nif: NIF/CIF
nickname: Alias
account: Account account: Account
payMethod: Pay Method
payDay: Pay Day payDay: Pay Day
country: Country
summary: summary:
responsible: Responsible responsible: Responsible
notes: Notes
verified: Verified verified: Verified
isActive: Is active isActive: Is active
billingData: Billing data billingData: Billing data
payMethod: Pay method
payDeadline: Pay deadline payDeadline: Pay deadline
payDay: Pay day payDay: Pay day
account: Account account: Account
@ -931,17 +712,12 @@ supplier:
fiscalAddress: Fiscal address fiscalAddress: Fiscal address
socialName: Social name socialName: Social name
taxNumber: Tax number taxNumber: Tax number
street: Street
city: City city: City
postCode: Postcode
province: Province
country: Country
create: create:
supplierName: Supplier name supplierName: Supplier name
basicData: basicData:
alias: Alias
workerFk: Responsible workerFk: Responsible
isSerious: Verified isReal: Verified
isActive: Active isActive: Active
isPayMethodChecked: PayMethod checked isPayMethodChecked: PayMethod checked
note: Notes note: Notes
@ -954,36 +730,18 @@ supplier:
sageWithholdingFk: Sage withholding sageWithholdingFk: Sage withholding
sageTransactionTypeFk: Sage transaction type sageTransactionTypeFk: Sage transaction type
supplierActivityFk: Supplier activity supplierActivityFk: Supplier activity
healthRegister: Health register
street: Street
postcode: Postcode
city: City *
provinceFk: Province
country: Country
isTrucker: Trucker isTrucker: Trucker
isVies: Vies isVies: Vies
billingData: billingData:
payMethodFk: Billing data payMethodFk: Billing data
payDemFk: Payment deadline payDemFk: Payment deadline
payDay: Pay day
accounts: accounts:
iban: Iban iban: Iban
bankEntity: Bank entity bankEntity: Bank entity
beneficiary: Beneficiary beneficiary: Beneficiary
contacts: contacts:
name: Name
phone: Phone
mobile: Mobile
email: Email email: Email
observation: Notes observation: Notes
addresses:
street: Street
postcode: Postcode
phone: Phone
name: Name
city: City
province: Province
mobile: Mobile
agencyTerms: agencyTerms:
agencyFk: Agency agencyFk: Agency
minimumM3: Minimum M3 minimumM3: Minimum M3
@ -995,25 +753,16 @@ supplier:
addRow: Add row addRow: Add row
consumption: consumption:
entry: Entry entry: Entry
date: Date
reference: Reference
travel: travel:
travelList: travelList:
tableVisibleColumns: tableVisibleColumns:
id: Id
ref: Reference ref: Reference
agency: Agency
shipped: Shipped
landed: Landed
shipHour: Shipment Hour shipHour: Shipment Hour
landHour: Landing Hour landHour: Landing Hour
warehouseIn: Warehouse in
warehouseOut: Warehouse out
totalEntries: Total entries totalEntries: Total entries
totalEntriesTooltip: Total entries totalEntriesTooltip: Total entries
daysOnward: Landed days onwards daysOnward: Landed days onwards
summary: summary:
confirmed: Confirmed
entryId: Entry Id entryId: Entry Id
freight: Freight freight: Freight
package: Package package: Package
@ -1026,64 +775,90 @@ travel:
AddEntry: Add entry AddEntry: Add entry
thermographs: Thermographs thermographs: Thermographs
hb: HB hb: HB
variables:
search: Id/Reference
agencyModeFk: Agency
warehouseInFk: ' Warehouse In'
warehouseOutFk: Warehouse Out
landedFrom: Landed from
landedTo: Landed to
continent: Continent out
totalEntries: Total entries
basicData: basicData:
reference: Reference daysInForward: Automatic movement (Raid)
agency: Agency isRaid: Raid
shipped: Shipped
landed: Landed
warehouseOut: Warehouse Out
warehouseIn: Warehouse In
delivered: Delivered
received: Received
daysInForward: Days in forward
thermographs: thermographs:
code: Code
temperature: Temperature temperature: Temperature
state: State
destination: Destination destination: Destination
created: Created
thermograph: Thermograph thermograph: Thermograph
reference: Reference
type: Type
company: Company
warehouse: Warehouse
travelFileDescription: 'Travel id { travelId }' travelFileDescription: 'Travel id { travelId }'
file: File item:
descriptor:
buyer: Buyer
color: Color
category: Category
available: Available
warehouseText: 'Calculated on the warehouse of { warehouseName }'
itemDiary: Item diary
list:
id: Identifier
stems: Stems
category: Category
typeName: Type
isActive: Active
userName: Buyer
weightByPiece: Weight/Piece
stemMultiplier: Multiplier
fixedPrice:
itemFk: Item ID
groupingPrice: Grouping price
packingPrice: Packing price
hasMinPrice: Has min price
minPrice: Min price
started: Started
ended: Ended
create:
priority: Priority
buyRequest:
requester: Requester
requested: Requested
attender: Atender
achieved: Achieved
concept: Concept
summary:
otherData: Other data
tax: Tax
botanical: Botanical
barcode: Barcode
completeName: Complete name
family: Familiy
stems: Stems
multiplier: Multiplier
buyer: Buyer
doPhoto: Do photo
intrastatCode: Intrastat code
ref: Reference
relevance: Relevance
weight: Weight (gram)/stem
units: Units/box
expense: Expense
generic: Generic
recycledPlastic: Recycled plastic
nonRecycledPlastic: Non recycled plastic
minSalesQuantity: Min sales quantity
genus: Genus
specie: Specie
components: components:
topbar: {} topbar: {}
itemsFilterPanel: itemsFilterPanel:
typeFk: Type typeFk: Type
tag: Tag
value: Value value: Value
# ItemFixedPriceFilter # ItemFixedPriceFilter
buyerFk: Buyer buyerFk: Buyer
warehouseFk: Warehouse
started: From started: From
ended: To ended: To
mine: For me mine: For me
hasMinPrice: Minimum price hasMinPrice: Minimum price
# LatestBuysFilter # LatestBuysFilter
salesPersonFk: Buyer salesPersonFk: Buyer
supplierFk: Supplier
from: From from: From
to: To
active: Is active active: Is active
visible: Is visible
floramondo: Is floramondo floramondo: Is floramondo
showBadDates: Show future items showBadDates: Show future items
userPanel: userPanel:
copyToken: Token copied to clipboard copyToken: Token copied to clipboard
settings: Settings settings: Settings
logOut: Log Out
localWarehouse: Local warehouse localWarehouse: Local warehouse
localBank: Local bank localBank: Local bank
localCompany: Local company localCompany: Local company
@ -1091,9 +866,9 @@ components:
userCompany: User company userCompany: User company
smartCard: smartCard:
downloadFile: Download file downloadFile: Download file
clone: Clone
openCard: View openCard: View
openSummary: Summary openSummary: Summary
viewSummary: Summary
cardDescriptor: cardDescriptor:
mainList: Main list mainList: Main list
summary: Summary summary: Summary

View File

@ -58,8 +58,8 @@ globals:
downloadCSVSuccess: Descarga de CSV exitosa downloadCSVSuccess: Descarga de CSV exitosa
reference: Referencia reference: Referencia
agency: Agencia agency: Agencia
wareHouseOut: Alm. salida warehouseOut: Alm. salida
wareHouseIn: Alm. entrada warehouseIn: Alm. entrada
landed: F. entrega landed: F. entrega
shipped: F. envío shipped: F. envío
totalEntries: Ent. totales totalEntries: Ent. totales
@ -108,9 +108,30 @@ globals:
weight: Peso weight: Peso
error: ¡Ups! Algo salió mal error: ¡Ups! Algo salió mal
recalc: Recalcular recalc: Recalcular
alias: Alias
vat: IVA
intrastat: Intrastat
tags: Etiquetas
size: Medida
producer: Productor
origin: Origen
state: Estado
subtotal: Subtotal
visible: Visible
price: Precio
client: Cliente
country: País
phone: Teléfono
mobile: Móvil
postcode: Código postal
street: Dirección
tag: Etiqueta
ticketId: ID ticket
confirmed: Confirmado
small: Pequeño/a small: Pequeño/a
medium: Mediano/a medium: Mediano/a
big: Grande big: Grande
email: Correo
pageTitles: pageTitles:
logIn: Inicio de sesión logIn: Inicio de sesión
addressEdit: Modificar consignatario addressEdit: Modificar consignatario
@ -283,6 +304,7 @@ globals:
clientsActionsMonitor: Clientes y acciones clientsActionsMonitor: Clientes y acciones
serial: Facturas por serie serial: Facturas por serie
medical: Mutua medical: Mutua
pit: IRPF
wasteRecalc: Recalcular mermas wasteRecalc: Recalcular mermas
operator: Operario operator: Operario
parking: Parking parking: Parking
@ -304,19 +326,18 @@ globals:
maxTemperature: Máx maxTemperature: Máx
minTemperature: Mín minTemperature: Mín
params: params:
id: Id
clientFk: Id cliente clientFk: Id cliente
salesPersonFk: Comercial salesPersonFk: Comercial
warehouseFk: Almacén warehouseFk: Almacén
provinceFk: Provincia provinceFk: Provincia
from: Desde
To: Hasta
stateFk: Estado stateFk: Estado
departmentFk: Departamento departmentFk: Departamento
email: Correo email: Correo
SSN: NSS SSN: NSS
fi: NIF fi: NIF
myTeam: Mi equipo myTeam: Mi equipo
packing: ITP
countryFk: País
changePass: Cambiar contraseña changePass: Cambiar contraseña
deleteConfirmTitle: Eliminar los elementos seleccionados deleteConfirmTitle: Eliminar los elementos seleccionados
changeState: Cambiar estado changeState: Cambiar estado
@ -341,13 +362,9 @@ login:
fieldRequired: Este campo es obligatorio fieldRequired: Este campo es obligatorio
twoFactorRequired: Verificación de doble factor requerida twoFactorRequired: Verificación de doble factor requerida
twoFactor: twoFactor:
code: Código
validate: Validar validate: Validar
insert: Introduce el código de verificación insert: Introduce el código de verificación
explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos
verifyEmail:
pageTitles:
verifyEmail: Verificación de correo
recoverPassword: recoverPassword:
userOrEmail: Usuario o correo de recuperación userOrEmail: Usuario o correo de recuperación
explanation: >- explanation: >-
@ -356,18 +373,15 @@ resetPassword:
repeatPassword: Repetir contraseña repeatPassword: Repetir contraseña
passwordNotMatch: Las contraseñas no coinciden passwordNotMatch: Las contraseñas no coinciden
passwordChanged: Contraseña cambiada passwordChanged: Contraseña cambiada
cau:
title: Enviar cau
subtitle: Al enviar este cau ya se envían todos los datos relacionados con el error, la sección, el usuario, etc
inputLabel: Explique el motivo por el que no deberia aparecer este fallo
askPrivileges: Solicitar permisos
entry: entry:
list: list:
newEntry: Nueva entrada newEntry: Nueva entrada
landed: F. entrega
invoiceNumber: Núm. factura
supplier: Proveedor
booked: Asentado
confirmed: Confirmado
ordered: Pedida
tableVisibleColumns: tableVisibleColumns:
id: Id
reference: Referencia
created: Creación created: Creación
supplierFk: Proveedor supplierFk: Proveedor
isBooked: Asentado isBooked: Asentado
@ -380,11 +394,8 @@ entry:
summary: summary:
commission: Comisión commission: Comisión
currency: Moneda currency: Moneda
company: Empresa
reference: Referencia
invoiceNumber: Núm. factura invoiceNumber: Núm. factura
ordered: Pedida ordered: Pedida
confirmed: Confirmada
booked: Contabilizada booked: Contabilizada
excludedFromAvailable: Inventario excludedFromAvailable: Inventario
travelReference: Referencia travelReference: Referencia
@ -393,230 +404,108 @@ entry:
travelWarehouseOut: Alm. salida travelWarehouseOut: Alm. salida
travelDelivered: Enviada travelDelivered: Enviada
travelLanded: F. entrega travelLanded: F. entrega
travelWarehouseIn: Alm. entrada
travelReceived: Recibida travelReceived: Recibida
buys: Compras buys: Compras
quantity: Cantidad
stickers: Etiquetas stickers: Etiquetas
package: Embalaje package: Embalaje
weight: Peso packing: Pack.
packing: Packing grouping: Group.
grouping: Grouping
buyingValue: Coste buyingValue: Coste
import: Importe import: Importe
pvp: PVP pvp: PVP
item: Artículo
basicData: basicData:
supplier: Proveedor
travel: Envío travel: Envío
reference: Referencia
invoiceNumber: Núm. factura
company: Empresa
currency: Moneda currency: Moneda
observation: Observación observation: Observación
commission: Comisión commission: Comisión
ordered: Pedida
confirmed: Confirmado
booked: Asentado booked: Asentado
excludedFromAvailable: Inventario excludedFromAvailable: Inventario
agency: Agencia
warehouseOut: Alm. salida
warehouseIn: Alm. entrada
shipped: F. envío
landed: F. entrega
id: ID
buys: buys:
groupingPrice: Precio grouping
packingPrice: Precio packing
reference: Referencia
observations: Observaciónes observations: Observaciónes
item: Artículo
size: Medida
packing: Packing
grouping: Grouping
buyingValue: Coste
packagingFk: Embalaje packagingFk: Embalaje
file: Fichero
name: Nombre
producer: Productor
type: Tipo
color: Color color: Color
id: ID
printedStickers: Etiquetas impresas printedStickers: Etiquetas impresas
notes: notes:
observationType: Tipo de observación observationType: Tipo de observación
descriptor:
agency: Agencia
landed: F. entrega
warehouseOut: Alm. salida
latestBuys: latestBuys:
tableVisibleColumns: tableVisibleColumns:
image: Foto image: Foto
itemFk: Id Artículo itemFk: Id Artículo
packing: packing
grouping: Grouping
quantity: Cantidad
size: Medida
tags: Etiquetas
type: Tipo
intrastat: Intrastat
origin: Origen
weightByPiece: Peso (gramos)/tallo weightByPiece: Peso (gramos)/tallo
isActive: Activo isActive: Activo
family: Familia family: Familia
entryFk: Entrada entryFk: Entrada
buyingValue: Coste
freightValue: Porte freightValue: Porte
comissionValue: Comisión comissionValue: Comisión
description: Descripción
packageValue: Embalaje packageValue: Embalaje
isIgnored: Ignorado isIgnored: Ignorado
price2: Grouping price2: Grouping
price3: Packing price3: Packing
minPrice: Min minPrice: Min
ektFk: Ekt ektFk: Ekt
weight: Peso
packagingFk: Embalaje
packingOut: Embalaje envíos packingOut: Embalaje envíos
landing: Llegada landing: Llegada
isExcludedFromAvailable: Es inventario isExcludedFromAvailable: Es inventario
ticket: ticket:
pageTitles:
tickets: Tickets
list: Listado
ticketCreate: Nuevo ticket
summary: Resumen
basicData: Datos básicos
boxing: Encajado
sms: Sms
notes: Notas
sale: Lineas del pedido
dms: Gestión documental
volume: Volumen
observation: Notas
ticketAdvance: Adelantar tickets
futureTickets: Tickets a futuro
expedition: Expedición
purchaseRequest: Petición de compra
weeklyTickets: Tickets programados
saleTracking: Líneas preparadas
services: Servicios
tracking: Estados
components: Componentes
pictures: Fotos
packages: Embalajes
list:
nickname: Alias
state: Estado
shipped: Enviado
landed: Entregado
salesPerson: Comercial
total: Total
card: card:
ticketId: ID ticket
state: Estado
customerId: ID cliente customerId: ID cliente
salesPerson: Comercial
agency: Agencia
shipped: Enviado
warehouse: Almacén
customerCard: Ficha del cliente customerCard: Ficha del cliente
alias: Alias
ticketList: Listado de tickets ticketList: Listado de tickets
newOrder: Nuevo pedido newOrder: Nuevo pedido
boxing: boxing:
expedition: Expedición expedition: Expedición
item: Artículo
created: Creado created: Creado
worker: Trabajador
selectTime: 'Seleccionar hora:' selectTime: 'Seleccionar hora:'
selectVideo: 'Seleccionar vídeo:' selectVideo: 'Seleccionar vídeo:'
notFound: No hay vídeos disponibles notFound: No hay vídeos disponibles
summary: summary:
state: Estado
salesPerson: Comercial
agency: Agencia
zone: Zona zone: Zona
warehouse: Almacén
collection: Colección collection: Colección
route: Ruta route: Ruta
invoice: Factura invoice: Factura
shipped: Enviado shipped: Enviado
landed: Entregado
consigneePhone: Tel. consignatario consigneePhone: Tel. consignatario
consigneeMobile: Móv. consignatario consigneeMobile: Móv. consignatario
consigneeAddress: Dir. consignatario consigneeAddress: Dir. consignatario
clientPhone: Tel. cliente clientPhone: Tel. cliente
clientMobile: Móv. cliente clientMobile: Móv. cliente
consignee: Consignatario consignee: Consignatario
subtotal: Subtotal
vat: IVA
total: Total total: Total
saleLines: Líneas del pedido saleLines: Líneas del pedido
item: Artículo
visible: Visible
available: Disponible available: Disponible
quantity: Cantidad
price: Precio
discount: Descuento discount: Descuento
packing: Encajado packing: Encajado
hasComponentLack: Faltan componentes hasComponentLack: Faltan componentes
itemShortage: No visible itemShortage: No visible
claim: Reclamación claim: Reclamación
reserved: Reservado reserved: Reservado
created: Fecha creación
package: Embalaje package: Embalaje
taxClass: Tipo IVA taxClass: Tipo IVA
services: Servicios services: Servicios
requester: Solicitante requester: Solicitante
atender: Comprador atender: Comprador
request: Petición de compra request: Petición de compra
weight: Peso
goTo: Ir a goTo: Ir a
summaryAmount: Resumen summaryAmount: Resumen
purchaseRequest: Petición de compra purchaseRequest: Petición de compra
service: Servicio service: Servicio
description: Descripción
attender: Consignatario attender: Consignatario
create: create:
client: Cliente
address: Dirección address: Dirección
landed: F. entrega
warehouse: Almacén
agency: Agencia
invoiceOut: invoiceOut:
list:
ref: Referencia
issued: Fecha emisión
shortIssued: F. emisión
client: Cliente
created: Fecha creación
shortCreated: F. creación
company: Empresa
dued: Fecha vencimineto
shortDued: F. vencimiento
amount: Importe
card: card:
issued: Fecha emisión issued: Fecha emisión
client: Cliente
company: Empresa
customerCard: Ficha del cliente customerCard: Ficha del cliente
ticketList: Listado de tickets ticketList: Listado de tickets
summary: summary:
issued: Fecha issued: Fecha
created: Fecha creación
dued: Vencimiento dued: Vencimiento
booked: Contabilizada booked: Contabilizada
company: Empresa
taxBreakdown: Desglose impositivo taxBreakdown: Desglose impositivo
type: Tipo
taxableBase: Base imp. taxableBase: Base imp.
rate: Tarifa rate: Tarifa
fee: Cuota fee: Cuota
tickets: Tickets tickets: Tickets
ticketId: Id ticket
nickname: Alias
shipped: F. envío
totalWithVat: Importe totalWithVat: Importe
globalInvoices: globalInvoices:
errors: errors:
@ -629,21 +518,16 @@ invoiceOut:
invoiceWithFutureDate: Existe una factura con una fecha futura invoiceWithFutureDate: Existe una factura con una fecha futura
noTicketsToInvoice: No existen tickets para facturar noTicketsToInvoice: No existen tickets para facturar
criticalInvoiceError: Error crítico en la facturación proceso detenido criticalInvoiceError: Error crítico en la facturación proceso detenido
invalidSerialTypeForAll: El tipo de serie debe ser global cuando se facturan todos los clientes
table: table:
client: Cliente
addressId: Id dirección addressId: Id dirección
streetAddress: Dirección fiscal streetAddress: Dirección fiscal
statusCard: statusCard:
percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}' percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}'
pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs' pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs'
negativeBases: negativeBases:
company: Empresa
country: País
clientId: Id cliente clientId: Id cliente
client: Cliente
amount: Importe
base: Base base: Base
ticketId: Id ticket
active: Activo active: Activo
hasToInvoice: Facturar hasToInvoice: Facturar
verifiedData: Datos comprobados verifiedData: Datos comprobados
@ -653,43 +537,24 @@ invoiceOut:
order: order:
field: field:
salesPersonFk: Comercial salesPersonFk: Comercial
clientFk: Cliente
isConfirmed: Confirmada
created: Creado
landed: F. entrega
hour: Hora
agency: Agencia
total: Total
form: form:
clientFk: Cliente clientFk: Cliente
addressFk: Dirección addressFk: Dirección
landed: F. entrega
agencyModeFk: Agencia agencyModeFk: Agencia
list: list:
newOrder: Nuevo Pedido newOrder: Nuevo Pedido
summary: summary:
basket: Cesta basket: Cesta
nickname: Alias
company: Empresa
confirmed: Confirmada
notConfirmed: No confirmada notConfirmed: No confirmada
created: Creado created: Creado
landed: F. entrega
phone: Teléfono
createdFrom: Creado desde createdFrom: Creado desde
address: Dirección address: Dirección
notes: Notas
subtotal: Subtotal
total: Total total: Total
vat: IVA vat: IVA
state: Estado state: Estado
alias: Alias alias: Alias
items: Artículos items: Artículos
orderTicketList: Tickets del pedido orderTicketList: Tickets del pedido
details: Detalles
item: Item
quantity: Cantidad
price: Precio
amount: Monto amount: Monto
confirm: Confirmar confirm: Confirmar
confirmLines: Confirmar lineas confirmLines: Confirmar lineas
@ -699,15 +564,6 @@ shelving:
priority: Prioridad priority: Prioridad
newShelving: Nuevo Carro newShelving: Nuevo Carro
summary: summary:
code: Código
parking: Parking
priority: Prioridad
worker: Trabajador
recyclable: Reciclable
basicData:
code: Código
parking: Parking
priority: Prioridad
recyclable: Reciclable recyclable: Reciclable
parking: parking:
pickingOrder: Orden de recogida pickingOrder: Orden de recogida
@ -717,15 +573,8 @@ parking:
info: Puedes buscar por código de parking info: Puedes buscar por código de parking
label: Buscar parking... label: Buscar parking...
department: department:
pageTitles:
basicData: Basic data
department: Departamentos
summary: Resumen
name: Nombre
code: Código
chat: Chat chat: Chat
bossDepartment: Jefe de departamento bossDepartment: Jefe de departamento
email: Email
selfConsumptionCustomer: Cliente autoconsumo selfConsumptionCustomer: Cliente autoconsumo
telework: Teletrabaja telework: Teletrabaja
notifyOnErrors: Notificar errores notifyOnErrors: Notificar errores
@ -734,52 +583,15 @@ department:
hasToSendMail: Enviar fichadas por mail hasToSendMail: Enviar fichadas por mail
departmentRemoved: Departamento eliminado departmentRemoved: Departamento eliminado
worker: worker:
pageTitles:
workers: Trabajadores
list: Listado
basicData: Datos básicos
summary: Resumen
notifications: Notificaciones
workerCreate: Nuevo trabajador
department: Departamentos
pda: PDA
notes: Notas
dms: Mi documentación
pbx: Centralita
log: Historial
calendar: Calendario
timeControl: Control de horario
locker: Taquilla
balance: Balance
formation: Formación
medical: Mutua
operator: Operario
list: list:
name: Nombre
email: Email
phone: Teléfono
mobile: Móvil
active: Activo
department: Departamento department: Departamento
schedule: Horario schedule: Horario
newWorker: Nuevo trabajador newWorker: Nuevo trabajador
card:
workerId: ID Trabajador
user: Usuario
name: Nombre
email: Correo personal
phone: Teléfono
mobile: Móvil
active: Activo
warehouse: Almacén
agency: Empresa
salesPerson: Comercial
summary: summary:
basicData: Datos básicos
boss: Jefe boss: Jefe
phoneExtension: Extensión de teléfono phoneExtension: Ext. de teléfono
entPhone: Teléfono de empresa entPhone: Tel. de empresa
personalPhone: Teléfono personal personalPhone: Tel. personal
noBoss: Sin jefe noBoss: Sin jefe
userData: Datos de usuario userData: Datos de usuario
userId: ID del usuario userId: ID del usuario
@ -798,19 +610,12 @@ worker:
serialNumber: Número de serie serialNumber: Número de serie
removePDA: Desasignar PDA removePDA: Desasignar PDA
create: create:
name: Nombre
lastName: Apellido lastName: Apellido
birth: Fecha de nacimiento birth: Fecha de nacimiento
fi: DNI/NIF/NIE fi: DNI/NIF/NIE
code: Código de trabajador code: Código de trabajador
phone: Teléfono
postcode: Código postal
province: Provincia
city: Población
street: Dirección
webUser: Usuario Web webUser: Usuario Web
personalEmail: Correo personal personalEmail: Correo personal
company: Empresa
boss: Jefe boss: Jefe
payMethods: Método de pago payMethods: Método de pago
iban: IBAN iban: IBAN
@ -822,16 +627,13 @@ worker:
endDate: Fecha Fin endDate: Fecha Fin
center: Centro Formación center: Centro Formación
invoice: Factura invoice: Factura
amount: Importe
remark: Bonficado remark: Bonficado
hasDiploma: Diploma hasDiploma: Diploma
medical: medical:
tableVisibleColumns: tableVisibleColumns:
date: Fecha
time: Hora time: Hora
center: Centro de Formación center: Centro de Formación
invoice: Factura invoice: Factura
amount: Importe
isFit: Apto isFit: Apto
remark: Observaciones remark: Observaciones
imageNotFound: No se ha encontrado la imagen imageNotFound: No se ha encontrado la imagen
@ -856,18 +658,7 @@ worker:
machine: Máquina machine: Máquina
wagon: wagon:
pageTitles:
wagons: Vagones
wagonsList: Listado vagones
wagonCreate: Crear tipo
wagonEdit: Editar tipo
typesList: Listado tipos
typeCreate: Crear tipo
typeEdit: Editar tipo
wagonCounter: Contador de carros
wagonTray: Listado bandejas
type: type:
name: Nombre
submit: Guardar submit: Guardar
reset: Deshacer cambios reset: Deshacer cambios
trayColor: Color de la bandeja trayColor: Color de la bandeja
@ -875,13 +666,9 @@ wagon:
list: list:
plate: Matrícula plate: Matrícula
volume: Volumen volume: Volumen
type: Tipo
remove: Borrar remove: Borrar
removeItem: Vagón borrado correctamente removeItem: Vagón borrado correctamente
create: create:
plate: Matrícula
volume: Volumen
type: Tipo
label: Etiqueta label: Etiqueta
warnings: warnings:
noData: Sin datos disponibles noData: Sin datos disponibles
@ -897,26 +684,16 @@ wagon:
supplier: supplier:
list: list:
payMethod: Método de pago payMethod: Método de pago
payDeadline: Plazo de pago
payDay: Día de pago
account: Cuenta account: Cuenta
newSupplier: Nuevo proveedor newSupplier: Nuevo proveedor
tableVisibleColumns: tableVisibleColumns:
id: Id
name: Nombre
nif: NIF/CIF nif: NIF/CIF
nickname: Alias
account: Cuenta account: Cuenta
payMethod: Método de pago
payDay: Dia de pago
country: País
summary: summary:
responsible: Responsable responsible: Responsable
notes: Notas
verified: Verificado verified: Verificado
isActive: Está activo isActive: Está activo
billingData: Forma de pago billingData: Forma de pago
payMethod: Método de pago
payDeadline: Plazo de pago payDeadline: Plazo de pago
payDay: Día de pago payDay: Día de pago
account: Cuenta account: Cuenta
@ -929,17 +706,13 @@ supplier:
fiscalAddress: Dirección fiscal fiscalAddress: Dirección fiscal
socialName: Razón social socialName: Razón social
taxNumber: NIF/CIF taxNumber: NIF/CIF
street: Dirección
city: Población city: Población
postCode: Código postal
province: Provincia province: Provincia
country: País
create: create:
supplierName: Nombre del proveedor supplierName: Nombre del proveedor
basicData: basicData:
alias: Alias
workerFk: Responsable workerFk: Responsable
isSerious: Verificado isReal: Verificado
isActive: Activo isActive: Activo
isPayMethodChecked: Método de pago validado isPayMethodChecked: Método de pago validado
note: Notas note: Notas
@ -952,36 +725,17 @@ supplier:
sageWithholdingFk: Retención sage sageWithholdingFk: Retención sage
sageTransactionTypeFk: Tipo de transacción sage sageTransactionTypeFk: Tipo de transacción sage
supplierActivityFk: Actividad proveedor supplierActivityFk: Actividad proveedor
healthRegister: Pasaporte sanitario
street: Calle
postcode: Código postal
city: Población *
provinceFk: Provincia
country: País
isTrucker: Transportista isTrucker: Transportista
isVies: Vies isVies: Vies
billingData: billingData:
payMethodFk: Forma de pago payMethodFk: Forma de pago
payDemFk: Plazo de pago payDemFk: Plazo de pago
payDay: Día de pago
accounts: accounts:
iban: Iban iban: Iban
bankEntity: Entidad bancaria bankEntity: Entidad bancaria
beneficiary: Beneficiario beneficiary: Beneficiario
contacts: contacts:
name: Nombre
phone: Teléfono
mobile: Móvil
email: Email
observation: Notas observation: Notas
addresses:
street: Dirección
postcode: Código postal
phone: Teléfono
name: Nombre
city: Población
province: Provincia
mobile: Móvil
agencyTerms: agencyTerms:
agencyFk: Agencia agencyFk: Agencia
minimumM3: M3 mínimos minimumM3: M3 mínimos
@ -993,25 +747,16 @@ supplier:
addRow: Añadir fila addRow: Añadir fila
consumption: consumption:
entry: Entrada entry: Entrada
date: Fecha
reference: Referencia
travel: travel:
travelList: travelList:
tableVisibleColumns: tableVisibleColumns:
id: Id
ref: Referencia ref: Referencia
agency: Agencia
shipped: F.envío
shipHour: Hora de envío shipHour: Hora de envío
landHour: Hora de llegada landHour: Hora de llegada
landed: F.entrega
warehouseIn: Alm.salida
warehouseOut: Alm.entrada
totalEntries: totalEntries:
totalEntriesTooltip: Entradas totales totalEntriesTooltip: Entradas totales
daysOnward: Días de llegada en adelante daysOnward: Días de llegada en adelante
summary: summary:
confirmed: Confirmado
entryId: Id entrada entryId: Id entrada
freight: Porte freight: Porte
package: Embalaje package: Embalaje
@ -1024,62 +769,89 @@ travel:
AddEntry: Añadir entrada AddEntry: Añadir entrada
thermographs: Termógrafos thermographs: Termógrafos
hb: HB hb: HB
variables:
search: Id/Referencia
agencyModeFk: Agencia
warehouseInFk: Alm. entrada
warehouseOutFk: ' Alm. salida'
landedFrom: Llegada desde
landedTo: Llegada hasta
continent: Cont. Salida
totalEntries: Ent. totales
basicData: basicData:
reference: Referencia daysInForward: Desplazamiento automatico (redada)
agency: Agencia isRaid: Redada
shipped: F. Envío
landed: F. entrega
warehouseOut: Alm. salida
warehouseIn: Alm. entrada
delivered: Enviada
received: Recibida
daysInForward: Días redada
thermographs: thermographs:
code: Código
temperature: Temperatura temperature: Temperatura
state: Estado
destination: Destino destination: Destino
created: Fecha creación
thermograph: Termógrafo thermograph: Termógrafo
reference: Referencia
type: Tipo
company: Empresa
warehouse: Almacén
travelFileDescription: 'Id envío { travelId }' travelFileDescription: 'Id envío { travelId }'
file: Fichero item:
descriptor:
buyer: Comprador
color: Color
category: Categoría
available: Disponible
warehouseText: 'Calculado sobre el almacén de { warehouseName }'
itemDiary: Registro de compra-venta
list:
id: Identificador
stems: Tallos
category: Reino
typeName: Tipo
isActive: Activo
weightByPiece: Peso (gramos)/tallo
userName: Comprador
stemMultiplier: Multiplicador
fixedPrice:
itemFk: ID Artículo
groupingPrice: Precio grouping
packingPrice: Precio packing
hasMinPrice: Tiene precio mínimo
minPrice: Precio min
started: Inicio
ended: Fin
create:
priority: Prioridad
summary:
otherData: Otros datos
tax: IVA
botanical: Botánico
barcode: Código de barras
completeName: Nombre completo
family: Familia
stems: Tallos
multiplier: Multiplicador
buyer: Comprador
doPhoto: Hacer foto
intrastatCode: Código intrastat
ref: Referencia
relevance: Relevancia
weight: Peso (gramos)/tallo
units: Unidades/caja
expense: Gasto
generic: Genérico
recycledPlastic: Plástico reciclado
nonRecycledPlastic: Plástico no reciclado
minSalesQuantity: Cantidad mínima de venta
genus: Genus
specie: Specie
buyRequest:
requester: Solicitante
requested: Solicitado
attender: Comprador
achieved: Conseguido
concept: Concepto
components: components:
topbar: {} topbar: {}
itemsFilterPanel: itemsFilterPanel:
typeFk: Tipo typeFk: Tipo
tag: Etiqueta
value: Valor value: Valor
# ItemFixedPriceFilter # ItemFixedPriceFilter
buyerFk: Comprador buyerFk: Comprador
warehouseFk: Almacén
started: Desde started: Desde
ended: Hasta ended: Hasta
mine: Para mi mine: Para mi
hasMinPrice: Precio mínimo hasMinPrice: Precio mínimo
# LatestBuysFilter # LatestBuysFilter
salesPersonFk: Comprador salesPersonFk: Comprador
supplierFk: Proveedor
active: Activo active: Activo
visible: Visible
floramondo: Floramondo floramondo: Floramondo
showBadDates: Ver items a futuro showBadDates: Ver items a futuro
userPanel: userPanel:
copyToken: Token copiado al portapapeles copyToken: Token copiado al portapapeles
settings: Configuración settings: Configuración
logOut: Cerrar sesión
localWarehouse: Almacén local localWarehouse: Almacén local
localBank: Banco local localBank: Banco local
localCompany: Empresa local localCompany: Empresa local
@ -1087,7 +859,6 @@ components:
userCompany: Empresa del usuario userCompany: Empresa del usuario
smartCard: smartCard:
downloadFile: Descargar archivo downloadFile: Descargar archivo
clone: Clonar
openCard: Ficha openCard: Ficha
openSummary: Detalles openSummary: Detalles
viewSummary: Vista previa viewSummary: Vista previa

View File

@ -1,50 +1,10 @@
<script setup> <script setup>
import { useQuasar } from 'quasar';
import Navbar from 'src/components/NavBar.vue'; import Navbar from 'src/components/NavBar.vue';
import { useRouter } from 'vue-router';
import routes from 'src/router/modules';
import { onMounted } from 'vue';
const quasar = useQuasar();
onMounted(() => {
let isNotified = false;
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;
if (!ctrlKey || !altKey) {
isNotified = false;
}
};
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keyup', handleKeyUp);
});
</script> </script>
<template> <template>
<QLayout view="hHh LpR fFf" v-shortcut> <QLayout view="hHh LpR fFf" v-shortcut>
<Navbar /> <Navbar />
<RouterView></RouterView> <RouterView></RouterView>
<QFooter v-if="quasar.platform.is.mobile"></QFooter> <QFooter v-if="$q.platform.is.mobile"></QFooter>
</QLayout> </QLayout>
</template> </template>

View File

@ -11,21 +11,13 @@ const { t } = useI18n();
const { notify } = useNotify(); const { notify } = useNotify();
const onSynchronizeAll = async () => { const onSynchronizeAll = async () => {
try { notify(t('Synchronizing in the background'), 'positive');
notify(t('Synchronizing in the background'), 'positive'); await axios.patch(`Accounts/syncAll`);
await axios.patch(`Accounts/syncAll`);
} catch (error) {
console.error('Error synchronizing all accounts', error);
}
}; };
const onSynchronizeRoles = async () => { const onSynchronizeRoles = async () => {
try { await axios.patch(`RoleInherits/sync`);
await axios.patch(`RoleInherits/sync`); notify(t('Roles synchronized!'), 'positive');
notify(t('Roles synchronized!'), 'positive');
} catch (error) {
console.error('Error synchronizing roles', error);
}
}; };
</script> </script>

View File

@ -111,29 +111,25 @@ const columns = computed(() => [
}, },
]); ]);
const deleteAcl = async ({ id }) => { const deleteAcl = async ({ id }) => {
try { await new Promise((resolve) => {
await new Promise((resolve) => { quasar
quasar .dialog({
.dialog({ component: VnConfirm,
component: VnConfirm, componentProps: {
componentProps: { title: t('Remove ACL'),
title: t('Remove ACL'), message: t('Do you want to remove this ACL?'),
message: t('Do you want to remove this ACL?'), },
}, })
}) .onOk(() => {
.onOk(() => { resolve(true);
resolve(true); })
}) .onCancel(() => {
.onCancel(() => { resolve(false);
resolve(false); });
}); });
}); await axios.delete(`ACLs/${id}`);
await axios.delete(`ACLs/${id}`); tableRef.value.reload();
tableRef.value.reload(); notify('ACL removed', 'positive');
notify('ACL removed', 'positive');
} catch (error) {
console.error('Error deleting Acl: ', error);
}
}; };
</script> </script>

View File

@ -34,13 +34,9 @@ const refresh = () => paginateRef.value.fetch();
const navigate = (id) => router.push({ name: 'AccountSummary', params: { id } }); const navigate = (id) => router.push({ name: 'AccountSummary', params: { id } });
const killSession = async ({ userId, created }) => { const killSession = async ({ userId, created }) => {
try { await axios.post(`${urlPath}/killSession`, { userId, created });
await axios.post(`${urlPath}/killSession`, { userId, created }); paginateRef.value.fetch();
paginateRef.value.fetch(); notify(t('Session killed'), 'positive');
notify(t('Session killed'), 'positive');
} catch (error) {
console.error('Error killing session', error);
}
}; };
</script> </script>

View File

@ -37,7 +37,7 @@ const redirectToAccountBasicData = (_, { id }) => {
<div class="column q-gutter-sm"> <div class="column q-gutter-sm">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('account.create.name')" :label="t('globals.name')"
:rules="validate('VnUser.name')" :rules="validate('VnUser.name')"
/> />
<VnInput <VnInput
@ -47,12 +47,12 @@ const redirectToAccountBasicData = (_, { id }) => {
/> />
<VnInput <VnInput
v-model="data.email" v-model="data.email"
:label="t('account.create.email')" :label="t('globals.params.email')"
type="email" type="email"
:rules="validate('VnUser.email')" :rules="validate('VnUser.email')"
/> />
<VnSelect <VnSelect
:label="t('account.create.role')" :label="t('account.card.role')"
v-model="data.roleFk" v-model="data.roleFk"
:options="rolesOptions" :options="rolesOptions"
option-value="id" option-value="id"
@ -63,7 +63,7 @@ const redirectToAccountBasicData = (_, { id }) => {
/> />
<VnInput <VnInput
v-model="data.password" v-model="data.password"
:label="t('account.create.password')" :label="t('ldap.password')"
type="password" type="password"
:rules="validate('VnUser.password')" :rules="validate('VnUser.password')"
/> />

View File

@ -31,7 +31,6 @@ const rolesOptions = ref([]);
<VnFilterPanel <VnFilterPanel
:data-key="props.dataKey" :data-key="props.dataKey"
:search-button="true" :search-button="true"
:hidden-tags="['search']"
:redirect="false" :redirect="false"
search-url="table" search-url="table"
> >
@ -45,7 +44,7 @@ const rolesOptions = ref([]);
<QItem class="q-my-sm"> <QItem class="q-my-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('account.card.name')" :label="t('globals.name')"
v-model="params.name" v-model="params.name"
lazy-rules lazy-rules
is-outlined is-outlined

View File

@ -40,12 +40,8 @@ const formUrlCreate = ref(null);
const formUrlUpdate = ref(null); const formUrlUpdate = ref(null);
const formCustomFn = ref(null); const formCustomFn = ref(null);
const onTestConection = async () => { const onTestConection = async () => {
try { await axios.get(`LdapConfigs/test`);
await axios.get(`LdapConfigs/test`); notify(t('LDAP connection established!'), 'positive');
notify(t('LDAP connection established!'), 'positive');
} catch (error) {
console.error('Error testing connection', error);
}
}; };
const getInitialLdapConfig = async () => { const getInitialLdapConfig = async () => {
try { try {
@ -72,14 +68,10 @@ const getInitialLdapConfig = async () => {
} }
}; };
const deleteMailForward = async () => { const deleteMailForward = async () => {
try { await axios.delete(URL_UPDATE);
await axios.delete(URL_UPDATE); initialData.value = { ...DEFAULT_DATA };
initialData.value = { ...DEFAULT_DATA }; hasData.value = false;
hasData.value = false; notify(t('globals.dataSaved'), 'positive');
notify(t('globals.dataSaved'), 'positive');
} catch (err) {
console.error('Error deleting mail forward', err);
}
}; };
onMounted(async () => await getInitialLdapConfig()); onMounted(async () => await getInitialLdapConfig());
@ -102,11 +94,11 @@ onMounted(async () => await getInitialLdapConfig());
<QBtn <QBtn
class="q-ml-none" class="q-ml-none"
color="primary" color="primary"
:label="t('ldap.testConnection')" :label="t('account.card.testConnection')"
@click="onTestConection()" @click="onTestConection()"
> >
<QTooltip> <QTooltip>
{{ t('ldap.testConnection') }} {{ t('account.card.testConnection') }}
</QTooltip> </QTooltip>
</QBtn> </QBtn>
</template> </template>
@ -114,7 +106,7 @@ onMounted(async () => await getInitialLdapConfig());
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col"> <div class="col">
<QCheckbox <QCheckbox
:label="t('ldap.enableSync')" :label="t('account.card.enableSync')"
v-model="data.hasData" v-model="data.hasData"
@update:model-value="($event) => (hasData = $event)" @update:model-value="($event) => (hasData = $event)"
:toggle-indeterminate="false" :toggle-indeterminate="false"
@ -146,7 +138,7 @@ onMounted(async () => await getInitialLdapConfig());
/> />
<VnInput :label="t('ldap.userDN')" clearable v-model="data.userDn" /> <VnInput :label="t('ldap.userDN')" clearable v-model="data.userDn" />
<VnInput <VnInput
:label="t('ldap.groupDN')" :label="t('account.card.groupDN')"
clearable clearable
v-model="data.groupDn" v-model="data.groupDn"
/> />

View File

@ -7,6 +7,7 @@ import AccountSummary from './Card/AccountSummary.vue';
import { useSummaryDialog } from 'src/composables/useSummaryDialog'; import { useSummaryDialog } from 'src/composables/useSummaryDialog';
import AccountFilter from './AccountFilter.vue'; import AccountFilter from './AccountFilter.vue';
import RightMenu from 'src/components/common/RightMenu.vue'; import RightMenu from 'src/components/common/RightMenu.vue';
import VnInput from 'src/components/common/VnInput.vue';
const { t } = useI18n(); const { t } = useI18n();
const { viewSummary } = useSummaryDialog(); const { viewSummary } = useSummaryDialog();
const tableRef = ref(); const tableRef = ref();
@ -22,10 +23,27 @@ const columns = computed(() => [
field: 'id', field: 'id',
cardVisible: true, cardVisible: true,
}, },
{
align: 'left',
name: 'name',
label: t('Name'),
component: 'input',
columnField: {
component: null,
},
cardVisible: true,
create: true,
},
{ {
align: 'left', align: 'left',
name: 'roleFk', name: 'roleFk',
label: t('role'), label: t('Role'),
component: 'select',
attrs: {
url: 'VnRoles',
optionValue: 'id',
optionLabel: 'name',
},
columnFilter: { columnFilter: {
component: 'select', component: 'select',
name: 'roleFk', name: 'roleFk',
@ -35,7 +53,11 @@ const columns = computed(() => [
optionLabel: 'name', optionLabel: 'name',
}, },
}, },
columnField: {
component: null,
},
format: ({ role }, dashIfEmpty) => dashIfEmpty(role?.name), format: ({ role }, dashIfEmpty) => dashIfEmpty(role?.name),
create: true,
}, },
{ {
align: 'left', align: 'left',
@ -51,20 +73,32 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
name: 'name', name: 'email',
label: t('Name'), label: t('Email'),
component: 'input', component: 'input',
columnField: { columnField: {
component: null, component: null,
}, },
cardVisible: true,
create: true, create: true,
visible: false,
}, },
{ {
align: 'left', align: 'left',
name: 'email', name: 'password',
label: t('email'), label: t('Password'),
component: 'input', columnField: {
component: null,
},
attrs: {},
required: true,
visible: false,
},
{
align: 'left',
name: 'active',
label: t('Active'),
component: 'checkbox',
create: true, create: true,
visible: false, visible: false,
}, },
@ -101,10 +135,9 @@ const exprBuilder = (param, value) => {
} }
}; };
</script> </script>
<template> <template>
<VnSearchbar <VnSearchbar
data-key="AccountUsers" data-key="AccountList"
:expr-builder="exprBuilder" :expr-builder="exprBuilder"
:label="t('account.search')" :label="t('account.search')"
:info="t('account.searchInfo')" :info="t('account.searchInfo')"
@ -112,13 +145,19 @@ const exprBuilder = (param, value) => {
/> />
<RightMenu> <RightMenu>
<template #right-panel> <template #right-panel>
<AccountFilter data-key="AccountUsers" /> <AccountFilter data-key="AccountList" />
</template> </template>
</RightMenu> </RightMenu>
<VnTable <VnTable
ref="tableRef" ref="tableRef"
data-key="AccountUsers" data-key="AccountList"
url="VnUsers/preview" url="VnUsers/preview"
:create="{
urlCreate: 'VnUsers',
title: t('Create user'),
onDataSaved: ({ id }) => tableRef.redirect(id),
formInitialData: {},
}"
:filter="filter" :filter="filter"
order="id DESC" order="id DESC"
:columns="columns" :columns="columns"
@ -127,7 +166,19 @@ const exprBuilder = (param, value) => {
:use-model="true" :use-model="true"
:right-search="false" :right-search="false"
auto-load auto-load
/> >
<template #more-create-dialog="{ data }">
<QCardSection>
<VnInput
:label="t('Password')"
v-model="data.password"
type="password"
:required="true"
autocomplete="new-password"
/>
</QCardSection>
</template>
</VnTable>
</template> </template>
<i18n> <i18n>
@ -135,4 +186,7 @@ const exprBuilder = (param, value) => {
Id: Id Id: Id
Nickname: Nickname Nickname: Nickname
Name: Nombre Name: Nombre
Password: Contraseña
Active: Activo
Role: Rol
</i18n> </i18n>

View File

@ -46,12 +46,8 @@ const formUrlUpdate = ref(null);
const formCustomFn = ref(null); const formCustomFn = ref(null);
const onTestConection = async () => { const onTestConection = async () => {
try { await axios.get(`SambaConfigs/test`);
await axios.get(`SambaConfigs/test`); notify(t('Samba connection established!'), 'positive');
notify(t('Samba connection established!'), 'positive');
} catch (error) {
console.error('Error testing connection', error);
}
}; };
const getInitialSambaConfig = async () => { const getInitialSambaConfig = async () => {
@ -79,14 +75,10 @@ const getInitialSambaConfig = async () => {
}; };
const deleteMailForward = async () => { const deleteMailForward = async () => {
try { await axios.delete(URL_UPDATE);
await axios.delete(URL_UPDATE); initialData.value = { ...DEFAULT_DATA };
initialData.value = { ...DEFAULT_DATA }; hasData.value = false;
hasData.value = false; notify(t('globals.dataSaved'), 'positive');
notify(t('globals.dataSaved'), 'positive');
} catch (err) {
console.error('Error deleting mail forward', err);
}
}; };
onMounted(async () => await getInitialSambaConfig()); onMounted(async () => await getInitialSambaConfig());
@ -110,12 +102,12 @@ onMounted(async () => await getInitialSambaConfig());
<QBtn <QBtn
class="q-ml-none" class="q-ml-none"
color="primary" color="primary"
:label="t('samba.testConnection')" :label="t('account.card.testConnection')"
:disable="formModel.hasChanges" :disable="formModel.hasChanges"
@click="onTestConection()" @click="onTestConection()"
> >
<QTooltip> <QTooltip>
{{ t('samba.testConnection') }} {{ t('account.card.testConnection') }}
</QTooltip> </QTooltip>
</QBtn> </QBtn>
</template> </template>
@ -123,7 +115,7 @@ onMounted(async () => await getInitialSambaConfig());
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col"> <div class="col">
<QCheckbox <QCheckbox
:label="t('samba.enableSync')" :label="t('account.card.enableSync')"
v-model="data.hasData" v-model="data.hasData"
@update:model-value="($event) => (hasData = $event)" @update:model-value="($event) => (hasData = $event)"
:toggle-indeterminate="false" :toggle-indeterminate="false"

View File

@ -37,11 +37,7 @@ onBeforeMount(() => {
@on-fetch="(data) => (rolesOptions = data)" @on-fetch="(data) => (rolesOptions = data)"
auto-load auto-load
/> />
<VnFilterPanel <VnFilterPanel :data-key="props.dataKey" :search-button="true">
:data-key="props.dataKey"
:search-button="true"
:hidden-tags="['search']"
>
<template #tags="{ tag, formatFn }"> <template #tags="{ tag, formatFn }">
<div class="q-gutter-x-xs"> <div class="q-gutter-x-xs">
<strong>{{ t(`acls.aclFilter.${tag.label}`) }}: </strong> <strong>{{ t(`acls.aclFilter.${tag.label}`) }}: </strong>

View File

@ -36,15 +36,12 @@ const onDataSaved = ({ id }) => {
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.alias" :label="t('mailAlias.name')" /> <VnInput v-model="data.alias" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('mailAlias.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -11,8 +11,8 @@ const { t } = useI18n();
<FormModel model="Alias"> <FormModel model="Alias">
<template #form="{ data }"> <template #form="{ data }">
<div class="column q-gutter-y-md"> <div class="column q-gutter-y-md">
<VnInput v-model="data.alias" :label="t('mailAlias.name')" /> <VnInput v-model="data.alias" :label="t('globals.name')" />
<VnInput v-model="data.description" :label="t('mailAlias.description')" /> <VnInput v-model="data.description" :label="t('role.description')" />
<QCheckbox :label="t('mailAlias.isPublic')" v-model="data.isPublic" /> <QCheckbox :label="t('mailAlias.isPublic')" v-model="data.isPublic" />
</div> </div>
</template> </template>

View File

@ -44,13 +44,9 @@ const removeAlias = () => {
cancel: true, cancel: true,
}) })
.onOk(async () => { .onOk(async () => {
try { await axios.delete(`MailAliases/${entityId.value}`);
await axios.delete(`MailAliases/${entityId.value}`); notify(t('Alias removed'), 'positive');
notify(t('Alias removed'), 'positive'); router.push({ name: 'AccountAlias' });
router.push({ name: 'AccountAlias' });
} catch (err) {
console.error('Error removing alias');
}
}); });
}; };
</script> </script>
@ -71,7 +67,7 @@ const removeAlias = () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('mailAlias.description')" :value="entity.description" /> <VnLv :label="t('role.description')" :value="entity.description" />
</template> </template>
</CardDescriptor> </CardDescriptor>
</template> </template>

View File

@ -42,8 +42,8 @@ const entityId = computed(() => $props.id || route.params.id);
<QIcon name="open_in_new" /> <QIcon name="open_in_new" />
</router-link> </router-link>
</QCardSection> </QCardSection>
<VnLv :label="t('mailAlias.id')" :value="alias.id" /> <VnLv :label="t('role.id')" :value="alias.id" />
<VnLv :label="t('mailAlias.description')" :value="alias.description" /> <VnLv :label="t('role.description')" :value="alias.description" />
</QCard> </QCard>
</template> </template>
</CardSummary> </CardSummary>

View File

@ -36,7 +36,7 @@ watch(
<div class="q-gutter-y-sm"> <div class="q-gutter-y-sm">
<VnInput v-model="data.name" :label="t('account.card.nickname')" /> <VnInput v-model="data.name" :label="t('account.card.nickname')" />
<VnInput v-model="data.nickname" :label="t('account.card.alias')" /> <VnInput v-model="data.nickname" :label="t('account.card.alias')" />
<VnInput v-model="data.email" :label="t('account.card.email')" /> <VnInput v-model="data.email" :label="t('globals.params.email')" />
<VnSelect <VnSelect
url="Languages" url="Languages"
v-model="data.lang" v-model="data.lang"

View File

@ -54,7 +54,7 @@ const hasAccount = ref(false);
</template> </template>
<template #before> <template #before>
<!-- falla id :id="entityId.value" collection="user" size="160x160" --> <!-- falla id :id="entityId.value" collection="user" size="160x160" -->
<VnImg :id="entityId" collection="user" resolution="160x160" class="photo"> <VnImg :id="entityId" collection="user" resolution="520x520" class="photo">
<template #error> <template #error>
<div <div
class="absolute-full picture text-center q-pa-md flex flex-center" class="absolute-full picture text-center q-pa-md flex flex-center"

View File

@ -8,7 +8,7 @@ import { useAcl } from 'src/composables/useAcl';
import { useArrayData } from 'src/composables/useArrayData'; import { useArrayData } from 'src/composables/useArrayData';
import VnConfirm from 'src/components/ui/VnConfirm.vue'; import VnConfirm from 'src/components/ui/VnConfirm.vue';
import VnChangePassword from 'src/components/common/VnChangePassword.vue'; import VnChangePassword from 'src/components/common/VnChangePassword.vue';
import useNotify from 'src/composables/useNotify.js'; import { useQuasar } from 'quasar';
const $props = defineProps({ const $props = defineProps({
hasAccount: { hasAccount: {
@ -21,7 +21,7 @@ const { t } = useI18n();
const { hasAccount } = toRefs($props); const { hasAccount } = toRefs($props);
const { openConfirmationModal } = useVnConfirm(); const { openConfirmationModal } = useVnConfirm();
const route = useRoute(); const route = useRoute();
const { notify } = useNotify(); const { notify } = useQuasar();
const account = computed(() => useArrayData('AccountId').store.data[0]); const account = computed(() => useArrayData('AccountId').store.data[0]);
account.value.hasAccount = hasAccount.value; account.value.hasAccount = hasAccount.value;
const entityId = computed(() => +route.params.id); const entityId = computed(() => +route.params.id);

View File

@ -44,32 +44,23 @@ const fetchMailForwards = async () => {
try { try {
const response = await axios.get(`MailForwards/${route.params.id}`); const response = await axios.get(`MailForwards/${route.params.id}`);
return response.data; return response.data;
} catch (err) { } catch {
console.error('Error fetching mail forwards', err);
return null; return null;
} }
}; };
const deleteMailForward = async () => { const deleteMailForward = async () => {
try { await axios.delete(`MailForwards/${route.params.id}`);
await axios.delete(`MailForwards/${route.params.id}`); formData.value.forwardTo = null;
formData.value.forwardTo = null; initialData.value.forwardTo = null;
initialData.value.forwardTo = null; initialData.value.hasData = hasData.value;
initialData.value.hasData = hasData.value; notify(t('globals.dataSaved'), 'positive');
notify(t('globals.dataSaved'), 'positive');
} catch (err) {
console.error('Error deleting mail forward', err);
}
}; };
const updateMailForward = async () => { const updateMailForward = async () => {
try { await axios.patch('MailForwards', formData.value);
await axios.patch('MailForwards', formData.value); initialData.value = { ...formData.value };
initialData.value = { ...formData.value }; initialData.value.hasData = hasData.value;
initialData.value.hasData = hasData.value;
} catch (err) {
console.error('Error creating mail forward', err);
}
}; };
const onSubmit = async () => { const onSubmit = async () => {

View File

@ -82,14 +82,14 @@ const exprBuilder = (param, value) => {
<template> <template>
<VnSearchbar <VnSearchbar
data-key="Roles" data-key="AccountRolesList"
:expr-builder="exprBuilder" :expr-builder="exprBuilder"
:label="t('role.searchRoles')" :label="t('role.searchRoles')"
:info="t('role.searchInfo')" :info="t('role.searchInfo')"
/> />
<VnTable <VnTable
ref="tableRef" ref="tableRef"
data-key="Roles" data-key="AccountRolesList"
:url="`VnRoles`" :url="`VnRoles`"
:create="{ :create="{
urlCreate: 'VnRoles', urlCreate: 'VnRoles',

View File

@ -13,12 +13,7 @@ const props = defineProps({
</script> </script>
<template> <template>
<VnFilterPanel <VnFilterPanel :data-key="props.dataKey" :search-button="true" :redirect="false">
:data-key="props.dataKey"
:search-button="true"
:hidden-tags="['search']"
:redirect="false"
>
<template #tags="{ tag, formatFn }"> <template #tags="{ tag, formatFn }">
<div class="q-gutter-x-xs"> <div class="q-gutter-x-xs">
<strong>{{ t(`role.${tag.label}`) }}: </strong> <strong>{{ t(`role.${tag.label}`) }}: </strong>
@ -29,7 +24,7 @@ const props = defineProps({
<QItem class="q-my-sm"> <QItem class="q-my-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('role.name')" :label="t('globals.name')"
v-model="params.name" v-model="params.name"
lazy-rules lazy-rules
is-outlined is-outlined

View File

@ -12,15 +12,12 @@ const { t } = useI18n();
<template #form="{ data }"> <template #form="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.name" :label="t('role.card.name')" /> <VnInput v-model="data.name" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('role.card.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -9,7 +9,7 @@ const { t } = useI18n();
<VnCard <VnCard
data-key="Role" data-key="Role"
:descriptor="RoleDescriptor" :descriptor="RoleDescriptor"
search-data-key="AccountRoles" search-data-key="AccountRolesList"
:searchbar-props="{ :searchbar-props="{
url: 'VnRoles', url: 'VnRoles',
label: t('role.searchRoles'), label: t('role.searchRoles'),

View File

@ -32,12 +32,8 @@ const filter = {
where: { id: entityId }, where: { id: entityId },
}; };
const removeRole = async () => { const removeRole = async () => {
try { await axios.delete(`VnRoles/${entityId.value}`);
await axios.delete(`VnRoles/${entityId.value}`); notify(t('Role removed'), 'positive');
notify(t('Role removed'), 'positive');
} catch (error) {
console.error('Error deleting role', error);
}
}; };
</script> </script>
@ -58,7 +54,7 @@ const removeRole = async () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('role.card.description')" :value="entity.description" /> <VnLv :label="t('role.description')" :value="entity.description" />
</template> </template>
</CardDescriptor> </CardDescriptor>
</template> </template>

View File

@ -22,15 +22,12 @@ const { t } = useI18n();
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.name" :label="t('role.card.name')" /> <VnInput v-model="data.name" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('role.card.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -44,9 +44,9 @@ const filter = {
<QIcon name="open_in_new" /> <QIcon name="open_in_new" />
</a> </a>
</QCardSection> </QCardSection>
<VnLv :label="t('role.card.id')" :value="role.id" /> <VnLv :label="t('role.id')" :value="role.id" />
<VnLv :label="t('role.card.name')" :value="role.name" /> <VnLv :label="t('globals.name')" :value="role.name" />
<VnLv :label="t('role.card.description')" :value="role.description" /> <VnLv :label="t('role.description')" :value="role.description" />
</QCard> </QCard>
</template> </template>
</CardSummary> </CardSummary>

View File

@ -1,32 +1,15 @@
account: account:
pageTitles:
users: Users
list: Users
roles: Roles
alias: Mail aliasses
accounts: Accounts
ldap: LDAP
samba: Samba
acls: ACLs
connections: Connections
inheritedRoles: Inherited Roles
subRoles: Sub Roles
newRole: New role
privileges: Privileges
mailAlias: Mail Alias
mailForwarding: Mail Forwarding
accountCreate: New user
aliasUsers: Users
card: card:
name: Name
nickname: User nickname: User
role: Role role: Role
email: Email
alias: Alias alias: Alias
lang: Language lang: Language
roleFk: Role roleFk: Role
newUser: New user newUser: New user
ticketTracking: Ticket tracking ticketTracking: Ticket tracking
enableSync: Habilitar sincronización
groupDN: DN grupos
testConnection: Probar conexión
privileges: privileges:
delegate: Can delegate privileges delegate: Can delegate privileges
enabled: Account enabled! enabled: Account enabled!
@ -74,11 +57,7 @@ account:
search: Search user search: Search user
searchInfo: You can search by id, name or nickname searchInfo: You can search by id, name or nickname
create: create:
name: Name
nickname: Nickname nickname: Nickname
email: Email
role: Role
password: Password
active: Active active: Active
mailForwarding: mailForwarding:
forwardingMail: Forward email forwardingMail: Forward email
@ -86,50 +65,30 @@ account:
enableMailForwarding: Enable mail forwarding enableMailForwarding: Enable mail forwarding
mailInputInfo: All emails will be forwarded to the specified address. mailInputInfo: All emails will be forwarded to the specified address.
role: role:
pageTitles:
inheritedRoles: Inherited Roles
subRoles: Sub Roles
card:
description: Description
id: Id
name: Name
newRole: New role newRole: New role
searchRoles: Search role searchRoles: Search role
searchInfo: Search role by id or name searchInfo: Search role by id or name
name: Name
description: Description description: Description
id: Id id: Id
mailAlias: mailAlias:
pageTitles:
aliasUsers: Users
search: Search mail alias search: Search mail alias
searchInfo: Search alias by id or name searchInfo: Search alias by id or name
alias: Alias
description: Description
id: Id
newAlias: New alias newAlias: New alias
name: Name
isPublic: Public isPublic: Public
ldap: ldap:
enableSync: Enable synchronization
server: Server server: Server
rdn: RDN rdn: RDN
userDN: User DN userDN: User DN
filter: Filter filter: Filter
groupDN: Group DN
testConnection: Test connection
success: LDAP connection established! success: LDAP connection established!
password: Password password: Password
samba: samba:
enableSync: Enable synchronization
domainController: Domain controller domainController: Domain controller
domainAD: AD domain domainAD: AD domain
userAD: AD user userAD: AD user
groupDN: Group DN
passwordAD: AD password passwordAD: AD password
domainPart: User DN (without domain part) domainPart: User DN (without domain part)
verifyCertificate: Verify certificate verifyCertificate: Verify certificate
testConnection: Test connection
success: Samba connection established! success: Samba connection established!
accounts: accounts:
homedir: Homedir base homedir: Homedir base
@ -147,8 +106,6 @@ connections:
created: Created created: Created
killSession: Kill session killSession: Kill session
acls: acls:
role: Role
accessType: Access type
permissions: Permission permissions: Permission
search: Search acls search: Search acls
searchInfo: Search acls by model name searchInfo: Search acls by model name

View File

@ -1,27 +1,7 @@
account: account:
pageTitles:
users: Usuarios
list: Usuarios
roles: Roles
alias: Alias de correo
accounts: Cuentas
ldap: LDAP
samba: Samba
acls: ACLs
connections: Conexiones
inheritedRoles: Roles heredados
newRole: Nuevo rol
subRoles: Subroles
privileges: Privilegios
mailAlias: Alias de correo
mailForwarding: Reenvío de correo
accountCreate: Nuevo usuario
aliasUsers: Usuarios
card: card:
nickname: Usuario nickname: Usuario
name: Nombre
role: Rol role: Rol
email: Mail
alias: Alias alias: Alias
lang: Idioma lang: Idioma
roleFk: Rol roleFk: Rol
@ -33,6 +13,9 @@ account:
deactivated: ¡Usuario desactivado! deactivated: ¡Usuario desactivado!
newUser: Nuevo usuario newUser: Nuevo usuario
twoFactor: Doble factor twoFactor: Doble factor
enableSync: Habilitar sincronización
groupDN: DN grupos
testConnection: Probar conexión
privileges: privileges:
delegate: Puede delegar privilegios delegate: Puede delegar privilegios
actions: actions:
@ -73,11 +56,7 @@ account:
search: Buscar usuario search: Buscar usuario
searchInfo: Puedes buscar por id, nombre o usuario searchInfo: Puedes buscar por id, nombre o usuario
create: create:
name: Nombre
nickname: Nombre mostrado nickname: Nombre mostrado
email: Email
role: Rol
password: Contraseña
active: Activo active: Activo
mailForwarding: mailForwarding:
forwardingMail: Dirección de reenvío forwardingMail: Dirección de reenvío
@ -85,51 +64,30 @@ account:
enableMailForwarding: Habilitar redirección de correo enableMailForwarding: Habilitar redirección de correo
mailInputInfo: Todos los correos serán reenviados a la dirección especificada, no se mantendrá copia de los mismos en el buzón del usuario. mailInputInfo: Todos los correos serán reenviados a la dirección especificada, no se mantendrá copia de los mismos en el buzón del usuario.
role: role:
pageTitles:
inheritedRoles: Roles heredados
subRoles: Subroles
newRole: Nuevo rol
card:
description: Descripción
id: Id
name: Nombre
newRole: Nuevo rol newRole: Nuevo rol
searchRoles: Buscar roles searchRoles: Buscar roles
searchInfo: Buscar rol por id o nombre searchInfo: Buscar rol por id o nombre
name: Nombre
description: Descripción description: Descripción
id: Id id: Id
mailAlias: mailAlias:
pageTitles:
aliasUsers: Usuarios
search: Buscar alias de correo search: Buscar alias de correo
searchInfo: Buscar alias por id o nombre searchInfo: Buscar alias por id o nombre
alias: Alias
description: Descripción
id: Id
newAlias: Nuevo alias newAlias: Nuevo alias
name: Nombre
isPublic: Público isPublic: Público
ldap: ldap:
password: Contraseña password: Contraseña
enableSync: Habilitar sincronización
server: Servidor server: Servidor
rdn: RDN rdn: RDN
userDN: DN usuarios userDN: DN usuarios
filter: Filtro filter: Filtro
groupDN: DN grupos
testConnection: Probar conexión
success: ¡Conexión con LDAP establecida! success: ¡Conexión con LDAP establecida!
samba: samba:
enableSync: Habilitar sincronización
domainController: Controlador de dominio domainController: Controlador de dominio
domainAD: Dominio AD domainAD: Dominio AD
groupDN: DN grupos
userAD: Usuario AD userAD: Usuario AD
passwordAD: Contraseña AD passwordAD: Contraseña AD
domainPart: DN usuarios (sin la parte del dominio) domainPart: DN usuarios (sin la parte del dominio)
verifyCertificate: Verificar certificado verifyCertificate: Verificar certificado
testConnection: Probar conexión
success: ¡Conexión con Samba establecida! success: ¡Conexión con Samba establecida!
accounts: accounts:
homedir: Directorio base para carpetas de usuario homedir: Directorio base para carpetas de usuario
@ -147,8 +105,6 @@ connections:
created: Creado created: Creado
killSession: Matar sesión killSession: Matar sesión
acls: acls:
role: Rol
accessType: Tipo de acceso
permissions: Permiso permissions: Permiso
search: Buscar acls search: Buscar acls
searchInfo: Buscar acls por nombre searchInfo: Buscar acls por nombre

View File

@ -100,7 +100,7 @@ async function remove() {
</QMenu> </QMenu>
</QItem> </QItem>
<QSeparator /> <QSeparator />
<QItem @click="confirmRemove()" v-ripple clickable> <QItem @click="confirmRemove()" v-ripple clickable data-cy="deleteClaim">
<QItemSection avatar> <QItemSection avatar>
<QIcon name="delete" /> <QIcon name="delete" />
</QItemSection> </QItemSection>

View File

@ -130,7 +130,7 @@ function cancel() {
<template #body-cell-description="{ row, value }"> <template #body-cell-description="{ row, value }">
<QTd auto-width align="right" class="link"> <QTd auto-width align="right" class="link">
{{ value }} {{ value }}
<ItemDescriptorProxy :id="row.itemFk"></ItemDescriptorProxy> <ItemDescriptorProxy :id="row.itemFk" />
</QTd> </QTd>
</template> </template>
</QTable> </QTable>

View File

@ -25,7 +25,7 @@ const claimFilter = computed(() => {
include: { include: {
relation: 'user', relation: 'user',
scope: { scope: {
fields: ['id', 'nickname'], fields: ['id', 'nickname', 'name'],
}, },
}, },
}, },

Some files were not shown because too many files have changed in this diff Show More