Compare commits

...

1544 Commits

Author SHA1 Message Date
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
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
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
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
db5d1850a9 email import catching errors 2020-03-17 13:07:08 +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
705f791e12 css fixes 2020-03-17 09:54:59 +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
2e388b32f3 updage npm packages 2020-03-16 11:38:42 +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
01e252085c portal user create: no send password if no portal 2020-03-16 10:47:31 +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
e6f4b337ce action history mass remove 2020-03-13 12:00:04 +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
60b6c85864 fix move email to trash ui issue 2020-03-13 11:37:19 +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
Yuri Kuznetsov
731273c296 select manager: default order by to select 2020-03-12 17:02:24 +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
64d04e1d78 css fix 2020-03-12 11:00:46 +02:00
Yuri Kuznetsov
6258893aa8 check duplicates apply access 2020-03-12 10:57:08 +02:00
Yuri Kuznetsov
3e27868760 version 2020-03-12 10:49:37 +02:00
Yuri Kuznetsov
cbf8301a89 fix typo 2020-03-12 10:40:09 +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
64d31c8324 fix send invitation button 2020-03-11 14:58:34 +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
Taras Machyshyn
e6aad6eabc Merge branch 'hotfix/5.8.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.3 2020-03-09 16:19:07 +02:00
Taras Machyshyn
3b1d307fad Cli installation notice fixes 2020-03-09 16:18:49 +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
3159181c5c acceptance status modal change 2020-03-06 13:26:35 +02:00
Yuri Kuznetsov
770cac9b87 orm: IFNULL, NULLIF functions 2020-03-06 13:02:39 +02:00
Yuri Kuznetsov
ec4afe0e11 foreign concat name null if empty 2020-03-06 12:48:45 +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
Yuri Kuznetsov
d75bc354cf page title update fix 2020-03-05 16:28:16 +02:00
Yuri Kuznetsov
5e3f00f11d tootltip link in new tab 2020-03-05 12:40:07 +02:00
Yuri Kuznetsov
ffe83d24ce compose email: skip appending initial body if changed 2020-03-05 11:53:16 +02:00
Gerardo Exequiel Pozzi
ae874c44f5 add client/custom to perm check 2020-03-05 11:16:50 +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
7f092ad31d Merge branch 'hotfix/5.8.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.3 2020-03-04 13:15:53 +02:00
Taras Machyshyn
fd8090e13d Config improvements 2020-03-04 13:15:03 +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
f38361c7c7 fix duplicate link 2020-03-03 17:02:13 +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
70fff1167b underscore-min.map 2020-02-27 12:05:16 +02:00
Yuri Kuznetsov
196c300be5 update purify.js 2020-02-27 12:05:06 +02:00
Yuri Kuznetsov
a894f9a70b fix warnings 2020-02-27 11:47:01 +02:00
Yuri Kuznetsov
9e3c258c90 fix foreign field 2020-02-27 11:41:53 +02:00
Yuri Kuznetsov
0893082326 foreign field skip disabled 2020-02-27 10:49:48 +02:00
Yuri Kuznetsov
18d12c1faf campaign: hide statystics if no access to corresponding scopes 2020-02-26 16:31:05 +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
1f02c8320b Merge branch 'hotfix/5.8.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.3 2020-02-26 14:52:55 +02:00
Taras Machyshyn
774aff1d17 CronManager: log file and line 2020-02-26 14:52:19 +02:00
Yuri Kuznetsov
74c142a1ac Merge branch 'hotfix/5.8.3' 2020-02-26 12:33:37 +02:00
Yuri Kuznetsov
06d604796f fix panel state param 2020-02-26 12:31:17 +02:00
Yuri Kuznetsov
f1db095fdc fix link manager 2020-02-26 11:13:07 +02:00
Yuri Kuznetsov
bac5bf46b5 fix link manager 2020-02-26 11:10:08 +02:00
Yuri Kuznetsov
a0f085e415 fix link manager ui 2020-02-26 11:08:47 +02:00
Yuri Kuznetsov
c69f13dda6 fix parent 2020-02-26 11:06:47 +02:00
Yuri Kuznetsov
f6362b3aa5 parent w/o enity type list 2020-02-26 10:53:25 +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
Yuri Kuznetsov
bffcd3adb7 multi-enum: display as list on edit view 2020-02-25 10:53:13 +02:00
Yuri Kuznetsov
20e22c43f0 fix formula detail view height 2020-02-24 12:41:10 +02:00
Yuri Kuznetsov
99f0194b80 fix email address css 2020-02-24 10:57:49 +02:00
Yuri Kuznetsov
a5422fd789 clean up 2020-02-24 10:34:46 +02:00
Yuri Kuznetsov
fc5203c3ba fix array int 2020-02-24 10:29:55 +02:00
Gerardo Exequiel Pozzi
5deefc5f35 add client/custom to perm check 2020-02-22 19:17:03 -03:00
Yuri Kuznetsov
40531f4d4e avatar changes 2020-02-21 13:19:50 +02:00
Yuri Kuznetsov
78358057e6 lead opt in confirm message center 2020-02-21 11:32:38 +02:00
Yuri Kuznetsov
a6b7b5ca61 fix currency order 2020-02-20 17:39:37 +02:00
Yuri Kuznetsov
0b71b4fc7d naming fix 2020-02-20 15:54:23 +02:00
Yuri Kuznetsov
4b6c177af6 select manager: non existing filter return empty result 2020-02-20 15:26:56 +02:00
Yuri Kuznetsov
48c665b641 css color fix 2020-02-20 13:19:46 +02: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
1dbc41619f try catch on default value populate 2020-02-20 10:47:48 +02:00
Yuri Kuznetsov
e4237abdbf Merge branch 'hotfix/5.8.3' 2020-02-20 10:28:24 +02:00
Yuri Kuznetsov
b2e1ff0d5a Merge branch 'master' of github.com:espocrm/espocrm into hotfix/5.8.3 2020-02-20 10:26:30 +02:00
Yuri Kuznetsov
790c34cd8a fix label 2020-02-20 10:26:07 +02:00
Yuri Kuznetsov
1e175429c8 Update CONTRIBUTING.md 2020-02-20 08:49:04 +02:00
Yuri Kuznetsov
575cdf8f5b favicon in metadata 2020-02-19 16:55:19 +02:00
Yuri Kuznetsov
02948e09c5 cleanup 2020-02-19 14:48:02 +02:00
Yuri Kuznetsov
20b6dbe5ac Merge branch 'hotfix/5.8.3' 2020-02-19 14:36:14 +02:00
Yuri Kuznetsov
328b6fcaa0 user edit layout fix 2020-02-19 12:03:08 +02:00
Yuri Kuznetsov
42355f3bec chevron-right fix 2020-02-19 11:47:04 +02:00
Yuri Kuznetsov
37a84f8cea opportunity amount min value 0 2020-02-19 11:17:41 +02:00
Yuri Kuznetsov
f1ad8a734a css fix 2020-02-19 10:50:27 +02:00
Yuri Kuznetsov
870cdb19e3 fix date time 2020-02-19 10:24:33 +02:00
Yuri Kuznetsov
56e5ce0bba templatePlaceholderDisabled 2020-02-18 17:07:21 +02:00
Yuri Kuznetsov
576015fffe extension installation ui fix 2020-02-18 12:54:45 +02:00
Yuri Kuznetsov
5f3d34b027 cleanup 2020-02-18 11:44:49 +02:00
Yuri Kuznetsov
01bb105808 scripts 2020-02-18 11:38:50 +02:00
Yuri Kuznetsov
d9125a5204 streamEmailWithContentEntityTypeList 2020-02-18 11:38:44 +02:00
Yuri Kuznetsov
93a26dca36 v 2020-02-18 11:19:46 +02:00
Yuri Kuznetsov
5c539b99d8 port fields fixes 2020-02-18 11:03:53 +02:00
Yuri Kuznetsov
9e622bbfbd formula: string match 2020-02-14 11:11:31 +02:00
Yuri Kuznetsov
283a25162e json array validation 2020-02-13 17:06:35 +02:00
Yuri Kuznetsov
0c44eec377 formula array\\at 2020-02-13 15:39:32 +02:00
Yuri Kuznetsov
0cbdf88b21 formula findByEmailAddress 2020-02-13 12:24:28 +02:00
Yuri Kuznetsov
2f06f0b7d2 record view data-scope attribute 2020-02-12 12:42:45 +02:00
Yuri Kuznetsov
cee9d21b7c directUpdateDisabled param 2020-02-12 11:48:32 +02:00
Yuri Kuznetsov
c03afcce33 mass email fix 2020-02-11 13:14:10 +02:00
Yuri Kuznetsov
5e9ee92011 eventAssignedUserIsAttendeeDisabled 2020-02-11 12:56:16 +02:00
Yuri Kuznetsov
ad212d694f set password command 2020-02-11 12:17:37 +02:00
Yuri Kuznetsov
9530b2802b cleanup framework 2020-02-11 11:41:37 +02:00
Yuri Kuznetsov
b4e79d57ea todat button config param 2020-02-10 12:24:10 +02:00
Yuri Kuznetsov
7efd36ebe8 totp label 2020-02-10 12:08:37 +02:00
Yuri Kuznetsov
9f90802fb2 pdf: header 2020-02-10 11:16:56 +02:00
Yuri Kuznetsov
18f4cd4587 fix notice 2020-02-10 11:16:15 +02:00
Eymen Elkum
fc01905134 relationship panel recordsPerPage param (#1600) 2020-02-07 16:22:43 +02:00
Yuri Kuznetsov
91523553fb v 2020-02-07 11:33:49 +02:00
Yuri Kuznetsov
ca449b9952 fix upgrade script 2020-02-07 11:33:19 +02:00
Yuri Kuznetsov
3e0eade2f3 fix calendar call creation 2020-02-07 11:30:10 +02:00
Yuri Kuznetsov
68cca25635 Merge branch 'hotfix/5.8.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.2 2020-02-07 11:04:01 +02:00
Yuri Kuznetsov
050fb4330e new import button change 2020-02-06 16:59:24 +02:00
Taras Machyshyn
14d43bda1c Merge branch 'hotfix/5.8.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.2 2020-02-06 16:37:52 +02:00
Taras Machyshyn
34a8158284 Fix notices in PHP 7.4 2020-02-06 16:37:32 +02:00
Yuri Kuznetsov
8871842863 meeting self acceptance status fix 2020-02-06 15:47:04 +02:00
Taras Machyshyn
9392a26f81 ORM converter fixes 2020-02-06 15:00:11 +02:00
Yuri Kuznetsov
8eac39bd50 fix actitiviews view list html 2020-02-06 12:47:32 +02:00
Yuri Kuznetsov
2c8407581c hazyblue background lighter 2020-02-06 11:19:10 +02:00
Yuri Kuznetsov
b89349d0ee navbar logo padding 2020-02-05 17:09:00 +02:00
Yuri Kuznetsov
f554a6f649 fix duplicate link 2020-02-04 16:57:29 +02:00
Yuri Kuznetsov
e4a8383758 upgrade script 2020-02-04 15:13:54 +02:00
Yuri Kuznetsov
db94026d52 v 2020-02-04 15:08:55 +02:00
Yuri Kuznetsov
18e4aeb05d upgrade script fix 2020-02-04 15:08:33 +02:00
Yuri Kuznetsov
835ca877c7 import fix 2020-02-04 15:05:29 +02:00
Yuri Kuznetsov
89c1cf1f25 email send test group smtp handler 2020-02-04 13:13:38 +02:00
Yuri Kuznetsov
7cf512f75b portal url fix 2020-02-03 14:21:05 +02:00
Yuri Kuznetsov
d625647b29 fix main view global menu 2020-02-03 11:42:16 +02:00
Yuri Kuznetsov
21fbef7fb4 upgrade fix 2020-01-31 13:31:01 +02:00
Yuri Kuznetsov
d18cc91341 external account admin access 2020-01-30 12:56:02 +02:00
Yuri Kuznetsov
76154ab765 external account labels 2020-01-29 16:27:03 +02:00
Yuri Kuznetsov
11af93fcef panel show hide fix 2020-01-29 15:34:58 +02:00
Yuri Kuznetsov
23bccba214 varchar default trim 2020-01-29 10:48:22 +02:00
Yuri Kuznetsov
f47ed9f249 group email account handlers 2020-01-28 14:48:18 +02:00
Yuri Kuznetsov
816db335c3 fix global menu 2020-01-27 11:48:10 +02:00
Yuri Kuznetsov
9ec359df3d app params try catch 2020-01-27 11:21:58 +02:00
Yuri Kuznetsov
33a19fa6dd Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2020-01-27 11:19:09 +02:00
Taras Machyshyn
12d6831505 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2020-01-27 11:16:04 +02:00
Taras Machyshyn
3f18484910 Upgrade fixes 2020-01-27 11:15:56 +02:00
Yuri Kuznetsov
834fc25a62 update timezone data 2020-01-27 10:44:42 +02:00
Yuri Kuznetsov
ade06f0f7a header menu items improvement 2020-01-27 10:15:31 +02:00
Yuri Kuznetsov
d9f4a1c2e1 add BYN currency 2020-01-27 10:14:26 +02:00
Yuri Kuznetsov
789e01c58d appParams framework 2020-01-24 15:22:36 +02:00
Yuri Kuznetsov
75514fc96d diff scripts param 2020-01-24 12:46:46 +02:00
Yuri Kuznetsov
4250514792 lang update 2020-01-24 11:15:12 +02:00
Yuri Kuznetsov
53f0932ecf bg_BG lang 2020-01-24 10:57:36 +02:00
Yuri Kuznetsov
6d1cc60947 language list in metadata 2020-01-24 10:53:13 +02:00
Yuri Kuznetsov
632fb63102 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2020-01-23 16:55:45 +02:00
Taras Machyshyn
ac1c46303d Upgrade fixes 2020-01-23 16:55:30 +02:00
Yuri Kuznetsov
8cb7689a61 fix upgrade 2020-01-23 15:31:55 +02:00
Yuri Kuznetsov
b264dfbead templates list acl 2020-01-23 12:34:16 +02:00
Yuri Kuznetsov
aa2b89530a print pdf additional data 2020-01-23 11:29:33 +02:00
Yuri Kuznetsov
372fbc7771 Merge branch 'hotfix/5.7.12' 2020-01-23 10:22:04 +02:00
Taras Machyshyn
7051d2c072 Installation: fix notice 2020-01-22 16:59:41 +02:00
Taras Machyshyn
f489400947 Extension installation bug fixes 2020-01-22 15:50:15 +02:00
Yuri Kuznetsov
1b61bdac91 pdf service factory 2020-01-22 13:10:13 +02:00
Yuri Kuznetsov
05c74fa848 pdfTemplate param in scope 2020-01-22 12:51:25 +02:00
Yuri Kuznetsov
311f167814 confirm layout fix 2020-01-22 12:04:03 +02:00
Yuri Kuznetsov
9060d299da list view scroll code 2020-01-22 11:43:36 +02:00
Yuri Kuznetsov
b274823087 rebuild order change 2020-01-21 15:32:19 +02:00
Yuri Kuznetsov
42797edfb8 entity manager helper load with class 2020-01-21 15:28:55 +02:00
Taras Machyshyn
39ef9ebd3b Merge branch 'hotfix/5.7.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.12 2020-01-21 14:56:26 +02:00
Taras Machyshyn
5c4128e5ee Rebuild minor improvements 2020-01-21 14:40:48 +02:00
Yuri Kuznetsov
f1fdeb38a0 Merge branch 'hotfix/5.7.12' 2020-01-21 11:50:55 +02:00
Yuri Kuznetsov
8fa65bc965 fix naming 2020-01-21 11:47:14 +02:00
Yuri Kuznetsov
db334baa2e fix case portal user follow 2020-01-21 11:46:28 +02:00
Yuri Kuznetsov
af77ee2222 Merge branch 'hotfix/5.7.12' 2020-01-21 10:30:20 +02:00
Yuri Kuznetsov
080f31fd8f Merge branch 'hotfix/5.7.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.12 2020-01-21 10:29:36 +02:00
Yuri Kuznetsov
52b7350278 Merge branch 'hotfix/5.7.12' of github.com:espocrm/espocrm into hotfix/5.7.12 2020-01-21 10:24:34 +02:00
beppe9000
6699e66c29 Increase logging of many-to-many relation operations and log invalid foreach parameter error for mid keys (#1579)
closes #1577
2020-01-21 10:24:04 +02:00
Yuri Kuznetsov
f3596df5f0 add xaf currency 2020-01-20 13:12:07 +02:00
Yuri Kuznetsov
db134c7912 bull update 2020-01-20 13:04:13 +02:00
Yuri Kuznetsov
97dfe2e8d7 update bull 2020-01-20 11:34:57 +02:00
Yuri Kuznetsov
4b895ac442 dynamic logic checklist support 2020-01-20 10:12:55 +02:00
Yuri Kuznetsov
9d832484dc Merge branch 'hotfix/5.7.12' 2020-01-17 16:41:54 +02:00
Yuri Kuznetsov
38dfa91058 fix link parent missing current entity type 2020-01-17 16:41:46 +02:00
Taras Machyshyn
c404d47473 LDAP fixes 2020-01-17 14:30:21 +02:00
Yuri Kuznetsov
d5106a6f79 Merge branch 'hotfix/5.7.12' 2020-01-17 13:16:48 +02:00
Yuri Kuznetsov
6f9259b750 fix test 2020-01-17 13:16:35 +02:00
Yuri Kuznetsov
db04a0550b Merge branch 'hotfix/5.7.12' of ssh://172.20.0.1/var/git/espo/backend 2020-01-16 15:58:00 +02:00
Taras Machyshyn
30afaa56ab LDAP bug fixes 2020-01-16 15:28:48 +02:00
Yuri Kuznetsov
e05261bd17 role ui change 2020-01-16 11:24:31 +02:00
Yuri Kuznetsov
79e2086e0c v 2020-01-16 10:45:28 +02:00
Yuri Kuznetsov
c36788ba26 mass email service refactoring 2020-01-15 16:37:41 +02:00
Yuri Kuznetsov
548c76b93d full text search ignore if quotes number is odd 2020-01-15 14:13:18 +02:00
Yuri Kuznetsov
bb2383076a field manager: hide disable inline edit for foreign fields 2020-01-15 12:18:28 +02:00
Yuri Kuznetsov
a2e48e6252 foreign field: array 2020-01-15 12:09:47 +02:00
Yuri Kuznetsov
89d2d01414 foreign field ordered lists 2020-01-15 11:31:52 +02:00
Yuri Kuznetsov
1f617e2103 foreign field: support currency converted 2020-01-15 11:15:55 +02:00
Yuri Kuznetsov
ff4e696d74 foreign field: support link-one 2020-01-15 10:40:04 +02:00
Yuri Kuznetsov
3689ac0253 new notification number in title 2020-01-14 16:28:11 +02:00
Yuri Kuznetsov
ee97d82ed5 disable full-text search for autocomplete 2020-01-14 12:26:23 +02:00
Yuri Kuznetsov
02ab368256 frontend acl team level fix 2020-01-14 12:07:13 +02:00
Yuri Kuznetsov
8e5b05ff75 Merge branch 'hotfix/5.7.12' 2020-01-14 10:57:43 +02:00
Yuri Kuznetsov
9c4345ec9e fix kanban css 2020-01-14 10:57:36 +02:00
Yuri Kuznetsov
cd6ada92fd mass email: verp support 2020-01-09 13:22:08 +02:00
Yuri Kuznetsov
fc73ffb89a fix tests 2020-01-09 11:01:10 +02:00
Yuri Kuznetsov
f1696df4f9 mutlitple dynamic handlers 2020-01-09 10:43:19 +02:00
Yuri Kuznetsov
14deff7e0e middle name 2020-01-08 16:04:44 +02:00
Yuri Kuznetsov
7980887e50 group email: import bounced if not mass 2020-01-08 10:32:31 +02:00
Taras Machyshyn
fec23a0e93 New 2020 year 2020-01-03 16:33:30 +02:00
Yuri Kuznetsov
f7e7bc43e3 settings: person name format 2020-01-03 12:52:06 +02:00
Yuri Kuznetsov
a62e48f0bd loader container class name metadata change 2020-01-03 11:18:17 +02:00
Yuri Kuznetsov
07a84bac4f cleanup 2020-01-03 10:59:29 +02:00
Yuri Kuznetsov
99b03e40ac chevron-right usage 2020-01-02 16:08:05 +02:00
Yuri Kuznetsov
1e31b26815 Merge branch 'hotfix/5.7.12' 2020-01-02 11:57:40 +02:00
Yuri Kuznetsov
a999ed8177 fix view helper options 2020-01-02 11:56:26 +02:00
Yuri Kuznetsov
735a7e6085 tabAclPermission and portal users tab 2020-01-02 11:46:10 +02:00
Yuri Kuznetsov
6eab2fb177 fix stream for portal user 2020-01-02 11:32:39 +02:00
Yuri Kuznetsov
7bfd2f32de fix mail sender params merge 2020-01-02 11:09:13 +02:00
Yuri Kuznetsov
3d3cb031c1 mass email: apply reply-to from group email account 2020-01-02 10:50:48 +02:00
Yuri Kuznetsov
f898beb199 fix email 2020-01-02 10:28:12 +02:00
Yuri Kuznetsov
c43578984b reply button color 2019-12-30 13:19:12 +02:00
Yuri Kuznetsov
dfb8c22a14 tracking url show message 2019-12-27 11:39:27 +02:00
Yuri Kuznetsov
6f9e6eecbf Merge branch 'hotfix/5.7.12' 2019-12-27 10:30:31 +02:00
Yuri Kuznetsov
c8204dcd58 campaign tracking url: hash 2019-12-26 11:27:09 +02:00
Yuri Kuznetsov
c62a5cf360 tracking url not required 2019-12-25 12:52:12 +02:00
Yuri Kuznetsov
8ea8c54c9a tracking url in menu 2019-12-25 12:51:13 +02:00
Yuri Kuznetsov
143a2a8af2 header menu items labelTranslation 2019-12-25 12:51:03 +02:00
Yuri Kuznetsov
b82aa1b305 campaign: fix clicked stats 2019-12-24 13:38:55 +02:00
Yuri Kuznetsov
338f03ca79 fix layout service exception 2019-12-24 12:48:21 +02:00
Yuri Kuznetsov
73183e8cf9 update timezones 2019-12-23 13:03:32 +02:00
Yuri Kuznetsov
03ce2d1a04 lock v 2019-12-23 11:29:19 +02:00
Yuri Kuznetsov
b7c3f2b13e enum: list missing value 2019-12-20 16:09:24 +02:00
Yuri Kuznetsov
b6ee6f98f2 pdf: totalPageNumber 2019-12-20 14:55:01 +02:00
Yuri Kuznetsov
dd76e873fe v 2019-12-20 10:32:14 +02:00
Yuri Kuznetsov
3f772f6882 fix email plain sanitize 2019-12-20 10:29:40 +02:00
Yuri Kuznetsov
f032b24eee breadcrumb char change 2019-12-19 16:31:22 +02:00
Yuri Kuznetsov
4ea6dc7c46 Merge branch 'stable' 2019-12-19 15:02:49 +02:00
Yuri Kuznetsov
d9f3b83a41 v 2019-12-19 14:56:47 +02:00
Yuri Kuznetsov
96b2f9e1a6 fix integrations 2019-12-19 14:56:21 +02:00
Yuri Kuznetsov
1a3797cf59 Merge branch 'stable' 2019-12-18 16:03:10 +02:00
Yuri Kuznetsov
f132e06f67 opp primary contact fix 2019-12-17 16:03:36 +02:00
Yuri Kuznetsov
2615cffd82 case contact save refactor 2019-12-17 15:43:29 +02:00
Yuri Kuznetsov
d2f87537c9 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-12-17 13:08:09 +02:00
Taras Machyshyn
3f40c6b18f Display all indexes in ORM metadata 2019-12-17 13:05:28 +02:00
Yuri Kuznetsov
7dc5f4a557 fix date time usage 2019-12-16 16:22:11 +02:00
Yuri Kuznetsov
ec4e86c332 lead convert duplicate check 2019-12-16 12:21:05 +02:00
Yuri Kuznetsov
e8978c654b _skipDuplicateCheck 2019-12-16 11:08:32 +02:00
Yuri Kuznetsov
cb29ee3304 Merge branch 'hotfix/5.7.10' 2019-12-16 11:03:25 +02:00
Yuri Kuznetsov
a968726810 fix scripts 2019-12-13 16:17:17 +02:00
Yuri Kuznetsov
9508903cf5 fix after upgrade 2019-12-13 16:16:09 +02:00
Yuri Kuznetsov
113649ba3d note number index 2019-12-13 15:42:47 +02:00
Yuri Kuznetsov
0fb9fe5e4c Merge branch 'hotfix/5.7.10' 2019-12-13 13:23:11 +02:00
Yuri Kuznetsov
5dc3492f34 Merge branch 'hotfix/5.7.10' 2019-12-12 16:40:03 +02:00
Yuri Kuznetsov
3d96381b3f Merge branch 'hotfix/5.7.10' 2019-12-12 15:49:15 +02:00
Yuri Kuznetsov
fd4998b365 amend 2019-12-11 11:08:56 +02:00
Yuri Kuznetsov
fc28bee3d4 email draft ui improvements 2019-12-11 10:53:34 +02:00
Yuri Kuznetsov
d126cb5a25 email: sending draft from list view 2019-12-10 12:54:34 +02:00
Yuri Kuznetsov
d8bc83ae22 breadcrumb-separator change 2019-12-10 12:28:25 +02:00
Yuri Kuznetsov
b1a1ea068a Merge branch 'hotfix/5.7.10' 2019-12-10 12:24:07 +02:00
Yuri Kuznetsov
4e2bc0658d Merge branch 'stable' 2019-12-09 16:00:32 +02:00
Yuri Kuznetsov
18f9026acf Merge branch 'hotfix/5.7.8' 2019-12-06 14:36:04 +02:00
Yuri Kuznetsov
18ddd05631 wysiwyg copy image issue 2019-12-04 15:50:51 +02:00
Yuri Kuznetsov
be8cfcf47a Merge branch 'hotfix/5.7.8' 2019-12-04 15:09:26 +02:00
Yuri Kuznetsov
9f21a722ec service container definition in metadata 2019-12-04 12:45:04 +02:00
Yuri Kuznetsov
4deb9d6d77 Merge branch 'hotfix/5.7.8' 2019-12-04 11:06:22 +02:00
Yuri Kuznetsov
472073ee5a link manager: parent 2019-12-04 11:06:13 +02:00
Yuri Kuznetsov
dc962d868f update symfony/http-foundation 2019-12-03 10:49:36 +02:00
Yuri Kuznetsov
9e32211168 update phpspreadsheet 2019-12-02 12:05:28 +02:00
Yuri Kuznetsov
0f9281812d formula relation column 2019-12-02 11:09:12 +02:00
Yuri Kuznetsov
56b099983f fix htmlizer 2019-11-29 16:24:23 +02:00
Yuri Kuznetsov
dbef224120 pdf: checkboxTag 2019-11-29 13:54:35 +02:00
Yuri Kuznetsov
388e0f3478 template custom helpers 2019-11-29 12:56:18 +02:00
Yuri Kuznetsov
280d7f328e formula string pad 2019-11-28 15:22:20 +02:00
Yuri Kuznetsov
6ec6ffc470 Merge branch 'hotfix/5.7.8' 2019-11-28 13:25:59 +02:00
Yuri Kuznetsov
7dc5d5583f import silent mode by default 2019-11-28 11:47:52 +02:00
Yuri Kuznetsov
cab31c7dc6 pdf table 2019-11-28 10:55:24 +02:00
Yuri Kuznetsov
43d7b702f1 pdf template placeholders improment 2019-11-27 15:57:17 +02:00
Yuri Kuznetsov
c8dbce18f7 Merge branch 'hotfix/5.7.8' 2019-11-27 15:04:33 +02:00
Yuri Kuznetsov
24084d4c30 Merge branch 'hotfix/5.7.8' 2019-11-27 13:14:10 +02:00
Yuri Kuznetsov
3968caf2bc pdf image fix 2019-11-27 10:33:26 +02:00
Yuri Kuznetsov
192faa9ce9 pdf pagebreak 2019-11-26 16:32:57 +02:00
Yuri Kuznetsov
beedfa700d Merge branch 'hotfix/5.7.8' 2019-11-26 13:30:18 +02:00
Yuri Kuznetsov
a851d71c1c Merge branch 'hotfix/5.7.8' 2019-11-26 13:20:45 +02:00
Yuri Kuznetsov
275b3b879e cleanup 2019-11-26 12:22:45 +02:00
Yuri Kuznetsov
70e2e49d88 htmlizer imageTag 2019-11-26 12:15:04 +02:00
Yuri Kuznetsov
fe36d049af QR Code 2019-11-26 11:36:08 +02:00
Yuri Kuznetsov
f029ea2c81 Merge branch 'hotfix/5.7.8' 2019-11-21 11:28:44 +02:00
Yuri Kuznetsov
fa35516c94 fix frontend tests 2019-11-20 16:27:00 +02:00
Yuri Kuznetsov
e05eafb9a9 fix link manager 2019-11-20 15:16:48 +02:00
Yuri Kuznetsov
7c3f7dd494 field manager: refresh after field remove 2019-11-20 15:07:46 +02:00
Yuri Kuznetsov
b41ec363c5 one to one unlink 2019-11-20 11:55:51 +02:00
Yuri Kuznetsov
bebbeecac3 noEditAccessRequiredForLink 2019-11-20 11:30:49 +02:00
Yuri Kuznetsov
424a365d5d orm: mapper fixes and tests 2019-11-19 13:23:33 +02:00
Yuri Kuznetsov
3e63d03ced mapper type constraints 2019-11-19 11:05:33 +02:00
Yuri Kuznetsov
83bd4458a2 fix stream 2019-11-18 16:00:31 +02:00
Yuri Kuznetsov
eac8ce736c notes about emails for portal users 2019-11-18 15:47:54 +02:00
Yuri Kuznetsov
0a096ce926 Merge branch 'hotfix/5.7.8' 2019-11-18 14:01:14 +02:00
Yuri Kuznetsov
7a580599cf Merge branch 'hotfix/5.7.8' 2019-11-18 13:09:11 +02:00
Yuri Kuznetsov
c82da61193 Merge branch 'hotfix/5.7.8' 2019-11-18 13:01:01 +02:00
Yuri Kuznetsov
0ec73779bf fix tests 2019-11-15 16:34:20 +02:00
Yuri Kuznetsov
2a705fcc84 fix htmlizer 2019-11-15 16:23:28 +02:00
Yuri Kuznetsov
6eff3b3eae fix datetime 2019-11-15 16:22:04 +02:00
Yuri Kuznetsov
a260e15ba7 one-to-one link 2019-11-15 16:14:08 +02:00
Yuri Kuznetsov
2a7d8cbc2e cs fix 2019-11-15 10:41:02 +02:00
Yuri Kuznetsov
84f1d8f625 currency rates api 2019-11-14 16:12:15 +02:00
Yuri Kuznetsov
1b852fbd04 cleanup 2019-11-14 13:00:28 +02:00
Yuri Kuznetsov
d770dd26e0 barcode field 2019-11-14 12:52:19 +02:00
Yuri Kuznetsov
b79bd72c8a Merge branch 'hotfix/5.7.8' 2019-11-13 12:49:23 +02:00
Yuri Kuznetsov
725e428626 Merge branch 'stable' 2019-11-12 14:34:58 +02:00
Yuri Kuznetsov
ea41d2c40c mass actions refactoring 2019-11-08 13:07:07 +02:00
Yuri Kuznetsov
befb2327a3 mass follow refactoring 2019-11-08 12:23:16 +02:00
Yuri Kuznetsov
eae677f846 date time language support 2019-11-07 16:01:17 +02:00
Yuri Kuznetsov
26f65def3e remove supporting different mail parsers 2019-11-07 15:26:37 +02:00
Yuri Kuznetsov
69b275deb1 fix date format 2019-11-07 12:27:49 +02:00
Yuri Kuznetsov
95ccc38759 date format Do 2019-11-07 12:14:07 +02:00
Yuri Kuznetsov
31099827d4 pdf date format 2019-11-07 11:50:53 +02:00
Yuri Kuznetsov
91944c617c Merge branch 'hotfix/5.7.7' 2019-11-06 15:43:39 +02:00
Yuri Kuznetsov
4f2f7c05ca opportunity primary contact 2019-11-06 15:08:46 +02:00
Yuri Kuznetsov
c4bfa05e2f iframe dashlet 2019-11-06 11:49:02 +02:00
Yuri Kuznetsov
a8e86433ce view helper calculateContentContainerHeight 2019-11-06 10:38:32 +02:00
Yuri Kuznetsov
3b1950bc6e view map 2019-11-05 17:03:06 +02:00
Yuri Kuznetsov
8e666da93a Merge branch 'master' of github.com:espocrm/espocrm 2019-11-05 11:54:34 +02:00
Yuri Kuznetsov
7031afe9df Merge branch 'hotfix/5.7.7' 2019-11-05 11:52:57 +02:00
Taras Machyshyn
b1da843702 Update README.md 2019-11-05 10:47:12 +02:00
Yuri Kuznetsov
109847f604 email addresses & phone numbers lists 2019-10-29 11:52:36 +02:00
Yuri Kuznetsov
ff033e88d5 Merge branch 'hotfix/5.7.7' 2019-10-29 10:34:25 +02:00
Yuri Kuznetsov
72569af873 Merge branch 'stable' 2019-10-25 15:46:33 +03:00
Yuri Kuznetsov
49e8fdff95 email import message id fix 2019-10-24 13:05:40 +03:00
yuri
e9d35dd26d drop php 7.1 and mysql 5.6 2019-10-23 11:17:09 +03:00
2799 changed files with 102057 additions and 39866 deletions

2
.gitignore vendored
View File

@@ -4,6 +4,7 @@
/data/preferences/*
/data/.backup/*
/data/config.php
/data/tmp/*
/build
/node_modules
npm-debug.log
@@ -13,6 +14,7 @@ npm-debug.log
/tests/unit/testData/cache/*
!/tests/unit/testData/cache/.data
/tests/integration/config.php
.phpunit.result.cache
composer.phar
vendor/
/custom/Espo/Custom/*

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

@@ -4,6 +4,12 @@ Before we can merge your pull request you need to accept our CLA [here](https://
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
Branches:
* *hotfix/** upcoming maintenance release; fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
## Issues
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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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',
@@ -80,6 +82,7 @@ module.exports = function (grunt) {
'client/src/theme-manager.js',
'client/src/session-storage.js',
'client/src/view-helper.js',
'client/src/page-title.js',
'client/src/app.js'
];
@@ -209,6 +212,7 @@ module.exports = function (grunt) {
'daemon.php',
'rebuild.php',
'clear_cache.php',
'preload.php',
'upgrade.php',
'extension.php',
'websocket.php',
@@ -286,8 +290,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'
}
]
}
@@ -299,19 +303,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 --bootstrap=./vendor/autoload.php ./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 --bootstrap=./vendor/autoload.php ./tests/integration", {stdio: 'inherit'});
});
grunt.registerTask("zip", function() {
@@ -381,14 +389,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='http://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](http://www.espocrm.com).
[Download](https://www.espocrm.com/download/) the latest release from our website.
### Requirements
* PHP 7.1 or above (with pdo, json, gd, openssl, zip, imap, mbstring, curl extensions);
* MySQL 5.6.0 or above, or MariaDB.
* 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,78 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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\AppParams;
use Espo\Core\{
Acl,
Select\SelectManagerFactory,
ORM\EntityManager,
};
/**
* Returns a list of entity types for which a PDF template exists.
*/
class TemplateEntityTypeList
{
protected $acl;
protected $selectManagerFactory;
protected $entityManager;
public function __construct(Acl $acl, SelectManagerFactory $selectManagerFactory, EntityManager $entityManager)
{
$this->acl = $acl;
$this->selectManagerFactory = $selectManagerFactory;
$this->entityManager = $entityManager;
}
public function get()
{
if (!$this->acl->checkScope('Template')) {
return [];
}
$list = [];
$selectManager = $this->selectManagerFactory->create('Template');
$selectParams = $selectManager->getEmptySelectParams();
$selectManager->applyAccess($selectParams);
$templateList = $this->entityManager->getRepository('Template')
->select(['entityType'])
->groupBy(['entityType'])
->find($selectParams);
foreach ($templateList as $template) {
$list[] = $template->get('entityType');
}
return $list;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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

@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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\Cleanup;
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()
{
$period = '-' . $this->config->get('cleanupWebhookQueuePeriod', $this->cleanupWebhookQueuePeriod);
$datetime = new DateTime();
$datetime->modify($period);
$from = $datetime->format('Y-m-d H:i:s');
$query = $this->entityManager->getQueryBuilder()
->delete()
->from('WebhookQueueItem')
->where([
'DATE:(createdAt)<' => $from,
'OR' => [
'status!=' => 'Pending',
'deleted' => true,
],
])
->build();
$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-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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

@@ -0,0 +1,51 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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\FieldValidators;
use Espo\ORM\Entity;
class JsonArrayType extends BaseType
{
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(Entity $entity, $field)
{
if (!$entity->has($field) || $entity->get($field) === null) return false;
$list = $entity->get($field);
if (!is_array($list)) return false;
if (count($list)) return true;
return false;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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,194 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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\Core\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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -63,11 +63,6 @@ class ActionHistoryRecord extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
public function beforeMassDelete()
{
throw new Forbidden();
}
public function beforeMassConvertCurrency()
{
throw new Forbidden();

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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', $fileData->size);
}
return $fileData->contents;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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

@@ -0,0 +1,62 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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,
BadRequest,
};
use Espo\Core\{
ServiceFactory,
Api\Request,
};
class CurrencyRate
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function getActionIndex(Request $request)
{
return $this->serviceFactory->create('CurrencyRate')->get();
}
public function putActionUpdate(Request $request)
{
$data = $request->getParsedBody();
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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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();
@@ -60,7 +83,7 @@ class EntityManager extends \Espo\Core\Controllers\Base
$name = filter_var($name, \FILTER_SANITIZE_STRING);
$type = filter_var($type, \FILTER_SANITIZE_STRING);
$params = array();
$params = [];
if (!empty($data['labelSingular'])) {
$params['labelSingular'] = $data['labelSingular'];
@@ -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,29 +199,27 @@ 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',
'entityForeign',
'link',
'linkForeign',
'label',
'labelForeign',
'linkType'
'linkType',
];
$additionalParamList = [
'entityForeign',
'relationName',
'labelForeign',
];
$params = array();
$params = [];
foreach ($paramList as $item) {
if (empty($data[$item])) {
@@ -209,9 +229,11 @@ class EntityManager extends \Espo\Core\Controllers\Base
}
foreach ($additionalParamList as $item) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
$params[$item] = filter_var($data[$item] ?? null, \FILTER_SANITIZE_STRING);
}
$params['labelForeign'] = $params['labelForeign'] ?? $params['linkForeign'];
if (array_key_exists('linkMultipleField', $data)) {
$params['linkMultipleField'] = $data['linkMultipleField'];
}
@@ -225,11 +247,17 @@ class EntityManager extends \Espo\Core\Controllers\Base
if (array_key_exists('auditedForeign', $data)) {
$params['auditedForeign'] = $data['auditedForeign'];
}
if (array_key_exists('parentEntityTypeList', $data)) {
$params['parentEntityTypeList'] = $data['parentEntityTypeList'];
}
if (array_key_exists('foreignLinkEntityTypeList', $data)) {
$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();
}
@@ -237,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',
@@ -251,12 +277,12 @@ class EntityManager extends \Espo\Core\Controllers\Base
'link',
'linkForeign',
'label',
'labelForeign'
'labelForeign',
];
$additionalParamList = [];
$params = array();
$params = [];
foreach ($paramList as $item) {
if (array_key_exists($item, $data)) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
@@ -280,11 +306,17 @@ class EntityManager extends \Espo\Core\Controllers\Base
if (array_key_exists('auditedForeign', $data)) {
$params['auditedForeign'] = $data['auditedForeign'];
}
if (array_key_exists('parentEntityTypeList', $data)) {
$params['parentEntityTypeList'] = $data['parentEntityTypeList'];
}
if (array_key_exists('foreignLinkEntityTypeList', $data)) {
$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();
}
@@ -292,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();
}
@@ -320,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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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
{
@@ -75,7 +75,7 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
$id = $request->get('id');
list($integration, $userId) = explode('__', $id);
if ($this->getUser()->id != $userId) {
if ($this->getUser()->id != $userId && !$this->getUser()->isAdmin()) {
throw new Forbidden();
}
@@ -93,12 +93,7 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
{
list($integration, $userId) = explode('__', $params['id']);
if ($this->getUser()->id != $userId) {
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)
@@ -114,7 +109,7 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
list($integration, $userId) = explode('__', $params['id']);
if ($this->getUser()->id != $userId) {
if ($this->getUser()->id != $userId && !$this->getUser()->isAdmin()) {
throw new Forbidden();
}
@@ -140,7 +135,7 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
list($integration, $userId) = explode('__', $id);
if ($this->getUser()->id != $userId) {
if ($this->getUser()->id != $userId && !$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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,15 +27,16 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Loaders;
namespace Espo\Controllers;
class MailSender extends Base
use Espo\Core\Exceptions\Forbidden;
class LayoutSet extends \Espo\Core\Controllers\Record
{
public function load()
protected function checkControllerAccess()
{
return new \Espo\Core\Mail\Sender(
$this->getContainer()->get('config'),
$this->getContainer()->get('entityManager')
);
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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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();

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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 Notification extends \Espo\Core\Controllers\Record
{
@@ -47,18 +47,18 @@ class Notification extends \Espo\Core\Controllers\Record
$maxSize = self::MAX_SIZE_LIMIT;
}
$params = array(
$params = [
'offset' => $offset,
'maxSize' => $maxSize,
'after' => $after
);
'after' => $after,
];
$result = $this->getService('Notification')->getList($userId, $params);
$recordCollection = $this->getService('Notification')->getList($userId, $params);
return array(
'total' => $result['total'],
'list' => $result['collection']->toArray()
);
return (object) [
'total' => $recordCollection->getTotal(),
'list' => $recordCollection->getValueMapList(),
];
}
public function actionNotReadCount()

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
class Pdf extends \Espo\Core\Controllers\Base
{

View File

@@ -0,0 +1,35 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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 PhoneNumber 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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 Portal 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Controllers;
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;
use Espo\Core\Exceptions\NotFound;
class Preferences 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-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify

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