Compare commits

...

2061 Commits

Author SHA1 Message Date
Yuri Kuznetsov 19d227e81d 8.1.2 2024-02-01 11:42:39 +02:00
Yuri Kuznetsov 00504630c6 fix sender property not set 2024-02-01 11:30:24 +02:00
Yuri Kuznetsov 4f6e1ed1ec fix scrollbar for chrome 121 2024-02-01 10:59:38 +02:00
Yuri Kuznetsov e6d1048ebd fix markdown 2024-01-31 15:18:42 +02:00
Yuri Kuznetsov 3babdfa339 validate url 2024-01-30 17:40:38 +02:00
Yuri Kuznetsov e95fcc6532 oidc popup login fix 2024-01-25 15:43:10 +02:00
Yuri Kuznetsov d5b6c0aec1 fix layout 2024-01-25 15:37:05 +02:00
Yuri Kuznetsov 069d70176a fix log 2024-01-23 19:41:44 +02:00
Yuri Kuznetsov 0a4dba4343 markdown backtick fix 2024-01-20 21:37:10 +02:00
Yuri Kuznetsov 4c4c6d2402 use markdown extra in helper 2024-01-18 15:05:24 +02:00
Yuri Kuznetsov e16640ba24 8.1.1 2024-01-17 10:00:32 +02:00
Yuri Kuznetsov f4c7ba6686 link order in handler 2024-01-16 16:45:50 +02:00
Yuri Kuznetsov 541a6b25e7 email-to-task link access 2024-01-15 13:22:17 +02:00
Yuri Kuznetsov 0bb0f80c54 html fix 2024-01-15 09:58:21 +02:00
Yuri Kuznetsov 54f8758aba varchar fix 2024-01-14 11:14:36 +02:00
Yuri Kuznetsov f7b2ad17be fix searchParams null 2024-01-14 11:01:34 +02:00
Yuri Kuznetsov d6dfc1226b field validation popover fix 2024-01-13 12:29:35 +02:00
Yuri Kuznetsov dcdc94365e findRelationMany function random alias 2024-01-11 19:24:53 +02:00
Yuri Kuznetsov e12e7ec95a link selectOrderBy 2024-01-10 15:26:30 +02:00
Yuri Kuznetsov 9cee152e23 email reply link checker 2024-01-10 13:56:37 +02:00
Yuri Kuznetsov 855ecf427d link checker for singlular links, checkers for case 2024-01-10 13:29:28 +02:00
Yuri Kuznetsov 2d2d6f7fad fix test 2024-01-10 13:27:55 +02:00
Yuri Kuznetsov ee591c0142 doc 2024-01-10 10:05:44 +02:00
Yuri Kuznetsov fddda800a8 year 2024-01-08 18:07:07 +02:00
Yuri Kuznetsov 2d629eb0c6 cs 2024-01-05 11:01:25 +02:00
Yuri Kuznetsov 519784a7c3 jsdoc 2024-01-05 10:58:56 +02:00
Yuri Kuznetsov f81c5b0fdb checkbox style 2024-01-05 10:56:08 +02:00
Yuri Kuznetsov cf8d860a67 cs 2024-01-05 10:55:22 +02:00
Yuri Kuznetsov 3e71c3db31 import: apply default values from another import 2024-01-05 10:45:42 +02:00
Yuri Kuznetsov ef8b284434 cs 2024-01-04 16:25:36 +02:00
Yuri Kuznetsov 5833565e10 cs 2024-01-04 16:23:58 +02:00
Yuri Kuznetsov 87bbb1914a css fix 2024-01-04 14:37:09 +02:00
Yuri Kuznetsov 358f0f6a98 css fix 2024-01-04 14:31:29 +02:00
Yuri Kuznetsov ca924f9abc fix text field 2024-01-04 14:29:44 +02:00
Yuri Kuznetsov 2080ade438 cs, docs 2024-01-04 12:46:21 +02:00
Yuri Kuznetsov a8c1bf0a2d remove echo 2024-01-03 14:49:23 +02:00
Yuri Kuznetsov c88ac20198 v 2024-01-02 13:39:46 +02:00
Yuri Kuznetsov 360765a94a invalidate opcache on dire removal 2024-01-02 13:28:18 +02:00
Yuri Kuznetsov 5ca69b9cbb show Done on extension uninstall 2024-01-02 13:23:51 +02:00
Yuri Kuznetsov 4f7809cc4e cs 2024-01-02 12:36:42 +02:00
Yuri Kuznetsov 580db2041c todo 2023-12-31 12:04:26 +02:00
Yuri Kuznetsov 9256225aab cs 2023-12-31 11:44:13 +02:00
Yuri Kuznetsov 4add630b6c cs 2023-12-31 11:41:56 +02:00
Yuri Kuznetsov 704458409e fix jsdocs 2023-12-31 11:41:38 +02:00
Yuri Kuznetsov 48e0704ce1 jsdoc 2023-12-31 11:35:02 +02:00
Yuri Kuznetsov dfe7ff55e4 cs 2023-12-31 11:31:57 +02:00
Yuri Kuznetsov a9bc74b2bd cs 2023-12-31 11:27:12 +02:00
Yuri Kuznetsov a42bbbe00c add index 2023-12-31 11:00:46 +02:00
Yuri Kuznetsov 25ee3df284 use sth 2023-12-31 10:58:23 +02:00
Yuri Kuznetsov c9219d12b8 fix licese link 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov 995fbba9de update file headers 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov ef92094d0c AGPL license 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov 98764e6802 instanceId 2023-12-30 10:41:23 +02:00
Yuri Kuznetsov e30f84f906 fix docs 2023-12-29 15:53:14 +02:00
Yuri Kuznetsov 102921b826 syncWithModel relationship param 2023-12-29 15:51:05 +02:00
Yuri Kuznetsov 7f34ebc1d7 jsdocs fix 2023-12-29 15:25:15 +02:00
Yuri Kuznetsov dd5ecc5752 cs 2023-12-29 10:17:05 +02:00
Yuri Kuznetsov a19484a09c mass email max per batch 2023-12-29 10:11:25 +02:00
Yuri Kuznetsov 2eb3f734c3 formula recordService throw message body 2023-12-28 22:01:34 +02:00
Yuri Kuznetsov 3130c244de cleanup 2023-12-28 21:48:14 +02:00
Eymen Elkum 82bf0e4e1c clean removed services in container services (#2929) 2023-12-28 15:54:20 +02:00
Yuri Kuznetsov 5b1d1dde90 remove driver param 2023-12-27 11:20:00 +02:00
Yuri Kuznetsov 3ff845dbdf notification panel abort last fetch on remove 2023-12-25 19:25:53 +02:00
Yuri Kuznetsov 12a860dde4 cs 2023-12-25 19:17:34 +02:00
Yuri Kuznetsov ce2d3c9a5f cs 2023-12-25 19:09:15 +02:00
Yuri Kuznetsov f3ee9336a7 Merge branch 'fix' 2023-12-25 19:07:32 +02:00
Yuri Kuznetsov fc719b932c hide layoutSet field 2023-12-25 19:07:16 +02:00
Yuri Kuznetsov 82c0ca7aae css and jsdoc 2023-12-25 14:14:58 +02:00
Yuri Kuznetsov 5681559f9c cs and fixes 2023-12-25 14:09:20 +02:00
Yuri Kuznetsov 46b7c20a81 style fix 2023-12-23 13:10:32 +02:00
Yuri Kuznetsov a5ebc959e5 cs 2023-12-23 12:58:01 +02:00
Yuri Kuznetsov 3edf3936ab note labels 2023-12-23 11:42:16 +02:00
Yuri Kuznetsov 9fbc97f0e6 cs 2023-12-22 11:15:07 +02:00
Yuri Kuznetsov f515c61f25 cs 2023-12-22 10:39:03 +02:00
Yuri Kuznetsov ad87a5bcee cs 2023-12-21 17:18:59 +02:00
Yuri Kuznetsov 0e803b33a8 change about 2023-12-21 17:12:25 +02:00
Yuri Kuznetsov 579bf7c19c panel label translation with $ 2023-12-21 15:48:25 +02:00
Yuri Kuznetsov d2cbfc0286 about text in file 2023-12-21 14:31:19 +02:00
Yuri Kuznetsov 3e26b372d4 cs 2023-12-21 12:24:14 +02:00
Yuri Kuznetsov c4ba425f4f msg fix 2023-12-20 15:11:38 +02:00
Yuri Kuznetsov e204bc73ce deprecation fix 2023-12-20 14:27:42 +02:00
Yuri Kuznetsov 2304ecd870 fix console error 2023-12-18 15:04:03 +02:00
Yuri Kuznetsov af502c4232 duplicate modal reject promise 2023-12-18 11:48:30 +02:00
Yuri Kuznetsov c00de8e4cc markdownText pdf helper 2023-12-16 20:41:53 +02:00
Yuri Kuznetsov fc10df0464 oauth client ref 2023-12-14 16:24:22 +02:00
dependabot[bot] 2045011a5e Bump dompdf/dompdf from 2.0.3 to 2.0.4 (#2924)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.3...v2.0.4)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-14 09:41:12 +02:00
dependabot[bot] 2228db3caa Bump phenx/php-svg-lib from 0.5.0 to 0.5.1 (#2922)
Bumps [phenx/php-svg-lib](https://github.com/PhenX/php-svg-lib) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/PhenX/php-svg-lib/releases)
- [Commits](https://github.com/PhenX/php-svg-lib/compare/0.5.0...0.5.1)

---
updated-dependencies:
- dependency-name: phenx/php-svg-lib
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-13 16:01:41 +02:00
Yuri Kuznetsov 675a1575df fix msg 2023-12-12 11:44:42 +02:00
Yuri Kuznetsov 14283975b7 cs 2023-12-11 12:40:53 +02:00
Yuri Kuznetsov 0251002c77 cs 2023-12-11 12:31:42 +02:00
Yuri Kuznetsov 9467027f35 cs 2023-12-11 12:22:53 +02:00
Yuri Kuznetsov bedf5d41cd cs 2023-12-11 12:14:56 +02:00
Yuri Kuznetsov 7dab21142a relationship layout default label 2023-12-11 12:12:01 +02:00
Yuri Kuznetsov e3d812b678 comment 2023-12-10 13:15:54 +02:00
Arkadiy Asuratov 002023e2ef feat(awss3): sendChunkedBody param (#2920) 2023-12-10 13:02:03 +02:00
Yuri Kuznetsov 8776acb4b5 ref 2023-12-09 11:07:47 +02:00
Yuri Kuznetsov 9216964801 s3 storage endpoint param 2023-12-09 11:02:12 +02:00
Arkadiy Asuratov 9e3f834b04 minor fixes to schema (#2918)
* fix(schema): remove comma

* fix(schema): add comma
2023-12-08 17:20:03 +02:00
Yuri Kuznetsov 8436e23516 ref 2023-12-08 13:56:37 +02:00
Yuri Kuznetsov 4fa00e27aa fix portal oidcs redirect url 2023-12-08 13:49:03 +02:00
Yuri Kuznetsov d23443b187 update app timestamp command 2023-12-08 12:51:55 +02:00
Yuri Kuznetsov 7664118046 collection tests 2023-12-08 11:17:13 +02:00
Yuri Kuznetsov bfe62800f2 notifications color 2023-12-07 11:52:56 +02:00
Yuri Kuznetsov a7933f88f1 cs 2023-12-06 17:41:12 +02:00
Yuri Kuznetsov c565eb148d ref 2023-12-06 17:36:29 +02:00
Yuri Kuznetsov 49defa44f4 fix email modal collapse confirmation leave out 2023-12-06 14:04:58 +02:00
Yuri Kuznetsov 0be375f5a6 dark theme modal shadow 2023-12-06 13:07:01 +02:00
Yuri Kuznetsov 6a84c7583e jwt: support float and string timestamps 2023-12-06 11:15:30 +02:00
Yuri Kuznetsov ccee4776a8 Merge branch 'fix' 2023-12-05 14:52:23 +02:00
Yuri Kuznetsov bf7f9a3b25 8.0.6 2023-12-05 14:43:30 +02:00
Yuri Kuznetsov 13b43d1bfa fix autocomplete not hiding issue 2023-12-05 12:52:07 +02:00
Yuri Kuznetsov d59b598234 test php 8.3 2023-12-04 10:50:56 +02:00
Yuri Kuznetsov 00a9938a26 update laminas-ldap 2023-12-04 10:49:27 +02:00
Yuri Kuznetsov 885d99374c map providers 2023-12-02 12:12:05 +02:00
Yuri Kuznetsov 3874afe5cc dynamic logic current user 2023-12-01 14:11:00 +02:00
Yuri Kuznetsov a80fe55e80 cs 2023-12-01 12:02:26 +02:00
Yuri Kuznetsov 5445782f31 cs 2023-12-01 11:59:19 +02:00
Yuri Kuznetsov 8660ceac55 add info panel style 2023-12-01 11:36:28 +02:00
Yuri Kuznetsov 5cd6574308 color fix 2023-12-01 11:36:17 +02:00
Yuri Kuznetsov 149950149e text field auto shrink, no resize 2023-12-01 10:34:20 +02:00
Yuri Kuznetsov c9abe652a1 cs 2023-12-01 09:47:31 +02:00
Yuri Kuznetsov 0bd2f96965 doc 2023-12-01 09:47:27 +02:00
Yuri Kuznetsov c3c53363a7 text field max number of rows large number 2023-11-30 20:08:36 +02:00
Yuri Kuznetsov 8092de1c9a dynamic logic ui impr 2023-11-30 19:07:13 +02:00
Yuri Kuznetsov 838365fc9e cs 2023-11-30 15:43:20 +02:00
Yuri Kuznetsov 4b89283ab3 remove unit test 2023-11-30 15:34:56 +02:00
Yuri Kuznetsov 99d2e6f334 hide create related if link is read-only 2023-11-30 15:06:32 +02:00
Yuri Kuznetsov e72095f04a lang 2023-11-29 12:25:32 +02:00
Yuri Kuznetsov 0357ce80f8 default config in diff 2023-11-29 11:03:37 +02:00
Yuri Kuznetsov 26fbdabd94 layout custom module location 2023-11-29 10:26:12 +02:00
Yuri Kuznetsov 7c6b3d20ce lang 2023-11-28 23:06:24 +02:00
dependabot[bot] a914cdad1e Bump phpseclib/phpseclib from 3.0.19 to 3.0.34 (#2911)
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.19 to 3.0.34.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.19...3.0.34)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 22:08:16 +02:00
Yuri Kuznetsov f40a0c98b8 fix 2023-11-27 16:35:08 +02:00
Yuri Kuznetsov a8cbf0d735 fix script 2023-11-27 16:21:16 +02:00
Yuri Kuznetsov fc518d754a fix set config params script 2023-11-27 16:05:45 +02:00
Yuri Kuznetsov d1b138a353 before upgrade 2023-11-25 11:21:46 +02:00
Yuri Kuznetsov 49319fcf42 schema fix 2023-11-25 10:39:01 +02:00
Yuri Kuznetsov c612cb1e62 fix lang 2023-11-24 12:46:16 +02:00
Yuri Kuznetsov 934c3ad8a5 dsable readonly inspection 2023-11-23 15:47:40 +02:00
Yuri Kuznetsov fced4b0d86 ref 2023-11-23 15:33:25 +02:00
Yuri Kuznetsov cf1f87949f cleanup 2023-11-23 15:24:23 +02:00
Yuri Kuznetsov 3a2db3db67 update psr log 2023-11-23 15:16:00 +02:00
Yuri Kuznetsov 390d414c47 update monolog 2023-11-23 15:06:47 +02:00
Yuri Kuznetsov 9e35dee8e5 update libs 2023-11-23 13:53:17 +02:00
Yuri Kuznetsov 53756b488b update slim 2023-11-23 13:43:30 +02:00
Yuri Kuznetsov a81e7057f9 update flysystem-async-aws-s3 2023-11-23 13:36:31 +02:00
Yuri Kuznetsov d83c376fb0 temporarely discard php 8.3 from workflows 2023-11-23 13:03:37 +02:00
Yuri Kuznetsov 63c9f87264 update laminas libs 2023-11-23 13:02:50 +02:00
Yuri Kuznetsov c7a77b3a74 update workflows 2023-11-23 12:52:39 +02:00
Yuri Kuznetsov 5acc9c3fad php 8.3 2023-11-23 12:43:59 +02:00
Yuri Kuznetsov 5098603d83 after upgrade message 2023-11-23 10:54:23 +02:00
Yuri Kuznetsov 376d3ad3b0 Merge branch 'fix' 2023-11-21 20:40:56 +02:00
Yuri Kuznetsov 73052c6003 fix bottom tab issue when panels from first tab is hidden locked 2023-11-21 20:39:10 +02:00
Yuri Kuznetsov 9fbdc52b1a schema 2023-11-21 14:20:43 +02:00
Yuri Kuznetsov 1023a3cfe8 import valicate date fix 2023-11-21 10:15:25 +02:00
Yuri Kuznetsov 53e8f1a78a auth fail reason error 2023-11-18 12:15:24 +02:00
Yuri Kuznetsov 67f5649d35 cs 2023-11-18 11:39:57 +02:00
Yuri Kuznetsov cc6c0f29df cs 2023-11-18 11:32:13 +02:00
Yuri Kuznetsov 158f79cc1d cleanup 2023-11-18 11:12:19 +02:00
Yuri Kuznetsov e66cdf9610 2fa error impr 2023-11-18 11:09:18 +02:00
Yuri Kuznetsov 9bb4d8b8f1 two factor getData exception 2023-11-18 10:58:19 +02:00
Yuri Kuznetsov a2ac059380 fix docs 2023-11-18 10:50:41 +02:00
Yuri Kuznetsov 2bbccbd3b5 ref 2023-11-18 10:37:08 +02:00
Yuri Kuznetsov 0da3a590f2 cs 2023-11-18 10:08:29 +02:00
Yuri Kuznetsov 4955c0aace cs 2023-11-17 17:09:15 +02:00
Yuri Kuznetsov 91db0230f7 cs 2023-11-17 14:32:15 +02:00
Yuri Kuznetsov a55ffffe79 barcode frontend validation 2023-11-17 14:29:12 +02:00
Yuri Kuznetsov 6e270d3dd5 autocompleteOnEmpty 2023-11-17 12:22:36 +02:00
Yuri Kuznetsov e3c7fefb9e ref 2023-11-17 10:34:42 +02:00
Yuri Kuznetsov ef13eee386 list detail layout realType usage 2023-11-17 10:33:16 +02:00
Yuri Kuznetsov ad63cfeae4 cs 2023-11-17 10:16:53 +02:00
Yuri Kuznetsov 159ac4c91e ref 2023-11-17 10:03:51 +02:00
Yuri Kuznetsov 1845f2d7cb date value object toString, deprecate getString 2023-11-17 09:45:56 +02:00
Yuri Kuznetsov d6776ffcc8 schema 2023-11-17 09:11:01 +02:00
Yuri Kuznetsov 90dedefeb0 import: transform decimal currency values 2023-11-16 17:59:10 +02:00
Yuri Kuznetsov 70f15a7cbd validation manager change: exit on first 2023-11-16 17:42:09 +02:00
Yuri Kuznetsov ce62ba719e fix currency string value regexpr valid check 2023-11-16 17:37:46 +02:00
Yuri Kuznetsov a31cd38389 logged user load teams 2023-11-16 16:03:38 +02:00
Yuri Kuznetsov ecaf7978cd ref 2023-11-16 16:03:26 +02:00
Yuri Kuznetsov 312be1dfc1 fix default assignment checker teams loading 2023-11-16 16:03:01 +02:00
Yuri Kuznetsov afdc874df9 import: strip separator for int 2023-11-16 15:01:31 +02:00
Yuri Kuznetsov 4d8784470b import: strip thousand separator 2023-11-16 14:54:19 +02:00
Yuri Kuznetsov bc03276a53 navbar divider in group tab 2023-11-16 14:37:10 +02:00
Yuri Kuznetsov c73930c27d schema 2023-11-16 14:19:52 +02:00
Yuri Kuznetsov ae9dd1aa85 relationship panel primaryFilter param 2023-11-15 20:31:12 +02:00
Yuri Kuznetsov 906ad10da4 Merge branch 'fix' 2023-11-15 17:17:15 +02:00
Yuri Kuznetsov 7e5968b973 prevent unchain view 2023-11-15 17:08:19 +02:00
Yuri Kuznetsov 4e66b3bf0c fix 2023-11-15 12:32:01 +02:00
Yuri Kuznetsov 696c4e4b04 Merge branch 'fix' 2023-11-15 12:24:05 +02:00
Yuri Kuznetsov 9f6e2b4ac6 metadata set param 2023-11-15 12:14:21 +02:00
Yuri Kuznetsov e87548c94a metadata set allow empty array 2023-11-15 12:05:51 +02:00
Yuri Kuznetsov 0be5daf605 schema 2023-11-15 11:16:50 +02:00
Yuri Kuznetsov be5eaf3bd5 fix barcode field js error 2023-11-15 10:16:02 +02:00
Yuri Kuznetsov 579c196447 cs 2023-11-15 10:12:41 +02:00
Yuri Kuznetsov 6e4ca6151a one-to-one select apply isEmpty filter 2023-11-15 10:09:39 +02:00
Yuri Kuznetsov 6912de4fdd default reply from address 2023-11-14 20:43:01 +02:00
Yuri Kuznetsov e1d108168b fix msg 2023-11-14 20:24:34 +02:00
Yuri Kuznetsov 7114a9ff81 qr ecc 2023-11-13 14:23:13 +02:00
Yuri Kuznetsov 422f0a4208 fix 2023-11-13 14:15:53 +02:00
Yuri Kuznetsov ab08c40711 cs 2023-11-13 14:12:30 +02:00
Yuri Kuznetsov d44a0c6243 no-tcpdf, added barcode, qrcode libs 2023-11-13 14:09:09 +02:00
Yuri Kuznetsov 4c341344f2 css fix 2023-11-12 11:56:14 +02:00
Yuri Kuznetsov 896f6028b9 css fix 2023-11-12 11:51:35 +02:00
Yuri Kuznetsov f2a1cd91c0 color fixes 2023-11-12 11:40:50 +02:00
Yuri Kuznetsov 261d1ab808 integration test 2023-11-11 20:37:17 +02:00
Yuri Kuznetsov 1ce11325b4 change sanitizer 2023-11-11 20:29:45 +02:00
Yuri Kuznetsov 4d527f212a doc 2023-11-11 19:09:33 +02:00
Yuri Kuznetsov e922fd90d4 css fix 2023-11-11 18:59:58 +02:00
Yuri Kuznetsov 2ff25224f2 mass-update, lead capture: use sanitize 2023-11-11 18:04:10 +02:00
Yuri Kuznetsov 2ed8edf842 sanitizer 2023-11-11 17:39:46 +02:00
Yuri Kuznetsov 109392c1ae ref 2023-11-11 15:26:13 +02:00
Yuri Kuznetsov 8ea196e349 noinsp 2023-11-11 14:18:57 +02:00
Yuri Kuznetsov f09aa009e7 phone: placeholder zero 2023-11-11 14:12:49 +02:00
Yuri Kuznetsov 4a2a5804ca phone: disable national mode 2023-11-11 14:07:37 +02:00
Yuri Kuznetsov 1aa4075cc6 set number on blur 2023-11-11 14:00:36 +02:00
Yuri Kuznetsov 68d754efab fix test 2023-11-11 13:34:23 +02:00
Yuri Kuznetsov 14cae6dc11 fix phone number text search 2023-11-11 11:53:38 +02:00
Yuri Kuznetsov 360af1eaf7 move 2023-11-11 11:39:51 +02:00
Yuri Kuznetsov 3ef4ee8f60 cs 2023-11-11 11:28:02 +02:00
Yuri Kuznetsov 75763bf287 lead capture phone country 2023-11-11 11:24:21 +02:00
Yuri Kuznetsov ed362255df cs 2023-11-10 18:07:28 +02:00
Yuri Kuznetsov e4ec0a8c75 libs without src support 2023-11-10 18:01:13 +02:00
Yuri Kuznetsov 5abdb2339d cs 2023-11-10 17:04:28 +02:00
Yuri Kuznetsov 93a0a53aab adminUpgradeDisabled param 2023-11-10 16:56:43 +02:00
Yuri Kuznetsov 4cbdb18aef phone validate strict 2023-11-10 16:06:36 +02:00
Yuri Kuznetsov 66cbf57f5e internation phone numbers 2023-11-10 15:15:39 +02:00
Yuri Kuznetsov e1c101b786 phone search keep original value 2023-11-09 21:19:07 +02:00
Yuri Kuznetsov f3f797a7cf phone number only numeric search param 2023-11-09 17:25:23 +02:00
Yuri Kuznetsov a74cdd13ec fix deprecation 2023-11-09 16:43:46 +02:00
Yuri Kuznetsov 9a962dee0a cs 2023-11-09 16:39:01 +02:00
Yuri Kuznetsov daedb1698a phone number list: numeric filter 2023-11-09 16:36:52 +02:00
Yuri Kuznetsov 5aa4c8f069 cs 2023-11-09 16:26:49 +02:00
Yuri Kuznetsov bb4a93418e link create button changes 2023-11-09 15:39:04 +02:00
Yuri Kuznetsov 0a7005edaa cs 2023-11-09 15:26:38 +02:00
Yuri Kuznetsov cdfbb1b2e3 link, link-multiple: create button param 2023-11-09 15:24:49 +02:00
Yuri Kuznetsov eb80fbc431 create button access check 2023-11-09 14:52:19 +02:00
Yuri Kuznetsov 2afab7fd3a link-multiple create button 2023-11-09 14:49:10 +02:00
Yuri Kuznetsov 65f309beec cs 2023-11-09 14:42:24 +02:00
Yuri Kuznetsov fb17a09a39 cleanupDeletedRecords true 2023-11-09 13:13:32 +02:00
Yuri Kuznetsov 3f6f806500 Merge branch 'fix' 2023-11-09 13:11:02 +02:00
Yuri Kuznetsov e82beb562f email in trash filter 2023-11-09 12:57:29 +02:00
Yuri Kuznetsov 322db47c04 layout manager width complex 2023-11-09 12:47:57 +02:00
Yuri Kuznetsov 8166f5d359 docs 2023-11-09 12:34:49 +02:00
Yuri Kuznetsov 8204a80d6a ref 2023-11-09 11:57:53 +02:00
Yuri Kuznetsov e0ffe3d367 cs 2023-11-09 11:52:53 +02:00
Yuri Kuznetsov 02cce4dbe7 inspection 2023-11-09 11:52:21 +02:00
Yuri Kuznetsov 2f174d81e8 cs 2023-11-09 11:43:18 +02:00
Yuri Kuznetsov ba60ca62e8 cs 2023-11-09 11:11:01 +02:00
Yuri Kuznetsov 7d498cc6aa fix handle action 2023-11-09 11:08:39 +02:00
Yuri Kuznetsov b7f816feee language proxy 2023-11-09 10:49:32 +02:00
Yuri Kuznetsov ea4cd67299 fix 2023-11-09 10:48:41 +02:00
Yuri Kuznetsov edc024fbb9 fix 2023-11-09 10:18:30 +02:00
Yuri Kuznetsov 255051a9ae list view fixes 2023-11-09 09:54:16 +02:00
Yuri Kuznetsov ef87f02290 listViewSettingsDisabled 2023-11-08 20:13:50 +02:00
Yuri Kuznetsov 066751a698 disable list settings for non-object entity types 2023-11-08 20:05:15 +02:00
Yuri Kuznetsov e485bd3963 layout fix 2023-11-08 19:24:49 +02:00
Yuri Kuznetsov 344110832a fix layout 2023-11-08 19:20:45 +02:00
Yuri Kuznetsov 5f830a016c fix layout 2023-11-08 19:09:50 +02:00
Yuri Kuznetsov f64eb866d5 list columns settings 2023-11-08 18:46:27 +02:00
Yuri Kuznetsov 4571209988 entity modals: entityType 2023-11-08 12:18:21 +02:00
Yuri Kuznetsov 14ea6fb284 ref 2023-11-08 11:27:19 +02:00
Yuri Kuznetsov 918c864f7d cs 2023-11-08 11:23:29 +02:00
Yuri Kuznetsov c95be2f54e orm isRelatedById method 2023-11-08 11:22:38 +02:00
Yuri Kuznetsov 930f706dd3 Merge branch 'fix' 2023-11-08 10:15:42 +02:00
Yuri Kuznetsov 9a013b7ea7 8.0.5 2023-11-08 10:04:43 +02:00
Yuri Kuznetsov 6d1d38c4af email template placeholders 2023-11-07 19:20:07 +02:00
Yuri Kuznetsov 72a218fca0 navbar item defs change 2023-11-07 18:44:34 +02:00
Yuri Kuznetsov 766d6b8bdb ref 2023-11-07 18:28:06 +02:00
Yuri Kuznetsov 392e6bca48 custom navbar items 2023-11-07 17:35:41 +02:00
Yuri Kuznetsov 2f6ab60b04 cs 2023-11-07 16:31:34 +02:00
Yuri Kuznetsov 7db5c9f934 modal action icon class 2023-11-07 15:42:52 +02:00
Yuri Kuznetsov 9cb44622a5 btn change 2023-11-07 15:29:06 +02:00
Yuri Kuznetsov 5eebc138ae modal button icon class 2023-11-07 15:18:14 +02:00
Yuri Kuznetsov 12b7827930 add btn-icon 2023-11-07 15:17:48 +02:00
Yuri Kuznetsov 552681ed83 use non actual options 2023-11-07 14:53:05 +02:00
Yuri Kuznetsov 27b2b2dda7 lang 2023-11-07 14:06:16 +02:00
Yuri Kuznetsov 174fcaa5df actionFunction for modal buttons 2023-11-07 14:00:50 +02:00
Yuri Kuznetsov 8f1565c2d6 cs 2023-11-07 14:00:28 +02:00
Yuri Kuznetsov 058837e215 modal action impr 2023-11-07 13:53:31 +02:00
Yuri Kuznetsov d133295a3d cs 2023-11-07 12:40:55 +02:00
Yuri Kuznetsov 0272f5546f mass action actionFunction 2023-11-07 12:38:34 +02:00
Yuri Kuznetsov 47d814ecfb cs 2023-11-07 12:29:02 +02:00
Yuri Kuznetsov 6cf7848c3a fix 2023-11-07 12:22:19 +02:00
Yuri Kuznetsov 054fb5f18c cs 2023-11-07 12:22:04 +02:00
Yuri Kuznetsov 65113ea1d9 cs 2023-11-07 12:17:19 +02:00
Yuri Kuznetsov 438d532ff5 client actions improvements 2023-11-07 12:14:55 +02:00
Yuri Kuznetsov 44b090ecaf Merge branch 'fix' 2023-11-07 10:20:50 +02:00
Yuri Kuznetsov 124214aee3 curl protocols option 2023-11-07 10:01:43 +02:00
Yuri Kuznetsov 0d7bbcbf46 Merge branch 'fix' 2023-11-06 23:24:56 +02:00
Yuri Kuznetsov 3bd6b3bd46 webhook allow http and https only 2023-11-06 16:03:49 +02:00
Yuri Kuznetsov c536cee637 image upload url check 2023-11-06 16:02:13 +02:00
Yuri Kuznetsov d41e0e27c7 relationship panel: scope => entityType 2023-11-06 13:14:33 +02:00
Yuri Kuznetsov 94ffa77f90 error body message 2023-11-06 12:46:42 +02:00
Yuri Kuznetsov 3fbb1d9b15 cs 2023-11-06 12:40:54 +02:00
Yuri Kuznetsov 224f4a259c array default db value 2023-11-05 16:56:53 +02:00
Yuri Kuznetsov f026156486 default array 2023-11-05 16:32:42 +02:00
Yuri Kuznetsov d4480b8ce9 enum default ui impr 2023-11-05 16:21:40 +02:00
Yuri Kuznetsov 01c3f6e857 entity setMultiple method 2023-11-05 16:02:29 +02:00
Yuri Kuznetsov b744b78fa6 forUpdate apply sth 2023-11-05 15:56:15 +02:00
Yuri Kuznetsov 70ac8150df record BeforeSave hook interface 2023-11-05 15:51:56 +02:00
Yuri Kuznetsov 1db4d9af0a cs 2023-11-05 15:37:18 +02:00
Yuri Kuznetsov f8ca8c5130 exception accept body obj 2023-11-05 14:07:40 +02:00
Yuri Kuznetsov c8115e0b33 fix deprecated attributes 2023-11-05 14:02:16 +02:00
Yuri Kuznetsov 0be13f330b fix deprecated attributes 2023-11-05 13:59:54 +02:00
Yuri Kuznetsov 79268a5d19 cleanup 2023-11-05 13:28:53 +02:00
Yuri Kuznetsov 167b8a948c revert 2023-11-05 13:23:09 +02:00
Yuri Kuznetsov cc0e15a736 fix 2023-11-05 13:09:49 +02:00
Yuri Kuznetsov 01ee0798cb discard 2023-11-05 12:50:08 +02:00
Yuri Kuznetsov eec173e476 row actions kanban 2023-11-05 12:42:03 +02:00
Yuri Kuznetsov 4b9321eda8 css fix 2023-11-05 10:42:14 +02:00
Yuri Kuznetsov 67f0512773 fields defaults null 2023-11-05 10:39:00 +02:00
Yuri Kuznetsov c635b23b56 metadata ref 2023-11-05 10:08:23 +02:00
Yuri Kuznetsov e2630bbf51 cs 2023-11-04 19:47:46 +02:00
Yuri Kuznetsov e5a474e99f row actions framework 2 2023-11-04 19:34:16 +02:00
Yuri Kuznetsov 8ad6d5816b row-actions framework 2023-11-04 17:13:55 +02:00
Yuri Kuznetsov b53cf68dee cs 2023-11-04 15:18:12 +02:00
Yuri Kuznetsov 8dba225aae loading value change 2023-11-04 12:10:04 +02:00
Yuri Kuznetsov bd8260d139 frontend populate defaults all fields 2023-11-04 11:45:59 +02:00
Yuri Kuznetsov c55d2454c3 docs fix 2023-11-04 10:43:54 +02:00
Yuri Kuznetsov 30454e3c06 cs 2023-11-04 10:37:20 +02:00
Yuri Kuznetsov 662a4c8bd4 wysiwyg insert table width 100 2023-11-03 18:10:53 +02:00
Yuri Kuznetsov d15b730b11 ref 2023-11-03 14:12:02 +02:00
Yuri Kuznetsov beab4f11ab pdf template body field: use iframe 2023-11-03 13:33:55 +02:00
Yuri Kuznetsov 4f1478226e cs 2023-11-03 13:01:38 +02:00
Yuri Kuznetsov 9ceff38deb cs 2023-11-03 12:54:19 +02:00
Yuri Kuznetsov f7aeb4dbe6 entity provider 2023-11-03 12:46:47 +02:00
Yuri Kuznetsov 7710582a41 fix 2023-11-03 12:37:03 +02:00
Yuri Kuznetsov f80d38d165 repository: dont set modified if not changed 2023-11-03 12:19:07 +02:00
Yuri Kuznetsov 9c2b1d92ce cs 2023-11-03 11:56:45 +02:00
Yuri Kuznetsov 07c223e521 mail importer interface 2023-11-03 11:50:35 +02:00
Yuri Kuznetsov 6d443a35da Merge branch 'fix' 2023-11-03 11:42:38 +02:00
Yuri Kuznetsov b1d2795347 not copying status field on duplicate 2023-11-03 11:38:46 +02:00
Yuri Kuznetsov 0f9bce70cf mass update use select 2023-11-01 16:56:05 +02:00
Yuri Kuznetsov 6f1f72127f cs 2023-11-01 16:55:55 +02:00
Yuri Kuznetsov 986edeb79e cs 2023-11-01 16:49:13 +02:00
Yuri Kuznetsov b3391df6e8 mass update targetLists 2023-11-01 16:43:05 +02:00
Yuri Kuznetsov d8a114c90a popover improvements 2023-10-30 15:48:18 +02:00
Yuri Kuznetsov 67ecb7b73f fix docs 2023-10-27 13:51:29 +03:00
Yuri Kuznetsov 1f456f6d5d link check for belongs-to & has-one 2023-10-27 13:50:09 +03:00
Yuri Kuznetsov adcaf5dc23 docs 2023-10-27 13:48:47 +03:00
Yuri Kuznetsov 22c5a771d0 fieldType 2023-10-27 11:48:10 +03:00
Yuri Kuznetsov 148ac05654 Merge branch 'fix' 2023-10-27 10:30:35 +03:00
Yuri Kuznetsov 3fa9f4bf91 8.0.4 2023-10-27 10:22:00 +03:00
Yuri Kuznetsov 6c4a139e66 KB portal 2023-10-26 21:29:49 +03:00
Yuri Kuznetsov 6d576de211 forbid link unlink for one relationships 2023-10-26 17:24:33 +03:00
Yuri Kuznetsov ad1804fa3c Merge branch 'fix' 2023-10-26 17:18:23 +03:00
Yuri Kuznetsov d3a1db25c2 comment 2023-10-26 16:57:22 +03:00
Yuri Kuznetsov 0fcd3cd780 msg fix 2023-10-26 16:48:54 +03:00
Yuri Kuznetsov 61cb573eec cs 2023-10-26 14:26:16 +03:00
Yuri Kuznetsov 5dd84bf9a1 SMTP translated message 2023-10-26 14:24:55 +03:00
Yuri Kuznetsov 5dad7c6bba cs 2023-10-26 14:01:06 +03:00
Yuri Kuznetsov 3007d50299 cs 2023-10-26 14:00:05 +03:00
Yuri Kuznetsov 11c0ac6987 noopener 2023-10-26 13:52:33 +03:00
Yuri Kuznetsov 2bb62883a4 cs 2023-10-26 13:33:03 +03:00
Yuri Kuznetsov 5796d2fb85 cs 2023-10-26 13:28:05 +03:00
Yuri Kuznetsov dae318c9bb cs 2023-10-26 13:26:07 +03:00
Yuri Kuznetsov 342764e9ff related records modal fetch when rendered 2023-10-26 13:19:43 +03:00
Yuri Kuznetsov 27b9e28e20 cs 2023-10-26 12:35:16 +03:00
Yuri Kuznetsov f8d5dd7fa6 modal select related sync mass remove 2023-10-26 12:06:49 +03:00
Yuri Kuznetsov 7408f97fbd cs 2023-10-26 11:56:03 +03:00
Yuri Kuznetsov d1a9cf840f inspection let/const 2023-10-26 11:29:35 +03:00
Yuri Kuznetsov d593927b14 cs 2023-10-26 11:29:25 +03:00
Yuri Kuznetsov f62ebb8fe8 ref 2023-10-26 11:22:51 +03:00
Yuri Kuznetsov ede798dbe5 schema additions 2023-10-26 11:15:54 +03:00
Yuri Kuznetsov c3095b6a32 schema dynamic logic options 2023-10-26 11:06:09 +03:00
Yuri Kuznetsov 9eb5bfc9fe css fix 2023-10-26 10:59:11 +03:00
Yuri Kuznetsov bf2c529884 labels 2023-10-26 10:48:49 +03:00
Yuri Kuznetsov 7ce8150541 fix link fields advanced filter 2023-10-25 20:38:20 +03:00
Yuri Kuznetsov 44de149923 link, link-multiple select method 2023-10-25 14:04:14 +03:00
Yuri Kuznetsov 8ecdc7b9d9 first panel filter 2023-10-25 12:41:31 +03:00
Yuri Kuznetsov 95c64359d2 cons 2023-10-25 12:06:46 +03:00
Yuri Kuznetsov 44203e2178 one primary filter 2023-10-25 12:03:22 +03:00
Yuri Kuznetsov d3d940d9c9 fix 2023-10-25 11:03:29 +03:00
Yuri Kuznetsov 9d3efae141 fix list related modal unlink disabled 2023-10-24 20:20:30 +03:00
Yuri Kuznetsov e6eb3e7099 type fix 2023-10-24 10:37:15 +03:00
DrWarpMan 3ab2b37471 fix validatorClassNameMap (#2881) 2023-10-24 10:29:04 +03:00
Yuri Kuznetsov 33e7f4e3ef json retrive support empty path 2023-10-23 20:59:59 +03:00
Yuri Kuznetsov 6463eaa6f6 less placement.less 2023-10-23 14:22:25 +03:00
Yuri Kuznetsov a066c0a187 style fix 2023-10-23 14:09:54 +03:00
Yuri Kuznetsov 176f65713f list-group css fix 2023-10-23 13:57:25 +03:00
Yuri Kuznetsov bcc6edf083 update babel 2023-10-21 10:36:33 +03:00
Yuri Kuznetsov 5f43c710ae Merge branch 'fix' 2023-10-21 10:34:09 +03:00
Yuri Kuznetsov 493afdf3d4 tableClassName 2023-10-19 17:22:30 +03:00
Yuri Kuznetsov c85b6a37a6 cs 2023-10-19 17:17:03 +03:00
Yuri Kuznetsov 81971d0eda doc fix 2023-10-19 17:02:38 +03:00
Yuri Kuznetsov 8a6cc9ea35 before upgrade version check 2023-10-19 16:55:30 +03:00
Yuri Kuznetsov 4fd125ddfc base url support index file 2023-10-19 16:48:50 +03:00
Yuri Kuznetsov 1298a8382d export: use additional applier 2023-10-19 11:17:35 +03:00
Yuri Kuznetsov bb9c352f55 export: do not list not exportable fields 2023-10-19 10:40:23 +03:00
Yuri Kuznetsov 045533d080 export: do not load link-multiple if no field 2023-10-19 10:34:00 +03:00
Yuri Kuznetsov 6a5ab5f738 command listed 2023-10-17 15:22:28 +03:00
Yuri Kuznetsov c1b0e4fd17 throw docs 2023-10-17 13:12:59 +03:00
Yuri Kuznetsov e71928ffa7 css fix 2023-10-17 13:12:25 +03:00
Yuri Kuznetsov de3f5de029 fix translation 2023-10-17 13:08:00 +03:00
Yuri Kuznetsov 57ceee4d4c export: do not sanitize numeric values 2023-10-17 13:04:38 +03:00
Yuri Kuznetsov 9a5cd7609b import ksort row 2023-10-17 12:45:14 +03:00
Yuri Kuznetsov 1382dca3e3 cs 2023-10-17 11:46:14 +03:00
Yuri Kuznetsov bc7a3e8839 cs, browser compatibility fix 2023-10-17 11:38:17 +03:00
Yuri Kuznetsov c5d6f4c63f entity manager disabled fix 2023-10-16 17:11:03 +03:00
Yuri Kuznetsov 6776f813af schema 2023-10-16 16:48:53 +03:00
Yuri Kuznetsov edfecb21c7 Update README.md 2023-10-14 16:05:34 +03:00
Yuri Kuznetsov 6d18f2485d record helper as option 2023-10-13 16:19:50 +03:00
Yuri Kuznetsov 73753b364e unchain main view 2023-10-13 10:21:06 +03:00
Yuri Kuznetsov 35a8a71150 Merge branch 'fix' 2023-10-12 10:05:06 +03:00
Yuri Kuznetsov 68d6a14d04 orm: wrap and/or expr into braces 2023-10-11 10:43:39 +03:00
Yuri Kuznetsov c155d37790 comment 2023-10-10 17:04:25 +03:00
Yuri Kuznetsov 6a6446d0b7 whenReady, field re-render with prepare fix 2023-10-10 16:34:55 +03:00
Yuri Kuznetsov b0b4fe5570 set field read only race condition fix 2023-10-10 15:06:12 +03:00
Yuri Kuznetsov 6de8c3d1ca calendar dashlet size update 2023-10-10 12:01:25 +03:00
Yuri Kuznetsov 319f3f645a calaendar css fix 2023-10-10 11:52:23 +03:00
Yuri Kuznetsov bedfbb0e6b calendar slot duration 2023-10-10 11:15:16 +03:00
Yuri Kuznetsov 6526f02d88 Update feature_request.md 2023-10-09 15:29:14 +03:00
Yuri Kuznetsov 148ffce6b7 re-reject on save error 2023-10-09 13:13:31 +03:00
Yuri Kuznetsov 85cb969780 fix schema docs 2023-10-09 11:51:56 +03:00
Yuri Kuznetsov c1a75ad051 schema 2023-10-09 11:46:07 +03:00
Yuri Kuznetsov 5f4cf2925b Merge branch 'stable' 2023-10-09 10:10:35 +03:00
Yuri Kuznetsov 7de49e9812 8.0.3 2023-10-09 10:00:50 +03:00
Yuri Kuznetsov 7416566269 docs since 2023-10-08 15:43:37 +03:00
Yuri Kuznetsov 8c54ca43f0 ref 2023-10-08 13:22:37 +03:00
Yuri Kuznetsov 69fe549052 orm alias reference 2023-10-07 15:49:52 +03:00
Yuri Kuznetsov 1943c01066 ref 2023-10-07 14:46:44 +03:00
Yuri Kuznetsov 8d9889d453 ref 2023-10-07 14:25:01 +03:00
Yuri Kuznetsov 280d71f1c6 read-only-after-create 2023-10-07 11:54:06 +03:00
Yuri Kuznetsov bfd8aa4777 Merge branch 'fix' 2023-10-07 11:11:27 +03:00
Yuri Kuznetsov 23e7657bf6 revert readme 2023-10-06 11:53:27 +03:00
Yuri Kuznetsov 13c5d65f50 fix formula add attributes 2023-10-06 10:53:58 +03:00
Yuri Kuznetsov a86132a32b readme cleanup 2023-10-06 10:45:24 +03:00
Yuri Kuznetsov e8c4d5326a Merge branch 'fix' 2023-10-06 10:35:58 +03:00
Yuri Kuznetsov 34ce9d68bf sk lang 2023-10-06 10:34:20 +03:00
Yuri Kuznetsov 58dbadb869 fr lang 2023-10-06 10:33:19 +03:00
Yuri Kuznetsov 0a9d901874 css fix 2023-10-04 14:56:20 +03:00
Yuri Kuznetsov 9ebad9aad8 btn icon class 2023-10-04 14:38:06 +03:00
Yuri Kuznetsov e44b921143 kb article acl level own 2023-10-04 11:30:57 +03:00
Yuri Kuznetsov 6cb44e65a6 calendar week range title fix 2023-10-04 10:10:31 +03:00
Yuri Kuznetsov 5398331956 style fix 2023-10-03 14:20:30 +03:00
Yuri Kuznetsov de88ff0b6a merge 2023-10-03 11:33:10 +03:00
Yuri Kuznetsov 1bbc92e460 fix link field 2023-10-03 11:31:03 +03:00
Yuri Kuznetsov e3ef9391ce fix link field 2023-10-03 11:28:58 +03:00
Yuri Kuznetsov b317f99196 em not customizable guard 2023-09-30 15:18:52 +03:00
Yuri Kuznetsov 512c45c9b5 jsdoc fix 2023-09-30 14:53:33 +03:00
Yuri Kuznetsov 5f4ae01c85 layout manager fix 2023-09-30 14:50:19 +03:00
Yuri Kuznetsov 77a0718521 Merge branch 'master' of https://github.com/espocrm/espocrm 2023-09-30 09:24:18 +03:00
Yuri Kuznetsov 6c2bab44f6 hide layout foreign 2023-09-29 21:05:07 +03:00
Yuri Kuznetsov b6f8a8bf9e fix 2023-09-29 21:00:25 +03:00
Yuri Kuznetsov ed3030606f fix 2023-09-29 17:31:39 +03:00
Yuri Kuznetsov 274e46fa35 schema fix 2023-09-29 17:20:18 +03:00
Yuri Kuznetsov e95620c131 link: createButton prop 2023-09-29 17:14:38 +03:00
Yuri Kuznetsov 31cb11f0d1 fix autotomplete url where 2023-09-29 15:28:07 +03:00
Yuri Kuznetsov fae905efb0 email mass update layout 2023-09-29 10:00:03 +03:00
Yuri Kuznetsov fcc1bada71 fix schema 2023-09-29 09:55:35 +03:00
Yuri Kuznetsov 8a140b2303 calendar span to another day in agenda view when duration <24h 2023-09-28 09:58:45 +03:00
Yuri Kuznetsov 9551590f92 fix all-day after drop 2023-09-28 09:54:28 +03:00
Yuri Kuznetsov 0d8278aa0d cs 2023-09-28 09:31:59 +03:00
Yuri Kuznetsov c23a4e2085 calendar fix all-day issue 2023-09-28 09:26:54 +03:00
Yuri Kuznetsov fe77f2c14c calendar fix update event rendering 2023-09-28 09:01:09 +03:00
Yuri Kuznetsov 5e06ad19ee cs 2023-09-28 08:18:53 +03:00
Yuri Kuznetsov 8bce12aca3 fix calendar initial date 2023-09-28 07:54:42 +03:00
Yuri Kuznetsov d928ba7c3b calendar color fix 2023-09-26 15:08:59 +03:00
Yuri Kuznetsov 25b0077adc fix ldap warning 2023-09-26 11:31:53 +03:00
Yuri Kuznetsov ee0bcb7685 fix upgrade script 2023-09-26 09:28:57 +03:00
Yuri Kuznetsov 642141f574 select list layout 2023-09-25 14:35:27 +03:00
Yuri Kuznetsov 90cdfb5e7e layout fix 2023-09-25 14:34:28 +03:00
Yuri Kuznetsov 9967bc26d9 link link multiple autocomplete apply all filters, fix empty autocomplete 2023-09-22 15:47:08 +03:00
Yuri Kuznetsov fef2d74ec2 autocomplete on empty 2023-09-22 14:46:14 +03:00
Yuri Kuznetsov 9bbd262d05 fix param panelDefs.selectPrimaryFilterName usage 2023-09-22 14:27:51 +03:00
Yuri Kuznetsov 555d8a1a24 navbar fix 2023-09-22 12:21:05 +03:00
Yuri Kuznetsov f7f549fb05 cs 2023-09-22 11:51:25 +03:00
Aurelio d69c631a32 German Translation fixes and improvements (#2853)
* German translation of cancellation templates
2023-09-21 16:36:34 +03:00
Yuri Kuznetsov 5e3a4c12d7 style fix 2023-09-21 14:24:17 +03:00
Yuri Kuznetsov f75d0562ba uix fix 2023-09-21 14:19:47 +03:00
Yuri Kuznetsov ab745b3b03 de_DE update 2023-09-21 14:04:44 +03:00
Yuri Kuznetsov f745d870f7 dont override bool filter list 2023-09-21 13:15:42 +03:00
Yuri Kuznetsov 0ebae7734a format 2023-09-21 13:09:48 +03:00
Yuri Kuznetsov b1b61963fc login headers fix 2023-09-21 11:20:10 +03:00
Yuri Kuznetsov 5282f01cda link multiple default in orm metadata 2023-09-21 10:28:37 +03:00
Yuri Kuznetsov 9f38c01668 Update bug_report.md 2023-09-20 22:23:28 +03:00
Yuri Kuznetsov 6fed836bee calendar time on shared view 2023-09-19 14:22:46 +03:00
Yuri Kuznetsov d39c8837fb v 2023-09-18 10:47:23 +03:00
Yuri Kuznetsov 870be0d1f0 upgrade fix 2023-09-18 10:41:12 +03:00
Yuri Kuznetsov a889163d23 before upgrade check 2023-09-18 10:31:04 +03:00
Yuri Kuznetsov 1145d1c902 lang 2023-09-18 10:15:50 +03:00
Yuri Kuznetsov d641e5faaa calendar css fix 2023-09-14 17:31:24 +03:00
Yuri Kuznetsov 57ca5ebf7b fix calendar month view day label 2023-09-14 15:26:18 +03:00
Yuri Kuznetsov c2126e0680 fix email template plain text br 2023-09-14 14:36:18 +03:00
Yuri Kuznetsov 45ba66c0ff ref 2023-09-14 14:25:17 +03:00
Yuri Kuznetsov a6af348a50 cs 2023-09-14 14:23:12 +03:00
Yuri Kuznetsov 95fe5a47f5 8.0.1 2023-09-14 13:30:09 +03:00
Yuri Kuznetsov 29b3166da9 shared calendar fix 2023-09-14 12:22:48 +03:00
Yuri Kuznetsov 38ab3fbc44 cs 2023-09-14 11:52:22 +03:00
Yuri Kuznetsov b7ae677fb3 read-only link tooltip 2023-09-13 17:57:56 +03:00
Yuri Kuznetsov f54656dde1 cleanup 2023-09-13 10:10:26 +03:00
Yuri Kuznetsov fad1661b14 fix calendar all day 2023-09-13 10:06:53 +03:00
Yuri Kuznetsov ed99c82137 fix calendar error msg on resize 2023-09-13 09:27:23 +03:00
Yuri Kuznetsov c27a4fb609 fix calendar drop event 2023-09-13 09:21:03 +03:00
Yuri Kuznetsov 216268f225 cs 2023-09-13 09:06:40 +03:00
Yuri Kuznetsov a5371d9a52 css fix 2023-09-12 10:36:26 +03:00
David fdcf06efa9 fix render problems with prepare (#2840)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-09-12 10:00:30 +03:00
Yuri Kuznetsov 755d48919f case emails link access read 2023-09-11 12:33:02 +03:00
Yuri Kuznetsov 51bd72dc62 fix warning 2023-09-11 10:15:31 +03:00
Yuri Kuznetsov fe4a90ed97 ref 2023-09-10 14:00:35 +03:00
Yuri Kuznetsov 7ee08a6713 fix empty attributes error 2023-09-09 10:03:42 +03:00
Yuri Kuznetsov 0695fd87c0 api save option 2023-09-08 11:00:08 +03:00
Yuri Kuznetsov ab8fe96919 fix doc 2023-09-08 10:55:31 +03:00
Yuri Kuznetsov a20c3f14ac fix fullcalendar 2023-09-07 09:08:56 +03:00
Yuri Kuznetsov 62a0ca4fb5 fix field label element 2023-09-05 17:41:34 +03:00
Yuri Kuznetsov 2171f9c848 fix 2023-09-05 13:52:43 +03:00
Yuri Kuznetsov 384aed2a91 fix select with category 2023-09-04 12:40:35 +03:00
Yuri Kuznetsov 2d9f20f2cc shortcuts 2023-09-04 12:02:58 +03:00
Yuri Kuznetsov 8430e24eae fix doc 2023-09-04 12:00:37 +03:00
Yuri Kuznetsov d13755ba5f diff fix 2023-09-04 11:12:24 +03:00
Yuri Kuznetsov d496892878 colors 2023-09-04 10:37:19 +03:00
Yuri Kuznetsov 6d32879f21 throws 2023-09-02 19:13:56 +03:00
Yuri Kuznetsov 40e7eeb118 v 2023-09-01 09:32:29 +03:00
Yuri Kuznetsov 02ef6b73af Update README.md 2023-08-31 20:00:02 +03:00
Yuri Kuznetsov e831768d92 ref email parser 2023-08-31 17:31:12 +03:00
Yuri Kuznetsov a0695b492e attachment fallback disposition 2023-08-31 17:07:50 +03:00
Yuri Kuznetsov cddcebfe27 fix 2023-08-31 13:42:30 +03:00
Yuri Kuznetsov 71ca25854f email select replyToString 2023-08-31 11:50:24 +03:00
Yuri Kuznetsov ad962d5bcd all fields 2023-08-30 18:13:57 +03:00
Yuri Kuznetsov 0083d99d37 ref 2023-08-30 18:00:18 +03:00
Yuri Kuznetsov 5cd710e420 getMode 2023-08-28 15:40:38 +03:00
Yuri Kuznetsov 6da1bc083e isInlineEditMode 2023-08-28 15:35:05 +03:00
Yuri Kuznetsov 47aaecf3ac css fix 2023-08-28 11:57:34 +03:00
Yuri Kuznetsov a3f2fadd9e schema 2023-08-28 10:19:44 +03:00
Yuri Kuznetsov 0cf851755b cs 2023-08-28 09:54:40 +03:00
Yuri Kuznetsov 1361168d00 helper iconClass 2023-08-28 09:54:33 +03:00
Yuri Kuznetsov b888d3bcbc schema 2023-08-28 09:52:14 +03:00
Yuri Kuznetsov 203dce371c comment 2023-08-28 08:57:53 +03:00
Yuri Kuznetsov 1a81f4a8af merge 2023-08-27 15:47:12 +03:00
Yuri Kuznetsov 9b788c3c2d 7.5.6 2023-08-27 15:27:44 +03:00
Yuri Kuznetsov 17e487d011 update spatie 2023-08-27 15:19:58 +03:00
Yuri Kuznetsov b2b11fba32 fix 2023-08-25 12:36:48 +03:00
Yuri Kuznetsov 4d4af995c8 fix lang 2023-08-25 09:54:01 +03:00
Yuri Kuznetsov 0d04aedd00 schema doc 2023-08-24 14:37:32 +03:00
Yuri Kuznetsov 53930866df loadAdditionalFieldsAfterUpdate 2023-08-23 13:48:50 +03:00
Yuri Kuznetsov 9ce5c7c2fa fix dashlet 2023-08-23 11:13:19 +03:00
Yuri Kuznetsov dc30bd3991 fix 2023-08-21 14:01:21 +03:00
Yuri Kuznetsov 70c90972dc fix manage folder button appearance 2023-08-21 10:14:07 +03:00
Yuri Kuznetsov 9daa5b8583 schema 2023-08-19 19:14:21 +03:00
Yuri Kuznetsov 5916cfd345 schema 2023-08-19 19:08:53 +03:00
Yuri Kuznetsov dec78c447d schema 2023-08-18 15:07:43 +03:00
Yuri Kuznetsov 100359ad6f schema 2023-08-17 14:13:07 +03:00
Yuri Kuznetsov 26e6f658fd fix msg 2023-08-17 14:03:53 +03:00
Yuri Kuznetsov 15bf2bf772 portal tab divideres 2023-08-17 12:14:19 +03:00
Yuri Kuznetsov 4e72413829 fix 2023-08-17 12:00:32 +03:00
Yuri Kuznetsov 0fb214434e schema 2023-08-17 10:55:28 +03:00
Yuri Kuznetsov 2b4c62eab8 fix 2023-08-17 10:42:16 +03:00
Hanefi Turkoz 0ed5f41fa8 typo (#2826) 2023-08-17 10:22:14 +03:00
Yuri Kuznetsov 7e973667c8 select field handler 2023-08-16 15:26:26 +03:00
Yuri Kuznetsov 8639fc5b39 fix 2023-08-16 15:06:11 +03:00
Yuri Kuznetsov f503a08813 selectMandatoryAttributeList 2023-08-16 14:46:38 +03:00
Yuri Kuznetsov 634403cd6e fix notify close modal 2023-08-16 13:24:50 +03:00
Yuri Kuznetsov 6a539bcdcc schema 2023-08-16 10:33:28 +03:00
Yuri Kuznetsov c43830cd6a fix docs 2023-08-15 20:13:34 +03:00
Yuri Kuznetsov ca6c9dc312 fix 2023-08-15 20:12:33 +03:00
Yuri Kuznetsov c5194edcdd docs 2023-08-15 20:10:59 +03:00
Yuri Kuznetsov 7905c1e254 ref 2023-08-15 19:56:24 +03:00
Yuri Kuznetsov fa0d46dba9 date time methods 2023-08-15 19:55:19 +03:00
Yuri Kuznetsov 2bf8a96ec8 ref 2023-08-15 19:43:47 +03:00
Yuri Kuznetsov 41a15cc254 cs 2023-08-15 19:33:01 +03:00
Yuri Kuznetsov 2364ae67dd merge 2023-08-15 19:22:56 +03:00
Yuri Kuznetsov 3c64db25b9 portal entry point client fix 2023-08-15 19:14:47 +03:00
Yuri Kuznetsov 87b2703b1e select-related related-list layoutName option 2023-08-15 15:20:10 +03:00
Yuri Kuznetsov d86a8e554b fix addActionHandler 2023-08-14 14:12:51 +03:00
Yuri Kuznetsov af809c66b1 fix 2023-08-14 12:08:13 +03:00
Yuri Kuznetsov 702087f0b6 list layout label 2023-08-13 16:54:59 +03:00
Yuri Kuznetsov d91db9ef62 fix doc 2023-08-13 16:40:32 +03:00
Arkadiy Asuratov 7af819a656 fix uuid matching in handlePostText (#2824) 2023-08-12 11:10:35 +03:00
Yuri Kuznetsov 633e678590 ref 2023-08-10 11:36:47 +03:00
Yuri Kuznetsov a5f6d4e56a date filters fix 2023-08-10 10:55:36 +03:00
Yuri Kuznetsov c71cf46cbe fix 2023-08-10 10:12:30 +03:00
Yuri Kuznetsov 3dc0dbbbac fix range 2023-08-10 09:27:05 +03:00
Yuri Kuznetsov eeba4fd8bf cs 2023-08-09 15:56:30 +03:00
Yuri Kuznetsov a797764534 do not use internal smtp 2023-08-09 15:55:45 +03:00
Rabii Brahimi 9f4aca43ee Fix wysiwyg.js (#2823) 2023-08-09 15:06:02 +03:00
Yuri Kuznetsov 849b992732 fix array add 2023-08-09 14:24:28 +03:00
Yuri Kuznetsov cdf0e079b2 wysiwyg email tempalte fix 2023-08-09 14:15:34 +03:00
Yuri Kuznetsov be647848ae donot allow portal customUrl in restricted mode 2023-08-09 12:50:12 +03:00
Yuri Kuznetsov 48369b203c cs 2023-08-09 12:44:16 +03:00
Yuri Kuznetsov dd60c26591 fix empty values 2023-08-09 12:34:28 +03:00
Yuri Kuznetsov 5e834689c4 fix autocomplete 2023-08-09 11:59:35 +03:00
Yuri Kuznetsov 141c848260 ref 2023-08-09 11:08:55 +03:00
Yuri Kuznetsov 796a2fffda internal password recovery cooldown interval 2023-08-09 10:13:27 +03:00
Yuri Kuznetsov 6ea6102ae6 system data 2023-08-09 10:12:26 +03:00
Yuri Kuznetsov bfeb504243 ref 2023-08-09 08:18:49 +03:00
Yuri Kuznetsov 174a86b497 cs 2023-08-09 07:31:36 +03:00
Yuri Kuznetsov 951902319e forbid passwordChangeLink change 2023-08-09 07:29:46 +03:00
Yuri Kuznetsov dcb08a1d47 cs docs 2023-08-09 07:10:30 +03:00
Yuri Kuznetsov 6afe2beb5b config params system 2023-08-09 07:08:02 +03:00
Yuri Kuznetsov 906169fedc cs 2023-08-08 16:50:46 +03:00
Yuri Kuznetsov 68f5e58b57 cs 2023-08-08 16:50:30 +03:00
Yuri Kuznetsov 9755e8d08c fix 2023-08-08 16:37:42 +03:00
Yuri Kuznetsov b1872bb08a fix 2023-08-08 16:05:21 +03:00
Yuri Kuznetsov dd356cdfdc fix user password send 2023-08-08 16:04:25 +03:00
Yuri Kuznetsov 8231f1f839 fix doc 2023-08-08 16:04:13 +03:00
Yuri Kuznetsov d248515d76 fix 2023-08-08 15:42:55 +03:00
Yuri Kuznetsov 113e075fb6 fix 2023-08-08 15:32:47 +03:00
Yuri Kuznetsov c6a2622744 kanban status read only 2023-08-08 13:34:06 +03:00
Yuri Kuznetsov cefec5e565 schmema 2023-08-08 10:40:37 +03:00
Yuri Kuznetsov 54ee4490c7 border radius fixes 2023-08-07 21:08:32 +03:00
Yuri Kuznetsov 2ab21839cb logo color fix 2023-08-07 14:33:31 +03:00
Yuri Kuznetsov cbdf954eac logo color 2023-08-07 14:31:24 +03:00
Yuri Kuznetsov 6504505297 suppress warn 2023-08-07 14:02:13 +03:00
Yuri Kuznetsov fa5307dc87 fix 2023-08-07 13:53:58 +03:00
Yuri Kuznetsov 80561c65fc remove 2023-08-04 16:52:14 +03:00
Yuri Kuznetsov 3d3128b831 create button change 2023-08-04 16:24:44 +03:00
Yuri Kuznetsov b228d5188d fix typo 2023-08-04 16:09:41 +03:00
Yuri Kuznetsov fdc8eeb650 css fix 2023-08-04 15:11:25 +03:00
Yuri Kuznetsov 8162f1f935 remove 2023-08-04 11:37:18 +03:00
Yuri Kuznetsov b456037a08 button hidden 2023-08-04 11:35:00 +03:00
Yuri Kuznetsov 90f8eb20fc fix select with categories 2023-08-04 11:28:12 +03:00
Yuri Kuznetsov 19cb848877 fix line breaks 2023-08-03 14:42:15 +03:00
Andrew Fontana 7ef4535892 Localization of templates (it_IT) (#2813)
* Update subject.tpl

* Update subject.tpl

* Assignment template italian

* Mention Template Italian

* noteEmailReceived Template Italian

* notePost Template Italian

* notePostNoParent Template Italian

* noteStatus Template Italian

* twoFactorCode Template Italian
2023-08-03 14:39:29 +03:00
Aurelio 5e5d38aef2 Localization of templates (de_DE) (#2812) 2023-08-03 14:38:41 +03:00
Yuri Kuznetsov f2b8dd8109 schema 2023-08-03 12:57:11 +03:00
Yuri Kuznetsov 8c706895b2 Update bug_report.md 2023-08-03 08:49:33 +03:00
Yuri Kuznetsov 8c479396f1 fix 2023-08-03 08:20:30 +03:00
Yuri Kuznetsov fe83a35c0c cleanup 2023-08-02 18:20:22 +03:00
Yuri Kuznetsov 902b5887fc Update bug_report.md 2023-08-02 17:58:19 +03:00
Yuri Kuznetsov 9f9e2d7507 fix 2023-08-02 10:50:01 +03:00
Yuri Kuznetsov ed50b357ad fix 2023-08-02 10:46:37 +03:00
Yuri Kuznetsov 65c45fa47d fix update note ui 2023-08-02 10:43:44 +03:00
Yuri Kuznetsov 3d4ceb9efb clone navbar on notifications/global search show 2023-08-01 11:31:55 +03:00
Yuri Kuznetsov a6940d38a7 data object to panels 2023-07-31 16:37:33 +03:00
Yuri Kuznetsov 204410d599 ref 2023-07-31 16:31:34 +03:00
Yuri Kuznetsov 20f53eb50f record data object 2023-07-31 16:27:56 +03:00
Yuri Kuznetsov 887d0b208a ref 2023-07-31 16:01:32 +03:00
Yuri Kuznetsov 69dc2cf5a5 fix 2023-07-31 15:16:05 +03:00
Yuri Kuznetsov a7353ee38a ref 2023-07-31 15:07:04 +03:00
Yuri Kuznetsov 541b0579e4 ref 2023-07-31 14:07:46 +03:00
Yuri Kuznetsov ebb9ca1298 ref 2023-07-31 13:47:18 +03:00
Yuri Kuznetsov 90aa40bfb5 ref 2023-07-31 10:38:16 +03:00
Yuri Kuznetsov 6261d316f5 ref 2023-07-31 10:33:30 +03:00
Yuri Kuznetsov 3bb439e4b1 ref 2023-07-31 10:14:40 +03:00
Yuri Kuznetsov d52d16ee19 defaultFileStorage readOnly 2023-07-31 09:19:20 +03:00
Yuri Kuznetsov 9d3dc38a13 ref 2023-07-30 18:39:30 +03:00
Yuri Kuznetsov 2888e1fadd ref 2023-07-30 16:45:40 +03:00
Yuri Kuznetsov fcc990ac24 ref 2023-07-30 13:15:41 +03:00
Yuri Kuznetsov 5f9916202d ref 2023-07-29 14:20:34 +03:00
Arkadiy Asuratov 53a95ccf51 implement uuid generation compliant with rfc 4122 (#2809) 2023-07-28 15:59:20 +03:00
Yuri Kuznetsov 5c4f7b62a6 css fix 2023-07-28 13:40:26 +03:00
Yuri Kuznetsov 8186e6ebf0 fix diff 2023-07-28 11:26:59 +03:00
Yuri Kuznetsov df2bd841ed cs 2023-07-27 19:46:25 +03:00
Yuri Kuznetsov 048fde70e2 fix jsdoc 2023-07-27 16:43:29 +03:00
Yuri Kuznetsov 5d87c27f23 onClick buttons and actions 2023-07-27 16:34:23 +03:00
Yuri Kuznetsov 9d44f250ab docs 2023-07-27 14:58:39 +03:00
Yuri Kuznetsov 31ace7d3f4 remove 2023-07-27 13:41:13 +03:00
Yuri Kuznetsov d893328343 modal list un-notify 2023-07-27 13:28:40 +03:00
Yuri Kuznetsov 1ae22f929d list impr 2023-07-27 13:15:01 +03:00
Yuri Kuznetsov 73121fadf7 renaming 2023-07-27 11:44:47 +03:00
Yuri Kuznetsov 4bba92cdac remove 2023-07-27 11:32:00 +03:00
Yuri Kuznetsov c3d6fa229c cs 2023-07-27 11:28:47 +03:00
Yuri Kuznetsov 4b09a6e29a update bullbone 2023-07-27 11:15:25 +03:00
Yuri Kuznetsov 876b8cc984 action handler pass target 2023-07-27 11:10:20 +03:00
Yuri Kuznetsov cb188cc54d action handling fix 2023-07-27 11:06:45 +03:00
Yuri Kuznetsov f3d4e85699 click action refactoring, using native event 2023-07-26 19:16:53 +03:00
Yuri Kuznetsov 74992821f6 fix modal adjust buttons not called 2023-07-26 17:58:25 +03:00
Yuri Kuznetsov 0299884306 ref 2023-07-26 17:56:50 +03:00
Yuri Kuznetsov b459ef5550 comment 2023-07-26 17:26:10 +03:00
David d526ce904a fixes https://github.com/espocrm/espocrm/issues/2805 (#2807)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-07-26 17:22:49 +03:00
Yuri Kuznetsov 8b456270be shortcut support mathod name, action handling handler first priority 2023-07-26 16:29:50 +03:00
Yuri Kuznetsov 21569e4025 ref 2023-07-26 16:13:22 +03:00
Yuri Kuznetsov 621ada0c10 ref 2023-07-26 15:35:23 +03:00
Yuri Kuznetsov 50055b6500 ref 2023-07-26 13:46:13 +03:00
Yuri Kuznetsov c81851d48d ref 2023-07-26 13:30:44 +03:00
Yuri Kuznetsov 8904d577e5 ref 2023-07-26 13:16:20 +03:00
Yuri Kuznetsov 34a7406167 ref 2023-07-26 13:07:02 +03:00
Yuri Kuznetsov ab1b769240 ref 2023-07-26 12:49:21 +03:00
Yuri Kuznetsov 652ad7b344 ref 2023-07-26 12:27:46 +03:00
Yuri Kuznetsov 48fdfd88fa ref 2023-07-26 11:59:58 +03:00
Yuri Kuznetsov 1318f8d19d entity manager name max length on UI 2023-07-26 11:43:08 +03:00
Yuri Kuznetsov c5fe52ede2 fix name length limitayion, throw exceptions with body 2023-07-26 11:38:39 +03:00
Yuri Kuznetsov ae51d341e6 remove 2023-07-26 08:49:05 +03:00
Yuri Kuznetsov 96b08180d4 remove label usage 2023-07-25 20:28:35 +03:00
Yuri Kuznetsov f0618e8465 fix form error handlnig 2023-07-25 16:06:40 +03:00
Yuri Kuznetsov c9dd7722c3 fix phpdoc 2023-07-25 14:27:40 +03:00
Yuri Kuznetsov 025cdf246a ActionHistory interface 2023-07-25 14:25:19 +03:00
Yuri Kuznetsov 7fdd7cd280 formula allowedFunctionList 2023-07-25 10:55:17 +03:00
Yuri Kuznetsov 4bb9c11e55 fix install warning 2023-07-25 09:54:19 +03:00
Yuri Kuznetsov 1b0dccab42 mkdir fix 2023-07-25 09:16:59 +03:00
Yuri Kuznetsov 31c9a36bf4 ref 2023-07-25 09:02:01 +03:00
Yuri Kuznetsov 534b7e7226 ref 2023-07-24 18:21:52 +03:00
Yuri Kuznetsov 6b9d14a68b update bullbone 2023-07-24 18:21:40 +03:00
Yuri Kuznetsov d41dfc86c7 suppress warn 2023-07-24 16:43:48 +03:00
Yuri Kuznetsov b86e9c51f5 warning 2023-07-24 16:36:56 +03:00
Yuri Kuznetsov 0088a53ab8 color changes 2023-07-24 12:57:50 +03:00
Yuri Kuznetsov efdff66593 fix event delete hook 2023-07-24 10:27:11 +03:00
Yuri Kuznetsov 837f8b2796 schedule/log label creation 2023-07-24 10:23:40 +03:00
Yuri Kuznetsov 82ff1772b2 theme fixes 2023-07-23 20:57:51 +03:00
Yuri Kuznetsov 36aa6739fc cs ref 2023-07-23 12:47:42 +03:00
Yuri Kuznetsov 0c26d35287 raw value import validations 2023-07-23 12:45:32 +03:00
Yuri Kuznetsov 753daebadf int float currency raw value validation 2023-07-23 10:21:44 +03:00
Yuri Kuznetsov d21293ca13 cs 2023-07-23 09:23:44 +03:00
Yuri Kuznetsov 1e8fd10a0a list show more ref 2023-07-22 18:47:51 +03:00
Yuri Kuznetsov b9df4b36ab list small on small screen 2023-07-22 13:15:01 +03:00
Yuri Kuznetsov 3832dec3e3 ref 2023-07-22 13:11:06 +03:00
Yuri Kuznetsov 45ff49da16 style fix 2023-07-22 12:54:39 +03:00
Yuri Kuznetsov dfc000c1e1 list min width 500 2023-07-22 12:46:08 +03:00
Yuri Kuznetsov 604b7abc89 style fix 2023-07-21 15:56:42 +03:00
Yuri Kuznetsov a4676be9d7 cleanup 2023-07-21 15:42:47 +03:00
Yuri Kuznetsov 19af4d8c96 style fix 2023-07-21 15:11:07 +03:00
Yuri Kuznetsov 272cff1cd9 installer fixes 2023-07-21 14:41:31 +03:00
Yuri Kuznetsov d2f006892c scheduler free busy increase max range, non-working always 2023-07-21 13:25:29 +03:00
Yuri Kuznetsov 05637fd7bf cleanup 2023-07-21 12:50:22 +03:00
Yuri Kuznetsov a9581907c7 label manager select 2023-07-21 12:40:16 +03:00
Yuri Kuznetsov 4d9fff91d4 ref 2023-07-21 12:37:30 +03:00
Yuri Kuznetsov 28b9cf683a style fix 2023-07-21 12:33:35 +03:00
Yuri Kuznetsov 20e1179085 style fix 2023-07-21 12:32:59 +03:00
Yuri Kuznetsov c0ed4b7ed3 style fix 2023-07-21 12:06:40 +03:00
Yuri Kuznetsov 96fd21b381 light theme 2023-07-21 12:03:55 +03:00
Yuri Kuznetsov 49d4595049 style fix 2023-07-21 10:23:51 +03:00
Yuri Kuznetsov eb98a1979d mkdir check 2023-07-21 09:27:07 +03:00
Yuri Kuznetsov 9416e3bc77 fix scheduler 2023-07-20 22:30:56 +03:00
Yuri Kuznetsov 350b121328 layout manager fix 2023-07-20 21:16:30 +03:00
Yuri Kuznetsov 47dfbce810 fix templates 2023-07-20 18:24:54 +03:00
Yuri Kuznetsov e2c51f9d00 select applier for read action 2023-07-20 13:52:27 +03:00
Yuri Kuznetsov d738188c8b additional applied for related find 2023-07-20 11:15:08 +03:00
Yuri Kuznetsov 0c8b3bc79e cs 2023-07-20 10:22:53 +03:00
Yuri Kuznetsov 7f8a152909 selectAccessControlDisabled 2023-07-20 09:51:09 +03:00
Yuri Kuznetsov 50c208e4db ref 2023-07-20 09:18:55 +03:00
Yuri Kuznetsov 92e9ef31a3 npm build frontend 2023-07-19 18:03:24 +03:00
Yuri Kuznetsov d6cce6a887 fix po 2023-07-19 17:37:53 +03:00
Yuri Kuznetsov 8f7a76f2fe fix readme 2023-07-19 16:16:17 +03:00
Yuri Kuznetsov 6957de71ee readme fix 2023-07-19 16:15:26 +03:00
Yuri Kuznetsov ee9436d45f deprecation comments 2023-07-19 16:03:18 +03:00
Yuri Kuznetsov 45c972f813 remove deprecated field manager util alias class 2023-07-19 15:42:58 +03:00
Yuri Kuznetsov aa547c3934 fix deprecation docs 2023-07-19 15:37:06 +03:00
Yuri Kuznetsov 894cd14802 ref 2023-07-19 14:33:49 +03:00
Yuri Kuznetsov 950815890f fix 2023-07-19 14:17:17 +03:00
Yuri Kuznetsov 3d28723a92 calendar dashlet users field change 2023-07-19 14:14:21 +03:00
Yuri Kuznetsov 4b1519367f ref 2023-07-19 14:07:43 +03:00
Yuri Kuznetsov b515b58ed1 fix 2023-07-19 14:03:27 +03:00
Yuri Kuznetsov 09cc9910a2 notify 2023-07-19 11:11:13 +03:00
Yuri Kuznetsov 463cedc12c template entity type not customizable 2023-07-19 10:57:59 +03:00
Yuri Kuznetsov 9d3abb7a0c ref 2023-07-19 10:51:17 +03:00
Yuri Kuznetsov fef056fbe9 entity manager tool ref 2023-07-19 10:41:57 +03:00
Yuri Kuznetsov acc8eaa4e2 frontendNonAdminHiddenPathList 2023-07-18 20:44:40 +03:00
Yuri Kuznetsov d3f768975d ref 2023-07-18 20:27:21 +03:00
Yuri Kuznetsov 385dfa697a comment 2023-07-18 20:14:57 +03:00
Yuri Kuznetsov 560addae85 cs 2023-07-18 20:09:33 +03:00
Yuri Kuznetsov 4924b5f883 ref 2023-07-18 20:01:37 +03:00
Yuri Kuznetsov 49ed6eee31 entity manager ref 2023-07-18 19:58:04 +03:00
Yuri Kuznetsov f6a5f3cf06 fix model 2023-07-18 19:44:11 +03:00
Yuri Kuznetsov 704e274e6a unlink required access check 2023-07-18 15:50:23 +03:00
Yuri Kuznetsov 6f71ad125d ref 2023-07-18 15:01:49 +03:00
Yuri Kuznetsov c891b3a02e cs 2023-07-18 14:41:15 +03:00
Yuri Kuznetsov 417ce64c39 user latout set 2023-07-18 13:48:46 +03:00
Yuri Kuznetsov d3d0c33fe2 fix 2023-07-18 13:47:28 +03:00
Yuri Kuznetsov ae8f56381b fix 2023-07-18 13:39:07 +03:00
Yuri Kuznetsov 5752ccdf98 ref 2023-07-18 13:14:58 +03:00
Yuri Kuznetsov 7818f76e71 ref 2023-07-17 17:13:00 +03:00
Yuri Kuznetsov 0a7d80cbad types 2023-07-17 17:08:42 +03:00
Yuri Kuznetsov 54a753ec7e change issue template 2023-07-17 17:07:00 +03:00
Yuri Kuznetsov d46f9ebd1f ref 2023-07-17 17:04:55 +03:00
Yuri Kuznetsov 41453b0fb3 refactor 2023-07-17 16:46:19 +03:00
Yuri Kuznetsov 2cebfc8046 cs 2023-07-17 16:15:25 +03:00
Yuri Kuznetsov a20e7566c9 fix label 2023-07-17 13:48:39 +03:00
Yuri Kuznetsov 29b7bffadf required db version value change, add pg support 2023-07-17 12:49:48 +03:00
Yuri Kuznetsov 2142598058 style fix 2023-07-17 12:33:47 +03:00
Yuri Kuznetsov 0ed319927a installer postgresql 2023-07-17 12:01:54 +03:00
Yuri Kuznetsov 033f7a6a5f style fix 2023-07-17 10:47:06 +03:00
Yuri Kuznetsov ac551b4448 install style fix 2023-07-17 10:41:33 +03:00
Yuri Kuznetsov 2299906c23 export custom 2023-07-17 10:24:04 +03:00
Yuri Kuznetsov 607b7c6985 fix global search 2023-07-17 10:23:39 +03:00
Yuri Kuznetsov 79c2378826 cs 2023-07-17 10:10:52 +03:00
Yuri Kuznetsov 241b668073 fix 2023-07-17 09:53:28 +03:00
Yuri Kuznetsov e5ca8acdea field label text change 2023-07-17 09:50:34 +03:00
Yuri Kuznetsov 9e8800a8ba layout create modal change 2023-07-16 18:56:46 +03:00
Yuri Kuznetsov b0d137b6bb jsdoc 2023-07-16 18:03:56 +03:00
Yuri Kuznetsov 5174b409fb update bullbone 2023-07-16 18:01:24 +03:00
Yuri Kuznetsov 0c0a4da7d3 controller entire support view instance 2023-07-16 17:57:55 +03:00
Yuri Kuznetsov aead8f6edd controller main view instance 2023-07-16 17:39:23 +03:00
Yuri Kuznetsov 83f2899892 ref 2023-07-16 17:32:16 +03:00
Yuri Kuznetsov 3f25833d3d ref 2023-07-16 17:09:39 +03:00
Yuri Kuznetsov 26d2092ace jsdoc 2023-07-16 13:50:49 +03:00
Yuri Kuznetsov c82c34f6a4 cleanup 2023-07-16 12:34:52 +03:00
Yuri Kuznetsov 00dca8b099 update bullbone 2023-07-16 12:33:54 +03:00
Yuri Kuznetsov 5c9c1ee4ed detail layout improvement and js docs 2023-07-16 12:14:55 +03:00
Yuri Kuznetsov 4e9c4e62a2 type fix 2023-07-16 11:39:31 +03:00
Yuri Kuznetsov 3e5377c830 cleanup cs 2023-07-15 20:07:08 +03:00
Yuri Kuznetsov e3875812e7 types 2023-07-15 16:55:32 +03:00
Yuri Kuznetsov ef16795ea7 fix formula 2023-07-15 10:42:35 +03:00
Yuri Kuznetsov 9490623d54 revert 2023-07-14 11:22:00 +03:00
Yuri Kuznetsov f4f9086f79 quick search focus 2023-07-14 11:12:17 +03:00
Yuri Kuznetsov 22d057328a suppressValidationList, no Service class need for template, discard skip type validation in service 2023-07-14 10:45:44 +03:00
Yuri Kuznetsov ef8c58e3b7 template entities repositories use existing classes 2023-07-14 10:01:26 +03:00
Yuri Kuznetsov 60c8502d27 contact role options reference 2023-07-14 09:05:20 +03:00
Yuri Kuznetsov e65583dba7 comment 2023-07-14 09:00:39 +03:00
Yuri Kuznetsov bebf02dccb ref 2023-07-13 21:25:48 +03:00
Yuri Kuznetsov 219d8b2e41 fix acceptance status filter 2023-07-13 17:38:24 +03:00
Yuri Kuznetsov d20c0d452b fix 2023-07-13 17:20:02 +03:00
Yuri Kuznetsov 347c8bcef7 cs 2023-07-13 17:19:55 +03:00
Yuri Kuznetsov 93176838e2 fix role where 2023-07-13 16:19:11 +03:00
Yuri Kuznetsov 7dc6c4e5d0 title fetch null 2023-07-13 16:19:02 +03:00
Yuri Kuznetsov 430709b308 fix fetch search 2023-07-13 16:17:10 +03:00
Yuri Kuznetsov 417cdf5901 orm support exists where clause raw 2023-07-13 14:37:42 +03:00
Yuri Kuznetsov ec0303ab09 opportunity contact role converter 2023-07-13 14:16:49 +03:00
Yuri Kuznetsov b80fb7c817 field level converter 2023-07-13 14:16:37 +03:00
Yuri Kuznetsov 962e48c77a schema addition 2023-07-13 12:08:53 +03:00
Yuri Kuznetsov 4b1578237e fix typo 2023-07-13 12:06:25 +03:00
Yuri Kuznetsov 247d8763f7 fix deleted 0 2023-07-13 11:27:18 +03:00
Yuri Kuznetsov a3e2a32a7d schema addition 2023-07-13 11:16:36 +03:00
Yuri Kuznetsov 237e39f495 job scheduler job data less support 2023-07-13 10:56:16 +03:00
Yuri Kuznetsov a23b28bee9 duplicate save resolve 2023-07-13 10:35:29 +03:00
Yuri Kuznetsov d8d13d5ae2 cs 2023-07-13 10:00:17 +03:00
Yuri Kuznetsov 0f6b35cbf6 types 2023-07-13 09:49:37 +03:00
Yuri Kuznetsov 969d06f934 types 2023-07-13 09:37:12 +03:00
Yuri Kuznetsov ebcddd9477 ref 2023-07-13 09:05:59 +03:00
Yuri Kuznetsov 0cbe196bd3 layout delete cleanup 2023-07-12 17:27:45 +03:00
Yuri Kuznetsov 6087cad5ff custom list layouts 2023-07-12 17:19:10 +03:00
Yuri Kuznetsov 511d3f8eae ref 2023-07-12 09:14:13 +03:00
Yuri Kuznetsov bbc8408c5a cs 2023-07-12 09:00:55 +03:00
Yuri Kuznetsov f0723940e4 type fix 2023-07-12 08:59:58 +03:00
Yuri Kuznetsov 34516008f5 ref 2023-07-11 20:56:34 +03:00
Yuri Kuznetsov 000e3c0601 layout impr 2023-07-11 18:06:52 +03:00
Yuri Kuznetsov ec6416bfcb fix system req 2023-07-11 13:08:54 +03:00
Yuri Kuznetsov baa72e6f52 pdo_pgsql dependency 2023-07-11 12:55:12 +03:00
Yuri Kuznetsov 81f0b5ebe2 schema addition 2023-07-10 21:44:19 +03:00
Yuri Kuznetsov e833af4e9d fix layout scroll 2023-07-10 17:51:25 +03:00
Yuri Kuznetsov 1255dd0728 layout impr 2023-07-10 17:47:42 +03:00
Yuri Kuznetsov 61ab5478bc css fix 2023-07-10 17:38:02 +03:00
Yuri Kuznetsov c99eb08741 ref 2023-07-10 17:20:32 +03:00
Yuri Kuznetsov 52f1329ca4 layout impr 2023-07-10 15:55:05 +03:00
Yuri Kuznetsov 8f574b1275 ref 2023-07-10 15:44:40 +03:00
Yuri Kuznetsov 5e171464c3 side panel fields disabled 2023-07-10 14:59:46 +03:00
Yuri Kuznetsov 92bcb03cef utility usage 2023-07-10 14:42:51 +03:00
Yuri Kuznetsov ead45003e7 fix 2023-07-10 14:40:36 +03:00
Yuri Kuznetsov 37a37e95c6 utility param 2023-07-10 14:26:35 +03:00
Yuri Kuznetsov f68345d014 fix 2023-07-10 12:19:34 +03:00
Yuri Kuznetsov 9605afbb05 fix expanded layout field 2023-07-10 12:19:06 +03:00
Yuri Kuznetsov 7aa57ad36c bc 2023-07-10 12:18:54 +03:00
Yuri Kuznetsov 82efcefac7 duplicate check inprovements 2023-07-10 11:19:58 +03:00
Yuri Kuznetsov 9b176299ab updateDuplicateCheck param on UI 2023-07-10 09:23:18 +03:00
Yuri Kuznetsov f70902255c recordDefs support 2023-07-10 09:15:14 +03:00
Yuri Kuznetsov cbe79473ef Common entity type by default 2023-07-09 13:20:02 +03:00
Yuri Kuznetsov 158df5f652 type 2023-07-09 13:12:45 +03:00
Yuri Kuznetsov 253f54cb20 ref 2023-07-09 12:43:45 +03:00
Yuri Kuznetsov 90fa429fb9 ref 2023-07-08 15:54:03 +03:00
Yuri Kuznetsov d7063a914f ref 2023-07-08 15:47:03 +03:00
Yuri Kuznetsov 0a6ba698ba fix stream portal user without portal 2023-07-08 14:35:22 +03:00
Yuri Kuznetsov b11bfb0e92 name => entityType 2023-07-08 14:22:05 +03:00
Yuri Kuznetsov ece7d1f3b4 ref 2023-07-08 11:17:55 +03:00
Yuri Kuznetsov 6d9a813d67 fix move to trash 2023-07-08 11:08:14 +03:00
Yuri Kuznetsov f6382c7774 fix ajax 2023-07-08 10:56:34 +03:00
Yuri Kuznetsov 2525c53029 ref 2023-07-07 14:30:26 +03:00
Yuri Kuznetsov ee9520811f ref 2023-07-06 16:15:06 +03:00
Yuri Kuznetsov 212e8e34ab update bullbone 2023-07-06 16:14:58 +03:00
Yuri Kuznetsov 1fe53ac5c2 ref 2023-07-06 15:38:47 +03:00
Yuri Kuznetsov e1f7b64fe1 shortcuts original event 2023-07-06 15:26:24 +03:00
Yuri Kuznetsov 074d949d0b addActionHandler support any tag, use native event 2023-07-06 11:12:29 +03:00
Yuri Kuznetsov 0c07c7454d update jquery 2023-07-06 10:27:13 +03:00
Yuri Kuznetsov 82eb456565 update bullbone 2023-07-05 21:16:09 +03:00
Yuri Kuznetsov 285fc8ba8c el => selector 2023-07-05 21:07:47 +03:00
Yuri Kuznetsov 91e971a9ac update packages 2023-07-05 19:53:40 +03:00
Yuri Kuznetsov a12fcfd6b9 update bullbone 2023-07-05 19:52:40 +03:00
Yuri Kuznetsov 1d2ae3d282 cs 2023-07-05 17:23:15 +03:00
Yuri Kuznetsov 2a42cc8542 ajax refactoring 2023-07-05 17:15:18 +03:00
Yuri Kuznetsov e512f272a5 jsdoc 2023-07-05 10:49:18 +03:00
Yuri Kuznetsov 8a795dea4d cleanup 2023-07-05 10:29:52 +03:00
Yuri Kuznetsov bc1333c5c5 remore pre-loader 2023-07-05 10:06:12 +03:00
Yuri Kuznetsov ab378f4a59 Element support 2023-07-05 10:03:29 +03:00
Yuri Kuznetsov a0bb78bc58 update composer dependencies 2023-07-05 09:38:23 +03:00
Yuri Kuznetsov 8d7a64587c style fix 2023-07-04 21:24:01 +03:00
Yuri Kuznetsov 860dd74748 fix 2023-07-04 21:21:51 +03:00
Yuri Kuznetsov a8c4bb1a25 ref 2023-07-04 21:18:52 +03:00
Yuri Kuznetsov b4f73192ae fix types 2023-07-04 21:07:26 +03:00
Yuri Kuznetsov bd48715737 style fix 2023-07-04 19:28:14 +03:00
Yuri Kuznetsov 9a31099821 comment 2023-07-04 18:36:25 +03:00
Yuri Kuznetsov 1dba594fa4 fix jsdocs 2023-07-04 18:25:40 +03:00
Yuri Kuznetsov e1f5f7b713 fix schema description 2023-07-04 17:36:34 +03:00
Yuri Kuznetsov a5ed3f1d0c fix timeline delay 2023-07-04 16:44:06 +03:00
Yuri Kuznetsov 86ddf9d7cf history fix 2023-07-04 16:10:02 +03:00
Yuri Kuznetsov 6bd0a0ee1f update vis 2023-07-04 16:00:42 +03:00
Yuri Kuznetsov 05084c67db ref 2023-07-04 12:10:20 +03:00
Yuri Kuznetsov cbb51c92e9 update build tools 2023-07-03 21:55:25 +03:00
Yuri Kuznetsov ae7b42c3b0 lib ids fix 2023-07-03 21:53:34 +03:00
Yuri Kuznetsov 3da75e9dd0 lib rename 2023-07-03 21:16:20 +03:00
Yuri Kuznetsov e7561911cc schema addition 2023-07-03 21:03:29 +03:00
Yuri Kuznetsov 0d727e74c0 update fullcalendar 2023-07-03 20:46:13 +03:00
Yuri Kuznetsov 36dbe5556f ref 2023-07-02 14:11:00 +03:00
Yuri Kuznetsov 8b8d08afaa deprecations 2023-07-01 22:09:41 +03:00
Yuri Kuznetsov dda95dd741 ref 2023-07-01 21:50:50 +03:00
Yuri Kuznetsov 50cc43a742 deprecation remove and todo 2023-07-01 21:46:00 +03:00
Yuri Kuznetsov d4ab9850f2 orm metadata fields => attributes 2023-07-01 20:22:21 +03:00
Yuri Kuznetsov f561bb57f4 fetch search null 2023-07-01 18:52:11 +03:00
Yuri Kuznetsov 99d8681e46 fix docs 2023-07-01 18:48:04 +03:00
Yuri Kuznetsov ecd28f6c2d todo 2023-07-01 18:21:32 +03:00
Yuri Kuznetsov 5a5f8845ca deprecation removal 2023-07-01 18:18:30 +03:00
Yuri Kuznetsov 8ac34018ab change todo 2023-07-01 17:54:10 +03:00
Yuri Kuznetsov 95b1560c8a ref 2023-07-01 17:49:06 +03:00
Yuri Kuznetsov a7efea44d1 ref 2023-07-01 16:37:15 +03:00
Yuri Kuznetsov 42d8d2256d template fix 2023-07-01 14:59:25 +03:00
Yuri Kuznetsov 6063a295a0 ref 2023-07-01 14:18:08 +03:00
Yuri Kuznetsov 3c8bdeb539 ref 2023-07-01 13:10:19 +03:00
Yuri Kuznetsov 08ecfe58d5 cleanup 2023-06-30 14:59:00 +03:00
Yuri Kuznetsov dd1bde9830 navbar fix 2023-06-30 14:55:36 +03:00
Yuri Kuznetsov 5861923f3b generate stub password for new users 2023-06-30 14:41:07 +03:00
Yuri Kuznetsov 5aef00dfaa ref 2023-06-30 14:23:17 +03:00
Yuri Kuznetsov ea4790eb6f formula find many 2023-06-30 11:10:24 +03:00
Yuri Kuznetsov 6de98fd652 ref 2023-06-30 10:37:02 +03:00
Yuri Kuznetsov 2d180f5a07 fix 2023-06-30 10:27:25 +03:00
Yuri Kuznetsov 0ec3991b15 panel less ref, fix hover colors 2023-06-30 10:05:37 +03:00
Yuri Kuznetsov d1a6a17c88 bg color fix 2023-06-30 09:07:41 +03:00
Yuri Kuznetsov f1f1d1506d user select none 2023-06-29 23:14:23 +03:00
Yuri Kuznetsov d8af0ee835 ref 2023-06-29 21:51:50 +03:00
Yuri Kuznetsov 164f96e30a kanban order first on create 2023-06-29 18:39:55 +03:00
Yuri Kuznetsov b444f8b0fb kanban ref, read only status on create 2023-06-29 18:32:59 +03:00
Yuri Kuznetsov 3bac29828c id text filter 2023-06-29 17:54:08 +03:00
Yuri Kuznetsov 1c60d0b314 text filter fields skip attachment link 2023-06-29 17:52:41 +03:00
Yuri Kuznetsov e7f4b555e9 ref 2023-06-29 16:14:33 +03:00
Yuri Kuznetsov 5347d994ef cleanup 2023-06-29 16:12:09 +03:00
Yuri Kuznetsov bb20fe1929 ref 2023-06-29 16:11:21 +03:00
Yuri Kuznetsov b282110d40 import file style fix 2023-06-29 15:44:54 +03:00
Yuri Kuznetsov 87fd4e7f57 ref 2023-06-29 15:12:57 +03:00
Yuri Kuznetsov 025b312a2e default tab list 2023-06-29 14:33:23 +03:00
Yuri Kuznetsov b08813f9b6 kanban seprate less file and style changes 2023-06-29 13:18:22 +03:00
Yuri Kuznetsov 415199d814 post permission 2023-06-29 12:31:35 +03:00
Yuri Kuznetsov 6f7869784a style changes 2023-06-29 10:58:03 +03:00
Yuri Kuznetsov ebe9784b23 stick bar fixes 2023-06-29 09:59:36 +03:00
Yuri Kuznetsov 645b891a1d stick-sub css fix 2023-06-28 21:41:58 +03:00
Yuri Kuznetsov 34fbf2df6d style fix 2023-06-28 20:55:55 +03:00
Yuri Kuznetsov 9ad2cfc855 auth provider no create from link 2023-06-28 20:54:24 +03:00
Yuri Kuznetsov e4c7bd1baa stick bar style fixes 2023-06-28 18:13:54 +03:00
Yuri Kuznetsov 1ee8037d2b Merge branch 'fix' 2023-06-28 16:53:44 +03:00
Yuri Kuznetsov 275ee96750 fix id autoincrement conversion to varchar 2023-06-28 16:52:53 +03:00
Yuri Kuznetsov 8efff2f795 Merge branch 'fix' 2023-06-28 12:56:54 +03:00
Yuri Kuznetsov b66cb676a1 7.5.5 2023-06-28 12:47:42 +03:00
Yuri Kuznetsov 975b7b72c3 dont apply default encoding 2023-06-28 12:31:13 +03:00
Yuri Kuznetsov a520b9e57f settings ui tabs 2023-06-28 11:31:33 +03:00
Yuri Kuznetsov 65b9fabfd7 style changes 2023-06-28 11:11:40 +03:00
Yuri Kuznetsov 4be63cb75e navbar dividers 2023-06-28 10:44:59 +03:00
Yuri Kuznetsov 910ed80ae2 ref 2023-06-27 14:05:21 +03:00
Yuri Kuznetsov 8677a8354d libs rename key to amdId 2023-06-27 11:56:59 +03:00
Yuri Kuznetsov d902417b21 ref 2023-06-26 21:07:36 +03:00
Yuri Kuznetsov 338e2e9089 gridstack with amd 2023-06-26 18:09:56 +03:00
Yuri Kuznetsov fa88ba1583 / language=Handlebars 2023-06-26 14:10:11 +03:00
Yuri Kuznetsov 619c14ef65 update bullbone 2023-06-26 12:07:59 +03:00
Yuri Kuznetsov 3012967384 discard lib!espo 2023-06-25 19:30:25 +03:00
Yuri Kuznetsov 295aa8861b cleanup 2023-06-24 19:32:38 +03:00
Yuri Kuznetsov 447d949537 discard lib!espo usage 2023-06-24 19:27:40 +03:00
Yuri Kuznetsov c87fa9463e discard expose param 2023-06-24 19:21:49 +03:00
Yuri Kuznetsov f7f424bad7 discard amdId 2023-06-24 19:11:33 +03:00
Yuri Kuznetsov e0606e20d8 aliases 2023-06-24 17:20:20 +03:00
Yuri Kuznetsov 91a2216d27 gridstack name usage 2023-06-24 15:06:07 +03:00
Yuri Kuznetsov d2643a3372 lib renamings 2023-06-24 13:48:49 +03:00
Yuri Kuznetsov fa01e80386 ref 2023-06-24 09:21:05 +03:00
Yuri Kuznetsov 31caa27d39 cs 2023-06-24 08:53:46 +03:00
Yuri Kuznetsov c78962f5f6 fix tests init libs 2023-06-24 08:04:00 +03:00
Yuri Kuznetsov 4a1bdae913 Merge branch 'fix' 2023-06-24 07:55:11 +03:00
Yuri Kuznetsov 2dfd14f3c5 fix follower list 2023-06-23 23:25:32 +03:00
Yuri Kuznetsov 023400e84e fix imports 2023-06-23 20:02:26 +03:00
Yuri Kuznetsov 05fd772d46 update frontend tools 2023-06-23 19:54:45 +03:00
Yuri Kuznetsov d409075b6c libs ids with prefix 2023-06-23 19:53:32 +03:00
Yuri Kuznetsov 8267c48aad ref 2023-06-23 16:08:16 +03:00
Yuri Kuznetsov afbaf931eb ref 2023-06-23 15:26:18 +03:00
Yuri Kuznetsov 12105fb25f qr code fix 2023-06-23 15:21:45 +03:00
Yuri Kuznetsov 0bd9dbdba2 try catch qrcode 2023-06-23 14:56:38 +03:00
Yuri Kuznetsov f48fbc58b5 style fix 2023-06-23 14:08:44 +03:00
Yuri Kuznetsov c287d0ff5a fixes 2023-06-23 11:16:07 +03:00
Yuri Kuznetsov bac2240c0b fix 2023-06-23 10:24:45 +03:00
Yuri Kuznetsov 300ed327df update tools 2023-06-22 20:55:22 +03:00
Yuri Kuznetsov e14ca3ab77 rename 2023-06-22 20:50:42 +03:00
Yuri Kuznetsov 2b5ba6049f transpiled custom module support 2023-06-22 16:58:48 +03:00
Yuri Kuznetsov caf6217b9a fix currency validation 2023-06-22 14:17:23 +03:00
Yuri Kuznetsov 716976c078 frontend build tools usage 2023-06-22 12:49:28 +03:00
Yuri Kuznetsov 00cf85abd4 Merge branch 'fix' 2023-06-22 09:47:39 +03:00
Yuri Kuznetsov 8ef2ed4144 7.5.4 2023-06-22 09:35:19 +03:00
Yuri Kuznetsov befec82120 fix history 2023-06-22 09:27:11 +03:00
Yuri Kuznetsov eb7923f4bc side navbar changes 2023-06-21 19:59:57 +03:00
Yuri Kuznetsov d70687ff1e ref 2023-06-21 17:31:07 +03:00
Yuri Kuznetsov e7f0c461c6 fix schema 2023-06-21 16:42:25 +03:00
Yuri Kuznetsov 0bbf3f5f0d duration not mergeable 2023-06-21 16:28:10 +03:00
Yuri Kuznetsov 321fd40355 ref 2023-06-21 16:26:33 +03:00
Yuri Kuznetsov add5bcbe6a merge success notification fix 2023-06-21 16:20:57 +03:00
Yuri Kuznetsov f39e59ba5b ref 2023-06-21 16:19:47 +03:00
Yuri Kuznetsov a65bdbece5 cs 2023-06-21 15:23:35 +03:00
Yuri Kuznetsov 184fa6fd9b ref 2023-06-21 15:18:47 +03:00
Yuri Kuznetsov 897a14d07f noinspection 2023-06-21 15:07:46 +03:00
Yuri Kuznetsov 36d09b923e ref 2023-06-21 15:02:56 +03:00
Yuri Kuznetsov 0928c52100 fixes 2023-06-21 14:27:04 +03:00
Yuri Kuznetsov daa1fcdcba cleanup 2023-06-21 13:52:27 +03:00
Yuri Kuznetsov 6bea09f246 Merge branch 'fix' 2023-06-21 13:19:38 +03:00
Yuri Kuznetsov e88bd5898c 7.5.3 2023-06-21 13:09:42 +03:00
Yuri Kuznetsov a5bb5005f8 fix upgrade 2023-06-21 13:03:58 +03:00
Yuri Kuznetsov ec664163e5 ref 2023-06-21 12:57:06 +03:00
Yuri Kuznetsov b130076313 ref 2023-06-21 12:47:20 +03:00
Yuri Kuznetsov 372a9c9640 cancel render list view 2023-06-21 12:31:13 +03:00
Yuri Kuznetsov 958a1e6634 ref 2023-06-21 11:52:17 +03:00
Yuri Kuznetsov 306a8728b4 ref 2023-06-21 11:39:47 +03:00
Yuri Kuznetsov e9527a6bbf ref 2023-06-21 11:28:24 +03:00
Yuri Kuznetsov d261a019bd jsdocs 2023-06-21 10:38:55 +03:00
Yuri Kuznetsov 6465277fb0 jsdoc, types 2023-06-20 23:03:31 +03:00
Yuri Kuznetsov fc8be6d56f ref 2023-06-20 21:02:15 +03:00
Yuri Kuznetsov cc32089a51 ref 2023-06-20 17:50:09 +03:00
Rabii Brahimi 56dd0aa594 Update detail.js (#2774)
Update detail.js - add condition check for dateEnd
2023-06-20 11:12:52 +03:00
Yuri Kuznetsov 71d8327b32 ref 2023-06-20 10:33:08 +03:00
Yuri Kuznetsov e322e036a4 types 2023-06-20 10:31:58 +03:00
Yuri Kuznetsov 4f2651dd2b ref 2023-06-20 10:24:12 +03:00
Yuri Kuznetsov f53553e301 Merge branch 'fix' 2023-06-20 09:29:57 +03:00
Yuri Kuznetsov 324f776ed5 css fix 2023-06-20 09:29:48 +03:00
David 4c346bebff currency export fix (#2773)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-06-19 22:52:47 +03:00
Yuri Kuznetsov 083a2c5235 Merge branch 'fix' 2023-06-19 19:41:59 +03:00
Yuri Kuznetsov 1f04ba5083 7.5.2 2023-06-19 19:15:40 +03:00
Yuri Kuznetsov 1ad265611f fix entity manager 2023-06-19 17:39:53 +03:00
Yuri Kuznetsov 7adfb6c1c0 fix 2023-06-19 17:05:21 +03:00
Yuri Kuznetsov 190330c204 change templates location 2023-06-19 16:50:36 +03:00
Yuri Kuznetsov 56f975c65e template bundle 2023-06-19 15:03:39 +03:00
Yuri Kuznetsov a79892028a number-util rename 2023-06-18 18:04:16 +03:00
Yuri Kuznetsov 3086b75616 js-doc fix 2023-06-18 17:55:59 +03:00
Yuri Kuznetsov 9955da3521 fix docs 2023-06-18 17:21:20 +03:00
Yuri Kuznetsov 0ba9130e96 cleanup 2023-06-17 21:56:50 +03:00
Yuri Kuznetsov 0af14b93c5 ref 2023-06-17 21:56:23 +03:00
Yuri Kuznetsov 191884d5af support relative import 2023-06-17 15:58:41 +03:00
Yuri Kuznetsov dd1aac89ce using modules/{mod}/ naming 2023-06-17 15:48:28 +03:00
Yuri Kuznetsov 24203e8d07 docs 2023-06-17 15:47:49 +03:00
Yuri Kuznetsov e53f79be03 more detail error msg 2023-06-16 18:12:48 +03:00
Yuri Kuznetsov 435dc2d818 merge unset not actual attributes 2023-06-16 17:20:45 +03:00
Yuri Kuznetsov 39e446ecf2 fix role permission tooltips 2023-06-16 16:14:30 +03:00
Yuri Kuznetsov 5a013ddc88 tooltip reference to another scope 2023-06-16 16:14:16 +03:00
Yuri Kuznetsov 14b595940f cs 2023-06-16 15:24:53 +03:00
Yuri Kuznetsov b6d4b96aa8 fix installer, ref 2023-06-16 14:09:53 +03:00
Yuri Kuznetsov de4c5d641d ref 2023-06-16 13:34:37 +03:00
Yuri Kuznetsov f731419f86 ref 2023-06-16 12:48:49 +03:00
Yuri Kuznetsov 0e2f00665c update bullbone 2023-06-16 12:36:16 +03:00
Yuri Kuznetsov cae0f541b5 bundler change 2023-06-16 12:33:59 +03:00
Yuri Kuznetsov 88dec452f6 cleanup 2023-06-16 12:33:16 +03:00
Yuri Kuznetsov 28072ad24f fix loader error response 2023-06-16 12:26:40 +03:00
Yuri Kuznetsov 857c252b14 merge 2023-06-16 10:54:16 +03:00
Yuri Kuznetsov 04906c5307 fix attachment access in posts to all users 2023-06-16 10:49:20 +03:00
Yuri Kuznetsov 19e9abb7c4 object assign usage 2023-06-15 21:15:58 +03:00
Yuri Kuznetsov 89fa2f0523 bundler map dependencies 2023-06-15 18:50:55 +03:00
Yuri Kuznetsov 6686e78069 bundler mainChunk param 2023-06-15 17:51:12 +03:00
Yuri Kuznetsov 928ee586a0 ref 2023-06-15 15:52:50 +03:00
Yuri Kuznetsov 08d661d275 ref 2023-06-15 15:05:01 +03:00
Yuri Kuznetsov f7709207d2 ref 2023-06-15 14:42:44 +03:00
Yuri Kuznetsov 6174171cab ref 2023-06-15 14:34:48 +03:00
Yuri Kuznetsov 6242e7c8b8 ref 2023-06-15 14:11:56 +03:00
Yuri Kuznetsov 8a4fd72261 ref 2023-06-15 14:09:38 +03:00
Yuri Kuznetsov 80588d0f5f ref 2023-06-15 13:32:13 +03:00
Yuri Kuznetsov 377f977f79 ref 2023-06-15 13:18:03 +03:00
Yuri Kuznetsov 68393c778b ref 2023-06-15 12:00:48 +03:00
Yuri Kuznetsov 8b8458cf78 ref 2023-06-15 11:29:24 +03:00
Yuri Kuznetsov 44e8dcf680 fix 2023-06-15 11:15:32 +03:00
Yuri Kuznetsov b83e6170a4 notify error support options 2023-06-15 11:08:29 +03:00
Yuri Kuznetsov dde0e24e0e fix collection doc and test 2023-06-15 11:00:17 +03:00
Yuri Kuznetsov 2d31c9bfb6 notification suppress 2023-06-15 10:57:56 +03:00
Yuri Kuznetsov c0bdd74837 fix docs 2023-06-15 10:51:57 +03:00
Yuri Kuznetsov 3ccf2f4a00 fix 2023-06-15 10:29:37 +03:00
Yuri Kuznetsov b9d81b7994 ref 2023-06-15 10:28:04 +03:00
Yuri Kuznetsov fe8af42814 ref 2023-06-15 10:22:23 +03:00
Yuri Kuznetsov 03f2c33601 docs 2023-06-15 10:11:24 +03:00
Yuri Kuznetsov 1613398492 fix toJSON usage 2023-06-15 09:57:10 +03:00
Yuri Kuznetsov 87ad554531 fix transpiler 2023-06-15 09:57:04 +03:00
Yuri Kuznetsov d74363baea fix jsdoc 2023-06-15 09:41:03 +03:00
Yuri Kuznetsov 535baff2aa cleanup 2023-06-14 23:35:37 +03:00
Yuri Kuznetsov dcad84aeff cs 2023-06-14 20:55:07 +03:00
Yuri Kuznetsov df3e0bf956 ref 2023-06-14 20:17:26 +03:00
Yuri Kuznetsov 4215ad6e88 ref 2023-06-14 19:17:41 +03:00
Yuri Kuznetsov 5c6a4ae7b2 loader use fetch 2023-06-14 19:00:47 +03:00
Yuri Kuznetsov 33cece0cd1 fix naming 2023-06-14 18:51:32 +03:00
Yuri Kuznetsov 4b3b48c981 change date 2023-06-14 17:44:26 +03:00
Yuri Kuznetsov 99eec81983 ref 2023-06-14 17:10:37 +03:00
Yuri Kuznetsov e1b5e2db33 fix schema 2023-06-14 16:19:26 +03:00
Yuri Kuznetsov cd76087c2f fix bool filter legacy schema 2023-06-14 16:19:18 +03:00
Yuri Kuznetsov ff34df3e42 ref 2023-06-14 16:04:32 +03:00
Yuri Kuznetsov db43fd3a12 transpiler changes 2023-06-14 15:28:06 +03:00
Yuri Kuznetsov de42e7e4c1 fix schema desc 2023-06-14 14:58:38 +03:00
Yuri Kuznetsov 5baeea2b5d loader fix fetch object null 2023-06-14 14:39:50 +03:00
Yuri Kuznetsov 6d7be12c60 ref 2023-06-14 14:39:25 +03:00
Yuri Kuznetsov 98fb897785 loader changes 2023-06-14 14:22:57 +03:00
Yuri Kuznetsov 7bdd9b25ce ref 2023-06-14 13:44:04 +03:00
Yuri Kuznetsov 70b995e6f7 events static usage fix 2023-06-14 12:49:37 +03:00
Yuri Kuznetsov ecb6ec3adf fix frontend tests, error on loader loader second time 2023-06-14 12:05:13 +03:00
Yuri Kuznetsov 431f7e6fd5 rename bundles 2023-06-14 11:34:58 +03:00
Yuri Kuznetsov e0f8688cb9 ref 2023-06-14 11:09:39 +03:00
Yuri Kuznetsov 6fcd6bc6e4 loader bundler fixes 2023-06-14 10:57:51 +03:00
Yuri Kuznetsov 56d72946bc ref 2023-06-13 21:10:48 +03:00
Yuri Kuznetsov 9099f84441 changes 2023-06-13 18:42:26 +03:00
Yuri Kuznetsov fefadc58bd 7.5.1 2023-06-13 17:31:13 +03:00
Yuri Kuznetsov 1628d3b566 fix update 2023-06-13 17:22:32 +03:00
Yuri Kuznetsov b456d86b22 ref 2023-06-13 17:19:38 +03:00
Yuri Kuznetsov c3a1236ca9 fix email assignment notificator 2023-06-13 17:19:15 +03:00
Yuri Kuznetsov 544e8e9d3f ref loader 2023-06-12 13:22:09 +03:00
Yuri Kuznetsov a032a41935 discard es-promise lib 2023-06-12 13:12:57 +03:00
Yuri Kuznetsov e43215cdf1 cs 2023-06-11 21:02:23 +03:00
Yuri Kuznetsov 781aab0c1d ref 2023-06-11 20:48:56 +03:00
Yuri Kuznetsov 197aade0d1 ref 2023-06-11 15:30:54 +03:00
Yuri Kuznetsov 5de9f545b0 ref 2023-06-11 14:57:47 +03:00
Yuri Kuznetsov 43cf24d8d6 ref 2023-06-11 13:13:28 +03:00
Yuri Kuznetsov b3858b977a ref 2023-06-10 22:49:46 +03:00
Yuri Kuznetsov 1a38c79d94 jsdoc 2023-06-10 19:34:26 +03:00
Yuri Kuznetsov 7ea46bb370 ref 2023-06-10 19:30:06 +03:00
Yuri Kuznetsov 2b8120811c fix 2023-06-10 19:29:51 +03:00
Yuri Kuznetsov 3498ebb978 test fixes 2023-06-10 16:31:34 +03:00
Yuri Kuznetsov 5f71c2c1b6 ref 2023-06-10 15:58:48 +03:00
Yuri Kuznetsov c68141d4bb discard callback usage 2023-06-10 12:52:27 +03:00
Yuri Kuznetsov 70b6f456af update jasmine 2023-06-10 10:00:59 +03:00
Yuri Kuznetsov 0b86592d5c fix tests 2023-06-10 10:00:38 +03:00
Yuri Kuznetsov 91ee5af643 ref 2023-06-09 19:26:43 +03:00
Yuri Kuznetsov 9df03c1119 ref 2023-06-09 19:10:42 +03:00
Yuri Kuznetsov 80fb01fd7d ref 2023-06-09 18:50:52 +03:00
Yuri Kuznetsov febbfa2126 ref 2023-06-09 18:35:39 +03:00
Yuri Kuznetsov c9a959d548 ref 2023-06-09 17:26:29 +03:00
Yuri Kuznetsov 24473783e9 ref 2023-06-09 17:12:52 +03:00
Yuri Kuznetsov cd429f9556 ref 2023-06-09 16:47:46 +03:00
Yuri Kuznetsov c9b9023f38 ref 2023-06-09 16:21:03 +03:00
Yuri Kuznetsov c8adc8c654 update bullbone fix 2023-06-09 15:56:25 +03:00
Yuri Kuznetsov 08501ce207 ref 2023-06-09 15:55:27 +03:00
Yuri Kuznetsov 1e3a9cc07d ref 2023-06-09 14:48:27 +03:00
Yuri Kuznetsov d9dc87f9ab ref 2023-06-09 14:36:46 +03:00
Yuri Kuznetsov 31f8cf94da ref 2023-06-09 14:00:01 +03:00
Yuri Kuznetsov c9c5913845 ref 2023-06-09 13:44:52 +03:00
Yuri Kuznetsov 95e3276394 ref 2023-06-09 12:56:40 +03:00
Yuri Kuznetsov 8d06c82338 fix 2023-06-09 12:05:55 +03:00
Yuri Kuznetsov 5da31f76f4 update bullbone 2023-06-09 11:57:37 +03:00
Yuri Kuznetsov 8c3933e60e ref 2023-06-09 11:42:19 +03:00
Yuri Kuznetsov c67ea8309a Merge branch 'master' into version/7.6 2023-06-08 20:08:37 +03:00
Yuri Kuznetsov d76a6fa0ec lang 2023-06-08 20:08:21 +03:00
Yuri Kuznetsov b7c3b32b49 bull.events 2023-06-08 19:16:00 +03:00
Yuri Kuznetsov f6f32fbaa0 list select attributes helper 2023-06-08 15:13:36 +03:00
Yuri Kuznetsov 06f807bb4d schema 2023-06-08 14:04:14 +03:00
Yuri Kuznetsov 20975628b2 grunt clean addition 2023-06-08 14:02:13 +03:00
Yuri Kuznetsov c6b7337317 es modules first migration 2023-06-08 13:31:27 +03:00
Yuri Kuznetsov 4e040700ab Merge branch 'master' into version/7.6 2023-06-08 13:30:36 +03:00
Kyle Mathers b008270fe6 Update Global.json (#2763)
Fix grammar in error messages
2023-06-08 08:28:21 +03:00
Yuri Kuznetsov 2deb826266 fix array search custom options not stored 2023-06-05 22:54:37 +03:00
Yuri Kuznetsov 66815e3192 de 2023-06-05 09:10:16 +03:00
Yuri Kuznetsov 673fcfc9fe Merge branch 'master' into version/7.6 2023-06-04 15:00:45 +03:00
Yuri Kuznetsov 9e34de69f0 fix enum position 2023-06-04 15:00:31 +03:00
Yuri Kuznetsov ed1ac27f75 fix enum position 2023-06-04 15:00:05 +03:00
Yuri Kuznetsov d202d53ce2 fix 2023-06-04 14:29:02 +03:00
Yuri Kuznetsov 8485e7b436 my inbox dashlet folders 2023-06-04 14:22:20 +03:00
Yuri Kuznetsov e85c110697 fix schema 2023-06-04 13:24:56 +03:00
Yuri Kuznetsov a9c0aefa58 add array item quick search 2023-06-04 13:12:07 +03:00
Yuri Kuznetsov 3a5c840ce8 cleanup 2023-06-04 13:08:26 +03:00
Yuri Kuznetsov bbf7f8a98b ref 2023-06-04 11:24:51 +03:00
Yuri Kuznetsov 24dee6aa62 logout clear stored auth if fail on app start 2023-06-03 21:37:30 +03:00
Yuri Kuznetsov c33452fd0b discard template bundle 2023-06-03 20:40:36 +03:00
Yuri Kuznetsov ad099dff27 bundle dependency 2023-06-03 11:06:31 +03:00
Yuri Kuznetsov d31e90fb42 use app timestamp 2023-06-03 09:47:57 +03:00
Yuri Kuznetsov c150ee66af loader bundle promise map and prevent multiple define same module 2023-06-03 08:38:04 +03:00
Yuri Kuznetsov dac6d74fd1 change 2023-06-02 19:50:59 +03:00
Yuri Kuznetsov 598a87c349 cleanup 2023-06-02 19:28:56 +03:00
Yuri Kuznetsov 34ec6cfc8d bundle chunks 2023-06-02 19:26:38 +03:00
Yuri Kuznetsov 39865b4c09 bundler changes 2023-06-01 16:35:25 +03:00
Yuri Kuznetsov 116a605053 1 chunk 2023-06-01 14:12:22 +03:00
Yuri Kuznetsov a1da459343 Merge branch 'master' into version/7.6 2023-06-01 13:32:40 +03:00
Yuri Kuznetsov 6346fae044 fix array 2023-06-01 13:32:25 +03:00
Yuri Kuznetsov 12440e7ab6 add dashlet quick search 2023-06-01 13:25:35 +03:00
Yuri Kuznetsov 39af37f20c dashlet options impr 2023-06-01 13:07:51 +03:00
Yuri Kuznetsov 0b9abdd70d schema autoload 2023-06-01 12:14:32 +03:00
Yuri Kuznetsov 29c9b0fc78 cs 2023-06-01 11:10:39 +03:00
Yuri Kuznetsov aee977ac36 installer ref 2023-06-01 11:05:46 +03:00
Yuri Kuznetsov 8b03a82480 preload icon fonts 2023-06-01 11:05:30 +03:00
Yuri Kuznetsov 95f9946476 cleanup 2023-06-01 10:16:19 +03:00
Yuri Kuznetsov 5ab64077e8 bg 2023-06-01 09:46:47 +03:00
Yuri Kuznetsov ae8221e208 v 2023-06-01 09:23:07 +03:00
Yuri Kuznetsov a18866a900 fix 2023-05-31 18:23:22 +03:00
Yuri Kuznetsov ab65f99a44 discard original/espo 2023-05-31 17:48:10 +03:00
Yuri Kuznetsov 2a4158a130 fix 2023-05-31 17:47:56 +03:00
Yuri Kuznetsov 0befa49f1a CORS middleware (#2754)
* cors

* bind helper

* ref
2023-05-31 17:03:39 +03:00
Yuri Kuznetsov d4aa9745ca ORM: Join sub-query (#2757)
* orm join sub-query

* tests
2023-05-31 17:01:43 +03:00
Yuri Kuznetsov 260a5c89ef discard pre-load config 2023-05-31 16:44:02 +03:00
Yuri Kuznetsov b19aec81b4 layout template bundle 2023-05-31 16:23:01 +03:00
Yuri Kuznetsov 9eea792fb1 bundle chunks 3 2023-05-31 14:56:10 +03:00
Yuri Kuznetsov d05a084509 template precompile 2023-05-31 14:48:23 +03:00
Yuri Kuznetsov 1722d3b69f fix 2023-05-31 13:23:43 +03:00
Yuri Kuznetsov 53a6384515 update bullbone 2023-05-31 13:18:16 +03:00
Yuri Kuznetsov 5e492d3e3f bundler impr 2023-05-31 11:34:39 +03:00
Yuri Kuznetsov 1daac4cfad foreign field copy params 2023-05-30 12:37:26 +03:00
Yuri Kuznetsov 646939bcf8 binding value conflict handling 2023-05-29 18:26:11 +03:00
Yuri Kuznetsov 84062f331f fix parent field loader 2023-05-29 13:13:50 +03:00
Yuri Kuznetsov 0a1cd5cb74 schema fixes 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov f63b7e04d6 fixes 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov c287137283 grunt do not clean custom modules 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov d3d8a5dc25 fix docs 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov bf5468d4f4 Update README.md 2023-05-28 18:10:41 +03:00
Yuri Kuznetsov 7b93cf028a schema impr 2023-05-28 09:07:43 +03:00
Yuri Kuznetsov 3012008b85 cleanup 2023-05-28 08:54:16 +03:00
Yuri Kuznetsov 145312af2c fix 2023-05-27 15:44:06 +03:00
Yuri Kuznetsov 0414ee6aa0 vscode json schema mappings 2023-05-27 15:36:23 +03:00
Yuri Kuznetsov bf716b7953 fix schema 2023-05-27 15:34:32 +03:00
Yuri Kuznetsov d4657ff85d fix 2023-05-27 14:14:04 +03:00
Yuri Kuznetsov 5023a58cc1 schema 2023-05-27 13:59:52 +03:00
Yuri Kuznetsov 9ea75f1abf metadata app orm change 2023-05-27 12:14:21 +03:00
Yuri Kuznetsov 50a91836e8 schema 2023-05-27 11:44:41 +03:00
Yuri Kuznetsov 12d05f7a6b schema 2023-05-26 14:47:25 +03:00
Yuri Kuznetsov bff4002cad schema 2023-05-26 13:39:29 +03:00
Yuri Kuznetsov 29388a8a8d add complex expressions 2023-05-26 11:44:09 +03:00
Yuri Kuznetsov 7f29a66ad3 Merge branch 'fix' 2023-05-26 10:12:18 +03:00
Yuri Kuznetsov e7067447b6 7.4.6 2023-05-26 09:44:35 +03:00
Yuri Kuznetsov b807f32669 ref 2023-05-25 22:40:15 +03:00
Yuri Kuznetsov db596c886e fix 2023-05-25 17:21:21 +03:00
Yuri Kuznetsov 0e37635373 schema 2023-05-25 17:18:55 +03:00
Yuri Kuznetsov 58ac7de123 fix comment 2023-05-25 13:57:58 +03:00
Yuri Kuznetsov ab8421dbae ref 2023-05-25 12:28:42 +03:00
Yuri Kuznetsov 915b8f288b fix duration 2023-05-25 10:12:00 +03:00
Andrew Fontana 52b7a59085 Add title to list-tree-item to preview name (#2750)
When a folder name is too long it will be almost impossible to read it, with this addition it will be possible to hover the mouse on the folder name to view it fully.
2023-05-25 09:41:47 +03:00
Yuri Kuznetsov e75119645b fix portal edit acl frontend check 2023-05-24 17:07:49 +03:00
Yuri Kuznetsov a39cd8f114 Merge branch 'fix' 2023-05-24 16:35:01 +03:00
Yuri Kuznetsov 4e8f771ef7 fix has children search 2023-05-24 16:34:20 +03:00
Yuri Kuznetsov e0ce18407d fix has children search 2023-05-24 16:31:07 +03:00
Yuri Kuznetsov fcdcf78629 orm: fix string with colom 2023-05-24 12:16:15 +03:00
Andrew Fontana 821e346e7d edit-attributes.js fix missing translation label (#2748)
fix missing translation label for cancel button
2023-05-23 16:18:00 +03:00
Yuri Kuznetsov 0276fcf5ce orm fix select item array with 1 element 2023-05-23 14:24:43 +03:00
Yuri Kuznetsov 7c729aa23f fix 2023-05-23 14:02:23 +03:00
Yuri Kuznetsov 14d08204f1 fix 2023-05-23 14:01:32 +03:00
Yuri Kuznetsov 2747fe2716 fix test 2023-05-21 11:31:02 +03:00
Yuri Kuznetsov ff6957f577 binding builtin check commented 2023-05-21 11:10:01 +03:00
Yuri Kuznetsov 39c0da248b cs 2023-05-21 10:05:48 +03:00
Yuri Kuznetsov 4a29c14051 primary filter name parameter 2023-05-21 10:02:19 +03:00
Yuri Kuznetsov 4f8dcf0447 Update README.md 2023-05-19 13:43:51 +03:00
Yuri Kuznetsov 081998c79f Update README.md 2023-05-19 10:34:24 +03:00
Yuri Kuznetsov 23f0f0bc6d Update README.md 2023-05-19 10:28:06 +03:00
Yuri Kuznetsov 4f7f40a245 Update README.md 2023-05-19 10:16:43 +03:00
Yuri Kuznetsov 624be85604 Update README.md 2023-05-19 10:12:06 +03:00
Yuri Kuznetsov 452eca267d Update README.md 2023-05-19 09:34:43 +03:00
Yuri Kuznetsov 0711781a1e Update README.md 2023-05-19 09:33:18 +03:00
Yuri Kuznetsov 65d3c25a9e Update README.md 2023-05-19 09:20:18 +03:00
Yuri Kuznetsov 3a94e1fb98 Update README.md 2023-05-19 09:19:22 +03:00
Yuri Kuznetsov c621b84a4c Update README.md 2023-05-19 09:14:27 +03:00
Yuri Kuznetsov df69375644 Merge branch 'fix' 2023-05-14 13:40:33 +03:00
Yuri Kuznetsov 53ecb36705 fix cleanup 2023-05-14 13:40:17 +03:00
Yuri Kuznetsov 2c5ba1b826 Update bug_report.md 2023-05-14 13:18:05 +03:00
Yuri Kuznetsov 90ddfe3b43 Update config.yml 2023-05-14 13:09:59 +03:00
Yuri Kuznetsov a58d4be849 style fix 2023-05-13 15:07:00 +03:00
Yuri Kuznetsov 6f7b5e9973 cleanup 2023-05-13 15:01:57 +03:00
Yuri Kuznetsov a727cee3a6 login 2nd step focus 2023-05-13 15:00:29 +03:00
Yuri Kuznetsov 562da819a6 fix typo 2023-05-13 14:57:24 +03:00
Yuri Kuznetsov 7cc980d525 Update bug_report.md 2023-05-12 22:27:48 +03:00
Yuri Kuznetsov 4af973015f Update bug_report.md 2023-05-12 22:26:11 +03:00
Yuri Kuznetsov 210fac225d Update config.yml 2023-05-12 22:16:05 +03:00
Yuri Kuznetsov 875377e0d2 Update bug_report.md 2023-05-12 22:10:10 +03:00
Yuri Kuznetsov eacd62f7fb Merge branch 'fix' 2023-05-12 10:02:07 +03:00
Yuri Kuznetsov 4faaa2d082 v 2023-05-11 13:28:01 +03:00
Yuri Kuznetsov 8dda1321b5 event fix patch upgrade 2023-05-11 13:12:57 +03:00
Yuri Kuznetsov bb59cda131 event upgrade fix 2023-05-11 12:59:41 +03:00
Yuri Kuznetsov ed12c6f6bd cs 2023-05-10 11:54:26 +03:00
Yuri Kuznetsov 324ded28de cs 2023-05-10 10:52:34 +03:00
David 1262fdbf29 fixed group by in count (#2734)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-05-10 09:13:26 +03:00
Yuri Kuznetsov 901c0ba24e use forceDisplayTopBar 2023-05-09 14:35:07 +03:00
Yuri Kuznetsov 8213f704ce fix 2023-05-09 14:20:38 +03:00
Yuri Kuznetsov 17af6bf515 Merge branch 'fix' 2023-05-09 13:28:35 +03:00
Yuri Kuznetsov 0d9f1a225f v 2023-05-09 13:14:44 +03:00
Yuri Kuznetsov 8518a44935 document dnd fix 2023-05-09 13:03:17 +03:00
Yuri Kuznetsov 458fb47f43 list button contanier placeholder 2023-05-08 18:20:34 +03:00
Yuri Kuznetsov f4db21af2c cs 2023-05-08 14:39:22 +03:00
Yuri Kuznetsov 9d426f7feb css fix 2023-05-08 14:37:03 +03:00
Yuri Kuznetsov 52ae61b1a5 portal detail view tabs 2023-05-08 13:52:09 +03:00
Yuri Kuznetsov c3c76fab71 dashboard field style fix 2023-05-08 12:36:05 +03:00
Yuri Kuznetsov 61db883330 kanban stick top use offset 2023-05-08 10:04:06 +03:00
Yuri Kuznetsov 447c236953 import no duplicare 2023-05-08 09:30:40 +03:00
Yuri Kuznetsov 8bbfb743f0 fix 2023-05-08 09:29:00 +03:00
Yuri Kuznetsov 3e18f488c6 cs 2023-05-07 19:40:51 +03:00
Yuri Kuznetsov ad6d001e9f ref 2023-05-07 19:22:08 +03:00
Yuri Kuznetsov faa11d603e cs 2023-05-07 19:18:28 +03:00
Yuri Kuznetsov ae2eff925b fix 2023-05-07 18:49:12 +03:00
Yuri Kuznetsov f180a8ff84 Update feature_request.md 2023-05-06 19:08:07 +03:00
Yuri Kuznetsov e6ad56d6d0 quick create message 2023-05-06 09:46:07 +03:00
Yuri Kuznetsov 37f1948f9f ref 2023-05-06 09:35:59 +03:00
Yuri Kuznetsov 1adea79d23 notify fixes 2023-05-06 09:32:39 +03:00
Yuri Kuznetsov dd640c2fbe ref 2023-05-06 09:32:22 +03:00
Yuri Kuznetsov 6c49e93cbf add field quick search 2023-05-05 15:07:16 +03:00
Yuri Kuznetsov 247858d295 ref 2023-05-05 15:02:32 +03:00
Yuri Kuznetsov 797679ce7a fix js docs 2023-05-05 14:53:03 +03:00
Yuri Kuznetsov ae17acce20 disable inline edit disabled for autoincrement 2023-05-05 14:33:59 +03:00
Yuri Kuznetsov 5974098482 created at indexes for template entities 2023-05-05 14:06:37 +03:00
Yuri Kuznetsov 0ae0a7e1f9 fix label 2023-05-04 17:06:07 +03:00
Yuri Kuznetsov fb1e4acd60 remove default empty string 2023-05-04 16:51:20 +03:00
Yuri Kuznetsov e6407bf292 cleanup 2023-05-04 16:48:55 +03:00
Yuri Kuznetsov 2ee1728776 foreign url multiple 2023-05-04 11:29:28 +03:00
Yuri Kuznetsov 5cab488a81 url multiple export 2023-05-03 19:10:54 +03:00
Yuri Kuznetsov c623dfac75 docs 2023-05-03 12:23:05 +03:00
Yuri Kuznetsov 3e94e18b73 disable storing text filters param 2023-05-03 11:40:58 +03:00
Yuri Kuznetsov 1d00350fa1 function generate record id 2023-05-03 11:27:18 +03:00
Yuri Kuznetsov 9056ad493b cs 2023-05-02 18:21:28 +03:00
Yuri Kuznetsov b5a9007619 cs 2023-05-02 18:08:47 +03:00
Yuri Kuznetsov 9221cbc361 cs 2023-05-02 18:08:05 +03:00
Yuri Kuznetsov 9a6cfd4228 cs 2023-05-02 18:06:33 +03:00
Yuri Kuznetsov 81ac053818 record fetch 2023-05-02 16:19:12 +03:00
Yuri Kuznetsov 693bb804b6 cs 2023-05-02 14:56:38 +03:00
Yuri Kuznetsov 6ec70d7792 duplicates use list view 2023-05-02 14:34:56 +03:00
Yuri Kuznetsov 0c6ddb725b docs 2023-05-02 12:38:57 +03:00
Yuri Kuznetsov fe7689297c dont create select manager 2023-05-02 12:38:13 +03:00
Yuri Kuznetsov 95809454b8 freeEmailProviderDomains custom 2023-05-02 12:34:29 +03:00
Yuri Kuznetsov 9bc932d54f user is busy function 2023-05-02 12:12:51 +03:00
Yuri Kuznetsov d57d5d1d4a methods 2023-05-02 11:52:59 +03:00
Yuri Kuznetsov b929aa07ec cs 2023-05-02 10:58:58 +03:00
Yuri Kuznetsov 0c0e118ea2 duplicates use preapre entity for output 2023-05-02 09:57:58 +03:00
Yuri Kuznetsov d522eab8f5 entity manager params panels 2023-05-01 15:27:03 +03:00
Yuri Kuznetsov 21d5ea9fe6 upgrade fix 2023-05-01 15:26:36 +03:00
Yuri Kuznetsov 9bb1cb3efc fix metadata save custom 2023-05-01 15:25:22 +03:00
Yuri Kuznetsov c681c3ba54 event status treatment editable 2023-05-01 14:21:36 +03:00
Yuri Kuznetsov 7960eb87cc change 2023-05-01 11:50:55 +03:00
Yuri Kuznetsov f565f4cf04 revert 2023-05-01 11:34:15 +03:00
Yuri Kuznetsov 5775ddcf6a convert currency change 2023-05-01 11:24:42 +03:00
Yuri Kuznetsov a220bce2a4 rename 2023-05-01 10:20:01 +03:00
Yuri Kuznetsov 184573946f mainCurrencyFieldList 2023-05-01 10:12:39 +03:00
Yuri Kuznetsov e0a00f4d41 currency convesion ref 2023-04-30 20:12:03 +03:00
Yuri Kuznetsov 4fe1a035c6 currency disable action 2023-04-30 19:13:49 +03:00
Yuri Kuznetsov 5148f5e341 use customizationOptionsReferenceDisabled 2023-04-30 15:07:13 +03:00
Yuri Kuznetsov 19fa50b6a7 history status list param 2023-04-30 14:55:46 +03:00
Yuri Kuznetsov 19949f4217 template specific entity params 2023-04-30 12:23:20 +03:00
Yuri Kuznetsov bef906e421 status field locked 2023-04-30 12:07:22 +03:00
Yuri Kuznetsov 0c68ecef37 api error output status reason only specific exceptions 2023-04-30 10:39:05 +03:00
Yuri Kuznetsov 4c5cd11ffb Merge branch 'fix' 2023-04-30 10:07:34 +03:00
Yuri Kuznetsov b4a5d28f53 duplicate check only name 2023-04-30 10:07:19 +03:00
Yuri Kuznetsov 06ffc8c6f6 fix title 2023-04-29 22:54:51 +03:00
Yuri Kuznetsov eb32f23d38 ref 2023-04-29 20:32:28 +03:00
Yuri Kuznetsov 5d61b049b5 api-before-save-script 2023-04-29 19:18:02 +03:00
Yuri Kuznetsov 2b667ffa03 cs 2023-04-29 10:55:29 +03:00
Yuri Kuznetsov fdb24513b5 cs 2023-04-29 10:49:25 +03:00
Yuri Kuznetsov a822535537 cs 2023-04-28 16:26:07 +03:00
Yuri Kuznetsov 83b60e49c6 ref 2023-04-28 16:19:41 +03:00
Yuri Kuznetsov 86c8fe9a83 ref 2023-04-28 16:08:06 +03:00
Yuri Kuznetsov d460805c8b ref 2023-04-28 15:57:25 +03:00
Yuri Kuznetsov a9d73a8501 ref 2023-04-28 15:44:47 +03:00
Yuri Kuznetsov a3cf76be92 ref 2023-04-28 15:26:06 +03:00
Yuri Kuznetsov 23c9893362 ref 2023-04-28 15:21:19 +03:00
Yuri Kuznetsov 7efbe56763 clnup 2023-04-28 15:20:01 +03:00
Yuri Kuznetsov 9759ab523c ref 2023-04-28 14:28:51 +03:00
Yuri Kuznetsov 21f8ff0168 docs 2023-04-28 13:31:07 +03:00
Yuri Kuznetsov f865bd9282 docs fix 2023-04-28 13:29:41 +03:00
Yuri Kuznetsov 8e0770b15d entity manager params 2023-04-28 12:58:06 +03:00
Yuri Kuznetsov 0b696f8388 doc fix 2023-04-28 11:07:52 +03:00
Yuri Kuznetsov 6b6c166eca ref 2023-04-28 09:48:07 +03:00
Yuri Kuznetsov 598422a822 cs 2023-04-28 09:38:36 +03:00
Yuri Kuznetsov 15b3a89520 dashboard locked remove 2023-04-27 17:14:38 +03:00
Yuri Kuznetsov 7d06d0f6a4 cs docs 2023-04-27 16:40:15 +03:00
Yuri Kuznetsov b975799231 layoutDefs usage 2023-04-27 15:59:19 +03:00
Yuri Kuznetsov 96a8194775 update bullbone 2023-04-27 15:58:10 +03:00
Yuri Kuznetsov 600150c363 ref 2023-04-27 15:18:09 +03:00
Yuri Kuznetsov 8a1242c312 Bull extend usage 2023-04-27 14:40:19 +03:00
Yuri Kuznetsov b44b8721c5 layout edit impr 2023-04-27 13:56:16 +03:00
Yuri Kuznetsov 6149f1a476 no total text 2023-04-27 13:38:43 +03:00
Yuri Kuznetsov f4eb69c831 dashboard tab name max length 2023-04-27 12:54:28 +03:00
Yuri Kuznetsov 0e94a9708a dashboard locked prefrerences param 2023-04-27 12:45:18 +03:00
Yuri Kuznetsov 97cc94d3d9 clnup 2023-04-27 11:27:16 +03:00
Yuri Kuznetsov ec848524a6 create related link read only 2023-04-27 11:25:48 +03:00
Yuri Kuznetsov ec20edde5e cs 2023-04-27 11:12:06 +03:00
Yuri Kuznetsov d6093e7764 ref 2023-04-27 10:34:38 +03:00
Yuri Kuznetsov b71bc36061 clnp 2023-04-27 10:21:56 +03:00
Yuri Kuznetsov 359fc94d99 update phpstan 2023-04-27 10:21:30 +03:00
Yuri Kuznetsov 5e59cbea8a type fixes 2023-04-27 10:21:24 +03:00
Yuri Kuznetsov 843a7c1f1e Merge branch 'fix' 2023-04-27 09:58:03 +03:00
Yuri Kuznetsov aa5427d976 fix 2023-04-27 09:43:09 +03:00
Yuri Kuznetsov 04218e0291 fix 2023-04-27 09:43:02 +03:00
Yuri Kuznetsov 9a7c4da780 fix 2023-04-26 22:46:27 +03:00
Yuri Kuznetsov da777f2e40 cs 2023-04-26 22:41:39 +03:00
Yuri Kuznetsov 7fc92a6a03 ref 2023-04-26 22:38:25 +03:00
Yuri Kuznetsov f93958ffea ref 2023-04-26 22:11:18 +03:00
Yuri Kuznetsov 1f71856d59 test fix 2023-04-26 18:28:24 +03:00
Yuri Kuznetsov 097f5141d3 ref 2023-04-26 18:14:45 +03:00
Yuri Kuznetsov 9547c45109 email import ref, use locking 2023-04-26 18:12:48 +03:00
Yuri Kuznetsov 753158ae7a link multiple with id list 2023-04-26 17:56:55 +03:00
Yuri Kuznetsov f50752df6f improve text search autocomplete 2023-04-26 16:12:18 +03:00
Yuri Kuznetsov 1525401105 style fix 2023-04-26 14:49:44 +03:00
Yuri Kuznetsov d62d4265a8 url-multiple field 2023-04-26 14:25:56 +03:00
Yuri Kuznetsov 4aae685c6e ref 2023-04-26 13:20:37 +03:00
Yuri Kuznetsov 18cd794fe1 ref 2023-04-26 12:25:57 +03:00
Yuri Kuznetsov b20a4e768e Merge branch 'fix' 2023-04-26 11:59:42 +03:00
Yuri Kuznetsov c7c6cfe27f fix dompdf custom page size 2023-04-26 11:57:44 +03:00
Yuri Kuznetsov 87077c7644 ref 2023-04-26 11:34:48 +03:00
Yuri Kuznetsov fd02e83cea css fix 2023-04-26 11:29:37 +03:00
Yuri Kuznetsov 8da8285c56 css fix 2023-04-25 17:44:13 +03:00
Yuri Kuznetsov 5c7f67a711 cleanup 2023-04-25 17:42:50 +03:00
Yuri Kuznetsov 26634de090 stored text search 2023-04-25 16:44:10 +03:00
Yuri Kuznetsov 1f2c89517e typo 2023-04-25 13:29:39 +03:00
Yuri Kuznetsov 472a4a63d7 add filter quick search 2023-04-25 12:03:23 +03:00
Yuri Kuznetsov 634315f9e4 cs 2023-04-25 10:12:11 +03:00
Yuri Kuznetsov 064ccd31fc fix edit modal header 2023-04-24 15:45:40 +03:00
Yuri Kuznetsov 0c694447d6 event filters 2023-04-24 15:36:32 +03:00
Yuri Kuznetsov 3ae84a0e5b consts 2023-04-24 14:43:06 +03:00
Yuri Kuznetsov 234de9b812 ref 2023-04-24 14:37:23 +03:00
Yuri Kuznetsov 257e3621ea email filter body contains all 2023-04-24 13:56:55 +03:00
Yuri Kuznetsov 65e31f15a2 email filter cache 2023-04-24 13:08:13 +03:00
Yuri Kuznetsov 982201a1fa ref 2023-04-24 12:22:02 +03:00
Yuri Kuznetsov bb9c2f5e92 image radius 2023-04-24 11:46:28 +03:00
Yuri Kuznetsov 9dc04b2357 Merge branch 'fix' 2023-04-24 11:43:11 +03:00
Yuri Kuznetsov 98d457dae6 fix list view image height 2023-04-24 11:42:59 +03:00
Yuri Kuznetsov d0f7798d55 avatar radius 2023-04-24 11:39:56 +03:00
Yuri Kuznetsov 5ee7b4ffad style fix 2023-04-24 11:24:14 +03:00
Yuri Kuznetsov 7b15b13e8b email validations 2023-04-24 11:16:11 +03:00
Yuri Kuznetsov 2b10be3464 ref 2023-04-24 10:21:57 +03:00
Yuri Kuznetsov 4911d7caa1 cs 2023-04-24 10:08:31 +03:00
Yuri Kuznetsov a23886143a ref 2023-04-24 09:49:11 +03:00
Yuri Kuznetsov 16e0ee4576 cs 2023-04-23 09:45:33 +03:00
Yuri Kuznetsov 33dccd4ef7 cs 2023-04-22 21:27:57 +03:00
Yuri Kuznetsov 7d03ae498b ref 2023-04-22 21:20:58 +03:00
Yuri Kuznetsov fda1dedbe4 ref 2023-04-22 21:09:37 +03:00
Yuri Kuznetsov 07c2a2e49b cs 2023-04-22 21:08:18 +03:00
Yuri Kuznetsov 4964056343 ref 2023-04-22 20:49:54 +03:00
Yuri Kuznetsov 98e15c8f87 cs 2023-04-22 15:43:10 +03:00
Yuri Kuznetsov 6c602610d4 ref 2023-04-22 15:40:34 +03:00
Yuri Kuznetsov 08efd3f979 style fix 2023-04-21 17:56:16 +03:00
Yuri Kuznetsov 49a9cf9248 ref 2023-04-21 17:54:16 +03:00
Yuri Kuznetsov d56877c591 ref 2023-04-21 17:47:07 +03:00
Yuri Kuznetsov 6fe123b3f9 ref 2023-04-21 17:47:04 +03:00
Yuri Kuznetsov 427d2dcf52 ref 2023-04-21 17:24:54 +03:00
Yuri Kuznetsov 755f3de523 fix 2023-04-21 14:34:50 +03:00
Yuri Kuznetsov fc72d847da print email 2023-04-21 14:14:00 +03:00
Yuri Kuznetsov 6a963f39d4 username unique index 2023-04-21 13:08:56 +03:00
Yuri Kuznetsov 5161fbb1d4 save error handling fix 2023-04-21 12:37:17 +03:00
Yuri Kuznetsov fe32d8d47b job no table locking param 2023-04-21 11:13:09 +03:00
Yuri Kuznetsov fffa608816 note update empty 2023-04-21 10:50:39 +03:00
Yuri Kuznetsov fb79de7903 Merge branch 'fix' 2023-04-21 10:34:31 +03:00
Yuri Kuznetsov 007cf8c2aa action button race condition fix 2023-04-21 10:34:08 +03:00
Yuri Kuznetsov 67c86c9521 clnup 2023-04-20 19:50:01 +03:00
Yuri Kuznetsov 780d83f049 ref 2023-04-20 19:48:34 +03:00
Yuri Kuznetsov 1e420ed6f7 comment 2023-04-20 19:31:52 +03:00
Yuri Kuznetsov e5a382b2ec ref 2023-04-20 19:26:29 +03:00
Yuri Kuznetsov b326142952 cs 2023-04-20 19:24:25 +03:00
Yuri Kuznetsov 6870c47132 ref 2023-04-20 19:11:27 +03:00
Yuri Kuznetsov 5251fcd4ec ref 2023-04-20 18:32:24 +03:00
Yuri Kuznetsov f9c6147396 ref 2023-04-20 18:03:30 +03:00
Yuri Kuznetsov 937b2adf57 ref 2023-04-20 17:36:41 +03:00
Yuri Kuznetsov b4e4c875b9 ref 2023-04-20 17:18:53 +03:00
Yuri Kuznetsov 1d52afb45a ip address util 2023-04-20 16:42:26 +03:00
Yuri Kuznetsov 37165fc735 job ref 2023-04-20 16:11:43 +03:00
Yuri Kuznetsov bed891289f ref 2023-04-20 15:45:54 +03:00
Yuri Kuznetsov 3a007518e5 ref 2023-04-20 15:00:58 +03:00
Yuri Kuznetsov c2b856c3da cs 2023-04-20 14:40:02 +03:00
Yuri Kuznetsov 5f944554cf ip address forwarded 2023-04-20 13:56:10 +03:00
dependabot[bot] db34791130 Bump guzzlehttp/psr7 from 1.8.4 to 1.9.1 (#2704)
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 1.8.4 to 1.9.1.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/1.9.1/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/1.8.4...1.9.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-20 09:20:15 +03:00
Yuri Kuznetsov 8b73912c3d revert 2023-04-19 12:17:23 +03:00
Yuri Kuznetsov 1ac2f489ab person-name use coalesce 2023-04-19 12:08:33 +03:00
Yuri Kuznetsov 4309d79c56 ref 2023-04-19 09:28:20 +03:00
Yuri Kuznetsov a802f740c5 docs 2023-04-19 09:28:20 +03:00
dependabot[bot] 9eb4fd7cf9 Bump slim/psr7 from 1.4 to 1.6.1 (#2700)
Bumps [slim/psr7](https://github.com/slimphp/Slim-Psr7) from 1.4 to 1.6.1.
- [Release notes](https://github.com/slimphp/Slim-Psr7/releases)
- [Commits](https://github.com/slimphp/Slim-Psr7/compare/1.4...1.6.1)

---
updated-dependencies:
- dependency-name: slim/psr7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 09:27:44 +03:00
Yuri Kuznetsov 4dd5784838 enum title 2023-04-18 19:34:29 +03:00
Yuri Kuznetsov 87911fc3b6 ref cs 2023-04-18 19:23:01 +03:00
Yuri Kuznetsov d2a1737a9e array style fix 2023-04-18 18:39:59 +03:00
Yuri Kuznetsov 352eefdb29 complex-text-memo 2023-04-18 16:25:26 +03:00
Yuri Kuznetsov e3a2042990 memo dashlet 2023-04-18 16:11:26 +03:00
Yuri Kuznetsov a492a3bbb6 doc 2023-04-18 16:06:19 +03:00
Yuri Kuznetsov fac84830d3 Update config.yml 2023-04-18 14:25:47 +03:00
Yuri Kuznetsov 3d743d306b copy to clipboard varchar/url/number 2023-04-18 13:44:19 +03:00
Yuri Kuznetsov 6de9e82709 Merge branch 'fix' 2023-04-18 12:45:24 +03:00
Yuri Kuznetsov 773f929b01 fix language cleanup 2023-04-18 12:45:15 +03:00
Yuri Kuznetsov 3a6a185548 admin focus on search 2023-04-18 12:37:04 +03:00
Yuri Kuznetsov 32d1863411 doc 2023-04-18 12:28:24 +03:00
Yuri Kuznetsov 23dd15e979 Merge branch 'fix' 2023-04-18 12:20:28 +03:00
Yuri Kuznetsov f3da3e0fb3 fix 2023-04-18 12:01:50 +03:00
Yuri Kuznetsov 396d74df63 side bar wider 2023-04-18 11:52:35 +03:00
Yuri Kuznetsov 7293893fc7 email folders sticked wide screen fix 2023-04-18 11:25:58 +03:00
Yuri Kuznetsov 9b796e7832 list border radius on wide screen 2023-04-18 11:08:19 +03:00
Yuri Kuznetsov a8dab3a3b1 Merge branch 'fix' 2023-04-18 10:33:30 +03:00
Yuri Kuznetsov e432e14a95 ref 2023-04-17 16:56:01 +03:00
Yuri Kuznetsov ee865662b2 cs 2023-04-17 16:51:48 +03:00
Yuri Kuznetsov a24313c789 clnup 2023-04-17 16:46:09 +03:00
Yuri Kuznetsov 02fd5c430f ref 2023-04-17 16:45:50 +03:00
Yuri Kuznetsov 4e0e223766 Update config.yml 2023-04-17 13:38:12 +03:00
Yuri Kuznetsov 2df5017e94 Update feature_request.md 2023-04-17 13:37:50 +03:00
Yuri Kuznetsov 6deb9b4ab7 Update bug_report.md 2023-04-17 13:37:37 +03:00
Yuri Kuznetsov 0a57e538d5 fix layout 2023-04-17 12:20:20 +03:00
Yuri Kuznetsov e8dae0cfd1 account role title 2023-04-17 12:20:14 +03:00
Yuri Kuznetsov e9c55bbd43 css fix 2023-04-15 17:22:16 +03:00
Yuri Kuznetsov 7a98325eae fix email stickable 2023-04-15 10:54:58 +03:00
Yuri Kuznetsov b0a811c51d stream update css fix 2023-04-15 10:25:47 +03:00
Yuri Kuznetsov da013d8aae Merge branch 'fix' 2023-04-14 17:12:53 +03:00
Yuri Kuznetsov a1d920f003 email stickable fix 2023-04-14 11:53:16 +03:00
Yuri Kuznetsov 07443e54de createSearchView method 2023-04-14 11:00:57 +03:00
Yuri Kuznetsov 717a678c9a fix show detail 2023-04-13 23:44:32 +03:00
Yuri Kuznetsov ffaf999587 ref 2023-04-13 21:16:33 +03:00
Yuri Kuznetsov 37fba10ba7 ref 2023-04-13 21:05:34 +03:00
Yuri Kuznetsov 0a9de8cf56 ref 2023-04-13 20:48:06 +03:00
Yuri Kuznetsov a02be88c4a cleanup 2023-04-13 17:13:21 +03:00
Yuri Kuznetsov e8dc05ad99 ref 2023-04-13 16:53:33 +03:00
Yuri Kuznetsov 6338a73eaa discard tryReady usage 2023-04-13 14:56:30 +03:00
Yuri Kuznetsov 73533080f6 list bottom radius class 2023-04-13 11:34:04 +03:00
Yuri Kuznetsov 1c7a6d9825 mailto fix 2023-04-13 11:08:12 +03:00
Yuri Kuznetsov c553bc8d0a linkCheckDisabled 2023-04-12 17:17:27 +03:00
Yuri Kuznetsov 9ff967249b teams users active filter 2023-04-12 13:24:32 +03:00
Yuri Kuznetsov 3011cdf22c cs 2023-04-12 13:21:04 +03:00
Yuri Kuznetsov 4f2ade5f7f css fix 2023-04-12 11:15:45 +03:00
Yuri Kuznetsov b882aad4ab iframe line height 2023-04-12 11:07:32 +03:00
Yuri Kuznetsov 0d6f98319d Merge branch 'fix' 2023-04-11 18:31:45 +03:00
Yuri Kuznetsov 8541c12441 dynamic logic reminder 2023-04-11 18:31:35 +03:00
Yuri Kuznetsov 57d9dbc33e fix stream dashlet 2023-04-11 16:23:35 +03:00
Yuri Kuznetsov 81d92870e9 attachmentAvailableStorageList 2023-04-11 16:08:25 +03:00
Yuri Kuznetsov a86795ea48 forbid system field/link name 2023-04-11 15:54:19 +03:00
Yuri Kuznetsov cb6a320eb5 fix typo 2023-04-11 15:52:42 +03:00
Yuri Kuznetsov c9ab718666 cs 2023-04-11 15:51:53 +03:00
Yuri Kuznetsov 46cace5ed2 Merge branch 'fix' 2023-04-11 15:50:44 +03:00
Yuri Kuznetsov 2a967261b3 mass action disable 2023-04-11 14:36:52 +03:00
Yuri Kuznetsov 66ecf7794e options ref 2023-04-11 14:10:38 +03:00
Yuri Kuznetsov 7365007511 aclDependency refactoring 2023-04-11 11:55:42 +03:00
Yuri Kuznetsov 88870ccac8 Merge branch 'version/7.5' 2023-04-11 10:20:52 +03:00
Yuri Kuznetsov 12e40352fe fix jpeg 2023-04-11 10:06:26 +03:00
Yuri Kuznetsov 2b0bde8c0b cs 2023-04-10 15:45:32 +03:00
Yuri Kuznetsov 931e8b934c user view usage 2023-04-10 15:45:16 +03:00
Yuri Kuznetsov a07cb5ef38 range fields autonumeric 2023-04-10 15:17:06 +03:00
Yuri Kuznetsov 66a6f70a30 v 2023-04-07 22:18:02 +03:00
Yuri Kuznetsov d7a629c5a3 int/float fix 2023-04-07 22:17:25 +03:00
Yuri Kuznetsov 506e96e333 float preventing same decimal mark and th separator 2023-04-07 17:38:06 +03:00
Yuri Kuznetsov 76a9177c46 v 2023-04-07 16:42:17 +03:00
Yuri Kuznetsov a8baac3f92 missing counterpart link warning 2023-04-07 16:40:57 +03:00
Yuri Kuznetsov 8d9d073c16 fix currency decimal places null 2023-04-07 10:10:36 +03:00
Yuri Kuznetsov 177ecdb70b relation issue msg 2023-04-06 20:40:48 +03:00
Yuri Kuznetsov 89ce80d5b2 fix empty type 2023-04-06 19:19:44 +03:00
Yuri Kuznetsov 7f07175bee v 2023-04-06 19:08:54 +03:00
Yuri Kuznetsov 8bca35934c error msg 2023-04-06 19:05:28 +03:00
Yuri Kuznetsov 65bef1df65 fix link-parent not-storable 2023-04-06 18:57:38 +03:00
Yuri Kuznetsov 922a2e835c 2fa portals 2023-04-06 15:31:28 +03:00
Yuri Kuznetsov 048c83def8 upgrade check 2023-04-05 13:06:42 +03:00
Yuri Kuznetsov cf4a8c6c11 ref 2023-04-04 16:35:37 +03:00
Yuri Kuznetsov 7259142117 ref 2023-04-04 15:12:36 +03:00
Yuri Kuznetsov 746398c5ca cs 2023-04-04 15:10:19 +03:00
Yuri Kuznetsov 6a61772e43 cs 2023-04-04 15:09:21 +03:00
Yuri Kuznetsov 2412fb5151 cs 2023-04-04 15:08:44 +03:00
Yuri Kuznetsov 5e5a229366 cleanup 2023-04-04 10:21:48 +03:00
Yuri Kuznetsov 5d27a7a828 linkForeignAccessCheckDisabled 2023-04-04 10:15:48 +03:00
Yuri Kuznetsov 82cc4a7f03 link check allow defaults 2023-04-04 10:00:57 +03:00
Yuri Kuznetsov d2033c53fc link-check fix 2023-04-04 09:30:08 +03:00
Yuri Kuznetsov 86043a5ce5 link check portal bypass 2023-04-03 21:46:22 +03:00
SuchAFuriousDeath 1fae4ac84b integration-order (#2686)
Co-authored-by: tompro <tomas.prochazka@apertia.cz>
2023-04-03 15:46:15 +03:00
Yuri Kuznetsov 6301ba491c formula set link multiple column 2023-04-03 13:43:50 +03:00
Yuri Kuznetsov defe9965d4 getColumnById 2023-04-03 13:20:34 +03:00
Yuri Kuznetsov 937ad48841 fix 2023-04-03 13:20:11 +03:00
Yuri Kuznetsov 781030df60 ref 2023-04-03 12:40:50 +03:00
Yuri Kuznetsov 9b009962a5 print fix 2023-04-03 09:45:46 +03:00
Rabii Brahimi 255b6637ff Update Delete to allow to remove recordDefs and selectDefs (#2684)
When a custom entity of type event is deleted - its recordDefs and selectDefs files are not removed. 
Hope this doesn't break anything and just add ability to remove the two files.
2023-04-03 09:35:27 +03:00
Yuri Kuznetsov 28d1c052d2 formula parser fixes 2023-03-31 22:42:44 +03:00
Yuri Kuznetsov 828d8da741 fix link check 2023-03-31 10:38:32 +03:00
Eymen Elkum 54688795e2 rtl vertical theme (#2678)
Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-30 11:33:23 +03:00
Yuri Kuznetsov 6414a13c6f template assigned user required false 2023-03-30 10:20:59 +03:00
Yuri Kuznetsov c48f17449b v 2023-03-30 09:58:39 +03:00
Yuri Kuznetsov cbf65feb09 before-upgrade script 2023-03-30 09:46:53 +03:00
Yuri Kuznetsov f1a3021c1c fix email applier 2023-03-29 14:14:10 +03:00
Arkadiy Asuratov b70327874e ensure notes by portal users are always public (#2681) 2023-03-29 11:24:22 +03:00
Yuri Kuznetsov 9345ada934 attachment size bigint 2023-03-29 08:17:09 +03:00
Yuri Kuznetsov 92c66a3b9a group email folder mass remove disabled 2023-03-29 08:13:22 +03:00
Yuri Kuznetsov c78f84650c fix dbType 2023-03-29 08:05:59 +03:00
Eymen Elkum cf1692a8a4 border-radios fixes for rtl theme (#2676)
* border-radios fixes for rtl theme

* RTL: improve the fix of rounded borders

* RTL: use css variable for radios

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-29 08:04:07 +03:00
Yuri Kuznetsov 94321b3500 read-only side/bottom panels fix 2023-03-29 07:53:35 +03:00
Yuri Kuznetsov 2010d16d4d ref 2023-03-24 20:35:12 +02:00
Yuri Kuznetsov c1a1e1094a Update SECURITY.md 2023-03-24 20:16:52 +02:00
Yuri Kuznetsov c2fefd6227 cs 2023-03-24 19:47:49 +02:00
Yuri Kuznetsov 99946c8da5 working time calendar icon 2023-03-24 11:46:31 +02:00
Yuri Kuznetsov 86c2478721 style fix 2023-03-23 14:54:02 +02:00
Yuri Kuznetsov 5331332103 duplicate fix 2023-03-23 14:33:28 +02:00
Yuri Kuznetsov 0e380e1c10 mass update empty fix 2023-03-23 14:18:03 +02:00
Yuri Kuznetsov c54dbdc169 cleanup 2023-03-23 14:18:03 +02:00
Yuri Kuznetsov f88261a40a Update README.md 2023-03-21 19:39:24 +02:00
Yuri Kuznetsov 7ec8d1f69c revert 2023-03-21 19:11:32 +02:00
Yuri Kuznetsov 77ce0a3b4e Update README.md 2023-03-21 18:01:13 +02:00
Yuri Kuznetsov 134bde3370 Update README.md 2023-03-21 18:00:42 +02:00
Yuri Kuznetsov 811c841420 Update README.md 2023-03-21 17:41:27 +02:00
Yuri Kuznetsov 48751813fb fix warning 2023-03-21 16:07:23 +02:00
Yuri Kuznetsov 79c182d173 kanban records per page 2023-03-21 15:42:40 +02:00
Yuri Kuznetsov 87a612a1bc change user interface settings layout 2023-03-21 15:41:52 +02:00
Yuri Kuznetsov 388da3db70 name duplicate checker 2023-03-21 14:34:32 +02:00
Yuri Kuznetsov 60fdeafd77 cs 2023-03-21 13:12:19 +02:00
Yuri Kuznetsov 2057534f19 robots.txt 2023-03-21 08:16:16 +02:00
Yuri Kuznetsov b85f60b855 ref cs 2023-03-20 13:36:50 +02:00
Yuri Kuznetsov b4d02130fb typo 2023-03-20 13:32:51 +02:00
Yuri Kuznetsov 9a9d924b19 typo 2023-03-20 13:32:10 +02:00
Yuri Kuznetsov 1fb06f60e0 Merge branch 'fix' 2023-03-20 09:46:12 +02:00
Yuri Kuznetsov 9d65855868 fix array-is-not-empty 2023-03-20 09:43:25 +02:00
Yuri Kuznetsov 8cf2e270a5 fix record-modal helper 2023-03-20 09:34:55 +02:00
Yuri Kuznetsov 07ebd43ac6 max log message length 10000 2023-03-20 09:34:55 +02:00
Yuri Kuznetsov b1447a2922 Update README.md 2023-03-19 10:23:51 +02:00
Yuri Kuznetsov 66b85bf4e9 Update CONTRIBUTING.md 2023-03-19 10:22:19 +02:00
Yuri Kuznetsov e9b58926b4 Update CONTRIBUTING.md 2023-03-19 10:22:13 +02:00
Yuri Kuznetsov 75724b28b2 Update CONTRIBUTING.md 2023-03-19 10:21:06 +02:00
Yuri Kuznetsov 79f0730257 Update CONTRIBUTING.md 2023-03-19 10:14:21 +02:00
Yuri Kuznetsov 13abed67f2 Update README.md 2023-03-19 09:55:13 +02:00
Yuri Kuznetsov 84b98c1cfe Update README.md 2023-03-18 12:19:39 +02:00
Yuri Kuznetsov bc557706ca Update README.md 2023-03-18 12:18:53 +02:00
SuchAFuriousDeath 2ef0f5f80e fixed duplicate key (#2667)
Co-authored-by: tompro <tomas.prochazka@apertia.cz>
2023-03-18 12:01:23 +02:00
Yuri Kuznetsov 33db2270d6 Update README.md 2023-03-18 10:28:02 +02:00
Yuri Kuznetsov 6810ee37ac Update README.md 2023-03-18 09:10:40 +02:00
Yuri Kuznetsov 9e25804f89 update moment timezone 2023-03-17 13:44:29 +02:00
Yuri Kuznetsov 42d30a3f8e date picker in modal 2023-03-17 11:03:26 +02:00
Yuri Kuznetsov 524f94cd54 fix xlsx 2023-03-17 10:23:44 +02:00
Yuri Kuznetsov 739230c4b9 fix currency factory 2023-03-17 10:12:51 +02:00
Yuri Kuznetsov caeadc2f28 css fix 2023-03-16 12:58:08 +02:00
Yuri Kuznetsov fd330f991c ref 2023-03-16 11:02:32 +02:00
David e09bf8fa31 fix remove row (#2663)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-03-16 09:01:40 +02:00
Yuri Kuznetsov 2ea60e66ba not storable select foreign 2023-03-15 18:51:40 +02:00
Yuri Kuznetsov f184e34838 extensions sortable by name 2023-03-15 18:07:30 +02:00
Eymen Elkum d721e9b448 entityType instead of scope (#2661) 2023-03-15 12:45:41 +02:00
Yuri Kuznetsov e1241eddb7 css fix 2023-03-15 10:33:00 +02:00
Yuri Kuznetsov c693654e80 fix 2023-03-15 09:54:42 +02:00
Yuri Kuznetsov 9d0f3dadad fix multi-enum validation popover 2023-03-15 08:19:37 +02:00
Yuri Kuznetsov 2c4033f363 formula currency convert 2023-03-14 11:15:23 +02:00
Yuri Kuznetsov 3c62414c8d doc 2023-03-14 11:01:27 +02:00
Yuri Kuznetsov 9dddd0b92f dark theme table bold 700 2023-03-13 17:27:51 +02:00
Yuri Kuznetsov 2284a3e2e5 orm: map function 2023-03-13 13:43:51 +02:00
Yuri Kuznetsov 60d83b138a cs 2023-03-13 11:13:23 +02:00
Yuri Kuznetsov c94d41a79c types, rename 2023-03-13 11:08:53 +02:00
Yuri Kuznetsov fc78cd28a6 docs 2023-03-13 10:47:09 +02:00
Yuri Kuznetsov b0e01a1fcb select order no complex expressions 2023-03-13 10:43:58 +02:00
Yuri Kuznetsov 41222f8e9e docs 2023-03-13 10:19:57 +02:00
Yuri Kuznetsov 64baaa5253 wysiwyg iframe shortcuts support 2023-03-13 09:53:42 +02:00
Yuri Kuznetsov 35a0f14d28 id generator usage 2023-03-13 08:59:09 +02:00
Yuri Kuznetsov 9bb2197717 ref, id generator usage 2023-03-13 08:54:38 +02:00
Yuri Kuznetsov 1607240f5d readme change 2023-03-12 19:59:32 +02:00
Yuri Kuznetsov 8be1af0671 orm: all/any operators 2023-03-12 17:17:43 +02:00
Yuri Kuznetsov 58ac0800f9 ref 2023-03-12 16:38:22 +02:00
Yuri Kuznetsov 2acac3d0b0 type 2023-03-11 22:46:01 +02:00
Yuri Kuznetsov 5e44fc2d40 Merge branch 'fix' 2023-03-10 18:26:02 +02:00
Yuri Kuznetsov 2b08f83ac2 fix email plain text encoding issue 2023-03-10 18:25:44 +02:00
Yuri Kuznetsov cc1bfce3dd fix email plain text encoding issue 2023-03-10 18:24:08 +02:00
Yuri Kuznetsov 08647b3ed6 ref 2023-03-10 17:31:41 +02:00
Yuri Kuznetsov b97f4ee124 cleanup 2023-03-10 17:20:44 +02:00
Yuri Kuznetsov d4e73f500f ref 2023-03-10 17:20:32 +02:00
Yuri Kuznetsov 5e13e6cf99 ref 2023-03-10 14:32:40 +02:00
Yuri Kuznetsov 3fd06a89f1 fix 2023-03-10 14:12:25 +02:00
Yuri Kuznetsov 6678500d1b cleanup 2023-03-10 13:47:23 +02:00
Yuri Kuznetsov 1a6f236dc7 fix route cache file 2023-03-10 13:39:57 +02:00
Yuri Kuznetsov f57a95349a bind client manager 2023-03-10 13:10:10 +02:00
Yuri Kuznetsov b3496268e0 orm: where clause value as expression 2023-03-10 12:47:11 +02:00
Yuri Kuznetsov fa38ece181 ref 2023-03-10 12:33:19 +02:00
Yuri Kuznetsov 5866f02eca orm: row constructor 2023-03-10 12:22:11 +02:00
Yuri Kuznetsov 6edce56ca7 orm: comparison sub-query 2023-03-10 12:03:46 +02:00
Yuri Kuznetsov 3dc239acc5 ref 2023-03-10 11:30:59 +02:00
Yuri Kuznetsov 385c70845a test 2023-03-10 11:03:02 +02:00
Yuri Kuznetsov 4f65a46434 orm where clause subquery as instance 2023-03-10 10:41:04 +02:00
Yuri Kuznetsov a9c4689500 cs 2023-03-09 20:42:30 +02:00
Yuri Kuznetsov 75b544a995 cs ref 2023-03-09 19:53:56 +02:00
Yuri Kuznetsov 451d5e5659 cleanup 2023-03-09 19:12:58 +02:00
Yuri Kuznetsov 134f5862dd ref 2023-03-09 19:12:33 +02:00
Yuri Kuznetsov b59279ab16 cs 2023-03-09 15:50:17 +02:00
Yuri Kuznetsov 0621c8aefc email to task: subject in description 2023-03-09 15:37:18 +02:00
Yuri Kuznetsov 3229ba1043 foreign field helper 2023-03-09 13:35:16 +02:00
Yuri Kuznetsov 06868b8b57 Merge branch 'fix' 2023-03-09 12:05:40 +02:00
Yuri Kuznetsov fce1d49407 v 2023-03-09 11:59:30 +02:00
Yuri Kuznetsov 8c2cf02891 cs 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov ccdafc67b5 ref 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov b6a470c52e ref 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov 76c63bede4 field view skip re-render in edit mode 2023-03-09 11:59:29 +02:00
dependabot[bot] 2bebe4b045 Bump phpseclib/phpseclib from 3.0.16 to 3.0.19 (#2655)
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.16 to 3.0.19.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.16...3.0.19)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 10:04:41 +02:00
Yuri Kuznetsov 9ee1b41b52 import phone number starts with + fix 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov f18a3043eb open spout export sanitize 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov 01d5f1a07f global search check name exists 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov 06b31d537f note no globals search 2023-03-09 09:12:12 +02:00
David 989a04dddf fix inline edit close (#2653)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-03-09 09:11:18 +02:00
Yuri Kuznetsov 055e968660 match exctract 2023-03-08 11:16:28 +02:00
Yuri Kuznetsov 585512773d formula record delete 2023-03-08 10:32:30 +02:00
Yuri Kuznetsov 71f4abeb97 formula test fix 2023-03-08 10:19:55 +02:00
Yuri Kuznetsov 4f973e057e only middle join test 2023-03-08 10:03:15 +02:00
Yuri Kuznetsov 416bf152f0 prevent thousand separator null 2023-03-08 09:30:28 +02:00
Yuri Kuznetsov 3f473617c0 cs 2023-03-08 09:30:28 +02:00
IgorA100 56766e2246 Localization of email templates (ru_RU ) (#2649)
* Create body.tpl

* Create subject.tpl

* Create subject.tpl

* Create body.tpl

* Update body.tpl

* Create subject.tpl

* Create body.tpl

* Create body.tpl

* Create subject.tpl

* Update body.tpl

* Update body.tpl

* Create body.tpl

* Create subject.tpl
2023-03-07 18:56:01 +02:00
Yuri Kuznetsov a92e44bd6c fix msg 2023-03-07 18:53:17 +02:00
Yuri Kuznetsov 369f3ba9a5 switch complex expr 2023-03-07 18:52:49 +02:00
Yuri Kuznetsov 2d62c902cb Merge branch 'fix' 2023-03-07 17:26:01 +02:00
Yuri Kuznetsov 5985b6d93f fix meeting/call set held 2023-03-07 17:09:36 +02:00
Yuri Kuznetsov 587bda5c73 cs 2023-03-07 17:09:36 +02:00
Yuri Kuznetsov 230a9aced0 ref 2023-03-07 17:09:36 +02:00
IgorA100 023b0ea892 Trying to localize Email templates (#2647)
* Create body.tpl

* Create subject.tpl

* Create subject.tpl

* Create body.tpl

* Update body.tpl
2023-03-07 17:09:16 +02:00
Yuri Kuznetsov 0afd5e1d73 inline-edit-close reset attributes before re-rendering 2023-03-07 14:12:30 +02:00
Yuri Kuznetsov f824d8eaf5 rebuild config metadata support default 2023-03-07 10:19:51 +02:00
Yuri Kuznetsov abab4e2061 fix entityTeam name 2023-03-07 09:58:52 +02:00
Eymen Elkum 36c6883743 Fix formatter enum translation (#2642)
* email template formatter consider enum translation

* htmlizer default value for enum translation & rename variable

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-07 09:58:36 +02:00
Yuri Kuznetsov 9c44f79b4d Merge branch 'fix' 2023-03-07 09:35:10 +02:00
Yuri Kuznetsov 6afd616e42 change poeditor link 2023-03-06 15:22:14 +02:00
Yuri Kuznetsov 7aabbc5d28 fix query composer in array issue 2023-03-06 10:05:55 +02:00
Yuri Kuznetsov 9589b0b70a portal url not sortable 2023-03-06 09:59:48 +02:00
Yuri Kuznetsov 8822104227 contrinuting 2023-03-05 20:23:03 +02:00
Yuri Kuznetsov e34e6b5d9a test 2023-03-05 18:14:11 +02:00
Yuri Kuznetsov 6341492965 ref 2023-03-05 17:25:23 +02:00
Yuri Kuznetsov aeece9acda authlogdisabled 2023-03-05 17:09:16 +02:00
Yuri Kuznetsov f5823d04dd fix 2023-03-05 17:07:29 +02:00
Yuri Kuznetsov 28df6738e2 cs fix 2023-03-05 16:45:38 +02:00
Yuri Kuznetsov 0e371ebe04 discard applierClassNameMap 2023-03-05 16:37:39 +02:00
Yuri Kuznetsov 6fe4034237 readme fix 2023-03-05 14:15:21 +02:00
Yuri Kuznetsov 48c3ea5f13 ref 2023-03-04 19:43:13 +02:00
Anthony Andriano da5b1cf005 bug fix: tcpdf total page numbers for groups (#2632)
The total page number was not correct for groups. The page number for a non-group was used, which produced the wrong result.
2023-03-04 19:42:58 +02:00
Yuri Kuznetsov 2655f0d9c5 ref 2023-03-04 10:59:39 +02:00
Yuri Kuznetsov e11e3d6168 cleanup 2023-03-04 10:34:09 +02:00
Eymen Elkum 90806c0e82 pdf consider enum translation param (#2631) 2023-03-04 09:54:08 +02:00
Yuri Kuznetsov ca9f25636b ref 2023-03-03 17:33:51 +02:00
Yuri Kuznetsov abcc290a7c pg encoding 2023-03-03 15:09:00 +02:00
Yuri Kuznetsov 091b64dd3d ref 2023-03-03 14:41:11 +02:00
Yuri Kuznetsov 8fd8434d68 ref 2023-03-03 11:56:30 +02:00
Yuri Kuznetsov 9ef5c0bc1b fix test 2023-03-03 10:43:15 +02:00
Yuri Kuznetsov 8adfb80558 orm defs try get methods 2023-03-03 10:42:41 +02:00
Yuri Kuznetsov 5ccbf49773 fix link check attachments 2023-03-03 10:27:43 +02:00
Yuri Kuznetsov e2cde84447 ref 2023-03-03 10:19:32 +02:00
Yuri Kuznetsov 26e7f3dfd2 type ref 2023-03-03 10:07:04 +02:00
Yuri Kuznetsov 6a75b28f8c test fix 2023-03-03 09:56:46 +02:00
Yuri Kuznetsov e8b6db20a2 orm discard aggregation 2023-03-03 09:55:15 +02:00
Yuri Kuznetsov 9e37739197 Merge branch 'fix' 2023-03-02 15:19:03 +02:00
Yuri Kuznetsov aae918886f authApiUserLogDisabled 2023-03-02 14:38:39 +02:00
Yuri Kuznetsov cbf0a82c52 config param system 2023-03-02 14:24:31 +02:00
Yuri Kuznetsov fb7683e35b ref 2023-03-02 14:15:13 +02:00
Yuri Kuznetsov 105bb8a80f cs 2023-03-02 13:13:20 +02:00
Yuri Kuznetsov eab0596c33 orm executor ref 2023-03-02 13:11:28 +02:00
Yuri Kuznetsov 7e84278cef ref 2023-03-02 12:47:13 +02:00
Yuri Kuznetsov f2a27c024f ref 2023-03-02 12:32:53 +02:00
Yuri Kuznetsov 1b76097311 sql log 2023-03-02 10:21:16 +02:00
Yuri Kuznetsov ae23f58bf5 ref 2023-03-02 09:19:30 +02:00
Yuri Kuznetsov f3bf7d93c1 pg action user 2023-03-01 13:58:34 +02:00
Yuri Kuznetsov 656ff76a8d lock alias mysql 2023-03-01 13:04:50 +02:00
Yuri Kuznetsov c72bcc365a pg fix week 2023-03-01 10:58:49 +02:00
Yuri Kuznetsov f58687ad6b pg fix quarter fiscal 2023-03-01 10:24:46 +02:00
Yuri Kuznetsov aefe547ef8 has many bc 2023-03-01 09:55:28 +02:00
Yuri Kuznetsov 3619696b12 fix 2023-02-28 19:06:15 +02:00
Yuri Kuznetsov 40d0ad5d08 remove scheduled job service 2023-02-28 19:01:12 +02:00
Yuri Kuznetsov c9d3a3f967 install ref 2023-02-28 18:00:47 +02:00
Yuri Kuznetsov 0b1f7d1548 tester changes 2023-02-28 16:34:16 +02:00
Yuri Kuznetsov 59cee9a2ee pg integration tests action 2023-02-28 15:57:23 +02:00
Yuri Kuznetsov e7373ab817 mass action encode serialized data 2023-02-28 14:03:18 +02:00
Yuri Kuznetsov 9570a28066 exclude test 2023-02-28 13:37:19 +02:00
Yuri Kuznetsov b3f7242bae integratino test platform env 2023-02-28 12:44:18 +02:00
Yuri Kuznetsov 823d371e9d integration-pg test suite 2023-02-28 12:28:17 +02:00
Yuri Kuznetsov 2399d21829 PostgreSQL (#2599)
* dev

* postgres update set

* position in list

* discard charset

* binary => blob

* rollback transaction

* insert on conflict

* fix POSITION_IN_LIST

* TIMESTAMPDIFF

* functions

* functions

* set UTC time zone

* functions and operators

* function

* fulltext

* fix details provider

* full text config usage

* fix param

* full text index rebuild

* full text and round fix

* add uuid db type

* if function

* tests

* delete with joins order limit

* update

* alias max length
2023-02-28 12:12:21 +02:00
Yuri Kuznetsov 01d5091aa3 integration test fix 2023-02-28 12:00:07 +02:00
Yuri Kuznetsov ed867d1b95 array validation max item length rename 2023-02-28 10:37:06 +02:00
Yuri Kuznetsov 3392c843e6 fix case hook 2023-02-28 09:01:05 +02:00
Yuri Kuznetsov 1e29280a1d fix 2023-02-27 18:02:26 +02:00
Yuri Kuznetsov aeecd1f3a6 ref 2023-02-27 16:20:57 +02:00
Yuri Kuznetsov 5ecce30720 fix test 2023-02-27 16:11:32 +02:00
Yuri Kuznetsov c02f87d1c0 integration test quote identifier and ref 2023-02-27 16:07:48 +02:00
Yuri Kuznetsov 929dce6b2e integration tests do not use full-reset 2023-02-27 15:00:20 +02:00
Yuri Kuznetsov c82d35af27 integration test ref 2023-02-27 14:13:01 +02:00
Yuri Kuznetsov a0a0b22d2f bind file manager 2023-02-27 10:46:41 +02:00
Yuri Kuznetsov db3af5749c bind config 2023-02-27 10:20:41 +02:00
Yuri Kuznetsov f1e13f4b95 change inspections 2023-02-27 09:48:41 +02:00
Yuri Kuznetsov 9f43a0ff89 docs 2023-02-26 20:46:56 +02:00
Yuri Kuznetsov 17bc8a6137 ref 2023-02-24 16:22:23 +02:00
Yuri Kuznetsov 66b06b8baa ref 2023-02-24 15:59:45 +02:00
Yuri Kuznetsov 1d6745396d ref 2023-02-24 15:30:26 +02:00
Yuri Kuznetsov 4f53038578 ref 2023-02-24 15:25:59 +02:00
Yuri Kuznetsov 79f5a7a94b expression renamings 2023-02-24 15:17:11 +02:00
Yuri Kuznetsov 77a433445b fix label 2023-02-24 14:03:36 +02:00
Yuri Kuznetsov be54198265 phone email invalid on list view 2023-02-24 13:49:31 +02:00
Yuri Kuznetsov 7da892ba98 fix 2023-02-24 13:33:49 +02:00
Yuri Kuznetsov 7b2526430a email address phone number tools 2023-02-24 13:30:25 +02:00
Yuri Kuznetsov e416dac56f fix validation 2023-02-24 12:14:41 +02:00
Yuri Kuznetsov d11f0f4f1b delete relationships on import revert 2023-02-24 11:40:23 +02:00
Yuri Kuznetsov f72fbed6e1 relation defs getConditions 2023-02-24 11:18:15 +02:00
Yuri Kuznetsov 56fe4e2ef7 cs 2023-02-24 11:00:03 +02:00
Yuri Kuznetsov 684a995e17 fix doc type 2023-02-24 10:54:38 +02:00
Yuri Kuznetsov 2f03572df8 orm alias max length prop 2023-02-24 09:25:10 +02:00
Yuri Kuznetsov 5bb0222abd Merge branch 'fix' 2023-02-24 09:15:00 +02:00
Yuri Kuznetsov 29fd164023 ref cs 2023-02-23 16:17:02 +02:00
Yuri Kuznetsov c52fedcf07 ref 2023-02-23 16:11:11 +02:00
Yuri Kuznetsov 68b12ff848 ref 2023-02-23 14:32:21 +02:00
Yuri Kuznetsov a351af06a1 ref 2023-02-23 14:05:28 +02:00
Yuri Kuznetsov 72c502b492 cs 2023-02-23 13:45:47 +02:00
Yuri Kuznetsov 1047d243a2 ref 2023-02-23 13:44:23 +02:00
Yuri Kuznetsov 5ab129bd9b ref 2023-02-23 13:06:09 +02:00
Yuri Kuznetsov 6e5e940b30 cs 2023-02-23 12:54:51 +02:00
Yuri Kuznetsov fa577a4fa9 ref 2023-02-23 12:40:41 +02:00
Yuri Kuznetsov 64f2c59134 list with categories fallback css fix 2023-02-23 10:18:08 +02:00
Yuri Kuznetsov a82408a06f fix message 2023-02-23 09:38:56 +02:00
Yuri Kuznetsov b80d8830ba create admin user command 2023-02-22 18:01:49 +02:00
Yuri Kuznetsov edcdf3c8be fixes 2023-02-22 18:01:41 +02:00
Yuri Kuznetsov ae27f360ca command io readSecretLine 2023-02-22 17:40:41 +02:00
Yuri Kuznetsov 474759ab6e cs 2023-02-22 17:28:45 +02:00
Yuri Kuznetsov 02ea7cc041 logger ignore empty context 2023-02-22 17:09:02 +02:00
Yuri Kuznetsov 0a67950913 ref 2023-02-22 17:02:07 +02:00
Yuri Kuznetsov 4ef66b1601 fix link conflict 2023-02-22 14:34:50 +02:00
Yuri Kuznetsov 33220d607a phpdocs 2023-02-22 13:25:30 +02:00
Yuri Kuznetsov ac9f80312d container get by class 2023-02-22 12:37:30 +02:00
Yuri Kuznetsov 0db2ee0a8d ref cs 2023-02-22 12:13:47 +02:00
Yuri Kuznetsov 7d4ab54505 greatest/least expression 2023-02-22 11:51:10 +02:00
Yuri Kuznetsov a06bfde766 fix link quick search 2023-02-22 10:57:53 +02:00
Yuri Kuznetsov 46f333fced entityDefs modifier 2023-02-22 10:51:20 +02:00
Yuri Kuznetsov f9294c652d settings skip rebuild 2023-02-21 19:05:38 +02:00
Yuri Kuznetsov a22dc4b2fb languageAclDisabled moved to scopes 2023-02-21 19:01:05 +02:00
Yuri Kuznetsov b293086482 cleanup 2023-02-21 18:57:43 +02:00
Yuri Kuznetsov 93139cb3ef preferences id fix 2023-02-21 18:56:22 +02:00
Yuri Kuznetsov 1db70eeaa8 entity acl changes 2023-02-21 18:56:07 +02:00
Yuri Kuznetsov 8ccda3fd2d currency db type string 2023-02-21 17:18:24 +02:00
Yuri Kuznetsov 60eb9008f7 mail merge endpoint 2023-02-21 14:14:14 +02:00
Yuri Kuznetsov 635fa8b893 activities endpoints 2023-02-21 14:00:09 +02:00
Yuri Kuznetsov 183603e09a forbid layout link name 2023-02-21 13:14:55 +02:00
Yuri Kuznetsov 3399b2cc01 email template api endpoint 2023-02-21 13:12:45 +02:00
Yuri Kuznetsov 9d4d441ec2 import api entrypoints 2023-02-21 12:56:36 +02:00
Yuri Kuznetsov 51bda2f5d2 cleanup 2023-02-21 11:32:45 +02:00
Yuri Kuznetsov 92e62c7760 orm greatest least functions 2023-02-21 11:07:58 +02:00
Yuri Kuznetsov 7bb204a432 authAnotherUserDisabled admin readOnly 2023-02-21 08:38:03 +02:00
Yuri Kuznetsov 39939191e5 fix portal starter 2023-02-20 18:17:12 +02:00
Yuri Kuznetsov aa43f29615 add line 2023-02-20 18:12:09 +02:00
Yuri Kuznetsov f109131d38 route cache check use cache 2023-02-20 18:11:15 +02:00
Yuri Kuznetsov a6fb0bbded slim route cache 2023-02-20 17:45:07 +02:00
Yuri Kuznetsov 9b808908b6 user api entry points routes 2023-02-20 17:19:10 +02:00
Eymen Elkum 0691a3cdda trTag helper put attributes part (#2615) 2023-02-20 14:31:50 +02:00
Yuri Kuznetsov 7208a4f88c cs fix 2023-02-20 14:27:31 +02:00
Yuri Kuznetsov 7d37006450 email address api action, global search endpoint fix 2023-02-20 14:22:53 +02:00
Yuri Kuznetsov 73f1e425ca fix tests 2023-02-20 13:44:36 +02:00
Yuri Kuznetsov 2336ae74da entity manager tool conflict with routes check 2023-02-20 12:56:10 +02:00
Yuri Kuznetsov 4419d0827a global search api endpoint change 2023-02-20 12:33:31 +02:00
Yuri Kuznetsov 0d1bc90848 api endpoints 2023-02-20 12:01:46 +02:00
Yuri Kuznetsov 7665010bff ref 2023-02-20 09:30:31 +02:00
Yuri Kuznetsov 5ba16b4c27 record id type 2023-02-19 16:47:09 +02:00
Yuri Kuznetsov cbf6b0cc6b ref 2023-02-19 13:30:28 +02:00
Yuri Kuznetsov c51a51e110 api apply response headers added by auth 2023-02-19 13:30:21 +02:00
Yuri Kuznetsov b59ff42ac2 ref 2023-02-19 12:58:37 +02:00
Yuri Kuznetsov b635018949 ref 2023-02-19 12:26:21 +02:00
Yuri Kuznetsov fcb2a0b7a5 ref 2023-02-19 11:49:22 +02:00
Yuri Kuznetsov 2048f3fa10 ref 2023-02-19 08:46:15 +02:00
Yuri Kuznetsov 0fe7fb032f phpdoc fix 2023-02-19 08:44:06 +02:00
Yuri Kuznetsov bb24b576e0 cs 2023-02-19 08:42:53 +02:00
Yuri Kuznetsov 2a7a12f58c cs 2023-02-18 22:49:43 +02:00
Yuri Kuznetsov 5ccb081af5 cs and fix class hint 2023-02-18 22:29:34 +02:00
Yuri Kuznetsov ddcb5ccbf9 ref 2023-02-18 14:54:24 +02:00
Yuri Kuznetsov 5b8dc4e629 fix doc 2023-02-18 12:06:47 +02:00
Yuri Kuznetsov 1032b73b85 api response preparing 2023-02-18 11:42:04 +02:00
Yuri Kuznetsov e7b914ff4b ref 2023-02-18 11:37:41 +02:00
Yuri Kuznetsov 30e94f25e6 action middlewares 2023-02-18 09:22:30 +02:00
Yuri Kuznetsov 7fa7fe63f8 api action return response 2023-02-17 21:42:32 +02:00
Yuri Kuznetsov 716a5b86ff rensponse methods 2023-02-17 21:21:27 +02:00
Yuri Kuznetsov a29ce1a873 cleanup 2023-02-17 21:06:16 +02:00
Yuri Kuznetsov ace2dc802a api action 2023-02-17 20:34:29 +02:00
Yuri Kuznetsov 1018bfd4d4 cs 2023-02-17 18:16:57 +02:00
Yuri Kuznetsov cc828661da cs 2023-02-17 17:44:29 +02:00
Yuri Kuznetsov 4c265dbae1 cs 2023-02-17 17:32:17 +02:00
Yuri Kuznetsov 2615869691 cs 2023-02-17 17:13:42 +02:00
Yuri Kuznetsov fbbb7c99c0 cs 2023-02-17 16:38:13 +02:00
Yuri Kuznetsov da7fc9d6a0 cs 2023-02-17 16:28:31 +02:00
Yuri Kuznetsov 9b63470e9a email from autocomplete fix 2023-02-17 16:12:00 +02:00
Yuri Kuznetsov 5879a57cd1 cleanup 2023-02-17 15:47:41 +02:00
Yuri Kuznetsov 702b3f4e2b cs ref 2023-02-17 15:46:44 +02:00
Yuri Kuznetsov 75749efacb formula func interface 2023-02-17 14:01:06 +02:00
Yuri Kuznetsov 854f6c6390 fix 2023-02-17 13:00:22 +02:00
Yuri Kuznetsov 717c21e91b cs 2023-02-17 11:50:53 +02:00
Yuri Kuznetsov 07f1100ccc fix install alert css 2023-02-17 11:40:20 +02:00
Yuri Kuznetsov 3157bb4fcf set read only config params 2023-02-17 10:43:18 +02:00
Yuri Kuznetsov a3a35be818 cleanup 2023-02-17 10:41:32 +02:00
Yuri Kuznetsov 1c1042cd75 stream note unrelate fix 2023-02-17 10:31:41 +02:00
Yuri Kuznetsov 8f8eb4807d cs fix 2023-02-17 10:18:30 +02:00
Yuri Kuznetsov f97bb82d9e unrelate stream note 2023-02-17 10:05:31 +02:00
Yuri Kuznetsov 62b325c24b cs 2023-02-17 09:38:29 +02:00
Yuri Kuznetsov 4051b83b30 docs 2023-02-17 09:08:34 +02:00
Yuri Kuznetsov 75444b3e0b uuid db type 2023-02-17 08:55:32 +02:00
Yuri Kuznetsov 961a7bd0bf ref 2023-02-16 17:17:02 +02:00
Eymen Elkum f4b09c0135 fix foreign enum & array with optionPath & translations (#2610)
* fix foreign enum & array with optionPath & translations

* foreign enum & array clone options

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-02-16 16:49:19 +02:00
Yuri Kuznetsov d09f83e267 system user id in config 2023-02-16 14:23:01 +02:00
Yuri Kuznetsov b874cc283f read only config param 2023-02-16 14:19:15 +02:00
Yuri Kuznetsov b5873c9c1d orm md5 function 2023-02-16 12:51:55 +02:00
Yuri Kuznetsov 89bde00e3b cs 2023-02-16 12:11:57 +02:00
Yuri Kuznetsov 242de1824f exception fix 2023-02-16 12:10:20 +02:00
Yuri Kuznetsov 02d277d045 drop mariadb 10.1 2023-02-16 10:30:07 +02:00
Yuri Kuznetsov 46bd520b52 cs 2023-02-15 17:09:36 +02:00
Yuri Kuznetsov d9c0f7d055 uuid generator 2023-02-15 17:03:14 +02:00
Yuri Kuznetsov 4a9bd1b54c fix getSet 2023-02-15 16:05:30 +02:00
Yuri Kuznetsov 1626e4b6bf update getSet 2023-02-15 15:27:17 +02:00
Yuri Kuznetsov c1cfa0483a orm update in not null 2023-02-15 15:15:13 +02:00
Yuri Kuznetsov c7d5bc8169 fix orm get join 2023-02-15 14:40:15 +02:00
Yuri Kuznetsov a7c33afd93 cs 2023-02-14 20:37:54 +02:00
Yuri Kuznetsov f7678abad1 fix 2023-02-14 18:34:54 +02:00
Yuri Kuznetsov b181624064 ref 2023-02-14 18:34:21 +02:00
Yuri Kuznetsov 8a6c63e12c modified by id fix 2023-02-14 13:28:00 +02:00
Yuri Kuznetsov aba1881a5c fix docs and cleanup 2023-02-14 13:00:52 +02:00
Yuri Kuznetsov 3350ffc0b7 system user id ref 2023-02-14 12:48:42 +02:00
Yuri Kuznetsov c498d463e7 merge fix 2023-02-14 10:58:50 +02:00
Yuri Kuznetsov 54bf67e8bd cleanup 2023-02-13 18:16:35 +02:00
Yuri Kuznetsov 59e852a285 install ref 2023-02-13 18:11:13 +02:00
Yuri Kuznetsov dcbe24746e deprecate SYSTEM_USER_ID const 2023-02-13 17:10:34 +02:00
Yuri Kuznetsov deb3ee0653 system user id ref 2023-02-13 17:00:06 +02:00
Yuri Kuznetsov 698db9ebd6 ref 2023-02-13 14:52:00 +02:00
Rabii Brahimi 214cf538ad Update select-records.js (#2603)
Add ability to show pagination one select records modal (if pagination enabled).
2023-02-13 14:16:46 +02:00
Yuri Kuznetsov f578fd4af9 external account, integration id db type string 2023-02-13 13:46:49 +02:00
Yuri Kuznetsov 57c011ee94 fix test 2023-02-13 13:43:07 +02:00
Yuri Kuznetsov e4285d1d2a ref 2023-02-13 13:28:06 +02:00
Yuri Kuznetsov 5f4643d725 docs 2023-02-13 12:03:02 +02:00
Yuri Kuznetsov fcc13ef10c skip text search for email address if whitespaces 2023-02-13 10:14:43 +02:00
Yuri Kuznetsov 826c1734a2 fix test 2023-02-13 10:01:07 +02:00
Yuri Kuznetsov 849ddadb8c cs fix 2023-02-13 09:59:21 +02:00
Yuri Kuznetsov 3e4bd12a76 fulltext boolean expression 2023-02-13 09:48:47 +02:00
Yuri Kuznetsov e6aae5f4ed schema manager creation change 2023-02-12 19:00:19 +02:00
Yuri Kuznetsov d8bd2f451f orm refactor match expr 2023-02-12 15:13:43 +02:00
Yuri Kuznetsov 9c47341fc1 test fix 2023-02-12 11:40:52 +02:00
Yuri Kuznetsov bbea0c0215 filters improvements 2023-02-12 11:34:55 +02:00
Yuri Kuznetsov 4e4e29e0f1 fix 2023-02-11 23:23:18 +02:00
Yuri Kuznetsov 4658eb800e join only middle, filters change 2023-02-11 23:18:06 +02:00
Yuri Kuznetsov 16a313f659 orm exists operator 2023-02-11 20:04:54 +02:00
Yuri Kuznetsov c2fcd8d86c ref 2023-02-11 16:11:04 +02:00
Yuri Kuznetsov 8666a3977a orm operator key fix 2023-02-11 12:05:01 +02:00
Yuri Kuznetsov fa06a437e5 fix test 2023-02-10 14:40:51 +02:00
Yuri Kuznetsov 0dcea2ad5b fix additionalSelect alias not string 2023-02-10 14:39:51 +02:00
Yuri Kuznetsov 5a3142b252 fix foreign select join value bool 2023-02-10 14:32:57 +02:00
Yuri Kuznetsov 4598b58fbb schema diff modifier handle dropped sequences 2023-02-10 13:23:53 +02:00
Yuri Kuznetsov 7ff9d85a11 id length 17 2023-02-09 18:38:00 +02:00
Yuri Kuznetsov 89b912ee73 fix some foreign id fields and max-length 2023-02-09 16:24:02 +02:00
Yuri Kuznetsov a4f75f1423 person name name not storable 2023-02-09 13:13:52 +02:00
Yuri Kuznetsov 03a69cb364 ORM use COALESCE 2023-02-09 13:01:01 +02:00
Yuri Kuznetsov e7fa98dc09 lock table ref 2023-02-09 12:55:47 +02:00
Yuri Kuznetsov 5eb49d6c3d fix test 2023-02-09 12:51:28 +02:00
Yuri Kuznetsov 1d84aad483 fix bool 0 where clause 2023-02-09 12:47:25 +02:00
Yuri Kuznetsov af847a8fe7 fix test 2023-02-08 13:40:36 +02:00
dependabot[bot] 08a6a2c66b Bump dompdf/dompdf from 2.0.2 to 2.0.3 (#2597)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 20:20:42 +02:00
Yuri Kuznetsov 0a4a3938fb foreign id usage 2023-02-07 18:39:07 +02:00
Yuri Kuznetsov 0bc05b4a6d subscription bigint 2023-02-07 17:37:42 +02:00
Yuri Kuznetsov b7ad2dd760 docs and ref 2023-02-07 16:17:04 +02:00
Yuri Kuznetsov 363842aff2 integration entity id max length 2023-02-07 15:29:53 +02:00
Yuri Kuznetsov ac889dea91 currency column length 3 2023-02-07 12:19:04 +02:00
Yuri Kuznetsov 89e31795cc mass update link test 2023-02-07 11:41:04 +02:00
Yuri Kuznetsov 9953ea8419 link check integration test 2023-02-07 11:20:54 +02:00
Yuri Kuznetsov 1ae1f07de2 merge fix 2023-02-07 10:23:21 +02:00
Yuri Kuznetsov 6fcd0e155d record link check 2023-02-06 22:58:02 +02:00
Yuri Kuznetsov 3e945b7fd8 ref 2023-02-06 21:32:43 +02:00
Yuri Kuznetsov 99464c5210 comment 2023-02-06 16:54:41 +02:00
Yuri Kuznetsov 64c9fbf4f8 fix tests 2023-02-06 16:15:00 +02:00
Yuri Kuznetsov 029d09e689 access link check 2023-02-06 15:24:25 +02:00
Yuri Kuznetsov be27fc45ee link multiple access check 2023-02-06 10:44:04 +02:00
Yuri Kuznetsov 0eefc5d75d ref 2023-02-06 09:50:25 +02:00
Yuri Kuznetsov 876817ffe9 acl link checker 2023-02-06 09:43:59 +02:00
Yuri Kuznetsov f6b3e33e7e ref 2023-02-05 19:46:01 +02:00
Yuri Kuznetsov 24301b22a9 note select optimization 2023-02-05 18:23:59 +02:00
Yuri Kuznetsov 31be2f81ff fix tests 2023-02-05 17:45:25 +02:00
Yuri Kuznetsov bc435b0729 select optimizations 2023-02-05 17:38:08 +02:00
Yuri Kuznetsov 4cd0961f80 assigned users avatar 2023-02-04 17:29:00 +02:00
Yuri Kuznetsov 70edfbb88b ref 2023-02-04 16:38:01 +02:00
Yuri Kuznetsov 9066a2bf97 rel table id params 2023-02-04 16:19:10 +02:00
Yuri Kuznetsov b39bffa1f2 record id dbType 2023-02-04 15:51:30 +02:00
Yuri Kuznetsov c49db089f5 docs 2023-02-04 14:57:19 +02:00
Yuri Kuznetsov 2a110851df column fixed param 2023-02-04 14:56:26 +02:00
Yuri Kuznetsov 3e60103516 fix tests 2023-02-04 14:37:27 +02:00
Yuri Kuznetsov 481b870565 rename 2023-02-04 11:44:01 +02:00
Yuri Kuznetsov 9564d0807a rename 2023-02-04 11:37:00 +02:00
Yuri Kuznetsov 785746c801 ref 2023-02-04 11:34:30 +02:00
Yuri Kuznetsov a89ac23625 rebuild database hard 2023-02-04 10:38:45 +02:00
Yuri Kuznetsov adc2cb5a66 field manager reset rebuild 2023-02-04 10:08:19 +02:00
Yuri Kuznetsov 4b5787c0d0 metadata record id length 2023-02-04 09:36:11 +02:00
Yuri Kuznetsov dcbd2bfa42 fix metadata 2023-02-03 18:31:35 +02:00
Yuri Kuznetsov 147fcb02b6 rename metadata app database 2023-02-03 18:25:07 +02:00
Yuri Kuznetsov 1762096532 orm converter refactoring 2023-02-03 16:00:55 +02:00
Yuri Kuznetsov d21857075e fix typo 2023-02-02 16:16:36 +02:00
Yuri Kuznetsov a81759b0f1 dbal ref 2023-02-02 16:12:14 +02:00
Yuri Kuznetsov 99fb897b63 cleanup 2023-02-02 16:12:13 +02:00
dependabot[bot] f6e7da57f7 Bump dompdf/dompdf from 2.0.1 to 2.0.2 (#2587)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 08:39:35 +02:00
David aa001b4a7f mime type already contains "image/" (#2585)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-01-30 21:37:04 +02:00
Yuri Kuznetsov 37c3cfc539 cs 2023-01-30 20:39:35 +02:00
Yuri Kuznetsov da45d958b7 orm field converter 2023-01-30 14:06:45 +02:00
Yuri Kuznetsov aaf095e32b bool fix 0/1 usagge 2023-01-29 10:04:35 +02:00
Yuri Kuznetsov 282f701b77 fix schema manager proxy 2023-01-28 21:13:37 +02:00
Yuri Kuznetsov ea8ba18d2e ref 2023-01-28 20:47:11 +02:00
Yuri Kuznetsov d08e969915 dbal types refactor 2023-01-28 20:25:27 +02:00
Yuri Kuznetsov 5567cc6938 ref 2023-01-28 14:00:03 +02:00
Yuri Kuznetsov 720188822d currency service refactor 2023-01-28 13:46:56 +02:00
Yuri Kuznetsov 48e0e53ab1 ref 2023-01-28 12:49:19 +02:00
Yuri Kuznetsov 03c123d63e grand refactoring of schema and other database related things 2023-01-28 12:45:44 +02:00
Yuri Kuznetsov 7d4ded2480 Merge branch 'fix' 2023-01-28 12:43:11 +02:00
Yuri Kuznetsov 1ce3825338 ref 2023-01-24 12:11:40 +02:00
Yuri Kuznetsov 1fba05dd04 ref 2023-01-24 11:59:55 +02:00
Yuri Kuznetsov 2c9b16a2d5 ref 2023-01-24 11:54:34 +02:00
Yuri Kuznetsov 314b5bcd87 refactor 2023-01-24 11:18:05 +02:00
Yuri Kuznetsov 433af312cf converter ref 2023-01-23 22:41:48 +02:00
Yuri Kuznetsov 30b18cf945 index defs get flags 2023-01-23 21:43:38 +02:00
Yuri Kuznetsov 81b9991e6d fix login as user logout error 2023-01-23 16:07:56 +02:00
Yuri Kuznetsov 84f3830eca login style fix 2023-01-23 15:57:00 +02:00
Yuri Kuznetsov cb878c70b5 fix 2023-01-23 15:36:54 +02:00
Yuri Kuznetsov 8224eec990 logout wait 2023-01-23 15:31:38 +02:00
Yuri Kuznetsov d655ee92a2 discard user repo 2023-01-23 15:02:12 +02:00
Yuri Kuznetsov a8d868e812 oidc portal fix 2023-01-22 20:26:03 +02:00
Yuri Kuznetsov e5c400214a oidc backchannel logout portal 2023-01-22 20:09:30 +02:00
Yuri Kuznetsov 5be5275eda ref 2023-01-22 20:08:00 +02:00
Yuri Kuznetsov e61535ee92 cleanup 2023-01-22 19:59:48 +02:00
Yuri Kuznetsov e0abe23260 oidc ref 2023-01-22 19:58:31 +02:00
Yuri Kuznetsov 8d65a3256b query composer indexHints prop 2023-01-22 17:56:59 +02:00
Yuri Kuznetsov d82c297b79 query composer order LIST to use POSITION_IN_LIST 2023-01-22 16:12:50 +02:00
Yuri Kuznetsov f7ed15c507 query composer use quote for true false 2023-01-22 15:50:42 +02:00
Yuri Kuznetsov 37b583d431 query composer add quote column 2023-01-22 15:44:49 +02:00
Yuri Kuznetsov c3286c7c4a cleanup 2023-01-22 14:18:26 +02:00
Yuri Kuznetsov 740c751d1b add methods to entity manager proxy 2023-01-22 14:15:13 +02:00
Yuri Kuznetsov 7e66f14e16 password change use method provider 2023-01-22 14:08:04 +02:00
Yuri Kuznetsov c3d0559260 ref 2023-01-22 13:53:00 +02:00
Yuri Kuznetsov 27762e61a6 ref 2023-01-22 13:51:40 +02:00
Yuri Kuznetsov cdbeab8e47 app service ref and recover password check change 2023-01-22 13:42:11 +02:00
Yuri Kuznetsov 15f337a319 oidc portal 2023-01-22 12:55:39 +02:00
Yuri Kuznetsov dd0deeb967 Merge branch 'fix' 2023-01-22 12:50:37 +02:00
Yuri Kuznetsov 7d36e685b8 exportCOllection support params 2023-01-18 11:24:38 +02:00
Yuri Kuznetsov 48fa62105f change default font 2023-01-16 17:23:19 +02:00
Yuri Kuznetsov 7e354d560f cleanup 2023-01-16 17:19:39 +02:00
Yuri Kuznetsov bd1fdaf9d9 change template defaults 2023-01-16 17:18:45 +02:00
Yuri Kuznetsov ab87cff5bc fix 2023-01-15 17:01:02 +02:00
Yuri Kuznetsov a5280ec0ac cleanup 2023-01-15 16:59:00 +02:00
Yuri Kuznetsov 6339690e58 dompdf engine 2023-01-15 16:57:45 +02:00
Yuri Kuznetsov c5ae2800b5 html-container overflow hidden 2023-01-15 16:25:49 +02:00
Yuri Kuznetsov 62501dc20d Merge branch 'fix' 2023-01-15 16:18:00 +02:00
Yuri Kuznetsov c7b7848e69 gruntfile chang 2023-01-14 10:07:03 +02:00
Yuri Kuznetsov a3be63c6f1 fix test 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 52fe2ca1c9 labels 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 6513513108 fix hide/show remove 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 442d2c030b fix grouped notifications 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 391500a1c1 cleanup 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov f239d2c478 notifications fix 2023-01-12 13:03:16 +02:00
dependabot[bot] 101f8a29a3 Bump json5 from 2.2.0 to 2.2.3 (#2554)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-12 11:27:17 +02:00
Yuri Kuznetsov dfb846fb7e lower exceptions log levels 2023-01-11 13:37:21 +02:00
Yuri Kuznetsov ecd6d5a558 Merge branch 'fix' 2023-01-11 13:22:06 +02:00
Yuri Kuznetsov 048d54a7af revert constant usage 2023-01-09 13:07:12 +02:00
Yuri Kuznetsov 5645066d68 Merge branch 'version/7.4' 2023-01-09 12:56:18 +02:00
Yuri Kuznetsov 923ecc883a formula remove while 2023-01-06 12:07:57 +02:00
Yuri Kuznetsov 59a95fa3bc email list view show attachments 2023-01-06 12:03:29 +02:00
Yuri Kuznetsov 4789c3c2ad attachments modal 2023-01-06 11:54:00 +02:00
Yuri Kuznetsov c149aa8560 import validation explanations 2023-01-06 11:01:34 +02:00
Yuri Kuznetsov e9f5d99e9b markdown to string 2023-01-06 10:39:45 +02:00
Yuri Kuznetsov 4309dfb57a massRemoveDisabled param 2023-01-05 11:44:08 +02:00
Yuri Kuznetsov 4ad0a22a6a fix 2023-01-05 11:29:15 +02:00
Yuri Kuznetsov 2daff0eabb list view ref 2023-01-05 11:23:50 +02:00
Yuri Kuznetsov cde59bce55 action handler support not in data 2023-01-05 10:08:12 +02:00
Yuri Kuznetsov 80b9d0dc7b ref 2023-01-05 09:43:28 +02:00
Yuri Kuznetsov bfdaa4721d mass action list fixes 2023-01-04 13:55:34 +02:00
David 60db5cdc6c global mass actions defs fix (#2549)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-01-04 13:37:20 +02:00
Yuri Kuznetsov 1a5a9060a6 fix 2023-01-04 12:01:49 +02:00
Yuri Kuznetsov ddf9dfba47 decimal mark thousand separator options 2023-01-04 11:56:50 +02:00
Yuri Kuznetsov f93060a5ca autonumeric 2023-01-04 11:38:30 +02:00
Yuri Kuznetsov 7e5b491313 formula: break & continue 2023-01-03 18:44:09 +02:00
Yuri Kuznetsov b083a11099 use true/false 2023-01-03 17:59:17 +02:00
Taras Machyshyn 63f67e0f66 2023 year 2023-01-03 16:26:52 +02:00
Taras Machyshyn 141c6430c4 Merge master 2023-01-03 16:22:44 +02:00
Yuri Kuznetsov b872e6960a fix db helper 2023-01-03 15:37:57 +02:00
Yuri Kuznetsov 8ba47b11ec orm quote column 2023-01-03 15:29:56 +02:00
Yuri Kuznetsov 883351eaf3 ref 2023-01-03 10:17:51 +02:00
Yuri Kuznetsov 7976e6d5b5 cs ref 2023-01-03 09:56:04 +02:00
Yuri Kuznetsov 8fcda8c621 ref 2023-01-03 09:43:50 +02:00
Yuri Kuznetsov c1b2870c91 dbal connection factory 2023-01-03 09:18:20 +02:00
Yuri Kuznetsov 2b4f6239f7 revert 2023-01-02 17:31:06 +02:00
Yuri Kuznetsov bae0144393 db helper ref 2023-01-02 17:24:08 +02:00
Yuri Kuznetsov af21cc4400 Merge branch 'master' into version/7.4 2023-01-02 14:51:42 +02:00
Andrew Fontana f50d7717a9 isSubscribedToWebSocket Typo (#2550)
* Fixed WebSocked typo to WebSocket

* Fixed WebSocked typo to WebSocket
2023-01-02 13:42:36 +02:00
Yuri Kuznetsov 03a79ddefe fix 2023-01-01 14:03:50 +02:00
Yuri Kuznetsov 353246281c currency decimal 2023-01-01 13:50:33 +02:00
Yuri Kuznetsov 747d8220e1 currency changes 2023-01-01 12:20:06 +02:00
Yuri Kuznetsov b6a1648486 cleanup 2022-12-31 11:03:44 +02:00
Yuri Kuznetsov e0e168945c cleanup 2022-12-31 10:42:20 +02:00
Yuri Kuznetsov 385d7af1b6 ref 2022-12-31 10:41:36 +02:00
Yuri Kuznetsov 14811a7c1a Merge branch 'master' into version/7.4 2022-12-31 10:10:08 +02:00
Yuri Kuznetsov c828242359 Merge branch 'master' into version/7.4 2022-12-29 13:04:00 +02:00
Yuri Kuznetsov c4610c4e24 jsdoc 2022-12-29 12:43:29 +02:00
Yuri Kuznetsov 583ba47e78 fix doc 2022-12-29 12:06:17 +02:00
Yuri Kuznetsov a9e8d5b2b2 auth error translatable exception message 2022-12-27 14:37:34 +02:00
Yuri Kuznetsov 3c4e33f0c5 fix tests 2022-12-27 14:07:27 +02:00
Yuri Kuznetsov a0d39be19c middlewares after auth 2022-12-27 13:58:04 +02:00
Yuri Kuznetsov 83ef7b32b5 hook interfaces 2022-12-26 14:18:51 +02:00
Yuri Kuznetsov f365a38858 bind pdo provider 2022-12-25 20:28:09 +02:00
Yuri Kuznetsov e6f081c7d1 injectable factory create resolved 2022-12-25 20:22:53 +02:00
Yuri Kuznetsov f463421a33 psr container 2022-12-25 16:50:49 +02:00
Yuri Kuznetsov 49bb6771f6 pdo factory and dbal ref 2022-12-25 14:07:06 +02:00
Yuri Kuznetsov 28d8fcd31e middleware api 2022-12-25 10:28:51 +02:00
Yuri Kuznetsov 008935f054 fix 2022-12-24 20:44:37 +02:00
Yuri Kuznetsov 7ed90d7bbf Merge branch 'master' into version/7.4 2022-12-24 12:13:18 +02:00
Yuri Kuznetsov 7fdcb41547 hook suppress 2022-12-24 11:39:32 +02:00
Yuri Kuznetsov 7eca082d9f Merge branch 'master' into version/7.4 2022-12-24 11:27:47 +02:00
Yuri Kuznetsov ab81d0fae6 fix typo 2022-12-21 18:29:00 +02:00
Yuri Kuznetsov 3f84551b50 entity defs fields validatorClassNameMap 2022-12-21 15:27:43 +02:00
Yuri Kuznetsov 0e56c727ff formula new statments and refactoring 2022-12-20 17:24:53 +02:00
Yuri Kuznetsov c911c0f6e5 Merge branch 'master' into version/7.4 2022-12-20 14:49:50 +02:00
Yuri Kuznetsov 9e424f16d7 Merge branch 'master' into version/7.4 2022-12-18 21:34:06 +02:00
Yuri Kuznetsov dcf1698dad ref 2022-12-15 19:09:22 +02:00
Yuri Kuznetsov 8b92df3f6a rename 2022-12-15 15:40:17 +02:00
Yuri Kuznetsov c343a4600f xlsx changes 2022-12-15 15:36:12 +02:00
Yuri Kuznetsov d196a574fd export with openspout 2022-12-15 15:04:08 +02:00
Yuri Kuznetsov 72b2a456b9 export filter field list 2022-12-15 11:47:21 +02:00
Yuri Kuznetsov d9d42fd664 export params 2022-12-15 11:37:13 +02:00
Yuri Kuznetsov a131308e1a export refactor 2022-12-14 12:49:15 +02:00
Yuri Kuznetsov aff948f0a6 ref 2022-12-14 09:45:28 +02:00
Yuri Kuznetsov 0657d78eb5 move 2022-12-13 15:48:11 +02:00
Yuri Kuznetsov 4807beca0b move 2022-12-13 15:32:07 +02:00
Yuri Kuznetsov 8a26478019 export ref 2022-12-13 15:26:48 +02:00
Yuri Kuznetsov 3a9851c89b refactoring 2022-12-13 14:19:31 +02:00
Yuri Kuznetsov 2824d8cd84 ref 2022-12-12 18:23:56 +02:00
Yuri Kuznetsov e041238d03 cleanup 2022-12-12 18:11:14 +02:00
Yuri Kuznetsov df36d33b98 fix 2022-12-12 18:04:38 +02:00
Yuri Kuznetsov f34ca2fe6b xlsx ref 2022-12-12 17:53:17 +02:00
4681 changed files with 206595 additions and 154801 deletions
+15 -7
View File
@@ -1,17 +1,25 @@
## Pull Requests
Before we can merge your pull request you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla).
See [Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
It's desirable that one PR solves one specific problem. Do not include code style changes to PRs
(unless the main purpose of the PR is a code style fix).
If you would like to contribute something that is not a small fix, it's reasonable to create an issue first
(a bug report or feature request).
Branches:
* *hotfix/** upcoming maintenance release; fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
* *master* the develop branch; new features should be pushed to here;
* *fix* the upcoming maintenance release; small fixes should be pushed to here.
## Issues
When reporting a possible bug please provide detail steps so that we will be able to reproduce the issue. Please try not to use phrases like "very big bug", "huge issue", etc. No need to use exclamation marks as well.
We'd appreciate if you prefer posting issues on weekdays rather than weekends.
Note that we don't provide developer help or any kind of support on Github. Please use our [forum](https://forum.espocrm.com) for this.
When reporting a possible bug, please provide detail steps so that we will be able
to reproduce the issue. Please try not to use phrases like "very big bug",
"huge issue", etc. No need to use exclamation marks as well.
Note that we don't provide developer help or any kind of support on GitHub.
For this, please use our [forum](https://forum.espocrm.com).
+3 -3
View File
@@ -1,6 +1,6 @@
---
name: Bug report
about: Create a bug report
about: Create a bug report. Not to be used for help requests or server configuration issues. Only for issues related to open source EspoCRM. Issues related to extensions should not to be posted here.
title: ''
labels: ''
assignees: ''
@@ -10,8 +10,8 @@ assignees: ''
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
**To Reproduce (MANDATORY, DO NOT REMOVE)**
Explicit steps to reproduce the behavior:
1. ...
2. ...
3. ...
+2 -1
View File
@@ -1,4 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: EspoCRM forum
url: https://forum.espocrm.com/
about: Please use our forum to ask questions not related to product development
about: "Use our forum for help requests and questions not related to product development. We don't provide support on GitHub."
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an idea for EspoCRM
about: Suggest an idea for EspoCRM. For high-level features, consider creating feature requests on the forum. For low-level (framework) here on GitHub.
title: ''
labels: ''
assignees: ''
+1 -1
View File
@@ -2,7 +2,7 @@
## Reporting a vulnerability
If you believe you have discovered a vulnerability in EspoCRM please contacts us via [this](https://www.espocrm.com/contacts/) or [this](https://www.espocrm.com/support/) forms.
If you believe you have discovered a vulnerability in EspoCRM, please contacts us via [this](https://www.espocrm.com/contacts/) or [this](https://www.espocrm.com/support/) forms. Or create a private vulnerability report on GitHub.
## Supported versions
+63
View File
@@ -0,0 +1,63 @@
name: Test Integration on PostgreSQL
on:
schedule:
- cron: '0 11 * * *'
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
env:
TEST_DATABASE_HOST: '127.0.0.1'
TEST_DATABASE_PLATFORM: 'Postgresql'
TEST_DATABASE_CHARSET: 'utf8'
TEST_DATABASE_PORT: '8888'
TEST_DATABASE_NAME: integration_test
TEST_DATABASE_USER: postgres
TEST_DATABASE_PASSWORD: password
services:
postgres:
image: postgres:15.2
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: integration_test
ports:
- '8888:5432'
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
fail-fast: false
matrix:
php-versions: ['8.3']
branches: ['master']
steps:
- uses: actions/checkout@v2
with:
ref: ${{ matrix.branches }}
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Setup PHP with Composer
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v2
ini-values: memory_limit=1024M
- name: NPM install
run: npm install
- name: Build
run: grunt test
- name: Integration testing
run: vendor/bin/phpunit --testsuite integration-pg
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1', '8.2']
php-versions: ['8.1', '8.3']
branches: ['master']
steps:
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2']
php-versions: ['8.1', '8.2', '8.3']
steps:
- uses: actions/checkout@v2
+1
View File
@@ -4,3 +4,4 @@
!/fileTemplates
!/inspectionProfiles
!misc.xml
!jsonSchemas.xml
+8
View File
@@ -1,11 +1,19 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JSCodeStyleSettings version="0">
<option name="USE_DOUBLE_QUOTES" value="false" />
</JSCodeStyleSettings>
<PHPCodeStyleSettings>
<option name="GROUP_USE_WRAP" value="2" />
<option name="VARIABLE_NAMING_STYLE" value="CAMEL_CASE" />
<option name="KEEP_RPAREN_AND_LBRACE_ON_ONE_LINE" value="true" />
<option name="FORCE_EMPTY_METHODS_IN_ONE_LINE" value="true" />
</PHPCodeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>
<option name="INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="PHP">
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
+10 -10
View File
@@ -1,27 +1,27 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-${YEAR} Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
+4 -1
View File
@@ -2,18 +2,21 @@
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ConvertVarToLetConst" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ConvertLetToConst" enabled="true" level="WEAK WARNING" enabled_by_default="true" editorAttributes="INFO_ATTRIBUTES" />
<inspection_tool class="JSIgnoredPromiseFromCall" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocMissingThrowsInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocSignatureIsNotCompleteInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingFieldTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingParamTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingReturnTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpPropertyCanBeReadonlyInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpStanGlobal" enabled="false" level="WEAK WARNING" enabled_by_default="false">
<option name="config" value="$PROJECT_DIR$/phpstan.neon" />
</inspection_tool>
<inspection_tool class="PhpSwitchStatementWitSingleBranchInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PsalmAdvanceCallableParamsInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlDialectInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlNoDataSourceInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TrivialIfJS" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>
+1487
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
*
!.gitignore
!settings.json
+464
View File
@@ -0,0 +1,464 @@
{
"json.schemas": [
{
"fileMatch": [
"*/Resources/autoload.json"
],
"url": "./schema/autoload.json"
},
{
"fileMatch": [
"*/Resources/routes.json"
],
"url": "./schema/routes.json"
},
{
"fileMatch": [
"*/Resources/module.json"
],
"url": "./schema/routes.json"
},
{
"fileMatch": [
"*/Resources/layouts/*/detail.json",
"*/Resources/layouts/*/detailSmall.json",
"*/Resources/layouts/*/detailConvert.json"
],
"url": "./schema/layouts/detail.json"
},
{
"fileMatch": [
"*/Resources/layouts/*/list.json",
"*/Resources/layouts/*/listSmall.json",
"*/Resources/layouts/*/listFor*.json"
],
"url": "./schema/layouts/list.json"
},
{
"fileMatch": [
"*/metadata/aclDefs/*.json"
],
"url": "./schema/metadata/aclDefs.json"
},
{
"fileMatch": [
"*/metadata/authenticationMethods/*.json"
],
"url": "./schema/metadata/authenticationMethods.json"
},
{
"fileMatch": [
"*/metadata/clientDefs/*.json"
],
"url": "./schema/metadata/clientDefs.json"
},
{
"fileMatch": [
"*/metadata/dashlets/*.json"
],
"url": "./schema/metadata/dashlets.json"
},
{
"fileMatch": [
"*/metadata//*.json"
],
"url": "./schema/metadata/.json"
},
{
"fileMatch": [
"*/metadata/entityAcl/*.json"
],
"url": "./schema/metadata/entityAcl.json"
},
{
"fileMatch": [
"*/metadata/entityDefs/*.json"
],
"url": "./schema/metadata/entityDefs.json"
},
{
"fileMatch": [
"*/metadata/fields/*.json"
],
"url": "./schema/metadata/fields.json"
},
{
"fileMatch": [
"*/metadata/integrations/*.json"
],
"url": "./schema/metadata/integrations.json"
},
{
"fileMatch": [
"*/metadata/notificationDefs/*.json"
],
"url": "./schema/metadata/notificationDefs.json"
},
{
"fileMatch": [
"*/metadata/pdfDefs/*.json"
],
"url": "./schema/metadata/pdfDefs.json"
},
{
"fileMatch": [
"*/metadata/recordDefs/*.json"
],
"url": "./schema/metadata/recordDefs.json"
},
{
"fileMatch": [
"*/metadata/scopes/*.json"
],
"url": "./schema/metadata/scopes.json"
},
{
"fileMatch": [
"*/metadata/selectDefs/*.json"
],
"url": "./schema/metadata/selectDefs.json"
},
{
"fileMatch": [
"*/metadata/streamDefs/*.json"
],
"url": "./schema/metadata/streamDefs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/acl.json"
],
"url": "./schema/metadata/app/acl.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/aclPortal.json"
],
"url": "./schema/metadata/app/aclPortal.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/actions.json"
],
"url": "./schema/metadata/app/actions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/addressFormats.json"
],
"url": "./schema/metadata/app/addressFormats.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/adminPanel.json"
],
"url": "./schema/metadata/app/adminPanel.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/api.json"
],
"url": "./schema/metadata/app/api.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/appParams.json"
],
"url": "./schema/metadata/app/appParams.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/authentication.json"
],
"url": "./schema/metadata/app/authentication.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/authentication2FAMethods.json"
],
"url": "./schema/metadata/app/authentication2FAMethods.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/cleanup.json"
],
"url": "./schema/metadata/app/cleanup.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/client.json"
],
"url": "./schema/metadata/app/client.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRoutes.json"
],
"url": "./schema/metadata/app/clientRoutes.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/complexExpression.json"
],
"url": "./schema/metadata/app/complexExpression.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/config.json"
],
"url": "./schema/metadata/app/config.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/consoleCommands.json"
],
"url": "./schema/metadata/app/consoleCommands.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/containerServices.json"
],
"url": "./schema/metadata/app/containerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/currency.json"
],
"url": "./schema/metadata/app/currency.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/currencyConversion.json"
],
"url": "./schema/metadata/app/currencyConversion.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/databasePlatforms.json"
],
"url": "./schema/metadata/app/databasePlatforms.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/dateTime.json"
],
"url": "./schema/metadata/app/dateTime.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/defaultDashboardLayouts.json"
],
"url": "./schema/metadata/app/defaultDashboardLayouts.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/defaultDashboardOptions.json"
],
"url": "./schema/metadata/app/defaultDashboardOptions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/emailTemplate.json"
],
"url": "./schema/metadata/app/emailTemplate.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityManagerParams.json"
],
"url": "./schema/metadata/app/entityManagerParams.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityTemplateList.json"
],
"url": "./schema/metadata/app/entityTemplateList.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityTemplates.json"
],
"url": "./schema/metadata/app/entityTemplates.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/export.json"
],
"url": "./schema/metadata/app/export.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/fieldProcessing.json"
],
"url": "./schema/metadata/app/fieldProcessing.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/file.json"
],
"url": "./schema/metadata/app/file.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/fileStorage.json"
],
"url": "./schema/metadata/app/fileStorage.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/formula.json"
],
"url": "./schema/metadata/app/formula.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/hook.json"
],
"url": "./schema/metadata/app/hook.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/image.json"
],
"url": "./schema/metadata/app/image.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/jsLibs.json"
],
"url": "./schema/metadata/app/jsLibs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/language.json"
],
"url": "./schema/metadata/app/language.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/layouts.json"
],
"url": "./schema/metadata/app/layouts.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/linkManager.json"
],
"url": "./schema/metadata/app/linkManager.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityManager.json"
],
"url": "./schema/metadata/app/entityManager.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/mapProviders.json"
],
"url": "./schema/metadata/app/mapProviders.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/massActions.json"
],
"url": "./schema/metadata/app/massActions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/metadata.json"
],
"url": "./schema/metadata/app/metadata.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientNavbar.json"
],
"url": "./schema/metadata/app/clientNavbar.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/orm.json"
],
"url": "./schema/metadata/app/orm.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/pdfEngines.json"
],
"url": "./schema/metadata/app/pdfEngines.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/popupNotifications.json"
],
"url": "./schema/metadata/app/popupNotifications.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/portalContainerServices.json"
],
"url": "./schema/metadata/app/portalContainerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/rebuild.json"
],
"url": "./schema/metadata/app/rebuild.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/recordId.json"
],
"url": "./schema/metadata/app/recordId.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/regExpPatterns.json"
],
"url": "./schema/metadata/app/regExpPatterns.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/relationships.json"
],
"url": "./schema/metadata/app/relationships.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/scheduledJobs.json"
],
"url": "./schema/metadata/app/scheduledJobs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/select.json"
],
"url": "./schema/metadata/app/select.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/smsProviders.json"
],
"url": "./schema/metadata/app/smsProviders.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/templateHelpers.json"
],
"url": "./schema/metadata/app/templateHelpers.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/templates.json"
],
"url": "./schema/metadata/app/templates.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/webSocket.json"
],
"url": "./schema/metadata/app/webSocket.json"
}
]
}
+108 -51
View File
@@ -1,30 +1,37 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
/**
* * `grunt` - full build;
* * `grunt dev` - build only items needed for development (takes less time);
* * `grunt dev` - build for development;
* * `grunt offline` - build but skip *composer install*;
* * `grunt internal` - build only libs and css;
* * `grunt release` - full build plus upgrade packages`;
* * `grunt release` - full build zipped with upgrade packages`;
* * `grunt test` - build for tests running;
* * `grunt run-tests` - build and run unit and integration tests.
*/
@@ -33,19 +40,35 @@ const fs = require('fs');
const cp = require('child_process');
const path = require('path');
const buildUtils = require('./js/build-utils');
const {TemplateBundler, Bundler} = require('espo-frontend-build-tools');
const LayoutTypeBundler = require('./js/layout-template-bundler');
const bundleConfig = require('./frontend/bundle-config.json');
const libs = require('./frontend/libs.json');
module.exports = grunt => {
const pkg = grunt.file.readJSON('package.json');
const bundleConfig = require('./frontend/bundle-config.json');
const libs = require('./frontend/libs.json');
const originalLibDir = 'client/lib/original';
let bundleJsFileList = buildUtils.getPreparedBundleLibList(libs).concat(originalLibDir + '/espo.js');
let copyJsFileList = buildUtils.getCopyLibDataList(libs);
const libsBundleFileList = [
'client/src/namespace.js',
'client/src/loader.js',
...buildUtils.getPreparedBundleLibList(libs),
];
let minifyLibFileList = copyJsFileList
const bundleFileMap = {'client/lib/espo.js': libsBundleFileList};
for (const name in bundleConfig.chunks) {
const namePart = 'espo-' + name;
bundleFileMap[`client/lib/${namePart}.js`] = originalLibDir + `/${namePart}.js`
}
const copyJsFileList = buildUtils.getCopyLibDataList(libs);
const minifyLibFileList = copyJsFileList
.filter(item => item.minify)
.map(item => {
return {
@@ -54,21 +77,21 @@ module.exports = grunt => {
};
});
let currentPath = path.dirname(fs.realpathSync(__filename));
const currentPath = path.dirname(fs.realpathSync(__filename));
let themeList = [];
const themeList = [];
fs.readdirSync('application/Espo/Resources/metadata/themes').forEach(file => {
themeList.push(file.substring(0, file.length - 5));
});
let cssminFilesData = {};
let lessData = {};
const cssminFilesData = {};
const lessData = {};
themeList.forEach(theme => {
let name = buildUtils.camelCaseToHyphen(theme);
const name = buildUtils.camelCaseToHyphen(theme);
let files = {};
const files = {};
files['client/css/espo/'+name+'.css'] = 'frontend/less/'+name+'/main.less';
files['client/css/espo/'+name+'-iframe.css'] = 'frontend/less/'+name+'/iframe/main.less';
@@ -90,7 +113,7 @@ module.exports = grunt => {
mkdir: {
tmp: {
options: {
mode: 0755,
mode: 0o755,
create: [
'build/tmp',
],
@@ -110,9 +133,7 @@ module.exports = grunt => {
beforeFinal: {
src: [
'build/tmp/custom/Espo/Custom/*',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'!build/tmp/custom/Espo/Modules/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/custom/Espo/Custom/*',
@@ -120,6 +141,10 @@ module.exports = grunt => {
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
'build/tmp/client/lib/original/espo.js',
'build/tmp/client/lib/original/espo-*.js',
'!build/tmp/client/lib/original/espo-funnel-chart.js',
'build/tmp/client/lib/transpiled',
]
},
},
@@ -134,19 +159,19 @@ module.exports = grunt => {
uglify: {
options: {
mangle: true,
sourceMap: true,
output: {
comments: /^!/,
},
beautify: false,
mangle: true,
compress: true
},
bundle: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
},
files: {
'client/lib/espo.min.js': bundleJsFileList,
},
files: bundleFileMap,
},
lib: {
files: minifyLibFileList,
@@ -164,7 +189,6 @@ module.exports = grunt => {
'src/**',
'res/**',
'fonts/**',
'cfg/**',
'modules/**',
'img/**',
'css/**',
@@ -236,7 +260,7 @@ module.exports = grunt => {
options: {
patterns: [
{
match: /\# \{\#dev\}(.*)\{\/dev\}/gs,
match: /# \{#dev}(.*)\{\/dev}/gs,
replacement: '',
}
]
@@ -251,16 +275,43 @@ module.exports = grunt => {
},
});
grunt.registerTask('espo-bundle', () => {
const Bundler = require('./js/bundler');
let contents = (new Bundler()).bundle(bundleConfig.jsFiles);
const writeOriginalLib = (name, contents) => {
if (!fs.existsSync(originalLibDir)) {
fs.mkdirSync(originalLibDir);
}
fs.writeFileSync(originalLibDir + '/espo.js', contents, 'utf8');
const file = originalLibDir + `/${name}.js`;
fs.writeFileSync(file, contents, 'utf8');
};
grunt.registerTask('bundle', () => {
const bundler = new Bundler(bundleConfig, libs);
const result = bundler.bundle();
for (const name in result) {
let contents = result[name];
const key = 'espo-' + name;
if (name === 'main') {
contents += '\n' + (new LayoutTypeBundler()).bundle();
}
writeOriginalLib(key, contents);
}
});
grunt.registerTask('bundle-templates', () => {
const templateBundler = new TemplateBundler({
dirs: [
'client/res/templates',
'client/modules/crm/res/templates',
],
});
templateBundler.process();
});
grunt.registerTask('prepare-lib-original', () => {
@@ -272,6 +323,10 @@ module.exports = grunt => {
cp.execSync("node js/scripts/prepare-lib");
});
grunt.registerTask('transpile', () => {
cp.execSync("node js/transpile");
});
grunt.registerTask('chmod-folders', () => {
cp.execSync(
"find . -type d -exec chmod 755 {} +",
@@ -280,9 +335,9 @@ module.exports = grunt => {
});
grunt.registerTask('chmod-multiple', () => {
let dirPath = 'build/EspoCRM-' + pkg.version;
const dirPath = 'build/EspoCRM-' + pkg.version;
let fileList = [
const fileList = [
{
name: '*.php',
},
@@ -315,7 +370,7 @@ module.exports = grunt => {
},
];
let dirReadableList = [
const dirReadableList = [
'public/install',
'public/portal',
'public/api',
@@ -324,7 +379,7 @@ module.exports = grunt => {
'.',
];
let dirWritableList = [
const dirWritableList = [
'data',
'custom',
'custom/Espo',
@@ -335,8 +390,8 @@ module.exports = grunt => {
];
fileList.forEach(item => {
let path = item.folder || '.';
let name = item.name;
const path = item.folder || '.';
const name = item.name;
cp.execSync(
`find ${path} -type f -iname "${name}" -exec chmod 644 {} +`,
@@ -399,23 +454,22 @@ module.exports = grunt => {
grunt.registerTask('zip', function () { // Don't change to arrow-function.
const archiver = require('archiver');
let resolve = this.async();
const resolve = this.async();
let folder = 'EspoCRM-' + pkg.version;
let zipPath = 'build/' + folder +'.zip';
const folder = 'EspoCRM-' + pkg.version;
const zipPath = 'build/' + folder + '.zip';
if (fs.existsSync(zipPath)) {
fs.unlinkSync(zipPath);
}
let archive = archiver('zip');
const archive = archiver('zip');
archive.on('error', err => {
grunt.fail.warn(err);
});
let zipOutput = fs.createWriteStream(zipPath);
const zipOutput = fs.createWriteStream(zipPath);
zipOutput.on('close', () => {
console.log("EspoCRM package has been built.");
@@ -445,8 +499,10 @@ module.exports = grunt => {
grunt.registerTask('internal', [
'less',
'cssmin',
'espo-bundle',
'prepare-lib-original',
'transpile',
'bundle',
'bundle-templates',
'uglify:bundle',
'copy:frontendLib',
'prepare-lib',
@@ -503,7 +559,8 @@ module.exports = grunt => {
grunt.registerTask('dev', [
'composer-install-dev',
'less',
'npm-install',
'internal',
]);
grunt.registerTask('test', [
+67 -80
View File
@@ -1,23 +1,21 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found.
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
+41 -15
View File
@@ -2,47 +2,73 @@
[![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm)
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities all in an easy and intuitive interface.
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management)
software that allows you to see, enter and evaluate all your company relationships regardless
of the type. People, companies or opportunities all in an easy and intuitive interface.
It's a web application with a frontend designed as a single page application and REST API backend written in PHP.
It's a web application with a frontend designed as a single page application and a REST API
backend written in PHP.
[Download](https://www.espocrm.com/download/) the latest release from our website.
[Download](https://www.espocrm.com/download/) the latest release from our website. Release notes
and release packages are available at [Releases](https://github.com/espocrm/espocrm/releases) on GitHub.
![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png)
### Demo
You can try the CRM on the online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 8.0 and later;
* MySQL 5.7 (and later), or MariaDB 10.1 (and later).
* PHP 8.1 - 8.3;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later).
* PostgreSQL 15 (and later) (yet experimental, officially supported soon)
For more information about server configuration see [this article](https://docs.espocrm.com/administration/server-configuration/).
### Documentation
The documentation for administrators, users and developers is available [here](https://docs.espocrm.com).
See the [documentation](https://docs.espocrm.com) for administrators, users and developers.
### Bug reporting
Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our [forum](http://forum.espocrm.com/forum/bug-reports).
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
### Installing the stable version
### Installing stable version
See the [instructions](https://docs.espocrm.com/administration/installation/) about installation.
See installation instructions:
* [Manual installation](https://docs.espocrm.com/administration/installation/)
* [Installation by script](https://docs.espocrm.com/administration/installation-by-script/)
* [Installation with Docker](https://docs.espocrm.com/administration/docker/installation/)
* [Installation with Traefik](https://docs.espocrm.com/administration/docker/traefik/)
### Development
* [Getting started](https://docs.espocrm.com/development/how-to-start)
* [Running tests](https://docs.espocrm.com/development/tests)
* [Making translation](https://docs.espocrm.com/development/translation)
See the [developer documentation](https://docs.espocrm.com/development/).
We highly recommend using IDE for development. The backend codebase follows SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.
### Contributing
Before we can merge your pull request you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
Branches:
* *fix* upcoming maintenance release; fixes should be pushed to this branch;
* *fix* upcoming maintenance release; minor fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
### Community & Support
If you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our [community forum](https://forum.espocrm.com/). We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later.
### License
EspoCRM is published under the GNU GPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
EspoCRM is published under the GNU AGPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
### Language
If you want to improve existing translation or add a language that is not available yet, you can contribute on our [POEditor](https://poeditor.com/join/project/gLDKZtUF4i) project. See instructions [here](https://www.espocrm.com/blog/how-to-use-poeditor-to-translate-espocrm/). It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website.
Changes on POEditor are usually merged to the GitHub repository before minor releases.
+59 -15
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -44,6 +44,7 @@ class Binding implements BindingProcessor
public function process(Binder $binder): void
{
$this->bindServices($binder);
$this->bindCore($binder);
$this->bindMisc($binder);
$this->bindAcl($binder);
$this->bindWebSocket($binder);
@@ -63,7 +64,12 @@ class Binding implements BindingProcessor
);
$binder->bindService(
'Espo\\Core\\Container\\Container',
'Espo\\Core\\Container',
'container'
);
$binder->bindService(
'Psr\\Container\\ContainerInterface',
'container'
);
@@ -72,6 +78,16 @@ class Binding implements BindingProcessor
'module'
);
$binder->bindService(
'Espo\\Core\\Utils\\Config',
'config'
);
$binder->bindService(
'Espo\\Core\\Utils\\File\\Manager',
'fileManager'
);
$binder->bindService(
'Espo\\ORM\\EntityManager',
'entityManager'
@@ -208,8 +224,8 @@ class Binding implements BindingProcessor
);
$binder->bindService(
'Espo\\Core\\Acl',
'acl'
'Espo\\Core\\Utils\\ClientManager',
'clientManager'
);
$binder->bindService(
@@ -218,6 +234,19 @@ class Binding implements BindingProcessor
);
}
private function bindCore(Binder $binder): void
{
$binder->bindImplementation(
'Espo\\ORM\\PDO\\PDOProvider',
'Espo\\ORM\\PDO\\DefaultPDOProvider'
);
$binder->bindImplementation(
'Espo\\Core\\Utils\\Database\\ConfigDataProvider',
'Espo\\Core\\Utils\\Database\\DefaultConfigDataProvider'
);
}
private function bindMisc(Binder $binder): void
{
$binder->bindImplementation(
@@ -246,7 +275,7 @@ class Binding implements BindingProcessor
->for('Espo\\Core\\Authentication\\Oidc\\Login')
->bindImplementation(
'Espo\\Core\\Authentication\\Oidc\\UserProvider',
'Espo\\Core\\Authentication\\Oidc\\DefaultUserProvider'
'Espo\\Core\\Authentication\\Oidc\\UserProvider\\DefaultUserProvider'
);
$binder->bindImplementation(
@@ -258,6 +287,21 @@ class Binding implements BindingProcessor
'Espo\\Core\\Mail\\Importer\\DuplicateFinder',
'Espo\\Core\\Mail\\Importer\\DefaultDuplicateFinder'
);
$binder->bindImplementation(
'Espo\\Tools\\Api\\Cors\\Helper',
'Espo\\Tools\\Api\\Cors\\DefaultHelper'
);
$binder->bindImplementation(
'Espo\\Core\\Record\\ActionHistory\\ActionLogger',
'Espo\\Core\\Record\\ActionHistory\\DefaultActionLogger'
);
$binder->bindImplementation(
'Espo\\Core\\Mail\\Importer',
'Espo\\Core\\Mail\\Importer\\DefaultImporter'
);
}
private function bindAcl(Binder $binder): void
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -48,17 +48,12 @@ class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private AclManager $aclManager;
private EntityManager $entityManager;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
AclManager $aclManager,
EntityManager $entityManager
private AclManager $aclManager,
private EntityManager $entityManager
) {
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
$this->entityManager = $entityManager;
}
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
@@ -126,8 +121,8 @@ class AccessChecker implements AccessEntityCREDChecker
{
if ($note->getTargetType() === Note::TARGET_TEAMS) {
$intersect = array_intersect(
$note->getLinkMultipleIdList('teams') ?? [],
$user->getLinkMultipleIdList('teams') ?? []
$note->getLinkMultipleIdList('teams'),
$user->getLinkMultipleIdList('teams')
);
if (count($intersect)) {
@@ -150,6 +145,10 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
if ($note->getTargetType() === Note::TARGET_ALL) {
return true;
}
if (!$note->getParentId() || !$note->getParentType()) {
return null;
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,80 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email\LinkCheckers;
use Espo\Core\Acl\LinkChecker;
use Espo\Core\AclManager;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements LinkChecker<Email, Entity>
* @noinspection PhpUnused
*/
class ParentLinkChecker implements LinkChecker
{
public function __construct(
private EntityManager $entityManager,
private AclManager $aclManager
) {}
public function check(User $user, Entity $entity, Entity $foreignEntity): bool
{
if ($this->aclManager->checkEntityRead($user, $foreignEntity)) {
return true;
}
if (!$entity->getReplied()) {
return false;
}
$replied = $this->entityManager
->getRepositoryByClass(Email::class)
->getById($entity->getReplied()->getId());
if (!$replied) {
return false;
}
$parentLink = $replied->getParent();
if (
!$parentLink ||
$parentLink->getId() !== $foreignEntity->getId() ||
$parentLink->getEntityType() !== $foreignEntity->getEntityType()
) {
return false;
}
return $this->aclManager->checkEntityRead($user, $replied);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -126,7 +126,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if ($entity->getTargetType() === Note::TARGET_TEAMS) {
$targetTeamIdList = $entity->getLinkMultipleIdList('teams') ?? [];
$targetTeamIdList = $entity->getLinkMultipleIdList('teams');
foreach ($user->getTeamIdList() as $teamId) {
if (in_array($teamId, $targetTeamIdList)) {
@@ -138,7 +138,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if ($entity->getTargetType() === Note::TARGET_USERS) {
return in_array($user->getId(), $entity->getLinkMultipleIdList('users') ?? []);
return in_array($user->getId(), $entity->getLinkMultipleIdList('users'));
}
return false;
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -51,8 +51,8 @@ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
assert($entity instanceof CoreEntity);
$intersect = array_intersect(
$user->getLinkMultipleIdList('teams') ?? [],
$entity->getLinkMultipleIdList('teams') ?? []
$user->getLinkMultipleIdList('teams'),
$entity->getLinkMultipleIdList('teams')
);
if (count($intersect)) {
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -131,8 +131,8 @@ class AccessChecker implements AccessEntityCREDChecker
if ($note->getTargetType() === Note::TARGET_PORTALS) {
$intersect = array_intersect(
$note->getLinkMultipleIdList('portals') ?? [],
$user->getLinkMultipleIdList('portals') ?? []
$note->getLinkMultipleIdList('portals'),
$user->getLinkMultipleIdList('portals')
);
if (count($intersect)) {
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -118,7 +118,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if ($entity->getTargetType() === Note::TARGET_PORTALS) {
return in_array($user->getPortalId(), $entity->getLinkMultipleIdList('portals') ?? []);
return in_array($user->getPortalId(), $entity->getLinkMultipleIdList('portals'));
}
return false;
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter1 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter2 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter3 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter4 implements AddressFormatter
{
+11 -11
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
+16 -25
View File
@@ -2,50 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Container as ContainerService,
Utils\Metadata,
Console\Command\Params,
};
use Espo\Core\Console\Command\Params;
use Espo\Core\Container as ContainerService;
use Espo\Core\Utils\Metadata;
class Container
{
private $container;
private $metadata;
public function __construct(ContainerService $container, Metadata $metadata)
{
$this->container = $container;
$this->metadata = $metadata;
}
public function __construct(private ContainerService $container, private Metadata $metadata)
{}
public function process(Params $params): string
{
+11 -11
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -1,31 +1,31 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppParams;
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
+12 -12
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -57,7 +57,7 @@ class Exports implements Cleanup
$before = DateTime::createNow()
->modify($period)
->getString();
->toString();
$delete = $this->entityManager
->getQueryBuilder()
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -55,7 +55,7 @@ class MassActions implements Cleanup
$before = DateTime::createNow()
->modify($period)
->getString();
->toString();
$delete = $this->entityManager
->getQueryBuilder()
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -56,7 +56,7 @@ class PasswordChangeRequests implements Cleanup
$before = DateTime::createNow()
->modify($period)
->getString();
->toString();
$delete = $this->entityManager
->getQueryBuilder()
+11 -11
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -122,7 +122,7 @@ class Subscribers implements Cleanup
),
Cond::less(
Cond::column('entity.' . $dateField),
$before->getString()
$before->toString()
),
Cond::in(
Cond::column('entity.' . $statusField),
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,102 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Utils\Config;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use RuntimeException;
class CreateAdminUser implements Command
{
public function __construct(
private EntityManager $entityManager,
private Config $config
) {}
public function run(Params $params, IO $io): void
{
$userName = $params->getArgument(0);
if (!$userName) {
$io->writeLine("A username must be specified as the first argument.");
$io->setExitStatus(1);
return;
}
/** @var ?string $regExp */
$regExp = $this->config->get('userNameRegularExpression');
if (!$regExp) {
throw new RuntimeException("No `userNameRegularExpression` in config.");
}
if (
str_contains($userName, ' ') ||
preg_replace("/{$regExp}/", '_', $userName) !== $userName
) {
$io->writeLine("Not allowed username.");
$io->setExitStatus(1);
return;
}
$repository = $this->entityManager->getRDBRepositoryByClass(User::class);
$existingUser = $repository
->where(['userName' => $userName])
->findOne();
if ($existingUser) {
$io->writeLine("A user with the same username already exists.");
$io->setExitStatus(1);
return;
}
$user = $repository->getNew();
$user->set('userName', $userName);
$user->set('type', User::TYPE_ADMIN);
$user->set('name', $userName);
$repository->save($user);
$message = "The user '{$userName}' has been created. " .
"Set password with the command: `bin/command set-password {$userName}`.";
$io->writeLine($message);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -32,26 +32,16 @@ namespace Espo\Classes\ConsoleCommands;
use Espo\Tools\Import\Service;
use Espo\Core\Utils\File\Manager as FileManager;
use Espo\Core\{
Console\Command,
Console\Command\Params,
Console\IO,
};
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Throwable;
class Import implements Command
{
private Service $service;
private FileManager $fileManager;
public function __construct(Service $service, FileManager $fileManager)
{
$this->service = $service;
$this->fileManager = $fileManager;
}
public function __construct(private Service $service, private FileManager $fileManager)
{}
public function run(Params $params, IO $io) : void
{
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -63,7 +63,7 @@ class PopulateNumbers implements Command
$field = $params->getArgument(1);
$orderBy = $params->getOption('orderBy') ?? 'createdAt';
$order = $params->getOption('order') ?? Order::ASC;
$order = strtoupper($params->getOption('order') ?? Order::ASC);
if (!$entityType) {
throw new ArgumentNotSpecified("No entity type argument.");
@@ -73,6 +73,10 @@ class PopulateNumbers implements Command
throw new ArgumentNotSpecified("No field argument.");
}
if ($order !== Order::ASC && $order !== Order::DESC) {
throw new InvalidArgument("Bad order option.");
}
$fieldType = $this->entityManager
->getDefs()
->getEntity($entityType)
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,113 +2,32 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Field\EmailAddressGroup;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\ORM\{
Query\Part\Condition as Cond,
Query\Part\WhereItem,
Query\Part\Where\OrGroup,
Entity,
};
/**
* @implements WhereBuilder<CoreEntity>
*/
class Company implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
assert($entity instanceof CoreEntity);
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
if ($entity->get('name')) {
$orBuilder->add(
Cond::equal(
Cond::column('name'),
$entity->get('name')
),
);
$toCheck = true;
}
if (
($entity->get('emailAddress') || $entity->get('emailAddressData')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged('emailAddress') ||
$entity->isAttributeChanged('emailAddressData')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column('emailAddress'),
$emailAddress
)
);
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
/**
* @return string[]
*/
private function getEmailAddressList(CoreEntity $entity): array
{
if ($entity->get('emailAddressData')) {
/** @var EmailAddressGroup $eaGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
}
class Company extends General
{}
@@ -0,0 +1,274 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Field\EmailAddressGroup;
use Espo\Core\Field\PhoneNumberGroup;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\ORM\Defs;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Type\AttributeType;
/**
* @implements WhereBuilder<CoreEntity>
*/
class General implements WhereBuilder
{
public function __construct(
private Metadata $metadata,
private Defs $ormDefs,
private Config $config
) {}
/**
* @param CoreEntity $entity
*/
public function build(Entity $entity): ?WhereItem
{
/** @var string[] $fieldList */
$fieldList = $this->metadata->get(['scopes', $entity->getEntityType(), 'duplicateCheckFieldList']) ?? [];
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
foreach ($fieldList as $field) {
$toCheckItem = $this->applyField($field, $entity, $orBuilder);
if ($toCheckItem) {
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
private function applyField(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$type = $this->ormDefs
->getEntity($entity->getEntityType())
->tryGetField($field)
?->getType();
if ($type === 'personName') {
return $this->applyFieldPersonName($field, $entity, $orBuilder);
}
if ($type === 'email') {
return $this->applyFieldEmail($field, $entity, $orBuilder);
}
if ($type === 'phone') {
return $this->applyFieldPhone($field, $entity, $orBuilder);
}
if ($entity->getAttributeType($field) === AttributeType::VARCHAR) {
return $this->applyFieldVarchar($field, $entity, $orBuilder);
}
return false;
}
private function applyFieldPersonName(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$first = 'first' . ucfirst($field);
$last = 'last' . ucfirst($field);
if (!$entity->get($first) && !$entity->get($last)) {
return false;
}
$orBuilder->add(
Cond::and(
Cond::equal(
Cond::column($first),
$entity->get($first)
),
Cond::equal(
Cond::column($last),
$entity->get($last)
)
)
);
return true;
}
private function applyFieldEmail(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$toCheck = false;
if (
($entity->get($field) || $entity->get($field . 'Data')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged($field) ||
$entity->isAttributeChanged($field . 'Data')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column($field),
$emailAddress
)
);
$toCheck = true;
}
}
return $toCheck;
}
private function applyFieldPhone(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$toCheck = false;
$isNumeric = $this->config->get('phoneNumberNumericSearch');
$column = $isNumeric ?
$field . 'Numeric' :
$field;
if (
($entity->get($field) || $entity->get($field . 'Data')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged($field) ||
$entity->isAttributeChanged($field . 'Data')
)
) {
foreach ($this->getPhoneNumberList($entity) as $number) {
if ($isNumeric) {
$number = preg_replace('/[^0-9]/', '', $number);
}
$orBuilder->add(
Cond::equal(
Cond::column($column),
$number
)
);
$toCheck = true;
}
}
return $toCheck;
}
private function applyFieldVarchar(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
if (!$entity->get($field)) {
return false;
}
$orBuilder->add(
Cond::equal(
Cond::column($field),
$entity->get($field)
),
);
return true;
}
/**
* @return string[]
*/
private function getEmailAddressList(CoreEntity $entity): array
{
if ($entity->get('emailAddressData')) {
/** @var EmailAddressGroup $eaGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
/**
* @return string[]
*/
private function getPhoneNumberList(CoreEntity $entity): array
{
if ($entity->get('phoneNumberData')) {
/** @var PhoneNumberGroup $eaGroup */
$eaGroup = $entity->getValueObject('phoneNumber');
return $eaGroup->getNumberList();
}
if ($entity->get('phoneNumber')) {
return [$entity->get('phoneNumber')];
}
return [];
}
}
@@ -0,0 +1,54 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\WhereItem;
/**
* @implements WhereBuilder<Entity>
*/
class Name implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
if ($entity->get('name')) {
return Cond::equal(
Cond::column('name'),
$entity->get('name')
);
}
return null;
}
}
@@ -2,122 +2,32 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\{
Duplicate\WhereBuilder,
Field\EmailAddressGroup,
};
use Espo\ORM\{
Query\Part\Condition as Cond,
Query\Part\WhereItem,
Query\Part\Where\OrGroup,
Entity,
};
/**
* @implements WhereBuilder<CoreEntity>
*/
class Person implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
assert($entity instanceof CoreEntity);
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
if ($entity->get('firstName') || $entity->get('lastName')) {
$orBuilder->add(
Cond::and(
Cond::equal(
Cond::column('firstName'),
$entity->get('firstName')
),
Cond::equal(
Cond::column('lastName'),
$entity->get('lastName')
)
)
);
$toCheck = true;
}
if (
($entity->get('emailAddress') || $entity->get('emailAddressData')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged('emailAddress') ||
$entity->isAttributeChanged('emailAddressData')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column('emailAddress'),
$emailAddress
)
);
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
/**
* @return string[]
*/
private function getEmailAddressList(CoreEntity $entity): array
{
if ($entity->get('emailAddressData')) {
/** @var EmailAddressGroup $eaGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
}
class Person extends General
{}
@@ -0,0 +1,199 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldConverters;
use Espo\Core\Utils\Database\Orm\Defs\AttributeDefs;
use Espo\Core\Utils\Database\Orm\Defs\EntityDefs;
use Espo\Core\Utils\Database\Orm\FieldConverter;
use Espo\ORM\Defs\FieldDefs;
use Espo\ORM\Type\AttributeType;
use RuntimeException;
class RelationshipRole implements FieldConverter
{
public function convert(FieldDefs $fieldDefs, string $entityType): EntityDefs
{
$name = $fieldDefs->getName();
$attributeDefs = AttributeDefs::create($name)
->withType(AttributeType::VARCHAR)
->withNotStorable();
$attributeDefs = $this->addWhere($attributeDefs, $fieldDefs, $entityType);
return EntityDefs::create()
->withAttribute($attributeDefs);
}
private function addWhere(AttributeDefs $attributeDefs, FieldDefs $fieldDefs, string $entityType): AttributeDefs
{
$data = $fieldDefs->getParam('converterData');
if (!is_array($data)) {
throw new RuntimeException("No `converterData` in field defs.");
}
/** @var ?string $column */
$column = $data['column'] ?? null;
/** @var ?string $link */
$link = $data['link'] ?? null;
/** @var ?string $relationName */
$relationName = $data['relationName'] ?? null;
/** @var ?string $nearKey */
$nearKey = $data['nearKey'] ?? null;
if (!$column || !$link || !$relationName || !$nearKey) {
throw new RuntimeException("Bad `converterData`.");
}
$midTable = ucfirst($relationName);
return $attributeDefs->withParamsMerged([
'where' => [
'=' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'<>' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'IN' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'NOT IN' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'LIKE' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
"$column*" => '{value}',
],
],
],
],
'NOT LIKE' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
"$column*" => '{value}',
],
],
],
],
'IS NULL' => [
'whereClause' => [
'NOT' => [
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'leftJoins' => [
[
$link,
'm',
null,
['onlyMiddle' => true]
]
],
'whereClause' => [
"m.$column!=" => null,
'sq.id:' => lcfirst($entityType) . '.id',
],
],
],
],
],
'IS NOT NULL' => [
'whereClause' => [
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'leftJoins' => [
[
$link,
'm',
null,
['onlyMiddle' => true]
]
],
'whereClause' => [
"m.$column!=" => null,
'sq.id:' => lcfirst($entityType) . '.id',
],
],
],
],
],
]);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,59 +2,55 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Repositories\Email as EmailRepository;
use Espo\Entities\Email;
/**
* @implements Loader<\Espo\Entities\Email>
* @implements Loader<Email>
*/
class AddressDataLoader implements Loader
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function __construct(private EntityManager $entityManager)
{}
/**
* @param Email $entity
*/
public function process(Entity $entity, Params $params): void
{
/** @var EmailRepository $repository */
$repository = $this->entityManager->getRepository('Email');
$repository = $this->entityManager->getRepository(Email::ENTITY_TYPE);
$repository->loadFromField($entity);
$repository->loadToField($entity);
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,54 +2,48 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Import;
use Espo\Entities\Import;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Repositories\Import as ImportRepository;
/**
* @implements Loader<\Espo\Entities\Import>
* @implements Loader<Import>
*/
class CountsLoader implements Loader
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function __construct(private EntityManager $entityManager)
{}
public function process(Entity $entity, Params $params): void
{
@@ -2,44 +2,40 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Note;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\Note;
/**
* @implements Loader<\Espo\Entities\Note>
* @implements Loader<Note>
*/
class AttachmentsLoader implements Loader
{
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -33,19 +33,16 @@ use Espo\ORM\Entity;
use Espo\Repositories\Portal as PortalRepository;
use Espo\Entities\Portal;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
/**
* @implements Loader<\Espo\Entities\Portal>
* @implements Loader<Portal>
*/
class UrlLoader implements Loader
{
private $entityManager;
private EntityManager $entityManager;
public function __construct(EntityManager $entityManager)
{
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,77 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
use Espo\Core\PhoneNumber\Sanitizer as PhoneNumberSanitizer;
use stdClass;
class Phone implements Sanitizer
{
public function __construct(
private PhoneNumberSanitizer $phoneNumberSanitizer
) {}
public function sanitize(Data $data, string $field): void
{
$number = $data->get($field);
if ($number !== null) {
$number = $this->phoneNumberSanitizer->sanitize($number);
$data->set($field, $number);
}
$items = $data->get($field . 'Data');
if (!is_array($items)) {
return;
}
foreach ($items as $item) {
if (!$item instanceof stdClass) {
continue;
}
$number = $item->phoneNumber ?? null;
if (!is_scalar($number)) {
continue;
}
$number = (string) $number;
$item->phoneNumber = $this->phoneNumberSanitizer->sanitize($number);
}
$data->set($field . 'Data', $items);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -38,17 +38,10 @@ use stdClass;
class ArrayType
{
private Metadata $metadata;
private const DEFAULT_MAX_ITEM_LENGTH = 100;
private Defs $defs;
private const DEFAULT_MAX_LENGTH = 100;
public function __construct(Metadata $metadata, Defs $defs)
{
$this->metadata = $metadata;
$this->defs = $defs;
}
public function __construct(protected Metadata $metadata, private Defs $defs)
{}
public function checkRequired(Entity $entity, string $field): bool
{
@@ -135,6 +128,14 @@ class ArrayType
/** @var ?string $path */
$path = $fieldDefs->getParam('optionsPath');
/** @var ?string $path */
$ref = $fieldDefs->getParam('optionsReference');
if (!$path && $ref && str_contains($ref, '.')) {
[$refEntityType, $refField] = explode('.', $ref);
$path = "entityDefs.{$refEntityType}.fields.{$refField}.options";
}
/** @var string[]|null|false $optionList */
$optionList = $path ?
@@ -181,15 +182,15 @@ class ArrayType
return false;
}
public function checkMaxLength(Entity $entity, string $field, ?int $validationValue): bool
public function checkMaxItemLength(Entity $entity, string $field, ?int $validationValue): bool
{
$maxLength = $validationValue ?? self::DEFAULT_MAX_LENGTH;
$maxLength = $validationValue ?? self::DEFAULT_MAX_ITEM_LENGTH;
/** @var string[] $value */
/** @var mixed[] $value */
$value = $entity->get($field) ?? [];
foreach ($value as $item) {
if (mb_strlen($item) > $maxLength) {
if (is_string($item) && mb_strlen($item) > $maxLength) {
return false;
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,62 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldValidators\AuthenticationProvider;
use Espo\Core\FieldValidation\Validator;
use Espo\Core\FieldValidation\Validator\Data;
use Espo\Core\FieldValidation\Validator\Failure;
use Espo\Core\Utils\Metadata;
use Espo\Entities\AuthenticationProvider;
use Espo\ORM\Entity;
/**
* @implements Validator<AuthenticationProvider>
*/
class MethodValid implements Validator
{
public function __construct(private Metadata $metadata) {}
public function validate(Entity $entity, string $field, Data $data): ?Failure
{
$value = $entity->get($field);
if (!$value) {
return Failure::create();
}
$isAvailable = $this->metadata->get(['authenticationMethods', $value, 'provider', 'isAvailable']);
if (!$isAvailable) {
return Failure::create();
}
return null;
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,38 +2,42 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldValidators;
use Espo\Core\Field\Currency;
use Espo\Core\Utils\Config;
use Espo\ORM\BaseEntity;
use Espo\ORM\Entity;
class CurrencyType extends FloatType
{
private const DEFAULT_PRECISION = 13;
public function __construct(private Config $config) {}
protected function isNotEmpty(Entity $entity, string $field): bool
@@ -44,6 +48,62 @@ class CurrencyType extends FloatType
$entity->get($field . 'Currency') !== '';
}
public function checkValid(Entity $entity, string $field): bool
{
if (!$this->isNotEmpty($entity, $field)) {
return true;
}
if ($entity->getAttributeType($field) !== Entity::VARCHAR) {
return true;
}
/** @var string $value */
$value = $entity->get($field);
if (preg_match('/^-?[0-9]+\.?[0-9]*$/', $value)) {
return true;
}
return false;
}
public function checkInPermittedRange(Entity $entity, string $field): bool
{
if (!$this->isNotEmpty($entity, $field)) {
return true;
}
if ($entity->getAttributeType($field) !== Entity::VARCHAR) {
return true;
}
if (!$entity instanceof BaseEntity) {
return true;
}
/** @var int $precision */
$precision = $entity->getAttributeParam($field, 'precision') ?? self::DEFAULT_PRECISION;
$value = $entity->get($field);
$currency = Currency::create($value, 'USD');
if ($currency->isNegative()) {
$currency = $currency->multiply(-1);
}
$pad = str_pad('', $precision, '9');
$limit = Currency::create($pad, 'USD');
if ($currency->compare($limit) === 1) {
return false;
}
return true;
}
public function checkValidCurrency(Entity $entity, string $field): bool
{
$attribute = $field . 'Currency';
@@ -55,6 +115,14 @@ class CurrencyType extends FloatType
$currency = $entity->get($attribute);
$currencyList = $this->config->get('currencyList') ?? [$this->config->get('defaultCurrency')];
if (
$currency === null &&
!$entity->has($field) &&
$entity->isNew()
) {
return true;
}
if (
$currency === null &&
$entity->has($field) &&
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,76 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldValidators\Email\Addresses;
use Espo\Core\FieldValidation\Validator;
use Espo\Core\FieldValidation\Validator\Data;
use Espo\Core\FieldValidation\Validator\Failure;
use Espo\Core\Utils\Config;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use LogicException;
/**
* @implements Validator<Email>
*/
class MaxCount implements Validator
{
private const MAX_COUNT = 100;
public function __construct(private Config $config) {}
/**
* @param Email $entity
*/
public function validate(Entity $entity, string $field, Data $data): ?Failure
{
if ($field === 'to') {
$addresses = $entity->getToAddressList();
}
else if ($field === 'cc') {
$addresses = $entity->getCcAddressList();
}
else if ($field === 'bcc') {
$addresses = $entity->getBccAddressList();
}
else {
throw new LogicException();
}
$maxCount = $this->config->get('emailRecipientAddressMaxCount') ?? self::MAX_COUNT;
if (count($addresses) > $maxCount) {
return Failure::create();
}
return null;
}
}
@@ -0,0 +1,71 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldValidators\Email\Addresses;
use Espo\Core\FieldValidation\Validator;
use Espo\Core\FieldValidation\Validator\Data;
use Espo\Core\FieldValidation\Validator\Failure;
use Espo\ORM\Entity;
use Espo\Entities\Email;
use LogicException;
/**
* @implements Validator<Email>
*/
class Valid implements Validator
{
/**
* @param Email $entity
*/
public function validate(Entity $entity, string $field, Data $data): ?Failure
{
if ($field === 'to') {
$addresses = $entity->getToAddressList();
}
else if ($field === 'cc') {
$addresses = $entity->getCcAddressList();
}
else if ($field === 'bcc') {
$addresses = $entity->getBccAddressList();
}
else {
throw new LogicException();
}
foreach ($addresses as $address) {
if (!filter_var($address, FILTER_VALIDATE_EMAIL)) {
return Failure::create();
}
}
return null;
}
}

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