Compare commits

...

1569 Commits
9.0.2 ... fix

Author SHA1 Message Date
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
5562 changed files with 98198 additions and 33308 deletions

View File

@@ -16,6 +16,10 @@ For this, please use our [forum](https://forum.espocrm.com).
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.
@@ -25,9 +29,18 @@ The maintainers have right to close issues without explanation.
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
.github/ISSUE_TEMPLATE/code_mistake.md vendored Normal file
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.

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."

View File

@@ -1,6 +1,6 @@
---
name: Feature request
about: For high-level features, create feature requests on our 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
.github/SECURITY.md vendored
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.

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:

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.2', '8.4']
php-versions: ['8.3', '8.5']
branches: ['master']
steps:

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.2', '8.3', '8.4']
php-versions: ['8.3', '8.4', '8.5']
steps:
- uses: actions/checkout@v2

1
.gitignore vendored
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

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">
@@ -19,6 +20,8 @@
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<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>

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

38
.idea/jsonSchemas.xml generated
View File

@@ -341,6 +341,25 @@
</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>
@@ -1386,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>

12
.vscode/settings.json vendored
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,12 @@
],
"url": "./schema/metadata/app/client.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientIcons.json"
],
"url": "./schema/metadata/app/clientIcons.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRecord.json"

View File

@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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
@@ -184,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: {

View File

@@ -19,24 +19,36 @@ You can try the CRM on an online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 8.2 - 8.4;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later);
* PHP 8.3 - 8.5;
* MySQL 8.0 (and later), or MariaDB 10.3 (and later);
* PostgreSQL 15 (and later).
For more information about server configuration, see [this article](https://docs.espocrm.com/administration/server-configuration/).
### 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 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.
* 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).

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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'
@@ -232,6 +232,16 @@ class Binding implements BindingProcessor
'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
@@ -245,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
@@ -302,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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -0,0 +1,79 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\CurrencyRecordRate;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Entities\CurrencyRecordRate;
use Espo\Entities\User;
use Espo\ORM\Entity;
/**
* @implements AccessEntityCREDChecker<CurrencyRecordRate>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
public function __construct(
private DefaultAccessChecker $defaultAccessChecker,
) {}
public function checkCreate(User $user, ScopeData $data): bool
{
if ($data->getEdit() === Table::LEVEL_YES) {
return true;
}
return false;
}
public function checkDelete(User $user, ScopeData $data): bool
{
if ($data->getEdit() === Table::LEVEL_YES) {
return true;
}
return false;
}
public function checkEntityCreate(User $user, Entity $entity, ScopeData $data): bool
{
return $this->checkCreate($user, $data);
}
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
return $this->checkDelete($user, $data);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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);
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -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;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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)

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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,6 +30,7 @@
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;
@@ -273,13 +274,16 @@ class Email implements AssignmentNotificator
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);
}
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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()])

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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();

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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();

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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,7 @@ 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;
@@ -44,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;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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
@@ -85,7 +85,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -97,7 +97,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -109,7 +109,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -121,7 +121,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
$column => '{value}',
],
],
@@ -133,7 +133,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
"$column*" => '{value}',
],
],
@@ -145,7 +145,7 @@ class RelationshipRole implements FieldConverter
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
Attribute::DELETED => false,
"$column*" => '{value}',
],
],

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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);
}
}

View File

@@ -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);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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,6 +30,7 @@
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;
@@ -44,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
{
@@ -63,8 +62,7 @@ class StringDataLoader implements Loader
$userEmailAddressIdList = [];
$emailAddressCollection = $this->entityManager
->getRDBRepository(User::ENTITY_TYPE)
->getRelation($this->user, 'emailAddresses')
->getRelation($this->user, self::LINK_EMAIL_ADDRESSES)
->select([Attribute::ID])
->find();

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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,6 +35,7 @@ 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>
@@ -57,7 +58,7 @@ class UserColumnsLoader implements Loader
Email::USERS_COLUMN_IN_ARCHIVE,
])
->where([
'deleted' => false,
Attribute::DELETED => false,
'userId' => $this->user->getId(),
'emailId' => $entity->getId(),
])
@@ -72,12 +73,18 @@ class UserColumnsLoader implements Loader
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);
}
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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,7 +31,7 @@ namespace Espo\Classes\FieldProcessing\InboundEmail;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Config;
use Espo\Core\Mail\ConfigDataProvider;
use Espo\Entities\InboundEmail;
use Espo\ORM\Entity;
@@ -41,12 +41,12 @@ use Espo\ORM\Entity;
class IsSystemLoader implements Loader
{
public function __construct(
private Config $config,
private ConfigDataProvider $configDataProvider,
) {}
public function process(Entity $entity, Params $params): void
{
$isSystem = $entity->getEmailAddress() === $this->config->get('outboundEmailFromAddress');
$isSystem = $entity->getEmailAddress() === $this->configDataProvider->getSystemOutboundAddress();
$entity->set('isSystem', $isSystem);
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 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\FieldProcessing\LeadCapture;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Config\ApplicationConfig;
use Espo\Core\Utils\FieldUtil;
use Espo\Core\Utils\Util;
@@ -48,7 +49,8 @@ class ExampleLoader implements Loader
public function __construct(
private FieldUtil $fieldUtil,
private ApplicationConfig $applicationConfig,
private EntityManager $entityManager
private EntityManager $entityManager,
private Config $config,
) {}
public function process(Entity $entity, Params $params): void
@@ -136,7 +138,7 @@ class ExampleLoader implements Loader
private function processFormUrl(LeadCapture $entity): void
{
$formId = $entity->getFormId();
$siteUrl = $this->applicationConfig->getSiteUrl();
$siteUrl = $this->getSiteUrl();
if (!$entity->hasFormEnabled() || !$formId) {
/** @noinspection PhpRedundantOptionalArgumentInspection */
@@ -149,4 +151,9 @@ class ExampleLoader implements Loader
$entity->set('formUrl', $formUrl);
}
private function getSiteUrl(): string
{
return $this->config->get('leadCaptureSiteUrl') ?? $this->applicationConfig->getSiteUrl();
}
}

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