Compare commits

...

2863 Commits
8.1.1 ... 9.0.2

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

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

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

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

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

* translate default.js

* Update opted-out.js

* Update default.js

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 09:38:54 +02:00
Yuri Kuznetsov
4dee2ebb15 relate API option 2024-02-21 18:12:05 +02:00
Yuri Kuznetsov
16f956bdf8 change record create hook order 2024-02-21 16:56:39 +02:00
Yuri Kuznetsov
a20ab17236 record update keep entity dirty for after update hook 2024-02-21 16:54:46 +02:00
Yuri Kuznetsov
68c5fe94bf record after hooks 2024-02-21 16:33:47 +02:00
Yuri Kuznetsov
78f536e7f1 ref & deprecations 2024-02-21 16:00:42 +02:00
Yuri Kuznetsov
ee408300fd acceptance status direct access disabled 2024-02-21 15:09:10 +02:00
Yuri Kuznetsov
0f146959e5 link field foreign load 2024-02-21 14:08:30 +02:00
Yuri Kuznetsov
449d6a6fcd update test 2024-02-21 13:35:44 +02:00
Yuri Kuznetsov
63afa92fc1 update related fields 2024-02-21 13:25:16 +02:00
Yuri Kuznetsov
2b786af35b email/phone edit mode opt-out invalid cues 2024-02-21 12:33:11 +02:00
Yuri Kuznetsov
231f498eca ref 2024-02-21 12:10:00 +02:00
Yuri Kuznetsov
046aafd97e ref 2024-02-21 12:07:26 +02:00
Yuri Kuznetsov
d376847d12 ref 2024-02-21 11:44:41 +02:00
Yuri Kuznetsov
befd48d053 dompdf page size in mm 2024-02-21 11:23:52 +02:00
Yuri Kuznetsov
ee294f889c ref 2024-02-20 22:33:35 +02:00
Yuri Kuznetsov
5fddac8c6b dashlet autoRefresh method 2024-02-20 16:35:31 +02:00
Yuri Kuznetsov
a3d73848a9 ref 2024-02-20 16:31:56 +02:00
Yuri Kuznetsov
b829e25f5a email address select isInvalid = false filter 2024-02-20 15:40:26 +02:00
Yuri Kuznetsov
58a6cc1658 clone 2024-02-20 15:29:34 +02:00
Yuri Kuznetsov
f7eef2d3c7 ref 2024-02-20 15:25:38 +02:00
Yuri Kuznetsov
b5d007c61c ref 2024-02-20 14:03:41 +02:00
Yuri Kuznetsov
8570b6f768 webhook queue items admin ui 2024-02-20 13:22:03 +02:00
Yuri Kuznetsov
b02e2f72b6 webhook ui small impr 2024-02-20 12:25:54 +02:00
Yuri Kuznetsov
e546509f53 admin panel change 2024-02-20 12:24:26 +02:00
Yuri Kuznetsov
244864c984 menu action items data hyphen key 2024-02-20 11:50:43 +02:00
Yuri Kuznetsov
33af4be469 frontend route specific controller class 2024-02-19 16:28:43 +02:00
Yuri Kuznetsov
29e3470587 stream websocket fix 2024-02-19 14:53:05 +02:00
Yuri Kuznetsov
2b8e764deb Merge branch 'fix' 2024-02-19 14:48:57 +02:00
Yuri Kuznetsov
f503144c62 category performance fix 2024-02-19 14:43:04 +02:00
Yuri Kuznetsov
79f7194429 Merge branch 'fix' 2024-02-19 09:55:18 +02:00
Yuri Kuznetsov
6ac13521e8 lang 2024-02-19 09:55:07 +02:00
Yuri Kuznetsov
ca0625f15e select where converters inCategory, isUserFromTeams 2024-02-19 09:43:43 +02:00
Yuri Kuznetsov
88c9fbd153 ref 2024-02-18 15:33:07 +02:00
Yuri Kuznetsov
7f51b3a31e cleanup 2024-02-17 22:20:58 +02:00
Yuri Kuznetsov
ac0b08fdb7 list sticky bar helper 2024-02-17 22:20:06 +02:00
Yuri Kuznetsov
de0e5ea72d copy primary filter hash to clipboard 2024-02-17 19:47:11 +02:00
Yuri Kuznetsov
e06d60a3c3 color fix 2024-02-17 19:27:58 +02:00
Yuri Kuznetsov
128bfb09ea fix test 2024-02-17 12:56:59 +02:00
Yuri Kuznetsov
7f0283caf8 list with category support primary filter 2024-02-16 17:55:35 +02:00
Yuri Kuznetsov
a00cf5e696 entity manager show primary filters 2024-02-16 16:39:35 +02:00
Yuri Kuznetsov
65a9a0db41 detail view as obj read only 2024-02-16 16:36:40 +02:00
Yuri Kuznetsov
8ac98067de jsdocs 2024-02-16 15:02:22 +02:00
Yuri Kuznetsov
f725dc395e ref 2024-02-16 14:50:33 +02:00
Yuri Kuznetsov
6e8368c7c5 fix tests 2024-02-16 13:35:39 +02:00
Yuri Kuznetsov
ddd9425463 list view primaryFilter uri param 2024-02-16 13:30:49 +02:00
Yuri Kuznetsov
4739cd1510 docs 2024-02-16 12:03:40 +02:00
Yuri Kuznetsov
5a3c977759 jsdoc 2024-02-16 10:44:21 +02:00
Yuri Kuznetsov
85889ab99d fix deprecation 2024-02-16 10:09:05 +02:00
Yuri Kuznetsov
a9dc3a62fb remove preferences link 2024-02-16 09:47:05 +02:00
Yuri Kuznetsov
c2ddf89747 fix test 2024-02-15 16:30:19 +02:00
Yuri Kuznetsov
9f743b718a custom prefix 2024-02-15 16:20:51 +02:00
Yuri Kuznetsov
0db4a9c672 address fields max length decrease 2024-02-15 14:03:06 +02:00
Yuri Kuznetsov
2dbdb0da60 ref 2024-02-15 13:37:38 +02:00
Yuri Kuznetsov
ba59cb1010 enum max length 100 2024-02-15 13:30:34 +02:00
Yuri Kuznetsov
ee36f73ec2 enum 100 max length by default 2024-02-15 13:28:25 +02:00
Yuri Kuznetsov
abcbabfbd8 varchar max length 100 by default 2024-02-15 12:57:54 +02:00
Yuri Kuznetsov
5be76d2657 triggerSelectOnValidInput by default 2024-02-15 12:14:06 +02:00
Yuri Kuznetsov
ddb92f66e7 search ui autocomplete 2024-02-15 12:11:41 +02:00
Yuri Kuznetsov
f52759cd00 autocomplete fixes 2024-02-15 12:09:35 +02:00
Yuri Kuznetsov
b0d9d7779f ui autocomplete usage 2024-02-15 10:44:42 +02:00
Yuri Kuznetsov
8cd6912fee fix record prev/next if no total 2024-02-15 09:19:44 +02:00
Yuri Kuznetsov
bc58ca647d disabled button fix 2024-02-15 09:09:35 +02:00
Yuri Kuznetsov
1456569cf6 ui autocomplete changes 2024-02-14 21:36:20 +02:00
Yuri Kuznetsov
e1e7d3d093 link multiple column ui autocomplete usage 2024-02-14 20:57:18 +02:00
Yuri Kuznetsov
495cd0f259 autocomplete email addresses 2024-02-14 16:40:25 +02:00
Yuri Kuznetsov
f4371efa1c ui autocomplete 2024-02-14 16:17:07 +02:00
Yuri Kuznetsov
d83b05e030 auth log layout 2024-02-14 13:06:38 +02:00
Yuri Kuznetsov
bf8267c2a8 move 2024-02-14 13:04:41 +02:00
Yuri Kuznetsov
3bad29ed6d use force settings 2024-02-14 13:01:01 +02:00
Yuri Kuznetsov
cbae4d89e4 force and disable list view settings 2024-02-14 12:56:42 +02:00
Yuri Kuznetsov
18f89aebbb update cron-expression 2024-02-14 12:47:33 +02:00
Yuri Kuznetsov
c2b4caf723 menu item disabled 2024-02-14 12:14:42 +02:00
Yuri Kuznetsov
c5f3a9e366 Merge branch 'fix' 2024-02-14 11:54:19 +02:00
Yuri Kuznetsov
da826eace1 fix menu items disable 2024-02-14 11:48:57 +02:00
Yuri Kuznetsov
54de942e7f modal clear on close 2024-02-14 11:17:14 +02:00
Yuri Kuznetsov
0093bf9b79 fix 2024-02-14 11:08:43 +02:00
Yuri Kuznetsov
8e9dcb5d62 role add field ignore fields 2024-02-14 11:04:52 +02:00
Yuri Kuznetsov
38e909dfca role add field focus 2024-02-14 10:57:27 +02:00
Yuri Kuznetsov
6b0276dc22 role: add multiple fields 2024-02-14 10:52:22 +02:00
Yuri Kuznetsov
0d19dfa7b8 role add field quick search 2024-02-13 19:51:18 +02:00
Yuri Kuznetsov
13052b2969 log failed queries 2024-02-13 16:52:36 +02:00
Yuri Kuznetsov
1f9de30ff0 import step2 route change 2024-02-13 15:15:58 +02:00
Yuri Kuznetsov
5b708c1d8d import underscore match 2024-02-13 15:03:47 +02:00
Yuri Kuznetsov
ed92d68317 Merge branch 'fix' 2024-02-13 14:38:41 +02:00
Yuri Kuznetsov
2a3bbf13a5 import preivew fix 2024-02-13 14:38:23 +02:00
Yuri Kuznetsov
330fccad25 email address insert fix 2024-02-13 14:06:39 +02:00
Rabii Brahimi
14243b5ef7 Remove Duplication 2024-02-13 14:06:31 +02:00
Yuri Kuznetsov
9c702814b2 onlyMy filter 2024-02-13 13:05:54 +02:00
Yuri Kuznetsov
ba7acc5443 ref 2024-02-13 12:47:18 +02:00
Yuri Kuznetsov
10557ca1ec load accountIsInactive on list view 2024-02-13 12:19:04 +02:00
Rabii Brahimi
2085701516 Update Layout index.tpl 2024-02-13 11:14:14 +02:00
Yuri Kuznetsov
88ba56618e formula today honot default timezone 2024-02-13 11:00:37 +02:00
Yuri Kuznetsov
c35545c209 label manager quick search 2024-02-12 15:05:11 +02:00
Yuri Kuznetsov
585a859340 ref 2024-02-12 14:10:41 +02:00
Yuri Kuznetsov
cf214de06c Merge branch 'fix' 2024-02-12 12:08:37 +02:00
Yuri Kuznetsov
2c83edf691 email skip index if one 2024-02-12 12:01:47 +02:00
Yuri Kuznetsov
2f14c49215 ref 2024-02-12 11:40:40 +02:00
Yuri Kuznetsov
72e68e1a6f ref 2024-02-12 10:33:39 +02:00
Yuri Kuznetsov
5ff535cab1 ref 2024-02-12 10:16:17 +02:00
Yuri Kuznetsov
90e6acf8b9 lang fix 2024-02-12 10:15:04 +02:00
Yuri Kuznetsov
e5e29101fd web socket wait interval 2024-02-11 16:46:19 +02:00
Yuri Kuznetsov
47735aaa0b email attachment show alert 2024-02-11 10:08:42 +02:00
Yuri Kuznetsov
43eb2f8d36 date picker assumeNearbyYear 2024-02-10 22:33:39 +02:00
Yuri Kuznetsov
1d3c0074d4 ref 2024-02-10 19:14:03 +02:00
Yuri Kuznetsov
e8f07e0765 supresses 2024-02-10 18:35:55 +02:00
Yuri Kuznetsov
54216709b2 text field audited 2024-02-10 15:30:34 +02:00
Yuri Kuznetsov
9f6f034f97 cs 2024-02-10 14:38:23 +02:00
Yuri Kuznetsov
e0c74aa2ad fix docs 2024-02-10 11:37:41 +02:00
Yuri Kuznetsov
c083e1b97d clear attribute function 2024-02-10 09:43:36 +02:00
Yuri Kuznetsov
c4078ed8f1 fix doc 2024-02-10 09:10:59 +02:00
Yuri Kuznetsov
4001e40613 rename 2024-02-09 16:03:09 +02:00
Yuri Kuznetsov
a19deac279 error msg 2024-02-09 14:30:54 +02:00
Yuri Kuznetsov
f655e543b1 websocket ping 2024-02-09 14:15:20 +02:00
Yuri Kuznetsov
5031e7f430 fix 2024-02-09 13:28:16 +02:00
Yuri Kuznetsov
7f75ee6ed8 websocket re-subscribe on connection restore 2024-02-09 12:33:54 +02:00
Yuri Kuznetsov
bde2e0284a ws keep alive 2024-02-09 10:24:09 +02:00
Yuri Kuznetsov
026826fc84 preferences tab fields translations 2024-02-08 17:40:23 +02:00
Yuri Kuznetsov
c5f5d88f75 style enum color 2024-02-08 17:15:08 +02:00
Yuri Kuznetsov
3ae4478a70 schema fix 2024-02-08 16:01:55 +02:00
Yuri Kuznetsov
246ece8e3d audit log 2024-02-08 15:53:01 +02:00
Yuri Kuznetsov
2681acebc6 fix schema 2024-02-08 15:50:27 +02:00
Yuri Kuznetsov
a611301c5a css fix 2024-02-08 13:29:22 +02:00
Yuri Kuznetsov
3f2ffb851f ref 2024-02-08 10:24:08 +02:00
Yuri Kuznetsov
daa37961e4 tryGetForeignEntityType 2024-02-08 09:59:12 +02:00
Yuri Kuznetsov
66b336279a layout css change 2024-02-07 16:47:32 +02:00
Yuri Kuznetsov
c99804621d remove labels from tempalte detail layouts 2024-02-07 16:44:46 +02:00
Yuri Kuznetsov
2ebbc942d3 RDBRelation generic 2024-02-07 15:56:56 +02:00
Yuri Kuznetsov
b81d6962ae cs 2024-02-07 15:43:22 +02:00
Yuri Kuznetsov
dc89f75678 translatable panel note 2024-02-07 14:12:46 +02:00
Yuri Kuznetsov
1ccd70b3fc panel notes 2024-02-07 13:28:20 +02:00
Yuri Kuznetsov
0b3002979e alert content style 2024-02-07 13:26:01 +02:00
Yuri Kuznetsov
25dfa76807 merge 2024-02-07 11:58:36 +02:00
Yuri Kuznetsov
db26c579b0 8.1.4 2024-02-07 11:35:44 +02:00
Yuri Kuznetsov
623b26f60f email phone fields save fix 2024-02-07 09:42:59 +02:00
Yuri Kuznetsov
fec6bf8ee0 mass email link checker 2024-02-07 09:01:56 +02:00
Yuri Kuznetsov
46760ccfba calendar suppress loading alert 2024-02-06 15:44:57 +02:00
Yuri Kuznetsov
214a32c472 preferences: hide panel 2024-02-06 13:34:52 +02:00
Yuri Kuznetsov
ee6a4607d8 fix 2024-02-06 13:29:23 +02:00
Yuri Kuznetsov
5a3b3ab2e8 url tab 2024-02-06 13:20:50 +02:00
Yuri Kuznetsov
5d5000fbbd url not optional protocol 2024-02-06 13:18:43 +02:00
Yuri Kuznetsov
554668f1bd url reg exp 2024-02-06 13:18:24 +02:00
Yuri Kuznetsov
7ff8b1ecee fix validation msg 2024-02-06 10:41:40 +02:00
Yuri Kuznetsov
0858b845fb ref 2024-02-06 10:33:56 +02:00
Yuri Kuznetsov
d480113b90 cs 2024-02-06 10:24:16 +02:00
Yuri Kuznetsov
8f8370b5bc jsdoc fix 2024-02-06 10:24:11 +02:00
Yuri Kuznetsov
cfcc1b06f9 calendar scroll hour 2024-02-06 09:57:03 +02:00
Yuri Kuznetsov
7dbb842085 field generics 2024-02-06 09:36:55 +02:00
Yuri Kuznetsov
76bb7d3e49 cs 2024-02-06 09:15:47 +02:00
Yuri Kuznetsov
3d79861ffb options 0 fix 2024-02-06 09:11:43 +02:00
Yuri Kuznetsov
236942c902 preferences layout 2024-02-06 09:00:48 +02:00
Yuri Kuznetsov
3efe0a0fe0 mailto: cut body length 2024-02-06 08:30:21 +02:00
Yuri Kuznetsov
9d933a5d95 mailto error fix 2024-02-06 08:22:42 +02:00
Yuri Kuznetsov
24eb879352 ref mailto 2024-02-05 21:58:56 +02:00
Yuri Kuznetsov
f0141cd725 remove phpstan ignore 2024-02-05 19:41:11 +02:00
Yuri Kuznetsov
9a82bc7c5a cs 2024-02-05 19:38:05 +02:00
Yuri Kuznetsov
b42bfefef9 signature codeview 2024-02-05 18:20:51 +02:00
Yuri Kuznetsov
47e881af60 ref 2024-02-05 17:44:42 +02:00
Yuri Kuznetsov
442284fee2 enum label in link mode 2024-02-05 17:28:18 +02:00
Yuri Kuznetsov
49a6454999 middle dot usage 2024-02-05 17:05:47 +02:00
Yuri Kuznetsov
a95e52a10c checkFilePermissions command 2024-02-05 16:20:09 +02:00
Yuri Kuznetsov
b2f1f00875 ref 2024-02-05 16:19:07 +02:00
Yuri Kuznetsov
91b50cdcc4 typo 2024-02-05 16:07:51 +02:00
Yuri Kuznetsov
078bd7c80e ref 2024-02-05 15:58:48 +02:00
Yuri Kuznetsov
7641918224 image entryPoint ref 2024-02-05 15:24:41 +02:00
Yuri Kuznetsov
a90198d50e composer email pass accountId 2024-02-05 14:53:54 +02:00
Yuri Kuznetsov
dcff1748b7 email full form fix dialog issue 2024-02-05 14:13:23 +02:00
Yuri Kuznetsov
5f903d8ce2 email/phone not null performance 2024-02-05 14:10:49 +02:00
Yuri Kuznetsov
92fdea37d1 fix 2024-02-05 13:40:36 +02:00
Yuri Kuznetsov
7e59fafb3f cs ref 2024-02-05 13:17:52 +02:00
Yuri Kuznetsov
ae58224f95 email search null 2024-02-05 13:14:15 +02:00
Yuri Kuznetsov
857c5eee6f ref 2024-02-05 13:14:07 +02:00
Yuri Kuznetsov
adb7f876aa email address select 2024-02-05 12:41:24 +02:00
Yuri Kuznetsov
6b282c378a jsdoc fix 2024-02-05 09:51:22 +02:00
Yuri Kuznetsov
aaca0fc47b add title 2024-02-05 09:38:48 +02:00
Yuri Kuznetsov
4681493b58 suppress inspection 2024-02-05 09:36:03 +02:00
Yuri Kuznetsov
37b0c15c1a ref 2024-02-04 14:57:28 +02:00
Yuri Kuznetsov
f7c29ef4e6 wysiwyg disable dnd 2024-02-03 18:11:39 +02:00
Yuri Kuznetsov
15c08c347d renaming 2024-02-03 16:48:20 +02:00
Yuri Kuznetsov
4bf5f85644 email address do not search in portal users 2024-02-03 16:47:20 +02:00
Yuri Kuznetsov
dfe09dac0e ref 2024-02-03 16:44:38 +02:00
Yuri Kuznetsov
ce26ecc8c1 calendar: fix loading notify 2024-02-03 15:07:23 +02:00
Yuri Kuznetsov
356971cc66 calendar scroll hour 8 if duration is 15 2024-02-03 15:03:13 +02:00
Yuri Kuznetsov
82413cd3fd calendar slot duration 1h 2024-02-03 15:00:22 +02:00
Yuri Kuznetsov
f07f3de1bd settings layout 2024-02-03 14:47:07 +02:00
Yuri Kuznetsov
33072072c4 ref cs 2024-02-03 13:52:37 +02:00
Yuri Kuznetsov
94351646b1 add ext-ctype 2024-02-03 13:42:30 +02:00
Yuri Kuznetsov
c766465527 dashlet chart no overflow hidden 2024-02-03 12:40:35 +02:00
Yuri Kuznetsov
b982ab9daf ref 2024-02-03 10:26:48 +02:00
Yuri Kuznetsov
114682b49f cs 2024-02-03 09:25:24 +02:00
Yuri Kuznetsov
0e5dcb0d40 email queue item fixes 2024-02-02 18:21:12 +02:00
Yuri Kuznetsov
3f491f1a9a Merge branch 'fix' 2024-02-02 16:37:51 +02:00
Yuri Kuznetsov
f5a655b9fc markdlow blockquote fix 2024-02-02 16:30:08 +02:00
Yuri Kuznetsov
62494e9c12 ref 2024-02-02 16:19:15 +02:00
Yuri Kuznetsov
c88e34fe8f Merge branch 'fix' 2024-02-02 16:09:58 +02:00
Yuri Kuznetsov
1a5abe6363 calendar fix is today 2024-02-02 16:09:34 +02:00
Yuri Kuznetsov
2f3c775d4f calendar: scroll to now 2024-02-02 16:08:01 +02:00
Yuri Kuznetsov
7078efcc20 calendar: do not add 30 mins 2024-02-02 14:54:40 +02:00
Yuri Kuznetsov
e73eb87374 preferences ctrl+s 2024-02-02 14:49:34 +02:00
Yuri Kuznetsov
471a209d86 ref 2024-02-02 14:47:44 +02:00
Yuri Kuznetsov
fabb88d611 prefernces: calendar slot duration 2024-02-02 14:40:17 +02:00
Yuri Kuznetsov
d7d7752868 enum-int/float support null 2024-02-02 14:03:21 +02:00
Yuri Kuznetsov
0fe9041272 preferences layout change 2024-02-02 13:47:24 +02:00
Yuri Kuznetsov
860680aaa1 fix formula function return type 2024-02-01 18:10:24 +02:00
Yuri Kuznetsov
1640bdf172 Merge branch 'fix' 2024-02-01 16:22:12 +02:00
Yuri Kuznetsov
aced5fcab9 8.1.3 2024-02-01 16:14:48 +02:00
Yuri Kuznetsov
f786690f1e markdown fix 2024-02-01 15:58:10 +02:00
Yuri Kuznetsov
9a1495199b Merge branch 'fix' 2024-02-01 11:52:00 +02:00
Yuri Kuznetsov
19d227e81d 8.1.2 2024-02-01 11:42:39 +02:00
Yuri Kuznetsov
00504630c6 fix sender property not set 2024-02-01 11:30:24 +02:00
Yuri Kuznetsov
15d264acce merge 2024-02-01 11:01:13 +02:00
Yuri Kuznetsov
4f6e1ed1ec fix scrollbar for chrome 121 2024-02-01 10:59:38 +02:00
Yuri Kuznetsov
959e8d3acc Merge branch 'fix' 2024-01-31 15:24:26 +02:00
Yuri Kuznetsov
e6d1048ebd fix markdown 2024-01-31 15:18:42 +02:00
Yuri Kuznetsov
b2edf702ce role: store in memory 2024-01-31 12:58:46 +02:00
Yuri Kuznetsov
4837474bb0 role table dropdown hiding fix 2024-01-31 12:30:22 +02:00
Yuri Kuznetsov
b052eacba7 role table do not show not-set as no 2024-01-31 12:27:59 +02:00
Yuri Kuznetsov
0129305c5f portal role table fix 2024-01-31 12:17:15 +02:00
Yuri Kuznetsov
5a725b79c9 entity manager list module 2024-01-31 12:10:06 +02:00
Yuri Kuznetsov
c4f706e918 role table: group by module 2024-01-31 11:58:22 +02:00
Yuri Kuznetsov
9673f09c9f role table style fix 2024-01-31 11:04:40 +02:00
Yuri Kuznetsov
6a84ccbd4e Merge branch 'fix' 2024-01-30 18:11:32 +02:00
Yuri Kuznetsov
3babdfa339 validate url 2024-01-30 17:40:38 +02:00
Yuri Kuznetsov
14587ee65c wysiwyg: hide attach button in inlide edit 2024-01-30 16:39:12 +02:00
Yuri Kuznetsov
ef2d129699 ref 2024-01-30 16:34:35 +02:00
Yuri Kuznetsov
580c0bef0a ref 2024-01-30 14:29:43 +02:00
Yuri Kuznetsov
eef7fef69b cs 2024-01-30 14:16:52 +02:00
Yuri Kuznetsov
4d1776f9ff date filter between range 2024-01-30 13:20:27 +02:00
Yuri Kuznetsov
f92c21c9c0 ref 2024-01-30 12:40:10 +02:00
Yuri Kuznetsov
fac8730ddd cs 2024-01-30 12:36:25 +02:00
Yuri Kuznetsov
a3fe58f61b update phpstan 2024-01-30 11:40:31 +02:00
Yuri Kuznetsov
696a25fe82 update symfony libs 2024-01-30 11:01:05 +02:00
Yuri Kuznetsov
04b28dc88f pass date: true 2024-01-29 18:15:27 +02:00
Yuri Kuznetsov
abbffb9b15 date filters time zone 2024-01-29 16:45:15 +02:00
Yuri Kuznetsov
1cd914e5a7 ref 2024-01-29 10:59:52 +02:00
Yuri Kuznetsov
6b7bf55acb cs 2024-01-29 10:56:59 +02:00
Yuri Kuznetsov
eddcb797e4 catching exception 2024-01-29 10:42:04 +02:00
Yuri Kuznetsov
3014e9253b phpdocs, cs 2024-01-29 10:19:20 +02:00
Yuri Kuznetsov
016489ffba ref, cs 2024-01-29 10:16:25 +02:00
Yuri Kuznetsov
96ea9e225c date-time transformer default time zone 2024-01-29 10:12:14 +02:00
Yuri Kuznetsov
c4cfc204e7 date time transformer interface 2024-01-28 17:08:48 +02:00
Yuri Kuznetsov
00f5433518 fix role validation 2024-01-28 12:45:22 +02:00
Yuri Kuznetsov
3077589cff todo 2024-01-27 19:58:15 +02:00
Yuri Kuznetsov
3e3258a4b7 cs ref 2024-01-27 19:55:43 +02:00
Yuri Kuznetsov
dee0f9937e role create update test 2024-01-27 19:53:23 +02:00
Yuri Kuznetsov
1138a4deb1 role, validate field exists 2024-01-27 19:53:14 +02:00
Yuri Kuznetsov
720b14b804 roles ui ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov
196f328312 role not modified fix 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov
1eb7215162 ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov
52762cc738 roles validation 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov
c3c38e3510 Update README.md 2024-01-27 14:12:09 +02:00
Yuri Kuznetsov
5dcb112621 Update CONTRIBUTING.md 2024-01-27 14:09:38 +02:00
Yuri Kuznetsov
3a9e5fc0cd Update README.md 2024-01-27 14:08:06 +02:00
Yuri Kuznetsov
a789fabe2e Update CONTRIBUTING.md 2024-01-27 14:06:53 +02:00
Yuri Kuznetsov
6c8f5e8a16 Update README.md 2024-01-27 13:54:54 +02:00
Yuri Kuznetsov
cf08bbdd00 disalbe field level for template 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
80a7765fdd role permissions style 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
119948938e fix role add field 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
b9563cfdc0 acl field level disabled param 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
97e9786fa6 translation 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
60a4541e24 role ui impr 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
52ae19b896 style fix 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov
8973e976ca Update CONTRIBUTING.md 2024-01-26 22:58:50 +02:00
Yuri Kuznetsov
5ebee4bec7 roles quick search 2024-01-26 15:23:32 +02:00
Yuri Kuznetsov
c34b2acf9b cs 2024-01-26 15:07:37 +02:00
Yuri Kuznetsov
cd400e5090 ref 2024-01-26 14:44:14 +02:00
Yuri Kuznetsov
b433538ab2 link-parent: autocomplete on empty input 2024-01-26 14:20:26 +02:00
Yuri Kuznetsov
0a8cc398fe ref cs 2024-01-26 13:42:25 +02:00
Yuri Kuznetsov
a8e37d9486 oidc: nonce and state longer 2024-01-26 13:36:56 +02:00
Yuri Kuznetsov
288b017355 sanitizers 2024-01-26 13:02:49 +02:00
Yuri Kuznetsov
91745580d8 module route order 2024-01-26 11:34:33 +02:00
Yuri Kuznetsov
d0d652dba9 route overriding 2024-01-26 11:12:17 +02:00
Yuri Kuznetsov
96f9f89b7b cs 2024-01-26 11:11:52 +02:00
Yuri Kuznetsov
2f093011a2 ref and cleanup 2024-01-26 11:06:52 +02:00
Yuri Kuznetsov
cfe55c1975 task list view layout change 2024-01-26 10:34:50 +02:00
Yuri Kuznetsov
42dc0d754f schema 2024-01-25 17:28:11 +02:00
Yuri Kuznetsov
1623257b17 auth log method full list 2024-01-25 16:28:02 +02:00
Yuri Kuznetsov
3f27256589 auth log more fields 2024-01-25 16:21:39 +02:00
Yuri Kuznetsov
52c34b6d35 Merge branch 'fix' 2024-01-25 16:13:11 +02:00
Yuri Kuznetsov
e95fcc6532 oidc popup login fix 2024-01-25 15:43:10 +02:00
Yuri Kuznetsov
d5b6c0aec1 fix layout 2024-01-25 15:37:05 +02:00
Yuri Kuznetsov
485bcfc039 alert style 2024-01-25 11:48:53 +02:00
Yuri Kuznetsov
1cbcf7048c color fix 2024-01-25 11:41:08 +02:00
Yuri Kuznetsov
4d90aec5a6 orm: clear query composer seed cache on metadata update 2024-01-25 11:28:33 +02:00
Yuri Kuznetsov
85b2a72624 msg change 2024-01-24 16:36:28 +02:00
Yuri Kuznetsov
acd5d78d30 import: relate by foreign field 2024-01-24 16:23:57 +02:00
Yuri Kuznetsov
c81e4a8194 currency not modified fix 2024-01-24 15:23:06 +02:00
Yuri Kuznetsov
81fcd57e3a ref 2024-01-24 14:38:06 +02:00
Yuri Kuznetsov
6dd940cfab import ref 2024-01-24 14:26:15 +02:00
Yuri Kuznetsov
a1bdb6c308 send test email error message translation 2024-01-24 12:19:21 +02:00
Yuri Kuznetsov
525397e64d config override 2024-01-24 11:36:32 +02:00
Yuri Kuznetsov
e4af67aa68 ref 2024-01-24 10:44:24 +02:00
Yuri Kuznetsov
2d7d8812fd Merge branch 'fix' 2024-01-23 19:59:37 +02:00
Yuri Kuznetsov
069d70176a fix log 2024-01-23 19:41:44 +02:00
Yuri Kuznetsov
726ecefd55 array focus on main element 2024-01-23 14:10:47 +02:00
Yuri Kuznetsov
69fbf9d1ad not read emails bolder font 2024-01-23 13:43:32 +02:00
Yuri Kuznetsov
38e89f4e4d table border changes wysiwyg 2024-01-23 13:20:23 +02:00
Yuri Kuznetsov
b3ff273b7c ref 2024-01-23 11:29:49 +02:00
Yuri Kuznetsov
fb0be72b56 clearnup 2024-01-23 11:20:02 +02:00
Yuri Kuznetsov
339fbffbb7 wysiwyg param to disable code editor 2024-01-23 11:11:06 +02:00
Yuri Kuznetsov
5c308bb60c wysiwyg: remove beautifier 2024-01-23 11:02:50 +02:00
Yuri Kuznetsov
514fe6e98d wysiwyg: disable prettifyHtml 2024-01-23 10:53:02 +02:00
Yuri Kuznetsov
a80d7fddba try catch gotoline 2024-01-23 10:38:07 +02:00
Yuri Kuznetsov
ec11a89496 pdf template: add created at filter 2024-01-23 10:23:47 +02:00
Yuri Kuznetsov
61aa5f907d fix 2024-01-22 21:21:40 +02:00
Yuri Kuznetsov
ac7ba173cd htmlizer fix iterate and test 2024-01-22 20:12:29 +02:00
Yuri Kuznetsov
fe7a764935 ref 2024-01-22 19:51:00 +02:00
Yuri Kuznetsov
c1190d348b Merge branch 'master' into f/iterate 2024-01-22 16:40:47 +02:00
Yuri Kuznetsov
a81c8518b8 wysiwyg code view improvements 2024-01-22 15:56:26 +02:00
Yuri Kuznetsov
d7f533118a naming 2024-01-22 11:18:10 +02:00
Yuri Kuznetsov
252fdc4208 cs 2024-01-22 09:22:40 +02:00
Yuri Kuznetsov
c1d28655da template iterate 2024-01-21 18:26:39 +02:00
Yuri Kuznetsov
77c2e8abc4 Merge branch 'fix' 2024-01-20 21:37:25 +02:00
Yuri Kuznetsov
0a4dba4343 markdown backtick fix 2024-01-20 21:37:10 +02:00
Yuri Kuznetsov
b6179463b1 style completion 2024-01-20 20:11:05 +02:00
Yuri Kuznetsov
99bd7ae437 pdf template style 2024-01-20 19:37:15 +02:00
Yuri Kuznetsov
e968388ba7 wysiwyg codeview min height 2024-01-20 18:56:59 +02:00
Yuri Kuznetsov
60be576f9d Merge branch 'fix' 2024-01-18 15:07:38 +02:00
Yuri Kuznetsov
4c4c6d2402 use markdown extra in helper 2024-01-18 15:05:24 +02:00
Yuri Kuznetsov
47249776a0 ref 2024-01-17 13:05:00 +02:00
Yuri Kuznetsov
c8f4fa437d ref 2024-01-17 12:41:55 +02:00
Yuri Kuznetsov
09c1b575a7 ref 2024-01-17 12:32:17 +02:00
Yuri Kuznetsov
2437b0d901 Merge branch 'fix' 2024-01-17 10:28:38 +02:00
Yuri Kuznetsov
0a33ad6542 remove CURLOPT_BINARYTRANSFER usage 2024-01-16 17:57:55 +02:00
Yuri Kuznetsov
7ee626edf8 select field handler pass model 2024-01-16 17:29:29 +02:00
Yuri Kuznetsov
600b58be75 select handler order 2024-01-16 17:27:43 +02:00
Yuri Kuznetsov
5601704ac1 Merge branch 'fix' 2024-01-16 17:01:18 +02:00
Yuri Kuznetsov
4eb6386b6e stream super parent performance impr 2024-01-16 10:12:33 +02:00
Yuri Kuznetsov
9c78970712 layoutIgnoreList 2024-01-16 09:50:05 +02:00
Yuri Kuznetsov
e465e25adb syle fix 2024-01-15 17:04:02 +02:00
Yuri Kuznetsov
4d735e9e26 user stream activity 2024-01-15 16:19:53 +02:00
Yuri Kuznetsov
28bc720bbc rename 2024-01-15 16:19:21 +02:00
Yuri Kuznetsov
0fc170e1c3 ref 2024-01-15 15:42:47 +02:00
Yuri Kuznetsov
012d98d303 ref 2024-01-15 15:39:39 +02:00
Yuri Kuznetsov
180bc99726 Merge branch 'fix' 2024-01-15 13:29:24 +02:00
Yuri Kuznetsov
e537d64c5b user bottom panels layout 2024-01-15 13:09:28 +02:00
Yuri Kuznetsov
03de09c836 user stream panel in layout manager 2024-01-15 12:03:15 +02:00
Yuri Kuznetsov
9dc309390a cs 2024-01-15 12:02:32 +02:00
Yuri Kuznetsov
8280f31180 global stream optimization 2024-01-15 11:44:37 +02:00
Yuri Kuznetsov
61a1227f87 user stream ref, add index 2024-01-15 11:18:06 +02:00
Yuri Kuznetsov
02c37924aa created complex impr 2024-01-15 10:09:25 +02:00
Yuri Kuznetsov
ddc4baf5e2 Merge branch 'fix' 2024-01-15 09:58:34 +02:00
Yuri Kuznetsov
63f975516a note fix 2024-01-14 18:53:27 +02:00
Yuri Kuznetsov
9160c8319d global stream optimization 2024-01-14 18:47:37 +02:00
Yuri Kuznetsov
d268b0335e global stream 2024-01-14 14:08:43 +02:00
Yuri Kuznetsov
6b355c645c Merge branch 'fix' 2024-01-14 11:14:50 +02:00
Yuri Kuznetsov
951e981d8e stream posts optimization 2024-01-13 15:35:26 +02:00
Yuri Kuznetsov
c4c301d363 Merge branch 'fix' 2024-01-13 12:35:56 +02:00
Yuri Kuznetsov
50821924f2 field validation popover fix 2024-01-13 12:29:20 +02:00
Yuri Kuznetsov
3c01011c28 cs 2024-01-13 12:00:53 +02:00
Yuri Kuznetsov
d674176356 stream refresh btn impr 2024-01-13 11:33:01 +02:00
Yuri Kuznetsov
8c60396197 spin animation 2024-01-13 11:32:23 +02:00
Yuri Kuznetsov
4a5b442f35 stream ui changes 2024-01-13 11:12:35 +02:00
Yuri Kuznetsov
80ea398660 add note index type 2024-01-13 11:00:06 +02:00
Yuri Kuznetsov
69aae1abfa comment 2024-01-12 18:03:50 +02:00
Yuri Kuznetsov
c528a98820 stream comment and ref 2024-01-12 17:39:48 +02:00
Yuri Kuznetsov
89fa12c6db ref 2024-01-12 17:25:56 +02:00
Yuri Kuznetsov
34598d73a3 ref 2024-01-12 16:55:52 +02:00
Yuri Kuznetsov
c507aeae4a ref 2024-01-12 16:35:38 +02:00
Yuri Kuznetsov
356ce3cc42 stream user service ref 2024-01-12 16:02:11 +02:00
Yuri Kuznetsov
560f145324 add indexes 2024-01-12 15:29:31 +02:00
Yuri Kuznetsov
4308fb3f9b ref stream user record service 2024-01-12 15:29:22 +02:00
Yuri Kuznetsov
a17b66c6dc revert regexp fix 2024-01-12 14:38:31 +02:00
Yuri Kuznetsov
f52a3ba773 ref cs 2024-01-12 13:53:54 +02:00
Yuri Kuznetsov
f865338ad0 comment 2024-01-12 13:36:36 +02:00
Yuri Kuznetsov
7221207fe5 user stream query change 2024-01-12 13:16:47 +02:00
Yuri Kuznetsov
cbc61b533f ref 2024-01-12 13:11:17 +02:00
Yuri Kuznetsov
bdff8767f7 stream user query impr 2024-01-12 13:10:09 +02:00
Yuri Kuznetsov
26f3a9215d user stream service ref 2024-01-12 11:39:52 +02:00
Yuri Kuznetsov
15e34647fb ref stream service 2024-01-12 11:19:46 +02:00
Yuri Kuznetsov
d121aa5a9f ref 2024-01-12 10:51:07 +02:00
Yuri Kuznetsov
7d77f754c5 ref 2024-01-12 10:13:45 +02:00
Yuri Kuznetsov
2012c4d161 select ref 2024-01-12 10:05:44 +02:00
Yuri Kuznetsov
fed9ede878 Merge branch 'fix' 2024-01-11 19:26:38 +02:00
Yuri Kuznetsov
4b12716961 calendar loading 2024-01-11 17:06:28 +02:00
Yuri Kuznetsov
db2f387a77 cs 2024-01-11 17:03:27 +02:00
Yuri Kuznetsov
cb972fdf17 entity: assoc array to stdClass 2024-01-11 16:47:37 +02:00
Yuri Kuznetsov
5c34d57012 ref 2024-01-11 16:38:17 +02:00
Yuri Kuznetsov
3906aa245c ref 2024-01-11 16:36:37 +02:00
Yuri Kuznetsov
c86daf3a68 cs 2024-01-11 16:23:47 +02:00
Yuri Kuznetsov
9bafd81093 phone/email set data make first primary 2024-01-11 16:11:14 +02:00
Yuri Kuznetsov
5305a27c60 ref 2024-01-11 15:19:41 +02:00
Yuri Kuznetsov
6b30ca05db compose email address for base plus 2024-01-11 13:39:19 +02:00
Yuri Kuznetsov
b99c17c7cd cs 2024-01-11 12:35:50 +02:00
Yuri Kuznetsov
fabaccd3da case compose email support person 2024-01-11 12:14:28 +02:00
Yuri Kuznetsov
48c0ae93f4 cs 2024-01-11 12:11:19 +02:00
Yuri Kuznetsov
30768071bf cs 2024-01-11 11:50:34 +02:00
Yuri Kuznetsov
68b619e276 ui impr 2024-01-11 11:15:06 +02:00
Yuri Kuznetsov
d5a441b0e8 confirm messages 2024-01-11 10:54:55 +02:00
Yuri Kuznetsov
a5ed0864be ref 2024-01-11 10:40:56 +02:00
Yuri Kuznetsov
7db9fe46ff confirm msg 2024-01-11 10:24:42 +02:00
Yuri Kuznetsov
99df1bfbaa cs 2024-01-11 10:16:29 +02:00
Yuri Kuznetsov
067a4a95e0 ref 2024-01-11 10:11:08 +02:00
Yuri Kuznetsov
2154a51831 link manager: delete labels 2024-01-11 09:58:42 +02:00
Yuri Kuznetsov
f0bc58e289 fix schema 2024-01-10 15:39:53 +02:00
Yuri Kuznetsov
5fd2f15a5d selectOrderBy 2024-01-10 15:33:36 +02:00
Yuri Kuznetsov
baeef22f4c Merge branch 'fix' 2024-01-10 15:27:37 +02:00
Yuri Kuznetsov
2f6fef0817 Merge branch 'fix' 2024-01-10 14:20:43 +02:00
Yuri Kuznetsov
9cc97c44d5 fix schema doc 2024-01-08 16:31:22 +02:00
Yuri Kuznetsov
6350e881da cs 2024-01-08 14:14:29 +02:00
Yuri Kuznetsov
ec5a799b31 cs 2024-01-08 13:24:07 +02:00
Yuri Kuznetsov
026238b125 reset order on field deletion 2024-01-07 19:42:45 +02:00
Yuri Kuznetsov
46712cd967 ref 2024-01-07 19:36:15 +02:00
Yuri Kuznetsov
273ca15c17 ref 2024-01-07 18:27:37 +02:00
Yuri Kuznetsov
94d8a6039e cs 2024-01-07 18:23:33 +02:00
Yuri Kuznetsov
61fde5ed42 scheduled jobs timezone 2024-01-07 16:19:29 +02:00
Yuri Kuznetsov
27a0127556 cs 2024-01-07 15:41:20 +02:00
Yuri Kuznetsov
585fedd824 extension upload size warning 2024-01-07 12:17:39 +02:00
Yuri Kuznetsov
49ea990519 dialog-confirm class by default 2024-01-07 12:16:46 +02:00
Yuri Kuznetsov
31e06538a2 jsdoc fix 2024-01-07 12:11:04 +02:00
Yuri Kuznetsov
22657f030c ref 2024-01-07 11:52:03 +02:00
Yuri Kuznetsov
3805ecca02 cs 2024-01-07 11:13:54 +02:00
Yuri Kuznetsov
31ddef5ddb cs 2024-01-07 11:10:37 +02:00
Yuri Kuznetsov
6b4d3e5bbd cs 2024-01-06 19:41:04 +02:00
Yuri Kuznetsov
acaeb46d5f cs, ref 2024-01-06 13:41:11 +02:00
Yuri Kuznetsov
ce70c3b62a fix 2024-01-06 13:40:48 +02:00
Yuri Kuznetsov
55ff63ffeb ref 2024-01-06 13:22:05 +02:00
4993 changed files with 132041 additions and 82025 deletions

View File

@@ -1,25 +1,40 @@
## Issues
#### Guidelines
When reporting a possible bug, provide detail steps so that we will be able
to reproduce the issue. Steps to reproduce should be clear and unambiguous. Try not to use phrases like "very big bug",
"huge issue", "useless feature", etc. No need to use exclamation marks as well.
#### No support
Note that we don't provide developer help or any kind of support on GitHub.
For this, please use our [forum](https://forum.espocrm.com).
#### Forum
If you are very new to EspoCRM, it's probable that an issue you ran into is not a bug.
Consider creating a topic on our [forum](https://forum.espocrm.com/forum/general) instead.
#### Project's best interest
The issue tracker is for the benefit of the EspoCRM project. The project maintainers are going to handle issues in the project's best interest.
The maintainers have right to close issues without explanation.
#### Off-topic
As we reference GitHub issues in release notes, we strive to keep them free of off-topic comments.
## 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).
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla).
It's desirable that one PR solves one specific problem. Do not include code style changes to PRs
(unless the main purpose of the PR is a code style fix).
If you would like to contribute something that is not a small fix, it's reasonable to create an issue first
(a bug report or feature request).
Branches:
* *master* the develop branch; new features should be pushed to here;
* *fix* the upcoming maintenance release; small fixes should be pushed to here.
## Issues
We'd appreciate if you prefer posting issues on weekdays rather than weekends.
When reporting a possible bug, please provide detail steps so that we will be able
to reproduce the issue. Please try not to use phrases like "very big bug",
"huge issue", etc. No need to use exclamation marks as well.
Note that we don't provide developer help or any kind of support on GitHub.
For this, please use our [forum](https://forum.espocrm.com).

View File

@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an idea for EspoCRM. For high-level features, consider creating feature requests on the forum. For low-level (framework) here on GitHub.
about: For high-level features, create feature requests on our forum. For low-level (framework) here on GitHub.
title: ''
labels: ''
assignees: ''

View File

@@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.2', '8.4']
branches: ['master']
steps:

View File

@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
php-versions: ['8.2', '8.3', '8.4']
steps:
- uses: actions/checkout@v2

2
.gitignore vendored
View File

@@ -5,6 +5,8 @@
/data/.backup/*
/data/config.php
/data/config-internal.php
/data/config-override.php
/data/config-internal-override.php
/data/tmp/*
/build
/node_modules

View File

@@ -17,8 +17,6 @@
<codeStyleSettings language="PHP">
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />

View File

@@ -3,6 +3,7 @@
<option name="myName" value="Project Default" />
<inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ConvertLetToConst" enabled="true" level="WEAK WARNING" enabled_by_default="true" editorAttributes="INFO_ATTRIBUTES" />
<inspection_tool class="HtmlUnknownAnchorTarget" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSIgnoredPromiseFromCall" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocMissingThrowsInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocSignatureIsNotCompleteInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />

57
.idea/jsonSchemas.xml generated
View File

@@ -341,6 +341,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientRecord">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/clientRecord" />
<option name="relativePathToSchema" value="schema/metadata/app/clientRecord.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/clientRecord.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/clientRoutes">
<value>
<SchemaInfo>
@@ -1006,6 +1025,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/reactions">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/reactions" />
<option name="relativePathToSchema" value="schema/metadata/app/reactions.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/reactions.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/rebuild">
<value>
<SchemaInfo>
@@ -1025,6 +1063,25 @@
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/record">
<value>
<SchemaInfo>
<option name="generatedName" value="New Schema" />
<option name="name" value="metadata/app/record" />
<option name="relativePathToSchema" value="schema/metadata/app/record.json" />
<option name="schemaVersion" value="JSON Schema version 7" />
<option name="patterns">
<list>
<Item>
<option name="pattern" value="true" />
<option name="path" value="*/Resources/metadata/app/record.json" />
<option name="mappingKind" value="Pattern" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
<entry key="metadata/app/recordId">
<value>
<SchemaInfo>

1
.idea/misc.xml generated
View File

@@ -3,5 +3,6 @@
<component name="PhpEntryPointsManager">
<pattern value="\Espo\Controllers\*" member="*Action*" />
<pattern value="\Espo\Modules\*\Controllers\*" member="*Action*" />
<suppressed_annotations>@implements</suppressed_annotations>
</component>
</project>

26
.vscode/settings.json vendored
View File

@@ -16,7 +16,7 @@
"fileMatch": [
"*/Resources/module.json"
],
"url": "./schema/routes.json"
"url": "./schema/module.json"
},
{
"fileMatch": [
@@ -58,12 +58,6 @@
],
"url": "./schema/metadata/dashlets.json"
},
{
"fileMatch": [
"*/metadata//*.json"
],
"url": "./schema/metadata/.json"
},
{
"fileMatch": [
"*/metadata/entityAcl/*.json"
@@ -190,6 +184,12 @@
],
"url": "./schema/metadata/app/client.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRecord.json"
],
"url": "./schema/metadata/app/clientRecord.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRoutes.json"
@@ -400,12 +400,24 @@
],
"url": "./schema/metadata/app/portalContainerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/reactions.json"
],
"url": "./schema/metadata/app/reactions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/rebuild.json"
],
"url": "./schema/metadata/app/rebuild.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/record.json"
],
"url": "./schema/metadata/app/record.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/recordId.json"

View File

@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -107,6 +107,38 @@ module.exports = grunt => {
};
});
const cleanupBeforeFinal = [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'!build/tmp/custom/Espo/Modules',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Modules/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/client/custom/*',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
'build/tmp/client/modules/crm/src',
'build/tmp/client/lib/original/*',
'build/tmp/client/modules/crm/lib/original',
'!build/tmp/client/lib/original/espo.js',
'!build/tmp/client/lib/original/espo-*.js',
'!build/tmp/client/lib/original/espo-funnel-chart.js',
'build/tmp/client/lib/transpiled',
];
const cleanupBeforeFinalTest = cleanupBeforeFinal.filter(it => {
return ![
'!build/tmp/custom/Espo/Modules',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Modules/.htaccess',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
].includes(it)
})
grunt.initConfig({
pkg: pkg,
@@ -122,6 +154,9 @@ module.exports = grunt => {
},
clean: {
transpiled: [
'client/lib/transpiled/**',
],
start: [
'build/EspoCRM-*',
'client/lib/*',
@@ -130,23 +165,8 @@ module.exports = grunt => {
],
final: ['build/tmp'],
release: ['build/EspoCRM-' + pkg.version],
beforeFinal: {
src: [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/custom/Espo/Custom/*',
'build/tmp/client/custom/*',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
'build/tmp/client/lib/original/espo.js',
'build/tmp/client/lib/original/espo-*.js',
'!build/tmp/client/lib/original/espo-funnel-chart.js',
'build/tmp/client/lib/transpiled',
]
},
beforeFinal: {src: cleanupBeforeFinal},
beforeFinalTest: {src: cleanupBeforeFinalTest},
},
less: lessData,
@@ -186,7 +206,6 @@ module.exports = grunt => {
expand: true,
cwd: 'client',
src: [
'src/**',
'res/**',
'fonts/**',
'modules/**',
@@ -420,7 +439,7 @@ module.exports = grunt => {
});
cp.execSync(
`find bin -type f -exec chmod 754 {} +`,
`find bin -type f -exec chmod 755 {} +`,
{
cwd: dirPath,
}
@@ -500,6 +519,7 @@ module.exports = grunt => {
'less',
'cssmin',
'prepare-lib-original',
'clean:transpiled',
'transpile',
'bundle',
'bundle-templates',
@@ -509,7 +529,7 @@ module.exports = grunt => {
'uglify:lib',
]);
grunt.registerTask('offline', [
const offline = [
'clean:start',
'mkdir:tmp',
'internal',
@@ -521,7 +541,18 @@ module.exports = grunt => {
'chmod-folders',
'chmod-multiple',
'clean:final',
]);
];
const offlineTest = offline.map(it => {
if (it === 'clean:beforeFinal') {
return 'clean:beforeFinalTest'
}
return it;
})
grunt.registerTask('offline', offline);
grunt.registerTask('offline-test', offlineTest);
grunt.registerTask('build', [
'composer-install',
@@ -566,6 +597,6 @@ module.exports = grunt => {
grunt.registerTask('test', [
'composer-install-dev',
'npm-install',
'offline',
'offline-test',
]);
};

View File

@@ -2,37 +2,41 @@
[![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm)
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management)
software that allows you to see, enter and evaluate all your company relationships regardless
of the type. People, companies or opportunities all in an easy and intuitive interface.
It's a web application with a frontend designed as a single page application and a REST API
backend written in PHP.
[Download](https://www.espocrm.com/download/) the latest release from our website. Release notes
and release packages are available at [Releases](https://github.com/espocrm/espocrm/releases) on GitHub.
[EspoCRM](https://www.espocrm.com) is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships.
It provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns,
support cases, and more all business information in a simple and intuitive interface.
![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png)
### Architecture
EspoCRM is a web application with a frontend designed as a single-page application and a REST API
backend written in PHP.
### Demo
You can try the CRM on the online [demo](https://www.espocrm.com/demo/).
You can try the CRM on an online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 8.1 - 8.3;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later).
* PostgreSQL 15 (and later) (yet experimental, officially supported soon)
* PHP 8.2 - 8.4;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later);
* PostgreSQL 15 (and later).
For more information about server configuration see [this article](https://docs.espocrm.com/administration/server-configuration/).
For more information about server configuration, see [this article](https://docs.espocrm.com/administration/server-configuration/).
### Documentation
### Why EspoCRM?
See the [documentation](https://docs.espocrm.com) for administrators, users and developers.
* **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.
### Bug reporting
### Who is EspoCRM for?
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
* **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.
### Installing stable version
@@ -43,21 +47,29 @@ 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).
### Development
See the [developer documentation](https://docs.espocrm.com/development/).
We highly recommend using IDE for development. The backend codebase follows SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.
We highly recommend using an IDE for development. The backend codebase follows SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.
### Contributing
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
Branches:
* *fix* upcoming maintenance release; minor fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
Metadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation.
### Community & Support
@@ -65,7 +77,17 @@ If you have a question regarding some features, need help or customizations, wan
### License
EspoCRM is published under the GNU AGPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
EspoCRM is an open-source project licensed under [GNU AGPLv3](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
### Contributing
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). See the [contributing guidelines](https://github.com/espocrm/espocrm/blob/master/.github/CONTRIBUTING.md).
Branches:
* *fix* upcoming maintenance release; minor fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
### Language

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -63,11 +63,6 @@ class Binding implements BindingProcessor
'container'
);
$binder->bindService(
'Espo\\Core\\Container',
'container'
);
$binder->bindService(
'Psr\\Container\\ContainerInterface',
'container'
@@ -148,11 +143,6 @@ class Binding implements BindingProcessor
'recordServiceContainer'
);
$binder->bindService(
'Espo\\Core\\Record\\HookManager',
'recordHookManager'
);
$binder->bindService(
'Espo\\Core\\HookManager',
'hookManager'
@@ -232,6 +222,16 @@ class Binding implements BindingProcessor
'Espo\\Core\\ExternalAccount\\ClientManager',
'externalAccountClientManager'
);
$binder->bindService(
'Espo\\Core\\WebSocket\\Submission',
'webSocketSubmission'
);
$binder->bindService(
'Espo\\Tools\\Stream\\Service',
'streamService'
);
}
private function bindCore(Binder $binder): void

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\Attachment;
use Espo\Core\Name\Field;
use Espo\Entities\Attachment;
use Espo\Entities\Note;
use Espo\Entities\Settings;
@@ -58,25 +59,22 @@ class AccessChecker implements AccessEntityCREDChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var Attachment $entity */
if ($entity->get('parentType') === Settings::ENTITY_TYPE) {
if ($entity->getParentType() === Settings::ENTITY_TYPE) {
// Allow the logo.
return true;
}
$parent = null;
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
$parentType = $entity->getParentType();
$parentId = $entity->getParent()?->getId();
$relatedType = $entity->get('relatedType');
$relatedId = $entity->get('relatedId');
$relatedType = $entity->getRelatedType();
$relatedId = $entity->getRelated()?->getId();
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($relatedId && $relatedType) {
} else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
@@ -95,14 +93,10 @@ class AccessChecker implements AccessEntityCREDChecker
if ($result !== null) {
return $result;
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
} else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
in_array(
$entity->getTargetField(),
$this->aclManager->getScopeForbiddenFieldList($user, $parent->getEntityType())
)
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
@@ -121,8 +115,8 @@ class AccessChecker implements AccessEntityCREDChecker
{
if ($note->getTargetType() === Note::TARGET_TEAMS) {
$intersect = array_intersect(
$note->getLinkMultipleIdList('teams'),
$user->getLinkMultipleIdList('teams')
$note->getLinkMultipleIdList(Field::TEAMS),
$user->getLinkMultipleIdList(Field::TEAMS)
);
if (count($intersect)) {
@@ -153,7 +147,7 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
$parent = $this->entityManager->getEntity($note->getParentType(), $note->getParentId());
$parent = $this->entityManager->getEntityById($note->getParentType(), $note->getParentId());
if ($parent && $this->aclManager->checkEntity($user, $parent)) {
return true;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\Email;
use Espo\Core\Name\Field;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
@@ -100,12 +101,11 @@ class AccessChecker implements AccessEntityCREDSChecker
return true;
}
/** @var string[] $assignedUserIdList */
$assignedUserIdList = $entity->getLinkMultipleIdList('assignedUsers');
$assignedUserIdList = $entity->getLinkMultipleIdList(Field::ASSIGNED_USERS);
if (
count($assignedUserIdList) === 1 &&
$entity->hasLinkMultipleId('assignedUsers', $user->getId())
$entity->hasLinkMultipleId(Field::ASSIGNED_USERS, $user->getId())
) {
return true;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,19 +29,30 @@
namespace Espo\Classes\Acl\Email;
use Espo\Core\Acl\AssignmentChecker as AssignmentCheckerInterface;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\DefaultAssignmentChecker;
class AssignmentChecker extends DefaultAssignmentChecker
/**
* @implements AssignmentCheckerInterface<Email>
*/
class AssignmentChecker implements AssignmentCheckerInterface
{
protected function isPermittedAssignedUser(User $user, Entity $entity): bool
{
return true;
}
public function __construct(
private AssignmentCheckerInterface\Helper $helper,
) {}
protected function isPermittedAssignedUsers(User $user, Entity $entity): bool
public function check(User $user, Entity $entity): bool
{
if ($entity->getAssignedUser() && !$this->helper->checkAssignedUser($user, $entity)) {
return false;
}
if ($entity->getTeams()->getIdList() !== [] && !$this->helper->checkTeams($user, $entity)) {
return false;
}
return true;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -34,7 +34,6 @@ use Espo\Core\AclManager;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements LinkChecker<Email, Entity>
@@ -43,7 +42,6 @@ use Espo\ORM\EntityManager;
class ParentLinkChecker implements LinkChecker
{
public function __construct(
private EntityManager $entityManager,
private AclManager $aclManager
) {}
@@ -53,24 +51,18 @@ class ParentLinkChecker implements LinkChecker
return true;
}
if (!$entity->getReplied()) {
return false;
}
$replied = $this->entityManager
->getRepositoryByClass(Email::class)
->getById($entity->getReplied()->getId());
$replied = $entity->getReplied();
if (!$replied) {
return false;
}
$parentLink = $replied->getParent();
$parent = $replied->getParent();
if (
!$parentLink ||
$parentLink->getId() !== $foreignEntity->getId() ||
$parentLink->getEntityType() !== $foreignEntity->getEntityType()
!$parent ||
$parent->getId() !== $foreignEntity->getId() ||
$parent->getEntityType() !== $foreignEntity->getEntityType()
) {
return false;
}

View File

@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email\LinkCheckers;
use Espo\Core\Acl\LinkChecker;
use Espo\Core\AclManager;
use Espo\Entities\Email;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Entity;
/**
* @implements LinkChecker<Email, Team>
* @noinspection PhpUnused
*/
class TeamsLinkChecker implements LinkChecker
{
public function __construct(
private AclManager $aclManager
) {}
public function check(User $user, Entity $entity, Entity $foreignEntity): bool
{
if ($this->aclManager->checkEntityRead($user, $foreignEntity)) {
return true;
}
$replied = $entity->getReplied();
if (!$replied) {
return false;
}
if ($replied->getTeams()->hasId($foreignEntity->getId())) {
return true;
}
return false;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,9 +31,7 @@ namespace Espo\Classes\Acl\Email;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Core\Acl\DefaultOwnershipChecker;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\Acl\OwnershipTeamChecker;
@@ -44,26 +42,20 @@ use Espo\Core\Acl\OwnershipTeamChecker;
*/
class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
{
private $defaultOwnershipChecker;
public function __construct(DefaultOwnershipChecker $defaultOwnershipChecker)
{
$this->defaultOwnershipChecker = $defaultOwnershipChecker;
}
public function __construct(private DefaultOwnershipChecker $defaultOwnershipChecker)
{}
public function checkOwn(User $user, Entity $entity): bool
{
/** @var Email $entity */
if ($user->getId() === $entity->get('assignedUserId')) {
if ($user->getId() === $entity->getAssignedUser()?->getId()) {
return true;
}
if ($user->getId() === $entity->get('createdById')) {
if ($user->getId() === $entity->getCreatedBy()?->getId()) {
return true;
}
if ($entity->hasLinkMultipleId('assignedUsers', $user->getId())) {
if ($entity->getAssignedUsers()->hasId($user->getId())) {
return true;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,9 @@
namespace Espo\Classes\Acl\Note;
use Espo\Core\Acl\Permission;
use Espo\Core\Acl\Table;
use Espo\Core\Name\Field;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -82,7 +85,7 @@ class AccessChecker implements AccessEntityCREDChecker
return true;
}
$parent = $this->entityManager->getEntity($parentType, $parentId);
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if ($parent && $this->aclManager->checkEntityStream($user, $parent)) {
return true;
@@ -126,7 +129,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if ($entity->getTargetType() === Note::TARGET_TEAMS) {
$targetTeamIdList = $entity->getLinkMultipleIdList('teams');
$targetTeamIdList = $entity->getLinkMultipleIdList(Field::TEAMS);
foreach ($user->getTeamIdList() as $teamId) {
if (in_array($teamId, $targetTeamIdList)) {
@@ -141,6 +144,10 @@ class AccessChecker implements AccessEntityCREDChecker
return in_array($user->getId(), $entity->getLinkMultipleIdList('users'));
}
if ($entity->getTargetType() === Note::TARGET_PORTALS) {
return $this->aclManager->getPermissionLevel($user, Permission::PORTAL) === Table::LEVEL_YES;
}
return false;
}
@@ -161,7 +168,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -178,8 +185,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}
@@ -203,7 +209,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -220,8 +226,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\Portal;
use Espo\Core\Acl\Permission;
use Espo\Entities\Portal;
use Espo\Entities\User;
use Espo\Core\Acl\AccessEntityCREDChecker;
@@ -45,18 +46,12 @@ class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
public function __construct(DefaultAccessChecker $defaultAccessChecker, AclManager $aclManager)
{
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
}
public function __construct(private DefaultAccessChecker $defaultAccessChecker, private AclManager $aclManager)
{}
public function check(User $user, ScopeData $data): bool
{
$level = $this->aclManager->getPermissionLevel($user, 'portal');
$level = $this->aclManager->getPermissionLevel($user, Permission::PORTAL);
return $level === Table::LEVEL_YES;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\Team;
use Espo\Core\Name\Field;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -41,8 +42,7 @@ class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
{
/** @var string[] $userTeamIdList */
$userTeamIdList = $user->getLinkMultipleIdList('teams');
$userTeamIdList = $user->getLinkMultipleIdList(Field::TEAMS);
return in_array($entity->getId(), $userTeamIdList);
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\User;
use Espo\Core\Acl\Permission;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDSChecker;
@@ -60,8 +61,6 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
/** @var User $entity */
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
@@ -71,10 +70,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isPortal()) {
if ($this->aclManager->getPermissionLevel($user, 'portal') === Table::LEVEL_YES) {
if ($this->aclManager->getPermissionLevel($user, Permission::PORTAL) === Table::LEVEL_YES) {
return true;
}
@@ -90,8 +87,6 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isSystem()) {
return false;
}
@@ -111,8 +106,6 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if (!$user->isAdmin()) {
return false;
}
@@ -130,8 +123,7 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityStream(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
return $this->aclManager->checkUserPermission($user, $entity, 'user');
/** @noinspection PhpRedundantOptionalArgumentInspection */
return $this->aclManager->checkUserPermission($user, $entity, Permission::USER);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\Acl\User;
use Espo\Core\Name\Field;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\ORM\Entity as CoreEntity;
@@ -51,8 +52,8 @@ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
assert($entity instanceof CoreEntity);
$intersect = array_intersect(
$user->getLinkMultipleIdList('teams'),
$entity->getLinkMultipleIdList('teams')
$user->getLinkMultipleIdList(Field::TEAMS),
$entity->getLinkMultipleIdList(Field::TEAMS)
);
if (count($intersect)) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -36,6 +36,7 @@ use Espo\Entities\User;
use Espo\Entities\WorkingTimeRange;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
/**
* @implements AssignmentCheckerInterface<WorkingTimeRange>
@@ -73,7 +74,7 @@ class AssignmentChecker implements AssignmentCheckerInterface
$users = $this->entityManager
->getRDBRepositoryByClass(User::class)
->where(['id' => $entity->getUsers()->getIdList()])
->where([Attribute::ID => $entity->getUsers()->getIdList()])
->find();
foreach ($users as $targetUser) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -81,8 +81,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($relatedId && $relatedType) {
} else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
@@ -101,14 +100,10 @@ class AccessChecker implements AccessEntityCREDChecker
if ($result !== null) {
return $result;
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
} else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
in_array(
$entity->getTargetField(),
$this->aclManager->getScopeForbiddenFieldList($user, $parent->getEntityType())
)
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
@@ -159,7 +154,7 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
$parent = $this->entityManager->getEntity($note->getParentType(), $note->getParentId());
$parent = $this->entityManager->getEntityById($note->getParentType(), $note->getParentId());
if ($parent && $this->aclManager->checkEntity($user, $parent)) {
return true;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,6 +29,7 @@
namespace Espo\Classes\AclPortal\Note;
use Espo\Core\Name\Field;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
@@ -137,7 +138,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -154,8 +155,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}
@@ -175,7 +175,7 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
$createdAt = $entity->get('createdAt');
$createdAt = $entity->get(Field::CREATED_AT);
if (!$createdAt) {
return true;
@@ -192,8 +192,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($dt->format('U') > (new DateTime($createdAt))->format('U')) {
return false;
}
}
catch (Exception $e) {
} catch (Exception $e) {
return false;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,48 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppParams;
use Espo\Core\Utils\Address\CountryDataProvider;
use Espo\Tools\App\AppParam;
class AddressCountryData implements AppParam
{
public function __construct(
private CountryDataProvider $provider
) {}
/**
* @return array{list: string[], preferredList: string[]}
*/
public function get(): array
{
return $this->provider->get();
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -30,11 +30,14 @@
namespace Espo\Classes\AssignmentNotificators;
use Espo\Core\Field\DateTime;
use Espo\Core\Name\Field;
use Espo\Core\Notification\DefaultAssignmentNotificator;
use Espo\Entities\EmailAddress;
use Espo\Entities\EmailFolder;
use Espo\Modules\Crm\Entities\Account;
use Espo\Modules\Crm\Entities\Contact;
use Espo\Modules\Crm\Entities\Lead;
use Espo\ORM\Name\Attribute;
use Espo\Tools\Stream\Service as StreamService;
use Espo\Core\Notification\AssignmentNotificator;
use Espo\Core\Notification\AssignmentNotificator\Params;
@@ -56,25 +59,14 @@ class Email implements AssignmentNotificator
{
private const DAYS_THRESHOLD = 2;
private User $user;
private EntityManager $entityManager;
private UserEnabledChecker $userChecker;
private AclManager $aclManager;
private StreamService $streamService;
public function __construct(
User $user,
EntityManager $entityManager,
UserEnabledChecker $userChecker,
AclManager $aclManager,
StreamService $streamService
) {
$this->user = $user;
$this->entityManager = $entityManager;
$this->userChecker = $userChecker;
$this->aclManager = $aclManager;
$this->streamService = $streamService;
}
private User $user,
private EntityManager $entityManager,
private UserEnabledChecker $userChecker,
private AclManager $aclManager,
private StreamService $streamService,
private DefaultAssignmentNotificator $defaultAssignmentNotificator,
) {}
/**
* @param EmailEntity $entity
@@ -94,10 +86,19 @@ class Email implements AssignmentNotificator
return;
}
if ($params->getOption('isJustSent')) {
$previousUserIdList = [];
if (
$entity->getStatus() !== EmailEntity::STATUS_BEING_IMPORTED &&
!$this->streamService->checkIsEnabled(EmailEntity::ENTITY_TYPE)
) {
$this->defaultAssignmentNotificator->process(
$entity,
$params->withOption(DefaultAssignmentNotificator::OPTION_FORCE_ASSIGNED_USER, true)
);
}
else {
if ($params->getOption(EmailEntity::SAVE_OPTION_IS_JUST_SENT)) {
$previousUserIdList = [];
} else {
$previousUserIdList = $entity->getFetched('usersIds');
if (!is_array($previousUserIdList)) {
@@ -164,7 +165,7 @@ class Email implements AssignmentNotificator
if ($person) {
$data['personEntityType'] = $person->getEntityType();
$data['personEntityName'] = $person->get('name');
$data['personEntityName'] = $person->get(Field::NAME);
$data['personEntityId'] = $person->getId();
}
}
@@ -176,44 +177,26 @@ class Email implements AssignmentNotificator
}
if (empty($data['personEntityId'])) {
$data['fromString'] = Util::parseFromName($entity->getFromString());
$data['fromString'] = Util::parseFromName($entity->getFromString() ?? '');
if (empty($data['fromString']) && $from) {
$data['fromString'] = $from;
}
}
$parent = null;
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if ($parentType && $parentId) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
$account = null;
$accountLink = $entity->getAccount();
if ($accountLink) {
$account = $this->entityManager->getEntityById(Account::ENTITY_TYPE, $accountLink->getId());
}
$parent = $entity->getParent();
$account = $entity->getAccount();
foreach ($userIdList as $userId) {
if (!$userId) {
continue;
}
if ($userIdFrom === $userId) {
continue;
}
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IN_TRASH, $userId)) {
continue;
}
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IS_READ, $userId)) {
if (
$entity->getUserColumnInTrash($userId) ||
$entity->getUserColumnIsRead($userId) ||
$entity->getUserSkipNotification($userId)
) {
continue;
}
@@ -222,10 +205,10 @@ class Email implements AssignmentNotificator
}
if (
$params->getOption('isBeingImported') ||
$params->getOption('isJustSent')
$params->getOption(EmailEntity::SAVE_OPTION_IS_BEING_IMPORTED) ||
$params->getOption(EmailEntity::SAVE_OPTION_IS_JUST_SENT)
) {
$folderId = $entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_FOLDER_ID, $userId);
$folderId = $entity->getUserColumnFolderId($userId);
if (
$folderId &&
@@ -241,8 +224,7 @@ class Email implements AssignmentNotificator
}
}
/** @var ?User $user */
$user = $this->entityManager->getEntityById(User::ENTITY_TYPE, $userId);
$user = $this->entityManager->getRDBRepositoryByClass(User::class)->getById($userId);
if (!$user) {
continue;
@@ -258,7 +240,7 @@ class Email implements AssignmentNotificator
$isArchivedOrBeingImported =
$entity->getStatus() === EmailEntity::STATUS_ARCHIVED ||
$params->getOption('isBeingImported');
$params->getOption(EmailEntity::SAVE_OPTION_IS_BEING_IMPORTED);
if (
$isArchivedOrBeingImported &&
@@ -284,7 +266,7 @@ class Email implements AssignmentNotificator
'relatedId' => $entity->getId(),
'relatedType' => EmailEntity::ENTITY_TYPE,
])
->select(['id'])
->select([Attribute::ID])
->findOne();
if ($existing) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -27,38 +27,39 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Cleanup;
namespace Espo\Classes\Cleanup;
/** @deprecated */
abstract class Base extends \Espo\Core\Injectable
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Entities\AppLogRecord;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\DeleteBuilder;
class AppLog implements Cleanup
{
protected function init() /** @phpstan-ignore-line */
private const PERIOD = '30 days';
public function __construct(
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
$this->addDependency('config');
$this->addDependency('metadata');
$this->addDependency('entityManager');
$this->addDependency('fileManager');
$query = DeleteBuilder::create()
->from(AppLogRecord::ENTITY_TYPE)
->where(['createdAt<' => $this->getBefore()->toString()])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
protected function getConfig() /** @phpstan-ignore-line */
private function getBefore(): DateTime
{
return $this->getInjection('config');
}
/** @var string $period */
$period = $this->config->get('cleanupAppLogPeriod') ?? self::PERIOD;
protected function getMetadata() /** @phpstan-ignore-line */
{
return $this->getInjection('metadata');
return DateTime::createNow()->modify('-' . $period);
}
protected function getEntityManager() /** @phpstan-ignore-line */
{
return $this->getInjection('entityManager');
}
protected function getFileManager() /** @phpstan-ignore-line */
{
return $this->getInjection('fileManager');
}
abstract public function process(); /** @phpstan-ignore-line */
}

View File

@@ -0,0 +1,105 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Note;
use Espo\ORM\EntityManager;
/**
* @noinspection PhpUnused
*/
class Audit implements Cleanup
{
private const PERIOD = '3 months';
public function __construct(
private Metadata $metadata,
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
if (!$this->config->get('cleanupAudit')) {
return;
}
$entityTypeList = $this->getEntityTypeList();
foreach ($entityTypeList as $scope) {
$this->processEntityType($scope);
}
}
private function processEntityType(string $entityType): void
{
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Note::ENTITY_TYPE)
->where([
'parentType' => $entityType,
'createdAt<' => $this->getBefore()->toString(),
'type' => [Note::TYPE_UPDATE, Note::TYPE_STATUS],
])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
/**
* @return string[]
*/
private function getEntityTypeList(): array
{
/** @var string[] $scopeList */
$scopeList = array_keys($this->metadata->get(['scopes']) ?? []);
$scopeList = array_filter($scopeList, function ($item) {
return $this->metadata->get("scopes.$item.entity") &&
!$this->metadata->get("scopes.$item.preserveAuditLog") &&
!$this->metadata->get("scopes.$item.stream");
});
return array_values($scopeList);
}
private function getBefore(): DateTime
{
/** @var string $period */
$period = $this->config->get('cleanupAuditPeriod') ?? self::PERIOD;
return DateTime::createNow()->modify('-' . $period);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,137 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Acl\UserAclManagerProvider;
use Espo\Entities\StarSubscription;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\DeleteBuilder;
use Espo\Tools\Stars\StarService;
/**
* @noinspection PhpUnused
*/
class Stars implements Cleanup
{
public function __construct(
private EntityManager $entityManager,
private UserAclManagerProvider $userAclManagerProvider,
private StarService $service
) {}
public function process(): void
{
foreach ($this->getEntityTypeList() as $entityType) {
$this->processEntityType($entityType);
}
}
/**
* @return string[]
*/
private function getEntityTypeList(): array
{
$groups = $this->entityManager->getRDBRepositoryByClass(StarSubscription::class)
->group('entityType')
->select('entityType')
->find();
$list = [];
foreach ($groups as $group) {
$list[] = $group->get('entityType');
}
return $list;
}
private function processEntityType(string $entityType): void
{
if (
!$this->service->isEnabled($entityType) ||
!$this->entityManager->hasRepository($entityType)
) {
$deleteQuery = DeleteBuilder::create()
->from(StarSubscription::ENTITY_TYPE)
->where(['entityType' => $entityType])
->build();
$this->entityManager->getQueryExecutor()->execute($deleteQuery);
return;
}
$stars = $this->entityManager
->getRDBRepositoryByClass(StarSubscription::class)
->where(['entityType' => $entityType])
->sth()
->find();
foreach ($stars as $star) {
$entityId = $star->get('entityId');
$userId = $star->get('userId');
if ($userId === null || $entityId === null) {
continue;
}
$entity = $this->entityManager->getEntityById($entityType, $entityId);
$user = $this->entityManager->getRDBRepositoryByClass(User::class)->getById($userId);
if (!$entity || !$user) {
$this->unstar($userId, $entityType, $entityId);
continue;
}
$aclManager = $this->userAclManagerProvider->get($user);
if (!$aclManager->checkEntityRead($user, $entity)) {
$this->unstar($userId, $entityType, $entityId);
}
}
}
private function unstar(string $userId, string $entityType, string $entityId): void
{
$deleteQuery = DeleteBuilder::create()
->from(StarSubscription::ENTITY_TYPE)
->where([
'userId' => $userId,
'entityType' => $entityType,
'entityId' => $entityId,
])
->build();
$this->entityManager->getQueryExecutor()->execute($deleteQuery);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,9 +31,10 @@ namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Subscription;
use Espo\Entities\StreamSubscription;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\Part\Condition as Cond;
@@ -41,19 +42,11 @@ class Subscribers implements Cleanup
{
private const PERIOD = '2 months';
private Metadata $metadata;
private EntityManager $entityManager;
private Config $config;
public function __construct(
Metadata $metadata,
EntityManager $entityManager,
Config $config
) {
$this->metadata = $metadata;
$this->entityManager = $entityManager;
$this->config = $config;
}
private Metadata $metadata,
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
@@ -85,7 +78,7 @@ class Subscribers implements Cleanup
}
/** @var string $dateField */
$dateField = $data['dateField'] ?? 'createdAt';
$dateField = $data['dateField'] ?? Field::CREATED_AT;
/** @var ?string[] $statusList */
$statusList = $data['statusList'] ?? null;
/** @var ?string $statusField */
@@ -105,7 +98,7 @@ class Subscribers implements Cleanup
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Subscription::ENTITY_TYPE, 'subscription')
->from(StreamSubscription::ENTITY_TYPE, 'subscription')
->join(
$entityType,
'entity',

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,66 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Utils\File\Manager as FileManager;
use Espo\Core\Utils\System;
use Espo\Core\Utils\Util;
/**
* @noinspection PhpUnused
*/
class CheckFilePermissions implements Command
{
public function __construct(
private FileManager $fileManager,
private System $system
) {}
public function run(Params $params, IO $io): void
{
$io->writeLine("\nNote: Run this command under the web server user.\n");
$io->writeLine('Writable:');
$io->writeLine('');
foreach ($this->fileManager->getPermissionUtils()->getWritableList() as $path) {
$fullPath = Util::concatPath($this->system->getRootDir(), $path);
$isWritable = $this->fileManager->isWritable($fullPath);
$msg = " " . ($isWritable ? "OK" : "FAIL") . " : $path";
$io->writeLine($msg);
}
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -32,6 +32,7 @@ namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Name\Field;
use Espo\Core\Utils\Config;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
@@ -90,7 +91,7 @@ class CreateAdminUser implements Command
$user->set('userName', $userName);
$user->set('type', User::TYPE_ADMIN);
$user->set('name', $userName);
$user->set(Field::NAME, $userName);
$repository->save($user);

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -75,8 +75,7 @@ class Import implements Command
$countUpdated = $result->getCountUpdated();
$countError = $result->getCountError();
$countDuplicate = $result->getCountDuplicate();
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;
@@ -97,8 +96,7 @@ class Import implements Command
try {
$this->service->revert($id);
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;
@@ -114,8 +112,7 @@ class Import implements Command
try {
$result = $this->service->importById($id, true, $forceResume);
}
catch (Throwable $e) {
} catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage());
return;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -36,6 +36,7 @@ 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\Name\Field;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\ORM\Repository\Option\SaveOption;
use Espo\ORM\EntityManager;
@@ -62,7 +63,7 @@ class PopulateNumbers implements Command
$entityType = $params->getArgument(0);
$field = $params->getArgument(1);
$orderBy = $params->getOption('orderBy') ?? 'createdAt';
$orderBy = $params->getOption('orderBy') ?? Field::CREATED_AT;
$order = strtoupper($params->getOption('order') ?? Order::ASC);
if (!$entityType) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -57,8 +57,7 @@ class RebuildCategoryPaths implements Command
try {
$this->rebuildPaths->run($entityType);
}
catch (Exception $e) {
} catch (Exception $e) {
$io->setExitStatus(1);
$io->writeLine("Error: " . $e->getMessage());

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,39 +29,55 @@
namespace Espo\Classes\DefaultLayouts;
use Espo\Core\Name\Field;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Defs\Params\FieldParam;
use Espo\ORM\Defs\Params\RelationParam;
use stdClass;
class DefaultSidePanelType
{
private $metadata;
public function __construct(Metadata $metadata)
{
$this->metadata = $metadata;
}
public function __construct(private Metadata $metadata)
{}
/**
* @return \stdClass[]
* @return stdClass[]
*/
public function get(string $scope): array
{
$list = [];
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUser', 'type']) === 'link' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUser', 'entity']) === 'User'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::ASSIGNED_USER, FieldParam::TYPE]) ===
FieldType::LINK &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::ASSIGNED_USER, RelationParam::ENTITY]) ===
User::ENTITY_TYPE
||
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUsers', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUsers', 'entity']) === 'User'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::ASSIGNED_USERS, FieldParam::TYPE]) ===
FieldType::LINK_MULTIPLE &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::ASSIGNED_USERS, RelationParam::ENTITY]) ===
User::ENTITY_TYPE
) {
$list[] = (object) ['name' => ':assignedUser'];
}
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'teams', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'teams', 'entity']) === 'Team'
$this->metadata->get(['entityDefs', $scope, 'fields', Field::TEAMS, FieldParam::TYPE]) ===
FieldType::LINK_MULTIPLE &&
$this->metadata->get(['entityDefs', $scope, 'links', Field::TEAMS, RelationParam::ENTITY]) ===
Team::ENTITY_TYPE
) {
$list[] = (object) ['name' => 'teams'];
$list[] = (object) ['name' => Field::TEAMS];
}
if (
$this->metadata->get("entityDefs.$scope.fields.collaborators.type") === FieldType::LINK_MULTIPLE &&
$this->metadata->get("entityDefs.$scope.links.collaborators.entity") === User::ENTITY_TYPE
) {
$list[] = (object) ['name' => Field::COLLABORATORS];
}
return $list;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -33,6 +33,7 @@ use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Field\EmailAddressGroup;
use Espo\Core\Field\PhoneNumberGroup;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\ORM\Type\FieldType;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\ORM\Defs;
@@ -92,15 +93,15 @@ class General implements WhereBuilder
->tryGetField($field)
?->getType();
if ($type === 'personName') {
if ($type === FieldType::PERSON_NAME) {
return $this->applyFieldPersonName($field, $entity, $orBuilder);
}
if ($type === 'email') {
if ($type === FieldType::EMAIL) {
return $this->applyFieldEmail($field, $entity, $orBuilder);
}
if ($type === 'phone') {
if ($type === FieldType::PHONE) {
return $this->applyFieldPhone($field, $entity, $orBuilder);
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,6 +31,7 @@ namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Name\Field;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\WhereItem;
@@ -42,10 +43,10 @@ class Name implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
if ($entity->get('name')) {
if ($entity->get(Field::NAME)) {
return Cond::equal(
Cond::column('name'),
$entity->get('name')
Cond::column(Field::NAME),
$entity->get(Field::NAME)
);
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -33,6 +33,8 @@ use Espo\Core\Utils\Database\Orm\Defs\AttributeDefs;
use Espo\Core\Utils\Database\Orm\Defs\EntityDefs;
use Espo\Core\Utils\Database\Orm\FieldConverter;
use Espo\ORM\Defs\FieldDefs;
use Espo\ORM\Defs\Params\RelationParam;
use Espo\ORM\Name\Attribute;
use Espo\ORM\Type\AttributeType;
use RuntimeException;
@@ -65,7 +67,7 @@ class RelationshipRole implements FieldConverter
/** @var ?string $link */
$link = $data['link'] ?? null;
/** @var ?string $relationName */
$relationName = $data['relationName'] ?? null;
$relationName = $data[RelationParam::RELATION_NAME] ?? null;
/** @var ?string $nearKey */
$nearKey = $data['nearKey'] ?? null;
@@ -155,7 +157,7 @@ class RelationshipRole implements FieldConverter
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'select' => [Attribute::ID],
'leftJoins' => [
[
$link,
@@ -177,7 +179,7 @@ class RelationshipRole implements FieldConverter
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'select' => [Attribute::ID],
'leftJoins' => [
[
$link,

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -76,7 +76,7 @@ class Wysiwyg implements FieldDuplicator
foreach ($attachmentIdList as $id) {
/** @var Attachment|null $attachment */
$attachment = $this->entityManager->getEntity(Attachment::ENTITY_TYPE, $id);
$attachment = $this->entityManager->getEntityById(Attachment::ENTITY_TYPE, $id);
if (!$attachment) {
continue;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\Email;
use Espo\Entities\EmailFolder;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
/**
* @implements Loader<Email>
*/
class FolderDataLoader implements Loader
{
public function __construct(private EntityManager $entityManager) {}
public function process(Entity $entity, Params $params): void
{
$folderId = $entity->get(Email::USERS_COLUMN_FOLDER_ID);
if (!$folderId) {
return;
}
$folder = $this->entityManager
->getRDBRepositoryByClass(EmailFolder::class)
->select([Attribute::ID, 'name'])
->where([Attribute::ID => $folderId])
->findOne();
if (!$folder) {
return;
}
$entity->set('folderName', $folder->getName());
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,10 +29,15 @@
namespace Espo\Classes\FieldProcessing\Email;
use Espo\Core\Name\Field;
use Espo\Entities\User;
use Espo\Modules\Crm\Entities\Call;
use Espo\Modules\Crm\Entities\Contact;
use Espo\Modules\Crm\Entities\Lead;
use Espo\Modules\Crm\Entities\Meeting;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\ORM\Name\Attribute;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Entities\EmailAddress;
use Espo\Entities\Email;
@@ -55,9 +60,9 @@ class IcsDataLoader implements Loader
{
/** @var array<string, string> */
private $entityTypeLinkMap = [
'User' => 'users',
'Contact' => 'contacts',
'Lead' => 'leads',
User::ENTITY_TYPE => Meeting::LINK_USERS,
Contact::ENTITY_TYPE => Meeting::LINK_CONTACTS,
Lead::ENTITY_TYPE => Meeting::LINK_LEADS,
];
public function __construct(private EntityManager $entityManager, private Log $log)
@@ -104,8 +109,7 @@ class IcsDataLoader implements Loader
$valueMap->dateStartDate = $espoEvent->getDateStart();
$valueMap->dateEndDate = $espoEvent->getDateEnd();
}
}
catch (Throwable $e) {
} catch (Throwable $e) {
$this->log->warning("Error while converting ICS event '" . $entity->getId() . "': " . $e->getMessage());
return;
@@ -145,7 +149,7 @@ class IcsDataLoader implements Loader
$nameMap = $valueMap->$namesAttribute ?? (object) [];
$idList[] = $personEntity->getId();
$nameMap->{$personEntity->getId()} = $personEntity->get('name');
$nameMap->{$personEntity->getId()} = $personEntity->get(Field::NAME);
$valueMap->$idsAttribute = $idList;
$valueMap->$namesAttribute = $nameMap;
@@ -189,7 +193,7 @@ class IcsDataLoader implements Loader
}
$createdEvent = $this->entityManager
->getEntity($emailSameEvent->get('createdEventType'), $emailSameEvent->get('createdEventId'));
->getEntityById($emailSameEvent->get('createdEventType'), $emailSameEvent->get('createdEventId'));
if (!$createdEvent) {
return;
@@ -198,7 +202,7 @@ class IcsDataLoader implements Loader
$eventData->createdEvent = (object) [
'id' => $createdEvent->getId(),
'entityType' => $emailSameEvent->getEntityType(),
'name' => $createdEvent->get('name'),
'name' => $createdEvent->get(Field::NAME),
];
}
@@ -212,8 +216,8 @@ class IcsDataLoader implements Loader
$found1 = $this->entityManager
->getRDBRepository(Meeting::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->select([Attribute::ID])
->where([Attribute::ID => $id])
->findOne();
if ($found1) {
@@ -222,8 +226,8 @@ class IcsDataLoader implements Loader
$found2 = $this->entityManager
->getRDBRepository(Call::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->select([Attribute::ID])
->where([Attribute::ID => $id])
->findOne();
if ($found2) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,7 +29,9 @@
namespace Espo\Classes\FieldProcessing\Email;
use Espo\Core\Name\Field;
use Espo\ORM\Entity;
use Espo\ORM\Name\Attribute;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
@@ -63,7 +65,7 @@ class StringDataLoader implements Loader
$emailAddressCollection = $this->entityManager
->getRDBRepository(User::ENTITY_TYPE)
->getRelation($this->user, 'emailAddresses')
->select(['id'])
->select([Attribute::ID])
->find();
foreach ($emailAddressCollection as $emailAddress) {
@@ -89,7 +91,7 @@ class StringDataLoader implements Loader
foreach ($idList as $emailAddressId) {
$person = $this->getEmailAddressRepository()->getEntityByAddressId($emailAddressId, null, true);
$list[] = $person ? $person->get('name') : $names->$emailAddressId;
$list[] = $person ? $person->get(Field::NAME) : $names->$emailAddressId;
}
$entity->set('personStringData', 'To: ' . implode(', ', $list));
@@ -107,7 +109,7 @@ class StringDataLoader implements Loader
if (!array_key_exists($fromEmailAddressId, $this->fromEmailAddressNameCache)) {
$person = $this->getEmailAddressRepository()->getEntityByAddressId($fromEmailAddressId, null, true);
$fromName = $person?->get('name');
$fromName = $person?->get(Field::NAME);
$this->fromEmailAddressNameCache[$fromEmailAddressId] = $fromName;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -41,14 +41,10 @@ use Espo\Entities\User;
*/
class UserColumnsLoader implements Loader
{
private EntityManager $entityManager;
private User $user;
public function __construct(EntityManager $entityManager, User $user)
{
$this->entityManager = $entityManager;
$this->user = $user;
}
public function __construct(
private EntityManager $entityManager,
private User $user
) {}
public function process(Entity $entity, Params $params): void
{
@@ -58,6 +54,7 @@ class UserColumnsLoader implements Loader
Email::USERS_COLUMN_IS_READ,
Email::USERS_COLUMN_IS_IMPORTANT,
Email::USERS_COLUMN_IN_TRASH,
Email::USERS_COLUMN_IN_ARCHIVE,
])
->where([
'deleted' => false,
@@ -70,6 +67,7 @@ class UserColumnsLoader implements Loader
$entity->set(Email::USERS_COLUMN_IS_READ, null);
$entity->clear(Email::USERS_COLUMN_IS_IMPORTANT);
$entity->clear(Email::USERS_COLUMN_IN_TRASH);
$entity->clear(Email::USERS_COLUMN_IN_ARCHIVE);
return;
}
@@ -78,6 +76,8 @@ class UserColumnsLoader implements Loader
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(),
]);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,53 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\InboundEmail;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Config;
use Espo\Entities\InboundEmail;
use Espo\ORM\Entity;
/**
* @implements Loader<InboundEmail>
*/
class IsSystemLoader implements Loader
{
public function __construct(
private Config $config,
) {}
public function process(Entity $entity, Params $params): void
{
$isSystem = $entity->getEmailAddress() === $this->config->get('outboundEmailFromAddress');
$entity->set('isSystem', $isSystem);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -27,46 +27,60 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Services;
namespace Espo\Classes\FieldProcessing\LeadCapture;
use Espo\Entities\LeadCapture as LeadCaptureEntity;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Config\ApplicationConfig;
use Espo\Core\Utils\FieldUtil;
use Espo\Core\Utils\Util;
use Espo\Entities\LeadCapture;
use Espo\Modules\Crm\Entities\Lead;
use Espo\ORM\Entity;
use Espo\Tools\LeadCapture\Service as LeadCaptureService;
use Espo\Core\Utils\Util;
use Espo\ORM\EntityManager;
use Espo\ORM\Type\AttributeType;
/**
* @extends Record<LeadCaptureEntity>
* @implements Loader<LeadCapture>
*/
class LeadCapture extends Record
class ExampleLoader implements Loader
{
/** @var string[] */
protected $readOnlyAttributeList = ['apiKey'];
public function __construct(
private FieldUtil $fieldUtil,
private ApplicationConfig $applicationConfig,
private EntityManager $entityManager
) {}
/**
* @param LeadCaptureEntity $entity
*/
public function prepareEntityForOutput(Entity $entity)
public function process(Entity $entity, Params $params): void
{
parent::prepareEntityForOutput($entity);
$entity->set('exampleRequestMethod', 'POST');
$entity->set('exampleRequestHeaders', [
'Content-Type: application/json',
]);
$this->processRequestUrl($entity);
$this->processRequestPayload($entity);
$this->processFormUrl($entity);
}
private function processRequestUrl(LeadCapture $entity): void
{
$apiKey = $entity->getApiKey();
$siteUrl = $this->applicationConfig->getSiteUrl();
if ($apiKey) {
$requestUrl = $this->config->getSiteUrl() . '/api/v1/LeadCapture/' . $apiKey;
$entity->set('exampleRequestUrl', $requestUrl);
if (!$apiKey) {
return;
}
$fieldUtil = $this->fieldUtil;
$requestUrl = "$siteUrl/api/v1/LeadCapture/$apiKey";
$requestPayload = "```{\n";
$entity->set('exampleRequestUrl', $requestUrl);
}
private function processRequestPayload(LeadCapture $entity): void
{
$requestPayload = "```\n{\n";
$attributeList = [];
@@ -80,7 +94,7 @@ class LeadCapture extends Record
];
foreach ($entity->getFieldList() as $field) {
foreach ($fieldUtil->getActualAttributeList(Lead::ENTITY_TYPE, $field) as $attribute) {
foreach ($this->fieldUtil->getActualAttributeList(Lead::ENTITY_TYPE, $field) as $attribute) {
if (!in_array($attribute, $attributeIgnoreList)) {
$attributeList[] = $attribute;
}
@@ -92,7 +106,16 @@ class LeadCapture extends Record
foreach ($attributeList as $i => $attribute) {
$value = strtoupper(Util::camelCaseToUnderscore($attribute));
if (in_array($seed->getAttributeType($attribute), [Entity::VARCHAR, Entity::TEXT])) {
if (
in_array(
$seed->getAttributeType($attribute), [
Entity::VARCHAR,
Entity::TEXT,
AttributeType::DATETIME,
AttributeType::DATE,
]
)
) {
$value = '"' . $value . '"';
}
@@ -105,20 +128,25 @@ class LeadCapture extends Record
$requestPayload .= "\n";
}
$requestPayload .= '}```';
$requestPayload .= "}\n```";
$entity->set('exampleRequestPayload', $requestPayload);
}
protected function beforeCreateEntity(Entity $entity, $data)
private function processFormUrl(LeadCapture $entity): void
{
$apiKey = $this->createLeadCaptureService()->generateApiKey();
$formId = $entity->getFormId();
$siteUrl = $this->applicationConfig->getSiteUrl();
$entity->set('apiKey', $apiKey);
}
if (!$entity->hasFormEnabled() || !$formId) {
/** @noinspection PhpRedundantOptionalArgumentInspection */
$entity->set('formUrl', null);
protected function createLeadCaptureService(): LeadCaptureService
{
return $this->injectableFactory->create(LeadCaptureService::class);
return;
}
$formUrl = "$siteUrl?entryPoint=leadCaptureForm&id=$formId";
$entity->set('formUrl', $formUrl);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,19 +29,25 @@
namespace Espo\Classes\FieldProcessing\Note;
use Espo\ORM\Entity;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\Note;
use Espo\ORM\Entity;
use Espo\Tools\Stream\MassNotePreparator;
/**
* @implements Loader<Note>
*/
class AttachmentsLoader implements Loader
class AdditionalFieldsLoader implements Loader
{
public function __construct(
private MassNotePreparator $massNotePreparator,
) {}
public function process(Entity $entity, Params $params): void
{
/** @var Note $entity */
$entity->loadAttachments();
$entity->loadAdditionalFields();
$this->massNotePreparator->prepare([$entity]);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* 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-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -29,21 +29,23 @@
namespace Espo\Classes\FieldProcessing\User;
use Espo\Core\Name\Field;
use Espo\Entities\AuthLogRecord;
use Espo\Entities\AuthToken;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl;
use Espo\Core\Acl\Table;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use DateTime;
use Espo\ORM\Name\Attribute;
use Exception;
/**
* @implements Loader<User>
* @noinspection PhpUnused
*/
class LastAccessLoader implements Loader
{
@@ -58,16 +60,13 @@ class LastAccessLoader implements Loader
public function process(Entity $entity, Params $params): void
{
$forbiddenFieldList = $this->acl
->getScopeForbiddenFieldList($entity->getEntityType(), Table::ACTION_READ);
if (in_array('lastAccess', $forbiddenFieldList)) {
if (!$this->acl->checkField($entity->getEntityType(), 'lastAccess')) {
return;
}
$authToken = $this->entityManager
->getRDBRepository(AuthToken::ENTITY_TYPE)
->select(['id', 'lastAccess'])
->select([Attribute::ID, 'lastAccess'])
->where([
'userId' => $entity->getId(),
])
@@ -85,8 +84,7 @@ class LastAccessLoader implements Loader
if ($lastAccess) {
try {
$dt = new DateTime($lastAccess);
}
catch (Exception) {}
} catch (Exception) {}
}
$where = [
@@ -100,13 +98,13 @@ class LastAccessLoader implements Loader
$authLogRecord = $this->entityManager
->getRDBRepository(AuthLogRecord::ENTITY_TYPE)
->select(['id', 'createdAt'])
->select([Attribute::ID, Field::CREATED_AT])
->where($where)
->order('requestTime', true)
->findOne();
if ($authLogRecord) {
$lastAccess = $authLogRecord->get('createdAt');
$lastAccess = $authLogRecord->get(Field::CREATED_AT);
}
$entity->set('lastAccess', $lastAccess);

View File

@@ -0,0 +1,54 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
/**
* @noinspection PhpUnused
*/
class ArrayFromNull implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
if (!$data->has($field)) {
return;
}
$value = $data->get($field);
if ($value !== null) {
return;
}
$data->set($field, []);
}
}

View File

@@ -0,0 +1,62 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
/**
* @noinspection PhpUnused
*/
class ArrayStringTrim implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
if (!$data->has($field)) {
return;
}
$value = $data->get($field);
if (!is_array($value)) {
return;
}
foreach ($value as $i => $item) {
if (!is_string($item)) {
continue;
}
$value[$i] = trim($item);
}
$data->set($field, $value);
}
}

View File

@@ -0,0 +1,69 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use DateTimeImmutable;
use DateTimeInterface;
use Espo\Core\Field\Date as DateValue;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
use Espo\Core\Utils\DateTime as DateTimeUtil;
use Exception;
/**
* @noinspection PhpUnused
*/
class Date implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
$value = $data->get($field);
if ($value === null) {
return;
}
try {
DateValue::fromString($value);
return;
} catch (Exception) {}
$dateTime = DateTimeImmutable::createFromFormat(DateTimeInterface::ATOM, $value);
if ($dateTime === false) {
return;
}
$value = $dateTime->format(DateTimeUtil::SYSTEM_DATE_FORMAT);
$data->set($field, $value);
}
}

View File

@@ -0,0 +1,72 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use DateTimeImmutable;
use DateTimeInterface;
use DateTimeZone;
use Espo\Core\Field\DateTime as DateTimeValue;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
use Espo\Core\Utils\DateTime as DateTimeUtil;
use Exception;
/**
* @noinspection PhpUnused
*/
class Datetime implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
$value = $data->get($field);
if ($value === null) {
return;
}
try {
DateTimeValue::fromString($value);
return;
} catch (Exception) {}
$dateTime = DateTimeImmutable::createFromFormat(DateTimeInterface::ATOM, $value);
if ($dateTime === false) {
return;
}
$value = $dateTime
->setTimezone(new DateTimeZone('UTC'))
->format(DateTimeUtil::SYSTEM_DATE_TIME_FORMAT);
$data->set($field, $value);
}
}

View File

@@ -0,0 +1,71 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use DateTimeImmutable;
use DateTimeInterface;
use Espo\Core\Field\Date;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
use Espo\Core\Utils\DateTime as DateTimeUtil;
use Exception;
/**
* @noinspection PhpUnused
*/
class DatetimeOptionalDate implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
$attribute = $field . 'Date';
$value = $data->get($attribute);
if ($value === null) {
return;
}
try {
Date::fromString($value);
return;
} catch (Exception) {}
$dateTime = DateTimeImmutable::createFromFormat(DateTimeInterface::ATOM, $value);
if ($dateTime === false) {
return;
}
$value = $dateTime->format(DateTimeUtil::SYSTEM_DATE_FORMAT);
$data->set($attribute, $value);
}
}

View File

@@ -0,0 +1,58 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
/**
* @noinspection PhpUnused
*/
class EmptyStringToNull implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
if (!$data->has($field)) {
return;
}
$value = $data->get($field);
if (!is_string($value)) {
return;
}
if ($value === '') {
$value = null;
}
$data->set($field, $value);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,56 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldSanitizers;
use Espo\Core\FieldSanitize\Sanitizer;
use Espo\Core\FieldSanitize\Sanitizer\Data;
/**
* @noinspection PhpUnused
*/
class StringLowerCase implements Sanitizer
{
public function sanitize(Data $data, string $field): void
{
if (!$data->has($field)) {
return;
}
$value = $data->get($field);
if (!is_string($value)) {
return;
}
$value = mb_strtolower($value);
$data->set($field, $value);
}
}

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