Compare commits

...

5573 Commits

Author SHA1 Message Date
Yurii 2d1b28bb3b 9.3.3 2026-03-10 15:12:34 +02:00
Yurii 8508bde4eb fix pinned 2026-03-10 15:12:28 +02:00
Yurii b398004040 sync database currency rates 2026-03-10 11:33:49 +02:00
Yurii 48f71dfafe 9.3.2 2026-03-06 09:22:14 +02:00
Yurii d6f97636de fix lofic defs cleanup 2026-03-05 09:48:06 +02:00
Yurii 841c66926f host check 2026-03-04 12:55:18 +02:00
Yurii a3c1002845 test fix 2026-03-04 12:47:23 +02:00
Yurii 8206738c56 globals search order by entity type position 2026-03-03 15:27:00 +02:00
Yurii 9b8e5ef016 contact: import title 2026-03-02 19:09:00 +02:00
Yurii a8398965b8 fix loging data not available on logout 2026-02-25 12:56:40 +02:00
Yurii db504a3ee7 test 2026-02-23 17:14:16 +02:00
Yurii 5e2155d7e2 fix email subject truncate 2026-02-23 15:23:43 +02:00
Yurii a79771aedd 9.3.1 2026-02-19 10:55:00 +02:00
Yurii c1eb14726e currency no join mode getting rates dynamically 2026-02-19 10:09:32 +02:00
Yurii d74acd7776 bcmath and currency float casting fix 2026-02-16 13:52:39 +02:00
Yurii 299709f3ee code style params 2026-02-16 13:51:56 +02:00
Yurii 970c37d921 role table ui fixes 2026-02-16 12:42:20 +02:00
Yurii 9536146226 role ui: true on change 2026-02-16 12:07:09 +02:00
Yurii 5d68e153c3 select native fix for new chrome 2026-02-16 11:54:33 +02:00
Yurii dadb4078cb readme change 2026-02-16 09:43:55 +02:00
Yurii d77d99c68b remove unneeded template type 2026-02-15 18:06:26 +02:00
Yurii a682394e53 pdf template style null fix 2026-02-15 18:02:52 +02:00
Yurii 9e1e3396d0 increase precision 2026-02-13 13:33:18 +02:00
Yurii fbab0a9803 createDisabled check 2026-02-12 13:43:22 +02:00
Yurii 72f0f8e0a7 fix search layout ignoring fields 2026-02-12 13:03:08 +02:00
Yurii 5ca1cce14a record dashlet layout field translaction fix 2026-02-12 09:45:47 +02:00
Yurii ba8c402813 load capture: load additional fields on generate 2026-02-09 22:30:04 +02:00
Yurii b86aca9bff workking time exception ux impr 2026-02-09 19:41:19 +02:00
Yurii cc8fa5a6b6 load columns only field in list 2026-02-09 19:05:19 +02:00
Yurii 95700564bb dompdf use cache dir 2026-02-09 18:08:39 +02:00
Yurii e20c89d4ce detail modal update source collection event 2026-02-09 11:57:06 +02:00
Yurii d0d7c8b36e link icon helper dynamic icon 2026-02-08 11:01:59 +02:00
Yurii 19e5c483fa link field icon helper 2026-02-08 10:19:02 +02:00
Yurii 7728f4765b reset count disabled to default 2026-02-07 20:32:19 +02:00
Yurii 3f846e861f dompdf fontdir 2026-02-06 20:56:31 +02:00
Yurii 616ee67622 pdf: disable js 2026-02-06 20:29:21 +02:00
Yurii 23592e9b66 open api spec link 2026-02-06 17:12:41 +02:00
Yurii efb2ce9ba3 schema 2026-02-06 12:54:01 +02:00
Yurii 418770bce5 pdf font field sorted list 2026-02-06 12:50:18 +02:00
Yurii 767a77a66c PDF font mapping 2026-02-06 12:43:52 +02:00
Yurii 2ef02e8144 fix warning 2026-02-06 11:40:11 +02:00
Yurii 22cbfb669c fix image resize when width to height is large 2026-02-06 10:26:34 +02:00
Yurii 229e8f2ae0 move article silent 2026-02-04 14:05:47 +02:00
Yurii f04d178a3c kb order no limit 2026-02-03 19:15:05 +02:00
Yurii b3543dc8da message change 2026-02-03 19:01:41 +02:00
Yurii b7b1562111 ORM: no alias 2026-02-03 14:54:36 +02:00
Yurii bd9bacb210 ORM: with recursive 2026-02-03 13:25:18 +02:00
Yurii 9d7d9ac29c categories disable if not read access 2026-02-02 19:19:44 +02:00
Yurii d69db3689f create category fix 2026-02-02 19:10:24 +02:00
Yurii 50ea605c06 fix list with category use icon in header 2026-02-02 18:37:57 +02:00
Yurii 43e016eff8 cleanup 2026-02-02 18:32:10 +02:00
Yurii 21ca37f41c list with category use icon in header 2026-02-02 18:28:27 +02:00
Yurii 3f108cc0f5 fix doc 2026-02-02 17:45:11 +02:00
Yurii 5bf7774679 fix email collapse save 2026-02-02 17:42:38 +02:00
Yurii fd12203e1c imap fetch order apply 2026-02-02 17:00:13 +02:00
Yurii d25a693dc6 docs 2026-02-02 16:25:20 +02:00
Yurii 076483e4f2 fix imap unseen 2026-02-02 14:58:26 +02:00
Yurii 900c731b04 authUsernameFailedAttemptsPeriod param 2026-02-02 13:35:25 +02:00
Yurii a84c42f7a7 fix imap uid fetch 2026-02-02 13:11:55 +02:00
Yurii 8b6f7d4aec version 2026-02-02 10:13:54 +02:00
Yurii e706b7b892 max failed login for username 2026-01-31 13:12:55 +02:00
Yurii e45e2fe6eb update tar 2026-01-30 17:01:10 +02:00
Yurii e3c576b38f currency settings button 2026-01-30 13:31:26 +02:00
Yurii cf2a80ffec created entity type message 2026-01-30 12:58:07 +02:00
Yurii ab639c2913 fix decimal not storable 2026-01-30 12:48:01 +02:00
Yurii ab89d8caef list settings allows custom label 2026-01-30 11:30:41 +02:00
Yurii 9ac836dc3e additional binding for tests 2026-01-29 09:56:01 +02:00
dependabot[bot] ca1020403d Bump symfony/process from 7.4.3 to 7.4.5 (#3570)
Bumps [symfony/process](https://github.com/symfony/process) from 7.4.3 to 7.4.5.
- [Release notes](https://github.com/symfony/process/releases)
- [Changelog](https://github.com/symfony/process/blob/8.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/process/compare/v7.4.3...v7.4.5)

---
updated-dependencies:
- dependency-name: symfony/process
  dependency-version: 7.4.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 07:29:19 +02:00
Yurii 6094875ed0 logicDefs export 2026-01-28 12:07:49 +02:00
dependabot[bot] 2befaa41b6 Bump phpunit/phpunit from 11.5.46 to 11.5.50 (#3569)
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 11.5.46 to 11.5.50.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/11.5.50/ChangeLog-11.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/11.5.46...11.5.50)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 11.5.50
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-28 08:33:40 +02:00
Yurii 336a64efe6 fix label 2026-01-27 17:09:05 +02:00
Yurii 6e18a78eb0 fix 2026-01-27 17:08:05 +02:00
Yurii e18bad3e60 ar_AR 2026-01-27 10:40:01 +02:00
Yurii f9d3254e84 bg_BG 2026-01-27 10:38:38 +02:00
Yurii 87b440e86a zh_CN 2026-01-27 10:36:53 +02:00
Yurii 643d04589c cs_CZ 2026-01-27 10:35:12 +02:00
Yurii 91cff9585f nl_NL 2026-01-27 10:33:55 +02:00
Yurii 8e14a719e0 fr_FR 2026-01-27 10:31:54 +02:00
Yurii 2c51a84422 el_GR 2026-01-27 10:30:11 +02:00
Yurii 6593aef458 lv_LV 2026-01-27 10:27:23 +02:00
Yurii 9097246082 lt_LT 2026-01-27 10:25:54 +02:00
Yurii c7af50f802 ja_JP 2026-01-27 10:22:08 +02:00
Yurii 0c18064d98 nb_NO 2026-01-27 10:19:01 +02:00
Yurii 8d60761cc0 es_ES 2026-01-27 10:12:52 +02:00
Yurii 14c1ccd86e de_DE 2026-01-27 10:09:25 +02:00
Yurii cc2096b4cf it_IT 2026-01-27 10:06:26 +02:00
Yurii 32252589a3 ur_IN 2026-01-27 10:03:33 +02:00
Yurii 752890d4b3 disable teams field parameters 2026-01-26 22:04:36 +02:00
Yurii bff43d6b5d description fields 2026-01-26 09:10:15 +02:00
Anton Slyzhko f12162ad72 prevent NotImplemented exception during template rendering (#3567)
* prevent NotImplemented exception during template rendering

* specify an action for ACL to check
2026-01-23 15:39:03 +02:00
Yurii 9a3ef004d3 comment 2026-01-22 18:16:59 +02:00
Yurii ae853a7848 fix convert lead title 2026-01-22 18:13:40 +02:00
Yurii f5d8f515d5 reactions popover css fix 2026-01-22 12:37:29 +02:00
Yurii 63e931fab1 restore new lines 2026-01-22 09:48:32 +02:00
dependabot[bot] c05614d22e Bump tar from 7.5.3 to 7.5.4 (#3564)
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.3 to 7.5.4.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.4)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-22 09:47:35 +02:00
Yurii 2f9215ba52 input filter: pass entityType as param 2026-01-22 09:47:00 +02:00
dependabot[bot] 9620c4a7ce Bump lodash from 4.17.21 to 4.17.23 (#3565)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-22 09:45:37 +02:00
Yurii 594f1e7252 person acl account link field fix 2026-01-21 23:00:48 +02:00
kenyonit edb3f7a35b Update PreferencesService to consider dashboard layout metadata (#3561)
* Update PreferencesService.php to consider dashboard layout metadata

The resetDashboard function only considers the dashboardLayout and dashletsOptions config. Updated code to check metadata app.defaultDashboardLayouts.Standard and app.defaultDashboardOptions.Standard so behaviour is consistent with the loadData function in Preferences.php

* Update PreferencesService.php

Fixed copyright year, accidentally overwritten
2026-01-21 13:19:30 +02:00
Yurii af8f8a6adb updgrade version fix 2026-01-21 11:07:48 +02:00
Yurii f7f4a7fdcb fix typo 2026-01-20 19:03:39 +02:00
Yurii 1f38d04e86 schema 2026-01-20 19:02:12 +02:00
Yurii bca2b63b03 pass additional where to select additional applier 2026-01-20 18:13:48 +02:00
Yurii 14f46f26f9 htmlizer relation order 2026-01-20 12:48:36 +02:00
Yurii bf250069f4 next number process field force 2026-01-18 18:39:54 +02:00
Yurii f23d0ee911 fix doc 2026-01-18 18:26:44 +02:00
Yurii 89cf4f6165 update tar 2026-01-17 09:06:49 +02:00
Yurii 173f9d6150 Merge branch 'stable' 2026-01-17 09:01:25 +02:00
Yurii ff8e8d23a8 9.2.7 2026-01-16 09:45:32 +02:00
Yurii e46b954b71 Merge branch 'fix' 2026-01-16 09:43:59 +02:00
grray ddb636239b fix error "Unknown column 'api' in 'field list'" on mass relate (#3562) 2026-01-16 09:43:40 +02:00
Yurii 8fcee30912 add php 8.5 to actions 2026-01-16 09:37:19 +02:00
Yurii 7c3a0964d5 update default dashboard layout in metadata 2026-01-16 08:34:02 +02:00
Yurii e002846138 Merge branch 'fix' 2026-01-15 20:43:22 +02:00
Yurii 917dbdd3fe 9.2.6 2026-01-15 20:35:58 +02:00
Yurii f645af4347 fix url rendering 2026-01-15 19:47:54 +02:00
Yurii be228fa48a url validator util 2026-01-15 19:41:06 +02:00
Yurii 7760b01a50 htmlizer: skip link if same key defined in additional data 2026-01-15 10:34:50 +02:00
Yurii 33f3e8b6b2 schema 2026-01-15 10:15:42 +02:00
Yurii 89db06f319 data loader template 2026-01-15 10:13:29 +02:00
Yurii 6aecc8ea6b fix convert currency 2026-01-14 14:33:01 +02:00
Yurii 5fefed5933 exception fix 2026-01-13 12:26:42 +02:00
Yurii 9f87a53f38 fix exceptions 2026-01-13 11:42:42 +02:00
Yurii 049be51f9c fix exception 2026-01-13 11:34:37 +02:00
Yurii 1b469c0cfa export foreign field label add space 2026-01-12 17:23:46 +02:00
Yurii 81844358c6 cs 2026-01-12 17:22:01 +02:00
Yurii 3fe7e12c62 label change 2026-01-12 13:07:26 +02:00
Yurii f482222c5d comment 2026-01-12 11:53:14 +02:00
Yurii 29a9a3a9ba fix duplicate link without field 2026-01-12 11:45:52 +02:00
Yurii c6037ce0cd fix 2026-01-12 11:25:21 +02:00
Yurii 268ba27cf8 year change 2 2026-01-12 11:02:47 +02:00
Yurii 0b0a31821f year change 1 2026-01-12 10:54:39 +02:00
Yurii 79d5cd60c9 fix IMAP folders 2026-01-09 18:48:15 +02:00
Yurii 309ec572c4 fix folder 2026-01-09 18:35:02 +02:00
Yurii 7b35a69106 fix confirm conflicts shortcuts 2026-01-09 14:54:03 +02:00
Yurii a52b383ff4 ref 2026-01-09 14:36:42 +02:00
Yurii f5938ebbdc comment 2026-01-09 14:32:19 +02:00
Yurii 0ad7a9b99c fix merge attahment multiple 2026-01-09 13:53:13 +02:00
Yurii 0156fba5c5 Merge branch 'fix' 2026-01-09 12:50:36 +02:00
Yurii 5d443dda10 fix mariadb 12 2026-01-09 12:50:28 +02:00
Yurii 4708567bcc fix convert lead, url 2026-01-08 17:29:35 +02:00
Yurii e52f886e3f tabPortal 2026-01-06 18:06:30 +02:00
Yurii 926e951dfc router options string to object 2026-01-05 11:15:37 +02:00
Yurii 48efb09003 cleanup 2026-01-05 11:04:23 +02:00
Yurii 66feaae474 ref 2026-01-05 11:02:26 +02:00
Yurii 683c570eea type fix 2026-01-05 10:52:33 +02:00
Yurii e1be537667 cs 2026-01-05 10:40:54 +02:00
Yurii 7a444a6663 hide unlink if link is read only 2026-01-05 10:38:27 +02:00
Yurii 2efff1c310 skip select column if hidden and no settings 2026-01-05 10:29:53 +02:00
Yurii 25fbf66a70 ref 2026-01-05 10:27:02 +02:00
Yurii b26c0368d9 update npm libs 2026-01-04 14:35:39 +02:00
Yurii 31e8b84989 php 8.5 support, update libs 2026-01-04 09:50:25 +02:00
Yurii d7438f02bf fix timezone in tests 2026-01-04 09:48:11 +02:00
Yurii 20a0ed4133 type fixes 2026-01-04 09:44:24 +02:00
Yurii 4212934fd2 internal server error message 2026-01-01 15:52:34 +02:00
Yurii 711c1f7592 rate entry as of date method 2025-12-31 13:41:59 +02:00
Yurii 69cb68cd27 ref 2025-12-30 19:58:39 +02:00
Yurii b97a612867 field not null check 2025-12-29 12:50:26 +02:00
Yurii e8629384f7 next number hook suppression 2025-12-27 17:49:47 +02:00
Yurii ebbeea54e9 ref 2025-12-27 17:23:45 +02:00
Yurii 5ca6f1ac42 css fix 2025-12-24 11:16:06 +02:00
Yurii 6d3c1b8bb7 case additional list layouts 2025-12-24 11:06:37 +02:00
Yurii 7165355ff4 fix json 2025-12-24 10:46:50 +02:00
Yurii 40c0a74279 directUpdateEnabled, importEnabled parameters 2025-12-24 10:33:12 +02:00
Yurii 2063e2cd1d field access frontend fixes 2025-12-24 10:18:03 +02:00
Yurii 891a0028af direct access disabled check 2025-12-23 22:45:38 +02:00
Yuri Kuznetsov 51c4850310 fix view name param 2025-12-20 17:46:51 +02:00
Yuri Kuznetsov 6ed69f4892 doc fix 2025-12-20 17:41:31 +02:00
Yuri Kuznetsov 5d40cbf8f6 filter view custom field view 2025-12-20 17:35:44 +02:00
Yuri Kuznetsov a5327f3a3e cleanup 2025-12-20 17:13:52 +02:00
Yuri Kuznetsov 1ef21112a9 filters css fix 2025-12-20 16:22:24 +02:00
Yuri Kuznetsov da5bf2c7eb update imap lib 2025-12-19 18:53:26 +02:00
Yuri Kuznetsov 1ef4875927 +30 days default date 2025-12-19 16:58:43 +02:00
Yuri Kuznetsov ca29e47ab1 Merge branch 'fix' 2025-12-19 08:50:57 +02:00
Yuri Kuznetsov 74db03090b fix linked where filters 2025-12-19 08:50:17 +02:00
Yuri Kuznetsov 942a8f07c0 fix linked where filters 2025-12-18 23:28:27 +02:00
Yuri Kuznetsov a0c2b19271 working time exception mass delete 2025-12-17 20:07:27 +02:00
Yuri Kuznetsov 63dd5462ef Merge branch 'fix' 2025-12-17 20:02:51 +02:00
Yuri Kuznetsov 03ac0a57c8 fix double shortcut issue 2025-12-17 20:02:39 +02:00
Yuri Kuznetsov 19c998d343 modal shourtcut fix 2025-12-17 20:01:50 +02:00
Yuri Kuznetsov cd02641a6d update doc 2025-12-14 13:16:58 +02:00
Yuri Kuznetsov 3173150d19 fix test 2025-12-14 13:16:52 +02:00
Yuri Kuznetsov b4bd66c363 clear currency cache 2025-12-13 20:12:11 +02:00
Yuri Kuznetsov 3b169fe5a0 currency rate cache 2025-12-13 19:25:50 +02:00
Yuri Kuznetsov 41db22a88d currency sync optimization 2025-12-13 17:59:09 +02:00
Yuri Kuznetsov b745adaaa4 ref 2025-12-13 16:44:18 +02:00
Yuri Kuznetsov bd785b2cb1 cleanup 2025-12-13 16:40:02 +02:00
Yuri Kuznetsov 1573ec059c cleanup 2025-12-13 16:38:49 +02:00
Yuri Kuznetsov bb90be7cf3 schange scheduling 2025-12-13 16:35:46 +02:00
Yuri Kuznetsov a75c4bdf42 sync in transaction 2025-12-13 16:24:51 +02:00
Yuri Kuznetsov efdeca1190 sync currency rates job 2025-12-13 16:17:49 +02:00
Yurii f16ddf0941 App/appParams endpoint 2025-12-13 11:18:49 +02:00
Yurii 0d17d12293 app params refresh with websocket 2025-12-13 11:09:06 +02:00
Yurii 7f9457e8d7 fix rates to string 2025-12-13 10:40:59 +02:00
Yurii Kuznietsov 0ee8d1dc91 Currency rates as entities (#3543) 2025-12-13 10:31:07 +02:00
Yurii f46d9c8e4e file headers 2025-12-12 12:59:46 +02:00
Yurii 228a7ad8e4 schema fix 2025-12-12 11:17:07 +02:00
Yurii 3fe0ba41d7 fix schema 2025-12-12 09:14:13 +02:00
Yurii 900e34ded2 json schema decimal field 2025-12-12 08:39:12 +02:00
Yurii fef6527bdb language restore entity type translation 2025-12-10 18:44:06 +02:00
Yurii Kuznietsov e4bce0ab2c Merge pull request #3540 from ShaikhNaasir/fix-error
Remove double semicolons
2025-12-08 11:33:17 +02:00
Naasir ed9d9b3620 Remove another double semicolons 2025-12-08 13:40:23 +05:30
Naasir 96b261b349 Remove double semicolons 2025-12-08 13:31:53 +05:30
Yurii Kuznietsov d4fda8f741 Update SECURITY.md 2025-12-07 15:26:40 +02:00
Yuri Kuznetsov 4159faceb4 api spec title module 2025-12-06 15:38:20 +02:00
Yuri Kuznetsov 627cdaf58d api spec specific module 2025-12-06 15:13:45 +02:00
Yuri Kuznetsov c095ec9334 api spec team 2025-12-06 15:00:51 +02:00
Yuri Kuznetsov 7083fb2c5c Merge branch 'master' of https://github.com/espocrm/espocrm 2025-12-06 15:00:25 +02:00
Yuri Kuznetsov 641e158529 open api: add team 2025-12-06 14:45:31 +02:00
Yurii 8736fcba21 fix type 2025-12-06 11:35:35 +02:00
Yuri Kuznetsov 771bedd25d merge 2025-12-06 11:00:28 +02:00
Yuri Kuznetsov 1f251eecb3 fix notification read 2025-12-06 10:43:26 +02:00
Yuri Kuznetsov 6dd898eb6e ref 2025-12-06 09:45:37 +02:00
Yuri Kuznetsov 1600c1eb13 update lib 2025-12-06 09:45:31 +02:00
Yuri Kuznetsov 469d3a4113 update frontend build tool 2025-12-05 13:38:27 +02:00
Yuri Kuznetsov 2e578b3941 update archiver 2025-12-05 13:18:11 +02:00
Yuri Kuznetsov 7364945ec0 min node version 20 2025-12-05 13:05:42 +02:00
Yuri Kuznetsov a2cd2531d0 formula: record related columnData 2025-12-05 12:23:29 +02:00
Yurii Kuznietsov 914cecca10 Merge pull request #3536 from espocrm/imap-migration
Migrate IMAP lib from Laminas to ImapEngine
2025-12-05 11:46:52 +02:00
Yuri Kuznetsov 5cbeea8119 upgrade check 2025-12-05 11:18:57 +02:00
Yuri Kuznetsov 6d6512a05e imap migration 2025-12-04 19:23:03 +02:00
Yurii 889059c8d9 imap ref 2025-12-04 11:14:18 +02:00
Yurii 52f17733f2 mail sender: disable auto tls if no security 2025-12-04 09:52:35 +02:00
Yurii 0bf94aecb4 update symfony to 7 and spatie/async to 1.8 2025-12-04 09:34:40 +02:00
Yurii 8129495e4b update ratchet 2025-12-04 09:30:38 +02:00
Yuri Kuznetsov 64c2979a59 update avatar lib 2025-12-03 23:00:54 +02:00
Yuri Kuznetsov d73a97373d fix postgresql index 2025-12-03 16:46:44 +02:00
Yurii 0a4ee2f949 note removal on email removal 2025-12-03 15:40:22 +02:00
Yurii 5ded6b1bcf currency attribute detail fix 2025-12-03 14:34:52 +02:00
Yurii 2c5edc3c96 phoneNumberData attribute detail fix 2025-12-03 14:32:18 +02:00
Yurii 64ce48de32 cs fix 2025-12-03 14:26:38 +02:00
Yurii 347e5349e0 api spec barcode 2025-12-03 14:25:37 +02:00
Yuri Kuznetsov 62964fa1cb update ldap lib 2025-12-03 13:23:55 +02:00
Yuri Kuznetsov 7c03c9953f composer lock php version to min 2025-12-03 13:04:11 +02:00
Yuri Kuznetsov 3ac9e78fa8 update dbal 2025-12-03 12:51:49 +02:00
Yuri Kuznetsov 8b8a3d0aa7 update monolog 2025-12-03 12:49:13 +02:00
Yuri Kuznetsov df6f0edf5d update slim 2025-12-03 12:46:31 +02:00
Yuri Kuznetsov db896ad467 update carbon 2025-12-03 12:43:58 +02:00
Yuri Kuznetsov 88c9a02136 update barcode and qrcode libs 2025-12-03 12:37:04 +02:00
Yuri Kuznetsov d2d3628c2b update phpseclib 2025-12-03 12:06:03 +02:00
Yuri Kuznetsov 6014ef92e9 update league libs 2025-12-03 12:04:41 +02:00
Yuri Kuznetsov d01c1c8469 update php-cidr-match 2025-12-03 11:58:49 +02:00
Yuri Kuznetsov 1e3e35334c update phpspreadheet 2025-12-03 11:50:26 +02:00
Yuri Kuznetsov 2d1226016a update openspout and mail-mime-parser 2025-12-03 11:41:22 +02:00
Yuri Kuznetsov 6f2e81357b cache 2025-12-03 10:59:37 +02:00
Yuri Kuznetsov f492bfc374 isCustom fix 2025-12-03 00:03:35 +02:00
Yuri Kuznetsov b2c7eef31a fix 2025-12-02 23:59:56 +02:00
Yuri Kuznetsov c14d801224 use deepObject 2025-12-02 23:53:22 +02:00
Yuri Kuznetsov 6f35b7fe36 summary 2025-12-02 23:24:19 +02:00
dependabot[bot] c8276dfe42 Bump express from 4.21.2 to 4.22.1 (#3534)
Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 4.22.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 16:28:25 +02:00
Yurii 2b6196c57f skip custom 2025-12-02 16:25:32 +02:00
Yurii 876df81526 open api spec 2025-12-02 16:14:42 +02:00
Yuri Kuznetsov ddbfa80f82 update initial avatar generator lib 2025-11-28 15:46:32 +02:00
Yuri Kuznetsov da564bc43c list row without id, fallback to index 2025-11-28 15:35:54 +02:00
Yuri Kuznetsov e4e3a4dc17 bcmath required 2025-11-28 15:33:46 +02:00
Yuri Kuznetsov c1f3d2fae8 opp role update disabled 2025-11-28 15:26:56 +02:00
Yuri Kuznetsov 203e8de34b tooltip lang fixes 2025-11-28 12:50:24 +02:00
Yuri Kuznetsov 5f701104dd translations 2025-11-28 11:11:32 +02:00
Anthony Andriano 3d1befc9b8 Allow system templates to be customized using metadata (#3486)
* Allow system templates to be customized using metadata

* refactor

* removed defaultModuleName parameter

* revert an unintended change in a function call
2025-11-27 22:18:34 +02:00
Yuri Kuznetsov d179b4b792 salutationField prop 2025-11-27 22:11:41 +02:00
Yuri Kuznetsov 5efcd6bd8a follow as collaborator 2025-11-27 20:53:00 +02:00
Yurii 3ac3f04e3d Merge branch 'fix' 2025-11-27 19:49:12 +02:00
Yuri Kuznetsov b7a079b9d3 use assignment notification parameter for collaborator notifications 2025-11-27 17:16:43 +02:00
Yuri Kuznetsov 3581736bd5 add to collaborators notification 2025-11-27 16:48:40 +02:00
Yuri Kuznetsov baeac78c5f pdf: currency symbol helper 2025-11-27 10:40:43 +02:00
Yuri Kuznetsov dab2981c3c fix test 2025-11-27 10:40:26 +02:00
Yuri Kuznetsov 1d1e012991 htmlizer: currency format 2025-11-27 10:34:13 +02:00
Yurii 5b87d12449 frontend populate defaults before view 2025-11-20 17:30:14 +02:00
Yurii 00db2ab1c3 git changed package.json 2025-11-20 16:27:56 +02:00
dependabot[bot] c8fae4fe71 Bump glob from 10.4.5 to 10.5.0 (#3526)
Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 09:15:08 +02:00
dependabot[bot] 6967498530 Bump js-yaml from 3.14.1 to 3.14.2 (#3525)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 11:35:13 +02:00
dependabot[bot] f0da407398 Bump glob from 10.3.10 to 11.1.0 (#3524)
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.10 to 11.1.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.10...v11.1.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 11.1.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 09:14:22 +02:00
Usame Beşir 83439e5384 fix missing value of entityType variable (#3523) 2025-11-17 12:06:19 +02:00
Yuri Kuznetsov 1df75fcece currencyAttribute prop 2025-11-15 13:18:31 +02:00
dependabot[bot] 19fe3d68a0 Bump js-yaml from 3.13.1 to 4.1.1 (#3521)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.13.1 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.13.1...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 16:59:22 +02:00
Yuri Kuznetsov 974ea5f353 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-11-14 15:26:38 +02:00
Yuri Kuznetsov 804c9622a6 Merge branch 'fix' 2025-11-14 15:26:30 +02:00
Yuri Kuznetsov 5ce2e0b6dc 9.2.5 2025-11-14 15:16:05 +02:00
Anton Slyzhko 445ea1f240 Fix incorrect alias in subscriptionExclude join (#3520) 2025-11-14 14:51:47 +02:00
Yuri Kuznetsov 94d2f6aabb array field: override allowCustomOptions false 2025-11-13 18:12:26 +02:00
Yuri Kuznetsov c426a637fe email address add impr 2025-11-13 18:11:02 +02:00
Yuri Kuznetsov 9e78d4cad3 no-select 2025-11-13 18:03:00 +02:00
Yuri Kuznetsov 08fecd2dc0 search menu check icon fix 2025-11-13 17:56:06 +02:00
Yuri Kuznetsov 6dfbb08ce6 Merge branch 'fix' of https://github.com/espocrm/espocrm into fix 2025-11-13 17:25:45 +02:00
Yuri Kuznetsov 610c1004aa jsdoc fix 2025-11-13 17:25:10 +02:00
Shaikh Naasir 26ee35cb7d Fix typo in accessCheckCommand description (#3519)
This pull request fixes a minor typo in the WebSocket schema description:

Changed 'patameter' to 'parameter'.
No functional changes were made. Purely a documentation correction.
2025-11-13 16:07:22 +02:00
dependabot[bot] 50eecc891f Bump symfony/http-foundation from 6.4.18 to 6.4.29 (#3516)
Bumps [symfony/http-foundation](https://github.com/symfony/http-foundation) from 6.4.18 to 6.4.29.
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/7.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v6.4.18...v6.4.29)

---
updated-dependencies:
- dependency-name: symfony/http-foundation
  dependency-version: 6.4.29
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-13 07:59:08 +02:00
Yuri Kuznetsov 0a69f46e14 schema 2025-11-12 15:07:42 +02:00
Yuri Kuznetsov e66d7fc367 schema 2025-11-11 23:07:43 +02:00
Yuri Kuznetsov e311ac6dbb fix width in layouts 2025-11-11 22:00:27 +02:00
Yuri Kuznetsov 9901070fb1 fix layout 2025-11-11 08:14:35 +02:00
Yuri Kuznetsov 379a2d22f3 autocomplete suggestion min width 2025-11-08 20:53:02 +02:00
Yuri Kuznetsov fc7c949cf3 link field: foreign name attribute 2025-11-08 20:31:46 +02:00
Yuri Kuznetsov f1f0f3ea9a process dynamic logic if model default preparator is used 2025-11-07 16:00:16 +02:00
Yuri Kuznetsov f1c2e3049f js doc fix 2025-11-07 15:37:39 +02:00
Yuri Kuznetsov d036df059e valid usage 2025-11-06 19:37:12 +02:00
Yuri Kuznetsov 748392ab7f personal email folder mapping 2025-11-05 15:05:34 +02:00
Yuri Kuznetsov 683f86806f curl error 2025-11-05 12:25:41 +02:00
Yuri Kuznetsov 7de690c425 curl error details 2025-11-05 12:18:45 +02:00
Yuri Kuznetsov 9a6e3e5ebd update php in readme 2025-11-02 11:37:30 +02:00
Yuri Kuznetsov 65d3c96387 update test workflows 2025-11-02 11:31:20 +02:00
Yuri Kuznetsov 865ac27cd9 drop php 8.2 2025-11-02 11:29:23 +02:00
Yuri Kuznetsov f08fb723d6 merge 2025-11-02 11:16:23 +02:00
Yuri Kuznetsov c1c4a2bedc controller name check 2025-11-01 16:04:19 +02:00
Yuri Kuznetsov 876b74aefc loader error callback fix 2025-11-01 15:53:04 +02:00
Yuri Kuznetsov be9e88aa2d foreign access filters support collaborators and multiple assigned users 2025-10-31 13:19:55 +02:00
Yuri Kuznetsov 15ff1dc6eb audited fields 2025-10-31 08:50:09 +02:00
Yuri Kuznetsov 63e31d33bb document fields audited 2025-10-31 08:43:19 +02:00
Yuri Kuznetsov ee2a0e888c pdf template scope label 2025-10-30 18:30:21 +02:00
Yuri Kuznetsov 4d830e76b0 pdf filename 2025-10-30 18:26:01 +02:00
Yuri Kuznetsov 6e2416dc56 fix kanban menu with star 2025-10-30 17:00:57 +02:00
Yuri Kuznetsov 3e23994991 kanban support options reference 2025-10-30 16:23:54 +02:00
Yuri Kuznetsov 65d487d72e kanban event fix 2025-10-30 16:08:44 +02:00
Yuri Kuznetsov badb2c28cc update dompdf 2025-10-30 15:33:23 +02:00
Yuri Kuznetsov e58a2abd2b update libs 2025-10-30 15:26:09 +02:00
Yuri Kuznetsov bec5dc841a Merge branch 'fix' 2025-10-30 15:17:34 +02:00
Yuri Kuznetsov 33451a1118 lead capture fields ui fix 2025-10-30 14:45:28 +02:00
Yuri Kuznetsov b98f535634 formula user update type check 2025-10-30 14:00:57 +02:00
Yuri Kuznetsov b57969b017 import label fix 2025-10-30 13:15:10 +02:00
Yuri Kuznetsov 252240f11b mass convert currency catch conflict 2025-10-30 13:13:43 +02:00
Yuri Kuznetsov 20391bee3e mass convert currency catch bad request 2025-10-30 13:13:18 +02:00
Yuri Kuznetsov 3a22e517b5 ref 2025-10-30 13:09:56 +02:00
Yuri Kuznetsov 4a71972d60 Merge branch 'fix' 2025-10-30 13:03:58 +02:00
bfzgaier 90d7b99936 fix Cannot access protected property id (#3506) 2025-10-30 13:03:44 +02:00
Yuri Kuznetsov fb6fc00347 numberic string as multiplier 2025-10-30 13:02:40 +02:00
Yuri Kuznetsov d8fa506599 false if not strings 2025-10-30 12:13:15 +02:00
Yuri Kuznetsov 301944f52d Merge branch 'master' of https://github.com/espocrm/espocrm 2025-10-30 12:06:55 +02:00
Yuri Kuznetsov e1a5ed86e7 decimal field type 2025-10-30 12:03:49 +02:00
Anton Slyzhko 86215d0094 int getMinValue fix (#3507)
Fix getMinValue logic that overwrote valid minValue due to wrong null comparison
2025-10-30 11:29:47 +02:00
bfzgaier 5d3201260a fix Cannot access protected property id (#3506) 2025-10-30 10:27:58 +02:00
Yuri Kuznetsov f75ed7e279 docs 2025-10-30 09:52:56 +02:00
Yuri Kuznetsov 94d433d698 fix order 2025-10-29 21:39:35 +02:00
Yuri Kuznetsov 7838d2e480 ref 2025-10-29 21:34:00 +02:00
Yuri Kuznetsov f04738c963 currencyRate in state config 2025-10-29 21:24:43 +02:00
Yuri Kuznetsov 1521168cf3 Merge branch 'fix' 2025-10-29 21:20:08 +02:00
Yuri Kuznetsov 36f03f0a76 fix schema diff for decimal 2025-10-26 12:58:27 +02:00
Yuri Kuznetsov a141a664c6 default decimal to string 2025-10-26 12:38:06 +02:00
Yuri Kuznetsov fc221f8964 Merge branch 'fix' 2025-10-26 11:28:24 +02:00
Yuri Kuznetsov 0a1b7a9817 create builder method 2025-10-26 11:22:27 +02:00
Yuri Kuznetsov 47b9d35153 default order in relations 2025-10-26 11:13:50 +02:00
Yuri Kuznetsov 169e6b53be default template value 2025-10-26 11:09:06 +02:00
Yuri Kuznetsov 9935a6cd11 default template value 2025-10-26 10:29:05 +02:00
Yuri Kuznetsov 86a43a703c test disabled field 2025-10-26 09:03:49 +02:00
Yuri Kuznetsov 419481b8a1 mass update: do not list disabled fields 2025-10-25 20:44:25 +03:00
Yuri Kuznetsov 018da93de3 disabled restrict 2025-10-25 20:35:48 +03:00
Yuri Kuznetsov 3052d548f5 Merge branch 'fix' 2025-10-25 19:34:08 +03:00
Yuri Kuznetsov 02f1e94c86 fix link category parent field 2025-10-25 17:33:41 +03:00
Yuri Kuznetsov 0d4d4dc9ed category folders fetch on refresh 2025-10-25 17:25:13 +03:00
Yuri Kuznetsov d69cfd8b31 typo 2025-10-25 12:51:26 +03:00
Yuri Kuznetsov 599646c397 metadata aclDependency anyScopeList 2025-10-25 12:47:21 +03:00
Yuri Kuznetsov 5d90911e26 enable stars for contacts 2025-10-25 10:23:21 +03:00
Yuri Kuznetsov 4e0d5a2267 schema 2025-10-25 10:22:56 +03:00
Yuri Kuznetsov 58a30fe56b Merge branch 'stable' 2025-10-23 10:58:29 +03:00
Yuri Kuznetsov be6661454b 9.2.4 2025-10-23 10:46:34 +03:00
Yuri Kuznetsov 889a19b9bd fix link name validations 2025-10-22 16:26:31 +03:00
Yuri Kuznetsov 5e2544a192 Merge branch 'fix' 2025-10-22 09:02:41 +03:00
Yuri Kuznetsov ec242152e7 fix convert lead duplicate 2025-10-22 08:49:51 +03:00
Yuri Kuznetsov e0ae3beef9 add LEAD key word for mariadb, patch 2025-10-21 21:04:01 +03:00
Usame Beşir 4c6dd88a2d fix oauth refresh token check (#3498) 2025-10-21 20:00:52 +03:00
Usame Beşir fadaf5891e fix oauth refresh token check (#3498) 2025-10-21 20:00:23 +03:00
Yuri Kuznetsov d75bd20ffc Merge branch 'stable' 2025-10-21 11:37:06 +03:00
Yuri Kuznetsov d13a1ffbc7 9.2.3 2025-10-21 11:30:08 +03:00
Yuri Kuznetsov 986be9f189 scroll gutter for record modals 2025-10-21 10:17:13 +03:00
Yuri Kuznetsov 40f13f7a3d change password template fix 2025-10-21 10:03:51 +03:00
Yuri Kuznetsov 2de3c97f8d edit dashboard templte fix 2025-10-21 10:01:12 +03:00
Yuri Kuznetsov 3b6fd0d363 modal record wide css fix 2025-10-21 10:01:01 +03:00
Yuri Kuznetsov a7586e92a1 audit data 2025-10-20 18:19:22 +03:00
Yuri Kuznetsov 076644db85 auditView param 2025-10-20 13:06:57 +03:00
Yuri Kuznetsov 7eb139f35d small color correction 2025-10-18 19:43:06 +03:00
Yuri Kuznetsov 6f22686319 hazy logo remove 2025-10-18 19:32:18 +03:00
Yuri Kuznetsov 298307f613 color fix 2025-10-18 19:31:43 +03:00
Yuri Kuznetsov 664faa81ca narrower record full width in modal 2025-10-18 11:18:40 +03:00
Yuri Kuznetsov be2dd74c43 do not use full width 2025-10-18 10:33:28 +03:00
Yuri Kuznetsov d2ae211e53 small layout changes 2025-10-18 10:26:57 +03:00
Yuri Kuznetsov e522d8d709 modal size changes 2025-10-18 10:26:51 +03:00
Yuri Kuznetsov c5c191faa6 audit log email template 2025-10-17 18:00:32 +03:00
Yuri Kuznetsov 3ce4cd3bfc btm sm width 32px 2025-10-17 17:38:44 +03:00
Yuri Kuznetsov e620a1195f dropdown-link-active-bg variable 2025-10-17 12:25:41 +03:00
Yuri Kuznetsov 880478689f foreign array fix 2025-10-16 15:47:31 +03:00
Yuri Kuznetsov 0d5d1710bf schema 2025-10-16 14:49:58 +03:00
Yuri Kuznetsov 0c7d795081 compact-form class 2025-10-16 13:06:28 +03:00
Yuri Kuznetsov 624bdb7192 less ref 2025-10-15 18:49:53 +03:00
Yuri Kuznetsov db769d9c3e css ref 2025-10-15 18:33:36 +03:00
Yuri Kuznetsov 67045b12ac cleanup 2025-10-15 16:30:05 +03:00
Yuri Kuznetsov e67ab0fd4d whitespace removal 2025-10-15 12:56:15 +03:00
Yuri Kuznetsov 99c64770dd theme name in body 2025-10-15 10:51:48 +03:00
Yuri Kuznetsov ed60efcad4 hazyblue color tweak 2025-10-15 10:46:49 +03:00
Yuri Kuznetsov 443af201ed fix generate password special characters null 2025-10-14 20:34:55 +03:00
Yuri Kuznetsov 7a61dd096e fix ldap dynamic logic 2025-10-14 20:07:43 +03:00
Yuri Kuznetsov 9404c1d165 email update filter fix 2025-10-13 14:31:22 +03:00
Yuri Kuznetsov 2a76db6899 fix corrupted defs 2025-10-11 09:28:17 +03:00
Yuri Kuznetsov 915283d288 use all primary filter 2025-10-10 11:46:54 +03:00
Yuri Kuznetsov 483e6e9d5b apply all filter 2025-10-10 11:35:55 +03:00
Yuri Kuznetsov 046d94ceb8 update note ui impr 2025-10-09 10:42:51 +03:00
Yuri Kuznetsov 062008374d comment 2025-10-09 10:12:25 +03:00
Yuri Kuznetsov df2f857197 prevent action handler fired twice 2025-10-09 09:24:09 +03:00
Yuri Kuznetsov 2e59cd4653 drop alias usage 2025-10-06 10:42:55 +03:00
Yuri Kuznetsov 70c28d9a78 ref 2025-10-04 14:49:39 +03:00
Yuri Kuznetsov e4157e5ce9 copy to clipboard secret name 2025-10-04 13:48:38 +03:00
Yuri Kuznetsov 1a90cf149f Merge branch 'fix' 2025-10-04 13:24:05 +03:00
Yuri Kuznetsov 25c88259f8 secret function change 2025-10-04 13:23:43 +03:00
Usame Beşir 2ddfa39966 Add getSecret formula function (#3481)
* add getSecret formula function

* simplify getSecret method by removing unnecessary null check

* update process method to allow nullable return type

* rename getSecret function to ext\appSecret\get
2025-10-04 13:23:20 +03:00
Yuri Kuznetsov e6611e1658 secret function change 2025-10-04 13:21:10 +03:00
Usame Beşir 9361046216 Add getSecret formula function (#3481)
* add getSecret formula function

* simplify getSecret method by removing unnecessary null check

* update process method to allow nullable return type

* rename getSecret function to ext\appSecret\get
2025-10-04 13:13:59 +03:00
Yuri Kuznetsov ebec204d3a external account client manager using factory 2025-10-02 15:55:47 +03:00
Yuri Kuznetsov 6fe977b2db Merge branch 'fix' 2025-10-02 11:48:56 +03:00
Yuri Kuznetsov b2a4f80408 9.2.2 2025-10-02 11:37:07 +03:00
Yuri Kuznetsov 9153fbf280 limit fields for status 2025-10-02 10:52:04 +03:00
Yuri Kuznetsov cb16bc9254 ref 2025-10-02 10:43:35 +03:00
Yuri Kuznetsov dc8f674248 notification index 2025-10-02 10:28:43 +03:00
Yuri Kuznetsov 803b07866a cast to object 2025-10-01 19:15:08 +03:00
Yuri Kuznetsov 11da4d0d81 create post edit view change 2025-10-01 12:12:14 +03:00
Yuri Kuznetsov 50f422ded8 ignore state.php 2025-10-01 10:24:22 +03:00
Yuri Kuznetsov 9790a7ee6f Merge branch 'state-config' 2025-10-01 10:20:59 +03:00
Yuri Kuznetsov 20474a9d3e state config 2025-10-01 10:20:47 +03:00
Yuri Kuznetsov 258e827db3 Merge branch 'fix' 2025-09-30 18:48:59 +03:00
Yuri Kuznetsov 25357d75d3 9.2.1 2025-09-30 18:40:40 +03:00
Yuri Kuznetsov 2cea39b5a9 do not use suppress amd in runtime 2025-09-30 17:31:29 +03:00
Yuri Kuznetsov 3c81bf93e3 cs 2025-09-30 14:34:31 +03:00
Yuri Kuznetsov 575a63b22c overridden typed validator honor validation value 2025-09-30 12:56:30 +03:00
Yuri Kuznetsov ec5bc2f6f2 notify about reactions if not followed 2025-09-30 12:21:40 +03:00
Yuri Kuznetsov 107571a544 fix schema 2025-09-29 10:51:14 +03:00
Yuri Kuznetsov bacb824085 schema 2025-09-28 10:50:06 +03:00
Yuri Kuznetsov 3f9ca7aa78 link with avatar impr 2025-09-26 09:38:51 +03:00
Yuri Kuznetsov 9ce487fc90 autocomplete quick enter 2025-09-25 20:20:28 +03:00
Yuri Kuznetsov 3bbb54825c email template has one 2025-09-25 17:36:28 +03:00
Yuri Kuznetsov 68993e2448 htmlizer raw timezone fix 2025-09-25 17:24:12 +03:00
Yuri Kuznetsov 12fa090f61 ref 2025-09-25 17:20:09 +03:00
Yuri Kuznetsov 6d1a01a0d8 ref 2025-09-25 17:10:43 +03:00
Yuri Kuznetsov 670632d52b color change 2025-09-25 16:13:17 +03:00
Yuri Kuznetsov 2465a554f7 ref, clean 2025-09-25 16:03:09 +03:00
Yuri Kuznetsov 74cc701459 schema fix 2025-09-25 15:29:27 +03:00
Yuri Kuznetsov 125d84d3bf no load schema 2025-09-25 15:24:50 +03:00
Yuri Kuznetsov 1a0e674b81 filtersEnabled 2025-09-25 15:19:57 +03:00
Yuri Kuznetsov fac125c9a9 lv_LV 2025-09-25 14:42:23 +03:00
Yuri Kuznetsov 7bad86f65d lt_LT 2025-09-25 14:41:58 +03:00
Yuri Kuznetsov d44b2992de it_IT 2025-09-25 14:41:38 +03:00
Yuri Kuznetsov 04c73a7870 ja_JP 2025-09-25 14:41:15 +03:00
Yuri Kuznetsov 66fbfe193c fr_FR 2025-09-25 14:39:47 +03:00
Yuri Kuznetsov 3de036cca8 de_DE 2025-09-25 14:38:06 +03:00
Yurii Kuznietsov 81a9af78ff Merge pull request #3474 from rabiibrahimi/master
Fix: remove extra whitespace in constant reference
2025-09-25 12:47:30 +03:00
rabiibrahimi e35ec52d74 Fix: remove extra whitespace in constant reference 2025-09-25 10:37:43 +01:00
Yuri Kuznetsov fa85d9e132 websocket changes 2025-09-25 12:14:01 +03:00
Yuri Kuznetsov aaf30cf694 warn 2025-09-24 22:28:45 +03:00
Yuri Kuznetsov 02fbda798f mass update default team fix 2025-09-24 10:04:41 +03:00
Yuri Kuznetsov e9d5a04c73 comment 2025-09-23 14:27:47 +03:00
Yuri Kuznetsov f5e145a971 notificationGrouping param 2025-09-23 14:26:36 +03:00
Yuri Kuznetsov c446499ee9 cleanup 2025-09-23 13:28:10 +03:00
Yuri Kuznetsov 87c23f371b default link field use field entity 2025-09-23 13:13:14 +03:00
Yuri Kuznetsov eb5d78e20d version 2025-09-23 09:56:55 +03:00
Yuri Kuznetsov cd5ddb462e docs 2025-09-22 10:48:51 +03:00
Yuri Kuznetsov 1c155c4e19 Merge branch 'fix' 2025-09-22 10:08:03 +03:00
Yuri Kuznetsov 28356c6f13 9.1.9 2025-09-22 09:51:44 +03:00
Yuri Kuznetsov 45ea32e1e2 Merge branch 'fix' 2025-09-22 09:17:22 +03:00
Yuri Kuznetsov 58df349f43 move content type check to user 2025-09-20 13:13:03 +03:00
Yuri Kuznetsov a53f1fdc46 cleanup 2025-09-19 17:43:27 +03:00
Yuri Kuznetsov cc16f0fd6c block basic dialog if post 2025-09-19 17:41:04 +03:00
Yuri Kuznetsov b5ff37bc5a Merge branch 'fix' 2025-09-19 17:20:10 +03:00
Yuri Kuznetsov 601d6a6743 content type check 2025-09-19 17:19:49 +03:00
Yuri Kuznetsov a31d231a6b fix test 2025-09-19 13:56:21 +03:00
Yuri Kuznetsov 2015e4edee attachment modified at 2025-09-19 09:30:45 +03:00
Yuri Kuznetsov 67ea7859ff ref 2025-09-19 09:29:43 +03:00
Yuri Kuznetsov 9aa3e3213f remove in category search 2025-09-18 18:21:24 +03:00
Yuri Kuznetsov a5baf82ddc catch forbidden 2025-09-18 18:21:01 +03:00
Yuri Kuznetsov d4eccdb362 json array required 2025-09-18 15:53:10 +03:00
Yuri Kuznetsov 708595beae ref 2025-09-16 18:02:18 +03:00
Yuri Kuznetsov 0ec2112b03 htmlizer has one 2025-09-16 18:01:37 +03:00
Yuri Kuznetsov c630db68d2 add name to libs 2025-09-16 14:50:53 +03:00
Yurii Kuznietsov 93150b4419 Merge pull request #3470 from bandtank/master
Add value to Item in default case of DefaultDateTimeItemTransformer
2025-09-12 20:11:41 +03:00
Anthony Andriano 986e028918 add value to Item in default case 2025-09-12 10:45:19 -06:00
Yuri Kuznetsov 419e8a15c8 Merge branch 'fix' 2025-09-09 14:57:57 +03:00
Yuri Kuznetsov e350255bd7 fix null check 2025-09-09 14:57:44 +03:00
Yurii Kuznietsov cc1b864ab9 Merge pull request #3469 from AntonSlyzhko/htmlizer-translation-fix
Fix Htmlizer translation for enum fields
2025-09-09 14:51:58 +03:00
Yuri Kuznetsov 94993d6d22 comment 2025-09-09 14:51:37 +03:00
Yuri Kuznetsov e147d25dbf before upgrade check 2025-09-09 14:43:14 +03:00
Yuri Kuznetsov 68f7598a6a comment 2025-09-09 14:26:18 +03:00
AntonSlyzhko 8ee66c2d08 Fix Htmlizer translation for enum fields 2025-09-09 14:23:56 +03:00
Yuri Kuznetsov efe30172e6 fix relate 2025-09-09 13:08:37 +03:00
Yuri Kuznetsov af2c05f03e html fix 2025-09-09 11:56:18 +03:00
Yuri Kuznetsov afa16365f2 data-is-dark 2025-09-09 10:23:28 +03:00
Yuri Kuznetsov 85946dbbed ref 2025-09-09 10:17:51 +03:00
Yuri Kuznetsov d0e9798389 css fix 2025-09-07 12:17:00 +03:00
Yuri Kuznetsov ea6b4a14b6 comment 2025-09-05 16:12:40 +03:00
Yuri Kuznetsov 5ba36b11d7 comment 2025-09-05 11:44:37 +03:00
Yuri Kuznetsov 9d305bb545 cs, ref 2025-09-05 11:40:27 +03:00
Yuri Kuznetsov 4d8fdf5c3c get rid of umask 2025-09-05 11:24:02 +03:00
Yuri Kuznetsov b9893580f1 assignment users avatar fix 2025-09-04 20:41:04 +03:00
Yuri Kuznetsov dd27b9abf2 fix task calendar websocket hook 2025-09-04 19:03:01 +03:00
Yuri Kuznetsov 300b2ae899 fix calendar websocket hook 2025-09-04 19:01:35 +03:00
Yuri Kuznetsov 30df71e5a4 typo fix 2025-09-04 17:32:48 +03:00
Yuri Kuznetsov 72080af45d dummy primary filter all 2025-09-04 17:16:53 +03:00
Yuri Kuznetsov 29a56f8952 default template type props 2025-09-03 09:57:41 +03:00
Yuri Kuznetsov 78fd4fd3de Merge branch 'master' of https://github.com/espocrm/espocrm 2025-09-02 09:06:49 +03:00
Yurii Kuznietsov 1d6ea0bfcf Merge pull request #3466 from Kharg/entity-removed-typo
entity-removed.js typo
2025-09-02 09:06:30 +03:00
Andrew Fontana b4e8659efe entity-removed.js typo 2025-09-01 22:35:51 +02:00
Yuri Kuznetsov e78b59fc40 format function throw exception 2025-09-01 16:02:53 +03:00
Yuri Kuznetsov 988a677f4c websocket improvements 2025-09-01 14:11:19 +03:00
Yuri Kuznetsov 495d2ccfbc entity methods return static 2025-09-01 08:58:17 +03:00
Yuri Kuznetsov d94e758b8f metadata force append client lists 2025-08-31 15:59:21 +03:00
Yuri Kuznetsov c5c7e0eda7 strip whitespaces in generated file names 2025-08-29 20:29:26 +03:00
Yuri Kuznetsov 85843a4dd0 cs 2025-08-29 20:18:59 +03:00
Yuri Kuznetsov 947dc396d0 disable port number formatting 2025-08-29 09:39:52 +03:00
Yuri Kuznetsov ccb54fbdc8 schema 2025-08-29 09:37:15 +03:00
Yuri Kuznetsov b5243d4829 Merge branch 'fix' 2025-08-27 15:53:38 +03:00
Yuri Kuznetsov 3608af3836 currency value object support int 2025-08-27 15:53:21 +03:00
Yuri Kuznetsov 2496d5e14f currency value object support int 2025-08-27 15:52:21 +03:00
Yuri Kuznetsov cbc39cefe4 (c) source files 2025-08-26 20:10:28 +03:00
Yuri Kuznetsov 32c2a593f3 (c) update 2025-08-26 20:07:19 +03:00
Yuri Kuznetsov de1ef5b7f3 update phpspreadsheet 2025-08-26 14:01:04 +03:00
Yuri Kuznetsov b5e65ec5d8 id is not empty string check 2025-08-25 11:40:53 +03:00
Yuri Kuznetsov 285711a07a check id is string 2025-08-25 11:38:38 +03:00
Yuri Kuznetsov 607d9ba102 baseline role change warning 2025-08-22 17:30:03 +03:00
Yuri Kuznetsov 952694bb0e link select optional async 2025-08-22 17:29:52 +03:00
Yuri Kuznetsov dc5d7a0a98 ref 2025-08-22 10:46:31 +03:00
Yuri Kuznetsov 74f267edb1 style fix 2025-08-22 10:46:11 +03:00
Yuri Kuznetsov c4a61f9dc3 baseline role integration test 2025-08-22 10:33:51 +03:00
Yuri Kuznetsov 04bca8c3a7 ref 2025-08-22 10:33:38 +03:00
Yuri Kuznetsov bb285bf69c baseline role 2025-08-22 10:10:00 +03:00
Yuri Kuznetsov 852345e004 ref 2025-08-21 20:10:14 +03:00
Yuri Kuznetsov 43af855e89 ref 2025-08-21 20:07:41 +03:00
Yuri Kuznetsov a20b32ffda fix available reaction 2025-08-21 16:45:22 +03:00
Yuri Kuznetsov 28c2b69f21 ref 2025-08-21 11:46:31 +03:00
Yuri Kuznetsov e76d77e703 ref 2025-08-21 11:03:15 +03:00
Yuri Kuznetsov 027bd3d062 date field refactor 2025-08-21 10:19:43 +03:00
Yurii Kuznietsov 9fa4007e65 Merge pull request #3457 from arkadiyasuratov/master
fix incorrect parent setting in compose modal
2025-08-19 18:10:27 +03:00
Arkadiy Asuratov 9f01ac29d0 fix incorrect parent setting in compose modal 2025-08-19 16:55:02 +02:00
Yuri Kuznetsov 6ff5640c00 fix modal title 2025-08-19 16:57:33 +03:00
Yuri Kuznetsov b57cfe597f leadCaptureSiteUrl 2025-08-19 10:53:29 +03:00
Yuri Kuznetsov ac10c06c02 ref 2025-08-19 10:44:19 +03:00
Yuri Kuznetsov 90c344a89c shortcut fixes 2025-08-19 10:28:54 +03:00
Yuri Kuznetsov c92041b94a date time filter inclusive exclusive fix 2025-08-18 17:13:30 +03:00
Yuri Kuznetsov 6b7590770f last x days 1 second fix 2025-08-18 17:02:06 +03:00
Yuri Kuznetsov b8ee2b934b date time range last second fix 2025-08-18 16:49:02 +03:00
Yuri Kuznetsov e56d9411f0 suppress autoresponse only for non-email 2025-08-18 13:45:29 +03:00
Yuri Kuznetsov c6185036d9 mass email auto submitted header skip for email type 2025-08-18 13:43:04 +03:00
Yuri Kuznetsov 5d35bde5b7 auto-submitted header usage 2025-08-18 13:00:03 +03:00
Yuri Kuznetsov 5c0d6fa9e8 auto reply in fielters layout 2025-08-18 12:15:35 +03:00
Yuri Kuznetsov 41e52c96fc auto reply on detail view 2025-08-18 12:02:32 +03:00
Yuri Kuznetsov 569f909362 fix test 2025-08-18 11:57:20 +03:00
Yuri Kuznetsov f7729cdabf email auto reply field 2025-08-18 11:52:10 +03:00
Yuri Kuznetsov c244f224b2 email: fix group folder archived not listed 2025-08-17 19:04:42 +03:00
Yuri Kuznetsov 948f1d2295 fix test 2025-08-17 14:22:20 +03:00
Yuri Kuznetsov 6a33ffc0fa drop select builder factory service 2025-08-16 18:22:57 +03:00
Yuri Kuznetsov b05072d21e fix test 2025-08-16 14:13:20 +03:00
Yuri Kuznetsov b78e87b3e3 fix email group folders in inbox 2025-08-16 12:15:30 +03:00
Yurii Kuznietsov bcf39858c4 Merge pull request #3451 from traien/patch-4
keep user-addressed emails visible when routed to a Group Folder
2025-08-16 11:46:37 +03:00
Yuri Kuznetsov b59dcac594 print pdf fix defs 2025-08-16 10:23:56 +03:00
Osama Bashir 9c21530cf7 change visibility of getUserGroupEmailFoldersIds method and add user context to query 2025-08-15 16:09:31 +03:00
Osama Bashir 6b07a2a939 fix phpstan No value type specified in iterable type 2025-08-15 14:37:30 +03:00
Osama Bashir 880b9949b7 keep user-addressed emails visible when routed to a Group Folder 2025-08-15 14:33:06 +03:00
Yuri Kuznetsov f8f64412d9 link edit form change 2025-08-14 11:34:36 +03:00
Yuri Kuznetsov 494c6d9a27 fix test 2025-08-11 13:58:27 +03:00
Yuri Kuznetsov 9ee52dc469 ref 2025-08-10 16:00:22 +03:00
Yuri Kuznetsov f1427222cf cleanup 2025-08-10 15:54:34 +03:00
Yuri Kuznetsov f158501ed6 delete restorer 2025-08-10 15:52:59 +03:00
Yuri Kuznetsov 9fac1d6c51 ref 2025-08-10 15:27:05 +03:00
Yuri Kuznetsov 0f50142073 ref 2025-08-10 15:23:37 +03:00
Yuri Kuznetsov c9a406f7f5 reminder: do not list to small if full day 2025-08-10 15:12:21 +03:00
Yuri Kuznetsov 944e504d7b ref 2025-08-10 15:01:15 +03:00
Yuri Kuznetsov 5d32456820 portal redirect trailing slash 2025-08-08 18:29:58 +03:00
Yuri Kuznetsov b18c70bea3 ref 2025-08-08 18:13:27 +03:00
Yuri Kuznetsov 24f00dfa03 field manager param label translation 2025-08-08 11:15:07 +03:00
Yuri Kuznetsov d32eea0e8a jsdocs 2025-08-08 10:52:25 +03:00
Yuri Kuznetsov 0975532b9c integration fields label translation 2025-08-08 10:40:18 +03:00
Yuri Kuznetsov e0ab268624 ref 2025-08-08 10:30:18 +03:00
Yuri Kuznetsov 164713d2a8 fix safari dragging issue 2025-08-08 09:57:24 +03:00
Yuri Kuznetsov cb87133fae calendar date scope support 2025-08-07 16:15:04 +03:00
Yuri Kuznetsov 2fa6162920 free-busy no date filed 2025-08-07 14:20:40 +03:00
Yuri Kuznetsov d1de4135ec weak reference usage 2025-08-07 12:17:00 +03:00
Yuri Kuznetsov f52ca3c524 mid dot usage 2025-08-07 12:17:00 +03:00
Yurii Kuznietsov 2f6c30c2a6 Merge pull request #3446 from espocrm/dependabot/npm_and_yarn/tmp-0.2.4
Bump tmp from 0.2.3 to 0.2.4
2025-08-06 20:30:52 +03:00
dependabot[bot] 561c623584 Bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 17:09:19 +00:00
Yuri Kuznetsov bfd8846eeb markdown checkbox style 2025-08-05 18:29:07 +03:00
Yuri Kuznetsov 1842805f41 html layout fix 2025-08-05 00:09:21 +03:00
Yuri Kuznetsov 3fb824dd85 theme impr 2025-08-04 19:54:01 +03:00
Yuri Kuznetsov a3e68c1505 theme impr 2025-08-01 19:22:33 +03:00
Yuri Kuznetsov 8662e8f4a6 theme impr 2025-08-01 18:39:23 +03:00
Yuri Kuznetsov 074eb7f5af theme impr 2025-08-01 17:45:27 +03:00
Yuri Kuznetsov 4b3ed0783e fix text 2025-08-01 15:09:12 +03:00
Yuri Kuznetsov e88b8356d8 edit item shortcut 2025-08-01 15:07:34 +03:00
Yuri Kuznetsov b4c80ecfed docs 2025-08-01 15:07:26 +03:00
Yuri Kuznetsov 76bf7dba23 items editable param 2025-08-01 15:00:38 +03:00
Yuri Kuznetsov e2884aeb00 jsdocs 2025-08-01 14:21:31 +03:00
Yuri Kuznetsov 36a6acfdd2 array items editable 2025-08-01 14:11:27 +03:00
Yuri Kuznetsov 58ad7859d9 style 2025-08-01 13:18:50 +03:00
Yuri Kuznetsov c2261feeec array drag handle 2025-08-01 11:27:09 +03:00
Yuri Kuznetsov 6e487345ec jsdocs 2025-08-01 09:50:40 +03:00
Yuri Kuznetsov ecfec0e0f8 style ref, impr 2025-07-31 19:18:09 +03:00
Yuri Kuznetsov 03608a74d0 ref 2025-07-31 19:05:48 +03:00
Yuri Kuznetsov a6491816bd remove Zaporizhzhia timezone 2025-07-30 15:45:09 +03:00
Yuri Kuznetsov 5301ce5b70 time zone enum option translations 2025-07-30 15:15:43 +03:00
Yuri Kuznetsov 3ae0c32270 Merge branch 'fix' 2025-07-30 15:03:39 +03:00
Yuri Kuznetsov 97eb0614dc remove Uzhhorod timezone 2025-07-30 15:03:24 +03:00
Yuri Kuznetsov f1e3f07ee8 fix 2025-07-28 21:03:59 +03:00
Yuri Kuznetsov b1af278364 from address in history 2025-07-25 15:51:34 +03:00
Yuri Kuznetsov 0331075d1e Merge branch 'fix' 2025-07-25 14:13:16 +03:00
Yuri Kuznetsov 7d0925de85 9.1.8 2025-07-25 14:02:42 +03:00
Yuri Kuznetsov 5d0350ef64 bool field web form 2025-07-25 11:33:15 +03:00
Yuri Kuznetsov 3ad57c4462 Merge branch 'fix' 2025-07-25 10:44:42 +03:00
Yuri Kuznetsov d649181964 field loaders in the end 2025-07-25 09:47:10 +03:00
Yuri Kuznetsov 74fbedfb9a global search status 2025-07-24 20:26:15 +03:00
Yuri Kuznetsov ee38f09665 getRecordsPerPage 2025-07-24 19:56:19 +03:00
Yuri Kuznetsov 914dc4aafe convert lead: user account from contact 2025-07-24 19:49:04 +03:00
Yuri Kuznetsov 7c5bb4b669 cs 2025-07-24 19:41:11 +03:00
Yuri Kuznetsov 27227cf51d service create for user usage 2025-07-24 19:37:46 +03:00
Yuri Kuznetsov cce7ddbff2 no customization for utility field 2025-07-24 19:27:28 +03:00
Yuri Kuznetsov f4889f3f5c ref 2025-07-24 17:28:29 +03:00
Yuri Kuznetsov f1b529e68f Merge branch 'fix' 2025-07-24 17:06:45 +03:00
Yuri Kuznetsov 1c207e4445 fix avatar color 2025-07-24 11:51:06 +03:00
Yuri Kuznetsov 0dff4ac6b4 sanitize foreign fields 2025-07-24 10:38:11 +03:00
Yuri Kuznetsov 774143c5e2 consts 2025-07-24 10:38:01 +03:00
Yuri Kuznetsov 6e1786d000 set read only fix 2025-07-24 09:33:54 +03:00
Yuri Kuznetsov 700d95fad1 field setReadOnly fix 2025-07-24 09:13:45 +03:00
Yuri Kuznetsov 75f255117e prop 2025-07-24 09:07:32 +03:00
Yuri Kuznetsov e8dfa31e57 Merge branch 'fix' 2025-07-24 08:49:33 +03:00
Yuri Kuznetsov dd8c584f6f jp_JP language 2025-07-24 08:49:20 +03:00
Yuri Kuznetsov 2a57898088 Merge branch 'fix' 2025-07-23 11:27:17 +03:00
Yuri Kuznetsov 782f5e6b20 fix campaign stats query 2025-07-23 11:26:32 +03:00
Yuri Kuznetsov e46540371a Merge branch 'master' of https://github.com/espocrm/espocrm 2025-07-23 10:50:53 +03:00
Yuri Kuznetsov 3bb0fcd146 campaign stats refresh fix 2025-07-23 10:50:43 +03:00
Yuri Kuznetsov e3e101b9f6 Merge branch 'fix' 2025-07-23 10:39:05 +03:00
Yuri Kuznetsov 4a890e777c campaign stats sql fix 2025-07-23 10:37:33 +03:00
Yurii Kuznietsov 627dc9e505 Merge pull request #3435 from espocrm/dependabot/npm_and_yarn/form-data-4.0.4
Bump form-data from 4.0.0 to 4.0.4
2025-07-22 09:20:34 +03:00
dependabot[bot] ee918a1fc7 Bump form-data from 4.0.0 to 4.0.4
---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:04:12 +00:00
Yuri Kuznetsov e2f0341eea attachment box style fix 2025-07-21 16:42:42 +03:00
Yuri Kuznetsov b668f54a68 test 2025-07-21 16:09:27 +03:00
Yuri Kuznetsov c1a23a9d49 language list fix 2025-07-21 16:06:41 +03:00
Yuri Kuznetsov 44333b81a1 cleanup 2025-07-21 14:47:18 +03:00
Yuri Kuznetsov 57bc86a17e language manager improvements 2025-07-21 14:38:08 +03:00
Yuri Kuznetsov d15d41e829 Merge branch 'fix' 2025-07-21 10:56:43 +03:00
Yuri Kuznetsov a5f69b8fd2 cs 2025-07-21 10:56:40 +03:00
Yuri Kuznetsov 370909de96 default side panel layout in layout set 2025-07-21 10:37:48 +03:00
Yuri Kuznetsov 5c35d3d856 style fix 2025-07-21 10:29:24 +03:00
Yuri Kuznetsov 6d8c89a041 attachment ui impr 2025-07-17 18:57:07 +03:00
Yuri Kuznetsov 1323e6a581 stlye fix 2025-07-17 17:55:46 +03:00
Yuri Kuznetsov 680bae4fed modal shortcuts suppress 2025-07-17 09:33:46 +03:00
Yuri Kuznetsov 3443a6a052 ref 2025-07-17 09:31:09 +03:00
Yuri Kuznetsov 480de128d8 css fix 2025-07-16 12:58:49 +03:00
Yuri Kuznetsov c697fc29ce task date end color sync with status 2025-07-15 09:25:58 +03:00
Yuri Kuznetsov 78753644ad Merge branch 'master' of https://github.com/espocrm/espocrm 2025-07-14 13:55:03 +03:00
Yuri Kuznetsov 9bcad33012 markdown shortcuts 2025-07-14 13:53:38 +03:00
Yuri Kuznetsov a23c4d179d Merge branch 'fix' 2025-07-14 11:30:56 +03:00
Yuri Kuznetsov 7f8b299015 bg lang 2025-07-14 11:30:44 +03:00
Yuri Kuznetsov 15691fc8b0 addSeconds function 2025-07-14 11:04:06 +03:00
Yurii Kuznietsov 8ef0d47e3b Update README.md 2025-07-13 10:45:20 +03:00
Yuri Kuznetsov 0e1cb6fd47 foreign enum option reference 2025-07-11 09:43:40 +03:00
Yuri Kuznetsov 1fa006775f Merge branch 'fix' 2025-07-10 16:41:19 +03:00
Yuri Kuznetsov 9c1e52f3bf fix test 2025-07-10 16:41:06 +03:00
Yuri Kuznetsov 5b7a4ec8f0 email: skip html to markdown if no html 2025-07-10 16:05:21 +03:00
Yuri Kuznetsov 19a09cc6d1 sendbox ui impr 2025-07-10 15:53:50 +03:00
Yuri Kuznetsov 889a8bfc90 forbid access to system requirements 2025-07-10 15:37:00 +03:00
Yuri Kuznetsov 9e4e461fd0 fix css 2025-07-10 14:49:48 +03:00
Yuri Kuznetsov d3b272e45f Merge branch 'fix' 2025-07-10 13:37:56 +03:00
Yuri Kuznetsov e3075abe4f selectize small fix 2025-07-10 13:37:40 +03:00
Yuri Kuznetsov 100c247d60 Merge branch 'fix' 2025-07-10 13:21:27 +03:00
Yuri Kuznetsov 81ef42118a small multiselect css 2025-07-10 13:21:16 +03:00
Yuri Kuznetsov 1b2086caa6 fix scope translation 2025-07-10 10:52:39 +03:00
Yuri Kuznetsov 2886cb690f loader fix 2025-07-10 10:17:05 +03:00
Yuri Kuznetsov 59279344f1 fix integration tests 2025-07-09 15:21:14 +03:00
Yuri Kuznetsov 4413871dd0 fix integration tests 2025-07-09 13:47:19 +03:00
Yuri Kuznetsov 258badc466 no error handler parameter 2025-07-09 13:33:23 +03:00
Yuri Kuznetsov 1bcf6647d6 integration test changes 2025-07-09 12:06:07 +03:00
Yuri Kuznetsov d29ef9d998 fix tests 2025-07-09 10:52:07 +03:00
Yuri Kuznetsov ee0bfb5970 fix test deprecations 2025-07-09 10:43:05 +03:00
Yuri Kuznetsov cd7307c9f6 fix test deprecations 2025-07-09 10:24:58 +03:00
Yuri Kuznetsov bc578d28e5 test deprecations fixes 2025-07-09 09:48:21 +03:00
Yuri Kuznetsov a468c42347 phpunit update 2025-07-08 20:57:16 +03:00
Yuri Kuznetsov 7b30ba59dd webhook skip own 2025-07-08 13:34:19 +03:00
Yuri Kuznetsov 335301cefd ref 2025-07-08 10:58:59 +03:00
Yuri Kuznetsov 9f918295e1 ref 2025-07-08 10:40:19 +03:00
Yuri Kuznetsov 0fa05c5be2 ref 2025-07-07 20:20:05 +03:00
Yuri Kuznetsov 55dc020cf0 ref 2025-07-07 20:09:41 +03:00
Yuri Kuznetsov 47a9a06160 store sent email encoding fix 2025-07-07 14:13:11 +03:00
Yuri Kuznetsov 92174a8eac fix status notification 2025-07-07 11:20:48 +03:00
Yuri Kuznetsov b205a58d10 fix set related 2025-07-07 11:20:30 +03:00
Yuri Kuznetsov 9f9ad1fe56 manual merge 2025-07-05 12:22:01 +03:00
Yuri Kuznetsov 72a069a1db ws reconnect impr 2025-07-05 12:09:28 +03:00
Yuri Kuznetsov 1abefcec34 stream refresh title 2025-07-04 11:44:12 +03:00
Yuri Kuznetsov 78ea0d7512 email template link mapping 2025-07-04 09:38:41 +03:00
Yuri Kuznetsov 98b5f25e08 email remplate ref, field access check 2025-07-04 09:02:26 +03:00
Yuri Kuznetsov 375c7278bd fix schema 2025-07-03 23:28:40 +03:00
Yuri Kuznetsov 1a0ba55448 Note status => update 2025-07-03 16:11:56 +03:00
Yurii Kuznietsov 9a541b2701 Merge pull request #3430 from SuchAFuriousDeath/fix-typo
Fix typo
2025-07-03 14:44:49 +03:00
Tomáš Procházka c8664c9acd Fix typo 2025-07-03 13:31:28 +02:00
Yuri Kuznetsov d2f24f2bcb rename 2025-07-03 13:48:05 +03:00
Yuri Kuznetsov ddaa662a81 ref 2025-07-03 12:32:35 +03:00
Yuri Kuznetsov 0b41d3c612 createDerived method 2025-07-03 12:21:00 +03:00
Yuri Kuznetsov 712f3a1cbd ref 2025-07-03 11:54:24 +03:00
Yuri Kuznetsov 99902b8c10 deferred actions, note related in context 2025-07-03 11:45:51 +03:00
Yuri Kuznetsov 7e702f563b cleanup 2025-07-02 14:56:34 +03:00
Yuri Kuznetsov 70a76705b5 use css vars 2025-07-02 14:55:11 +03:00
Yuri Kuznetsov 9dcbdc5907 do not group notification about assignment 2025-07-02 14:47:38 +03:00
Yuri Kuznetsov 3bcce9b517 user id filter 2025-07-02 13:34:49 +03:00
Yurii Kuznietsov 29880ffd0c Merge pull request #3429 from yurikuzn/i/notification-grouping
Notification grouping
2025-07-02 10:25:39 +03:00
Yuri Kuznetsov 13f2d44869 update note improvement 2025-07-01 20:37:40 +03:00
Yuri Kuznetsov 473bc75f00 style improvement 2025-07-01 20:19:12 +03:00
Yuri Kuznetsov b3a5587889 Meeting assignment notifications by default 2025-07-01 20:15:06 +03:00
Yuri Kuznetsov 2e704cc6d8 note status => update 2025-07-01 19:59:45 +03:00
Yuri Kuznetsov 364ed08dd3 event attendees audited 2025-07-01 18:22:20 +03:00
Yuri Kuznetsov 63ad1510e3 notification grouping 2025-07-01 17:20:52 +03:00
Yuri Kuznetsov 135e8f9608 Merge branch 'fix' 2025-07-01 10:49:03 +03:00
Yuri Kuznetsov 492d9abb25 document accounts allow direct access 2025-07-01 10:48:50 +03:00
Yuri Kuznetsov 15de70c8f7 action ID 2025-06-30 19:03:55 +03:00
Yuri Kuznetsov 0a7fe37014 ref 2025-06-30 17:10:57 +03:00
Yuri Kuznetsov c4967c774c ref 2025-06-30 16:58:40 +03:00
Yuri Kuznetsov 36293123c7 note detail view websocket 2025-06-30 15:30:12 +03:00
Yuri Kuznetsov 9e412b686d ref 2025-06-30 15:00:21 +03:00
Yuri Kuznetsov 052cdf20dd note detail view header refresh 2025-06-30 14:48:17 +03:00
Yuri Kuznetsov 6958a5a357 webSocket frontend ref 2025-06-30 13:53:38 +03:00
Yuri Kuznetsov cd7e03656a revert type 2025-06-30 11:59:39 +03:00
Yuri Kuznetsov f00e86cd21 full name additional attribute list 2025-06-30 11:18:41 +03:00
Yuri Kuznetsov d00fca02c1 fix typo 2025-06-29 18:54:09 +03:00
Yuri Kuznetsov 8f827eb9f1 ref 2025-06-29 16:52:10 +03:00
Yuri Kuznetsov d11a04aa0a no websocket in quick edit modal 2025-06-29 16:49:17 +03:00
Yuri Kuznetsov 36f7ffaaa1 websocket debounce block 2025-06-29 16:40:12 +03:00
Yuri Kuznetsov e5c4baef9e comment 2025-06-29 13:32:17 +03:00
Yuri Kuznetsov d479408fea date change on after change only for date 2025-06-29 13:30:44 +03:00
Yuri Kuznetsov a01f3333b3 date after set on change 2025-06-29 13:10:08 +03:00
Yuri Kuznetsov 46db6c2260 before:delete event, after:delete 2025-06-29 12:29:29 +03:00
Yuri Kuznetsov c3b2f52590 jsdoc fix 2025-06-29 12:01:05 +03:00
Yuri Kuznetsov d0321be776 jsdocs 2025-06-29 11:39:12 +03:00
Yuri Kuznetsov 8a177d5ac8 calendar websocket 2025-06-28 14:36:32 +03:00
Yuri Kuznetsov b182e51a38 acl-check command impr 2025-06-28 10:54:34 +03:00
Yuri Kuznetsov 10a643586d ref 2025-06-28 10:20:00 +03:00
Yuri Kuznetsov fc864fbce9 layout manager impr 2025-06-27 20:01:59 +03:00
Yuri Kuznetsov de92d50386 do not allow to combing sub fields and main field in detail layout 2025-06-27 19:45:13 +03:00
Yuri Kuznetsov 82028df342 ref 2025-06-27 19:30:47 +03:00
Yuri Kuznetsov b48827376f ref 2025-06-27 19:14:12 +03:00
Yuri Kuznetsov d24abb2435 email users link multiple columns; store sent as read 2025-06-27 18:40:21 +03:00
Yuri Kuznetsov e0b48ecae9 dashboard template importable 2025-06-27 17:39:43 +03:00
Yuri Kuznetsov 76ca781790 create handler: pass link, set-parent create handler 2025-06-27 16:43:57 +03:00
Yuri Kuznetsov 215d986c77 cs 2025-06-27 16:24:30 +03:00
Yurii Kuznietsov c66c8821ff Merge pull request #3427 from alexsvorada/master
Possible bug/typo in phone field view
2025-06-27 13:32:33 +03:00
Alex Svorada 89a14a1dd7 Fix possible bug 2025-06-27 10:49:04 +02:00
Yuri Kuznetsov 5b4ad25763 continue inline edit focus 2025-06-27 11:42:00 +03:00
Yuri Kuznetsov 680c11bf12 fix jsdoc 2025-06-27 11:27:04 +03:00
Yuri Kuznetsov 3da606469f person name, phone focus 2025-06-27 11:25:51 +03:00
Yuri Kuznetsov 2deb34cb3a store list tree 2025-06-27 10:13:12 +03:00
Yuri Kuznetsov 86a77a321d manage category no url param 2025-06-27 09:07:54 +03:00
Yuri Kuznetsov 0e195c99c1 docs fix 2025-06-26 20:28:17 +03:00
Yuri Kuznetsov 6260ccbc3c fix error 2025-06-26 20:26:21 +03:00
Yuri Kuznetsov 7cb9faed13 open current category 2025-06-26 20:23:41 +03:00
Yuri Kuznetsov 7fa1a7f376 cs 2025-06-26 18:29:23 +03:00
Yuri Kuznetsov 489afbe3b4 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-06-26 17:06:48 +03:00
Yuri Kuznetsov 308bb9563a select all result for relationships 2025-06-26 17:04:28 +03:00
Yuri Kuznetsov 74e458561a cleanup 2025-06-26 15:14:32 +03:00
Yuri Kuznetsov b7462b8ad6 test fix 2025-06-26 13:53:50 +03:00
Yurii Kuznietsov 5d1d5d8d05 Merge pull request #3421 from tbrugier/master
French e-mail template for password reset is now translated
2025-06-26 13:44:58 +03:00
Yuri Kuznetsov 5a10a4d156 select where: foreign entity check 2025-06-26 11:22:59 +03:00
Yuri Kuznetsov de37c9209b update requirements in readme 2025-06-26 09:46:05 +03:00
Yuri Kuznetsov 375807ca2b readme fix 2025-06-26 09:44:40 +03:00
Yuri Kuznetsov 3d3bd13819 docs 2025-06-26 09:17:41 +03:00
Yuri Kuznetsov 4f5dedfbe7 ref 2025-06-25 20:14:29 +03:00
Yuri Kuznetsov 18cae240c5 clear settings on login 2025-06-25 18:51:44 +03:00
Yurii Kuznietsov ccd752d690 Merge pull request #3423 from yurikuzn/f/formula-where
F/formula where
2025-06-25 18:16:23 +03:00
Yuri Kuznetsov b587ef50dd formula where tests 2025-06-25 15:06:15 +03:00
Yuri Kuznetsov 41a0fd48bb formula where 2025-06-25 14:21:24 +03:00
Yuri Kuznetsov 34e2f9502e system address not shared by default 2025-06-25 11:02:22 +03:00
Yuri Kuznetsov 819776d1c7 rename 2025-06-25 10:55:47 +03:00
Yuri Kuznetsov 07b79c49fe rename 2025-06-25 10:45:22 +03:00
Yuri Kuznetsov 09b94de327 ref 2025-06-25 10:42:31 +03:00
Yuri Kuznetsov bedf805456 email to case relate replies 2025-06-25 10:12:15 +03:00
Yuri Kuznetsov 7724c3b625 update textcomplete 2025-06-24 19:24:27 +03:00
Tom BRUGIER f5a38d5960 French e-mail template for password reset is now translated 2025-06-24 16:26:23 +02:00
Yuri Kuznetsov f7523ecb62 Merge branch 'stable' 2025-06-24 14:49:12 +03:00
Yuri Kuznetsov 4baab4dff4 9.1.7 2025-06-24 14:39:53 +03:00
Yuri Kuznetsov 52898cd767 Merge branch 'fix' 2025-06-24 13:25:59 +03:00
Yuri Kuznetsov 9c9f35b33a fix type 2025-06-24 12:51:45 +03:00
Yuri Kuznetsov b31b71756b fix time zone list in import 2025-06-24 12:44:04 +03:00
Yuri Kuznetsov 285f0bc011 cleanup 2025-06-24 12:41:20 +03:00
Yuri Kuznetsov 4e08872f68 ref 2025-06-24 12:40:44 +03:00
Yuri Kuznetsov 929611f317 throw bad request on uri starting with double slash 2025-06-24 12:34:23 +03:00
Yuri Kuznetsov a2fce2d425 fr lang additions 2025-06-24 10:01:46 +03:00
Yuri Kuznetsov ca98fb39af fix import error access filter 2025-06-24 09:22:46 +03:00
Yuri Kuznetsov 97e5aa8f90 ref 2025-06-23 19:46:42 +03:00
Yuri Kuznetsov 8649f1ac0c fix ldap query 2025-06-23 19:41:34 +03:00
Yuri Kuznetsov c2f4afd520 entity factory create with additional attributes 2025-06-23 18:13:59 +03:00
Yurii Kuznietsov 902430a83f Merge pull request #3418 from yurikuzn/f/pdfa
PDF/A support
2025-06-23 09:57:56 +03:00
Yuri Kuznetsov c2591357ab pdfa 2025-06-23 09:55:43 +03:00
Yuri Kuznetsov 6e477b7ff6 Merge branch 'fix' 2025-06-22 14:16:47 +03:00
Yuri Kuznetsov 4a38109d10 update cz 2025-06-22 14:12:11 +03:00
Yuri Kuznetsov cb6d806d89 update fr 2025-06-22 14:10:05 +03:00
Yuri Kuznetsov 709e5b7e62 fix list view with filter 2025-06-21 18:15:03 +03:00
Yuri Kuznetsov 5ce71b0bcd shortcut capture 2025-06-21 15:41:46 +03:00
Yuri Kuznetsov 5e0736e60f cleanup 2025-06-21 15:22:19 +03:00
Yuri Kuznetsov 7a70c1096b Merge branch 'i/shortcuts' 2025-06-21 14:31:19 +03:00
Yuri Kuznetsov 310778a018 foreign enum label type 2025-06-21 09:38:12 +03:00
Yuri Kuznetsov a8c5048079 shortcuts dev 2025-06-20 21:22:23 +03:00
Yuri Kuznetsov 60553a9a68 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-06-20 11:00:54 +03:00
Yurii Kuznietsov fba6568566 Merge pull request #3415 from SuchAFuriousDeath/fix-json-schema
Fixes json schema
2025-06-20 11:00:44 +03:00
Yuri Kuznetsov f6daca5c3b Merge branch 'fix' 2025-06-20 09:33:00 +03:00
Yuri Kuznetsov d00af77206 fix default currency 2025-06-20 09:32:47 +03:00
Tomáš Procházka 19fe743c1c Fixes json schema 2025-06-19 22:54:24 +02:00
Yuri Kuznetsov b0579c9acf inline edit confirm unsaved switch to another field 2025-06-19 20:37:19 +03:00
Yuri Kuznetsov dd7017fabe cs 2025-06-19 20:20:28 +03:00
Yuri Kuznetsov 107eb90aa4 ref 2025-06-19 20:11:05 +03:00
Yuri Kuznetsov b9a3177f6a no all for email in portal role 2025-06-19 19:44:34 +03:00
Yuri Kuznetsov c4b1dd0776 add type 2025-06-19 19:42:08 +03:00
Yuri Kuznetsov 5d77aefaa6 role validation impr 2025-06-19 19:37:50 +03:00
Yuri Kuznetsov 572f939d90 remove bc 2025-06-19 19:22:58 +03:00
Yuri Kuznetsov 5908de3c1c select only id 2025-06-19 19:11:47 +03:00
Yuri Kuznetsov b16f126152 category parent use view 2025-06-19 11:32:51 +03:00
Yuri Kuznetsov aa4d079539 loop reference check 2025-06-19 11:13:32 +03:00
Yuri Kuznetsov 8310f23e85 kb category not customizable 2025-06-19 10:56:38 +03:00
Yuri Kuznetsov f69667a564 skip order if no filed 2025-06-19 10:55:25 +03:00
Yuri Kuznetsov 69b370c031 document folder not customizable 2025-06-19 10:55:16 +03:00
Yuri Kuznetsov e1e83522dc impr 2025-06-19 10:41:47 +03:00
Yuri Kuznetsov 0048d6256c ref 2025-06-19 10:17:56 +03:00
Yuri Kuznetsov 5ba74c8f79 ref 2025-06-19 10:08:18 +03:00
Yuri Kuznetsov 9159792ec2 impr 2025-06-19 10:03:05 +03:00
Yuri Kuznetsov bffc905c2a ref 2025-06-19 09:37:40 +03:00
Yuri Kuznetsov bcb8e55c15 fix 2025-06-18 20:50:57 +03:00
Yuri Kuznetsov 9cba9bdd23 category order ui impr 2025-06-18 20:50:04 +03:00
Yuri Kuznetsov ba78ab7eb7 drag ui impr 2025-06-18 16:09:44 +03:00
Yuri Kuznetsov c46cf70079 fix possible js error 2025-06-18 16:04:16 +03:00
Yuri Kuznetsov 58c1071f59 style fix 2025-06-18 14:43:23 +03:00
Yuri Kuznetsov 5849a88ea1 fix 2025-06-18 14:42:39 +03:00
Yuri Kuznetsov 346d19f37e drag handle 2025-06-18 14:38:53 +03:00
Yuri Kuznetsov 5ec7610dda remove order field from layout 2025-06-18 13:31:25 +03:00
Yurii Kuznietsov 2a6624fb0e Merge pull request #3412 from yurikuzn/i/category
Category drag and drop
2025-06-18 13:24:40 +03:00
Yuri Kuznetsov f81d8a39d4 category impro dev 2025-06-18 11:53:34 +03:00
Yuri Kuznetsov e640315d8d category impr dev 2025-06-17 19:04:37 +03:00
Yuri Kuznetsov 7662a5eb6a preparable lib, draggable 2025-06-17 11:39:21 +03:00
Yuri Kuznetsov c0b098d2f7 Merge branch 'fix' 2025-06-16 16:43:47 +03:00
Yuri Kuznetsov d60a49a1bf css fix 2025-06-16 15:59:16 +03:00
Yuri Kuznetsov 60f7f2e16c update node dependencies 2025-06-16 15:42:16 +03:00
Yuri Kuznetsov bd33d70365 fix list model removal recovery 2025-06-16 11:22:40 +03:00
Yuri Kuznetsov 26c2234ead docs 2025-06-16 11:22:10 +03:00
Yuri Kuznetsov 8cfc2321d1 composer email modal collapse not leave out 2025-06-16 10:44:16 +03:00
Yuri Kuznetsov 683c8ba091 Merge branch 'stable' 2025-06-16 10:17:49 +03:00
Yuri Kuznetsov 133d6144ad 9.1.6 2025-06-16 10:08:04 +03:00
Yuri Kuznetsov 2cd78c83c2 drop mysql 5.7 and mariadb 10.2 2025-06-15 18:07:39 +03:00
Yuri Kuznetsov 1460102cb7 Merge branch 'fix' 2025-06-15 18:05:53 +03:00
Yuri Kuznetsov fe8bbb0d2e fix record grid shrink 2025-06-15 15:31:47 +03:00
Yuri Kuznetsov 3d5e98927d fix tests 2025-06-15 15:13:24 +03:00
Yuri Kuznetsov bef5f4c762 create category action 2025-06-15 15:03:01 +03:00
Yuri Kuznetsov 60a6b63e30 Merge branch 'fix' 2025-06-15 13:35:55 +03:00
Yuri Kuznetsov d406a7d78c collaborators own autocomplete 2025-06-15 13:34:18 +03:00
Yurii Kuznietsov 90e31c04bc Job sub-queue (#3403)
* cleanup

* job m0 queue
2025-06-15 12:39:43 +03:00
Yurii Kuznietsov f1b89fd6c4 orm: join refactor (#3408) 2025-06-15 11:30:04 +03:00
Yuri Kuznetsov 94b15e8e8e list view: fetch only visible columns 2025-06-14 14:03:49 +03:00
Yuri Kuznetsov 078674b85b list view get select attributes ref 2025-06-14 13:30:29 +03:00
Yuri Kuznetsov dae5cf9168 Merge branch 'fix' 2025-06-14 11:19:18 +03:00
Yuri Kuznetsov fabbacdcc1 comment 2025-06-14 11:07:23 +03:00
Yuri Kuznetsov 809defb24a fix reduce usage 2025-06-14 10:16:27 +03:00
Yuri Kuznetsov 72f9ff1a4a fix multi-enum n^2 2025-06-13 21:13:23 +03:00
Yuri Kuznetsov 923bb27a93 fix pagination lost after full edit view 2025-06-13 13:38:14 +03:00
Yuri Kuznetsov 38f8fedec8 confirm cancel callback 2025-06-13 13:29:25 +03:00
Yuri Kuznetsov acff675a54 cleanup 2025-06-12 18:38:25 +03:00
Yuri Kuznetsov fbfa599cef Merge branch 'fix' 2025-06-12 13:03:47 +03:00
Yurii Kuznietsov 8a7b159fb3 loader: use script tag (#3400) 2025-06-12 13:03:19 +03:00
Eymen Elkum a94fb01ceb fix: remove usage of non-existent 'hash' field (#3399) 2025-06-12 12:40:53 +03:00
Yuri Kuznetsov edb2dc6a5a fix test 2025-06-11 20:48:29 +03:00
Yuri Kuznetsov a90cd8a718 fix any of varchar 2025-06-11 16:55:38 +03:00
Yuri Kuznetsov 500bd35ff2 predefined default date dynamic values 2025-06-11 11:34:53 +03:00
Yuri Kuznetsov 6d0faf14a7 ref 2025-06-11 10:11:26 +03:00
Yuri Kuznetsov 2decdb010d email template status 2025-06-11 10:10:28 +03:00
Yuri Kuznetsov 10a6ff6a2d create button 2025-06-11 10:09:25 +03:00
Yuri Kuznetsov c1f2d5d0f1 schema 2025-06-11 10:09:16 +03:00
Yuri Kuznetsov 6ca6c0b938 ref 2025-06-10 23:05:13 +03:00
Yuri Kuznetsov 80be866475 Merge branch 'fix' 2025-06-10 22:49:39 +03:00
Yuri Kuznetsov e091db9063 reactions style change 2025-06-10 19:36:44 +03:00
Yuri Kuznetsov 4f9cfb487f cleanup 2025-06-10 19:26:42 +03:00
Yuri Kuznetsov 5f1a0f4f75 css likes fix 2025-06-10 19:26:05 +03:00
Yuri Kuznetsov dc18d5166f user default color 2025-06-10 18:53:54 +03:00
Yuri Kuznetsov bddbfc33b8 pdf template status 2025-06-10 18:16:06 +03:00
Yuri Kuznetsov dc76b3340e force list view settings param 2025-06-10 17:41:14 +03:00
Yuri Kuznetsov d48777d603 lastViewed param usage 2025-06-10 16:29:07 +03:00
Yuri Kuznetsov e359be4a17 docs 2025-06-10 16:23:36 +03:00
Yuri Kuznetsov 46a9a1d1f5 remove options 2025-06-10 16:21:51 +03:00
Yuri Kuznetsov 1cfea5bd3b hazyblue color changes 2025-06-10 16:13:58 +03:00
Yuri Kuznetsov 074465ca72 panel primary color 2025-06-10 16:05:22 +03:00
Yuri Kuznetsov 7eb2f79e3b alert primary, less refactoring 2025-06-10 15:53:36 +03:00
Yuri Kuznetsov eb760272c4 import user field change 2025-06-10 14:46:16 +03:00
Yuri Kuznetsov d466756520 job creator 2025-06-10 14:45:30 +03:00
Yuri Kuznetsov c3a3fb3407 import impr 2025-06-10 14:45:22 +03:00
Yuri Kuznetsov 75d710f953 Merge branch 'fix' 2025-06-10 13:36:46 +03:00
Yuri Kuznetsov 859f0c970b fix markdown list regexp 2025-06-10 11:18:05 +03:00
Yuri Kuznetsov 4f574abfe7 improve show password ui 2025-06-09 16:26:30 +03:00
Yuri Kuznetsov 042b15ae45 focus on toggle 2025-06-09 16:16:08 +03:00
Yuri Kuznetsov ccccc13662 fix id 2025-06-09 16:08:32 +03:00
Yuri Kuznetsov 3008f47620 login form view password 2025-06-09 16:07:11 +03:00
Yuri Kuznetsov c51d965fd1 Merge branch 'fix' 2025-06-09 13:46:12 +03:00
Yuri Kuznetsov 34df8c5f63 orm: support subquery in join on, ref 2025-06-09 13:46:00 +03:00
Yuri Kuznetsov 8feaadc162 calendar reRender date fix 2025-06-08 20:07:09 +03:00
Yuri Kuznetsov bf95f79775 distinct usage removal 2025-06-08 19:40:11 +03:00
Yuri Kuznetsov f2c4e0931d ref 2025-06-08 19:35:37 +03:00
Yuri Kuznetsov 9982ed0bef distinct usage rmoval 2025-06-08 19:21:27 +03:00
Yuri Kuznetsov cd860cb7d0 ref, getting rid of distinct 2025-06-08 19:09:00 +03:00
Yuri Kuznetsov 22f7d2a8b0 comment 2025-06-08 19:08:22 +03:00
Yuri Kuznetsov 27bd869565 change in guidelines 2025-06-08 14:10:43 +03:00
Yuri Kuznetsov b11b7899f6 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-06-08 14:06:05 +03:00
Yuri Kuznetsov a0fcb95a75 guidleness update 2025-06-08 14:05:56 +03:00
Yuri Kuznetsov 5fc25bee78 Merge branch 'fix' 2025-06-08 13:55:07 +03:00
Yuri Kuznetsov e37d35bc9b ref, comments 2025-06-08 10:58:44 +03:00
Yuri Kuznetsov 4ef5f24212 fix calendar link 2025-06-07 23:54:53 +03:00
Yuri Kuznetsov 6aebcaed97 lateral join 2025-06-07 20:34:31 +03:00
Yuri Kuznetsov d35f00b2cb orm: ANY_VALUE function 2025-06-07 13:33:05 +03:00
Yuri Kuznetsov 999f6f5593 status style 2025-06-06 20:44:36 +03:00
Yuri Kuznetsov f92e261ea8 fix inline attachment UUID compatibility 2025-06-05 22:09:08 +03:00
Yuri Kuznetsov ba03bfa6da schema 2025-06-04 15:17:21 +03:00
Yuri Kuznetsov bd3e06d403 syckBackWithModel param 2025-06-04 10:16:25 +03:00
Alex 27ac6b4181 fix checkemailaccounts exception typo (#3386) 2025-06-03 15:24:39 +03:00
Yuri Kuznetsov 6d279a4511 Merge branch 'fix' 2025-06-03 10:17:04 +03:00
SuchAFuriousDeath 1736b3301a fixes composer psr-4 compliance errors (#3385) 2025-06-03 08:51:33 +03:00
Yuri Kuznetsov bf43ab05ff fix test 2025-06-02 19:04:18 +03:00
Yuri Kuznetsov 8d81ac3acb fix or helper 2025-06-02 18:49:02 +03:00
Yuri Kuznetsov 2d0255909e disable activities dashlet in portal 2025-06-02 10:08:25 +03:00
Yuri Kuznetsov 767cc16920 issue template fix 2025-06-02 09:58:17 +03:00
Yuri Kuznetsov a64164b803 mistake or typo template 2025-06-02 09:57:18 +03:00
Yuri Kuznetsov 2d025dc67a Merge branch 'fix' 2025-06-02 09:49:10 +03:00
Yuri Kuznetsov 2634bb7208 add columnIsNull filter 2025-06-02 09:47:13 +03:00
Yuri Kuznetsov a4c80bf498 type 2025-06-01 12:19:10 +03:00
Yuri Kuznetsov eb19cd14b5 bundled extension support in developer mode 2025-05-31 11:37:34 +03:00
Yuri Kuznetsov c227fe7c34 pdf template default style 2025-05-29 18:54:58 +03:00
Yuri Kuznetsov 1fc92333dd autocomplete scroll fix 2025-05-29 13:51:03 +03:00
Yuri Kuznetsov 47c1a6fd05 dynamic logic field ref 2025-05-29 13:07:29 +03:00
Yuri Kuznetsov 8e454fd5b7 Merge branch 'stable' 2025-05-29 10:09:49 +03:00
Yuri Kuznetsov acf5c2984d 9.1.5 2025-05-29 10:00:56 +03:00
Yuri Kuznetsov 98eb304903 fix pgsql interval 2025-05-29 09:38:16 +03:00
Yuri Kuznetsov 1b385f987b js compress to support ios 2025-05-28 17:19:01 +03:00
Yuri Kuznetsov 34c1cdbe86 less js compress 2025-05-28 16:40:36 +03:00
Yuri Kuznetsov 8563945199 modal list without buttons sticky header fix 2025-05-28 12:26:17 +03:00
Yuri Kuznetsov 162e05449c field view: fromField handling 2025-05-28 12:00:59 +03:00
Yuri Kuznetsov e959df5177 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-05-27 09:31:28 +03:00
Yuri Kuznetsov 25a9df9e31 Merge branch 'stable' 2025-05-27 09:31:18 +03:00
Yuri Kuznetsov 0b6fd83b14 9.1.4 2025-05-27 09:21:27 +03:00
Yuri Kuznetsov 3631f17a77 fix ff dd shadows 2025-05-26 20:51:32 +03:00
Yuri Kuznetsov 4100af5ad3 fix sa 2025-05-26 15:32:39 +03:00
Yuri Kuznetsov b16024f205 error ref 2025-05-26 15:22:13 +03:00
Yuri Kuznetsov a0dbef3b78 cleanup 2025-05-26 12:12:04 +03:00
Yuri Kuznetsov 12c24098c3 update frontend build tools 2025-05-26 12:06:00 +03:00
stasovskyj 486dbbba08 Update AddressBuilder.php (#3379)
NanoFix =)
2025-05-26 09:15:51 +03:00
Yuri Kuznetsov 8d03944e68 schema docs fix 2025-05-25 11:35:28 +03:00
Yuri Kuznetsov 3b5207871b link field fromField usage 2025-05-24 17:04:17 +03:00
Yuri Kuznetsov 0f2689deee fix kb article move 2025-05-24 13:53:01 +03:00
Yuri Kuznetsov 37d437dbae ref 2025-05-24 11:42:07 +03:00
Yuri Kuznetsov bfe109e9e4 stream user link color 2025-05-24 09:20:54 +03:00
Yuri Kuznetsov d8f7127528 comment 2025-05-23 20:06:43 +03:00
Yuri Kuznetsov 986af05002 fix user detail layout 2025-05-23 16:17:58 +03:00
Yuri Kuznetsov bdbfbdabf1 complex text table css fix 2025-05-23 11:24:30 +03:00
Yuri Kuznetsov 04f74150ac complex text table style 2025-05-23 11:20:18 +03:00
Yuri Kuznetsov 74ce903cb7 element check 2025-05-23 09:19:14 +03:00
Yuri Kuznetsov 666dd116bd link one empty search fix 2025-05-20 23:15:09 +03:00
Yuri Kuznetsov e0d262e733 portal user same account select 2025-05-20 23:05:57 +03:00
Yuri Kuznetsov aa29aa9ca6 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-05-20 15:06:11 +03:00
Yuri Kuznetsov c333a31112 Merge branch 'stable' 2025-05-20 15:05:56 +03:00
Yuri Kuznetsov 128d7ec94d 9.1.3 2025-05-20 14:58:12 +03:00
Yuri Kuznetsov e0277038cd fix email store 2025-05-20 13:57:55 +03:00
Yuri Kuznetsov 845a50a99f fix tree list view open link 2025-05-18 13:07:34 +03:00
SuchAFuriousDeath 7a451bd498 Fixes wrong translation scope (#3371) 2025-05-17 14:51:54 +03:00
Yuri Kuznetsov a30a353156 markdown match fix 2025-05-17 11:33:15 +03:00
Yuri Kuznetsov 27a7e2f6f5 mass remove form web hook queue 2025-05-16 20:48:49 +03:00
Yuri Kuznetsov febf78dab6 webhook in menu 2025-05-16 15:49:09 +03:00
Yuri Kuznetsov fab0efa5e5 webhook event queue item list view 2025-05-16 15:47:48 +03:00
Yuri Kuznetsov 72794768af webhook queue items panel 2025-05-16 15:33:27 +03:00
Yuri Kuznetsov 75c71d4b28 skip starred and followers in webhook 2025-05-16 15:20:32 +03:00
Yuri Kuznetsov 81364eefb3 layout change 2025-05-16 15:17:01 +03:00
Yuri Kuznetsov 07a09dd08e email sender: reply-to after addresses 2025-05-15 19:56:36 +03:00
SuchAFuriousDeath 673370b9a5 fixes TIMESTAMPDIFF_MONTH error for postgresql (#3369) 2025-05-15 08:54:12 +03:00
Yuri Kuznetsov 2aacc5277d Merge branch 'master' of https://github.com/espocrm/espocrm 2025-05-14 21:15:20 +03:00
Yuri Kuznetsov e444ce032f Merge branch 'fix' 2025-05-14 21:15:08 +03:00
Yuri Kuznetsov c398ab0a40 text field: prevent scroll chrome woe with other solution 2025-05-14 19:24:12 +03:00
Yuri Kuznetsov 86f3801513 use setRangeText 2025-05-14 19:08:06 +03:00
Yuri Kuznetsov 678be304c5 cleanup 2025-05-14 18:32:01 +03:00
Yuri Kuznetsov 0243a2a5a0 9.1.2 2025-05-14 17:04:33 +03:00
Yuri Kuznetsov 15d95ddac9 select single category fix 2025-05-14 15:48:39 +03:00
Yuri Kuznetsov 33a15bdbd6 attachment file name fix 2025-05-14 14:09:51 +03:00
Yuri Kuznetsov b71a237cad postgresql delete alias fix 2025-05-14 13:58:35 +03:00
Yuri Kuznetsov 11d9d2aee4 autocomplete max height 2025-05-13 22:12:31 +03:00
Yuri Kuznetsov 6a1a3b67c8 fix lead catpture list layout 2025-05-13 15:19:37 +03:00
Yuri Kuznetsov d1bb6be354 fix record panels container multiple 2025-05-13 13:26:48 +03:00
Yuri Kuznetsov 55a387c785 fix 2025-05-13 12:49:23 +03:00
Yuri Kuznetsov 6efa058293 skip re-render email body on quick save 2025-05-13 12:00:49 +03:00
Yuri Kuznetsov 8f054a475c compose initial fields ref 2025-05-13 12:00:29 +03:00
Yurii Kuznietsov 650cc032b1 Update config.yml 2025-05-12 20:42:23 +03:00
Yuri Kuznetsov 5b1919b760 google map id 2025-05-12 17:36:42 +03:00
Yuri Kuznetsov 50ded4b933 new google maps api 2025-05-12 17:22:45 +03:00
Yuri Kuznetsov c4b0629e4f google maps warning fix 2025-05-12 17:15:35 +03:00
Yuri Kuznetsov 0112ff7983 Merge branch 'fix' 2025-05-12 10:23:22 +03:00
Yuri Kuznetsov 3d5991495b 9.1.1 2025-05-12 10:13:54 +03:00
Yuri Kuznetsov 1ee853890c pgsql TZ fix 2025-05-11 19:00:35 +03:00
Yurii Kuznietsov 15626b5a32 Update config.yml 2025-05-11 15:42:59 +03:00
Yurii Kuznietsov 6abdfbfe05 Update CONTRIBUTING.md 2025-05-11 15:39:41 +03:00
Yurii Kuznietsov e796b4a447 Update config.yml 2025-05-11 15:30:58 +03:00
Yuri Kuznetsov 400347740d comment 2025-05-11 13:45:47 +03:00
Yuri Kuznetsov eae84b9d8f foreign-field params helper 2025-05-11 13:45:02 +03:00
Yuri Kuznetsov 1ba4937f32 phone foreign disable numeric search 2025-05-11 13:44:51 +03:00
Yuri Kuznetsov 205091dc6f change email template order 2025-05-11 12:41:45 +03:00
Yuri Kuznetsov d704d089a3 lang fix 2025-05-11 12:41:30 +03:00
Yuri Kuznetsov 4cf6e4f9d3 email template text search only name 2025-05-11 12:32:29 +03:00
Yurii Kuznietsov 42c0f99cae Update config.yml 2025-05-11 10:09:16 +03:00
Yurii Kuznietsov e90bbbc2a7 Update config.yml 2025-05-11 10:05:47 +03:00
Yurii Kuznietsov a12712d304 Update config.yml 2025-05-11 10:04:48 +03:00
Yurii Kuznietsov 10bdc5adfb Update feature_request.md 2025-05-11 10:03:38 +03:00
Yuri Kuznetsov 88565e2e19 address field metadata independent 2025-05-10 17:45:46 +03:00
Yuri Kuznetsov 3a295bcbad fix select record tree item 2025-05-10 10:00:18 +03:00
Yuri Kuznetsov 3cf87f8bd9 uploaded image preview in full size 2025-05-09 18:16:21 +03:00
Yuri Kuznetsov 469f0e1913 assigned users avatars in list mode 2025-05-08 10:12:38 +03:00
Yuri Kuznetsov 6e8e2abd5f type guard 2025-05-07 11:45:16 +03:00
Yuri Kuznetsov a7016ca153 kanban starred 2025-05-07 10:08:18 +03:00
Yuri Kuznetsov 7359367569 websocket reconnect subscribe 2025-05-07 09:48:47 +03:00
Yuri Kuznetsov e394779737 markdown use custom tokenizer to escape html tags 2025-05-07 08:58:14 +03:00
Yuri Kuznetsov 9bb1b1a36c cleanup 2025-05-06 23:04:30 +03:00
Yuri Kuznetsov 7ac977ef6c change layout order 2025-05-06 21:12:02 +03:00
Yuri Kuznetsov aabe966bcf Netowrk error message 2025-05-06 20:15:53 +03:00
Yuri Kuznetsov ffbe6f5efa email list detail sync 2025-05-06 18:11:08 +03:00
Yuri Kuznetsov 68f568949e fix list remove sync 2025-05-06 17:45:38 +03:00
Yuri Kuznetsov 3fbaeab264 fix convert lead leav out confirm 2025-05-06 17:04:14 +03:00
Yuri Kuznetsov bc0bcf3594 fix notify 2025-05-06 16:58:07 +03:00
Yuri Kuznetsov 0258f5e8b1 fix email to lead/contact js error 2025-05-06 10:50:38 +03:00
Yuri Kuznetsov 5e2ba0d28e type fix 2025-05-06 10:47:19 +03:00
Yuri Kuznetsov ed03e6637f search on mobile fix 2025-05-05 20:30:09 +03:00
Yuri Kuznetsov ccb17b1170 fix 2025-05-05 13:18:28 +03:00
Yuri Kuznetsov 8ce3f4dcc1 ref 2025-05-05 13:17:11 +03:00
Yuri Kuznetsov dbf8f15333 attribute details css fix 2025-05-05 12:35:30 +03:00
Yuri Kuznetsov 51d838e1b2 enum field details type 2025-05-05 12:26:22 +03:00
Yuri Kuznetsov c5381488ce lang 2025-05-05 12:02:09 +03:00
Yuri Kuznetsov 662b63e47b fix 2025-05-05 11:29:27 +03:00
Yuri Kuznetsov 3e8459d5c2 version 2025-05-05 10:09:01 +03:00
Yuri Kuznetsov dcf0d4265b comments 2025-05-03 17:16:22 +03:00
Yuri Kuznetsov ef3330d0fb ref 2025-05-03 17:14:32 +03:00
Yuri Kuznetsov def0bbd55e ref 2025-05-03 17:11:37 +03:00
Yuri Kuznetsov 44c3aa0f19 dd small max height fix 2025-05-03 10:40:03 +03:00
Yuri Kuznetsov 96c8382143 dropdown with checkbox css fix 2025-05-02 16:40:14 +03:00
Yuri Kuznetsov 6e980eaea9 role table fix 2025-05-02 09:22:05 +03:00
Yuri Kuznetsov 42b703204a email template placeholders for fields with loaders 2025-05-01 18:56:42 +03:00
Yuri Kuznetsov 5ebad1c816 data ref 2025-05-01 18:26:52 +03:00
Yuri Kuznetsov 4e230845f9 template placeholder variables loader 2025-05-01 18:26:10 +03:00
Yuri Kuznetsov 8855161518 inline edit css fix 2025-05-01 17:41:48 +03:00
Yuri Kuznetsov 4418133ec0 entity defs field loaders 2025-05-01 17:22:13 +03:00
Yuri Kuznetsov 5b9ac837dd mass email information send opt out ignore 2025-05-01 14:11:29 +03:00
Yuri Kuznetsov 2a570dd573 mass email invalid check 2025-05-01 14:01:59 +03:00
Yuri Kuznetsov a2e34ff6ce inline edit css fix 2025-05-01 13:12:05 +03:00
Yuri Kuznetsov d75ff87824 datepicker fix 2025-04-30 19:38:27 +03:00
Yuri Kuznetsov 9fd4d78485 after render fix 2025-04-30 18:52:05 +03:00
Yuri Kuznetsov b9a5f1cbff email subject fix 2025-04-30 17:07:01 +03:00
Yuri Kuznetsov 123605c442 add field to layout 2025-04-30 13:14:50 +03:00
Yuri Kuznetsov 0c539faaee layout manager hidden visual cue 2025-04-30 10:03:02 +03:00
Yuri Kuznetsov a571e283d3 kanban: revert record after move error 2025-04-30 09:52:24 +03:00
Yuri Kuznetsov 0a17b974c9 dropdown overflow fix 2025-04-30 09:43:08 +03:00
Yuri Kuznetsov cf3497c817 email listview attachment icon fix 2025-04-28 09:58:47 +03:00
Yuri Kuznetsov 22665ee951 label 2025-04-28 09:14:58 +03:00
Yuri Kuznetsov 416adafaa5 email: disable text search for fields 2025-04-28 09:12:24 +03:00
Yuri Kuznetsov 96bf57fea7 dropdown fix 2025-04-25 19:44:56 +03:00
SuchAFuriousDeath a41374ef74 Remove double semicolons (#3345)
* Remove double semicolons

* fix formatting

* fix formatting 2
2025-04-23 14:08:39 +03:00
Yuri Kuznetsov e2800c7dbf additional icon classes in metadata 2025-04-23 10:03:57 +03:00
Yuri Kuznetsov 8a8b800302 group folder do not list sent from group accounts 2025-04-22 18:50:04 +03:00
Yuri Kuznetsov 48ed42c29c form label CSS fix 2025-04-22 13:13:48 +03:00
Yuri Kuznetsov d8722a4087 attachment search by ID 2025-04-22 09:27:18 +03:00
Yuri Kuznetsov ac7eb466fc Merge branch 'fix' 2025-04-21 11:19:39 +03:00
Yuri Kuznetsov 839c31dbb8 before-upgrade version check 2025-04-21 11:19:30 +03:00
Yuri Kuznetsov dbaa7adf20 update frontend timezones 2025-04-21 10:20:47 +03:00
Yuri Kuznetsov 98628a273b css fix 2025-04-19 19:31:07 +03:00
Yuri Kuznetsov 90bcd57d2c dropdown out of screen fix 2025-04-19 19:29:12 +03:00
Yuri Kuznetsov e1acf4a2b8 create save context on save 2025-04-19 10:52:56 +03:00
Yuri Kuznetsov 449a8fcbb4 fix multi-enum bc 2025-04-18 16:51:03 +03:00
Yuri Kuznetsov 268615d8fe oidc userinfo support 2025-04-17 14:13:50 +03:00
Yuri Kuznetsov 2b98eef915 remove resource endpoint field 2025-04-17 10:45:42 +03:00
Yuri Kuznetsov 39e7b397e9 hide field 2025-04-17 10:36:15 +03:00
Yuri Kuznetsov 16576623f6 document accounts field metadata change 2025-04-17 10:12:11 +03:00
Yuri Kuznetsov cc5c979af6 update bullbone 2025-04-16 21:00:55 +03:00
Yuri Kuznetsov 3fd33d3269 view stream attachments 2025-04-16 20:46:17 +03:00
Yuri Kuznetsov 39cefe99e6 cs 2025-04-16 18:52:15 +03:00
Yuri Kuznetsov d8d9c3eb66 use cleanupAppLog 2025-04-16 17:34:45 +03:00
Yuri Kuznetsov 1502361fa3 cleanup improvements 2025-04-16 13:15:50 +03:00
Yuri Kuznetsov 61b50b5288 fix typo 2025-04-15 19:38:01 +03:00
Yuri Kuznetsov 2303a81751 attachments field search fix 2025-04-15 19:17:40 +03:00
Yuri Kuznetsov 0e7c405862 empty working range 2025-04-15 18:09:42 +03:00
Yuri Kuznetsov 23eb78d5c3 action sync listener fix 2025-04-15 14:12:02 +03:00
Yuri Kuznetsov 5e2c134194 Merge branch 'fix' 2025-04-15 10:05:42 +03:00
Yuri Kuznetsov 3dcbff1d08 9.0.8 2025-04-15 09:53:20 +03:00
Yuri Kuznetsov 4559f2746e record collection getApiOutput method 2025-04-15 09:45:46 +03:00
Yuri Kuznetsov 963fb40b2b fix save email settings 2025-04-14 11:13:15 +03:00
Yuri Kuznetsov 1682075267 ui fix 2025-04-14 11:06:23 +03:00
Yuri Kuznetsov 3032b2be87 select js error 2025-04-14 10:55:35 +03:00
Yuri Kuznetsov 2624c15763 fix 2025-04-14 10:24:23 +03:00
Yuri Kuznetsov 981be27151 email account dynamic logic changes 2025-04-14 09:18:44 +03:00
Yuri Kuznetsov 79b06df170 todo change 2025-04-13 16:27:14 +03:00
Yuri Kuznetsov 0eafe2ba35 system account color 2025-04-12 13:19:39 +03:00
Yuri Kuznetsov 11c6b79a4d remove system email account 2025-04-12 13:06:18 +03:00
Yuri Kuznetsov b2ce89754f install changes 2025-04-12 12:56:31 +03:00
Yuri Kuznetsov 1c1aac38c2 email account quick search for admin 2025-04-12 11:14:23 +03:00
Yuri Kuznetsov 587ab9a492 cleanup 2025-04-12 11:01:18 +03:00
Yuri Kuznetsov 3a38c8245b change insert text 2025-04-11 20:02:03 +03:00
Yuri Kuznetsov 99cb0ed8ce ref 2025-04-11 14:17:40 +03:00
Yuri Kuznetsov 1d685dc772 fix email send test no password 2025-04-11 09:11:23 +03:00
Yuri Kuznetsov cea34c95b5 skip audited 2025-04-10 19:53:38 +03:00
Yuri Kuznetsov 17bfe2d969 integration password type 2025-04-10 15:06:39 +03:00
Yuri Kuznetsov 7e4254ab42 ref 2025-04-10 14:48:06 +03:00
Yuri Kuznetsov f7d0e54f7a stylefix 2025-04-10 14:33:31 +03:00
Yuri Kuznetsov 41ea5e22ca formula insert change 2025-04-10 08:52:44 +03:00
Yuri Kuznetsov 85907320b4 cleanup 2025-04-09 23:42:17 +03:00
Yuri Kuznetsov a52a5e31e5 tracking url copy url 2025-04-09 23:23:31 +03:00
Yuri Kuznetsov 21bf43e33d Merge branch 'fix' 2025-04-09 23:14:07 +03:00
Yuri Kuznetsov 61c5ad9802 email show body plain impr 2025-04-09 21:54:03 +03:00
Yuri Kuznetsov 6b58d30eec improve html sanitize 2025-04-09 21:19:39 +03:00
Yuri Kuznetsov 84f7fc562c CSP form-action self 2025-04-09 21:11:27 +03:00
Yuri Kuznetsov 56f66976c7 add group index 2025-04-09 15:34:18 +03:00
Yuri Kuznetsov 16cc10bca0 style fixes 2025-04-09 10:38:30 +03:00
Yuri Kuznetsov b18ccfcb7b dashlet changes 2025-04-09 10:30:53 +03:00
Yuri Kuznetsov 3c3ea2135b style fix 2025-04-09 09:15:34 +03:00
Yuri Kuznetsov f860a8ecba role table ui impr 2025-04-09 09:12:25 +03:00
Yuri Kuznetsov 8fa5240dcd select style 2025-04-09 08:58:20 +03:00
Yuri Kuznetsov 9935c86538 native select 2025-04-08 22:46:02 +03:00
Yuri Kuznetsov 8ec1d5353f css fix 2025-04-08 22:24:22 +03:00
Yuri Kuznetsov 85ccb0da15 Merge branch 'fix' 2025-04-08 19:43:21 +03:00
Yuri Kuznetsov b431f40f9f update ubuntu 2025-04-08 19:43:01 +03:00
Yuri Kuznetsov 85bb013a0e 9.0.7 2025-04-08 19:30:16 +03:00
Yuri Kuznetsov aeeb779ab0 fix upload button 2025-04-08 19:22:22 +03:00
Yuri Kuznetsov ed1f07d872 comment 2025-04-08 19:02:10 +03:00
Yuri Kuznetsov 97938b8fcd comment 2025-04-08 17:46:36 +03:00
Yuri Kuznetsov 54d73fa073 show action button rerender if no button 2025-04-08 17:28:52 +03:00
Yuri Kuznetsov 2404dfff75 schema 2025-04-08 14:55:02 +03:00
Yuri Kuznetsov e401f3aef2 read-only saved 2025-04-08 14:22:50 +03:00
Yuri Kuznetsov 33914a9b61 ref 2025-04-08 11:28:45 +03:00
Yuri Kuznetsov 46c23cec26 types 2025-04-08 10:56:36 +03:00
Yuri Kuznetsov 71cb29c507 ref 2025-04-08 10:49:54 +03:00
Yuri Kuznetsov 034a0b8ff1 dynamic logic required backend 2025-04-08 10:33:57 +03:00
Yuri Kuznetsov f4c6c16df7 condition checker fix and has support 2025-04-07 18:32:41 +03:00
Yuri Kuznetsov 1bfc8a2b38 dynamic logic move 2025-04-07 17:14:11 +03:00
Yuri Kuznetsov 601cf8fdfd ConditionCheckerFactory 2025-04-07 11:27:11 +03:00
Yuri Kuznetsov 4be5829805 tests 2025-04-07 11:20:27 +03:00
Yuri Kuznetsov 66ae50b129 dynamic logic tool 2025-04-07 11:12:28 +03:00
Yuri Kuznetsov daa94f53d0 jsdoc 2025-04-06 19:56:46 +03:00
Yuri Kuznetsov 42c54f4c84 X-Record-Link-Updated 2025-04-06 11:29:06 +03:00
Yuri Kuznetsov 633ac6e63f save context 2025-04-06 11:28:51 +03:00
Yuri Kuznetsov 8cfa9bd8af comments 2025-04-06 10:52:03 +03:00
Yuri Kuznetsov 7c63eabd76 remove legacy params 2025-04-06 10:37:41 +03:00
Yuri Kuznetsov 1dafe99fa9 debounce helper arguments 2025-04-05 17:58:05 +03:00
Yuri Kuznetsov 35431ede0d cs, jsdocs 2025-04-05 17:33:10 +03:00
Yuri Kuznetsov 869d73511c colorpicker alpha background stretch 2025-04-05 09:46:55 +03:00
Yuri Kuznetsov 3fab26158f cs 2025-04-04 19:07:47 +03:00
Yuri Kuznetsov b1b0df004e compose email fix error handling 2025-04-04 18:24:44 +03:00
Yuri Kuznetsov 53bbfde2b2 ref 2025-04-04 18:23:31 +03:00
Yuri Kuznetsov 6c32b94376 email header refresh 2025-04-04 16:29:57 +03:00
Yuri Kuznetsov 8dd35ec9d3 email body to plain inprovement 2025-04-04 15:58:45 +03:00
Yuri Kuznetsov 55c7cff79d rename 2025-04-04 13:01:07 +03:00
Yuri Kuznetsov 06bd8ef175 ref 2025-04-04 13:00:15 +03:00
Yuri Kuznetsov 1894c5cc9a blank avatar cache 2025-04-04 12:34:41 +03:00
Yuri Kuznetsov 927fd7a589 avatar caching improvement 2025-04-04 12:27:07 +03:00
Yuri Kuznetsov fe70eba7d6 attachment cache header change 2025-04-04 11:22:49 +03:00
Yuri Kuznetsov 4a4618ef56 html to plain link fix 2025-04-04 10:27:14 +03:00
Yuri Kuznetsov 3af94e3545 fix activities hasAttachment null => false 2025-04-03 22:22:48 +03:00
Yuri Kuznetsov 80ad254cf6 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-04-03 22:21:41 +03:00
SuchAFuriousDeath e4154a70ff Fix getActivitiesUserMeetingQueryin Activities service for Postgres (#3330)
* Fix getActivitiesUserMeetingQueryin Activities service

* change false to 'false'
2025-04-03 22:21:10 +03:00
Yuri Kuznetsov 0fe44b0885 fix 2025-04-03 11:15:42 +03:00
Yuri Kuznetsov ad00a8cff8 expanded layout item params 2025-04-03 11:03:22 +03:00
Yuri Kuznetsov 8a71c651ae ref 2025-04-02 19:35:53 +03:00
Yuri Kuznetsov c09c1a8298 imap security label fix, port autofill fix 2025-04-02 15:26:52 +03:00
Yuri Kuznetsov c950559038 fix docs 2025-04-02 15:19:10 +03:00
Yuri Kuznetsov 251700eb50 external account languageIsGlobal 2025-04-02 12:18:48 +03:00
Yuri Kuznetsov 7bf3406735 fix labels 2025-04-01 15:22:07 +03:00
Yuri Kuznetsov 30e123ccbb fix smtp params transport preparator 2025-04-01 13:51:13 +03:00
Yuri Kuznetsov d993f99ad1 add sensitive parameter annotation 2025-04-01 11:26:17 +03:00
Yuri Kuznetsov e9fbb1d4d4 dynamic logic builder varchar matches fix 2025-04-01 10:50:28 +03:00
Yuri Kuznetsov 6f9ba6c7f6 smtp custom transport preparator 2025-03-31 23:36:33 +03:00
Yuri Kuznetsov 08f5bbeaba sender ref 2025-03-31 23:19:21 +03:00
Yuri Kuznetsov 520d55b98d sender ref 2025-03-31 23:12:12 +03:00
Yuri Kuznetsov d57cea662d transport preparator 2025-03-31 22:49:23 +03:00
Yuri Kuznetsov 2f5b78f887 email sending library change 2025-03-31 19:15:30 +03:00
Yuri Kuznetsov ef9795f6e4 send test notify 2025-03-31 15:27:59 +03:00
Yuri Kuznetsov f8166a7109 fix 2025-03-31 15:27:09 +03:00
Yuri Kuznetsov bcfd735844 fix send test 2025-03-31 15:24:34 +03:00
Yuri Kuznetsov 54f91df984 fix select 2025-03-30 22:33:14 +03:00
Yuri Kuznetsov 19843c19d1 sender replyTo set 2025-03-30 15:01:33 +03:00
Yuri Kuznetsov e620317966 update libs 2025-03-30 13:45:43 +03:00
Yuri Kuznetsov 224187ba11 ref, suppress 2025-03-30 12:57:54 +03:00
Yuri Kuznetsov 9e9af5769a suppress inspection 2025-03-30 12:51:22 +03:00
Yuri Kuznetsov 1224e778d4 ref, deprecate 2025-03-29 19:55:42 +02:00
Yuri Kuznetsov 0ee1cbeaaf comment 2025-03-29 19:21:58 +02:00
Yuri Kuznetsov d0c6400644 mail sender ref 2025-03-29 19:20:06 +02:00
Yuri Kuznetsov 19ae8f2499 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-03-29 16:36:43 +02:00
Yuri Kuznetsov 0aae87a248 role edit view performance improvement 2025-03-29 16:36:21 +02:00
Yuri Kuznetsov fa1bd30ac3 cleanup 2025-03-29 13:54:50 +02:00
SuchAFuriousDeath 73d0203b8f Fix doc comment (#3326) 2025-03-28 13:56:35 +02:00
Yuri Kuznetsov caf3a729d1 formula: key access null coalescing 2025-03-27 17:13:04 +02:00
Yuri Kuznetsov 7e49e6491d formula: nested key access 2025-03-27 16:34:19 +02:00
Yuri Kuznetsov ff045692d0 cs 2025-03-27 15:21:49 +02:00
Yuri Kuznetsov 2e0f0fb7db ref 2025-03-27 14:35:01 +02:00
Yuri Kuznetsov 7763ddb802 formula: key value access 2025-03-27 14:06:50 +02:00
Yuri Kuznetsov eafd465ba2 formula: increment decrement 2025-03-27 12:01:04 +02:00
Yuri Kuznetsov 512ddc0d76 change insert 2025-03-27 11:36:02 +02:00
Yuri Kuznetsov b2156f36b9 formula: array append 2025-03-27 11:13:07 +02:00
Yuri Kuznetsov a56ccbd1f8 fix phpstan weird error 2025-03-26 15:34:47 +02:00
Yuri Kuznetsov e91a98d0d5 fix 2025-03-26 15:27:35 +02:00
Yuri Kuznetsov 3d914d0591 fix 2025-03-26 15:18:13 +02:00
Yuri Kuznetsov b95c1c8878 ref 2025-03-26 14:54:26 +02:00
Yuri Kuznetsov f18ed3a531 ref 2025-03-26 13:57:53 +02:00
Yuri Kuznetsov d2feca38d8 ref 2025-03-26 13:50:29 +02:00
Yuri Kuznetsov 41b0dd4e78 ref 2025-03-26 13:34:21 +02:00
Yuri Kuznetsov e92b200eb3 update phpstan, ref 2025-03-26 12:24:39 +02:00
Yuri Kuznetsov c1ae7dff95 select ref, docs 2025-03-26 11:10:24 +02:00
Yuri Kuznetsov 6cbf6cea73 access checker factory bind entityType 2025-03-26 10:59:47 +02:00
Yuri Kuznetsov b8e1515015 ref 2025-03-25 18:19:16 +02:00
Yuri Kuznetsov 399bc60525 array field item max length param 2025-03-25 15:38:56 +02:00
Yuri Kuznetsov 913dc48bfe sensitive params 2025-03-25 14:32:48 +02:00
Yuri Kuznetsov 2af34da28f oauth providers 2025-03-25 14:15:39 +02:00
Yuri Kuznetsov 9043d37a08 fix 2025-03-25 13:45:12 +02:00
Yuri Kuznetsov 72cd6583d5 formula sandbox log errors 2025-03-25 13:42:23 +02:00
Yuri Kuznetsov 03969a20fe select for share mysql fix 2025-03-25 13:36:14 +02:00
Yuri Kuznetsov f2a5e103dd fix 2025-03-25 09:50:48 +02:00
Yuri Kuznetsov 45d66461e8 wysiwyf mailto 2025-03-24 18:03:28 +02:00
Yuri Kuznetsov 79fb3eaa29 schema 2025-03-24 10:22:44 +02:00
Yuri Kuznetsov 946ad47765 jsdoc fix 2025-03-24 10:17:03 +02:00
Yuri Kuznetsov 488d5ab6ae added forbidden field name list 2025-03-24 09:15:58 +02:00
Yuri Kuznetsov 9c8d7d2062 user data ref 2025-03-24 09:13:07 +02:00
Yuri Kuznetsov ce6abcd3f0 phone/email fields details 2025-03-23 12:01:07 +02:00
Yuri Kuznetsov 8f2ccb45a2 rename 2025-03-21 17:03:21 +02:00
Yuri Kuznetsov 415e9503f7 wysiwyg no none in list view 2025-03-21 12:42:16 +02:00
Yuri Kuznetsov aec3e459b5 Merge branch 'fix' 2025-03-21 10:58:33 +02:00
Yuri Kuznetsov 48ce79811f fix domain 2025-03-21 10:58:24 +02:00
Yuri Kuznetsov 0d2c30bcd9 Merge branch 'fix' 2025-03-21 10:52:21 +02:00
Yuri Kuznetsov c939deb589 iframeSandboxExcludeDomainList 2025-03-21 10:46:26 +02:00
Yuri Kuznetsov 5cdcb8bd74 collapsable edit modal 2025-03-21 10:26:16 +02:00
Yuri Kuznetsov e57018732f array field validate item not entered 2025-03-21 09:19:00 +02:00
Yuri Kuznetsov 4869d5f5b6 cleanup 2025-03-20 21:30:21 +02:00
Yuri Kuznetsov 7ffcb9031b ref 2025-03-20 21:22:36 +02:00
Yuri Kuznetsov 474fd25d3c ref 2025-03-20 21:15:18 +02:00
Yuri Kuznetsov 22d50aee21 modal bar ref 2025-03-20 20:59:04 +02:00
Yuri Kuznetsov 9fec3a57b2 ref 2025-03-20 20:44:49 +02:00
Yuri Kuznetsov d3c480d481 ref 2025-03-20 20:38:28 +02:00
Yuri Kuznetsov 58e091b45e ref 2025-03-20 18:41:15 +02:00
Yuri Kuznetsov c4303483b7 modal ref 2025-03-20 18:03:33 +02:00
Yuri Kuznetsov c742c0859b impr confirm leave out, collapse modal ref 2025-03-20 16:59:02 +02:00
Yuri Kuznetsov 45ab1653a4 lead form ui changes 2025-03-20 14:23:42 +02:00
Yuri Kuznetsov bc10efa640 today task danger style 2025-03-20 14:03:20 +02:00
Yuri Kuznetsov 757e2fbda1 text preview style impr 2025-03-20 12:34:10 +02:00
Yuri Kuznetsov a09959a969 kb order do not restrict in portal 2025-03-20 11:15:02 +02:00
Yuri Kuznetsov c39052a0d3 select applier factory ref 2025-03-20 11:12:29 +02:00
Yuri Kuznetsov e321d61237 dynamlic logic builder not fix 2025-03-20 10:04:30 +02:00
Yuri Kuznetsov 678b3bb47d comment 2025-03-20 09:39:00 +02:00
Yuri Kuznetsov 489a5befde ref 2025-03-20 08:40:55 +02:00
Yuri Kuznetsov c0a16d8b7c cleanup 2025-03-19 19:01:00 +02:00
Yuri Kuznetsov 2ce99b3702 order applier acl manager 2025-03-19 15:11:36 +02:00
Yuri Kuznetsov 8008741e35 order field access check 2025-03-19 14:54:45 +02:00
Yuri Kuznetsov 47edd2215f Merge branch 'fix' 2025-03-19 14:32:41 +02:00
Yuri Kuznetsov 91740192d2 order disabled api key 2025-03-19 14:30:49 +02:00
Yuri Kuznetsov bd900d0b48 disable order 2025-03-19 14:29:22 +02:00
Yuri Kuznetsov ca5aa8edf0 remove no random_bytes fallback 2025-03-19 13:55:15 +02:00
Yuri Kuznetsov 81937ca606 secure froendend password generation 2 2025-03-19 13:25:16 +02:00
Yuri Kuznetsov ba15bf8d7e secure frontend password generation 2025-03-19 13:19:52 +02:00
Yuri Kuznetsov e529a72a00 test fix 2025-03-19 13:05:39 +02:00
Yuri Kuznetsov 080a7864b5 kanban createDisabled 2025-03-19 12:33:28 +02:00
Yuri Kuznetsov 3db7261c0e tooltips 2025-03-19 12:01:19 +02:00
Yuri Kuznetsov bb47ab3261 Merge branch 'fix' 2025-03-19 11:21:59 +02:00
Yuri Kuznetsov 0ae0365ee5 9.0.6 2025-03-19 11:08:06 +02:00
Yuri Kuznetsov cbcc560bd3 sanitize navbar color 2025-03-19 09:33:35 +02:00
Yuri Kuznetsov ee819fb58a lead form: use panel text 2025-03-18 18:51:07 +02:00
Yuri Kuznetsov 69eb1a1948 update package 2025-03-18 16:48:43 +02:00
Yuri Kuznetsov a71bf16c51 element check cleanup 2025-03-18 16:42:05 +02:00
Yuri Kuznetsov 2a2e0cc15d update bullbone 2025-03-18 16:36:58 +02:00
Yuri Kuznetsov fe99cf8db1 regression fix 2025-03-18 16:28:50 +02:00
Yuri Kuznetsov 5e7a089cb0 do not set person name unless all fields are present 2025-03-18 15:15:13 +02:00
Yuri Kuznetsov a198cf8c65 cs 2025-03-18 14:19:19 +02:00
Yuri Kuznetsov 57e5202a28 schema 2025-03-18 14:17:01 +02:00
Yuri Kuznetsov cf3cc2c4a5 ref 2025-03-18 14:14:53 +02:00
Yuri Kuznetsov 9eda4c48e9 style impr 2025-03-18 13:58:17 +02:00
Yuri Kuznetsov 06153536c1 cleanup 2025-03-18 13:45:25 +02:00
Yuri Kuznetsov 77fdd9e194 kb article full text search 2025-03-18 13:01:13 +02:00
Yuri Kuznetsov 0e383acfe3 jsdoc 2025-03-18 11:39:13 +02:00
Yuri Kuznetsov 9e65549eb3 select additional appliers in selectDefs 2025-03-18 11:08:12 +02:00
Yuri Kuznetsov a6c0e2aa0e ref 2025-03-18 10:53:23 +02:00
Yuri Kuznetsov 67702f5a55 orm entity: prepare decimal 2025-03-18 10:04:56 +02:00
Yuri Kuznetsov 4270a452a7 ref 2025-03-18 09:25:04 +02:00
Yuri Kuznetsov 5178d72850 currency field: fix empty decimal part when 0 decimals 2025-03-18 09:09:43 +02:00
Yuri Kuznetsov 832cfb8915 record websocket debounce 2025-03-17 18:49:22 +02:00
Yuri Kuznetsov 79cd6ad7b9 user field select primary filter 2025-03-17 18:02:34 +02:00
Yuri Kuznetsov a445c4d2a9 tab quick search order by length 2025-03-17 17:42:33 +02:00
Yuri Kuznetsov 4a1cb6a9d5 portal account contact backend default populate 2025-03-17 16:22:58 +02:00
Yuri Kuznetsov 5069547464 ref 2025-03-17 15:43:46 +02:00
Yuri Kuznetsov 335a62cb10 currency customizationOptionsReferenceDisabled 2025-03-17 15:26:40 +02:00
Yuri Kuznetsov e74e9e519b setStatus methods 2025-03-17 15:25:45 +02:00
Yuri Kuznetsov 3f8fcbcb74 clnp 2025-03-17 15:20:05 +02:00
Yuri Kuznetsov 90db4b29c4 fix 2025-03-17 13:49:36 +02:00
dependabot[bot] 8fce28df3b Bump @babel/helpers from 7.26.0 to 7.26.10 (#3314)
Bumps [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) from 7.26.0 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-helpers)

---
updated-dependencies:
- dependency-name: "@babel/helpers"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 12:06:16 +02:00
dependabot[bot] 6ac4e7ef18 Bump axios from 1.7.5 to 1.8.3 (#3313)
Bumps [axios](https://github.com/axios/axios) from 1.7.5 to 1.8.3.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.5...v1.8.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 12:04:00 +02:00
Yuri Kuznetsov 9945080bec navbar item access data list 2025-03-17 11:44:53 +02:00
Yuri Kuznetsov 7dac68b6c0 user access checker check is active 2025-03-14 17:08:17 +02:00
Yuri Kuznetsov 209e828a49 Merge branch 'fix' 2025-03-14 16:58:48 +02:00
Yuri Kuznetsov 398743fe63 remove icon class 2025-03-14 12:43:08 +02:00
Yuri Kuznetsov 92f6759591 fix task reminders handler 2025-03-14 12:42:08 +02:00
Yuri Kuznetsov 368c2fb866 9.0.5 2025-03-13 17:08:24 +02:00
Yuri Kuznetsov 985c6fb64b fix free busy service 2025-03-13 17:08:16 +02:00
Yuri Kuznetsov 9b9ec31f0f lead form control save, error fix 2025-03-13 14:38:05 +02:00
Yuri Kuznetsov 946d0137af Merge branch 'fix' 2025-03-12 15:52:01 +02:00
Yuri Kuznetsov 37d2d8cf4f navbar dropdown active bg 2025-03-12 15:51:50 +02:00
Yuri Kuznetsov 3072c2a236 fix module name usage 2025-03-11 19:35:17 +02:00
Yuri Kuznetsov a38803389c ref 2025-03-11 19:31:46 +02:00
Yuri Kuznetsov 4708cf00c0 ref 2025-03-11 19:30:19 +02:00
Yuri Kuznetsov 4d525ae8ef additional applier in kanban 2025-03-11 19:17:03 +02:00
Yuri Kuznetsov 57b69fe5a9 base field type label 2025-03-11 19:05:17 +02:00
Yuri Kuznetsov 6ee1387fcf Merge branch 'fix' 2025-03-11 19:01:26 +02:00
Yuri Kuznetsov 5cfbdb21e9 style fix 2025-03-11 19:01:15 +02:00
Yuri Kuznetsov 2abf1ccb73 base type change 2025-03-11 18:59:28 +02:00
Yuri Kuznetsov 09b977a798 custom field color 2025-03-11 14:47:10 +02:00
Yuri Kuznetsov 80fac162af field details 2025-03-11 14:19:55 +02:00
Yuri Kuznetsov c5e43e6e49 field: set read only support not ready 2025-03-11 13:10:40 +02:00
Yuri Kuznetsov 08571e805a blockquote complex text margin 2025-03-10 20:52:28 +02:00
Yuri Kuznetsov dd5691ef7f ref 2025-03-10 18:30:30 +02:00
Yuri Kuznetsov 6e43dc87f2 formula: return last expression 2025-03-10 16:17:27 +02:00
Yuri Kuznetsov 06dc8ef281 change event action 2025-03-10 13:35:16 +02:00
Yuri Kuznetsov b05b4c78e8 schema desc 2025-03-08 11:58:36 +02:00
Yuri Kuznetsov 9726d63d0b ref 2025-03-08 11:56:48 +02:00
Yuri Kuznetsov 4ca7d27d39 optimistic concurrency control: skip 2025-03-08 11:56:41 +02:00
Yuri Kuznetsov 29b2304b25 bottom panels first tab select impr 2025-03-07 19:38:54 +02:00
Yuri Kuznetsov 8bca3b2113 jsdoc 2025-03-07 18:07:42 +02:00
Yuri Kuznetsov 7181d7196f ref 2025-03-07 13:28:31 +02:00
Yuri Kuznetsov 28ebc6ea81 ref 2025-03-07 12:36:18 +02:00
Yuri Kuznetsov f3c4e631cd ref 2025-03-07 11:46:21 +02:00
Yuri Kuznetsov da14a41387 duration focus after update fix 2025-03-06 14:12:50 +02:00
Yuri Kuznetsov cc14c69a5e duration focus after update fix 2025-03-06 13:56:00 +02:00
Yuri Kuznetsov 5ae385527b default preparator: use account contact links 2025-03-06 10:19:26 +02:00
Yuri Kuznetsov b6aec6360b dynamic logic render deleted 2025-03-05 11:33:24 +02:00
Yuri Kuznetsov 5a5528f78f command.php add DIR 2025-03-05 11:09:35 +02:00
Yuri Kuznetsov a3f11919c9 control label no select 2025-03-05 09:51:58 +02:00
Yuri Kuznetsov 3847afc50f view user access for acl entities 2025-03-05 09:50:17 +02:00
Yuri Kuznetsov a3e7f5c5fa websocket ref 2025-03-03 10:03:02 +02:00
Yuri Kuznetsov 1fe2c74691 dropdown fix 2025-03-02 13:13:48 +02:00
Yuri Kuznetsov 7b5789e44c parent field get select layout method 2025-03-02 12:36:10 +02:00
Yuri Kuznetsov 61e03fd12a field editCancel set option & skipReRenderInEditMode 2025-03-01 17:38:39 +02:00
Yuri Kuznetsov 5f6bd7b748 currency converter forbidden exception 2025-03-01 11:55:39 +02:00
Yuri Kuznetsov 1e9a59f084 starred style change 2025-03-01 10:36:05 +02:00
Yuri Kuznetsov 9e11cecfa5 text field list enter impr 2025-03-01 09:42:02 +02:00
Yuri Kuznetsov 8a76e70fcb add exit code 2025-02-28 19:24:54 +02:00
Yuri Kuznetsov 92e4d03495 1 exit code on upgrade failure 2025-02-28 18:55:29 +02:00
Yuri Kuznetsov a9d059c0df comment 2025-02-27 20:44:41 +02:00
Yuri Kuznetsov 2b14e11259 fix text height 2025-02-27 20:41:18 +02:00
Yuri Kuznetsov 50cde83341 note post to label 2025-02-27 20:37:40 +02:00
Yuri Kuznetsov 0283f781d7 cs 2025-02-27 20:31:23 +02:00
Yuri Kuznetsov ddd54c321e Merge branch 'fix' 2025-02-27 20:21:41 +02:00
Yuri Kuznetsov 01a40e311d link parent getSelectFilters for autocomplete 2025-02-27 17:46:11 +02:00
Yuri Kuznetsov 6209733497 wysiwyg iframe sandbox 2025-02-26 21:51:59 +02:00
Yuri Kuznetsov 5e37bc2d62 Merge branch 'fix' 2025-02-26 21:24:45 +02:00
Yuri Kuznetsov 8477416063 sandbox=allow-scripts 2025-02-26 21:03:29 +02:00
Yuri Kuznetsov 5020c132b5 cal getAdditionalActionList for user 2025-02-26 14:06:09 +02:00
Yuri Kuznetsov b70a354556 label changes 2025-02-25 10:33:35 +02:00
Yuri Kuznetsov 92f5afef3c options layout changes 2025-02-25 10:31:10 +02:00
Yuri Kuznetsov 9a407eef6d include shared dashlet parameter 2025-02-25 10:24:17 +02:00
Yuri Kuznetsov e635a28f16 layout mass update filter fields 2025-02-24 21:57:17 +02:00
Yuri Kuznetsov adbed86617 cleanup 2025-02-24 18:40:30 +02:00
Yuri Kuznetsov eb556b978b campaign informational email 2025-02-24 18:08:48 +02:00
Yuri Kuznetsov 5b1647a42f campaign ref 2025-02-24 15:46:25 +02:00
Yuri Kuznetsov 153c09f282 mass email: skip for inactive campaign 2025-02-24 15:05:53 +02:00
Yuri Kuznetsov 8350bebb50 opportunity probability allow empty 2025-02-24 13:43:08 +02:00
Yuri Kuznetsov 75e5701a3b ref 2025-02-24 13:40:47 +02:00
Yuri Kuznetsov eb7ca6188c ref 2025-02-24 13:22:56 +02:00
Yuri Kuznetsov e80a885208 ref 2025-02-24 13:19:19 +02:00
Yuri Kuznetsov b1076ba1bd full text search for cases 2025-02-24 13:10:35 +02:00
Yuri Kuznetsov ed281abd92 cs 2025-02-24 13:06:45 +02:00
Yuri Kuznetsov e63111c93f list column adjust width if greater than 100 2025-02-24 12:54:28 +02:00
Yuri Kuznetsov e87ba0c4e1 ref 2025-02-23 18:40:36 +02:00
Yuri Kuznetsov 79f7243e70 ref 2025-02-23 18:21:22 +02:00
Yuri Kuznetsov b19f148ee8 ref 2025-02-23 17:56:51 +02:00
Yuri Kuznetsov 4ee79811bc ref 2025-02-23 17:08:31 +02:00
Yuri Kuznetsov e79e9d6ce1 ref 2025-02-23 15:05:29 +02:00
Yuri Kuznetsov ddae4383dd jsdoc 2025-02-23 10:47:23 +02:00
Yuri Kuznetsov 683751ac0c cleanup 2025-02-23 10:11:03 +02:00
Yuri Kuznetsov 8407d27ea0 entity param 2025-02-23 10:10:31 +02:00
Yuri Kuznetsov 4126b99a7b ref 2025-02-23 10:10:23 +02:00
Yuri Kuznetsov 69003eae7f ref 2025-02-22 21:57:27 +02:00
Yuri Kuznetsov ec5e173e40 ref 2025-02-22 20:11:38 +02:00
Yuri Kuznetsov 06603bd2b3 chart no user select 2025-02-22 13:26:31 +02:00
Yuri Kuznetsov 11263671b2 fix 2025-02-22 12:21:18 +02:00
Yuri Kuznetsov e9f0880f01 dropdown up fix 2025-02-22 11:46:41 +02:00
Yuri Kuznetsov 2fac2328d0 ref 2025-02-22 11:25:55 +02:00
Yuri Kuznetsov 3ef7382ab0 jsdoc 2025-02-22 10:28:24 +02:00
Yuri Kuznetsov fb4379ea34 search manager ref 2025-02-22 10:27:24 +02:00
Yuri Kuznetsov e7bea7e7fe ref, types 2025-02-22 09:28:03 +02:00
Yuri Kuznetsov 20ea95238b onMassSelect 2025-02-22 09:15:28 +02:00
Yuri Kuznetsov 1098540ae4 ref 2025-02-22 09:03:34 +02:00
Yuri Kuznetsov 3ae31f6341 ref 2025-02-22 08:42:58 +02:00
Yuri Kuznetsov 014c6a3b73 ref 2025-02-21 20:31:06 +02:00
Yuri Kuznetsov 65f9cd35c9 ref 2025-02-21 19:02:23 +02:00
Yuri Kuznetsov 324bc26e1e ref 2025-02-21 18:42:26 +02:00
Yuri Kuznetsov 234ff55376 ref 2025-02-21 17:58:19 +02:00
Yuri Kuznetsov e13f79134e ref 2025-02-21 17:50:23 +02:00
Yuri Kuznetsov f78ca003d2 ref 2025-02-21 17:40:23 +02:00
Yuri Kuznetsov d7460a9e0a ref 2025-02-21 17:29:38 +02:00
Yuri Kuznetsov 85a98326fe ref 2025-02-21 17:07:39 +02:00
Yuri Kuznetsov 5d1584ce83 timeline animate refresh 2025-02-21 16:46:24 +02:00
Yuri Kuznetsov 5f02605aca ref 2025-02-21 16:43:48 +02:00
Yuri Kuznetsov b3b1441510 jsdoc fix 2025-02-21 16:40:13 +02:00
Yuri Kuznetsov 84ba790ef9 fix collection trigger sync 2025-02-21 16:37:29 +02:00
Yuri Kuznetsov de93e83abe ref 2025-02-21 16:33:43 +02:00
Yuri Kuznetsov 1bcb8349de ref 2025-02-21 16:22:06 +02:00
Yuri Kuznetsov dc527c2cf6 ref 2025-02-21 16:15:12 +02:00
Yuri Kuznetsov 71daa4ce2f ref 2025-02-21 16:06:36 +02:00
Yuri Kuznetsov a13710e9d2 ref 2025-02-21 15:37:31 +02:00
Yuri Kuznetsov bf2e7ac236 ref 2025-02-21 15:34:30 +02:00
Yuri Kuznetsov 72120f262d ref 2025-02-21 15:31:40 +02:00
Yuri Kuznetsov 6cde07a75b ref 2025-02-21 14:43:39 +02:00
Yuri Kuznetsov 42213789ba ref 2025-02-21 14:41:00 +02:00
Yuri Kuznetsov 598655ef33 ref 2025-02-21 14:20:32 +02:00
Yuri Kuznetsov b247b00bd7 list sync keep modal 2025-02-21 14:02:58 +02:00
Yuri Kuznetsov d39a732d17 ref 2025-02-21 13:40:50 +02:00
Yuri Kuznetsov 86e2e39772 cleanup 2025-02-21 13:16:20 +02:00
Yuri Kuznetsov 6405ab2b17 ref 2025-02-21 12:58:59 +02:00
Yuri Kuznetsov cbbde8af9b ref 2025-02-21 12:29:14 +02:00
Yuri Kuznetsov 2c4779a98c notifyWait usage 2025-02-21 12:07:36 +02:00
Yuri Kuznetsov b465faf936 remove related from list related 2025-02-21 12:04:13 +02:00
Yuri Kuznetsov a0a801a7c7 list related full refresh 2025-02-21 12:01:09 +02:00
Yuri Kuznetsov 2863654f8f edit modal helper ref 2025-02-21 11:50:46 +02:00
Yuri Kuznetsov 717869d0da npm run commands 2025-02-20 21:28:13 +02:00
Yuri Kuznetsov 115465f017 schema 2025-02-20 21:17:54 +02:00
Yuri Kuznetsov 738f483aef integration populate defaults on rebuild 2025-02-20 21:12:11 +02:00
Yuri Kuznetsov f7e782f081 ref Integration entity 2025-02-20 21:08:29 +02:00
Yuri Kuznetsov 2214c70b2b jsdoc, ref, modal afterExpand 2025-02-20 18:46:01 +02:00
Yuri Kuznetsov 7f4bc6f952 setInContainerNotWritten 2025-02-20 17:39:20 +02:00
Yuri Kuznetsov bf28abc4ca email: do not re-add users on save 2025-02-20 16:56:47 +02:00
Yuri Kuznetsov 963b9e9e59 entity get fetched link multiple id list 2025-02-20 16:49:37 +02:00
Yuri Kuznetsov 8a8de30949 ref 2025-02-20 16:08:54 +02:00
Yuri Kuznetsov cee67cbd97 ref 2025-02-20 15:24:31 +02:00
Yuri Kuznetsov d60d834a65 cleanup 2025-02-20 14:09:20 +02:00
Yuri Kuznetsov c1a10bf926 nameAttribute param 2025-02-20 13:20:26 +02:00
Yuri Kuznetsov a1dd707315 dropdown up 2025-02-20 12:47:47 +02:00
Yuri Kuznetsov 60d778bcb1 ref 2025-02-20 11:38:43 +02:00
Yuri Kuznetsov d6291b03e3 ref 2025-02-20 11:10:19 +02:00
Yuri Kuznetsov 24b5b94d63 ref 2025-02-20 11:07:07 +02:00
Yuri Kuznetsov 85d4f6f304 ref 2025-02-20 10:59:12 +02:00
Yuri Kuznetsov da2c80b4fc jsdocs 2025-02-20 10:48:50 +02:00
Yuri Kuznetsov 18a91d633d ref 2025-02-20 10:47:13 +02:00
Yuri Kuznetsov 65ec35f4dd cleanup 2025-02-20 10:41:14 +02:00
Yuri Kuznetsov 515e388521 see more after stream post 2025-02-19 19:43:05 +02:00
Yuri Kuznetsov b9037b9a52 ref 2025-02-19 19:29:13 +02:00
Yuri Kuznetsov 0bf7bcb204 whitespace fix 2025-02-19 18:50:14 +02:00
Yuri Kuznetsov bec4a188a3 css fix 2025-02-19 18:47:35 +02:00
Yuri Kuznetsov df6b5ae043 model-sync set 2025-02-19 18:04:46 +02:00
Yuri Kuznetsov e29d0959c4 page content width param 2025-02-19 13:27:03 +02:00
Yuri Kuznetsov cce73a8c32 ref 2025-02-19 12:13:48 +02:00
Yuri Kuznetsov eee9d37c97 Merge branch 'master' of https://github.com/espocrm/espocrm 2025-02-19 12:00:34 +02:00
Yuri Kuznetsov 4b983afc5c middle dot usage 2025-02-19 12:00:24 +02:00
Yuri Kuznetsov 3a1dd252e1 Merge branch 'fix' 2025-02-19 11:55:01 +02:00
Yuri Kuznetsov c2d7bc818e do no show last dropdown divider 2025-02-19 11:41:35 +02:00
Andrew Fontana 732a4a24e6 Fix typo AccessChecker.php (#3289)
Was using capital I in getLinkMultipleIdList.
2025-02-19 08:29:30 +02:00
Yuri Kuznetsov 64e3cd23ad Merge branch 'fix' 2025-02-18 09:31:39 +02:00
Yuri Kuznetsov aca48f024d fix dynamic logic string ui 2025-02-18 09:23:59 +02:00
Yuri Kuznetsov 9b0549a762 foreign fields setup fix 2025-02-17 21:32:29 +02:00
Yuri Kuznetsov b0681b89ea multi enum ui impr 2025-02-17 17:35:48 +02:00
Yuri Kuznetsov 2182cf6a89 multi-select dropdown items style 2025-02-17 17:00:15 +02:00
Yuri Kuznetsov 2e13d48518 multi-enum option style 2025-02-17 16:32:10 +02:00
Yuri Kuznetsov 841e570e57 multi select do not increase height on drag 2025-02-17 15:14:39 +02:00
Yuri Kuznetsov 1a08df7824 Merge branch 'fix' 2025-02-17 15:02:21 +02:00
Yuri Kuznetsov 3f0140c716 dashlet auto refresh no notify 2025-02-17 14:53:02 +02:00
Yuri Kuznetsov 38a9c69bde Merge branch 'fix' 2025-02-17 11:17:02 +02:00
Yuri Kuznetsov 3366a27575 metadata additional fields not customizable fix 2025-02-17 11:08:24 +02:00
Yuri Kuznetsov a93ba33e92 cleanup 2025-02-17 10:42:00 +02:00
Yuri Kuznetsov 80c5decee8 list to detail collection cloning and sync 2025-02-16 20:00:18 +02:00
Yuri Kuznetsov 21b84c9f36 ref, jsdoc 2025-02-16 18:59:45 +02:00
Yuri Kuznetsov 970966e4c5 edit header ref 2025-02-16 18:04:51 +02:00
Yuri Kuznetsov 4336344d40 full refresh on header title click 2025-02-16 17:57:03 +02:00
Yuri Kuznetsov fe9740e3eb ref 2025-02-16 17:37:12 +02:00
Yuri Kuznetsov 7581942b0c ref 2025-02-16 16:59:32 +02:00
Yuri Kuznetsov 5dfab7e325 ref 2025-02-16 16:48:59 +02:00
Yuri Kuznetsov e93f338a9e jsdocs 2025-02-16 16:47:00 +02:00
Yuri Kuznetsov d1b3afdd01 clone model on list to detail 2025-02-16 16:45:22 +02:00
Yuri Kuznetsov 054fde7288 suppress inspection 2025-02-16 16:33:06 +02:00
Yuri Kuznetsov f887d05d5e Merge branch 'fix' 2025-02-16 16:31:00 +02:00
Yuri Kuznetsov 09dea0be01 refresh panel and dashlet notify 2025-02-16 14:39:32 +02:00
Yuri Kuznetsov 40157bcb8c strip html in notification message 2025-02-16 14:08:56 +02:00
Yuri Kuznetsov e0e80c5a56 trigger change on control+enter save 2025-02-15 16:55:44 +02:00
Yuri Kuznetsov 926a052e99 update dependencies 2025-02-15 15:11:54 +02:00
Yuri Kuznetsov a7d10ae9d6 update summernote 2025-02-15 15:09:40 +02:00
Yuri Kuznetsov 0757ebf520 update dom purify 2025-02-15 14:59:05 +02:00
Yuri Kuznetsov 20479cdcab Merge branch 'fix' 2025-02-15 14:53:57 +02:00
Yuri Kuznetsov 1954efd7e0 tab search improve 2025-02-14 22:52:33 +02:00
Yuri Kuznetsov cb34377363 formula field style impr 2025-02-14 16:18:13 +02:00
Yuri Kuznetsov 2e9437572d fix list tree where 2025-02-14 13:15:26 +02:00
Yuri Kuznetsov 0e639ef6a8 fix docs 2025-02-14 12:03:57 +02:00
Yuri Kuznetsov 5c7467e4bf select related create fix 2025-02-14 12:00:35 +02:00
Yuri Kuznetsov b9b71b2015 calendar month title fix 2025-02-13 21:21:20 +02:00
Yuri Kuznetsov 50b7f2cf30 rename 2025-02-12 13:41:30 +02:00
Yuri Kuznetsov cf20fe65cc fix test 2025-02-12 13:40:29 +02:00
Yuri Kuznetsov a676f26c36 mail config data provider 2025-02-12 13:35:19 +02:00
Yuri Kuznetsov 8ba7fdfa85 ref 2025-02-12 13:23:27 +02:00
Yuri Kuznetsov f81861df19 update ubuntu 2025-02-12 13:08:20 +02:00
Yuri Kuznetsov 1d6f654c2f collection methods 2025-02-12 12:43:31 +02:00
Yuri Kuznetsov 67df53dda8 throw not found, not error 2025-02-12 11:32:08 +02:00
Yuri Kuznetsov 11bc32ab8a cleanup 2025-02-12 11:24:27 +02:00
Yuri Kuznetsov f5610bbdb4 modal maximize focus 2025-02-12 11:13:36 +02:00
Yuri Kuznetsov 24cd1b3c5d image number muted text 2025-02-12 11:03:26 +02:00
Yuri Kuznetsov 48c2bda539 cleanup 2025-02-12 10:57:20 +02:00
Yuri Kuznetsov 7888f5ca74 image number 2025-02-12 10:57:10 +02:00
Yuri Kuznetsov 1dfdb261e1 image preview ref 2025-02-12 10:25:45 +02:00
Yuri Kuznetsov 7b0217be6a cleanup 2025-02-12 09:34:37 +02:00
Yuri Kuznetsov bab9140ef2 fit image on maximize 2025-02-11 21:18:50 +02:00
Yuri Kuznetsov ddee6815af full screen image modal 2025-02-11 20:31:01 +02:00
Yuri Kuznetsov 4e9dbc98e3 image/avif 2025-02-11 19:06:34 +02:00
Yuri Kuznetsov c313e72f75 target list categories 2025-02-11 18:45:46 +02:00
Yuri Kuznetsov e0c84e007c client page theme, lead form theme 2025-02-11 15:35:00 +02:00
Yuri Kuznetsov fe2f15c576 webhook: skip version number 2025-02-11 14:27:27 +02:00
Yuri Kuznetsov 87ef57eb29 client page custom title, lead form custom title 2025-02-11 14:23:00 +02:00
Yuri Kuznetsov 6f75dd3dbe cleanup 2025-02-11 13:11:19 +02:00
Yuri Kuznetsov 1d45e6d839 Merge branch 'fix' 2025-02-11 13:08:41 +02:00
Yuri Kuznetsov 87875c1a7f task reminder re-appearing fix 2025-02-11 13:08:32 +02:00
Yuri Kuznetsov 8d6e8f2610 optimistic concurrency control improvement and ref 2025-02-11 12:54:33 +02:00
Yuri Kuznetsov fe81fd3549 ref 2025-02-11 11:44:46 +02:00
Yuri Kuznetsov fbfa219615 resolve conflict: improve ui 2025-02-11 11:39:41 +02:00
Yuri Kuznetsov 1e1ee6ba8c enable concurrency writing control for some entity types 2025-02-11 11:30:33 +02:00
Yuri Kuznetsov c51bb22822 ref 2025-02-11 11:28:13 +02:00
Yuri Kuznetsov 7c32b525a3 entity manager: rebuild on reset to default 2025-02-11 11:21:56 +02:00
Yuri Kuznetsov b242119e00 varcha field: any of, none of filters 2025-02-10 18:48:20 +02:00
Yuri Kuznetsov ecf90a3941 navbar tabs: remove last dividers 2025-02-10 17:16:46 +02:00
Yuri Kuznetsov c97ba58dcb Merge branch 'fix' 2025-02-10 16:59:27 +02:00
Yuri Kuznetsov e802ceea86 markdown: disable header ids 2025-02-10 16:59:13 +02:00
Yuri Kuznetsov 280accd9ad complex text style changes 2025-02-10 16:57:31 +02:00
Yuri Kuznetsov f59122254d case & task description height 2025-02-10 16:36:48 +02:00
Yuri Kuznetsov 137b6fcff7 text field: show more after editing 2025-02-10 16:31:51 +02:00
Yuri Kuznetsov 44b9f60478 text field: prevent unwanted scroll on enter 2025-02-10 16:25:10 +02:00
Yuri Kuznetsov a34c0ff776 Merge branch 'fix' 2025-02-10 16:14:14 +02:00
Yuri Kuznetsov 4dfce57bd1 css fix 2025-02-10 10:25:44 +02:00
Yuri Kuznetsov 9c45642d79 Merge branch 'stable' 2025-02-09 23:00:16 +02:00
Yuri Kuznetsov bfd1ff5fa7 9.0.4 2025-02-09 22:51:15 +02:00
Yuri Kuznetsov 2322b2d1da fix empty group tab causing js error 2025-02-09 22:51:04 +02:00
Yuri Kuznetsov b8dc4e2dcd collection maxSize option 2025-02-09 12:17:41 +02:00
Yuri Kuznetsov e4959e0c38 cleanup 2025-02-08 15:18:50 +02:00
Yuri Kuznetsov dbafd6ba4d ORM: Mapper relate return false if no row affected 2025-02-08 15:16:43 +02:00
Yuri Kuznetsov 0f1057a6cf Merge branch 'fix' 2025-02-08 14:55:23 +02:00
Yuri Kuznetsov 88b0479366 field: fromView set option 2025-02-08 09:35:11 +02:00
Yuri Kuznetsov 4ce40dd85c markdown list items erase empty 2025-02-07 22:59:06 +02:00
Yuri Kuznetsov bf2813c241 Merge branch 'fix' 2025-02-07 22:43:03 +02:00
Yuri Kuznetsov cf4045faec disable code ligatures 2025-02-07 22:42:51 +02:00
Yuri Kuznetsov 6349db3122 text field markdown line syntax helper 2025-02-07 22:05:46 +02:00
Yuri Kuznetsov 62c7af7b38 style from options reference 2025-02-07 20:14:46 +02:00
Yuri Kuznetsov 6ab55fcd22 return static 2025-02-07 19:56:42 +02:00
Yuri Kuznetsov 947f049893 init systemConfig 2025-02-07 19:53:50 +02:00
Yuri Kuznetsov 71cbbbe556 Merge branch 'fix' 2025-02-07 19:40:59 +02:00
Yuri Kuznetsov bfc5e8054d cleanup 2025-02-07 15:26:58 +02:00
Yuri Kuznetsov 62a290c197 frontend portal acl: use accountLink and contactLink 2025-02-07 15:21:14 +02:00
Yuri Kuznetsov b2ee92d606 fix test 2025-02-07 14:30:08 +02:00
Yuri Kuznetsov b68100df38 skip version check if @@version 2025-02-07 14:12:48 +02:00
Yuri Kuznetsov 41b8bb0acc config services 2025-02-07 14:05:08 +02:00
Yuri Kuznetsov 1b52f3ca3e ref 2025-02-07 13:55:28 +02:00
Yuri Kuznetsov 8ff6c8bd03 Merge branch 'fix' 2025-02-07 13:53:31 +02:00
Yuri Kuznetsov ed249366f9 bundles changes 2025-02-06 20:47:08 +02:00
Yuri Kuznetsov ed9cb77bba use bfcache 2025-02-06 12:56:23 +02:00
Yuri Kuznetsov 6ad1d917bd Merge branch 'master' of https://github.com/espocrm/espocrm 2025-02-06 11:05:07 +02:00
Yuri Kuznetsov e5c24a5fdc Merge branch 'stable' 2025-02-06 11:04:54 +02:00
Yuri Kuznetsov 15d771e2a8 9.0.3 2025-02-06 10:54:11 +02:00
Yuri Kuznetsov b38bd4bc1c style fix 2025-02-06 10:54:00 +02:00
Yuri Kuznetsov b35efdaec5 merge relationship columns 2025-02-06 10:40:49 +02:00
Yuri Kuznetsov bdf81780f1 schema 2025-02-06 10:10:14 +02:00
Yuri Kuznetsov db030173e2 ref 2025-02-06 09:52:12 +02:00
Yuri Kuznetsov aced5f2d5d htmlizer: fix fallback 2025-02-05 13:28:59 +02:00
Yuri Kuznetsov 59c06302a1 htmlizer: apply encoding before manipulating dom 2025-02-05 13:10:13 +02:00
Yuri Kuznetsov ba64637e6f disable dynamic logic visible for users field 2025-02-05 12:52:31 +02:00
Yuri Kuznetsov 574a1f8d6a top navbar resize fix 2025-02-05 12:43:02 +02:00
Yuri Kuznetsov d93bc73f13 userdata provider 2025-02-04 16:00:03 +02:00
Yuri Kuznetsov 293cc6d775 fix jsdoc 2025-02-04 15:26:11 +02:00
Yuri Kuznetsov e7539d4930 no error text when error label 2025-02-04 11:21:47 +02:00
Yuri Kuznetsov 53ade3bd23 panel with empty list-container no padding 2025-02-04 10:37:45 +02:00
Yuri Kuznetsov 1991adc48e mail parser: fallback to message-$i file name 2025-02-03 21:38:13 +02:00
dependabot[bot] a6dd1d9db0 Bump phpoffice/phpspreadsheet from 1.29.8 to 1.29.9 (#3262)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.29.8 to 1.29.9.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.9/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.29.8...1.29.9)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 18:44:39 +02:00
Yuri Kuznetsov 28694059c2 records dashlet: row actions in metadata 2025-02-03 16:57:13 +02:00
Yuri Kuznetsov bd13d45207 fix record tree entity removal when no real subject used 2025-02-02 13:59:05 +02:00
Yuri Kuznetsov abd9fb9985 free email domain checker inerface and implementation 2025-02-01 17:52:23 +02:00
Yuri Kuznetsov b334da55ed fix comment 2025-02-01 13:44:01 +02:00
Yuri Kuznetsov c6c2d5a0d9 ref 2025-02-01 12:56:13 +02:00
Yuri Kuznetsov fc89a1bdf6 Merge branch 'fix' 2025-02-01 12:47:20 +02:00
Yuri Kuznetsov 4ab929dc93 deleteFromDb not depreacted 2025-02-01 12:46:12 +02:00
Yuri Kuznetsov c7a56b5c38 rename label 2025-01-31 21:27:00 +02:00
Yuri Kuznetsov 80c7c12361 lead form autocompletion 2025-01-31 21:19:58 +02:00
Yuri Kuznetsov 489f71ea47 getVersion method 2025-01-31 21:09:21 +02:00
Yuri Kuznetsov 029331b3b7 Merge branch 'fix' 2025-01-31 21:01:39 +02:00
Yuri Kuznetsov 70aba2ec52 system config 2025-01-31 21:00:55 +02:00
Yuri Kuznetsov ed0b8b4758 fix schema 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov 251fb2cd49 phone number international validator class 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov 0dc5b8282a larger gap above bottom panels if tabs in recird middle 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov d5eb165ea4 no user select on control label 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov 9d4b39c1f7 one time code autocomplete param 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov c3dda027bf form 500px width, sticky button centered 2025-01-31 21:00:54 +02:00
Yuri Kuznetsov 5e2b841ae2 fix schema 2025-01-30 22:16:19 +02:00
Yuri Kuznetsov 324dab780d phone number international validator class 2025-01-30 17:04:25 +02:00
Yuri Kuznetsov ba166c86c4 larger gap above bottom panels if tabs in recird middle 2025-01-30 12:09:53 +02:00
Yuri Kuznetsov 3e08e8f166 no user select on control label 2025-01-30 11:56:09 +02:00
Yuri Kuznetsov 685069a761 one time code autocomplete param 2025-01-30 08:56:34 +02:00
Yuri Kuznetsov c152c399bd form 500px width, sticky button centered 2025-01-27 22:19:06 +02:00
dependabot[bot] 0307e9752d Bump phpoffice/phpspreadsheet from 1.29.7 to 1.29.8 (#3256)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.29.7 to 1.29.8.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.8/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.29.7...1.29.8)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 18:24:53 +02:00
Yuri Kuznetsov c5ff0197bb 9.0.2 2025-01-27 17:43:51 +02:00
Yuri Kuznetsov 2417dbf7de fix role translation 2025-01-27 14:48:05 +02:00
Yuri Kuznetsov 4f97358b2f notNull schema 2025-01-27 13:30:58 +02:00
Yuri Kuznetsov 3244347b71 schema 2025-01-27 10:22:27 +02:00
Yuri Kuznetsov 54be896942 fix meeting users avatar 2025-01-27 09:15:01 +02:00
Yuri Kuznetsov 8f690966fc color fixes 2025-01-25 19:16:35 +02:00
Yuri Kuznetsov bccf348b7e color fix 2025-01-25 12:31:52 +02:00
Yuri Kuznetsov b02c3d8d9b color fix 2025-01-25 12:26:31 +02:00
Yuri Kuznetsov 39e29a9d02 before script ignore custom vendor 2025-01-25 09:24:06 +02:00
Yuri Kuznetsov 26b1be00e8 record grid adjust percentage 2025-01-24 21:18:56 +02:00
Yuri Kuznetsov aff531e62b schema docs 2025-01-24 13:50:40 +02:00
Yuri Kuznetsov e8de15e548 fix label 2025-01-24 10:57:41 +02:00
Yuri Kuznetsov 03cd76fff5 base controller error actions 2025-01-24 10:56:46 +02:00
Yuri Kuznetsov 4750313d37 task handler show hide reminders 2025-01-23 13:23:40 +02:00
Yuri Kuznetsov 0c1a310329 btn icon style fix 2025-01-23 12:46:45 +02:00
Yuri Kuznetsov 78e2e8b927 9.0.1 2025-01-22 19:36:59 +02:00
Yuri Kuznetsov bfcbbc4388 fix datepicker min date 2025-01-22 16:51:47 +02:00
Yuri Kuznetsov 52af8e27dd web form: pre-set required 2025-01-22 16:42:54 +02:00
Yuri Kuznetsov eb948ea53e dompdf add meta tag 2025-01-22 16:19:34 +02:00
Yuri Kuznetsov ee314b4374 checkboxesAreDisabled check 2025-01-21 16:32:30 +02:00
Yuri Kuznetsov 6b1a844fea jsdoc fix 2025-01-21 14:06:06 +02:00
Yuri Kuznetsov c9c09aab77 total count no select 2025-01-21 12:35:00 +02:00
Yuri Kuznetsov 285f5191c2 margin classes 2025-01-21 12:11:36 +02:00
Yuri Kuznetsov e5a39cd134 fix path 2025-01-20 19:59:50 +02:00
Yuri Kuznetsov 33460b42a7 ignore Sales module in before upgrade script 2025-01-20 19:58:28 +02:00
Yuri Kuznetsov 0bd0ce057d cs 2025-01-20 19:49:33 +02:00
Yuri Kuznetsov e63ec875db jsdoc fix 2025-01-20 17:06:58 +02:00
Yuri Kuznetsov edc39c229c job list small layout 2025-01-19 20:15:45 +02:00
Yuri Kuznetsov 90b34289c3 nl lang 2025-01-19 18:35:18 +02:00
Yuri Kuznetsov 4e345bb74d it lang 2025-01-19 18:34:53 +02:00
Yuri Kuznetsov d2f5ce4aa9 de lang 2025-01-19 18:34:16 +02:00
Yuri Kuznetsov 7ab66eb33b bg lang 2025-01-19 18:33:48 +02:00
Andrew Fontana 22dc544a20 Italian templates (#3246) 2025-01-19 18:29:15 +02:00
Yuri Kuznetsov c6f9250d85 invitation dateStartFull 2025-01-19 10:34:15 +02:00
Yuri Kuznetsov 400a92c2a3 add timeZone to invitation templates 2025-01-18 19:13:19 +02:00
Yuri Kuznetsov 56264e10c9 invitation custom email address 2025-01-17 22:25:11 +02:00
Yuri Kuznetsov 982df272d5 ref 2025-01-17 22:10:18 +02:00
Yuri Kuznetsov 7022be3636 unixTimestamp expr 2025-01-17 17:05:56 +02:00
Yuri Kuznetsov fc213f245c after delete navigate to root url 2025-01-17 09:44:25 +02:00
Yuri Kuznetsov a1db521a1e do not use DATE in cleanup 2025-01-16 18:14:45 +02:00
Yuri Kuznetsov e3003e4fd9 css class 2025-01-16 15:29:36 +02:00
Yuri Kuznetsov 61754c28ed add email to inbox skip notify self 2025-01-16 13:25:38 +02:00
Yuri Kuznetsov fa5a977b47 my activities: include shared param 2025-01-15 13:02:37 +02:00
Yuri Kuznetsov 5928649bfd template manager panel 2025-01-15 12:21:26 +02:00
Yuri Kuznetsov d644adec87 initation: timeZone placeholder 2025-01-15 11:55:08 +02:00
Yuri Kuznetsov 980b1cc401 css.escape usage 2025-01-14 20:45:13 +02:00
Yuri Kuznetsov a0c0b7cd57 oauth debug 2025-01-14 15:03:42 +02:00
Yuri Kuznetsov 8675478b0a join url default null 2025-01-14 13:44:01 +02:00
Yuri Kuznetsov c021466de9 hide create from view activities in modal 2025-01-14 13:01:20 +02:00
Yuri Kuznetsov 758430ad38 meeting: join url field 2025-01-14 12:49:19 +02:00
Yuri Kuznetsov 865f72dbc5 oauth handle response fix 2025-01-14 10:58:57 +02:00
Yuri Kuznetsov 3b88dfb7c7 oauth client support lowercase token type 2025-01-14 10:53:31 +02:00
Yuri Kuznetsov 900a38792a oauth token type, auth type params 2025-01-13 16:15:48 +02:00
Taras Machyshyn 47942ceae9 Upgrade script fixes 2025-01-13 16:11:45 +02:00
Taras Machyshyn 059464e02b Upgrade script fixes 2025-01-13 16:05:22 +02:00
Yuri Kuznetsov 45f1c4ac38 oauth abstract, get ping url not implemented, not abstract 2025-01-13 15:06:11 +02:00
Yuri Kuznetsov 1d6f8ef671 list: take into account hidden if no settings available 2025-01-12 10:06:32 +02:00
dependabot[bot] 3ca8918879 Bump nesbot/carbon from 2.72.5 to 2.72.6 (#3243)
Bumps [nesbot/carbon](https://github.com/briannesbitt/Carbon) from 2.72.5 to 2.72.6.
- [Release notes](https://github.com/briannesbitt/Carbon/releases)
- [Commits](https://github.com/briannesbitt/Carbon/compare/2.72.5...2.72.6)

---
updated-dependencies:
- dependency-name: nesbot/carbon
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-10 16:15:57 +02:00
Yuri Kuznetsov f5deaf2e83 fix docs 2025-01-10 15:35:43 +02:00
Yuri Kuznetsov ccc4d9574a email received no expand in notification 2025-01-10 13:17:19 +02:00
Yuri Kuznetsov 00060ef89c cleanup 2025-01-10 12:55:24 +02:00
Yuri Kuznetsov 2a1f18612a link-multiple list link template 2025-01-10 12:55:17 +02:00
Yuri Kuznetsov 6adad023dd read only dynamic logic conflict fix 2025-01-10 12:42:30 +02:00
Yuri Kuznetsov 392c245d34 ref 2025-01-10 12:37:51 +02:00
Yuri Kuznetsov d329d037e6 relation find return type change 2025-01-09 20:42:20 +02:00
Yuri Kuznetsov ce4742e553 panel footer color 2025-01-09 17:16:10 +02:00
Yuri Kuznetsov 92d48f2ada cleanup 2025-01-09 12:32:30 +02:00
Yuri Kuznetsov d8249c449b email body html to plain fix 2025-01-09 12:31:30 +02:00
Yuri Kuznetsov 5c7d603899 rename 2025-01-09 11:39:31 +02:00
Yuri Kuznetsov 4e804692ac fix email note body height 2025-01-09 11:39:10 +02:00
Yuri Kuznetsov dbc96859af row actions acl check 2025-01-09 11:13:03 +02:00
Yuri Kuznetsov 4fb30b0b7b relationship panel mandatory attribute list param 2025-01-09 10:26:07 +02:00
Yuri Kuznetsov d76b371a48 fix with-complex 2025-01-09 09:24:55 +02:00
Yuri Kuznetsov 280e6e3987 date time value objects methods 2025-01-08 14:16:51 +02:00
Yuri Kuznetsov 0cf4e1e4e2 entity methods 2025-01-07 19:22:17 +02:00
Yuri Kuznetsov 7a105d7b70 entity methods 2025-01-07 19:14:39 +02:00
Yuri Kuznetsov 8102e9c4f2 set name methods 2025-01-07 18:59:13 +02:00
Yuri Kuznetsov 3a83b096a8 fix hide/show panels 2025-01-07 14:25:25 +02:00
Yuri Kuznetsov 7bc34d3ee7 ref, jsdoc 2025-01-07 14:21:21 +02:00
Yuri Kuznetsov 6264812d12 user calender permission 2025-01-07 14:06:40 +02:00
Yuri Kuznetsov 4430a40d32 record setupDynamicBehavior 2025-01-07 10:45:13 +02:00
Yuri Kuznetsov 3bea3e8622 fix 2025-01-07 09:56:54 +02:00
Yuri Kuznetsov a80c3e2ecf meeting cancelation fix 2025-01-06 16:47:09 +02:00
Yuri Kuznetsov bf3e71e642 event cancelation ui fix 2025-01-06 16:44:08 +02:00
Yuri Kuznetsov 340c65cbf0 datepicker default view date 2025-01-06 14:28:58 +02:00
Yuri Kuznetsov e597321497 fix themes logo login 2025-01-06 11:28:37 +02:00
Yuri Kuznetsov d3d4cb45f2 iframe blockquote 2025-01-06 10:31:30 +02:00
Yuri Kuznetsov ef99a0753f iframe scrollbar 2025-01-06 10:19:33 +02:00
Yuri Kuznetsov cd61a30298 fix task link checker 2025-01-06 09:29:20 +02:00
Yuri Kuznetsov 3316afaaad change year 2025-01-06 09:16:05 +02:00
Yuri Kuznetsov 76dfbb1baa category fix 2025-01-05 18:57:07 +02:00
Yuri Kuznetsov df71ccbea6 meeting invitation ref 2025-01-05 15:40:55 +02:00
Yuri Kuznetsov 452d5df98c datepicker refresh 2025-01-05 13:03:47 +02:00
Yuri Kuznetsov 7d37a6ab55 datepicker change month event 2025-01-04 20:33:03 +02:00
Yuri Kuznetsov 4f1b576f17 css fix 2025-01-04 18:34:05 +02:00
Yuri Kuznetsov 07429eb1b0 lead form margin 2025-01-04 18:24:58 +02:00
Yuri Kuznetsov 749f3c686e field custom paramList prop 2025-01-04 18:01:55 +02:00
Yuri Kuznetsov 109e601572 remove data-theme from capcha url 2025-01-04 14:14:18 +02:00
Yuri Kuznetsov 73e3c8f372 lead form is active check 2025-01-04 13:59:45 +02:00
Yuri Kuznetsov 732ac8440f fix metadata 2025-01-04 11:14:33 +02:00
dependabot[bot] 96c12bed39 Bump phpoffice/phpspreadsheet from 1.29.5 to 1.29.7 (#3242)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.29.5 to 1.29.7.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.7/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.29.5...1.29.7)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-03 18:43:56 +02:00
Yuri Kuznetsov 7655e7a642 jsdocs cleanup param 2025-01-03 16:57:36 +02:00
Yuri Kuznetsov e502e7875e cleanup param 2025-01-03 16:28:50 +02:00
Yuri Kuznetsov 15cd13905c fix throws doc 2025-01-03 11:27:21 +02:00
Yuri Kuznetsov c89ebe535b fix comment 2025-01-03 11:21:05 +02:00
Yuri Kuznetsov 5cce21643b free busy refactoring 2025-01-03 11:11:49 +02:00
Yuri Kuznetsov 1579d62277 update super parent stream updated at 2025-01-02 18:05:47 +02:00
Yuri Kuznetsov 4ae930544e rebuild on stream enabling 2025-01-02 17:59:40 +02:00
Yuri Kuznetsov e5c2ec3371 stream create related many-many fix, options constants 2025-01-02 17:52:12 +02:00
Yuri Kuznetsov 86d4a5f78b stream updated at created related 2025-01-02 17:27:19 +02:00
Yuri Kuznetsov 8d55a504cf style fix, small label 2025-01-02 17:09:50 +02:00
Yuri Kuznetsov 29644e720e fix test 2025-01-01 10:25:25 +02:00
Yuri Kuznetsov bf3ef1edf5 permissions: change dirs 2025-01-01 10:19:21 +02:00
Yuri Kuznetsov beee38c1d2 schema 2024-12-30 22:20:28 +02:00
Yuri Kuznetsov e0359a2cfb datepicker methods 2024-12-30 11:02:41 +02:00
Yuri Kuznetsov 2d6d579091 datepicker has params 2024-12-30 10:17:49 +02:00
Yuri Kuznetsov 047a31fb98 ui/select support htmlelement 2024-12-29 23:17:48 +02:00
Yuri Kuznetsov deed3d5b8b ref 2024-12-29 18:47:49 +02:00
Yuri Kuznetsov 70d27c78bb datepicker min date, ref 2024-12-29 18:34:27 +02:00
Yuri Kuznetsov 993454e854 duration fromField update 2024-12-29 16:33:54 +02:00
Yuri Kuznetsov 79e5b9f7aa fix 2024-12-29 16:23:12 +02:00
Yuri Kuznetsov cb95eb0f5a ui datepicker 2024-12-29 16:19:44 +02:00
Yuri Kuznetsov bd5b178fc4 remove whitespace 2024-12-29 13:22:30 +02:00
Yuri Kuznetsov 40370052ce add tab icons 2024-12-29 13:10:31 +02:00
Yuri Kuznetsov 5603e8f827 remove whitespace 2024-12-29 13:10:24 +02:00
Yuri Kuznetsov d97bc3ffa4 add tab buttons right 2024-12-29 13:07:07 +02:00
Yuri Kuznetsov 2d70f1616b chown chgrp function exists check 2024-12-29 12:55:36 +02:00
Yuri Kuznetsov 4feb3ab318 timepicker ref 2024-12-28 17:37:28 +02:00
Yuri Kuznetsov 1f9770ded6 working time calendar 24:00 2024-12-27 13:48:57 +02:00
Yuri Kuznetsov 874b5b576a timepicker css fix 2024-12-27 12:26:49 +02:00
Yurii Kuznietsov 03f2ec5fef Update README.md 2024-12-25 17:36:17 +02:00
Yuri Kuznetsov ad515a274f dark theme style fix 2024-12-25 16:01:55 +02:00
Yuri Kuznetsov 27fb446292 revert 2024-12-25 12:33:16 +02:00
Yuri Kuznetsov aa6c323ecf ref 2024-12-25 12:20:59 +02:00
Yuri Kuznetsov 99055d2ac4 style fix 2024-12-24 21:19:19 +02:00
Yuri Kuznetsov 75f2ec3105 todo 2024-12-24 16:07:35 +02:00
Yuri Kuznetsov 8abe02d0c6 complex text style fix 2024-12-23 17:32:12 +02:00
Yuri Kuznetsov ac32bec066 email to case: lead parent to case 2024-12-23 16:03:13 +02:00
Yuri Kuznetsov d5ebb3ccae email to case: set case parent if account or contact 2024-12-23 15:51:27 +02:00
Yuri Kuznetsov 82ae8c2005 bump min npm and node versions 2024-12-21 14:55:01 +02:00
Yuri Kuznetsov f279528c56 record: early before create/update hooks 2024-12-21 13:58:31 +02:00
Yuri Kuznetsov 65722d7143 ol large number fix 2024-12-21 10:31:01 +02:00
Yuri Kuznetsov 3fb75588a0 fetch after create 2024-12-21 08:53:57 +02:00
Yuri Kuznetsov 57ede36b89 working time exception change order 2024-12-20 17:49:25 +02:00
Yuri Kuznetsov 8f1a5612d1 style fix 2024-12-20 14:54:58 +02:00
Yuri Kuznetsov 79f28b6be0 navbar search style fix 2024-12-20 12:55:36 +02:00
Yuri Kuznetsov a65cb6fcb5 remove admin iframe border 2024-12-20 12:33:04 +02:00
Yuri Kuznetsov d60282a444 admin panel style fix 2024-12-20 12:02:34 +02:00
Yuri Kuznetsov 5598c09002 include original bundles 2024-12-20 11:47:26 +02:00
Yuri Kuznetsov 79a837e653 ref 2024-12-20 11:23:48 +02:00
Yuri Kuznetsov a9dee67243 fix save event 2024-12-20 10:19:11 +02:00
Yuri Kuznetsov abcf64c107 ref 2024-12-20 10:12:09 +02:00
Yuri Kuznetsov d49821007d dashlet color 2024-12-20 09:41:06 +02:00
Yuri Kuznetsov a28f815dd4 upgrade extenstions check 2024-12-20 08:37:00 +02:00
Yuri Kuznetsov 33f0aaa5d8 email note fix 2024-12-19 22:42:22 +02:00
Yuri Kuznetsov 875bc7418b fix dashboard 2024-12-19 17:59:28 +02:00
Yuri Kuznetsov ab1b9cee8a ref 2024-12-19 17:08:04 +02:00
Yuri Kuznetsov 6cfaf04b4f fix dashboard fallback height 2024-12-19 16:56:25 +02:00
Yuri Kuznetsov 12084b05d3 fix before upgrade dependency 2024-12-19 15:52:13 +02:00
Yuri Kuznetsov a91016d193 tab url color 2024-12-19 15:46:57 +02:00
Yuri Kuznetsov e192ea3c41 stream updated at only if stream enabled 2024-12-19 14:57:40 +02:00
Yuri Kuznetsov 8bc70dfaec stream updated at: use query 2024-12-19 14:12:41 +02:00
Yuri Kuznetsov 656ecba3de save option keep relations 2024-12-19 14:00:59 +02:00
Yuri Kuznetsov b992ced5b4 fix dashboard add 2024-12-19 12:05:23 +02:00
Yuri Kuznetsov 9c5ac43faa records dashlet init fix 2024-12-19 11:31:44 +02:00
Yuri Kuznetsov 0a94f9e6ab fix iframe 2024-12-19 10:42:41 +02:00
Yuri Kuznetsov 71a84c5c09 note email body min-height on switch 2024-12-19 10:41:32 +02:00
Yuri Kuznetsov c1fb1b9b34 email note reset show-more 2024-12-19 10:14:32 +02:00
Yuri Kuznetsov 9807cd033d text field ref 2024-12-19 10:14:23 +02:00
Yuri Kuznetsov 72ba2e1833 template cache no trailine nl 2024-12-18 21:30:15 +02:00
Yuri Kuznetsov ad8858bdb0 ref 2024-12-18 20:04:56 +02:00
Yuri Kuznetsov 59c1962152 starred in list-expanded 2024-12-18 19:55:55 +02:00
Yuri Kuznetsov f835712452 preserve audite log for user, roles, teams, portals 2024-12-18 19:50:09 +02:00
Yuri Kuznetsov ade436bcf0 fix preferences 2024-12-18 19:45:18 +02:00
Yuri Kuznetsov 0f1fc4f596 style fix, input height 2024-12-18 16:23:13 +02:00
Yuri Kuznetsov b3d012138b notification createdBy no join 2024-12-18 14:54:03 +02:00
Yuri Kuznetsov ee29eb14aa fix password enter 2024-12-18 13:41:25 +02:00
Yuri Kuznetsov fffd0f0574 hook after relate partially loaded entity 2024-12-18 13:35:04 +02:00
Yuri Kuznetsov 283f1eef81 email is replied fix 2024-12-18 13:09:41 +02:00
Yuri Kuznetsov 41c5ac154f metadata null 2024-12-18 12:57:53 +02:00
Yuri Kuznetsov a4b464c45d fix metadata dep 2024-12-18 12:45:01 +02:00
Yuri Kuznetsov f508cca64c before upgrade 2024-12-18 11:58:30 +02:00
Yuri Kuznetsov 717ece7e80 v 2024-12-18 10:54:42 +02:00
Yuri Kuznetsov 07eb53dcf8 change filter name 2024-12-17 16:40:58 +02:00
Yuri Kuznetsov 0da7a44dd9 import error export fix 2024-12-17 16:19:59 +02:00
Yuri Kuznetsov 702be7fd69 email template body no purification 2024-12-17 14:33:11 +02:00
Yuri Kuznetsov a673c09153 comment 2024-12-16 14:40:07 +02:00
Yuri Kuznetsov 2c6f08009a cleanup 2024-12-16 09:09:42 +02:00
Yuri Kuznetsov 51bba11cee color change 2024-12-16 09:03:40 +02:00
Yuri Kuznetsov 56fed2e9f0 espo theme default 2024-12-15 21:25:34 +02:00
Yuri Kuznetsov 264761605b stream post fetch fix 2024-12-15 21:22:53 +02:00
Yuri Kuznetsov 82b643e41d campaign bottom panels not sticky 2024-12-15 16:56:04 +02:00
Yuri Kuznetsov f6fac2c236 layout manager promise reuse fix 2024-12-15 16:52:15 +02:00
Yuri Kuznetsov 532a5bb37b external account page impr 2024-12-15 16:29:24 +02:00
Yuri Kuznetsov e91c3ef939 integrations view impr 2024-12-15 16:16:13 +02:00
Yuri Kuznetsov 35962903bf status dislay as label for entity types 2024-12-14 21:49:27 +02:00
Yuri Kuznetsov 12e6794404 style fix 2024-12-14 21:41:47 +02:00
Yuri Kuznetsov 5d8f1fe449 css fix 2024-12-14 21:40:28 +02:00
Yuri Kuznetsov 409d5cd867 web forms keyword 2024-12-14 19:36:32 +02:00
Yuri Kuznetsov 01ea98ebe9 admin keywords change 2024-12-14 19:36:23 +02:00
Yuri Kuznetsov 98ec41730a table header font weight 2024-12-14 18:53:17 +02:00
Yuri Kuznetsov 1be134403f pagination input fix 2024-12-14 18:48:30 +02:00
Yuri Kuznetsov d2e1ace75b style impr 2024-12-14 18:07:27 +02:00
Yuri Kuznetsov 317c07d1ee style fix 2024-12-14 17:57:12 +02:00
Yuri Kuznetsov 3de4c5ca8d link font weight 2024-12-14 17:51:31 +02:00
Yuri Kuznetsov 2389d6beae style fix 2024-12-14 17:35:13 +02:00
Yuri Kuznetsov 0f785d701b color fix 2024-12-14 17:06:04 +02:00
Yuri Kuznetsov 54afb0834e color changes 2024-12-14 12:57:59 +02:00
Yuri Kuznetsov 3db882ef57 navbar dropdown radius fix 2024-12-14 12:09:40 +02:00
Yuri Kuznetsov de7a949151 color fix 2024-12-14 12:07:12 +02:00
Yuri Kuznetsov b59fc96a27 espo theme style fixes 2024-12-14 11:05:05 +02:00
Yuri Kuznetsov 055d44f95d panel border color usage 2024-12-14 10:50:01 +02:00
Yuri Kuznetsov 8054dd4fab espo theme color changes 2024-12-14 10:45:24 +02:00
Yuri Kuznetsov 6d70576e1a espo theme navbar changes 2024-12-14 10:34:54 +02:00
Yuri Kuznetsov ffd35ff668 preferences set is not changed fix 2024-12-13 21:42:21 +02:00
Yuri Kuznetsov bc0f135291 dashboard more fine height layout 2024-12-13 21:04:57 +02:00
Yurii 740f8bfaa6 source email access check 2024-12-13 11:40:40 +02:00
Yurii 660482f042 source email id fix 2024-12-13 11:09:01 +02:00
Yuri Kuznetsov 01c234970c meeting source email link 2024-12-13 10:44:32 +02:00
Yuri Kuznetsov 9a543b6f85 uid not exposed 2024-12-13 10:29:10 +02:00
Yuri Kuznetsov 16325fdd32 meeting uid 2024-12-13 10:26:43 +02:00
Yuri Kuznetsov 2a04377b55 dark theme color changes 2024-12-12 17:23:57 +02:00
Yuri Kuznetsov af10cced54 phpdocs 2024-12-12 17:05:57 +02:00
Yuri Kuznetsov 9bb297d209 whereGroup get parameter as alias for where 2024-12-12 17:05:35 +02:00
Yuri Kuznetsov dfcf0838d3 attribute select param 2024-12-12 16:44:31 +02:00
Yuri Kuznetsov 25616cee73 more border color variables 2024-12-12 16:04:37 +02:00
Yuri Kuznetsov d215e62b0a dark theme: calendar bg color 2024-12-12 15:39:34 +02:00
Yuri Kuznetsov fd3715b662 dark theme: border color change 2024-12-12 15:36:07 +02:00
Yuri Kuznetsov 270da1f0ed record list dashler: fix order field 2024-12-12 15:22:54 +02:00
Yuri Kuznetsov fdd482f8e8 close button always on request error 2024-12-12 15:16:01 +02:00
Yuri Kuznetsov 1fb152b62a starred filter in dashlet 2024-12-12 15:09:55 +02:00
Yuri Kuznetsov 91c584d6f0 Merge branch 'master' of https://github.com/espocrm/espocrm 2024-12-12 15:04:12 +02:00
Yurii 12b66f7e7f metadata cloning 2024-12-12 13:55:43 +02:00
Yuri Kuznetsov 90a68505c1 detail sticky margins on wide screen 2024-12-12 11:25:11 +02:00
Yuri Kuznetsov c9e0d31892 fix metadata dependency 2024-12-11 19:05:21 +02:00
Yuri Kuznetsov d479157d30 entity manager page change 2024-12-11 15:28:09 +02:00
Yuri Kuznetsov 05d27cb805 dark theme: more radius 2024-12-11 13:31:31 +02:00
Yuri Kuznetsov 5a63f4ba0c dark theme avatar less bright 2024-12-11 13:23:40 +02:00
Yuri Kuznetsov 1a63115fe3 style fix: modal ul no side border 2024-12-11 13:14:42 +02:00
Yuri Kuznetsov 1d58f6b6b9 scroll color 2024-12-11 12:52:57 +02:00
Yuri Kuznetsov 6c4cd0131f modal border 2024-12-11 12:32:14 +02:00
Yuri Kuznetsov b77a2101db dot 2024-12-11 09:44:56 +02:00
Yuri Kuznetsov 7016c688e6 style fix 2024-12-11 09:16:55 +02:00
Yuri Kuznetsov bf2335c9d0 style fix 2024-12-10 23:43:31 +02:00
Yuri Kuznetsov 67e8a89799 show more top border 2024-12-10 23:36:48 +02:00
Yuri Kuznetsov 146af12d85 fix tab search bc 2024-12-10 19:19:29 +02:00
Yuri Kuznetsov d6e146fefd comment 2024-12-10 19:16:18 +02:00
Yuri Kuznetsov 2245eb2f16 color change 2024-12-10 18:13:10 +02:00
Yuri Kuznetsov 8054dd9934 color fix 2024-12-10 18:10:47 +02:00
Yuri Kuznetsov 4bb41a17ed color fix 2024-12-10 18:06:20 +02:00
Yuri Kuznetsov 89bc80705a recovery password non-espo portal exclusion 2024-12-10 17:47:25 +02:00
Yuri Kuznetsov 3ced02e237 color fix 2024-12-10 17:28:59 +02:00
Yuri Kuznetsov 873109ff12 dark theme calendar changes 2024-12-10 14:34:25 +02:00
Yuri Kuznetsov 3a869fceda dark theme changes 2024-12-10 14:26:14 +02:00
Yuri Kuznetsov aa68ed8af1 style fix 2024-12-10 14:19:59 +02:00
Yuri Kuznetsov 499058b413 datk theme changes 2024-12-10 14:14:31 +02:00
Yuri Kuznetsov f23001daa1 dark theme color changes 2024-12-10 14:07:33 +02:00
Yuri Kuznetsov 5b88406738 timestampdiff autocomplete 2024-12-10 12:44:17 +02:00
Yuri Kuznetsov 6dc596f5b4 fix complex expr return types 2024-12-10 12:23:59 +02:00
Yuri Kuznetsov fc73e60d68 php 8.2 2024-12-10 11:24:39 +02:00
Yuri Kuznetsov cf5640e7f4 fix nullable types 2024-12-09 19:40:35 +02:00
Yuri Kuznetsov 7da685525f php 8.4 actions 2024-12-09 19:30:29 +02:00
Yuri Kuznetsov a7dd09b1c7 update laminas-ldap 2024-12-09 19:29:39 +02:00
Yuri Kuznetsov 7c0d2254fe style fix 2024-12-09 17:52:21 +02:00
Yuri Kuznetsov b041ec2441 ldap portal disabled recovery password 2024-12-09 17:32:49 +02:00
Yuri Kuznetsov 6669fe4d6b ref 2024-12-09 17:19:07 +02:00
Yuri Kuznetsov 6c8537dc73 readme change 2024-12-09 13:39:24 +02:00
Yuri Kuznetsov c38ecc7bf4 ref 2024-12-09 13:34:18 +02:00
Yuri Kuznetsov a4048d66fb ref 2024-12-09 13:18:09 +02:00
Yuri Kuznetsov 9152c75572 ref 2024-12-09 13:10:03 +02:00
Yuri Kuznetsov acdeb97bed cleanup 2024-12-09 13:04:10 +02:00
Yuri Kuznetsov 0b6577b68d ref 2024-12-09 12:58:06 +02:00
Yuri Kuznetsov 2115535563 timezones fix 2024-12-09 12:40:07 +02:00
Yuri Kuznetsov aed02c3909 account bottom tabs 2024-12-09 11:51:42 +02:00
Yuri Kuznetsov 0515dce7ae style fix 2024-12-09 11:24:56 +02:00
Yuri Kuznetsov da16d6cd62 metadata: filter fields and links without type 2024-12-09 10:56:48 +02:00
Yuri Kuznetsov 8f1bfd486d assignment checker ref; email: allow empty team 2024-12-08 13:49:30 +02:00
Yuri Kuznetsov 28715618bc apply it_IT from PO 2024-12-07 17:39:43 +02:00
Yuri Kuznetsov 29b7a18557 user: unset default team on unrelate from team 2024-12-07 11:01:46 +02:00
Yuri Kuznetsov 4ac461c79e password hash bcrypt 2024-12-06 21:53:37 +02:00
Yuri Kuznetsov 58a71f0cf0 ref 2024-12-06 21:36:16 +02:00
Yuri Kuznetsov 4eff992b87 ref 2024-12-06 21:18:22 +02:00
Yuri Kuznetsov d3f12e54eb panels disabled by default 2024-12-06 19:59:38 +02:00
Yuri Kuznetsov 5eb647a8ec panels sync 2024-12-06 19:21:42 +02:00
Yuri Kuznetsov 0c8a28f640 panel sync 2024-12-06 18:56:36 +02:00
Yuri Kuznetsov 3b4699fb17 ref 2024-12-06 18:40:20 +02:00
Yuri Kuznetsov 66f107739a meetings/calls/tasks for custom 2024-12-06 18:30:11 +02:00
Yuri Kuznetsov fddd233e70 meetengs/calls/tasks panels 2024-12-06 18:16:01 +02:00
Yurii a1a7693747 bottom panels name 2024-12-06 17:19:22 +02:00
Yuri Kuznetsov 0262cdb9e6 cleanup 2024-12-06 15:41:26 +02:00
Yuri Kuznetsov 77c8073a84 bottom panels 2024-12-06 15:29:02 +02:00
Yuri Kuznetsov e89a68f038 cleanup 2024-12-06 15:28:52 +02:00
Yuri Kuznetsov dcaad8fe9d layout panels ref 2024-12-06 15:28:11 +02:00
Yuri Kuznetsov 649dd2099a schema addition 2024-12-06 13:36:46 +02:00
Yuri Kuznetsov f803c3a4a5 style fix 2024-12-06 13:10:04 +02:00
Yuri Kuznetsov 9fae2de8fc typo fix 2024-12-06 13:08:33 +02:00
Yuri Kuznetsov 0899e20cad record panel reference 2024-12-06 13:00:10 +02:00
Yuri Kuznetsov 96e1f30590 activities/history remove menu filters 2024-12-05 23:31:22 +02:00
Yuri Kuznetsov c33d9a78f3 style fix 2024-12-05 22:37:06 +02:00
Yuri Kuznetsov 2bb551bdd9 stream no sticky 2024-12-05 22:32:22 +02:00
Yuri Kuznetsov 1ad2607985 change edit header 2024-12-05 21:28:59 +02:00
Yuri Kuznetsov c22ec1529a modal edit header change 2024-12-05 21:25:08 +02:00
Yuri Kuznetsov 777e14e871 breadcrumb gray soft 2024-12-05 21:08:56 +02:00
Yuri Kuznetsov 57c70baa2d fix complex expression font size 2024-12-05 19:10:41 +02:00
Yuri Kuznetsov 06afd19aa5 discard userData imap and smtp handlers 2024-12-05 15:49:40 +02:00
Yuri Kuznetsov 7f0e1cc4ba update packages 2024-12-05 13:36:25 +02:00
Yuri Kuznetsov b901042ed3 bullbone 1.3.0 2024-12-04 21:41:06 +02:00
Yuri Kuznetsov bb66e1b587 actions version no 8.4 2024-12-04 11:56:16 +02:00
Yuri Kuznetsov 2732886cfe actions php version fix 2024-12-04 11:44:38 +02:00
Yuri Kuznetsov 72961d841e php 8.2 min 2024-12-04 11:39:32 +02:00
Yuri Kuznetsov 8d4f61d002 update composer dependencies 2024-12-04 11:33:22 +02:00
Yuri Kuznetsov 7a1c80556f fix preload 2024-12-04 11:32:29 +02:00
Yuri Kuznetsov 16de93d29e fix tests 2024-12-04 11:30:01 +02:00
Yuri Kuznetsov 6901d34176 fix 2024-12-04 11:20:41 +02:00
Yuri Kuznetsov 239f1f6d24 style fix 2024-12-03 23:51:31 +02:00
Yuri Kuznetsov 7e349c3750 layout concurrency fix 2024-12-03 23:29:25 +02:00
Yuri Kuznetsov bacd2f7eff ref 2024-12-03 23:22:05 +02:00
Yuri Kuznetsov 8c0c2757d2 ref 2024-12-03 23:19:58 +02:00
Yuri Kuznetsov 7c5084c846 fix 2024-12-03 20:41:49 +02:00
Yuri Kuznetsov a4ebaac96f ref 2024-12-03 20:38:17 +02:00
Yuri Kuznetsov d5bfc9a892 fix whitespace 2024-12-03 20:36:34 +02:00
Yuri Kuznetsov fc632e1ade rebuild: force all for pg 2024-12-03 14:45:19 +02:00
Yuri Kuznetsov 4c5791110c ref 2024-12-03 11:38:22 +02:00
Yuri Kuznetsov d088450745 import use ui select 2024-12-02 17:26:20 +02:00
Yuri Kuznetsov 1951ac4e8e import: support null for update 2024-12-02 17:15:19 +02:00
Yuri Kuznetsov 7b65f1b3dc ref 2024-12-02 17:08:38 +02:00
Yuri Kuznetsov 43e7a327d0 ui set held field level check 2024-11-28 17:32:20 +02:00
Yuri Kuznetsov 952fe2b512 mass set held field access check 2024-11-28 17:23:38 +02:00
Yuri Kuznetsov 84b78d7835 header buttons no whitespaces 2024-11-28 12:53:42 +02:00
Yuri Kuznetsov bec834af87 global search: do not close from modal 2024-11-28 12:01:08 +02:00
Yuri Kuznetsov 3199eb23f6 global search quick view 2024-11-28 11:53:19 +02:00
Yuri Kuznetsov ec9133ffc8 link field: color icon in list mode 2024-11-28 11:37:06 +02:00
Yuri Kuznetsov d94fee67b5 collaborators field rebuild 2024-11-28 11:28:56 +02:00
Yuri Kuznetsov ed8340240b email templat user avatar 2024-11-28 11:13:18 +02:00
Yuri Kuznetsov 0662c47366 update bullbone 2024-11-28 11:13:10 +02:00
Yuri Kuznetsov 9c37d5a325 bullbone experimantal 2024-11-27 15:50:05 +02:00
Yuri Kuznetsov 6ac17dc898 Merge branch 'master' into e/view-render 2024-11-27 14:20:50 +02:00
Yuri Kuznetsov 5ce5739b78 template fix 2024-11-27 14:20:44 +02:00
Yuri Kuznetsov 3559978dc1 modal set element change 2024-11-27 11:25:17 +02:00
Yuri Kuznetsov b395773e5b notification no inline edit 2024-11-27 11:15:54 +02:00
Yuri Kuznetsov de288cd832 remove helper 2024-11-27 11:03:58 +02:00
Yuri Kuznetsov 952e35a8c6 expanded list change cell 2024-11-27 11:01:54 +02:00
Yuri Kuznetsov 3b3da0d5ff modal ref, use containerElement 2024-11-27 10:12:51 +02:00
Yuri Kuznetsov 00ed0e26e8 fix remove collaborators 2024-11-26 14:18:53 +02:00
Yuri Kuznetsov 06ebe3b46b page-title service 2024-11-25 22:58:27 +02:00
Yuri Kuznetsov 766f77957b app-params service 2024-11-25 22:51:52 +02:00
Yuri Kuznetsov b724b8d6ed ref, di usage 2024-11-25 16:51:27 +02:00
Yuri Kuznetsov eee8886613 update bullbone 2024-11-25 16:11:38 +02:00
Yuri Kuznetsov 226ae20f7b list row and cell selectors refactor, use same sub-selectors for cells 2024-11-25 14:54:34 +02:00
Yuri Kuznetsov 34f22a3739 update uglify 2024-11-25 13:27:35 +02:00
Yuri Kuznetsov 63755bb0b9 frontend di 2024-11-25 11:52:32 +02:00
Yuri Kuznetsov daac63c37e websocket signature fix 2024-11-25 09:12:24 +02:00
Yuri Kuznetsov 8bfcdff489 Merge branch 'master' of https://github.com/espocrm/espocrm 2024-11-24 15:13:44 +02:00
Andrew Fontana f578d86faf Target list row actions translate (#3219)
* translate opted-out.js

* translate default.js

* Update opted-out.js

* Update default.js

* Update opted-out.js
2024-11-24 15:12:57 +02:00
Yuri Kuznetsov d3d5794dad application config 2024-11-24 12:05:34 +02:00
Yuri Kuznetsov d9faf23b81 ref 2024-11-24 11:23:32 +02:00
Yuri Kuznetsov 6f981ea5a7 hmac check order 2024-11-24 11:19:27 +02:00
Yuri Kuznetsov 2b5f917449 check status 0 2024-11-24 10:49:05 +02:00
Yuri Kuznetsov 59f8704eca no interner error on request 2024-11-24 10:46:48 +02:00
Yuri Kuznetsov 5345cd16fd ref 2024-11-24 10:06:55 +02:00
Yuri Kuznetsov ad0beb63d9 conver lead opportunity exception throw 2024-11-24 10:00:25 +02:00
Yuri Kuznetsov a7d7cbd952 fix availableReactions level 2024-11-23 13:50:38 +02:00
Yuri Kuznetsov 759277f655 script async defer 2024-11-23 13:47:49 +02:00
Yuri Kuznetsov 77f07c79e5 remove test/javascript 2024-11-23 13:40:49 +02:00
Yuri Kuznetsov 113bf0feec fix example 2024-11-23 11:58:49 +02:00
Yuri Kuznetsov 766b0327b1 lead capture person name fix 2024-11-23 11:44:00 +02:00
Yuri Kuznetsov ab596c7869 web form date time config 2024-11-23 11:21:40 +02:00
Yuri Kuznetsov ec2fc5916c web-to-lead forms 2024-11-23 11:05:25 +02:00
Yuri Kuznetsov 56735e9358 stream service in container 2024-11-21 12:18:56 +02:00
Yurii 2a1ecdd141 phone/email max count param 2024-11-21 11:33:40 +02:00
Yurii 3f5338837c fix lead capture smtp field 2024-11-21 10:41:41 +02:00
Yuri Kuznetsov b5f570708a lead capture unset fields 2024-11-21 09:47:52 +02:00
dependabot[bot] 7f61461917 Bump cross-spawn from 7.0.3 to 7.0.6 (#3214)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 08:55:43 +02:00
Yuri Kuznetsov f8d87c8f7b rename label 2024-11-20 13:54:00 +02:00
Yuri Kuznetsov 23851322d7 add isInternal to filters 2024-11-20 11:17:52 +02:00
Yuri Kuznetsov 338ce5f226 do not process follow if internal, ref 2024-11-20 11:11:40 +02:00
Yuri Kuznetsov b999273b6d unfollow portal users 2024-11-20 11:09:10 +02:00
Yuri Kuznetsov 30e6c76c4e internal cases 2024-11-20 10:30:38 +02:00
Yuri Kuznetsov 569ad2d00e field iteraction icon color 2024-11-19 22:38:39 +02:00
Yuri Kuznetsov f0fb1725ad password strength special characters 2024-11-19 14:48:55 +02:00
dependabot[bot] 8fc02ce0f7 Bump phpoffice/phpspreadsheet from 1.29.2 to 1.29.4 (#3211)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.29.2 to 1.29.4.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.4/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.29.2...1.29.4)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 22:47:28 +02:00
Yuri Kuznetsov 5df5b9b3f5 more field icons color 2024-11-18 21:24:25 +02:00
Yuri Kuznetsov 00f6bf6bf6 field iteration color change 2024-11-18 20:47:20 +02:00
Yuri Kuznetsov 24ad0c6537 fix duration timeout, longer to prevent date start inline edit issue 2024-11-18 17:42:22 +02:00
Yuri Kuznetsov 915f03be4a fix duration regression 2024-11-18 17:25:12 +02:00
Yuri Kuznetsov e96e702188 preserve changes when moving from inline edit to full edit 2024-11-18 17:06:00 +02:00
Yuri Kuznetsov a617a2742f cleanup 2024-11-18 16:41:28 +02:00
Yuri Kuznetsov 16e82cde65 save change 2024-11-18 16:40:38 +02:00
Yuri Kuznetsov edfd816fc6 ref 2024-11-18 15:40:30 +02:00
Yuri Kuznetsov f74293c8e1 scrollbar gutter change 2024-11-18 15:05:05 +02:00
Yuri Kuznetsov 84e2305017 cleanup 2024-11-18 14:59:28 +02:00
Yuri Kuznetsov ce008f911e inline edit icons 2024-11-18 14:56:42 +02:00
Yuri Kuznetsov 00af9af8bb fix role table, timeout 2024-11-18 14:39:31 +02:00
Yuri Kuznetsov b98ebb4497 role table sticky header fix 2024-11-18 14:16:46 +02:00
Yuri Kuznetsov dbbfedd33c clear cache portal role 2024-11-18 14:16:35 +02:00
Yuri Kuznetsov c8dca179ca Merge branch 'master' of https://github.com/espocrm/espocrm 2024-11-18 14:09:06 +02:00
Yurii d578ccea7b fix const usage 2024-11-18 13:00:01 +02:00
Yuri Kuznetsov ee78d83894 ref 2024-11-18 11:24:31 +02:00
Yuri Kuznetsov c7b33c2c36 fix after upgrade script 2024-11-18 11:16:16 +02:00
Yuri Kuznetsov d061e801dc after upgrade add links param 2024-11-18 11:03:41 +02:00
Yuri Kuznetsov 522df65928 css fix 2024-11-17 20:40:36 +02:00
Yuri Kuznetsov cc5c0678c7 panel icons size 2024-11-17 20:35:45 +02:00
Yuri Kuznetsov b8c421aee4 skip stream updated at in webhook 2024-11-17 20:31:03 +02:00
Yuri Kuznetsov 05493d2171 portal acl links 2024-11-17 16:50:21 +02:00
Yuri Kuznetsov 80cf38e0fc note email impr 2024-11-16 18:26:27 +02:00
Yuri Kuznetsov 2ecb41cc90 ref 2024-11-16 18:19:11 +02:00
Yuri Kuznetsov 42d8a35bb3 ifram font 2024-11-16 17:42:49 +02:00
Yuri Kuznetsov 103f88dcd9 strip reply introducation line 2024-11-16 16:46:43 +02:00
Yuri Kuznetsov 845bf8bc16 streamEmailWithContentEntityTypeList 2024-11-16 16:32:18 +02:00
Yuri Kuznetsov b3606ee35a email note strip reply part 2024-11-16 16:10:26 +02:00
Yuri Kuznetsov c0a13f79df ref 2024-11-16 15:18:52 +02:00
Yuri Kuznetsov 3edb30285c stream note email expand 2024-11-16 15:03:02 +02:00
Yuri Kuznetsov 74bde9868d fix 2024-11-16 13:05:04 +02:00
Yuri Kuznetsov 4a0e31a328 ref, permission check null 2024-11-16 11:26:08 +02:00
Yuri Kuznetsov 6e8396ae09 ref 2024-11-16 11:11:55 +02:00
Yuri Kuznetsov bbc17a564c ref 2024-11-16 11:01:20 +02:00
Yuri Kuznetsov e044b47f8c ref 2024-11-15 18:50:43 +02:00
Yuri Kuznetsov 729b03620d ref 2024-11-15 18:18:48 +02:00
Yuri Kuznetsov 6f369a3535 ref 2024-11-15 18:08:58 +02:00
Yuri Kuznetsov a04b36f79f group email account dynamic logic 2024-11-15 17:37:54 +02:00
Yuri Kuznetsov 0c74674731 ref 2024-11-15 16:09:04 +02:00
Yuri Kuznetsov 714bf8d2f8 orm: relations without ID 2024-11-15 13:32:00 +02:00
Yuri Kuznetsov 8a852695a1 fix test 2024-11-15 13:10:51 +02:00
Yuri Kuznetsov 4eb375c1cf ref 2024-11-15 13:08:10 +02:00
Yuri Kuznetsov d8b3b5361a dev 2024-11-15 12:47:05 +02:00
Yuri Kuznetsov 2ffbea5b52 ref 2024-11-15 12:42:53 +02:00
Yuri Kuznetsov 055322ae90 ref 2024-11-15 12:36:51 +02:00
Yuri Kuznetsov abfc22c080 ref 2024-11-15 12:13:25 +02:00
Yuri Kuznetsov cc104a6517 ref 2024-11-15 12:01:16 +02:00
Yuri Kuznetsov cdb8694706 ref 2024-11-15 11:51:00 +02:00
Yuri Kuznetsov 85d4490231 ref 2024-11-15 11:47:08 +02:00
Yuri Kuznetsov 8a9a15ecbe ref 2024-11-15 11:26:33 +02:00
Yuri Kuznetsov 5821ce7cb2 ref 2024-11-15 11:15:57 +02:00
Yuri Kuznetsov a925a9ec14 ref 2024-11-15 11:00:06 +02:00
Yuri Kuznetsov 0525f1bf88 ref 2024-11-15 10:55:45 +02:00
Yuri Kuznetsov 253a586886 ref 2024-11-15 10:50:35 +02:00
Yuri Kuznetsov 3bb8d47663 ref 2024-11-15 10:44:25 +02:00
Yuri Kuznetsov 7cfd221c3a link field handle null name 2024-11-15 10:31:16 +02:00
Yuri Kuznetsov 08bbb3fc99 orm: soft-deleted deferred load handling 2024-11-15 10:21:04 +02:00
Yuri Kuznetsov a7dba3769c orm: do not join deleted 2024-11-15 09:26:45 +02:00
Yuri Kuznetsov acd2869876 ref 2024-11-14 21:27:55 +02:00
Yuri Kuznetsov 5308e1d531 ref 2024-11-14 21:17:19 +02:00
Yuri Kuznetsov 3c70b5cb9b add stream updated at to filters 2024-11-14 18:59:03 +02:00
Yuri Kuznetsov da993afe88 fix version 2024-11-14 18:51:49 +02:00
Yuri Kuznetsov 5326e82ee0 deferred load in converter 2024-11-14 18:46:51 +02:00
Yuri Kuznetsov 95a8dc2742 deferred load 2024-11-14 18:39:27 +02:00
Yuri Kuznetsov 432a0f0474 ref 2024-11-14 18:21:14 +02:00
Yuri Kuznetsov 513a139ef7 ref 2024-11-14 18:11:19 +02:00
Yuri Kuznetsov 923b05b4aa ref 2024-11-14 17:53:22 +02:00
Yuri Kuznetsov 32fe2064ec ref 2024-11-14 17:18:20 +02:00
Yuri Kuznetsov ba0784f4fd orm: return null if parent type does not exist 2024-11-14 17:15:45 +02:00
Yuri Kuznetsov 80aa052247 ref 2024-11-14 16:45:10 +02:00
Yuri Kuznetsov 28e33813a2 orm: related partially loaded 2024-11-14 16:39:51 +02:00
Yuri Kuznetsov 79ef327953 ref 2024-11-14 14:22:23 +02:00
Yuri Kuznetsov f4e5adcf31 fix test 2024-11-14 14:10:07 +02:00
Yuri Kuznetsov 3bd3e8b882 stream updated at 2024-11-14 13:54:22 +02:00
Yuri Kuznetsov 84088c117f style fix 2024-11-14 13:20:18 +02:00
Yuri Kuznetsov 235ee720f4 style fix 2024-11-14 10:50:25 +02:00
Yuri Kuznetsov 7b50fa013e column resize touch screen 2024-11-14 10:46:35 +02:00
Yuri Kuznetsov 5e063ebc7b column resizer style change 2024-11-13 22:13:05 +02:00
Yuri Kuznetsov 3552cdd354 style fix 2024-11-13 21:48:47 +02:00
Yuri Kuznetsov dfae9749fe panel scroll gutter 2024-11-13 21:25:31 +02:00
Yuri Kuznetsov cf7f519ef7 avatar in mention droppdown 2024-11-13 20:59:57 +02:00
Yuri Kuznetsov dbe947ecbe Merge branch 'master' of https://github.com/espocrm/espocrm 2024-11-13 20:20:33 +02:00
dependabot[bot] 7d58415d9c Bump symfony/http-client from 6.4.14 to 6.4.15 (#3206)
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.4.14 to 6.4.15.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/7.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.4.14...v6.4.15)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-13 20:20:21 +02:00
Yuri Kuznetsov 2679fd6124 style fix 2024-11-13 19:32:17 +02:00
Yuri Kuznetsov 3ca6e45117 stream clear view on tab select 2024-11-13 16:39:32 +02:00
Yuri Kuznetsov 7dc31b6236 style fix 2024-11-13 14:34:00 +02:00
Yuri Kuznetsov ca17f4e7c4 mention avatar and own color 2024-11-13 14:24:45 +02:00
Yuri Kuznetsov 0be9c868f9 remove space 2024-11-13 12:39:07 +02:00
Yuri Kuznetsov c3c08536a8 fix input with avatar 2024-11-13 12:09:36 +02:00
Yuri Kuznetsov f12744b413 css fix 2024-11-13 12:05:08 +02:00
Yuri Kuznetsov 2fd1778d45 phone number numeric text 2024-11-13 11:56:03 +02:00
Yuri Kuznetsov 91618ecfe6 fix avatar in input 2024-11-13 11:46:59 +02:00
Yuri Kuznetsov 496337a3af mass update confirm 2024-11-13 11:36:14 +02:00
Yuri Kuznetsov b07aea3441 ref 2024-11-13 11:29:59 +02:00
Yuri Kuznetsov f2a3bbba83 avatar fix 2024-11-13 11:19:02 +02:00
Yuri Kuznetsov a8194fa37e ref 2024-11-13 11:08:58 +02:00
Yuri Kuznetsov 04a10b4b8b input text align fix 2024-11-13 10:45:35 +02:00
Yuri Kuznetsov 905a837ab7 input padding fix to match buttons 2024-11-13 09:38:40 +02:00
Yuri Kuznetsov 4c3611fe7f enum css fix 2024-11-12 19:56:08 +02:00
Yuri Kuznetsov b108efa6d9 row action rerender on parent sync 2024-11-12 19:08:05 +02:00
Yuri Kuznetsov 2d09f2e233 areEqual 2024-11-12 19:07:52 +02:00
Yuri Kuznetsov dd5dbbd1cd fix sticky bar no element 2024-11-12 18:52:16 +02:00
Yuri Kuznetsov c1a18c5d1c fix 2024-11-12 13:21:39 +02:00
Yuri Kuznetsov 63ac6262bc base hook bc alias 2024-11-12 09:03:13 +02:00
Yuri Kuznetsov 4f7677b68e todo comments 2024-11-11 18:20:39 +02:00
Yuri Kuznetsov 9e3e335552 comments 2024-11-11 18:05:14 +02:00
Yuri Kuznetsov e847759d07 comment 2024-11-11 17:49:52 +02:00
Yuri Kuznetsov 07b7a9167e select manager fixes 2024-11-11 17:49:12 +02:00
Yuri Kuznetsov 4c7aa081eb ref 2024-11-11 17:42:44 +02:00
Yuri Kuznetsov 6d1c4d2aa8 const ID usage 2024-11-11 17:41:22 +02:00
Yuri Kuznetsov 0531b7239c ref 2024-11-11 17:15:10 +02:00
Yuri Kuznetsov df1d2ba80b ref 2024-11-11 17:07:08 +02:00
Yuri Kuznetsov af8188685c attribute consts 2024-11-11 17:03:05 +02:00
Yuri Kuznetsov 84b6c57412 const usage 2024-11-11 16:21:23 +02:00
Yuri Kuznetsov 29bee428ed field const usage 2024-11-11 16:14:06 +02:00
Yuri Kuznetsov 9e396b43a8 const usage 2024-11-11 16:04:47 +02:00
Yuri Kuznetsov 8d76eda198 name field consts 2024-11-11 15:46:37 +02:00
Yuri Kuznetsov 9542a66ede fix tests 2024-11-11 14:47:51 +02:00
Yuri Kuznetsov 541df757c6 fix typo 2024-11-11 14:07:49 +02:00
Yuri Kuznetsov d4437b8b62 fix test, findOne withDeleted bc 2024-11-11 12:33:28 +02:00
Yuri Kuznetsov 1da19a0f34 repository find parameter deprecation removal 2024-11-11 12:16:07 +02:00
Yuri Kuznetsov f08856eb56 comments 2024-11-11 12:03:08 +02:00
Yuri Kuznetsov 72795d1a93 ref 2024-11-11 12:02:49 +02:00
Yuri Kuznetsov 7130a3fb99 Merge branch 'fix' 2024-11-11 11:31:30 +02:00
Eymen Elkum 62e23aa416 fix in Table.php (#3204) 2024-11-11 11:31:06 +02:00
Yuri Kuznetsov 10ab5332cd deprecate preferences repo get 2024-11-11 10:11:22 +02:00
Yuri Kuznetsov 2753400b35 restore 2024-11-11 10:08:33 +02:00
Yuri Kuznetsov 13c22411eb cleanup 2024-11-11 09:43:57 +02:00
Yuri Kuznetsov e665423451 category children readonly 2024-11-11 09:09:21 +02:00
Yuri Kuznetsov 9ad41113ec cleanup 2024-11-11 09:06:12 +02:00
Yuri Kuznetsov 4b93f1e8cc phpstan exclude only analyse 2024-11-10 17:49:01 +02:00
Yuri Kuznetsov 48b27116ab phpstan exclude module vendor 2024-11-10 17:08:38 +02:00
Yuri Kuznetsov 48f46ac1ee fix tests 2024-11-10 16:36:40 +02:00
Yuri Kuznetsov 3702df731f bind websocket submission 2024-11-10 10:16:31 +02:00
Yuri Kuznetsov 664c5b0137 ref 2024-11-09 23:24:40 +02:00
Yuri Kuznetsov f6abfdc322 deprecations 2024-11-09 23:00:54 +02:00
Yuri Kuznetsov 0d71616e9a deprecation removal 2024-11-09 15:04:08 +02:00
Yuri Kuznetsov 1f774f50eb deprecation removal 2024-11-09 15:03:02 +02:00
Yuri Kuznetsov 806d0982b3 deprecation removal 2024-11-09 14:59:27 +02:00
Yuri Kuznetsov 17f72cd0ef deprecation removal 2024-11-09 14:56:47 +02:00
Yuri Kuznetsov 79a9112d48 deprecation removal 2024-11-09 14:50:57 +02:00
Yuri Kuznetsov b347902c3c deprecation removal 2024-11-09 14:42:15 +02:00
Yuri Kuznetsov 391948d6fe repository deprecation removal 2024-11-09 14:06:48 +02:00
Yuri Kuznetsov e0668770d0 base entity deprecation removal 2024-11-09 14:00:53 +02:00
Yuri Kuznetsov 77de0877a8 fix tests 2024-11-09 13:34:43 +02:00
Yuri Kuznetsov 39f018d99b remove deprecated injectable and base classes 2024-11-09 13:32:41 +02:00
Yuri Kuznetsov 7a09f08484 deprecation removal 2024-11-09 13:14:04 +02:00
Yuri Kuznetsov 23eb9f6f5b deprecation removal 2024-11-09 13:11:20 +02:00
Yuri Kuznetsov 1dc2319cc3 deprecation removal 2024-11-09 13:03:10 +02:00
Yuri Kuznetsov 4ce1093891 record service deprecation removal 2024-11-09 12:47:21 +02:00
Yuri Kuznetsov c427a0f221 deprecation removal 2024-11-09 12:32:38 +02:00
Yuri Kuznetsov 1f8bee0aca record service deprecation removal 2024-11-09 12:23:48 +02:00
Yuri Kuznetsov 2cbde1f6d5 deprecation removal 2024-11-09 12:23:34 +02:00
Yuri Kuznetsov 0454874755 fix docs 2024-11-09 12:15:50 +02:00
Yuri Kuznetsov 80ffd1bd86 remove deprecations planned for 9.0 2024-11-09 12:06:25 +02:00
Yuri Kuznetsov 6bf37d7f45 ref 2024-11-09 11:46:56 +02:00
Yuri Kuznetsov 04518fbb78 orm: set return static 2024-11-09 11:46:52 +02:00
Yuri Kuznetsov da9c346fa8 less ref 2024-11-09 11:35:49 +02:00
Yuri Kuznetsov a24ed6e63e dropdown max height 2024-11-09 11:29:30 +02:00
Yuri Kuznetsov 1ffe3e1f41 style fix 2024-11-09 11:25:19 +02:00
Yuri Kuznetsov 3879320655 style fix 2024-11-09 11:01:54 +02:00
Yuri Kuznetsov 3443db832c email do not set sent by if draft 2024-11-09 10:54:26 +02:00
Yuri Kuznetsov d7174c916e folder string drafts 2024-11-09 10:53:40 +02:00
Yuri Kuznetsov 1fb4da0954 empty body plain null 2024-11-09 10:45:54 +02:00
Yuri Kuznetsov 99b64cf6a0 email draft impr 2024-11-09 10:35:00 +02:00
Yuri Kuznetsov 2001b1517b fix warning 2024-11-09 10:07:15 +02:00
Yuri Kuznetsov 3ef9fb0f26 email scheduled send 2024-11-09 09:38:11 +02:00
Yuri Kuznetsov bd90b55c4d link multiple factory skip columns without attribute in foreign entity 2024-11-08 18:57:28 +02:00
Yuri Kuznetsov 61fa812e7a style fix 2024-11-08 15:01:09 +02:00
Yuri Kuznetsov 15fc07bf90 fix label 2024-11-08 14:10:03 +02:00
Yuri Kuznetsov 25b4c2fee4 wysiwyg impr style 2024-11-08 14:07:36 +02:00
Yuri Kuznetsov aa8eb8ed67 no popover transition 2024-11-08 11:42:04 +02:00
Yuri Kuznetsov b94ff6e88e move to archive list update fix 2024-11-08 11:25:46 +02:00
Yuri Kuznetsov 7b9bae2dc1 build for test with custom modules 2024-11-08 11:20:45 +02:00
Yuri Kuznetsov e3f5ff2162 mass delete/update exception catch 2024-11-08 10:33:30 +02:00
Yuri Kuznetsov 3b7405f14b fix role table 2024-11-07 21:35:48 +02:00
Yuri Kuznetsov 89278e6856 view user access filter active 2024-11-07 20:48:37 +02:00
Yuri Kuznetsov 11ea52d516 css fix 2024-11-07 20:48:23 +02:00
Yuri Kuznetsov 635866d576 line height fix 2024-11-07 19:03:42 +02:00
Yuri Kuznetsov 2a14b0d8d4 view access only internal 2024-11-07 17:53:13 +02:00
Yuri Kuznetsov acc219aded view user access 2024-11-07 17:41:00 +02:00
Yuri Kuznetsov 635e0b70d2 css fix 2024-11-07 14:32:21 +02:00
Yuri Kuznetsov e0b1aa77dd add to layout alert 2024-11-07 14:04:53 +02:00
Yuri Kuznetsov 73052fb253 ref 2024-11-07 13:48:02 +02:00
Yuri Kuznetsov a82c57d77b formula small font 2024-11-07 13:28:32 +02:00
Yuri Kuznetsov 2ffc3126c6 fix text field 2024-11-07 13:27:34 +02:00
Rabii Brahimi 2e74bc85ce Fix typo: fix typo in address country - is preferred field tooltip. (#3198) 2024-11-07 12:58:00 +02:00
Yuri Kuznetsov 186ce891f7 fix test 2024-11-07 11:32:30 +02:00
Yuri Kuznetsov 184ba90d43 portal access filters support hasOne 2024-11-07 11:16:29 +02:00
Yuri Kuznetsov 53530941a7 date range prevent picker popping up 2024-11-07 10:58:27 +02:00
Yuri Kuznetsov c394e984cd increase timeout 2024-11-07 10:54:16 +02:00
Yuri Kuznetsov a2376c0164 fix 2024-11-07 10:43:19 +02:00
Yuri Kuznetsov 2c7c48f31f fix timepicker js error 2024-11-07 10:36:26 +02:00
Yuri Kuznetsov be11c1e380 duration ref 2024-11-07 10:28:22 +02:00
Yuri Kuznetsov b32c28239c jsdoc 2024-11-07 10:23:46 +02:00
Yuri Kuznetsov 7e1fe452ff ref 2024-11-07 10:16:40 +02:00
Yuri Kuznetsov ec64272e8a ref 2024-11-07 10:12:27 +02:00
Yuri Kuznetsov 75c9ac440b ref 2024-11-07 10:05:05 +02:00
Yuri Kuznetsov 4816ff33a9 timepicker in modal fix 2024-11-07 09:56:58 +02:00
Yuri Kuznetsov 63187df36c css fix 2024-11-07 09:23:07 +02:00
Yuri Kuznetsov 730d5ed346 reactinos test 2024-11-07 09:20:30 +02:00
Yuri Kuznetsov 9407f4ba3d setRelatedLinkOrEntity 2024-11-07 09:03:20 +02:00
Yuri Kuznetsov 6d4b2256a7 radio style fix 2024-11-07 08:47:20 +02:00
Yuri Kuznetsov d23dc3a844 notigication close modal fix 2024-11-06 20:17:59 +02:00
Yuri Kuznetsov 2d3c0d4019 style impr 2024-11-06 20:06:18 +02:00
Yuri Kuznetsov 638a66941d reminders duplicate ignore 2024-11-06 20:06:11 +02:00
Yuri Kuznetsov 8b66fde865 comment 2024-11-06 19:24:40 +02:00
Yuri Kuznetsov f658047dae cleanup reactions 2024-11-06 19:22:59 +02:00
Yuri Kuznetsov 87be549544 ref 2024-11-06 19:17:58 +02:00
Yuri Kuznetsov 1cdad4c471 reaction quick view 2024-11-06 19:15:08 +02:00
Yuri Kuznetsov 80839e9aa1 notification load note ref, load note for reaction 2024-11-06 18:57:01 +02:00
Yuri Kuznetsov 0c17caeccd Merge branch 'master' of https://github.com/espocrm/espocrm 2024-11-06 18:34:07 +02:00
dependabot[bot] 1a40bfbf90 Bump symfony/http-client from 6.0.0 to 6.4.14 (#3197)
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.0.0 to 6.4.14.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/7.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.0.0...v6.4.14)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 18:33:57 +02:00
Yuri Kuznetsov d9385f4b65 Merge branch 'master' of https://github.com/espocrm/espocrm 2024-11-06 18:33:25 +02:00
dependabot[bot] 7460e333bd Bump symfony/process from 6.0.19 to 6.4.14 (#3195)
Bumps [symfony/process](https://github.com/symfony/process) from 6.0.19 to 6.4.14.
- [Release notes](https://github.com/symfony/process/releases)
- [Changelog](https://github.com/symfony/process/blob/7.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/process/compare/v6.0.19...v6.4.14)

---
updated-dependencies:
- dependency-name: symfony/process
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 18:33:12 +02:00
dependabot[bot] 5babb69f5b Bump symfony/http-foundation from 6.0.20 to 6.4.14 (#3196)
Bumps [symfony/http-foundation](https://github.com/symfony/http-foundation) from 6.0.20 to 6.4.14.
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/7.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v6.0.20...v6.4.14)

---
updated-dependencies:
- dependency-name: symfony/http-foundation
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 18:31:09 +02:00
Yuri Kuznetsov 77b20a9287 ref 2024-11-06 16:57:08 +02:00
Yuri Kuznetsov aa777a2a8f reactions update counts before sync 2024-11-06 16:39:53 +02:00
Yuri Kuznetsov b8c6f38cad popover close on header click fix 2024-11-06 15:41:00 +02:00
Yuri Kuznetsov b33d93acff style fix 2024-11-06 15:39:08 +02:00
Yuri Kuznetsov f0cdd1866b do not rerender row actions if opened 2024-11-06 15:37:14 +02:00
Yuri Kuznetsov 0f127091c2 reactions 2024-11-06 14:14:12 +02:00
Yuri Kuznetsov 4d868ce59f update bull 2024-11-06 13:18:51 +02:00
Yuri Kuznetsov 5147979ae2 line height precise 2024-11-04 18:45:49 +02:00
Yuri Kuznetsov e989304b3a style fix 2024-11-04 18:40:49 +02:00
Yuri Kuznetsov b16e8ba47a fix 2024-11-04 15:05:09 +02:00
Yuri Kuznetsov 5d8ac83206 style fix 2024-11-04 13:20:00 +02:00
Yuri Kuznetsov a490e6b1bd popup reminder close style 2024-11-04 13:04:43 +02:00
Yuri Kuznetsov ca14490e7b close style fix 2024-11-04 12:59:51 +02:00
Yuri Kuznetsov 77df2ed4ce array field add ref 2024-11-03 17:57:48 +02:00
Yuri Kuznetsov d47e2e68b1 icon usage fix 2024-11-01 16:14:18 +02:00
Yuri Kuznetsov e1ef35ac83 style fixes 2024-11-01 15:33:39 +02:00
Yuri Kuznetsov 6c37b3c372 icons style fix, ref 2024-11-01 15:19:53 +02:00
Yuri Kuznetsov 2f3d3e3096 style fixes 2024-11-01 13:57:26 +02:00
Yuri Kuznetsov 75594677bb fix 2024-11-01 12:12:22 +02:00
Yuri Kuznetsov 99664e76e7 font familiy in variable 2024-11-01 12:06:45 +02:00
Yuri Kuznetsov 126c785844 editor font 2024-11-01 12:02:46 +02:00
Yuri Kuznetsov 577dfa31bf print unescape unicode 2024-11-01 10:14:30 +02:00
Yuri Kuznetsov b6cc67fad8 style impr 2024-11-01 10:05:51 +02:00
Yuri Kuznetsov e310dde808 fix 2024-11-01 09:41:46 +02:00
Yuri Kuznetsov 7d423591c1 top bar height increase 2024-11-01 09:40:15 +02:00
Yuri Kuznetsov 493bcbd63e side navbar minibized increase width 2024-11-01 09:35:59 +02:00
Yuri Kuznetsov f0a61d8bd0 style fix 2024-11-01 09:28:04 +02:00
Yuri Kuznetsov 5beddd0935 line height increase 2024-11-01 09:26:38 +02:00
Yuri Kuznetsov 4d406f3803 layout ignore list for detail types 2024-10-31 19:26:35 +02:00
Yuri Kuznetsov 1f33e907a5 layout ignore list for any type 2024-10-31 19:24:46 +02:00
Yuri Kuznetsov 7d3292311c assignment checker ref 2024-10-31 18:56:57 +02:00
Yuri Kuznetsov d1d17eefb3 assigmnent checker skip own 2024-10-31 18:39:11 +02:00
Yuri Kuznetsov 77a98f5b34 send label 2024-10-31 16:50:29 +02:00
Yuri Kuznetsov 5819cdb8d7 email replied teams check 2024-10-31 16:46:01 +02:00
Yuri Kuznetsov fefa76be57 style fix 2024-10-31 16:19:13 +02:00
Yuri Kuznetsov ef5a13c313 rem usage 2024-10-31 15:50:06 +02:00
Yuri Kuznetsov 251dcbbf3c fix icon class 2024-10-31 14:50:48 +02:00
Yuri Kuznetsov ca9c8b8633 style fix 2024-10-31 14:50:14 +02:00
Yuri Kuznetsov 7f52cc7ac9 phone link extension 2024-10-31 13:47:03 +02:00
Yuri Kuznetsov 2a025e1587 role table ref 2024-10-31 13:19:38 +02:00
Yuri Kuznetsov 0f51d3c19c role table ref 2024-10-31 11:26:16 +02:00
Yuri Kuznetsov f9bead9809 comment out window scroll 2024-10-30 22:14:50 +02:00
Yuri Kuznetsov a7ceb91e7a fix 2024-10-30 22:11:24 +02:00
Yuri Kuznetsov 1969c9488a rem usage 2024-10-30 20:43:02 +02:00
Yuri Kuznetsov 6f866d2b10 jsdoc 2024-10-30 20:25:17 +02:00
Yuri Kuznetsov e8cf54cfb8 portal application name 2024-10-30 19:36:07 +02:00
Yurii Kuznietsov 61f6d55934 Revert "portal application name (#3191)" (#3192)
This reverts commit 89cb67d2b9.
2024-10-30 19:16:12 +02:00
Eymen Elkum 89cb67d2b9 portal application name (#3191) 2024-10-30 19:08:17 +02:00
Yuri Kuznetsov 123013db81 monospace italic font 2024-10-30 19:06:20 +02:00
Yuri Kuznetsov a6d6042bd7 cleanup 2024-10-30 19:02:14 +02:00
Yuri Kuznetsov 36ba328437 navbar size fix 2024-10-30 18:57:40 +02:00
Yuri Kuznetsov 6be444cc60 ref 2024-10-30 18:53:16 +02:00
Yuri Kuznetsov d6e1dbaa88 ref 2024-10-30 18:46:15 +02:00
Yuri Kuznetsov bc6afa7e2a style fix 2024-10-30 18:14:07 +02:00
Yuri Kuznetsov 9265e67395 less cleanup 2024-10-30 16:49:42 +02:00
Yuri Kuznetsov 0dd04e4c20 no gutter with modal 2024-10-30 16:33:10 +02:00
Yuri Kuznetsov 97684f2926 fix 2024-10-30 16:30:59 +02:00
Yuri Kuznetsov be5cb91e8b ref less 2024-10-30 16:28:31 +02:00
Yuri Kuznetsov d7e6dbc998 layout add field 2024-10-30 16:27:20 +02:00
Yuri Kuznetsov 8aa7e8d563 tooltip variables 2024-10-30 16:21:36 +02:00
Yuri Kuznetsov d5e24f7d3e less ref 2024-10-30 16:13:05 +02:00
Yuri Kuznetsov 10da8accd0 less ref 2024-10-30 16:10:02 +02:00
Yuri Kuznetsov fbc38c9a87 less ref 2024-10-30 15:58:13 +02:00
Yuri Kuznetsov 3557902066 less ref 2024-10-30 15:50:53 +02:00
Yuri Kuznetsov 2364cb096f less ref 2024-10-30 15:43:42 +02:00
Yuri Kuznetsov ededfa1a3d less ref 2024-10-30 15:34:59 +02:00
Yuri Kuznetsov de15ff1594 less ref 2024-10-30 15:27:12 +02:00
Yuri Kuznetsov aa7d6b4f35 less ref 2024-10-30 15:22:29 +02:00
Yuri Kuznetsov 7d1c26858f less ref 2024-10-30 14:53:43 +02:00
Yuri Kuznetsov a5a09d30b8 less ref 2024-10-30 14:37:00 +02:00
Yuri Kuznetsov ae2be2326a less ref 2024-10-30 14:32:42 +02:00
Yuri Kuznetsov 320ff7a9c2 less ref 2024-10-30 14:06:10 +02:00
Yuri Kuznetsov b72b9e258e less ref 2024-10-30 14:00:21 +02:00
Yuri Kuznetsov 16c4945e80 less ref 2024-10-30 12:27:47 +02:00
Yuri Kuznetsov 67b0d2fa31 less ref 2024-10-30 12:20:32 +02:00
Yuri Kuznetsov 4aaafb5cc4 less ref 2024-10-30 12:10:39 +02:00
Yuri Kuznetsov 5484ba64b1 less ref 2024-10-30 12:05:47 +02:00
Yuri Kuznetsov 28b52953bc less ref 2024-10-30 11:30:37 +02:00
Yuri Kuznetsov 44ea5abc2e less ref 2024-10-30 11:18:06 +02:00
Yuri Kuznetsov 6e70cc9c79 less ref 2024-10-30 11:05:03 +02:00
Yuri Kuznetsov 994611e8f4 less ref 2024-10-30 10:41:39 +02:00
Yuri Kuznetsov 92755b1eb1 less ref 2024-10-30 10:33:03 +02:00
Yuri Kuznetsov 7fd17abf19 grunt less 2024-10-30 10:19:05 +02:00
Yuri Kuznetsov 8c69724c43 less ref 2024-10-30 10:16:37 +02:00
Yuri Kuznetsov 9a784a0bca less ref 2024-10-30 10:11:52 +02:00
Yuri Kuznetsov 82618263c4 less ref 2024-10-30 09:55:13 +02:00
Yuri Kuznetsov acb8e5c77b less ref 2024-10-30 09:35:35 +02:00
Yuri Kuznetsov 94435251e2 ref 2024-10-29 21:58:13 +02:00
Yuri Kuznetsov 28025a3e20 ref 2024-10-29 21:51:08 +02:00
Yuri Kuznetsov ec021fb63b ref 2024-10-29 21:41:58 +02:00
Yuri Kuznetsov 2c6dd05ec8 ref 2024-10-29 21:29:17 +02:00
Yuri Kuznetsov 95a4ca9524 url export prepend https 2024-10-29 21:22:50 +02:00
Yuri Kuznetsov 0fdd1c6209 rem usage 2024-10-29 20:33:52 +02:00
Yuri Kuznetsov be15362cda fix 2024-10-29 19:38:09 +02:00
Yuri Kuznetsov 45f6d3d3b3 rem usage 2024-10-29 18:52:24 +02:00
Yuri Kuznetsov 81d79f8287 use rem 2024-10-29 18:48:00 +02:00
Yuri Kuznetsov 230b6b17b5 fix 2024-10-29 17:40:09 +02:00
Yuri Kuznetsov c6f5a542ab fix 2024-10-29 17:37:06 +02:00
Yuri Kuznetsov 3450ead098 cleanup 2024-10-29 17:35:33 +02:00
Yuri Kuznetsov f76b729ff7 fix 2024-10-29 17:30:27 +02:00
Yuri Kuznetsov 0bf957c9d0 rem usage 2024-10-29 17:19:24 +02:00
Yuri Kuznetsov 0b47c67c71 rem usage 2024-10-29 17:06:33 +02:00
Yuri Kuznetsov 8eaef843d0 rem usage 2024-10-29 16:41:00 +02:00
Yuri Kuznetsov 0a2f9b1516 rem usage 2024-10-29 16:30:05 +02:00
Yuri Kuznetsov 43d5cb71f3 rem usage 2024-10-29 16:19:59 +02:00
Yuri Kuznetsov d759485a1b rem usage 2024-10-29 16:07:28 +02:00
Yuri Kuznetsov 7b951eb420 rem usage 2024-10-29 15:43:22 +02:00
Yuri Kuznetsov ff16cff48f css ref 2024-10-29 15:12:44 +02:00
Yuri Kuznetsov 1babcce452 navbar rem 2024-10-29 14:52:32 +02:00
Yuri Kuznetsov 090ebd7277 scrollbar gutter 2024-10-29 13:39:48 +02:00
Yuri Kuznetsov d633686a7d mono font 2024-10-29 13:08:00 +02:00
Yuri Kuznetsov 57a5dfcfb7 using rem 2024-10-29 12:46:55 +02:00
Yuri Kuznetsov 205b281520 reply email avatars 2024-10-27 10:14:35 +02:00
Yuri Kuznetsov e941ca31a2 revert load link-multiple logic 2024-10-27 10:02:06 +02:00
Yuri Kuznetsov 977e1868e7 avatar no user select 2024-10-27 09:32:06 +02:00
Yuri Kuznetsov f593ccfbe3 avatar not draggable 2024-10-27 09:31:19 +02:00
Yuri Kuznetsov bb8a527ff6 email address avatar 2024-10-27 09:28:22 +02:00
Yuri Kuznetsov 0a0016335c assigned user avatar impr 2024-10-26 20:13:29 +03:00
Yuri Kuznetsov bf9cae23d7 assigned user avatar in edit 2024-10-26 17:15:22 +03:00
Yuri Kuznetsov d1ac36fe89 style fix 2024-10-26 16:49:57 +03:00
Yuri Kuznetsov ec30c986a9 assigned users avatar in edit 2024-10-26 14:03:37 +03:00
Yuri Kuznetsov 2b6d2cf11b jsdocs 2024-10-26 13:22:44 +03:00
Yuri Kuznetsov 59fefa7d24 set foreignAccessDisabled 2024-10-26 10:53:00 +03:00
Yuri Kuznetsov 73fed8f533 remove field from text filters 2024-10-26 10:07:09 +03:00
Yuri Kuznetsov e33e89e093 ref 2024-10-26 09:58:30 +03:00
Yuri Kuznetsov 80440e7bf1 remove shared 2024-10-25 21:14:15 +03:00
Yuri Kuznetsov 16bec44768 email read-only fields 2024-10-25 18:34:09 +03:00
Yuri Kuznetsov 52d9e466d1 fix note 2024-10-25 18:30:23 +03:00
Yuri Kuznetsov 089fc98fde collaborators 2024-10-25 17:25:40 +03:00
Yuri Kuznetsov 21541aefe9 loadLinkMultipleField change 2024-10-25 16:15:49 +03:00
Yuri Kuznetsov 475ba6d2f4 link multiple item create with name 2024-10-24 11:55:21 +03:00
Yuri Kuznetsov 44b904b54e Merge branch 'fix' 2024-10-23 20:03:43 +03:00
Yuri Kuznetsov 0871582a5e double export request fix 2024-10-23 20:03:34 +03:00
Yuri Kuznetsov d96a9943b3 list related primary filter 2024-10-23 19:51:21 +03:00
Yuri Kuznetsov de3e15c893 fix role ui 2024-10-23 11:02:07 +03:00
Yuri Kuznetsov 2499a2b252 mass move confirmation 2024-10-23 09:50:19 +03:00
Yuri Kuznetsov e236aeaf08 emails: move to folder gray out current 2024-10-23 09:47:35 +03:00
Yuri Kuznetsov 5c8966e410 allow stars in portals 2024-10-22 18:47:35 +03:00
Yuri Kuznetsov b2b0d5dbd1 allow stream tab in tab-list for portals 2024-10-22 18:42:57 +03:00
Yurii Kuznietsov c0b0720c0f Update CONTRIBUTING.md 2024-10-22 18:26:39 +03:00
Yurii Kuznietsov 6c5fdbd092 Update CONTRIBUTING.md 2024-10-22 18:22:25 +03:00
Yuri Kuznetsov fa947e0d15 no expand toggle in portal 2024-10-22 17:45:55 +03:00
Yuri Kuznetsov a35047e770 remove kb portal height 2024-10-22 17:42:50 +03:00
Yuri Kuznetsov b58e5383e0 show no records moved 2024-10-22 17:16:59 +03:00
Yuri Kuznetsov 9a1c843c37 fixes 2024-10-22 17:13:10 +03:00
Yuri Kuznetsov 97c558e1cf emails: no drag if all result 2024-10-22 17:11:17 +03:00
Yuri Kuznetsov a16dd93c5d ref 2024-10-22 17:02:43 +03:00
Yuri Kuznetsov 3e30b05bd1 move to group folder adds users 2024-10-22 16:46:35 +03:00
Yuri Kuznetsov c0ca12bc9e apply group folder teams when added by filter 2024-10-22 16:43:07 +03:00
Yuri Kuznetsov 8a7e4fa8da email fetch: add users from group folder when folder is added by filter 2024-10-22 14:41:24 +03:00
Yuri Kuznetsov 88e6f47d11 email fetch: add useres from group folder 2024-10-22 13:38:26 +03:00
Yuri Kuznetsov 4fe7a03878 fix test 2024-10-22 12:24:19 +03:00
Yuri Kuznetsov fe18478d39 group email account layout change 2024-10-22 12:05:35 +03:00
Yuri Kuznetsov 4d7e54cc92 email importer ref 2024-10-22 11:36:13 +03:00
Yuri Kuznetsov d1a44c6eb0 resize style change 2024-10-21 22:48:45 +03:00
Yuri Kuznetsov ef75dc94a7 fields readonly 2024-10-21 20:15:52 +03:00
Yuri Kuznetsov ecba53162a rename 2024-10-21 20:15:04 +03:00
Yuri Kuznetsov ab39cf9324 email filter: skip notification 2024-10-21 20:10:41 +03:00
Yuri Kuznetsov 4e92bbd942 css fix 2024-10-21 15:56:28 +03:00
Yuri Kuznetsov 96cb63c73d categories: toggle impr 2024-10-21 15:54:31 +03:00
Yuri Kuznetsov b57fd8d56e categories: no refresh header, cs, docs 2024-10-21 15:19:25 +03:00
Yuri Kuznetsov e4f45caa48 no notify 2024-10-21 13:12:53 +03:00
Yuri Kuznetsov df7f75ec52 column resize 2024-10-21 10:43:34 +03:00
Yuri Kuznetsov 12ec81b330 font license.txt 2024-10-18 20:15:04 +03:00
Yuri Kuznetsov 956941ae12 layout fixes 2024-10-18 16:30:14 +03:00
Yuri Kuznetsov 727a189585 list layout default width 2024-10-18 16:25:57 +03:00
Yuri Kuznetsov 6bbe9fc515 ref 2024-10-18 16:18:41 +03:00
Yuri Kuznetsov 0310abe526 width validation 2024-10-18 16:04:31 +03:00
Yuri Kuznetsov 8c4a28aa80 fix spinner 2024-10-18 14:20:22 +03:00
Yuri Kuznetsov c6382a4a96 expand/collapse toggle 2024-10-18 13:27:41 +03:00
Yuri Kuznetsov fd4dbb61c4 autocomplete link style fix 2024-10-18 12:43:08 +03:00
Yuri Kuznetsov 6bba09641d style fix 2024-10-18 12:28:28 +03:00
Yuri Kuznetsov c53542b9f0 fixes in categories 2024-10-18 12:04:32 +03:00
Yuri Kuznetsov 0713f1d8b8 fix cetegories 2024-10-18 11:28:37 +03:00
Yuri Kuznetsov 5e30232749 ref 2024-10-18 11:17:18 +03:00
Yuri Kuznetsov f7f4edcd55 expanded label 2024-10-18 10:38:41 +03:00
Yuri Kuznetsov 0075f06f4f more filter fields 2024-10-18 10:08:14 +03:00
Yuri Kuznetsov bf362464d6 categories impr 2024-10-17 23:57:26 +03:00
Yuri Kuznetsov 663300e606 style fix 2024-10-17 23:49:08 +03:00
Yuri Kuznetsov e7ed8c8b56 fix double fetch 2024-10-17 23:44:01 +03:00
Yuri Kuznetsov de12f04e46 ref, cleanup 2024-10-17 23:38:56 +03:00
Yuri Kuznetsov cb72b2f906 categories: no force top bar 2024-10-17 23:23:25 +03:00
Yuri Kuznetsov 38a9222c06 categories change 2024-10-17 23:19:47 +03:00
Yuri Kuznetsov 279efb8c91 email template more filters 2024-10-17 20:02:01 +03:00
Yuri Kuznetsov 64c87afaeb categories no folders 2024-10-17 19:53:10 +03:00
Yuri Kuznetsov 1497225be1 categories top level label 2024-10-17 19:34:47 +03:00
Yuri Kuznetsov 80c565a407 categories impr 2 2024-10-17 19:17:02 +03:00
Yuri Kuznetsov 30a71f17a5 categories ui impr 2024-10-17 19:03:27 +03:00
Yuri Kuznetsov 813ed444cf add body filter 2024-10-17 18:00:52 +03:00
Yuri Kuznetsov 668c48ef51 ref 2024-10-17 17:44:37 +03:00
Yuri Kuznetsov 33e977b796 user check 2024-10-17 17:04:52 +03:00
Yuri Kuznetsov 5d144f0063 notification icon 2024-10-17 16:40:27 +03:00
Yuri Kuznetsov 7d18ed3222 email: notify user when added 2024-10-17 16:35:45 +03:00
Yuri Kuznetsov bc2bb3d4a2 link-multiple save relate option, ref 2024-10-17 15:17:55 +03:00
Yuri Kuznetsov 012dfc85ed ref 2024-10-17 14:39:40 +03:00
Yuri Kuznetsov 3c2a97ae23 fix duration dst shift issue 2024-10-17 14:34:41 +03:00
Yuri Kuznetsov 3dcf056dd1 email: view and add users 2024-10-17 13:20:29 +03:00
Yuri Kuznetsov 51e8dd29e7 fix docs 2024-10-17 12:37:07 +03:00
Yuri Kuznetsov 40ff7d3ccd jsdocs 2024-10-17 12:06:25 +03:00
Yuri Kuznetsov 5478f5ae8b schema 2024-10-17 11:47:17 +03:00
Yuri Kuznetsov 94c65a0592 css fix, email folders small screen 2024-10-17 11:08:28 +03:00
Yuri Kuznetsov 75388a4d09 remove Pragma header 2024-10-17 11:04:11 +03:00
Yuri Kuznetsov 4645cfe35c numeric text tabular all 2024-10-17 10:16:38 +03:00
Yuri Kuznetsov b4682563d6 change layout 2024-10-16 22:26:41 +03:00
Yuri Kuznetsov 57c7254fd5 border radius changes 2024-10-16 22:18:45 +03:00
dependabot[bot] 86439d28ad Bump cookie and express (#3183)
Bumps [cookie](https://github.com/jshttp/cookie) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `cookie` from 0.6.0 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1)

Updates `express` from 4.21.0 to 4.21.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.1)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 16:32:35 +03:00
Yuri Kuznetsov b63e78a432 font 2024-10-16 13:50:03 +03:00
Yuri Kuznetsov 699705d44a fix 2024-10-15 16:16:43 +03:00
Yuri Kuznetsov 3d1a2320de reminder preferences fallback 2024-10-15 16:03:01 +03:00
Yuri Kuznetsov 3a750f505b phone field css fix 2024-10-15 11:58:37 +03:00
Yuri Kuznetsov 63a05ca140 icons update 2024-10-15 11:29:55 +03:00
Yuri Kuznetsov f68b7c99be Merge branch 'fix' 2024-10-15 10:49:50 +03:00
Yuri Kuznetsov af2a0a2ae5 fix formula fetch link multiple 2024-10-15 10:48:24 +03:00
Yuri Kuznetsov b8f40403fb recordHelper public 2024-10-14 18:22:16 +03:00
Yuri Kuznetsov 0e97336604 Merge branch 'fix' 2024-10-14 14:21:44 +03:00
Yuri Kuznetsov e265cd88f8 fix color 2024-10-14 13:13:50 +03:00
Yuri Kuznetsov 9cc5d78586 email tasks more status 2024-10-14 13:02:02 +03:00
Yuri Kuznetsov df17be4f1b email tasks field impr 2024-10-14 13:00:52 +03:00
Yuri Kuznetsov 74a40fdf98 status fields as label 2024-10-14 11:44:11 +03:00
Yuri Kuznetsov bf40149a14 fix test 2024-10-13 14:11:03 +03:00
Yuri Kuznetsov 06eb0d0020 orm: refresh entity clear not fetched attributes 2024-10-13 10:54:28 +03:00
Yuri Kuznetsov 73c3fcfb65 email list style impr 2024-10-12 16:19:27 +03:00
Yuri Kuznetsov d743e1ce1d impr 2024-10-12 16:12:44 +03:00
Yuri Kuznetsov e971848ed1 emails ui impr 2024-10-12 16:01:13 +03:00
Yuri Kuznetsov ec4e52b9b9 fix labels 2024-10-12 15:11:08 +03:00
Yuri Kuznetsov 33b9f0cf19 layout change 2024-10-12 13:13:32 +03:00
Yuri Kuznetsov 2d85a222e5 folder groups 2024-10-12 13:10:27 +03:00
Yuri Kuznetsov 4ae30b4b6b text field image attachment paste 2024-10-12 12:18:17 +03:00
Yuri Kuznetsov c68cc0b17f remove image help 2024-10-12 09:06:00 +03:00
Yuri Kuznetsov 83fbdc4a16 markdown image help 2024-10-11 20:07:36 +03:00
Yuri Kuznetsov 112d495b9c img height 2024-10-11 20:07:19 +03:00
Yuri Kuznetsov ba97229767 text image load fix 2024-10-11 19:47:54 +03:00
Yuri Kuznetsov ea7277042b complex-text img max width 2024-10-11 19:24:01 +03:00
Yuri Kuznetsov 4a9a8cef8b ref 2024-10-11 18:45:20 +03:00
Yuri Kuznetsov 4b79acfec1 link check parent field 2024-10-11 18:28:57 +03:00
Yuri Kuznetsov bd44427e8d ref 2024-10-11 18:23:10 +03:00
Yuri Kuznetsov 92a9dda434 text field preview 2024-10-11 16:19:05 +03:00
Yuri Kuznetsov 4a3cc8a3c8 note search by created by team 2024-10-11 12:48:26 +03:00
Yuri Kuznetsov f77302b007 email to tasl: add email to assigned user inbox 2024-10-11 11:17:38 +03:00
Yuri Kuznetsov 500ad83af6 hard rebuild skip confirm 2024-10-10 19:26:56 +03:00
Yuri Kuznetsov 94065bfa34 email to task originalEmailId 2024-10-10 18:42:48 +03:00
Yuri Kuznetsov 150677be0b Merge branch 'fix' 2024-10-10 18:21:11 +03:00
Yuri Kuznetsov 2a64537da1 8.4.2 2024-10-10 18:09:49 +03:00
Yuri Kuznetsov 6d3c765ef6 kanban group change save handler 2024-10-10 17:58:41 +03:00
Yuri Kuznetsov f50ea4607f link without field do not allow 2024-10-10 17:32:45 +03:00
Yuri Kuznetsov 092ae6d825 fix message 2024-10-10 16:25:19 +03:00
Yuri Kuznetsov 754612e179 email move to group audited 2024-10-10 15:52:08 +03:00
Yuri Kuznetsov 59e4098936 group folder move messages, change 2024-10-10 15:16:18 +03:00
Yuri Kuznetsov b3a670f700 ref 2024-10-10 14:50:14 +03:00
Yuri Kuznetsov 348db2f7d5 email: group folder changes 2024-10-10 14:49:51 +03:00
Yuri Kuznetsov c061b8e7ac fix lang 2024-10-10 11:33:26 +03:00
Yuri Kuznetsov 9f7af015c6 fix lang 2024-10-10 11:32:09 +03:00
Yuri Kuznetsov fcf5f0ece5 preserve audit log param in UI 2024-10-10 11:27:29 +03:00
Yuri Kuznetsov e859068670 preserve audit log param 2024-10-10 10:45:39 +03:00
Yuri Kuznetsov 6d9fe6b69f modal title no select 2024-10-09 21:33:01 +03:00
Yuri Kuznetsov a0d99403f8 icon 2024-10-09 21:29:07 +03:00
Yuri Kuznetsov 2ddb31eaca change label 2024-10-09 21:22:09 +03:00
Yuri Kuznetsov b163f2107f move to folder icons 2024-10-09 19:54:07 +03:00
Yuri Kuznetsov 3a526291a2 all icon 2024-10-09 19:26:25 +03:00
Yuri Kuznetsov b85666d21b align all 2024-10-09 18:24:37 +03:00
Yuri Kuznetsov 6ce7856902 stream: force one assignee for emails 2024-10-09 16:16:30 +03:00
Yuri Kuznetsov 1aa004b0a6 email assignment notification force 2024-10-09 16:07:47 +03:00
Yuri Kuznetsov d2fc0c778b force assignment notifications public 2024-10-09 15:59:11 +03:00
Yuri Kuznetsov d1338a1f26 relate reply email with group folder 2024-10-09 15:12:11 +03:00
Yuri Kuznetsov 4d23fe172b email folders color 2024-10-09 14:22:32 +03:00
Yuri Kuznetsov e6d26be73b email folder icons 2024-10-09 14:05:54 +03:00
Yuri Kuznetsov ba42a90287 do not list sent emails in group folder 2024-10-09 11:33:14 +03:00
Yuri Kuznetsov fe1c836063 group email folder layout change 2024-10-09 11:11:05 +03:00
Yuri Kuznetsov 02f80b0b1a ref 2024-10-09 11:02:32 +03:00
Yuri Kuznetsov fccafe577e email folder string display sent and group 2024-10-09 10:56:18 +03:00
Yuri Kuznetsov e037f2b7de fix docs 2024-10-09 10:45:40 +03:00
Yuri Kuznetsov 64ff2df0c5 case link checker use originalEmailId 2024-10-09 10:29:05 +03:00
Yuri Kuznetsov db79d30efb only one ID if no link-multiple 2024-10-09 10:28:41 +03:00
Yuri Kuznetsov 6406f50928 ref 2024-10-09 09:20:03 +03:00
Yuri Kuznetsov ade7f782b8 relations save test 2024-10-08 20:13:14 +03:00
Yuri Kuznetsov 95571c1c51 cleanup 2024-10-08 20:00:56 +03:00
Yuri Kuznetsov 0f85f68137 skip link IDs save when update 2024-10-08 19:52:45 +03:00
Yuri Kuznetsov 3716378d2c change 2024-10-08 18:35:16 +03:00
Yuri Kuznetsov 9fc2357e1e email to case: no emails link usage 2024-10-08 18:34:39 +03:00
Yuri Kuznetsov d2ff6bd4f7 ref 2024-10-08 17:14:03 +03:00
Yuri Kuznetsov 08b4b621c4 ref, cs 2024-10-08 16:41:33 +03:00
Yuri Kuznetsov 05ea909014 fix prev 2024-10-08 16:40:14 +03:00
Yuri Kuznetsov 54edb9a684 fix router cancel leave out if navigated with trigger true 2024-10-08 16:32:56 +03:00
Yuri Kuznetsov 80a48fabf3 change cleanup periods 2024-10-08 11:56:33 +03:00
Yuri Kuznetsov 9613437895 navbar item view, disable tab search in portal 2024-10-08 09:32:19 +03:00
Yuri Kuznetsov ab2fff0a68 tab search all tabs 2024-10-08 09:16:16 +03:00
Yuri Kuznetsov ddee877eda Merge branch 'fix' 2024-10-07 19:30:52 +03:00
Yuri Kuznetsov 8f96c8c3e1 build cleanup modules 2024-10-07 19:26:29 +03:00
Yuri Kuznetsov edb8cc998b build cleanup modules 2024-10-07 19:26:02 +03:00
Yuri Kuznetsov fcad3415bc Merge branch 'master' of https://github.com/espocrm/espocrm 2024-10-07 18:19:15 +03:00
dependabot[bot] 62b0515e7f Bump phpoffice/phpspreadsheet from 1.29.1 to 1.29.2 (#3174)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.29.1 to 1.29.2.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.2/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.29.1...1.29.2)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 18:19:07 +03:00
Yuri Kuznetsov 2ce4d69f3b ref 2024-10-07 17:01:34 +03:00
Yuri Kuznetsov 0476812791 tab-quick-search 2024-10-07 15:56:34 +03:00
Yuri Kuznetsov 7714a299aa email: do not add portal user as assigned 2024-10-07 12:44:20 +03:00
Yuri Kuznetsov a374d7046f view related ref 2024-10-07 11:55:59 +03:00
Yuri Kuznetsov 2c4d853a5b datetimeShort ref 2024-10-07 11:36:28 +03:00
Yuri Kuznetsov 4ff67f11ed yest label check 2024-10-07 11:14:27 +03:00
Yuri Kuznetsov 58cf137237 Yesterday abbr 2024-10-07 11:12:21 +03:00
Yuri Kuznetsov 287488f49e email move impr 2024-10-06 16:36:19 +03:00
Yuri Kuznetsov b917ad84aa dropdown icons soft color 2024-10-06 10:02:42 +03:00
Yuri Kuznetsov b882cc0ba0 dashlet actions dividers 2024-10-06 09:59:53 +03:00
Yuri Kuznetsov 422162eba3 ref 2024-10-06 09:49:04 +03:00
Yuri Kuznetsov 15b2ba3f3f fix test 2024-10-05 14:28:17 +03:00
Yuri Kuznetsov 7969d6aa91 fix upgrade ID 2024-10-05 14:20:18 +03:00
Yuri Kuznetsov 34d0ea1114 url attribute emailId 2024-10-05 12:52:12 +03:00
Yuri Kuznetsov 86abdeb759 fullFormUrl option 2024-10-05 12:48:40 +03:00
Yuri Kuznetsov 36f2c14fda cleanup 2024-10-05 12:28:03 +03:00
Yuri Kuznetsov 964180ed24 email assignment notification 2024-10-05 11:31:45 +03:00
Yuri Kuznetsov 805a648145 email assignmed users view 2024-10-05 11:31:33 +03:00
Yuri Kuznetsov 59c13169a2 cleanup 2024-10-05 10:39:08 +03:00
Yuri Kuznetsov a645bb7016 fix test 2024-10-05 10:17:54 +03:00
Yuri Kuznetsov f3c7fa51ac BaseEntity: array to string 2024-10-05 10:17:46 +03:00
Yuri Kuznetsov dbaf3acaa3 email hash fields proper type 2024-10-05 10:04:42 +03:00
Yuri Kuznetsov 7ef73cc75a BaseEntity: object to string case prevent error 2024-10-05 10:04:22 +03:00
Yuri Kuznetsov fdc2e601d2 BaseEntity: cast to string 2024-10-05 09:56:16 +03:00
Yuri Kuznetsov a67b93cec0 noLabel 2024-10-04 22:18:35 +03:00
Yuri Kuznetsov 22c647c593 complex text check if string 2024-10-04 19:49:41 +03:00
Yuri Kuznetsov a7a79eda46 tabs ref 2024-10-04 16:35:34 +03:00
Yuri Kuznetsov df4e190e05 forbid Home entity type 2024-10-04 16:02:13 +03:00
Yuri Kuznetsov 2e5f05d52e global search ui ref 2024-10-04 15:29:34 +03:00
Yuri Kuznetsov 58f819aeb9 docs, cs 2024-10-04 12:54:59 +03:00
Yuri Kuznetsov 225835f001 ref 2024-10-04 12:17:05 +03:00
Yuri Kuznetsov b353ad1555 set held notify 2024-10-04 12:10:43 +03:00
Yuri Kuznetsov 12869c1485 Merge branch 'fix' 2024-10-04 11:44:01 +03:00
Yuri Kuznetsov 43749cbabb task email link no foreign name 2024-10-04 11:43:45 +03:00
Yuri Kuznetsov 8b17c62d83 schema 2024-10-04 11:24:51 +03:00
Yuri Kuznetsov b0c2dda498 email: mark as read shortcut 2024-10-04 10:30:11 +03:00
Yuri Kuznetsov 9a9e502fa7 formula function autocomplete impr 2024-10-03 16:41:07 +03:00
Yuri Kuznetsov 7509fc07a7 remove unsafe 2024-10-03 16:35:10 +03:00
Yuri Kuznetsov 07bc909032 formula markdown transform 2024-10-03 16:33:10 +03:00
Yuri Kuznetsov cd469903d2 preview small 2024-10-03 14:23:03 +03:00
Yuri Kuznetsov 02ab3237d4 jsdocs 2024-10-03 14:16:12 +03:00
Yuri Kuznetsov 49d1f2706e bin/command x public permission 2024-10-03 13:01:00 +03:00
Yurii Kuznietsov 4853f38774 Update README.md 2024-10-03 11:55:24 +03:00
Yuri Kuznetsov 4193034b51 quote reply extra new line 2024-10-03 09:57:02 +03:00
Yuri Kuznetsov 9491296c2a quote reply timeout 2024-10-02 20:21:35 +03:00
Yuri Kuznetsov f031635574 quote reply scroll 2024-10-02 16:01:22 +03:00
Yuri Kuznetsov 7ae0d22de0 note status update notification superParent load 2024-10-02 12:12:10 +03:00
Yuri Kuznetsov fabd2ed605 emails all folder hide some mass actions 2024-10-02 09:46:52 +03:00
Yuri Kuznetsov 38904f5dad removeDisabled list-related 2024-10-01 16:38:05 +03:00
Yuri Kuznetsov 5725cfd3ab related list remove disabled 2024-10-01 16:36:06 +03:00
Yuri Kuznetsov 85a3eb2f41 cs 2024-10-01 11:13:57 +03:00
Yuri Kuznetsov 2be7d6fc6f bottom panels detail small layout class 2024-10-01 11:13:44 +03:00
Yuri Kuznetsov 47957883e0 ownership checker, only one field check 2024-10-01 11:03:48 +03:00
Yuri Kuznetsov 10965a895c after:related-change:{link} event 2024-09-30 13:35:21 +03:00
Yuri Kuznetsov 9a50c23cb9 remove mistakenly added file 2024-09-30 11:40:03 +03:00
Yuri Kuznetsov 3f678e28f4 stream panel ref 2024-09-30 10:40:44 +03:00
Yuri Kuznetsov ef4df5a22e stream panel ref 2024-09-30 10:29:02 +03:00
Yuri Kuznetsov 143f4db34b stream panel update in modal 2024-09-30 10:25:32 +03:00
Yuri Kuznetsov 3d02a5e999 Merge branch 'fix' 2024-09-30 10:16:54 +03:00
Yuri Kuznetsov 803185b747 fix datepicker error 2024-09-30 09:56:06 +03:00
Yuri Kuznetsov 4f5886fbd7 remove from modal fixes 2024-09-28 16:45:45 +03:00
Yuri Kuznetsov 92cd805215 entity provider get 2024-09-28 10:35:50 +03:00
Yuri Kuznetsov db61a8bd9c merge 2024-09-27 19:44:14 +03:00
Yuri Kuznetsov c28ba84f03 email: fix collection trash/archive sync 2024-09-27 19:20:38 +03:00
Yuri Kuznetsov 809bb2648c acl cleanup 2024-09-27 17:42:55 +03:00
Yuri Kuznetsov 147ed20647 fix schema 2024-09-27 17:01:46 +03:00
Yuri Kuznetsov 6ed7b52cc5 ref, cleanup 2024-09-27 16:50:27 +03:00
Yuri Kuznetsov 5cf4442b0d todo comments 2024-09-27 16:21:00 +03:00
Yuri Kuznetsov 30af7e02ca test fix 2024-09-27 12:49:57 +03:00
Yuri Kuznetsov a7e7204ea9 test fix 2024-09-27 12:42:10 +03:00
Yuri Kuznetsov da55b4933d acl check scope true of enabled and all no 2024-09-27 12:36:19 +03:00
Yuri Kuznetsov e8a8af59d9 role: lowest by default when enabling 2024-09-27 10:07:40 +03:00
Yuri Kuznetsov f74c55c758 Merge branch 'fix' 2024-09-26 10:15:19 +03:00
Yuri Kuznetsov 7f08df77f6 email afterSave not called fix 2024-09-26 10:01:43 +03:00
Andrew Fontana c972105d47 Fix compose.js super.afterSave (#3164)
This pull request fixes compose.js file where the afterSave() method was incorrectly calling super.afterRender() instead of super.afterSave().

When this was still an AMD module it was calling Dep.prototype.afterSave.call(this);

https://github.com/espocrm/espocrm/commit/d7063a914f9d0112b1905fe70245b493c0c99a4d#diff-117135453cb4900bd25d798364599ab10aa07e35722300e367a69b9df90e85a3L216
2024-09-26 09:46:41 +03:00
Yuri Kuznetsov 94484e2970 acl dependency foreign field 2024-09-25 20:07:09 +03:00
Yuri Kuznetsov 4a22fea469 dont quote empty selection 2024-09-25 12:12:31 +03:00
Yuri Kuznetsov fdf0c14ef9 ref 2024-09-25 11:29:17 +03:00
Yuri Kuznetsov a2e6d1553c note date yesterday 2024-09-25 10:55:11 +03:00
Yuri Kuznetsov af1e34e407 check post not empty 2024-09-25 09:56:56 +03:00
Yuri Kuznetsov f9efca0523 quote reply selected 2024-09-25 09:56:23 +03:00
Yuri Kuznetsov 23f3571059 cleanup 2024-09-24 18:06:08 +03:00
Yuri Kuznetsov 611e00fdb7 stream quote reply 2024-09-24 17:48:51 +03:00
Yuri Kuznetsov e4dbe253c2 list: disaply top bar if no data 2024-09-24 15:47:52 +03:00
Yuri Kuznetsov 34d69e97f1 list cateogories ref 2024-09-24 15:33:11 +03:00
Yuri Kuznetsov 9c68fa2d66 fix email reply date sent missing year 2024-09-24 15:23:14 +03:00
Yuri Kuznetsov ad0f01f81b comment 2024-09-24 15:04:06 +03:00
Yuri Kuznetsov c3b0695482 list view rootData 2024-09-24 15:03:40 +03:00
Yuri Kuznetsov ab4a6242f9 email return after delete fix 2024-09-24 13:14:29 +03:00
Yuri Kuznetsov bc1b40475e cs 2024-09-24 13:03:53 +03:00
Yuri Kuznetsov e44fc9e619 js ref 2024-09-24 10:30:00 +03:00
Yuri Kuznetsov 62393f6e9e fix description 2024-09-23 19:20:55 +03:00
Yuri Kuznetsov e51f0d9bbe ref 2024-09-23 17:31:01 +03:00
Yuri Kuznetsov 3ad7ad51b9 link manager: do not create noLoad linkMultiple 2024-09-23 17:28:44 +03:00
Yuri Kuznetsov 8dd6f85ba5 comment 2024-09-23 16:47:07 +03:00
Yuri Kuznetsov 3f0da5b9fa show create button for readonly link if foreign belongs-to or link-multiple 2024-09-23 16:44:10 +03:00
Yuri Kuznetsov 14ac2892ae fix relation, stub check 2024-09-23 16:26:17 +03:00
Yuri Kuznetsov cad8e954d6 link manager: clear cache 2024-09-23 15:45:12 +03:00
Yuri Kuznetsov 459f53efa5 link read only param editable 2024-09-23 15:21:32 +03:00
Yuri Kuznetsov 8e4900b487 link manager: dropdown 2024-09-23 12:50:12 +03:00
Yuri Kuznetsov 1f87489055 style change 2024-09-23 12:40:49 +03:00
Yuri Kuznetsov 03642ce8e3 link manager: show type if no foreign 2024-09-23 12:33:45 +03:00
Yuri Kuznetsov f46d291c90 link manager table ui change 2024-09-23 12:11:02 +03:00
Yuri Kuznetsov 404f56bf6c link-manager: link links without foreign 2024-09-23 11:55:33 +03:00
Yuri Kuznetsov 8a9b1c06c8 cs, ref 2024-09-23 11:46:07 +03:00
Yuri Kuznetsov 7a93911f61 read only link in schema 2024-09-23 10:50:15 +03:00
Yuri Kuznetsov fe7c39c604 max number of assigned users 2024-09-23 10:10:12 +03:00
Yuri Kuznetsov be0e720d99 ref 2024-09-22 11:03:42 +03:00
Yuri Kuznetsov 214a94da0e ref 2024-09-22 11:01:22 +03:00
Yuri Kuznetsov 490df708eb formula: record create/update support object 2024-09-21 19:23:42 +03:00
Yuri Kuznetsov b7ad32dc14 ref 2024-09-21 09:04:24 +03:00
Yuri Kuznetsov 8f51ce5c7e fix metadata path 2024-09-20 14:10:35 +03:00
Yuri Kuznetsov e4e61cf84c assigned users autocomplete self 2024-09-20 11:17:00 +03:00
Yuri Kuznetsov 6b2fff5634 ref 2024-09-20 11:15:13 +03:00
Yuri Kuznetsov 9afcc3ffa7 remove hook 2024-09-20 11:07:51 +03:00
Yuri Kuznetsov 9bda6dc243 skip assigned users if link already exists 2024-09-20 10:53:36 +03:00
Yuri Kuznetsov dd06a51ae0 assigned users notes 2024-09-19 17:55:58 +03:00
Yuri Kuznetsov b752f43ee9 multiple assigned users parameter 2024-09-19 15:37:49 +03:00
Yuri Kuznetsov 60fc6279ff ref 2024-09-19 11:06:30 +03:00
Yuri Kuznetsov 3120e7f41a jscondig include 2024-09-18 22:16:14 +03:00
Yuri Kuznetsov cfca78e233 mass email: queue item ID placeholder 2024-09-18 15:21:38 +03:00
Yuri Kuznetsov 7bcd5b5bdb import: skip id if empty string 2024-09-18 13:02:50 +03:00
Yuri Kuznetsov 92d164d3d3 iframe a hover underline 2024-09-18 11:28:34 +03:00
Yuri Kuznetsov 4194c4115d ref, docs 2024-09-18 10:45:27 +03:00
Yuri Kuznetsov 8a242e0628 added direction 2024-09-17 14:52:32 +03:00
Yuri Kuznetsov fecfe3bc96 cleanup transpiled dir before build 2024-09-17 14:44:49 +03:00
Yuri Kuznetsov e392dbb1b4 do not include js sources 2024-09-17 14:16:58 +03:00
Yuri Kuznetsov 4ca35da041 Merge branch 'fix' 2024-09-17 11:22:38 +03:00
Yuri Kuznetsov 48116f8dcf 8.4.1 2024-09-17 11:09:08 +03:00
Yuri Kuznetsov 7118e08493 Merge branch 'fix' 2024-09-17 09:59:59 +03:00
Yuri Kuznetsov 0784fd589a update dompurify 2024-09-17 09:59:54 +03:00
Yuri Kuznetsov 366d18a5c9 email template getAttachments method 2024-09-16 17:04:37 +03:00
Yuri Kuznetsov b055592d2b setFile method 2024-09-16 17:03:09 +03:00
Yuri Kuznetsov ef97427e6b getFile method 2024-09-16 17:02:18 +03:00
Yuri Kuznetsov cd9081a542 getAttachments method 2024-09-16 16:59:35 +03:00
Yuri Kuznetsov b9b2a2d071 ref 2024-09-16 16:30:08 +03:00
Yuri Kuznetsov f0ee8a1de4 phone/email: set primary on save 2024-09-16 16:28:08 +03:00
Yuri Kuznetsov 067765d9b5 ref 2024-09-16 16:24:23 +03:00
dependabot[bot] cfbc3ec8e0 Bump body-parser and express (#3152)
Bumps [body-parser](https://github.com/expressjs/body-parser) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `body-parser` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 16:13:47 +03:00
dependabot[bot] 15b2ae4586 Bump send and express (#3150)
Bumps [send](https://github.com/pillarjs/send) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 16:12:46 +03:00
Yuri Kuznetsov 6be328c19e update dompdf to 3.0 2024-09-16 16:07:04 +03:00
Yuri Kuznetsov 38216344db using binary comparison 2024-09-16 15:08:42 +03:00
Yuri Kuznetsov 69e2bade3d fix doc 2024-09-16 14:50:53 +03:00
Yuri Kuznetsov 3c57b7e39e app secrets 2024-09-16 14:33:39 +03:00
Yuri Kuznetsov 4ff8369180 language allow all for admin 2024-09-16 11:19:39 +03:00
Yuri Kuznetsov 3a3d872e4e ref 2024-09-16 10:03:56 +03:00
Yuri Kuznetsov 19d2465ebd jsdoc 2024-09-16 10:03:45 +03:00
Yuri Kuznetsov 3ec3035c7e ref 2024-09-16 09:47:50 +03:00
Yuri Kuznetsov f3817e26fc ref 2024-09-16 09:34:45 +03:00
Yuri Kuznetsov d9fb9b8bd5 cleanup, cs 2024-09-16 09:13:16 +03:00
Yurii Kuznietsov debd0f700e duplicate-query-optimization (#3147) 2024-09-16 09:10:08 +03:00
Yuri Kuznetsov aced889566 ref 2024-09-15 19:32:40 +03:00
Yuri Kuznetsov 3d12673c28 ref 2024-09-15 19:10:52 +03:00
Yuri Kuznetsov b5125d2d54 ref 2024-09-15 19:06:27 +03:00
Yuri Kuznetsov af7d88dd6b RelationQueryHelper 2024-09-15 14:23:12 +03:00
Yuri Kuznetsov e211147225 ref 2024-09-15 13:48:58 +03:00
Yuri Kuznetsov 900898bb41 address search no distinct 2024-09-15 13:47:32 +03:00
Yuri Kuznetsov d70ef1e6cd cs 2024-09-15 13:29:15 +03:00
Yuri Kuznetsov 8796693613 ref 2024-09-15 13:22:43 +03:00
Yuri Kuznetsov 443a1b01a0 ref 2024-09-15 13:21:26 +03:00
Yuri Kuznetsov 5d58434618 ref 2024-09-15 13:20:10 +03:00
Yuri Kuznetsov d051a52750 cs 2024-09-15 13:18:27 +03:00
Yuri Kuznetsov 9e30e60fb1 cs 2024-09-15 13:01:35 +03:00
Yuri Kuznetsov 7d5ceb3c61 css fix 2024-09-15 10:37:47 +03:00
Yuri Kuznetsov 486a25e0ce cleanup 2024-09-15 09:54:42 +03:00
Yuri Kuznetsov 18df5ca2e1 user in team filter no distinct 2024-09-15 09:53:44 +03:00
Yuri Kuznetsov a76855d8d4 duplicate finder limit 5 2024-09-14 15:28:02 +03:00
Yuri Kuznetsov 180e6ea3c8 ORM: findOne restore params 2024-09-14 15:26:13 +03:00
Yuri Kuznetsov 8e997e64f3 cleanup 2024-09-14 15:04:00 +03:00
Yuri Kuznetsov 6340532f99 fix tests 2024-09-14 14:22:02 +03:00
Yuri Kuznetsov cede653661 Merge branch 'fix' 2024-09-14 10:49:50 +03:00
Yuri Kuznetsov 8b8d3ee158 auth token lifetime int conversion fix 2024-09-14 10:47:13 +03:00
Yuri Kuznetsov 2eec1f5a7e fix tests 2024-09-14 10:43:52 +03:00
Yuri Kuznetsov 2b159db197 text filter fields label whitespace 2024-09-14 10:20:38 +03:00
Yuri Kuznetsov d8ff7ca6b0 ref 2024-09-14 10:13:47 +03:00
Yuri Kuznetsov 9302c3de01 portal access filter ref, no distinct 2024-09-14 09:53:35 +03:00
Yuri Kuznetsov 744331e87d email/phone is empty no distinct 2024-09-13 21:14:11 +03:00
Yuri Kuznetsov 61f60504fb email/phone where changes, no distinct 2024-09-13 20:59:11 +03:00
Yuri Kuznetsov 46d69618d5 orm custom where array fix, test 2024-09-13 20:44:49 +03:00
Yuri Kuznetsov 416a4ec755 distinct 2024-09-13 17:15:24 +03:00
Yuri Kuznetsov 2388b7a30b categories filter no distinct 2024-09-13 17:00:38 +03:00
Yuri Kuznetsov c85f7f96ce no distinct, ref 2024-09-13 16:31:00 +03:00
Yuri Kuznetsov cde2d83fa7 no distinct, ref 2024-09-13 16:15:58 +03:00
Yuri Kuznetsov 9ab1d41c7a no distinct 2024-09-13 15:56:13 +03:00
Yuri Kuznetsov dcb76725fd no distinct 2024-09-13 15:54:48 +03:00
Yuri Kuznetsov 18f1bbb655 no distinct, ref 2024-09-13 15:48:30 +03:00
Yuri Kuznetsov aa09d7dde6 email search by address change 2024-09-13 15:44:54 +03:00
Yuri Kuznetsov bb2d1650a8 ref 2024-09-13 15:03:03 +03:00
Yuri Kuznetsov 610d7215c8 email: text filter no distinct 2024-09-13 14:45:34 +03:00
Yuri Kuznetsov 1fad687048 docs fix 2024-09-13 13:54:50 +03:00
Yuri Kuznetsov 865c50a3e6 select: column filter no distinct 2024-09-13 13:49:49 +03:00
Yuri Kuznetsov 2b4d225a83 cs 2024-09-13 13:35:49 +03:00
Yuri Kuznetsov baa671ca6a select: do not apply distinct for array filter 2024-09-13 13:32:59 +03:00
Yuri Kuznetsov a84ab0637f ref 2024-09-13 13:27:59 +03:00
Yuri Kuznetsov a50ed3df3d select many test 2024-09-13 12:57:31 +03:00
Yuri Kuznetsov 43bd164370 test ref 2024-09-13 12:23:38 +03:00
Yuri Kuznetsov 9aa98e22f0 select where subquery for has-many relations 2024-09-13 11:50:50 +03:00
Yuri Kuznetsov b5843c1b37 fix headers 2024-09-12 16:01:46 +03:00
Yuri Kuznetsov ab581a4fae starred in list 2024-09-12 15:55:38 +03:00
Yuri Kuznetsov 210cf03bcd Merge branch 'fix' 2024-09-12 13:01:52 +03:00
Yuri Kuznetsov 628e7e8131 hmac api key check with hex 2024-09-12 13:00:56 +03:00
Yuri Kuznetsov c0ef13c7f4 select: global additional appliers 2024-09-12 11:12:17 +03:00
Yuri Kuznetsov 7390b1674f ref 2024-09-11 20:35:35 +03:00
Yuri Kuznetsov 112c2578e9 ref 2024-09-11 16:24:31 +03:00
Yuri Kuznetsov 76318ada9f Merge branch 'fix' 2024-09-11 15:24:18 +03:00
Eymen Elkum 408a161595 fix row action return undefined (#3140) 2024-09-11 15:23:53 +03:00
Yuri Kuznetsov 103c6a7068 ref 2024-09-11 13:40:42 +03:00
Yuri Kuznetsov 9ee39b5d4a ref 2024-09-11 13:29:43 +03:00
Yuri Kuznetsov 342967338b conver lead throw exceptions 2024-09-11 12:29:57 +03:00
Yuri Kuznetsov ba0a455dc4 ref 2024-09-10 21:46:50 +03:00
Yuri Kuznetsov 350ae24601 ref 2024-09-10 13:38:23 +03:00
Yuri Kuznetsov 568fe32d7c email template insert field impr 2024-09-10 13:33:11 +03:00
Yuri Kuznetsov d0435a6653 fix variables, ignore utility 2024-09-10 13:30:42 +03:00
Yuri Kuznetsov 0389e35b2d variables whitespace 2024-09-10 13:26:09 +03:00
Yuri Kuznetsov b282ea4bd0 ref 2024-09-10 13:24:36 +03:00
Yuri Kuznetsov 23f750180f explicit model & collection properties in view 2024-09-10 13:10:22 +03:00
Yuri Kuznetsov 269d3e1210 jsdoc 2024-09-10 13:06:42 +03:00
Yuri Kuznetsov 0c1e98238e update bullbone 2024-09-10 12:45:37 +03:00
Yuri Kuznetsov 383f0a76ef update case followers field on contact change 2024-09-09 13:56:29 +03:00
Yuri Kuznetsov 73af378f2e Merge branch 'fix' 2024-09-09 13:41:18 +03:00
Yuri Kuznetsov b46c6d76a5 case portal user follow acl check 2024-09-09 13:30:51 +03:00
Yuri Kuznetsov bdc9505094 label General 2024-09-08 13:32:00 +03:00
Yuri Kuznetsov 4577735cf0 fix test 2024-09-07 10:23:44 +03:00
Yuri Kuznetsov bcd953a930 field manager: field link conflict check 2024-09-07 10:04:06 +03:00
Yuri Kuznetsov 96f5e55cc0 ref 2024-09-07 09:49:18 +03:00
Yuri Kuznetsov 3cba0c847d link manager: check field conflict 2024-09-07 09:45:08 +03:00
Yuri Kuznetsov a92e51dcbc cs 2024-09-07 09:43:43 +03:00
Anthony Andriano 4795837b2e allow failed sql queries to be logged separately from all sql queries (#3133) 2024-09-06 17:50:53 +03:00
Yuri Kuznetsov 14fbee86be hasOne: set foreign 2024-09-06 15:25:11 +03:00
Yuri Kuznetsov 095ba6108b setParent methods entity support 2024-09-06 15:06:43 +03:00
Yuri Kuznetsov ea222db0be has one test 2024-09-06 14:10:21 +03:00
Yuri Kuznetsov aa4110fd85 orm set relations dev, tests 2024-09-06 13:54:14 +03:00
Yuri Kuznetsov 3cc9322d0d orm relations save 2024-09-06 11:52:08 +03:00
Yuri Kuznetsov a5422cc33c orm relations no collection 2024-09-06 09:58:28 +03:00
Yuri Kuznetsov 11d3e268f6 cs 2024-09-06 09:46:01 +03:00
Yuri Kuznetsov fa2dc75ddd ORM relation setting foreign attributes 2024-09-05 20:42:19 +03:00
Yuri Kuznetsov d9792ae9dd relationship save ref 2024-09-05 20:41:47 +03:00
Yuri Kuznetsov 49ee0184ae ref 2024-09-05 17:39:18 +03:00
Yuri Kuznetsov d66beeff24 docs 2024-09-05 17:17:42 +03:00
Yuri Kuznetsov 9fb49b339d prevent non empty category removal 2024-09-05 15:47:28 +03:00
Yuri Kuznetsov 55cdab7008 cs 2024-09-05 15:25:14 +03:00
Yuri Kuznetsov 5edb2f279c remove laminas-crypt 2024-09-05 14:53:03 +03:00
dependabot[bot] 7da8b8642b Bump phpoffice/phpspreadsheet from 1.16.0 to 1.29.1 (#3136)
Bumps [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) from 1.16.0 to 1.29.1.
- [Release notes](https://github.com/PHPOffice/PhpSpreadsheet/releases)
- [Changelog](https://github.com/PHPOffice/PhpSpreadsheet/blob/1.29.1/CHANGELOG.md)
- [Commits](https://github.com/PHPOffice/PhpSpreadsheet/compare/1.16.0...1.29.1)

---
updated-dependencies:
- dependency-name: phpoffice/phpspreadsheet
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 14:50:46 +03:00
Yuri Kuznetsov 3dc63c4888 list settings fields label 2024-09-05 14:50:03 +03:00
Yuri Kuznetsov 7ab321ed20 remove deleteId 2024-09-05 14:46:18 +03:00
Yuri Kuznetsov 5138fe5996 Merge branch 'fix' 2024-09-05 14:44:06 +03:00
Yuri Kuznetsov d78f7d499a restore deleteId for UI upgrade only 2024-09-05 13:45:18 +03:00
Yuri Kuznetsov f978f07a24 message change 2024-09-05 13:06:38 +03:00
Yuri Kuznetsov 5a76d44001 rebuild exception trace 2024-09-05 13:03:17 +03:00
Yuri Kuznetsov 0122de61be upgrade rebuild error exception trace 2024-09-05 12:51:13 +03:00
Yuri Kuznetsov a7bd9f2741 upgrade error previous exception 2024-09-05 12:50:09 +03:00
Yuri Kuznetsov a2668bb3a2 message change 2024-09-05 12:17:50 +03:00
Yuri Kuznetsov 93bf344b5e app params load 2024-09-05 12:00:12 +03:00
Yuri Kuznetsov de105b35a4 jsdoc 2024-09-05 11:03:17 +03:00
Yuri Kuznetsov 105724140e ref jsdoc 2024-09-05 10:43:53 +03:00
Yuri Kuznetsov 5662fed5eb color changes 2024-09-05 09:56:08 +03:00
Yuri Kuznetsov 63ffc35775 Merge branch 'fix' 2024-09-04 15:59:22 +03:00
Yuri Kuznetsov 3f4cdf629f mass email hour limit required 2024-09-04 12:30:30 +03:00
Yuri Kuznetsov bedab9c780 fix diff 2024-09-03 18:17:01 +03:00
Yurii 4589fa6249 ref 2024-09-03 14:26:56 +03:00
Yuri Kuznetsov db84792c6a Merge branch 'fix' 2024-09-03 11:37:48 +03:00
Yuri Kuznetsov 291bcf1684 note replace app link fix 2024-09-03 11:37:41 +03:00
Yuri Kuznetsov f59543658b ignore 2024-09-03 10:51:49 +03:00
Yuri Kuznetsov 3c883e805e update phpstan 2024-09-03 10:34:48 +03:00
Yuri Kuznetsov cea04482c7 fix cache 2024-09-03 10:34:34 +03:00
Yuri Kuznetsov d7913e49f5 ref 2024-09-03 10:23:54 +03:00
Yuri Kuznetsov bd60d562f5 Merge branch 'fix' 2024-09-03 09:14:19 +03:00
Yuri Kuznetsov bd9e1bf353 fix tag 2024-09-03 09:08:56 +03:00
Yuri Kuznetsov 7d507460be fix header markup 2024-09-02 18:09:29 +03:00
Yuri Kuznetsov 120092de43 relations setting 2024-09-02 12:21:25 +03:00
Yuri Kuznetsov 1b34ede299 skip link multiple save if not changed 2024-09-02 12:21:25 +03:00
Yuri Kuznetsov 49e954c188 test ref, change 2024-09-02 12:21:25 +03:00
Yuri Kuznetsov 11981c8018 link-multiple check 2024-09-02 12:21:25 +03:00
Yuri Kuznetsov 49b67db42d relation order 2024-09-02 12:21:24 +03:00
Yuri Kuznetsov bd71147b08 entity get related, integration test 2024-09-02 12:21:24 +03:00
Yuri Kuznetsov 5d3d2097c7 change return type 2024-09-02 12:21:24 +03:00
Yuri Kuznetsov 0062e4f737 clone collection 2024-09-02 12:21:24 +03:00
Yuri Kuznetsov 04794d656c orm relations 2024-09-02 12:21:21 +03:00
Yuri Kuznetsov 99b4205181 lang 2024-09-02 09:08:40 +03:00
Yuri Kuznetsov 5ae56454fc color change 2024-09-01 10:50:37 +03:00
Yuri Kuznetsov 1e2369bba1 jsdoc 2024-09-01 10:35:18 +03:00
Yuri Kuznetsov c42bfa3aab kanban reuse subCollections after rebuild 2024-09-01 10:30:21 +03:00
Yuri Kuznetsov 2b01cefb66 cleanup 2024-08-31 16:50:57 +03:00
Yuri Kuznetsov 0b72848e33 hide show detail modes 2024-08-31 16:41:24 +03:00
Yuri Kuznetsov ecc7f80c80 schema 2024-08-31 14:32:28 +03:00
Yurii be5fff011b change email folder order 2024-08-30 17:16:52 +03:00
Yuri Kuznetsov d7a29fdc71 int field: support big int in frontend 2024-08-30 15:40:35 +03:00
Yurii e1c2203750 int range validation 2024-08-30 10:42:51 +03:00
Yuri Kuznetsov 66cde8c86c email read notification websocket 2024-08-30 08:39:25 +03:00
Yuri Kuznetsov 10fb006fd8 comment 2024-08-30 08:39:09 +03:00
Osama Bashir b94c5ff869 Get only active users in email address lookup (#3132)
* Get only active users in email address lookup

* fix isActive field name
2024-08-29 09:37:35 +03:00
Yuri Kuznetsov 39898bbbe8 preferences page title 2024-08-29 09:35:09 +03:00
Yuri Kuznetsov 62a6c2761f fix dashlet sort translation 2024-08-28 11:09:02 +03:00
Yuri Kuznetsov 6fe6a52f47 collapsed modal overlap fix 2 2024-08-28 10:48:46 +03:00
Yuri Kuznetsov c5d7fa5b0b style fix 2024-08-28 10:37:54 +03:00
Yuri Kuznetsov ceaac6c3dc collapsed modal z-index 2024-08-28 10:37:05 +03:00
Yuri Kuznetsov 490843e371 fix email body null 2024-08-28 10:27:14 +03:00
Yuri Kuznetsov b290fbfeb2 fix email plain 2024-08-27 17:33:39 +03:00
Yuri Kuznetsov ca1e649b11 emailReplyForceHtml true by default 2024-08-27 16:57:43 +03:00
Yuri Kuznetsov 5e74cd8d06 font change 2024-08-27 16:15:15 +03:00
Yuri Kuznetsov 63508423cc email archive row action 2024-08-27 11:03:48 +03:00
Yurii Kuznietsov a5961811b4 Update feature_request.md 2024-08-27 00:05:30 +03:00
Yuri Kuznetsov fdb1595cd5 sticky bar fix 2024-08-26 23:55:03 +03:00
Yuri Kuznetsov 4bfedf8db3 fix test 2024-08-26 15:02:24 +03:00
Yuri Kuznetsov 325429eb52 comment out email index 2024-08-26 13:34:31 +03:00
Yuri Kuznetsov e558a3139c fix move to folder 2024-08-26 10:33:13 +03:00
Yuri Kuznetsov e424c26963 fix select/create related from modal 2024-08-26 10:31:06 +03:00
dependabot[bot] b2cc1f97c4 Bump axios from 1.7.2 to 1.7.5 (#3128)
Bumps [axios](https://github.com/axios/axios) from 1.7.2 to 1.7.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 10:11:12 +03:00
dependabot[bot] d48ce0fc58 Bump micromatch from 4.0.5 to 4.0.8 (#3127)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 10:11:02 +03:00
Yuri Kuznetsov b61462a1cd version 2024-08-26 09:15:55 +03:00
Andrew Fontana 1bb82151da Fix Typo (#3125)
Fix typo enabled to enable.
2024-08-25 11:05:14 +03:00
Anthony Andriano 9852e25c6e replaced literal with enum (#3124) 2024-08-25 09:26:52 +03:00
Yuri Kuznetsov 90fe358753 ics attendees 2024-08-23 19:18:16 +03:00
Yuri Kuznetsov bd65e62fce ref, test 2024-08-23 18:37:21 +03:00
Yuri Kuznetsov fff9d7a781 group email account is system read only field 2024-08-23 11:47:38 +03:00
Yuri Kuznetsov 8441fa05d2 calendar non working all-day timzone correction 2024-08-23 11:20:10 +03:00
Yuri Kuznetsov 9e86649b1c ref cs 2024-08-23 10:33:36 +03:00
Yuri Kuznetsov 3c50a0e058 backdrop click 2024-08-22 17:28:23 +03:00
Yuri Kuznetsov e571a63a30 change user position action 2024-08-22 17:25:38 +03:00
Yuri Kuznetsov 14d405542b ref 2024-08-21 09:24:29 +03:00
Yuri Kuznetsov 429d03504c ref 2024-08-20 22:17:13 +03:00
Yuri Kuznetsov fc24840a7b ref 2024-08-20 15:43:54 +03:00
Yuri Kuznetsov 603ca985df fix mass select 2024-08-20 12:05:44 +03:00
Yuri Kuznetsov a12940e36c ref 2024-08-20 11:09:16 +03:00
Yuri Kuznetsov dcab0ad7d0 ref 2024-08-20 09:42:42 +03:00
Yuri Kuznetsov 89124b354b idea code style change 2024-08-20 09:42:29 +03:00
Yuri Kuznetsov 03c275f495 pdf template: x-if attribute 2024-08-19 14:21:43 +03:00
Yuri Kuznetsov da89e0a321 pdf templates: compare and logic helpers 2024-08-19 12:45:32 +03:00
Yuri Kuznetsov 90af51b8b9 ref 2024-08-19 10:03:49 +03:00
Yuri Kuznetsov 92b82b9d4c cs fix 2024-08-19 09:36:27 +03:00
Yuri Kuznetsov c0aabe65d7 cleanup 2024-08-18 12:51:48 +03:00
Yuri Kuznetsov 6e6478bb6a change test 2024-08-18 11:19:14 +03:00
Yuri Kuznetsov d457b461e7 config default databaseHandler 2024-08-17 10:16:34 +03:00
Yuri Kuznetsov 2f6673f8d9 fix test 2024-08-16 19:54:09 +03:00
Yuri Kuznetsov ee94408394 fix redundant escaping in regexp 2024-08-16 19:33:19 +03:00
Yuri Kuznetsov 6d343cb564 ref 2024-08-16 19:31:47 +03:00
Yuri Kuznetsov f5c07c9d6b htmllizer: apply access control for iterated related records 2024-08-16 19:21:38 +03:00
Yuri Kuznetsov f9f2eaeb1f ref 2024-08-16 19:06:25 +03:00
Yuri Kuznetsov 16d8015d92 ref 2024-08-16 19:04:01 +03:00
Yuri Kuznetsov 2fa330d6f3 cs 2024-08-16 18:57:04 +03:00
Yuri Kuznetsov 3bd2c8a813 calendar 0 duration fix 2024-08-16 10:23:38 +03:00
Yuri Kuznetsov 12ba23e8ab jsdoc 2024-08-16 10:09:51 +03:00
Yuri Kuznetsov e7c3314285 afterOrEqual datetime 2024-08-15 20:32:24 +03:00
Yuri Kuznetsov 13ec8dd49f validate call after 2024-08-15 20:17:39 +03:00
Yuri Kuznetsov 80146e8bca fix massActionDefs undefined 2024-08-15 16:13:18 +03:00
Yuri Kuznetsov b974c673d2 orm event dispatched unsubscribe method 2024-08-15 10:05:28 +03:00
Yuri Kuznetsov c7ae23fd01 type change 2024-08-15 09:46:13 +03:00
Yuri Kuznetsov ccd21ebf76 comment 2024-08-14 19:08:50 +03:00
Yuri Kuznetsov f5c1fdebf3 ref 2024-08-14 19:07:19 +03:00
Yuri Kuznetsov 863cd03eb3 fix call on undefined 2024-08-14 18:31:12 +03:00
Yuri Kuznetsov d3eb08b171 clear runtime cache in entity factory 2024-08-14 16:42:29 +03:00
Yuri Kuznetsov 5a39450e6d ref 2024-08-14 09:55:13 +03:00
Yuri Kuznetsov dd40786b6f ref 2024-08-14 09:41:06 +03:00
Yuri Kuznetsov 35e894a391 ref 2024-08-14 09:18:12 +03:00
Yuri Kuznetsov 8bd2b32908 prevent removal link fields 2024-08-13 16:31:50 +03:00
Yuri Kuznetsov ce58cc262f disable kanban on status field unset 2024-08-13 12:32:47 +03:00
Yuri Kuznetsov 2dad119c3c ref 2024-08-13 09:47:46 +03:00
Yuri Kuznetsov 7e872e845c filters layout 2024-08-12 10:21:53 +03:00
Yuri Kuznetsov 678e39b0e5 jsdoc fix 2024-08-11 18:34:29 +03:00
Yuri Kuznetsov ce10665bc3 ref, cs 2024-08-11 16:05:05 +03:00
Yuri Kuznetsov d091ebbd23 fix regexp 2024-08-11 15:47:36 +03:00
Yuri Kuznetsov 68e495566d ref 2024-08-10 11:50:29 +03:00
Yuri Kuznetsov 9943e413c1 adjust header font size on button show hide 2024-08-10 11:38:40 +03:00
Yuri Kuznetsov 8f4f4b4ac1 suppress inspection 2024-08-10 11:14:33 +03:00
Yuri Kuznetsov 4a7f967d4f ref 2024-08-09 14:01:53 +03:00
Yuri Kuznetsov abf5690239 ref 2024-08-09 13:41:07 +03:00
Yuri Kuznetsov bc6946e6be cleanup 2024-08-09 13:18:46 +03:00
Yuri Kuznetsov 06001a4b4c fix mention regular expression 2024-08-09 11:46:42 +03:00
Yuri Kuznetsov d5d913cf12 ref 2024-08-09 11:36:15 +03:00
Yuri Kuznetsov 37f7fa8464 layout set layout label change 2024-08-09 11:35:30 +03:00
Yuri Kuznetsov 27c98bdf0f ref 2024-08-09 11:35:01 +03:00
Yuri Kuznetsov 2c223a0739 supress inspection 2024-08-09 11:31:04 +03:00
Yuri Kuznetsov 3c756e6252 ref 2024-08-09 10:59:57 +03:00
Yuri Kuznetsov e7331efcbe ref 2024-08-08 19:59:49 +03:00
Yuri Kuznetsov 62ae30aa8f ref 2024-08-08 18:45:05 +03:00
Yuri Kuznetsov c49f6c8045 ref 2024-08-08 18:39:35 +03:00
Yuri Kuznetsov 16ce6eb0b9 ref 2024-08-08 17:06:22 +03:00
Yuri Kuznetsov 701422892a merge 2024-08-08 14:25:54 +03:00
Yuri Kuznetsov abd2016444 8.3.6 2024-08-08 14:07:26 +03:00
Eymen Elkum cc68bd640e improve admin index quick search 2024-08-08 13:54:07 +03:00
Yuri Kuznetsov c247a24db4 fix email edit access error 2024-08-08 13:41:03 +03:00
Yuri Kuznetsov b8a484cb7e ref 2024-08-08 11:22:57 +03:00
Yuri Kuznetsov 61d546a649 ref 2024-08-08 11:06:24 +03:00
Yuri Kuznetsov 23b9c08752 ref 2024-08-08 11:04:42 +03:00
Yuri Kuznetsov 191f834e0f ref 2024-08-08 10:39:06 +03:00
Yuri Kuznetsov 9fa9198963 delete has-children foreign links with entity deletion 2024-08-07 14:47:35 +03:00
Yuri Kuznetsov f89e8acb79 tasks dashlet order 2024-08-07 13:58:10 +03:00
Yuri Kuznetsov 33fbe125fa ref 2024-08-07 10:35:55 +03:00
Yuri Kuznetsov d93dd9f6df export all, select all 2024-08-06 15:09:18 +03:00
Yuri Kuznetsov 08841f7da5 avatar cache timestamp in no cache 2024-08-06 12:41:24 +03:00
Yuri Kuznetsov 725222e4c2 ref 2024-08-06 12:33:48 +03:00
Yuri Kuznetsov 003f7864b3 ref 2024-08-06 12:05:00 +03:00
Yuri Kuznetsov 48efcdb7a8 ref 2024-08-06 11:57:28 +03:00
Yuri Kuznetsov 7bc8c2f161 ref 2024-08-05 10:12:55 +03:00
Yuri Kuznetsov 4e3cb38477 ref 2024-08-05 10:00:04 +03:00
Yuri Kuznetsov 20ac2dd2d7 fix 2024-08-05 09:49:02 +03:00
Yuri Kuznetsov 0cabbaab01 ref 2024-08-05 09:48:08 +03:00
Yuri Kuznetsov 8cc7adee3f ref 2024-08-04 17:13:31 +03:00
Yuri Kuznetsov 9d297d5587 ref 2024-08-04 17:13:22 +03:00
Yuri Kuznetsov 6e2409d969 fix typo 2024-08-02 15:18:29 +03:00
Yuri Kuznetsov b8cdbfb585 cs 2024-08-02 15:15:06 +03:00
Yuri Kuznetsov 5c06345424 range int ref, disable formatting 2024-08-02 15:14:32 +03:00
Yuri Kuznetsov 142cbfa4b8 replace bootstrap 2024-08-02 13:13:52 +03:00
Yuri Kuznetsov 04018bba93 afterOrEqual 2024-08-02 10:21:13 +03:00
Yuri Kuznetsov e77143640b working time range dynamic logic 2024-08-02 10:07:22 +03:00
Yuri Kuznetsov 2964fff2cd working time range tooltips 2024-08-02 09:58:35 +03:00
Yuri Kuznetsov 0c8cdb61dc stream create shortcut 2024-08-01 19:48:28 +03:00
Yuri Kuznetsov a9e0dad0dd log: load formatter for handlers loaded with loader 2024-08-01 18:47:57 +03:00
Yuri Kuznetsov b34d8ebca8 mass email: allow create if only edit access to campaign 2024-08-01 15:02:02 +03:00
Yuri Kuznetsov ed795d0d49 docs, ref 2024-08-01 14:37:54 +03:00
Yuri Kuznetsov 2673f60831 jsdocs, ref 2024-08-01 14:14:02 +03:00
Yuri Kuznetsov 09b56fd8c0 jsdocs 2024-08-01 14:11:31 +03:00
Yuri Kuznetsov 44175614d4 frontend tests update 2024-08-01 12:11:52 +03:00
Yuri Kuznetsov 1b7657bf0c readme fix 2024-08-01 11:35:55 +03:00
Yuri Kuznetsov 469fcdb8bc invitation, set parent 2024-08-01 10:59:11 +03:00
Yuri Kuznetsov fde53deae6 ref 2024-08-01 10:50:04 +03:00
Yuri Kuznetsov e470bf4eb1 strip prefixes from relationship name 2024-08-01 10:24:46 +03:00
Yuri Kuznetsov 5011f1e197 link manager strip c 2024-08-01 10:16:31 +03:00
Yuri Kuznetsov bc37a83982 datepicker restrict after 2024-07-31 15:57:54 +03:00
Yuri Kuznetsov d97b9be4c9 update mailmimeparser with dependencies 2024-07-31 15:03:58 +03:00
Yuri Kuznetsov e51a9621f3 test connection fix 2024-07-31 15:01:08 +03:00
Yuri Kuznetsov 6dde915b7e comment 2024-07-31 14:14:42 +03:00
Yuri Kuznetsov a109e1353d authentication: bypass second step 2024-07-31 14:12:09 +03:00
Yuri Kuznetsov 8018478b13 cleanup 2024-07-31 11:38:18 +03:00
Yuri Kuznetsov 9edb8bd59a cs 2024-07-31 11:32:42 +03:00
Yuri Kuznetsov 3b3b05286a address search for specific entity type 2024-07-31 11:26:29 +03:00
Yuri Kuznetsov bb534e6c46 record list dashlet additional row actions 2024-07-30 15:04:04 +03:00
Yuri Kuznetsov fce05fd5d2 user list view avatar 2024-07-29 17:05:45 +03:00
Yuri Kuznetsov 875be06d28 opp kanban layout change 2024-07-29 17:04:29 +03:00
Yuri Kuznetsov 0125ad0db9 fix link multiple fetched columns 2024-07-29 14:09:50 +03:00
Yuri Kuznetsov 4634c5d30f move selectRelated and createRelated to helpers 2024-07-29 11:35:12 +03:00
Yuri Kuznetsov 6bd717fe5d bottom view for small record views 2024-07-29 10:12:52 +03:00
Yuri Kuznetsov be56156516 ref 2024-07-29 09:58:36 +03:00
Yuri Kuznetsov 3da90da35b fix panel label 2024-07-29 09:47:42 +03:00
Yuri Kuznetsov 6b9ebdc731 field change reRended fromField check 2024-07-27 09:57:39 +03:00
Yuri Kuznetsov 1d0d12649f modal edit headerText option 2024-07-27 09:20:29 +03:00
Yuri Kuznetsov e2aa06f755 link multiple saver: skip not existing columns 2024-07-26 16:50:28 +03:00
Yuri Kuznetsov 19e4943410 reset to default color 2024-07-26 12:00:46 +03:00
Yuri Kuznetsov 668233a978 exclude personal addresses from cc when replying 2024-07-25 18:50:25 +03:00
Yuri Kuznetsov 5a3bfe5f68 create portal user lower case name 2024-07-25 18:35:13 +03:00
Yuri Kuznetsov 90ff998e5c ref 2024-07-25 18:34:00 +03:00
Yuri Kuznetsov 71b7c1af2b working time specific calendar 2024-07-25 09:26:50 +03:00
Yuri Kuznetsov 997e5cc44c ref 2024-07-25 08:59:28 +03:00
Yuri Kuznetsov 3f8e6b2854 fix 2024-07-23 21:24:13 +03:00
Yuri Kuznetsov 3bf7ec7e9d fix mid keys only for custom 2024-07-23 20:35:28 +03:00
Yuri Kuznetsov 1d7c47f005 do not load link multiple is loaded 2024-07-23 12:20:56 +03:00
Yuri Kuznetsov b1d77bdca0 midKeys order fix 2024-07-23 11:21:17 +03:00
Yuri Kuznetsov 36a9563e69 cleanup 2024-07-23 08:36:51 +03:00
Yuri Kuznetsov 67e1917426 mid keys converter fix 2024-07-23 08:36:19 +03:00
Yuri Kuznetsov 344714fda0 ref 2024-07-21 15:05:03 +03:00
Yuri Kuznetsov 836de2d624 phpdocs 2024-07-21 09:52:36 +03:00
Yuri Kuznetsov 2c5e548c07 orm getRelation 2024-07-21 09:49:19 +03:00
Yuri Kuznetsov f0ac0dc03e related list parent model 2024-07-19 15:20:50 +03:00
Yuri Kuznetsov 2bb53c5495 highlighted classes 2024-07-19 10:21:34 +03:00
Yuri Kuznetsov e0256018de noDefaultFilters 2024-07-18 09:05:03 +03:00
Yuri Kuznetsov 019cea2641 kanban update total event 2024-07-18 07:41:09 +03:00
Yuri Kuznetsov d8286a2de6 kanban topBarDisabled 2024-07-18 07:15:15 +03:00
Yuri Kuznetsov 685f034e15 enum set translated options method 2024-07-17 13:19:21 +03:00
Yuri Kuznetsov 3210733bc7 kanban methods 2024-07-17 12:56:45 +03:00
Yuri Kuznetsov 38ad6def8c fix selectable click 2024-07-17 12:22:06 +03:00
Yuri Kuznetsov b2d31d0230 fix kanban show more 2024-07-17 00:07:57 +03:00
Yuri Kuznetsov ddd9a1dc88 kanban createActionHandler 2024-07-16 23:51:19 +03:00
Yuri Kuznetsov 3355ee7192 fix 2024-07-16 19:44:54 +03:00
Yuri Kuznetsov a4e694412c kanban group item more data 2024-07-16 19:40:36 +03:00
Yuri Kuznetsov 7222a5a546 kanban empty render 2024-07-16 19:38:38 +03:00
Yuri Kuznetsov 423f26cb29 jsdocs 2024-07-16 18:04:52 +03:00
Yuri Kuznetsov fe4679cbc5 cleanup 2024-07-16 17:55:08 +03:00
Yuri Kuznetsov df0c56bd9b kanban ref 2024-07-16 17:53:19 +03:00
Yuri Kuznetsov 269f38e07c deprecation 2024-07-16 17:36:02 +03:00
Yuri Kuznetsov 48c89aec97 kanban ref 2024-07-16 17:35:01 +03:00
Yuri Kuznetsov 2cca4fe429 docs 2024-07-16 12:45:40 +03:00
Yuri Kuznetsov 8672fd1dff ref 2024-07-16 12:31:38 +03:00
Yuri Kuznetsov 755d3b863a dev 2024-07-16 12:15:29 +03:00
Yuri Kuznetsov 453e2bd1a0 ref 2024-07-16 12:10:15 +03:00
Yuri Kuznetsov 9ab35f457c ref 2024-07-16 11:51:07 +03:00
Yuri Kuznetsov 0a60ffefa5 ref 2024-07-16 11:30:17 +03:00
Yuri Kuznetsov 47fad3eb07 docs 2024-07-16 11:25:33 +03:00
Yuri Kuznetsov 7cca2353d8 system time zone 2024-07-16 11:07:45 +03:00
Yuri Kuznetsov 089c8d56f8 Merge branch 'fix' 2024-07-15 23:39:19 +03:00
Yuri Kuznetsov 17c9379c15 fix dynamic logic date time zone 2024-07-15 23:39:00 +03:00
Yuri Kuznetsov d6d83a209f label fixes 2024-07-15 23:12:43 +03:00
Yuri Kuznetsov 86b77266bb schema 2024-07-15 12:28:27 +03:00
Yuri Kuznetsov 9339082f9b link: set attributes at once 2024-07-15 11:48:05 +03:00
Yuri Kuznetsov bac385545c fix defaults promise wait 2024-07-15 11:25:25 +03:00
Yuri Kuznetsov 3e4b4f2df8 detail mode buttons to the left 2024-07-14 14:50:14 +03:00
Yuri Kuznetsov 990406889b app param error log 2024-07-12 10:33:48 +03:00
Yuri Kuznetsov 487d8dc909 custom layout in another module 2024-07-12 10:17:21 +03:00
Yuri Kuznetsov 4945e19fdf docs 2024-07-11 18:55:32 +03:00
Yuri Kuznetsov 0eecaf3d5a select related entityType param 2024-07-11 18:21:02 +03:00
Yuri Kuznetsov 337dd67c36 fix 2024-07-11 18:04:04 +03:00
Yuri Kuznetsov e8f0d38554 panel actions acl race condition fix 2024-07-11 18:00:21 +03:00
Yuri Kuznetsov e7904b976b schema 2024-07-11 13:27:50 +03:00
Yuri Kuznetsov 2360b75f97 panel actions 2024-07-11 13:22:30 +03:00
Yuri Kuznetsov 785c3a8545 link multiple translate empty role 2024-07-10 19:08:09 +03:00
Yuri Kuznetsov 1d1fccaed9 user only me filter 2024-07-10 12:59:13 +03:00
Yuri Kuznetsov fb921bb023 Merge branch 'fix' 2024-07-10 11:43:34 +03:00
Yuri Kuznetsov 0ffe39cec8 8.3.5 2024-07-10 11:04:51 +03:00
Yuri Kuznetsov 21034bfeb2 acl scope data resolve boolean to true if not false 2024-07-09 16:25:44 +03:00
Yuri Kuznetsov 94188f4256 ref 2024-07-09 15:15:08 +03:00
Yuri Kuznetsov 20f6d67f40 Merge branch 'master' of https://github.com/espocrm/espocrm 2024-07-09 15:07:34 +03:00
Yuri Kuznetsov a3c289aee2 model defaults preparator 2024-07-09 15:04:06 +03:00
Yuri Kuznetsov e56121bc18 ref 2024-07-09 14:25:56 +03:00
Arkadiy Asuratov 5b90d4c3f3 fix typos in databasePlatforms.json schema
* Updated descriptions for pre- and post-rebuild actions
2024-07-09 13:25:41 +03:00
Yuri Kuznetsov f69eed63d7 acl resolve foreign to boolean 2024-07-09 13:11:56 +03:00
Yuri Kuznetsov 06c173486e collection parentModel 2024-07-09 07:56:27 +03:00
Yuri Kuznetsov 32f1bfb1c6 model sync event option 2024-07-09 07:01:28 +03:00
Yuri Kuznetsov 68fee2ec9f fix msg 2024-07-08 22:34:08 +03:00
Yuri Kuznetsov d15ab2df31 jsdoc 2024-07-08 22:29:31 +03:00
Yuri Kuznetsov cb7f87a3f1 archive email require import access 2024-07-08 22:18:15 +03:00
Yuri Kuznetsov 6783331aab email: user massUpdateDisabled 2024-07-08 22:11:58 +03:00
Yuri Kuznetsov 88d4b6f27c Merge branch 'fix' 2024-07-08 22:03:12 +03:00
Yuri Kuznetsov 3347b7fba8 email from address check 2024-07-08 18:43:32 +03:00
Yuri Kuznetsov cff703db05 list rebuild 2024-07-08 16:46:26 +03:00
Yuri Kuznetsov 16ba6ce7cf settings helper injected 2024-07-08 16:34:55 +03:00
Yuri Kuznetsov d4bda1fa9d panel heading text 2024-07-08 14:25:30 +03:00
Yuri Kuznetsov 06b5100e87 list update-total event 2024-07-08 14:11:19 +03:00
Yuri Kuznetsov f1a3cd397a checkbox disable 2024-07-08 13:25:38 +03:00
Yuri Kuznetsov 2481e1a652 cf 2024-07-08 13:01:32 +03:00
Yuri Kuznetsov e32ad76590 cleanup 2024-07-08 12:44:43 +03:00
Yuri Kuznetsov 81f1374f55 force sticky bar param 2024-07-08 11:58:20 +03:00
Yuri Kuznetsov d3fd314e35 list sticky bar edge 2024-07-08 08:56:46 +03:00
Yuri Kuznetsov 20b1b06d5f mass action no aclScope fix 2024-07-07 19:45:29 +03:00
Yuri Kuznetsov a364ae1923 massUpdateDisabled in entityDefs fields 2024-07-07 19:00:47 +03:00
Yuri Kuznetsov bb2ce37a38 ref 2024-07-07 18:47:55 +03:00
Yuri Kuznetsov fd092a3eb1 group index -100 2024-07-07 15:26:08 +03:00
Yuri Kuznetsov fb3bdde2c3 link create with name 2024-07-07 13:21:59 +03:00
Yuri Kuznetsov 66623c02e2 rerender row actions on model change 2024-07-07 13:16:20 +03:00
Yuri Kuznetsov 22fded93fb docs 2024-07-07 11:54:57 +03:00
Yuri Kuznetsov 6da20c6f86 modal view related entityType option 2024-07-07 09:50:23 +03:00
Yuri Kuznetsov 34834b2d5c css class panel-actions-container-left 2024-07-06 19:21:50 +03:00
Yuri Kuznetsov c971304b03 array keepItems param 2024-07-06 16:13:11 +03:00
Yuri Kuznetsov 6c7d424349 removeMassAction public 2024-07-06 10:51:36 +03:00
Yuri Kuznetsov f8e43a3694 fix accounts field 2024-07-06 10:07:09 +03:00
Yuri Kuznetsov 17dddbc248 ref 2024-07-06 09:57:43 +03:00
Yuri Kuznetsov 2246ab0cfd select primary id 2024-07-06 09:57:34 +03:00
Yuri Kuznetsov a42f2cbe3a dynamic logic schema fix 2024-07-06 09:45:00 +03:00
Yuri Kuznetsov ad4c039b4a link multiple html fix 2024-07-06 09:38:45 +03:00
Yuri Kuznetsov 2638fdb884 link-multiple-with-columns list text color 2024-07-06 09:23:46 +03:00
Yuri Kuznetsov c0cfe8a36f cs 2024-07-06 09:21:12 +03:00
Yuri Kuznetsov b9ab872ccd autocomplete user-select none 2024-07-06 09:16:58 +03:00
Yuri Kuznetsov 018b0b46aa fix label manager options 2024-07-06 09:13:39 +03:00
Yuri Kuznetsov 7bcd347f2d link multiple id autocomple conflict fix 2024-07-05 19:32:13 +03:00
Yuri Kuznetsov a6db71957a input-text-block 2024-07-05 19:05:50 +03:00
Yuri Kuznetsov 1a5df659cf date field after/before in params 2024-07-05 18:43:58 +03:00
Yuri Kuznetsov 2219f52140 id field view 2024-07-05 12:58:55 +03:00
Yuri Kuznetsov 78dde9c7a1 record helper in modal record 2024-07-04 17:50:31 +03:00
Yuri Kuznetsov 3f0e2a242d Merge branch 'fix' 2024-07-04 09:21:04 +03:00
Yuri Kuznetsov 64aebdde6b icon color fix 2024-07-04 09:20:54 +03:00
Arkadiy Asuratov 24f6db674f suggest toTimestamp over getTimestamp 2024-07-03 18:45:55 +03:00
Arkadiy Asuratov bfc4fb7ca8 suggest toTimestamp over getTimestamp 2024-07-03 18:45:55 +03:00
Yuri Kuznetsov d46945dd2e change mode 2024-07-03 17:00:00 +03:00
Yuri Kuznetsov 51130d1aef fix 2024-07-03 16:33:43 +03:00
Yuri Kuznetsov 6eb71a789e foreign check 2024-07-03 12:06:26 +03:00
Yuri Kuznetsov 9c77169e6c foreign allow delete for admin if no record 2024-07-03 11:43:38 +03:00
Yuri Kuznetsov 26f1218240 duplicate source ID in save options 2024-07-02 19:14:46 +03:00
Yuri Kuznetsov 8b09a81237 Merge branch 'fix' 2024-07-01 16:45:19 +03:00
Yuri Kuznetsov f3ee5c654b 8.3.4 2024-07-01 16:35:35 +03:00
Yuri Kuznetsov 19c8fe9ac5 ref 2024-07-01 16:33:15 +03:00
Yuri Kuznetsov 81f45d5679 merge 2024-07-01 16:27:08 +03:00
Yuri Kuznetsov 1a413cb54e check failed code attempts in a separate hook 2024-07-01 16:23:37 +03:00
Yuri Kuznetsov 3ab2ffee3c back to edit after duplicate cancel 2024-06-30 10:56:42 +03:00
Yuri Kuznetsov 53a481622a address country duplicate check 2024-06-30 09:58:49 +03:00
Yuri Kuznetsov 7d72a7ff71 ref 2024-06-29 19:45:32 +03:00
Yuri Kuznetsov 314cc7f4c2 load empty link multiple names 2024-06-29 19:31:51 +03:00
Yuri Kuznetsov df1228f720 ref 2024-06-29 13:04:52 +03:00
Yuri Kuznetsov bbd071221a fix 2024-06-29 13:04:48 +03:00
Yuri Kuznetsov 9235a3cf79 unset data 2024-06-29 12:12:42 +03:00
Yuri Kuznetsov 75c966e4bb external account disable 2024-06-29 11:52:29 +03:00
Yuri Kuznetsov c298f5ec9a cleanup 2024-06-29 10:43:58 +03:00
Yuri Kuznetsov 94986d8835 ui fix 2024-06-29 10:28:42 +03:00
Yuri Kuznetsov ece8405b33 campaign unsubscribe change 2024-06-29 10:14:17 +03:00
Yuri Kuznetsov 0d2d708ba8 mass email post unsubscribe 2024-06-28 20:13:10 +03:00
Yuri Kuznetsov ef31f7ba08 Merge branch 'fix' 2024-06-28 19:21:07 +03:00
Yuri Kuznetsov 41bcaf50c4 fix attachment-multiple render 2024-06-28 18:55:21 +03:00
Yuri Kuznetsov dcd3fa0fc8 ref 2024-06-28 16:52:05 +03:00
Yuri Kuznetsov b48b9683ab comments 2024-06-28 11:15:59 +03:00
Yuri Kuznetsov 2548f396ef ref 2024-06-28 11:09:53 +03:00
Yuri Kuznetsov 0122b99a4b ouath timeout 2024-06-28 10:16:09 +03:00
Yuri Kuznetsov fb747d3f65 ref 2024-06-28 09:55:36 +03:00
Yuri Kuznetsov 41cb0de44e ref 2024-06-28 09:35:59 +03:00
Yuri Kuznetsov f7442be97b cs 2024-06-28 09:19:10 +03:00
Yuri Kuznetsov 20ccacddf3 ref 2024-06-28 09:18:07 +03:00
Yuri Kuznetsov 1ce56bb522 event date start colors 2024-06-27 17:15:02 +03:00
Yuri Kuznetsov f2330b9a51 date field style 2024-06-27 16:29:02 +03:00
Yuri Kuznetsov 0346a0023e Merge branch 'fix' 2024-06-27 16:04:54 +03:00
Yuri Kuznetsov bc7d9443b1 8.3.3 2024-06-27 15:54:59 +03:00
Yuri Kuznetsov 8188dc065b fix row actions returning undefined 2024-06-27 15:29:30 +03:00
Yuri Kuznetsov a2025d0a89 fix props not initiated 2024-06-27 15:17:04 +03:00
Yuri Kuznetsov c46933f427 Merge branch 'fix' 2024-06-27 11:53:23 +03:00
Yuri Kuznetsov 1d31637c2e migrate: rebuild before each script 2024-06-27 11:53:13 +03:00
Yuri Kuznetsov e26026c9ad migrate: rebuild before each script 2024-06-27 11:49:36 +03:00
Yuri Kuznetsov f9e4d1a953 cleanup 2024-06-27 10:43:50 +03:00
Yuri Kuznetsov 6f00a6b2e7 2fa code attempts period separate param 2024-06-27 10:34:55 +03:00
Yuri Kuznetsov a89860dc52 ref 2024-06-27 10:24:12 +03:00
Yuri Kuznetsov 626c23b1b5 ref 2024-06-27 10:01:45 +03:00
Yuri Kuznetsov 7513d05451 hide menu items in edit mode 2024-06-27 08:52:45 +03:00
Yuri Kuznetsov 5e7aabc46c ref, convert lead button improvement 2024-06-27 08:34:38 +03:00
Yuri Kuznetsov 740baffeb4 convert lead use record service 2024-06-27 08:26:56 +03:00
Yuri Kuznetsov 2ba808c371 auth limit denial reason check 2024-06-26 21:54:15 +03:00
Yuri Kuznetsov 8c7f9f43e4 convert lead require acl create 2024-06-26 16:42:16 +03:00
Yuri Kuznetsov 2df98585f9 lead convert: ability to select account 2024-06-26 16:38:27 +03:00
Yuri Kuznetsov 9d4266bed0 ref 2024-06-26 16:26:39 +03:00
Yuri Kuznetsov cb313cd7ef ref 2024-06-26 14:29:10 +03:00
Yuri Kuznetsov ce54d516e9 Merge branch 'fix' 2024-06-26 13:51:29 +03:00
Yuri Kuznetsov 6bce395daf fix dropdown empty 2024-06-26 13:51:19 +03:00
Yuri Kuznetsov b634daca6e cs 2024-06-26 13:33:59 +03:00
Yuri Kuznetsov 338e0bb9d4 deleteId param 2024-06-26 13:27:20 +03:00
Yuri Kuznetsov cc576a6af8 add user utility fields 2024-06-26 12:33:15 +03:00
Yuri Kuznetsov cbb0159d27 userNameRegularExpression readonly 2024-06-26 12:22:04 +03:00
Yuri Kuznetsov 515b43614b sanitizer lower case 2024-06-26 12:20:29 +03:00
Yuri Kuznetsov 736d23fa6d inline edit shortcut do not reset 2024-06-26 08:40:53 +03:00
Yuri Kuznetsov 7a096cdde4 Merge branch 'fix' 2024-06-26 08:05:49 +03:00
Yuri Kuznetsov 5b0787474e 8.3.2 2024-06-26 07:53:49 +03:00
Yuri Kuznetsov 8c87f20374 comment 2024-06-26 07:50:19 +03:00
Yuri Kuznetsov ba35115a48 inline edit: revert initial attributes on error 2024-06-26 07:44:44 +03:00
Yuri Kuznetsov 069010d0fe log opened only for system user 2024-06-26 07:22:09 +03:00
Yuri Kuznetsov fe5878fd99 2fa auth log records on fail 2024-06-25 20:39:44 +03:00
Yuri Kuznetsov ee37960259 mass action show/hide 2024-06-25 16:22:33 +03:00
Yuri Kuznetsov 3ce8fae228 cs ref 2024-06-25 15:37:00 +03:00
Yuri Kuznetsov 13ebc558e9 email dd item group index change 2024-06-25 15:03:53 +03:00
Yuri Kuznetsov 3ae342c275 mass actions groups 2024-06-25 15:00:25 +03:00
Yuri Kuznetsov a283305c7b fix test 2024-06-25 14:05:29 +03:00
Yuri Kuznetsov 839ceea142 root api endpoint fix type 2024-06-25 08:35:56 +03:00
Yuri Kuznetsov a6c698588c update bullbone 2024-06-24 18:59:23 +03:00
Yuri Kuznetsov 3007976506 fix test 2024-06-24 13:49:54 +03:00
Yuri Kuznetsov 8189f0eb2f wysiwyg: don't call getValueForDisplay 2024-06-24 13:27:42 +03:00
Yuri Kuznetsov 248063f327 activities, prepare for output 2024-06-24 13:23:07 +03:00
Yuri Kuznetsov 3a76807a2b parent field in activities and other dashlets 2024-06-24 13:12:29 +03:00
Yuri Kuznetsov 6e6d3e15ea emails archive 2024-06-24 12:44:35 +03:00
Yuri Kuznetsov eee086ef52 Merge branch 'fix' 2024-06-24 11:24:47 +03:00
Yuri Kuznetsov 9cce9d7347 comment 2024-06-24 11:16:45 +03:00
Yuri Kuznetsov 69d0dbbf1c email collapse fix 2024-06-24 11:09:29 +03:00
Yuri Kuznetsov 92695c0c39 email search cc 2024-06-24 10:56:51 +03:00
Yuri Kuznetsov 44346e962c Merge branch 'fix' 2024-06-24 10:54:58 +03:00
Yuri Kuznetsov 68ef9ce4ac disable email field layouts 2024-06-24 10:54:48 +03:00
Yuri Kuznetsov 83a415cb33 Merge branch 'fix' 2024-06-24 10:35:56 +03:00
Yuri Kuznetsov 163cf047e5 8.3.1 2024-06-24 10:25:00 +03:00
Yuri Kuznetsov 02efdf11f5 Merge branch 'fix' 2024-06-23 17:53:09 +03:00
Yuri Kuznetsov cc574afd3d labels 2024-06-23 17:52:57 +03:00
Yuri Kuznetsov 26a0c4b108 ref 2024-06-23 11:55:00 +03:00
Yuri Kuznetsov 77d76fe0ee bg lang 2024-06-23 11:19:19 +03:00
Yuri Kuznetsov caeaf46403 email show quote part 2024-06-23 11:05:47 +03:00
Yuri Kuznetsov c254f5cc0d Merge branch 'fix' 2024-06-23 10:52:27 +03:00
Yuri Kuznetsov e7ab75ec5a link-one fix 2024-06-23 10:47:07 +03:00
Yuri Kuznetsov 53c3f4b4c3 fix 2024-06-23 09:26:55 +03:00
Yuri Kuznetsov 53a12e17f8 Merge branch 'master' of https://github.com/espocrm/espocrm 2024-06-22 19:43:21 +03:00
Yuri Kuznetsov 2ab5489bec eml duplicate check 2024-06-22 19:43:11 +03:00
Yurii Kuznietsov a5c87272b1 Update CONTRIBUTING.md 2024-06-22 19:15:42 +03:00
Yurii Kuznietsov 130bae6a88 Update CONTRIBUTING.md 2024-06-22 15:36:57 +03:00
Yurii Kuznietsov c520a02ca5 Update CONTRIBUTING.md 2024-06-22 15:36:16 +03:00
Yuri Kuznetsov b8d5612d32 ref 2024-06-22 11:19:54 +03:00
Yuri Kuznetsov 6ecf5fcdd0 note avatar style fix 2024-06-22 11:13:23 +03:00
Yuri Kuznetsov 5a93722232 import EML 2024-06-22 09:56:29 +03:00
Yuri Kuznetsov d6035523e2 Merge branch 'fix' 2024-06-22 09:26:49 +03:00
Yuri Kuznetsov ff6983c9f3 fix wysiwyg sticky toolbar position 2024-06-22 09:26:40 +03:00
Yuri Kuznetsov e2673473c5 wysiwyg codeview not limited height 2024-06-22 09:09:42 +03:00
Yuri Kuznetsov e8bf70ab8e wysiwyg fullscreen codeview switch fix 2024-06-22 08:59:04 +03:00
Yuri Kuznetsov f459d5811d wysiwyg height not being changed fix 2024-06-22 08:45:10 +03:00
Yuri Kuznetsov 8b49e72f2b Merge branch 'fix' 2024-06-21 22:12:19 +03:00
Yuri Kuznetsov 53bf9b024a address field: support list-link template 2024-06-21 22:12:04 +03:00
Yuri Kuznetsov a1292cf933 navbar order change 2024-06-21 16:55:25 +03:00
Yuri Kuznetsov 5ccfd77669 ref 2024-06-21 16:52:40 +03:00
Yuri Kuznetsov 67a27ec21b Merge branch 'fix' 2024-06-21 16:27:43 +03:00
Yuri Kuznetsov 25aed1a1c4 style fix 2024-06-21 16:17:45 +03:00
Yuri Kuznetsov b1de15339a metadata navbar menu 2024-06-21 15:42:48 +03:00
Yuri Kuznetsov 3f819500d3 navbar item order, gaps 2024-06-21 13:56:06 +03:00
Yuri Kuznetsov 435be717c3 cleanup 2024-06-21 13:41:45 +03:00
Yuri Kuznetsov d2f4fbc59d Merge branch 'fix' 2024-06-21 13:14:47 +03:00
Yuri Kuznetsov 2589801993 css fix 2024-06-21 13:14:40 +03:00
Yuri Kuznetsov 9e0a77588d move navbar items to metadata 2024-06-21 13:06:29 +03:00
Yuri Kuznetsov 5f954c22da fix header dropdown on small screen 2024-06-21 12:41:36 +03:00
Yuri Kuznetsov 423e2ca544 fix favicon metadata path 2024-06-21 12:04:11 +03:00
Yuri Kuznetsov d033b26e57 Merge branch 'fix' 2024-06-21 09:40:43 +03:00
Yuri Kuznetsov 6176b8770f fulltext hyphen use natural language mode 2024-06-21 09:40:20 +03:00
Yuri Kuznetsov cbced73f6e history layout change 2024-06-20 22:03:43 +03:00
Yuri Kuznetsov 9168dd69f2 orm: mapper ref, fix wildcard in expression 2024-06-20 17:45:44 +03:00
Yuri Kuznetsov c69fc7f2c9 orm mapper: deleted check 2024-06-20 16:39:10 +03:00
Yuri Kuznetsov faebc13757 Merge branch 'fix' 2024-06-20 15:42:11 +03:00
Yuri Kuznetsov 8ab7452859 fix kanban fetch 2024-06-20 15:42:03 +03:00
Yuri Kuznetsov bd6e0023c3 kanban column show/hide 2024-06-20 13:01:50 +03:00
Yuri Kuznetsov 5f00c85882 cs 2024-06-20 11:48:37 +03:00
Yuri Kuznetsov 6c8cffeb2a nowrap 2024-06-20 08:38:21 +03:00
Yuri Kuznetsov 683eb5a491 Merge branch 'master' into version/8.4 2024-06-20 08:25:23 +03:00
Yuri Kuznetsov 07035bf8bf undo avatar 2024-06-20 08:19:34 +03:00
Yuri Kuznetsov 9e8df41174 check set held 2024-06-19 21:46:36 +03:00
Yuri Kuznetsov 64736349f0 ref 2024-06-19 21:44:15 +03:00
Yuri Kuznetsov 71f389703d remove action fix 2024-06-19 21:36:35 +03:00
Yuri Kuznetsov 669701c6fd Merge branch 'master' into version/8.4 2024-06-19 12:29:07 +03:00
Yuri Kuznetsov 02917943b6 quick view aux 2024-06-19 12:28:44 +03:00
Yuri Kuznetsov 7221963990 stream assign avatar 2024-06-19 12:27:33 +03:00
Yuri Kuznetsov 062043d5e1 Merge branch 'master' into version/8.4 2024-06-19 12:23:58 +03:00
Yuri Kuznetsov acf1833d9f fix tooltip 2024-06-19 11:54:13 +03:00
Yuri Kuznetsov 9c45902213 stream notes quick view aux 2024-06-19 08:40:56 +03:00
Yuri Kuznetsov f9674bd60c field view validation functions 2024-06-18 12:10:55 +03:00
Yuri Kuznetsov 831d840cc5 field view validation functions 2024-06-18 12:08:39 +03:00
Yuri Kuznetsov adc3df5144 Merge branch 'master' into version/8.4 2024-06-18 11:34:06 +03:00
Yuri Kuznetsov 3f6f718cd9 schema 2024-06-18 11:30:17 +03:00
Yuri Kuznetsov c35b5c5aa5 label 2024-06-18 11:29:01 +03:00
Yuri Kuznetsov 0050f44a8a lang 2024-06-18 11:08:44 +03:00
dependabot[bot] f86479afdc Bump ws from 8.13.0 to 8.17.1
Bumps [ws](https://github.com/websockets/ws) from 8.13.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.13.0...8.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 11:00:39 +03:00
Yuri Kuznetsov f4cbb5e56a avatar color, use read only state 2024-06-18 09:03:46 +03:00
Yuri Kuznetsov 6c8e9b129a avatar color attribute in avatar field 2024-06-18 08:54:05 +03:00
Yuri Kuznetsov c033cb171e avatar color combined field 2024-06-17 18:48:27 +03:00
Yuri Kuznetsov bdf7d56e0c phone validation ref 2024-06-17 17:13:59 +03:00
Yuri Kuznetsov 3e7326f605 ref 2024-06-17 16:56:13 +03:00
Yuri Kuznetsov 61e51bfb31 ref 2024-06-17 16:54:21 +03:00
Yuri Kuznetsov c35d934ba7 import array, trim 2024-06-17 13:23:04 +03:00
Yuri Kuznetsov 80fa391daa css fix 2024-06-17 12:51:28 +03:00
Yuri Kuznetsov 1092b17a13 orm mapper: check deleted when update 2024-06-17 12:50:10 +03:00
Yuri Kuznetsov 1de6568918 v 2024-06-17 09:09:27 +03:00
Yuri Kuznetsov ee7c7046ac wysiwyg escape insert link 2024-06-16 10:38:15 +03:00
Yuri Kuznetsov 19638dd649 activities panel update-all 2024-06-15 16:14:16 +03:00
Yuri Kuznetsov df30678484 css fix 2024-06-14 16:58:22 +03:00
dependabot[bot] b05697d874 Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-12 23:10:31 +03:00
Yuri Kuznetsov 91177fc0d2 schema 2024-06-12 11:58:28 +03:00
Yuri Kuznetsov e56c64dba4 schema 2024-06-12 09:15:35 +03:00
Yuri Kuznetsov 7ecc0dc6a9 upcoming activities order impr 2024-06-10 14:50:59 +03:00
Yuri Kuznetsov 808e2f8788 ref 2024-06-10 14:34:38 +03:00
Yuri Kuznetsov 7682539114 fix submit reminders 2024-06-10 12:15:29 +03:00
Yuri Kuznetsov 890649e46b detail modes 2024-06-10 11:02:29 +03:00
Yuri Kuznetsov 33d710d265 Merge branch 'master' into version/8.4 2024-06-10 09:49:37 +03:00
Yuri Kuznetsov 0558739e67 link multiple primary fix 2024-06-10 09:16:11 +03:00
Yuri Kuznetsov 552983ca33 ref 2024-06-09 18:33:14 +03:00
Yuri Kuznetsov d328872479 ref 2024-06-09 18:28:57 +03:00
Yuri Kuznetsov 6cee542972 change todo 2024-06-08 21:16:11 +03:00
Yuri Kuznetsov afb77424d4 array field: guard null item 2024-06-08 16:09:03 +03:00
Yuri Kuznetsov c7465970bd viewModeIconClassMap 2024-06-08 12:21:00 +03:00
Yuri Kuznetsov 4f6ae321b9 schema 2024-06-08 12:13:37 +03:00
Yuri Kuznetsov b92970992f ref 2024-06-08 11:50:46 +03:00
Yuri Kuznetsov 4923984e2d cleanup 2024-06-08 11:48:53 +03:00
Yuri Kuznetsov 071fb20f7b email insert data load additional fields 2024-06-08 09:51:16 +03:00
Yuri Kuznetsov 3e7d0f23c8 Merge branch 'fix' 2024-06-07 14:44:42 +03:00
Yuri Kuznetsov 268009e5f6 8.2.5 2024-06-07 14:35:06 +03:00
Yuri Kuznetsov 573d810d37 color changes 2024-06-06 20:58:51 +03:00
Yuri Kuznetsov b3f3226f55 metadata additional builders 2024-06-06 19:32:15 +03:00
Yuri Kuznetsov 511b7b0d9d Merge branch 'fix' 2024-06-06 13:58:48 +03:00
Yuri Kuznetsov 3e54b58c8c formula parser assign operator fix 2024-06-06 13:57:46 +03:00
Yuri Kuznetsov 92467afad3 formula parser assign operator fix 2024-06-06 13:51:57 +03:00
Yuri Kuznetsov a1c6004c4f user tabs fix 2024-06-06 11:29:17 +03:00
Yuri Kuznetsov 0d8943d86a cs 2024-06-06 11:17:00 +03:00
Yuri Kuznetsov 07ca2b6ceb user layout detail small change 2024-06-06 11:09:31 +03:00
Yuri Kuznetsov e019de24cc fieldNotMatchingPattern$phoneNumberLoose 2024-06-05 12:05:57 +03:00
Yuri Kuznetsov 7b417313a2 reminder validator ref 2024-06-04 20:50:48 +03:00
Yuri Kuznetsov cb6777d19b fix notification css 2024-06-04 20:38:31 +03:00
Yuri Kuznetsov 2790834c62 fix notification selector 2024-06-04 20:29:17 +03:00
Yuri Kuznetsov 9162b61a3f dynamic logic datetime second granuality 2024-06-04 12:06:53 +03:00
Yuri Kuznetsov 8488afb6f6 logo changes 2024-06-03 13:47:46 +03:00
Yuri Kuznetsov 1b518f4b6f style fix 2024-06-03 13:43:26 +03:00
Yuri Kuznetsov 92bad5240b calendar task fix 2024-06-03 13:40:29 +03:00
Yuri Kuznetsov 5f70d1b408 sent folder encoding 2024-06-03 11:27:42 +03:00
Yuri Kuznetsov 0941bd440e comment 2024-06-03 11:12:44 +03:00
Yuri Kuznetsov 2fabf4bfe1 EntityProvider getByClassName 2024-05-31 09:50:21 +03:00
Yurii Kuznietsov f9e13e8093 Update README.md 2024-05-30 20:54:11 +03:00
Yurii Kuznietsov d1f0fd4fb8 Update README.md 2024-05-30 20:53:41 +03:00
Yurii Kuznietsov 7c9ae7caa4 Update README.md 2024-05-30 20:01:09 +03:00
Yurii Kuznietsov 2adcab4417 Update README.md 2024-05-30 19:53:53 +03:00
Yurii Kuznietsov 2fd367cd7d Update README.md 2024-05-30 19:51:17 +03:00
Yurii Kuznietsov 82c74c23f9 Update README.md 2024-05-30 19:47:42 +03:00
Yurii Kuznietsov 9de57ba4b2 Update README.md 2024-05-30 19:41:22 +03:00
Yurii Kuznietsov 53d544a6d5 Update README.md 2024-05-30 19:40:26 +03:00
Yurii Kuznietsov 5f550f38f9 Update README.md 2024-05-30 19:39:56 +03:00
Yurii Kuznietsov 63a1c0be66 Update README.md 2024-05-30 19:36:49 +03:00
Yuri Kuznetsov a43903dfd2 task reminders 2024-05-30 09:34:54 +03:00
Yuri Kuznetsov ce369c774b ref 2024-05-30 09:34:54 +03:00
Yurii Kuznietsov 971543ab02 Update README.md 2024-05-29 21:51:00 +03:00
Yuri Kuznetsov bf8b9a7e16 sakura color changes 2024-05-29 14:15:23 +03:00
Yuri Kuznetsov d727cea9ee navbar color changes 2024-05-29 14:06:48 +03:00
Yuri Kuznetsov 373e05d219 navbar hover bg 2024-05-29 14:03:41 +03:00
Yuri Kuznetsov 8fa5cf4af1 color 2024-05-29 13:57:29 +03:00
Yuri Kuznetsov 776ae3ac9d radius change 2024-05-29 12:14:36 +03:00
Yuri Kuznetsov f3d9f93564 espo theme change 2024-05-29 12:13:34 +03:00
Yuri Kuznetsov d32995df9b hazyblue changes 2024-05-29 12:06:12 +03:00
Yuri Kuznetsov 6c8e5b2c92 calls scheduler panel 2024-05-29 11:54:39 +03:00
Yuri Kuznetsov b44e536e35 logo espo color 2024-05-29 10:32:55 +03:00
Yuri Kuznetsov 8e9045352d color change 2024-05-27 17:06:48 +03:00
Yuri Kuznetsov 97499626db links no spell check 2024-05-27 15:38:31 +03:00
Yuri Kuznetsov 65cf99faad color change 2024-05-27 15:23:41 +03:00
Yuri Kuznetsov 5719f29262 table-panel border radius fix 2024-05-27 10:45:44 +03:00
Yuri Kuznetsov 06811d9fcc link manager: remove dynamic logic 2024-05-27 10:18:48 +03:00
Yuri Kuznetsov 9000dba6fd default team read only for non admins 2024-05-26 10:12:24 +03:00
Yuri Kuznetsov b8734f68da ref 2024-05-24 17:47:29 +03:00
Yuri Kuznetsov a6eb683770 logo-espo 2024-05-24 16:22:32 +03:00
Yuri Kuznetsov 00a8c7326d calendar no select 2024-05-24 15:30:52 +03:00
Yuri Kuznetsov 8faa5b91e2 color fixes 2024-05-24 14:21:39 +03:00
Yuri Kuznetsov afeeba80f7 fix css 2024-05-24 14:16:44 +03:00
Yuri Kuznetsov b6daa5accb espo theme colors change 2024-05-23 18:15:48 +03:00
Yuri Kuznetsov 7bf5c9ba11 color change 2024-05-23 13:00:18 +03:00
Yuri Kuznetsov 2433da0db7 theme changes 2024-05-22 19:50:40 +03:00
Yuri Kuznetsov b820c880a7 theme changes 2024-05-22 16:38:28 +03:00
Yuri Kuznetsov c7c31ee73a theme change 2024-05-22 16:13:18 +03:00
Yuri Kuznetsov 18ec05f63e color change 2024-05-22 16:02:14 +03:00
Yuri Kuznetsov cf42c312cf fix style 2024-05-22 10:20:49 +03:00
Yuri Kuznetsov d76bb5677b color fix 2024-05-22 10:12:02 +03:00
Yuri Kuznetsov 9afaf54dea theme changes 2024-05-22 09:43:41 +03:00
Yuri Kuznetsov 99490fdf4c theme changes 2024-05-21 18:59:14 +03:00
Yuri Kuznetsov 244edbbcac cleanup 2024-05-21 14:59:54 +03:00
Yuri Kuznetsov 2fab584c60 color changes 2024-05-21 14:51:39 +03:00
Yuri Kuznetsov 9d797ae17a fix color 2024-05-21 14:43:44 +03:00
Yuri Kuznetsov 15860096d3 rename subscription table 2024-05-21 14:28:09 +03:00
Yuri Kuznetsov c0ac579b7f ref 2024-05-21 12:26:22 +03:00
Yuri Kuznetsov 50d5280d2c button style changes 2024-05-21 10:47:22 +03:00
Yuri Kuznetsov b1c5526286 btn color change 2024-05-21 10:41:48 +03:00
Yuri Kuznetsov 384902f349 violet theme button style change 2024-05-21 10:08:10 +03:00
Yuri Kuznetsov 86e75a4d47 color fix 2024-05-21 09:56:58 +03:00
Yuri Kuznetsov 0401f0cce6 fix overlapping 2024-05-21 09:52:48 +03:00
Yuri Kuznetsov 5b54f1b579 color change 2024-05-20 19:33:02 +03:00
Yuri Kuznetsov 62370b6c8d Merge branch 'fix' 2024-05-20 11:41:43 +03:00
Yuri Kuznetsov edc9d00be3 calendar all day fix 2024-05-20 11:41:31 +03:00
Yuri Kuznetsov 73d4250daa typo 2024-05-18 16:48:58 +03:00
Yuri Kuznetsov aa052560bf cs 2024-05-18 16:47:18 +03:00
Yuri Kuznetsov b35c2ca97f deprecation 2024-05-18 16:46:48 +03:00
Yuri Kuznetsov d2946cacfa fix stream scroll 2024-05-18 13:55:49 +03:00
Yuri Kuznetsov eaaceb74bd stored view impr 2024-05-18 11:47:18 +03:00
Yuri Kuznetsov 2138591b72 fix 2024-05-18 11:33:46 +03:00
Yuri Kuznetsov 3583b586c2 ref 2024-05-18 11:11:05 +03:00
Yuri Kuznetsov 965e5149f3 ref 2024-05-18 10:38:17 +03:00
Yuri Kuznetsov be899bc0e2 reset scroll 2024-05-18 10:33:15 +03:00
Yuri Kuznetsov e23e8854d7 cs 2024-05-18 09:59:14 +03:00
Yuri Kuznetsov 2b977e5456 record dashlets display records int 2024-05-18 09:38:38 +03:00
Yuri Kuznetsov 1c7f65db1a password settings layout change 2024-05-17 16:40:33 +03:00
Yuri Kuznetsov cdda1e0514 typo 2024-05-17 15:00:25 +03:00
Yuri Kuznetsov 9fc955d7b5 portal auth token control 2024-05-17 14:49:39 +03:00
Yuri Kuznetsov 0372374e1f convert lead ui impr 2024-05-17 13:05:48 +03:00
Yuri Kuznetsov c615f0d8db message 2024-05-17 12:52:57 +03:00
Yuri Kuznetsov f4b9b3fd81 ref 2024-05-17 12:52:50 +03:00
Yuri Kuznetsov da06eb9426 messages 2024-05-17 12:14:46 +03:00
Yuri Kuznetsov 2a3f3f2d04 update favicon 2024-05-17 11:28:48 +03:00
Yuri Kuznetsov 19a8535dbe favicon png 2024-05-17 11:23:28 +03:00
Yuri Kuznetsov 363a1c1b06 favicon 2024-05-17 09:48:29 +03:00
Yuri Kuznetsov 5c2b3f707b fix mail link surrounded by quotes 2024-05-17 09:27:04 +03:00
Yuri Kuznetsov 73f88bc097 fix messages 2024-05-16 16:00:20 +03:00
Yuri Kuznetsov 7ebcc6c71a kb active status list 2024-05-16 14:51:55 +03:00
Yuri Kuznetsov af3baef0cb campaign disable custom options 2024-05-16 14:41:46 +03:00
Yuri Kuznetsov 14ea8886f6 document active statuses 2024-05-16 13:57:20 +03:00
Yuri Kuznetsov 852977d5db schema 2024-05-16 13:50:30 +03:00
Yuri Kuznetsov 4178406453 ref 2024-05-16 13:49:09 +03:00
Yuri Kuznetsov 149649be09 fix 2024-05-16 12:58:15 +03:00
Yuri Kuznetsov 2a17155f96 force assignment notifications 2024-05-16 12:48:46 +03:00
Yuri Kuznetsov d9488ba71c ref 2024-05-16 12:42:43 +03:00
Yuri Kuznetsov 275c3aa492 remove addressCountryList param 2024-05-15 14:56:22 +03:00
Yuri Kuznetsov 9f5975eb5b autocomplete in modal fix 2024-05-15 14:52:44 +03:00
Yuri Kuznetsov a1d5174372 address country list 2024-05-15 14:12:29 +03:00
Yuri Kuznetsov 547b77423a varchar custom autocomplete lookup function 2024-05-15 12:56:40 +03:00
Yuri Kuznetsov a2c81e5891 orm reportsitory delete from db if no deleted 2024-05-15 10:49:36 +03:00
Yuri Kuznetsov f1070612b4 ref cs 2024-05-15 10:43:17 +03:00
Yuri Kuznetsov c5828a9feb schema 2024-05-15 10:30:10 +03:00
Yuri Kuznetsov 62b2314ff3 address fix params 2024-05-14 14:07:46 +03:00
Yuri Kuznetsov dce9c437bf ref 2024-05-14 11:52:26 +03:00
Yuri Kuznetsov e5a012cdc7 7_2 migration 2024-05-13 12:23:32 +03:00
Yuri Kuznetsov 17f18e36fd migration scripts 2024-05-13 10:56:52 +03:00
Yuri Kuznetsov e99fca0252 group email account exclude from reply 2024-05-13 10:01:50 +03:00
Yuri Kuznetsov 316a865d02 imap notify wait period 2024-05-12 16:28:25 +03:00
Yuri Kuznetsov 0f6049b36f notify when imap not connected 2024-05-12 12:33:58 +03:00
Yuri Kuznetsov 63771d37b3 email mark as read from list view 2024-05-11 13:28:21 +03:00
Yuri Kuznetsov 9e50367303 ref 2024-05-11 13:20:57 +03:00
Yuri Kuznetsov 71b0dfec04 added validation faulure explanations 2024-05-11 10:19:49 +03:00
Yuri Kuznetsov 90c692648d validation failures changes 2024-05-11 10:19:30 +03:00
Yuri Kuznetsov e968424b9d ref 2024-05-11 10:03:11 +03:00
Yuri Kuznetsov ed77c8758c imap error exception 2024-05-10 14:39:27 +03:00
Yuri Kuznetsov caa536f17a fix logging level 2024-05-10 14:05:32 +03:00
Yuri Kuznetsov 7463caf8ee ref 2024-05-10 13:48:22 +03:00
Yuri Kuznetsov d4096b8dfb stream view list modal pagination 2024-05-10 13:24:09 +03:00
Yuri Kuznetsov f73e4f2b47 Merge branch 'fix' 2024-05-10 12:52:40 +03:00
Yuri Kuznetsov fc93a3d029 fix empty template 2024-05-10 12:52:35 +03:00
Yuri Kuznetsov 0bcbfdd223 fix empty template 2024-05-10 12:51:53 +03:00
Yuri Kuznetsov 6b1f8de16a fix typo 2024-05-10 10:56:14 +03:00
Yuri Kuznetsov 64741be18b fix typo 2024-05-10 10:55:26 +03:00
Yuri Kuznetsov 8ad8a42ecd docs 2024-05-10 10:53:10 +03:00
Yuri Kuznetsov ead2d3829b docs 2024-05-10 10:51:12 +03:00
Yuri Kuznetsov 55be65d48c oidc authentication prompt param in UI 2024-05-10 10:17:25 +03:00
Yuri Kuznetsov ecee6e7477 authentication layout change 2024-05-10 10:01:15 +03:00
Yuri Kuznetsov c037870e7e tooltip 2024-05-10 09:53:09 +03:00
Yuri Kuznetsov e86c4a9b6b ip address whitelist 2024-05-09 19:21:19 +03:00
Yuri Kuznetsov 586e28bd26 ref 2024-05-09 17:05:47 +03:00
Yuri Kuznetsov 3ca7cdffcc fix message 2024-05-09 16:39:38 +03:00
Yuri Kuznetsov d36dc4bc1c fix docs 2024-05-09 16:38:32 +03:00
Yuri Kuznetsov ede53970bf ref 2024-05-09 16:37:43 +03:00
Yuri Kuznetsov 0348778bc1 ref 2024-05-09 16:19:48 +03:00
Yuri Kuznetsov 3e2a3597ad schema 2024-05-09 16:02:28 +03:00
Yuri Kuznetsov 1c5afb52b3 schema 2024-05-09 15:32:35 +03:00
Yuri Kuznetsov 8601c8fc24 color changes 2024-05-09 13:00:48 +03:00
Yuri Kuznetsov 5b3b7b583d color fix 2024-05-09 12:10:28 +03:00
Yuri Kuznetsov 9f0827e478 ref 2024-05-09 11:56:59 +03:00
Yuri Kuznetsov a0858acae3 color fix 2024-05-09 11:54:10 +03:00
Yuri Kuznetsov 49a49d6103 cs 2024-05-09 10:51:59 +03:00
Yuri Kuznetsov 7d9d248ab7 Merge branch 'fix' 2024-05-09 10:51:32 +03:00
Yuri Kuznetsov acc0b71a7a fix url decode 2024-05-09 10:50:41 +03:00
Yuri Kuznetsov 1f3a0bb5dd allow tilde in URL 2024-05-09 10:35:24 +03:00
Yuri Kuznetsov c5611a691f link multiple autocomplete fix 2024-05-08 21:19:21 +03:00
Yuri Kuznetsov 72927e34e2 autocomplete fix 2024-05-08 21:02:00 +03:00
Yuri Kuznetsov 6c2a114c47 ref 2024-05-08 12:53:15 +03:00
Yuri Kuznetsov edb5f30ddd Merge branch 'fix' 2024-05-08 11:41:47 +03:00
Yuri Kuznetsov 94881de082 8.2.4 2024-05-08 11:32:01 +03:00
Yuri Kuznetsov ce0baf450e light logo color change 2024-05-08 10:08:55 +03:00
Yuri Kuznetsov 3854141292 do not update pinned collection if the same 2024-05-08 09:33:06 +03:00
Yuri Kuznetsov 152bc76e57 sync pinned on websocket update 2024-05-08 09:28:56 +03:00
Yuri Kuznetsov 6d01717f7e style fix 2024-05-07 23:07:42 +03:00
Yuri Kuznetsov b026ff8066 pinned icon 2024-05-07 23:04:48 +03:00
Yuri Kuznetsov f9270a20d4 pin note check max count > 0 2024-05-07 22:46:15 +03:00
Yuri Kuznetsov 5196343479 pinned node sync more fields 2024-05-07 22:42:02 +03:00
Yuri Kuznetsov 3606051b91 entity manager columns swap 2024-05-07 19:41:23 +03:00
Yuri Kuznetsov 3fc4b487b3 pinned notes 2024-05-07 18:15:52 +03:00
Yuri Kuznetsov 692e0b43e3 ref 2024-05-07 11:38:18 +03:00
Yuri Kuznetsov c273e26cf9 colorpicker style improvements 2024-05-06 17:01:32 +03:00
Yuri Kuznetsov a26a48fac7 wysiwyg cell params 2024-05-06 15:40:37 +03:00
Yuri Kuznetsov 2a42ab8db5 wysiwyg table params 2024-05-06 14:34:54 +03:00
Yuri Kuznetsov 16d66aa642 ref 2024-05-05 10:08:54 +03:00
Yuri Kuznetsov 85d167aad4 Merge branch 'fix' 2024-05-04 23:03:14 +03:00
Yuri Kuznetsov cbec1cbbe5 fix parser 2024-05-04 23:00:46 +03:00
Yuri Kuznetsov 1509f8d18f exception levels 2024-05-04 14:57:12 +03:00
Yuri Kuznetsov e6d618f142 job fail critical log 2024-05-04 14:52:06 +03:00
Yuri Kuznetsov 455c51e806 ref 2024-05-04 14:47:39 +03:00
Yuri Kuznetsov d9f553d47f formula error fix 2024-05-04 14:39:31 +03:00
Yuri Kuznetsov 5dc08ecf05 fix formula errors 2024-05-04 14:38:43 +03:00
Yuri Kuznetsov 2d791010dc log previous 2024-05-04 14:38:11 +03:00
Yuri Kuznetsov cc8e2511e0 fix bubbling 2024-05-04 14:26:02 +03:00
Yuri Kuznetsov 92b0af358e fix log messages 2024-05-04 14:09:45 +03:00
Yuri Kuznetsov 9526614a3d fix message 2024-05-04 14:05:23 +03:00
Yuri Kuznetsov 9fca726329 fix legacy 2024-05-04 13:59:48 +03:00
Yuri Kuznetsov 83a9f53fe3 action history record bigint 2024-05-04 13:38:28 +03:00
Yuri Kuznetsov da27b68312 messages 2024-05-04 13:37:44 +03:00
Yuri Kuznetsov d2e90f7853 schema 2024-05-04 13:23:54 +03:00
Yuri Kuznetsov 0f7cd11ffe Merge branch 'f/log' 2024-05-04 13:09:11 +03:00
Yuri Kuznetsov b006349528 app log dev 2024-05-04 13:05:08 +03:00
Yuri Kuznetsov f03637ac64 type fix 2024-05-04 09:29:24 +03:00
Yuri Kuznetsov e0909af3fe app log dev 2024-05-03 18:33:47 +03:00
Yuri Kuznetsov 1ed38e28cd side panel date fields if no by field 2024-05-03 17:35:50 +03:00
Yuri Kuznetsov 567db6b204 linkOnlyNotLinked param 2024-05-03 13:05:17 +03:00
Yuri Kuznetsov 04689b8ed0 user attribute safe 2024-05-03 10:27:22 +03:00
Yuri Kuznetsov c007010a73 bar argument value exception message 2024-05-03 10:05:27 +03:00
Yuri Kuznetsov 498dd5478b ref 2024-05-03 09:52:59 +03:00
Yuri Kuznetsov 4e9e71b1bb userAttribute forbid list 2024-05-02 20:39:13 +03:00
Yuri Kuznetsov 06771f2f3e unsafe functions 2024-05-02 20:05:40 +03:00
Yuri Kuznetsov bafe2dd471 formula base64 functions 2024-05-02 18:39:54 +03:00
Yuri Kuznetsov 4591d8f634 formula acl functions 2024-05-02 18:03:09 +03:00
Yuri Kuznetsov f1e42f931b ref 2024-05-02 13:20:40 +03:00
Yuri Kuznetsov 8cf31f17cb email account active filter 2024-05-02 12:24:57 +03:00
Yuri Kuznetsov 40c8d0063d fill assigned user if read level is own 2024-05-02 10:59:58 +03:00
Yuri Kuznetsov 157f03b38f imap test connection error 2024-05-02 10:26:47 +03:00
Yuri Kuznetsov ffa5cf44ea load parent fields fix 2024-05-02 10:10:12 +03:00
Yuri Kuznetsov cc88ab9290 ref 2024-05-02 10:07:00 +03:00
dependabot[bot] 1a179c2373 Bump ejs from 3.1.8 to 3.1.10
Bumps [ejs](https://github.com/mde/ejs) from 3.1.8 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.8...v3.1.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 09:08:46 +03:00
Yuri Kuznetsov 066f815d0c dashblet dropdown overflow fix 2024-05-01 13:37:04 +03:00
Yuri Kuznetsov 8078043f3c ref 2024-05-01 13:03:39 +03:00
Yuri Kuznetsov 06de056bb5 fix kanban dropdown overflow 2024-05-01 12:59:33 +03:00
Yuri Kuznetsov 630bdd7885 change start img 2024-04-30 22:15:08 +03:00
Yuri Kuznetsov 847440ad6c change install image 2024-04-30 15:49:51 +03:00
Yuri Kuznetsov 0271deddde fix test 2024-04-30 14:25:46 +03:00
Yuri Kuznetsov 65a385dfcf Merge branch 'fix' 2024-04-30 14:18:11 +03:00
Yuri Kuznetsov 71dd872618 calendar duplicate event fix 2024-04-30 14:15:39 +03:00
Yuri Kuznetsov 8025c1e101 mention frontend fix 2024-04-30 12:02:48 +03:00
Yuri Kuznetsov fe15332531 ref 2024-04-29 19:25:16 +03:00
Yuri Kuznetsov 508699d0aa bool 2024-04-29 19:24:25 +03:00
Yuri Kuznetsov 0465f826f1 fix test 2024-04-29 15:26:21 +03:00
Yuri Kuznetsov f78d38d592 migration script for reminders 2024-04-28 20:09:53 +03:00
Yuri Kuznetsov db7142e4f9 reminded assigned users 2024-04-28 17:34:45 +03:00
Yuri Kuznetsov e1b4fd6bdb reminderMaxCount 2024-04-28 14:43:49 +03:00
Yuri Kuznetsov 483ffb91fa ref 2024-04-28 14:33:23 +03:00
Yuri Kuznetsov 76a5721c72 skip past reminders 2024-04-28 14:27:24 +03:00
Yuri Kuznetsov 27c5bec755 reminders only own user 2024-04-28 14:15:39 +03:00
Yuri Kuznetsov 8e3016e301 rename 2024-04-28 12:37:50 +03:00
Yuri Kuznetsov d93f08b18e reminder type fixes 2024-04-28 12:36:56 +03:00
Yuri Kuznetsov 701abe129b reminder links 2024-04-28 12:31:13 +03:00
Yuri Kuznetsov e585ef0a0d ref 2024-04-28 10:10:53 +03:00
Yuri Kuznetsov beaafccd2a log formatter interpolation. new line 2024-04-28 10:10:41 +03:00
Yuri Kuznetsov cad2e0078a log refactoring 2024-04-27 20:21:42 +03:00
Yuri Kuznetsov 3dc35d0f16 formula log functions 2024-04-27 17:17:22 +03:00
Yuri Kuznetsov 2d73c62936 ref 2024-04-27 12:48:36 +03:00
Yuri Kuznetsov dad5c3724e ref 2024-04-27 12:00:56 +03:00
Yuri Kuznetsov d0f3373515 ref 2024-04-26 13:37:03 +03:00
Yuri Kuznetsov bbe578ce0a ref 2024-04-26 11:54:11 +03:00
Yuri Kuznetsov 51a8a3a302 jsdocs deprecation 2024-04-26 11:25:19 +03:00
Yuri Kuznetsov e3d3cae647 Merge branch 'fix' 2024-04-26 11:09:17 +03:00
Yuri Kuznetsov bfed154feb language load off 2024-04-26 11:01:54 +03:00
Yuri Kuznetsov bbe9281cb0 css fix, border radius 2024-04-25 21:32:30 +03:00
Yuri Kuznetsov b2a6ababd2 note acl query with created at 2024-04-25 16:50:08 +03:00
Yuri Kuznetsov 343ad33a78 noteAclPeriod only admin 2024-04-25 16:35:41 +03:00
Yuri Kuznetsov 0a51e27d57 ref 2024-04-25 16:21:54 +03:00
Yuri Kuznetsov dc1dc5de9b noteAclLimit adminOnly 2024-04-25 16:12:30 +03:00
Yuri Kuznetsov 868aa64e51 ref docs 2024-04-25 16:07:03 +03:00
Yuri Kuznetsov 0a9c0dcb20 fix doc 2024-04-25 16:04:33 +03:00
Yuri Kuznetsov c1855e84a9 ref 2024-04-25 15:43:29 +03:00
Yuri Kuznetsov 4aa4b17c9f ref 2024-04-25 14:42:22 +03:00
Yuri Kuznetsov 689d59df2e ref 2024-04-25 14:26:02 +03:00
Yuri Kuznetsov 6fd55a6c2d quickSearchFullTextAppendWildcard 2024-04-25 13:40:25 +03:00
Yuri Kuznetsov ae141c2415 no distinct 2024-04-25 13:25:13 +03:00
Yuri Kuznetsov ab88abfb5e test filter applier ref and fix 2024-04-25 13:13:56 +03:00
Yuri Kuznetsov 90ab1de10f ref 2024-04-25 11:05:31 +03:00
Yuri Kuznetsov e3bf337a07 calendar restrict drop 2024-04-25 10:47:26 +03:00
Yuri Kuznetsov 69329a87db rename 2024-04-24 13:45:47 +03:00
Yuri Kuznetsov 663eacb962 formula single quote fix 2024-04-24 13:45:24 +03:00
Yuri Kuznetsov 38ce78fced formula fix string double backslash and quote 2024-04-24 13:33:52 +03:00
Yuri Kuznetsov ddf904fa0f formula backslash escaping 2024-04-24 13:22:22 +03:00
Yuri Kuznetsov eba3138d16 formula string backslashes 2024-04-23 21:51:23 +03:00
Yuri Kuznetsov 05227281e7 style fix 2024-04-23 19:08:52 +03:00
Yuri Kuznetsov 16672722d4 has-attachment change 2024-04-23 19:07:00 +03:00
Yuri Kuznetsov 7fcc80025c ref 2024-04-23 18:53:02 +03:00
Yuri Kuznetsov da264fcc71 navbar hide last divider 2024-04-23 18:49:42 +03:00
Yuri Kuznetsov 2b6bf419a1 fix add custom tabs 2024-04-23 18:10:50 +03:00
Yuri Kuznetsov 310f83e9c2 update navbar on preferences 2024-04-23 18:09:49 +03:00
Yuri Kuznetsov 45cdae005a add custom tabs 2024-04-23 17:43:09 +03:00
Yuri Kuznetsov 15b4ce9657 move migration 2024-04-23 17:09:26 +03:00
Yuri Kuznetsov 665dd2f242 mention permission 2024-04-23 16:58:46 +03:00
Yuri Kuznetsov ecde690c3a post field ref 2024-04-23 16:56:57 +03:00
Yuri Kuznetsov 90728dfc18 autocomplete abort last fetch 2024-04-23 16:05:53 +03:00
Yuri Kuznetsov d519318804 fix jsdocs 2024-04-23 15:45:15 +03:00
Yuri Kuznetsov 0d8a5ce5a1 skip full text search if request is too short and no operators 2024-04-23 15:07:39 +03:00
Yuri Kuznetsov 3dc29b1bae fix 2024-04-22 14:42:37 +03:00
Yuri Kuznetsov 0819b69d4a email inbox alias 2024-04-22 13:59:01 +03:00
Yuri Kuznetsov 8ac3d4e90b ref tests 2024-04-22 13:42:05 +03:00
Yuri Kuznetsov a577950cc0 lead capture loadAdditionalFieldsAfterUpdate 2024-04-22 13:29:28 +03:00
Yuri Kuznetsov 3cf6edd051 Merge branch 'fix' 2024-04-22 12:38:47 +03:00
Yuri Kuznetsov 5a19b90b13 fix role empty stream level on ui 2024-04-22 12:38:33 +03:00
Yuri Kuznetsov daa3980122 fix role empty stream level on ui 2024-04-22 12:38:12 +03:00
Yuri Kuznetsov bab460c521 account name audited 2024-04-21 16:38:39 +03:00
Yuri Kuznetsov 64b3f55d7a email filter lower 2024-04-21 14:38:54 +03:00
Yuri Kuznetsov ca053b57c5 orm: custom where value in complex expresssion, fix string expression unescaping 2024-04-21 14:37:40 +03:00
Yuri Kuznetsov a07f6b032a sanitizer suppress list, allow empty attachment 2024-04-20 21:47:38 +03:00
Yuri Kuznetsov ad0fbb577f ref 2024-04-20 21:34:49 +03:00
Yuri Kuznetsov df55323a04 attachment multiple audited 2024-04-20 20:54:48 +03:00
Yuri Kuznetsov a081237b2e link multiple maxCount 2024-04-20 20:50:03 +03:00
Yuri Kuznetsov b604501eba fix 2024-04-20 20:48:15 +03:00
Yuri Kuznetsov b4368862e0 fix readme 2024-04-20 18:06:28 +03:00
Yuri Kuznetsov 81043740dc fix readme 2024-04-20 18:02:24 +03:00
Yuri Kuznetsov b6beb39192 update readme 2024-04-20 18:01:05 +03:00
Yurii Kuznietsov 687f66908d Update feature_request.md 2024-04-20 16:44:36 +03:00
Yuri Kuznetsov a5ef17e06c login view setup handler 2024-04-20 15:42:45 +03:00
Yuri Kuznetsov cb8a43da52 cron/cache admin notifications 2024-04-20 15:28:53 +03:00
Yuri Kuznetsov a575a69704 move 2024-04-20 15:20:18 +03:00
Yuri Kuznetsov 7d6b1d7bcf glass theme style fix 2024-04-20 11:57:44 +03:00
Yuri Kuznetsov 31b875bbdd Merge branch 'fix' 2024-04-20 11:33:33 +03:00
Yuri Kuznetsov 33b0ca8824 fix add dashlet 2024-04-20 11:32:41 +03:00
Yuri Kuznetsov e7d388f55f navbar event off 2024-04-20 11:29:04 +03:00
Yuri Kuznetsov 559ef609e0 navbar resize fix 2024-04-20 11:19:23 +03:00
Yuri Kuznetsov c382cb0e7b npm updates 2024-04-20 10:54:39 +03:00
Yuri Kuznetsov 3912f937bd update summernote 2024-04-20 10:54:02 +03:00
Yuri Kuznetsov 7222cd6436 Merge branch 'fix' 2024-04-20 08:35:44 +03:00
Yuri Kuznetsov 540c58a564 fix add dashlet quick seach 2024-04-20 08:35:16 +03:00
Yuri Kuznetsov 6f7c1f72f6 fix add dashlet quick seach 2024-04-20 08:34:58 +03:00
Yuri Kuznetsov 5bf4ab368d ref 2024-04-19 14:55:49 +03:00
Yuri Kuznetsov 42645a9bc1 permission consts 2024-04-19 14:33:54 +03:00
Yuri Kuznetsov 5be0f5c71e cs 2024-04-19 14:18:51 +03:00
Yuri Kuznetsov f029675856 acl permission consts 2024-04-19 14:18:27 +03:00
Yuri Kuznetsov 3a1f5bec0f default team ui impr 2024-04-19 12:31:48 +03:00
Yuri Kuznetsov 1356e7b9f8 jsdoc 2024-04-19 12:30:19 +03:00
Yuri Kuznetsov ab10b6c036 validate user default team 2024-04-19 12:00:03 +03:00
Yuri Kuznetsov ed0e5112a3 disable layout for avatar fields 2024-04-19 11:46:25 +03:00
Yuri Kuznetsov 46da1bb8a0 permission string fix 2024-04-19 11:42:37 +03:00
Yuri Kuznetsov cd216007af assigned to self and default team if no assignment permission 2024-04-19 11:28:01 +03:00
Yuri Kuznetsov bd96cf9e73 Merge branch 'fix' 2024-04-19 10:42:18 +03:00
Yuri Kuznetsov 67c0be5699 8.2.3 2024-04-19 10:21:05 +03:00
Yuri Kuznetsov 695dc2eb42 record service create: keep new 2024-04-19 09:30:49 +03:00
Yuri Kuznetsov 516bd037e7 jsdoc 2024-04-18 19:46:18 +03:00
Yuri Kuznetsov f122d3d3bb jsdocs 2024-04-18 19:33:00 +03:00
Yuri Kuznetsov e7b64bcc6f jsdocs 2024-04-18 19:24:07 +03:00
Yuri Kuznetsov 3df7349d2b cs ref 2024-04-18 19:14:29 +03:00
Yuri Kuznetsov 47b6471717 jsdoc 2024-04-18 19:12:01 +03:00
Yuri Kuznetsov 95280e8f7b jsdocs 2024-04-18 18:58:17 +03:00
Yuri Kuznetsov 296f73a407 jsdoc 2024-04-18 18:47:29 +03:00
Yuri Kuznetsov 918faa340b jsdoc, cs 2024-04-18 18:38:26 +03:00
Yuri Kuznetsov 4526224ae4 avatar color 2024-04-18 16:50:31 +03:00
Yuri Kuznetsov e35b8e799f colorpicker field change 2024-04-18 16:49:49 +03:00
Yuri Kuznetsov 06fffdf1cf colorpicker change 2024-04-18 16:20:27 +03:00
Yuri Kuznetsov ac133fb257 dynamic logic changes 2024-04-18 15:56:26 +03:00
Yuri Kuznetsov 2ab3274768 formula parser +/- after operator 2024-04-18 14:20:00 +03:00
Yuri Kuznetsov b7f22352ed cs 2024-04-18 12:36:15 +03:00
Yuri Kuznetsov 7873340616 rename Ranges label 2024-04-18 12:00:06 +03:00
Yuri Kuznetsov 546a0440cd isFollowed bool 2024-04-18 11:01:49 +03:00
Yuri Kuznetsov 9783271a1d comment 2024-04-18 11:01:26 +03:00
Yuri Kuznetsov 35ad3177d3 cleanup 2024-04-18 10:47:02 +03:00
Yuri Kuznetsov 06b6be0c9e ref 2024-04-18 10:43:57 +03:00
Yuri Kuznetsov a390d71ef0 complex expr field impr 2024-04-18 10:36:09 +03:00
Yuri Kuznetsov 39dafddb4b field-manager impr 2024-04-18 10:35:59 +03:00
Yuri Kuznetsov 2706f8681f ref, comment 2024-04-18 10:05:07 +03:00
Yuri Kuznetsov 44babbc240 cleanup stars 2024-04-17 16:56:43 +03:00
Yuri Kuznetsov 2fe1403cdb schema 2024-04-17 16:06:51 +03:00
Yuri Kuznetsov 665bfc3649 comment 2024-04-17 16:03:22 +03:00
Yuri Kuznetsov dd3746d435 move to folder header text 2024-04-17 14:30:08 +03:00
Yuri Kuznetsov b881c11672 star limit 2024-04-17 14:19:40 +03:00
Yuri Kuznetsov 2c0370f546 on empty autocomplete promise 2024-04-17 11:51:23 +03:00
Yuri Kuznetsov 6e1b3c64ec starred filter in entity manager list 2024-04-17 10:40:40 +03:00
Yuri Kuznetsov 17c3fe5699 enable stars, schema 2024-04-17 10:27:56 +03:00
Yuri Kuznetsov 8d20ba1ffd stars dev and change 2024-04-17 10:10:22 +03:00
Yuri Kuznetsov 0d124269f0 star button wider 2024-04-17 09:55:24 +03:00
Yuri Kuznetsov 1fcf326ecc btn style fix 2024-04-17 09:21:07 +03:00
Yuri Kuznetsov 76397085a3 star dev 2024-04-16 19:20:59 +03:00
Yuri Kuznetsov 1b4bdfaa12 note email sent when from user 2024-04-16 14:50:45 +03:00
Yuri Kuznetsov 040e6ddeb7 cs, cleanup 2024-04-16 14:30:43 +03:00
Yuri Kuznetsov d148b53d52 schema 2024-04-16 14:11:29 +03:00
Yuri Kuznetsov 90f125567c autcomplete own teams 2024-04-16 14:10:04 +03:00
Yuri Kuznetsov 8cc72d1c7b empty query autocomplete fix, no value setting 2024-04-16 13:39:37 +03:00
Yuri Kuznetsov 747c1bbf12 getEmptyAutocompleteResult ref, fix 2024-04-16 12:51:12 +03:00
Yuri Kuznetsov 22b5f89991 docs fix 2024-04-16 12:45:33 +03:00
Yuri Kuznetsov d19de50f7f Merge branch 'fix' 2024-04-16 12:38:20 +03:00
Yuri Kuznetsov d1dd39bf5a email parent allow autocomplete on empty 2024-04-16 12:38:03 +03:00
Yuri Kuznetsov d07f5b8e18 email parent allow autocomplete on empty 2024-04-16 12:37:33 +03:00
Yuri Kuznetsov 9fa9440d7b cleanup 2024-04-16 10:30:52 +03:00
Yuri Kuznetsov 042b3ae66e do not log exception file/line if created with static 2024-04-16 09:58:59 +03:00
Yuri Kuznetsov c07004faf4 add method 2024-04-15 21:38:57 +03:00
Yuri Kuznetsov b3905eedf4 notification list ux impr 2024-04-15 20:27:14 +03:00
Yuri Kuznetsov 9cffccbe73 ref 2024-04-15 18:03:05 +03:00
Yuri Kuznetsov 43322186b5 acl getPermissionLevel 2024-04-15 18:01:55 +03:00
Yuri Kuznetsov a0ab01a77f ref 2024-04-15 17:57:24 +03:00
Yuri Kuznetsov d7b9b65990 application id in body tag 2024-04-15 16:33:11 +03:00
Yuri Kuznetsov e23a22d259 change app id 2024-04-15 16:28:56 +03:00
Yuri Kuznetsov 5d946a44f6 kanban isMuted 2024-04-15 13:23:41 +03:00
Yuri Kuznetsov 437f12245e date time field style fix 2024-04-15 12:49:59 +03:00
Yuri Kuznetsov b1cefdfbbe datetime input group style fix 2024-04-14 16:08:31 +03:00
Yuri Kuznetsov 857ee7fb98 style fix 2024-04-13 09:56:03 +03:00
Yuri Kuznetsov 3b68d3dd13 css fix 2024-04-13 09:46:12 +03:00
Yuri Kuznetsov 4125b4f9a0 colors 2024-04-11 17:33:03 +03:00
Yuri Kuznetsov 913cad075a Merge branch 'fix' 2024-04-11 17:31:31 +03:00
Yuri Kuznetsov 8a542adb7e calendar update class names 2024-04-11 17:31:14 +03:00
Yuri Kuznetsov 481f352f5a calendar update class names 2024-04-11 17:30:37 +03:00
Yuri Kuznetsov 8ce2c7a40b light theme calendar colors 2024-04-11 17:19:20 +03:00
Yuri Kuznetsov 8dda7cf2ea link parent list change 2024-04-11 14:52:44 +03:00
Yuri Kuznetsov 01eacf875d list link mode color default 2024-04-11 14:28:38 +03:00
Yuri Kuznetsov 6da9ac6af1 enum label type 2024-04-11 13:17:07 +03:00
Yuri Kuznetsov 418ad2776d wysiwyg attributes order preserving 2024-04-11 12:10:46 +03:00
Yuri Kuznetsov 2a2c07af87 cleanup 2024-04-11 11:55:15 +03:00
Yuri Kuznetsov ca898cf240 ref 2024-04-11 11:29:48 +03:00
Yuri Kuznetsov 05b6f83ba1 style fix 2024-04-11 11:00:39 +03:00
Yuri Kuznetsov 68ccaf8818 activities dashlet fix refresh 2024-04-11 10:53:59 +03:00
Yuri Kuznetsov 162e0ab546 ref 2024-04-11 10:32:59 +03:00
Yuri Kuznetsov 4c9df4da1b activities panel changes 2024-04-11 10:26:39 +03:00
Yuri Kuznetsov d1c2e82abc wysiwyg fetch empty as null 2024-04-10 23:08:10 +03:00
Yuri Kuznetsov c054cde199 currency fix 2024-04-10 23:03:16 +03:00
Yuri Kuznetsov f113905edd cleanup 2024-04-10 22:50:45 +03:00
Yuri Kuznetsov b4e2b91c31 ref 2024-04-10 22:48:11 +03:00
Yuri Kuznetsov 3568345343 no join loader load all links 2024-04-10 14:35:32 +03:00
Yuri Kuznetsov 4f1223e9a0 Merge branch 'fix' 2024-04-10 13:23:38 +03:00
Yuri Kuznetsov c6a172a6d0 style fix 2024-04-10 13:23:27 +03:00
Yuri Kuznetsov 1da70019fb fix tests 2024-04-10 11:09:43 +03:00
Yuri Kuznetsov a84962d96d formula func variable aware 2024-04-10 10:54:33 +03:00
Yuri Kuznetsov 98253fb0a8 customizable check 2024-04-10 10:09:01 +03:00
Yuri Kuznetsov 7887e4c7e3 style fix 2024-04-09 21:23:28 +03:00
Yuri Kuznetsov abe383d532 call rows actions fix 2024-04-09 20:56:51 +03:00
Yuri Kuznetsov a8078c3fc6 row actions dividers 2024-04-09 20:35:36 +03:00
Yuri Kuznetsov 9fd07d2fab notify usage 2024-04-09 19:42:36 +03:00
Yuri Kuznetsov f42fbd0098 ref 2024-04-09 19:40:38 +03:00
Yuri Kuznetsov d431699dbe css fix 2024-04-09 16:51:50 +03:00
Yuri Kuznetsov 9b883d3e59 convert currency item order 2024-04-09 16:45:39 +03:00
Yuri Kuznetsov 955e53304f modal dropdown dividers 2024-04-09 16:14:26 +03:00
Yuri Kuznetsov ed7085e952 detail view dropdown dividers 2024-04-09 15:55:46 +03:00
Yuri Kuznetsov e274907260 schema 2024-04-09 15:29:00 +03:00
Yuri Kuznetsov 96520162d3 link load names test 2024-04-09 13:34:41 +03:00
Yuri Kuznetsov bb091a0301 foreign attributes unset and foregn names load 2024-04-09 13:07:45 +03:00
Yuri Kuznetsov 7253082497 console command allowed flags 2024-04-09 11:34:16 +03:00
Yuri Kuznetsov 0e446c6f08 console allowed options 2024-04-09 11:25:24 +03:00
Yuri Kuznetsov 7af208c2a0 after-upgrade pass isUpgrade 2024-04-09 10:49:00 +03:00
Yuri Kuznetsov 60e0c03a1e Merge branch 'fix' 2024-04-09 10:43:12 +03:00
Yuri Kuznetsov 89f75bfb37 oidc prevent errors when user is not allowed 2024-04-09 09:24:23 +03:00
Yuri Kuznetsov b83a66cf49 bg lang 2024-04-08 12:51:16 +03:00
Yuri Kuznetsov 3cd6deb732 pagination previous step and modal detail pagination fix 2024-04-08 12:07:14 +03:00
Yuri Kuznetsov 59fff4cc80 fix detail pagination 2024-04-08 11:40:57 +03:00
Yuri Kuznetsov 35e7b5c5ee move 2024-04-07 18:50:17 +03:00
Yuri Kuznetsov e7415a2317 ref 2024-04-07 18:44:44 +03:00
Yuri Kuznetsov 69c5af4d97 Merge branch 'fix' 2024-04-07 18:31:07 +03:00
Yuri Kuznetsov dca1d34685 reminder usersColumns check 2024-04-07 18:30:55 +03:00
Yuri Kuznetsov 105922b026 email create filter from address 2024-04-07 17:18:48 +03:00
Yuri Kuznetsov 1dd6ea1bac jsdocs 2024-04-07 17:06:16 +03:00
Yuri Kuznetsov 54f1fb27a1 email filter change layout 2024-04-07 15:13:43 +03:00
Yuri Kuznetsov 27353b1fbf attendeeLinkMap 2024-04-07 13:26:37 +03:00
Yuri Kuznetsov afc34a9730 add docs 2024-04-07 11:36:09 +03:00
Yuri Kuznetsov 5b4e3cbc66 cleanup 2024-04-07 11:27:21 +03:00
Yuri Kuznetsov 5b763b7519 rename 2024-04-07 11:27:01 +03:00
Yuri Kuznetsov fb07cec466 fix 2024-04-07 11:26:20 +03:00
Yuri Kuznetsov 04ea13d8e2 list view docs 2024-04-07 11:26:15 +03:00
Yuri Kuznetsov 9208775f34 list view focus 2024-04-06 18:04:14 +03:00
Yuri Kuznetsov 308c480317 migrations beta versions 2024-04-06 16:16:36 +03:00
Yuri Kuznetsov 85af141f9f Merge branch 'f/migrations' 2024-04-06 12:46:04 +03:00
Yuri Kuznetsov d7a88b382d migrations fix and dev 2024-04-06 12:45:55 +03:00
Yuri Kuznetsov 8133682288 ref 2024-04-06 09:58:48 +03:00
Yuri Kuznetsov 0b035b89c0 user fetch issue 2024-04-06 09:55:56 +03:00
Yuri Kuznetsov d5930542d9 ref 2024-04-06 09:51:56 +03:00
Yuri Kuznetsov 831dfc5bfd fix sndAccessInfo fetch 2024-04-06 09:51:48 +03:00
Yuri Kuznetsov 078808604c ref 2024-04-06 09:38:39 +03:00
Yuri Kuznetsov 35f8c5652a avater flicker fix 2024-04-06 09:35:25 +03:00
Yuri Kuznetsov 14d8f88985 ref 2024-04-06 09:32:17 +03:00
Yuri Kuznetsov 2ae0a118b6 disable note in link manager 2024-04-05 23:11:44 +03:00
Yuri Kuznetsov 1a51759b0f fix user acl 2024-04-05 20:18:21 +03:00
Yuri Kuznetsov acc2eb1a55 migrations dev 2024-04-05 15:48:20 +03:00
Yuri Kuznetsov e513a72504 migratinos dev 2024-04-05 14:58:53 +03:00
Yuri Kuznetsov a8fa8bfa00 ref 2024-04-05 14:14:31 +03:00
Yuri Kuznetsov e8473e5ce0 migrations dev 2024-04-05 13:34:49 +03:00
Yuri Kuznetsov 5a6583b93b migrations dev 2024-04-05 13:19:43 +03:00
Yuri Kuznetsov 977b9adeff migrations dev 2024-04-05 12:17:00 +03:00
Yuri Kuznetsov 382ba22cd7 fix command test 2024-04-05 11:25:23 +03:00
Yuri Kuznetsov 03e16b81e5 upgrade ref and test fixes 2024-04-05 11:21:09 +03:00
Yuri Kuznetsov 455bb2a298 migrations ref 2024-04-05 11:01:02 +03:00
Yuri Kuznetsov 0b19bd4bb5 upgrade ref 2024-04-05 10:47:10 +03:00
Yuri Kuznetsov 48b0063c69 middle table prefix server side check 2024-04-05 09:51:22 +03:00
Yuri Kuznetsov 9395fa886e grid layout css fix 2024-04-05 09:39:22 +03:00
Yuri Kuznetsov a6c95ff0d5 layouts title 2024-04-05 09:37:10 +03:00
Yuri Kuznetsov 0a115a3603 command noSystemUser param 2024-04-04 20:53:33 +03:00
Yuri Kuznetsov fcb3158a06 readme 2024-04-04 20:27:47 +03:00
Yuri Kuznetsov 77f60734f6 upgrade ref 2024-04-04 16:19:56 +03:00
Eymen Elkum 1c10ddd7b8 add missing & to google static url 2024-04-04 13:53:06 +03:00
Yuri Kuznetsov d8dd048a89 migrations dev 2024-04-04 13:26:32 +03:00
Yuri Kuznetsov 42812f8bb2 ref 2024-04-04 11:42:07 +03:00
Yuri Kuznetsov b5a9690b63 Merge branch 'fix' 2024-04-04 10:44:59 +03:00
Yuri Kuznetsov 268354f3c6 8.2.2 2024-04-04 10:21:51 +03:00
Yuri Kuznetsov 3ca68f2539 email tempalte importable 2024-04-04 09:55:47 +03:00
Yuri Kuznetsov 08f2c5ea72 disable options reference for salutation 2024-04-04 09:32:53 +03:00
Yuri Kuznetsov 4d1f3d214d label format 2024-04-03 15:52:09 +03:00
Yuri Kuznetsov fab13b3140 fix import action translation 2024-04-03 15:36:25 +03:00
Yuri Kuznetsov b741898ce9 Merge branch 'fix' 2024-04-03 14:44:58 +03:00
Yuri Kuznetsov 45ac0f7fee fix autocomplete 2024-04-03 10:19:37 +03:00
Yuri Kuznetsov 406487d50c before upgrade extension check 2024-04-03 09:38:52 +03:00
Yuri Kuznetsov d73608e16b 8.2.1 2024-04-02 20:55:39 +03:00
Yuri Kuznetsov 8328e8c644 fix action history order 2024-04-02 19:38:09 +03:00
Yuri Kuznetsov b89c28fe96 Merge branch 'fix' 2024-04-02 17:32:42 +03:00
Yuri Kuznetsov 19a96d2e3d disable customization for user portal 2024-04-02 17:32:30 +03:00
Yuri Kuznetsov 1c68c805aa Merge branch 'fix' 2024-04-02 15:42:14 +03:00
Yuri Kuznetsov a823e06f13 dynamic logic lin one 2024-04-02 15:42:02 +03:00
Yuri Kuznetsov cef7a919b8 suppress inspection 2024-04-02 14:39:22 +03:00
Yuri Kuznetsov 3117db022f type fix 2024-04-02 14:38:40 +03:00
Yuri Kuznetsov 7b642e40b0 phone ext langth frontend validation 2024-04-02 14:21:53 +03:00
Yuri Kuznetsov 89ff3dcf15 phone number extensions 2024-04-02 13:47:23 +03:00
Yuri Kuznetsov 0336b76a96 before upgrade script 2024-04-02 10:45:35 +03:00
Yuri Kuznetsov 76cac35c54 link name default middle name prefix 2024-04-02 10:10:32 +03:00
Yuri Kuznetsov 79c8d25a80 comments 2024-04-01 19:44:47 +03:00
Yuri Kuznetsov 58d926be82 orm base entity writtenMap change 2024-04-01 19:40:04 +03:00
Yuri Kuznetsov 3044f83690 orderDisabled parameter 2024-04-01 17:05:57 +03:00
Yuri Kuznetsov f2d5b2685e jsdoc 2024-04-01 16:10:27 +03:00
Yuri Kuznetsov 17abe18d01 validation before check create access 2024-04-01 15:32:07 +03:00
Yuri Kuznetsov 09880ff8f1 import error file and line 2024-04-01 15:23:14 +03:00
Yuri Kuznetsov 23f4686577 send invitation check status backend 2024-04-01 13:22:12 +03:00
Yuri Kuznetsov 088edbf708 avatar colors 2024-03-31 21:14:21 +03:00
Yuri Kuznetsov e2f6c8abe7 ref 2024-03-31 20:56:03 +03:00
Yuri Kuznetsov f2735e5fbc avatar color 2024-03-31 17:31:18 +03:00
Yuri Kuznetsov f8106a81c7 ref meeting buttons 2024-03-31 15:57:59 +03:00
Yuri Kuznetsov 1d7bce5343 ref 2024-03-31 15:37:16 +03:00
Yuri Kuznetsov 224e0e8625 internal note icon position 2024-03-30 16:42:06 +02:00
Yuri Kuznetsov d5b3a7d2ea calendar mode buttons change 2024-03-30 13:14:19 +02:00
Yuri Kuznetsov bd0be4542e calendar mode buttons change 2024-03-30 13:12:09 +02:00
Yuri Kuznetsov e78052ce33 ref 2024-03-30 13:01:26 +02:00
Yuri Kuznetsov 24f79b9206 avatar color change 2024-03-30 12:39:49 +02:00
Yuri Kuznetsov df9633503b email account filters 2024-03-30 10:07:38 +02:00
Yuri Kuznetsov 5e1c12f4b1 reminder fix 2024-03-30 09:55:02 +02:00
Yuri Kuznetsov 5699c3d15e close button style fix 2024-03-30 09:49:00 +02:00
Yuri Kuznetsov cd88e8ac7a cs 2024-03-30 09:31:35 +02:00
Yuri Kuznetsov 3c83e1dcd3 hide complex modified field if not modified 2024-03-30 09:23:56 +02:00
Yuri Kuznetsov d232838676 stream abort last fetch 2024-03-30 09:08:52 +02:00
Yuri Kuznetsov 2ae0f48619 avatar color change 2024-03-29 16:52:11 +02:00
Yuri Kuznetsov 170782d17f add BDT currency 2024-03-29 16:49:22 +02:00
Yuri Kuznetsov 2cbdbbf6fb avatar color changes 2024-03-29 16:44:14 +02:00
Yuri Kuznetsov 0a750f373f avatar font change 2024-03-29 16:39:51 +02:00
Yuri Kuznetsov 92ff5e1859 avatar explicit font file 2024-03-29 15:58:18 +02:00
Yuri Kuznetsov cb3257a890 notification list view refresh ui fix 2024-03-29 13:49:05 +02:00
Yuri Kuznetsov 9377cd150d img preview border radius small 2024-03-29 13:33:34 +02:00
Yuri Kuznetsov e1f2fd8094 avatar color change 2024-03-29 11:54:43 +02:00
Yuri Kuznetsov 70dcf6ed69 avatar colors change 2024-03-29 11:47:26 +02:00
Yuri Kuznetsov 6c62dbc604 portal avatar color 2024-03-29 11:34:52 +02:00
Yuri Kuznetsov b6807091a5 user avater css fix 2024-03-29 11:25:11 +02:00
Yuri Kuznetsov 33f3784b3a lang 2024-03-29 09:49:28 +02:00
Yuri Kuznetsov 0e9b552796 teams importable 2024-03-29 09:35:13 +02:00
Yuri Kuznetsov 111e1a278c ref 2024-03-29 09:33:48 +02:00
Yuri Kuznetsov 34ecdd7533 export ignore utility 2024-03-29 09:28:15 +02:00
Yuri Kuznetsov 7ec9c1c5ae team export 2024-03-29 09:24:00 +02:00
Yuri Kuznetsov 1055fd8a79 lang 2024-03-29 09:23:33 +02:00
Yuri Kuznetsov 03102da373 fix format person name 2024-03-28 15:38:22 +02:00
Yuri Kuznetsov 23ea8b418a ref 2024-03-28 15:16:12 +02:00
Yuri Kuznetsov 9269fa1933 cs 2024-03-28 15:14:33 +02:00
Yuri Kuznetsov 5a1a9f17a0 ref 2024-03-28 10:25:44 +02:00
Yuri Kuznetsov c4ca71a7f6 firefox calendar style fix 2024-03-28 10:23:48 +02:00
Yuri Kuznetsov 991d111ac3 auth token expiration support decimals 2024-03-27 21:59:42 +02:00
Yuri Kuznetsov 7f18fb0cba fix foreign enum error 2024-03-27 21:49:04 +02:00
Yuri Kuznetsov c4d54ffa71 avatar font size 2024-03-27 19:38:10 +02:00
Yuri Kuznetsov 1ee2d5c58b avatar change sizes 2024-03-27 19:31:14 +02:00
Yuri Kuznetsov 94d9d0fc38 cleanup 2024-03-27 16:53:31 +02:00
dependabot[bot] 9252905103 Bump express from 4.18.1 to 4.19.2
Bumps [express](https://github.com/expressjs/express) from 4.18.1 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.1...4.19.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 15:27:22 +02:00
Yuri Kuznetsov e9b49a5317 cleanup vendor 2024-03-27 14:30:37 +02:00
Yuri Kuznetsov 9e50337c99 avatar fallback to userName 2024-03-27 13:02:44 +02:00
Yuri Kuznetsov 07b68d9b7d number power function 2024-03-27 10:11:03 +02:00
Yuri Kuznetsov c7d1fc7c35 ref 2024-03-26 19:02:16 +02:00
Yuri Kuznetsov 18b5b99854 opp by lead source chart changes 2024-03-26 18:01:23 +02:00
Yuri Kuznetsov e60d4ba19b fix sticky bar destroy 2024-03-26 17:39:52 +02:00
Yuri Kuznetsov dcf2b49b19 pie chart select none 2024-03-26 16:36:35 +02:00
Yuri Kuznetsov 4aecb4a255 chart no user select 2024-03-26 16:31:18 +02:00
Yuri Kuznetsov 7cf7f2ffd8 update note style change 2024-03-26 15:36:46 +02:00
Yuri Kuznetsov a78161799c scroll after go to page 2024-03-26 15:09:03 +02:00
Yuri Kuznetsov 6a37eee973 thousand separator validator 2024-03-26 14:19:17 +02:00
Yuri Kuznetsov bb5be010f2 pagination true 2024-03-26 12:29:36 +02:00
Yuri Kuznetsov dcd4e56aa7 sticky bar ref and fix 2024-03-26 12:09:59 +02:00
Yuri Kuznetsov 12f928c192 cs 2024-03-26 11:15:35 +02:00
Yuri Kuznetsov 1b47b94154 ref 2024-03-26 10:08:44 +02:00
Yuri Kuznetsov f64f4ea1b1 total text style fix 2024-03-26 09:58:03 +02:00
Yuri Kuznetsov faa33769f1 list top bar style fixes 2024-03-26 09:54:41 +02:00
Yuri Kuznetsov 1b0487eeea sort + sticky bar fix 2024-03-25 17:46:11 +02:00
Yuri Kuznetsov 7ffc06065f fix last page menu item 2024-03-25 16:11:00 +02:00
Yuri Kuznetsov 515720afda cleanup 2024-03-25 16:00:35 +02:00
Yuri Kuznetsov 3f1e6a6628 pagination go to page 2024-03-25 15:33:58 +02:00
Yuri Kuznetsov a94deb9f33 event confirmation note style fix 2024-03-25 13:37:52 +02:00
Yuri Kuznetsov b2d91b3fe9 pagination shortcuts 2024-03-25 12:17:53 +02:00
Yuri Kuznetsov 1f7e23af28 collection has page methods 2024-03-25 11:57:09 +02:00
Yuri Kuznetsov 0275b7fe4d pagination show more fixes 2024-03-25 11:52:21 +02:00
Yuri Kuznetsov d4b25090aa do not fetch after remove 2024-03-25 11:41:01 +02:00
Yuri Kuznetsov 7b14e7fb79 chart legend style fix 2024-03-25 11:32:48 +02:00
Yuri Kuznetsov 1d156e6af6 caret hover color 2024-03-24 23:12:10 +02:00
Yuri Kuznetsov b91e40b0e7 fix calendar 7d event issue 2024-03-24 18:23:02 +02:00
Yuri Kuznetsov fab908c313 contributing note 2024-03-24 18:09:17 +02:00
Yuri Kuznetsov 24e5cd67dd pagination warning fix 2024-03-24 17:02:17 +02:00
Yuri Kuznetsov 7297e0eb83 pagination display top bar if out of bound 2024-03-24 16:58:26 +02:00
Yuri Kuznetsov 81cce0ddb7 light theme by default 2024-03-24 12:46:14 +02:00
Yuri Kuznetsov 8232ef3dd2 label-state 2024-03-24 12:12:53 +02:00
Yuri Kuznetsov b930180907 stream update note: show fields 2024-03-24 11:19:50 +02:00
Yuri Kuznetsov ef6866773c stream notes style changes 2024-03-24 10:54:00 +02:00
Yuri Kuznetsov 415dc7607e cs 2024-03-24 10:15:24 +02:00
Yuri Kuznetsov 726f2abd96 email body insert field button in the end 2024-03-23 20:33:23 +02:00
Yuri Kuznetsov 894acad7ec less ref 2024-03-23 20:24:14 +02:00
Yuri Kuznetsov d9d7de8804 ref 2024-03-23 13:31:09 +02:00
Yuri Kuznetsov dcd0469977 fix collection set offset 2024-03-23 13:19:32 +02:00
Yuri Kuznetsov 434112eff3 pagination w/ show-more fixes 2024-03-23 12:17:42 +02:00
Yuri Kuznetsov ace9186691 update bullbone 2024-03-23 12:02:01 +02:00
Yuri Kuznetsov 29cc42e2e8 pagination offset fix 2024-03-23 11:43:13 +02:00
Yuri Kuznetsov 3ae6120067 ref 2024-03-23 10:07:14 +02:00
Yuri Kuznetsov 377f51a962 ref 2024-03-23 09:37:36 +02:00
Yuri Kuznetsov dc61e630b4 primary filter menu style 2024-03-23 09:19:07 +02:00
Yuri Kuznetsov d2ec8eda86 color fix 2024-03-23 08:58:19 +02:00
Yuri Kuznetsov 376de3b6d9 style fix 2024-03-22 11:53:08 +02:00
Yuri Kuznetsov 82ad0cb5cd selectize small style fix 2024-03-22 11:46:08 +02:00
Yuri Kuznetsov df9431670a schema 2024-03-22 11:41:43 +02:00
Yuri Kuznetsov e96f4fcedd api key copy to clipboard 2024-03-22 11:37:51 +02:00
Yuri Kuznetsov 1e96b90e28 status styles 2024-03-22 11:12:20 +02:00
Yuri Kuznetsov 46897ec3dd status styles changes 2024-03-22 11:04:30 +02:00
Yuri Kuznetsov ffa8248ac1 small input 29px 2024-03-22 10:35:59 +02:00
Yuri Kuznetsov 7d90a0c59b fix 2024-03-21 21:23:35 +02:00
Yuri Kuznetsov e33e77cb9e style fix 2024-03-21 13:28:32 +02:00
Yuri Kuznetsov f7a7c3bc72 comment 2024-03-21 13:15:07 +02:00
Yuri Kuznetsov c8371bef3f dynamic logic style fix 2024-03-21 13:06:29 +02:00
Yuri Kuznetsov 7c3f285342 opp probability not required 2024-03-21 11:56:24 +02:00
Yuri Kuznetsov ed3a7d64c6 sanitize date and date time, parse ATOM format 2024-03-21 11:35:47 +02:00
Yuri Kuznetsov 00b4569f8e webhook queue change scheduling 2024-03-20 12:02:39 +02:00
Yuri Kuznetsov 41e0b90850 cs 2024-03-20 12:02:10 +02:00
Yuri Kuznetsov 4d35bce189 metadata get by key endpoint 2024-03-20 11:42:11 +02:00
Yuri Kuznetsov e6631ba1d1 ref 2024-03-20 09:44:26 +02:00
Yuri Kuznetsov 6bae952947 Merge branch 'fix' 2024-03-20 09:17:30 +02:00
Yuri Kuznetsov 2e550af196 templte helper data context mixed 2024-03-20 09:16:08 +02:00
Yuri Kuznetsov 95ecc416f1 tpl fix 2024-03-19 15:54:09 +02:00
Yuri Kuznetsov ee3b0cb53d bc fix 2024-03-19 15:48:08 +02:00
Yuri Kuznetsov bfa0ea53a4 avatar field rounded 2024-03-19 12:21:41 +02:00
Yuri Kuznetsov 2f338d6eda lang files 2024-03-19 12:13:08 +02:00
Yuri Kuznetsov 6e59165786 v 2024-03-19 11:06:54 +02:00
Yuri Kuznetsov a5a6c8a0a1 cleanup 2024-03-19 10:19:45 +02:00
Yuri Kuznetsov cd0c397b07 ref 2024-03-19 10:13:27 +02:00
Yuri Kuznetsov 7ba7f8aa14 load assigned user name always 2024-03-19 09:07:42 +02:00
Yuri Kuznetsov 91d0660cba load assigned user name if null 2024-03-19 08:56:54 +02:00
Yuri Kuznetsov e8bbcb2ae4 tabindex 2024-03-18 17:57:58 +02:00
Yuri Kuznetsov 834d1808a1 cleanup preferences params 2024-03-18 17:10:43 +02:00
Yuri Kuznetsov 2d264eccb7 fix pagination error from detail pagination 2024-03-18 16:26:51 +02:00
Yuri Kuznetsov 3ec0fe1e03 fetch after remove if pagination 2024-03-18 15:58:09 +02:00
Yuri Kuznetsov 2f85c5cb3c ref 2024-03-18 15:10:38 +02:00
Yuri Kuznetsov 69cd4386f1 fix pagination 2024-03-18 15:07:24 +02:00
Yuri Kuznetsov effb81837f fix 2024-03-18 14:42:52 +02:00
Yuri Kuznetsov d0139ada06 list expanded force no pagination 2024-03-18 14:34:50 +02:00
Yuri Kuznetsov 2920793e40 style fix 2024-03-18 14:28:31 +02:00
Yuri Kuznetsov 570f886a1f reseting collection offset 2024-03-18 13:54:28 +02:00
Yuri Kuznetsov 21dab40b43 rebuild full on pg 2024-03-18 13:24:40 +02:00
Yuri Kuznetsov 801ccf94c7 pagination impr 2024-03-18 13:17:33 +02:00
Yuri Kuznetsov 7114b99cbc sticky bar fix 2024-03-18 11:07:22 +02:00
Yuri Kuznetsov 94c99f298e pagination stlye fixes 2024-03-18 10:55:10 +02:00
Yuri Kuznetsov ac37a4c232 notficaition bc fix 2024-03-18 10:11:31 +02:00
Yuri Kuznetsov 5ad4f30505 ref 2024-03-18 10:07:46 +02:00
Yuri Kuznetsov b4773ade9b fix 2024-03-17 18:14:22 +02:00
Yuri Kuznetsov 63f422f93a ref, return promise 2024-03-17 13:02:44 +02:00
Yuri Kuznetsov 1134f89a5a suppress 2024-03-17 12:56:30 +02:00
Yuri Kuznetsov fe0b1b62d1 ref 2024-03-17 12:50:52 +02:00
Yuri Kuznetsov d549ccb300 style fix 2024-03-17 12:47:52 +02:00
Yuri Kuznetsov 06d596b5cf pagination changes 2024-03-17 11:46:58 +02:00
Yuri Kuznetsov 1091b21306 clear stored email view 2024-03-16 12:28:16 +02:00
Yuri Kuznetsov 780b66d5b4 docs 2024-03-16 12:13:04 +02:00
Yuri Kuznetsov 10982e1b19 store main view ref 2024-03-15 18:35:15 +02:00
Yuri Kuznetsov 068375022e grid layout manager style impr 2024-03-15 17:41:28 +02:00
Yuri Kuznetsov d6bd701492 remove eot svg fonts 2024-03-15 16:44:42 +02:00
Yuri Kuznetsov 223b4ab8aa extension version print 2024-03-15 15:35:42 +02:00
Yuri Kuznetsov 6aff357473 cleanup 2024-03-15 15:08:20 +02:00
Yuri Kuznetsov 3ef24bb5ad avatars 2024-03-15 14:54:02 +02:00
Yuri Kuznetsov 9e60ea2209 image preview border radius 2024-03-15 13:45:02 +02:00
Yuri Kuznetsov 86904380bb image list preview style fix 2024-03-15 12:59:41 +02:00
Yuri Kuznetsov 9cdef865fe ref 2024-03-14 11:51:52 +02:00
Yuri Kuznetsov 1d611720c6 remove title 2024-03-14 11:43:27 +02:00
Yuri Kuznetsov 7285e058cd fix link field unset on clear 2024-03-14 10:57:32 +02:00
Yuri Kuznetsov e44617e276 fix extend 2024-03-14 10:16:48 +02:00
Yuri Kuznetsov 81972e26ff restore opp service class 2024-03-14 10:07:23 +02:00
Yuri Kuznetsov 5a7a4608c9 fix message 2024-03-14 10:00:04 +02:00
Yuri Kuznetsov 9161e64932 update icons 2024-03-14 09:56:12 +02:00
Yuri Kuznetsov cfd514c5a5 remove test 2024-03-13 22:55:02 +02:00
Yuri Kuznetsov b42f4ee256 no order 2024-03-13 22:10:52 +02:00
Yuri Kuznetsov a5a4fbca2f fix field manager when no params for type 2024-03-13 19:48:29 +02:00
Yuri Kuznetsov a706811338 attachment remove 2024-03-13 16:26:58 +02:00
Yuri Kuznetsov ec120dfd75 ref 2024-03-13 16:01:49 +02:00
Yuri Kuznetsov fe7b19b96d color fix 2024-03-13 15:15:15 +02:00
Yuri Kuznetsov ff5e1dac43 color fixes 2024-03-13 14:39:45 +02:00
Yuri Kuznetsov e73f7e9807 group folder ui impr 2024-03-13 14:13:32 +02:00
Yuri Kuznetsov 15e99e3063 schema 2024-03-13 13:24:20 +02:00
Yuri Kuznetsov 4edc909f2a fix 2024-03-13 12:36:16 +02:00
Yuri Kuznetsov d1fe29adbe throw tag 2024-03-13 12:32:20 +02:00
Yuri Kuznetsov 980226c4a2 cs 2024-03-13 12:30:39 +02:00
Yuri Kuznetsov c4c4306ad3 import encode URL 2024-03-13 12:29:53 +02:00
Yuri Kuznetsov 10732c0a90 fix 2024-03-13 11:00:30 +02:00
Yuri Kuznetsov ca2c4b3ee4 Merge branch 'fix' 2024-03-12 13:42:45 +02:00
Yuri Kuznetsov 03671efe11 category default 2024-03-12 13:38:29 +02:00
Yuri Kuznetsov 748529afac ref 2024-03-11 18:43:55 +02:00
Yuri Kuznetsov 1a003e5905 ref 2024-03-11 18:37:47 +02:00
Eymen Elkum d6c66b8b43 fix entity rename command 2024-03-11 11:00:22 +02:00
Yuri Kuznetsov 813bc05e74 foreign field do not list utility link 2024-03-11 09:47:03 +02:00
Yuri Kuznetsov ef447b400c fix test send button 2024-03-09 21:34:00 +02:00
Yuri Kuznetsov aca823df64 Merge branch 'fix' 2024-03-09 21:26:58 +02:00
Yuri Kuznetsov 0832faa2f2 fix port is string 2024-03-09 21:26:47 +02:00
Yuri Kuznetsov 7573bd1f92 link parent autocomplete fix 2024-03-08 16:27:14 +02:00
Yuri Kuznetsov 35eb013c97 schema 2024-03-08 11:10:07 +02:00
Yuri Kuznetsov 110f769384 ics description fix line break 2024-03-07 17:02:31 +02:00
Yuri Kuznetsov 6ce7c6ccda schema fix 2024-03-07 12:38:16 +02:00
Yuri Kuznetsov 350141727b disable merge 2024-03-06 13:47:16 +02:00
Yuri Kuznetsov c63fed50d5 fix install labels 2024-03-06 13:46:42 +02:00
Yuri Kuznetsov 24a22328c9 prop helper undefined warn 2024-03-05 10:39:32 +02:00
Yuri Kuznetsov 0504410ee9 fix type check 2024-03-05 10:06:38 +02:00
Yuri Kuznetsov 3a1bc73692 update phpseclib 2024-03-05 10:05:41 +02:00
Yuri Kuznetsov f02ee87344 customizationReadOnlyDisabled for account field 2024-03-04 17:00:40 +02:00
Yuri Kuznetsov 7cdcb375b3 wysiwyg audited 2024-03-04 16:09:28 +02:00
Yuri Kuznetsov 52c07987c6 move 2024-03-04 16:06:11 +02:00
Yuri Kuznetsov 11dee6e984 global stream prepare note 2024-03-04 16:05:05 +02:00
Yuri Kuznetsov 036cf4330f fix stream 2024-03-04 15:59:33 +02:00
Yuri Kuznetsov 4fec73307b pg orm tests 2024-03-04 13:42:36 +02:00
Yuri Kuznetsov a58047433b eol 2024-03-04 13:06:10 +02:00
Yuri Kuznetsov e004884352 schema 2024-03-04 13:06:03 +02:00
Yuri Kuznetsov 8aa7236dd6 link select filter 2024-03-04 12:56:07 +02:00
Yuri Kuznetsov 1f297aa42e setOptionList promise 2024-03-04 11:54:36 +02:00
Yuri Kuznetsov b5a0848513 style fix 2024-03-04 11:38:40 +02:00
Yuri Kuznetsov c2ea9781ee cs 2024-03-04 11:04:13 +02:00
Yuri Kuznetsov 93255071ac color fix 2024-03-04 10:27:17 +02:00
Yuri Kuznetsov 313293b57b comments 2024-03-03 13:32:46 +02:00
Yuri Kuznetsov 687ceca26e fix hooksDisabled 2024-03-03 13:25:54 +02:00
Yuri Kuznetsov 55b1c1511a cs 2024-03-03 13:16:35 +02:00
Yuri Kuznetsov 04ccf36966 ref 2024-03-02 19:15:02 +02:00
Yuri Kuznetsov 3eba144998 event repository ref 2024-03-02 19:10:39 +02:00
Yuri Kuznetsov e2bd509aeb hooksDisabled 2024-03-02 18:51:18 +02:00
Yuri Kuznetsov 9be5342220 repositoryClassName, entityClassName in metadata 2024-03-02 18:42:36 +02:00
Yuri Kuznetsov e96c1deffe comment 2024-03-02 18:02:26 +02:00
Yuri Kuznetsov aa53bc89b4 output filters 2024-03-02 13:30:41 +02:00
Yuri Kuznetsov e57bd13f73 lead capture copy to clipboard url 2024-03-01 16:38:46 +02:00
Yuri Kuznetsov 00f30e01d5 style fix 2024-03-01 16:38:32 +02:00
Yuri Kuznetsov fcb73fb3a8 ref 2024-03-01 16:32:00 +02:00
Yuri Kuznetsov fba82f8697 ref, comments 2024-03-01 16:07:57 +02:00
Yuri Kuznetsov 13c8fc15f4 ref 2024-03-01 16:03:27 +02:00
Yuri Kuznetsov 3a3cac54a2 ref 2024-03-01 15:49:30 +02:00
Yuri Kuznetsov 303860d509 forceValidation, ref 2024-03-01 15:39:49 +02:00
Yuri Kuznetsov ba2a740d38 ref 2024-03-01 15:02:37 +02:00
Yuri Kuznetsov 87f4508d1c schema 2024-03-01 14:04:01 +02:00
Yuri Kuznetsov fea79ba8c9 after link record hooks 2024-03-01 13:49:35 +02:00
Yuri Kuznetsov 734ca9b488 cleanup 2024-03-01 13:37:00 +02:00
Yuri Kuznetsov c695e64652 ref, noinsp 2024-03-01 13:20:25 +02:00
Yuri Kuznetsov 77218b788a cleanup 2024-03-01 13:18:02 +02:00
Yuri Kuznetsov e5063c2016 ref 2024-03-01 13:15:01 +02:00
Yuri Kuznetsov a6cfb38433 fix 2024-03-01 12:54:45 +02:00
Yuri Kuznetsov ae657ada61 ref 2024-03-01 12:36:07 +02:00
Yuri Kuznetsov ee8963ace8 ref 2024-03-01 11:12:41 +02:00
Yuri Kuznetsov aca76ae3a6 ref 2024-02-29 20:04:34 +02:00
Yuri Kuznetsov 5e3cdc594d user stream note helper 2024-02-29 17:49:35 +02:00
Yuri Kuznetsov 959fdbab94 ref 2024-02-29 17:38:48 +02:00
Yuri Kuznetsov f19952af12 ref 2024-02-29 17:25:08 +02:00
Yuri Kuznetsov 9b3c59bfa4 ref 2024-02-29 15:47:59 +02:00
Yuri Kuznetsov 55dd4ecf74 formula priority fix 2024-02-29 14:42:25 +02:00
Yuri Kuznetsov bbff632fbc bind user 2024-02-29 12:44:29 +02:00
Yuri Kuznetsov 4127be7f2f record service bind user 2024-02-29 12:05:41 +02:00
Yuri Kuznetsov 3a77ea83a3 record input filters 2024-02-29 11:46:28 +02:00
Yuri Kuznetsov 2bd70eee4b Merge branch 'fix' 2024-02-29 10:15:36 +02:00
Yuri Kuznetsov 0dd34df7d7 isWorkingDay fix 2024-02-29 10:10:33 +02:00
Yuri Kuznetsov 41c0567a4f ref 2024-02-28 15:10:32 +02:00
Yuri Kuznetsov dcaa1e209e rename 2024-02-28 14:59:33 +02:00
Yuri Kuznetsov f1e67d943d rename 2024-02-28 14:54:39 +02:00
Yuri Kuznetsov 70afd19f7f ref 2024-02-28 14:42:22 +02:00
Yuri Kuznetsov 7f6ce95fd6 record create defaults populator 2024-02-28 14:37:45 +02:00
Yuri Kuznetsov 035e1ef9eb Merge branch 'fix' 2024-02-28 10:14:46 +02:00
Yuri Kuznetsov 5988642a89 8.1.5 2024-02-28 10:05:22 +02:00
Yuri Kuznetsov 4964fbb1b2 load link multiple audit was names 2024-02-27 17:55:55 +02:00
Yuri Kuznetsov 2ca3aade8c fix link multiple factory 2024-02-27 12:55:49 +02:00
Yuri Kuznetsov 878f33929b upper case multi word note string items 2024-02-27 12:34:31 +02:00
Yuri Kuznetsov ae340b3279 highlight field on restore 2024-02-27 11:48:08 +02:00
Yuri Kuznetsov 0da0b8974c audit restore 2024-02-27 11:10:52 +02:00
Yuri Kuznetsov d7804bfa79 ref 2024-02-27 10:20:29 +02:00
Yuri Kuznetsov e451126af7 ref 2024-02-26 19:43:47 +02:00
Yuri Kuznetsov 38049d0ef4 upper case status 2024-02-26 18:12:35 +02:00
Yuri Kuznetsov 31e25047cc ref 2024-02-26 18:08:47 +02:00
Yuri Kuznetsov 8d105465a3 ref 2024-02-26 18:06:44 +02:00
Yuri Kuznetsov d8c021def2 fix 2024-02-26 17:57:19 +02:00
Yuri Kuznetsov ba08b8a8af ref 2024-02-26 17:56:17 +02:00
Yuri Kuznetsov 6974c00d02 fix layout manager label conflict 2024-02-26 17:06:57 +02:00
Yuri Kuznetsov 5446914131 ref 2024-02-26 16:54:27 +02:00
Yuri Kuznetsov 68add0bbd7 Update feature_request.md 2024-02-26 16:25:39 +02:00
Yuri Kuznetsov 28d0c4dd6e Update feature_request.md 2024-02-26 16:24:53 +02:00
Yuri Kuznetsov a201f61eeb ref 2024-02-26 15:05:20 +02:00
Yuri Kuznetsov 0ec428b1ed target list mandatoryAttributeList usage 2024-02-26 14:59:03 +02:00
Yuri Kuznetsov a088ca0875 import add field quick search 2024-02-26 14:47:17 +02:00
Yuri Kuznetsov d412766794 fix roles 2024-02-26 13:54:56 +02:00
Yuri Kuznetsov 3cd2a6b74e fix role translations 2024-02-26 13:45:58 +02:00
Yuri Kuznetsov 136ae8ae24 fix link multiple value object factory 2024-02-26 13:28:52 +02:00
Yuri Kuznetsov d80b8ce76b mass link restriction, ref 2024-02-26 13:22:08 +02:00
Yuri Kuznetsov 392616bdd3 ref, deprecate 2024-02-26 12:14:33 +02:00
Yuri Kuznetsov 4d6387e69d duplicateLinkList and ref 2024-02-26 12:04:57 +02:00
Yuri Kuznetsov eebe244247 ref 2024-02-26 11:56:04 +02:00
Yuri Kuznetsov dbfb1c696f role select style 2024-02-26 11:21:53 +02:00
Yuri Kuznetsov 2ed620335f cs 2024-02-26 11:15:09 +02:00
Yuri Kuznetsov 09efbd175d ref 2024-02-26 11:00:45 +02:00
Yuri Kuznetsov e4c67a4a6f fix test 2024-02-25 13:41:07 +02:00
Yuri Kuznetsov e8dd049baf fix test 2024-02-25 12:45:05 +02:00
Yuri Kuznetsov 4c0f3413f3 audit cleanup 2024-02-25 11:21:42 +02:00
Yuri Kuznetsov a052c65b89 fix tests 2024-02-24 14:30:57 +02:00
Yuri Kuznetsov 1bcc81018b fix tests 2024-02-24 12:51:21 +02:00
Yuri Kuznetsov 81ba1b8790 link multiple audited 2024-02-24 10:42:36 +02:00
Yuri Kuznetsov ed946a532e user teams field fix 2024-02-24 10:36:27 +02:00
Yuri Kuznetsov db34e75d1f audited fields 2024-02-24 10:34:49 +02:00
Yuri Kuznetsov bcb588b968 css fix 2024-02-23 17:20:37 +02:00
Yuri Kuznetsov 474e787234 ref 2024-02-23 16:18:21 +02:00
Yuri Kuznetsov 691c62f65d user stream preview size small 2024-02-23 16:17:38 +02:00
Yuri Kuznetsov a3a4d7bf36 fix tests 2024-02-23 16:00:33 +02:00
Yuri Kuznetsov 0bcb9acb02 category entity type metadata params 2024-02-23 11:37:18 +02:00
Yuri Kuznetsov e148b16882 target list ref 2024-02-23 11:05:57 +02:00
Yuri Kuznetsov 3a764fae00 target list opt out ref 2024-02-23 10:43:33 +02:00
Yuri Kuznetsov f46c2d6079 stream followers find refactoring 2024-02-23 10:23:26 +02:00
Yuri Kuznetsov 1847132ded cleanup 2024-02-23 10:14:03 +02:00
Yuri Kuznetsov 5765247f9e followers record service 2024-02-23 10:03:13 +02:00
Yuri Kuznetsov 0ef6c7ed55 cleanup 2024-02-22 22:49:11 +02:00
Yuri Kuznetsov e2e6398026 ref 2024-02-22 22:39:14 +02:00
Yuri Kuznetsov 9cd19228a3 cleanup 2024-02-22 22:37:13 +02:00
Yuri Kuznetsov 4268794990 cleanup 2024-02-22 22:35:17 +02:00
Yuri Kuznetsov de4dcaaecb list rebuild-category-paths 2024-02-22 21:11:40 +02:00
Yuri Kuznetsov b7b1e3056a ref 2024-02-22 20:03:30 +02:00
Yuri Kuznetsov 458a5250f4 recordDefs relationship countDisabled 2024-02-22 20:01:29 +02:00
Yuri Kuznetsov 5cf3856b6a suppress insp 2024-02-22 19:54:47 +02:00
Yuri Kuznetsov 8ddd139111 ref, cleanup 2024-02-22 19:51:26 +02:00
Yuri Kuznetsov 952b94d6fe forceSelectAllAttributes 2024-02-22 19:46:23 +02:00
Yuri Kuznetsov 42e68ecd63 suppress inspection 2024-02-22 18:53:18 +02:00
Yuri Kuznetsov 41fac7ef9d ref 2024-02-22 18:50:13 +02:00
Yuri Kuznetsov 253736870e ref, mandatoryAttributeList 2024-02-22 18:30:16 +02:00
Yuri Kuznetsov 569ff9a81b ref, mandatoryAttributeList 2024-02-22 18:01:37 +02:00
Yuri Kuznetsov 3b17174431 cleanup 2024-02-22 17:43:18 +02:00
Yuri Kuznetsov 52436afda9 ref, docs 2024-02-22 17:34:30 +02:00
Yuri Kuznetsov 531b4cccca cleanup, docs 2024-02-22 16:54:48 +02:00
Yuri Kuznetsov e06544cc0f cleanup 2024-02-22 16:52:03 +02:00
Yuri Kuznetsov c48f4c065c postgres for update fix 2024-02-22 16:29:11 +02:00
Yuri Kuznetsov c4d7a794ea ref 2024-02-22 15:35:53 +02:00
Yuri Kuznetsov e7c777281d ref 2024-02-22 15:30:22 +02:00
Yuri Kuznetsov f687b1543d ref 2024-02-22 15:17:42 +02:00
Yuri Kuznetsov 869bee454d ref 2024-02-22 14:54:13 +02:00
Yuri Kuznetsov 83bcb9176b ref 2024-02-22 14:13:32 +02:00
Yuri Kuznetsov f72c902b6a ref 2024-02-22 14:04:27 +02:00
Yuri Kuznetsov e3f68e1e98 fix tests 2024-02-22 13:55:43 +02:00
Yuri Kuznetsov b002846f7c force append 2024-02-22 13:30:31 +02:00
Yuri Kuznetsov f55cccd7c6 ref 2024-02-22 13:29:15 +02:00
Yuri Kuznetsov 929badd208 ref 2024-02-22 13:02:02 +02:00
Yuri Kuznetsov d347fe66ca suppress inspection implemented 2024-02-22 12:51:32 +02:00
Yuri Kuznetsov 42921ac205 ref 2024-02-22 12:35:18 +02:00
Yuri Kuznetsov 58304ceded ref 2024-02-22 11:40:05 +02:00
Yuri Kuznetsov 0a7d2055be ref 2024-02-22 11:09:17 +02:00
Yuri Kuznetsov 1edc3ead8d ref 2024-02-22 10:50:11 +02:00
dependabot[bot] 231bd7699a Bump phenx/php-svg-lib from 0.5.1 to 0.5.2
Bumps [phenx/php-svg-lib](https://github.com/PhenX/php-svg-lib) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/PhenX/php-svg-lib/releases)
- [Commits](https://github.com/PhenX/php-svg-lib/compare/0.5.1...0.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 09:38:54 +02:00
Yuri Kuznetsov 4dee2ebb15 relate API option 2024-02-21 18:12:05 +02:00
Yuri Kuznetsov 16f956bdf8 change record create hook order 2024-02-21 16:56:39 +02:00
Yuri Kuznetsov a20ab17236 record update keep entity dirty for after update hook 2024-02-21 16:54:46 +02:00
Yuri Kuznetsov 68c5fe94bf record after hooks 2024-02-21 16:33:47 +02:00
Yuri Kuznetsov 78f536e7f1 ref & deprecations 2024-02-21 16:00:42 +02:00
Yuri Kuznetsov ee408300fd acceptance status direct access disabled 2024-02-21 15:09:10 +02:00
Yuri Kuznetsov 0f146959e5 link field foreign load 2024-02-21 14:08:30 +02:00
Yuri Kuznetsov 449d6a6fcd update test 2024-02-21 13:35:44 +02:00
Yuri Kuznetsov 63afa92fc1 update related fields 2024-02-21 13:25:16 +02:00
Yuri Kuznetsov 2b786af35b email/phone edit mode opt-out invalid cues 2024-02-21 12:33:11 +02:00
Yuri Kuznetsov 231f498eca ref 2024-02-21 12:10:00 +02:00
Yuri Kuznetsov 046aafd97e ref 2024-02-21 12:07:26 +02:00
Yuri Kuznetsov d376847d12 ref 2024-02-21 11:44:41 +02:00
Yuri Kuznetsov befd48d053 dompdf page size in mm 2024-02-21 11:23:52 +02:00
Yuri Kuznetsov ee294f889c ref 2024-02-20 22:33:35 +02:00
Yuri Kuznetsov 5fddac8c6b dashlet autoRefresh method 2024-02-20 16:35:31 +02:00
Yuri Kuznetsov a3d73848a9 ref 2024-02-20 16:31:56 +02:00
Yuri Kuznetsov b829e25f5a email address select isInvalid = false filter 2024-02-20 15:40:26 +02:00
Yuri Kuznetsov 58a6cc1658 clone 2024-02-20 15:29:34 +02:00
Yuri Kuznetsov f7eef2d3c7 ref 2024-02-20 15:25:38 +02:00
Yuri Kuznetsov b5d007c61c ref 2024-02-20 14:03:41 +02:00
Yuri Kuznetsov 8570b6f768 webhook queue items admin ui 2024-02-20 13:22:03 +02:00
Yuri Kuznetsov b02e2f72b6 webhook ui small impr 2024-02-20 12:25:54 +02:00
Yuri Kuznetsov e546509f53 admin panel change 2024-02-20 12:24:26 +02:00
Yuri Kuznetsov 244864c984 menu action items data hyphen key 2024-02-20 11:50:43 +02:00
Yuri Kuznetsov 33af4be469 frontend route specific controller class 2024-02-19 16:28:43 +02:00
Yuri Kuznetsov 29e3470587 stream websocket fix 2024-02-19 14:53:05 +02:00
Yuri Kuznetsov 2b8e764deb Merge branch 'fix' 2024-02-19 14:48:57 +02:00
Yuri Kuznetsov f503144c62 category performance fix 2024-02-19 14:43:04 +02:00
Yuri Kuznetsov 79f7194429 Merge branch 'fix' 2024-02-19 09:55:18 +02:00
Yuri Kuznetsov 6ac13521e8 lang 2024-02-19 09:55:07 +02:00
Yuri Kuznetsov ca0625f15e select where converters inCategory, isUserFromTeams 2024-02-19 09:43:43 +02:00
Yuri Kuznetsov 88c9fbd153 ref 2024-02-18 15:33:07 +02:00
Yuri Kuznetsov 7f51b3a31e cleanup 2024-02-17 22:20:58 +02:00
Yuri Kuznetsov ac0b08fdb7 list sticky bar helper 2024-02-17 22:20:06 +02:00
Yuri Kuznetsov de0e5ea72d copy primary filter hash to clipboard 2024-02-17 19:47:11 +02:00
Yuri Kuznetsov e06d60a3c3 color fix 2024-02-17 19:27:58 +02:00
Yuri Kuznetsov 128bfb09ea fix test 2024-02-17 12:56:59 +02:00
Yuri Kuznetsov 7f0283caf8 list with category support primary filter 2024-02-16 17:55:35 +02:00
Yuri Kuznetsov a00cf5e696 entity manager show primary filters 2024-02-16 16:39:35 +02:00
Yuri Kuznetsov 65a9a0db41 detail view as obj read only 2024-02-16 16:36:40 +02:00
Yuri Kuznetsov 8ac98067de jsdocs 2024-02-16 15:02:22 +02:00
Yuri Kuznetsov f725dc395e ref 2024-02-16 14:50:33 +02:00
Yuri Kuznetsov 6e8368c7c5 fix tests 2024-02-16 13:35:39 +02:00
Yuri Kuznetsov ddd9425463 list view primaryFilter uri param 2024-02-16 13:30:49 +02:00
Yuri Kuznetsov 4739cd1510 docs 2024-02-16 12:03:40 +02:00
Yuri Kuznetsov 5a3c977759 jsdoc 2024-02-16 10:44:21 +02:00
Yuri Kuznetsov 85889ab99d fix deprecation 2024-02-16 10:09:05 +02:00
Yuri Kuznetsov a9dc3a62fb remove preferences link 2024-02-16 09:47:05 +02:00
Yuri Kuznetsov c2ddf89747 fix test 2024-02-15 16:30:19 +02:00
Yuri Kuznetsov 9f743b718a custom prefix 2024-02-15 16:20:51 +02:00
Yuri Kuznetsov 0db4a9c672 address fields max length decrease 2024-02-15 14:03:06 +02:00
Yuri Kuznetsov 2dbdb0da60 ref 2024-02-15 13:37:38 +02:00
Yuri Kuznetsov ba59cb1010 enum max length 100 2024-02-15 13:30:34 +02:00
Yuri Kuznetsov ee36f73ec2 enum 100 max length by default 2024-02-15 13:28:25 +02:00
Yuri Kuznetsov abcbabfbd8 varchar max length 100 by default 2024-02-15 12:57:54 +02:00
Yuri Kuznetsov 5be76d2657 triggerSelectOnValidInput by default 2024-02-15 12:14:06 +02:00
Yuri Kuznetsov ddb92f66e7 search ui autocomplete 2024-02-15 12:11:41 +02:00
Yuri Kuznetsov f52759cd00 autocomplete fixes 2024-02-15 12:09:35 +02:00
Yuri Kuznetsov b0d9d7779f ui autocomplete usage 2024-02-15 10:44:42 +02:00
Yuri Kuznetsov 8cd6912fee fix record prev/next if no total 2024-02-15 09:19:44 +02:00
Yuri Kuznetsov bc58ca647d disabled button fix 2024-02-15 09:09:35 +02:00
Yuri Kuznetsov 1456569cf6 ui autocomplete changes 2024-02-14 21:36:20 +02:00
Yuri Kuznetsov e1e7d3d093 link multiple column ui autocomplete usage 2024-02-14 20:57:18 +02:00
Yuri Kuznetsov 495cd0f259 autocomplete email addresses 2024-02-14 16:40:25 +02:00
Yuri Kuznetsov f4371efa1c ui autocomplete 2024-02-14 16:17:07 +02:00
Yuri Kuznetsov d83b05e030 auth log layout 2024-02-14 13:06:38 +02:00
Yuri Kuznetsov bf8267c2a8 move 2024-02-14 13:04:41 +02:00
Yuri Kuznetsov 3bad29ed6d use force settings 2024-02-14 13:01:01 +02:00
Yuri Kuznetsov cbae4d89e4 force and disable list view settings 2024-02-14 12:56:42 +02:00
Yuri Kuznetsov 18f89aebbb update cron-expression 2024-02-14 12:47:33 +02:00
Yuri Kuznetsov c2b4caf723 menu item disabled 2024-02-14 12:14:42 +02:00
Yuri Kuznetsov c5f3a9e366 Merge branch 'fix' 2024-02-14 11:54:19 +02:00
Yuri Kuznetsov da826eace1 fix menu items disable 2024-02-14 11:48:57 +02:00
Yuri Kuznetsov 54de942e7f modal clear on close 2024-02-14 11:17:14 +02:00
Yuri Kuznetsov 0093bf9b79 fix 2024-02-14 11:08:43 +02:00
Yuri Kuznetsov 8e9dcb5d62 role add field ignore fields 2024-02-14 11:04:52 +02:00
Yuri Kuznetsov 38e909dfca role add field focus 2024-02-14 10:57:27 +02:00
Yuri Kuznetsov 6b0276dc22 role: add multiple fields 2024-02-14 10:52:22 +02:00
Yuri Kuznetsov 0d19dfa7b8 role add field quick search 2024-02-13 19:51:18 +02:00
Yuri Kuznetsov 13052b2969 log failed queries 2024-02-13 16:52:36 +02:00
Yuri Kuznetsov 1f9de30ff0 import step2 route change 2024-02-13 15:15:58 +02:00
Yuri Kuznetsov 5b708c1d8d import underscore match 2024-02-13 15:03:47 +02:00
Yuri Kuznetsov ed92d68317 Merge branch 'fix' 2024-02-13 14:38:41 +02:00
Yuri Kuznetsov 2a3bbf13a5 import preivew fix 2024-02-13 14:38:23 +02:00
Yuri Kuznetsov 330fccad25 email address insert fix 2024-02-13 14:06:39 +02:00
Rabii Brahimi 14243b5ef7 Remove Duplication 2024-02-13 14:06:31 +02:00
Yuri Kuznetsov 9c702814b2 onlyMy filter 2024-02-13 13:05:54 +02:00
Yuri Kuznetsov ba7acc5443 ref 2024-02-13 12:47:18 +02:00
Yuri Kuznetsov 10557ca1ec load accountIsInactive on list view 2024-02-13 12:19:04 +02:00
Rabii Brahimi 2085701516 Update Layout index.tpl 2024-02-13 11:14:14 +02:00
Yuri Kuznetsov 88ba56618e formula today honot default timezone 2024-02-13 11:00:37 +02:00
Yuri Kuznetsov c35545c209 label manager quick search 2024-02-12 15:05:11 +02:00
Yuri Kuznetsov 585a859340 ref 2024-02-12 14:10:41 +02:00
Yuri Kuznetsov cf214de06c Merge branch 'fix' 2024-02-12 12:08:37 +02:00
Yuri Kuznetsov 2c83edf691 email skip index if one 2024-02-12 12:01:47 +02:00
Yuri Kuznetsov 2f14c49215 ref 2024-02-12 11:40:40 +02:00
Yuri Kuznetsov 72e68e1a6f ref 2024-02-12 10:33:39 +02:00
Yuri Kuznetsov 5ff535cab1 ref 2024-02-12 10:16:17 +02:00
Yuri Kuznetsov 90e6acf8b9 lang fix 2024-02-12 10:15:04 +02:00
Yuri Kuznetsov e5e29101fd web socket wait interval 2024-02-11 16:46:19 +02:00
Yuri Kuznetsov 47735aaa0b email attachment show alert 2024-02-11 10:08:42 +02:00
Yuri Kuznetsov 43eb2f8d36 date picker assumeNearbyYear 2024-02-10 22:33:39 +02:00
Yuri Kuznetsov 1d3c0074d4 ref 2024-02-10 19:14:03 +02:00
Yuri Kuznetsov e8f07e0765 supresses 2024-02-10 18:35:55 +02:00
Yuri Kuznetsov 54216709b2 text field audited 2024-02-10 15:30:34 +02:00
Yuri Kuznetsov 9f6f034f97 cs 2024-02-10 14:38:23 +02:00
Yuri Kuznetsov e0c74aa2ad fix docs 2024-02-10 11:37:41 +02:00
Yuri Kuznetsov c083e1b97d clear attribute function 2024-02-10 09:43:36 +02:00
Yuri Kuznetsov c4078ed8f1 fix doc 2024-02-10 09:10:59 +02:00
Yuri Kuznetsov 4001e40613 rename 2024-02-09 16:03:09 +02:00
Yuri Kuznetsov a19deac279 error msg 2024-02-09 14:30:54 +02:00
Yuri Kuznetsov f655e543b1 websocket ping 2024-02-09 14:15:20 +02:00
Yuri Kuznetsov 5031e7f430 fix 2024-02-09 13:28:16 +02:00
Yuri Kuznetsov 7f75ee6ed8 websocket re-subscribe on connection restore 2024-02-09 12:33:54 +02:00
Yuri Kuznetsov bde2e0284a ws keep alive 2024-02-09 10:24:09 +02:00
Yuri Kuznetsov 026826fc84 preferences tab fields translations 2024-02-08 17:40:23 +02:00
Yuri Kuznetsov c5f5d88f75 style enum color 2024-02-08 17:15:08 +02:00
Yuri Kuznetsov 3ae4478a70 schema fix 2024-02-08 16:01:55 +02:00
Yuri Kuznetsov 246ece8e3d audit log 2024-02-08 15:53:01 +02:00
Yuri Kuznetsov 2681acebc6 fix schema 2024-02-08 15:50:27 +02:00
Yuri Kuznetsov a611301c5a css fix 2024-02-08 13:29:22 +02:00
Yuri Kuznetsov 3f2ffb851f ref 2024-02-08 10:24:08 +02:00
Yuri Kuznetsov daa37961e4 tryGetForeignEntityType 2024-02-08 09:59:12 +02:00
Yuri Kuznetsov 66b336279a layout css change 2024-02-07 16:47:32 +02:00
Yuri Kuznetsov c99804621d remove labels from tempalte detail layouts 2024-02-07 16:44:46 +02:00
Yuri Kuznetsov 2ebbc942d3 RDBRelation generic 2024-02-07 15:56:56 +02:00
Yuri Kuznetsov b81d6962ae cs 2024-02-07 15:43:22 +02:00
Yuri Kuznetsov dc89f75678 translatable panel note 2024-02-07 14:12:46 +02:00
Yuri Kuznetsov 1ccd70b3fc panel notes 2024-02-07 13:28:20 +02:00
Yuri Kuznetsov 0b3002979e alert content style 2024-02-07 13:26:01 +02:00
Yuri Kuznetsov 25dfa76807 merge 2024-02-07 11:58:36 +02:00
Yuri Kuznetsov db26c579b0 8.1.4 2024-02-07 11:35:44 +02:00
Yuri Kuznetsov 623b26f60f email phone fields save fix 2024-02-07 09:42:59 +02:00
Yuri Kuznetsov fec6bf8ee0 mass email link checker 2024-02-07 09:01:56 +02:00
Yuri Kuznetsov 46760ccfba calendar suppress loading alert 2024-02-06 15:44:57 +02:00
Yuri Kuznetsov 214a32c472 preferences: hide panel 2024-02-06 13:34:52 +02:00
Yuri Kuznetsov ee6a4607d8 fix 2024-02-06 13:29:23 +02:00
Yuri Kuznetsov 5a3b3ab2e8 url tab 2024-02-06 13:20:50 +02:00
Yuri Kuznetsov 5d5000fbbd url not optional protocol 2024-02-06 13:18:43 +02:00
Yuri Kuznetsov 554668f1bd url reg exp 2024-02-06 13:18:24 +02:00
Yuri Kuznetsov 7ff8b1ecee fix validation msg 2024-02-06 10:41:40 +02:00
Yuri Kuznetsov 0858b845fb ref 2024-02-06 10:33:56 +02:00
Yuri Kuznetsov d480113b90 cs 2024-02-06 10:24:16 +02:00
Yuri Kuznetsov 8f8370b5bc jsdoc fix 2024-02-06 10:24:11 +02:00
Yuri Kuznetsov cfcc1b06f9 calendar scroll hour 2024-02-06 09:57:03 +02:00
Yuri Kuznetsov 7dbb842085 field generics 2024-02-06 09:36:55 +02:00
Yuri Kuznetsov 76bb7d3e49 cs 2024-02-06 09:15:47 +02:00
Yuri Kuznetsov 3d79861ffb options 0 fix 2024-02-06 09:11:43 +02:00
Yuri Kuznetsov 236942c902 preferences layout 2024-02-06 09:00:48 +02:00
Yuri Kuznetsov 3efe0a0fe0 mailto: cut body length 2024-02-06 08:30:21 +02:00
Yuri Kuznetsov 9d933a5d95 mailto error fix 2024-02-06 08:22:42 +02:00
Yuri Kuznetsov 24eb879352 ref mailto 2024-02-05 21:58:56 +02:00
Yuri Kuznetsov f0141cd725 remove phpstan ignore 2024-02-05 19:41:11 +02:00
Yuri Kuznetsov 9a82bc7c5a cs 2024-02-05 19:38:05 +02:00
Yuri Kuznetsov b42bfefef9 signature codeview 2024-02-05 18:20:51 +02:00
Yuri Kuznetsov 47e881af60 ref 2024-02-05 17:44:42 +02:00
Yuri Kuznetsov 442284fee2 enum label in link mode 2024-02-05 17:28:18 +02:00
Yuri Kuznetsov 49a6454999 middle dot usage 2024-02-05 17:05:47 +02:00
Yuri Kuznetsov a95e52a10c checkFilePermissions command 2024-02-05 16:20:09 +02:00
Yuri Kuznetsov b2f1f00875 ref 2024-02-05 16:19:07 +02:00
Yuri Kuznetsov 91b50cdcc4 typo 2024-02-05 16:07:51 +02:00
Yuri Kuznetsov 078bd7c80e ref 2024-02-05 15:58:48 +02:00
Yuri Kuznetsov 7641918224 image entryPoint ref 2024-02-05 15:24:41 +02:00
Yuri Kuznetsov a90198d50e composer email pass accountId 2024-02-05 14:53:54 +02:00
Yuri Kuznetsov dcff1748b7 email full form fix dialog issue 2024-02-05 14:13:23 +02:00
Yuri Kuznetsov 5f903d8ce2 email/phone not null performance 2024-02-05 14:10:49 +02:00
Yuri Kuznetsov 92fdea37d1 fix 2024-02-05 13:40:36 +02:00
Yuri Kuznetsov 7e59fafb3f cs ref 2024-02-05 13:17:52 +02:00
Yuri Kuznetsov ae58224f95 email search null 2024-02-05 13:14:15 +02:00
Yuri Kuznetsov 857c5eee6f ref 2024-02-05 13:14:07 +02:00
Yuri Kuznetsov adb7f876aa email address select 2024-02-05 12:41:24 +02:00
Yuri Kuznetsov 6b282c378a jsdoc fix 2024-02-05 09:51:22 +02:00
Yuri Kuznetsov aaca0fc47b add title 2024-02-05 09:38:48 +02:00
Yuri Kuznetsov 4681493b58 suppress inspection 2024-02-05 09:36:03 +02:00
Yuri Kuznetsov 37b0c15c1a ref 2024-02-04 14:57:28 +02:00
Yuri Kuznetsov f7c29ef4e6 wysiwyg disable dnd 2024-02-03 18:11:39 +02:00
Yuri Kuznetsov 15c08c347d renaming 2024-02-03 16:48:20 +02:00
Yuri Kuznetsov 4bf5f85644 email address do not search in portal users 2024-02-03 16:47:20 +02:00
Yuri Kuznetsov dfe09dac0e ref 2024-02-03 16:44:38 +02:00
Yuri Kuznetsov ce26ecc8c1 calendar: fix loading notify 2024-02-03 15:07:23 +02:00
Yuri Kuznetsov 356971cc66 calendar scroll hour 8 if duration is 15 2024-02-03 15:03:13 +02:00
Yuri Kuznetsov 82413cd3fd calendar slot duration 1h 2024-02-03 15:00:22 +02:00
Yuri Kuznetsov f07f3de1bd settings layout 2024-02-03 14:47:07 +02:00
Yuri Kuznetsov 33072072c4 ref cs 2024-02-03 13:52:37 +02:00
Yuri Kuznetsov 94351646b1 add ext-ctype 2024-02-03 13:42:30 +02:00
Yuri Kuznetsov c766465527 dashlet chart no overflow hidden 2024-02-03 12:40:35 +02:00
Yuri Kuznetsov b982ab9daf ref 2024-02-03 10:26:48 +02:00
Yuri Kuznetsov 114682b49f cs 2024-02-03 09:25:24 +02:00
Yuri Kuznetsov 0e5dcb0d40 email queue item fixes 2024-02-02 18:21:12 +02:00
Yuri Kuznetsov 3f491f1a9a Merge branch 'fix' 2024-02-02 16:37:51 +02:00
Yuri Kuznetsov f5a655b9fc markdlow blockquote fix 2024-02-02 16:30:08 +02:00
Yuri Kuznetsov 62494e9c12 ref 2024-02-02 16:19:15 +02:00
Yuri Kuznetsov c88e34fe8f Merge branch 'fix' 2024-02-02 16:09:58 +02:00
Yuri Kuznetsov 1a5abe6363 calendar fix is today 2024-02-02 16:09:34 +02:00
Yuri Kuznetsov 2f3c775d4f calendar: scroll to now 2024-02-02 16:08:01 +02:00
Yuri Kuznetsov 7078efcc20 calendar: do not add 30 mins 2024-02-02 14:54:40 +02:00
Yuri Kuznetsov e73eb87374 preferences ctrl+s 2024-02-02 14:49:34 +02:00
Yuri Kuznetsov 471a209d86 ref 2024-02-02 14:47:44 +02:00
Yuri Kuznetsov fabb88d611 prefernces: calendar slot duration 2024-02-02 14:40:17 +02:00
Yuri Kuznetsov d7d7752868 enum-int/float support null 2024-02-02 14:03:21 +02:00
Yuri Kuznetsov 0fe9041272 preferences layout change 2024-02-02 13:47:24 +02:00
Yuri Kuznetsov 860680aaa1 fix formula function return type 2024-02-01 18:10:24 +02:00
Yuri Kuznetsov 1640bdf172 Merge branch 'fix' 2024-02-01 16:22:12 +02:00
Yuri Kuznetsov aced5fcab9 8.1.3 2024-02-01 16:14:48 +02:00
Yuri Kuznetsov f786690f1e markdown fix 2024-02-01 15:58:10 +02:00
Yuri Kuznetsov 9a1495199b Merge branch 'fix' 2024-02-01 11:52:00 +02:00
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 15d264acce merge 2024-02-01 11:01:13 +02:00
Yuri Kuznetsov 4f6e1ed1ec fix scrollbar for chrome 121 2024-02-01 10:59:38 +02:00
Yuri Kuznetsov 959e8d3acc Merge branch 'fix' 2024-01-31 15:24:26 +02:00
Yuri Kuznetsov e6d1048ebd fix markdown 2024-01-31 15:18:42 +02:00
Yuri Kuznetsov b2edf702ce role: store in memory 2024-01-31 12:58:46 +02:00
Yuri Kuznetsov 4837474bb0 role table dropdown hiding fix 2024-01-31 12:30:22 +02:00
Yuri Kuznetsov b052eacba7 role table do not show not-set as no 2024-01-31 12:27:59 +02:00
Yuri Kuznetsov 0129305c5f portal role table fix 2024-01-31 12:17:15 +02:00
Yuri Kuznetsov 5a725b79c9 entity manager list module 2024-01-31 12:10:06 +02:00
Yuri Kuznetsov c4f706e918 role table: group by module 2024-01-31 11:58:22 +02:00
Yuri Kuznetsov 9673f09c9f role table style fix 2024-01-31 11:04:40 +02:00
Yuri Kuznetsov 6a84ccbd4e Merge branch 'fix' 2024-01-30 18:11:32 +02:00
Yuri Kuznetsov 3babdfa339 validate url 2024-01-30 17:40:38 +02:00
Yuri Kuznetsov 14587ee65c wysiwyg: hide attach button in inlide edit 2024-01-30 16:39:12 +02:00
Yuri Kuznetsov ef2d129699 ref 2024-01-30 16:34:35 +02:00
Yuri Kuznetsov 580c0bef0a ref 2024-01-30 14:29:43 +02:00
Yuri Kuznetsov eef7fef69b cs 2024-01-30 14:16:52 +02:00
Yuri Kuznetsov 4d1776f9ff date filter between range 2024-01-30 13:20:27 +02:00
Yuri Kuznetsov f92c21c9c0 ref 2024-01-30 12:40:10 +02:00
Yuri Kuznetsov fac8730ddd cs 2024-01-30 12:36:25 +02:00
Yuri Kuznetsov a3fe58f61b update phpstan 2024-01-30 11:40:31 +02:00
Yuri Kuznetsov 696a25fe82 update symfony libs 2024-01-30 11:01:05 +02:00
Yuri Kuznetsov 04b28dc88f pass date: true 2024-01-29 18:15:27 +02:00
Yuri Kuznetsov abbffb9b15 date filters time zone 2024-01-29 16:45:15 +02:00
Yuri Kuznetsov 1cd914e5a7 ref 2024-01-29 10:59:52 +02:00
Yuri Kuznetsov 6b7bf55acb cs 2024-01-29 10:56:59 +02:00
Yuri Kuznetsov eddcb797e4 catching exception 2024-01-29 10:42:04 +02:00
Yuri Kuznetsov 3014e9253b phpdocs, cs 2024-01-29 10:19:20 +02:00
Yuri Kuznetsov 016489ffba ref, cs 2024-01-29 10:16:25 +02:00
Yuri Kuznetsov 96ea9e225c date-time transformer default time zone 2024-01-29 10:12:14 +02:00
Yuri Kuznetsov c4cfc204e7 date time transformer interface 2024-01-28 17:08:48 +02:00
Yuri Kuznetsov 00f5433518 fix role validation 2024-01-28 12:45:22 +02:00
Yuri Kuznetsov 3077589cff todo 2024-01-27 19:58:15 +02:00
Yuri Kuznetsov 3e3258a4b7 cs ref 2024-01-27 19:55:43 +02:00
Yuri Kuznetsov dee0f9937e role create update test 2024-01-27 19:53:23 +02:00
Yuri Kuznetsov 1138a4deb1 role, validate field exists 2024-01-27 19:53:14 +02:00
Yuri Kuznetsov 720b14b804 roles ui ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 196f328312 role not modified fix 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 1eb7215162 ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 52762cc738 roles validation 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov c3c38e3510 Update README.md 2024-01-27 14:12:09 +02:00
Yuri Kuznetsov 5dcb112621 Update CONTRIBUTING.md 2024-01-27 14:09:38 +02:00
Yuri Kuznetsov 3a9e5fc0cd Update README.md 2024-01-27 14:08:06 +02:00
Yuri Kuznetsov a789fabe2e Update CONTRIBUTING.md 2024-01-27 14:06:53 +02:00
Yuri Kuznetsov 6c8f5e8a16 Update README.md 2024-01-27 13:54:54 +02:00
Yuri Kuznetsov cf08bbdd00 disalbe field level for template 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 80a7765fdd role permissions style 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 119948938e fix role add field 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov b9563cfdc0 acl field level disabled param 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 97e9786fa6 translation 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 60a4541e24 role ui impr 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 52ae19b896 style fix 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 8973e976ca Update CONTRIBUTING.md 2024-01-26 22:58:50 +02:00
Yuri Kuznetsov 5ebee4bec7 roles quick search 2024-01-26 15:23:32 +02:00
Yuri Kuznetsov c34b2acf9b cs 2024-01-26 15:07:37 +02:00
Yuri Kuznetsov cd400e5090 ref 2024-01-26 14:44:14 +02:00
Yuri Kuznetsov b433538ab2 link-parent: autocomplete on empty input 2024-01-26 14:20:26 +02:00
Yuri Kuznetsov 0a8cc398fe ref cs 2024-01-26 13:42:25 +02:00
Yuri Kuznetsov a8e37d9486 oidc: nonce and state longer 2024-01-26 13:36:56 +02:00
Yuri Kuznetsov 288b017355 sanitizers 2024-01-26 13:02:49 +02:00
Yuri Kuznetsov 91745580d8 module route order 2024-01-26 11:34:33 +02:00
Yuri Kuznetsov d0d652dba9 route overriding 2024-01-26 11:12:17 +02:00
Yuri Kuznetsov 96f9f89b7b cs 2024-01-26 11:11:52 +02:00
Yuri Kuznetsov 2f093011a2 ref and cleanup 2024-01-26 11:06:52 +02:00
Yuri Kuznetsov cfe55c1975 task list view layout change 2024-01-26 10:34:50 +02:00
Yuri Kuznetsov 42dc0d754f schema 2024-01-25 17:28:11 +02:00
Yuri Kuznetsov 1623257b17 auth log method full list 2024-01-25 16:28:02 +02:00
Yuri Kuznetsov 3f27256589 auth log more fields 2024-01-25 16:21:39 +02:00
Yuri Kuznetsov 52c34b6d35 Merge branch 'fix' 2024-01-25 16:13:11 +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 485bcfc039 alert style 2024-01-25 11:48:53 +02:00
Yuri Kuznetsov 1cbcf7048c color fix 2024-01-25 11:41:08 +02:00
Yuri Kuznetsov 4d90aec5a6 orm: clear query composer seed cache on metadata update 2024-01-25 11:28:33 +02:00
Yuri Kuznetsov 85b2a72624 msg change 2024-01-24 16:36:28 +02:00
Yuri Kuznetsov acd5d78d30 import: relate by foreign field 2024-01-24 16:23:57 +02:00
Yuri Kuznetsov c81e4a8194 currency not modified fix 2024-01-24 15:23:06 +02:00
Yuri Kuznetsov 81fcd57e3a ref 2024-01-24 14:38:06 +02:00
Yuri Kuznetsov 6dd940cfab import ref 2024-01-24 14:26:15 +02:00
Yuri Kuznetsov a1bdb6c308 send test email error message translation 2024-01-24 12:19:21 +02:00
Yuri Kuznetsov 525397e64d config override 2024-01-24 11:36:32 +02:00
Yuri Kuznetsov e4af67aa68 ref 2024-01-24 10:44:24 +02:00
Yuri Kuznetsov 2d7d8812fd Merge branch 'fix' 2024-01-23 19:59:37 +02:00
Yuri Kuznetsov 069d70176a fix log 2024-01-23 19:41:44 +02:00
Yuri Kuznetsov 726ecefd55 array focus on main element 2024-01-23 14:10:47 +02:00
Yuri Kuznetsov 69fbf9d1ad not read emails bolder font 2024-01-23 13:43:32 +02:00
Yuri Kuznetsov 38e89f4e4d table border changes wysiwyg 2024-01-23 13:20:23 +02:00
Yuri Kuznetsov b3ff273b7c ref 2024-01-23 11:29:49 +02:00
Yuri Kuznetsov fb0be72b56 clearnup 2024-01-23 11:20:02 +02:00
Yuri Kuznetsov 339fbffbb7 wysiwyg param to disable code editor 2024-01-23 11:11:06 +02:00
Yuri Kuznetsov 5c308bb60c wysiwyg: remove beautifier 2024-01-23 11:02:50 +02:00
Yuri Kuznetsov 514fe6e98d wysiwyg: disable prettifyHtml 2024-01-23 10:53:02 +02:00
Yuri Kuznetsov a80d7fddba try catch gotoline 2024-01-23 10:38:07 +02:00
Yuri Kuznetsov ec11a89496 pdf template: add created at filter 2024-01-23 10:23:47 +02:00
Yuri Kuznetsov 61aa5f907d fix 2024-01-22 21:21:40 +02:00
Yuri Kuznetsov ac7ba173cd htmlizer fix iterate and test 2024-01-22 20:12:29 +02:00
Yuri Kuznetsov fe7a764935 ref 2024-01-22 19:51:00 +02:00
Yuri Kuznetsov c1190d348b Merge branch 'master' into f/iterate 2024-01-22 16:40:47 +02:00
Yuri Kuznetsov a81c8518b8 wysiwyg code view improvements 2024-01-22 15:56:26 +02:00
Yuri Kuznetsov d7f533118a naming 2024-01-22 11:18:10 +02:00
Yuri Kuznetsov 252fdc4208 cs 2024-01-22 09:22:40 +02:00
Yuri Kuznetsov c1d28655da template iterate 2024-01-21 18:26:39 +02:00
Yuri Kuznetsov 77c2e8abc4 Merge branch 'fix' 2024-01-20 21:37:25 +02:00
Yuri Kuznetsov 0a4dba4343 markdown backtick fix 2024-01-20 21:37:10 +02:00
Yuri Kuznetsov b6179463b1 style completion 2024-01-20 20:11:05 +02:00
Yuri Kuznetsov 99bd7ae437 pdf template style 2024-01-20 19:37:15 +02:00
Yuri Kuznetsov e968388ba7 wysiwyg codeview min height 2024-01-20 18:56:59 +02:00
Yuri Kuznetsov 60be576f9d Merge branch 'fix' 2024-01-18 15:07:38 +02:00
Yuri Kuznetsov 4c4c6d2402 use markdown extra in helper 2024-01-18 15:05:24 +02:00
Yuri Kuznetsov 47249776a0 ref 2024-01-17 13:05:00 +02:00
Yuri Kuznetsov c8f4fa437d ref 2024-01-17 12:41:55 +02:00
Yuri Kuznetsov 09c1b575a7 ref 2024-01-17 12:32:17 +02:00
Yuri Kuznetsov 2437b0d901 Merge branch 'fix' 2024-01-17 10:28:38 +02:00
Yuri Kuznetsov e16640ba24 8.1.1 2024-01-17 10:00:32 +02:00
Yuri Kuznetsov 0a33ad6542 remove CURLOPT_BINARYTRANSFER usage 2024-01-16 17:57:55 +02:00
Yuri Kuznetsov 7ee626edf8 select field handler pass model 2024-01-16 17:29:29 +02:00
Yuri Kuznetsov 600b58be75 select handler order 2024-01-16 17:27:43 +02:00
Yuri Kuznetsov 5601704ac1 Merge branch 'fix' 2024-01-16 17:01:18 +02:00
Yuri Kuznetsov f4c7ba6686 link order in handler 2024-01-16 16:45:50 +02:00
Yuri Kuznetsov 4eb6386b6e stream super parent performance impr 2024-01-16 10:12:33 +02:00
Yuri Kuznetsov 9c78970712 layoutIgnoreList 2024-01-16 09:50:05 +02:00
Yuri Kuznetsov e465e25adb syle fix 2024-01-15 17:04:02 +02:00
Yuri Kuznetsov 4d735e9e26 user stream activity 2024-01-15 16:19:53 +02:00
Yuri Kuznetsov 28bc720bbc rename 2024-01-15 16:19:21 +02:00
Yuri Kuznetsov 0fc170e1c3 ref 2024-01-15 15:42:47 +02:00
Yuri Kuznetsov 012d98d303 ref 2024-01-15 15:39:39 +02:00
Yuri Kuznetsov 180bc99726 Merge branch 'fix' 2024-01-15 13:29:24 +02:00
Yuri Kuznetsov 541a6b25e7 email-to-task link access 2024-01-15 13:22:17 +02:00
Yuri Kuznetsov e537d64c5b user bottom panels layout 2024-01-15 13:09:28 +02:00
Yuri Kuznetsov 03de09c836 user stream panel in layout manager 2024-01-15 12:03:15 +02:00
Yuri Kuznetsov 9dc309390a cs 2024-01-15 12:02:32 +02:00
Yuri Kuznetsov 8280f31180 global stream optimization 2024-01-15 11:44:37 +02:00
Yuri Kuznetsov 61a1227f87 user stream ref, add index 2024-01-15 11:18:06 +02:00
Yuri Kuznetsov 02c37924aa created complex impr 2024-01-15 10:09:25 +02:00
Yuri Kuznetsov ddc4baf5e2 Merge branch 'fix' 2024-01-15 09:58:34 +02:00
Yuri Kuznetsov 0bb0f80c54 html fix 2024-01-15 09:58:21 +02:00
Yuri Kuznetsov 63f975516a note fix 2024-01-14 18:53:27 +02:00
Yuri Kuznetsov 9160c8319d global stream optimization 2024-01-14 18:47:37 +02:00
Yuri Kuznetsov d268b0335e global stream 2024-01-14 14:08:43 +02:00
Yuri Kuznetsov 6b355c645c Merge branch 'fix' 2024-01-14 11:14:50 +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 951e981d8e stream posts optimization 2024-01-13 15:35:26 +02:00
Yuri Kuznetsov c4c301d363 Merge branch 'fix' 2024-01-13 12:35:56 +02:00
Yuri Kuznetsov d6dfc1226b field validation popover fix 2024-01-13 12:29:35 +02:00
Yuri Kuznetsov 50821924f2 field validation popover fix 2024-01-13 12:29:20 +02:00
Yuri Kuznetsov 3c01011c28 cs 2024-01-13 12:00:53 +02:00
Yuri Kuznetsov d674176356 stream refresh btn impr 2024-01-13 11:33:01 +02:00
Yuri Kuznetsov 8c60396197 spin animation 2024-01-13 11:32:23 +02:00
Yuri Kuznetsov 4a5b442f35 stream ui changes 2024-01-13 11:12:35 +02:00
Yuri Kuznetsov 80ea398660 add note index type 2024-01-13 11:00:06 +02:00
Yuri Kuznetsov 69aae1abfa comment 2024-01-12 18:03:50 +02:00
Yuri Kuznetsov c528a98820 stream comment and ref 2024-01-12 17:39:48 +02:00
Yuri Kuznetsov 89fa12c6db ref 2024-01-12 17:25:56 +02:00
Yuri Kuznetsov 34598d73a3 ref 2024-01-12 16:55:52 +02:00
Yuri Kuznetsov c507aeae4a ref 2024-01-12 16:35:38 +02:00
Yuri Kuznetsov 356ce3cc42 stream user service ref 2024-01-12 16:02:11 +02:00
Yuri Kuznetsov 560f145324 add indexes 2024-01-12 15:29:31 +02:00
Yuri Kuznetsov 4308fb3f9b ref stream user record service 2024-01-12 15:29:22 +02:00
Yuri Kuznetsov a17b66c6dc revert regexp fix 2024-01-12 14:38:31 +02:00
Yuri Kuznetsov f52a3ba773 ref cs 2024-01-12 13:53:54 +02:00
Yuri Kuznetsov f865338ad0 comment 2024-01-12 13:36:36 +02:00
Yuri Kuznetsov 7221207fe5 user stream query change 2024-01-12 13:16:47 +02:00
Yuri Kuznetsov cbc61b533f ref 2024-01-12 13:11:17 +02:00
Yuri Kuznetsov bdff8767f7 stream user query impr 2024-01-12 13:10:09 +02:00
Yuri Kuznetsov 26f3a9215d user stream service ref 2024-01-12 11:39:52 +02:00
Yuri Kuznetsov 15e34647fb ref stream service 2024-01-12 11:19:46 +02:00
Yuri Kuznetsov d121aa5a9f ref 2024-01-12 10:51:07 +02:00
Yuri Kuznetsov 7d77f754c5 ref 2024-01-12 10:13:45 +02:00
Yuri Kuznetsov 2012c4d161 select ref 2024-01-12 10:05:44 +02:00
Yuri Kuznetsov fed9ede878 Merge branch 'fix' 2024-01-11 19:26:38 +02:00
Yuri Kuznetsov dcdc94365e findRelationMany function random alias 2024-01-11 19:24:53 +02:00
Yuri Kuznetsov 4b12716961 calendar loading 2024-01-11 17:06:28 +02:00
Yuri Kuznetsov db2f387a77 cs 2024-01-11 17:03:27 +02:00
Yuri Kuznetsov cb972fdf17 entity: assoc array to stdClass 2024-01-11 16:47:37 +02:00
Yuri Kuznetsov 5c34d57012 ref 2024-01-11 16:38:17 +02:00
Yuri Kuznetsov 3906aa245c ref 2024-01-11 16:36:37 +02:00
Yuri Kuznetsov c86daf3a68 cs 2024-01-11 16:23:47 +02:00
Yuri Kuznetsov 9bafd81093 phone/email set data make first primary 2024-01-11 16:11:14 +02:00
Yuri Kuznetsov 5305a27c60 ref 2024-01-11 15:19:41 +02:00
Yuri Kuznetsov 6b30ca05db compose email address for base plus 2024-01-11 13:39:19 +02:00
Yuri Kuznetsov b99c17c7cd cs 2024-01-11 12:35:50 +02:00
Yuri Kuznetsov fabaccd3da case compose email support person 2024-01-11 12:14:28 +02:00
Yuri Kuznetsov 48c0ae93f4 cs 2024-01-11 12:11:19 +02:00
Yuri Kuznetsov 30768071bf cs 2024-01-11 11:50:34 +02:00
Yuri Kuznetsov 68b619e276 ui impr 2024-01-11 11:15:06 +02:00
Yuri Kuznetsov d5a441b0e8 confirm messages 2024-01-11 10:54:55 +02:00
Yuri Kuznetsov a5ed0864be ref 2024-01-11 10:40:56 +02:00
Yuri Kuznetsov 7db9fe46ff confirm msg 2024-01-11 10:24:42 +02:00
Yuri Kuznetsov 99df1bfbaa cs 2024-01-11 10:16:29 +02:00
Yuri Kuznetsov 067a4a95e0 ref 2024-01-11 10:11:08 +02:00
Yuri Kuznetsov 2154a51831 link manager: delete labels 2024-01-11 09:58:42 +02:00
Yuri Kuznetsov f0bc58e289 fix schema 2024-01-10 15:39:53 +02:00
Yuri Kuznetsov 5fd2f15a5d selectOrderBy 2024-01-10 15:33:36 +02:00
Yuri Kuznetsov baeef22f4c Merge branch 'fix' 2024-01-10 15:27:37 +02:00
Yuri Kuznetsov e12e7ec95a link selectOrderBy 2024-01-10 15:26:30 +02:00
Yuri Kuznetsov 2f6fef0817 Merge branch 'fix' 2024-01-10 14:20:43 +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 9cc97c44d5 fix schema doc 2024-01-08 16:31:22 +02:00
Yuri Kuznetsov 6350e881da cs 2024-01-08 14:14:29 +02:00
Yuri Kuznetsov ec5a799b31 cs 2024-01-08 13:24:07 +02:00
Yuri Kuznetsov 026238b125 reset order on field deletion 2024-01-07 19:42:45 +02:00
Yuri Kuznetsov 46712cd967 ref 2024-01-07 19:36:15 +02:00
Yuri Kuznetsov 273ca15c17 ref 2024-01-07 18:27:37 +02:00
Yuri Kuznetsov 94d8a6039e cs 2024-01-07 18:23:33 +02:00
Yuri Kuznetsov 61fde5ed42 scheduled jobs timezone 2024-01-07 16:19:29 +02:00
Yuri Kuznetsov 27a0127556 cs 2024-01-07 15:41:20 +02:00
Yuri Kuznetsov 585fedd824 extension upload size warning 2024-01-07 12:17:39 +02:00
Yuri Kuznetsov 49ea990519 dialog-confirm class by default 2024-01-07 12:16:46 +02:00
Yuri Kuznetsov 31e06538a2 jsdoc fix 2024-01-07 12:11:04 +02:00
Yuri Kuznetsov 22657f030c ref 2024-01-07 11:52:03 +02:00
Yuri Kuznetsov 3805ecca02 cs 2024-01-07 11:13:54 +02:00
Yuri Kuznetsov 31ddef5ddb cs 2024-01-07 11:10:37 +02:00
Yuri Kuznetsov 6b4d3e5bbd cs 2024-01-06 19:41:04 +02:00
Yuri Kuznetsov acaeb46d5f cs, ref 2024-01-06 13:41:11 +02:00
Yuri Kuznetsov ce70c3b62a fix 2024-01-06 13:40:48 +02:00
Yuri Kuznetsov 55ff63ffeb ref 2024-01-06 13:22:05 +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 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 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
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 8efff2f795 Merge branch 'fix' 2023-06-28 12:56:54 +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 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 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 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 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
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 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 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 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 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
Yuri Kuznetsov 673fcfc9fe Merge branch 'master' into version/7.6 2023-06-04 15:00:45 +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 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 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
6762 changed files with 351510 additions and 212368 deletions
+42 -14
View File
@@ -1,25 +1,53 @@
## Issues
#### Guidelines
When reporting a possible bug, provide detail steps so that we will be able
to reproduce the issue. Steps to reproduce should be clear and unambiguous. Try not to use phrases like "very big bug",
"huge issue", "useless feature", etc. No need to use exclamation marks as well.
#### No support
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).
#### Forum
If you are very new to EspoCRM, it's probable that an issue you ran into is not a bug.
Consider creating a topic on our [forum](https://forum.espocrm.com/forum/general) instead.
#### Upgrade issues
For upgrade-related issues, create a topic on the forum in the appropriate [section](https://forum.espocrm.com/forum/installation-and-upgrade-help). Upgrade-related issues posted on GitHub are removed.
#### Project's best interest
The issue tracker is for the benefit of the EspoCRM project. The project maintainers are going to handle issues in the project's best interest.
The maintainers have right to close issues without explanation.
#### Off-topic
As we reference GitHub issues in release notes, we strive to keep them free of off-topic comments.
#### Code-level issues
If an issue is not reproducible by actions made via the UI but only by coding, the reporter is expected to have a clear
understanding of its cause and to provide an explanation of it — unless the cause is obvious from the context.
Otherwise, it's advisable to post on the forum in the Developer Help section.
## Pull Requests
We are open for contributions that are bug fixes and small improvements. If you would like to contribute something
that is not a small fix, please reach out to maintainers before submitting your PR
(by creating a GitHub issue or a forum post).
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla).
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:
* *master* the develop branch; new features should be pushed to here;
* *fix* the upcoming maintenance release; small fixes should be pushed to here.
## Issues
We'd appreciate if you prefer posting issues on weekdays rather than weekends.
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. Not to be used for help requests or server configuration issues. We appreciate if you prefer posting bug reports on weekdays rather than weekends.
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. ...
+20
View File
@@ -0,0 +1,20 @@
---
name: Mistake or typo
about: Report a typo or mistake in the code.
title: ''
labels: ''
assignees: ''
---
**Describe the mistake**
A clear and concise description of the mistake or typo.
**Location**
Path of the file where the mistake is found. Paste the incorrect line or snippet if helpful.
**Suggested correction**
How it should be fixed.
**Additional context**
Add any other context about the problem here.
+8 -2
View File
@@ -1,5 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: EspoCRM forum
- name: Upgrade issue
url: https://forum.espocrm.com/forum/installation-and-upgrade-help
about: "If something went wrong with an upgrade."
- name: Feature request
url: https://forum.espocrm.com/forum/feature-requests
about: "Use our forum for feature requests."
- name: Forum
url: https://forum.espocrm.com/
about: "Use our forum for help requests and questions not related to product development. We don't provide support on GitHub."
about: "Use our forum for help requests and questions. We don't provide support on GitHub."
+2 -2
View File
@@ -1,6 +1,6 @@
---
name: Feature request
about: Freature requests are frozen til mid-June 2023. Please post on the forum instead. (Suggest an idea for EspoCRM).
name: Feature request for framework
about: For low-level features. For high-level features, create feature requests on our forum.
title: ''
labels: ''
assignees: ''
+4
View File
@@ -4,6 +4,10 @@
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.
### LLM slop
Low-effort, LLM-generated reports are not allowed. In such cases, if it is evident that the author does not understand the subject they submitted, the account will be blocked.
## Supported versions
For severe vulnerabilities we provide fixes for 2 minor versions (the second number in the version string) back from the current stable version.
+2 -2
View File
@@ -7,7 +7,7 @@ on:
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
env:
TEST_DATABASE_HOST: '127.0.0.1'
TEST_DATABASE_PLATFORM: 'Postgresql'
@@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.4']
branches: ['master']
steps:
+2 -2
View File
@@ -7,7 +7,7 @@ on:
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
env:
TEST_DATABASE_HOST: '127.0.0.1'
TEST_DATABASE_PORT: '8888'
@@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1', '8.2']
php-versions: ['8.3', '8.5']
branches: ['master']
steps:
+2 -2
View File
@@ -23,10 +23,10 @@ on:
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2']
php-versions: ['8.3', '8.4', '8.5']
steps:
- uses: actions/checkout@v2
+3
View File
@@ -5,6 +5,9 @@
/data/.backup/*
/data/config.php
/data/config-internal.php
/data/config-override.php
/data/config-internal-override.php
/data/state.php
/data/tmp/*
/build
/node_modules
+6 -2
View File
@@ -1,9 +1,13 @@
<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="SPACE_BEFORE_SHORT_CLOSURE_LEFT_PARENTHESIS" value="true" />
<option name="FORCE_EMPTY_METHODS_IN_ONE_LINE" value="true" />
</PHPCodeStyleSettings>
<codeStyleSettings language="JSON">
@@ -14,10 +18,10 @@
<codeStyleSettings language="PHP">
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="SPACE_AROUND_UNARY_OPERATOR" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="true" />
<option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_CALL_CHAIN_WRAP" value="5" />
</codeStyleSettings>
+11 -11
View File
@@ -1,27 +1,27 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-${YEAR} Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-${YEAR} EspoCRM, Inc.
* 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.
************************************************************************/
+3 -1
View File
@@ -2,13 +2,15 @@
<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="HtmlUnknownAnchorTarget" enabled="false" level="WARNING" enabled_by_default="false" />
<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>
+231
View File
@@ -22,6 +22,9 @@
<option name="path" value="schema/metadata" />
<option name="mappingKind" value="Directory" />
</Item>
<Item>
<option name="path" value="schema/autoload.json" />
</Item>
<Item>
<option name="path" value="schema/module.json" />
</Item>
@@ -33,6 +36,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="autoload">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="autoload" />
<option name="relativePathToSchema" value="schema/autoload.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/autoload.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="layouts/detail">
<value>
<SchemaInfo>
@@ -319,6 +341,44 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientIcons">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/clientIcons" />
<option name="relativePathToSchema" value="schema/metadata/app/clientIcons.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/clientIcons.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientRecord">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/clientRecord" />
<option name="relativePathToSchema" value="schema/metadata/app/clientRecord.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/clientRecord.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientRoutes">
<value>
<SchemaInfo>
@@ -528,6 +588,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/emailTemplate">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/emailTemplate" />
<option name="relativePathToSchema" value="schema/metadata/app/emailTemplate.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/emailTemplate.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/entityManagerParams">
<value>
<SchemaInfo>
@@ -566,6 +645,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/entityTemplates">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/entityTemplates" />
<option name="relativePathToSchema" value="schema/metadata/app/entityTemplates.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/entityTemplates.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/export">
<value>
<SchemaInfo>
@@ -737,6 +835,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/layouts">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/layouts" />
<option name="relativePathToSchema" value="schema/metadata/app/layouts.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/layouts.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/linkManager">
<value>
<SchemaInfo>
@@ -756,6 +873,44 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/entityManager">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/entityManager" />
<option name="relativePathToSchema" value="schema/metadata/app/entityManager.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/entityManager.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/mapProviders">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/mapProviders" />
<option name="relativePathToSchema" value="schema/metadata/app/mapProviders.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/mapProviders.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/massActions">
<value>
<SchemaInfo>
@@ -794,6 +949,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientNavbar">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/clientNavbar" />
<option name="relativePathToSchema" value="schema/metadata/app/clientNavbar.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/clientNavbar.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/orm">
<value>
<SchemaInfo>
@@ -870,6 +1044,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/reactions">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/reactions" />
<option name="relativePathToSchema" value="schema/metadata/app/reactions.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/reactions.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/rebuild">
<value>
<SchemaInfo>
@@ -889,6 +1082,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/record">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/record" />
<option name="relativePathToSchema" value="schema/metadata/app/record.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/record.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/recordId">
<value>
<SchemaInfo>
@@ -1193,6 +1405,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/logicDefs">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/logicDefs" />
<option name="relativePathToSchema" value="schema/metadata/logicDefs.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/metadata/logicDefs/*.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/notificationDefs">
<value>
<SchemaInfo>
+1
View File
@@ -3,5 +3,6 @@
<component name="PhpEntryPointsManager">
<pattern value="\Espo\Controllers\*" member="*Action*" />
<pattern value="\Espo\Modules\*\Controllers\*" member="*Action*" />
<suppressed_annotations>@implements</suppressed_annotations>
</component>
</project>
+73 -7
View File
@@ -1,5 +1,11 @@
{
"json.schemas": [
{
"fileMatch": [
"*/Resources/autoload.json"
],
"url": "./schema/autoload.json"
},
{
"fileMatch": [
"*/Resources/routes.json"
@@ -10,7 +16,7 @@
"fileMatch": [
"*/Resources/module.json"
],
"url": "./schema/routes.json"
"url": "./schema/module.json"
},
{
"fileMatch": [
@@ -52,12 +58,6 @@
],
"url": "./schema/metadata/dashlets.json"
},
{
"fileMatch": [
"*/metadata//*.json"
],
"url": "./schema/metadata/.json"
},
{
"fileMatch": [
"*/metadata/entityAcl/*.json"
@@ -82,6 +82,12 @@
],
"url": "./schema/metadata/integrations.json"
},
{
"fileMatch": [
"*/metadata/logicDefs/*.json"
],
"url": "./schema/metadata/logicDefs.json"
},
{
"fileMatch": [
"*/metadata/notificationDefs/*.json"
@@ -184,6 +190,18 @@
],
"url": "./schema/metadata/app/client.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientIcons.json"
],
"url": "./schema/metadata/app/clientIcons.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRecord.json"
],
"url": "./schema/metadata/app/clientRecord.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRoutes.json"
@@ -250,6 +268,12 @@
],
"url": "./schema/metadata/app/defaultDashboardOptions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/emailTemplate.json"
],
"url": "./schema/metadata/app/emailTemplate.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityManagerParams.json"
@@ -262,6 +286,12 @@
],
"url": "./schema/metadata/app/entityTemplateList.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityTemplates.json"
],
"url": "./schema/metadata/app/entityTemplates.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/export.json"
@@ -316,12 +346,30 @@
],
"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"
@@ -334,6 +382,12 @@
],
"url": "./schema/metadata/app/metadata.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientNavbar.json"
],
"url": "./schema/metadata/app/clientNavbar.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/orm.json"
@@ -358,12 +412,24 @@
],
"url": "./schema/metadata/app/portalContainerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/reactions.json"
],
"url": "./schema/metadata/app/reactions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/rebuild.json"
],
"url": "./schema/metadata/app/rebuild.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/record.json"
],
"url": "./schema/metadata/app/record.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/recordId.json"
+155 -62
View File
@@ -1,22 +1,29 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
/**
@@ -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';
@@ -84,6 +107,38 @@ module.exports = grunt => {
};
});
const cleanupBeforeFinal = [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'!build/tmp/custom/Espo/Modules',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Modules/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/client/custom/*',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
'build/tmp/client/modules/crm/src',
'build/tmp/client/lib/original/*',
'build/tmp/client/modules/crm/lib/original',
'!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',
];
const cleanupBeforeFinalTest = cleanupBeforeFinal.filter(it => {
return ![
'!build/tmp/custom/Espo/Modules',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Modules/.htaccess',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
].includes(it)
})
grunt.initConfig({
pkg: pkg,
@@ -99,6 +154,9 @@ module.exports = grunt => {
},
clean: {
transpiled: [
'client/lib/transpiled/**',
],
start: [
'build/EspoCRM-*',
'client/lib/*',
@@ -107,19 +165,8 @@ module.exports = grunt => {
],
final: ['build/tmp'],
release: ['build/EspoCRM-' + pkg.version],
beforeFinal: {
src: [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/custom/Espo/Custom/*',
'build/tmp/client/custom/*',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
]
},
beforeFinal: {src: cleanupBeforeFinal},
beforeFinalTest: {src: cleanupBeforeFinalTest},
},
less: lessData,
@@ -132,19 +179,23 @@ module.exports = grunt => {
uglify: {
options: {
mangle: true,
sourceMap: true,
output: {
comments: /^!/,
},
beautify: false,
compress: {
sequences: false,
collapse_vars: false,
keep_fargs: true,
webkit: 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,
@@ -159,10 +210,8 @@ module.exports = grunt => {
expand: true,
cwd: 'client',
src: [
'src/**',
'res/**',
'fonts/**',
'cfg/**',
'modules/**',
'img/**',
'css/**',
@@ -249,16 +298,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', () => {
@@ -270,6 +346,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 {} +",
@@ -278,9 +358,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',
},
@@ -313,7 +393,7 @@ module.exports = grunt => {
},
];
let dirReadableList = [
const dirReadableList = [
'public/install',
'public/portal',
'public/api',
@@ -322,7 +402,7 @@ module.exports = grunt => {
'.',
];
let dirWritableList = [
const dirWritableList = [
'data',
'custom',
'custom/Espo',
@@ -333,8 +413,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 {} +`,
@@ -363,7 +443,7 @@ module.exports = grunt => {
});
cp.execSync(
`find bin -type f -exec chmod 754 {} +`,
`find bin -type f -exec chmod 755 {} +`,
{
cwd: dirPath,
}
@@ -397,23 +477,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.");
@@ -443,15 +522,18 @@ module.exports = grunt => {
grunt.registerTask('internal', [
'less',
'cssmin',
'espo-bundle',
'prepare-lib-original',
'clean:transpiled',
'transpile',
'bundle',
'bundle-templates',
'uglify:bundle',
'copy:frontendLib',
'prepare-lib',
'uglify:lib',
]);
grunt.registerTask('offline', [
const offline = [
'clean:start',
'mkdir:tmp',
'internal',
@@ -463,7 +545,18 @@ module.exports = grunt => {
'chmod-folders',
'chmod-multiple',
'clean:final',
]);
];
const offlineTest = offline.map(it => {
if (it === 'clean:beforeFinal') {
return 'clean:beforeFinalTest'
}
return it;
})
grunt.registerTask('offline', offline);
grunt.registerTask('offline-test', offlineTest);
grunt.registerTask('build', [
'composer-install',
@@ -508,6 +601,6 @@ module.exports = grunt => {
grunt.registerTask('test', [
'composer-install-dev',
'npm-install',
'offline',
'offline-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/>.
+50 -27
View File
@@ -2,55 +2,86 @@
[![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.
It's a web application with a frontend designed as a single page application and REST API
backend written in PHP.
[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.
[EspoCRM](https://www.espocrm.com) is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships.
It provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns,
support cases, and more all business information in a simple and intuitive interface.
![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png)
### Architecture
EspoCRM is a web application with a frontend designed as a single-page application and a REST API
backend written in PHP.
### Demo
You can try the CRM on the online [demo](https://www.espocrm.com/demo/).
You can try the CRM on an online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 8.0 and later;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later).
* PHP 8.3 - 8.5;
* MySQL 8.0 (and later), or MariaDB 10.3 (and later);
* PostgreSQL 15 (and later).
For more information about server configuration see [this article](https://docs.espocrm.com/administration/server-configuration/).
For more information about server configuration, see [this article](https://docs.espocrm.com/administration/server-configuration/).
### Download
[Download](https://www.espocrm.com/download/) the latest release from our website or from GitHub [releases](https://github.com/espocrm/espocrm/releases).
### Release notes
Release notes are available at GitHub [releases](https://github.com/espocrm/espocrm/releases).
### Documentation
See the [documentation](https://docs.espocrm.com) for administrators, users and developers.
### Bug reporting
### Why EspoCRM?
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
* Open-source transparency. EspoCRM's source code is open and accessible, so anyone can inspect it and see how data is being managed within the CRM.
* Customization freedom. You can develop features, create custom entities, fields, relationships, buttons to make the system fit your specific needs. EspoCRM is more than a CRM it's a platform for building custom business applications.
* Clean user interface. EspoCRM offers an uncluttered, minimalist, and fast user interface, which is easy to navigate and has a short learning curve.
* Straightforward REST API. It can be easily integrated with other applications using a REST API.
### Who is EspoCRM for?
* Startups, small & medium-sized businesses. It's an affordable solution that is flexible and fully customizable.
* Developers & tech enthusiasts. You can extend functionalities, build extensions, and create custom integrations.
* Anyone seeking a free CRM. If you're looking for a user-friendly and secure CRM platform, it can be a good option.
### Installing stable version
See installation instructions:
* [Manual installation](https://docs.espocrm.com/administration/installation/)
* [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/)
### Bug reporting
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
### Development
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.
We highly recommend using an 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.
Metadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation.
### 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 an open-source project licensed under [GNU AGPLv3](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
### 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). See the [contributing guidelines](https://github.com/espocrm/espocrm/blob/master/.github/CONTRIBUTING.md).
Branches:
@@ -60,14 +91,6 @@ Branches:
### 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/).
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.
### 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).
+65 -25
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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -54,13 +54,13 @@ class Binding implements BindingProcessor
private function bindServices(Binder $binder): void
{
$binder->bindService(
'Espo\\Core\\InjectableFactory',
'injectableFactory'
'Espo\\Core\\Application\\ApplicationParams',
'applicationParams'
);
$binder->bindService(
'Espo\\Core\\Container',
'container'
'Espo\\Core\\InjectableFactory',
'injectableFactory'
);
$binder->bindService(
@@ -133,11 +133,6 @@ class Binding implements BindingProcessor
'authTokenManager'
);
$binder->bindService(
'Espo\\Core\\Select\\SelectBuilderFactory',
'selectBuilderFactory'
);
$binder->bindService(
'Espo\\Core\\ServiceFactory',
'serviceFactory'
@@ -148,11 +143,6 @@ class Binding implements BindingProcessor
'recordServiceContainer'
);
$binder->bindService(
'Espo\\Core\\Record\\HookManager',
'recordHookManager'
);
$binder->bindService(
'Espo\\Core\\HookManager',
'hookManager'
@@ -232,6 +222,26 @@ class Binding implements BindingProcessor
'Espo\\Core\\ExternalAccount\\ClientManager',
'externalAccountClientManager'
);
$binder->bindService(
'Espo\\Core\\WebSocket\\Submission',
'webSocketSubmission'
);
$binder->bindService(
'Espo\\Tools\\Stream\\Service',
'streamService'
);
$binder->bindService(
'Espo\\Core\\Utils\\Config\\SystemConfig',
'systemConfig'
);
$binder->bindService(
'Espo\\Core\\Utils\\Config\\ApplicationConfig',
'applicationConfig'
);
}
private function bindCore(Binder $binder): void
@@ -240,6 +250,16 @@ class Binding implements BindingProcessor
'Espo\\ORM\\PDO\\PDOProvider',
'Espo\\ORM\\PDO\\DefaultPDOProvider'
);
$binder->bindImplementation(
'Espo\\Core\\Utils\\Database\\ConfigDataProvider',
'Espo\\Core\\Utils\\Database\\DefaultConfigDataProvider'
);
$binder->bindImplementation(
'Espo\\Core\\Job\\JobScheduler\\Creator',
'Espo\\Core\\Job\\JobScheduler\\Creators\\EntityCreator',
);
}
private function bindMisc(Binder $binder): void
@@ -282,6 +302,26 @@ 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'
);
$binder->bindImplementation(
'Espo\\Core\\Mail\\Importer\\AutoReplyDetector',
'Espo\\Core\\Mail\\Importer\\DefaultAutoReplyDetector'
);
}
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-2026 EspoCRM, Inc.
* 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,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Attachment;
use Espo\Core\Name\Field;
use Espo\Entities\Attachment;
use Espo\Entities\Note;
use Espo\Entities\Settings;
@@ -58,25 +59,22 @@ class AccessChecker implements AccessEntityCREDChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var Attachment $entity */
if ($entity->get('parentType') === Settings::ENTITY_TYPE) {
if ($entity->getParentType() === Settings::ENTITY_TYPE) {
// Allow the logo.
return true;
}
$parent = null;
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
$parentType = $entity->getParentType();
$parentId = $entity->getParent()?->getId();
$relatedType = $entity->get('relatedType');
$relatedId = $entity->get('relatedId');
$relatedType = $entity->getRelatedType();
$relatedId = $entity->getRelated()?->getId();
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($relatedId && $relatedType) {
} else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
@@ -95,14 +93,10 @@ class AccessChecker implements AccessEntityCREDChecker
if ($result !== null) {
return $result;
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
} else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
in_array(
$entity->getTargetField(),
$this->aclManager->getScopeForbiddenFieldList($user, $parent->getEntityType())
)
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
@@ -121,8 +115,8 @@ class AccessChecker implements AccessEntityCREDChecker
{
if ($note->getTargetType() === Note::TARGET_TEAMS) {
$intersect = array_intersect(
$note->getLinkMultipleIdList('teams'),
$user->getLinkMultipleIdList('teams')
$note->getLinkMultipleIdList(Field::TEAMS),
$user->getLinkMultipleIdList(Field::TEAMS)
);
if (count($intersect)) {
@@ -153,7 +147,7 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
$parent = $this->entityManager->getEntity($note->getParentType(), $note->getParentId());
$parent = $this->entityManager->getEntityById($note->getParentType(), $note->getParentId());
if ($parent && $this->aclManager->checkEntity($user, $parent)) {
return true;
@@ -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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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,79 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\CurrencyRecordRate;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Entities\CurrencyRecordRate;
use Espo\Entities\User;
use Espo\ORM\Entity;
/**
* @implements AccessEntityCREDChecker<CurrencyRecordRate>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
public function __construct(
private DefaultAccessChecker $defaultAccessChecker,
) {}
public function checkCreate(User $user, ScopeData $data): bool
{
if ($data->getEdit() === Table::LEVEL_YES) {
return true;
}
return false;
}
public function checkDelete(User $user, ScopeData $data): bool
{
if ($data->getEdit() === Table::LEVEL_YES) {
return true;
}
return false;
}
public function checkEntityCreate(User $user, Entity $entity, ScopeData $data): bool
{
return $this->checkCreate($user, $data);
}
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
return $this->checkDelete($user, $data);
}
}
@@ -2,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Email;
use Espo\Core\Name\Field;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
@@ -100,12 +101,11 @@ class AccessChecker implements AccessEntityCREDSChecker
return true;
}
/** @var string[] $assignedUserIdList */
$assignedUserIdList = $entity->getLinkMultipleIdList('assignedUsers');
$assignedUserIdList = $entity->getLinkMultipleIdList(Field::ASSIGNED_USERS);
if (
count($assignedUserIdList) === 1 &&
$entity->hasLinkMultipleId('assignedUsers', $user->getId())
$entity->hasLinkMultipleId(Field::ASSIGNED_USERS, $user->getId())
) {
return true;
}
@@ -2,46 +2,57 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Email;
use Espo\Core\Acl\AssignmentChecker as AssignmentCheckerInterface;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\DefaultAssignmentChecker;
class AssignmentChecker extends DefaultAssignmentChecker
/**
* @implements AssignmentCheckerInterface<Email>
*/
class AssignmentChecker implements AssignmentCheckerInterface
{
protected function isPermittedAssignedUser(User $user, Entity $entity): bool
{
return true;
}
public function __construct(
private AssignmentCheckerInterface\Helper $helper,
) {}
protected function isPermittedAssignedUsers(User $user, Entity $entity): bool
public function check(User $user, Entity $entity): bool
{
if ($entity->getAssignedUser() && !$this->helper->checkAssignedUser($user, $entity)) {
return false;
}
if ($entity->getTeams()->getIdList() !== [] && !$this->helper->checkTeams($user, $entity)) {
return false;
}
return true;
}
}
@@ -0,0 +1,72 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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;
/**
* @implements LinkChecker<Email, Entity>
* @noinspection PhpUnused
*/
class ParentLinkChecker implements LinkChecker
{
public function __construct(
private AclManager $aclManager
) {}
public function check(User $user, Entity $entity, Entity $foreignEntity): bool
{
if ($this->aclManager->checkEntityRead($user, $foreignEntity)) {
return true;
}
$replied = $entity->getReplied();
if (!$replied) {
return false;
}
$parent = $replied->getParent();
if (
!$parent ||
$parent->getId() !== $foreignEntity->getId() ||
$parent->getEntityType() !== $foreignEntity->getEntityType()
) {
return false;
}
return $this->aclManager->checkEntityRead($user, $replied);
}
}
@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\Team;
use Espo\Entities\User;
use Espo\ORM\Entity;
/**
* @implements LinkChecker<Email, Team>
* @noinspection PhpUnused
*/
class TeamsLinkChecker implements LinkChecker
{
public function __construct(
private AclManager $aclManager
) {}
public function check(User $user, Entity $entity, Entity $foreignEntity): bool
{
if ($this->aclManager->checkEntityRead($user, $foreignEntity)) {
return true;
}
$replied = $entity->getReplied();
if (!$replied) {
return false;
}
if ($replied->getTeams()->hasId($foreignEntity->getId())) {
return true;
}
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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -31,9 +31,7 @@ namespace Espo\Classes\Acl\Email;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Core\Acl\DefaultOwnershipChecker;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\Acl\OwnershipTeamChecker;
@@ -44,26 +42,20 @@ use Espo\Core\Acl\OwnershipTeamChecker;
*/
class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
{
private $defaultOwnershipChecker;
public function __construct(DefaultOwnershipChecker $defaultOwnershipChecker)
{
$this->defaultOwnershipChecker = $defaultOwnershipChecker;
}
public function __construct(private DefaultOwnershipChecker $defaultOwnershipChecker)
{}
public function checkOwn(User $user, Entity $entity): bool
{
/** @var Email $entity */
if ($user->getId() === $entity->get('assignedUserId')) {
if ($user->getId() === $entity->getAssignedUser()?->getId()) {
return true;
}
if ($user->getId() === $entity->get('createdById')) {
if ($user->getId() === $entity->getCreatedBy()?->getId()) {
return true;
}
if ($entity->hasLinkMultipleId('assignedUsers', $user->getId())) {
if ($entity->getAssignedUsers()->hasId($user->getId())) {
return true;
}
@@ -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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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,47 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\ImportEml;
use Espo\Core\Acl\AccessCreateChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Entities\User;
class AccessChecker implements AccessCreateChecker
{
public function check(User $user, ScopeData $data): bool
{
return $data->isTrue();
}
public function checkCreate(User $user, ScopeData $data): bool
{
return $data->isTrue();
}
}
@@ -2,33 +2,36 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Note;
use Espo\Core\Acl\Permission;
use Espo\Core\Acl\Table;
use Espo\Core\Name\Field;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -82,7 +85,7 @@ class AccessChecker implements AccessEntityCREDChecker
return true;
}
$parent = $this->entityManager->getEntity($parentType, $parentId);
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if ($parent && $this->aclManager->checkEntityStream($user, $parent)) {
return true;
@@ -126,7 +129,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if ($entity->getTargetType() === Note::TARGET_TEAMS) {
$targetTeamIdList = $entity->getLinkMultipleIdList('teams');
$targetTeamIdList = $entity->getLinkMultipleIdList(Field::TEAMS);
foreach ($user->getTeamIdList() as $teamId) {
if (in_array($teamId, $targetTeamIdList)) {
@@ -141,6 +144,10 @@ class AccessChecker implements AccessEntityCREDChecker
return in_array($user->getId(), $entity->getLinkMultipleIdList('users'));
}
if ($entity->getTargetType() === Note::TARGET_PORTALS) {
return $this->aclManager->getPermissionLevel($user, Permission::PORTAL) === Table::LEVEL_YES;
}
return false;
}
@@ -161,7 +168,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -178,8 +185,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}
@@ -203,7 +209,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -220,8 +226,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Portal;
use Espo\Core\Acl\Permission;
use Espo\Entities\Portal;
use Espo\Entities\User;
use Espo\Core\Acl\AccessEntityCREDChecker;
@@ -45,18 +46,12 @@ class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
public function __construct(DefaultAccessChecker $defaultAccessChecker, AclManager $aclManager)
{
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
}
public function __construct(private DefaultAccessChecker $defaultAccessChecker, private AclManager $aclManager)
{}
public function check(User $user, ScopeData $data): bool
{
$level = $this->aclManager->getPermissionLevel($user, 'portal');
$level = $this->aclManager->getPermissionLevel($user, Permission::PORTAL);
return $level === Table::LEVEL_YES;
}
@@ -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-2026 EspoCRM, Inc.
* 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,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\Team;
use Espo\Core\Name\Field;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -41,8 +42,7 @@ class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
{
/** @var string[] $userTeamIdList */
$userTeamIdList = $user->getLinkMultipleIdList('teams');
$userTeamIdList = $user->getLinkMultipleIdList(Field::TEAMS);
return in_array($entity->getId(), $userTeamIdList);
}
@@ -2,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\User;
use Espo\Core\Acl\Permission;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDSChecker;
@@ -45,14 +46,10 @@ class AccessChecker implements AccessEntityCREDSChecker
{
use DefaultAccessCheckerDependency;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
public function __construct(DefaultAccessChecker $defaultAccessChecker, AclManager $aclManager)
{
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
}
public function __construct(
private DefaultAccessChecker $defaultAccessChecker,
private AclManager $aclManager,
) {}
public function checkEntityCreate(User $user, Entity $entity, ScopeData $data): bool
{
@@ -60,8 +57,6 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
/** @var User $entity */
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
@@ -71,13 +66,7 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isPortal()) {
if ($this->aclManager->getPermissionLevel($user, 'portal') === Table::LEVEL_YES) {
return true;
}
if (!$user->isAdmin() && !$entity->isActive()) {
return false;
}
@@ -85,13 +74,19 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
if ($entity->isSystem()) {
return false;
}
if ($entity->isPortal()) {
return $this->aclManager->getPermissionLevel($user, Permission::PORTAL) === Table::LEVEL_YES;
}
return $this->defaultAccessChecker->checkEntityRead($user, $entity, $data);
}
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isSystem()) {
return false;
}
@@ -111,8 +106,6 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if (!$user->isAdmin()) {
return false;
}
@@ -130,8 +123,7 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityStream(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
return $this->aclManager->checkUserPermission($user, $entity, 'user');
/** @noinspection PhpRedundantOptionalArgumentInspection */
return $this->aclManager->checkUserPermission($user, $entity, Permission::USER);
}
}
@@ -2,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\Acl\User;
use Espo\Core\Name\Field;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\ORM\Entity as CoreEntity;
@@ -51,8 +52,8 @@ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
assert($entity instanceof CoreEntity);
$intersect = array_intersect(
$user->getLinkMultipleIdList('teams'),
$entity->getLinkMultipleIdList('teams')
$user->getLinkMultipleIdList(Field::TEAMS),
$entity->getLinkMultipleIdList(Field::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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -36,6 +36,7 @@ use Espo\Entities\User;
use Espo\Entities\WorkingTimeRange;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
/**
* @implements AssignmentCheckerInterface<WorkingTimeRange>
@@ -73,7 +74,7 @@ class AssignmentChecker implements AssignmentCheckerInterface
$users = $this->entityManager
->getRDBRepositoryByClass(User::class)
->where(['id' => $entity->getUsers()->getIdList()])
->where([Attribute::ID => $entity->getUsers()->getIdList()])
->find();
foreach ($users as $targetUser) {
@@ -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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -81,8 +81,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($relatedId && $relatedType) {
} else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
@@ -101,14 +100,10 @@ class AccessChecker implements AccessEntityCREDChecker
if ($result !== null) {
return $result;
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
} else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
in_array(
$entity->getTargetField(),
$this->aclManager->getScopeForbiddenFieldList($user, $parent->getEntityType())
)
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
@@ -159,7 +154,7 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
$parent = $this->entityManager->getEntity($note->getParentType(), $note->getParentId());
$parent = $this->entityManager->getEntityById($note->getParentType(), $note->getParentId());
if ($parent && $this->aclManager->checkEntity($user, $parent)) {
return true;
@@ -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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -68,9 +68,9 @@ class AccessChecker implements AccessEntityCREDSChecker
assert($entity instanceof CoreEntity);
$userIdList = $entity->getLinkMultipleIdLIst('users');
$userIdList = $entity->getLinkMultipleIdList('users');
if (is_array($userIdList) && in_array($user->getId(), $userIdList)) {
if (in_array($user->getId(), $userIdList)) {
return true;
}
@@ -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-2026 EspoCRM, Inc.
* 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,33 +2,34 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\AclPortal\Note;
use Espo\Core\Name\Field;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -137,7 +138,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -154,8 +155,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}
@@ -175,7 +175,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -192,8 +192,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
+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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
+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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
+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-2026 EspoCRM, Inc.
* 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,48 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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;
use Espo\Core\Utils\Address\CountryDataProvider;
use Espo\Tools\App\AppParam;
class AddressCountryData implements AppParam
{
public function __construct(
private CountryDataProvider $provider
) {}
/**
* @return array{list: string[], preferredList: string[]}
*/
public function get(): array
{
return $this->provider->get();
}
}
@@ -0,0 +1,59 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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;
use Espo\Core\Currency\ConfigDataProvider;
use Espo\Core\Utils\NumberUtil;
use Espo\Tools\App\AppParam;
use stdClass;
/**
* @noinspection PhpUnused
*/
class CurrencyRates implements AppParam
{
private const int PRECISION = 6;
public function __construct(
private ConfigDataProvider $configDataProvider,
private NumberUtil $numberUtil,
) {}
public function get(): stdClass
{
$rates = $this->configDataProvider->getCurrencyRates()->toAssoc();
foreach ($rates as $code => $value) {
$rates[$code] = $this->numberUtil->format($value, self::PRECISION, '.', '');
}
return (object) $rates;
}
}
@@ -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-2026 EspoCRM, Inc.
* 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,57 +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-2026 EspoCRM, Inc.
* 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\AppParams;
use Espo\Core\Acl;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Select\SelectBuilderFactory;
use Espo\Entities\Template;
use Espo\Tools\App\AppParam;
use RuntimeException;
/**
* Returns a list of entity types for which a PDF template exists.
*
* @noinspection PhpUnused
*/
class TemplateEntityTypeList implements AppParam
{
private Acl $acl;
private SelectBuilderFactory $selectBuilderFactory;
private EntityManager $entityManager;
public function __construct(
Acl $acl,
SelectBuilderFactory $selectBuilderFactory,
EntityManager $entityManager
) {
$this->acl = $acl;
$this->selectBuilderFactory = $selectBuilderFactory;
$this->entityManager = $entityManager;
}
private Acl $acl,
private SelectBuilderFactory $selectBuilderFactory,
private EntityManager $entityManager,
) {}
/**
* @return string[]
@@ -65,14 +63,19 @@ class TemplateEntityTypeList implements AppParam
$list = [];
$query = $this->selectBuilderFactory
->create()
->from(Template::ENTITY_TYPE)
->withAccessControlFilter()
->buildQueryBuilder()
->select(['entityType'])
->group(['entityType'])
->build();
try {
$query = $this->selectBuilderFactory
->create()
->from(Template::ENTITY_TYPE)
->withAccessControlFilter()
->buildQueryBuilder()
->select(['entityType'])
->where(['status' => Template::STATUS_ACTIVE])
->group(['entityType'])
->build();
} catch (BadRequest|Forbidden $e) {
throw new RuntimeException('', 0, $e);
}
$templateCollection = $this->entityManager
->getRDBRepositoryByClass(Template::class)
@@ -2,39 +2,43 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\AssignmentNotificators;
use Espo\Core\Field\DateTime;
use Espo\Core\Field\LinkParent;
use Espo\Core\Name\Field;
use Espo\Core\Notification\DefaultAssignmentNotificator;
use Espo\Entities\EmailAddress;
use Espo\Entities\EmailFolder;
use Espo\Modules\Crm\Entities\Account;
use Espo\Modules\Crm\Entities\Contact;
use Espo\Modules\Crm\Entities\Lead;
use Espo\ORM\Name\Attribute;
use Espo\Tools\Stream\Service as StreamService;
use Espo\Core\Notification\AssignmentNotificator;
use Espo\Core\Notification\AssignmentNotificator\Params;
@@ -56,25 +60,14 @@ class Email implements AssignmentNotificator
{
private const DAYS_THRESHOLD = 2;
private User $user;
private EntityManager $entityManager;
private UserEnabledChecker $userChecker;
private AclManager $aclManager;
private StreamService $streamService;
public function __construct(
User $user,
EntityManager $entityManager,
UserEnabledChecker $userChecker,
AclManager $aclManager,
StreamService $streamService
) {
$this->user = $user;
$this->entityManager = $entityManager;
$this->userChecker = $userChecker;
$this->aclManager = $aclManager;
$this->streamService = $streamService;
}
private User $user,
private EntityManager $entityManager,
private UserEnabledChecker $userChecker,
private AclManager $aclManager,
private StreamService $streamService,
private DefaultAssignmentNotificator $defaultAssignmentNotificator,
) {}
/**
* @param EmailEntity $entity
@@ -94,10 +87,19 @@ class Email implements AssignmentNotificator
return;
}
if ($params->getOption('isJustSent')) {
$previousUserIdList = [];
if (
$entity->getStatus() !== EmailEntity::STATUS_BEING_IMPORTED &&
!$this->streamService->checkIsEnabled(EmailEntity::ENTITY_TYPE)
) {
$this->defaultAssignmentNotificator->process(
$entity,
$params->withOption(DefaultAssignmentNotificator::OPTION_FORCE_ASSIGNED_USER, true)
);
}
else {
if ($params->getOption(EmailEntity::SAVE_OPTION_IS_JUST_SENT)) {
$previousUserIdList = [];
} else {
$previousUserIdList = $entity->getFetched('usersIds');
if (!is_array($previousUserIdList)) {
@@ -164,7 +166,7 @@ class Email implements AssignmentNotificator
if ($person) {
$data['personEntityType'] = $person->getEntityType();
$data['personEntityName'] = $person->get('name');
$data['personEntityName'] = $person->get(Field::NAME);
$data['personEntityId'] = $person->getId();
}
}
@@ -176,44 +178,26 @@ class Email implements AssignmentNotificator
}
if (empty($data['personEntityId'])) {
$data['fromString'] = Util::parseFromName($entity->getFromString());
$data['fromString'] = Util::parseFromName($entity->getFromString() ?? '');
if (empty($data['fromString']) && $from) {
$data['fromString'] = $from;
}
}
$parent = null;
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if ($parentType && $parentId) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
$account = null;
$accountLink = $entity->getAccount();
if ($accountLink) {
$account = $this->entityManager->getEntityById(Account::ENTITY_TYPE, $accountLink->getId());
}
$parent = $entity->getParent();
$account = $entity->getAccount();
foreach ($userIdList as $userId) {
if (!$userId) {
continue;
}
if ($userIdFrom === $userId) {
continue;
}
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IN_TRASH, $userId)) {
continue;
}
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IS_READ, $userId)) {
if (
$entity->getUserColumnInTrash($userId) ||
$entity->getUserColumnIsRead($userId) ||
$entity->getUserSkipNotification($userId)
) {
continue;
}
@@ -222,10 +206,10 @@ class Email implements AssignmentNotificator
}
if (
$params->getOption('isBeingImported') ||
$params->getOption('isJustSent')
$params->getOption(EmailEntity::SAVE_OPTION_IS_BEING_IMPORTED) ||
$params->getOption(EmailEntity::SAVE_OPTION_IS_JUST_SENT)
) {
$folderId = $entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_FOLDER_ID, $userId);
$folderId = $entity->getUserColumnFolderId($userId);
if (
$folderId &&
@@ -241,8 +225,7 @@ class Email implements AssignmentNotificator
}
}
/** @var ?User $user */
$user = $this->entityManager->getEntityById(User::ENTITY_TYPE, $userId);
$user = $this->entityManager->getRDBRepositoryByClass(User::class)->getById($userId);
if (!$user) {
continue;
@@ -258,7 +241,7 @@ class Email implements AssignmentNotificator
$isArchivedOrBeingImported =
$entity->getStatus() === EmailEntity::STATUS_ARCHIVED ||
$params->getOption('isBeingImported');
$params->getOption(EmailEntity::SAVE_OPTION_IS_BEING_IMPORTED);
if (
$isArchivedOrBeingImported &&
@@ -284,20 +267,23 @@ class Email implements AssignmentNotificator
'relatedId' => $entity->getId(),
'relatedType' => EmailEntity::ENTITY_TYPE,
])
->select(['id'])
->select([Attribute::ID])
->findOne();
if ($existing) {
continue;
}
$this->entityManager->createEntity(Notification::ENTITY_TYPE, [
'type' => Notification::TYPE_EMAIL_RECEIVED,
'userId' => $userId,
'data' => $data,
'relatedId' => $entity->getId(),
'relatedType' => EmailEntity::ENTITY_TYPE,
]);
$notification = $this->entityManager->getRDBRepositoryByClass(Notification::class)->getNew();
$notification
->setType(Notification::TYPE_EMAIL_RECEIVED)
->setUserId($userId)
->setData($data)
->setRelated(LinkParent::createFromEntity($entity))
->setActionId($params->getActionId());
$this->entityManager->saveEntity($notification);
}
}
}
@@ -0,0 +1,69 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Entities\AppLogRecord;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\DeleteBuilder;
class AppLog implements Cleanup
{
private const PERIOD = '30 days';
public function __construct(
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
if (!$this->config->get('cleanupAppLog')) {
return;
}
$query = DeleteBuilder::create()
->from(AppLogRecord::ENTITY_TYPE)
->where(['createdAt<' => $this->getBefore()->toString()])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
private function getBefore(): DateTime
{
/** @var string $period */
$period = $this->config->get('cleanupAppLogPeriod') ?? self::PERIOD;
return DateTime::createNow()->modify('-' . $period);
}
}
+105
View File
@@ -0,0 +1,105 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Note;
use Espo\ORM\EntityManager;
/**
* @noinspection PhpUnused
*/
class Audit implements Cleanup
{
private const PERIOD = '3 months';
public function __construct(
private Metadata $metadata,
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
if (!$this->config->get('cleanupAudit')) {
return;
}
$entityTypeList = $this->getEntityTypeList();
foreach ($entityTypeList as $scope) {
$this->processEntityType($scope);
}
}
private function processEntityType(string $entityType): void
{
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Note::ENTITY_TYPE)
->where([
'parentType' => $entityType,
'createdAt<' => $this->getBefore()->toString(),
'type' => [Note::TYPE_UPDATE],
])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
/**
* @return string[]
*/
private function getEntityTypeList(): array
{
/** @var string[] $scopeList */
$scopeList = array_keys($this->metadata->get(['scopes']) ?? []);
$scopeList = array_filter($scopeList, function ($item) {
return $this->metadata->get("scopes.$item.entity") &&
!$this->metadata->get("scopes.$item.preserveAuditLog") &&
!$this->metadata->get("scopes.$item.stream");
});
return array_values($scopeList);
}
private function getBefore(): DateTime
{
/** @var string $period */
$period = $this->config->get('cleanupAuditPeriod') ?? self::PERIOD;
return DateTime::createNow()->modify('-' . $period);
}
}
+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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
+137
View File
@@ -0,0 +1,137 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Acl\UserAclManagerProvider;
use Espo\Entities\StarSubscription;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\DeleteBuilder;
use Espo\Tools\Stars\StarService;
/**
* @noinspection PhpUnused
*/
class Stars implements Cleanup
{
public function __construct(
private EntityManager $entityManager,
private UserAclManagerProvider $userAclManagerProvider,
private StarService $service
) {}
public function process(): void
{
foreach ($this->getEntityTypeList() as $entityType) {
$this->processEntityType($entityType);
}
}
/**
* @return string[]
*/
private function getEntityTypeList(): array
{
$groups = $this->entityManager->getRDBRepositoryByClass(StarSubscription::class)
->group('entityType')
->select('entityType')
->find();
$list = [];
foreach ($groups as $group) {
$list[] = $group->get('entityType');
}
return $list;
}
private function processEntityType(string $entityType): void
{
if (
!$this->service->isEnabled($entityType) ||
!$this->entityManager->hasRepository($entityType)
) {
$deleteQuery = DeleteBuilder::create()
->from(StarSubscription::ENTITY_TYPE)
->where(['entityType' => $entityType])
->build();
$this->entityManager->getQueryExecutor()->execute($deleteQuery);
return;
}
$stars = $this->entityManager
->getRDBRepositoryByClass(StarSubscription::class)
->where(['entityType' => $entityType])
->sth()
->find();
foreach ($stars as $star) {
$entityId = $star->get('entityId');
$userId = $star->get('userId');
if ($userId === null || $entityId === null) {
continue;
}
$entity = $this->entityManager->getEntityById($entityType, $entityId);
$user = $this->entityManager->getRDBRepositoryByClass(User::class)->getById($userId);
if (!$entity || !$user) {
$this->unstar($userId, $entityType, $entityId);
continue;
}
$aclManager = $this->userAclManagerProvider->get($user);
if (!$aclManager->checkEntityRead($user, $entity)) {
$this->unstar($userId, $entityType, $entityId);
}
}
}
private function unstar(string $userId, string $entityType, string $entityId): void
{
$deleteQuery = DeleteBuilder::create()
->from(StarSubscription::ENTITY_TYPE)
->where([
'userId' => $userId,
'entityType' => $entityType,
'entityId' => $entityId,
])
->build();
$this->entityManager->getQueryExecutor()->execute($deleteQuery);
}
}
@@ -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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -31,9 +31,10 @@ namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Subscription;
use Espo\Entities\StreamSubscription;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\Part\Condition as Cond;
@@ -41,19 +42,11 @@ class Subscribers implements Cleanup
{
private const PERIOD = '2 months';
private Metadata $metadata;
private EntityManager $entityManager;
private Config $config;
public function __construct(
Metadata $metadata,
EntityManager $entityManager,
Config $config
) {
$this->metadata = $metadata;
$this->entityManager = $entityManager;
$this->config = $config;
}
private Metadata $metadata,
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
@@ -85,7 +78,7 @@ class Subscribers implements Cleanup
}
/** @var string $dateField */
$dateField = $data['dateField'] ?? 'createdAt';
$dateField = $data['dateField'] ?? Field::CREATED_AT;
/** @var ?string[] $statusList */
$statusList = $data['statusList'] ?? null;
/** @var ?string $statusField */
@@ -105,7 +98,7 @@ class Subscribers implements Cleanup
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Subscription::ENTITY_TYPE, 'subscription')
->from(StreamSubscription::ENTITY_TYPE, 'subscription')
->join(
$entityType,
'entity',
@@ -122,7 +115,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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -31,42 +31,40 @@ namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\DateTime as DateTimeUtil;
use Espo\Entities\WebhookEventQueueItem;
use Espo\Entities\WebhookQueueItem;
use Espo\ORM\EntityManager;
use DateTime;
use Espo\ORM\Name\Attribute;
/**
* @noinspection PhpUnused
*/
class WebhookQueue implements Cleanup
{
private string $cleanupWebhookQueuePeriod = '10 days';
private $config;
private $entityManager;
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
public function __construct(private Config $config, private EntityManager $entityManager)
{}
public function process(): void
{
$period = '-' . $this->config->get('cleanupWebhookQueuePeriod', $this->cleanupWebhookQueuePeriod);
$datetime = new DateTime();
$datetime->modify($period);
$from = $datetime->format('Y-m-d H:i:s');
$from = $datetime->format(DateTimeUtil::SYSTEM_DATE_TIME_FORMAT);
$query1 = $this->entityManager
->getQueryBuilder()
->delete()
->from('WebhookQueueItem')
->from(WebhookQueueItem::ENTITY_TYPE)
->where([
'DATE:(createdAt)<' => $from,
'OR' => [
'status!=' => 'Pending',
'deleted' => true,
'status!=' => WebhookQueueItem::STATUS_PENDING,
Attribute::DELETED => true,
],
])
->build();
@@ -76,12 +74,12 @@ class WebhookQueue implements Cleanup
$query2 = $this->entityManager
->getQueryBuilder()
->delete()
->from('WebhookEventQueueItem')
->from(WebhookEventQueueItem::ENTITY_TYPE)
->where([
'DATE:(createdAt)<' => $from,
'OR' => [
'isProcessed' => true,
'deleted' => true,
Attribute::DELETED => true,
],
])
->build();
@@ -0,0 +1,66 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\File\Manager as FileManager;
use Espo\Core\Utils\System;
use Espo\Core\Utils\Util;
/**
* @noinspection PhpUnused
*/
class CheckFilePermissions implements Command
{
public function __construct(
private FileManager $fileManager,
private System $system
) {}
public function run(Params $params, IO $io): void
{
$io->writeLine("\nNote: Run this command under the web server user.\n");
$io->writeLine('Writable:');
$io->writeLine('');
foreach ($this->fileManager->getPermissionUtils()->getWritableList() as $path) {
$fullPath = Util::concatPath($this->system->getRootDir(), $path);
$isWritable = $this->fileManager->isWritable($fullPath);
$msg = " " . ($isWritable ? "OK" : "FAIL") . " : $path";
$io->writeLine($msg);
}
}
}
@@ -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-2026 EspoCRM, Inc.
* 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,6 +32,7 @@ namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
@@ -90,7 +91,7 @@ class CreateAdminUser implements Command
$user->set('userName', $userName);
$user->set('type', User::TYPE_ADMIN);
$user->set('name', $userName);
$user->set(Field::NAME, $userName);
$repository->save($user);
@@ -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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -75,8 +75,7 @@ class Import implements Command
$countUpdated = $result->getCountUpdated();
$countError = $result->getCountError();
$countDuplicate = $result->getCountDuplicate();
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;
@@ -97,8 +96,7 @@ class Import implements Command
try {
$this->service->revert($id);
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;
@@ -114,8 +112,7 @@ class Import implements Command
try {
$result = $this->service->importById($id, true, $forceResume);
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;
@@ -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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -35,7 +35,8 @@ use Espo\Core\Console\Exceptions\ArgumentNotSpecified;
use Espo\Core\Console\Exceptions\InvalidArgument;
use Espo\Core\Console\IO;
use Espo\Core\Exceptions\Error;
use Espo\Core\FieldProcessing\NextNumber\BeforeSaveProcessor;
use Espo\Core\FieldProcessing\NextNumber\Processor;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\ORM\Repository\Option\SaveOption;
use Espo\ORM\EntityManager;
@@ -43,11 +44,11 @@ use Espo\ORM\Query\Part\Order;
class PopulateNumbers implements Command
{
private BeforeSaveProcessor $beforeSaveProcessor;
private Processor $beforeSaveProcessor;
private EntityManager $entityManager;
public function __construct(
BeforeSaveProcessor $beforeSaveProcessor,
Processor $beforeSaveProcessor,
EntityManager $entityManager
) {
$this->beforeSaveProcessor = $beforeSaveProcessor;
@@ -62,7 +63,7 @@ class PopulateNumbers implements Command
$entityType = $params->getArgument(0);
$field = $params->getArgument(1);
$orderBy = $params->getOption('orderBy') ?? 'createdAt';
$orderBy = $params->getOption('orderBy') ?? Field::CREATED_AT;
$order = strtoupper($params->getOption('order') ?? Order::ASC);
if (!$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-2026 EspoCRM, Inc.
* 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,8 +57,7 @@ class RebuildCategoryPaths implements Command
try {
$this->rebuildPaths->run($entityType);
}
catch (Exception $e) {
} catch (Exception $e) {
$io->setExitStatus(1);
$io->writeLine("Error: " . $e->getMessage());
@@ -2,66 +2,82 @@
/************************************************************************
* 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-2026 EspoCRM, Inc.
* 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\DefaultLayouts;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Defs\Params\FieldParam;
use Espo\ORM\Defs\Params\RelationParam;
use stdClass;
class DefaultSidePanelType
{
private $metadata;
public function __construct(Metadata $metadata)
{
$this->metadata = $metadata;
}
public function __construct(private Metadata $metadata)
{}
/**
* @return \stdClass[]
* @return stdClass[]
*/
public function get(string $scope): array
{
$list = [];
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUser', 'type']) === 'link' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUser', 'entity']) === 'User'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::ASSIGNED_USER, FieldParam::TYPE]) ===
FieldType::LINK &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::ASSIGNED_USER, RelationParam::ENTITY]) ===
User::ENTITY_TYPE
||
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUsers', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUsers', 'entity']) === 'User'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::ASSIGNED_USERS, FieldParam::TYPE]) ===
FieldType::LINK_MULTIPLE &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::ASSIGNED_USERS, RelationParam::ENTITY]) ===
User::ENTITY_TYPE
) {
$list[] = (object) ['name' => ':assignedUser'];
}
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'teams', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'teams', 'entity']) === 'Team'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::TEAMS, FieldParam::TYPE]) ===
FieldType::LINK_MULTIPLE &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::TEAMS, RelationParam::ENTITY]) ===
Team::ENTITY_TYPE
) {
$list[] = (object) ['name' => 'teams'];
$list[] = (object) ['name' => Field::TEAMS];
}
if (
$this->metadata->get("entityDefs.$scope.fields.collaborators.type") === FieldType::LINK_MULTIPLE &&
$this->metadata->get("entityDefs.$scope.links.collaborators.entity") === User::ENTITY_TYPE
) {
$list[] = (object) ['name' => Field::COLLABORATORS];
}
return $list;
@@ -2,112 +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-2026 EspoCRM, Inc.
* 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\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\WhereItem;
/**
* @implements WhereBuilder<CoreEntity>
*/
class Company implements WhereBuilder
{
/**
* @param CoreEntity $entity
*/
public function build(Entity $entity): ?WhereItem
{
$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,275 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\ORM\Type\FieldType;
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 === FieldType::PERSON_NAME) {
return $this->applyFieldPersonName($field, $entity, $orBuilder);
}
if ($type === FieldType::EMAIL) {
return $this->applyFieldEmail($field, $entity, $orBuilder);
}
if ($type === FieldType::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 [];
}
}
@@ -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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -31,6 +31,7 @@ namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Name\Field;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\WhereItem;
@@ -42,10 +43,10 @@ class Name implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
if ($entity->get('name')) {
if ($entity->get(Field::NAME)) {
return Cond::equal(
Cond::column('name'),
$entity->get('name')
Cond::column(Field::NAME),
$entity->get(Field::NAME)
);
}
@@ -2,119 +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-2026 EspoCRM, Inc.
* 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;
use Espo\Core\Field\EmailAddressGroup;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\WhereItem;
/**
* @implements WhereBuilder<CoreEntity>
*/
class Person implements WhereBuilder
{
/**
* @param CoreEntity $entity
*/
public function build(Entity $entity): ?WhereItem
{
$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,201 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\Defs\Params\RelationParam;
use Espo\ORM\Name\Attribute;
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[RelationParam::RELATION_NAME] ?? 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' => [
Attribute::DELETED => false,
$column => '{value}',
],
],
],
],
'<>' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
Attribute::DELETED => false,
$column => '{value}',
],
],
],
],
'IN' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
Attribute::DELETED => false,
$column => '{value}',
],
],
],
],
'NOT IN' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
Attribute::DELETED => false,
$column => '{value}',
],
],
],
],
'LIKE' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
Attribute::DELETED => false,
"$column*" => '{value}',
],
],
],
],
'NOT LIKE' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
Attribute::DELETED => false,
"$column*" => '{value}',
],
],
],
],
'IS NULL' => [
'whereClause' => [
'NOT' => [
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => [Attribute::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' => [Attribute::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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -76,7 +76,7 @@ class Wysiwyg implements FieldDuplicator
foreach ($attachmentIdList as $id) {
/** @var Attachment|null $attachment */
$attachment = $this->entityManager->getEntity(Attachment::ENTITY_TYPE, $id);
$attachment = $this->entityManager->getEntityById(Attachment::ENTITY_TYPE, $id);
if (!$attachment) {
continue;
@@ -0,0 +1,63 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\CurrencyRecord;
use Espo\Core\Currency\ConfigDataProvider;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\CurrencyRecord;
use Espo\ORM\Entity;
use ValueError;
/**
* @implements Loader<CurrencyRecord>
*/
class IsBase implements Loader
{
public function __construct(
private ConfigDataProvider $configDataProvider,
) {}
public function process(Entity $entity, Params $params): void
{
try {
$code = $entity->getCode();
} catch (ValueError) {
$entity->setIsBase(false);
return;
}
$isBase = $code === $this->configDataProvider->getBaseCurrency();
$entity->setIsBase($isBase);
}
}
@@ -0,0 +1,60 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\CurrencyRecord;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Language;
use Espo\Entities\CurrencyRecord;
use Espo\ORM\Entity;
use ValueError;
/**
* @implements Loader<CurrencyRecord>
*/
class Label implements Loader
{
public function __construct(
private Language $defaultLanguage
) {}
public function process(Entity $entity, Params $params): void
{
try {
$code = $entity->getCode();
} catch (ValueError) {
return;
}
$name = $this->defaultLanguage->translateLabel($code, 'names', 'Currency');
$entity->setLabel($name);
}
}
@@ -0,0 +1,57 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\CurrencyRecord;
use Espo\Core\Currency\ConfigDataProvider;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\CurrencyRecord;
use Espo\ORM\Entity;
use Espo\Tools\Currency\RateEntryProvider;
/**
* @implements Loader<CurrencyRecord>
*/
class Rate implements Loader
{
public function __construct(
private RateEntryProvider $rateEntryProvider,
private ConfigDataProvider $configDataProvider,
) {}
public function process(Entity $entity, Params $params): void
{
$rate = $entity->getCode() !== $this->configDataProvider->getBaseCurrency() ?
$this->rateEntryProvider->getCurrentRateEntry($entity)?->getRate() :
'1';
$entity->setRate($rate);
}
}
@@ -0,0 +1,57 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\CurrencyRecord;
use Espo\Core\Currency\ConfigDataProvider;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\CurrencyRecord;
use Espo\ORM\Entity;
use Espo\Tools\Currency\RateEntryProvider;
/**
* @implements Loader<CurrencyRecord>
*/
class RateDate implements Loader
{
public function __construct(
private RateEntryProvider $rateEntryProvider,
private ConfigDataProvider $configDataProvider,
) {}
public function process(Entity $entity, Params $params): void
{
$date = $entity->getCode() !== $this->configDataProvider->getBaseCurrency() ?
$this->rateEntryProvider->getCurrentRateEntry($entity)?->getDate() :
null;
$entity->setRateDate($date);
}
}
@@ -0,0 +1,59 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\CurrencyRecord;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Metadata;
use Espo\Entities\CurrencyRecord;
use Espo\ORM\Entity;
use ValueError;
/**
* @implements Loader<CurrencyRecord>
*/
class Symbol implements Loader
{
public function __construct(
private Metadata $metadata,
) {}
public function process(Entity $entity, Params $params): void
{
try {
$code = $entity->getCode();
} catch (ValueError) {
return;
}
$symbol = $this->metadata->get("app.currency.symbolMap.$code");
$entity->setSymbol($symbol);
}
}
@@ -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-2026 EspoCRM, Inc.
* 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.
************************************************************************/
@@ -52,11 +52,6 @@ class AddressDataLoader implements Loader
/** @var EmailRepository $repository */
$repository = $this->entityManager->getRepository(Email::ENTITY_TYPE);
$repository->loadFromField($entity);
$repository->loadToField($entity);
$repository->loadCcField($entity);
$repository->loadBccField($entity);
$repository->loadReplyToField($entity);
$repository->loadNameHash($entity);
}
}
@@ -0,0 +1,60 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\Email;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Repositories\Email as EmailRepository;
/**
* @implements Loader<Email>
*/
class AddressLoader implements Loader
{
public function __construct(private EntityManager $entityManager)
{}
/**
* @inheritDoc
*/
public function process(Entity $entity, Params $params): void
{
/** @var EmailRepository $repository */
$repository = $this->entityManager->getRepository(Email::ENTITY_TYPE);
$repository->loadFromField($entity);
$repository->loadToField($entity);
$repository->loadCcField($entity);
$repository->loadBccField($entity);
$repository->loadReplyToField($entity);
}
}
@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* 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\FieldProcessing\Email;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\Email;
use Espo\Entities\EmailFolder;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
/**
* @implements Loader<Email>
*/
class FolderDataLoader implements Loader
{
public function __construct(private EntityManager $entityManager) {}
public function process(Entity $entity, Params $params): void
{
$folderId = $entity->get(Email::USERS_COLUMN_FOLDER_ID);
if (!$folderId) {
return;
}
$folder = $this->entityManager
->getRDBRepositoryByClass(EmailFolder::class)
->select([Attribute::ID, 'name'])
->where([Attribute::ID => $folderId])
->findOne();
if (!$folder) {
return;
}
$entity->set('folderName', $folder->getName());
}
}
@@ -2,37 +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-2026 EspoCRM, Inc.
* 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\Core\Name\Field;
use Espo\Entities\User;
use Espo\Modules\Crm\Entities\Call;
use Espo\Modules\Crm\Entities\Contact;
use Espo\Modules\Crm\Entities\Lead;
use Espo\Modules\Crm\Entities\Meeting;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Entities\EmailAddress;
use Espo\Entities\Email;
@@ -55,9 +60,9 @@ class IcsDataLoader implements Loader
{
/** @var array<string, string> */
private $entityTypeLinkMap = [
'User' => 'users',
'Contact' => 'contacts',
'Lead' => 'leads',
User::ENTITY_TYPE => Meeting::LINK_USERS,
Contact::ENTITY_TYPE => Meeting::LINK_CONTACTS,
Lead::ENTITY_TYPE => Meeting::LINK_LEADS,
];
public function __construct(private EntityManager $entityManager, private Log $log)
@@ -104,8 +109,7 @@ class IcsDataLoader implements Loader
$valueMap->dateStartDate = $espoEvent->getDateStart();
$valueMap->dateEndDate = $espoEvent->getDateEnd();
}
}
catch (Throwable $e) {
} catch (Throwable $e) {
$this->log->warning("Error while converting ICS event '" . $entity->getId() . "': " . $e->getMessage());
return;
@@ -145,7 +149,7 @@ class IcsDataLoader implements Loader
$nameMap = $valueMap->$namesAttribute ?? (object) [];
$idList[] = $personEntity->getId();
$nameMap->{$personEntity->getId()} = $personEntity->get('name');
$nameMap->{$personEntity->getId()} = $personEntity->get(Field::NAME);
$valueMap->$idsAttribute = $idList;
$valueMap->$namesAttribute = $nameMap;
@@ -189,7 +193,7 @@ class IcsDataLoader implements Loader
}
$createdEvent = $this->entityManager
->getEntity($emailSameEvent->get('createdEventType'), $emailSameEvent->get('createdEventId'));
->getEntityById($emailSameEvent->get('createdEventType'), $emailSameEvent->get('createdEventId'));
if (!$createdEvent) {
return;
@@ -198,7 +202,7 @@ class IcsDataLoader implements Loader
$eventData->createdEvent = (object) [
'id' => $createdEvent->getId(),
'entityType' => $emailSameEvent->getEntityType(),
'name' => $createdEvent->get('name'),
'name' => $createdEvent->get(Field::NAME),
];
}
@@ -212,8 +216,8 @@ class IcsDataLoader implements Loader
$found1 = $this->entityManager
->getRDBRepository(Meeting::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->select([Attribute::ID])
->where([Attribute::ID => $id])
->findOne();
if ($found1) {
@@ -222,8 +226,8 @@ class IcsDataLoader implements Loader
$found2 = $this->entityManager
->getRDBRepository(Call::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->select([Attribute::ID])
->where([Attribute::ID => $id])
->findOne();
if ($found2) {
@@ -2,34 +2,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-2026 EspoCRM, Inc.
* 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\Core\Name\Field;
use Espo\Core\Name\Link;
use Espo\ORM\Entity;
use Espo\ORM\Name\Attribute;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
@@ -42,17 +45,15 @@ use Espo\Entities\User;
*/
class StringDataLoader implements Loader
{
private EntityManager $entityManager;
private User $user;
private const LINK_EMAIL_ADDRESSES = Link::EMAIL_ADDRESSES;
/** @var array<string, string> */
private $fromEmailAddressNameCache = [];
public function __construct(EntityManager $entityManager, User $user)
{
$this->entityManager = $entityManager;
$this->user = $user;
}
public function __construct(
private EntityManager $entityManager,
private User $user
) {}
public function process(Entity $entity, Params $params): void
{
@@ -61,9 +62,8 @@ class StringDataLoader implements Loader
$userEmailAddressIdList = [];
$emailAddressCollection = $this->entityManager
->getRDBRepository(User::ENTITY_TYPE)
->getRelation($this->user, 'emailAddresses')
->select(['id'])
->getRelation($this->user, self::LINK_EMAIL_ADDRESSES)
->select([Attribute::ID])
->find();
foreach ($emailAddressCollection as $emailAddress) {
@@ -89,7 +89,7 @@ class StringDataLoader implements Loader
foreach ($idList as $emailAddressId) {
$person = $this->getEmailAddressRepository()->getEntityByAddressId($emailAddressId, null, true);
$list[] = $person ? $person->get('name') : $names->$emailAddressId;
$list[] = $person ? $person->get(Field::NAME) : $names->$emailAddressId;
}
$entity->set('personStringData', 'To: ' . implode(', ', $list));
@@ -107,7 +107,7 @@ class StringDataLoader implements Loader
if (!array_key_exists($fromEmailAddressId, $this->fromEmailAddressNameCache)) {
$person = $this->getEmailAddressRepository()->getEntityByAddressId($fromEmailAddressId, null, true);
$fromName = $person?->get('name');
$fromName = $person?->get(Field::NAME);
$this->fromEmailAddressNameCache[$fromEmailAddressId] = $fromName;
}

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