Compare commits

...

1547 Commits
5.8.4 ... 6.1.8

Author SHA1 Message Date
Yuri Kuznetsov
3e6bc02256 v 2021-07-20 15:17:28 +03:00
Taras Machyshyn
2a52d3c52e NamespaceLoader bug fixes 2021-06-24 17:47:57 +03:00
Yuri Kuznetsov
a9623ff698 hotfix cache clear on login 2021-06-17 13:19:59 +03:00
Yuri Kuznetsov
f774b4bbcf queue optimization 2021-05-24 12:20:40 +03:00
Yuri Kuznetsov
da2e2dbf20 fix typo 2021-05-19 15:55:38 +03:00
Eymen Elkum
c054712828 config param emailAutoReplaySuppressPeriod (#1998) 2021-05-19 10:14:23 +03:00
Yuri Kuznetsov
44d772a32f fix typo 2021-05-09 15:23:59 +03:00
Yuri Kuznetsov
a90971b762 not held event strikethrough 2021-05-07 10:34:38 +03:00
Yuri Kuznetsov
09d7e8abde search apply button fixes 2021-05-05 11:54:24 +03:00
Yuri Kuznetsov
1ddfcff441 version 2021-05-05 11:17:35 +03:00
Yuri Kuznetsov
1a672a8aa3 escaping 2021-05-04 16:08:35 +03:00
Eymen Elkum
a6fb23302e typo fix (#1974) 2021-04-24 16:59:32 +03:00
Yuri Kuznetsov
85ed99a1dc email get size error fix 2021-04-15 11:40:06 +03:00
Yuri Kuznetsov
6e9f368a0a version 2021-04-12 10:42:26 +03:00
Yuri Kuznetsov
84a3688525 scheduler honor eventAssignedUserIsAttendeeDisabled 2021-04-12 10:40:06 +03:00
Yuri Kuznetsov
3c08986889 cs fix 2021-04-12 10:37:07 +03:00
Yuri Kuznetsov
477828beb9 fix get entity followers 2021-04-12 10:31:47 +03:00
Eymen Elkum
fadc6c46ba fix (#1969) 2021-04-12 10:31:29 +03:00
Yuri Kuznetsov
c1b7e06308 remove noJoin 2021-04-01 13:27:42 +03:00
Taras Machyshyn
e86ec32dd7 Hide permission warnings 2021-03-31 15:12:46 +03:00
Taras Machyshyn
c8bd2ec1a1 Time format fixes 2021-03-31 14:39:47 +03:00
Taras Machyshyn
3cf94bb728 Notification fixes 2021-03-31 12:17:18 +03:00
Yuri Kuznetsov
0f8621d923 spatie async update 2021-03-25 16:11:30 +02:00
Yuri Kuznetsov
2d9e9a5e93 async downgrade 2021-03-25 15:38:50 +02:00
Yuri Kuznetsov
abeb5fc0e3 v 2021-03-25 15:14:57 +02:00
Taras Machyshyn
47e61cecdd Upgrade scripts 2021-03-25 15:14:22 +02:00
Taras Machyshyn
17aaf08717 Installation: code changes 2021-03-25 13:23:23 +02:00
Taras Machyshyn
89e849d851 Installation: bug fixes 2021-03-25 13:06:19 +02:00
Yuri Kuznetsov
42098f477a fix oauth client 2021-03-25 12:14:22 +02:00
Taras Machyshyn
e44ee9ca03 Installation: corrected languages 2021-03-25 11:10:18 +02:00
Yuri Kuznetsov
c4861c5efa fix exceptions 2021-03-22 09:16:45 +02:00
Taras Machyshyn
4380175c8b Upgrade scripts 2021-03-18 17:39:32 +02:00
Yuri Kuznetsov
8ff46bba74 diff: removing git folder in vendor 2021-03-18 15:47:40 +02:00
Yuri Kuznetsov
06f1305f23 removing git folder in vendor on build 2021-03-18 15:29:21 +02:00
Eymen Elkum
43723697f7 fix (#1944) 2021-03-15 14:20:42 +02:00
Yuri Kuznetsov
99d6a0ab32 local storage cache exceeded no error 2021-03-15 13:52:01 +02:00
Yuri Kuznetsov
c2809ca091 no lib cache 2021-03-15 13:44:31 +02:00
Yuri Kuznetsov
108432c268 cs fix 2021-03-15 13:43:49 +02:00
Yuri Kuznetsov
970242e860 cs fixes 2021-03-10 16:05:38 +02:00
Yuri Kuznetsov
dff2e344a4 fix formula modulo 2021-03-06 16:25:13 +02:00
Eymen Elkum
24617f4a41 variable name typo (#1937) 2021-03-04 09:25:31 +02:00
Taras Machyshyn
2ae0f36241 LDAP bug fixes 2021-03-03 10:57:01 +02:00
Yuri Kuznetsov
eec372c6df fix css 2021-03-02 11:39:26 +02:00
Yuri Kuznetsov
011e83fac6 update selectize 2021-03-02 11:37:07 +02:00
Yuri Kuznetsov
dd8e55c2ac restpore tcpdf 2021-03-01 14:34:38 +02:00
Yuri Kuznetsov
00fcd5a9b6 fix tcpdf page number 2021-02-26 12:32:48 +02:00
Yuri Kuznetsov
3dda43c70a update tcpdf 2021-02-26 10:38:46 +02:00
Yuri Kuznetsov
34029c6f6f update composer deps 2021-02-26 09:26:40 +02:00
Yuri Kuznetsov
cc307e3217 cleanup 2021-02-25 16:40:42 +02:00
Yuri Kuznetsov
e3c45a5039 hide reset to default field for custom entities 2021-02-25 16:39:33 +02:00
Yuri Kuznetsov
7cbc24feb8 v 2021-02-22 10:52:07 +02:00
Yuri Kuznetsov
2ff248a4c4 use forked lighrncandy 2021-02-18 15:35:01 +02:00
Yuri Kuznetsov
0010976803 attachment download calculating actual filesize 2021-02-18 08:54:03 +02:00
Eymen Elkum
bd422323ee fix typo (#1924) 2021-02-18 08:44:40 +02:00
Eymen Elkum
6a66d99017 add missing import (#1923) 2021-02-18 08:34:24 +02:00
Yuri Kuznetsov
1f7d92b209 return type fix 2021-02-17 16:36:15 +02:00
Yuri Kuznetsov
71c72136f6 attachment proper size calculation 2021-02-17 09:09:52 +02:00
Yuri Kuznetsov
7f57e64292 Merge branch 'hotfix/6.1.3' of github.com:espocrm/espocrm into hotfix/6.1.3 2021-02-15 10:51:31 +02:00
Yuri Kuznetsov
300a0ece75 save and continue action 2 2021-02-13 19:21:47 +02:00
Yuri Kuznetsov
3172ba213e save and continue action 2021-02-13 19:16:45 +02:00
Yuri Kuznetsov
5685ccbffd deprecated fix 2021-02-13 11:03:44 +02:00
Yuri Kuznetsov
3e372f753d fix 2021-02-12 16:53:54 +02:00
Yuri Kuznetsov
51ea8a5e1c fromula array join function 2021-02-12 14:11:02 +02:00
Yuri Kuznetsov
d3c634b89f fix lead convert 2021-02-12 12:52:35 +02:00
Yuri Kuznetsov
eca341d7ec update phpspreadsheet 2021-02-11 14:18:49 +02:00
Taras Machyshyn
454ca3b136 Merge branch 'hotfix/6.1.3' of https://github.com/espocrm/espocrm into hotfix/6.1.3 2021-02-11 13:09:38 +02:00
Taras Machyshyn
e3b8b450a4 DBAL: bug fixing 2021-02-11 13:09:20 +02:00
Taras Machyshyn
c15c486603 Fix changing default values in MariaDB 2021-02-10 12:42:46 +02:00
Yuri Kuznetsov
c6554afaae Merge branch 'hotfix/6.1.3' of https://github.com/espocrm/espocrm into hotfix/6.1.3 2021-02-10 10:44:11 +02:00
Yuri Kuznetsov
0d6b5ce68c fix 2021-02-10 10:43:54 +02:00
Taras Machyshyn
2830400da5 DBAL: do not change collation when changing a field 2021-02-10 10:22:01 +02:00
Yuri Kuznetsov
aa8edf1ee9 v 2021-02-09 11:05:49 +02:00
Yuri Kuznetsov
f1bf439f7b wysiwyg modal backdrop 2021-02-08 15:37:17 +02:00
Yuri Kuznetsov
220992fc37 formula generate id 2021-02-08 15:18:14 +02:00
Yuri Kuznetsov
de52af79c5 cs fix 2021-02-07 12:28:36 +02:00
Yuri Kuznetsov
c555102b5f refactoring 2021-02-07 12:28:00 +02:00
Yuri Kuznetsov
4c05175dbe tracking url uid 2021-02-07 12:12:30 +02:00
Yuri Kuznetsov
de543fa2db fix typo 2021-02-07 08:50:02 +02:00
Yuri Kuznetsov
a0f85bd55a attachment source list improvements 2021-02-05 13:13:05 +02:00
Yuri Kuznetsov
7273caac36 cs fix 2021-02-05 12:37:57 +02:00
Yuri Kuznetsov
d8383dc38a opcache invalidate error fix 2021-02-04 16:46:33 +02:00
Yuri Kuznetsov
7824ab8dc9 fix logger handler 2021-02-04 16:32:37 +02:00
Yuri Kuznetsov
7320bf68e5 fix id attribute reading 2021-02-02 14:42:48 +02:00
Yuri Kuznetsov
d7b9492f15 login exception fix 2021-02-01 19:11:13 +02:00
Yuri Kuznetsov
6a7b782309 v 2021-02-01 11:48:33 +02:00
Yuri Kuznetsov
9d080d7dca fix kanban order 2021-01-30 17:59:08 +02:00
Yuri Kuznetsov
2582dfe3c4 v 2021-01-29 12:29:47 +02:00
Yuri Kuznetsov
295411a5d2 fix auth token 2021-01-29 11:31:51 +02:00
Yuri Kuznetsov
453589de92 fix popup notification 2021-01-28 14:06:22 +02:00
Yuri Kuznetsov
f42c33d77a username validation 2021-01-27 12:27:33 +02:00
Yuri Kuznetsov
0d202499bc fix 2021-01-26 20:53:35 +02:00
Yuri Kuznetsov
be6896f34c fix log loader 2021-01-26 18:38:43 +02:00
Yuri Kuznetsov
e5a3a0637d fix deprecated 2021-01-26 17:02:01 +02:00
Taras Machyshyn
068653ad3e Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-26 12:59:58 +02:00
Taras Machyshyn
cd2a2c2639 Upgrade fixes 2021-01-26 12:59:28 +02:00
Yuri Kuznetsov
2d37dde8b8 year 2021-01-26 12:06:35 +02:00
Yuri Kuznetsov
42613c79b6 v 2021-01-26 11:30:07 +02:00
Taras Machyshyn
124cce55bd 2021 license 2021-01-25 16:37:54 +02:00
Taras Machyshyn
589aa4ae40 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-25 15:44:36 +02:00
Yuri Kuznetsov
41ccba7955 fix deprecated 2021-01-25 15:31:36 +02:00
Taras Machyshyn
ac2613682c Merge master 2021-01-25 14:55:03 +02:00
Taras Machyshyn
8a46cfb0da Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-25 14:53:29 +02:00
Yuri Kuznetsov
9c0643b61f Merge branch 'hotfix/6.0.10' 2021-01-25 11:53:10 +02:00
Yuri Kuznetsov
4d755d3795 fix tests 2021-01-25 11:46:56 +02:00
Yuri Kuznetsov
9fe61d2342 v 2021-01-25 11:12:38 +02:00
Yuri Kuznetsov
d0273febf9 Rename Address class 2021-01-24 17:34:58 +02:00
Yuri Kuznetsov
5610ed6e15 Currency field utils 2021-01-24 17:13:03 +02:00
Yuri Kuznetsov
89ff894917 fix address 2021-01-24 15:39:29 +02:00
Yuri Kuznetsov
e2b6f0c70f cs fix 2021-01-23 21:22:21 +02:00
Yuri Kuznetsov
654741261b Address formatter 2021-01-23 15:11:56 +02:00
Taras Machyshyn
1f17d79e2d Upgrade fixes 2021-01-21 17:53:54 +02:00
Taras Machyshyn
3b0c7f1d5b Upgrade bug fixes 2021-01-21 17:39:44 +02:00
Taras Machyshyn
f2831f84df Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-21 16:17:22 +02:00
Taras Machyshyn
d30edee790 Upgrade bug fixes 2021-01-21 16:14:14 +02:00
Yuri Kuznetsov
2635ed69ac cleanup 2021-01-21 11:19:25 +02:00
Yuri Kuznetsov
9756bfbc4d Rename getRawParams method 2021-01-19 17:36:01 +02:00
Taras Machyshyn
1ae125ceb1 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-19 12:57:13 +02:00
Milan Horák
443d010a59 Update Email.json (#1883)
Unified terminology, translated untranslated items, typos correction.
2021-01-18 15:43:35 +02:00
Yuri Kuznetsov
fcdc704cc2 Merge branch 'hotfix/6.0.10' 2021-01-18 13:58:34 +02:00
Yuri Kuznetsov
0815cc3b5e xlsx export fix and refactoring 2021-01-18 13:58:13 +02:00
Yuri Kuznetsov
2416cf6ad5 fix popup notification service 2021-01-15 16:07:14 +02:00
Yuri Kuznetsov
9cf03fcbb0 fix orm notice 2021-01-14 14:09:50 +02:00
Yuri Kuznetsov
43c524533c global search cs fix 2021-01-13 21:12:53 +02:00
Yuri Kuznetsov
600ae5aed6 orm left function 2021-01-13 11:31:21 +02:00
Yuri Kuznetsov
a9fb352fd9 log handler fix 2021-01-12 09:16:41 +02:00
Yuri Kuznetsov
dd2434d4b4 Merge branch 'master' of github.com:espocrm/espocrm 2021-01-11 13:12:23 +02:00
Yuri Kuznetsov
3f221878e8 file manager change 2021-01-11 13:10:39 +02:00
Eymen Elkum
876dbb3ab4 link field keep name value in search mode (#1882) 2021-01-11 13:09:08 +02:00
Yuri Kuznetsov
97e7b1982f Merge branch 'hotfix/6.0.10' 2021-01-11 12:24:35 +02:00
Yuri Kuznetsov
ddff78756d fix label 2021-01-11 12:24:07 +02:00
Yuri Kuznetsov
d78df859b1 Merge branch 'hotfix/6.0.10' 2021-01-11 11:33:05 +02:00
Taras Machyshyn
aa09f8789c Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-06 12:03:50 +02:00
Yuri Kuznetsov
106ffe5df7 Config file permissins fix 2021-01-05 18:56:07 +02:00
Taras Machyshyn
f8c01808d4 Wrong directory owner fixes 2021-01-05 16:16:49 +02:00
Taras Machyshyn
9de775e0c9 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-05 14:17:15 +02:00
Yuri Kuznetsov
e073c82992 fix orm repository 2021-01-05 10:27:57 +02:00
Yuri Kuznetsov
90a6c85aff Merge branch 'stable' 2021-01-04 12:39:12 +02:00
Yuri Kuznetsov
aa82f96993 Fix reply email with external account 2021-01-04 12:17:57 +02:00
Yuri Kuznetsov
867a0225f1 v 2021-01-04 11:47:18 +02:00
Taras Machyshyn
ead92aac31 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-04 10:51:48 +02:00
Yuri Kuznetsov
97ff03f87e Fix DBAL 2020-12-31 15:17:28 +02:00
Yuri Kuznetsov
ec40acfac1 cs fixes 2020-12-31 15:12:44 +02:00
Yuri Kuznetsov
52904999fb Merge branch 'master' of https://github.com/espocrm/espocrm 2020-12-31 10:01:44 +02:00
Yuri Kuznetsov
14d296ea38 Merge branch 'hotfix/6.0.9' 2020-12-31 10:01:25 +02:00
Yuri Kuznetsov
4ab636ded8 autoload test and refactoring 2020-12-31 09:59:29 +02:00
Yuri Kuznetsov
f764375e0e file manager method cleanups 2020-12-31 09:33:12 +02:00
Arkady
98b20a3e24 fix autoload path merging (#1875)
Co-authored-by: Arkadiy Asuratov <a.asuratov@dubas.pro>
2020-12-31 08:56:24 +02:00
Taras Machyshyn
7f6843b895 Merge 2020-12-30 15:55:43 +02:00
Taras Machyshyn
74ad947ade Fixes for DBAL v3.0 2020-12-30 15:36:39 +02:00
Yuri Kuznetsov
3dc1a156d4 orm has join alias 2020-12-30 12:35:57 +02:00
Yuri Kuznetsov
b6a6cf052b add modal fixes 2020-12-29 13:29:24 +02:00
Eymen Elkum
ae3975e3dd array field modal checkboxes (#1864) 2020-12-29 13:19:02 +02:00
Yuri Kuznetsov
79b2beba8f manual merge 2020-12-29 13:15:33 +02:00
dependabot[bot]
e7345f678c Bump ini from 1.3.5 to 1.3.8 (#1873)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-29 13:13:18 +02:00
Yuri Kuznetsov
771f8a8430 renormalize line endings 2020-12-28 18:23:21 +02:00
Yuri Kuznetsov
ddef5312fd fix gitignore 2020-12-28 18:20:44 +02:00
Yuri Kuznetsov
43a7085f7c gitattributes file 2020-12-28 18:20:20 +02:00
Taras Machyshyn
fd11c1d5bd Merge master 2020-12-28 13:13:20 +02:00
Taras Machyshyn
5cf06bce7e Upgrade DBAL v3.0 2020-12-28 12:22:10 +02:00
Yuri Kuznetsov
f5232dc5af Merge branch 'master' of github.com:espocrm/espocrm 2020-12-28 11:52:32 +02:00
Yuri Kuznetsov
d0cf57cb66 Merge branch 'hotfix/6.0.9' 2020-12-28 11:52:21 +02:00
Yuri Kuznetsov
ca17a5453a fix warning 2020-12-28 11:51:56 +02:00
Yuri Kuznetsov
713ecb3be7 fix orm select builder 2020-12-25 14:02:42 +02:00
Yuri Kuznetsov
e43265fe57 gruntfile fix 2020-12-23 09:33:19 +02:00
Yuri Kuznetsov
9642f9ae41 entity manager factory 2020-12-23 09:32:51 +02:00
Yuri Kuznetsov
5f95859bcd delete orm metadata service 2020-12-23 09:21:15 +02:00
Yuri Kuznetsov
6fecf61648 fix notice 2020-12-21 15:35:11 +02:00
Yuri Kuznetsov
85c199d563 cd fix 2020-12-21 14:15:10 +02:00
Yuri Kuznetsov
facb5c747d fix test 2020-12-21 13:58:47 +02:00
Yuri Kuznetsov
1b517a6eb1 cleanup 2020-12-21 13:16:12 +02:00
Yuri Kuznetsov
99dc6b1623 phpunit config 2020-12-21 13:13:30 +02:00
Yuri Kuznetsov
e569b8b9a7 fix tests 2020-12-21 13:07:14 +02:00
Yuri Kuznetsov
f0b0c55d9b Merge branch 'master' of github.com:espocrm/espocrm 2020-12-21 13:01:37 +02:00
Yuri Kuznetsov
df179212b1 orm metadata refactoring 2020-12-21 13:01:07 +02:00
Yuri Kuznetsov
19ccf09c20 Merge branch 'hotfix/6.0.9' 2020-12-21 11:50:25 +02:00
Yuri Kuznetsov
641382dc66 cs fix and error throwing 2020-12-21 11:50:07 +02:00
Yuri Kuznetsov
8f89fa4597 cs fix 2020-12-21 11:33:51 +02:00
Yuri Kuznetsov
543eb21a8b fix flotr 2020-12-21 11:27:48 +02:00
Yuri Kuznetsov
9fbc62837f fix validation 2020-12-21 11:07:31 +02:00
Yuri Kuznetsov
d194eac5bc laminas service manager dependency 2020-12-18 15:06:00 +02:00
Yuri Kuznetsov
5ffd03ca85 application runner refactoring 2020-12-17 18:43:57 +02:00
Yuri Kuznetsov
d6dec82610 Merge branch 'hotfix/6.0.9' 2020-12-17 16:22:07 +02:00
Yuri Kuznetsov
521a166c92 ceanup 2020-12-16 19:44:08 +02:00
Yuri Kuznetsov
2ca97d4e31 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-12-15 09:46:35 +02:00
Yuri Kuznetsov
b30df2f6e2 orm select builder check has join 2020-12-15 09:46:29 +02:00
Yuri Kuznetsov
4ab0d765e3 fix notices 2020-12-14 14:52:18 +02:00
Yuri Kuznetsov
58d3929bee fix notices and cs 2020-12-14 13:59:52 +02:00
Yuri Kuznetsov
35eff68f64 fix notices 2020-12-14 13:59:25 +02:00
Yuri Kuznetsov
bb10b0a266 controller manager test 2020-12-14 13:48:32 +02:00
Yuri Kuznetsov
9dc050332e controller manager notice fix 2020-12-14 13:48:25 +02:00
Yuri Kuznetsov
c65b9d8cc2 fix merge notice 2020-12-14 13:19:50 +02:00
Yuri Kuznetsov
2d26d1a9d1 fix notice 2020-12-14 13:18:23 +02:00
Yuri Kuznetsov
a2be80501a fix query composer notices 2020-12-14 13:15:07 +02:00
Yuri Kuznetsov
e19462c045 fix query composer notice 2020-12-14 13:10:07 +02:00
Yuri Kuznetsov
8a23bba39a fix authentication param order 2020-12-14 13:01:37 +02:00
Yuri Kuznetsov
105b494710 fix binding for php 8 2020-12-14 12:49:16 +02:00
dependabot[bot]
e35ecf96ca Bump ini from 1.3.5 to 1.3.7 (#1862)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-14 11:19:34 +02:00
Yuri Kuznetsov
df16f37912 cleanup 2020-12-09 14:25:53 +02:00
Yuri Kuznetsov
d3dcaa92e5 log handlers 2020-12-08 14:24:56 +02:00
Yuri Kuznetsov
b1e31c9999 fix tests 2020-12-08 12:53:16 +02:00
Yuri Kuznetsov
3a89b16b91 log naming change 2020-12-07 16:13:51 +02:00
Yuri Kuznetsov
06ff48515c log cleanup 2020-12-07 16:01:49 +02:00
Yuri Kuznetsov
b870025f88 cleanup 2020-12-07 13:39:57 +02:00
Yuri Kuznetsov
7041a9ca9d mysql locker fix 2020-12-07 12:13:20 +02:00
Yuri Kuznetsov
2f40830630 update mail-mime-parser 2020-12-07 12:04:09 +02:00
Yuri Kuznetsov
55b7d81922 pdf font face list 2020-12-07 11:46:56 +02:00
Yuri Kuznetsov
07d63013aa cleanup 2020-12-05 22:16:48 +02:00
Yuri Kuznetsov
70d15cbac5 pdf barcode tag 2020-12-05 15:37:14 +02:00
Yuri Kuznetsov
d3d710b2b9 v 2020-12-04 15:04:36 +02:00
Yuri Kuznetsov
4426d81e77 fix category tree 2020-12-04 14:28:04 +02:00
Yuri Kuznetsov
fad183e20a kanban order fix 2020-12-03 16:28:03 +02:00
Yuri Kuznetsov
ad2e977b7c cs fix 2020-12-03 15:52:14 +02:00
Yuri Kuznetsov
6b3e81e3fd settings currency validation 2020-12-03 11:56:44 +02:00
Yuri Kuznetsov
dd708778d6 field clone validations 2020-12-03 11:56:15 +02:00
Yuri Kuznetsov
0bc06f3cae fix autofollow 2020-12-02 11:04:33 +02:00
Yuri Kuznetsov
0ab8853455 fix notification for portal user 2020-12-01 13:14:17 +02:00
Yuri Kuznetsov
bdf5664672 Merge branch 'hotfix/6.0.8' 2020-12-01 12:15:16 +02:00
Yuri Kuznetsov
83a44c60c1 pdf tool 2020-12-01 12:14:08 +02:00
Yuri Kuznetsov
a612ffd2d2 fix pdf google maps 2020-12-01 11:40:23 +02:00
Yuri Kuznetsov
43b529ea8b Merge branch 'stable' 2020-12-01 10:23:52 +02:00
Yuri Kuznetsov
bc19a6bb5f flotr2 fix 2020-11-30 12:48:53 +02:00
Eymen Elkum
8cc6a2ddf0 fix bc (#1853) 2020-11-29 11:25:07 +02:00
Yuri Kuznetsov
c1f0c47cf7 bc fix 2020-11-28 19:33:12 +02:00
Yuri Kuznetsov
7e71eb0aeb fix warning 2020-11-27 18:42:52 +02:00
Taras Machyshyn
196f787a1f Fix installer for PHP 8 2020-11-27 17:32:00 +02:00
Taras Machyshyn
b7bec1793c Fix installer for PHP 8 2020-11-27 12:26:57 +02:00
Taras Machyshyn
b97aa8e3a7 Fix gitignore 2020-11-27 12:26:30 +02:00
Taras Machyshyn
21dcf59f21 Fix gitignore 2020-11-27 12:25:06 +02:00
Taras Machyshyn
326b6c8c53 Merge branch 'hotfix/6.0.7' of https://github.com/espocrm/espocrm into hotfix/6.0.7 2020-11-27 12:16:34 +02:00
Taras Machyshyn
7ebf0e7bf8 Fix installer for PHP 8 2020-11-27 12:16:01 +02:00
Yuri Kuznetsov
014df8b9d3 Merge branch 'hotfix/6.0.7' of github.com:espocrm/espocrm into hotfix/6.0.7 2020-11-27 12:12:28 +02:00
Yuri Kuznetsov
6d85055147 fix loaders 2020-11-27 12:12:16 +02:00
Taras Machyshyn
077f7d8855 Fix installer for PHP 8 2020-11-27 12:03:04 +02:00
Taras Machyshyn
296484360f Fix installer for PHP 8 2020-11-27 11:03:40 +02:00
Yuri Kuznetsov
08fa801878 htmlizer injectable factory 2020-11-26 13:13:38 +02:00
Yuri Kuznetsov
426260de00 Merge branch 'master' of github.com:espocrm/espocrm 2020-11-26 13:01:44 +02:00
Yuri Kuznetsov
86ff40e408 Merge branch 'hotfix/6.0.7' 2020-11-26 13:01:29 +02:00
Yuri Kuznetsov
1071f8a045 v 2020-11-26 12:09:45 +02:00
Yuri Kuznetsov
962d3a049c disable edit access to user email address 2020-11-26 09:44:22 +02:00
Yuri Kuznetsov
4272376278 tab groups 2020-11-25 13:47:48 +02:00
Yuri Kuznetsov
3d2857eec2 Update CONTRIBUTING.md 2020-11-25 13:45:48 +02:00
Yuri Kuznetsov
4c0298aed9 Update CONTRIBUTING.md 2020-11-25 13:44:27 +02:00
Yuri Kuznetsov
161859606a ceanup 2020-11-21 14:20:14 +02:00
Yuri Kuznetsov
a71df0cff6 fix layout 2020-11-20 09:52:54 +02:00
Yuri Kuznetsov
e9917f4fca Merge branch 'stable' 2020-11-18 13:28:49 +02:00
Yuri Kuznetsov
fb9ff0b8c0 fix deprecated 2020-11-18 13:16:24 +02:00
Yuri Kuznetsov
d1a62baa12 fix deprecated 2020-11-18 12:53:17 +02:00
Yuri Kuznetsov
cdec7ccfe8 v 2020-11-18 11:34:14 +02:00
Yuri Kuznetsov
25bc3a40f7 fix export currency 2020-11-18 09:41:54 +02:00
Yuri Kuznetsov
826ba4c97c app info improvements 2020-11-17 12:51:22 +02:00
Yuri Kuznetsov
5ef73d3c08 fix typo 2020-11-17 11:49:20 +02:00
Yuri Kuznetsov
26e1d1d81d di binding 2020-11-17 11:35:41 +02:00
Yuri Kuznetsov
a76f5498cb Merge branch 'stable' 2020-11-16 15:00:33 +02:00
Yuri Kuznetsov
02e5c1fc44 v 2020-11-16 13:40:49 +02:00
Yuri Kuznetsov
844e9dd8e3 Merge branch 'hotfix/6.0.5' of github.com:espocrm/espocrm into hotfix/6.0.5 2020-11-16 13:38:16 +02:00
Yuri Kuznetsov
39f2ec83d5 fix duplicate attachments multiple 2020-11-16 13:35:53 +02:00
Taras Machyshyn
e4d2af03a5 Fixed PHP binary path 2020-11-16 13:34:24 +02:00
Taras Machyshyn
37616d69bf Merge branch 'hotfix/6.0.5' of https://github.com/espocrm/espocrm into hotfix/6.0.5 2020-11-16 13:28:03 +02:00
Taras Machyshyn
4e36f71dd8 Fixed PHP binary path 2020-11-16 13:27:16 +02:00
Yuri Kuznetsov
b5877ac32a fix person name 2020-11-16 13:03:56 +02:00
Yuri Kuznetsov
66075b3d9d Merge branch 'master' of github.com:espocrm/espocrm 2020-11-16 11:26:03 +02:00
Yuri Kuznetsov
524773f855 update packages 2020-11-16 11:25:18 +02:00
Yuri Kuznetsov
92de588a6e update npm packages 2020-11-16 11:07:12 +02:00
Yuri Kuznetsov
700f4b5b10 fix export 2020-11-14 10:24:22 +02:00
Yuri Kuznetsov
9c0a7b6778 app service changes 2020-11-13 12:39:27 +02:00
Yuri Kuznetsov
9a54c66f68 preferences fixes 2020-11-13 12:32:13 +02:00
Yuri Kuznetsov
83332178a0 fix acl check command 2020-11-12 15:05:03 +02:00
Yuri Kuznetsov
2935118dab repository: calling updateFetchedValues always after save 2020-11-10 13:17:36 +02:00
Yuri Kuznetsov
fb33c2acf1 fix task panel layout 2020-11-10 12:48:40 +02:00
Yuri Kuznetsov
989d431acf auth token manager 2020-11-10 10:51:50 +02:00
Yuri Kuznetsov
3c5914b5d9 fix text filter by foreign field 2020-11-10 09:22:20 +02:00
Taras Machyshyn
8c48f72a3c Command fix 2020-11-09 15:16:30 +02:00
Yuri Kuznetsov
2d385c163f entity manager page 2020-11-05 14:12:57 +02:00
Yuri Kuznetsov
4e1e6bf776 search apply button 2020-11-04 14:23:11 +02:00
Taras Machyshyn
a8ce780718 Upgrade fix 2020-11-04 10:23:07 +02:00
Yuri Kuznetsov
0d50bc9563 Merge branch 'hotfix/6.0.4' 2020-11-03 16:44:40 +02:00
Yuri Kuznetsov
31eff86578 fix link search blur 2020-11-03 16:44:20 +02:00
Yuri Kuznetsov
35cefea3a8 cleanup and cs fix 2020-11-03 12:51:10 +02:00
Yuri Kuznetsov
4fc7700e7e Merge branch 'master' of https://github.com/espocrm/espocrm 2020-11-03 12:25:51 +02:00
Yuri Kuznetsov
3b2c776060 Merge branch 'hotfix/6.0.4' 2020-11-03 12:25:38 +02:00
Yuri Kuznetsov
892f9f01f6 export xlsx currency format 2020-11-03 10:43:33 +02:00
Yuri Kuznetsov
860a58847d currency format 10 $ 2020-11-03 10:03:12 +02:00
Yuri Kuznetsov
103e67ab8e Merge branch 'hotfix/6.0.4' 2020-11-02 12:56:14 +02:00
Yuri Kuznetsov
1ed90d2306 v 2020-11-02 12:55:01 +02:00
Yuri Kuznetsov
aff0b350f3 fix portal runner 2020-11-02 12:54:13 +02:00
Yuri Kuznetsov
72256e7f8b fix notifications 2020-11-02 12:50:31 +02:00
Yuri Kuznetsov
8cdbcdcb8c kanban order 2020-11-02 12:28:19 +02:00
Yuri Kuznetsov
218dba2c78 Merge branch 'hotfix/6.0.4' 2020-11-02 12:24:30 +02:00
Yuri Kuznetsov
68b8230b99 popup notifications grouped request 2020-11-02 12:24:03 +02:00
Yuri Kuznetsov
9d872c3fd7 cs fix 2020-11-02 11:13:06 +02:00
Yuri Kuznetsov
651b0be5ed add log to slim 2020-10-31 13:38:11 +02:00
Yuri Kuznetsov
cead33c09d template manager image 2020-10-30 09:26:37 +02:00
Yuri Kuznetsov
80602c084f fix pdf page number 2020-10-29 16:34:49 +02:00
Yuri Kuznetsov
9f2b2de261 Merge branch 'stable' 2020-10-28 13:26:46 +02:00
Yuri Kuznetsov
b0420b8b93 fix email folder 2020-10-28 13:19:49 +02:00
Yuri Kuznetsov
b47018cbab hide email menu items in portal 2020-10-28 11:58:44 +02:00
Yuri Kuznetsov
ea69ab6eaf v 2020-10-28 11:12:51 +02:00
Eymen Elkum
92887401b2 address view remove duplicated codes (#1823) 2020-10-28 11:10:52 +02:00
Yuri Kuznetsov
df0bda6324 Merge branch 'hotfix/6.0.3' of github.com:espocrm/espocrm into hotfix/6.0.3 2020-10-28 11:05:37 +02:00
Yuri Kuznetsov
9d67808496 fix tester 2020-10-28 11:02:24 +02:00
Yuri Kuznetsov
cf33a98f20 fix activities and select manager 2020-10-27 17:04:49 +02:00
Yuri Kuznetsov
afbda344ec fix export specific fields 2020-10-27 14:25:47 +02:00
Yuri Kuznetsov
1079597584 fix 2fa 2020-10-27 14:13:00 +02:00
Yuri Kuznetsov
8110b7ba4b Merge branch 'stable' 2020-10-27 12:45:51 +02:00
Yuri Kuznetsov
af9b411a4c diff all patch versions 2020-10-27 12:07:39 +02:00
Yuri Kuznetsov
cd49d951d8 v 2020-10-27 11:59:55 +02:00
Yuri Kuznetsov
7d63c114aa fix export all fields 2020-10-27 11:06:52 +02:00
Yuri Kuznetsov
af6f05ba07 formula fix logical operator priority 2020-10-27 10:31:42 +02:00
Yuri Kuznetsov
46f8eb0cdb formula fix logical not 2020-10-27 10:23:03 +02:00
Pomazan Bogdan
c543bb5a5b Update Admin.json (#1814) 2020-10-26 15:36:46 +02:00
Pomazan Bogdan
95ed02f0e4 Update Admin.json (#1814) 2020-10-26 15:34:51 +02:00
Yuri Kuznetsov
87e94bc5a7 Merge branch 'master' of github.com:espocrm/espocrm 2020-10-26 14:58:18 +02:00
Yuri Kuznetsov
d1997089e4 v 2020-10-26 13:06:11 +02:00
Yuri Kuznetsov
57dd0177f9 fix export 2020-10-25 18:56:57 +02:00
Yuri Kuznetsov
ba76e5ee3d fix language manager 2020-10-25 18:54:34 +02:00
Yuri Kuznetsov
b757f18d53 kanban refactoring 2020-10-24 17:23:48 +03:00
Yuri Kuznetsov
76c93b842c case close reject actions only if available in status list 2020-10-23 10:25:26 +03:00
Yuri Kuznetsov
e73bff5ddf v 2020-10-22 12:14:40 +03:00
Yuri Kuznetsov
7d5c0d754e fix upgrade script 2020-10-22 11:47:59 +03:00
Taras Machyshyn
e08a74b129 Bug fixes 2020-10-22 11:30:00 +03:00
Taras Machyshyn
be07aafaf4 Fix 2020-10-21 15:33:42 +03:00
Taras Machyshyn
e2bf27e524 Fix 2020-10-21 12:00:47 +03:00
Yuri Kuznetsov
b0157adbe2 cs fix 2020-10-21 09:40:34 +03:00
Yuri Kuznetsov
239593afb5 fix mass actions 2020-10-21 09:31:42 +03:00
Yuri Kuznetsov
b97d764588 fix error msg 2020-10-19 15:30:36 +03:00
Yuri Kuznetsov
bf8e7af984 export fixes 2020-10-19 15:19:24 +03:00
Yuri Kuznetsov
bf68c475e5 email queue items filters email 2020-10-19 13:37:06 +03:00
Yuri Kuznetsov
29624239ba search queue items 2020-10-19 13:35:43 +03:00
Yuri Kuznetsov
4cb3c4918b campaign log search by email address 2020-10-19 12:59:36 +03:00
Yuri Kuznetsov
26fa0d65e1 fix campaign log search 2020-10-19 12:57:17 +03:00
Yuri Kuznetsov
958baed3df fix email invalid on bounced 2020-10-19 12:35:48 +03:00
Yuri Kuznetsov
40d6fb7565 fix export 2020-10-15 19:40:37 +03:00
Yuri Kuznetsov
a7551b7dbf fix request getContentType 2020-10-15 17:35:58 +03:00
Yuri Kuznetsov
9ed33c4dc4 remove self assign in portal 2020-10-14 16:23:02 +03:00
Yuri Kuznetsov
6b18fbe8f7 select manager fix 2020-10-14 15:48:52 +03:00
Yuri Kuznetsov
53b9880ea8 entry point changes 2020-10-14 15:15:09 +03:00
Yuri Kuznetsov
62538664df Merge branch 'master' of github.com:espocrm/espocrm 2020-10-14 13:17:56 +03:00
Yuri Kuznetsov
f678fb16cc ouauth callback changes 2020-10-14 13:17:46 +03:00
Yuri Kuznetsov
fe09aa1cd9 cs fix 2020-10-13 11:01:52 +03:00
Yuri Kuznetsov
710decc610 fix htmlizer and email template no id 2020-10-13 10:47:37 +03:00
Yuri Kuznetsov
5d481d3528 email auto reply error log 2020-10-13 10:47:27 +03:00
Yuri Kuznetsov
8bcd3b72c5 hook fix 2020-10-13 09:56:13 +03:00
Yuri Kuznetsov
0a0da810e9 application state changes 2020-10-13 09:56:04 +03:00
Yuri Kuznetsov
e630c046fe Merge branch 'hotfix/5.9.5' 2020-10-12 14:01:49 +03:00
Yuri Kuznetsov
2857b5c53d fix import button 2020-10-12 14:00:25 +03:00
Yuri Kuznetsov
0965c61f55 fix reminder submition 2020-10-12 10:14:17 +03:00
Yuri Kuznetsov
9dd318b176 fix label 2020-10-10 16:08:58 +03:00
Yuri Kuznetsov
f8beca720c label fixes 2020-10-10 16:06:57 +03:00
Yuri Kuznetsov
d8f58dcc1d upgrade cleanup 2020-10-09 14:58:34 +03:00
Yuri Kuznetsov
32aaaa350e v 2020-10-09 14:37:50 +03:00
Yuri Kuznetsov
0f6d1c6817 fix diff: ignore upgrades 2020-10-09 13:56:41 +03:00
Yuri Kuznetsov
8c5a342a5a fix diff 2020-10-09 13:53:07 +03:00
Yuri Kuznetsov
257401898b upgrade cleanup files and fix msg 2020-10-09 12:24:24 +03:00
Yuri Kuznetsov
e7ff3f903a fix email modal 2020-10-08 14:05:28 +03:00
Taras Machyshyn
6f82638b5d Upgrade script 2020-10-07 17:46:08 +03:00
Taras Machyshyn
0625ce51c4 Upgrade script 2020-10-07 17:26:11 +03:00
Taras Machyshyn
f5670436d0 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-10-07 17:19:05 +03:00
Taras Machyshyn
5d20a56ac8 Upgrade script 2020-10-07 17:18:34 +03:00
Yuri Kuznetsov
020cf9713a Merge branch 'master' of https://github.com/espocrm/espocrm 2020-10-07 16:49:33 +03:00
Yuri Kuznetsov
fe1361fc9c portal action list restriction 2020-10-07 16:49:01 +03:00
Taras Machyshyn
36621be496 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-10-07 15:51:31 +03:00
Taras Machyshyn
25690030d1 Installation fixes 2020-10-07 15:50:57 +03:00
Yuri Kuznetsov
fcd6be3a0c fix password recovery 2020-10-07 15:39:03 +03:00
Yuri Kuznetsov
ad8dfa487c fix convert lead 2020-10-07 15:13:39 +03:00
Yuri Kuznetsov
7f6f54628d cs fix 2020-10-07 15:04:42 +03:00
Taras Machyshyn
8ea0b072c6 Installation fixes 2020-10-07 14:22:21 +03:00
Yuri Kuznetsov
0df6248226 getPhpSafeContents for unix 2020-10-07 13:12:55 +03:00
Yuri Kuznetsov
26a132658e date after before validation autocomplete 2020-10-07 12:42:51 +03:00
Yuri Kuznetsov
d02529ee86 Merge branch 'hotfix/5.9.5' 2020-10-07 11:02:01 +03:00
Yuri Kuznetsov
0cec0fef51 fix image orientation 2020-10-07 11:01:32 +03:00
Yuri Kuznetsov
e56f6ab75d fix image orientation 2020-10-07 10:55:39 +03:00
Yuri Kuznetsov
a4980aa8f2 cs fix 2020-10-07 10:53:21 +03:00
Yuri Kuznetsov
fd219b49be calendar modal fix 2020-10-06 13:44:35 +03:00
Yuri Kuznetsov
b90579aadc cs fix 2020-10-06 13:44:18 +03:00
Yuri Kuznetsov
0b39d7f6b6 cs fix 2020-10-06 12:13:17 +03:00
Yuri Kuznetsov
a44ce06162 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-10-06 12:02:35 +03:00
Yuri Kuznetsov
f1eb2ab5d5 cs fix 2020-10-06 12:00:48 +03:00
Yuri Kuznetsov
9a965bfba4 v 2020-10-05 15:27:48 +03:00
Yuri Kuznetsov
7349f37786 fix admin panel 2020-10-05 12:21:11 +03:00
Yuri Kuznetsov
3d03dfaef7 css fix 2020-10-03 19:01:19 +03:00
Yuri Kuznetsov
5bf88eaff1 categories tree improvements 2020-10-03 18:59:56 +03:00
Yuri Kuznetsov
f3c4b2ba39 image preview improvements 2020-10-03 17:24:05 +03:00
Yuri Kuznetsov
92f6fb4588 settings tooltips 2020-10-03 12:27:54 +03:00
Yuri Kuznetsov
2d6d7fd618 list tree css fix 2020-10-02 14:57:26 +03:00
Yuri Kuznetsov
3a1d997d5a orm cleanup 2020-10-01 20:18:35 +03:00
Yuri Kuznetsov
5bbb259c95 orm fix order list 2020-10-01 20:16:32 +03:00
Yuri Kuznetsov
b8e44767b3 upgrade real estate compatibility check 2020-10-01 16:27:46 +03:00
Yuri Kuznetsov
6b486beb5c fix autoload 2020-10-01 14:25:12 +03:00
Yuri Kuznetsov
aab1265e4e data cache get safe contents 2020-10-01 14:08:03 +03:00
Yuri Kuznetsov
676181a4be fix ldap 2020-10-01 13:32:06 +03:00
Yuri Kuznetsov
839e5b7c74 data cache support onlt array and stdclass 2020-10-01 12:51:25 +03:00
Yuri Kuznetsov
aff7003ceb cs fix 2020-10-01 12:01:51 +03:00
Yuri Kuznetsov
66aa60f303 file rename in loop for windows 2020-10-01 11:44:01 +03:00
Yuri Kuznetsov
b196811cf9 fix notice 2020-10-01 10:24:36 +03:00
Yuri Kuznetsov
3fdddadd53 cs fix 2020-09-30 17:42:07 +03:00
Yuri Kuznetsov
7af2d1d3ac v 2020-09-30 15:00:22 +03:00
Yuri Kuznetsov
63670e3245 ldap fix 2020-09-30 12:24:36 +03:00
Yuri Kuznetsov
389931bf22 cs fix 2020-09-30 12:24:31 +03:00
Yuri Kuznetsov
76a67d15a3 ldap fix 2020-09-30 12:18:17 +03:00
Yuri Kuznetsov
8e65f2d375 cleanup 2020-09-30 12:17:58 +03:00
Yuri Kuznetsov
56737f5d67 ldap fix 2020-09-30 12:04:22 +03:00
Yuri Kuznetsov
20f8fae2f0 fix email import 2020-09-30 10:16:58 +03:00
Yuri Kuznetsov
17b5d77d33 fix json function 2020-09-30 09:44:45 +03:00
Yuri Kuznetsov
cbe32c88b6 email: move to folder from trash 2020-09-30 09:18:22 +03:00
Yuri Kuznetsov
dee291f3f6 email folder select modal css fix 2020-09-30 09:13:59 +03:00
Yuri Kuznetsov
0b20c8e13f fix docs link 2020-09-29 15:16:32 +03:00
Yuri Kuznetsov
c0af0173e9 json retrieve function 2020-09-29 13:28:39 +03:00
Yuri Kuznetsov
79f4c4b5d2 cs fix 2020-09-29 13:07:48 +03:00
Yuri Kuznetsov
31c8be2ee1 cs fixes 2020-09-29 10:06:49 +03:00
Yuri Kuznetsov
061b237032 portal fixes 2020-09-29 10:05:54 +03:00
Yuri Kuznetsov
d3466e201d fix 2020-09-29 09:38:43 +03:00
Taras Machyshyn
c69c7d2194 Added new options in upgrade command 2020-09-28 19:46:19 +03:00
Yuri Kuznetsov
05e1624e47 fix notice 2020-09-28 16:04:18 +03:00
Yuri Kuznetsov
03e32412ca varchar 150 max length by default 2020-09-28 15:25:58 +03:00
Yuri Kuznetsov
451a2376a8 fix field manager 2020-09-28 15:22:38 +03:00
Yuri Kuznetsov
167c774446 email: only read access in poral roles 2020-09-28 15:11:08 +03:00
Yuri Kuznetsov
054262a002 fix tester 2020-09-28 13:10:26 +03:00
Yuri Kuznetsov
ecbc3c537f cs fix 2020-09-28 12:57:25 +03:00
Yuri Kuznetsov
d51bbfdfab fix portal role clear cache 2020-09-28 12:36:09 +03:00
Yuri Kuznetsov
ae343cddbe fix dashlet layout field 2020-09-28 12:20:38 +03:00
Yuri Kuznetsov
bb03fec604 portal index refactoring 2020-09-25 15:13:37 +03:00
Yuri Kuznetsov
248c9a6b00 entry point route detection 2020-09-25 14:46:18 +03:00
Yuri Kuznetsov
dec5e0be5f cs fix 2020-09-25 13:26:22 +03:00
Yuri Kuznetsov
bcbb29d94e fix portal list view url 2020-09-25 13:09:17 +03:00
Yuri Kuznetsov
3e2f995ba8 v 2020-09-25 12:39:50 +03:00
Yuri Kuznetsov
56b3b9d94d Merge branch 'master' of github.com:espocrm/espocrm 2020-09-25 12:16:01 +03:00
Yuri Kuznetsov
9b2ac0d443 fix record grid 2020-09-25 12:15:48 +03:00
Yuri Kuznetsov
3ee78c29cb cs fixes 2020-09-25 10:24:14 +03:00
Yuri Kuznetsov
548e829f2f cs fix 2020-09-25 10:16:05 +03:00
Taras Machyshyn
749c161aaa Upgrade fixes 2020-09-23 19:31:52 +03:00
Yuri Kuznetsov
aee6b99a47 fix language 2020-09-23 15:45:26 +03:00
Yuri Kuznetsov
700262e07b cleanup 2020-09-23 12:37:50 +03:00
Yuri Kuznetsov
c4cd9d3ee8 manual merge 2020-09-23 12:23:56 +03:00
Yuri Kuznetsov
235d8f2264 package lock version 2020-09-23 11:14:29 +03:00
Yuri Kuznetsov
6268f84b45 upgrade command fixes 2020-09-23 10:36:00 +03:00
Yuri Kuznetsov
e2b49931c3 Merge branch 'hotfix/5.9.4' 2020-09-23 10:18:25 +03:00
Yuri Kuznetsov
9cfab5a7ea upgrade fix 2020-09-23 10:17:07 +03:00
Yuri Kuznetsov
66114e4748 bc fix 2020-09-22 15:38:30 +03:00
Yuri Kuznetsov
4ea9868285 email account fixes 2020-09-22 15:24:49 +03:00
Yuri Kuznetsov
2c09eacbd4 fix bc 2020-09-22 14:48:40 +03:00
Yuri Kuznetsov
2d5c01f25d fix upgrade 2020-09-22 13:20:32 +03:00
Yuri Kuznetsov
9610695701 fix email account 2020-09-22 10:01:00 +03:00
Yuri Kuznetsov
b7062a2b75 imap: support tls 2020-09-22 09:53:01 +03:00
Yuri Kuznetsov
3100d43af0 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-09-21 17:41:12 +03:00
Yuri Kuznetsov
53606cbde5 cs fix 2020-09-21 17:40:56 +03:00
Yuri Kuznetsov
ca6d1d24f4 fix tests 2020-09-21 15:24:27 +03:00
Yuri Kuznetsov
928a8c75e8 data cache usage 2020-09-21 15:12:35 +03:00
Yuri Kuznetsov
693df2d6fb data cache usage 2020-09-21 14:43:36 +03:00
Yuri Kuznetsov
bc3cea0b86 Data Cache usage 2020-09-21 14:14:59 +03:00
Yuri Kuznetsov
feba3cd05e fix varexport 2020-09-21 12:02:54 +03:00
Yuri Kuznetsov
e6b31b8c45 data cache usage 2020-09-21 11:48:49 +03:00
Yuri Kuznetsov
79efc87ed2 data cache usage 2020-09-21 11:40:26 +03:00
Yuri Kuznetsov
e17b88ca74 data cache usage 2020-09-21 11:30:07 +03:00
Yuri Kuznetsov
0020a5ea4a data cache usage 2020-09-21 11:20:56 +03:00
Yuri Kuznetsov
5778167b01 amend 2020-09-21 11:18:39 +03:00
Yuri Kuznetsov
2b11414445 var export fix 2020-09-21 11:16:23 +03:00
Yuri Kuznetsov
e7b51ef61d using data cache 2020-09-20 20:44:09 +03:00
Yuri Kuznetsov
ca969ee79b change metadata loader 2020-09-20 20:12:55 +03:00
Yuri Kuznetsov
9ff62f9e28 cs fix 2020-09-20 16:57:48 +03:00
Yuri Kuznetsov
5c5cbf2933 fix test 2020-09-20 16:10:28 +03:00
Yuri Kuznetsov
91c5caee63 DataCache util 2020-09-20 15:56:03 +03:00
Yuri Kuznetsov
7aa439efbb comments fix 2020-09-20 14:04:08 +03:00
Yuri Kuznetsov
7baf49aa7e cs fix 2020-09-19 23:59:59 +03:00
Yuri Kuznetsov
d7476c1de8 fix class parser 2020-09-19 16:43:07 +03:00
Yuri Kuznetsov
d3e99a6de8 cron manager fix 2020-09-19 16:28:31 +03:00
Yuri Kuznetsov
893f9d50c3 cs fixes and array values cleanup 2020-09-19 16:19:55 +03:00
Yuri Kuznetsov
a565766fcb cs fix 2020-09-19 15:46:49 +03:00
Yuri Kuznetsov
89e517e47b array value: use transactions 2020-09-19 15:45:15 +03:00
Yuri Kuznetsov
39d51bb68f cs fix 2020-09-19 14:20:52 +03:00
Yuri Kuznetsov
5e3168039a emailaddress phonenumber repository fixes 2020-09-19 14:00:07 +03:00
Yuri Kuznetsov
f75062694f rebuild fixes 2020-09-18 17:27:02 +03:00
Yuri Kuznetsov
cb3c3f18ee css changes 2020-09-18 15:07:42 +03:00
Yuri Kuznetsov
2415b29d45 css change 2020-09-18 14:40:06 +03:00
Yuri Kuznetsov
7fb162be77 dashboard fixes 2020-09-18 11:38:57 +03:00
Yuri Kuznetsov
bf93834fd3 refactoring 2020-09-17 20:17:07 +03:00
Yuri Kuznetsov
63452d1bb2 update bull 2020-09-17 17:46:57 +03:00
Yuri Kuznetsov
5e26dbd870 preload gridstack 2020-09-17 17:23:45 +03:00
Yuri Kuznetsov
fb782d67ed loader improvement 2020-09-17 17:23:30 +03:00
Yuri Kuznetsov
864c91cd18 css fix 2020-09-17 16:54:17 +03:00
Yuri Kuznetsov
038479564b update gridstack 2020-09-17 16:50:14 +03:00
Yuri Kuznetsov
08c0dfc4ef fix dashboard template 2020-09-17 16:32:41 +03:00
Yuri Kuznetsov
019291b707 css changes 2020-09-17 14:36:59 +03:00
Yuri Kuznetsov
1d84bbb548 fix warning 2020-09-17 12:52:18 +03:00
Yuri Kuznetsov
5ceb5c848e field converer class name in metadata 2020-09-17 11:14:13 +03:00
Yuri Kuznetsov
b00e94bae9 get rid of phone and email attribute types 2020-09-17 10:57:10 +03:00
Yuri Kuznetsov
46f6584577 lead capture tool 2020-09-17 10:46:51 +03:00
Yuri Kuznetsov
e3c651fcb9 Merge branch 'hotfix/5.9.4' 2020-09-16 13:46:29 +03:00
Yuri Kuznetsov
86a85ba177 Merge branch 'hotfix/5.9.4' of github.com:espocrm/espocrm into hotfix/5.9.4 2020-09-16 13:45:25 +03:00
Yuri Kuznetsov
36a4cb2451 fix formula int parsing 2020-09-16 13:44:56 +03:00
Yuri Kuznetsov
ab726e9490 fix formula int parsing 2020-09-16 13:43:46 +03:00
Yuri Kuznetsov
b9f75395b6 fix portal route 2020-09-16 13:03:02 +03:00
Yuri Kuznetsov
c0e4f83d83 fix mention hook 2020-09-16 12:53:28 +03:00
Yuri Kuznetsov
08e94694b2 fix lead capture 2020-09-16 12:51:13 +03:00
Yuri Kuznetsov
5112fd4fd3 fix export csv 2020-09-16 12:16:55 +03:00
Yuri Kuznetsov
2aafc6a82e test email error message 2020-09-16 11:51:23 +03:00
Yuri Kuznetsov
1f200d53f8 fix import update foreign 2020-09-16 11:07:32 +03:00
Yuri Kuznetsov
77a5c75007 orm: fix insert query 2020-09-16 10:50:58 +03:00
Yuri Kuznetsov
c44d4357a7 fix foreign phone number 2020-09-15 17:27:56 +03:00
Yuri Kuznetsov
2bf70e88ba fix repository usage 2020-09-15 15:29:09 +03:00
Yuri Kuznetsov
442bb998e4 Merge branch 'hotfix/5.9.4' 2020-09-15 14:34:22 +03:00
Eymen Elkum
6f60a73c62 minor fix (#1785) 2020-09-15 14:33:53 +03:00
Yuri Kuznetsov
106a5a77e7 upgrade extension check 2020-09-15 13:48:51 +03:00
Yuri Kuznetsov
2f3f13f34c list view image fit height 2020-09-15 13:34:06 +03:00
Yuri Kuznetsov
bc4a9a07b6 diff deleted fix 2020-09-15 12:53:45 +03:00
Yuri Kuznetsov
5ca5ee55ee fix diff 2020-09-15 12:25:18 +03:00
Yuri Kuznetsov
08636b550f upgrade cli check 2020-09-15 11:25:49 +03:00
Yuri Kuznetsov
b2aab26ded Merge branch 'master' of https://github.com/espocrm/espocrm 2020-09-15 11:01:58 +03:00
Yuri Kuznetsov
6d629d40e6 upgrade 6.0 changes 2020-09-15 11:01:41 +03:00
Yuri Kuznetsov
6e433ec9a4 diff fix 2020-09-15 10:43:26 +03:00
Yuri Kuznetsov
802a0229fa comment 2020-09-14 12:59:32 +03:00
Yuri Kuznetsov
41b4b86033 acl manager fix 2020-09-14 12:56:06 +03:00
Yuri Kuznetsov
63dca2712b fix action history 2020-09-14 12:40:14 +03:00
Yuri Kuznetsov
e06d104e10 bc fix 2020-09-14 12:15:09 +03:00
Yuri Kuznetsov
4ab2ee875e fix task 2020-09-14 11:55:58 +03:00
Yuri Kuznetsov
ac8debbb4b cs fixes and docs 2020-09-12 09:40:56 +03:00
Yuri Kuznetsov
8a7a2071b6 refactoring and route duplicate check 2020-09-11 22:59:11 +03:00
Yuri Kuznetsov
df471cf5a0 small fix 2020-09-11 17:29:15 +03:00
Yuri Kuznetsov
79665cc552 remove route duplicate check and cleanup 2020-09-11 17:23:59 +03:00
Taras Machyshyn
9c6932b124 Router fixes 2020-09-11 16:59:39 +03:00
Yuri Kuznetsov
4e30caf894 cleanup 2020-09-11 14:02:57 +03:00
Yuri Kuznetsov
1bbff54c07 orm usage fix 2020-09-11 13:41:44 +03:00
Yuri Kuznetsov
81ccf2a860 acceptance status fix 2020-09-11 13:32:12 +03:00
Yuri Kuznetsov
463007b218 refactor error output 2020-09-11 13:07:19 +03:00
Yuri Kuznetsov
ee53fffc67 refactor route processing 2020-09-11 12:33:35 +03:00
Taras Machyshyn
63351ed6b7 Integration tests fixes 2020-09-10 18:12:22 +03:00
Yuri Kuznetsov
87ba6f6ccc fix bc 2020-09-10 17:13:52 +03:00
Yuri Kuznetsov
efeceb3a5b fix admin ui 2020-09-10 16:56:14 +03:00
Yuri Kuznetsov
bb6fddad09 fix import 2020-09-10 16:49:41 +03:00
Yuri Kuznetsov
def9f6b70c cs fix 2020-09-10 16:34:02 +03:00
Yuri Kuznetsov
95bbbb1daa fix record service 2020-09-10 16:10:23 +03:00
Yuri Kuznetsov
0c759b9016 fix additionalTables 2020-09-10 16:03:34 +03:00
Yuri Kuznetsov
cb2d2dd363 code style fix 2020-09-10 12:54:24 +03:00
Taras Machyshyn
88948c4b66 BeforeUpgrade script 2020-09-10 12:35:42 +03:00
Yuri Kuznetsov
799626cfdc entity deprecated log 2020-09-10 12:13:47 +03:00
Yuri Kuznetsov
ab82a8748f fix orm usage and cs fix 2020-09-10 11:12:21 +03:00
Yuri Kuznetsov
6f78840aec orm usage fix 2020-09-10 11:00:50 +03:00
Yuri Kuznetsov
b94dc3c733 cs fix 2020-09-10 10:59:56 +03:00
Yuri Kuznetsov
de3c6bc45b cs fix 2020-09-10 10:34:45 +03:00
Yuri Kuznetsov
c17ae13fcf language functions 2020-09-10 10:29:36 +03:00
Yuri Kuznetsov
e936ecbabd duplicate ui fix 2020-09-10 10:20:33 +03:00
Yuri Kuznetsov
0f5105fee2 upgrade cleanup 2020-09-09 16:44:10 +03:00
Yuri Kuznetsov
07571ecc32 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-09-09 16:43:21 +03:00
Yuri Kuznetsov
3a4bc97abb revert 2020-09-09 16:43:12 +03:00
Taras Machyshyn
412966d8d0 Upgrade script: fixes 2020-09-09 16:10:46 +03:00
Taras Machyshyn
d8bf6048c1 Upgrade script: check MyISAM 2020-09-09 15:49:58 +03:00
Yuri Kuznetsov
f13f72ea16 fix upgrade 2020-09-09 15:11:46 +03:00
Yuri Kuznetsov
a7818227bd fixes 2020-09-09 12:36:37 +03:00
Yuri Kuznetsov
a4c45ecdcd fix grunt 2020-09-09 12:15:48 +03:00
Yuri Kuznetsov
a21671f1b7 entityManagerProxy 2020-09-09 12:09:09 +03:00
Yuri Kuznetsov
3fc0349550 fixes 2020-09-09 11:37:32 +03:00
Yuri Kuznetsov
fa177c41b7 v 2020-09-09 10:24:38 +03:00
Yuri Kuznetsov
f3675fb838 Merge branch 'hotfix/5.9.4' 2020-09-08 17:42:43 +03:00
Yuri Kuznetsov
72fd9184f4 fix link manager ui 2020-09-08 17:42:19 +03:00
Yuri Kuznetsov
2196020705 import refactoring 2020-09-08 17:29:59 +03:00
Yuri Kuznetsov
81465a50d6 do not allow sub dirs for services 2020-09-08 16:42:09 +03:00
Yuri Kuznetsov
a0ccbfcac5 container cleanup 2020-09-08 16:40:05 +03:00
Yuri Kuznetsov
eaa3cf6137 container services cleanup 2020-09-08 16:08:18 +03:00
Yuri Kuznetsov
32d4e2f281 fix orm usage 2020-09-08 15:51:33 +03:00
Yuri Kuznetsov
6454f6843b fix entity manager ui reset to default 2020-09-08 15:48:05 +03:00
Yuri Kuznetsov
22e67d39b0 fix portal preferences layout 2020-09-08 15:29:43 +03:00
Yuri Kuznetsov
7efbf6fd66 fix tests 2020-09-08 13:33:57 +03:00
Yuri Kuznetsov
eaf9c97f52 mass email: set teams for sent emails 2020-09-08 12:32:52 +03:00
Yuri Kuznetsov
5f7cee768d cs fixes 2020-09-08 12:27:32 +03:00
Yuri Kuznetsov
9c3b0aa289 console command exit 2020-09-08 12:09:02 +03:00
Yuri Kuznetsov
b3bf52bd9b console command no exception 2020-09-08 12:07:58 +03:00
Yuri Kuznetsov
1f07688881 import console command in classes 2020-09-08 12:03:19 +03:00
Yuri Kuznetsov
aafa30dbf9 export tool rename 2020-09-08 11:51:24 +03:00
Yuri Kuznetsov
e8f2e5efd1 import tool 2020-09-08 11:48:12 +03:00
Yuri Kuznetsov
c39e5bc02c fix controller manager 2020-09-08 11:21:53 +03:00
Yuri Kuznetsov
6576b5ef79 tools changes 2020-09-07 17:20:56 +03:00
o-data
bec4b2d627 Fix typo error for the word "unsubsribe" (previously: "unsubsbribe") (#1779)
* Update EmailTemplate.json

https://forum.espocrm.com/forum/bug-reports/62259-tipos-in-emailtemplate-create

* Update EmailTemplate.json

https://forum.espocrm.com/forum/bug-reports/62259-tipos-in-emailtemplate-create

* Update EmailTemplate.json

https://forum.espocrm.com/forum/bug-reports/62259-tipos-in-emailtemplate-create

* Update EmailTemplate.json

* Update EmailTemplate.json

https://forum.espocrm.com/forum/bug-reports/62259-tipos-in-emailtemplate-create
2020-09-07 15:42:39 +03:00
Yuri Kuznetsov
a36798534d fix 2020-09-07 14:58:33 +03:00
Yuri Kuznetsov
dbd945e828 cleanup 2020-09-07 14:56:02 +03:00
Yuri Kuznetsov
b5655bf8ee fixes 2020-09-07 14:42:44 +03:00
Yuri Kuznetsov
3637cf4512 list export in tools 2020-09-07 14:20:44 +03:00
Yuri Kuznetsov
4693d2aae8 fix tests 2020-09-07 13:01:06 +03:00
Yuri Kuznetsov
ece49bc4dd label manager in tool 2020-09-07 12:50:02 +03:00
Yuri Kuznetsov
f60115f18d entity manager in tools 2020-09-07 12:30:59 +03:00
Yuri Kuznetsov
90fdbc872e fieldUtil usage 2020-09-07 09:29:27 +03:00
Yuri Kuznetsov
7d5ad5d030 naming fix 2020-09-07 09:00:53 +03:00
Yuri Kuznetsov
bd0e7909a1 field manager hook refactor 2020-09-06 22:30:45 +03:00
Yuri Kuznetsov
cf3229a3c9 field manager tool 2020-09-06 22:11:48 +03:00
Yuri Kuznetsov
407f5fa53a classes folder 2020-09-06 15:54:44 +03:00
Yuri Kuznetsov
b1edce46ff cs fix 2020-09-06 11:12:52 +03:00
Yuri Kuznetsov
551ed091e7 cleanup 2020-09-04 15:38:37 +03:00
Yuri Kuznetsov
7645fa4e90 emailSender usage and fixes 2020-09-04 15:35:09 +03:00
Yuri Kuznetsov
396ce79d22 cleanup 2020-09-04 15:08:24 +03:00
Yuri Kuznetsov
60ad79fd64 email sending fixes and changes 2020-09-04 15:07:18 +03:00
Yuri Kuznetsov
2c9a6aa456 fix exception 2020-09-04 12:50:18 +03:00
Yuri Kuznetsov
3577dfda9f fix exception 2020-09-04 12:33:37 +03:00
Yuri Kuznetsov
31549f2851 duplicate handling change 2020-09-04 12:08:04 +03:00
Yuri Kuznetsov
c8ea3f869e error handling body 2020-09-04 12:07:53 +03:00
Yuri Kuznetsov
bc01c9f7c6 error handling fix 2020-09-04 11:26:08 +03:00
Yuri Kuznetsov
592df35acf cs fix 2020-09-04 10:17:15 +03:00
Yuri Kuznetsov
66f98aadf9 email sender test and fixes 2020-09-03 16:24:11 +03:00
Yuri Kuznetsov
17e420f01b email sender refactoring 2020-09-03 15:35:41 +03:00
Yuri Kuznetsov
44f6d57832 fix request 2020-09-03 14:52:34 +03:00
Yuri Kuznetsov
ae2cb10382 fix di 2020-09-03 13:47:57 +03:00
Taras Machyshyn
d68e08c3fd Merge branch 'master' of https://github.com/espocrm/espocrm 2020-09-03 12:23:43 +03:00
Taras Machyshyn
3921e8c287 Integration tests fixes 2020-09-03 12:22:50 +03:00
Yuri Kuznetsov
caf79d1657 email importer refactoring 2020-09-03 12:22:33 +03:00
Yuri Kuznetsov
7477ba64d2 unit tests fixes and changes 2020-09-03 10:35:10 +03:00
Yuri Kuznetsov
e006261fcf comment 2020-09-02 18:04:30 +03:00
Yuri Kuznetsov
2ddd9c2fc6 comment 2020-09-02 17:57:37 +03:00
Yuri Kuznetsov
5a7253f89b di service loading checking class correspondance 2020-09-02 17:56:47 +03:00
Yuri Kuznetsov
b68bc0f0b8 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-09-02 14:07:17 +03:00
Yuri Kuznetsov
edc4984f58 controller short param list 2020-09-02 13:59:48 +03:00
Taras Machyshyn
c8a2ca87ba Fixed Integration tests 2020-09-02 13:26:13 +03:00
Yuri Kuznetsov
4dcc9c42c8 cleanup and cs fixes 2020-09-02 11:37:40 +03:00
Yuri Kuznetsov
912fa4a85c fix tests 2020-09-02 11:33:51 +03:00
Yuri Kuznetsov
a64a4608be fixes 2020-09-02 11:20:16 +03:00
Yuri Kuznetsov
b20773f2f5 update composer 2020-09-02 11:03:11 +03:00
Yuri Kuznetsov
f9a440c708 fixes 2020-09-02 10:45:33 +03:00
Yuri Kuznetsov
d002768a5f refactoring 2020-09-02 10:09:15 +03:00
Yuri Kuznetsov
e0fcb9f225 request getParsedBody 2020-09-01 19:41:41 +03:00
Yuri Kuznetsov
a7ed16c72f controller ob_clean and some cs fix 2020-09-01 18:42:29 +03:00
Yuri Kuznetsov
1129d1c145 di refactoring 2020-09-01 17:50:28 +03:00
Yuri Kuznetsov
ee599c7ab8 cs fixes and orm usage fixes 2020-09-01 12:26:49 +03:00
Yuri Kuznetsov
1a5be5bf91 cs fix 2020-09-01 11:33:18 +03:00
Yuri Kuznetsov
db0020d428 orm usage fixes 2020-09-01 11:28:59 +03:00
Yuri Kuznetsov
138ca4299b fix orm usage 2020-09-01 11:10:46 +03:00
Yuri Kuznetsov
e9af1ebd80 comment fix 2020-08-31 20:23:00 +03:00
Yuri Kuznetsov
4d26e404b0 typo fix 2020-08-31 18:02:01 +03:00
Yuri Kuznetsov
b41813fa23 bc fix 2020-08-31 17:48:25 +03:00
Yuri Kuznetsov
b18796fd45 fix tests 2020-08-31 14:47:50 +03:00
Yuri Kuznetsov
d44898ed8c fixes 2020-08-31 13:30:01 +03:00
Yuri Kuznetsov
bb246cb4fd fix orm is related 2020-08-31 12:56:08 +03:00
Yuri Kuznetsov
17ceb3e721 fix syntax 2020-08-31 12:12:01 +03:00
Yuri Kuznetsov
8435c579c9 fix next number length index 2020-08-31 12:07:55 +03:00
Yuri Kuznetsov
3b4eb893b6 cleanup 2020-08-29 18:56:35 +03:00
Yuri Kuznetsov
54704bcee6 fixes 2020-08-29 18:39:59 +03:00
Yuri Kuznetsov
8bbfd862e4 cs fix 2020-08-28 16:28:17 +03:00
Yuri Kuznetsov
c909de0271 orm quote identifier 2020-08-28 14:47:04 +03:00
Yuri Kuznetsov
bd7f80a64e fix 2020-08-28 14:16:20 +03:00
Yuri Kuznetsov
2e15b5b271 orm fixes 2020-08-28 14:15:31 +03:00
Yuri Kuznetsov
0a61820f15 orm sth handling in repository 2020-08-28 13:27:34 +03:00
Yuri Kuznetsov
4b1af45cd6 orm improvements, relation where 2020-08-28 11:25:08 +03:00
Yuri Kuznetsov
756e3fcf39 cleanup 2020-08-27 17:33:53 +03:00
Yuri Kuznetsov
bb34ec1be3 cleanup 2020-08-27 17:32:07 +03:00
Yuri Kuznetsov
f98b86ae4d websocket app runner 2020-08-27 17:29:41 +03:00
Yuri Kuznetsov
eaa9a869f2 cleanup 2020-08-27 16:44:18 +03:00
Yuri Kuznetsov
d1f3dbf89b move defaults to resources 2020-08-27 16:41:57 +03:00
Yuri Kuznetsov
58c6208716 di usage 2020-08-27 15:09:14 +03:00
Yuri Kuznetsov
83eb252e82 update cron expression 2020-08-27 15:01:31 +03:00
Yuri Kuznetsov
fd7da4d2fc update semver 2020-08-27 14:52:15 +03:00
Yuri Kuznetsov
4f76c98cec cleanup not need methods 2020-08-27 14:37:41 +03:00
Yuri Kuznetsov
b7186e5da9 fix contact 2020-08-27 14:22:28 +03:00
Yuri Kuznetsov
b3276fb329 update tcpdf 2020-08-27 13:51:57 +03:00
Yuri Kuznetsov
5d2a31e65e preload refactoring 2020-08-27 13:31:10 +03:00
Yuri Kuznetsov
8eaa01f1bc toDb protected 2020-08-27 13:17:22 +03:00
Yuri Kuznetsov
9bee6e12b4 cleanup 2020-08-27 13:14:28 +03:00
Yuri Kuznetsov
50b2de8ce2 get rid off lock table sql 2020-08-27 13:12:44 +03:00
Yuri Kuznetsov
78b9e608e9 locker 2020-08-27 12:58:22 +03:00
Yuri Kuznetsov
944c91d842 rdb transaction manager 2020-08-26 17:19:29 +03:00
Yuri Kuznetsov
a936b9fec8 test move 2020-08-26 17:04:36 +03:00
Yuri Kuznetsov
1efdc626e0 more test for transactions 2020-08-26 13:35:20 +03:00
Yuri Kuznetsov
afca969668 rdb repository forUpdate 2020-08-26 13:22:58 +03:00
Yuri Kuznetsov
f72178f142 transaction integration test 2020-08-26 13:17:53 +03:00
Yuri Kuznetsov
2f4d744078 transaction manager 2020-08-26 12:54:16 +03:00
Yuri Kuznetsov
8563129dd5 select locking 2020-08-26 10:34:30 +03:00
Yuri Kuznetsov
ef1427bc95 orm group by string 2020-08-26 09:56:25 +03:00
Yuri Kuznetsov
20c07aaca1 orm fix 2020-08-26 09:37:59 +03:00
Yuri Kuznetsov
4470b3fdec change query update 2020-08-26 09:35:41 +03:00
Yuri Kuznetsov
1e4705d20b Merge branch 'hotfix/5.9.4' 2020-08-25 18:15:10 +03:00
Yuri Kuznetsov
0a5ae621b4 fix complex text 2020-08-25 18:11:38 +03:00
Yuri Kuznetsov
4e588f6d0e cs fix 2020-08-25 18:08:06 +03:00
Yuri Kuznetsov
f60c5e29de Merge branch 'hotfix/5.9.4' of https://github.com/espocrm/espocrm into hotfix/5.9.4 2020-08-25 18:04:36 +03:00
Yuri Kuznetsov
1662cfd97d notification form fix 2020-08-25 18:01:15 +03:00
Yuri Kuznetsov
8fdc0ab84d currency rate populate improvement 2020-08-25 17:39:32 +03:00
Yuri Kuznetsov
7c96fd391f account hook 2020-08-25 17:18:16 +03:00
Yuri Kuznetsov
2acbde70cc fix di usage 2020-08-25 16:52:41 +03:00
Yuri Kuznetsov
cb7d100315 ditch createSelectQuery usage 2020-08-25 16:08:15 +03:00
Yuri Kuznetsov
d96e1bb8a8 refactoring 2020-08-25 15:34:47 +03:00
Yuri Kuznetsov
d27a67f567 get rid of createSelectQuery usage 2020-08-25 15:20:52 +03:00
Yuri Kuznetsov
47ae974304 ditch raw sql 2020-08-25 14:56:34 +03:00
Yuri Kuznetsov
6ce168faa2 ditch raw sql 2020-08-25 14:39:28 +03:00
Yuri Kuznetsov
f9a8e1d9a7 fix comment 2020-08-25 14:24:54 +03:00
Yuri Kuznetsov
18543534fb ditch createSelectQuery usage 2020-08-25 14:23:29 +03:00
Yuri Kuznetsov
5349bd8d36 ditch raw sql 2020-08-25 14:10:29 +03:00
Yuri Kuznetsov
9a140571c3 ditch raw sql 2020-08-25 13:32:32 +03:00
Yuri Kuznetsov
a4e0dc8bb7 ditch raw sql 2020-08-25 12:59:11 +03:00
Yuri Kuznetsov
14788e2a65 ditch sql usage 2020-08-25 12:10:28 +03:00
Yuri Kuznetsov
c8118245e4 ditch raw sql 2020-08-25 11:10:06 +03:00
Yuri Kuznetsov
fcff23e0c1 ditch raw sql 2020-08-25 11:04:20 +03:00
Yuri Kuznetsov
85f07ca15d ditch raw sql 2020-08-25 10:44:04 +03:00
Yuri Kuznetsov
ed5a83c4f2 ditch raw sql 2020-08-25 10:04:40 +03:00
Yuri Kuznetsov
98e3ac0603 ditch raw sql 2020-08-25 09:53:33 +03:00
Yuri Kuznetsov
df01ef4e14 ditch raw sql 2020-08-25 09:40:43 +03:00
Yuri Kuznetsov
24a3e6872c ditch raw sql 2020-08-25 09:31:58 +03:00
Yuri Kuznetsov
3d491b63f2 fix sql executor and test 2020-08-25 09:20:17 +03:00
Yuri Kuznetsov
65dda61ff3 orm: select from alias 2020-08-25 08:52:21 +03:00
Yuri Kuznetsov
6d72a784fc fix comment 2020-08-19 21:10:57 +03:00
Yuri Kuznetsov
388e4a71e1 fix name 2020-08-19 21:10:24 +03:00
Yuri Kuznetsov
1f77c6468c orm refactoring 2020-08-19 17:29:36 +03:00
Yuri Kuznetsov
a242c283f3 cs fix 2020-08-19 14:16:12 +03:00
Yuri Kuznetsov
a09ed79242 cleanup 2020-08-19 14:13:34 +03:00
Yuri Kuznetsov
5116469856 cleanup 2020-08-19 12:55:28 +03:00
Yuri Kuznetsov
81c5583b5c cleanup 2020-08-19 12:51:30 +03:00
Yuri Kuznetsov
9d1233fe24 fix match 2020-08-19 12:50:58 +03:00
Yuri Kuznetsov
43c59f8d3e clearnup 2020-08-19 12:33:06 +03:00
Yuri Kuznetsov
3bebb7ff07 remove raw sql 2020-08-19 12:24:09 +03:00
Yuri Kuznetsov
05409dacde set id for autoincrement after insert 2020-08-19 11:36:49 +03:00
Yuri Kuznetsov
65929eec4b orm renaming 2020-08-18 21:02:49 +03:00
Yuri Kuznetsov
3d7a04be8e query executor method rename 2020-08-18 20:01:13 +03:00
Yuri Kuznetsov
0f1b8ecb39 orm fix 2020-08-18 19:55:14 +03:00
Yuri Kuznetsov
177d48e5a6 orm alias and select sub query 2020-08-18 19:50:10 +03:00
Yuri Kuznetsov
8b6b7dec06 remove raw sql 2020-08-18 17:14:12 +03:00
Yuri Kuznetsov
7011ef7615 cs fix 2020-08-18 15:14:55 +03:00
Yuri Kuznetsov
a8beabcd23 remove sql usage 2020-08-18 15:07:47 +03:00
Yuri Kuznetsov
c114ee8acb remove raw sql 2020-08-18 14:52:31 +03:00
Yuri Kuznetsov
aa121e326b remove raw sql 2020-08-18 14:15:12 +03:00
Yuri Kuznetsov
ad0c5a01dd fix 2020-08-18 13:58:54 +03:00
Yuri Kuznetsov
b66d60dd7d query builder use index 2020-08-18 13:55:46 +03:00
Yuri Kuznetsov
14993ad169 orm changes 2020-08-18 13:17:40 +03:00
Yuri Kuznetsov
dbf7147f22 fix 2020-08-18 13:04:30 +03:00
Yuri Kuznetsov
d3a8de29e3 category fix 2020-08-18 13:01:36 +03:00
Yuri Kuznetsov
98c42569ea grand orm improvements 2020-08-18 12:55:32 +03:00
Yuri Kuznetsov
1deebf0833 fix 2020-08-17 18:01:02 +03:00
Yuri Kuznetsov
3bc6b156a2 fix msg 2020-08-17 18:00:02 +03:00
Yuri Kuznetsov
0a52c50c47 cleanup 2020-08-17 17:58:20 +03:00
Yuri Kuznetsov
04c29294d6 fixes 2020-08-17 17:52:01 +03:00
Yuri Kuznetsov
9c28933882 preload 2020-08-17 17:51:49 +03:00
Yuri Kuznetsov
a5d8aed6fb app fix 2020-08-17 16:53:29 +03:00
Yuri Kuznetsov
4c52e36a0e test change 2020-08-17 16:27:56 +03:00
Yuri Kuznetsov
7c2403f470 orm fixes 2020-08-17 16:24:08 +03:00
Yuri Kuznetsov
99dfa52915 orm fix 2020-08-17 15:52:25 +03:00
Yuri Kuznetsov
3c5b61eca4 remove sth from relation select builder 2020-08-17 15:48:44 +03:00
Yuri Kuznetsov
2185479c01 changing account filters 2020-08-17 15:18:04 +03:00
Yuri Kuznetsov
fcbd48bc49 contact accountId change 2020-08-17 15:13:35 +03:00
Yuri Kuznetsov
db03f4f408 fixes 2020-08-17 13:49:20 +03:00
Yuri Kuznetsov
2f0e0d2a3b fix tests 2020-08-17 13:30:03 +03:00
Yuri Kuznetsov
1aeb5639c7 fix syntax 2020-08-17 11:53:30 +03:00
Yuri Kuznetsov
d14da8af12 fix test code 2020-08-17 11:53:22 +03:00
Yuri Kuznetsov
38e529ec14 fix tests 2020-08-17 11:14:24 +03:00
Yuri Kuznetsov
b44f055013 fix test 2020-08-17 10:34:17 +03:00
Yuri Kuznetsov
18aee37057 remove sql usage, person name field defs changes 2020-08-16 14:55:40 +03:00
Yuri Kuznetsov
83b5b9051d remove sql usage 2020-08-16 13:38:55 +03:00
Yuri Kuznetsov
e4141283f1 cleanup 2020-08-16 12:55:50 +03:00
Yuri Kuznetsov
209ad19164 orm fix and remove orm usage 2020-08-16 12:55:12 +03:00
Yuri Kuznetsov
52afb8d9d1 remove orm usage 2020-08-15 14:35:51 +03:00
Yuri Kuznetsov
ec6c1b0578 remove orm usage 2020-08-15 14:14:26 +03:00
Yuri Kuznetsov
7e97a9b2a4 fix meeting 2020-08-15 13:08:26 +03:00
Yuri Kuznetsov
8230dd07c4 no sql usage 2020-08-15 13:02:26 +03:00
Yuri Kuznetsov
16e7826981 no sql usage 2020-08-15 12:42:46 +03:00
Yuri Kuznetsov
17b9ae5089 fix bool search 2020-08-15 12:42:07 +03:00
Yuri Kuznetsov
85b38bc0e1 raw sql usage removal 2020-08-15 10:47:50 +03:00
Yuri Kuznetsov
ab8a9c8d36 orm changes 2020-08-15 10:47:34 +03:00
Yuri Kuznetsov
c8fb6d9805 orm fixes and removing sql usag 2020-08-14 17:26:44 +03:00
Yuri Kuznetsov
35d0d7956d orm custom select 2020-08-14 15:19:02 +03:00
Yuri Kuznetsov
1e6cc7e8a2 custom order 2020-08-14 14:04:03 +03:00
Yuri Kuznetsov
6dff9d06c9 refactoring 2020-08-14 13:45:23 +03:00
Yuri Kuznetsov
6de31ead9d orm custom where clause for fields 2020-08-14 12:25:27 +03:00
Yuri Kuznetsov
6dc8cd7031 query composer refactoring 2020-08-14 11:19:04 +03:00
Yuri Kuznetsov
60209027fc dependeeSelect, get rid of handleSelectParams usage 2020-08-13 18:09:52 +03:00
Yuri Kuznetsov
7d186672ec cleanup and fixes 2020-08-13 16:38:31 +03:00
Yuri Kuznetsov
6dd757e70f comment 2020-08-13 16:04:53 +03:00
Yuri Kuznetsov
56207f7f48 fix 2020-08-13 15:46:09 +03:00
Yuri Kuznetsov
bf5dc8a282 refactoring 2020-08-13 15:39:28 +03:00
Yuri Kuznetsov
0ec56ef0d3 relation columnAttributeMap 2020-08-13 15:33:19 +03:00
Yuri Kuznetsov
07b49d0147 orm order by to select if distinct 2020-08-13 12:21:34 +03:00
Yuri Kuznetsov
39d8b8f8ec link multiple fix 2020-08-12 16:59:34 +03:00
Yuri Kuznetsov
50564c5db8 orm fix 2020-08-12 16:36:31 +03:00
Yuri Kuznetsov
e9aad35e70 relateById 2020-08-12 15:41:29 +03:00
Yuri Kuznetsov
47d82ac120 fix 2020-08-12 15:13:29 +03:00
Yuri Kuznetsov
4cb7d22657 orm refactoring 2020-08-12 15:01:31 +03:00
Yuri Kuznetsov
e7992e356a grand orm refactoring 2020-08-12 14:38:49 +03:00
Yuri Kuznetsov
0fd8f9d29f email index change 2020-08-10 13:42:03 +03:00
Yuri Kuznetsov
bf033c31af date fix 2020-08-08 10:33:20 +03:00
Yuri Kuznetsov
aa788a17d9 fix date field issue 2020-08-07 18:00:17 +03:00
Yuri Kuznetsov
96c598d454 change 2020-08-05 17:05:29 +03:00
Yuri Kuznetsov
7cddf329d0 fix 2020-08-05 16:47:25 +03:00
Yuri Kuznetsov
f95660406f orm refactoring 2020-08-05 15:22:29 +03:00
Yuri Kuznetsov
338caebfaf orm refactoring 2020-08-05 14:28:43 +03:00
Yuri Kuznetsov
77ba946861 orm refactoring 2020-08-05 14:12:49 +03:00
Yuri Kuznetsov
cb37282a14 amend 2020-08-05 13:30:38 +03:00
Yuri Kuznetsov
3d40aefef5 orm refactoring 2020-08-05 13:28:49 +03:00
Yuri Kuznetsov
e7b0489294 orm refactoring 2020-08-05 12:50:20 +03:00
Yuri Kuznetsov
2690fcdacd test fix 2020-08-05 11:38:55 +03:00
Yuri Kuznetsov
0cc6d69c66 orm refactoring 2020-08-05 11:34:50 +03:00
Yuri Kuznetsov
3312d440c1 orm refactoring 2020-08-04 22:34:18 +03:00
Yuri Kuznetsov
dba5650f1a fix 2020-08-04 20:57:42 +03:00
Yuri Kuznetsov
81cab7acbf orm refactoring 2020-08-04 20:17:50 +03:00
Yuri Kuznetsov
42cb2eb9bb orm usage 2020-08-04 18:01:06 +03:00
Yuri Kuznetsov
1d0476e1b8 orm refactoring 2020-08-04 17:46:50 +03:00
Yuri Kuznetsov
4ea2455958 fixes 2020-08-04 16:08:07 +03:00
Yuri Kuznetsov
2338c57357 orm usage 2020-08-04 14:44:15 +03:00
Yuri Kuznetsov
019e1579f6 orm usage 2020-08-04 14:36:54 +03:00
Yuri Kuznetsov
df547b2022 orm usage 2020-08-04 14:01:47 +03:00
Yuri Kuznetsov
ce3b8b6f50 fixes and orm usage 2020-08-04 13:10:01 +03:00
Yuri Kuznetsov
4e24ee66f5 orm refactoring 2020-08-04 11:51:06 +03:00
Yuri Kuznetsov
f82495c1cc orm usage 2020-08-03 14:02:42 +03:00
Yuri Kuznetsov
c78c88cf92 fix bc 2020-08-03 13:44:36 +03:00
Yuri Kuznetsov
03b82e81f0 fix 2020-08-03 13:39:15 +03:00
Yuri Kuznetsov
90fe6a7416 stream service changes 2020-08-03 13:34:13 +03:00
Yuri Kuznetsov
30014d640b fix follow 2020-08-03 13:34:04 +03:00
Yuri Kuznetsov
2be2b7f459 orm fixes 2020-08-03 12:48:24 +03:00
Yuri Kuznetsov
659ae36ca6 orm changes 2020-08-03 11:43:16 +03:00
Yuri Kuznetsov
c92a4bcf36 orm changes 2020-08-03 10:54:04 +03:00
Yuri Kuznetsov
931786eadb fix validators 2020-08-03 10:36:56 +03:00
Yuri Kuznetsov
068e8121dc changes 2020-08-02 23:33:45 +03:00
Yuri Kuznetsov
4e938d98fc orm changes 2020-08-02 23:25:58 +03:00
Yuri Kuznetsov
da3e214ecd orm refactoring 2020-08-02 23:16:30 +03:00
Yuri Kuznetsov
e88799265f orm changes 2020-08-02 22:17:35 +03:00
Yuri Kuznetsov
dcb717db48 cleanup 2020-08-02 20:41:23 +03:00
Yuri Kuznetsov
9e78c0f9e1 orm changes 2020-08-02 19:26:15 +03:00
Yuri Kuznetsov
3b0596a93c formating fix 2020-08-02 19:17:46 +03:00
Yuri Kuznetsov
0c8593a958 orm refactoring 2020-08-02 19:11:57 +03:00
Yuri Kuznetsov
4e75524d6f mapper insert on duplicate update 2020-08-02 14:42:02 +03:00
Yuri Kuznetsov
e17b8dba4b orm usage 2020-08-02 13:55:16 +03:00
Yuri Kuznetsov
11dc206fac cleanup 2020-08-02 13:48:55 +03:00
Yuri Kuznetsov
f2ebd47ded merge 2020-08-02 13:48:19 +03:00
Yuri Kuznetsov
036ad99ba6 fix deprecation 2020-08-02 13:45:32 +03:00
Yuri Kuznetsov
904830579c orm refactoring 2020-07-31 17:49:37 +03:00
Yuri Kuznetsov
a37d380440 orm usage 2020-07-31 15:11:06 +03:00
Yuri Kuznetsov
1d6889879d rdb fix 2020-07-31 15:10:59 +03:00
Yuri Kuznetsov
b54cd7fbd9 RDBSelectBuilder 2020-07-31 11:41:44 +03:00
Yuri Kuznetsov
113b0ac446 repository changes and test 2020-07-31 10:38:25 +03:00
Yuri Kuznetsov
e30061e2a0 cs fix 2020-07-26 19:59:28 +03:00
Yuri Kuznetsov
2b406aa7cc cs fix 2020-07-25 19:35:51 +03:00
Yuri Kuznetsov
6cf5bbed95 container changes 2020-07-25 19:24:40 +03:00
Yuri Kuznetsov
1579671259 orm fix 2020-07-25 14:54:54 +03:00
Yuri Kuznetsov
567d8416ec auth refactor 2020-07-25 14:07:08 +03:00
Yuri Kuznetsov
644e848011 orm usage 2020-07-24 16:45:39 +03:00
Yuri Kuznetsov
dc4eccb043 relationship entities 2020-07-24 16:45:28 +03:00
Yuri Kuznetsov
be8ea6bab3 cs fix 2020-07-24 15:38:26 +03:00
Yuri Kuznetsov
246d42469f orm usage 2020-07-24 15:33:36 +03:00
Yuri Kuznetsov
8890aa6618 fixes 2020-07-24 15:33:29 +03:00
Yuri Kuznetsov
2b2620c954 orm usage 2020-07-24 12:37:54 +03:00
Yuri Kuznetsov
e594957c0b import confirm leavout 2020-07-24 11:08:11 +03:00
Yuri Kuznetsov
a3b2f18a32 import fixes and orm usage 2020-07-24 10:56:06 +03:00
Yuri Kuznetsov
742b28a3c8 fix 2020-07-24 10:11:47 +03:00
Yuri Kuznetsov
8340c5ba1d cs fixes 2020-07-24 09:47:00 +03:00
Yuri Kuznetsov
d44935bc29 fix 2020-07-24 09:45:12 +03:00
Yuri Kuznetsov
efcbae5554 fixes 2020-07-23 20:14:55 +03:00
Yuri Kuznetsov
73c22bf815 comments 2020-07-23 19:56:48 +03:00
Yuri Kuznetsov
e715d9e5b5 orm changes 2020-07-23 19:55:15 +03:00
Yuri Kuznetsov
d1c1995018 Merge branch 'hotfix/5.9.4' 2020-07-23 17:46:41 +03:00
Yuri Kuznetsov
7fda7abbe6 attachments fixes 2020-07-23 17:46:00 +03:00
Yuri Kuznetsov
bea8bd4057 mapper interface change 2020-07-23 15:02:15 +03:00
Yuri Kuznetsov
5d3996ae03 orm usage 2020-07-23 15:02:02 +03:00
Yuri Kuznetsov
3d5bc3bb0c orm mapper mass insert 2020-07-23 13:43:37 +03:00
Yuri Kuznetsov
2ec8022001 entity with out class 2020-07-23 13:16:11 +03:00
Yuri Kuznetsov
2dbbf72a6c cs fixes 2020-07-23 11:11:04 +03:00
Yuri Kuznetsov
fbbe0e06cf disable hooks while rebuild 2020-07-23 11:10:57 +03:00
Yuri Kuznetsov
455ef1138f orm usage and fixes 2020-07-23 10:54:49 +03:00
Yuri Kuznetsov
2398ef7efe change 2020-07-22 18:25:56 +03:00
Yuri Kuznetsov
f68c594a7e cleanup 2020-07-22 15:41:49 +03:00
Yuri Kuznetsov
8004e4eda8 currency use orm 2020-07-22 15:39:19 +03:00
Yuri Kuznetsov
1e682a3e9a cron: orm usage 2020-07-22 15:32:55 +03:00
Yuri Kuznetsov
6546d987e5 orm fix 2020-07-22 14:54:16 +03:00
Yuri Kuznetsov
e4195f7b60 orm usage 2020-07-22 12:08:58 +03:00
Yuri Kuznetsov
27cdb68240 cs fix 2020-07-22 11:43:01 +03:00
Yuri Kuznetsov
a59ea11aac orm query refactor and createDeleteQuery method 2020-07-22 11:31:59 +03:00
Yuri Kuznetsov
5fde8f9f4b formula functions change 2020-07-21 16:07:24 +03:00
Yuri Kuznetsov
3d05606ad6 formula functions changes 2020-07-21 14:51:02 +03:00
Yuri Kuznetsov
f2da244a3c fix pdf 2020-07-21 14:47:54 +03:00
Yuri Kuznetsov
c6e26b1323 move select manager to select 2020-07-21 11:42:18 +03:00
Yuri Kuznetsov
1550d289df Merge branch 'master' of https://github.com/espocrm/espocrm 2020-07-20 18:20:23 +03:00
Yuri Kuznetsov
81a6d05621 htmlizer code change 2020-07-20 18:13:31 +03:00
Yuri Kuznetsov
78c372b2f8 select manager code changes 2020-07-20 17:55:06 +03:00
Yuri Kuznetsov
59ec071908 diff refactoring 2020-07-20 13:38:14 +03:00
Yuri Kuznetsov
687e67faed comment 2020-07-18 18:52:18 +03:00
Yuri Kuznetsov
46e98d4660 Merge branch 'hotfix/5.9.4' 2020-07-18 15:02:52 +03:00
Yuri Kuznetsov
fa0cf9c9fd cleanup 2020-07-18 15:02:25 +03:00
Yuri Kuznetsov
0e851eb687 Merge branch 'hotfix/5.9.4' 2020-07-18 15:01:24 +03:00
Yuri Kuznetsov
3c651f8633 lang fixes 2020-07-18 14:47:02 +03:00
Yuri Kuznetsov
2b5f1c28e8 lang.js refactoring 2020-07-18 14:41:48 +03:00
Yuri Kuznetsov
7fea881d17 refactor po 2020-07-18 14:21:05 +03:00
Yuri Kuznetsov
61de366e05 merge 2020-07-18 12:29:22 +03:00
Yuri Kuznetsov
ada64bba0c fix dayOfWeek 2020-07-18 12:22:43 +03:00
Yuri Kuznetsov
ab582b92c9 more formula day of week tests 2020-07-17 21:57:40 +03:00
Yuri Kuznetsov
506a6a7779 cs fix 2020-07-17 17:09:47 +03:00
Yuri Kuznetsov
f87dcda391 entry point refactor 2020-07-17 17:08:30 +03:00
Yuri Kuznetsov
2d94ad60f3 diff: no delete tests 2020-07-17 13:00:49 +03:00
Yuri Kuznetsov
333ed98e37 update lodash 2020-07-17 10:26:24 +03:00
Yuri Kuznetsov
69b5f8a1cc api runner refactoring 2020-07-16 22:36:24 +03:00
Yuri Kuznetsov
cefad1c76f Merge branch 'hotfix/5.9.4' 2020-07-16 20:15:21 +03:00
Yuri Kuznetsov
8fe96b140a tcpdf header 2020-07-16 20:14:48 +03:00
Yuri Kuznetsov
3b25a1a001 error message 4 seconds 2020-07-16 19:59:46 +03:00
Yuri Kuznetsov
f4d98f177c fix typos 2020-07-16 19:57:04 +03:00
Yuri Kuznetsov
9f4f38bb0d webhook verify peer 2020-07-16 19:50:53 +03:00
Yuri Kuznetsov
b42ebfde2f formula refactoring 2020-07-16 17:37:22 +03:00
Yuri Kuznetsov
1bd73d7872 admin search use keywords 2020-07-16 12:48:48 +03:00
Yuri Kuznetsov
6d83f77fcf webhook comments 2020-07-15 23:23:08 +03:00
Yuri Kuznetsov
17c1070fc1 cs fix 2020-07-15 23:07:50 +03:00
Yuri Kuznetsov
f86a493ba6 app runners refactoring 2020-07-15 17:33:18 +03:00
Yuri Kuznetsov
32119b6afd docs fix 2020-07-15 16:11:56 +03:00
Yuri Kuznetsov
e11661eadc cs fix 2020-07-15 15:14:50 +03:00
Yuri Kuznetsov
0fc2201d80 cs fix 2020-07-15 14:39:40 +03:00
Yuri Kuznetsov
bbe96f67f6 formula changes 2020-07-15 14:34:05 +03:00
Yuri Kuznetsov
f4b2d9b1df formula functions change 2020-07-15 12:39:59 +03:00
Yuri Kuznetsov
42d894fd5a file storage changes and comments 2020-07-15 11:04:48 +03:00
Yuri Kuznetsov
e8c750c18f formula changes 2020-07-14 22:41:05 +03:00
Yuri Kuznetsov
89cb84d784 fix 2020-07-14 19:02:46 +03:00
Yuri Kuznetsov
daa6e8360a cleanup 2020-07-14 18:49:56 +03:00
Yuri Kuznetsov
24429255dc fix formula exceptions 2020-07-14 18:38:20 +03:00
Yuri Kuznetsov
7c55ae98e5 formula fixes and comments 2020-07-14 18:35:02 +03:00
Yuri Kuznetsov
81ed21962f formula refactoring, using arguments 2020-07-14 18:17:34 +03:00
Yuri Kuznetsov
d9752ed970 formula refactoring 2020-07-14 15:03:21 +03:00
Yuri Kuznetsov
c6293580d9 compatibility fixes 2020-07-14 13:39:05 +03:00
Yuri Kuznetsov
5ddb76c137 fix mapper 2020-07-14 12:19:38 +03:00
Yuri Kuznetsov
20893622d4 fix tests 2020-07-14 11:47:43 +03:00
Yuri Kuznetsov
35445dbf2e fix entity 2020-07-14 11:47:32 +03:00
Yuri Kuznetsov
fbe6e3c1e6 fix mapper and tests 2020-07-14 11:15:23 +03:00
Yuri Kuznetsov
1d35922155 api runner 2020-07-13 12:29:11 +03:00
Yuri Kuznetsov
ea31174cc4 application refactoring 2020-07-13 12:05:35 +03:00
Yuri Kuznetsov
f5ea5f673c manual merge 2020-07-13 10:55:33 +03:00
Yuri Kuznetsov
e76490880a v 2020-07-13 10:48:13 +03:00
Yuri Kuznetsov
e12bb1320c fix cookies 2020-07-13 10:47:57 +03:00
Yuri Kuznetsov
827e16cf93 application runners and fixes 2020-07-12 19:37:22 +03:00
Yuri Kuznetsov
1b61205281 aoolication runners 2020-07-12 19:11:53 +03:00
Yuri Kuznetsov
269f2b4850 extension and upgrade scripts fix 2020-07-12 14:27:07 +03:00
Yuri Kuznetsov
d346e35901 comment fix 2020-07-12 14:17:21 +03:00
Yuri Kuznetsov
2f87691309 orm refactoring and comments 2020-07-12 14:16:26 +03:00
Yuri Kuznetsov
8e6c778a82 refactoring 2020-07-12 13:02:24 +03:00
Yuri Kuznetsov
f36732f7d4 orm refactoring and comments 2020-07-12 11:14:27 +03:00
Yuri Kuznetsov
e63d60ab3d cleanup 2020-07-11 23:35:58 +03:00
Yuri Kuznetsov
460f3fcfd6 orm refactoring 2020-07-11 23:34:19 +03:00
Yuri Kuznetsov
1f52ab9a3f cleanyp 2020-07-11 19:39:16 +03:00
Yuri Kuznetsov
397a9cdf1f fix 2020-07-11 16:46:22 +03:00
Yuri Kuznetsov
4560ef7ef7 fix comment 2020-07-11 16:38:27 +03:00
Yuri Kuznetsov
dc41dff9a0 cleanup 2020-07-11 16:36:41 +03:00
Yuri Kuznetsov
3e6d9d1b11 auth refactoring 2020-07-11 16:34:05 +03:00
Yuri Kuznetsov
1513f45662 auth login result 2020-07-11 16:09:53 +03:00
Yuri Kuznetsov
3e8426da1a auth refactoring 2020-07-11 15:19:48 +03:00
Yuri Kuznetsov
bb29373e16 refactoring 2020-07-11 12:24:35 +03:00
Yuri Kuznetsov
da7ac548c5 comments 2020-07-11 10:30:01 +03:00
Yuri Kuznetsov
b37441eaa8 admin quick server preserve search 2020-07-10 16:40:08 +03:00
Yuri Kuznetsov
a546b77c10 admin quick search 2020-07-10 16:23:24 +03:00
Yuri Kuznetsov
392cb956d2 comments 2020-07-10 14:41:16 +03:00
Yuri Kuznetsov
76273a4d86 mail classes comments and type hinting 2020-07-10 12:55:10 +03:00
Yuri Kuznetsov
eb32b41bd4 comments 2020-07-10 12:29:10 +03:00
Yuri Kuznetsov
767456ca9a mail sender changes 2020-07-10 12:29:04 +03:00
Yuri Kuznetsov
c12354138a fix 2020-07-10 11:42:07 +03:00
Yuri Kuznetsov
1fd93a1fb8 fix 2020-07-10 11:19:20 +03:00
Yuri Kuznetsov
9c36937a9e refactoring 2020-07-09 21:50:45 +03:00
Yuri Kuznetsov
3d382e67b6 refactoring and fixes 2020-07-09 20:27:28 +03:00
Yuri Kuznetsov
ecdcab7371 attachment fixes 2020-07-09 14:17:24 +03:00
Yuri Kuznetsov
a5609f3cad fix 2020-07-09 13:44:24 +03:00
Yuri Kuznetsov
5c0bc397c1 fix test 2020-07-09 12:56:32 +03:00
Yuri Kuznetsov
21e9131c65 fix preferences 2020-07-09 12:49:36 +03:00
Yuri Kuznetsov
8159e33fef fix tester 2020-07-09 12:23:35 +03:00
Yuri Kuznetsov
d2411e380b fix tests 2020-07-09 11:36:11 +03:00
Yuri Kuznetsov
a2017a0a75 dev 2020-07-09 11:08:52 +03:00
Yuri Kuznetsov
16fcc4d61e dev 2020-07-09 11:00:52 +03:00
Yuri Kuznetsov
b6b4909f3c fix 2020-07-08 22:50:48 +03:00
Yuri Kuznetsov
773abf3028 dev 2020-07-08 17:50:53 +03:00
Yuri Kuznetsov
f8f7c4fbff dev 2020-07-08 17:30:25 +03:00
Yuri Kuznetsov
c84abfb542 do not display auth error message 2020-07-08 16:15:30 +03:00
Yuri Kuznetsov
656f66f567 fix menu items 2020-07-08 16:07:27 +03:00
Yuri Kuznetsov
75386b4355 dev 2020-07-08 15:42:38 +03:00
Yuri Kuznetsov
434b3020a0 fix 2020-07-08 14:34:13 +03:00
Yuri Kuznetsov
64b0adee30 dev 2020-07-08 12:41:34 +03:00
Yuri Kuznetsov
6351dc030c fix 2020-07-08 12:38:43 +03:00
Yuri Kuznetsov
f261690d76 dev 2020-07-08 12:37:59 +03:00
Yuri Kuznetsov
de37982a64 dev 2020-07-08 12:18:34 +03:00
Yuri Kuznetsov
4266a38c01 dev 2020-07-08 12:04:35 +03:00
Yuri Kuznetsov
8daec77bb4 dev 2020-07-08 11:20:53 +03:00
Yuri Kuznetsov
4267c78f68 dev 2020-07-08 11:11:55 +03:00
Yuri Kuznetsov
2f7843687f dev 2020-07-08 10:30:56 +03:00
Yuri Kuznetsov
1648eb78f0 dev 2020-07-08 10:13:39 +03:00
Yuri Kuznetsov
2b8143b4fb dev 2020-07-08 10:12:29 +03:00
Yuri Kuznetsov
b2d6e7c37e dev 2020-07-07 20:16:57 +03:00
Yuri Kuznetsov
22d41a144f dev 2020-07-07 20:03:37 +03:00
Yuri Kuznetsov
f71d52c5ba dev 2020-07-07 19:55:00 +03:00
Yuri Kuznetsov
1a86438f32 dev 2020-07-07 19:34:32 +03:00
Yuri Kuznetsov
20aadf26a5 dev 2020-07-07 19:17:35 +03:00
Yuri Kuznetsov
d6514bc946 dev 2020-07-07 19:04:11 +03:00
Yuri Kuznetsov
3f417198d7 dev 2020-07-07 18:50:33 +03:00
Yuri Kuznetsov
62da2245c1 dev 2020-07-07 18:38:14 +03:00
Yuri Kuznetsov
627fa8f89e dev 2020-07-07 18:20:17 +03:00
Yuri Kuznetsov
13e24501e5 cleanup 2020-07-07 18:17:58 +03:00
Yuri Kuznetsov
0002ec1a8e fix 2020-07-07 18:17:35 +03:00
Yuri Kuznetsov
62d7948b67 cleanup 2020-07-07 18:13:39 +03:00
Yuri Kuznetsov
54ca25571e dev 2020-07-07 16:09:29 +03:00
Yuri Kuznetsov
a64bf2e97f fix comment 2020-07-07 16:08:33 +03:00
Yuri Kuznetsov
029a5587e6 dev 2020-07-07 16:05:27 +03:00
Yuri Kuznetsov
918ce84b1b fixes 2020-07-02 22:17:03 +03:00
Yuri Kuznetsov
4622e9fe01 dev 2020-07-02 21:53:24 +03:00
Yuri Kuznetsov
d707979b7d fixes 2020-07-02 21:47:37 +03:00
Yuri Kuznetsov
0c224e2a22 cleanup 2020-07-02 21:39:54 +03:00
Yuri Kuznetsov
b4b4ec2f89 dev 2020-07-02 21:38:29 +03:00
Yuri Kuznetsov
07b297f7ef dev 2020-07-02 19:40:11 +03:00
Yuri Kuznetsov
e7804062f3 dev 2020-07-02 19:00:56 +03:00
Yuri Kuznetsov
efed7969fc dev 2020-07-02 18:49:11 +03:00
Yuri Kuznetsov
c8a1edea1a dev 2020-07-02 18:09:55 +03:00
Yuri Kuznetsov
8a0d2c9b6a dev 2020-07-02 17:12:58 +03:00
Yuri Kuznetsov
784b0e8e40 dev 2020-07-02 12:54:57 +03:00
Yuri Kuznetsov
9ac3cc23f7 dev 2020-07-02 12:36:33 +03:00
Yuri Kuznetsov
0e1b88fd25 dev 2020-07-02 12:28:21 +03:00
Yuri Kuznetsov
7084b38a5a dev 2020-07-02 12:11:26 +03:00
Yuri Kuznetsov
7cba7fad95 dev 2020-07-02 10:32:59 +03:00
Yuri Kuznetsov
73d67763c9 dev 2020-07-01 14:57:20 +03:00
Yuri Kuznetsov
29217453ab Merge branch 'hotfix/5.9.4' 2020-07-01 08:38:40 +03:00
Yuri Kuznetsov
eca5bdea71 fix formula where 2020-07-01 08:38:14 +03:00
Yuri Kuznetsov
34fe3f53c3 slim cleanup 2020-06-30 15:36:02 +03:00
Yuri Kuznetsov
78353460d1 get rid of useController route condition 2020-06-30 14:34:38 +03:00
Yuri Kuznetsov
210c76bad1 slim headers deprecated usage fix 2020-06-30 13:56:03 +03:00
Yuri Kuznetsov
d7326b927d container info sort 2020-06-30 10:59:36 +03:00
Yuri Kuznetsov
a4cf749d6d log aware 2020-06-30 10:52:53 +03:00
Yuri Kuznetsov
b7d256687a app info container command 2020-06-30 10:43:50 +03:00
Yuri Kuznetsov
ccce2eb137 fix container configuration 2020-06-30 10:43:42 +03:00
Yuri Kuznetsov
46a0c1f7bf fix 2020-06-30 10:14:49 +03:00
Yuri Kuznetsov
a84d6f4121 fix doc 2020-06-30 10:13:52 +03:00
Yuri Kuznetsov
10793ebdda refactoring 2020-06-30 10:11:26 +03:00
Yuri Kuznetsov
9c6bec3761 Merge branch 'hotfix/5.9.4' 2020-06-30 08:53:10 +03:00
Yuri Kuznetsov
2ab4173e85 oauth client fix 2020-06-30 08:51:29 +03:00
Yuri Kuznetsov
195db973dc get image url use ssl verify peer 2020-06-30 08:50:09 +03:00
Yuri Kuznetsov
b15148f9f7 cleanup 2020-06-29 20:02:32 +03:00
Yuri Kuznetsov
ae6f669629 remobe getOrmMetadata method 2020-06-29 20:01:20 +03:00
Yuri Kuznetsov
a50c66557e cleanup 2020-06-29 19:58:15 +03:00
Yuri Kuznetsov
9a09822f7a fix comment 2020-06-29 19:57:29 +03:00
Yuri Kuznetsov
0a3174cba9 entity maanger comments and type hint additions 2020-06-29 19:56:54 +03:00
Yuri Kuznetsov
d5414ece84 select manager comments 2020-06-29 19:18:18 +03:00
Yuri Kuznetsov
fc4de43db3 acl comments and fixes 2020-06-29 17:37:51 +03:00
Yuri Kuznetsov
e4138b894c acl changes 2020-06-29 17:23:07 +03:00
Yuri Kuznetsov
5b74430751 cleanup 2020-06-29 16:09:53 +03:00
Yuri Kuznetsov
22f6d2d1b9 comments 2020-06-29 16:01:31 +03:00
Yuri Kuznetsov
318e164a01 cleanup deprecation 2020-06-29 15:58:34 +03:00
Yuri Kuznetsov
969d40f5d8 acl comments 2020-06-29 15:53:29 +03:00
Yuri Kuznetsov
c7f8b4899a docs fixes 2020-06-29 15:50:40 +03:00
Yuri Kuznetsov
a81086493f acl manager docs 2020-06-29 15:49:55 +03:00
Yuri Kuznetsov
b773f22bd2 app state comments 2020-06-29 14:45:59 +03:00
Yuri Kuznetsov
2b34b86746 controller refactoring 2020-06-29 14:41:14 +03:00
Yuri Kuznetsov
78c4350ff7 fix application state 2020-06-29 14:41:04 +03:00
Yuri Kuznetsov
ecd33b0f54 stream controller refactoring 2020-06-29 14:35:34 +03:00
Yuri Kuznetsov
7753eb32af controller refactoring 2020-06-29 14:29:33 +03:00
Yuri Kuznetsov
9d3fbf8d27 controllers refactoring 2020-06-29 14:24:49 +03:00
Yuri Kuznetsov
7f3d099148 cs fixes and cleanup 2020-06-29 13:45:03 +03:00
Yuri Kuznetsov
518ed97ed4 controllers refactoring 2020-06-29 13:30:40 +03:00
Yuri Kuznetsov
6b46ac2fde controller manager check data type 2020-06-29 13:30:31 +03:00
Yuri Kuznetsov
6b9f0f07ec Merge branch 'feature/di-setter' 2020-06-29 11:35:36 +03:00
Yuri Kuznetsov
553c7e9caa test fixes 2020-06-29 11:34:08 +03:00
Yuri Kuznetsov
bef0826f9d fix rdb repo 2020-06-29 11:20:29 +03:00
Yuri Kuznetsov
8fa4ec20a8 fix case repo 2020-06-29 11:10:47 +03:00
Yuri Kuznetsov
5ad7562f17 fix test 2020-06-29 11:10:32 +03:00
Yuri Kuznetsov
b74d95894b fix test 2020-06-28 17:49:13 +03:00
Yuri Kuznetsov
562cd42344 portal config refactoring and type hinring 2020-06-28 11:35:39 +03:00
Yuri Kuznetsov
078bdfc28f deprcated tag 2020-06-28 10:27:29 +03:00
Yuri Kuznetsov
3c5e84bc44 ditch isAdmin isPortal isSuperAdmin 2020-06-28 09:48:20 +03:00
Yuri Kuznetsov
e61a6a00d8 application class comments and cleanup 2020-06-28 09:24:48 +03:00
Yuri Kuznetsov
f7b1441050 comments and datime type hint 2020-06-27 23:51:29 +03:00
Yuri Kuznetsov
d0e6689dc4 cleanup 2020-06-27 23:25:18 +03:00
Yuri Kuznetsov
9af8dde878 auth refactor 2020-06-27 19:49:37 +03:00
Yuri Kuznetsov
bfed745758 refactor 2020-06-27 19:49:28 +03:00
Yuri Kuznetsov
cc22abba50 notificators di 2020-06-27 19:19:11 +03:00
Yuri Kuznetsov
ca84177e87 password recovery di 2020-06-27 18:54:58 +03:00
Yuri Kuznetsov
4508991ca2 cleanup using di 2020-06-27 17:43:55 +03:00
Yuri Kuznetsov
0b1ddecd32 export di refactoring 2020-06-27 15:07:22 +03:00
Yuri Kuznetsov
59025f7d4c preferencesAware 2020-06-27 14:56:16 +03:00
Yuri Kuznetsov
8c75651650 services refactoring 2020-06-27 14:34:25 +03:00
Yuri Kuznetsov
44ea2aee40 fix repository 2020-06-27 14:34:17 +03:00
Yuri Kuznetsov
7401647d6a record service fix 2020-06-27 14:05:28 +03:00
Yuri Kuznetsov
fbd496e663 cs fixes 2020-06-27 12:47:02 +03:00
Yuri Kuznetsov
e22818f51f Merge branch 'hotfix/5.9.4' into feature/di-setter 2020-06-27 12:37:16 +03:00
Yuri Kuznetsov
cd5537cc26 fix user generate new possword hidden if group email account used 2020-06-27 12:36:56 +03:00
Yuri Kuznetsov
1933194d35 user service refactoring 2020-06-27 12:29:45 +03:00
Yuri Kuznetsov
aef08dcd75 webhook service refactoring 2020-06-27 12:13:20 +03:00
Yuri Kuznetsov
fd4c49d3d2 team service refactoring 2020-06-27 12:06:37 +03:00
Yuri Kuznetsov
c1518cb509 stream service refactoring 2020-06-27 11:57:42 +03:00
Yuri Kuznetsov
43e424d44d applicationState 2020-06-27 11:26:59 +03:00
Yuri Kuznetsov
4dfd313d10 services refactoring 2020-06-26 20:12:57 +03:00
Yuri Kuznetsov
9e68f4cd2c service refactoring 2020-06-26 18:30:52 +03:00
Yuri Kuznetsov
3fe373e20c cs fixes 2020-06-26 17:40:35 +03:00
Yuri Kuznetsov
1f2852a369 service refactoring 2020-06-26 17:15:43 +03:00
Yuri Kuznetsov
abe4d91622 cleanup 2020-06-26 16:54:54 +03:00
Yuri Kuznetsov
0649b18952 services refactoring 2020-06-26 16:53:39 +03:00
Yuri Kuznetsov
aee81c1533 services refactoring 2020-06-26 16:10:07 +03:00
Yuri Kuznetsov
451b8ea1e5 services refactoring 2020-06-26 14:12:18 +03:00
Yuri Kuznetsov
578cf90f85 formula refactoring 2020-06-25 19:24:10 +03:00
Yuri Kuznetsov
869fa35353 hook decoupling 2020-06-25 17:06:58 +03:00
Yuri Kuznetsov
4d8cfb05ee merge hotfix 2020-06-25 13:42:33 +03:00
Yuri Kuznetsov
b9d9463cc9 fix tests 2020-06-25 13:39:48 +03:00
Yuri Kuznetsov
2c01caa7be select manager class 2020-06-25 13:02:19 +03:00
Yuri Kuznetsov
65e925ec22 repositories refactoring 2020-06-25 12:43:33 +03:00
Yuri Kuznetsov
1144956c99 repository decoupling 2020-06-25 11:56:29 +03:00
Yuri Kuznetsov
cf586dcd75 repository refactoring 2020-06-25 10:50:20 +03:00
Yuri Kuznetsov
94008f5a53 fix metadata service null acl check 2020-06-25 08:35:47 +03:00
Yuri Kuznetsov
6c5dd4a120 entry point traits 2020-06-24 17:43:51 +03:00
Yuri Kuznetsov
e87490aad8 acl changes 2020-06-24 16:54:52 +03:00
Yuri Kuznetsov
cb55cec3f0 acl manager code improvements 2020-06-24 12:48:08 +03:00
Yuri Kuznetsov
8bfec9ec7e acl di 2020-06-24 11:32:47 +03:00
Yuri Kuznetsov
bf410b2258 cleanup 2020-06-24 09:02:23 +03:00
Yuri Kuznetsov
6eaab67081 fix injectable factory 2020-06-23 21:06:14 +03:00
Yuri Kuznetsov
d1ff4b0ede injectable factory fix 2020-06-23 20:50:58 +03:00
Yuri Kuznetsov
5bc4dc297d acl with factory 2020-06-23 19:10:41 +03:00
Yuri Kuznetsov
79f8a5e87c decoupling 2020-06-23 18:50:21 +03:00
Yuri Kuznetsov
5c0eec9c83 job interface move 2020-06-23 16:59:00 +03:00
Yuri Kuznetsov
42f6dab4ce entry point changes 2020-06-23 16:46:18 +03:00
Yuri Kuznetsov
7bcb6a320e decoupling 2020-06-23 16:14:11 +03:00
Yuri Kuznetsov
771acbea35 loader classes 2020-06-23 13:49:46 +03:00
Yuri Kuznetsov
8520bbcf85 decoupling 2020-06-23 13:13:01 +03:00
Yuri Kuznetsov
253838bba9 decoupling 2020-06-23 12:15:11 +03:00
Yuri Kuznetsov
0f2a26b744 formula comments fix 2020-06-22 21:26:51 +03:00
Yuri Kuznetsov
53db712015 decoupling 2020-06-22 20:30:20 +03:00
Yuri Kuznetsov
6f2fc808cd decoupling 2020-06-22 19:24:44 +03:00
Yuri Kuznetsov
6b2fdf5400 decoupling 2020-06-22 19:16:40 +03:00
Yuri Kuznetsov
b2fa393673 portal application changes 2020-06-22 15:30:01 +03:00
Yuri Kuznetsov
5292d13ae6 application method changes 2020-06-22 15:25:07 +03:00
Yuri Kuznetsov
bfa3a2948d Merge branch 'stable' 2020-06-22 13:53:50 +03:00
Yuri Kuznetsov
c11fd843d0 Merge branch 'hotfix/5.9.3' of github.com:espocrm/espocrm into hotfix/5.9.3 2020-06-22 13:03:18 +03:00
Yuri Kuznetsov
70a374004d fix navbar verical scroll issue 2020-06-22 13:02:08 +03:00
Yuri Kuznetsov
2340a58e8f container get rid of setUser 2020-06-22 12:38:40 +03:00
Yuri Kuznetsov
6d696d94d8 fix container 2020-06-22 11:08:47 +03:00
Yuri Kuznetsov
57360e5fea container default loaders 2020-06-22 10:33:34 +03:00
Yuri Kuznetsov
5c8d6ee901 file manager fix 2020-06-22 10:28:34 +03:00
Yuri Kuznetsov
7850eda22e fix typo 2020-06-21 23:56:45 +03:00
Yuri Kuznetsov
38bda84426 cleanup 2020-06-21 23:17:52 +03:00
Yuri Kuznetsov
954267c830 container configuration 2020-06-21 23:13:31 +03:00
Yuri Kuznetsov
0dc5437ddd loader interface 2020-06-21 19:53:10 +03:00
Yuri Kuznetsov
36dbc16fcf use loader for injectable factory 2020-06-21 19:51:35 +03:00
Yuri Kuznetsov
d20cc4c45e changes in loader 2020-06-21 19:45:31 +03:00
Yuri Kuznetsov
8b9e376609 container changes 2020-06-21 19:41:54 +03:00
Yuri Kuznetsov
bc9395029b container has 2020-06-21 16:51:38 +03:00
Yuri Kuznetsov
6a2af9ffe4 method rename 2020-06-21 16:03:16 +03:00
Yuri Kuznetsov
9005656062 injectable factory constructor injections for injectable 2020-06-21 15:55:05 +03:00
Yuri Kuznetsov
965dc73351 controller use injectable factory 2020-06-21 09:20:57 +03:00
Yuri Kuznetsov
5dc31fac5b select manager in another class 2020-06-20 22:08:23 +03:00
Yuri Kuznetsov
4254382e7f cleanup 2020-06-20 22:00:02 +03:00
Yuri Kuznetsov
9c0a8266ab select manager with injectable factory 2020-06-20 21:58:36 +03:00
Yuri Kuznetsov
407c8204aa change currency converted hook 2020-06-20 21:08:17 +03:00
Yuri Kuznetsov
e218aaaed2 internalAclManager fix 2020-06-20 20:38:42 +03:00
Yuri Kuznetsov
d07a21fdaa cleanup 2020-06-20 20:16:20 +03:00
Yuri Kuznetsov
e8b69e133e hook manager changes 2020-06-20 20:11:31 +03:00
Yuri Kuznetsov
b02d2a7f8d fix comment 2020-06-20 19:31:08 +03:00
Yuri Kuznetsov
b9e3c22a1e class parser skip not instantiable 2020-06-20 19:27:33 +03:00
Yuri Kuznetsov
80ab030c4a entry point manager use factory 2020-06-20 17:23:20 +03:00
Yuri Kuznetsov
5483919dd3 comment fix 2020-06-20 17:18:36 +03:00
Yuri Kuznetsov
b21daf47a7 remove test 2020-06-20 17:10:53 +03:00
Yuri Kuznetsov
917ec1091a injectable factory create with 2020-06-20 17:06:59 +03:00
Yuri Kuznetsov
30bb9f4fcc di setter 2020-06-20 15:54:49 +03:00
Yuri Kuznetsov
626da4c8bb services changes 2020-06-20 11:50:13 +03:00
Yuri Kuznetsov
813462744b service changes 2020-06-19 22:17:43 +03:00
Yuri Kuznetsov
970b648145 file storage with factory 2020-06-19 21:13:22 +03:00
Yuri Kuznetsov
b9fce4527a auth factorie improvements 2020-06-19 20:51:26 +03:00
Yuri Kuznetsov
597b157f83 injectable setter 2020-06-19 18:55:36 +03:00
Yuri Kuznetsov
4f82ae38cf service improvements 2020-06-19 17:26:40 +03:00
Yuri Kuznetsov
74e4012fee di improvements 2020-06-18 22:42:58 +03:00
Yuri Kuznetsov
74d18be94a fix typo 2020-06-18 14:55:57 +03:00
Yuri Kuznetsov
56788af48b command change and test 2020-06-18 14:54:48 +03:00
Yuri Kuznetsov
e618b3d0aa fix grunt tests 2020-06-18 14:18:09 +03:00
Yuri Kuznetsov
9f9cfbd581 change import flags 2020-06-18 12:49:35 +03:00
Yuri Kuznetsov
c2e5f3ac2f command: supporting --flag 2020-06-18 12:49:22 +03:00
Yuri Kuznetsov
9ccf4f6083 import commands 2 2020-06-18 12:33:13 +03:00
Yuri Kuznetsov
eb3fb9ec1c reverting import 2020-06-18 12:04:57 +03:00
Yuri Kuznetsov
69f0f8d8bf grand impromenets for customization abilities 2020-06-17 19:27:51 +03:00
Yuri Kuznetsov
af7a73ec42 class finder 2020-06-17 16:30:34 +03:00
Yuri Kuznetsov
c0b68e7da5 class parser change 2020-06-17 16:21:39 +03:00
Yuri Kuznetsov
050c88ca55 email send no block 2020-06-17 12:19:26 +03:00
Yuri Kuznetsov
0b218833af fix q0 queue 2020-06-16 15:44:32 +03:00
Yuri Kuznetsov
cc4f5b9ff5 import improvements 2020-06-16 12:50:49 +03:00
Yuri Kuznetsov
1645034f6e Merge branch 'hotfix/5.9.3' 2020-06-16 12:50:29 +03:00
Yuri Kuznetsov
4a1e5c974c fix import 2020-06-15 16:23:58 +03:00
Yuri Kuznetsov
b08083173a reminder 7 days 2020-06-15 11:07:26 +03:00
Yuri Kuznetsov
c24e7a6939 version 2020-06-15 10:47:00 +03:00
Yuri Kuznetsov
ce99671583 layout set error msg 2020-06-15 10:39:28 +03:00
Yuri Kuznetsov
b5e9f98fd1 email insert field 2020-06-15 10:30:41 +03:00
Yuri Kuznetsov
d36e5cc0c1 fix select create related 2020-06-12 14:44:21 +03:00
Yuri Kuznetsov
13ae2d27c8 fix external account client manager 2020-06-12 13:43:47 +03:00
Yuri Kuznetsov
ea5c76f012 oauth changes 2020-06-11 12:13:39 +03:00
Yuri Kuznetsov
acb9b50d14 stream internal post button red color 2020-06-10 11:06:51 +03:00
Yuri Kuznetsov
968fc7ad30 fix email account form 2020-06-10 10:32:59 +03:00
Yuri Kuznetsov
bb6d7598a1 email account layout change 2020-06-10 10:27:42 +03:00
Yuri Kuznetsov
cd9481670a oauth fix 2020-06-09 15:33:42 +03:00
Yuri Kuznetsov
505e9e278b oauth race condition fix 2020-06-09 13:50:25 +03:00
Yuri Kuznetsov
7e59888fb2 oauth fix 2020-06-06 18:37:34 +03:00
Yuri Kuznetsov
74f2d7f1ea oauth: handle token expiration; factory in client manager 2020-06-06 18:12:39 +03:00
Yuri Kuznetsov
f319be61d2 fix select related 2020-06-06 10:04:02 +03:00
Yuri Kuznetsov
2cc4c8f974 fix mail sender 2020-06-04 14:49:50 +03:00
Yuri Kuznetsov
a3aa74013a oauth storing new refresh token 2020-06-03 19:26:57 +03:00
Yuri Kuznetsov
509b3affd1 email account: imap handler 2020-06-03 10:10:34 +03:00
Yuri Kuznetsov
ad9b2b54dd scheduled job log panel fix 2020-06-02 23:01:50 +03:00
Yuri Kuznetsov
247eb00963 fix field-manager.js 2020-06-02 20:07:49 +03:00
Yuri Kuznetsov
c0b59a49bf fix horizontal navbar 2020-06-02 20:06:18 +03:00
Yuri Kuznetsov
b525afe154 less re-grouping 2 2020-06-02 19:59:57 +03:00
Yuri Kuznetsov
b449263854 less re-grouping 2020-06-02 15:43:03 +03:00
Yuri Kuznetsov
12550c3d0a password recovery improvements 2020-05-31 18:50:54 +03:00
Yuri Kuznetsov
803a4ffb7f scheduling text fix 2020-05-28 13:41:11 +03:00
Yuri Kuznetsov
57bfea4d70 fix email body plain 2020-05-27 16:38:33 +03:00
Yuri Kuznetsov
86f460866a fix tests 2020-05-27 16:16:55 +03:00
Yuri Kuznetsov
8515157916 relationship panel: create from select modal 2020-05-27 12:01:14 +03:00
Yuri Kuznetsov
5bd18dee49 cs fix 2020-05-27 10:46:33 +03:00
Yuri Kuznetsov
88ea5e7d6c mail parser body plain change 2020-05-27 10:45:40 +03:00
Yuri Kuznetsov
3839335508 fix email body plain 2020-05-27 10:45:19 +03:00
Yuri Kuznetsov
b8e94b52aa detail layout panel label changes 2020-05-26 20:08:27 +03:00
Yuri Kuznetsov
eeda450405 pdf: ifMultipleOf 2020-05-26 13:20:22 +03:00
Yuri Kuznetsov
d051bd7df2 googleMapsImage helper name 2020-05-26 12:57:53 +03:00
Yuri Kuznetsov
690a265450 date-picker change 2020-05-26 10:36:12 +03:00
Yuri Kuznetsov
8bec0a3caf change 1 2020-05-25 16:04:53 +03:00
Yuri Kuznetsov
a89463367e v 2020-05-25 12:20:55 +03:00
Yuri Kuznetsov
05dbcbd917 field view fixes 2020-05-25 12:17:21 +03:00
Yuri Kuznetsov
774bde3e20 websocket update fixes 2020-05-25 11:46:51 +03:00
Yuri Kuznetsov
90589e0d26 scheduling color 2020-05-25 11:25:03 +03:00
Yuri Kuznetsov
be199235f1 Merge branch 'hotfix/5.9.2' of https://github.com/espocrm/espocrm into hotfix/5.9.2 2020-05-25 09:47:55 +03:00
Yuri Kuznetsov
1b2d67b027 massEmailSiteUrl admin only 2020-05-25 09:41:09 +03:00
Eymen Elkum
7bc56fc864 add missing import (#1720) 2020-05-24 11:10:23 +03:00
Yuri Kuznetsov
c706ddc809 person name field: fix typo 2020-05-22 21:55:56 +03:00
Yuri Kuznetsov
1b6b2ea140 pdf: google maps 2020-05-22 15:45:06 +03:00
Yuri Kuznetsov
c1db037fc2 htmlzier additions 2020-05-22 14:31:29 +03:00
Yuri Kuznetsov
838e9ea773 post preview: links in new tab 2020-05-22 13:41:46 +03:00
Yuri Kuznetsov
10efe3513c scheduled job: expression validation 2020-05-22 11:27:46 +03:00
Yuri Kuznetsov
6d301092b2 Merge branch 'hotfix/5.9.2' of https://github.com/espocrm/espocrm into hotfix/5.9.2 2020-05-22 11:13:14 +03:00
Yuri Kuznetsov
5acb5da8fa scheduled job: cron description 2020-05-22 11:12:30 +03:00
Eymen Elkum
3ad343b274 add missing use in settings.php service (#1711) 2020-05-22 09:45:34 +03:00
Yuri Kuznetsov
c5fd749b21 formula while 2020-05-21 14:35:06 +03:00
Yuri Kuznetsov
1f8e0f16c7 formula randomInt function 2020-05-21 13:37:17 +03:00
Yuri Kuznetsov
92babe7fbc fix gruntfile 2020-05-21 13:34:43 +03:00
Yuri Kuznetsov
fb684837f8 role table ui improvement 2020-05-21 11:40:59 +03:00
Yuri Kuznetsov
669413b184 mass email site url param 2020-05-20 16:44:10 +03:00
Yuri Kuznetsov
a945a01767 password request send support group email account smtp 2020-05-20 13:04:41 +03:00
Yuri Kuznetsov
b4664eafa5 fix password recovery disabled if smtpServer is empty 2020-05-20 12:53:07 +03:00
Yuri Kuznetsov
34b06b83aa Merge branch 'hotfix/5.9.1' of github.com:espocrm/espocrm into hotfix/5.9.1 2020-05-19 11:55:41 +03:00
Yuri Kuznetsov
da14681077 fix global search 2020-05-19 08:32:39 +03:00
Yuri Kuznetsov
53e91ad683 fix mail sender 2020-05-19 00:47:14 +03:00
Yuri Kuznetsov
06434bef99 fix panel container 2020-05-18 19:27:01 +03:00
Yuri Kuznetsov
16fab0ced0 v 2020-05-18 11:21:49 +03:00
Yuri Kuznetsov
bc3e531447 multi enum match any word prop 2020-05-18 11:19:40 +03:00
Yuri Kuznetsov
af038e3306 record controller forbidden messages 2020-05-18 11:08:46 +03:00
Yuri Kuznetsov
1a06b83d9d external account changes 2020-05-18 09:43:17 +03:00
Yuri Kuznetsov
bcc3cfd143 fix wrong response content type 2020-05-15 15:40:21 +03:00
Yuri Kuznetsov
b73123c137 fix array validation 2020-05-14 22:28:48 +03:00
Yuri Kuznetsov
8c47f94172 stream post field fixes 2020-05-13 16:30:10 +03:00
Yuri Kuznetsov
b03e17ce22 parent to child fix 2020-05-13 15:24:40 +03:00
Yuri Kuznetsov
c0ed352293 wysiwyg: fix insert imege from clipboard 2020-05-12 19:50:12 +03:00
Yuri Kuznetsov
e4eb8794ff stream image paste 2020-05-12 18:01:04 +03:00
Yuri Kuznetsov
830ba03448 relationship panel setup last 2020-05-07 17:15:26 +03:00
Yuri Kuznetsov
45b2f267de orm fix 2020-05-07 16:49:26 +03:00
Yuri Kuznetsov
891c0d6657 contact: has portal user field 2020-05-07 16:32:36 +03:00
Yuri Kuznetsov
8583352033 failed login attempt count optimization 2020-05-07 09:47:25 +03:00
Yuri Kuznetsov
76ea81465e Merge branch 'hotfix/5.8.6' 2020-05-06 12:29:39 +03:00
Yuri Kuznetsov
9f4b558936 fix mass relate 2020-05-06 12:29:24 +03:00
Yuri Kuznetsov
773d69c569 fix mass relate 2020-05-06 12:28:58 +03:00
Yuri Kuznetsov
f03997c927 add field css change 2020-05-06 12:16:55 +03:00
Yuri Kuznetsov
2fc9d405f8 field manager: add field info 2020-05-06 12:14:54 +03:00
Yuri Kuznetsov
4278895995 Merge branch 'hotfix/5.8.6' 2020-05-06 11:02:43 +03:00
Yuri Kuznetsov
af41c263ee fix order by email & phone 2020-05-06 11:02:11 +03:00
Yuri Kuznetsov
0466d6ce83 fix order by email & phone 2020-05-06 10:59:20 +03:00
Yuri Kuznetsov
3a4e1d6b11 hide 2fa field for not internal users 2020-05-05 11:28:16 +03:00
Yuri Kuznetsov
818f697b6b fix activities event from contact 2020-05-04 13:28:36 +03:00
Yuri Kuznetsov
83e0d926ac opted out fields: allow foreign access 2020-05-01 20:03:39 +03:00
Yuri Kuznetsov
782f22325a email filter user autocumplete filter 2020-05-01 15:41:45 +03:00
Yuri Kuznetsov
e896a7c960 assignment permission: allow empty for api user, multiple 2020-05-01 15:32:36 +03:00
Yuri Kuznetsov
1bb0035b34 assignment permission: allow empty for api user 2020-05-01 15:19:13 +03:00
Yuri Kuznetsov
5cdae539a6 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-05-01 14:56:49 +03:00
Taras Machyshyn
bf131b7a0e Added 'dbType' => 'longtext' for text fields 2020-05-01 14:29:28 +03:00
Yuri Kuznetsov
cb08de46b0 email queue link 2020-05-01 11:05:19 +03:00
Yuri Kuznetsov
81f1c3d6b2 menu item access data list 2020-05-01 11:05:07 +03:00
Yuri Kuznetsov
6b7da3b649 fix email queue error 2020-05-01 11:04:45 +03:00
Taras Machyshyn
05888ae2c3 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-30 11:55:33 +03:00
Taras Machyshyn
bc97156569 Displaying upgrading process 2020-04-30 11:54:52 +03:00
Yuri Kuznetsov
e9103eb796 Update README.md 2020-04-30 11:09:04 +03:00
Yuri Kuznetsov
62b8b30e3a Update SECURITY.md 2020-04-29 15:16:47 +03:00
Yuri Kuznetsov
81897253c5 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-29 14:12:06 +03:00
Yuri Kuznetsov
a242c9fd12 Merge branch 'hotfix/5.8.6' 2020-04-29 14:11:54 +03:00
Yuri Kuznetsov
b299220dd0 auth: do not allow another auth token if passwords are the same 2020-04-29 14:11:26 +03:00
Yuri Kuznetsov
3883881afc Create SECURITY.md 2020-04-29 14:09:27 +03:00
Taras Machyshyn
9061853666 DBAL: bug fixes 2020-04-28 17:35:45 +03:00
Yuri Kuznetsov
20c8da511f command version 2020-04-28 13:53:57 +03:00
Yuri Kuznetsov
d7f46e039e htaccess and web.config changes 2020-04-28 13:31:18 +03:00
Yuri Kuznetsov
0532524a50 console command extension 2020-04-28 11:30:16 +03:00
Yuri Kuznetsov
0f0bbff14c Merge branch 'hotfix/5.8.6' 2020-04-27 09:22:06 +03:00
Eymen Elkum
ce7fbe1471 allow custom view for portal navbar (#1687) 2020-04-27 09:19:04 +03:00
Yuri Kuznetsov
b53d96b9df fix email 2020-04-26 12:14:44 +03:00
Yuri Kuznetsov
a184f63c00 Merge branch 'hotfix/5.8.6' 2020-04-24 16:18:38 +03:00
Yuri Kuznetsov
75fb028f1a template fix 2020-04-24 16:18:24 +03:00
Yuri Kuznetsov
190c0d500a email index fix 2020-04-24 13:25:51 +03:00
Eymen Elkum
663fc784c1 fix typo variable (#1686) 2020-04-22 17:35:23 +03:00
Eymen Elkum
38b985defc fix typo variable (#1686) 2020-04-22 17:32:55 +03:00
Yuri Kuznetsov
9d5cdea95c Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-21 19:46:20 +03:00
Yuri Kuznetsov
004c2a4646 Merge branch 'hotfix/5.8.6' 2020-04-21 19:42:12 +03:00
Yuri Kuznetsov
05d88731e7 fix typo 2020-04-21 19:41:49 +03:00
Taras Machyshyn
5b0d244c8a Fix tests 2020-04-21 17:36:41 +03:00
Yuri Kuznetsov
60cf844f63 Merge branch 'hotfix/5.8.6' 2020-04-21 11:59:00 +03:00
Yuri Kuznetsov
02eba06a6d fix scheduling tooltip 2020-04-21 11:58:52 +03:00
Yuri Kuznetsov
c9e148f4d0 zzend to laminas 2020-04-21 11:39:26 +03:00
Yuri Kuznetsov
d7f3e79ce8 showing error message 2020-04-20 14:56:13 +03:00
Yuri Kuznetsov
5549a80e69 record service exception messages 2020-04-20 14:50:03 +03:00
Yuri Kuznetsov
82f7202ec3 merge improvements 2020-04-20 14:37:11 +03:00
Yuri Kuznetsov
77c1db6b25 contact account is inective merge disabled 2020-04-20 14:14:07 +03:00
Yuri Kuznetsov
adb7165807 fix notice 2020-04-18 10:42:12 +03:00
Yuri Kuznetsov
d1cfa84f06 email address autocomplete scopes 2020-04-17 17:30:57 +03:00
Yuri Kuznetsov
f9aa080fc8 Merge branch 'hotfix/5.8.6' 2020-04-17 14:11:54 +03:00
Yuri Kuznetsov
6d47e327cb formula find related many 2020-04-17 14:02:48 +03:00
Yuri Kuznetsov
a2f0d32c5f fix formula find related one filter 2020-04-17 13:41:54 +03:00
Yuri Kuznetsov
4e019a7e84 fix formula find related one filter 2020-04-17 13:40:18 +03:00
Yuri Kuznetsov
d3c7c6bfe4 formula find related one support belongs to 2020-04-17 13:20:39 +03:00
Yuri Kuznetsov
ddc4cfb197 email account fetch since not required 2020-04-17 11:31:55 +03:00
Taras Machyshyn
43696d91fc Modification upgrade script 5.9 2020-04-16 12:00:16 +03:00
Yuri Kuznetsov
69ec7ea23b added tooltip 2020-04-16 09:38:52 +03:00
Yuri Kuznetsov
5b0a58372b Merge branch 'hotfix/5.8.5' 2020-04-16 09:21:23 +03:00
Yuri Kuznetsov
38e2650cde fix foreign email/phone 2020-04-16 09:21:06 +03:00
Yuri Kuznetsov
307ba20f0a formula string replace 2020-04-15 15:52:26 +03:00
Yuri Kuznetsov
1659a731ad Merge branch 'hotfix/5.8.5' 2020-04-15 13:58:07 +03:00
Yuri Kuznetsov
f28fcde90c collection fix 2020-04-15 13:57:46 +03:00
Yuri Kuznetsov
21cda21b2e email template htmlizer support 2020-04-15 10:44:57 +03:00
Yuri Kuznetsov
576d34e9bb htmlizer factory 2020-04-15 10:23:46 +03:00
Yuri Kuznetsov
d6b992ef50 cleanupOrphanAttachments fix 2020-04-15 09:36:19 +03:00
Yuri Kuznetsov
f4c8931d7c Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-14 19:35:34 +03:00
Yuri Kuznetsov
8a17ff2ca3 attachment api: get file 2020-04-14 19:35:21 +03:00
Taras Machyshyn
a5681a75bb Fixed integration tests 2020-04-14 17:21:56 +03:00
Yuri Kuznetsov
e6b1299293 formula: generate pdf 2020-04-14 12:58:36 +03:00
Yuri Kuznetsov
01de38ce97 cleanup 2020-04-14 12:25:32 +03:00
Yuri Kuznetsov
35940f28d2 formula apply template addition 2020-04-14 12:11:16 +03:00
Yuri Kuznetsov
1c1b40ff24 formula: email apply template 2020-04-14 11:58:34 +03:00
Yuri Kuznetsov
31cc9849e4 fix notice 2020-04-14 11:13:48 +03:00
Yuri Kuznetsov
61fb2a0bbe fix notice 2020-04-14 11:07:19 +03:00
Yuri Kuznetsov
0c5af4c6f0 formula send email change 2020-04-13 16:46:18 +03:00
Yuri Kuznetsov
bde04d8a4a manual merge 2020-04-13 15:35:48 +03:00
Yuri Kuznetsov
9bbe2ba80d fix email save to draft subject lost 2020-04-13 15:34:12 +03:00
Yuri Kuznetsov
1a5e9d287d formula: ext\email\send 2020-04-13 15:05:37 +03:00
Yuri Kuznetsov
116f04d42a fix email 2020-04-13 14:57:05 +03:00
Yuri Kuznetsov
92e15f4252 email servise: sending refactoring 2020-04-13 13:40:34 +03:00
Yuri Kuznetsov
192410420f naming fix 2020-04-13 12:56:56 +03:00
Yuri Kuznetsov
5f9db6489a mail parsing attachment fix: fetch binary content 2020-04-13 10:57:41 +03:00
Yuri Kuznetsov
dcc97f4f26 fix typo 2020-04-10 17:39:29 +03:00
Yuri Kuznetsov
513398c984 import: ability to save properties as default 2020-04-10 17:35:00 +03:00
Yuri Kuznetsov
10955e3f56 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-10 16:44:36 +03:00
Yuri Kuznetsov
261f6daf69 mail parsing attachment empty charset fix 2020-04-10 16:43:25 +03:00
Taras Machyshyn
b352a194ea Fixed mb4 collation for MariaDB 2020-04-10 16:15:48 +03:00
Taras Machyshyn
1c9095a9f4 Changed max index length due to MariaDB changes 2020-04-10 12:13:27 +03:00
Yuri Kuznetsov
3b69b83b3d update mail-mime-parser 2020-04-10 09:52:50 +03:00
Yuri Kuznetsov
882e92bbcf import ui refactoring 2020-04-09 19:02:48 +03:00
Yuri Kuznetsov
a5cfaabd13 formula add function text 2020-04-09 14:28:31 +03:00
Yuri Kuznetsov
8323d867fb Merge branch 'hotfix/5.8.5' 2020-04-09 14:00:36 +03:00
Yuri Kuznetsov
d88b99a7f8 preferences ui fix 2020-04-09 13:56:49 +03:00
Yuri Kuznetsov
9bea92f35e fix import tab delimiter 2020-04-09 13:52:41 +03:00
Yuri Kuznetsov
1fe3aad25f export import delimiter fixes and changes 2020-04-09 13:52:01 +03:00
Yuri Kuznetsov
10063eaaeb fix import tab delimiter 2020-04-09 13:51:35 +03:00
Yuri Kuznetsov
7b7c76c8d1 Merge branch 'hotfix/5.8.5' 2020-04-09 12:23:45 +03:00
Yuri Kuznetsov
ebe0e1ade7 fix update page title 2020-04-09 12:23:22 +03:00
Yuri Kuznetsov
b1ac2ebb49 fix import 2020-04-09 12:13:31 +03:00
Yuri Kuznetsov
348e72ac37 autocomplete small text 2020-04-09 11:21:28 +03:00
Yuri Kuznetsov
fb9df5ff0e account role autocomplete fixes 2020-04-09 11:07:02 +03:00
Yuri Kuznetsov
ad9f31c499 account role support autocomplete 2020-04-09 10:56:56 +03:00
Yuri Kuznetsov
4ba0f902ce less changes 2020-04-08 12:45:57 +03:00
Yuri Kuznetsov
6606a7aef1 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-08 10:04:21 +03:00
Yuri Kuznetsov
9b878148cf add phpunit results to gitignore 2020-04-08 10:04:16 +03:00
Yuri Kuznetsov
a1de3a1536 Update README.md 2020-04-08 09:52:48 +03:00
Yuri Kuznetsov
187e007653 formula record relate support mass relate 2020-04-07 16:25:43 +03:00
Yuri Kuznetsov
6fb4f79f80 formula record create update 2020-04-07 12:29:12 +03:00
Yuri Kuznetsov
785eb8ab39 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-07 11:04:20 +03:00
Yuri Kuznetsov
f096bf1949 Update README.md 2020-04-07 11:02:44 +03:00
Yuri Kuznetsov
a406bfe19f Update README.md 2020-04-07 11:02:02 +03:00
Yuri Kuznetsov
664610f283 Update README.md 2020-04-07 10:57:18 +03:00
Yuri Kuznetsov
cdc204710f Merge branch 'hotfix/5.8.5' 2020-04-07 10:22:35 +03:00
Yuri Kuznetsov
b762aafdb2 fix duration field 2020-04-07 10:21:38 +03:00
Taras Machyshyn
4e1b6a00b0 Bug fixes 2020-04-06 16:49:45 +03:00
Taras Machyshyn
1a7a7dd335 Tests fixes 2020-04-06 15:27:12 +03:00
Taras Machyshyn
d16b967b7b Bug fixes 2020-04-06 15:26:51 +03:00
Taras Machyshyn
9ec45a1730 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-06 14:36:42 +03:00
Taras Machyshyn
41448ef7eb Fix tests 2020-04-06 12:58:14 +03:00
Taras Machyshyn
ebbf785701 Bug fixes 2020-04-06 12:57:52 +03:00
Yuri Kuznetsov
82f9351414 mass email faster cleanup 2020-04-06 11:52:33 +03:00
Yuri Kuznetsov
b19f05af19 orm mapper massDeleteFromDb 2020-04-06 11:52:24 +03:00
Taras Machyshyn
8336fe3f66 Bug fixing in Util 2020-04-06 11:25:30 +03:00
Yuri Kuznetsov
af1fc53e10 generate keys ids improvements 2020-04-06 10:36:01 +03:00
Yuri Kuznetsov
8607c95c6e Merge branch 'hotfix/5.8.5' 2020-04-04 11:42:44 +03:00
Yuri Kuznetsov
3e76a51c4b css less border shadow 2020-04-04 11:42:23 +03:00
Yuri Kuznetsov
8aabf3eb6b layout manager confirm leave out 2020-04-04 11:22:54 +03:00
Yuri Kuznetsov
5c339648ba task modal complete in dropdown 2020-04-04 10:39:50 +03:00
Yuri Kuznetsov
cd453664eb css grid sm change 2020-04-04 10:23:52 +03:00
Taras Machyshyn
a7cb7125b2 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-04-03 18:16:50 +03:00
Taras Machyshyn
e8366602f3 Bug fixing in Layout manager 2020-04-03 18:09:59 +03:00
Taras Machyshyn
c25a23ae78 Fix tests 2020-04-03 18:09:06 +03:00
Yuri Kuznetsov
6fbafcfc36 import support history navigation 2020-04-03 17:56:55 +03:00
Yuri Kuznetsov
05940b916f import changes 2020-04-03 16:59:38 +03:00
Yuri Kuznetsov
dbfcf35084 Merge branch 'hotfix/5.8.5' 2020-04-03 16:30:57 +03:00
Taras Machyshyn
2dfe48d4b2 Fix tests 2020-04-03 16:27:51 +03:00
Yuri Kuznetsov
90c2e21788 Merge branch 'hotfix/5.8.5' 2020-04-03 15:53:34 +03:00
Taras Machyshyn
9eb5cd69c5 Merge branch 'hotfix/5.8.5' of https://github.com/espocrm/espocrm into hotfix/5.8.5 2020-04-03 15:50:54 +03:00
Taras Machyshyn
72fee60900 Fix tests 2020-04-03 15:49:52 +03:00
Yuri Kuznetsov
d4fb9fc79a Merge branch 'hotfix/5.8.5' 2020-04-03 14:35:21 +03:00
Yuri Kuznetsov
a4b3be8323 entity maanger loading promises fix 2020-04-03 14:34:56 +03:00
Yuri Kuznetsov
30a39f57ed Merge branch 'hotfix/5.8.5' 2020-04-03 13:54:18 +03:00
Yuri Kuznetsov
3660aa3fc8 fix orm insert update array 2020-04-03 13:54:07 +03:00
Yuri Kuznetsov
f970ac02f2 layout manager improvements 2020-04-03 12:29:34 +03:00
Yuri Kuznetsov
4d114bc2e8 bottom layout fix 2020-04-02 18:08:57 +03:00
Yuri Kuznetsov
ea0d53d0e6 bottom layout order fix 2020-04-02 18:07:46 +03:00
Yuri Kuznetsov
8a2c0853c2 bottom layout compatibility fixes 2020-04-02 17:44:13 +03:00
Yuri Kuznetsov
28c77b2890 add phpunit 2020-04-02 17:13:34 +03:00
Yuri Kuznetsov
4c3b4017eb diff compser no dev 2020-04-02 16:50:15 +03:00
Yuri Kuznetsov
a4240a7d89 merge with github 2020-04-02 16:26:15 +03:00
Yuri Kuznetsov
c3e4f343a4 Merge branch 'hotfix/5.8.5' 2020-04-02 16:22:26 +03:00
Yuri Kuznetsov
168077ad1b version 2020-04-02 16:20:03 +03:00
Yuri Kuznetsov
7679f019f9 notify messages changes 2020-04-02 11:00:35 +03:00
Yuri Kuznetsov
f80ed523bb Merge branch 'hotfix/5.8.5' 2020-04-01 17:27:40 +03:00
Yuri Kuznetsov
e58132b6b3 fixes 2020-04-01 16:34:23 +03:00
Yuri Kuznetsov
f98810d87f code formatting and cleanup 2020-04-01 16:23:02 +03:00
Yuri Kuznetsov
e3e5bf1651 Merge branch 'hotfix/5.8.5' 2020-04-01 13:43:21 +03:00
Yuri Kuznetsov
99af4a6dc7 entity manager message rebuild required 2020-04-01 13:43:02 +03:00
Yuri Kuznetsov
14510f9130 fix notice 2020-04-01 11:24:11 +03:00
Yuri Kuznetsov
f9ae0d266e Merge branch 'hotfix/5.8.5' 2020-04-01 11:21:09 +03:00
Yuri Kuznetsov
2ecc9ac10f mass email fix 2020-04-01 10:23:36 +03:00
Yuri Kuznetsov
2a0b8957fc mass email memory usage improvements 2020-03-31 17:45:42 +03:00
Yuri Kuznetsov
4dc289f2bc css fix 2020-03-31 17:38:49 +03:00
Yuri Kuznetsov
107856f57d target list changes 2020-03-31 17:29:08 +03:00
Yuri Kuznetsov
5eb4d27a83 fix mass email smtp account field 2020-03-31 16:31:28 +03:00
unitorzero
8a4302a8d9 Implementing feature 'Skip rebuild' (#1652)
* Implementing feature "Skip rebuild".

* fixes
2020-03-31 13:41:24 +03:00
Yuri Kuznetsov
db5b37b221 Merge branch 'hotfix/5.8.5' 2020-03-31 13:08:02 +03:00
Yuri Kuznetsov
34a191446f webhook event autocomplete 2020-03-31 13:07:35 +03:00
Yuri Kuznetsov
2a3e9c143f select related empty filter 2020-03-31 12:37:24 +03:00
Yuri Kuznetsov
85b38f8119 layout set teams panel 2020-03-31 12:37:11 +03:00
Yuri Kuznetsov
9f70e7dce2 tooltip fix 2020-03-31 12:14:39 +03:00
Yuri Kuznetsov
d73222875a update symphony/http-foundation 2020-03-31 11:36:59 +03:00
Yuri Kuznetsov
a90098666d fix diff 2020-03-31 11:27:03 +03:00
Yuri Kuznetsov
6f06c75fdd version 2020-03-31 10:56:33 +03:00
Yuri Kuznetsov
6977f1adaa gruntfile changes 2020-03-31 10:35:49 +03:00
Yuri Kuznetsov
67beeca698 grunt composer ignore-platform-reqs 2020-03-31 09:21:59 +03:00
Yuri Kuznetsov
acc6684e2d fix readme 2020-03-31 09:18:45 +03:00
Yuri Kuznetsov
7eb4818739 layout set tooltip 2020-03-30 23:16:24 +03:00
Yuri Kuznetsov
a1caf22474 layout set no teams panel 2020-03-30 23:01:15 +03:00
Yuri Kuznetsov
588887b9d8 layout set tooltip 2020-03-30 23:00:24 +03:00
Yuri Kuznetsov
2c480cc45b naming fix 2020-03-30 16:28:03 +03:00
Yuri Kuznetsov
068eff9c94 email sending changes 2020-03-30 16:15:22 +03:00
Yuri Kuznetsov
ff627dd7dc tooltips 2020-03-30 13:27:57 +03:00
Yuri Kuznetsov
bcf6a24b9f number field: next number max value 2020-03-30 12:39:25 +03:00
Yuri Kuznetsov
714907d498 email account tooltip 2020-03-28 13:50:12 +02:00
Yuri Kuznetsov
14660ed0ae Merge branch 'hotfix/5.8.5' 2020-03-27 18:18:05 +02:00
Yuri Kuznetsov
3632e53f12 fix tasks date end being changed when date start is removed 2020-03-27 18:17:41 +02:00
Yuri Kuznetsov
f0f6455969 scheduler 2020-03-27 17:18:28 +02:00
Yuri Kuznetsov
24546658b8 Merge branch 'hotfix/5.8.5' 2020-03-26 10:54:26 +02:00
Yuri Kuznetsov
2fc728cce9 do not show view personal data for portal users 2020-03-26 10:54:07 +02:00
Yuri Kuznetsov
0ec1de2e8e formula find related order not mandatory 2020-03-25 18:04:26 +02:00
Yuri Kuznetsov
8ec6a350fd update bull 2020-03-25 12:10:10 +02:00
Yuri Kuznetsov
2b824537eb search order fixes 2020-03-25 09:56:22 +02:00
Yuri Kuznetsov
c9caebca28 fix 2020-03-24 12:59:20 +02:00
Yuri Kuznetsov
5fdae984db panels disabled fix 2020-03-24 11:54:30 +02:00
Yuri Kuznetsov
f6500d6c08 bottom layout and panels hide show improvement 2020-03-24 11:18:52 +02:00
Yuri Kuznetsov
b3b04a5346 Merge branch 'hotfix/5.8.5' of https://github.com/espocrm/espocrm into hotfix/5.8.5 2020-03-23 16:08:48 +02:00
Yuri Kuznetsov
7aee43c2ff cleanup 2020-03-23 16:08:11 +02:00
Yuri Kuznetsov
376ddbb5ff Merge branch 'hotfix/5.8.5' 2020-03-23 16:07:50 +02:00
Yuri Kuznetsov
dc00c53731 css fix 2020-03-23 16:04:58 +02:00
Yuri Kuznetsov
eadfa783f7 Merge branch 'hotfix/5.8.5' 2020-03-21 15:19:22 +02:00
Yuri Kuznetsov
5e0e644b5e Merge branch 'master' of github.com:espocrm/espocrm 2020-03-21 15:19:13 +02:00
Yuri Kuznetsov
e4a75a75d2 Merge branch 'hotfix/5.8.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.5 2020-03-21 15:18:01 +02:00
Yuri Kuznetsov
1d16a3cbfd Merge branch 'hotfix/5.8.5' of ssh://172.20.0.1/var/git/espo/backend 2020-03-21 15:17:05 +02:00
Yuri Kuznetsov
8b27bb6fb4 Merge branch 'hotfix/5.8.5' of github.com:espocrm/espocrm 2020-03-21 15:16:33 +02:00
Yuri Kuznetsov
3cf1db1e6f Merge branch 'hotfix/5.8.5' 2020-03-20 14:43:45 +02:00
Yuri Kuznetsov
c2d0b2fb86 fix task date timezone 2020-03-20 14:43:21 +02:00
Yuri Kuznetsov
99dde4d4e1 timeline calendar no border 2020-03-20 13:32:21 +02:00
Yuri Kuznetsov
0845baa72e Merge branch 'hotfix/5.8.5' 2020-03-20 11:49:34 +02:00
Yuri Kuznetsov
1567fd4feb fix locked panel 2020-03-20 11:49:25 +02:00
Yuri Kuznetsov
edf1bac058 panels fix 2020-03-20 11:45:52 +02:00
Yuri Kuznetsov
f02a193bda Merge branch 'hotfix/5.8.5' 2020-03-20 11:43:31 +02:00
Yuri Kuznetsov
a9dff223ed hide panel locked 2020-03-20 11:43:21 +02:00
Yuri Kuznetsov
2bfb414495 Merge branch 'hotfix/5.8.5' 2020-03-19 21:13:46 +02:00
Yuri Kuznetsov
d55b82a6ea fix css 2020-03-19 21:13:31 +02:00
Yuri Kuznetsov
c58ffc6cac Merge branch 'hotfix/5.8.5' 2020-03-19 19:40:43 +02:00
Yuri Kuznetsov
6dfd2d49bb meeting all day fix date time zone 2020-03-19 19:40:15 +02:00
Yuri Kuznetsov
dc0a866277 Merge branch 'hotfix/5.8.5' 2020-03-19 09:33:47 +02:00
Yuri Kuznetsov
32f07d81d4 install: admin preferences with default values 2020-03-18 21:13:27 +02:00
Yuri Kuznetsov
44460362c5 change default date time formats 2020-03-18 20:45:31 +02:00
Yuri Kuznetsov
1c5537bb55 css avatar fix 2020-03-18 20:30:18 +02:00
Yuri Kuznetsov
2636ac0b31 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-03-18 12:50:18 +02:00
Yuri Kuznetsov
e5cfe759b1 Merge branch 'hotfix/5.8.5' 2020-03-18 12:49:59 +02:00
Yuri Kuznetsov
a6f7df72b5 css fix 2020-03-18 12:49:42 +02:00
Taras Machyshyn
5b4788825d Fixes for actionQuickCreate in list view 2020-03-18 12:42:21 +02:00
Yuri Kuznetsov
c0355cb2b2 date-time css fix 2020-03-18 11:34:17 +02:00
Yuri Kuznetsov
2eac1b3721 fix date end 2020-03-18 10:35:16 +02:00
Yuri Kuznetsov
78aa4ce6c5 less changes 2020-03-18 09:53:25 +02:00
Yuri Kuznetsov
dd7bd118af css fix 2020-03-17 18:28:58 +02:00
Yuri Kuznetsov
225c6efe3e detail show more panels 2020-03-17 16:46:54 +02:00
Yuri Kuznetsov
fa3a2b729b Merge branch 'issue/config-locking' 2020-03-17 15:53:54 +02:00
Yuri Kuznetsov
2a3e3dde0a Merge branch 'master' of github.com:espocrm/espocrm 2020-03-17 15:25:36 +02:00
Yuri Kuznetsov
878ce83448 Merge branch 'stable' 2020-03-17 15:24:54 +02:00
Yuri Kuznetsov
9b6b4e4199 fix email from change 2020-03-17 12:37:30 +02:00
Yuri Kuznetsov
1b7a06b909 email archive from validation 2020-03-17 12:26:18 +02:00
Yuri Kuznetsov
0925c6706e email ui fixes 2020-03-17 12:15:38 +02:00
Yuri Kuznetsov
f5829310b6 email to document 2020-03-17 12:11:57 +02:00
Yuri Kuznetsov
43ab056313 cleanup 2020-03-17 11:11:13 +02:00
Yuri Kuznetsov
57ef6f1b7e create record from email acl check 2020-03-17 11:08:44 +02:00
Yuri Kuznetsov
0525a0b3cd add GTQ currency 2020-03-17 09:59:47 +02:00
Yuri Kuznetsov
7a4cbec022 Merge branch 'hotfix/5.8.4' 2020-03-17 09:55:19 +02:00
Yuri Kuznetsov
69f836575c wysiwyg iframe empty fix 2020-03-16 15:01:52 +02:00
Yuri Kuznetsov
f82b8ad49f Merge branch 'hotfix/5.8.4' 2020-03-16 11:39:03 +02:00
Yuri Kuznetsov
de1e4abf0f Merge branch 'master' of https://github.com/espocrm/espocrm 2020-03-16 11:25:18 +02:00
Yuri Kuznetsov
c37c3d32aa account layout change 2020-03-16 11:25:07 +02:00
Yuri Kuznetsov
45b8764670 Update README.md 2020-03-16 10:42:31 +02:00
Yuri Kuznetsov
a21c6dda36 Update README.md 2020-03-16 10:13:53 +02:00
Yuri Kuznetsov
82be8d7fbd Update README.md 2020-03-16 10:10:15 +02:00
Yuri Kuznetsov
97ae13a27f Update README.md 2020-03-16 10:01:40 +02:00
Yuri Kuznetsov
edd2d6a630 search ui changes 2020-03-13 17:05:05 +02:00
Yuri Kuznetsov
8475e0a99c search buttons placement 2020-03-13 16:21:00 +02:00
Yuri Kuznetsov
02e3d1823f frontend some access checking for actions 2020-03-13 15:43:36 +02:00
Yuri Kuznetsov
6b6f522f1c frontend acl checkField function 2020-03-13 15:43:16 +02:00
Yuri Kuznetsov
80d695239c search button default style 2020-03-13 13:08:43 +02:00
Yuri Kuznetsov
d3684df6e3 confirm closing page 2020-03-13 12:43:40 +02:00
Yuri Kuznetsov
d2bf82d232 Merge branch 'hotfix/5.8.4' 2020-03-13 12:05:57 +02:00
Yuri Kuznetsov
f4e58d9bee remove email confirm msg 2020-03-13 11:55:00 +02:00
Yuri Kuznetsov
af9e77a5bb confirm msg markdown support 2020-03-13 11:52:22 +02:00
Yuri Kuznetsov
1d9af232b9 Merge branch 'hotfix/5.8.4' 2020-03-13 11:37:25 +02:00
Yuri Kuznetsov
709c301dda email: muted text if in trash 2020-03-13 11:34:07 +02:00
Yuri Kuznetsov
37dc6a1217 email attached notification 2020-03-13 11:17:46 +02:00
Yuri Kuznetsov
ba82989e97 Merge branch 'hotfix/5.8.4' 2020-03-12 17:05:36 +02:00
Taras Machyshyn
2a11d9e7ed Added data/tmp to .gitignore 2020-03-12 15:46:27 +02:00
Taras Machyshyn
67dea8fd5e Fix config save 2020-03-12 15:41:09 +02:00
Yuri Kuznetsov
8aff7316e5 email attachment icon on side panel 2020-03-12 11:16:32 +02:00
Yuri Kuznetsov
6331300806 Merge branch 'hotfix/5.8.4' 2020-03-12 11:00:54 +02:00
Yuri Kuznetsov
1601a12e20 config save fallback 2020-03-11 16:57:25 +02:00
Yuri Kuznetsov
4420511e02 config save with renaming 2020-03-11 16:21:49 +02:00
Yuri Kuznetsov
bbfe3c7366 ajaxTimeout param 2020-03-11 15:12:33 +02:00
Yuri Kuznetsov
e93860101c comples created modified fields 2020-03-11 14:38:15 +02:00
Yuri Kuznetsov
04444aa03a email replied arrows 2020-03-11 12:44:45 +02:00
Yuri Kuznetsov
6eba798cd8 user account directAccessDisabled 2020-03-11 11:53:46 +02:00
Yuri Kuznetsov
c5555c2909 fix layout service 2020-03-10 16:16:58 +02:00
Yuri Kuznetsov
56164b9446 detail cell label 2020-03-10 15:41:27 +02:00
Yuri Kuznetsov
9f40bb4b1e email archive from autocomplete 2020-03-10 15:21:50 +02:00
Yuri Kuznetsov
d67323d35f email layout changes 2020-03-10 15:16:58 +02:00
Yuri Kuznetsov
3f26095281 calendar additional attribute list 2020-03-10 12:52:25 +02:00
Yuri Kuznetsov
d63871957d cs fix 2020-03-10 12:32:40 +02:00
Yuri Kuznetsov
553c692b9a timeline fix 2020-03-09 17:06:19 +02:00
Yuri Kuznetsov
4a71ab5f5d websocket update 2020-03-09 16:31:05 +02:00
Yuri Kuznetsov
3fbdff674e Merge branch 'hotfix/5.8.3' of ssh://172.20.0.1/var/git/espo/backend 2020-03-09 16:19:21 +02:00
Yuri Kuznetsov
66fc4c2294 calendar some changes 2020-03-09 15:27:13 +02:00
Yuri Kuznetsov
a21e4b836d fullTextSearchOrderType in metadata 2020-03-09 12:59:26 +02:00
Yuri Kuznetsov
163d51770d multi-enum translateValueToEditLabel 2020-03-06 12:04:29 +02:00
Yuri Kuznetsov
364a5c50f0 fix test 2020-03-06 11:05:59 +02:00
Yuri Kuznetsov
581f09eb9b Merge branch 'hotfix/5.8.3' 2020-03-05 16:30:19 +02:00
Taras Machyshyn
e80269b61c Merge pull request #1625 from djgera/djgera-patch-2
add "client/custom" directory to permission check
2020-03-05 10:44:23 +02:00
Yuri Kuznetsov
2c4d5fb0f8 Merge branch 'hotfix/5.8.3' 2020-03-04 14:59:48 +02:00
Yuri Kuznetsov
1fe222852a order by non unique fields 2020-03-04 14:55:33 +02:00
Yuri Kuznetsov
60ae87a3cb fix orderById 2020-03-04 14:16:21 +02:00
Yuri Kuznetsov
4aba2aab4c timeline css changes 2020-03-04 13:14:20 +02:00
Yuri Kuznetsov
8c03b0a6cd remove overview label from layouts 2020-03-04 11:17:39 +02:00
Yuri Kuznetsov
e87fda3f3a convert lead tpl fixes 2020-03-04 10:59:00 +02:00
Yuri Kuznetsov
4cabd6c2f1 Merge branch 'hotfix/5.8.3' 2020-03-03 17:08:45 +02:00
Yuri Kuznetsov
ca3d10e7a2 timeline max label width 2020-03-03 16:30:42 +02:00
Yuri Kuznetsov
e4cb9071d0 tabs extra delimiter 2020-03-03 16:11:58 +02:00
Yuri Kuznetsov
2b2777b3da sales pipeline: team filter 2020-03-02 13:19:42 +02:00
Yuri Kuznetsov
83fd96a876 orderById param 2020-03-02 12:04:06 +02:00
Yuri Kuznetsov
c1b1eaf847 funnel chart 2020-02-28 16:45:55 +02:00
Yuri Kuznetsov
f63cc22f44 2fa required logout 2020-02-27 16:29:20 +02:00
Yuri Kuznetsov
3da1632e4b 2fa: force users 2020-02-27 16:22:18 +02:00
Yuri Kuznetsov
0bf4624839 2FA user field 2020-02-27 14:29:08 +02:00
Yuri Kuznetsov
0d38dfb385 Merge branch 'hotfix/5.8.3' 2020-02-27 13:03:29 +02:00
Yuri Kuznetsov
46d9dd7bea layout changes 2020-02-26 16:00:18 +02:00
Yuri Kuznetsov
4fa562a283 panels show-more 2020-02-26 15:44:15 +02:00
Yuri Kuznetsov
74c142a1ac Merge branch 'hotfix/5.8.3' 2020-02-26 12:33:37 +02:00
Yuri Kuznetsov
4433325abb resolve conflict 2020-02-25 16:43:17 +02:00
Yuri Kuznetsov
f2e5197568 layout sets 2020-02-25 16:41:52 +02:00
Gerardo Exequiel Pozzi
5deefc5f35 add client/custom to perm check 2020-02-22 19:17:03 -03:00
Yuri Kuznetsov
506f7cf410 css color fix 2020-02-20 13:19:26 +02:00
Yuri Kuznetsov
a5cec0370e currency: only default currency 2020-02-20 12:04:11 +02:00
Yuri Kuznetsov
2e92adff81 stream post preview 2020-02-20 11:30:12 +02:00
Yuri Kuznetsov
1e3a3b909b Merge branch 'hotfix/5.8.3' 2020-02-20 10:55:17 +02:00
Yuri Kuznetsov
e4237abdbf Merge branch 'hotfix/5.8.3' 2020-02-20 10:28:24 +02:00
Yuri Kuznetsov
20b6dbe5ac Merge branch 'hotfix/5.8.3' 2020-02-19 14:36:14 +02:00
2474 changed files with 100915 additions and 45267 deletions

11
.gitattributes vendored Normal file
View File

@@ -0,0 +1,11 @@
* text=auto
*.php text eol=crlf
*.js text eol=crlf
*.json text eol=crlf
*.md text eol=crlf
*.less text eol=crlf
*.css text eol=crlf
*.tpl text eol=crlf
*.html text eol=crlf
*.png binary

10
.gitignore vendored
View File

@@ -4,16 +4,18 @@
/data/preferences/*
/data/.backup/*
/data/config.php
/data/tmp/*
/build
/node_modules
npm-debug.log
/npm-debug.log
/test.php
/main.html
/tests/unit/testData/cache/*
!/tests/unit/testData/cache/.data
/tests/integration/config.php
composer.phar
vendor/
.phpunit.result.cache
/composer.phar
/vendor/
/custom/Espo/Custom/*
/install/config.php
/install/config.php

View File

@@ -20,5 +20,5 @@ DirectoryIndex index.php index.html
RewriteRule .* - [E=HTTP_ESPO_CGI_AUTH:%{HTTP:Authorization}]
RewriteRule reset/?$ reset.html [QSA,L]
RewriteRule /?web\.config - [F]
</IfModule>

View File

@@ -2,7 +2,7 @@
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.
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
See [Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
Branches:
@@ -12,4 +12,6 @@ Branches:
## Issues
We don't provide developer help or any kind of support on github. Please use our [forum](https://forum.espocrm.com) for this.
When reporting a possible bug please provide detail steps so that we will be able to reproduce the issue. Please try not to use phrases like "very big bug", "huge issue", etc. No need to use exclamation marks as well.
Note that we don't provide developer help or any kind of support on Github. Please use our [forum](https://forum.espocrm.com) for this.

View File

@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -21,10 +21,11 @@
/**
* * `grunt` - full build
* * `grunt dev` - build only items needed for development
* * `grunt offline` - skips *composer install*
* * `grunt dev` - build only items needed for development (takes less time)
* * `grunt offline` - build but skip *composer install*
* * `grant release` - full build plus upgrade packages`
* * `grant tests` - build and run tests
* * `grant test` - build for test running
* * `grant run-tests` - build and run unit and integratino tests
*/
module.exports = function (grunt) {
@@ -48,6 +49,7 @@ module.exports = function (grunt) {
'client/lib/bull.js',
'client/lib/marked.min.js',
'client/lib/autobahn.js',
'client/lib/gridstack.all.js',
'client/src/namespace.js',
'client/src/exceptions.js',
@@ -147,6 +149,7 @@ module.exports = function (grunt) {
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
]
}
},
@@ -210,6 +213,7 @@ module.exports = function (grunt) {
'daemon.php',
'rebuild.php',
'clear_cache.php',
'preload.php',
'upgrade.php',
'extension.php',
'websocket.php',
@@ -287,8 +291,8 @@ module.exports = function (grunt) {
},
files: [
{
src: 'build/tmp/application/Espo/Core/defaults/config.php',
dest: 'build/tmp/application/Espo/Core/defaults/config.php'
src: 'build/tmp/application/Espo/Resources/defaults/config.php',
dest: 'build/tmp/application/Espo/Resources/defaults/config.php'
}
]
}
@@ -300,19 +304,23 @@ module.exports = function (grunt) {
});
grunt.registerTask("composer", function() {
cp.execSync("composer install", {stdio: 'ignore'});
cp.execSync("composer install --ignore-platform-reqs --no-dev", {stdio: 'ignore'});
});
grunt.registerTask("composer-dev", function() {
cp.execSync("composer install --ignore-platform-reqs", {stdio: 'ignore'});
});
grunt.registerTask("upgrade", function() {
cp.execSync("node diff --all --vendor", {stdio: 'inherit'});
});
grunt.registerTask("unit-tests", function() {
cp.execSync("phpunit --bootstrap=vendor/autoload.php tests/unit", {stdio: 'inherit'});
grunt.registerTask("unit-tests-run", function() {
cp.execSync("vendor/bin/phpunit ./tests/unit", {stdio: 'inherit'});
});
grunt.registerTask("integration-tests", function() {
cp.execSync("phpunit --bootstrap=vendor/autoload.php tests/integration", {stdio: 'inherit'});
grunt.registerTask("integration-tests-run", function() {
cp.execSync("vendor/bin/phpunit ./tests/integration", {stdio: 'inherit'});
});
grunt.registerTask("zip", function() {
@@ -382,14 +390,29 @@ module.exports = function (grunt) {
'clean:release',
]);
grunt.registerTask('tests', [
'default',
'unit-tests',
'integration-tests',
grunt.registerTask('run-tests', [
'test',
'unit-tests-run',
'integration-tests-run',
]);
grunt.registerTask('run-unit-tests', [
'composer-dev',
'unit-tests-run',
]);
grunt.registerTask('run-integration-tests', [
'test',
'integration-tests-run',
]);
grunt.registerTask('dev', [
'composer',
'composer-dev',
'less',
]);
grunt.registerTask('test', [
'composer-dev',
'offline',
]);
};

View File

@@ -1,21 +1,21 @@
## EspoCRM
<a href='https://www.espocrm.com'>EspoCRM is an Open Source CRM</a> (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.
It's a web application with a frontend designed as a single page application based on backbone.js and a REST API backend written in PHP.
It's a web application with a frontend designed as a single page application and REST API backend written in PHP.
Download the latest release from our [website](https://www.espocrm.com).
[Download](https://www.espocrm.com/download/) the latest release from our website.
### Requirements
* PHP 7.2 and later (with pdo, json, gd, openssl, zip, imap, mbstring, curl extensions);
* MySQL 5.7 (and later), or MariaDB 10.1 (and later).
For more information about server configuration see [this article](https://www.espocrm.com/documentation/administration/server-configuration/).
For more information about server configuration see [this article](https://docs.espocrm.com/administration/server-configuration/).
### Documentation
Documentation for administrators, users and developers is available [here](https://www.espocrm.com/documentation/).
Documentation for administrators, users and developers is available [here](https://docs.espocrm.com).
### How to report a bug
@@ -23,34 +23,15 @@ Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our
### How to install a stable version
[Download](https://www.espocrm.com/download/) the latest version. See the [instructions](https://www.espocrm.com/documentation/administration/installation/) about installation.
[Download](https://www.espocrm.com/download/) the latest version. See the [instructions](https://docs.espocrm.com/administration/installation/) about installation.
### Getting started (for developers)
### Development
1. Clone repository to your local computer.
2. Change to the project's root directory.
3. Install [composer](https://getcomposer.org/doc/00-intro.md).
4. Run `composer install` if composer is installed globally or `php composer.phar install` if locally.
* [Getting started](https://docs.espocrm.com/development/how-to-start)
* [Running tests](https://docs.espocrm.com/development/tests)
* [Making translation](https://docs.espocrm.com/development/translation)
Never update composer dependencies if you are going to contribute code back.
Now you can build. Build will create compiled css files.
To compose a proper config.php and populate database you can run install by opening `http(s)://{YOUR_CRM_URL}/install` location in a browser. Then open `data/config.php` file and add `isDeveloperMode => true`.
### How to build (for developers)
You need to have nodejs and Grunt CLI installed.
1. Change to the project's root directory.
2. Install project dependencies with `npm install`.
3. Run Grunt with `grunt`.
The build will be created in the `build` directory.
Upgrade packages can be built with `grunt upgrade`.
### How to contribute (for developers)
### How to contribute
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.
@@ -60,37 +41,6 @@ Branches:
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
### Running tests (for developers)
You need to have *phpunit* installed.
Unit tests:
```
phpunit --bootstrap=vendor/autoload.php tests/unit
```
Integration tests:
```
phpunit --bootstrap=vendor/autoload.php tests/integration
```
### How to make a translation
Build po file with command:
`node po.js en_EN`
(specify needed language instead of en_EN)
After that translate the generated po file.
Build json files from the translated po file:
1. Put your po file espocrm-en_EN.po into `build` directory
2. Run `node lang.js en_EN`
Json files will be created in build directory grouped by folders.
### License
EspoCRM is published under the GNU GPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).

9
SECURITY.md Normal file
View File

@@ -0,0 +1,9 @@
# Security Policy
## Reporting a vulnerability
If you believe you have discovered a vulnerability in EspoCRM please contacts us via [this](https://www.espocrm.com/contacts/) or [this](https://www.espocrm.com/support/) forms.
## Supported versions
For severe vulnerabilities we provide fixes for 2 minor versions (the second number in the version string) back from the current stable version. Separate patches or manual fix guidelines will be provided for more old versions.

View File

@@ -9,4 +9,6 @@ RewriteEngine On
RewriteRule .* - [E=HTTP_ESPO_CGI_AUTH:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteRule ^ index.php [QSA,L]
RewriteRule /?web\.config - [F]

View File

@@ -1,9 +1,9 @@
<?php
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,5 +29,9 @@
require_once('../../bootstrap.php');
$app = new \Espo\Core\Application();
$app->run();
use Espo\Core\{
Application,
ApplicationRunners\Api,
};
(new Application())->run(Api::class);

View File

@@ -9,4 +9,6 @@ RewriteEngine On
RewriteRule .* - [E=HTTP_ESPO_CGI_AUTH:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteRule ^ index.php [QSA,L]
RewriteRule /?web\.config - [F]

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,11 +29,15 @@
require_once('../../../bootstrap.php');
use Espo\Core\{
Portal\Application,
Portal\ApplicationRunners\Api,
};
if (!empty($_GET['portalId'])) {
$portalId = $_GET['portalId'];
} else {
$portalId = explode('/', $_SERVER['REQUEST_URI'])[count(explode('/', $_SERVER['SCRIPT_NAME'])) - 1];
}
$app = new \Espo\Core\Portal\Application($portalId);
$app->run();
(new Application($portalId))->run(Api::class);

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,14 +29,13 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class ActionHistoryRecord extends \Espo\Core\Acl\Base
class ActionHistoryRecord extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $entity->get('userId') === $user->id;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Attachment extends \Espo\Core\Acl\Base
class Attachment extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
@@ -90,4 +90,3 @@ class Attachment extends \Espo\Core\Acl\Base
return false;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Email extends \Espo\Core\Acl\Base
class Email extends \Espo\Core\Acl\Acl
{
protected $ownerUserIdAttribute = 'usersIds';

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class EmailAddress extends \Espo\Core\Acl\Base
class EmailAddress extends \Espo\Core\Acl\Acl
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
@@ -62,4 +62,3 @@ class EmailAddress extends \Espo\Core\Acl\Base
return !$isFobidden;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class EmailFilter extends \Espo\Core\Acl\Base
class EmailFilter extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
@@ -53,4 +53,3 @@ class EmailFilter extends \Espo\Core\Acl\Base
return;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,12 +29,11 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Import extends \Espo\Core\Acl\Base
class Import extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Note extends \Espo\Core\Acl\Base
class Note extends \Espo\Core\Acl\Acl
{
protected $deleteThresholdPeriod = '1 month';

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Notification extends \Espo\Core\Acl\Base
class Notification extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
@@ -42,4 +42,3 @@ class Notification extends \Espo\Core\Acl\Base
return false;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class PhoneNumber extends \Espo\Core\Acl\Base
class PhoneNumber extends \Espo\Core\Acl\Acl
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class ScheduledJob extends \Espo\Core\Acl\Base
class ScheduledJob extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
@@ -58,4 +58,3 @@ class ScheduledJob extends \Espo\Core\Acl\Base
return $this->checkEntity($user, $entity, $data, 'create');
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,13 +29,15 @@
namespace Espo\Acl;
use \Espo\ORM\Entity;
use Espo\ORM\Entity;
class Team extends \Espo\Core\Acl\Base
use Espo\Entities\User as UserEntity;
class Team extends \Espo\Core\Acl\Acl
{
public function checkInTeam(\Espo\Entities\User $user, Entity $entity)
public function checkInTeam(UserEntity $user, Entity $entity)
{
$userTeamIdList = $user->getLinkMultipleIdList('teams');
return in_array($entity->id, $userTeamIdList);
}
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,12 +29,12 @@
namespace Espo\Acl;
use \Espo\ORM\Entity;
use \Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
class User extends \Espo\Core\Acl\Base
class User extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(\Espo\Entities\User $user, Entity $entity)
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $user->id === $entity->id;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Webhook extends \Espo\Core\Acl\Base
class Webhook extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{

View File

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

View File

@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter1 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($city) {
$result .= $city;
}
if ($state && $city) {
$result .= ', ';
}
if ($state) {
$result .= $state;
}
if ($postalCode && ($state || $city)) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
}
if ($country) {
if ($result) {
$result .= "\n";
}
$result .= $country;
}
return $result;
}
}

View File

@@ -0,0 +1,91 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter2 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($postalCode) {
$result .= $postalCode;
}
if ($postalCode && $city) {
$result .= ' ';
}
if ($city) {
$result .= $city;
}
}
if ($state || $country) {
if ($result) {
$result .= "\n";
}
if ($state) {
$result .= $state;
}
if ($state && $country) {
$result .= ' ';
}
if ($country) {
$result .= $country;
}
}
return $result;
}
}

View File

@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter3 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($country) {
$result .= $country;
}
if ($city || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($state) {
$result .= $state;
}
if ($state && $postalCode) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
if ($city && ($state || $postalCode)) {
$result .= ' ';
}
if ($city) {
$result .= $city;
}
}
if ($street) {
if ($result) {
$result .= "\n";
}
$result .= $street;
}
return $result;
}
}

View File

@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter4 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city) {
if ($result) {
$result .= "\n";
}
$result .= $city;
}
if ($country || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($country) {
$result .= $country;
}
if ($state && $country) {
$result .= ' - ';
}
if ($state) {
$result .= $state;
}
if ($postalCode && ($state || $country)) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
}
return $result;
}
}

View File

@@ -0,0 +1,121 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Utils\File\Manager as FileManager,
Utils\Module,
Binding\EspoBindingLoader,
Binding\Binding as BindingItem,
};
class Binding
{
protected $fileManager;
public function __construct(FileManager $fileManager)
{
$this->fileManager = $fileManager;
}
public function process(array $options, array $flagList) : ?string
{
$result = '';
$bindingLoader = new EspoBindingLoader(
new Module($this->fileManager)
);
$data = $bindingLoader->load();
$keyList = $data->getGlobalKeyList();
$result .= "Global:\n\n";
foreach ($keyList as $key) {
$result .= $this->printItem($key, $data->getGlobal($key));
}
$contextList = $data->getContextList();
foreach ($contextList as $context) {
$result .= "Context: {$context}\n\n";
$keyList = $data->getContextKeyList($context);
foreach ($keyList as $key) {
$result .= $this->printItem($key, $data->getContext($context, $key), true);
}
}
return $result;
}
private function printItem(string $key, BindingItem $binding) : string
{
$result = '';
$tab = ' ';
$result .= $tab . "Key: {$key}\n";
$type = $binding->getType();
$value = $binding->getValue();
$typeString = [
BindingItem::IMPLEMENTATION_CLASS_NAME => 'Implementation',
BindingItem::CONTAINER_SERVICE => 'Service',
BindingItem::VALUE => 'Value',
BindingItem::CALLBACK => 'Callback',
][$type];
$result .= $tab . "Type: {$typeString}\n";
if ($type == BindingItem::IMPLEMENTATION_CLASS_NAME || $type == BindingItem::CONTAINER_SERVICE) {
$result .= $tab . "Value: {$value}\n";
}
if ($type == BindingItem::VALUE) {
if (is_string($value) || is_int($value) || is_float($value)) {
$result .= $tab . "Value: {$value}\n";
}
if (is_bool($value)) {
$valueString = $value ? 'true' : 'false';
$result .= $tab . "Value: {$valueString}\n";
}
}
$result .= "\n";
return $result;
}
}

View File

@@ -0,0 +1,107 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Container as ContainerService,
Utils\Metadata,
};
class Container
{
protected $container;
protected $metadata;
public function __construct(ContainerService $container, Metadata $metadata)
{
$this->container = $container;
$this->metadata = $metadata;
}
public function process(array $options, array $flagList) : ?string
{
$nameOnly = in_array('nameOnly', $flagList);
$result = '';
$serviceList = [
'injectableFactory',
'config',
'log',
'fileManager',
'dataManager',
'metadata',
'user',
];
$fileList = scandir('application/Espo/Core/Loaders');
if (file_exists('custom/Espo/Custom/Core/Loaders')) {
$fileList = array_merge($fileList, scandir('custom/Espo/Custom/Core/Loaders'));
}
foreach ($fileList as $file) {
if (substr($file, -4) === '.php') {
$name = lcfirst(substr($file, 0, -4));
if (!in_array($name, $serviceList) && $this->container->has($name)) {
$serviceList[] = $name;
}
}
}
foreach ($this->metadata->get(['app', 'containerServices']) ?? [] as $name => $data) {
if (!in_array($name, $serviceList)) {
$serviceList[] = $name;
}
}
sort($serviceList);
if ($nameOnly) {
foreach ($serviceList as $name) {
$result .= $name . "\n";
}
return $result;
}
foreach ($serviceList as $name) {
$result .= $name . "\n";
$obj = $this->container->get($name);
$result .= get_class($obj) . "\n";
$result .= "\n";
}
return $result;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,31 +27,44 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\AppParams;
namespace Espo\Classes\AppParams;
class TemplateEntityTypeList extends \Espo\Core\Injectable
use Espo\Core\{
Acl,
Select\SelectManagerFactory,
ORM\EntityManager,
};
/**
* Returns a list of entity types for which a PDF template exists.
*/
class TemplateEntityTypeList
{
protected function init()
protected $acl;
protected $selectManagerFactory;
protected $entityManager;
public function __construct(Acl $acl, SelectManagerFactory $selectManagerFactory, EntityManager $entityManager)
{
$this->addDependency('acl');
$this->addDependency('selectManagerFactory');
$this->addDependency('entityManager');
$this->acl = $acl;
$this->selectManagerFactory = $selectManagerFactory;
$this->entityManager = $entityManager;
}
public function get()
{
if (!$this->getInjection('acl')->checkScope('Template')) {
if (!$this->acl->checkScope('Template')) {
return [];
}
$list = [];
$selectManager = $this->getInjection('selectManagerFactory')->create('Template');
$selectManager = $this->selectManagerFactory->create('Template');
$selectParams = $selectManager->getEmptySelectParams();
$selectManager->applyAccess($selectParams);
$templateList = $this->getInjection('entityManager')->getRepository('Template')
$templateList = $this->entityManager->getRepository('Template')
->select(['entityType'])
->groupBy(['entityType'])
->find($selectParams);

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,42 +27,44 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Utils\Authentication;
namespace Espo\Classes\Cleanup;
use \Espo\Core\Utils\Config;
use \Espo\Core\ORM\EntityManager;
use \Espo\Core\Utils\Auth;
use Espo\Core\{
Utils\Config,
ORM\EntityManager,
};
abstract class Base
use DateTime;
class Reminders
{
protected $config;
protected $entityManager;
private $passwordHash;
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
protected function getConfig()
{
return $this->config;
}
protected $cleanupRemindersPeriod = '15 days';
protected function getEntityManager()
public function process()
{
return $this->entityManager;
}
$period = '-' . $this->config->get('cleanupRemindersPeriod', $this->cleanupRemindersPeriod);
protected function getPasswordHash()
{
if (!isset($this->passwordHash)) {
$this->passwordHash = new \Espo\Core\Utils\PasswordHash($this->config);
}
$dt = new DateTime();
return $this->passwordHash;
$dt->modify($period);
$delete = $this->entityManager->getQueryBuilder()
->delete()
->from('Reminder')
->where([
'remindAt<' => $dt->format('Y-m-d'),
])
->build();
$this->entityManager->getQueryExecutor()->execute($delete);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,33 +27,63 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Cleanup;
namespace Espo\Classes\Cleanup;
class WebhookQueue extends Base
use Espo\Core\{
Utils\Config,
ORM\EntityManager,
};
use DateTime;
class WebhookQueue
{
protected $cleanupWebhookQueuePeriod = '10 days';
protected $config;
protected $entityManager;
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
public function process()
{
$pdo = $this->getEntityManager()->getPDO();
$period = '-' . $this->config->get('cleanupWebhookQueuePeriod', $this->cleanupWebhookQueuePeriod);
$datetime = new DateTime();
$period = '-' . $this->getConfig()->get('cleanupWebhookQueuePeriod', $this->cleanupWebhookQueuePeriod);
$datetime = new \DateTime();
$datetime->modify($period);
$from = $datetime->format('Y-m-d H:i:s');
$query = "
DELETE FROM `webhook_queue_item`
WHERE
DATE(created_at) < ".$pdo->quote($from)." AND
(status <> 'Pending' OR deleted = 1)
";
$pdo->query($query);
$query = $this->entityManager->getQueryBuilder()
->delete()
->from('WebhookQueueItem')
->where([
'DATE:(createdAt)<' => $from,
'OR' => [
'status!=' => 'Pending',
'deleted' => true,
],
])
->build();
$query = "
DELETE FROM `webhook_event_queue_item`
WHERE DATE(created_at) < ".$pdo->quote($from)." AND (is_processed = 1 OR deleted = 1)
";
$pdo->query($query);
$this->entityManager->getQueryExecutor()->execute($query);
$query = $this->entityManager->getQueryBuilder()
->delete()
->from('WebhookEventQueueItem')
->where([
'DATE:(createdAt)<' => $from,
'OR' => [
'isProcessed' => true,
'deleted' => true,
],
])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
}

View File

@@ -0,0 +1,138 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\{
ServiceFactory,
Console\Commands\Command,
};
use Throwable;
class Import implements Command
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function run(array $options, array $flagList)
{
$id = $options['id'] ?? null;
$filePath = $options['file'] ?? null;
$paramsId = $options['paramsId'] ?? null;
$service = $this->serviceFactory->create('Import');
$forceResume = in_array('resume', $flagList);
$revert = in_array('revert', $flagList);
if (!$id && $filePath) {
if (!$paramsId) {
$this->out("You need to specify --params-id option.\n");
return;
}
if (!file_exists($filePath)) {
$this->out("File not found.\n");
return;
}
$contents = file_get_contents($filePath);
try {
$result = $service->importFileWithParamsId($contents, $paramsId);
$resultId = $result->id;
$countCreated = $result->countCreated;
$countUpdated = $result->countUpdated;
}
catch (Throwable $e) {
$this->out("Error occured: ".$e->getMessage()."\n");
return;
}
$this->out("Finished. Import ID: {$resultId}. Created: {$countCreated}. Updated: {$countUpdated}.\n");
return;
}
if ($id && $revert) {
$this->out("Reverting import...\n");
try {
$service->revert($id);
}
catch (Throwable $e) {
$this->out("Error occured: " . $e->getMessage() . "\n");
return;
}
$this->out("Finished.\n");
return;
}
if ($id) {
$this->out("Running import, this may take a while...\n");
try {
$result = $service->importById($id, true, $forceResume);
}
catch (Throwable $e) {
$this->out("Error occured: " . $e->getMessage() . "\n");
return;
}
$countCreated = $result->countCreated;
$countUpdated = $result->countUpdated;
$this->out("Finished. Created: {$countCreated}. Updated: {$countUpdated}.\n");
return;
}
$this->out("Not enough params passed.\n");
return;
}
protected function out($string)
{
fwrite(\STDOUT, $string);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,13 +27,15 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Utils\Layout\Defaults;
namespace Espo\Classes\DefaultLayouts;
use Espo\Core\Utils\Metadata;
class DefaultSidePanelType
{
protected $metadata;
public function __construct(\Espo\Core\Utils\Metadata $metadata)
public function __construct(Metadata $metadata)
{
$this->metadata = $metadata;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class ArrayIntType extends ArrayType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class ArrayType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMaxCount(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMaxCount(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
$list = $entity->get($field);
@@ -44,14 +46,16 @@ class ArrayType extends BaseType
return true;
}
public function checkArray(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkArray(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$entity->has($field) || $entity->get($field) === null) return true;
if (isset($data->$field) && $data->$field !== null && !is_array($data->$field)) {
return false;
}
return is_array($entity->get($field));
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
if (!$entity->has($field) || $entity->get($field) === null) return false;
$list = $entity->get($field);

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,33 +27,33 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use \Espo\ORM\Entity;
use Espo\ORM\Entity;
use Espo\Core\{
Utils\Metadata,
Utils\FieldUtil,
};
class BaseType
{
private $metadata;
private $fieldManagerUtil;
protected $metadata;
protected $fieldUtil;
public function __construct(\Espo\Core\Utils\Metadata $metadata, \Espo\Core\Utils\FieldManagerUtil $fieldManagerUtil)
public function __construct(Metadata $metadata, FieldUtil $fieldUtil)
{
$this->metadata = $metadata;
$this->fieldManagerUtil = $fieldManagerUtil;
$this->fieldUtil = $fieldUtil;
}
protected function getActualAttributeList(Entity $entity, string $field) : array
{
return $this->getFieldManagerUtil()->getActualAttributeList($entity->getEntityType(), $field);
return $this->fieldUtil->getActualAttributeList($entity->getEntityType(), $field);
}
protected function getMetadata() : \Espo\Core\Utils\Metadata
protected function getMetadata() : Metadata
{
return $this->metadata;
}
protected function getFieldManagerUtil() : \Espo\Core\Utils\FieldManagerUtil
{
return $this->fieldManagerUtil;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class ChecklistType extends ArrayType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class CurrencyType extends FloatType
{
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return
$entity->has($field) && $entity->get($field) !== null &&

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class DateType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class DatetimeOptionalType extends DatetimeType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
if ($entity->has($field) && $entity->get($field) !== null) return true;
if ($entity->has($field . 'Date') && $entity->get($field . 'Date') !== null) return true;

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class DatetimeType extends DateType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class EmailType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) return true;
@@ -45,7 +47,7 @@ class EmailType extends BaseType
return false;
}
public function checkEmailAddress(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkEmailAddress(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) {
$address = $entity->get($field);
@@ -68,7 +70,7 @@ class EmailType extends BaseType
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class EnumType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class FileType extends LinkType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class FloatType extends IntType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class ImageType extends FileType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,30 +27,32 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class IntType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMax(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMax(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
if ($entity->get($field) > $validationValue) return false;
return true;
}
public function checkMin(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMin(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
if ($entity->get($field) < $validationValue) return false;
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,18 +27,20 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class JsonArrayType extends BaseType
{
public function checkArray(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkArray(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$entity->has($field) || $entity->get($field) === null) return true;
return is_array($entity->get($field));
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
if (!$entity->has($field) || $entity->get($field) === null) return false;
$list = $entity->get($field);

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkMultipleType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return count($entity->getLinkMultipleIdList($field)) > 0;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkParentType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$idAttribute = $field . 'Id';
$typeAttribute = $field . 'Type';

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$idAttribute = $field . 'Id';

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class MultiEnumType extends ArrayType
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class PersonNameType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$isEmpty = true;
foreach ($this->getActualAttributeList($entity, $field) as $attribute) {

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class PhoneType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) return true;
@@ -45,7 +47,7 @@ class PhoneType extends BaseType
return false;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class VarcharType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMaxLength(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMaxLength(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) {
$value = $entity->get($field);
@@ -47,7 +49,7 @@ class VarcharType extends BaseType
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}

View File

@@ -0,0 +1,192 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\TemplateHelpers;
class GoogleMaps
{
public static function image()
{
$args = func_get_args();
$context = $args[count($args) - 1];
$hash = $context['hash'];
$data = $context['data']['root'];
$em = $data['__entityManager'];
$metadata = $data['__metadata'];
$config = $data['__config'];
$entityType = $data['__entityType'];
$field = $hash['field'] ?? null;
$size = $hash['size'] ?? '400x400';
$zoom = $hash['zoom'] ?? null;
$language = $hash['language'] ?? $config->get('language');
if (strpos($size, 'x') === false) {
$size = $size .'x' . $size;
}
if ($field && $metadata->get(['entityDefs', $entityType, 'fields', $field, 'type']) !== 'address') {
$GLOBALS['log']->warning("Template helper _googleMapsImage: Specified field is not of address type.");
return null;
}
if (
!$field &&
!array_key_exists('street', $hash) &&
!array_key_exists('city', $hash) &&
!array_key_exists('country', $hash) &&
!array_key_exists('state', $hash) &&
!array_key_exists('postalCode', $hash)
) {
$field = ($entityType === 'Account') ? 'billingAddress' : 'address';
}
if ($field) {
$street = $data[$field . 'Street'] ?? null;
$city = $data[$field . 'City'] ?? null;
$country = $data[$field . 'Country'] ?? null;
$state = $data[$field . 'State'] ?? null;
$postalCode = $data[$field . 'postalCode'] ?? null;
} else {
$street = $hash['street'] ?? null;
$city = $hash['city'] ?? null;
$country = $hash['country'] ?? null;
$state = $hash['state'] ?? null;
$postalCode = $hash['postalCode'] ?? null;
}
$address = '';
if ($street) {
$address .= $street;
}
if ($city) {
if ($address != '') {
$address .= ', ';
}
$address .= $city;
}
if ($state) {
if ($address != '') {
$address .= ', ';
}
$address .= $state;
}
if ($postalCode) {
if ($state || $city) {
$address .= ' ';
} else {
if ($address) {
$address .= ', ';
}
}
$address .= $postalCode;
}
if ($country) {
if ($address != '') {
$address .= ', ';
}
$address .= $country;
}
$address = urlencode($address);
$apiKey = $config->get('googleMapsApiKey');
if (!$apiKey) {
$GLOBALS['log']->error("Template helper _googleMapsImage: No Google Maps API key.");
return null;
}
if (!$address) {
$GLOBALS['log']->debug("Template helper _googleMapsImage: No address to display.");
return null;
}
$format = 'jpg;';
$url = "https://maps.googleapis.com/maps/api/staticmap?" .
'center=' . $address .
'format=' . $format .
'&size=' . $size .
'&key=' . $apiKey;
if ($zoom) {
$url .= '&zoom=' . $zoom;
}
if ($language) {
$url .= '&language=' . $language;
}
$GLOBALS['log']->debug("Template helper _googleMapsImage: URL: {$url}.");
$image = \Espo\Classes\TemplateHelpers\GoogleMaps::getImage($url);
if (!$image) {
return null;
}
$filePath = tempnam(sys_get_temp_dir(), 'google_maps_image');
file_put_contents($filePath, $image);
list($width, $height) = explode('x', $size);
$tag = "<img src=\"{$filePath}\" width=\"{$width}\" height=\"{$height}\">";
return new LightnCandy\SafeString($tag);
}
public static function getImage(string $url)
{
$headers = [];
$headers[] = 'Accept: image/jpeg, image/pjpeg';
$headers[] = 'Connection: Keep-Alive';
$agent = 'Mozilla/5.0';
$c = curl_init();
curl_setopt($c, \CURLOPT_URL, $url);
curl_setopt($c, \CURLOPT_HTTPHEADER, $headers);
curl_setopt($c, \CURLOPT_HEADER, 0);
curl_setopt($c, \CURLOPT_USERAGENT, $agent);
curl_setopt($c, \CURLOPT_TIMEOUT, 10);
curl_setopt($c, \CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, \CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, \CURLOPT_BINARYTRANSFER, 1);
$raw = curl_exec($c);
curl_close($c);
return $raw;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM 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-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,12 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\UpgradeManager;
use Espo\Core\Utils\AdminNotificationManager;
use Espo\Core\Utils\SystemRequirements;
class Admin extends \Espo\Core\Controllers\Base
{
@@ -48,15 +50,17 @@ class Admin extends \Espo\Core\Controllers\Base
if (!$request->isPost()) {
throw new BadRequest();
}
$result = $this->getContainer()->get('dataManager')->rebuild();
return $result;
$this->getContainer()->get('dataManager')->rebuild();
return true;
}
public function postActionClearCache($params)
{
$result = $this->getContainer()->get('dataManager')->clearCache();
return $result;
$this->getContainer()->get('dataManager')->clearCache();
return true;
}
public function actionJobs()
@@ -73,15 +77,16 @@ class Admin extends \Espo\Core\Controllers\Base
throw new Forbidden();
}
}
$upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer());
$upgradeManager = new UpgradeManager($this->getContainer());
$upgradeId = $upgradeManager->upload($data);
$manifest = $upgradeManager->getManifest();
return array(
return [
'id' => $upgradeId,
'version' => $manifest['version'],
);
];
}
public function postActionRunUpgrade($params, $data)
@@ -92,7 +97,7 @@ class Admin extends \Espo\Core\Controllers\Base
}
}
$upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer());
$upgradeManager = new UpgradeManager($this->getContainer());
$upgradeManager->install(get_object_vars($data));
return true;
@@ -105,13 +110,15 @@ class Admin extends \Espo\Core\Controllers\Base
public function actionAdminNotificationList($params)
{
$adminNotificationManager = new \Espo\Core\Utils\AdminNotificationManager($this->getContainer());
$adminNotificationManager = new AdminNotificationManager($this->getContainer());
return $adminNotificationManager->getNotificationList();
}
public function actionSystemRequirementList($params)
{
$systemRequirementManager = new \Espo\Core\Utils\SystemRequirements($this->getContainer());
$systemRequirementManager = new SystemRequirements($this->getContainer());
return $systemRequirementManager->getAllRequiredList();
}
}

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,22 +29,33 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\BadRequest;
class App extends \Espo\Core\Controllers\Base
use Espo\Core\Authentication\Authentication;
use Espo\Core\Di;
use Espo\Core\Api\Request;
use StdClass;
class App implements
Di\ServiceFactoryAware,
Di\InjectableFactoryAware
{
use Di\ServiceFactorySetter;
use Di\InjectableFactorySetter;
public function actionUser()
{
return $this->getServiceFactory()->create('App')->getUserData();
return $this->serviceFactory->create('App')->getUserData();
}
public function postActionDestroyAuthToken($params, $data)
public function postActionDestroyAuthToken(array $params, StdClass $data, Request $request)
{
if (empty($data->token)) {
throw new BadRequest();
}
$auth = new \Espo\Core\Utils\Auth($this->getContainer());
return $auth->destroyAuthToken($data->token);
$auth = $this->injectableFactory->create(Authentication::class);
return $auth->destroyAuthToken($data->token, $request);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Attachment extends \Espo\Core\Controllers\Record
{
@@ -57,4 +57,21 @@ class Attachment extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getCopiedAttachment($data)->getValueMap();
}
public function getActionFile($params, $data, $request, $response)
{
$id = $params['id'] ?? null;
if (!$id) throw new BadRequest();
$fileData = $this->getRecordService()->getFileData($id);
$response->setHeader('Content-Type', $fileData->type);
$response->setHeader('Content-Disposition', 'Content-Disposition: attachment; filename="'.$fileData->name.'"');
if ($fileData->size) {
$response->setHeader('Content-Length', strlen($fileData->contents));
}
return $fileData->contents;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class AuthLogRecord extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class AuthToken extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,31 +29,34 @@
namespace Espo\Controllers;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\{
Forbidden,
BadRequest,
};
class CurrencyRate extends \Espo\Core\Controllers\Base
use Espo\Core\{
ServiceFactory,
Api\Request,
};
class CurrencyRate
{
protected function checkControllerAccess()
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
if (!$this->getAcl()->check('Currency')) {
throw new Forbidden();
}
$this->serviceFactory = $serviceFactory;
}
public function getActionIndex()
public function getActionIndex(Request $request)
{
if ($this->getAcl()->getLevel('Currency', 'read') !== 'yes') throw new Forbidden();
return $this->getService('CurrencyRate')->get();
return $this->serviceFactory->create('CurrencyRate')->get();
}
public function putActionUpdate($params, $data)
public function putActionUpdate(Request $request)
{
if ($this->getAcl()->getLevel('Currency', 'edit') !== 'yes') throw new Forbidden();
$data = $request->getParsedBody();
if (empty($data) || !is_object($data)) throw new BadRequest();
return $this->getService('CurrencyRate')->set($data);
return $this->serviceFactory->create('CurrencyRate')->set($data);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class DashboardTemplate extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,27 +29,33 @@
namespace Espo\Controllers;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
class DataPrivacy extends \Espo\Core\Controllers\Base
use Espo\Core\ServiceFactory;
use Espo\Core\Acl;
class DataPrivacy
{
protected function checkControllerAccess()
protected $serviceFactory;
protected $acl;
public function __construct(ServiceFactory $serviceFactory, Acl $acl)
{
if ($this->getAcl()->get('dataPrivacyPermission') === 'no') {
$this->serviceFactory = $serviceFactory;
$this->acl = $acl;
if ($this->acl->get('dataPrivacyPermission') === 'no') {
throw new Forbidden();
}
}
public function postActionErase($params, $data)
public function postActionErase($params, \StdClass $data)
{
if (empty($data->entityType) || empty($data->id) || empty($data->fieldList) || !is_array($data->fieldList)) {
throw new BadRequest();
}
return $this->getServiceFactory()->create('DataPrivacy')->erase($data->entityType, $data->id, $data->fieldList);
return $this->serviceFactory->create('DataPrivacy')->erase($data->entityType, $data->id, $data->fieldList);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,9 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
class Email extends \Espo\Core\Controllers\Record
{
@@ -230,4 +229,15 @@ class Email extends \Espo\Core\Controllers\Record
}
return $this->getRecordService()->moveToFolderByIdList($idList, $data->folderId);
}
public function getActionGetInsertFieldData($params, $data, $request)
{
if (!$this->getAcl()->checkScope('Email', 'create')) throw new Forbidden();
return $this->getServiceFactory()->create('EmailTemplate')->getInsertFieldData([
'parentId' => $request->get('parentId'),
'parentType' => $request->get('parentType'),
'to' => $request->get('to'),
]);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Error;
class EmailAccount extends \Espo\Core\Controllers\Record
{
@@ -39,7 +39,7 @@ class EmailAccount extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'security' => $data->security ?? null,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class EmailAddress extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -33,4 +33,3 @@ class EmailFilter extends \Espo\Core\Controllers\Record
{
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\BadRequest;
class EmailFolder extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Error;
class EmailTemplate extends \Espo\Core\Controllers\Record
{
@@ -49,6 +49,4 @@ class EmailTemplate extends \Espo\Core\Controllers\Record
'relatedId' => $request->get('relatedId')
), true);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM 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-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,26 +29,49 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\Error;
use Espo\{
Entities\User,
Tools\EntityManager\EntityManager as EntityManagerTool,
};
class EntityManager extends \Espo\Core\Controllers\Base
use Espo\Core\{
Exceptions\Error,
Exceptions\Forbidden,
Exceptions\BadRequest,
Api\Request,
DataManager,
Utils\Config,
};
class EntityManager
{
protected $user;
protected $dataManager;
protected $config;
protected $entityManagerTool;
public function __construct(User $user, DataManager $dataManager, Config $config, EntityManagerTool $entityManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->config = $config;
$this->entityManagerTool = $entityManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function actionCreateEntity($params, $data, $request)
public function postActionCreateEntity(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
if (empty($data['name']) || empty($data['type'])) {
throw new BadRequest();
@@ -101,18 +124,18 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params['kanbanStatusIgnoreList'] = $data['kanbanStatusIgnoreList'];
}
$result = $this->getContainer()->get('entityManagerUtil')->create($name, $type, $params);
$result = $this->entityManagerTool->create($name, $type, $params);
if ($result) {
$tabList = $this->getConfig()->get('tabList', []);
$tabList = $this->config->get('tabList', []);
if (!in_array($name, $tabList)) {
$tabList[] = $name;
$this->getConfig()->set('tabList', $tabList);
$this->getConfig()->save();
$this->config->set('tabList', $tabList);
$this->config->save();
}
$this->getContainer()->get('dataManager')->rebuild();
$this->dataManager->rebuild();
} else {
throw new Error();
}
@@ -120,23 +143,23 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function actionUpdateEntity($params, $data, $request)
public function postActionUpdateEntity(Request $request)
{
$data = $request->getParsedBody();
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
if (empty($data['name'])) {
throw new BadRequest();
}
$name = $data['name'];
$name = filter_var($name, \FILTER_SANITIZE_STRING);
$result = $this->getContainer()->get('entityManagerUtil')->update($name, $data);
$result = $this->entityManagerTool->update($name, $data);
if ($result) {
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
} else {
throw new Error();
}
@@ -144,32 +167,31 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function actionRemoveEntity($params, $data, $request)
public function postActionRemoveEntity(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
if (empty($data['name'])) {
throw new BadRequest();
}
$name = $data['name'];
$name = filter_var($name, \FILTER_SANITIZE_STRING);
$result = $this->getContainer()->get('entityManagerUtil')->delete($name);
$result = $this->entityManagerTool->delete($name);
if ($result) {
$tabList = $this->getConfig()->get('tabList', []);
$tabList = $this->config->get('tabList', []);
if (($key = array_search($name, $tabList)) !== false) {
unset($tabList[$key]);
$tabList = array_values($tabList);
}
$this->getConfig()->set('tabList', $tabList);
$this->getConfig()->save();
$this->config->set('tabList', $tabList);
$this->config->save();
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
} else {
throw new Error();
}
@@ -177,13 +199,11 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function actionCreateLink($params, $data, $request)
public function postActionCreateLink(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
$paramList = [
'entity',
@@ -234,10 +254,10 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params['foreignLinkEntityTypeList'] = $data['foreignLinkEntityTypeList'];
}
$result = $this->getContainer()->get('entityManagerUtil')->createLink($params);
$result = $this->entityManagerTool->createLink($params);
if ($result) {
$this->getContainer()->get('dataManager')->rebuild();
$this->dataManager->rebuild();
} else {
throw new Error();
}
@@ -245,13 +265,11 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function actionUpdateLink($params, $data, $request)
public function postActionUpdateLink(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
$paramList = [
'entity',
@@ -295,10 +313,10 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params['foreignLinkEntityTypeList'] = $data['foreignLinkEntityTypeList'];
}
$result = $this->getContainer()->get('entityManagerUtil')->updateLink($params);
$result = $this->entityManagerTool->updateLink($params);
if ($result) {
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
} else {
throw new Error();
}
@@ -306,27 +324,27 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function actionRemoveLink($params, $data, $request)
public function postActionRemoveLink(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
$paramList = [
'entity',
'link',
];
$d = array();
$d = [];
foreach ($paramList as $item) {
$d[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
}
$result = $this->getContainer()->get('entityManagerUtil')->deleteLink($d);
$result = $this->entityManagerTool->deleteLink($d);
if ($result) {
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
} else {
throw new Error();
}
@@ -334,32 +352,37 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
public function postActionFormula($params, $data, $request)
public function postActionFormula(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope)) {
throw new BadRequest();
}
if (!property_exists($data, 'data')) {
throw new BadRequest();
}
$formulaData = get_object_vars($data->data);
$this->getContainer()->get('entityManagerUtil')->setFormulaData($data->scope, $formulaData);
$this->entityManagerTool->setFormulaData($data->scope, $formulaData);
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
return true;
}
public function postActionResetToDefault($params, $data, $request)
public function postActionResetToDefault(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope)) {
throw new BadRequest();
}
$this->getContainer()->get('entityManagerUtil')->resetToDefaults($data->scope);
$this->getContainer()->get('dataManager')->clearCache();
$this->entityManagerTool->resetToDefaults($data->scope);
$this->dataManager->clearCache();
return true;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class Extension extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,9 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class ExternalAccount extends \Espo\Core\Controllers\Record
{
@@ -93,12 +93,7 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
{
list($integration, $userId) = explode('__', $params['id']);
if ($this->getUser()->id != $userId && !$this->getUser()->isAdmin()) {
throw new Forbidden();
}
$entity = $this->getEntityManager()->getEntity('ExternalAccount', $params['id']);
return $entity->toArray();
return $this->getRecordService()->read($params['id'])->getValueMap();
}
public function actionUpdate($params, $data, $request)

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,27 +29,52 @@
namespace Espo\Controllers;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
use Espo\{
Entities\User,
Tools\FieldManager\FieldManager as FieldManagerTool,
};
class FieldManager extends \Espo\Core\Controllers\Base
use Espo\Core\{
Exceptions\Error,
Exceptions\Forbidden,
Exceptions\NotFound,
Exceptions\BadRequest,
Api\Request,
DataManager,
};
class FieldManager
{
protected $user;
protected $dataManager;
protected $fieldManagerTool;
public function __construct(User $user, DataManager $dataManager, FieldManagerTool $fieldManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->fieldManagerTool = $fieldManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function actionRead($params, $data)
public function getActionRead(Request $request)
{
if (empty($params['scope']) || empty($params['name'])) {
$scope = $request->getRouteParam('scope');
$name = $request->getRouteParam('name');
if (!$scope || !$name) {
throw new BadRequest();
}
$data = $this->getContainer()->get('fieldManager')->read($params['scope'], $params['name']);
$data = $this->fieldManagerTool->read($scope, $name);
if (!isset($data)) {
throw new BadRequest();
@@ -58,72 +83,91 @@ class FieldManager extends \Espo\Core\Controllers\Base
return $data;
}
public function postActionCreate($params, $data)
public function postActionCreate(Request $request)
{
if (empty($params['scope']) || empty($data->name)) {
$data = $request->getParsedBody();
$scope = $request->getRouteParam('scope');
$name = $data->name ?? null;
if (!$scope || !$name) {
throw new BadRequest();
}
$fieldManager = $this->getContainer()->get('fieldManager');
$fieldManager->create($params['scope'], $data->name, get_object_vars($data));
$fieldManagerTool = $this->fieldManagerTool;
$fieldManagerTool->create($scope, $name, get_object_vars($data));
try {
$this->getContainer()->get('dataManager')->rebuild($params['scope']);
} catch (Error $e) {
$fieldManager->delete($params['scope'], $data->name);
$this->dataManager->rebuild([$scope]);
}
catch (Error $e) {
$fieldManagerTool->delete($scope, $data->name);
throw new Error($e->getMessage());
}
return $fieldManager->read($params['scope'], $data->name);
return $fieldManagerTool->read($scope, $data->name);
}
public function patchActionUpdate($params, $data)
public function patchActionUpdate(Request $request)
{
return $this->putActionUpdate($params, $data);
return $this->putActionUpdate($request);
}
public function putActionUpdate($params, $data)
public function putActionUpdate(Request $request)
{
if (empty($params['scope']) || empty($params['name'])) {
$data = $request->getParsedBody();
$scope = $request->getRouteParam('scope');
$name = $request->getRouteParam('name');
if (!$scope || !$name) {
throw new BadRequest();
}
$fieldManager = $this->getContainer()->get('fieldManager');
$fieldManager->update($params['scope'], $params['name'], get_object_vars($data));
$fieldManagerTool = $this->fieldManagerTool;
if ($fieldManager->isChanged()) {
$this->getContainer()->get('dataManager')->rebuild($params['scope']);
$fieldManagerTool->update($scope, $name, get_object_vars($data));
if ($fieldManagerTool->isChanged()) {
$this->dataManager->rebuild([$scope]);
} else {
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
}
return $fieldManager->read($params['scope'], $params['name']);
return $fieldManagerTool->read($scope, $name);
}
public function deleteActionDelete($params, $data)
public function deleteActionDelete(Request $request)
{
if (empty($params['scope']) || empty($params['name'])) {
$scope = $request->getRouteParam('scope');
$name = $request->getRouteParam('name');
if (!$scope || !$name) {
throw new BadRequest();
}
$result = $this->getContainer()->get('fieldManager')->delete($params['scope'], $params['name']);
$result = $this->fieldManagerTool->delete($scope, $name);
$this->getContainer()->get('dataManager')->rebuildMetadata();
$this->dataManager->rebuildMetadata();
return $result;
}
public function postActionResetToDefault($params, $data)
public function postActionResetToDefault(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope) || empty($data->name)) {
throw new BadRequest();
}
$this->getContainer()->get('fieldManager')->resetToDefault($data->scope, $data->name);
$this->fieldManagerTool->resetToDefault($data->scope, $data->name);
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
$this->getContainer()->get('dataManager')->rebuildMetadata();
$this->dataManager->rebuildMetadata();
return true;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,11 +29,17 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error,
\Espo\Core\Exceptions\Forbidden;
use Espo\Core\ServiceFactory;
class GlobalSearch extends \Espo\Core\Controllers\Base
class GlobalSearch
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function actionSearch($params, $data, $request)
{
$query = $request->get('q');
@@ -41,7 +47,6 @@ class GlobalSearch extends \Espo\Core\Controllers\Base
$offset = intval($request->get('offset'));
$maxSize = intval($request->get('maxSize'));
return $this->getService('GlobalSearch')->find($query, $offset, $maxSize);
return $this->serviceFactory->create('GlobalSearch')->find($query, $offset, $maxSize);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,17 +29,21 @@
namespace Espo\Controllers;
class I18n extends \Espo\Core\Controllers\Base
use Espo\Core\ServiceFactory;
class I18n
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function actionRead($params, $data, $request)
{
$default = $request->get('default') === 'true';
return $this->getServiceFactory()->create('Language')->getDataForFrontend($default);
/*if ($request->get('default')) {
return $this->getContainer()->get('defaultLanguage')->getAll();
}
return $this->getContainer()->get('language')->getAll();*/
return $this->serviceFactory->create('Language')->getDataForFrontend($default);
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -30,9 +30,9 @@
namespace Espo\Controllers;
use Espo\Core\Utils as Utils;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Import extends \Espo\Core\Controllers\Record
{
@@ -78,24 +78,13 @@ class Import extends \Espo\Core\Controllers\Record
return $this->getContainer()->get('entityManager');
}
public function actionUploadFile($params, $data, $request)
public function postActionUploadFile($params, $data)
{
$contents = $data;
if (!$request->isPost()) {
throw new BadRequest();
}
$attachmentId = $this->getService('Import')->uploadFile($contents);
$attachment = $this->getEntityManager()->getEntity('Attachment');
$attachment->set('type', 'text/csv');
$attachment->set('role', 'Import File');
$attachment->set('name', 'import-file.csv');
$attachment->set('contents', $contents);
$this->getEntityManager()->saveEntity($attachment);
return [
'attachmentId' => $attachment->id
];
return ['attachmentId' => $attachmentId];
}
public function actionRevert($params, $data, $request)
@@ -106,7 +95,9 @@ class Import extends \Espo\Core\Controllers\Record
if (!$request->isPost()) {
throw new BadRequest();
}
return $this->getService('Import')->revert($data->id);
$this->getService('Import')->revert($data->id);
return true;
}
public function actionRemoveDuplicates($params, $data, $request)
@@ -117,7 +108,9 @@ class Import extends \Espo\Core\Controllers\Record
if (!$request->isPost()) {
throw new BadRequest();
}
return $this->getService('Import')->removeDuplicates($data->id);
$this->getService('Import')->removeDuplicates($data->id);
return true;
}
public function actionCreate($params, $data, $request)
@@ -190,6 +183,8 @@ class Import extends \Espo\Core\Controllers\Record
'skipDuplicateChecking' => !empty($data->skipDuplicateChecking),
'idleMode' => !empty($data->idleMode),
'silentMode' => !empty($data->silentMode),
'manualMode' => !empty($data->manualMode),
'defaultFieldList' => $data->defaultFieldList ?? [],
];
if (property_exists($data, 'updateBy')) {
@@ -210,7 +205,9 @@ class Import extends \Espo\Core\Controllers\Record
if (empty($data->id) || empty($data->entityType) || empty($data->entityId)) {
throw new BadRequest();
}
$this->getService('Import')->unmarkAsDuplicate($data->id, $data->entityType, $data->entityId);
return true;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
class InboundEmail extends \Espo\Core\Controllers\Record
{
@@ -46,7 +45,7 @@ class InboundEmail extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'security' => $data->security ?? null,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Integration extends \Espo\Core\Controllers\Record
{
@@ -82,4 +81,3 @@ class Integration extends \Espo\Core\Controllers\Record
return $entity->toArray();
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class Job extends \Espo\Core\Controllers\Record
{

View File

@@ -0,0 +1,73 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
use Espo\Core\{
Exceptions\BadRequest,
Api\Request,
ServiceFactory,
};
class KanbanOrder
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function postActionStore(Request $request)
{
$data = $request->getParsedBody();
$entityType = $data->entityType;
$group = $data->group;
$ids = $data->ids;
if (empty($entityType) || !is_string($entityType)) {
throw new BadRequest();
}
if (empty($group) || !is_string($group)) {
throw new BadRequest();
}
if (!is_array($ids)) {
throw new BadRequest();
}
$this->serviceFactory
->create('KanbanOrder')
->order($entityType, $group, $ids);
return true;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,49 +29,69 @@
namespace Espo\Controllers;
use Espo\Core\Utils as Utils;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\{
Exceptions\Forbidden,
Exceptions\BadRequest,
Api\Request,
DataManager,
};
class LabelManager extends \Espo\Core\Controllers\Base
use Espo\{
Tools\LabelManager\LabelManager as LabelManagerTool,
Entities\User,
};
class LabelManager
{
protected $user;
protected $dataManager;
protected $labelManagerTool;
public function __construct(User $user, DataManager $dataManager, LabelManagerTool $labelManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->labelManagerTool = $labelManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function postActionGetScopeList($params)
public function postActionGetScopeList()
{
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeList();
return $this->labelManagerTool->getScopeList();
}
public function postActionGetScopeData($params, $data, $request)
public function postActionGetScopeData(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope) || empty($data->language)) {
throw new BadRequest();
}
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeData($data->language, $data->scope);
return $this->labelManagerTool->getScopeData($data->language, $data->scope);
}
public function postActionSaveLabels($params, $data)
public function postActionSaveLabels(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope) || empty($data->language) || !isset($data->labels)) {
throw new BadRequest();
}
$labels = get_object_vars($data->labels);
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
$returnData = $labelManager->saveLabels($data->language, $data->scope, $labels);
$returnData = $this->labelManagerTool->saveLabels($data->language, $data->scope, $labels);
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
return $returnData;
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class LastViewed extends \Espo\Core\Controllers\Base
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -30,62 +30,51 @@
namespace Espo\Controllers;
use Espo\Core\Utils as Utils;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Layout extends \Espo\Core\Controllers\Base
{
public function actionRead($params, $data)
public function getActionRead($params, $data)
{
return $this->getServiceFactory()->create('Layout')->getForFrontend($params['scope'], $params['name']);
$scope = $params['scope'] ?? null;
$name = $params['name'] ?? null;
return $this->getServiceFactory()->create('Layout')->getForFrontend($scope, $name);
}
public function actionUpdate($params, $data, $request)
public function putActionUpdate($params, $data, $request)
{
if (is_object($data)) {
$data = get_object_vars($data);
}
$data = json_decode($request->getBodyContents());
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
if (is_object($data)) $data = get_object_vars($data);
if (!$request->isPut() && !$request->isPatch()) {
throw new BadRequest();
}
if (!$this->getUser()->isAdmin()) throw new Forbidden();
$layoutManager = $this->getContainer()->get('layout');
$layoutManager->set($data, $params['scope'], $params['name']);
$result = $layoutManager->save();
$scope = $params['scope'] ?? null;
$name = $params['name'] ?? null;
$setId = $params['setId'] ?? null;
if ($result === false) {
throw new Error("Error while saving layout.");
}
$this->getContainer()->get('dataManager')->updateCacheTimestamp();
return $layoutManager->get($params['scope'], $params['name']);
}
public function actionPatch($params, $data, $request)
{
return $this->actionUpdate($params, $data, $request);
return $this->getServiceFactory()->create('Layout')->update($scope, $name, $setId, $data);
}
public function postActionResetToDefault($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
if (!$this->getUser()->isAdmin()) throw new Forbidden();
if (empty($data->scope) || empty($data->name)) {
throw new BadRequest();
}
if (empty($data->scope) || empty($data->name)) throw new BadRequest();
$this->getContainer()->get('dataManager')->updateCacheTimestamp();
return $this->getServiceFactory()->create('Layout')->resetToDefault($data->scope, $data->name, $data->setId ?? null);
}
return $this->getContainer()->get('layout')->resetToDefault($data->scope, $data->name);
public function getActionGetOriginal($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
return $this->getServiceFactory()->create('Layout')->getOriginal(
$request->get('scope'), $request->get('name'), $request->get('setId')
);
}
}

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,26 +29,36 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\NotFound;
class LeadCapture extends \Espo\Core\Controllers\Record
{
public function postActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($data)) throw new BadRequest('No payload provided.');
if (empty($params['apiKey'])) {
throw new BadRequest('No API key provided.');
}
if (empty($data)) {
throw new BadRequest('No payload provided.');
}
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
return $this->getRecordService()->leadCapture($params['apiKey'], $data);
$response->setHeader('Access-Control-Allow-Origin', $allowOrigin);
$this->getRecordService()->leadCapture($params['apiKey'], $data);
return true;
}
public function optionsActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($params['apiKey'])) {
throw new BadRequest('No API key provided.');
}
if (!$this->getRecordService()->isApiKeyValid($params['apiKey'])) {
throw new NotFound();
@@ -56,23 +66,27 @@ class LeadCapture extends \Espo\Core\Controllers\Record
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
$response->headers->set('Access-Control-Allow-Methods', 'POST');
$response->setHeader('Access-Control-Allow-Headers', 'Content-Type, Accept');
$response->setHeader('Access-Control-Allow-Origin', $allowOrigin);
$response->setHeader('Access-Control-Allow-Methods', 'POST');
return true;
}
public function postActionGenerateNewApiKey($params, $data, $request)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->id)) {
throw new BadRequest();
}
return $this->getRecordService()->generateNewApiKeyForEntity($data->id)->getValueMap();
}
public function getActionSmtpAccountDataList()
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
return $this->getServiceFactory()->create('LeadCapture')->getSmtpAccountDataList();
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,6 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
class LeadCaptureLogRecord extends \Espo\Core\Controllers\Record
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,11 +29,10 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class Metadata extends \Espo\Core\Controllers\Base
{
public function actionRead($params, $data)
{
return $this->getServiceFactory()->create('Metadata')->getDataForFrontend();

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