Compare commits

...

1725 Commits

Author SHA1 Message Date
Yuri Kuznetsov aa82f96993 Fix reply email with external account 2021-01-04 12:17:57 +02:00
Yuri Kuznetsov 867a0225f1 v 2021-01-04 11:47:18 +02:00
Yuri Kuznetsov 4ab636ded8 autoload test and refactoring 2020-12-31 09:59:29 +02:00
Yuri Kuznetsov f764375e0e file manager method cleanups 2020-12-31 09:33:12 +02:00
Arkady 98b20a3e24 fix autoload path merging (#1875)
Co-authored-by: Arkadiy Asuratov <a.asuratov@dubas.pro>
2020-12-31 08:56:24 +02:00
Yuri Kuznetsov ca17a5453a fix warning 2020-12-28 11:51:56 +02:00
Yuri Kuznetsov 641382dc66 cs fix and error throwing 2020-12-21 11:50:07 +02:00
Yuri Kuznetsov 8f89fa4597 cs fix 2020-12-21 11:33:51 +02:00
Yuri Kuznetsov 543eb21a8b fix flotr 2020-12-21 11:27:48 +02:00
Yuri Kuznetsov 9fbc62837f fix validation 2020-12-21 11:07:31 +02:00
Yuri Kuznetsov d3d710b2b9 v 2020-12-04 15:04:36 +02:00
Yuri Kuznetsov 4426d81e77 fix category tree 2020-12-04 14:28:04 +02:00
Yuri Kuznetsov 6b3e81e3fd settings currency validation 2020-12-03 11:56:44 +02:00
Yuri Kuznetsov dd708778d6 field clone validations 2020-12-03 11:56:15 +02:00
Yuri Kuznetsov 0bc06f3cae fix autofollow 2020-12-02 11:04:33 +02:00
Yuri Kuznetsov 0ab8853455 fix notification for portal user 2020-12-01 13:14:17 +02:00
Yuri Kuznetsov a612ffd2d2 fix pdf google maps 2020-12-01 11:40:23 +02:00
Yuri Kuznetsov bc19a6bb5f flotr2 fix 2020-11-30 12:48:53 +02:00
Eymen Elkum 8cc6a2ddf0 fix bc (#1853) 2020-11-29 11:25:07 +02:00
Yuri Kuznetsov c1f0c47cf7 bc fix 2020-11-28 19:33:12 +02:00
Yuri Kuznetsov 7e71eb0aeb fix warning 2020-11-27 18:42:52 +02:00
Taras Machyshyn 196f787a1f Fix installer for PHP 8 2020-11-27 17:32:00 +02:00
Taras Machyshyn b7bec1793c Fix installer for PHP 8 2020-11-27 12:26:57 +02:00
Taras Machyshyn b97aa8e3a7 Fix gitignore 2020-11-27 12:26:30 +02:00
Taras Machyshyn 21dcf59f21 Fix gitignore 2020-11-27 12:25:06 +02:00
Taras Machyshyn 326b6c8c53 Merge branch 'hotfix/6.0.7' of https://github.com/espocrm/espocrm into hotfix/6.0.7 2020-11-27 12:16:34 +02:00
Taras Machyshyn 7ebf0e7bf8 Fix installer for PHP 8 2020-11-27 12:16:01 +02:00
Yuri Kuznetsov 014df8b9d3 Merge branch 'hotfix/6.0.7' of github.com:espocrm/espocrm into hotfix/6.0.7 2020-11-27 12:12:28 +02:00
Yuri Kuznetsov 6d85055147 fix loaders 2020-11-27 12:12:16 +02:00
Taras Machyshyn 077f7d8855 Fix installer for PHP 8 2020-11-27 12:03:04 +02:00
Taras Machyshyn 296484360f Fix installer for PHP 8 2020-11-27 11:03:40 +02:00
Yuri Kuznetsov 1071f8a045 v 2020-11-26 12:09:45 +02:00
Yuri Kuznetsov 962d3a049c disable edit access to user email address 2020-11-26 09:44:22 +02:00
Yuri Kuznetsov 161859606a ceanup 2020-11-21 14:20:14 +02:00
Yuri Kuznetsov a71df0cff6 fix layout 2020-11-20 09:52:54 +02:00
Yuri Kuznetsov fb9ff0b8c0 fix deprecated 2020-11-18 13:16:24 +02:00
Yuri Kuznetsov d1a62baa12 fix deprecated 2020-11-18 12:53:17 +02:00
Yuri Kuznetsov cdec7ccfe8 v 2020-11-18 11:34:14 +02:00
Yuri Kuznetsov 25bc3a40f7 fix export currency 2020-11-18 09:41:54 +02:00
Yuri Kuznetsov 02e5c1fc44 v 2020-11-16 13:40:49 +02:00
Yuri Kuznetsov 844e9dd8e3 Merge branch 'hotfix/6.0.5' of github.com:espocrm/espocrm into hotfix/6.0.5 2020-11-16 13:38:16 +02:00
Yuri Kuznetsov 39f2ec83d5 fix duplicate attachments multiple 2020-11-16 13:35:53 +02:00
Taras Machyshyn e4d2af03a5 Fixed PHP binary path 2020-11-16 13:34:24 +02:00
Taras Machyshyn 37616d69bf Merge branch 'hotfix/6.0.5' of https://github.com/espocrm/espocrm into hotfix/6.0.5 2020-11-16 13:28:03 +02:00
Taras Machyshyn 4e36f71dd8 Fixed PHP binary path 2020-11-16 13:27:16 +02:00
Yuri Kuznetsov b5877ac32a fix person name 2020-11-16 13:03:56 +02:00
Yuri Kuznetsov 92de588a6e update npm packages 2020-11-16 11:07:12 +02:00
Yuri Kuznetsov 700f4b5b10 fix export 2020-11-14 10:24:22 +02:00
Yuri Kuznetsov 9c0a7b6778 app service changes 2020-11-13 12:39:27 +02:00
Yuri Kuznetsov 9a54c66f68 preferences fixes 2020-11-13 12:32:13 +02:00
Yuri Kuznetsov 83332178a0 fix acl check command 2020-11-12 15:05:03 +02:00
Yuri Kuznetsov fb33c2acf1 fix task panel layout 2020-11-10 12:48:40 +02:00
Yuri Kuznetsov 3c5914b5d9 fix text filter by foreign field 2020-11-10 09:22:20 +02:00
Taras Machyshyn 8c48f72a3c Command fix 2020-11-09 15:16:30 +02:00
Taras Machyshyn a8ce780718 Upgrade fix 2020-11-04 10:23:07 +02:00
Yuri Kuznetsov 31eff86578 fix link search blur 2020-11-03 16:44:20 +02:00
Yuri Kuznetsov 892f9f01f6 export xlsx currency format 2020-11-03 10:43:33 +02:00
Yuri Kuznetsov 860a58847d currency format 10 $ 2020-11-03 10:03:12 +02:00
Yuri Kuznetsov 1ed90d2306 v 2020-11-02 12:55:01 +02:00
Yuri Kuznetsov aff0b350f3 fix portal runner 2020-11-02 12:54:13 +02:00
Yuri Kuznetsov 651b0be5ed add log to slim 2020-10-31 13:38:11 +02:00
Yuri Kuznetsov cead33c09d template manager image 2020-10-30 09:26:37 +02:00
Yuri Kuznetsov 80602c084f fix pdf page number 2020-10-29 16:34:49 +02:00
Yuri Kuznetsov 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 500e8ca89b Merge branch 'hotfix/5.7.10' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.10 2019-12-18 12:15:37 +02:00
Taras Machyshyn f7fb3f50c3 Сompatibility fix 2019-12-18 12:15:10 +02:00
Yuri Kuznetsov 4763cc80c3 fix div 2019-12-18 10:52:26 +02:00
Yuri Kuznetsov 0d744c5e7f fix email 2019-12-18 10:11:37 +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
Yuri Kuznetsov 629f410204 Merge branch 'hotfix/5.7.10' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.10 2019-12-17 13:07:38 +02:00
Taras Machyshyn 3f40c6b18f Display all indexes in ORM metadata 2019-12-17 13:05:28 +02:00
Yuri Kuznetsov 34b3f52276 oauth debug 2019-12-17 10:33:25 +02:00
Taras Machyshyn 4b508e3295 Installer changes 2019-12-16 17:16:28 +02:00
Taras Machyshyn dfdde2ef83 File permissions changes 2019-12-16 16:28:48 +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 88cac5c6c0 css fix 2019-12-16 10:44:47 +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 5e877dd374 grunt fixes 2019-12-13 11:57:45 +02:00
Yuri Kuznetsov bcf54d9fb0 diff fix and npm dep 2019-12-13 11:01:14 +02:00
Yuri Kuznetsov 5c42133e7b grunt zip 2019-12-12 17:18:00 +02:00
Yuri Kuznetsov 93c9afe338 readme fix 2019-12-12 16:42:41 +02:00
Yuri Kuznetsov 5dc3492f34 Merge branch 'hotfix/5.7.10' 2019-12-12 16:40:03 +02:00
Yuri Kuznetsov 9b12c5c9c1 grunt improvements 2019-12-12 16:39:54 +02:00
Yuri Kuznetsov 3d96381b3f Merge branch 'hotfix/5.7.10' 2019-12-12 15:49:15 +02:00
Yuri Kuznetsov 1bd4468f57 grunt composer install 2019-12-12 15:48:50 +02:00
Yuri Kuznetsov e183bb4fa6 diff vendor 2019-12-12 15:21:35 +02:00
Yuri Kuznetsov a79ece4a3d Merge branch 'hotfix/5.7.10' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.10 2019-12-12 12:25:33 +02:00
Taras Machyshyn 93bfa83b46 Installer: improvements 2019-12-12 12:24:28 +02:00
Yuri Kuznetsov 97fa72042e currency translation 2019-12-12 12:21:29 +02:00
Yuri Kuznetsov d5069487ae add currencies 2019-12-12 12:01:14 +02:00
Yuri Kuznetsov 0a5f852d04 diff zip 2019-12-12 11:47:08 +02:00
Yuri Kuznetsov dcc2fd0382 diff fix 2019-12-11 17:10:04 +02:00
Yuri Kuznetsov bf7f0d5cbc settings get rid of required 2019-12-11 16:29:15 +02:00
Yuri Kuznetsov a337aef8a7 settings validation 2019-12-11 16:15:28 +02:00
Yuri Kuznetsov 30dec3be52 orm intefrace changes and cleanup 2019-12-11 15:27:57 +02:00
Yuri Kuznetsov 604aca50c8 array valiation 2019-12-11 15:08:12 +02:00
Yuri Kuznetsov 949dc96e7b diff imrovements 2019-12-11 13:52:07 +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 e4c2d4eae1 v 2019-12-10 11:50:08 +02:00
Yuri Kuznetsov 66bdb7b547 email template placeholders ui improvement 2019-12-10 11:49:28 +02:00
Yuri Kuznetsov 9fccc3c1f3 fix css 2019-12-10 10:26:47 +02:00
Yuri Kuznetsov 4e2bc0658d Merge branch 'stable' 2019-12-09 16:00:32 +02:00
Yuri Kuznetsov 0effcab5c2 Merge branch 'hotfix/5.7.9' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.9 2019-12-09 15:52:36 +02:00
Taras Machyshyn 1f5ab5f45c Installer: currency fixes 2019-12-09 15:44:51 +02:00
Yuri Kuznetsov 4789fc15a5 Merge branch 'hotfix/5.7.9' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.9 2019-12-09 15:32:27 +02:00
Taras Machyshyn 6f2270eea7 Installer: currency fixes 2019-12-09 15:31:56 +02:00
Yuri Kuznetsov a0f43c8f8f fix modal resize 2019-12-09 12:15:46 +02:00
Yuri Kuznetsov b36b5857c1 diff improvement 2019-12-06 16:14:04 +02:00
Yuri Kuznetsov c6de42fd80 v 2019-12-06 15:16:18 +02:00
Yuri Kuznetsov 18f9026acf Merge branch 'hotfix/5.7.8' 2019-12-06 14:36:04 +02:00
Yuri Kuznetsov 5e7f61b46d Merge branch 'hotfix/5.7.8' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.8 2019-12-06 12:38:42 +02:00
Taras Machyshyn c5e41faa0f Upgrade fixes 2019-12-06 12:38:28 +02:00
Yuri Kuznetsov 465377c67b email update fix 2019-12-06 12:09:24 +02:00
Yuri Kuznetsov f41cc85cba Merge branch 'hotfix/5.7.8' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.8 2019-12-05 16:26:33 +02:00
Taras Machyshyn fdf08624cb Added cli installation 2019-12-05 16:26:11 +02:00
Yuri Kuznetsov 5c89f4f389 fix 2019-12-05 15:34:24 +02:00
Yuri Kuznetsov acce8f1b1f fix 2019-12-05 15:30:07 +02:00
Yuri Kuznetsov f1382e802e fix 2019-12-05 15:17:12 +02:00
Yuri Kuznetsov f64e59b0de Merge branch 'hotfix/5.7.8' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.8 2019-12-05 15:08:03 +02:00
Yuri Kuznetsov 5b41abe76f auth refactoring 2019-12-05 15:07:48 +02:00
Taras Machyshyn f286d2277e Fixed typo 2019-12-05 10:45:47 +02:00
Yuri Kuznetsov b38c983e73 wysiwyg copy image issue 2019-12-04 15:51:06 +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 a70d133471 fix sumRelated 2019-12-04 15:06:53 +02:00
Yuri Kuznetsov bc3d488bfe message fix 2019-12-04 13:25:47 +02:00
Yuri Kuznetsov e9578d8d44 fix smtp message 2019-12-04 13:21:33 +02:00
Yuri Kuznetsov 4c38d96730 fix users teams positions 2019-12-04 13:01:45 +02:00
Yuri Kuznetsov b962d1572a fix users positions 2019-12-04 12:58:56 +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 3f1f686bd1 fix layout acl check 2019-12-04 10:30:32 +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 611bbb8fb2 fallback dashboard overflow hidden 2019-11-28 12:06:01 +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 b89b39cd44 fix enum 2019-11-27 15:04:18 +02:00
Yuri Kuznetsov 24084d4c30 Merge branch 'hotfix/5.7.8' 2019-11-27 13:14:10 +02:00
Yuri Kuznetsov 9a6e2d6578 enum: options w/ quotes not working 2019-11-27 13:10:41 +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 9f63c00f5c portal user list view access 2019-11-26 13:29:56 +02:00
Yuri Kuznetsov a851d71c1c Merge branch 'hotfix/5.7.8' 2019-11-26 13:20:45 +02:00
Yuri Kuznetsov f11b9c0bbc user access to portal users 2019-11-26 13:13:10 +02:00
Yuri Kuznetsov 6ea109f712 app error 2019-11-26 12:57:44 +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 1c3dc61264 fix stream input disapear 2019-11-21 11:23:53 +02:00
Yuri Kuznetsov c415ce677d stream noteRelate 2019-11-21 11:09:57 +02:00
Yuri Kuznetsov 927a580dce stream follow check acl 2019-11-21 10:37:45 +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 8e3b44c2e1 email import: support multiple references 2019-11-18 13:55:06 +02:00
Yuri Kuznetsov 7a580599cf Merge branch 'hotfix/5.7.8' 2019-11-18 13:09:11 +02:00
Yuri Kuznetsov 4048b7207b lang fix 2019-11-18 13:09:02 +02:00
Yuri Kuznetsov c82da61193 Merge branch 'hotfix/5.7.8' 2019-11-18 13:01:01 +02:00
Yuri Kuznetsov a87231552b case distribution fixes 2019-11-18 13:00:38 +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 a234f503a1 list with categories no data if text filter 2019-11-13 12:07:52 +02:00
Yuri Kuznetsov 55be5b12b2 formula record relate 2019-11-13 10:43:51 +02:00
Yuri Kuznetsov 1f400649f5 Merge branch 'hotfix/5.7.8' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.8 2019-11-12 15:23:24 +02:00
Yuri Kuznetsov e6f65440f2 add more currencies 2019-11-12 14:59:05 +02:00
Taras Machyshyn def8455d78 Improved Integration tests 2019-11-12 14:58:25 +02:00
Yuri Kuznetsov 1ad2144432 currency list in app metadata 2019-11-12 14:55:30 +02:00
Yuri Kuznetsov c2828e3273 v 2019-11-12 14:46:36 +02:00
Yuri Kuznetsov 725e428626 Merge branch 'stable' 2019-11-12 14:34:58 +02:00
Yuri Kuznetsov b1f272215a email index skip mysql 5.7 2019-11-12 11:08:46 +02:00
Taras Machyshyn 032199d9c7 Save database type and version while rebuild 2019-11-12 10:56:12 +02:00
Yuri Kuznetsov cce78ac258 fix metadata and language acl 2019-11-11 10:22:22 +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 67074f2b0a dashlet options button 2019-11-06 15:29:00 +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 ea3189ebc3 metadata & language acl dependencies 2019-11-04 14:04:10 +02:00
Yuri Kuznetsov 83e7e0b517 fix link multiple with role acl 2019-11-04 13:36:12 +02:00
Yuri Kuznetsov 2c1fed8adf fix email header 2019-11-04 10:33:42 +02:00
Yuri Kuznetsov 45e6f3bb34 array field: display as list param 2019-11-01 16:46:27 +02:00
Yuri Kuznetsov f53708c38e remove no joins 2019-11-01 14:34:57 +02:00
Yuri Kuznetsov d1aa3f721d no full text threshold for emails 2019-11-01 13:16:08 +02:00
Yuri Kuznetsov 0afe715d9a full text search threshold 2019-11-01 13:08:40 +02:00
Yuri Kuznetsov 9cbe31300a lock user table before checking duplicate 2019-11-01 11:59:33 +02:00
Yuri Kuznetsov dde139f0a1 full text changes 2019-10-31 16:53:26 +02:00
Yuri Kuznetsov 5fb8b2c71c orm match test 2019-10-31 15:56:21 +02:00
Yuri Kuznetsov 63c07a1f17 fulltext search improvements 2019-10-31 15:42:08 +02:00
Yuri Kuznetsov a338bbca59 integration language 2019-10-31 13:38:34 +02:00
Yuri Kuznetsov 157bf87d40 ouathcallback message 2019-10-31 12:49:53 +02:00
Yuri Kuznetsov 911a9f80de bool search change 2019-10-29 15:56:19 +02:00
Yuri Kuznetsov c9bbbeb2c4 fix history email list 2019-10-29 12:03:52 +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 57803c0828 v 2019-10-28 12:24:03 +02:00
Yuri Kuznetsov 3d8be61fbf amend 2019-10-28 12:05:33 +02:00
Yuri Kuznetsov 690e87a3fb select manager error if order by non existing field 2019-10-28 12:05:00 +02:00
Yuri Kuznetsov 72569af873 Merge branch 'stable' 2019-10-25 15:46:33 +03:00
Yuri Kuznetsov cd45f07e54 fix account description 2019-10-24 14:34:46 +03:00
Yuri Kuznetsov a35f9625af fix email reply id 2019-10-24 13:33:07 +03:00
Yuri Kuznetsov f5245ef3eb email import message id fix 2019-10-24 13:06:11 +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
yuri 4ad9ef770b pdf: not latin filename support 2019-10-23 11:05:26 +03:00
yuri acbc74d858 fix entity plural label 2019-10-22 15:42:41 +03:00
yuri 8da3350523 base plus emails link 2019-10-22 15:40:29 +03:00
yuri 496879dd79 pdf link support 2019-10-22 15:30:49 +03:00
yuri 84cda80fd8 forbid base entity type name 2019-10-22 13:13:13 +03:00
yuri 50a81b1247 date picker disable keyboard navigation 2019-10-22 12:56:57 +03:00
yuri f0f225f349 propagate remove event for stored main view 2019-10-22 12:25:40 +03:00
yuri d49fff1289 cleanup 2019-10-22 11:44:26 +03:00
yuri abaa1b302b email filters from to 2019-10-22 11:38:44 +03:00
yuri 0eaa7825ea email filters layout change 2019-10-22 10:40:34 +03:00
yuri 1028b7c5b3 v 2019-10-22 10:32:36 +03:00
yuri f319e5219d Merge branch 'hotfix/5.7.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.6 2019-10-22 10:05:32 +03:00
Taras Machyshyn 0daae5ced5 Integration tests changes 2019-10-21 16:38:46 +03:00
Taras Machyshyn abee63d269 FieldManager fix 2019-10-21 16:38:15 +03:00
yuri be33d90986 all of filter 2019-10-21 15:44:41 +03:00
yuri 3a7cac824d formula comments 2019-10-21 13:44:16 +03:00
yuri 7d616b075f fix formula sumRelated 2019-10-21 12:22:05 +03:00
yuri b718765138 system requirements tpl fix 2019-10-21 11:46:27 +03:00
yuri 3104be7c99 link multiple default 2019-10-21 10:46:29 +03:00
2823 changed files with 107082 additions and 41614 deletions
+5 -3
View File
@@ -4,16 +4,18 @@
/data/preferences/*
/data/.backup/*
/data/config.php
/data/tmp/*
/build
/node_modules
npm-debug.log
/npm-debug.log
/test.php
/main.html
/tests/unit/testData/cache/*
!/tests/unit/testData/cache/.data
/tests/integration/config.php
composer.phar
vendor/
.phpunit.result.cache
/composer.phar
/vendor/
/custom/Espo/Custom/*
/install/config.php
+1 -1
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>
+6
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.
+142 -24
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
@@ -18,6 +18,16 @@
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
************************************************************************/
/**
* * `grunt` - full build
* * `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 test` - build for test running
* * `grant run-tests` - build and run unit and integratino tests
*/
module.exports = function (grunt) {
var jsFilesToMinify = [
@@ -39,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',
@@ -71,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'
];
@@ -83,6 +95,10 @@ module.exports = function (grunt) {
}
var fs = require('fs');
var cp = require('child_process');
var path = require('path');
var currentPath = path.dirname(fs.realpathSync(__filename));
var themeList = [];
fs.readdirSync('application/Espo/Resources/metadata/themes').forEach(function (file) {
@@ -108,8 +124,10 @@ module.exports = function (grunt) {
lessData[theme] = o;
});
var pkg = grunt.file.readJSON('package.json');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
pkg: pkg,
mkdir: {
tmp: {
@@ -125,8 +143,13 @@ module.exports = function (grunt) {
clean: {
start: ['build/EspoCRM-*'],
final: ['build/tmp'],
release: ['build/EspoCRM-' + pkg.version],
beforeFinal: {
src: ['build/tmp/custom/Espo/Custom/*', '!build/tmp/custom/Espo/Custom/.htaccess', 'build/tmp/install/config.php']
src: [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'build/tmp/install/config.php',
]
}
},
less: lessData,
@@ -146,6 +169,9 @@ module.exports = function (grunt) {
})
},
copy: {
options: {
mode: true,
},
frontendFolders: {
expand: true,
cwd: 'client',
@@ -186,6 +212,7 @@ module.exports = function (grunt) {
'daemon.php',
'rebuild.php',
'clear_cache.php',
'preload.php',
'upgrade.php',
'extension.php',
'websocket.php',
@@ -207,9 +234,6 @@ module.exports = function (grunt) {
},
},
chmod: {
options: {
mode: '755'
},
php: {
options: {
mode: '644'
@@ -238,7 +262,21 @@ module.exports = function (grunt) {
'build/EspoCRM-<%= pkg.version %>/api/v1/portal-access',
'build/EspoCRM-<%= pkg.version %>',
]
}
},
foldersWritable: {
options: {
mode: '775'
},
src: [
'build/EspoCRM-<%= pkg.version %>/data',
'build/EspoCRM-<%= pkg.version %>/custom',
'build/EspoCRM-<%= pkg.version %>/custom/Espo',
'build/EspoCRM-<%= pkg.version %>/custom/Espo/Custom',
'build/EspoCRM-<%= pkg.version %>/client/custom',
'build/EspoCRM-<%= pkg.version %>/client/modules',
'build/EspoCRM-<%= pkg.version %>/application/Espo/Modules',
]
},
},
replace: {
version: {
@@ -252,23 +290,63 @@ 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'
}
]
}
},
compress: {
final: {
options: {
archive: 'build/EspoCRM-<%= pkg.version %>.zip',
mode: 'zip'
},
src: ['**'],
cwd: 'build/EspoCRM-<%= pkg.version %>',
dest: 'EspoCRM-<%= pkg.version %>'
}
}
});
grunt.registerTask("chmod-folders", function() {
cp.execSync("find . -type d -exec chmod 755 {} + ", {stdio: 'ignore', cwd: 'build/EspoCRM-' + pkg.version});
});
grunt.registerTask("composer", function() {
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-run", function() {
cp.execSync("vendor/bin/phpunit --bootstrap=./vendor/autoload.php ./tests/unit", {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() {
var fs = require('fs');
var resolve = this.async();
var folder = 'EspoCRM-' + pkg.version;
var zipPath = 'build/' + folder +'.zip';
if (fs.existsSync(zipPath)) fs.unlinkSync(zipPath);
var archiver = require('archiver');
var archive = archiver('zip');
archive.on('error', function (err) {
grunt.fail.warn(err);
});
var zipOutput = fs.createWriteStream(zipPath);
zipOutput.on('close', function () {
console.log("EspoCRM package has been built.");
resolve();
});
archive.directory(currentPath + '/build/' + folder, folder).pipe(zipOutput);
archive.finalize();
});
grunt.loadNpmTasks('grunt-contrib-clean');
@@ -278,10 +356,9 @@ module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-replace');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-chmod');
grunt.registerTask('default', [
grunt.registerTask('offline', [
'clean:start',
'mkdir:tmp',
'less',
@@ -293,7 +370,48 @@ module.exports = function (grunt) {
'replace',
'clean:beforeFinal',
'copy:final',
'chmod',
'clean:final'
'chmod-folders',
'chmod:php',
'chmod:folders',
'chmod:foldersWritable',
'clean:final',
]);
grunt.registerTask('default', [
'composer',
'offline',
]);
grunt.registerTask('release', [
'default',
'upgrade',
'zip',
'clean:release',
]);
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-dev',
'less',
]);
grunt.registerTask('test', [
'composer-dev',
'offline',
]);
};
+15 -47
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,30 +23,13 @@ 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.
### How to get 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.
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.
* [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)
### How to contribute
@@ -54,24 +37,9 @@ Before we can merge your pull request you need to accept our CLA [here](https://
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.
### 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.
* *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.
### License
+9
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.
+3 -1
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]
+8 -4
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);
+3 -1
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]
+7 -3
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);
+4 -5
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;
}
}
+4 -5
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;
}
}
+4 -4
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';
+4 -5
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;
}
}
+4 -5
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;
}
}
+4 -5
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;
+4 -4
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';
+4 -5
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;
}
}
+4 -4
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)
{
+4 -5
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');
}
}
+7 -5
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);
}
}
}
+15 -5
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,16 +29,26 @@
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;
}
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if (!$user->isAdmin() && $entity->isPortal()) {
if ($this->getAclManager()->get($user, 'portalPermission') === 'yes') {
return true;
}
}
return $this->checkEntity($user, $entity, $data, 'read');
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if (!$user->isAdmin()) {
+4 -4
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)
{
+1 -1
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
+1 -1
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
+1 -1
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
+1 -1
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
+1 -1
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
+1 -1
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
+1 -1
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
@@ -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;
}
}
@@ -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,51 +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
{
private $config;
protected $config;
protected $entityManager;
private $entityManager;
private $auth;
private $passwordHash;
public function __construct(Config $config, EntityManager $entityManager, Auth $auth)
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
$this->auth = $auth;
}
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 getAuth()
{
return $this->auth;
}
$dt = new DateTime();
protected function getPasswordHash()
{
if (!isset($this->passwordHash)) {
$this->passwordHash = new \Espo\Core\Utils\PasswordHash($this->config);
}
$dt->modify($period);
return $this->passwordHash;
$delete = $this->entityManager->getQueryBuilder()
->delete()
->from('Reminder')
->where([
'remindAt<' => $dt->format('Y-m-d'),
])
->build();
$this->entityManager->getQueryExecutor()->execute($delete);
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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;
}
@@ -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\Classes\FieldValidators;
class ArrayIntType extends ArrayType
{
}
@@ -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,7 +46,16 @@ class ArrayType extends BaseType
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
public function checkArray(Entity $entity, string $field, $validationValue, $data) : bool
{
if (isset($data->$field) && $data->$field !== null && !is_array($data->$field)) {
return false;
}
return true;
}
protected function isNotEmpty(Entity $entity, $field)
{
if (!$entity->has($field) || $entity->get($field) === null) return false;
$list = $entity->get($field);
@@ -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;
}
}
@@ -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
{
@@ -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 &&
@@ -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;
}
@@ -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;
@@ -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
{
@@ -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;
}
@@ -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;
}
@@ -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
{
@@ -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
{
@@ -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
{
@@ -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;
}
@@ -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;
}
}
@@ -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;
}
@@ -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';
@@ -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';
@@ -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
{
@@ -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) {
@@ -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;
}
@@ -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;
}
@@ -0,0 +1,192 @@
<?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\Classes\TemplateHelpers\GoogleMaps::getImage($url);
if (!$image) {
return null;
}
$filePath = tempnam(sys_get_temp_dir(), 'google_maps_image');
file_put_contents($filePath, $image);
list($width, $height) = explode('x', $size);
$tag = "<img src=\"{$filePath}\" width=\"{$width}\" height=\"{$height}\">";
return new LightnCandy\SafeString($tag);
}
public static function getImage(string $url)
{
$headers = [];
$headers[] = 'Accept: image/jpeg, image/pjpeg';
$headers[] = 'Connection: Keep-Alive';
$agent = 'Mozilla/5.0';
$c = curl_init();
curl_setopt($c, \CURLOPT_URL, $url);
curl_setopt($c, \CURLOPT_HTTPHEADER, $headers);
curl_setopt($c, \CURLOPT_HEADER, 0);
curl_setopt($c, \CURLOPT_USERAGENT, $agent);
curl_setopt($c, \CURLOPT_TIMEOUT, 10);
curl_setopt($c, \CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, \CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, \CURLOPT_BINARYTRANSFER, 1);
$raw = curl_exec($c);
curl_close($c);
return $raw;
}
}
@@ -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();
+22 -15
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();
}
}
+38
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";
}
}
+19 -8
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);
}
}
+20 -3
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;
}
}
@@ -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
{
+2 -2
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
{
@@ -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);
}
}
@@ -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
{
+15 -9
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);
}
}
+15 -5
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'),
]);
}
}
@@ -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,
@@ -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
{
+1 -2
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
{
}
+2 -2
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
{
@@ -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);
}
}
@@ -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
+105 -68
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;
}
+2 -3
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
{
@@ -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();
}
+80 -36
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;
}
+11 -6
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);
}
}
+12 -8
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);
}
}
+17 -20
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;
}
}
@@ -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,
+3 -5
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();
}
}
+2 -3
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
{
+39 -19
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;
}
+2 -2
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
{
+29 -40
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')
);
}
}
@@ -0,0 +1,42 @@
<?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;
class LayoutSet extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
}
+28 -14
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();
}
@@ -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
{
+2 -3
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();
+1 -1
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
+10 -10
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()
+4 -4
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
{
@@ -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
{
}
+2 -2
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
{
+1 -1
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
+5 -5
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
{
+1 -1
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