Compare commits

...

764 Commits
5.7.4 ... 5.9.1

Author SHA1 Message Date
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
2489 changed files with 39959 additions and 9178 deletions

2
.gitignore vendored
View File

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

View File

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

View File

@@ -4,6 +4,12 @@ Before we can merge your pull request you need to accept our CLA [here](https://
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
Branches:
* *hotfix/** upcoming maintenance release; fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
## Issues
We don't provide developer help or any kind of support on github. Please use our [forum](https://forum.espocrm.com) for this.

View File

@@ -2,7 +2,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -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 = [
@@ -71,6 +81,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 +94,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 +123,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 +142,13 @@ module.exports = function (grunt) {
clean: {
start: ['build/EspoCRM-*'],
final: ['build/tmp'],
release: ['build/EspoCRM-' + pkg.version],
beforeFinal: {
src: ['build/tmp/custom/Espo/Custom/*', '!build/tmp/custom/Espo/Custom/.htaccess', 'build/tmp/install/config.php']
src: [
'build/tmp/custom/Espo/Custom/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'build/tmp/install/config.php',
]
}
},
less: lessData,
@@ -146,6 +168,9 @@ module.exports = function (grunt) {
})
},
copy: {
options: {
mode: true,
},
frontendFolders: {
expand: true,
cwd: 'client',
@@ -207,9 +232,6 @@ module.exports = function (grunt) {
},
},
chmod: {
options: {
mode: '755'
},
php: {
options: {
mode: '644'
@@ -238,7 +260,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: {
@@ -258,17 +294,57 @@ module.exports = function (grunt) {
]
}
},
compress: {
final: {
options: {
archive: 'build/EspoCRM-<%= pkg.version %>.zip',
mode: 'zip'
},
src: ['**'],
cwd: 'build/EspoCRM-<%= pkg.version %>',
dest: 'EspoCRM-<%= pkg.version %>'
}
}
});
grunt.registerTask("chmod-folders", function() {
cp.execSync("find . -type d -exec chmod 755 {} + ", {stdio: 'ignore', cwd: 'build/EspoCRM-' + pkg.version});
});
grunt.registerTask("composer", function() {
cp.execSync("composer install --ignore-platform-reqs --no-dev", {stdio: 'ignore'});
});
grunt.registerTask("composer-dev", function() {
cp.execSync("composer install --ignore-platform-reqs", {stdio: 'ignore'});
});
grunt.registerTask("upgrade", function() {
cp.execSync("node diff --all --vendor", {stdio: 'inherit'});
});
grunt.registerTask("unit-tests-run", function() {
cp.execSync("vendor/bin/phpunit --bootstrap=vendor/autoload.php tests/unit", {stdio: 'inherit'});
});
grunt.registerTask("integration-tests-run", function() {
cp.execSync("vendor/bin/phpunit --bootstrap=vendor/autoload.php tests/integration", {stdio: 'inherit'});
});
grunt.registerTask("zip", function() {
var fs = require('fs');
var resolve = this.async();
var folder = 'EspoCRM-' + pkg.version;
var zipPath = 'build/' + folder +'.zip';
if (fs.existsSync(zipPath)) fs.unlinkSync(zipPath);
var archiver = require('archiver');
var archive = archiver('zip');
archive.on('error', function (err) {
grunt.fail.warn(err);
});
var zipOutput = fs.createWriteStream(zipPath);
zipOutput.on('close', function () {
console.log("EspoCRM package has been built.");
resolve();
});
archive.directory(currentPath + '/build/' + folder, folder).pipe(zipOutput);
archive.finalize();
});
grunt.loadNpmTasks('grunt-contrib-clean');
@@ -278,10 +354,9 @@ module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-replace');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-chmod');
grunt.registerTask('default', [
grunt.registerTask('offline', [
'clean:start',
'mkdir:tmp',
'less',
@@ -293,7 +368,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',
]);
};

View File

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

9
SECURITY.md Normal file
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -39,6 +39,16 @@ class User extends \Espo\Core\Acl\Base
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()) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -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->headers->set('Content-Type', $fileData->type);
$response->headers->set('Content-Disposition', 'Content-Disposition: attachment; filename="'.$fileData->name.'"');
if ($fileData->size) {
$response->headers->set('Content-Length', $fileData->size);
}
return $fileData->contents;
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -60,7 +60,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'];
@@ -187,19 +187,19 @@ class EntityManager extends \Espo\Core\Controllers\Base
$paramList = [
'entity',
'entityForeign',
'link',
'linkForeign',
'label',
'labelForeign',
'linkType'
'linkType',
];
$additionalParamList = [
'entityForeign',
'relationName',
'labelForeign',
];
$params = array();
$params = [];
foreach ($paramList as $item) {
if (empty($data[$item])) {
@@ -209,9 +209,11 @@ class EntityManager extends \Espo\Core\Controllers\Base
}
foreach ($additionalParamList as $item) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
$params[$item] = filter_var($data[$item] ?? null, \FILTER_SANITIZE_STRING);
}
$params['labelForeign'] = $params['labelForeign'] ?? $params['linkForeign'];
if (array_key_exists('linkMultipleField', $data)) {
$params['linkMultipleField'] = $data['linkMultipleField'];
}
@@ -225,6 +227,12 @@ 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);
@@ -251,12 +259,12 @@ class EntityManager extends \Espo\Core\Controllers\Base
'link',
'linkForeign',
'label',
'labelForeign'
'labelForeign',
];
$additionalParamList = [];
$params = array();
$params = [];
foreach ($paramList as $item) {
if (array_key_exists($item, $data)) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
@@ -280,6 +288,12 @@ 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);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -182,12 +182,13 @@ class Table
return 'no';
}
public function getHighestLevel($action)
public function getHighestLevel($scope, $action)
{
if (in_array($action, $this->booleanActionList)) {
return 'yes';
} else {
return 'all';
$level = $this->metadata->get(['scopes', $scope, $this->type . 'HighestLevel']);
return $level ?? 'all';
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -134,7 +134,7 @@ class AclManager
public function getLevel(User $user, $scope, $action)
{
if ($user->isAdmin()) {
return $this->getTable($user)->getHighestLevel($action);
return $this->getTable($user)->getHighestLevel($scope, $action);
}
return $this->getTable($user)->getLevel($scope, $action);
}

View File

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

View File

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

View File

@@ -0,0 +1,65 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\AppParams;
class TemplateEntityTypeList extends \Espo\Core\Injectable
{
protected function init()
{
$this->addDependency('acl');
$this->addDependency('selectManagerFactory');
$this->addDependency('entityManager');
}
public function get()
{
if (!$this->getInjection('acl')->checkScope('Template')) {
return [];
}
$list = [];
$selectManager = $this->getInjection('selectManagerFactory')->create('Template');
$selectParams = $selectManager->getEmptySelectParams();
$selectManager->applyAccess($selectParams);
$templateList = $this->getInjection('entityManager')->getRepository('Template')
->select(['entityType'])
->groupBy(['entityType'])
->find($selectParams);
foreach ($templateList as $template) {
$list[] = $template->get('entityType');
}
return $list;
}
}

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
@@ -48,6 +48,7 @@ class Application
$GLOBALS['log'] = $this->getContainer()->get('log');
$this->initAutoloads();
$this->initPreloads();
}
protected function initContainer()
@@ -259,6 +260,9 @@ class Application
$route = $slim->router()->getCurrentRoute();
$conditions = $route->getConditions();
$response = $slim->response();
$response->headers->set('Content-Type', 'application/json');
if (isset($conditions['useController']) && $conditions['useController'] == false) {
return;
}
@@ -303,13 +307,16 @@ class Application
});
$this->getSlim()->hook('slim.after.router', function () use (&$slim) {
$slim->contentType('application/json');
$response = $slim->response();
$res = $slim->response();
$res->header('Expires', '0');
$res->header('Last-Modified', gmdate("D, d M Y H:i:s") . " GMT");
$res->header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$res->header('Pragma', 'no-cache');
if (!$response->headers->has('Content-Type')) {
$response->headers->set('Content-Type', 'application/json');
}
$response->headers->set('Expires', '0');
$response->headers->set('Last-Modified', gmdate("D, d M Y H:i:s") . " GMT");
$response->headers->set('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$response->headers->set('Pragma', 'no-cache');
});
}
@@ -346,6 +353,15 @@ class Application
$autoload->register();
}
protected function initPreloads()
{
foreach ($this->getMetadata()->get(['app', 'containerServices']) ?? [] as $name => $defs) {
if ($defs['preload'] ?? false) {
$this->getContainer()->get($name);
}
}
}
public function setBasePath($basePath)
{
$this->getContainer()->get('clientManager')->setBasePath($basePath);

View File

@@ -0,0 +1,63 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Cleanup;
abstract class Base extends \Espo\Core\Injectable
{
protected function init()
{
$this->addDependency('config');
$this->addDependency('metadata');
$this->addDependency('entityManager');
$this->addDependency('fileManager');
}
protected function getConfig()
{
return $this->getInjection('config');
}
protected function getMetadata()
{
return $this->getInjection('metadata');
}
protected function getEntityManager()
{
return $this->getInjection('entityManager');
}
protected function getFileManager()
{
return $this->getInjection('fileManager');
}
abstract public function process();
}

View File

@@ -0,0 +1,50 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Cleanup;
class Reminders extends Base
{
protected $cleanupRemindersPeriod = '15 days';
public function process()
{
$period = '-' . $this->getConfig()->get('cleanupRemindersPeriod', $this->cleanupRemindersPeriod);
$datetime = new \DateTime();
$datetime->modify($period);
$pdo = $this->getEntityManager()->getPDO();
$query = "DELETE FROM `reminder` WHERE DATE(remind_at) < " . $pdo->quote($datetime->format('Y-m-d'));
$sth = $pdo->prepare($query);
$sth->execute();
}
}

View File

@@ -0,0 +1,59 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Cleanup;
class WebhookQueue extends Base
{
protected $cleanupWebhookQueuePeriod = '10 days';
public function process()
{
$pdo = $this->getEntityManager()->getPDO();
$period = '-' . $this->getConfig()->get('cleanupWebhookQueuePeriod', $this->cleanupWebhookQueuePeriod);
$datetime = new \DateTime();
$datetime->modify($period);
$from = $datetime->format('Y-m-d H:i:s');
$query = "
DELETE FROM `webhook_queue_item`
WHERE
DATE(created_at) < ".$pdo->quote($from)." AND
(status <> 'Pending' OR deleted = 1)
";
$pdo->query($query);
$query = "
DELETE FROM `webhook_event_queue_item`
WHERE DATE(created_at) < ".$pdo->quote($from)." AND (is_processed = 1 OR deleted = 1)
";
$pdo->query($query);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,195 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2020 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Core\Console\Commands;
use Espo\Core\Exceptions\Error;
class Extension extends Base
{
protected $extensionManager = null;
public function run($options, $flagList, $argumentList)
{
if (in_array('u', $flagList)) {
// uninstall
$name = $options['name'] ?? null;
$id = $options['id'] ?? null;
if (!$name && !$id) {
$this->out("Can't uninstall. Specify --name=\"Extension Name\".\n");
return;
}
$params = [];
if ($id) {
$params['id'] = $id;
} else {
$params['name'] = $name;
}
$params['delete'] = !in_array('k', $flagList);
$this->runUninstall($params);
return;
} else {
// install
$file = $options['file'] ?? null;
if (!$file) {
$this->out("Can't install. Specify --file=\"path/to/package.zip\".\n");
return;
}
$this->runInstall($file);
return;
}
}
protected function runInstall(string $file)
{
$manager = $this->createExtensionManager();
if (!file_exists($file)) {
$this->out("File does not exist.\n");
return;
}
$fileData = file_get_contents($file);
$fileData = 'data:application/zip;base64,' . base64_encode($fileData);
try {
$id = $manager->upload($fileData);
} catch (\Throwable $e) {
$this->out($e->getMessage() . "\n");
return;
}
$manifest = $manager->getManifestById($id);
$name = $manifest['name'] ?? null;
$version = $manifest['version'] ?? null;
if (!$name) {
$this->out("Can't install. Bad manifest.\n");
return;
}
$this->out("Installing... Do not close the terminal. This may take a while...");
try {
$manager->install(['id' => $id]);
} catch (\Throwable $e) {
$this->out("\n");
$this->out($e->getMessage() . "\n");
return;
}
$this->out("\n");
$this->out("Extension '{$name}' version {$version} is installed.\nExtension ID: '{$id}'.\n");
}
protected function runUninstall(array $params)
{
$id = $params['id'] ?? null;
if ($id) {
$record = $this->getEntityManager()->getRepository('Extension')->where([
'id' => $id,
'isInstalled' => true,
])->findOne();
if (!$record) {
$this->out("Extension with ID '{$id}' is not installed.\n");
return;
}
$name = $record->get('name');
} else {
$name = $params['name'] ?? null;
if (!$name) {
$this->out("Can't uninstall. No --name or --id specified.\n");
return;
}
$record = $this->getEntityManager()->getRepository('Extension')->where([
'name' => $name,
'isInstalled' => true,
])->findOne();
if (!$record) {
$this->out("Extension '{$name}' is not installed.\n");
return;
}
$id = $record->id;
}
$manager = $this->createExtensionManager();
$this->out("Uninstalling... Do not close the terminal. This may take a while...");
try {
$manager->uninstall(['id' => $id]);
} catch (\Throwable $e) {
$this->out("\n");
$this->out($e->getMessage() . "\n");
return;
}
$this->out("\n");
if ($params['delete'] ?? false) {
try {
$manager->delete(['id' => $id]);
} catch (\Throwable $e) {
$this->out($e->getMessage() . "\n");
$this->out("Extension '{$name}' is uninstalled but could not be deleted.\n");
return;
}
$this->out("Extension '{$name}' is uninstalled and deleted.\n");
} else {
$this->out("Extension '{$name}' is uninstalled.\n");
}
}
protected function createExtensionManager()
{
return new \Espo\Core\ExtensionManager($this->getContainer());
}
protected function getEntityManager()
{
return $this->getContainer()->get('entityManager');
}
protected function out(string $string)
{
fwrite(\STDOUT, $string);
}
}

View File

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

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