Compare commits

...

2649 Commits

Author SHA1 Message Date
Yuri Kuznetsov 2582dfe3c4 v 2021-01-29 12:29:47 +02:00
Yuri Kuznetsov 295411a5d2 fix auth token 2021-01-29 11:31:51 +02:00
Yuri Kuznetsov 453589de92 fix popup notification 2021-01-28 14:06:22 +02:00
Yuri Kuznetsov f42c33d77a username validation 2021-01-27 12:27:33 +02:00
Yuri Kuznetsov 0d202499bc fix 2021-01-26 20:53:35 +02:00
Yuri Kuznetsov be6896f34c fix log loader 2021-01-26 18:38:43 +02:00
Yuri Kuznetsov e5a3a0637d fix deprecated 2021-01-26 17:02:01 +02:00
Taras Machyshyn 068653ad3e Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-26 12:59:58 +02:00
Taras Machyshyn cd2a2c2639 Upgrade fixes 2021-01-26 12:59:28 +02:00
Yuri Kuznetsov 2d37dde8b8 year 2021-01-26 12:06:35 +02:00
Yuri Kuznetsov 42613c79b6 v 2021-01-26 11:30:07 +02:00
Taras Machyshyn 124cce55bd 2021 license 2021-01-25 16:37:54 +02:00
Taras Machyshyn 589aa4ae40 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-25 15:44:36 +02:00
Yuri Kuznetsov 41ccba7955 fix deprecated 2021-01-25 15:31:36 +02:00
Taras Machyshyn ac2613682c Merge master 2021-01-25 14:55:03 +02:00
Taras Machyshyn 8a46cfb0da Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-25 14:53:29 +02:00
Yuri Kuznetsov 9c0643b61f Merge branch 'hotfix/6.0.10' 2021-01-25 11:53:10 +02:00
Yuri Kuznetsov 4d755d3795 fix tests 2021-01-25 11:46:56 +02:00
Yuri Kuznetsov 9fe61d2342 v 2021-01-25 11:12:38 +02:00
Yuri Kuznetsov d0273febf9 Rename Address class 2021-01-24 17:34:58 +02:00
Yuri Kuznetsov 5610ed6e15 Currency field utils 2021-01-24 17:13:03 +02:00
Yuri Kuznetsov 89ff894917 fix address 2021-01-24 15:39:29 +02:00
Yuri Kuznetsov e2b6f0c70f cs fix 2021-01-23 21:22:21 +02:00
Yuri Kuznetsov 654741261b Address formatter 2021-01-23 15:11:56 +02:00
Taras Machyshyn 1f17d79e2d Upgrade fixes 2021-01-21 17:53:54 +02:00
Taras Machyshyn 3b0c7f1d5b Upgrade bug fixes 2021-01-21 17:39:44 +02:00
Taras Machyshyn f2831f84df Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-21 16:17:22 +02:00
Taras Machyshyn d30edee790 Upgrade bug fixes 2021-01-21 16:14:14 +02:00
Yuri Kuznetsov 2635ed69ac cleanup 2021-01-21 11:19:25 +02:00
Yuri Kuznetsov 9756bfbc4d Rename getRawParams method 2021-01-19 17:36:01 +02:00
Taras Machyshyn 1ae125ceb1 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-19 12:57:13 +02:00
Milan Horák 443d010a59 Update Email.json (#1883)
Unified terminology, translated untranslated items, typos correction.
2021-01-18 15:43:35 +02:00
Yuri Kuznetsov fcdc704cc2 Merge branch 'hotfix/6.0.10' 2021-01-18 13:58:34 +02:00
Yuri Kuznetsov 0815cc3b5e xlsx export fix and refactoring 2021-01-18 13:58:13 +02:00
Yuri Kuznetsov 2416cf6ad5 fix popup notification service 2021-01-15 16:07:14 +02:00
Yuri Kuznetsov 9cf03fcbb0 fix orm notice 2021-01-14 14:09:50 +02:00
Yuri Kuznetsov 43c524533c global search cs fix 2021-01-13 21:12:53 +02:00
Yuri Kuznetsov 600ae5aed6 orm left function 2021-01-13 11:31:21 +02:00
Yuri Kuznetsov a9fb352fd9 log handler fix 2021-01-12 09:16:41 +02:00
Yuri Kuznetsov dd2434d4b4 Merge branch 'master' of github.com:espocrm/espocrm 2021-01-11 13:12:23 +02:00
Yuri Kuznetsov 3f221878e8 file manager change 2021-01-11 13:10:39 +02:00
Eymen Elkum 876dbb3ab4 link field keep name value in search mode (#1882) 2021-01-11 13:09:08 +02:00
Yuri Kuznetsov 97e7b1982f Merge branch 'hotfix/6.0.10' 2021-01-11 12:24:35 +02:00
Yuri Kuznetsov ddff78756d fix label 2021-01-11 12:24:07 +02:00
Yuri Kuznetsov d78df859b1 Merge branch 'hotfix/6.0.10' 2021-01-11 11:33:05 +02:00
Taras Machyshyn aa09f8789c Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-06 12:03:50 +02:00
Yuri Kuznetsov 106ffe5df7 Config file permissins fix 2021-01-05 18:56:07 +02:00
Taras Machyshyn f8c01808d4 Wrong directory owner fixes 2021-01-05 16:16:49 +02:00
Taras Machyshyn 9de775e0c9 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-05 14:17:15 +02:00
Yuri Kuznetsov e073c82992 fix orm repository 2021-01-05 10:27:57 +02:00
Yuri Kuznetsov 90a6c85aff Merge branch 'stable' 2021-01-04 12:39:12 +02:00
Yuri Kuznetsov aa82f96993 Fix reply email with external account 2021-01-04 12:17:57 +02:00
Yuri Kuznetsov 867a0225f1 v 2021-01-04 11:47:18 +02:00
Taras Machyshyn ead92aac31 Merge branch 'master' of https://github.com/espocrm/espocrm 2021-01-04 10:51:48 +02:00
Yuri Kuznetsov 97ff03f87e Fix DBAL 2020-12-31 15:17:28 +02:00
Yuri Kuznetsov ec40acfac1 cs fixes 2020-12-31 15:12:44 +02:00
Yuri Kuznetsov 52904999fb Merge branch 'master' of https://github.com/espocrm/espocrm 2020-12-31 10:01:44 +02:00
Yuri Kuznetsov 14d296ea38 Merge branch 'hotfix/6.0.9' 2020-12-31 10:01:25 +02:00
Yuri Kuznetsov 4ab636ded8 autoload test and refactoring 2020-12-31 09:59:29 +02:00
Yuri Kuznetsov f764375e0e file manager method cleanups 2020-12-31 09:33:12 +02:00
Arkady 98b20a3e24 fix autoload path merging (#1875)
Co-authored-by: Arkadiy Asuratov <a.asuratov@dubas.pro>
2020-12-31 08:56:24 +02:00
Taras Machyshyn 7f6843b895 Merge 2020-12-30 15:55:43 +02:00
Taras Machyshyn 74ad947ade Fixes for DBAL v3.0 2020-12-30 15:36:39 +02:00
Yuri Kuznetsov 3dc1a156d4 orm has join alias 2020-12-30 12:35:57 +02:00
Yuri Kuznetsov b6a6cf052b add modal fixes 2020-12-29 13:29:24 +02:00
Eymen Elkum ae3975e3dd array field modal checkboxes (#1864) 2020-12-29 13:19:02 +02:00
Yuri Kuznetsov 79b2beba8f manual merge 2020-12-29 13:15:33 +02:00
dependabot[bot] e7345f678c Bump ini from 1.3.5 to 1.3.8 (#1873)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

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

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

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

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

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

* Update EmailTemplate.json

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

* Update EmailTemplate.json

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

* Update EmailTemplate.json

* Update EmailTemplate.json

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

* fixes
2020-03-31 13:41:24 +03:00
Yuri Kuznetsov db5b37b221 Merge branch 'hotfix/5.8.5' 2020-03-31 13:08:02 +03:00
Yuri Kuznetsov 34a191446f webhook event autocomplete 2020-03-31 13:07:35 +03:00
Yuri Kuznetsov 2a3e9c143f select related empty filter 2020-03-31 12:37:24 +03:00
Yuri Kuznetsov 85b38f8119 layout set teams panel 2020-03-31 12:37:11 +03:00
Yuri Kuznetsov 9f70e7dce2 tooltip fix 2020-03-31 12:14:39 +03:00
Yuri Kuznetsov d73222875a update symphony/http-foundation 2020-03-31 11:36:59 +03:00
Yuri Kuznetsov a90098666d fix diff 2020-03-31 11:27:03 +03:00
Yuri Kuznetsov 6f06c75fdd version 2020-03-31 10:56:33 +03:00
Yuri Kuznetsov 6977f1adaa gruntfile changes 2020-03-31 10:35:49 +03:00
Yuri Kuznetsov 67beeca698 grunt composer ignore-platform-reqs 2020-03-31 09:21:59 +03:00
Yuri Kuznetsov acc6684e2d fix readme 2020-03-31 09:18:45 +03:00
Yuri Kuznetsov 7eb4818739 layout set tooltip 2020-03-30 23:16:24 +03:00
Yuri Kuznetsov a1caf22474 layout set no teams panel 2020-03-30 23:01:15 +03:00
Yuri Kuznetsov 588887b9d8 layout set tooltip 2020-03-30 23:00:24 +03:00
Yuri Kuznetsov 2c480cc45b naming fix 2020-03-30 16:28:03 +03:00
Yuri Kuznetsov 068eff9c94 email sending changes 2020-03-30 16:15:22 +03:00
Yuri Kuznetsov ff627dd7dc tooltips 2020-03-30 13:27:57 +03:00
Yuri Kuznetsov bcf6a24b9f number field: next number max value 2020-03-30 12:39:25 +03:00
Yuri Kuznetsov 714907d498 email account tooltip 2020-03-28 13:50:12 +02:00
Yuri Kuznetsov 14660ed0ae Merge branch 'hotfix/5.8.5' 2020-03-27 18:18:05 +02:00
Yuri Kuznetsov 3632e53f12 fix tasks date end being changed when date start is removed 2020-03-27 18:17:41 +02:00
Yuri Kuznetsov f0f6455969 scheduler 2020-03-27 17:18:28 +02:00
Yuri Kuznetsov 24546658b8 Merge branch 'hotfix/5.8.5' 2020-03-26 10:54:26 +02:00
Yuri Kuznetsov 2fc728cce9 do not show view personal data for portal users 2020-03-26 10:54:07 +02:00
Yuri Kuznetsov 0ec1de2e8e formula find related order not mandatory 2020-03-25 18:04:26 +02:00
Yuri Kuznetsov 8ec6a350fd update bull 2020-03-25 12:10:10 +02:00
Yuri Kuznetsov 2b824537eb search order fixes 2020-03-25 09:56:22 +02:00
Yuri Kuznetsov c9caebca28 fix 2020-03-24 12:59:20 +02:00
Yuri Kuznetsov 5fdae984db panels disabled fix 2020-03-24 11:54:30 +02:00
Yuri Kuznetsov f6500d6c08 bottom layout and panels hide show improvement 2020-03-24 11:18:52 +02:00
Yuri Kuznetsov b3b04a5346 Merge branch 'hotfix/5.8.5' of https://github.com/espocrm/espocrm into hotfix/5.8.5 2020-03-23 16:08:48 +02:00
Yuri Kuznetsov 7aee43c2ff cleanup 2020-03-23 16:08:11 +02:00
Yuri Kuznetsov 376ddbb5ff Merge branch 'hotfix/5.8.5' 2020-03-23 16:07:50 +02:00
Yuri Kuznetsov dc00c53731 css fix 2020-03-23 16:04:58 +02:00
Yuri Kuznetsov eadfa783f7 Merge branch 'hotfix/5.8.5' 2020-03-21 15:19:22 +02:00
Yuri Kuznetsov 5e0e644b5e Merge branch 'master' of github.com:espocrm/espocrm 2020-03-21 15:19:13 +02:00
Yuri Kuznetsov e4a75a75d2 Merge branch 'hotfix/5.8.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.8.5 2020-03-21 15:18:01 +02:00
Yuri Kuznetsov 1d16a3cbfd Merge branch 'hotfix/5.8.5' of ssh://172.20.0.1/var/git/espo/backend 2020-03-21 15:17:05 +02:00
Yuri Kuznetsov 8b27bb6fb4 Merge branch 'hotfix/5.8.5' of github.com:espocrm/espocrm 2020-03-21 15:16:33 +02:00
Yuri Kuznetsov 3cf1db1e6f Merge branch 'hotfix/5.8.5' 2020-03-20 14:43:45 +02:00
Yuri Kuznetsov c2d0b2fb86 fix task date timezone 2020-03-20 14:43:21 +02:00
Yuri Kuznetsov 99dde4d4e1 timeline calendar no border 2020-03-20 13:32:21 +02:00
Yuri Kuznetsov 0845baa72e Merge branch 'hotfix/5.8.5' 2020-03-20 11:49:34 +02:00
Yuri Kuznetsov 1567fd4feb fix locked panel 2020-03-20 11:49:25 +02:00
Yuri Kuznetsov edf1bac058 panels fix 2020-03-20 11:45:52 +02:00
Yuri Kuznetsov f02a193bda Merge branch 'hotfix/5.8.5' 2020-03-20 11:43:31 +02:00
Yuri Kuznetsov a9dff223ed hide panel locked 2020-03-20 11:43:21 +02:00
Yuri Kuznetsov 2bfb414495 Merge branch 'hotfix/5.8.5' 2020-03-19 21:13:46 +02:00
Yuri Kuznetsov d55b82a6ea fix css 2020-03-19 21:13:31 +02:00
Yuri Kuznetsov c58ffc6cac Merge branch 'hotfix/5.8.5' 2020-03-19 19:40:43 +02:00
Yuri Kuznetsov 6dfd2d49bb meeting all day fix date time zone 2020-03-19 19:40:15 +02:00
Yuri Kuznetsov dc0a866277 Merge branch 'hotfix/5.8.5' 2020-03-19 09:33:47 +02:00
Yuri Kuznetsov 32f07d81d4 install: admin preferences with default values 2020-03-18 21:13:27 +02:00
Yuri Kuznetsov 44460362c5 change default date time formats 2020-03-18 20:45:31 +02:00
Yuri Kuznetsov 1c5537bb55 css avatar fix 2020-03-18 20:30:18 +02:00
Yuri Kuznetsov 2636ac0b31 Merge branch 'master' of https://github.com/espocrm/espocrm 2020-03-18 12:50:18 +02:00
Yuri Kuznetsov e5cfe759b1 Merge branch 'hotfix/5.8.5' 2020-03-18 12:49:59 +02:00
Yuri Kuznetsov a6f7df72b5 css fix 2020-03-18 12:49:42 +02:00
Taras Machyshyn 5b4788825d Fixes for actionQuickCreate in list view 2020-03-18 12:42:21 +02:00
Yuri Kuznetsov c0355cb2b2 date-time css fix 2020-03-18 11:34:17 +02:00
Yuri Kuznetsov 2eac1b3721 fix date end 2020-03-18 10:35:16 +02:00
Yuri Kuznetsov 78aa4ce6c5 less changes 2020-03-18 09:53:25 +02:00
Yuri Kuznetsov dd7bd118af css fix 2020-03-17 18:28:58 +02:00
Yuri Kuznetsov 225c6efe3e detail show more panels 2020-03-17 16:46:54 +02:00
Yuri Kuznetsov fa3a2b729b Merge branch 'issue/config-locking' 2020-03-17 15:53:54 +02:00
Yuri Kuznetsov 2a3e3dde0a Merge branch 'master' of github.com:espocrm/espocrm 2020-03-17 15:25:36 +02:00
Yuri Kuznetsov 878ce83448 Merge branch 'stable' 2020-03-17 15:24:54 +02:00
Yuri Kuznetsov 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
yuri a8d182b4cd Merge branch 'hotfix/5.7.5' into stable 2019-10-18 16:14:48 +03:00
yuri 3bfc99c88b entity array clone 2019-10-18 14:46:18 +03:00
yuri ac3300a5cf fix password labels 2019-10-18 12:58:49 +03:00
yuri 636587a22c Merge branch 'hotfix/5.7.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.5 2019-10-18 12:48:48 +03:00
Taras Machyshyn 4ed2c71dfd Integration tests fix 2019-10-18 12:48:30 +03:00
yuri 723229d8e6 Merge branch 'hotfix/5.7.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.5 2019-10-18 12:12:31 +03:00
yuri 080ab488fa fix json object save 2019-10-18 11:11:55 +03:00
Taras Machyshyn fd32696c5a Integration tests optimization 2019-10-18 10:40:28 +03:00
Taras Machyshyn 9a56858f12 Label changes 2019-10-18 10:40:20 +03:00
Taras Machyshyn 5923757810 Database indexes changes 2019-10-18 10:40:07 +03:00
yuri 62948a7740 v 2019-10-17 17:21:22 +03:00
yuri 821d57ce00 fix stream 2019-10-17 17:20:47 +03:00
yuri efd0505ead fix 2019-10-17 16:59:37 +03:00
yuri 91c55965a7 fix 2019-10-17 16:43:16 +03:00
yuri 974305e152 v 2019-10-17 16:42:57 +03:00
yuri 016abaf7b6 fix 2019-10-17 16:16:14 +03:00
yuri f3ec50dcbd fix 2019-10-17 16:10:39 +03:00
yuri baeee7caf5 timestamp diff orm functions 2019-10-17 16:07:14 +03:00
yuri 56280224f9 access control disabled 2019-10-17 12:14:47 +03:00
yuri 4b3e341606 fix 2019-10-17 11:38:06 +03:00
yuri 58fad48d5e languageAclDisabled param 2019-10-17 11:03:28 +03:00
yuri 841a73b886 email address lookup fix 2019-10-17 10:17:03 +03:00
yuri f74ae46ec9 orm additionalSelect 2019-10-16 16:32:00 +03:00
yuri 542d78425c fix email address lookup 2019-10-16 15:39:23 +03:00
yuri 7b241b90a0 fix email search 2019-10-16 11:27:12 +03:00
yuri de77b1b1d0 v 2019-10-16 10:34:13 +03:00
yuri 8199692df7 calendar ui fixes 2019-10-15 16:38:08 +03:00
yuri 1d3a340d3a duplicate returnUrl 2019-10-15 15:19:53 +03:00
yuri d664f29388 fix 2019-10-15 14:04:00 +03:00
yuri 4d0e1af000 save and continue action 2019-10-15 14:00:55 +03:00
yuri 97ea0c71e1 fix handle action 2019-10-15 14:00:45 +03:00
yuri d9fbcda231 lanf 2019-10-15 11:57:28 +03:00
yuri f4b5cfa5b6 add global search test 2019-10-15 11:43:37 +03:00
yuri 4391c7a7ac fix test 2019-10-15 11:43:27 +03:00
yuri 6c14f390f6 fix global search 2019-10-15 11:31:08 +03:00
yuri 4a6829cf10 fix output 2019-10-15 11:15:45 +03:00
yuri 2b6c493be5 fix link parent 2019-10-14 13:24:42 +03:00
yuri 597406f70d fix test 2019-10-14 13:00:31 +03:00
yuri 110e2fbc37 string pos formula function 2019-10-14 12:32:30 +03:00
yuri 3e1fab487a htmlizer ifInArray 2019-10-14 11:30:50 +03:00
yuri c76e34fe81 fix enum 2019-10-11 15:49:53 +03:00
yuri eb922103a8 v 2019-10-11 13:02:04 +03:00
yuri 9b946c6a1f compose email layout columns 2019-10-11 13:01:45 +03:00
yuri e2df819e57 call allow 0 duration 2019-10-11 11:17:21 +03:00
yuri 9b00d50079 fix select manager user from team 2019-10-11 10:50:25 +03:00
yuri 814f79d53b Merge branch 'hotfix/5.7.2' of github.com:espocrm/espocrm into hotfix/5.7.2 2019-10-10 15:17:42 +03:00
yuri 0d6482374e Merge branch 'hotfix/5.7.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.2 2019-10-10 15:06:34 +03:00
Karthik Bhat K 427e3d466a count(): Parameter must be an array or an object that implements Countable (#1460) 2019-10-10 10:13:27 +03:00
yuri ae72768f8c v 2019-10-09 11:14:28 +03:00
yuri bd4e92d892 multi-enum display as list 2019-10-09 11:06:34 +03:00
yuri afc17ac54c fix filter by foreign array 2019-10-09 10:48:21 +03:00
Taras Machyshyn 52dda066cd Index name consists of a list of fields for relation tables 2019-10-09 10:34:26 +03:00
yuri 29bec8fcd6 fix email storing 2019-10-09 10:15:27 +03:00
yuri 5c4fd344e4 smtp default tls 2019-10-08 17:54:12 +03:00
yuri e936ad907b outbound email settings fixes 2019-10-08 17:50:45 +03:00
yuri bc59dab9ec fix lang acl 2019-10-08 17:40:17 +03:00
yuri 48652e35ee fix integrations 2019-10-08 17:04:35 +03:00
yuri 381a51b836 Merge branch 'hotfix/5.7.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.1 2019-10-08 15:10:15 +03:00
Taras Machyshyn a9f36a352d Orm: defined index name for relations 2019-10-08 15:07:55 +03:00
yuri 6c8a0bbb66 orm useIndex change 2019-10-08 13:43:31 +03:00
yuri b21b69eed5 cs fix 2019-10-08 13:43:09 +03:00
yuri ef0d3febd8 buttons small fix 2019-10-08 11:54:15 +03:00
yuri 2d6db7570c fix record next/prev 2019-10-08 11:44:47 +03:00
yuri a7804742e7 fix select manager order 2019-10-08 11:18:50 +03:00
yuri 09301e9d7c fix reminders 2019-10-08 10:45:07 +03:00
yuri 5d10da3b78 orm fix 2019-10-07 14:42:37 +03:00
yuri dcc4cce872 update reserved words 2019-10-07 14:23:53 +03:00
yuri 02fbc20838 orm join only middle 2019-10-07 13:37:59 +03:00
yuri 6641075043 orm fix 2019-10-07 13:22:30 +03:00
yuri 6624b178c0 fix select manager is not linked filter 2019-10-07 13:08:19 +03:00
yuri 4ec6708cb4 v 2019-10-07 12:41:17 +03:00
yuri f9752eab02 orm more sanitizing 2019-10-07 12:28:10 +03:00
yuri 3de816e03a formula entity get link column 2019-10-07 12:27:42 +03:00
yuri b854ebab43 lead capture fix 2019-10-07 11:23:41 +03:00
yuri ffab7c3e6b external account fix 2019-10-07 10:26:47 +03:00
yuri b6e09ec75a stream fix 2019-10-04 15:24:06 +03:00
yuri 083c768af9 globas search optimization 2019-10-04 12:38:39 +03:00
yuri fd052c1cdb email select manager fix 2019-10-04 10:35:36 +03:00
yuri 41e0e29500 select manager apply default order 2019-10-03 18:03:57 +03:00
yuri 3cbd918507 full text change 2019-10-03 17:57:07 +03:00
yuri 94c9db2fde full text changes 2019-10-03 17:43:20 +03:00
yuri da29d6149b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 17:29:18 +03:00
Taras Machyshyn abd887363f Label changes 2019-10-03 17:26:45 +03:00
Taras Machyshyn 8e2fe95e0c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 17:11:09 +03:00
Taras Machyshyn 75e5349475 DBAL bug fixes 2019-10-03 17:02:22 +03:00
yuri 9a081d784e fix 2019-10-03 14:56:08 +03:00
yuri 960446f9fa enity manager: disable count 2019-10-03 14:44:10 +03:00
yuri 7cac38f39d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 14:30:22 +03:00
yuri 98e69436d9 sum related support children 2019-10-03 13:42:17 +03:00
yuri 415eff0486 fix stream portal user 2019-10-03 13:41:53 +03:00
yuri 850f6ad41e cs fix 2019-10-03 13:12:51 +03:00
yuri a5433ec82a stream use index 2019-10-03 13:09:54 +03:00
yuri 9b2ac56563 email use index fix 2019-10-03 10:27:29 +03:00
yuri 43fed19d07 formula password functions 2019-10-02 14:58:20 +03:00
yuri 2f93dfd653 array displayAsList 2019-10-02 12:18:27 +03:00
yuri c752e8fc91 job front end fixes 2019-10-02 11:44:28 +03:00
yuri 00230f50d6 remove notifications sound disabled 2019-10-02 10:46:19 +03:00
yuri 3b880de16d preferences fix 2019-10-02 10:43:42 +03:00
Taras Machyshyn 6acba3efb8 Fixes for 'indexes' attribute for manyMany relationships 2019-10-01 17:17:39 +03:00
yuri 57843f5f86 calendar apply color 2019-10-01 17:13:12 +03:00
yuri 73b00190f7 colorpicker fix 2019-10-01 17:06:32 +03:00
yuri 20ede11bdd css fix 2019-10-01 16:40:03 +03:00
yuri 9d485624a8 fix 2019-10-01 16:00:21 +03:00
yuri 3fe4bc34ef fix 2019-10-01 15:51:02 +03:00
yuri a38fd487f4 lang fix 2019-10-01 15:43:22 +03:00
yuri 91506a8ca6 unsubscribe without mass email 2019-10-01 14:21:51 +03:00
yuri d01748a24c hasher 2019-10-01 14:21:38 +03:00
yuri a3f7f4e2d2 fix smtp account field 2019-10-01 11:19:01 +03:00
yuri 2df476d734 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-01 10:16:48 +03:00
yuri bf5fe492b3 user data fix 2019-10-01 10:10:08 +03:00
Taras Machyshyn 87036f83e1 Added 'indexes' attribute for manyMany relationships 2019-09-30 17:47:55 +03:00
yuri cf65e40b35 fix case portal acl 2019-09-30 16:20:54 +03:00
yuri 5fe98cbbbc fix validation 2019-09-30 16:19:22 +03:00
yuri 1b94573502 fix acl portal 2019-09-30 16:12:04 +03:00
yuri d28638136a fix 2019-09-30 16:00:40 +03:00
yuri ca05495e9e fix metadata filter 2019-09-30 15:48:40 +03:00
yuri c572d0110f dashboard fix 2019-09-30 15:36:26 +03:00
yuri 3057f749c4 fix language filter 2019-09-30 14:16:04 +03:00
yuri 62c865bdc3 subscription index 2019-09-30 13:28:25 +03:00
yuri 7e2bd60382 filter relationships layout by acl 2019-09-30 12:39:25 +03:00
yuri 84434fa14a acl frontend fix 2019-09-30 12:38:36 +03:00
yuri 1c1b8b3985 restrict settings lists 2019-09-28 15:13:47 +03:00
yuri ea15452db4 restrict user data and acl 2019-09-28 14:52:39 +03:00
yuri b39d2b34e2 acl portal additions 2019-09-28 14:52:15 +03:00
yuri e6d79e0847 dashboard layout fix 2019-09-28 14:14:00 +03:00
yuri 1f334c2690 clear frontend cache on role change 2019-09-28 13:46:46 +03:00
yuri 6cfd5db8ac fix portal 2019-09-28 13:46:32 +03:00
yuri 3478aa772c metadata hide by acl 2019-09-28 13:04:48 +03:00
yuri f2c769a062 fix acl 2019-09-28 12:23:59 +03:00
yuri 6e1d905db9 team role by default 2019-09-28 12:19:19 +03:00
yuri 882eeffdd5 modal backdrop fix 2019-09-28 12:16:17 +03:00
yuri 1e4e8b3fcf follow access 2019-09-28 12:07:08 +03:00
yuri 4b25456acd fix teams select manager 2019-09-28 11:55:31 +03:00
yuri 68615ba8bb language hide labels by acl 2019-09-28 11:33:20 +03:00
yuri 8bafcded50 portal role scope 2019-09-28 11:20:42 +03:00
Taras Machyshyn 2e7dca6540 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:34:16 +03:00
Taras Machyshyn d25b4a4e3a Bug fixes 2019-09-27 16:34:08 +03:00
yuri fbf6b39dae Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:21:39 +03:00
yuri 60bb06c6af dashlets records number change 2019-09-27 16:21:33 +03:00
Taras Machyshyn a169aca4f0 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:19:02 +03:00
Taras Machyshyn 3e83e97197 Apache / nginx rewrite changes 2019-09-27 16:18:50 +03:00
yuri 70cdbe6020 stream union all 2019-09-27 16:17:22 +03:00
yuri 36d089cfe7 maintainence mode close button 2019-09-27 15:21:50 +03:00
yuri 0ea1be6307 modal buttons 2019-09-27 15:17:53 +03:00
yuri 73cebf7e5f msg change 2019-09-27 15:02:23 +03:00
yuri bbd943eb93 fix confirm 2019-09-27 14:54:55 +03:00
yuri 2a891c01e7 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 13:10:38 +03:00
yuri c6b1bb9c57 header popover touchscreen 2019-09-27 13:09:44 +03:00
yuri 03d06a5919 ui popover 2019-09-27 13:09:28 +03:00
Taras Machyshyn c02f39cf93 Upgrade: bug fixes 2019-09-27 13:06:22 +03:00
yuri d064d3ea1c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 12:03:20 +03:00
yuri 670cbc4971 maintenance mode message 2019-09-27 12:01:33 +03:00
yuri 2eedc93d27 modal improvements 2019-09-27 12:01:15 +03:00
yuri 8e80153a1a confirm fix 2019-09-27 11:37:40 +03:00
yuri a80f1f4662 cs fix 2019-09-27 11:12:43 +03:00
yuri 0602074554 fix stream 2019-09-27 11:06:15 +03:00
Taras Machyshyn 8f49f25057 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 10:36:22 +03:00
Taras Machyshyn 374d827edd Upgrade: bug fixes 2019-09-27 10:36:14 +03:00
yuri 6648e9ba02 stream skip own param 2019-09-27 10:36:03 +03:00
yuri 45773c5fce stream performance fix 2019-09-27 10:26:22 +03:00
yuri c9336b882c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-26 15:43:18 +03:00
Taras Machyshyn b39d220f82 Added database version checking for upgrades, extensions 2019-09-26 15:42:38 +03:00
yuri 064d63abed acceptance status modal improvement 2019-09-26 15:40:12 +03:00
yuri 104fc41895 css fix 2019-09-26 12:04:34 +03:00
yuri b0fc7ffd0a job count disabled 2019-09-26 11:38:11 +03:00
yuri ce2861b337 Merge branch 'master' of github.com:espocrm/espocrm 2019-09-26 11:29:33 +03:00
yuri ccb5baf025 drop mysql 5.5 2019-09-26 11:29:22 +03:00
Yuri Kuznetsov ff227c9813 Update README.md 2019-09-26 11:17:51 +03:00
yuri a3a60713ef lang fix 2019-09-26 10:46:57 +03:00
yuri 5bae4c7968 small screen list wider 2019-09-26 10:25:06 +03:00
yuri 57e7556424 layout manager link param tooltip 2019-09-25 16:57:14 +03:00
yuri de7e573dbe link manager label fix 2019-09-25 16:43:37 +03:00
yuri 27579a0111 fix webhook 2019-09-25 16:27:44 +03:00
yuri 9933e2bff2 stream user fix 2019-09-25 12:47:06 +03:00
yuri 061aeaeecc stream service use orm 2019-09-25 12:35:56 +03:00
yuri 07eb8daee2 aclStrictMode system param 2019-09-25 11:46:09 +03:00
yuri 1d0fdbd73b aclStrictMode true if not set 2019-09-25 11:39:54 +03:00
yuri f9a9f60ad4 small screen footer to the bottom 2019-09-25 11:37:35 +03:00
yuri 21bf0953e6 lang fix 2019-09-25 11:27:34 +03:00
yuri a6b31c48af close notification panel in mobile mode 2019-09-25 10:51:49 +03:00
yuri 62ac499867 css fix 2019-09-24 17:33:52 +03:00
yuri d7d0e79e4b cs fix 2019-09-24 17:25:03 +03:00
yuri 4667d62ad5 email store when message id is set 2019-09-24 17:24:05 +03:00
yuri 017ac9c547 email store right after send 2019-09-24 17:20:36 +03:00
yuri b73db26a41 webhook fix 2019-09-24 16:29:57 +03:00
yuri 3634872a33 import support link multiple ids 2019-09-24 15:55:22 +03:00
yuri cbe6711a83 scheduled job status default 2019-09-24 12:06:56 +03:00
yuri bcad4a9e88 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:28:31 +03:00
Taras Machyshyn 4b6e6928c6 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:28:17 +03:00
Taras Machyshyn fe32fd86c5 Fix upgrade tests 2019-09-24 11:28:08 +03:00
yuri b704730e18 stream dashlet view label 2019-09-24 11:15:35 +03:00
yuri 11562ff515 fix notice 2019-09-24 11:07:03 +03:00
yuri bf3abeaa1d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:04:38 +03:00
yuri 3731a5558b note notification number bigint 2019-09-24 10:42:05 +03:00
yuri 66e15a4404 email address lookup access check 2019-09-24 10:36:10 +03:00
yuri 23dc2f09a2 email address search optimization 2019-09-24 10:33:06 +03:00
yuri 925702516c upgrade strong text warning 2019-09-24 10:26:37 +03:00
yuri 5bcea44ecb fix user activities 2019-09-24 10:18:58 +03:00
Taras Machyshyn 054f3851be Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-23 16:52:35 +03:00
Taras Machyshyn fffa95a206 Improved Upgrade process 2019-09-23 16:50:33 +03:00
yuri 9d9e13a07d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-23 16:08:27 +03:00
yuri afeff90096 fix activities 2019-09-23 16:06:32 +03:00
yuri fffb214e5d user history performance 2019-09-23 15:48:07 +03:00
Taras Machyshyn acb8f95929 Fix file permission after copy 2019-09-23 15:42:36 +03:00
yuri 3323e947b6 relation panel set filter ui improvement 2019-09-23 14:48:38 +03:00
yuri efc4bf2a89 use history query optimization 2019-09-23 14:20:59 +03:00
yuri 47618a3555 lang 2019-09-23 12:23:01 +03:00
yuri e89694c8b9 user history no count 2019-09-23 11:13:45 +03:00
yuri 69c6b2db1c scheduled job log perfrormance 2019-09-20 16:53:01 +03:00
yuri 89818b2eea scheduled job log index 2019-09-20 16:33:21 +03:00
yuri 806461750a layout manager button group 2019-09-20 15:13:44 +03:00
yuri 8ac7a855cc merge buttons fix 2019-09-20 15:11:12 +03:00
yuri e85f7a533f select multiple records button style 2019-09-20 15:09:26 +03:00
yuri b58561e46f stickButtonsFormBottomSelector 2019-09-20 14:54:41 +03:00
yuri 21909f985b stick buttons z-index 5 2019-09-20 14:49:05 +03:00
yuri a1c0269443 formula field change 2019-09-19 16:58:42 +03:00
yuri 96bdd54782 fix diff 2019-09-19 15:50:31 +03:00
yuri 8d68305e38 v 2019-09-19 15:19:30 +03:00
yuri 554d105aac update mail-mime-parser 2019-09-19 15:16:24 +03:00
yuri f3681e8ad7 naming fix 2019-09-19 13:54:11 +03:00
yuri d088225542 bool filter OR 2019-09-19 13:54:01 +03:00
yuri e4be1156db followed filter use orm 2019-09-19 12:59:51 +03:00
yuri 76599130cf Merge branch 'stable' 2019-09-19 12:31:35 +03:00
yuri e9208602f6 css fix 2019-09-19 12:00:03 +03:00
yuri e2f57d4869 formula record attribute 2019-09-18 16:21:22 +03:00
yuri 98dd4bc51c formula record findOne 2019-09-18 16:20:57 +03:00
yuri cb4356c689 afterClick hook 2019-09-18 13:11:15 +03:00
yuri 99e8642ef6 fix 2019-09-18 12:59:27 +03:00
yuri e5575ee673 generate password method fix 2019-09-18 12:34:57 +03:00
yuri e1d7733848 meeting/call do not show send invitees if only own user and accepted 2019-09-18 11:07:10 +03:00
yuri b08f7de0cb email address fix double escaping 2019-09-18 10:48:12 +03:00
yuri d83f02010a fix inbound email from address 2019-09-18 10:26:10 +03:00
yuri 02b66272bb markdown hint fix 2019-09-17 17:42:17 +03:00
yuri 4ef3b2975e Merge branch 'hotfix/5.6.14' 2019-09-17 17:36:52 +03:00
yuri 88bc592fcd Merge branch 'hotfix/5.6.14' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.14 2019-09-17 17:35:54 +03:00
yuri 2fe1d892c5 password strength params 2019-09-17 17:05:07 +03:00
Taras Machyshyn 9c2a125365 Field Manager fix 2019-09-17 17:04:36 +03:00
yuri d21e61bdf5 2fa labels fixes 2019-09-17 14:00:49 +03:00
yuri a2e6bb6fd9 fix label 2019-09-17 13:37:39 +03:00
yuri 381f4886a9 passwordGenerateLength param 2019-09-17 13:35:31 +03:00
yuri ab538e1901 password both cases 2019-09-17 13:19:05 +03:00
yuri 506200901d generate and send password 2019-09-17 12:25:13 +03:00
yuri 764b0c6705 fix generate password 2019-09-17 11:59:11 +03:00
yuri 34209c0811 fix passwordRecoveryEnabled 2019-09-17 11:43:29 +03:00
yuri 0e3b94e1bb confirm return promise 2019-09-17 11:28:15 +03:00
yuri fd95fa73ce generate password improvement 2019-09-17 11:02:26 +03:00
yuri 3f056c8472 ability to disable password recovery 2019-09-16 15:47:06 +03:00
yuri ef48999614 hide forgot password if smtp is not configured 2019-09-16 14:04:50 +03:00
yuri 087ab2b954 Merge branch 'hotfix/5.6.14' 2019-09-16 12:33:06 +03:00
yuri e79e75c0d5 text field remove default rows param 2019-09-16 12:32:14 +03:00
yuri cb37ee88b2 lang fix 2019-09-16 12:14:23 +03:00
yuri 9ead5dad66 stream performance fix 2019-09-16 12:06:04 +03:00
yuri 4b39626b83 stream onlyNotified param 2019-09-16 11:59:19 +03:00
yuri 2b5b7eb601 varchar: support conditional options dynamic logic 2019-09-16 10:50:57 +03:00
yuri 0785e2a059 Merge branch 'hotfix/5.6.14' 2019-09-16 10:48:40 +03:00
yuri 2187073e2b css fix side navbar tab 2019-09-16 10:45:54 +03:00
yuri 3c36e81502 add ouath-callback to build 2019-09-16 10:34:39 +03:00
yuri fe6b6bc869 enum fix 2019-09-13 16:35:15 +03:00
yuri d9cdcfa332 markdown in tooltips 2019-09-13 15:38:23 +03:00
yuri 0db2dbc0f3 field manager custom field tooltip 2019-09-13 14:57:47 +03:00
yuri e319ead6a7 tooltip ascept custom string 2019-09-13 14:50:33 +03:00
yuri 0dae38943f file accept param 2019-09-13 13:58:14 +03:00
yuri f9e4ae7b71 orm attribute changed check for json object 2019-09-13 13:26:01 +03:00
yuri 2f4f4dc023 Merge branch 'hotfix/5.6.14' 2019-09-13 13:05:21 +03:00
yuri f8bafa5221 fix orm order 2019-09-13 12:58:44 +03:00
yuri 00a0cb1394 fix test 2019-09-13 12:58:31 +03:00
yuri 3a37f8421d fix action handler 2019-09-13 12:25:50 +03:00
yuri 2dbde4e2c8 fix detail action label 2019-09-13 11:58:04 +03:00
yuri 98084e9314 formula addLinkMultipleId do not throw error 2019-09-13 11:37:55 +03:00
yuri 2946969e3a detail custom actions 2019-09-13 11:36:01 +03:00
yuri 75c3891654 action history user type 2019-09-12 17:21:51 +03:00
yuri c0866c8fea fix email template insert 2019-09-12 16:57:19 +03:00
yuri 5d3a785a49 v 2019-09-12 16:41:20 +03:00
yuri 4bcf88dcee fix mail sender 2019-09-12 16:39:32 +03:00
yuri 889f976c5f Merge branch 'stable' 2019-09-12 11:21:51 +03:00
yuri 022d9a42ec transfromMarkdownText 2019-09-12 11:06:57 +03:00
yuri ac80f67533 fix view helper 2019-09-11 15:55:02 +03:00
yuri 1ffbf63731 dynamicLogicOptions field param 2019-09-11 15:26:14 +03:00
yuri 83fa22852a lang no quote escaping 2019-09-10 16:52:42 +03:00
yuri 7ffd8a54a1 v 2019-09-10 11:07:44 +03:00
yuri 739cb5e98f emailFoldersDisabled param 2019-09-10 11:04:13 +03:00
yuri f5e1b7175e utils checkActionAvailability 2019-09-10 11:03:56 +03:00
yuri 81cb2aaeb8 fix navbar tpl 2019-09-09 13:28:53 +03:00
yuri bc54bafc3a lang 2019-09-09 13:26:56 +03:00
yuri fe635064d5 Merge branch 'stable' 2019-09-06 16:36:18 +03:00
yuri 01ba132a62 field manager fix 2019-09-06 16:19:49 +03:00
yuri ac318bb302 Merge branch 'hotfix/5.6.12' 2019-09-06 15:21:57 +03:00
yuri 4b31173355 multi enum fix 2019-09-06 15:21:39 +03:00
yuri 34cd265fc1 afterRelate hook for link multiple save 2019-09-04 11:27:27 +03:00
yuri 22f19c0ac9 Merge branch 'hotfix/5.6.12' 2019-09-03 11:05:06 +03:00
yuri 93f8ef9daa Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-09-03 11:04:15 +03:00
Taras Machyshyn 81ffbc8e6d Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-09-02 18:18:40 +03:00
Taras Machyshyn 061dda1a1e Fixed index name issue 2019-09-02 18:18:30 +03:00
yuri c83a24794d hide console commands metadata 2019-09-02 14:52:44 +03:00
yuri 5ab6d25e82 fix dashboard fallback css 2019-09-02 10:31:19 +03:00
yuri 36aab22272 metadata loaders hidden 2019-09-02 10:27:08 +03:00
yuri a21d5dba9f fix detail nav buttons 2019-08-30 16:33:08 +03:00
yuri bb8e543509 preferences: hide smtp if email accoint is available 2019-08-30 16:01:31 +03:00
yuri b93112aaff group email accont refactoring 2019-08-30 15:44:25 +03:00
yuri c303ec9479 smtp send test fix 2019-08-30 14:04:39 +03:00
yuri 76f10fefa3 css fix 2019-08-30 12:42:44 +03:00
yuri becd564420 user calendar button icon 2019-08-30 12:41:29 +03:00
yuri c4f3c1dbd1 email account ui improvement 2019-08-30 12:36:41 +03:00
yuri f4d1b4a5b8 email account: smtp auth mechanism param 2019-08-30 12:22:01 +03:00
yuri 045264d95f formula tests 2019-08-29 12:49:57 +03:00
yuri 797fab769f Merge branch 'hotfix/5.6.12' 2019-08-29 10:46:42 +03:00
yuri 41d8605e17 fix typo 2019-08-29 10:41:56 +03:00
yuri 18bcaf7e6e Merge branch 'hotfix/5.6.12' 2019-08-28 16:59:30 +03:00
yuri 13a2ba47e7 fix wysiwyg 2019-08-28 16:58:33 +03:00
yuri 1ef60781a0 custom navbar view 2019-08-28 16:43:04 +03:00
yuri 64dfad8cc1 orm binary function 2019-08-28 16:14:25 +03:00
yuri 9862c6d960 list layout fix not sortable fields 2019-08-28 15:39:59 +03:00
yuri 1cfa5ce2b3 fix link multiple list overflow 2019-08-28 13:51:24 +03:00
yuri 4a09baef3a fix layout manager 2019-08-28 12:50:21 +03:00
yuri 5893243ae3 Merge branch 'hotfix/5.6.12' 2019-08-28 12:13:44 +03:00
yuri 4c598d19b5 link one empty filters 2019-08-28 12:13:27 +03:00
yuri dbc5a47d79 link one empty filters 2019-08-28 12:13:10 +03:00
yuri 0fda920610 acl portal changes and tests 2019-08-28 11:57:12 +03:00
yuri a6a6ce6722 fix layout 2019-08-28 10:37:23 +03:00
yuri 4db421a75f stream note changes 2019-08-27 17:09:32 +03:00
yuri 3f6cfe3749 stream notes created modified by 2019-08-27 17:00:09 +03:00
yuri ec9653ff48 fix typo 2019-08-27 15:51:09 +03:00
yuri 24c19f12e5 convert currency changes 2019-08-27 15:45:06 +03:00
yuri 172bba9de5 record service setUser 2019-08-27 15:27:56 +03:00
yuri 7d4227c98d Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-08-27 15:19:15 +03:00
yuri 4e64ebb346 record service setAcl 2019-08-27 15:18:56 +03:00
Taras Machyshyn 1102e9f1e8 Added support PHPUnit 8 2019-08-27 14:57:31 +03:00
yuri f5f16a7eb3 convert currency fixes 2019-08-27 12:28:51 +03:00
yuri 7901df4221 covnert currency all fields 2019-08-27 12:09:50 +03:00
yuri 41b114684e mass update currency stubs 2019-08-27 11:59:58 +03:00
yuri 03788be209 client field manager fix 2019-08-27 11:56:34 +03:00
yuri 685226c4d4 fix convert currency 2019-08-27 11:50:01 +03:00
yuri f8d9548ed5 convert currency detail view action and fixes 2019-08-27 11:40:03 +03:00
yuri 49798c8f7f convert currency fix 2019-08-27 10:56:56 +03:00
yuri ab4e85ea45 client field manager improvements 2019-08-27 10:56:44 +03:00
yuri 7d7d2d4276 convert currency fix 2019-08-27 10:28:34 +03:00
Taras Machyshyn 607ee9a080 Fix errors in a test 2019-08-26 17:13:33 +03:00
yuri 3f3b65ad90 revert 2019-08-23 16:42:22 +03:00
yuri 354866a809 fix convert currency 2019-08-23 16:41:14 +03:00
yuri 58cda4f31a convert currency mass action 2019-08-23 16:15:28 +03:00
yuri 454c388d10 grid layout highlight droppable 2019-08-23 14:53:10 +03:00
yuri e0125fa8f9 layout manager css load 2019-08-23 14:44:21 +03:00
yuri 540c594b1c loader fix 2019-08-23 14:44:09 +03:00
yuri 025ac8fe34 update bull js 2019-08-23 14:43:47 +03:00
yuri 6d18cac9a9 contact side panel layout 2019-08-23 13:33:37 +03:00
yuri f555ee9f9d side panel fields layout 2019-08-23 13:20:48 +03:00
yuri 5ac2e9b516 grid layout with 3 and 4 cells in row 2019-08-22 16:38:02 +03:00
yuri 2cc8c3710f not actual statuses 2019-08-22 13:09:17 +03:00
yuri 72d93cbae4 Merge branch 'hotfix/5.6.12' 2019-08-22 12:15:40 +03:00
yuri e30838cf27 link fields empty name fix 2019-08-22 12:10:08 +03:00
yuri 790355fb63 lead converted at 2019-08-22 11:46:46 +03:00
yuri 371fbf9864 email skip index if filter 2019-08-21 16:35:45 +03:00
yuri 6e157db23d fix preferences cancel 2019-08-21 15:26:22 +03:00
yuri 85c3d6c4e5 assignment notifications in preferences 2019-08-21 13:53:50 +03:00
yuri d947236bcc checklist field 2019-08-21 12:44:51 +03:00
yuri 98343cb099 Merge branch 'hotfix/5.6.12' 2019-08-21 12:44:27 +03:00
Taras Machyshyn e3ac8c3f67 Bug fixes for url params util 2019-08-20 13:58:37 +03:00
Taras Machyshyn 2087894c3a Added 'binary' option for a field 2019-08-19 17:21:00 +03:00
yuri 5c00a7ad43 fix email fitler duplicate 2019-08-19 11:44:25 +03:00
yuri fe0dcc5342 remove duplicate label 2019-08-19 11:24:34 +03:00
Taras Machyshyn f05381cc43 Corrected file permissions 2019-08-15 17:18:08 +03:00
yuri a9a30d7237 duplicate silent confict exception 2019-08-14 13:09:22 +03:00
yuri 5312c1d141 image original link 2019-08-14 12:07:51 +03:00
yuri a97d516c4f restrict common entity type name 2019-08-13 17:03:28 +03:00
Taras Machyshyn 16c24abb55 Integration tests: create database if not exists 2019-08-13 16:09:02 +03:00
Taras Machyshyn ed897e9b97 Util changes 2019-08-13 11:56:15 +03:00
Taras Machyshyn b4b222c1d7 Unit tests for sanitizeHtml() 2019-08-12 15:23:29 +03:00
yuri a68d711249 summernote fix fullscreen 2019-08-12 15:15:57 +03:00
Taras Machyshyn d6834f7f97 Installer changes 2019-08-12 14:53:11 +03:00
Taras Machyshyn 20818659e8 Installer changes 2019-08-12 14:49:25 +03:00
yuri 1c668ce983 signature toolbar 2019-08-12 11:39:59 +03:00
yuri a9dacd74c6 v 2019-08-12 10:56:29 +03:00
yuri b7c9ddc4e6 auth token secret fixes 2019-08-12 10:56:11 +03:00
yuri d5ee599f9f language fix 2019-08-12 10:25:12 +03:00
yuri 252d6bccd3 Merge branch 'stable' 2019-08-10 19:16:13 +03:00
yuri 742f4e21b5 comment out auth token secret 2019-08-10 19:11:03 +03:00
yuri 78fc80a619 v 2019-08-10 19:08:57 +03:00
yuri 5a30c6a229 Merge branch 'stable' 2019-08-09 15:26:37 +03:00
yuri e74fdce568 notifications lower case first 2019-08-09 15:17:16 +03:00
yuri 20139a88af email reply fix 2019-08-09 12:55:54 +03:00
yuri 3d1f632a73 fix lead capture 2019-08-09 12:29:00 +03:00
yuri 9e459e1287 escape error message 2019-08-09 12:22:10 +03:00
yuri 7b9cf6c039 wysiwyg fixes 2019-08-09 12:00:04 +03:00
yuri 1cebef107e dompurify target blank 2019-08-09 11:59:19 +03:00
yuri 47fe232c78 summernote css fixes 2019-08-09 11:31:32 +03:00
yuri 2c458a69a1 skipReRender and summernote fixes 2019-08-09 10:47:09 +03:00
yuri 54a290121e summernote fixes 2019-08-08 19:06:53 +03:00
yuri 11420dc0af summernote updates 2019-08-08 18:51:52 +03:00
yuri 957680a3d0 wysiwyg custom dialogs 2019-08-08 18:18:09 +03:00
yuri 3c6e19f4c0 wysiwyg codeviewFilter 2019-08-08 15:04:33 +03:00
yuri 4253915eed update summernote 2019-08-08 14:56:12 +03:00
yuri da34789020 remove not needed escaping 2019-08-08 13:10:53 +03:00
yuri cc057af59a filename escaping 2019-08-08 12:46:31 +03:00
yuri ebaa3ed958 Merge branch 'hotfix/5.6.10' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.10 2019-08-08 11:49:05 +03:00
yuri 307c045c0e css fixes 2019-08-08 11:44:24 +03:00
Taras Machyshyn 8e09b81cf0 Fix instalation warnings 2019-08-08 10:16:08 +03:00
yuri f40aeb0830 keep admin view on return 2019-08-07 14:31:42 +03:00
yuri 135b56001c admin icons 2019-08-07 12:38:54 +03:00
yuri cc97454c58 Merge branch 'hotfix/5.6.10' 2019-08-07 12:00:19 +03:00
yuri 9d3e3e282f more admin icons 2019-08-07 11:56:53 +03:00
yuri 1bcd54dfe1 wysiwyg dom purify for edit except pdf templates 2019-08-07 11:19:41 +03:00
yuri 727f3a4707 attachment entry point allow only image types 2019-08-07 10:49:28 +03:00
yuri d5473f9985 css fix 2019-08-06 17:54:39 +03:00
yuri 85c06f7ca3 admin icons 2019-08-06 17:42:41 +03:00
yuri 1d4d9882b6 portal users default order by date 2019-08-06 16:00:54 +03:00
yuri e633984f7e fix tests 2019-08-06 15:15:09 +03:00
yuri 2dabecbae3 acl strict mode by default 2019-08-06 14:59:55 +03:00
yuri 1a4e40d0cd login 2nd step send header 2019-08-06 13:56:19 +03:00
yuri 6ea5ed4f55 merge manual 2019-08-06 13:55:59 +03:00
yuri c0800a4d16 auth token secret 2019-08-06 13:37:34 +03:00
yuri 85c62c0789 dashlets wo scroll on small screen 2019-08-06 12:48:50 +03:00
yuri 551e82ad8b css fixes 2019-08-06 11:11:30 +03:00
yuri 7f4328499b task priority on activities dashlet 2019-08-06 11:05:29 +03:00
yuri de4d794d72 mention de_DE template 2019-08-06 10:31:28 +03:00
yuri e2e374301a escape string 2019-08-05 16:58:22 +03:00
yuri 7a919dedfd lead capture improvements 2019-08-05 16:47:12 +03:00
yuri 06c8cbac52 mail sender fix 2019-08-05 16:29:52 +03:00
yuri f54ad3ab0d lead capture dont log twice 2019-08-05 15:43:42 +03:00
yuri 197fb26beb campaign log filter 2019-08-05 15:30:32 +03:00
yuri 9e4582af17 langauge sanitize 2019-08-05 15:25:52 +03:00
yuri b399c4444d global restriction fix 2019-08-05 14:05:04 +03:00
yuri b7e9e69f35 confirm leave out backdrop 2019-08-05 10:27:49 +03:00
yuri 105b6444ed fix popovers 2019-08-02 17:16:16 +03:00
yuri 3559ff9f4e de lang fix 2019-08-02 16:54:04 +03:00
yuri 4be2962567 remove html from language 2019-08-02 16:46:48 +03:00
yuri 1cce748af5 fix test 2019-08-02 15:22:12 +03:00
yuri 64d3e3b5dd acl globalrestriction test 2019-08-02 15:18:47 +03:00
yuri 2e0233a239 task priority label 2019-08-02 15:07:26 +03:00
yuri 5b4bd88907 case priority label 2019-08-02 15:05:40 +03:00
yuri 6176ead935 GlobalRestricton cache fix 2019-08-02 14:12:07 +03:00
yuri 46ddf3b127 language fixes 2019-08-02 13:58:25 +03:00
yuri 2944e64de5 css fix 2019-08-02 12:23:44 +03:00
yuri 372cf20145 css fixes 2019-08-01 18:38:57 +03:00
yuri de68227d49 Merge branch 'hotfix/5.6.10' 2019-08-01 17:14:26 +03:00
yuri 633cc12650 css fixes 2019-08-01 16:51:39 +03:00
yuri 202d799436 header changes 2019-08-01 16:44:59 +03:00
yuri f14d12853b header grid auto fit 2019-08-01 16:13:49 +03:00
yuri a98f7f5068 lead capture optInDateTime placeholder 2019-08-01 13:55:47 +03:00
yuri ebe249bd6b mobile ui fixes 2019-08-01 12:31:04 +03:00
yuri 7957296479 fix 2019-07-31 16:48:08 +03:00
yuri b7eac5ba42 flexible titles 2019-07-31 16:43:54 +03:00
yuri 14cab0dbde dashboard changes 2019-07-31 15:26:41 +03:00
yuri 5db39d14e7 Merge branch 'hotfix/5.6.10' of github.com:espocrm/espocrm into hotfix/5.6.10 2019-07-31 13:06:49 +03:00
yuri cf473d6f16 ui improvements 2019-07-31 13:06:40 +03:00
Karthik Bhat K a082ea6acc added use Forbidden and removed unused class (#1372) 2019-07-31 09:06:47 +03:00
yuri f770074be2 v 2019-07-30 18:53:33 +03:00
yuri 106e7726ba xs view navbar improvements 2019-07-30 18:50:50 +03:00
yuri ed0ca19ed5 Merge branch 'hotfix/5.6.10' 2019-07-30 15:50:36 +03:00
yuri e680be54ad fix mapper 2019-07-30 14:58:56 +03:00
yuri 3224795368 sth collection fix 2019-07-30 13:41:09 +03:00
yuri ec5bd78a33 access modal backdrop 2019-07-30 12:43:36 +03:00
yuri d0c5d2aace lead capture hooks 2019-07-30 11:26:16 +03:00
yuri f8d0688f2f fix invalid json 2019-07-30 11:07:31 +03:00
yuri 2b2b2b9faa Merge branch 'hotfix/5.6.9' 2019-07-30 11:07:02 +03:00
yuri ed4ce1a36e user disable mass update emailAddress and unset password 2019-07-30 11:06:42 +03:00
yuri a6d7f91a58 disable inline edit for user type 2019-07-30 11:03:06 +03:00
yuri f6f6c2b2ac email signature fit height 2019-07-30 11:01:51 +03:00
yuri 8c628df639 fix typo 2019-07-30 10:59:06 +03:00
yuri ffd3f762ce xss fixes 2019-07-30 10:57:44 +03:00
yuri 24628a8487 returnSthCollection param 2019-07-29 17:56:15 +03:00
yuri 573d147dad v 2019-07-29 13:13:45 +03:00
yuri 4ab767e95b hook service factrory 2019-07-29 12:50:04 +03:00
yuri 18b64238ee fix list expanded overflow 2019-07-29 12:48:34 +03:00
yuri 65ded811b4 calendar height fix 2019-07-26 16:50:39 +03:00
yuri 57f454693a lead capture addition 2019-07-26 10:59:07 +03:00
yuri b6409b5cba panel list border top 2019-07-26 10:42:47 +03:00
yuri e6a83f7d19 reset button text 2019-07-26 10:35:16 +03:00
yuri c39e1d140f css flip class 2019-07-26 10:35:10 +03:00
yuri 1c69f1ca95 categories fix 2019-07-25 17:50:30 +03:00
yuri a21c071349 categories panel style change 2019-07-25 17:46:12 +03:00
yuri d8d8e68914 Merge branch 'stable' 2019-07-25 17:35:47 +03:00
yuri 741a6d5dab wysiwyg fixes 2019-07-25 16:25:18 +03:00
yuri 0c0a602330 list w categoties expand when text search 2019-07-25 13:06:30 +03:00
yuri 7d13018eba fix category expanding storing 2019-07-25 12:38:20 +03:00
yuri 44c65c0117 kb min body height in portal 2019-07-25 11:59:00 +03:00
yuri e9e758c4b3 v 2019-07-25 11:26:02 +03:00
yuri 7e7acb8d28 fix template comments stripped 2019-07-25 11:25:48 +03:00
yuri 4b28687c37 gMerge branch 'stable' 2019-07-24 16:27:31 +03:00
yuri 1ab897db28 fix email address field 2019-07-24 16:17:22 +03:00
yuri 1a990850ca add MMK currency 2019-07-24 16:05:37 +03:00
yuri 36e360e167 v 2019-07-24 15:49:55 +03:00
yuri 9ffdb1a1f0 title for some fields in list mode 2019-07-24 13:00:08 +03:00
yuri 64b15f9282 stream dont show create post for portal 2019-07-24 12:54:37 +03:00
yuri e8ebe51f1c note create acl 2019-07-24 12:53:03 +03:00
yuri ec2a7d2f48 fix no join name null 2019-07-24 12:25:24 +03:00
yuri 6782e7c15c dashboard fixes 2019-07-24 12:20:02 +03:00
yuri 3c73e3e8cf more string escaping 2019-07-24 12:04:24 +03:00
yuri 321306c42d Merge branch 'stable' 2019-07-23 18:22:53 +03:00
yuri 4ab7d19776 xss fixes 2019-07-23 17:50:02 +03:00
yuri 92864d9133 fix typo 2019-07-23 14:21:39 +03:00
yuri 34e33bd13a searchPanelInPortalDisabled 2019-07-23 13:29:01 +03:00
yuri 49fa22fa3d v 2019-07-23 11:37:07 +03:00
yuri 10fcd79155 portal home tab 2019-07-23 11:36:39 +03:00
yuri 00598170af fix user dashboard template 2019-07-22 18:33:44 +03:00
yuri ac5b2f38d4 portal user dashboard template 2019-07-22 18:29:21 +03:00
yuri 82d486a2b4 Merge branch 'hotfix/5.6.6' 2019-07-22 18:27:25 +03:00
yuri 6cdc8f2823 mass update for portal users 2019-07-22 15:07:40 +03:00
yuri d611ebfc86 cleanup try catch 2019-07-22 14:04:21 +03:00
yuri 599a7c6080 cleanup record service method 2019-07-22 13:53:02 +03:00
yuri 4c21f1192d email send: dont fail if attachment deleted 2019-07-22 13:00:25 +03:00
yuri 63e78baf21 fix orm join conditions 2019-07-22 12:46:14 +03:00
yuri fa2c689a34 email skip index when search by link 2019-07-19 17:37:05 +03:00
yuri a53b440b8b mass update hide not accessible fields 2019-07-19 17:13:30 +03:00
yuri 8189832af2 style option color 2019-07-19 17:07:58 +03:00
yuri 135f869e1a dynamic logix support currency 2019-07-19 13:12:18 +03:00
yuri 2d56525a25 fix autocomplete empty name 2019-07-19 12:57:48 +03:00
yuri 9e78276f3d Merge branch 'hotfix/5.6.5' 2019-07-18 17:23:53 +03:00
yuri 03773dd929 fix xss document file 2019-07-18 17:10:20 +03:00
yuri 5b8dba68f3 fix orm getAllAttributesFromComplexExpression 2019-07-18 16:55:55 +03:00
yuri f63c75e18d v 2019-07-18 16:37:09 +03:00
yuri 6dd0bd8b90 sanitize wysiwyg 2019-07-18 16:36:00 +03:00
yuri 94e86f875a lead capture changes 2019-07-18 13:43:35 +03:00
yuri b582b20003 array field improvement 2019-07-17 13:02:24 +03:00
yuri e58e82eea1 entry point dont log stop error 2019-07-17 12:14:11 +03:00
yuri dddc4feda8 image silent error not found 2019-07-17 12:13:52 +03:00
yuri a65421a268 pt br lang 2019-07-17 12:01:45 +03:00
yuri b6696dcc26 ru lang 2019-07-17 11:59:35 +03:00
yuri 4e3d8fb98f pl lang 2019-07-17 11:58:53 +03:00
yuri e0aaff932e nl lang 2019-07-17 11:58:08 +03:00
yuri bd61c12ea2 Merge branch 'stable' 2019-07-17 11:26:23 +03:00
yuri 17ea760851 layout fix 2019-07-16 17:55:57 +03:00
yuri f3d11aede3 disable inlide edit for email accounts 2019-07-16 14:23:56 +03:00
yuri 8053d65f33 dynamic logic in options 2019-07-16 11:00:48 +03:00
yuri 01809d2cc3 confirm focus 2019-07-16 10:47:21 +03:00
yuri ac8e3d1a69 fix portal base path 2019-07-16 10:41:47 +03:00
yuri b669ccf733 fix portal isCustom undefined 2019-07-16 10:22:26 +03:00
yuri 8c42c6bf0b fix bool opted out search 2019-07-16 10:17:06 +03:00
yuri 97bdd22795 sanitize complex text 2019-07-15 12:37:23 +03:00
yuri 0f3cd7913c link skip acl param 2019-07-11 16:54:49 +03:00
yuri 502cfc8d76 fix foreign enum 2019-07-11 10:40:52 +03:00
yuri 010f757452 totp fix input max length 2019-07-10 13:26:03 +03:00
yuri 4230f768e5 login form fix 2019-07-10 13:22:36 +03:00
yuri 4197f30ad5 frontendHiddenPathList in metadata 2019-07-10 12:27:13 +03:00
yuri b4eecbd0af fix 2fa 2019-07-10 12:14:24 +03:00
yuri 6560c0e0bd 2fa totp 2019-07-10 12:04:18 +03:00
yuri d31e826305 fix websocket 2019-07-08 16:18:22 +03:00
yuri a9f2fe8590 Merge branch 'hotfix/5.6.4' 2019-07-05 11:31:42 +03:00
yuri 28a62a2581 auth method list from metadata 2019-07-05 11:31:29 +03:00
yuri 0d4b548160 auth prepare for 2 factor 2019-07-04 16:44:41 +03:00
yuri 2240819930 Merge branch 'hotfix/5.6.4' 2019-07-04 14:39:09 +03:00
yuri deff6bad36 login page changes 2019-07-04 13:30:36 +03:00
yuri f2bc80b7d9 auth settings changes 2019-07-04 12:15:29 +03:00
yuri b5b5cac0ac calendar mode buttons improvement 2019-07-03 13:25:54 +03:00
yuri 308f30510b calendar css fixes 2019-07-03 11:51:35 +03:00
yuri 574513a9c8 fix navbar more scroll 2019-07-03 11:27:52 +03:00
yuri f37bc7d46b external account token renewal fix 2019-07-02 16:09:25 +03:00
yuri 9f5db434df fix attachment multiple 2019-07-02 15:54:41 +03:00
yuri 1c8abd6e36 mutliple attachment multiple fields 2019-07-02 15:46:10 +03:00
yuri c95fcd6fbd action configCheck 2019-07-01 16:31:02 +03:00
yuri e6009366e8 version 2019-07-01 12:47:27 +03:00
yuri 286502d872 cssList fix 2019-07-01 12:47:07 +03:00
yuri 0749bdc006 cs fix 2019-07-01 12:45:54 +03:00
yuri 72ef137dbe fix app js logout request url 2019-07-01 12:45:50 +03:00
yuri f624bdef5c settings global params 2019-07-01 12:30:44 +03:00
yuri 9730680e41 fix htmlizer 2019-07-01 10:30:23 +03:00
yuri 5d857f6a86 install css font weight fix 2019-06-27 12:21:52 +03:00
yuri 44947f8844 Merge branch 'hotfix/5.6.4' 2019-06-27 12:18:50 +03:00
yuri c59fa40615 log exception message line and file 2019-06-27 11:51:34 +03:00
yuri 4dc08dd37c custom login view 2019-06-27 11:34:35 +03:00
yuri e76c7564dc custom unsubscribe template 2019-06-27 11:05:44 +03:00
yuri 802bac82f0 fix create activity from panel 2019-06-26 16:37:58 +03:00
yuri 172af61b6b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-06-26 15:23:10 +03:00
yuri e6bdaa1c86 Merge branch 'stable' 2019-06-26 15:22:52 +03:00
yuri c64cc13e4c link additional select params 2019-06-26 12:06:30 +03:00
yuri 30be62eabe fix google maps 2019-06-26 10:37:16 +03:00
yuri 1c1703b349 fix pdf 2019-06-25 13:35:50 +03:00
yuri 6916f3242c external account after connect hook 2019-06-25 11:07:32 +03:00
yuri d2630a5c3f fix deleted user view 2019-06-24 14:25:52 +03:00
yuri 3e02776fcd email fixes 2019-06-24 13:29:45 +03:00
yuri 376bfe63e0 fix meeting set held 2019-06-20 16:33:09 +03:00
yuri 950a3b4703 calendar fix 2019-06-20 13:35:02 +03:00
yuri 2f5ffb7421 external acount acl 2019-06-18 13:32:18 +03:00
yuri 043ef8ef3e oauth client support header string 2019-06-13 16:30:10 +03:00
yuri a959a2deaf view followers all users 2019-06-12 15:33:08 +03:00
yuri 65a3f4e5f3 external account return uri path 2019-06-12 13:36:34 +03:00
yuri 97355ad024 fix redirect uri 2019-06-12 11:26:50 +03:00
yuri 99300d2d61 integration redirect uri custom 2019-06-12 11:24:11 +03:00
yuri e070d9d9f1 oauth-callback file 2019-06-12 11:11:43 +03:00
yuri 77a884c951 add field in modal 2019-06-10 15:54:28 +03:00
yuri 6a2974845a dashboard template append 2019-06-10 14:51:08 +03:00
yuri 0095cfd68c dashboard tab id 2019-06-10 13:36:25 +03:00
yuri 22f0e5b399 dashboard layout fix 2019-06-10 12:58:14 +03:00
yuri 1abc853bc5 dashboard templates 2019-06-10 12:37:35 +03:00
yuri 6f9dc66104 entity manager fetchEntity function 2019-06-10 12:37:23 +03:00
yuri d9094238c1 edit for modal 2019-06-10 12:14:23 +03:00
yuri 25ea320042 Merge branch 'hotfix/5.6.3' 2019-06-10 10:41:07 +03:00
yuri 8f9bb79978 button handler init 2019-06-07 16:37:02 +03:00
yuri 405a5c29df layout manager css fix 2019-06-07 14:24:20 +03:00
yuri 4f2a2b290b fix calendar custom event 2019-06-07 11:32:30 +03:00
yuri fd5218c10b btn-text color 2019-06-06 16:05:22 +03:00
yuri 73ab4aa42e meeting modal acceptance right 2019-06-06 13:16:48 +03:00
yuri 66a60b1257 timeline tpl change 2019-06-06 12:53:39 +03:00
yuri c975954944 stream page btn-text 2019-06-06 12:42:47 +03:00
yuri 86799ed742 btn-text normal weight 2019-06-06 12:41:34 +03:00
yuri 0c143eb8a1 Merge branch 'hotfix/5.6.3' 2019-06-06 11:45:40 +03:00
yuri 1da6eca3be update npm packages 2019-06-06 11:45:31 +03:00
yuri a462158582 category folder style fix 2019-06-05 16:22:35 +03:00
yuri 152b8991d3 email apply filters on sending 2019-06-05 14:15:36 +03:00
yuri 5adcf013d7 fix client manager 2019-06-05 12:56:02 +03:00
yuri 9d6401cbd3 fix iframe css 2019-06-05 12:49:49 +03:00
yuri 9f178bb467 next/prev fix on email remove to trash 2019-06-05 12:45:59 +03:00
yuri f3b2cc9bcb cleanup 2019-06-05 12:19:10 +03:00
yuri b18a8c1b2b fix 2019-06-05 12:15:42 +03:00
yuri 30dd7e560b search buttons narrow on small screen 2019-06-05 11:51:57 +03:00
yuri ca35a4df75 fix dashboard tpl 2019-06-05 11:46:01 +03:00
yuri fe0a6d1a8b map none label 2019-06-05 11:43:46 +03:00
yuri f9223087df xlsx export array 2019-06-05 11:26:46 +03:00
yuri f3980ef9a1 fix theme manager default css 2019-06-05 11:09:50 +03:00
yuri 93553d18fc fix job text filter 2019-06-05 11:05:05 +03:00
yuri e35561093d css fix 2019-05-20 16:37:43 +03:00
yuri b0742aa0c6 edit dashboard fix 2019-05-20 15:46:03 +03:00
yuri efad2b142a font fixes 2019-05-20 15:40:50 +03:00
yuri 362f895e72 client link crossorigin 2019-05-20 15:22:26 +03:00
yuri 224b73eb89 font fix 2019-05-20 15:00:48 +03:00
yuri c4cf45e7f8 fix preload font 2019-05-20 14:46:28 +03:00
yuri cb45e57a99 client link noTimestamp 2019-05-20 14:00:50 +03:00
yuri e7f62f79ef font swap 2019-05-20 13:56:21 +03:00
yuri 6fb21ccd77 client links 2019-05-20 13:51:05 +03:00
yuri f55d814cbb font display block 2019-05-20 13:50:58 +03:00
yuri 8fa22a6c7d css fix 2019-05-20 13:18:03 +03:00
yuri b86ca3a4ec stream popover fix 2019-05-20 12:19:54 +03:00
yuri ab51e70ff4 add dashlet style fix 2019-05-20 12:02:38 +03:00
yuri 0bde83c0e7 css fix 2019-05-20 11:49:04 +03:00
yuri 589754851c font update 2019-05-20 11:47:27 +03:00
yuri 253930ba6d btn-text fix 2019-05-20 10:40:46 +03:00
yuri 09c19bbba5 remove cancel buttons from 2 modals 2019-05-17 16:38:41 +03:00
yuri ac96ebffa5 btn-text 2019-05-17 16:10:26 +03:00
yuri f01715452f last viewed date short 2019-05-17 13:18:19 +03:00
yuri 875b01dcd6 lastViewed metadata scopes param 2019-05-17 13:16:07 +03:00
yuri 61def7e332 pdf currency symbol 2019-05-17 12:50:36 +03:00
yuri 86b24ff618 orm field type attribute role 2019-05-17 12:50:27 +03:00
yuri 1d29d74204 cs fix 2019-05-17 12:46:39 +03:00
yuri 2cf820e181 user activities fix and optimization 2019-05-16 16:53:09 +03:00
yuri bf8ab4dec2 account shipping address copy button hidden 2019-05-16 16:18:41 +03:00
yuri 7b772bde3c cs fix 2019-05-16 15:24:12 +03:00
Taras Machyshyn 16bad37dc5 Installer config improvements 2019-05-16 12:41:17 +03:00
Taras Machyshyn 76b8009323 Gruntfile: ignore installation config 2019-05-16 12:31:59 +03:00
yuri d67f806ec8 remove tabs 2019-05-16 12:21:38 +03:00
yuri 72bed367e4 webhooks 2019-05-16 12:19:42 +03:00
yuri fe2a4f91ee Merge branch 'hotfix/5.6.3' 2019-05-16 12:19:18 +03:00
Taras Machyshyn 471dd1ab49 Added config file for installation 2019-05-16 11:56:43 +03:00
Taras Machyshyn 8efc395ca1 FileManager fix 2019-05-15 15:54:01 +03:00
yuri dfbad82ba8 version 2019-05-15 14:34:11 +03:00
yuri 84938d88fc fix cleanup deleted records 2019-05-15 14:24:44 +03:00
yuri ed5f66729d date time getSystemNowString 2019-05-14 16:49:47 +03:00
yuri ee5218c46d orm entity id is changed fix 2019-05-14 15:48:27 +03:00
yuri 6758d71e2e lead capture skip email address is opted out field 2019-05-13 15:11:58 +03:00
yuri 1eec3d88cf integration test auth method 2019-05-13 12:31:49 +03:00
yuri 34f1c196f1 fix command upgrade msg 2019-05-13 10:43:59 +03:00
yuri a87e2fb5db css fix 2019-05-13 10:25:57 +03:00
yuri cecafa5e28 diff only one version from 2019-05-10 16:25:54 +03:00
yuri a0e5f2d8ec cleanup 2019-05-10 16:06:58 +03:00
yuri 47080f9b78 search view changes 2019-05-10 16:06:41 +03:00
yuri 07fa53d0c2 Merge branch 'hotfix/5.6.2' 2019-05-10 15:04:36 +03:00
yuri dd15767263 email is replied for expanded list 2019-05-10 13:37:28 +03:00
yuri a698085196 list expanded changes 2019-05-10 12:48:06 +03:00
yuri 2d4e1a94a4 add dashlet modal change 2019-05-10 12:02:28 +03:00
yuri dad49b9ac8 create button icon 2019-05-10 11:57:54 +03:00
yuri c5c1abaeff Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-10 11:35:12 +03:00
yuri eb4f933753 css list margin on wide screen 2019-05-10 11:34:49 +03:00
yuri 931f27cb70 css fix 2019-05-10 11:10:22 +03:00
Taras Machyshyn e6e00d4c7f Bug fixes 2019-05-10 11:05:57 +03:00
yuri 3cf48129c6 css layout centered 2019-05-10 11:04:45 +03:00
yuri b50bf02e90 updgrate info text 2019-05-09 17:36:02 +03:00
yuri 431e3428b3 fix wysiwyg stripping event handlers 2019-05-09 16:01:25 +03:00
yuri 6d2e056b10 email import not fetched text 2019-05-09 15:24:56 +03:00
yuri 1cbfacc864 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 12:53:59 +03:00
Taras Machyshyn f2b51d321f Fix 2019-05-09 12:53:32 +03:00
yuri 0fe0b8906c Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 11:41:26 +03:00
Taras Machyshyn 0876f03fe4 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 11:41:08 +03:00
yuri dd239af810 orm metadata index 2019-05-09 11:40:01 +03:00
Taras Machyshyn 5f2fae940c Added index key for ORM metadata 2019-05-09 10:52:55 +03:00
Taras Machyshyn 02f94875b1 Added defined index names 2019-05-09 10:27:39 +03:00
yuri 52536f9803 record service fix 2019-05-08 15:15:50 +03:00
yuri 7f963bd9f3 pass model to view after create 2019-05-08 12:21:28 +03:00
yuri fcfbd478ca cleanup 2019-05-08 12:15:10 +03:00
yuri d7164dd588 duplicateDisabled param 2019-05-08 11:51:29 +03:00
yuri d20b2768e1 service create load additional fields 2019-05-08 11:46:59 +03:00
yuri 68301c52c1 logger cleanup 2019-05-08 11:31:35 +03:00
yuri 57aa9fa817 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-08 11:13:59 +03:00
Taras Machyshyn 910291796b Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-08 11:13:01 +03:00
Taras Machyshyn e4a661721f Added setLevel() for logger 2019-05-08 11:08:48 +03:00
yuri 4068a20b8e cleanup 2019-05-08 11:08:38 +03:00
yuri c3be6db4f3 log changes 2019-05-07 18:28:57 +03:00
yuri 80678c97f0 field removal reload metadata 2019-05-07 16:07:57 +03:00
yuri 711d20f874 typo fixes 2019-05-07 14:53:08 +03:00
yuri 7f299e1aa2 email created by id index 2019-05-07 11:58:59 +03:00
yuri ab612a3f32 event entity duration on list view fix 2019-05-07 10:57:56 +03:00
yuri c0c244adc6 email select manager fix 2019-05-06 11:46:57 +03:00
yuri 46a985076e email from name caching 2019-05-03 16:41:09 +03:00
yuri 7f82fab69b email abort xht on select folder 2019-05-03 16:09:20 +03:00
yuri 12ed1b3383 email reset collection on folder change 2019-05-03 16:03:29 +03:00
yuri eab279dd12 email draft optimization 2019-05-03 15:46:59 +03:00
yuri e59a927faa email index skip 2019-05-03 15:25:42 +03:00
yuri 1c1cb13c4d fix select manager 2019-05-03 15:25:31 +03:00
yuri 45a37eabe2 orm use index optimization 2019-05-03 15:12:57 +03:00
yuri bbe6d81aa2 Merge branch 'hotfix/5.6.2' of github.com:espocrm/espocrm into hotfix/5.6.2 2019-05-03 13:12:41 +03:00
Eymen Elkum 5d19b1bb72 fix additional css script (#1304) 2019-05-03 13:12:22 +03:00
yuri 866f05fea5 orm agragate wo joins 2019-05-03 12:55:34 +03:00
yuri bd22554756 link parent display entity type 2019-05-03 12:20:38 +03:00
yuri 703e170773 cleanup orphan attachments change 2019-05-03 11:55:49 +03:00
yuri 698f70a358 Merge branch 'hotfix/5.6.2' 2019-05-03 11:23:12 +03:00
yuri a226242e69 update package.json 2019-05-03 11:22:31 +03:00
yuri 1438f8aa10 add created at fields 2019-05-03 11:09:12 +03:00
yuri 79564bab81 fix cleanup 2019-05-03 11:09:04 +03:00
yuri 5c7dd0b536 fix stream after remove 2019-05-03 11:08:30 +03:00
yuri 7e340b8b78 fix client field manager 2019-05-02 17:50:32 +03:00
yuri a026dc577c diff fix 2019-05-02 16:14:42 +03:00
yuri ed6c56629e css fix 2019-05-02 15:38:42 +03:00
yuri 97574707e5 wysiwyg strip all event handlers 2019-05-02 10:50:47 +03:00
yuri 3170571cb9 Merge branch 'hotfix/5.6.2' 2019-05-01 12:40:28 +03:00
yuri 942726eb74 diff fix 2019-05-01 12:17:11 +03:00
yuri e1eb3f804e op admin stage probability 50 by default 2019-05-01 11:53:36 +03:00
yuri 2133a1390c bad request error msg 2019-05-01 11:48:23 +03:00
yuri 7fab959a2f Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-01 11:36:53 +03:00
yuri 88f64ab82f admin jobs link 2019-05-01 11:36:39 +03:00
Taras Machyshyn 1563d63051 Added params for an extension script 2019-05-01 11:33:04 +03:00
yuri 82026658e2 fix colors 2019-05-01 11:05:52 +03:00
yuri 26eec19a62 chart gray color 2019-05-01 11:01:11 +03:00
yuri f548db2783 fix export 2019-05-01 10:43:18 +03:00
yuri 2da689e7e9 scope exportFormatList 2019-05-01 10:38:39 +03:00
yuri 8afb4804c3 orm sanitizeSelectAlias fix 2019-05-01 10:33:45 +03:00
yuri 56b8902969 orm fix week number 2019-05-01 10:31:01 +03:00
yuri 95cee6c845 email service get entity fix 2019-05-01 10:15:50 +03:00
yuri dc58bcbd91 cleanup 2019-04-30 11:18:37 +03:00
yuri 8d3698e6a3 cleanup 2019-04-30 11:17:43 +03:00
yuri c04526dc11 extension list layout fix 2019-04-30 11:17:05 +03:00
yuri 6a0d622344 event invitation smtp params fix 2019-04-30 11:13:35 +03:00
yuri 74797e0768 css fix 2019-04-30 11:09:41 +03:00
yuri 6fd0851dc9 fix dashboard 2019-04-30 11:00:26 +03:00
yuri 41e2773781 fix dashlet aftet adding 2019-04-30 10:58:50 +03:00
yuri bf03412bf0 dashlet after adding 2019-04-30 10:49:44 +03:00
yuri 6b25aa1274 flotr fix 2019-04-26 13:50:03 +03:00
yuri 634acdd770 fix tasks meeting date filter 2019-04-25 15:26:07 +03:00
yuri f2f01adfc9 phone number is opted out attribute 2019-04-25 12:26:07 +03:00
yuri 9cd2d1d21f import default phone number 2019-04-25 12:14:42 +03:00
yuri fa144847e5 ability to import multiple email addresses 2019-04-25 11:55:03 +03:00
yuri 17138f715b controller before action usage 2019-04-24 15:36:49 +03:00
yuri 0babd05bff record service filter create update input methods 2019-04-24 13:35:47 +03:00
yuri c5f14e55c5 record service validation order fix 2019-04-24 13:26:11 +03:00
yuri e48c067b05 Merge branch 'hotfix/5.6.2' 2019-04-24 11:58:12 +03:00
yuri 03918c8ada charts si mul 2019-04-24 11:37:03 +03:00
yuri 80c7008a6c chart fixes 2019-04-24 11:02:02 +03:00
yuri 3d143cd3f0 fix notification badge overlapping 2019-04-23 17:00:32 +03:00
Pomazan Bogdan 365264b393 Правка перевода, логически не подходит (#1298) 2019-04-23 13:39:17 +03:00
Pomazan Bogdan 492670eb7d Правка перевода, логически не подходит (#1298) 2019-04-23 12:44:23 +03:00
yuri 3b4aea4966 email address rep change 2019-04-23 12:02:10 +03:00
yuri cb77bc9085 list changes 2019-04-23 12:00:04 +03:00
yuri 691aff990b css fix 2019-04-22 15:35:45 +03:00
yuri 0f6ca667d9 vi lang 2019-04-22 13:57:59 +03:00
yuri ba41229a83 tr lang 2019-04-22 13:57:19 +03:00
yuri 7c9d28098b es_mx lang 2019-04-22 13:56:44 +03:00
yuri eccf9e4d85 nl lang 2019-04-22 13:55:53 +03:00
yuri 96dffc0b74 it lang 2019-04-22 13:55:06 +03:00
yuri 308d0bfc0c hr lang 2019-04-22 13:54:27 +03:00
yuri f9dcf2db7d orm order by complex expression 2019-04-22 12:13:07 +03:00
yuri 88798f2b86 orm foreign select for foreign fields 2019-04-19 17:26:50 +03:00
yuri 28ecdc46b6 upgrade text 2019-04-19 13:48:39 +03:00
yuri 6a30031f49 css addition 2019-04-17 13:26:24 +03:00
yuri d4f23e391f cleanup 2019-04-16 16:05:26 +03:00
yuri 79b7463886 additional css 2019-04-16 16:04:06 +03:00
Yurii Kondratskyi eddae25d7f fix get acl level method (#1294) 2019-04-16 11:08:53 +03:00
Taras Machyshyn 5e9c85fc06 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-04-12 14:34:29 +03:00
Taras Machyshyn b44adb34ec Metadata changes 2019-04-12 14:34:09 +03:00
yuri f0f6cac84a fix; php clear_cache.php 2019-04-12 13:25:08 +03:00
yuri 17e87f58c3 css fix 2019-04-11 16:30:41 +03:00
yuri 273698e2fc imap hander case insensitive 2019-04-11 11:46:16 +03:00
yuri 66f88e0e8e fix email address smtp apply case insesitive 2019-04-11 11:44:01 +03:00
yuri de945008fb fix email send 2019-04-10 16:32:29 +03:00
yuri 5f91505b8e fix typo 2019-04-10 14:49:16 +03:00
yuri 6a25c283ec upgrade info msg 2019-04-10 13:45:02 +03:00
yuri 74fa9289a7 lead capture enhancements 2019-04-10 13:13:35 +03:00
yuri ab4b975912 version 2019-04-10 11:59:38 +03:00
yuri 2260089301 upgrade message 2019-04-10 11:57:22 +03:00
yuri 9dd35f1e32 opp empty probability for stages 2019-04-10 11:45:47 +03:00
3771 changed files with 150990 additions and 56408 deletions
+11
View File
@@ -0,0 +1,11 @@
* text=auto
*.php text eol=crlf
*.js text eol=crlf
*.json text eol=crlf
*.md text eol=crlf
*.less text eol=crlf
*.css text eol=crlf
*.tpl text eol=crlf
*.html text eol=crlf
*.png binary
+7 -4
View File
@@ -4,15 +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/
/custom/Espo/Custom/*
.phpunit.result.cache
/composer.phar
/vendor/
/custom/Espo/Custom/*
/install/config.php
+3 -7
View File
@@ -9,13 +9,9 @@ DirectoryIndex index.php index.html
# PROTECTED DIRECTORIES
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^/?(data|api|client)/ - [F]
RewriteRule ^/?(api|client)/ - [F]
RewriteRule ^/?data/config\.php$ - [F]
RewriteRule ^/?data/logs/ - [F]
RewriteRule ^/?data/cache/ - [F]
RewriteRule ^/?data/upload/ - [F]
RewriteRule ^/?data/\.backup/ - [F]
RewriteRule ^/?data/ - [F]
RewriteRule ^/?application/ - [F]
RewriteRule ^/?custom/ - [F]
RewriteRule ^/?vendor/ - [F]
@@ -24,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>
+10 -2
View File
@@ -2,8 +2,16 @@
Before we can merge your pull request you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
See [Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
Branches:
* *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.
When reporting a possible bug please provide detail steps so that we will be able to reproduce the issue. Please try not to use phrases like "very big bug", "huge issue", etc. No need to use exclamation marks as well.
Note that we don't provide developer help or any kind of support on Github. Please use our [forum](https://forum.espocrm.com) for this.
+143 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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']
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,10 +212,12 @@ module.exports = function (grunt) {
'daemon.php',
'rebuild.php',
'clear_cache.php',
'preload.php',
'upgrade.php',
'extension.php',
'websocket.php',
'command.php',
'oauth-callback.php',
'index.php',
'LICENSE.txt',
'.htaccess',
@@ -206,9 +234,6 @@ module.exports = function (grunt) {
},
},
chmod: {
options: {
mode: '755'
},
php: {
options: {
mode: '644'
@@ -237,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: {
@@ -251,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 ./tests/unit", {stdio: 'inherit'});
});
grunt.registerTask("integration-tests-run", function() {
cp.execSync("vendor/bin/phpunit ./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');
@@ -277,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',
@@ -292,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.5.3 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,5 +29,9 @@
require_once('../../bootstrap.php');
$app = new \Espo\Core\Application();
$app->run();
use Espo\Core\{
Application,
ApplicationRunners\Api,
};
(new Application())->run(Api::class);
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,11 +29,15 @@
require_once('../../../bootstrap.php');
use Espo\Core\{
Portal\Application,
Portal\ApplicationRunners\Api,
};
if (!empty($_GET['portalId'])) {
$portalId = $_GET['portalId'];
} else {
$portalId = explode('/', $_SERVER['REQUEST_URI'])[count(explode('/', $_SERVER['SCRIPT_NAME'])) - 1];
}
$app = new \Espo\Core\Portal\Application($portalId);
$app->run();
(new Application($portalId))->run(Api::class);
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,14 +29,13 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class ActionHistoryRecord extends \Espo\Core\Acl\Base
class ActionHistoryRecord extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $entity->get('userId') === $user->id;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Attachment extends \Espo\Core\Acl\Base
class Attachment extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
@@ -90,4 +90,3 @@ class Attachment extends \Espo\Core\Acl\Base
return false;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Email extends \Espo\Core\Acl\Base
class Email extends \Espo\Core\Acl\Acl
{
protected $ownerUserIdAttribute = 'usersIds';
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class EmailAddress extends \Espo\Core\Acl\Base
class EmailAddress extends \Espo\Core\Acl\Acl
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
@@ -62,4 +62,3 @@ class EmailAddress extends \Espo\Core\Acl\Base
return !$isFobidden;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class EmailFilter extends \Espo\Core\Acl\Base
class EmailFilter extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
@@ -53,4 +53,3 @@ class EmailFilter extends \Espo\Core\Acl\Base
return;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,12 +29,11 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Import extends \Espo\Core\Acl\Base
class Import extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
+19 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Note extends \Espo\Core\Acl\Base
class Note extends \Espo\Core\Acl\Acl
{
protected $deleteThresholdPeriod = '1 month';
@@ -46,6 +46,21 @@ class Note extends \Espo\Core\Acl\Base
return false;
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('parentId') && $entity->get('parentType')) {
$parent = $this->getEntityManager()->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parent) {
if ($this->getAclManager()->checkEntity($user, $parent, 'stream')) {
return true;
}
}
return false;
}
return true;
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) {
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Notification extends \Espo\Core\Acl\Base
class Notification extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
@@ -42,4 +42,3 @@ class Notification extends \Espo\Core\Acl\Base
return false;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class PhoneNumber extends \Espo\Core\Acl\Base
class PhoneNumber extends \Espo\Core\Acl\Acl
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,10 @@
namespace Espo\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class ScheduledJob extends \Espo\Core\Acl\Base
class ScheduledJob extends \Espo\Core\Acl\Acl
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
@@ -58,4 +58,3 @@ class ScheduledJob extends \Espo\Core\Acl\Base
return $this->checkEntity($user, $entity, $data, 'create');
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,13 +29,15 @@
namespace Espo\Acl;
use \Espo\ORM\Entity;
use Espo\ORM\Entity;
class Team extends \Espo\Core\Acl\Base
use Espo\Entities\User as UserEntity;
class Team extends \Espo\Core\Acl\Acl
{
public function checkInTeam(\Espo\Entities\User $user, Entity $entity)
public function checkInTeam(UserEntity $user, Entity $entity)
{
$userTeamIdList = $user->getLinkMultipleIdList('teams');
return in_array($entity->id, $userTeamIdList);
}
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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()) {
+73
View File
@@ -0,0 +1,73 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Acl;
use Espo\Entities\User as EntityUser;
use Espo\ORM\Entity;
class Webhook extends \Espo\Core\Acl\Acl
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $user->id === $entity->get('userId') && $user->isApi();
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
+23 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -41,5 +41,26 @@ class Note extends \Espo\Core\AclPortal\Base
}
return false;
}
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('type') !== 'Post') return false;
if ($entity->get('type') === 'Post' && $entity->get('targetType')) {
return false;
}
if (!$entity->get('parentId') || !$entity->get('parentType')) {
return false;
}
$parent = $this->getEntityManager()->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parent) {
if ($this->getAclManager()->checkEntity($user, $parent, 'stream')) {
return true;
}
}
return false;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter1 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($city) {
$result .= $city;
}
if ($state && $city) {
$result .= ', ';
}
if ($state) {
$result .= $state;
}
if ($postalCode && ($state || $city)) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
}
if ($country) {
if ($result) {
$result .= "\n";
}
$result .= $country;
}
return $result;
}
}
@@ -0,0 +1,91 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter2 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($postalCode) {
$result .= $postalCode;
}
if ($postalCode && $city) {
$result .= ' ';
}
if ($city) {
$result .= $city;
}
}
if ($state || $country) {
if ($result) {
$result .= "\n";
}
if ($state) {
$result .= $state;
}
if ($state && $country) {
$result .= ' ';
}
if ($country) {
$result .= $country;
}
}
return $result;
}
}
@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter3 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($country) {
$result .= $country;
}
if ($city || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($state) {
$result .= $state;
}
if ($state && $postalCode) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
if ($city && ($state || $postalCode)) {
$result .= ' ';
}
if ($city) {
$result .= $city;
}
}
if ($street) {
if ($result) {
$result .= "\n";
}
$result .= $street;
}
return $result;
}
}
@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\FieldUtils\Address\{
AddressFormatter,
AddressValue,
};
class Formatter4 implements AddressFormatter
{
public function format(AddressValue $address) : string
{
$result = '';
$street = $address->getStreet();
$city = $address->getCity();
$country = $address->getCountry();
$state = $address->getState();
$postalCode = $address->getPostalCode();
if ($street) {
$result .= $street;
}
if ($city) {
if ($result) {
$result .= "\n";
}
$result .= $city;
}
if ($country || $state || $postalCode) {
if ($result) {
$result .= "\n";
}
if ($country) {
$result .= $country;
}
if ($state && $country) {
$result .= ' - ';
}
if ($state) {
$result .= $state;
}
if ($postalCode && ($state || $country)) {
$result .= ' ';
}
if ($postalCode) {
$result .= $postalCode;
}
}
return $result;
}
}
@@ -0,0 +1,121 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Utils\File\Manager as FileManager,
Utils\Module,
Binding\EspoBindingLoader,
Binding\Binding as BindingItem,
};
class Binding
{
protected $fileManager;
public function __construct(FileManager $fileManager)
{
$this->fileManager = $fileManager;
}
public function process(array $options, array $flagList) : ?string
{
$result = '';
$bindingLoader = new EspoBindingLoader(
new Module($this->fileManager)
);
$data = $bindingLoader->load();
$keyList = $data->getGlobalKeyList();
$result .= "Global:\n\n";
foreach ($keyList as $key) {
$result .= $this->printItem($key, $data->getGlobal($key));
}
$contextList = $data->getContextList();
foreach ($contextList as $context) {
$result .= "Context: {$context}\n\n";
$keyList = $data->getContextKeyList($context);
foreach ($keyList as $key) {
$result .= $this->printItem($key, $data->getContext($context, $key), true);
}
}
return $result;
}
private function printItem(string $key, BindingItem $binding) : string
{
$result = '';
$tab = ' ';
$result .= $tab . "Key: {$key}\n";
$type = $binding->getType();
$value = $binding->getValue();
$typeString = [
BindingItem::IMPLEMENTATION_CLASS_NAME => 'Implementation',
BindingItem::CONTAINER_SERVICE => 'Service',
BindingItem::VALUE => 'Value',
BindingItem::CALLBACK => 'Callback',
][$type];
$result .= $tab . "Type: {$typeString}\n";
if ($type == BindingItem::IMPLEMENTATION_CLASS_NAME || $type == BindingItem::CONTAINER_SERVICE) {
$result .= $tab . "Value: {$value}\n";
}
if ($type == BindingItem::VALUE) {
if (is_string($value) || is_int($value) || is_float($value)) {
$result .= $tab . "Value: {$value}\n";
}
if (is_bool($value)) {
$valueString = $value ? 'true' : 'false';
$result .= $tab . "Value: {$valueString}\n";
}
}
$result .= "\n";
return $result;
}
}
@@ -0,0 +1,107 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Container as ContainerService,
Utils\Metadata,
};
class Container
{
protected $container;
protected $metadata;
public function __construct(ContainerService $container, Metadata $metadata)
{
$this->container = $container;
$this->metadata = $metadata;
}
public function process(array $options, array $flagList) : ?string
{
$nameOnly = in_array('nameOnly', $flagList);
$result = '';
$serviceList = [
'injectableFactory',
'config',
'log',
'fileManager',
'dataManager',
'metadata',
'user',
];
$fileList = scandir('application/Espo/Core/Loaders');
if (file_exists('custom/Espo/Custom/Core/Loaders')) {
$fileList = array_merge($fileList, scandir('custom/Espo/Custom/Core/Loaders'));
}
foreach ($fileList as $file) {
if (substr($file, -4) === '.php') {
$name = lcfirst(substr($file, 0, -4));
if (!in_array($name, $serviceList) && $this->container->has($name)) {
$serviceList[] = $name;
}
}
}
foreach ($this->metadata->get(['app', 'containerServices']) ?? [] as $name => $data) {
if (!in_array($name, $serviceList)) {
$serviceList[] = $name;
}
}
sort($serviceList);
if ($nameOnly) {
foreach ($serviceList as $name) {
$result .= $name . "\n";
}
return $result;
}
foreach ($serviceList as $name) {
$result .= $name . "\n";
$obj = $this->container->get($name);
$result .= get_class($obj) . "\n";
$result .= "\n";
}
return $result;
}
}
@@ -0,0 +1,78 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii 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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\{
ServiceFactory,
Console\Commands\Command,
};
use Throwable;
class Import implements Command
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function run(array $options, array $flagList)
{
$id = $options['id'] ?? null;
$filePath = $options['file'] ?? null;
$paramsId = $options['paramsId'] ?? null;
$service = $this->serviceFactory->create('Import');
$forceResume = in_array('resume', $flagList);
$revert = in_array('revert', $flagList);
if (!$id && $filePath) {
if (!$paramsId) {
$this->out("You need to specify --params-id option.\n");
return;
}
if (!file_exists($filePath)) {
$this->out("File not found.\n");
return;
}
$contents = file_get_contents($filePath);
try {
$result = $service->importFileWithParamsId($contents, $paramsId);
$resultId = $result->id;
$countCreated = $result->countCreated;
$countUpdated = $result->countUpdated;
}
catch (Throwable $e) {
$this->out("Error occured: ".$e->getMessage()."\n");
return;
}
$this->out("Finished. Import ID: {$resultId}. Created: {$countCreated}. Updated: {$countUpdated}.\n");
return;
}
if ($id && $revert) {
$this->out("Reverting import...\n");
try {
$service->revert($id);
}
catch (Throwable $e) {
$this->out("Error occured: " . $e->getMessage() . "\n");
return;
}
$this->out("Finished.\n");
return;
}
if ($id) {
$this->out("Running import, this may take a while...\n");
try {
$result = $service->importById($id, true, $forceResume);
}
catch (Throwable $e) {
$this->out("Error occured: " . $e->getMessage() . "\n");
return;
}
$countCreated = $result->countCreated;
$countUpdated = $result->countUpdated;
$this->out("Finished. Created: {$countCreated}. Updated: {$countUpdated}.\n");
return;
}
$this->out("Not enough params passed.\n");
return;
}
protected function out($string)
{
fwrite(\STDOUT, $string);
}
}
@@ -0,0 +1,69 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DefaultLayouts;
use Espo\Core\Utils\Metadata;
class DefaultSidePanelType
{
protected $metadata;
public function __construct(Metadata $metadata)
{
$this->metadata = $metadata;
}
public function get(string $scope) : array
{
$list = [];
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUser', 'type']) === 'link'
&&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUser', 'entity']) === 'User'
||
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUsers', 'type']) === 'linkMultiple'
&&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUsers', 'entity']) === 'User'
) {
$list[] = (object) ['name' => ':assignedUser'];
}
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'teams', 'type']) === 'linkMultiple'
&&
$this->metadata->get(['entityDefs', $scope, 'links', 'teams', 'entity']) === 'Team'
) {
$list[] = (object) ['name' => 'teams'];
}
return $list;
}
}
@@ -0,0 +1,35 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class ArrayType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMaxCount(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMaxCount(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
$list = $entity->get($field);
@@ -44,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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,33 +27,33 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use \Espo\ORM\Entity;
use Espo\ORM\Entity;
use Espo\Core\{
Utils\Metadata,
Utils\FieldUtil,
};
class BaseType
{
private $metadata;
private $fieldManagerUtil;
protected $metadata;
protected $fieldUtil;
public function __construct(\Espo\Core\Utils\Metadata $metadata, \Espo\Core\Utils\FieldManagerUtil $fieldManagerUtil)
public function __construct(Metadata $metadata, FieldUtil $fieldUtil)
{
$this->metadata = $metadata;
$this->fieldManagerUtil = $fieldManagerUtil;
$this->fieldUtil = $fieldUtil;
}
protected function getActualAttributeList(Entity $entity, string $field) : array
{
return $this->getFieldManagerUtil()->getActualAttributeList($entity->getEntityType(), $field);
return $this->fieldUtil->getActualAttributeList($entity->getEntityType(), $field);
}
protected function getMetadata() : \Espo\Core\Utils\Metadata
protected function getMetadata() : Metadata
{
return $this->metadata;
}
protected function getFieldManagerUtil() : \Espo\Core\Utils\FieldManagerUtil
{
return $this->fieldManagerUtil;
}
}
@@ -0,0 +1,35 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class CurrencyType extends FloatType
{
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return
$entity->has($field) && $entity->get($field) !== null &&
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class DateType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class DatetimeOptionalType extends DatetimeType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
if ($entity->has($field) && $entity->get($field) !== null) return true;
if ($entity->has($field . 'Date') && $entity->get($field . 'Date') !== null) return true;
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class DatetimeType extends DateType
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class EmailType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) return true;
@@ -45,7 +47,7 @@ class EmailType extends BaseType
return false;
}
public function checkEmailAddress(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkEmailAddress(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) {
$address = $entity->get($field);
@@ -68,7 +70,7 @@ class EmailType extends BaseType
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class EnumType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class FileType extends LinkType
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class FloatType extends IntType
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class ImageType extends FileType
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,30 +27,32 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class IntType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMax(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMax(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
if ($entity->get($field) > $validationValue) return false;
return true;
}
public function checkMin(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMin(Entity $entity, string $field, $validationValue, $data) : bool
{
if (!$this->isNotEmpty($entity, $field)) return true;
if ($entity->get($field) < $validationValue) return false;
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== null;
}
@@ -0,0 +1,51 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkMultipleType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return count($entity->getLinkMultipleIdList($field)) > 0;
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkParentType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$idAttribute = $field . 'Id';
$typeAttribute = $field . 'Type';
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class LinkType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$idAttribute = $field . 'Id';
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
class MultiEnumType extends ArrayType
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class PersonNameType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
$isEmpty = true;
foreach ($this->getActualAttributeList($entity, $field) as $attribute) {
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,11 +27,13 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class PhoneType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) return true;
@@ -45,7 +47,7 @@ class PhoneType extends BaseType
return false;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -27,16 +27,18 @@
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\FieldValidators;
namespace Espo\Classes\FieldValidators;
use Espo\ORM\Entity;
class VarcharType extends BaseType
{
public function checkRequired(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkRequired(Entity $entity, string $field, $validationValue, $data) : bool
{
return $this->isNotEmpty($entity, $field);
}
public function checkMaxLength(\Espo\ORM\Entity $entity, string $field, $validationValue, $data) : bool
public function checkMaxLength(Entity $entity, string $field, $validationValue, $data) : bool
{
if ($this->isNotEmpty($entity, $field)) {
$value = $entity->get($field);
@@ -47,7 +49,7 @@ class VarcharType extends BaseType
return true;
}
protected function isNotEmpty(\Espo\ORM\Entity $entity, $field)
protected function isNotEmpty(Entity $entity, $field)
{
return $entity->has($field) && $entity->get($field) !== '' && $entity->get($field) !== null;
}
@@ -0,0 +1,192 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\TemplateHelpers;
class GoogleMaps
{
public static function image()
{
$args = func_get_args();
$context = $args[count($args) - 1];
$hash = $context['hash'];
$data = $context['data']['root'];
$em = $data['__entityManager'];
$metadata = $data['__metadata'];
$config = $data['__config'];
$entityType = $data['__entityType'];
$field = $hash['field'] ?? null;
$size = $hash['size'] ?? '400x400';
$zoom = $hash['zoom'] ?? null;
$language = $hash['language'] ?? $config->get('language');
if (strpos($size, 'x') === false) {
$size = $size .'x' . $size;
}
if ($field && $metadata->get(['entityDefs', $entityType, 'fields', $field, 'type']) !== 'address') {
$GLOBALS['log']->warning("Template helper _googleMapsImage: Specified field is not of address type.");
return null;
}
if (
!$field &&
!array_key_exists('street', $hash) &&
!array_key_exists('city', $hash) &&
!array_key_exists('country', $hash) &&
!array_key_exists('state', $hash) &&
!array_key_exists('postalCode', $hash)
) {
$field = ($entityType === 'Account') ? 'billingAddress' : 'address';
}
if ($field) {
$street = $data[$field . 'Street'] ?? null;
$city = $data[$field . 'City'] ?? null;
$country = $data[$field . 'Country'] ?? null;
$state = $data[$field . 'State'] ?? null;
$postalCode = $data[$field . 'postalCode'] ?? null;
} else {
$street = $hash['street'] ?? null;
$city = $hash['city'] ?? null;
$country = $hash['country'] ?? null;
$state = $hash['state'] ?? null;
$postalCode = $hash['postalCode'] ?? null;
}
$address = '';
if ($street) {
$address .= $street;
}
if ($city) {
if ($address != '') {
$address .= ', ';
}
$address .= $city;
}
if ($state) {
if ($address != '') {
$address .= ', ';
}
$address .= $state;
}
if ($postalCode) {
if ($state || $city) {
$address .= ' ';
} else {
if ($address) {
$address .= ', ';
}
}
$address .= $postalCode;
}
if ($country) {
if ($address != '') {
$address .= ', ';
}
$address .= $country;
}
$address = urlencode($address);
$apiKey = $config->get('googleMapsApiKey');
if (!$apiKey) {
$GLOBALS['log']->error("Template helper _googleMapsImage: No Google Maps API key.");
return null;
}
if (!$address) {
$GLOBALS['log']->debug("Template helper _googleMapsImage: No address to display.");
return null;
}
$format = 'jpg;';
$url = "https://maps.googleapis.com/maps/api/staticmap?" .
'center=' . $address .
'format=' . $format .
'&size=' . $size .
'&key=' . $apiKey;
if ($zoom) {
$url .= '&zoom=' . $zoom;
}
if ($language) {
$url .= '&language=' . $language;
}
$GLOBALS['log']->debug("Template helper _googleMapsImage: URL: {$url}.");
$image = \Espo\Classes\TemplateHelpers\GoogleMaps::getImage($url);
if (!$image) {
return null;
}
$filePath = tempnam(sys_get_temp_dir(), 'google_maps_image');
file_put_contents($filePath, $image);
list($width, $height) = explode('x', $size);
$tag = "<img src=\"{$filePath}\" width=\"{$width}\" height=\"{$height}\">";
return new LightnCandy\SafeString($tag);
}
public static function getImage(string $url)
{
$headers = [];
$headers[] = 'Accept: image/jpeg, image/pjpeg';
$headers[] = 'Connection: Keep-Alive';
$agent = 'Mozilla/5.0';
$c = curl_init();
curl_setopt($c, \CURLOPT_URL, $url);
curl_setopt($c, \CURLOPT_HTTPHEADER, $headers);
curl_setopt($c, \CURLOPT_HEADER, 0);
curl_setopt($c, \CURLOPT_USERAGENT, $agent);
curl_setopt($c, \CURLOPT_TIMEOUT, 10);
curl_setopt($c, \CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, \CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, \CURLOPT_BINARYTRANSFER, 1);
$raw = curl_exec($c);
curl_close($c);
return $raw;
}
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -33,39 +33,38 @@ use \Espo\Core\Exceptions\Forbidden;
class ActionHistoryRecord extends \Espo\Core\Controllers\Record
{
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionCreate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionListLinked($params, $data, $request)
public function beforeListLinked()
{
throw new Forbidden();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function actionMassDelete($params, $data, $request)
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,12 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\UpgradeManager;
use Espo\Core\Utils\AdminNotificationManager;
use Espo\Core\Utils\SystemRequirements;
class Admin extends \Espo\Core\Controllers\Base
{
@@ -48,15 +50,17 @@ class Admin extends \Espo\Core\Controllers\Base
if (!$request->isPost()) {
throw new BadRequest();
}
$result = $this->getContainer()->get('dataManager')->rebuild();
return $result;
$this->getContainer()->get('dataManager')->rebuild();
return true;
}
public function postActionClearCache($params)
{
$result = $this->getContainer()->get('dataManager')->clearCache();
return $result;
$this->getContainer()->get('dataManager')->clearCache();
return true;
}
public function actionJobs()
@@ -73,15 +77,16 @@ class Admin extends \Espo\Core\Controllers\Base
throw new Forbidden();
}
}
$upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer());
$upgradeManager = new UpgradeManager($this->getContainer());
$upgradeId = $upgradeManager->upload($data);
$manifest = $upgradeManager->getManifest();
return array(
return [
'id' => $upgradeId,
'version' => $manifest['version'],
);
];
}
public function postActionRunUpgrade($params, $data)
@@ -92,7 +97,7 @@ class Admin extends \Espo\Core\Controllers\Base
}
}
$upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer());
$upgradeManager = new UpgradeManager($this->getContainer());
$upgradeManager->install(get_object_vars($data));
return true;
@@ -105,13 +110,15 @@ class Admin extends \Espo\Core\Controllers\Base
public function actionAdminNotificationList($params)
{
$adminNotificationManager = new \Espo\Core\Utils\AdminNotificationManager($this->getContainer());
$adminNotificationManager = new AdminNotificationManager($this->getContainer());
return $adminNotificationManager->getNotificationList();
}
public function actionSystemRequirementList($params)
{
$systemRequirementManager = new \Espo\Core\Utils\SystemRequirements($this->getContainer());
$systemRequirementManager = new SystemRequirements($this->getContainer());
return $systemRequirementManager->getAllRequiredList();
}
}
+38
View File
@@ -0,0 +1,38 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
class ApiIndex {
public function getActionIndex()
{
return "EspoCRM REST API";
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,22 +29,33 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\BadRequest;
class App extends \Espo\Core\Controllers\Base
use Espo\Core\Authentication\Authentication;
use Espo\Core\Di;
use Espo\Core\Api\Request;
use StdClass;
class App implements
Di\ServiceFactoryAware,
Di\InjectableFactoryAware
{
use Di\ServiceFactorySetter;
use Di\InjectableFactorySetter;
public function actionUser()
{
return $this->getServiceFactory()->create('App')->getUserData();
return $this->serviceFactory->create('App')->getUserData();
}
public function postActionDestroyAuthToken($params, $data)
public function postActionDestroyAuthToken(array $params, StdClass $data, Request $request)
{
if (empty($data->token)) {
throw new BadRequest();
}
$auth = new \Espo\Core\Utils\Auth($this->getContainer());
return $auth->destroyAuthToken($data->token);
$auth = $this->injectableFactory->create(Authentication::class);
return $auth->destroyAuthToken($data->token, $request);
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Attachment extends \Espo\Core\Controllers\Record
{
@@ -57,4 +57,21 @@ class Attachment extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getCopiedAttachment($data)->getValueMap();
}
public function getActionFile($params, $data, $request, $response)
{
$id = $params['id'] ?? null;
if (!$id) throw new BadRequest();
$fileData = $this->getRecordService()->getFileData($id);
$response->setHeader('Content-Type', $fileData->type);
$response->setHeader('Content-Disposition', 'Content-Disposition: attachment; filename="'.$fileData->name.'"');
if ($fileData->size) {
$response->setHeader('Content-Length', $fileData->size);
}
return $fileData->contents;
}
}
+12 -7
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class AuthLogRecord extends \Espo\Core\Controllers\Record
{
@@ -40,27 +40,32 @@ class AuthLogRecord extends \Espo\Core\Controllers\Record
}
}
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function actionCreate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function beforeMassConvertCurrency()
{
throw new Forbidden();
}
+10 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class AuthToken extends \Espo\Core\Controllers\Record
{
@@ -80,17 +80,22 @@ class AuthToken extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
public function actionCreate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function beforeMassConvertCurrency()
{
throw new Forbidden();
}
@@ -0,0 +1,62 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
use Espo\Core\Exceptions\{
Forbidden,
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);
}
}
@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class DashboardTemplate extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
public function postActionDeployToUsers($params, $data)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->userIdList)) throw new BadRequest();
return $this->getServiceFactory()->create('DashboardTemplate')->deployToUsers(
$data->id,
$data->userIdList,
!empty($data->append)
);
}
public function postActionDeployToTeam($params, $data)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->teamId)) throw new BadRequest();
return $this->getServiceFactory()->create('DashboardTemplate')->deployToTeam(
$data->id,
$data->teamId,
!empty($data->append)
);
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,27 +29,33 @@
namespace Espo\Controllers;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
class DataPrivacy extends \Espo\Core\Controllers\Base
use Espo\Core\ServiceFactory;
use Espo\Core\Acl;
class DataPrivacy
{
protected function checkControllerAccess()
protected $serviceFactory;
protected $acl;
public function __construct(ServiceFactory $serviceFactory, Acl $acl)
{
if ($this->getAcl()->get('dataPrivacyPermission') === 'no') {
$this->serviceFactory = $serviceFactory;
$this->acl = $acl;
if ($this->acl->get('dataPrivacyPermission') === 'no') {
throw new Forbidden();
}
}
public function postActionErase($params, $data)
public function postActionErase($params, \StdClass $data)
{
if (empty($data->entityType) || empty($data->id) || empty($data->fieldList) || !is_array($data->fieldList)) {
throw new BadRequest();
}
return $this->getServiceFactory()->create('DataPrivacy')->erase($data->entityType, $data->id, $data->fieldList);
return $this->serviceFactory->create('DataPrivacy')->erase($data->entityType, $data->id, $data->fieldList);
}
}
+16 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,10 +29,9 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
class Email extends \Espo\Core\Controllers\Record
{
@@ -75,7 +74,7 @@ class Email extends \Espo\Core\Controllers\Record
throw new NotFound();
}
if (!$this->getUser()->isAdmin()) {
if ($emailAccount->get('assigniedUserId') !== $this->getUser()->id) {
if ($emailAccount->get('assignedUserId') !== $this->getUser()->id) {
throw new Forbidden();
}
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Error;
class EmailAccount extends \Espo\Core\Controllers\Record
{
@@ -39,7 +39,7 @@ class EmailAccount extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'security' => $data->security ?? null,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class EmailAddress extends \Espo\Core\Controllers\Record
{
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -33,4 +33,3 @@ class EmailFilter extends \Espo\Core\Controllers\Record
{
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\BadRequest;
class EmailFolder extends \Espo\Core\Controllers\Record
{
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Error;
class EmailTemplate extends \Espo\Core\Controllers\Record
{
@@ -49,6 +49,4 @@ class EmailTemplate extends \Espo\Core\Controllers\Record
'relatedId' => $request->get('relatedId')
), true);
}
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
+108 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,26 +29,49 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\Error;
use Espo\{
Entities\User,
Tools\EntityManager\EntityManager as EntityManagerTool,
};
class EntityManager extends \Espo\Core\Controllers\Base
use Espo\Core\{
Exceptions\Error,
Exceptions\Forbidden,
Exceptions\BadRequest,
Api\Request,
DataManager,
Utils\Config,
};
class EntityManager
{
protected $user;
protected $dataManager;
protected $config;
protected $entityManagerTool;
public function __construct(User $user, DataManager $dataManager, Config $config, EntityManagerTool $entityManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->config = $config;
$this->entityManagerTool = $entityManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function actionCreateEntity($params, $data, $request)
public function postActionCreateEntity(Request $request)
{
$data = get_object_vars($data);
$data = $request->getParsedBody();
if (!$request->isPost()) {
throw new BadRequest();
}
$data = get_object_vars($data);
if (empty($data['name']) || empty($data['type'])) {
throw new BadRequest();
@@ -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'];
@@ -92,24 +115,27 @@ class EntityManager extends \Espo\Core\Controllers\Base
if (isset($data['fullTextSearch'])) {
$params['fullTextSearch'] = $data['fullTextSearch'];
}
if (isset($data['countDisabled'])) {
$params['countDisabled'] = $data['countDisabled'];
}
$params['kanbanViewMode'] = !empty($data['kanbanViewMode']);
if (!empty($data['kanbanStatusIgnoreList'])) {
$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();
}
@@ -117,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();
}
@@ -141,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();
}
@@ -174,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])) {
@@ -206,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'];
}
@@ -222,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();
}
@@ -234,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',
@@ -248,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);
@@ -277,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();
}
@@ -289,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();
}
@@ -317,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;
}
+26 -26
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class Extension extends \Espo\Core\Controllers\Record
{
@@ -94,25 +93,6 @@ class Extension extends \Espo\Core\Controllers\Record
return true;
}
public function actionCreate($params, $data, $request)
{
throw new Forbidden();
}
public function actionUpdate($params, $data, $request)
{
throw new Forbidden();
}
public function actionPatch($params, $data, $request)
{
throw new Forbidden();
}
public function actionListLinked($params, $data, $request)
{
throw new Forbidden();
}
public function actionDelete($params, $data, $request)
{
@@ -129,22 +109,42 @@ class Extension extends \Espo\Core\Controllers\Record
return true;
}
public function actionMassUpdate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionMassDelete($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforePatch()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeListLinked()
{
throw new Forbidden();
}
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function beforeMassDelete()
{
throw new Forbidden();
}
public function beforeCreateLink()
{
throw new Forbidden();
}
public function beforeRemoveLink()
{
throw new Forbidden();
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,9 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class ExternalAccount extends \Espo\Core\Controllers\Record
{
@@ -47,17 +47,27 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
public function actionList($params, $data, $request)
{
$integrations = $this->getEntityManager()->getRepository('Integration')->find();
$arr = array();
$list = [];
foreach ($integrations as $entity) {
if ($entity->get('enabled') && $this->getMetadata()->get('integrations.' . $entity->id .'.allowUserAccounts')) {
$arr[] = array(
$userAccountAclScope = $this->getMetadata()->get(['integrations', $entity->id, 'userAccountAclScope']);
if ($userAccountAclScope) {
if (!$this->getAcl()->checkScope($userAccountAclScope)) {
continue;
}
}
$list[] = [
'id' => $entity->id
);
];
}
}
return array(
'list' => $arr
);
return [
'list' => $list
];
}
public function actionGetOAuth2Info($params, $data, $request)
@@ -65,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();
}
@@ -83,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)
@@ -104,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();
}
@@ -130,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();
}
+81 -35
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,27 +29,52 @@
namespace Espo\Controllers;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
use Espo\{
Entities\User,
Tools\FieldManager\FieldManager as FieldManagerTool,
};
class FieldManager extends \Espo\Core\Controllers\Base
use Espo\Core\{
Exceptions\Error,
Exceptions\Forbidden,
Exceptions\NotFound,
Exceptions\BadRequest,
Api\Request,
DataManager,
};
class FieldManager
{
protected $user;
protected $dataManager;
protected $fieldManagerTool;
public function __construct(User $user, DataManager $dataManager, FieldManagerTool $fieldManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->fieldManagerTool = $fieldManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function actionRead($params, $data)
public function getActionRead(Request $request)
{
if (empty($params['scope']) || empty($params['name'])) {
$scope = $request->getRouteParam('scope');
$name = $request->getRouteParam('name');
if (!$scope || !$name) {
throw new BadRequest();
}
$data = $this->getContainer()->get('fieldManager')->read($params['scope'], $params['name']);
$data = $this->fieldManagerTool->read($scope, $name);
if (!isset($data)) {
throw new BadRequest();
@@ -58,70 +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')->rebuildMetadata();
$this->dataManager->clearCache();
$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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,11 +29,17 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error,
\Espo\Core\Exceptions\Forbidden;
use Espo\Core\ServiceFactory;
class GlobalSearch extends \Espo\Core\Controllers\Base
class GlobalSearch
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function actionSearch($params, $data, $request)
{
$query = $request->get('q');
@@ -41,7 +47,6 @@ class GlobalSearch extends \Espo\Core\Controllers\Base
$offset = intval($request->get('offset'));
$maxSize = intval($request->get('maxSize'));
return $this->getService('GlobalSearch')->find($query, $offset, $maxSize);
return $this->serviceFactory->create('GlobalSearch')->find($query, $offset, $maxSize);
}
}
+14 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,13 +29,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)
{
if ($request->get('default')) {
return $this->getContainer()->get('defaultLanguage')->getAll();
}
return $this->getContainer()->get('language')->getAll();
$default = $request->get('default') === 'true';
return $this->serviceFactory->create('Language')->getDataForFrontend($default);
}
}
+22 -25
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -30,9 +30,9 @@
namespace Espo\Controllers;
use Espo\Core\Utils as Utils;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Import extends \Espo\Core\Controllers\Record
{
@@ -43,27 +43,27 @@ class Import extends \Espo\Core\Controllers\Record
}
}
public function actionPatch($params, $data, $request)
public function beforePatch()
{
throw new BadRequest();
}
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new BadRequest();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new BadRequest();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new BadRequest();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new BadRequest();
}
@@ -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
class InboundEmail extends \Espo\Core\Controllers\Record
{
@@ -46,7 +45,7 @@ class InboundEmail extends \Espo\Core\Controllers\Record
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'security' => $data->security ?? null,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,8 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Integration extends \Espo\Core\Controllers\Record
{
@@ -82,4 +81,3 @@ class Integration extends \Espo\Core\Controllers\Record
return $entity->toArray();
}
}
+9 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,8 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class Job extends \Espo\Core\Controllers\Record
{
@@ -41,37 +40,37 @@ class Job extends \Espo\Core\Controllers\Record
}
}
public function actionCreate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionPatch($params, $data, $request)
public function beforePatch()
{
throw new Forbidden();
}
public function actionListLinked($params, $data, $request)
public function beforeListLinked()
{
throw new Forbidden();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Forbidden();
}
@@ -0,0 +1,73 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
use Espo\Core\{
Exceptions\BadRequest,
Api\Request,
ServiceFactory,
};
class KanbanOrder
{
protected $serviceFactory;
public function __construct(ServiceFactory $serviceFactory)
{
$this->serviceFactory = $serviceFactory;
}
public function postActionStore(Request $request)
{
$data = $request->getParsedBody();
$entityType = $data->entityType;
$group = $data->group;
$ids = $data->ids;
if (empty($entityType) || !is_string($entityType)) {
throw new BadRequest();
}
if (empty($group) || !is_string($group)) {
throw new BadRequest();
}
if (!is_array($ids)) {
throw new BadRequest();
}
$this->serviceFactory
->create('KanbanOrder')
->order($entityType, $group, $ids);
return true;
}
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,49 +29,69 @@
namespace Espo\Controllers;
use Espo\Core\Utils as Utils;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\{
Exceptions\Forbidden,
Exceptions\BadRequest,
Api\Request,
DataManager,
};
class LabelManager extends \Espo\Core\Controllers\Base
use Espo\{
Tools\LabelManager\LabelManager as LabelManagerTool,
Entities\User,
};
class LabelManager
{
protected $user;
protected $dataManager;
protected $labelManagerTool;
public function __construct(User $user, DataManager $dataManager, LabelManagerTool $labelManagerTool)
{
$this->user = $user;
$this->dataManager = $dataManager;
$this->labelManagerTool = $labelManagerTool;
$this->checkControllerAccess();
}
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->user->isAdmin()) {
throw new Forbidden();
}
}
public function postActionGetScopeList($params)
public function postActionGetScopeList()
{
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeList();
return $this->labelManagerTool->getScopeList();
}
public function postActionGetScopeData($params, $data, $request)
public function postActionGetScopeData(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope) || empty($data->language)) {
throw new BadRequest();
}
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeData($data->language, $data->scope);
return $this->labelManagerTool->getScopeData($data->language, $data->scope);
}
public function postActionSaveLabels($params, $data)
public function postActionSaveLabels(Request $request)
{
$data = $request->getParsedBody();
if (empty($data->scope) || empty($data->language) || !isset($data->labels)) {
throw new BadRequest();
}
$labels = get_object_vars($data->labels);
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
$returnData = $labelManager->saveLabels($data->language, $data->scope, $labels);
$returnData = $this->labelManagerTool->saveLabels($data->language, $data->scope, $labels);
$this->getContainer()->get('dataManager')->clearCache();
$this->dataManager->clearCache();
return $returnData;
}
+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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,7 +29,7 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\Forbidden;
class LastViewed extends \Espo\Core\Controllers\Base
{
+29 -44
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -30,66 +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)
{
$data = $this->getContainer()->get('layout')->get($params['scope'], $params['name']);
if (empty($data)) {
throw new NotFound("Layout " . $params['scope'] . ":" . $params['name'] . ' is not found.');
}
return $data;
$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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Controllers;
use Espo\Core\Exceptions\Forbidden;
class LayoutSet extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
}
+34 -13
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,26 +29,36 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\NotFound;
class LeadCapture extends \Espo\Core\Controllers\Record
{
public function postActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($data)) throw new BadRequest('No payload provided.');
if (empty($params['apiKey'])) {
throw new BadRequest('No API key provided.');
}
if (empty($data)) {
throw new BadRequest('No payload provided.');
}
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
return $this->getRecordService()->leadCapture($params['apiKey'], $data);
$response->setHeader('Access-Control-Allow-Origin', $allowOrigin);
$this->getRecordService()->leadCapture($params['apiKey'], $data);
return true;
}
public function optionsActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($params['apiKey'])) {
throw new BadRequest('No API key provided.');
}
if (!$this->getRecordService()->isApiKeyValid($params['apiKey'])) {
throw new NotFound();
@@ -56,17 +66,28 @@ 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();
}
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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,9 +29,6 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
class LeadCaptureLogRecord extends \Espo\Core\Controllers\Record
{
+3 -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-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -29,14 +29,13 @@
namespace Espo\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->getMetadata()->getAllForFrontend();
return $this->getServiceFactory()->create('Metadata')->getDataForFrontend();
}
public function getActionGet($params, $data, $request)

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