Compare commits

...

3124 Commits

Author SHA1 Message Date
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 c46933f427 Merge branch 'fix' 2024-06-27 11:53:23 +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 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 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 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 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 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 83a415cb33 Merge branch 'fix' 2024-06-24 10:35:56 +03:00
Yuri Kuznetsov 02efdf11f5 Merge branch 'fix' 2024-06-23 17:53:09 +03:00
Yuri Kuznetsov 26a0c4b108 ref 2024-06-23 11:55:00 +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 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 8b49e72f2b Merge branch 'fix' 2024-06-21 22:12:19 +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 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 9e0a77588d move navbar items to metadata 2024-06-21 13:06:29 +03:00
Yuri Kuznetsov d033b26e57 Merge branch 'fix' 2024-06-21 09:40:43 +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 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 669701c6fd Merge branch 'master' into version/8.4 2024-06-19 12:29:07 +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 adc3df5144 Merge branch 'master' into version/8.4 2024-06-18 11:34:06 +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 b3f3226f55 metadata additional builders 2024-06-06 19:32:15 +03:00
6061 changed files with 169129 additions and 80878 deletions
+32 -3
View File
@@ -1,17 +1,46 @@
## Issues
#### Guidelines
When reporting a possible bug, provide detail steps so that we will be able
to reproduce the issue. Try not to use phrases like "very big bug",
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.
Steps to reproduce should be clear and unambiguous.
#### 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).
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).
+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: For high-level features, consider creating feature requests on the forum. For low-level (framework) here on GitHub.
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.3']
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.1', '8.3']
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.1', '8.2', '8.3']
php-versions: ['8.3', '8.4', '8.5']
steps:
- uses: actions/checkout@v2
+1
View File
@@ -7,6 +7,7 @@
/data/config-internal.php
/data/config-override.php
/data/config-internal-override.php
/data/state.php
/data/tmp/*
/build
/node_modules
+3 -2
View File
@@ -7,6 +7,7 @@
<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">
@@ -17,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>
+1 -1
View File
@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-${YEAR} Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-${YEAR} EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
+1
View File
@@ -3,6 +3,7 @@
<option name="myName" value="Project Default" />
<inspection_tool class="DuplicatedCode" 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" />
+95
View File
@@ -341,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>
@@ -1006,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>
@@ -1025,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>
@@ -1329,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>
+30
View File
@@ -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"
@@ -394,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"
+60 -25
View File
@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -107,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,
@@ -122,6 +154,9 @@ module.exports = grunt => {
},
clean: {
transpiled: [
'client/lib/transpiled/**',
],
start: [
'build/EspoCRM-*',
'client/lib/*',
@@ -130,23 +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',
'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',
]
},
beforeFinal: {src: cleanupBeforeFinal},
beforeFinalTest: {src: cleanupBeforeFinalTest},
},
less: lessData,
@@ -164,8 +184,12 @@ module.exports = grunt => {
comments: /^!/,
},
beautify: false,
mangle: true,
compress: true
compress: {
sequences: false,
collapse_vars: false,
keep_fargs: true,
webkit: true,
},
},
bundle: {
options: {
@@ -186,7 +210,6 @@ module.exports = grunt => {
expand: true,
cwd: 'client',
src: [
'src/**',
'res/**',
'fonts/**',
'modules/**',
@@ -420,7 +443,7 @@ module.exports = grunt => {
});
cp.execSync(
`find bin -type f -exec chmod 754 {} +`,
`find bin -type f -exec chmod 755 {} +`,
{
cwd: dirPath,
}
@@ -500,6 +523,7 @@ module.exports = grunt => {
'less',
'cssmin',
'prepare-lib-original',
'clean:transpiled',
'transpile',
'bundle',
'bundle-templates',
@@ -509,7 +533,7 @@ module.exports = grunt => {
'uglify:lib',
]);
grunt.registerTask('offline', [
const offline = [
'clean:start',
'mkdir:tmp',
'internal',
@@ -521,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',
@@ -566,6 +601,6 @@ module.exports = grunt => {
grunt.registerTask('test', [
'composer-install-dev',
'npm-install',
'offline',
'offline-test',
]);
};
+24 -24
View File
@@ -2,8 +2,8 @@
[![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm)
[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,
[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)
@@ -19,24 +19,36 @@ You can try the CRM on an online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 8.1 - 8.3;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later);
* PostgreSQL 15 (and later) (beta, official support soon).
* 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/).
### 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.
### Why EspoCRM?
* **Open-source transparency**. EspoCRMs 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 CRM fit your specific needs.
* **Clean user interface**. EspoCRM has a uncluttered, minimalist and very fast user inteface that 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.
* 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**. Its 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.
* 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
@@ -47,18 +59,6 @@ See installation instructions:
* [Installation with Docker](https://docs.espocrm.com/administration/docker/installation/)
* [Installation with Traefik](https://docs.espocrm.com/administration/docker/traefik/)
### Download
[Download](https://www.espocrm.com/download/) the latest release from our website. You can also download the latest and previous release packages 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
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
+36 -6
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -53,6 +53,11 @@ class Binding implements BindingProcessor
private function bindServices(Binder $binder): void
{
$binder->bindService(
'Espo\\Core\\Application\\ApplicationParams',
'applicationParams'
);
$binder->bindService(
'Espo\\Core\\InjectableFactory',
'injectableFactory'
@@ -128,11 +133,6 @@ class Binding implements BindingProcessor
'authTokenManager'
);
$binder->bindService(
'Espo\\Core\\Select\\SelectBuilderFactory',
'selectBuilderFactory'
);
$binder->bindService(
'Espo\\Core\\ServiceFactory',
'serviceFactory'
@@ -222,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
@@ -235,6 +255,11 @@ class Binding implements BindingProcessor
'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
@@ -292,6 +317,11 @@ class Binding implements BindingProcessor
'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
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
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,8 +93,7 @@ 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() &&
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
@@ -118,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)) {
@@ -150,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;
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -27,55 +27,53 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Mail\Mail\Storage;
namespace Espo\Classes\Acl\CurrencyRecordRate;
class Imap extends \Laminas\Mail\Storage\Imap
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
{
/**
* @return int[]
*/
public function getIdsFromUniqueId(string $uid): array
use DefaultAccessCheckerDependency;
public function __construct(
private DefaultAccessChecker $defaultAccessChecker,
) {}
public function checkCreate(User $user, ScopeData $data): bool
{
$nextUid = strval(intval($uid) + 1);
assert($this->protocol !== null);
return $this->protocol->search(['UID ' . $nextUid . ':*']);
}
/**
* @param string $date A date in the `d-M-Y` format.
* @return int[]
*/
public function getIdsSinceDate(string $date): array
{
assert($this->protocol !== null);
return $this->protocol->search(['SINCE ' . $date]);
}
/**
* @param int $id
* @return array{header: string, flags: string[]}
*/
public function getHeaderAndFlags(int $id): array
{
assert($this->protocol !== null);
/** @var array{'RFC822.HEADER': string, FLAGS: string[]} $data */
$data = $this->protocol->fetch(['FLAGS', 'RFC822.HEADER'], $id);
$header = $data['RFC822.HEADER'];
$flags = [];
foreach ($data['FLAGS'] as $flag) {
$flags[] = static::$knownFlags[$flag] ?? $flag;
if ($data->getEdit() === Table::LEVEL_YES) {
return true;
}
return [
'flags' => $flags,
'header' => $header,
];
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);
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,19 +29,30 @@
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;
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -34,7 +34,6 @@ use Espo\Core\AclManager;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements LinkChecker<Email, Entity>
@@ -43,7 +42,6 @@ use Espo\ORM\EntityManager;
class ParentLinkChecker implements LinkChecker
{
public function __construct(
private EntityManager $entityManager,
private AclManager $aclManager
) {}
@@ -53,24 +51,18 @@ class ParentLinkChecker implements LinkChecker
return true;
}
if (!$entity->getReplied()) {
return false;
}
$replied = $this->entityManager
->getRepositoryByClass(Email::class)
->getById($entity->getReplied()->getId());
$replied = $entity->getReplied();
if (!$replied) {
return false;
}
$parentLink = $replied->getParent();
$parent = $replied->getParent();
if (
!$parentLink ||
$parentLink->getId() !== $foreignEntity->getId() ||
$parentLink->getEntityType() !== $foreignEntity->getEntityType()
!$parent ||
$parent->getId() !== $foreignEntity->getId() ||
$parent->getEntityType() !== $foreignEntity->getEntityType()
) {
return false;
}
@@ -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;
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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();
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,6 +31,7 @@ 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;
@@ -84,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;
@@ -128,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)) {
@@ -167,7 +168,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -184,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;
}
@@ -209,7 +209,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -226,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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
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);
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -46,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
{
@@ -70,11 +66,7 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
if ($entity->isPortal()) {
if ($this->aclManager->getPermissionLevel($user, Permission::PORTAL) === Table::LEVEL_YES) {
return true;
}
if (!$user->isAdmin() && !$entity->isActive()) {
return false;
}
@@ -82,6 +74,14 @@ 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);
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
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)) {
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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) {
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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,8 +100,7 @@ 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() &&
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
@@ -156,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;
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
+1 -1
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
+1 -1
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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;
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -30,29 +30,27 @@
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)
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -30,11 +30,15 @@
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);
}
}
}
+5 -1
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -47,6 +47,10 @@ class AppLog implements Cleanup
public function process(): void
{
if (!$this->config->get('cleanupAppLog')) {
return;
}
$query = DeleteBuilder::create()
->from(AppLogRecord::ENTITY_TYPE)
->where(['createdAt<' => $this->getBefore()->toString()])
+5 -4
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -71,7 +71,7 @@ class Audit implements Cleanup
->where([
'parentType' => $entityType,
'createdAt<' => $this->getBefore()->toString(),
'type' => [Note::TYPE_UPDATE, Note::TYPE_STATUS],
'type' => [Note::TYPE_UPDATE],
])
->build();
@@ -87,8 +87,9 @@ class Audit implements Cleanup
$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, 'stream']);
return $this->metadata->get("scopes.$item.entity") &&
!$this->metadata->get("scopes.$item.preserveAuditLog") &&
!$this->metadata->get("scopes.$item.stream");
});
return array_values($scopeList);
+1 -1
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
+1 -1
View File
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,6 +31,7 @@ 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\StreamSubscription;
@@ -77,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 */
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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();
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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);
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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;
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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) {
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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());
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,39 +29,55 @@
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;
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -33,6 +33,7 @@ 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;
@@ -92,15 +93,15 @@ class General implements WhereBuilder
->tryGetField($field)
?->getType();
if ($type === 'personName') {
if ($type === FieldType::PERSON_NAME) {
return $this->applyFieldPersonName($field, $entity, $orBuilder);
}
if ($type === 'email') {
if ($type === FieldType::EMAIL) {
return $this->applyFieldEmail($field, $entity, $orBuilder);
}
if ($type === 'phone') {
if ($type === FieldType::PHONE) {
return $this->applyFieldPhone($field, $entity, $orBuilder);
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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)
);
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -33,6 +33,8 @@ 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;
@@ -65,7 +67,7 @@ class RelationshipRole implements FieldConverter
/** @var ?string $link */
$link = $data['link'] ?? null;
/** @var ?string $relationName */
$relationName = $data['relationName'] ?? null;
$relationName = $data[RelationParam::RELATION_NAME] ?? null;
/** @var ?string $nearKey */
$nearKey = $data['nearKey'] ?? null;
@@ -83,7 +85,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -95,7 +97,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -107,7 +109,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -119,7 +121,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -131,7 +133,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
"$column*" => '{value}',
],
],
@@ -143,7 +145,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
"$column*" => '{value}',
],
],
@@ -155,7 +157,7 @@ class RelationshipRole implements FieldConverter
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'select' => [Attribute::ID],
'leftJoins' => [
[
$link,
@@ -177,7 +179,7 @@ class RelationshipRole implements FieldConverter
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'select' => [Attribute::ID],
'leftJoins' => [
[
$link,
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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);
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -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());
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,10 +29,15 @@
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) {
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,7 +29,10 @@
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;
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -35,20 +35,17 @@ use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Entities\User;
use Espo\ORM\Name\Attribute;
/**
* @implements Loader<Email>
*/
class UserColumnsLoader implements Loader
{
private EntityManager $entityManager;
private User $user;
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
{
@@ -58,9 +55,10 @@ class UserColumnsLoader implements Loader
Email::USERS_COLUMN_IS_READ,
Email::USERS_COLUMN_IS_IMPORTANT,
Email::USERS_COLUMN_IN_TRASH,
Email::USERS_COLUMN_IN_ARCHIVE,
])
->where([
'deleted' => false,
Attribute::DELETED => false,
'userId' => $this->user->getId(),
'emailId' => $entity->getId(),
])
@@ -70,14 +68,23 @@ class UserColumnsLoader implements Loader
$entity->set(Email::USERS_COLUMN_IS_READ, null);
$entity->clear(Email::USERS_COLUMN_IS_IMPORTANT);
$entity->clear(Email::USERS_COLUMN_IN_TRASH);
$entity->clear(Email::USERS_COLUMN_IN_ARCHIVE);
return;
}
$entity->set([
$values = [
Email::USERS_COLUMN_IS_READ => $emailUser->get(Email::USERS_COLUMN_IS_READ),
Email::USERS_COLUMN_IS_IMPORTANT => $emailUser->get(Email::USERS_COLUMN_IS_IMPORTANT),
Email::USERS_COLUMN_IN_TRASH => $emailUser->get(Email::USERS_COLUMN_IN_TRASH),
]);
Email::USERS_COLUMN_IN_ARCHIVE => $emailUser->get(Email::USERS_COLUMN_IN_ARCHIVE),
'isUsersSent' => $entity->getSentBy()?->getId() === $this->user->getId(),
];
$entity->setMultiple($values);
foreach ($values as $key => $value) {
$entity->setFetched($key, $value);
}
}
}
@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -0,0 +1,53 @@
<?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\InboundEmail;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Mail\ConfigDataProvider;
use Espo\Entities\InboundEmail;
use Espo\ORM\Entity;
/**
* @implements Loader<InboundEmail>
*/
class IsSystemLoader implements Loader
{
public function __construct(
private ConfigDataProvider $configDataProvider,
) {}
public function process(Entity $entity, Params $params): void
{
$isSystem = $entity->getEmailAddress() === $this->configDataProvider->getSystemOutboundAddress();
$entity->set('isSystem', $isSystem);
}
}

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