Compare commits

...

4451 Commits
4.2.3 ... 5.7.2

Author SHA1 Message Date
yuri
814f79d53b Merge branch 'hotfix/5.7.2' of github.com:espocrm/espocrm into hotfix/5.7.2 2019-10-10 15:17:42 +03:00
yuri
0d6482374e Merge branch 'hotfix/5.7.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.2 2019-10-10 15:06:34 +03:00
Karthik Bhat K
427e3d466a count(): Parameter must be an array or an object that implements Countable (#1460) 2019-10-10 10:13:27 +03:00
yuri
ae72768f8c v 2019-10-09 11:14:28 +03:00
yuri
bd4e92d892 multi-enum display as list 2019-10-09 11:06:34 +03:00
yuri
afc17ac54c fix filter by foreign array 2019-10-09 10:48:21 +03:00
Taras Machyshyn
52dda066cd Index name consists of a list of fields for relation tables 2019-10-09 10:34:26 +03:00
yuri
29bec8fcd6 fix email storing 2019-10-09 10:15:27 +03:00
yuri
5c4fd344e4 smtp default tls 2019-10-08 17:54:12 +03:00
yuri
e936ad907b outbound email settings fixes 2019-10-08 17:50:45 +03:00
yuri
bc59dab9ec fix lang acl 2019-10-08 17:40:17 +03:00
yuri
48652e35ee fix integrations 2019-10-08 17:04:35 +03:00
yuri
381a51b836 Merge branch 'hotfix/5.7.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.7.1 2019-10-08 15:10:15 +03:00
Taras Machyshyn
a9f36a352d Orm: defined index name for relations 2019-10-08 15:07:55 +03:00
yuri
6c8a0bbb66 orm useIndex change 2019-10-08 13:43:31 +03:00
yuri
b21b69eed5 cs fix 2019-10-08 13:43:09 +03:00
yuri
ef0d3febd8 buttons small fix 2019-10-08 11:54:15 +03:00
yuri
2d6db7570c fix record next/prev 2019-10-08 11:44:47 +03:00
yuri
a7804742e7 fix select manager order 2019-10-08 11:18:50 +03:00
yuri
09301e9d7c fix reminders 2019-10-08 10:45:07 +03:00
yuri
5d10da3b78 orm fix 2019-10-07 14:42:37 +03:00
yuri
dcc4cce872 update reserved words 2019-10-07 14:23:53 +03:00
yuri
02fbc20838 orm join only middle 2019-10-07 13:37:59 +03:00
yuri
6641075043 orm fix 2019-10-07 13:22:30 +03:00
yuri
6624b178c0 fix select manager is not linked filter 2019-10-07 13:08:19 +03:00
yuri
4ec6708cb4 v 2019-10-07 12:41:17 +03:00
yuri
f9752eab02 orm more sanitizing 2019-10-07 12:28:10 +03:00
yuri
3de816e03a formula entity get link column 2019-10-07 12:27:42 +03:00
yuri
b854ebab43 lead capture fix 2019-10-07 11:23:41 +03:00
yuri
ffab7c3e6b external account fix 2019-10-07 10:26:47 +03:00
yuri
b6e09ec75a stream fix 2019-10-04 15:24:06 +03:00
yuri
083c768af9 globas search optimization 2019-10-04 12:38:39 +03:00
yuri
fd052c1cdb email select manager fix 2019-10-04 10:35:36 +03:00
yuri
41e0e29500 select manager apply default order 2019-10-03 18:03:57 +03:00
yuri
3cbd918507 full text change 2019-10-03 17:57:07 +03:00
yuri
94c9db2fde full text changes 2019-10-03 17:43:20 +03:00
yuri
da29d6149b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 17:29:18 +03:00
Taras Machyshyn
abd887363f Label changes 2019-10-03 17:26:45 +03:00
Taras Machyshyn
8e2fe95e0c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 17:11:09 +03:00
Taras Machyshyn
75e5349475 DBAL bug fixes 2019-10-03 17:02:22 +03:00
yuri
9a081d784e fix 2019-10-03 14:56:08 +03:00
yuri
960446f9fa enity manager: disable count 2019-10-03 14:44:10 +03:00
yuri
7cac38f39d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-03 14:30:22 +03:00
yuri
98e69436d9 sum related support children 2019-10-03 13:42:17 +03:00
yuri
415eff0486 fix stream portal user 2019-10-03 13:41:53 +03:00
yuri
850f6ad41e cs fix 2019-10-03 13:12:51 +03:00
yuri
a5433ec82a stream use index 2019-10-03 13:09:54 +03:00
yuri
9b2ac56563 email use index fix 2019-10-03 10:27:29 +03:00
yuri
43fed19d07 formula password functions 2019-10-02 14:58:20 +03:00
yuri
2f93dfd653 array displayAsList 2019-10-02 12:18:27 +03:00
yuri
c752e8fc91 job front end fixes 2019-10-02 11:44:28 +03:00
yuri
00230f50d6 remove notifications sound disabled 2019-10-02 10:46:19 +03:00
yuri
3b880de16d preferences fix 2019-10-02 10:43:42 +03:00
Taras Machyshyn
6acba3efb8 Fixes for 'indexes' attribute for manyMany relationships 2019-10-01 17:17:39 +03:00
yuri
57843f5f86 calendar apply color 2019-10-01 17:13:12 +03:00
yuri
73b00190f7 colorpicker fix 2019-10-01 17:06:32 +03:00
yuri
20ede11bdd css fix 2019-10-01 16:40:03 +03:00
yuri
9d485624a8 fix 2019-10-01 16:00:21 +03:00
yuri
3fe4bc34ef fix 2019-10-01 15:51:02 +03:00
yuri
a38fd487f4 lang fix 2019-10-01 15:43:22 +03:00
yuri
91506a8ca6 unsubscribe without mass email 2019-10-01 14:21:51 +03:00
yuri
d01748a24c hasher 2019-10-01 14:21:38 +03:00
yuri
a3f7f4e2d2 fix smtp account field 2019-10-01 11:19:01 +03:00
yuri
2df476d734 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-10-01 10:16:48 +03:00
yuri
bf5fe492b3 user data fix 2019-10-01 10:10:08 +03:00
Taras Machyshyn
87036f83e1 Added 'indexes' attribute for manyMany relationships 2019-09-30 17:47:55 +03:00
yuri
cf65e40b35 fix case portal acl 2019-09-30 16:20:54 +03:00
yuri
5fe98cbbbc fix validation 2019-09-30 16:19:22 +03:00
yuri
1b94573502 fix acl portal 2019-09-30 16:12:04 +03:00
yuri
d28638136a fix 2019-09-30 16:00:40 +03:00
yuri
ca05495e9e fix metadata filter 2019-09-30 15:48:40 +03:00
yuri
c572d0110f dashboard fix 2019-09-30 15:36:26 +03:00
yuri
3057f749c4 fix language filter 2019-09-30 14:16:04 +03:00
yuri
62c865bdc3 subscription index 2019-09-30 13:28:25 +03:00
yuri
7e2bd60382 filter relationships layout by acl 2019-09-30 12:39:25 +03:00
yuri
84434fa14a acl frontend fix 2019-09-30 12:38:36 +03:00
yuri
1c1b8b3985 restrict settings lists 2019-09-28 15:13:47 +03:00
yuri
ea15452db4 restrict user data and acl 2019-09-28 14:52:39 +03:00
yuri
b39d2b34e2 acl portal additions 2019-09-28 14:52:15 +03:00
yuri
e6d79e0847 dashboard layout fix 2019-09-28 14:14:00 +03:00
yuri
1f334c2690 clear frontend cache on role change 2019-09-28 13:46:46 +03:00
yuri
6cfd5db8ac fix portal 2019-09-28 13:46:32 +03:00
yuri
3478aa772c metadata hide by acl 2019-09-28 13:04:48 +03:00
yuri
f2c769a062 fix acl 2019-09-28 12:23:59 +03:00
yuri
6e1d905db9 team role by default 2019-09-28 12:19:19 +03:00
yuri
882eeffdd5 modal backdrop fix 2019-09-28 12:16:17 +03:00
yuri
1e4e8b3fcf follow access 2019-09-28 12:07:08 +03:00
yuri
4b25456acd fix teams select manager 2019-09-28 11:55:31 +03:00
yuri
68615ba8bb language hide labels by acl 2019-09-28 11:33:20 +03:00
yuri
8bafcded50 portal role scope 2019-09-28 11:20:42 +03:00
Taras Machyshyn
2e7dca6540 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:34:16 +03:00
Taras Machyshyn
d25b4a4e3a Bug fixes 2019-09-27 16:34:08 +03:00
yuri
fbf6b39dae Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:21:39 +03:00
yuri
60bb06c6af dashlets records number change 2019-09-27 16:21:33 +03:00
Taras Machyshyn
a169aca4f0 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 16:19:02 +03:00
Taras Machyshyn
3e83e97197 Apache / nginx rewrite changes 2019-09-27 16:18:50 +03:00
yuri
70cdbe6020 stream union all 2019-09-27 16:17:22 +03:00
yuri
36d089cfe7 maintainence mode close button 2019-09-27 15:21:50 +03:00
yuri
0ea1be6307 modal buttons 2019-09-27 15:17:53 +03:00
yuri
73cebf7e5f msg change 2019-09-27 15:02:23 +03:00
yuri
bbd943eb93 fix confirm 2019-09-27 14:54:55 +03:00
yuri
2a891c01e7 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 13:10:38 +03:00
yuri
c6b1bb9c57 header popover touchscreen 2019-09-27 13:09:44 +03:00
yuri
03d06a5919 ui popover 2019-09-27 13:09:28 +03:00
Taras Machyshyn
c02f39cf93 Upgrade: bug fixes 2019-09-27 13:06:22 +03:00
yuri
d064d3ea1c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 12:03:20 +03:00
yuri
670cbc4971 maintenance mode message 2019-09-27 12:01:33 +03:00
yuri
2eedc93d27 modal improvements 2019-09-27 12:01:15 +03:00
yuri
8e80153a1a confirm fix 2019-09-27 11:37:40 +03:00
yuri
a80f1f4662 cs fix 2019-09-27 11:12:43 +03:00
yuri
0602074554 fix stream 2019-09-27 11:06:15 +03:00
Taras Machyshyn
8f49f25057 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-27 10:36:22 +03:00
Taras Machyshyn
374d827edd Upgrade: bug fixes 2019-09-27 10:36:14 +03:00
yuri
6648e9ba02 stream skip own param 2019-09-27 10:36:03 +03:00
yuri
45773c5fce stream performance fix 2019-09-27 10:26:22 +03:00
yuri
c9336b882c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-26 15:43:18 +03:00
Taras Machyshyn
b39d220f82 Added database version checking for upgrades, extensions 2019-09-26 15:42:38 +03:00
yuri
064d63abed acceptance status modal improvement 2019-09-26 15:40:12 +03:00
yuri
104fc41895 css fix 2019-09-26 12:04:34 +03:00
yuri
b0fc7ffd0a job count disabled 2019-09-26 11:38:11 +03:00
yuri
ce2861b337 Merge branch 'master' of github.com:espocrm/espocrm 2019-09-26 11:29:33 +03:00
yuri
ccb5baf025 drop mysql 5.5 2019-09-26 11:29:22 +03:00
Yuri Kuznetsov
ff227c9813 Update README.md 2019-09-26 11:17:51 +03:00
yuri
a3a60713ef lang fix 2019-09-26 10:46:57 +03:00
yuri
5bae4c7968 small screen list wider 2019-09-26 10:25:06 +03:00
yuri
57e7556424 layout manager link param tooltip 2019-09-25 16:57:14 +03:00
yuri
de7e573dbe link manager label fix 2019-09-25 16:43:37 +03:00
yuri
27579a0111 fix webhook 2019-09-25 16:27:44 +03:00
yuri
9933e2bff2 stream user fix 2019-09-25 12:47:06 +03:00
yuri
061aeaeecc stream service use orm 2019-09-25 12:35:56 +03:00
yuri
07eb8daee2 aclStrictMode system param 2019-09-25 11:46:09 +03:00
yuri
1d0fdbd73b aclStrictMode true if not set 2019-09-25 11:39:54 +03:00
yuri
f9a9f60ad4 small screen footer to the bottom 2019-09-25 11:37:35 +03:00
yuri
21bf0953e6 lang fix 2019-09-25 11:27:34 +03:00
yuri
a6b31c48af close notification panel in mobile mode 2019-09-25 10:51:49 +03:00
yuri
62ac499867 css fix 2019-09-24 17:33:52 +03:00
yuri
d7d0e79e4b cs fix 2019-09-24 17:25:03 +03:00
yuri
4667d62ad5 email store when message id is set 2019-09-24 17:24:05 +03:00
yuri
017ac9c547 email store right after send 2019-09-24 17:20:36 +03:00
yuri
b73db26a41 webhook fix 2019-09-24 16:29:57 +03:00
yuri
3634872a33 import support link multiple ids 2019-09-24 15:55:22 +03:00
yuri
cbe6711a83 scheduled job status default 2019-09-24 12:06:56 +03:00
yuri
bcad4a9e88 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:28:31 +03:00
Taras Machyshyn
4b6e6928c6 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:28:17 +03:00
Taras Machyshyn
fe32fd86c5 Fix upgrade tests 2019-09-24 11:28:08 +03:00
yuri
b704730e18 stream dashlet view label 2019-09-24 11:15:35 +03:00
yuri
11562ff515 fix notice 2019-09-24 11:07:03 +03:00
yuri
bf3abeaa1d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-24 11:04:38 +03:00
yuri
3731a5558b note notification number bigint 2019-09-24 10:42:05 +03:00
yuri
66e15a4404 email address lookup access check 2019-09-24 10:36:10 +03:00
yuri
23dc2f09a2 email address search optimization 2019-09-24 10:33:06 +03:00
yuri
925702516c upgrade strong text warning 2019-09-24 10:26:37 +03:00
yuri
5bcea44ecb fix user activities 2019-09-24 10:18:58 +03:00
Taras Machyshyn
054f3851be Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-23 16:52:35 +03:00
Taras Machyshyn
fffa95a206 Improved Upgrade process 2019-09-23 16:50:33 +03:00
yuri
9d9e13a07d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-09-23 16:08:27 +03:00
yuri
afeff90096 fix activities 2019-09-23 16:06:32 +03:00
yuri
fffb214e5d user history performance 2019-09-23 15:48:07 +03:00
Taras Machyshyn
acb8f95929 Fix file permission after copy 2019-09-23 15:42:36 +03:00
yuri
3323e947b6 relation panel set filter ui improvement 2019-09-23 14:48:38 +03:00
yuri
efc4bf2a89 use history query optimization 2019-09-23 14:20:59 +03:00
yuri
47618a3555 lang 2019-09-23 12:23:01 +03:00
yuri
e89694c8b9 user history no count 2019-09-23 11:13:45 +03:00
yuri
69c6b2db1c scheduled job log perfrormance 2019-09-20 16:53:01 +03:00
yuri
89818b2eea scheduled job log index 2019-09-20 16:33:21 +03:00
yuri
806461750a layout manager button group 2019-09-20 15:13:44 +03:00
yuri
8ac7a855cc merge buttons fix 2019-09-20 15:11:12 +03:00
yuri
e85f7a533f select multiple records button style 2019-09-20 15:09:26 +03:00
yuri
b58561e46f stickButtonsFormBottomSelector 2019-09-20 14:54:41 +03:00
yuri
21909f985b stick buttons z-index 5 2019-09-20 14:49:05 +03:00
yuri
a1c0269443 formula field change 2019-09-19 16:58:42 +03:00
yuri
96bdd54782 fix diff 2019-09-19 15:50:31 +03:00
yuri
8d68305e38 v 2019-09-19 15:19:30 +03:00
yuri
554d105aac update mail-mime-parser 2019-09-19 15:16:24 +03:00
yuri
f3681e8ad7 naming fix 2019-09-19 13:54:11 +03:00
yuri
d088225542 bool filter OR 2019-09-19 13:54:01 +03:00
yuri
e4be1156db followed filter use orm 2019-09-19 12:59:51 +03:00
yuri
76599130cf Merge branch 'stable' 2019-09-19 12:31:35 +03:00
yuri
e9208602f6 css fix 2019-09-19 12:00:03 +03:00
yuri
e2f57d4869 formula record attribute 2019-09-18 16:21:22 +03:00
yuri
98dd4bc51c formula record findOne 2019-09-18 16:20:57 +03:00
yuri
cb4356c689 afterClick hook 2019-09-18 13:11:15 +03:00
yuri
99e8642ef6 fix 2019-09-18 12:59:27 +03:00
yuri
e5575ee673 generate password method fix 2019-09-18 12:34:57 +03:00
yuri
e1d7733848 meeting/call do not show send invitees if only own user and accepted 2019-09-18 11:07:10 +03:00
yuri
b08f7de0cb email address fix double escaping 2019-09-18 10:48:12 +03:00
yuri
d83f02010a fix inbound email from address 2019-09-18 10:26:10 +03:00
yuri
02b66272bb markdown hint fix 2019-09-17 17:42:17 +03:00
yuri
4ef3b2975e Merge branch 'hotfix/5.6.14' 2019-09-17 17:36:52 +03:00
yuri
88bc592fcd Merge branch 'hotfix/5.6.14' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.14 2019-09-17 17:35:54 +03:00
yuri
2fe1d892c5 password strength params 2019-09-17 17:05:07 +03:00
Taras Machyshyn
9c2a125365 Field Manager fix 2019-09-17 17:04:36 +03:00
yuri
d21e61bdf5 2fa labels fixes 2019-09-17 14:00:49 +03:00
yuri
a2e6bb6fd9 fix label 2019-09-17 13:37:39 +03:00
yuri
381f4886a9 passwordGenerateLength param 2019-09-17 13:35:31 +03:00
yuri
ab538e1901 password both cases 2019-09-17 13:19:05 +03:00
yuri
506200901d generate and send password 2019-09-17 12:25:13 +03:00
yuri
764b0c6705 fix generate password 2019-09-17 11:59:11 +03:00
yuri
34209c0811 fix passwordRecoveryEnabled 2019-09-17 11:43:29 +03:00
yuri
0e3b94e1bb confirm return promise 2019-09-17 11:28:15 +03:00
yuri
fd95fa73ce generate password improvement 2019-09-17 11:02:26 +03:00
yuri
3f056c8472 ability to disable password recovery 2019-09-16 15:47:06 +03:00
yuri
ef48999614 hide forgot password if smtp is not configured 2019-09-16 14:04:50 +03:00
yuri
087ab2b954 Merge branch 'hotfix/5.6.14' 2019-09-16 12:33:06 +03:00
yuri
e79e75c0d5 text field remove default rows param 2019-09-16 12:32:14 +03:00
yuri
cb37ee88b2 lang fix 2019-09-16 12:14:23 +03:00
yuri
9ead5dad66 stream performance fix 2019-09-16 12:06:04 +03:00
yuri
4b39626b83 stream onlyNotified param 2019-09-16 11:59:19 +03:00
yuri
2b5b7eb601 varchar: support conditional options dynamic logic 2019-09-16 10:50:57 +03:00
yuri
0785e2a059 Merge branch 'hotfix/5.6.14' 2019-09-16 10:48:40 +03:00
yuri
2187073e2b css fix side navbar tab 2019-09-16 10:45:54 +03:00
yuri
3c36e81502 add ouath-callback to build 2019-09-16 10:34:39 +03:00
yuri
fe6b6bc869 enum fix 2019-09-13 16:35:15 +03:00
yuri
d9cdcfa332 markdown in tooltips 2019-09-13 15:38:23 +03:00
yuri
0db2dbc0f3 field manager custom field tooltip 2019-09-13 14:57:47 +03:00
yuri
e319ead6a7 tooltip ascept custom string 2019-09-13 14:50:33 +03:00
yuri
0dae38943f file accept param 2019-09-13 13:58:14 +03:00
yuri
f9e4ae7b71 orm attribute changed check for json object 2019-09-13 13:26:01 +03:00
yuri
2f4f4dc023 Merge branch 'hotfix/5.6.14' 2019-09-13 13:05:21 +03:00
yuri
f8bafa5221 fix orm order 2019-09-13 12:58:44 +03:00
yuri
00a0cb1394 fix test 2019-09-13 12:58:31 +03:00
yuri
3a37f8421d fix action handler 2019-09-13 12:25:50 +03:00
yuri
2dbde4e2c8 fix detail action label 2019-09-13 11:58:04 +03:00
yuri
98084e9314 formula addLinkMultipleId do not throw error 2019-09-13 11:37:55 +03:00
yuri
2946969e3a detail custom actions 2019-09-13 11:36:01 +03:00
yuri
75c3891654 action history user type 2019-09-12 17:21:51 +03:00
yuri
c0866c8fea fix email template insert 2019-09-12 16:57:19 +03:00
yuri
5d3a785a49 v 2019-09-12 16:41:20 +03:00
yuri
4bcf88dcee fix mail sender 2019-09-12 16:39:32 +03:00
yuri
889f976c5f Merge branch 'stable' 2019-09-12 11:21:51 +03:00
yuri
022d9a42ec transfromMarkdownText 2019-09-12 11:06:57 +03:00
yuri
ac80f67533 fix view helper 2019-09-11 15:55:02 +03:00
yuri
1ffbf63731 dynamicLogicOptions field param 2019-09-11 15:26:14 +03:00
yuri
83fa22852a lang no quote escaping 2019-09-10 16:52:42 +03:00
yuri
7ffd8a54a1 v 2019-09-10 11:07:44 +03:00
yuri
739cb5e98f emailFoldersDisabled param 2019-09-10 11:04:13 +03:00
yuri
f5e1b7175e utils checkActionAvailability 2019-09-10 11:03:56 +03:00
yuri
81cb2aaeb8 fix navbar tpl 2019-09-09 13:28:53 +03:00
yuri
bc54bafc3a lang 2019-09-09 13:26:56 +03:00
yuri
fe635064d5 Merge branch 'stable' 2019-09-06 16:36:18 +03:00
yuri
01ba132a62 field manager fix 2019-09-06 16:19:49 +03:00
yuri
ac318bb302 Merge branch 'hotfix/5.6.12' 2019-09-06 15:21:57 +03:00
yuri
4b31173355 multi enum fix 2019-09-06 15:21:39 +03:00
yuri
34cd265fc1 afterRelate hook for link multiple save 2019-09-04 11:27:27 +03:00
yuri
22f19c0ac9 Merge branch 'hotfix/5.6.12' 2019-09-03 11:05:06 +03:00
yuri
93f8ef9daa Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-09-03 11:04:15 +03:00
Taras Machyshyn
81ffbc8e6d Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-09-02 18:18:40 +03:00
Taras Machyshyn
061dda1a1e Fixed index name issue 2019-09-02 18:18:30 +03:00
yuri
c83a24794d hide console commands metadata 2019-09-02 14:52:44 +03:00
yuri
5ab6d25e82 fix dashboard fallback css 2019-09-02 10:31:19 +03:00
yuri
36aab22272 metadata loaders hidden 2019-09-02 10:27:08 +03:00
yuri
a21d5dba9f fix detail nav buttons 2019-08-30 16:33:08 +03:00
yuri
bb8e543509 preferences: hide smtp if email accoint is available 2019-08-30 16:01:31 +03:00
yuri
b93112aaff group email accont refactoring 2019-08-30 15:44:25 +03:00
yuri
c303ec9479 smtp send test fix 2019-08-30 14:04:39 +03:00
yuri
76f10fefa3 css fix 2019-08-30 12:42:44 +03:00
yuri
becd564420 user calendar button icon 2019-08-30 12:41:29 +03:00
yuri
c4f3c1dbd1 email account ui improvement 2019-08-30 12:36:41 +03:00
yuri
f4d1b4a5b8 email account: smtp auth mechanism param 2019-08-30 12:22:01 +03:00
yuri
045264d95f formula tests 2019-08-29 12:49:57 +03:00
yuri
797fab769f Merge branch 'hotfix/5.6.12' 2019-08-29 10:46:42 +03:00
yuri
41d8605e17 fix typo 2019-08-29 10:41:56 +03:00
yuri
18bcaf7e6e Merge branch 'hotfix/5.6.12' 2019-08-28 16:59:30 +03:00
yuri
13a2ba47e7 fix wysiwyg 2019-08-28 16:58:33 +03:00
yuri
1ef60781a0 custom navbar view 2019-08-28 16:43:04 +03:00
yuri
64dfad8cc1 orm binary function 2019-08-28 16:14:25 +03:00
yuri
9862c6d960 list layout fix not sortable fields 2019-08-28 15:39:59 +03:00
yuri
1cfa5ce2b3 fix link multiple list overflow 2019-08-28 13:51:24 +03:00
yuri
4a09baef3a fix layout manager 2019-08-28 12:50:21 +03:00
yuri
5893243ae3 Merge branch 'hotfix/5.6.12' 2019-08-28 12:13:44 +03:00
yuri
4c598d19b5 link one empty filters 2019-08-28 12:13:27 +03:00
yuri
dbc5a47d79 link one empty filters 2019-08-28 12:13:10 +03:00
yuri
0fda920610 acl portal changes and tests 2019-08-28 11:57:12 +03:00
yuri
a6a6ce6722 fix layout 2019-08-28 10:37:23 +03:00
yuri
4db421a75f stream note changes 2019-08-27 17:09:32 +03:00
yuri
3f6cfe3749 stream notes created modified by 2019-08-27 17:00:09 +03:00
yuri
ec9653ff48 fix typo 2019-08-27 15:51:09 +03:00
yuri
24c19f12e5 convert currency changes 2019-08-27 15:45:06 +03:00
yuri
172bba9de5 record service setUser 2019-08-27 15:27:56 +03:00
yuri
7d4227c98d Merge branch 'hotfix/5.6.12' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.12 2019-08-27 15:19:15 +03:00
yuri
4e64ebb346 record service setAcl 2019-08-27 15:18:56 +03:00
Taras Machyshyn
1102e9f1e8 Added support PHPUnit 8 2019-08-27 14:57:31 +03:00
yuri
f5f16a7eb3 convert currency fixes 2019-08-27 12:28:51 +03:00
yuri
7901df4221 covnert currency all fields 2019-08-27 12:09:50 +03:00
yuri
41b114684e mass update currency stubs 2019-08-27 11:59:58 +03:00
yuri
03788be209 client field manager fix 2019-08-27 11:56:34 +03:00
yuri
685226c4d4 fix convert currency 2019-08-27 11:50:01 +03:00
yuri
f8d9548ed5 convert currency detail view action and fixes 2019-08-27 11:40:03 +03:00
yuri
49798c8f7f convert currency fix 2019-08-27 10:56:56 +03:00
yuri
ab4e85ea45 client field manager improvements 2019-08-27 10:56:44 +03:00
yuri
7d7d2d4276 convert currency fix 2019-08-27 10:28:34 +03:00
Taras Machyshyn
607ee9a080 Fix errors in a test 2019-08-26 17:13:33 +03:00
yuri
3f3b65ad90 revert 2019-08-23 16:42:22 +03:00
yuri
354866a809 fix convert currency 2019-08-23 16:41:14 +03:00
yuri
58cda4f31a convert currency mass action 2019-08-23 16:15:28 +03:00
yuri
454c388d10 grid layout highlight droppable 2019-08-23 14:53:10 +03:00
yuri
e0125fa8f9 layout manager css load 2019-08-23 14:44:21 +03:00
yuri
540c594b1c loader fix 2019-08-23 14:44:09 +03:00
yuri
025ac8fe34 update bull js 2019-08-23 14:43:47 +03:00
yuri
6d18cac9a9 contact side panel layout 2019-08-23 13:33:37 +03:00
yuri
f555ee9f9d side panel fields layout 2019-08-23 13:20:48 +03:00
yuri
5ac2e9b516 grid layout with 3 and 4 cells in row 2019-08-22 16:38:02 +03:00
yuri
2cc8c3710f not actual statuses 2019-08-22 13:09:17 +03:00
yuri
72d93cbae4 Merge branch 'hotfix/5.6.12' 2019-08-22 12:15:40 +03:00
yuri
e30838cf27 link fields empty name fix 2019-08-22 12:10:08 +03:00
yuri
790355fb63 lead converted at 2019-08-22 11:46:46 +03:00
yuri
371fbf9864 email skip index if filter 2019-08-21 16:35:45 +03:00
yuri
6e157db23d fix preferences cancel 2019-08-21 15:26:22 +03:00
yuri
85c3d6c4e5 assignment notifications in preferences 2019-08-21 13:53:50 +03:00
yuri
d947236bcc checklist field 2019-08-21 12:44:51 +03:00
yuri
98343cb099 Merge branch 'hotfix/5.6.12' 2019-08-21 12:44:27 +03:00
Taras Machyshyn
e3ac8c3f67 Bug fixes for url params util 2019-08-20 13:58:37 +03:00
Taras Machyshyn
2087894c3a Added 'binary' option for a field 2019-08-19 17:21:00 +03:00
yuri
5c00a7ad43 fix email fitler duplicate 2019-08-19 11:44:25 +03:00
yuri
fe0dcc5342 remove duplicate label 2019-08-19 11:24:34 +03:00
Taras Machyshyn
f05381cc43 Corrected file permissions 2019-08-15 17:18:08 +03:00
yuri
a9a30d7237 duplicate silent confict exception 2019-08-14 13:09:22 +03:00
yuri
5312c1d141 image original link 2019-08-14 12:07:51 +03:00
yuri
a97d516c4f restrict common entity type name 2019-08-13 17:03:28 +03:00
Taras Machyshyn
16c24abb55 Integration tests: create database if not exists 2019-08-13 16:09:02 +03:00
Taras Machyshyn
ed897e9b97 Util changes 2019-08-13 11:56:15 +03:00
Taras Machyshyn
b4b222c1d7 Unit tests for sanitizeHtml() 2019-08-12 15:23:29 +03:00
yuri
a68d711249 summernote fix fullscreen 2019-08-12 15:15:57 +03:00
Taras Machyshyn
d6834f7f97 Installer changes 2019-08-12 14:53:11 +03:00
Taras Machyshyn
20818659e8 Installer changes 2019-08-12 14:49:25 +03:00
yuri
1c668ce983 signature toolbar 2019-08-12 11:39:59 +03:00
yuri
a9dacd74c6 v 2019-08-12 10:56:29 +03:00
yuri
b7c9ddc4e6 auth token secret fixes 2019-08-12 10:56:11 +03:00
yuri
d5ee599f9f language fix 2019-08-12 10:25:12 +03:00
yuri
252d6bccd3 Merge branch 'stable' 2019-08-10 19:16:13 +03:00
yuri
742f4e21b5 comment out auth token secret 2019-08-10 19:11:03 +03:00
yuri
78fc80a619 v 2019-08-10 19:08:57 +03:00
yuri
5a30c6a229 Merge branch 'stable' 2019-08-09 15:26:37 +03:00
yuri
e74fdce568 notifications lower case first 2019-08-09 15:17:16 +03:00
yuri
20139a88af email reply fix 2019-08-09 12:55:54 +03:00
yuri
3d1f632a73 fix lead capture 2019-08-09 12:29:00 +03:00
yuri
9e459e1287 escape error message 2019-08-09 12:22:10 +03:00
yuri
7b9cf6c039 wysiwyg fixes 2019-08-09 12:00:04 +03:00
yuri
1cebef107e dompurify target blank 2019-08-09 11:59:19 +03:00
yuri
47fe232c78 summernote css fixes 2019-08-09 11:31:32 +03:00
yuri
2c458a69a1 skipReRender and summernote fixes 2019-08-09 10:47:09 +03:00
yuri
54a290121e summernote fixes 2019-08-08 19:06:53 +03:00
yuri
11420dc0af summernote updates 2019-08-08 18:51:52 +03:00
yuri
957680a3d0 wysiwyg custom dialogs 2019-08-08 18:18:09 +03:00
yuri
3c6e19f4c0 wysiwyg codeviewFilter 2019-08-08 15:04:33 +03:00
yuri
4253915eed update summernote 2019-08-08 14:56:12 +03:00
yuri
da34789020 remove not needed escaping 2019-08-08 13:10:53 +03:00
yuri
cc057af59a filename escaping 2019-08-08 12:46:31 +03:00
yuri
ebaa3ed958 Merge branch 'hotfix/5.6.10' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.10 2019-08-08 11:49:05 +03:00
yuri
307c045c0e css fixes 2019-08-08 11:44:24 +03:00
Taras Machyshyn
8e09b81cf0 Fix instalation warnings 2019-08-08 10:16:08 +03:00
yuri
f40aeb0830 keep admin view on return 2019-08-07 14:31:42 +03:00
yuri
135b56001c admin icons 2019-08-07 12:38:54 +03:00
yuri
cc97454c58 Merge branch 'hotfix/5.6.10' 2019-08-07 12:00:19 +03:00
yuri
9d3e3e282f more admin icons 2019-08-07 11:56:53 +03:00
yuri
1bcd54dfe1 wysiwyg dom purify for edit except pdf templates 2019-08-07 11:19:41 +03:00
yuri
727f3a4707 attachment entry point allow only image types 2019-08-07 10:49:28 +03:00
yuri
d5473f9985 css fix 2019-08-06 17:54:39 +03:00
yuri
85c06f7ca3 admin icons 2019-08-06 17:42:41 +03:00
yuri
1d4d9882b6 portal users default order by date 2019-08-06 16:00:54 +03:00
yuri
e633984f7e fix tests 2019-08-06 15:15:09 +03:00
yuri
2dabecbae3 acl strict mode by default 2019-08-06 14:59:55 +03:00
yuri
1a4e40d0cd login 2nd step send header 2019-08-06 13:56:19 +03:00
yuri
6ea5ed4f55 merge manual 2019-08-06 13:55:59 +03:00
yuri
c0800a4d16 auth token secret 2019-08-06 13:37:34 +03:00
yuri
85c62c0789 dashlets wo scroll on small screen 2019-08-06 12:48:50 +03:00
yuri
551e82ad8b css fixes 2019-08-06 11:11:30 +03:00
yuri
7f4328499b task priority on activities dashlet 2019-08-06 11:05:29 +03:00
yuri
de4d794d72 mention de_DE template 2019-08-06 10:31:28 +03:00
yuri
e2e374301a escape string 2019-08-05 16:58:22 +03:00
yuri
7a919dedfd lead capture improvements 2019-08-05 16:47:12 +03:00
yuri
06c8cbac52 mail sender fix 2019-08-05 16:29:52 +03:00
yuri
f54ad3ab0d lead capture dont log twice 2019-08-05 15:43:42 +03:00
yuri
197fb26beb campaign log filter 2019-08-05 15:30:32 +03:00
yuri
9e4582af17 langauge sanitize 2019-08-05 15:25:52 +03:00
yuri
b399c4444d global restriction fix 2019-08-05 14:05:04 +03:00
yuri
b7e9e69f35 confirm leave out backdrop 2019-08-05 10:27:49 +03:00
yuri
105b6444ed fix popovers 2019-08-02 17:16:16 +03:00
yuri
3559ff9f4e de lang fix 2019-08-02 16:54:04 +03:00
yuri
4be2962567 remove html from language 2019-08-02 16:46:48 +03:00
yuri
1cce748af5 fix test 2019-08-02 15:22:12 +03:00
yuri
64d3e3b5dd acl globalrestriction test 2019-08-02 15:18:47 +03:00
yuri
2e0233a239 task priority label 2019-08-02 15:07:26 +03:00
yuri
5b4bd88907 case priority label 2019-08-02 15:05:40 +03:00
yuri
6176ead935 GlobalRestricton cache fix 2019-08-02 14:12:07 +03:00
yuri
46ddf3b127 language fixes 2019-08-02 13:58:25 +03:00
yuri
2944e64de5 css fix 2019-08-02 12:23:44 +03:00
yuri
372cf20145 css fixes 2019-08-01 18:38:57 +03:00
yuri
de68227d49 Merge branch 'hotfix/5.6.10' 2019-08-01 17:14:26 +03:00
yuri
633cc12650 css fixes 2019-08-01 16:51:39 +03:00
yuri
202d799436 header changes 2019-08-01 16:44:59 +03:00
yuri
f14d12853b header grid auto fit 2019-08-01 16:13:49 +03:00
yuri
a98f7f5068 lead capture optInDateTime placeholder 2019-08-01 13:55:47 +03:00
yuri
ebe249bd6b mobile ui fixes 2019-08-01 12:31:04 +03:00
yuri
7957296479 fix 2019-07-31 16:48:08 +03:00
yuri
b7eac5ba42 flexible titles 2019-07-31 16:43:54 +03:00
yuri
14cab0dbde dashboard changes 2019-07-31 15:26:41 +03:00
yuri
5db39d14e7 Merge branch 'hotfix/5.6.10' of github.com:espocrm/espocrm into hotfix/5.6.10 2019-07-31 13:06:49 +03:00
yuri
cf473d6f16 ui improvements 2019-07-31 13:06:40 +03:00
Karthik Bhat K
a082ea6acc added use Forbidden and removed unused class (#1372) 2019-07-31 09:06:47 +03:00
yuri
f770074be2 v 2019-07-30 18:53:33 +03:00
yuri
106e7726ba xs view navbar improvements 2019-07-30 18:50:50 +03:00
yuri
ed0ca19ed5 Merge branch 'hotfix/5.6.10' 2019-07-30 15:50:36 +03:00
yuri
e680be54ad fix mapper 2019-07-30 14:58:56 +03:00
yuri
3224795368 sth collection fix 2019-07-30 13:41:09 +03:00
yuri
ec5bd78a33 access modal backdrop 2019-07-30 12:43:36 +03:00
yuri
d0c5d2aace lead capture hooks 2019-07-30 11:26:16 +03:00
yuri
f8d0688f2f fix invalid json 2019-07-30 11:07:31 +03:00
yuri
2b2b2b9faa Merge branch 'hotfix/5.6.9' 2019-07-30 11:07:02 +03:00
yuri
ed4ce1a36e user disable mass update emailAddress and unset password 2019-07-30 11:06:42 +03:00
yuri
a6d7f91a58 disable inline edit for user type 2019-07-30 11:03:06 +03:00
yuri
f6f6c2b2ac email signature fit height 2019-07-30 11:01:51 +03:00
yuri
8c628df639 fix typo 2019-07-30 10:59:06 +03:00
yuri
ffd3f762ce xss fixes 2019-07-30 10:57:44 +03:00
yuri
24628a8487 returnSthCollection param 2019-07-29 17:56:15 +03:00
yuri
573d147dad v 2019-07-29 13:13:45 +03:00
yuri
4ab767e95b hook service factrory 2019-07-29 12:50:04 +03:00
yuri
18b64238ee fix list expanded overflow 2019-07-29 12:48:34 +03:00
yuri
65ded811b4 calendar height fix 2019-07-26 16:50:39 +03:00
yuri
57f454693a lead capture addition 2019-07-26 10:59:07 +03:00
yuri
b6409b5cba panel list border top 2019-07-26 10:42:47 +03:00
yuri
e6a83f7d19 reset button text 2019-07-26 10:35:16 +03:00
yuri
c39e1d140f css flip class 2019-07-26 10:35:10 +03:00
yuri
1c69f1ca95 categories fix 2019-07-25 17:50:30 +03:00
yuri
a21c071349 categories panel style change 2019-07-25 17:46:12 +03:00
yuri
d8d8e68914 Merge branch 'stable' 2019-07-25 17:35:47 +03:00
yuri
741a6d5dab wysiwyg fixes 2019-07-25 16:25:18 +03:00
yuri
0c0a602330 list w categoties expand when text search 2019-07-25 13:06:30 +03:00
yuri
7d13018eba fix category expanding storing 2019-07-25 12:38:20 +03:00
yuri
44c65c0117 kb min body height in portal 2019-07-25 11:59:00 +03:00
yuri
e9e758c4b3 v 2019-07-25 11:26:02 +03:00
yuri
7e7acb8d28 fix template comments stripped 2019-07-25 11:25:48 +03:00
yuri
4b28687c37 gMerge branch 'stable' 2019-07-24 16:27:31 +03:00
yuri
1ab897db28 fix email address field 2019-07-24 16:17:22 +03:00
yuri
1a990850ca add MMK currency 2019-07-24 16:05:37 +03:00
yuri
36e360e167 v 2019-07-24 15:49:55 +03:00
yuri
9ffdb1a1f0 title for some fields in list mode 2019-07-24 13:00:08 +03:00
yuri
64b15f9282 stream dont show create post for portal 2019-07-24 12:54:37 +03:00
yuri
e8ebe51f1c note create acl 2019-07-24 12:53:03 +03:00
yuri
ec2a7d2f48 fix no join name null 2019-07-24 12:25:24 +03:00
yuri
6782e7c15c dashboard fixes 2019-07-24 12:20:02 +03:00
yuri
3c73e3e8cf more string escaping 2019-07-24 12:04:24 +03:00
yuri
321306c42d Merge branch 'stable' 2019-07-23 18:22:53 +03:00
yuri
4ab7d19776 xss fixes 2019-07-23 17:50:02 +03:00
yuri
92864d9133 fix typo 2019-07-23 14:21:39 +03:00
yuri
34e33bd13a searchPanelInPortalDisabled 2019-07-23 13:29:01 +03:00
yuri
49fa22fa3d v 2019-07-23 11:37:07 +03:00
yuri
10fcd79155 portal home tab 2019-07-23 11:36:39 +03:00
yuri
00598170af fix user dashboard template 2019-07-22 18:33:44 +03:00
yuri
ac5b2f38d4 portal user dashboard template 2019-07-22 18:29:21 +03:00
yuri
82d486a2b4 Merge branch 'hotfix/5.6.6' 2019-07-22 18:27:25 +03:00
yuri
6cdc8f2823 mass update for portal users 2019-07-22 15:07:40 +03:00
yuri
d611ebfc86 cleanup try catch 2019-07-22 14:04:21 +03:00
yuri
599a7c6080 cleanup record service method 2019-07-22 13:53:02 +03:00
yuri
4c21f1192d email send: dont fail if attachment deleted 2019-07-22 13:00:25 +03:00
yuri
63e78baf21 fix orm join conditions 2019-07-22 12:46:14 +03:00
yuri
fa2c689a34 email skip index when search by link 2019-07-19 17:37:05 +03:00
yuri
a53b440b8b mass update hide not accessible fields 2019-07-19 17:13:30 +03:00
yuri
8189832af2 style option color 2019-07-19 17:07:58 +03:00
yuri
135f869e1a dynamic logix support currency 2019-07-19 13:12:18 +03:00
yuri
2d56525a25 fix autocomplete empty name 2019-07-19 12:57:48 +03:00
yuri
9e78276f3d Merge branch 'hotfix/5.6.5' 2019-07-18 17:23:53 +03:00
yuri
03773dd929 fix xss document file 2019-07-18 17:10:20 +03:00
yuri
5b8dba68f3 fix orm getAllAttributesFromComplexExpression 2019-07-18 16:55:55 +03:00
yuri
f63c75e18d v 2019-07-18 16:37:09 +03:00
yuri
6dd0bd8b90 sanitize wysiwyg 2019-07-18 16:36:00 +03:00
yuri
94e86f875a lead capture changes 2019-07-18 13:43:35 +03:00
yuri
b582b20003 array field improvement 2019-07-17 13:02:24 +03:00
yuri
e58e82eea1 entry point dont log stop error 2019-07-17 12:14:11 +03:00
yuri
dddc4feda8 image silent error not found 2019-07-17 12:13:52 +03:00
yuri
a65421a268 pt br lang 2019-07-17 12:01:45 +03:00
yuri
b6696dcc26 ru lang 2019-07-17 11:59:35 +03:00
yuri
4e3d8fb98f pl lang 2019-07-17 11:58:53 +03:00
yuri
e0aaff932e nl lang 2019-07-17 11:58:08 +03:00
yuri
bd61c12ea2 Merge branch 'stable' 2019-07-17 11:26:23 +03:00
yuri
17ea760851 layout fix 2019-07-16 17:55:57 +03:00
yuri
f3d11aede3 disable inlide edit for email accounts 2019-07-16 14:23:56 +03:00
yuri
8053d65f33 dynamic logic in options 2019-07-16 11:00:48 +03:00
yuri
01809d2cc3 confirm focus 2019-07-16 10:47:21 +03:00
yuri
ac8e3d1a69 fix portal base path 2019-07-16 10:41:47 +03:00
yuri
b669ccf733 fix portal isCustom undefined 2019-07-16 10:22:26 +03:00
yuri
8c42c6bf0b fix bool opted out search 2019-07-16 10:17:06 +03:00
yuri
97bdd22795 sanitize complex text 2019-07-15 12:37:23 +03:00
yuri
0f3cd7913c link skip acl param 2019-07-11 16:54:49 +03:00
yuri
502cfc8d76 fix foreign enum 2019-07-11 10:40:52 +03:00
yuri
010f757452 totp fix input max length 2019-07-10 13:26:03 +03:00
yuri
4230f768e5 login form fix 2019-07-10 13:22:36 +03:00
yuri
4197f30ad5 frontendHiddenPathList in metadata 2019-07-10 12:27:13 +03:00
yuri
b4eecbd0af fix 2fa 2019-07-10 12:14:24 +03:00
yuri
6560c0e0bd 2fa totp 2019-07-10 12:04:18 +03:00
yuri
d31e826305 fix websocket 2019-07-08 16:18:22 +03:00
yuri
a9f2fe8590 Merge branch 'hotfix/5.6.4' 2019-07-05 11:31:42 +03:00
yuri
28a62a2581 auth method list from metadata 2019-07-05 11:31:29 +03:00
yuri
0d4b548160 auth prepare for 2 factor 2019-07-04 16:44:41 +03:00
yuri
2240819930 Merge branch 'hotfix/5.6.4' 2019-07-04 14:39:09 +03:00
yuri
deff6bad36 login page changes 2019-07-04 13:30:36 +03:00
yuri
f2bc80b7d9 auth settings changes 2019-07-04 12:15:29 +03:00
yuri
b5b5cac0ac calendar mode buttons improvement 2019-07-03 13:25:54 +03:00
yuri
308f30510b calendar css fixes 2019-07-03 11:51:35 +03:00
yuri
574513a9c8 fix navbar more scroll 2019-07-03 11:27:52 +03:00
yuri
f37bc7d46b external account token renewal fix 2019-07-02 16:09:25 +03:00
yuri
9f5db434df fix attachment multiple 2019-07-02 15:54:41 +03:00
yuri
1c8abd6e36 mutliple attachment multiple fields 2019-07-02 15:46:10 +03:00
yuri
c95fcd6fbd action configCheck 2019-07-01 16:31:02 +03:00
yuri
e6009366e8 version 2019-07-01 12:47:27 +03:00
yuri
286502d872 cssList fix 2019-07-01 12:47:07 +03:00
yuri
0749bdc006 cs fix 2019-07-01 12:45:54 +03:00
yuri
72ef137dbe fix app js logout request url 2019-07-01 12:45:50 +03:00
yuri
f624bdef5c settings global params 2019-07-01 12:30:44 +03:00
yuri
9730680e41 fix htmlizer 2019-07-01 10:30:23 +03:00
yuri
5d857f6a86 install css font weight fix 2019-06-27 12:21:52 +03:00
yuri
44947f8844 Merge branch 'hotfix/5.6.4' 2019-06-27 12:18:50 +03:00
yuri
c59fa40615 log exception message line and file 2019-06-27 11:51:34 +03:00
yuri
4dc08dd37c custom login view 2019-06-27 11:34:35 +03:00
yuri
e76c7564dc custom unsubscribe template 2019-06-27 11:05:44 +03:00
yuri
802bac82f0 fix create activity from panel 2019-06-26 16:37:58 +03:00
yuri
172af61b6b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-06-26 15:23:10 +03:00
yuri
e6bdaa1c86 Merge branch 'stable' 2019-06-26 15:22:52 +03:00
yuri
c64cc13e4c link additional select params 2019-06-26 12:06:30 +03:00
yuri
30be62eabe fix google maps 2019-06-26 10:37:16 +03:00
yuri
1c1703b349 fix pdf 2019-06-25 13:35:50 +03:00
yuri
6916f3242c external account after connect hook 2019-06-25 11:07:32 +03:00
yuri
d2630a5c3f fix deleted user view 2019-06-24 14:25:52 +03:00
yuri
3e02776fcd email fixes 2019-06-24 13:29:45 +03:00
yuri
376bfe63e0 fix meeting set held 2019-06-20 16:33:09 +03:00
yuri
950a3b4703 calendar fix 2019-06-20 13:35:02 +03:00
yuri
2f5ffb7421 external acount acl 2019-06-18 13:32:18 +03:00
yuri
043ef8ef3e oauth client support header string 2019-06-13 16:30:10 +03:00
yuri
a959a2deaf view followers all users 2019-06-12 15:33:08 +03:00
yuri
65a3f4e5f3 external account return uri path 2019-06-12 13:36:34 +03:00
yuri
97355ad024 fix redirect uri 2019-06-12 11:26:50 +03:00
yuri
99300d2d61 integration redirect uri custom 2019-06-12 11:24:11 +03:00
yuri
e070d9d9f1 oauth-callback file 2019-06-12 11:11:43 +03:00
yuri
77a884c951 add field in modal 2019-06-10 15:54:28 +03:00
yuri
6a2974845a dashboard template append 2019-06-10 14:51:08 +03:00
yuri
0095cfd68c dashboard tab id 2019-06-10 13:36:25 +03:00
yuri
22f0e5b399 dashboard layout fix 2019-06-10 12:58:14 +03:00
yuri
1abc853bc5 dashboard templates 2019-06-10 12:37:35 +03:00
yuri
6f9dc66104 entity manager fetchEntity function 2019-06-10 12:37:23 +03:00
yuri
d9094238c1 edit for modal 2019-06-10 12:14:23 +03:00
yuri
25ea320042 Merge branch 'hotfix/5.6.3' 2019-06-10 10:41:07 +03:00
yuri
8f9bb79978 button handler init 2019-06-07 16:37:02 +03:00
yuri
405a5c29df layout manager css fix 2019-06-07 14:24:20 +03:00
yuri
4f2a2b290b fix calendar custom event 2019-06-07 11:32:30 +03:00
yuri
fd5218c10b btn-text color 2019-06-06 16:05:22 +03:00
yuri
73ab4aa42e meeting modal acceptance right 2019-06-06 13:16:48 +03:00
yuri
66a60b1257 timeline tpl change 2019-06-06 12:53:39 +03:00
yuri
c975954944 stream page btn-text 2019-06-06 12:42:47 +03:00
yuri
86799ed742 btn-text normal weight 2019-06-06 12:41:34 +03:00
yuri
0c143eb8a1 Merge branch 'hotfix/5.6.3' 2019-06-06 11:45:40 +03:00
yuri
1da6eca3be update npm packages 2019-06-06 11:45:31 +03:00
yuri
a462158582 category folder style fix 2019-06-05 16:22:35 +03:00
yuri
152b8991d3 email apply filters on sending 2019-06-05 14:15:36 +03:00
yuri
5adcf013d7 fix client manager 2019-06-05 12:56:02 +03:00
yuri
9d6401cbd3 fix iframe css 2019-06-05 12:49:49 +03:00
yuri
9f178bb467 next/prev fix on email remove to trash 2019-06-05 12:45:59 +03:00
yuri
f3b2cc9bcb cleanup 2019-06-05 12:19:10 +03:00
yuri
b18a8c1b2b fix 2019-06-05 12:15:42 +03:00
yuri
30dd7e560b search buttons narrow on small screen 2019-06-05 11:51:57 +03:00
yuri
ca35a4df75 fix dashboard tpl 2019-06-05 11:46:01 +03:00
yuri
fe0a6d1a8b map none label 2019-06-05 11:43:46 +03:00
yuri
f9223087df xlsx export array 2019-06-05 11:26:46 +03:00
yuri
f3980ef9a1 fix theme manager default css 2019-06-05 11:09:50 +03:00
yuri
93553d18fc fix job text filter 2019-06-05 11:05:05 +03:00
yuri
e35561093d css fix 2019-05-20 16:37:43 +03:00
yuri
b0742aa0c6 edit dashboard fix 2019-05-20 15:46:03 +03:00
yuri
efad2b142a font fixes 2019-05-20 15:40:50 +03:00
yuri
362f895e72 client link crossorigin 2019-05-20 15:22:26 +03:00
yuri
224b73eb89 font fix 2019-05-20 15:00:48 +03:00
yuri
c4cf45e7f8 fix preload font 2019-05-20 14:46:28 +03:00
yuri
cb45e57a99 client link noTimestamp 2019-05-20 14:00:50 +03:00
yuri
e7f62f79ef font swap 2019-05-20 13:56:21 +03:00
yuri
6fb21ccd77 client links 2019-05-20 13:51:05 +03:00
yuri
f55d814cbb font display block 2019-05-20 13:50:58 +03:00
yuri
8fa22a6c7d css fix 2019-05-20 13:18:03 +03:00
yuri
b86ca3a4ec stream popover fix 2019-05-20 12:19:54 +03:00
yuri
ab51e70ff4 add dashlet style fix 2019-05-20 12:02:38 +03:00
yuri
0bde83c0e7 css fix 2019-05-20 11:49:04 +03:00
yuri
589754851c font update 2019-05-20 11:47:27 +03:00
yuri
253930ba6d btn-text fix 2019-05-20 10:40:46 +03:00
yuri
09c19bbba5 remove cancel buttons from 2 modals 2019-05-17 16:38:41 +03:00
yuri
ac96ebffa5 btn-text 2019-05-17 16:10:26 +03:00
yuri
f01715452f last viewed date short 2019-05-17 13:18:19 +03:00
yuri
875b01dcd6 lastViewed metadata scopes param 2019-05-17 13:16:07 +03:00
yuri
61def7e332 pdf currency symbol 2019-05-17 12:50:36 +03:00
yuri
86b24ff618 orm field type attribute role 2019-05-17 12:50:27 +03:00
yuri
1d29d74204 cs fix 2019-05-17 12:46:39 +03:00
yuri
2cf820e181 user activities fix and optimization 2019-05-16 16:53:09 +03:00
yuri
bf8ab4dec2 account shipping address copy button hidden 2019-05-16 16:18:41 +03:00
yuri
7b772bde3c cs fix 2019-05-16 15:24:12 +03:00
Taras Machyshyn
16bad37dc5 Installer config improvements 2019-05-16 12:41:17 +03:00
Taras Machyshyn
76b8009323 Gruntfile: ignore installation config 2019-05-16 12:31:59 +03:00
yuri
d67f806ec8 remove tabs 2019-05-16 12:21:38 +03:00
yuri
72bed367e4 webhooks 2019-05-16 12:19:42 +03:00
yuri
fe2a4f91ee Merge branch 'hotfix/5.6.3' 2019-05-16 12:19:18 +03:00
Taras Machyshyn
471dd1ab49 Added config file for installation 2019-05-16 11:56:43 +03:00
Taras Machyshyn
8efc395ca1 FileManager fix 2019-05-15 15:54:01 +03:00
yuri
dfbad82ba8 version 2019-05-15 14:34:11 +03:00
yuri
84938d88fc fix cleanup deleted records 2019-05-15 14:24:44 +03:00
yuri
ed5f66729d date time getSystemNowString 2019-05-14 16:49:47 +03:00
yuri
ee5218c46d orm entity id is changed fix 2019-05-14 15:48:27 +03:00
yuri
6758d71e2e lead capture skip email address is opted out field 2019-05-13 15:11:58 +03:00
yuri
1eec3d88cf integration test auth method 2019-05-13 12:31:49 +03:00
yuri
34f1c196f1 fix command upgrade msg 2019-05-13 10:43:59 +03:00
yuri
a87e2fb5db css fix 2019-05-13 10:25:57 +03:00
yuri
cecafa5e28 diff only one version from 2019-05-10 16:25:54 +03:00
yuri
a0e5f2d8ec cleanup 2019-05-10 16:06:58 +03:00
yuri
47080f9b78 search view changes 2019-05-10 16:06:41 +03:00
yuri
07fa53d0c2 Merge branch 'hotfix/5.6.2' 2019-05-10 15:04:36 +03:00
yuri
dd15767263 email is replied for expanded list 2019-05-10 13:37:28 +03:00
yuri
a698085196 list expanded changes 2019-05-10 12:48:06 +03:00
yuri
2d4e1a94a4 add dashlet modal change 2019-05-10 12:02:28 +03:00
yuri
dad49b9ac8 create button icon 2019-05-10 11:57:54 +03:00
yuri
c5c1abaeff Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-10 11:35:12 +03:00
yuri
eb4f933753 css list margin on wide screen 2019-05-10 11:34:49 +03:00
yuri
931f27cb70 css fix 2019-05-10 11:10:22 +03:00
Taras Machyshyn
e6e00d4c7f Bug fixes 2019-05-10 11:05:57 +03:00
yuri
3cf48129c6 css layout centered 2019-05-10 11:04:45 +03:00
yuri
b50bf02e90 updgrate info text 2019-05-09 17:36:02 +03:00
yuri
431e3428b3 fix wysiwyg stripping event handlers 2019-05-09 16:01:25 +03:00
yuri
6d2e056b10 email import not fetched text 2019-05-09 15:24:56 +03:00
yuri
1cbfacc864 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 12:53:59 +03:00
Taras Machyshyn
f2b51d321f Fix 2019-05-09 12:53:32 +03:00
yuri
0fe0b8906c Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 11:41:26 +03:00
Taras Machyshyn
0876f03fe4 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-09 11:41:08 +03:00
yuri
dd239af810 orm metadata index 2019-05-09 11:40:01 +03:00
Taras Machyshyn
5f2fae940c Added index key for ORM metadata 2019-05-09 10:52:55 +03:00
Taras Machyshyn
02f94875b1 Added defined index names 2019-05-09 10:27:39 +03:00
yuri
52536f9803 record service fix 2019-05-08 15:15:50 +03:00
yuri
7f963bd9f3 pass model to view after create 2019-05-08 12:21:28 +03:00
yuri
fcfbd478ca cleanup 2019-05-08 12:15:10 +03:00
yuri
d7164dd588 duplicateDisabled param 2019-05-08 11:51:29 +03:00
yuri
d20b2768e1 service create load additional fields 2019-05-08 11:46:59 +03:00
yuri
68301c52c1 logger cleanup 2019-05-08 11:31:35 +03:00
yuri
57aa9fa817 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-08 11:13:59 +03:00
Taras Machyshyn
910291796b Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-08 11:13:01 +03:00
Taras Machyshyn
e4a661721f Added setLevel() for logger 2019-05-08 11:08:48 +03:00
yuri
4068a20b8e cleanup 2019-05-08 11:08:38 +03:00
yuri
c3be6db4f3 log changes 2019-05-07 18:28:57 +03:00
yuri
80678c97f0 field removal reload metadata 2019-05-07 16:07:57 +03:00
yuri
711d20f874 typo fixes 2019-05-07 14:53:08 +03:00
yuri
7f299e1aa2 email created by id index 2019-05-07 11:58:59 +03:00
yuri
ab612a3f32 event entity duration on list view fix 2019-05-07 10:57:56 +03:00
yuri
c0c244adc6 email select manager fix 2019-05-06 11:46:57 +03:00
yuri
46a985076e email from name caching 2019-05-03 16:41:09 +03:00
yuri
7f82fab69b email abort xht on select folder 2019-05-03 16:09:20 +03:00
yuri
12ed1b3383 email reset collection on folder change 2019-05-03 16:03:29 +03:00
yuri
eab279dd12 email draft optimization 2019-05-03 15:46:59 +03:00
yuri
e59a927faa email index skip 2019-05-03 15:25:42 +03:00
yuri
1c1cb13c4d fix select manager 2019-05-03 15:25:31 +03:00
yuri
45a37eabe2 orm use index optimization 2019-05-03 15:12:57 +03:00
yuri
bbe6d81aa2 Merge branch 'hotfix/5.6.2' of github.com:espocrm/espocrm into hotfix/5.6.2 2019-05-03 13:12:41 +03:00
Eymen Elkum
5d19b1bb72 fix additional css script (#1304) 2019-05-03 13:12:22 +03:00
yuri
866f05fea5 orm agragate wo joins 2019-05-03 12:55:34 +03:00
yuri
bd22554756 link parent display entity type 2019-05-03 12:20:38 +03:00
yuri
703e170773 cleanup orphan attachments change 2019-05-03 11:55:49 +03:00
yuri
698f70a358 Merge branch 'hotfix/5.6.2' 2019-05-03 11:23:12 +03:00
yuri
a226242e69 update package.json 2019-05-03 11:22:31 +03:00
yuri
1438f8aa10 add created at fields 2019-05-03 11:09:12 +03:00
yuri
79564bab81 fix cleanup 2019-05-03 11:09:04 +03:00
yuri
5c7dd0b536 fix stream after remove 2019-05-03 11:08:30 +03:00
yuri
7e340b8b78 fix client field manager 2019-05-02 17:50:32 +03:00
yuri
a026dc577c diff fix 2019-05-02 16:14:42 +03:00
yuri
ed6c56629e css fix 2019-05-02 15:38:42 +03:00
yuri
97574707e5 wysiwyg strip all event handlers 2019-05-02 10:50:47 +03:00
yuri
3170571cb9 Merge branch 'hotfix/5.6.2' 2019-05-01 12:40:28 +03:00
yuri
942726eb74 diff fix 2019-05-01 12:17:11 +03:00
yuri
e1eb3f804e op admin stage probability 50 by default 2019-05-01 11:53:36 +03:00
yuri
2133a1390c bad request error msg 2019-05-01 11:48:23 +03:00
yuri
7fab959a2f Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-05-01 11:36:53 +03:00
yuri
88f64ab82f admin jobs link 2019-05-01 11:36:39 +03:00
Taras Machyshyn
1563d63051 Added params for an extension script 2019-05-01 11:33:04 +03:00
yuri
82026658e2 fix colors 2019-05-01 11:05:52 +03:00
yuri
26eec19a62 chart gray color 2019-05-01 11:01:11 +03:00
yuri
f548db2783 fix export 2019-05-01 10:43:18 +03:00
yuri
2da689e7e9 scope exportFormatList 2019-05-01 10:38:39 +03:00
yuri
8afb4804c3 orm sanitizeSelectAlias fix 2019-05-01 10:33:45 +03:00
yuri
56b8902969 orm fix week number 2019-05-01 10:31:01 +03:00
yuri
95cee6c845 email service get entity fix 2019-05-01 10:15:50 +03:00
yuri
dc58bcbd91 cleanup 2019-04-30 11:18:37 +03:00
yuri
8d3698e6a3 cleanup 2019-04-30 11:17:43 +03:00
yuri
c04526dc11 extension list layout fix 2019-04-30 11:17:05 +03:00
yuri
6a0d622344 event invitation smtp params fix 2019-04-30 11:13:35 +03:00
yuri
74797e0768 css fix 2019-04-30 11:09:41 +03:00
yuri
6fd0851dc9 fix dashboard 2019-04-30 11:00:26 +03:00
yuri
41e2773781 fix dashlet aftet adding 2019-04-30 10:58:50 +03:00
yuri
bf03412bf0 dashlet after adding 2019-04-30 10:49:44 +03:00
yuri
6b25aa1274 flotr fix 2019-04-26 13:50:03 +03:00
yuri
634acdd770 fix tasks meeting date filter 2019-04-25 15:26:07 +03:00
yuri
f2f01adfc9 phone number is opted out attribute 2019-04-25 12:26:07 +03:00
yuri
9cd2d1d21f import default phone number 2019-04-25 12:14:42 +03:00
yuri
fa144847e5 ability to import multiple email addresses 2019-04-25 11:55:03 +03:00
yuri
17138f715b controller before action usage 2019-04-24 15:36:49 +03:00
yuri
0babd05bff record service filter create update input methods 2019-04-24 13:35:47 +03:00
yuri
c5f14e55c5 record service validation order fix 2019-04-24 13:26:11 +03:00
yuri
e48c067b05 Merge branch 'hotfix/5.6.2' 2019-04-24 11:58:12 +03:00
yuri
03918c8ada charts si mul 2019-04-24 11:37:03 +03:00
yuri
80c7008a6c chart fixes 2019-04-24 11:02:02 +03:00
yuri
3d143cd3f0 fix notification badge overlapping 2019-04-23 17:00:32 +03:00
Pomazan Bogdan
365264b393 Правка перевода, логически не подходит (#1298) 2019-04-23 13:39:17 +03:00
Pomazan Bogdan
492670eb7d Правка перевода, логически не подходит (#1298) 2019-04-23 12:44:23 +03:00
yuri
3b4aea4966 email address rep change 2019-04-23 12:02:10 +03:00
yuri
cb77bc9085 list changes 2019-04-23 12:00:04 +03:00
yuri
691aff990b css fix 2019-04-22 15:35:45 +03:00
yuri
0f6ca667d9 vi lang 2019-04-22 13:57:59 +03:00
yuri
ba41229a83 tr lang 2019-04-22 13:57:19 +03:00
yuri
7c9d28098b es_mx lang 2019-04-22 13:56:44 +03:00
yuri
eccf9e4d85 nl lang 2019-04-22 13:55:53 +03:00
yuri
96dffc0b74 it lang 2019-04-22 13:55:06 +03:00
yuri
308d0bfc0c hr lang 2019-04-22 13:54:27 +03:00
yuri
f9dcf2db7d orm order by complex expression 2019-04-22 12:13:07 +03:00
yuri
88798f2b86 orm foreign select for foreign fields 2019-04-19 17:26:50 +03:00
yuri
28ecdc46b6 upgrade text 2019-04-19 13:48:39 +03:00
yuri
6a30031f49 css addition 2019-04-17 13:26:24 +03:00
yuri
d4f23e391f cleanup 2019-04-16 16:05:26 +03:00
yuri
79b7463886 additional css 2019-04-16 16:04:06 +03:00
Yurii Kondratskyi
eddae25d7f fix get acl level method (#1294) 2019-04-16 11:08:53 +03:00
Taras Machyshyn
5e9c85fc06 Merge branch 'hotfix/5.6.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.2 2019-04-12 14:34:29 +03:00
Taras Machyshyn
b44adb34ec Metadata changes 2019-04-12 14:34:09 +03:00
yuri
f0f6cac84a fix; php clear_cache.php 2019-04-12 13:25:08 +03:00
yuri
17e87f58c3 css fix 2019-04-11 16:30:41 +03:00
yuri
273698e2fc imap hander case insensitive 2019-04-11 11:46:16 +03:00
yuri
66f88e0e8e fix email address smtp apply case insesitive 2019-04-11 11:44:01 +03:00
yuri
de945008fb fix email send 2019-04-10 16:32:29 +03:00
yuri
5f91505b8e fix typo 2019-04-10 14:49:16 +03:00
yuri
6a25c283ec upgrade info msg 2019-04-10 13:45:02 +03:00
yuri
74fa9289a7 lead capture enhancements 2019-04-10 13:13:35 +03:00
yuri
ab4b975912 version 2019-04-10 11:59:38 +03:00
yuri
2260089301 upgrade message 2019-04-10 11:57:22 +03:00
yuri
9dd35f1e32 opp empty probability for stages 2019-04-10 11:45:47 +03:00
yuri
6b90cee851 fix opcache warning 2019-04-09 11:11:01 +03:00
yuri
6da132c034 fix date time between filter 2019-04-09 11:08:38 +03:00
yuri
bc966a8ea8 fix date time filter 2019-04-08 15:31:20 +03:00
yuri
6eab0c9b75 flotr fix 2019-04-08 15:01:46 +03:00
yuri
cf253fae8a fix 2019-04-08 13:54:57 +03:00
yuri
c0eaa8fb50 attachment multiple link disabled 2019-04-08 13:52:45 +03:00
yuri
a4889de80a image link disabled 2019-04-08 13:52:01 +03:00
yuri
acac599f6b file disabled link 2019-04-08 13:41:54 +03:00
yuri
1436ffa53f opp lead source translation param 2019-04-08 12:28:10 +03:00
yuri
c68a3dd0a6 fix stream panel 2019-04-05 17:03:27 +03:00
yuri
29c42022ef allow empty dashlet title 2019-04-05 16:52:49 +03:00
yuri
dd814c1b5e edit button default style 2019-04-05 16:33:29 +03:00
yuri
7fc2c71f58 fix account contact 2019-04-05 15:49:57 +03:00
yuri
e6a3d3c982 css fix 2019-04-05 15:02:09 +03:00
yuri
46380ee9ff css fix 2019-04-05 14:58:47 +03:00
yuri
1fa3908888 chart mouse track centered 2019-04-05 14:49:51 +03:00
yuri
914e6a1789 fix admin rebuild clear cache 2019-04-04 11:38:28 +03:00
yuri
9a1d073072 many-to-many same entity types 2019-04-04 11:28:28 +03:00
yuri
3712caf7b1 email inline attachments fix 2019-04-03 13:11:45 +03:00
yuri
a770e18bb2 Merge branch 'hotfix/5.6.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.6.1 2019-04-03 11:50:55 +03:00
Taras Machyshyn
5dc0cfb666 NamespaceLoader fix 2019-04-03 11:49:59 +03:00
yuri
e4ab02c77a fix ws 2019-04-02 12:25:47 +03:00
yuri
a0f729cd8d fix ws 2019-04-02 12:04:14 +03:00
yuri
d544b1c264 fix flotr2 2019-04-01 16:31:59 +03:00
yuri
d8549cbebe v 2019-04-01 16:29:30 +03:00
yuri
4ae4734dbf fix flotr2 2019-04-01 16:26:40 +03:00
yuri
cc72de7121 da_DK 2019-03-28 16:09:23 +02:00
yuri
29bf2c2e40 Merge branch 'hotfix/5.5.7' 2019-03-28 15:17:48 +02:00
yuri
e31771c8a9 Merge branch 'hotfix/5.5.7' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.7 2019-03-28 15:11:05 +02:00
yuri
b938942c78 fix upgrade 2019-03-28 11:14:41 +02:00
yuri
262bc6d44d escaping fixes 2019-03-28 10:53:34 +02:00
yuri
acd8d23c6c stream store is internal and default 2019-03-27 11:46:16 +02:00
yuri
940bb8f9b1 fix clint storage 2019-03-27 11:46:02 +02:00
yuri
27d22d4c9c int field refactoring 2019-03-26 16:08:31 +02:00
yuri
4024055755 date field search data change 2019-03-26 15:35:37 +02:00
yuri
441c046fbd home view 2019-03-26 12:08:31 +02:00
yuri
649fd579e2 quick detail disable quick edit param 2019-03-26 11:13:55 +02:00
yuri
c08478e156 tests fix 2019-03-26 10:32:31 +02:00
yuri
389327ae63 cs fix 2019-03-26 10:29:51 +02:00
yuri
122ee3e259 fix formula cache issue 2019-03-26 10:22:42 +02:00
yuri
ef5f048343 preserve root url on model switch over 2019-03-25 16:14:48 +02:00
yuri
9f56efada1 record controller restore options on back 2019-03-25 16:04:18 +02:00
yuri
c3553b1fb1 clnup 2019-03-25 15:55:07 +02:00
yuri
1eebfefc79 orm: now function 2019-03-25 11:04:28 +02:00
yuri
f7391c04d4 timeline dashlet no loading message 2019-03-25 10:58:49 +02:00
yuri
90537515fa css fix 2019-03-25 10:53:48 +02:00
yuri
1da3d093be css fix 2019-03-25 10:47:28 +02:00
yuri
c923134b97 fix typo in least busy 2019-03-25 10:37:16 +02:00
yuri
8eb11787de update bull.js 2019-03-25 10:29:15 +02:00
yuri
727062cf9e client custom routes 2019-03-22 17:09:11 +02:00
yuri
4054b9497d record detail left class name 2019-03-22 14:55:42 +02:00
yuri
4ea7154c9e orm expression without value 2019-03-22 13:15:38 +02:00
yuri
a35f12dffb select manager fix 2019-03-22 12:09:13 +02:00
yuri
8b6022bada multi enum restore on backspace 2019-03-22 10:53:00 +02:00
yuri
1bbbac2cc7 fix orm 2019-03-21 17:39:14 +02:00
yuri
ca632f6467 orm math functions 2019-03-21 16:27:54 +02:00
yuri
256d9555b4 orm char length 2019-03-21 16:05:49 +02:00
yuri
7db73f0688 orm: not 2019-03-21 15:19:44 +02:00
yuri
b9d6650298 fix notification check updates 2019-03-21 12:04:54 +02:00
yuri
f17d4922dd orm: in, not in functions 2019-03-21 10:51:13 +02:00
yuri
6a1b6cc922 chart colors fix 2019-03-21 10:34:35 +02:00
yuri
3ec088d485 colors fix 2019-03-20 17:04:21 +02:00
yuri
b11cb0059e orm: sanitizeSelectAlias change 2019-03-20 12:03:06 +02:00
yuri
989e5d1845 orm: new functions 2019-03-20 11:40:05 +02:00
yuri
f8d0c4e3f9 orm IF function 2019-03-20 10:24:57 +02:00
yuri
3af1850600 fix email address validation 2019-03-19 13:26:04 +02:00
yuri
f8c0a4d2e5 fix ws 2019-03-19 12:21:51 +02:00
yuri
c0c28c912e fix notification 2019-03-19 12:21:44 +02:00
yuri
ad55c66e77 ws fix 2019-03-18 16:11:37 +02:00
yuri
d276b1a5e1 naming fix 2019-03-18 15:58:53 +02:00
yuri
e899781cb5 websocket fixes 2019-03-18 15:37:21 +02:00
yuri
5dd014f835 lang fix 2019-03-15 17:15:51 +02:00
yuri
136bad46ce websocket settings 2019-03-15 16:50:59 +02:00
yuri
bd09d2a2cb config superAdminSystemItems 2019-03-15 16:50:51 +02:00
yuri
2b2428021f websocket fix 2019-03-15 16:16:39 +02:00
yuri
a9537f210a fix activities 2019-03-15 11:30:48 +02:00
yuri
3993bb5c27 fix target list 2019-03-14 13:53:33 +02:00
yuri
0c35b59ac1 fix 2019-03-14 13:15:26 +02:00
yuri
f68effefe6 fix field manager options with style 2019-03-14 11:58:02 +02:00
yuri
45f1b4c427 cs fix, allow 201 http code 2019-03-13 16:43:42 +02:00
yuri
9c0a53728b multi-enum is sorted fetch 2019-03-13 14:48:23 +02:00
yuri
84c4fb4468 fix multi-enum 2019-03-13 14:41:47 +02:00
yuri
da2310a011 portal home tab 2019-03-12 16:23:58 +02:00
yuri
96fe58bafc fix prferences 2019-03-12 16:21:26 +02:00
yuri
da5328f725 defaultSidePanelFieldList 2019-03-12 15:47:54 +02:00
yuri
e741502528 Merge branch 'master' of github.com:espocrm/espocrm 2019-03-12 15:20:34 +02:00
rodrigoscoelho
25988d7c3d ``CODE`` was missing... (#1271)
Thanks
2019-03-12 15:20:14 +02:00
yuri
61b68a5b41 lang 2019-03-11 12:18:57 +02:00
yuri
7b6626d8eb templates link in admin 2019-03-11 11:06:53 +02:00
yuri
f864bc8fec text field displayRawText param 2019-03-11 11:01:18 +02:00
yuri
5c5277b54a view helper cleanup 2019-03-11 11:00:59 +02:00
yuri
7eff19547c grunt clean change 2019-03-11 10:21:27 +02:00
yuri
05b6bcbab2 fix campaign opted out count 2019-03-08 15:38:12 +02:00
yuri
7640279a6b fix controller bc 2019-03-08 15:16:32 +02:00
yuri
2447117b03 frontend controller change 2019-03-08 15:09:21 +02:00
yuri
334b96807c ORM: week fix 2019-03-08 13:08:57 +02:00
yuri
3dcba630fe dynamic logic support file type 2019-03-08 11:51:37 +02:00
yuri
d43f78b5d2 formula trigger change 2019-03-07 18:16:53 +02:00
yuri
d197391668 orm select manager changes 2019-03-07 17:40:28 +02:00
yuri
50fe25eab3 select manager improvements 2019-03-07 16:06:33 +02:00
yuri
4192964217 select manager fix 2019-03-07 14:08:00 +02:00
yuri
247b42474d fix email account controller 2019-03-06 16:19:32 +02:00
yuri
5e3a4359f8 templates hide direct access disabled fields 2019-03-06 15:04:52 +02:00
yuri
5a051d1c45 userData entity 2019-03-06 14:08:33 +02:00
yuri
fd63de7706 fix 2019-03-06 11:52:04 +02:00
yuri
08d5edd991 fix imap smtp handlers 2019-03-06 11:33:27 +02:00
yuri
7074467fc2 smtp fixes 2019-03-06 11:30:48 +02:00
yuri
e61aecd0ff update libs 2019-03-06 11:04:11 +02:00
yuri
dbf1145c53 update smtp params for zend 2019-03-06 11:00:52 +02:00
yuri
d34b74297e oauth reason log 2019-03-06 10:06:27 +02:00
yuri
e8ce1b1592 ExternalAccountClientManager 2019-03-06 09:47:45 +02:00
yuri
663c5df115 zend validator update 2019-03-05 19:26:08 +02:00
yuri
62c24bbad0 fix 2019-03-05 18:56:32 +02:00
yuri
2e07791d43 fix smtp 2019-03-05 18:23:53 +02:00
yuri
bc397f9dcf smtp fixes 2019-03-05 18:16:21 +02:00
yuri
e91184064c smtp change 2019-03-05 17:58:06 +02:00
yuri
abe9ef19ca cs fix 2019-03-05 17:39:09 +02:00
yuri
18d3e357f7 fix 2019-03-05 17:27:35 +02:00
yuri
4c02636027 smtpAuthClassName 2019-03-05 17:24:01 +02:00
yuri
98d47bc832 fix 2019-03-05 17:17:37 +02:00
yuri
a990cc771d fix 2019-03-05 17:16:09 +02:00
yuri
3a8fa432de smtp handler fix imap handler 2019-03-05 17:13:01 +02:00
yuri
d41c7e2298 pferences entity acl 2019-03-05 16:05:21 +02:00
yuri
636906de6f prepareImapStorageProtocol 2019-03-05 15:56:29 +02:00
yuri
9323bb07a7 imap handler 2019-03-05 15:30:06 +02:00
yuri
bfc5f27e30 fix field 2019-03-05 14:12:00 +02:00
yuri
aeee88602c email account required fields fix 2019-03-05 12:52:29 +02:00
yuri
251a2e46a8 fix field tepmlate content 2019-03-05 12:41:27 +02:00
yuri
87ab67dd4c email account address autocomplete 2019-03-05 12:27:19 +02:00
yuri
75e537e428 naming fix 2019-03-05 11:58:15 +02:00
yuri
383605b597 meeting: do not copy acceptance status on duplicate 2019-03-05 11:53:00 +02:00
yuri
9a18ce2868 admin iframe height 2019-03-05 11:43:36 +02:00
yuri
79a99e042f fix admin iframe css 2019-03-04 09:46:41 +02:00
yuri
ce6627282c css fix 2019-03-01 17:28:06 +02:00
yuri
775e66f1ed css fix 2019-03-01 16:55:06 +02:00
yuri
d09ad3a7b7 css iframe 2019-03-01 13:50:08 +02:00
yuri
429a334d35 field view template content 2019-02-28 18:35:58 +02:00
yuri
978784c267 fix currency change 2019-02-28 17:03:49 +02:00
yuri
18736600ef Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-02-28 13:55:36 +02:00
Taras Machyshyn
94ee8c6491 Extensions: bug fixes 2019-02-28 13:54:17 +02:00
yuri
225704d1f7 aclPortal strict default for case and kb 2019-02-27 16:34:07 +02:00
yuri
ffb56703c6 free busy ignore fetched events 2019-02-27 12:54:47 +02:00
yuri
8694d1e924 modal dropdown items, meeting set held on modal 2019-02-27 12:45:18 +02:00
yuri
2408d086a0 fix user limit check 2019-02-27 10:58:05 +02:00
yuri
09f4b0b494 fix wysiwyg 2019-02-27 10:49:15 +02:00
yuri
6c55a35445 pdf fix 2019-02-27 10:39:58 +02:00
yuri
97a572cf96 pdf custom page size fixes 2019-02-27 10:35:06 +02:00
Eymen Elkum
de78c92808 pdf template custom page size. (#1258) 2019-02-26 20:46:27 +02:00
yuri
e38f967b1b upgrade command 2019-02-26 17:26:07 +02:00
Taras Machyshyn
a07fe944c5 AdminNotifications changes 2019-02-26 15:28:18 +02:00
yuri
32e32ddc51 2019 license 2019-02-25 16:45:32 +02:00
yuri
042780b4a1 email notifications about post markdown 2019-02-25 13:44:38 +02:00
yuri
70ad78a398 fix flotr2 2019-02-25 13:16:56 +02:00
yuri
805027bb8c Merge branch 'hotfix/5.5.7' 2019-02-25 12:04:45 +02:00
yuri
9453c93966 Merge branch 'hotfix/5.5.7' of github.com:espocrm/espocrm into hotfix/5.5.7 2019-02-25 12:04:36 +02:00
Eymen Elkum
b74d2d8bba fix typo in 'views/fields/file' (#1252)
remove duplicated event showImagePreview
2019-02-25 12:04:00 +02:00
yuri
b709892311 stream service fix 2019-02-25 12:02:29 +02:00
yuri
aba8b21d66 cleanup fix 2019-02-25 11:58:49 +02:00
yuri
abd2801ac8 console auth 2019-02-25 11:56:58 +02:00
yuri
ee7ce8221d fix rdb 2019-02-25 11:50:39 +02:00
yuri
89079362b6 fix 2019-02-25 11:40:13 +02:00
yuri
79fe419f13 fix notifications 2019-02-25 11:01:34 +02:00
yuri
b4a528c05e fix layout email 2019-02-22 17:34:28 +02:00
yuri
60c375dbca fix link parent 2019-02-22 17:24:09 +02:00
yuri
c7dfcfe426 fix css 2019-02-22 17:02:21 +02:00
yuri
0456dbfa42 list this.forcedCheckAllResultMassActionList 2019-02-22 15:03:16 +02:00
yuri
c806e0ad8d email received notification send even if email is related to user 2019-02-22 13:19:49 +02:00
yuri
a8acafdb69 update and extension message changes 2019-02-22 12:42:45 +02:00
yuri
208a7f8620 command fix 2019-02-22 12:03:08 +02:00
yuri
31ed07648e daemon fix 2019-02-22 11:57:58 +02:00
yuri
bf08bddec3 modal add button before specific 2019-02-22 11:53:20 +02:00
yuri
8d4ae8950a orm refactoring and cs fix 2019-02-22 11:43:08 +02:00
yuri
c95d7e5548 fix lang 2019-02-22 11:37:15 +02:00
yuri
c90ac7cc6a list force displat tobBar 2019-02-22 10:48:45 +02:00
yuri
0678ba47de action history layout fix 2019-02-22 10:46:14 +02:00
yuri
60f43d40e4 logs seconds 2019-02-22 10:42:01 +02:00
yuri
43e6332bd8 command hyphen options converted to camelCase 2019-02-21 17:08:08 +02:00
yuri
9142783564 email notifications delay 2019-02-21 16:28:48 +02:00
yuri
d3b0e9ed5d find by query sth 2019-02-21 16:20:23 +02:00
yuri
0721bd5c27 list topBar forced 2019-02-21 15:27:13 +02:00
yuri
1d5e9c67f0 orm relate unrelate belongs to 2019-02-21 14:31:33 +02:00
yuri
20ad921cb2 cs fix 2019-02-21 14:11:24 +02:00
yuri
aeee20ab42 cs fix 2019-02-21 13:55:10 +02:00
yuri
26c1df6168 acceptance in modal 2019-02-21 13:40:37 +02:00
yuri
b037423621 fix acceptance 2019-02-21 12:31:27 +02:00
yuri
8e040a83d0 meeting/call: acceptance status button 2019-02-21 12:26:51 +02:00
yuri
a450342e93 cleanup 2019-02-21 10:46:28 +02:00
yuri
d4c0331f41 fix number 2019-02-21 10:42:46 +02:00
yuri
5f74ca9504 email template insert field fix 2019-02-20 15:38:48 +02:00
yuri
141a6f218b fix number 2019-02-20 15:33:42 +02:00
yuri
0bb3464e81 case icon 2019-02-20 13:36:56 +02:00
yuri
e5dfc1af82 meeting icon 2019-02-20 13:33:21 +02:00
yuri
5b130dd876 source map 2019-02-20 13:04:54 +02:00
yuri
196422de87 sth collection 2019-02-20 12:40:51 +02:00
yuri
2a5bcf0bdd fix list all result 2019-02-20 12:22:56 +02:00
yuri
638908acb8 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-02-20 12:18:07 +02:00
yuri
f7ffcafb27 number format float 2019-02-20 12:12:26 +02:00
yuri
cca4aa7f6f ldap no password change 2019-02-20 12:12:02 +02:00
yuri
ec60f2b0f3 cleanup 2019-02-20 11:23:32 +02:00
yuri
5f595bd86f frontend number util 2019-02-20 11:23:20 +02:00
yuri
13909fc1bd fix preferences 2019-02-20 10:58:53 +02:00
Taras Machyshyn
a589d369bc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-02-20 10:56:30 +02:00
Taras Machyshyn
5ac88a7b1a Corrected Ukrainian language 2019-02-20 10:55:40 +02:00
yuri
e3f1baacbe version 2019-02-19 18:19:48 +02:00
yuri
bc09e9a797 cssmin 2019-02-19 18:02:19 +02:00
yuri
f93eb3a5b3 fix theme is applied 2019-02-19 17:53:13 +02:00
yuri
6922e942ba npm updates 2019-02-19 17:21:51 +02:00
yuri
6397650183 fix 2019-02-19 15:31:54 +02:00
yuri
6fd89db736 cs fix 2019-02-19 15:25:32 +02:00
yuri
d6071bd894 export using temp file 2019-02-19 14:38:33 +02:00
yuri
5c1d088744 export csv fixes 2019-02-19 13:33:26 +02:00
yuri
4bc01767c8 Merge branch 'hotfix/5.5.7' 2019-02-19 13:21:43 +02:00
yuri
acb532db89 isLinkStub 2019-02-19 13:21:31 +02:00
yuri
8c9ccde962 npm update 2019-02-19 12:51:52 +02:00
yuri
c1958d76b1 fa lang 2019-02-18 17:02:54 +02:00
yuri
a804f17934 export please wait 2019-02-18 16:15:42 +02:00
yuri
8fb05d4fe3 fix 2019-02-18 14:12:09 +02:00
yuri
ee9d0355d4 fix api user name validate 2019-02-18 14:10:36 +02:00
yuri
139b58ce6d fix 2019-02-18 14:02:32 +02:00
yuri
4a8eff32cb Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-02-18 11:48:41 +02:00
Taras Machyshyn
6c6d1a7f53 Autoload: added psr-0, psr-4, classmap, autoloadFileList, files 2019-02-18 11:44:38 +02:00
yuri
a59825a79b group email account keep unseen 2019-02-18 11:39:07 +02:00
yuri
81bb4a43f5 Merge branch 'hotfix/5.5.7' 2019-02-18 11:26:53 +02:00
yuri
184369af9c fix portal role cache 2019-02-18 11:26:45 +02:00
yuri
d492ca15da autocomplete select 2019-02-18 11:23:50 +02:00
yuri
5a17c923f0 user mention url fix 2019-02-18 11:15:13 +02:00
yuri
dfcaa60e04 Merge branch 'hotfix/5.5.7' 2019-02-18 11:05:43 +02:00
yuri
f3317793cb cs fix 2019-02-18 11:03:25 +02:00
yuri
41a3e7eaa3 mass email open tracking param 2019-02-18 11:03:19 +02:00
yuri
4357e331ad css fix 2019-02-18 10:42:03 +02:00
yuri
49fe1a75db array field escaping 2019-02-15 17:01:33 +02:00
yuri
68dfa92425 muli-enum style and label 2019-02-15 16:16:45 +02:00
yuri
987fd7f922 Merge branch 'hotfix/5.5.7' 2019-02-15 15:57:46 +02:00
yuri
449f0d6237 enum label changes 2019-02-15 15:57:36 +02:00
yuri
dcbdf94023 console run job 2019-02-15 14:23:16 +02:00
yuri
6e7150cef2 fix command manager 2019-02-15 14:08:15 +02:00
yuri
949209d708 multi enum max count param 2019-02-15 13:36:04 +02:00
yuri
0aab014af1 COALESCE function, null, true, false 2019-02-15 12:20:23 +02:00
yuri
a5941e472e cleanup 2019-02-15 12:11:51 +02:00
yuri
9a18a461be forbidden names 2019-02-15 11:49:59 +02:00
yuri
95bbba4607 zmq submit timeout 2019-02-15 11:37:58 +02:00
yuri
d8efe74126 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2019-02-14 18:12:21 +02:00
yuri
dafe9d8274 fix 2019-02-14 17:36:41 +02:00
yuri
505862efad frontend bc fix 2019-02-14 17:36:03 +02:00
yuri
3e3616bc36 orm functions improvements 2019-02-14 15:42:25 +02:00
yuri
f72c16a604 select manager forbid complex expressions 2019-02-14 15:42:09 +02:00
yuri
d1be813d05 multi enum: is sorted param 2019-02-13 16:05:46 +02:00
yuri
17cdecf45c fix opp amount weighted 2019-02-13 15:40:00 +02:00
yuri
0906e79211 layoutAvailabilityList and contact role on opportunities panel 2019-02-13 12:55:14 +02:00
yuri
4acb5ee4c8 restore deleted tests 2019-02-13 12:23:27 +02:00
yuri
0bce33e92a service read exception 2019-02-13 12:23:14 +02:00
yuri
929fa2f620 cleanup 2019-02-13 12:04:56 +02:00
yuri
fb66c5ec60 deleted record view changes 2019-02-13 12:00:12 +02:00
yuri
54850f62a8 frontend record controller changes 2019-02-13 11:34:08 +02:00
yuri
ea0e38277d fix contact filter by account is inactive 2019-02-13 11:17:13 +02:00
yuri
e099fd43dd forbidden action link name 2019-02-12 18:33:26 +02:00
yuri
d90efae709 restore deleted 2019-02-12 18:29:12 +02:00
yuri
2131232e14 isFollowed disabled 2019-02-12 17:51:52 +02:00
yuri
c823e9e06f cs fix 2019-02-12 17:18:13 +02:00
yuri
d325d92f89 import silent mode 2019-02-12 16:19:22 +02:00
yuri
84143cd096 cs fix 2019-02-12 16:05:26 +02:00
yuri
d7f5993665 htaccess fix 2019-02-12 15:20:36 +02:00
yuri
88ddd5546a htaccess fix 2019-02-12 15:19:31 +02:00
yuri
25d6ca3fea forbid mass remove by where if no mass update permission 2019-02-12 14:12:05 +02:00
yuri
3709523836 fix stream websocket 2019-02-12 14:02:15 +02:00
yuri
0e17079b03 websocket fixes 2019-02-12 13:50:00 +02:00
yuri
2752924d16 websocket changes 2019-02-12 13:19:32 +02:00
yuri
7c1144fa2c concole command changes 2019-02-12 11:54:29 +02:00
yuri
6008f1abb2 check for duplicate improvement 2019-02-12 11:30:39 +02:00
yuri
d4f200171f fix activities 2019-02-11 16:56:03 +02:00
yuri
2dd8d8b442 websocket changes 2019-02-11 16:50:20 +02:00
yuri
d5dc0fa2e6 console command changes 2019-02-11 15:37:19 +02:00
yuri
8cb9568334 record service populate default currency 2019-02-11 15:26:00 +02:00
yuri
4cc33fc06e orm selectForeign 2019-02-11 13:23:18 +02:00
Taras Machyshyn
73c94b861e Fix delete custom entity 2019-02-11 11:51:08 +02:00
yuri
7b0fde72b8 orm optimization 2019-02-11 11:14:06 +02:00
yuri
564d7dd567 Merge branch 'hotfix/5.5.7' 2019-02-11 10:59:03 +02:00
yuri
3f21bd618c modal headerHtml 2019-02-11 10:55:20 +02:00
yuri
ed1f803647 fix wysiwyg 2019-02-11 10:37:52 +02:00
yuri
4b03f3aba9 fix typo 2019-02-11 10:36:54 +02:00
yuri
7b7fa5aa24 fix typo 2019-02-11 10:36:24 +02:00
yuri
15a1c68ede Merge branch 'hotfix/5.5.7' 2019-02-08 17:36:47 +02:00
yuri
9e252298cf fix 2019-02-08 17:36:39 +02:00
yuri
89d4a04d85 Merge branch 'hotfix/5.5.7' 2019-02-08 17:25:53 +02:00
yuri
1cd0c5d925 fix 2019-02-08 17:25:46 +02:00
yuri
43ab711254 fix 2019-02-08 17:22:11 +02:00
yuri
c671e47a5d fix 2019-02-08 17:21:54 +02:00
yuri
983988c9e1 ConsoleCommand framework 2019-02-08 16:44:54 +02:00
yuri
790a206e0a Merge branch 'hotfix/5.5.7' 2019-02-08 16:03:06 +02:00
yuri
f5759c3327 fix dashlet chart 2019-02-08 15:54:38 +02:00
yuri
a15a2f4ee5 flotr fix 2019-02-08 15:52:35 +02:00
yuri
2e4dc5a2ea merge 2019-02-08 14:11:20 +02:00
yuri
9b78cf401b fix mass actions 2019-02-08 14:02:47 +02:00
yuri
ed64c93aa0 custom mass action ignore select all result 2019-02-08 13:44:29 +02:00
yuri
618792b541 fix flotr 2019-02-08 12:56:49 +02:00
yuri
1bbba0e9b3 fix formula floatval 2019-02-08 11:23:08 +02:00
yuri
3a8300f172 container changes 2019-02-07 15:47:15 +02:00
yuri
6e40357e3f validate skip type field list 2019-02-07 13:56:33 +02:00
yuri
20a767b452 massUpdate function change 2019-02-07 13:47:32 +02:00
yuri
ff96f18adb fix tests 2019-02-07 13:47:22 +02:00
yuri
a768181a75 field validation additions and tests 2019-02-07 13:15:44 +02:00
yuri
edb52e253b edit save error revert edit mode 2019-02-07 11:57:12 +02:00
yuri
ee52b8d4d9 field validation additions 2019-02-06 16:37:53 +02:00
yuri
7154fa0f4a field validation framework 2019-02-06 14:24:20 +02:00
yuri
7e54239710 field manager changes 2019-02-06 11:50:56 +02:00
yuri
a54be505d4 client field manager methods 2019-02-06 11:20:34 +02:00
yuri
3efa23fb71 moment timezone update 2019-02-05 16:07:15 +02:00
yuri
2254257250 gitignore add debug log 2019-02-05 14:44:05 +02:00
yuri
18f4f057eb cleanup 2019-02-05 14:04:17 +02:00
yuri
246f2186a5 app use ajax class 2019-02-05 13:59:49 +02:00
yuri
ed6c248bbe update moment 2019-02-05 13:50:44 +02:00
yuri
c22b1c0e9d Merge branch 'hotfix/5.5.7' 2019-02-05 11:48:58 +02:00
yuri
5087b19135 missing license fix 2019-02-05 11:48:42 +02:00
yuri
26175c8795 frontend naming fix 2019-02-05 11:47:53 +02:00
yuri
4400c9bfa8 autobahn js minify 2019-02-05 11:40:48 +02:00
yuri
f99cac5d4c serverside email address validation 2019-02-05 11:20:07 +02:00
yuri
d81d66ea5d fix add email address regex 2019-02-04 14:07:25 +02:00
yuri
00d6e2a58c portal siteUrl 2019-02-04 12:27:58 +02:00
yuri
e48fa00893 kb fix send email 2019-02-04 12:00:36 +02:00
yuri
98bf4594b4 update about 2019-02-04 10:52:51 +02:00
yuri
2e38270083 fix email address add 2019-02-04 10:49:39 +02:00
yuri
9e578f4edd composer update 2019-02-01 17:07:14 +02:00
yuri
2186673b2a find php executable 2019-02-01 16:58:47 +02:00
yuri
4080c8c877 reminder popup fix 2019-02-01 16:42:27 +02:00
yuri
8af40f2444 css fixes 2019-02-01 16:11:58 +02:00
yuri
6619abb02b fix loader warn 2019-02-01 15:58:51 +02:00
yuri
9806e092df cleanup 2019-02-01 15:56:48 +02:00
yuri
f1d8af128d websocket 2019-02-01 15:42:18 +02:00
Taras Machyshyn
84e5fb33c0 Upgrades: enable maintenanceMode while installation 2019-01-31 17:47:14 +02:00
yuri
a42afcf6e4 Merge branch 'hotfix/5.5.7' 2019-01-31 11:00:26 +02:00
yuri
3d16450dd8 update bull 2019-01-30 17:07:42 +02:00
yuri
ad9edb2b43 restrcted mode hide params 2019-01-30 16:49:06 +02:00
yuri
0b1671e1a3 tooltip fix 2019-01-30 16:35:34 +02:00
yuri
7361488270 amend 2019-01-30 15:24:10 +02:00
yuri
f75e6f6ad0 import time formats with seconds 2019-01-30 15:14:50 +02:00
yuri
dd3a075c24 settings layout changes 2019-01-30 14:28:43 +02:00
yuri
263949134c update bull 2019-01-30 13:54:14 +02:00
yuri
ebf7c78199 fix 2019-01-30 11:19:41 +02:00
yuri
68634edc0d model collection factory promise support 2019-01-30 11:18:59 +02:00
yuri
c7be90e1ad wysiwyg css fix 2019-01-29 13:10:32 +02:00
yuri
6fa3d8c769 compose email append signature 2019-01-29 12:48:31 +02:00
yuri
42e2f247e1 fix wysiwyg 2019-01-29 12:44:06 +02:00
yuri
005b9c0a8a fix job parallel 2019-01-29 12:03:02 +02:00
yuri
137e559d2e email reply to fields 2019-01-29 11:24:34 +02:00
yuri
f20b7d6577 fix email notification 2019-01-29 11:19:35 +02:00
yuri
4b22936d66 call phone dial 2019-01-28 16:00:05 +02:00
yuri
b47d738e94 Merge branch 'hotfix/5.5.7' 2019-01-28 13:11:04 +02:00
yuri
200f70c813 address state list and fixes 2019-01-28 13:08:14 +02:00
yuri
a0535c8127 meeting support assigned users 2019-01-28 12:25:26 +02:00
yuri
750d15134f entity more link multiple methods 2019-01-28 12:20:19 +02:00
yuri
43e398e078 css fix 2019-01-28 11:28:12 +02:00
yuri
e1965e6ad9 email action order 2019-01-28 10:57:49 +02:00
yuri
79d69dcb32 detail action item unshift 2019-01-28 10:57:43 +02:00
yuri
e21ac44427 Merge branch 'hotfix/5.5.7' 2019-01-28 10:47:48 +02:00
yuri
0211e4fa86 email template currency decimal places 2019-01-28 10:44:25 +02:00
yuri
dba0579b92 fix 2019-01-25 17:07:24 +02:00
yuri
8524095e75 Merge branch 'hotfix/5.5.7' 2019-01-25 17:00:08 +02:00
yuri
6d2a6feae2 fix 2019-01-25 16:50:43 +02:00
yuri
1898065da5 foreign access phone opt out 2019-01-25 16:45:24 +02:00
yuri
e76ee39840 Merge branch 'hotfix/5.5.7' 2019-01-25 16:44:53 +02:00
yuri
1b484b1c25 fix 2019-01-25 16:44:46 +02:00
yuri
a8dcaffd19 text filter foreign fields 2019-01-25 15:45:45 +02:00
yuri
5b960b476c fix 2019-01-25 14:05:37 +02:00
yuri
bd13f01718 fix tests 2019-01-25 13:57:07 +02:00
yuri
6bb717d8a9 naming fix 2019-01-25 13:53:57 +02:00
yuri
828440785e select manager changes 2019-01-25 13:13:52 +02:00
yuri
55d6d3620d Merge branch 'hotfix/5.5.7' 2019-01-25 11:20:40 +02:00
yuri
09d7d578b6 fix test 2019-01-24 16:24:20 +02:00
yuri
807991ea7d v 2019-01-24 16:03:47 +02:00
yuri
8b59919829 contact accountId disabled 2019-01-24 15:10:31 +02:00
yuri
13d8351166 orm fix foreign type 2019-01-24 12:51:44 +02:00
yuri
dfd527ae68 fix aborted stored view issue 2019-01-24 12:17:06 +02:00
yuri
40d2c95df4 fix autocomplete 2019-01-24 11:31:36 +02:00
yuri
57ef395ad2 fix autocomplete 2019-01-24 11:31:15 +02:00
yuri
8b68db4c75 Merge branch 'hotfix/5.5.7' 2019-01-23 16:38:04 +02:00
yuri
38d9085acf template importable 2019-01-23 16:37:50 +02:00
yuri
659cd2c92b Merge branch 'hotfix/5.5.7' 2019-01-22 16:41:07 +02:00
yuri
df3a449a72 fix output error 2019-01-22 16:33:56 +02:00
yuri
c7b47b1e6c recalculte formula 2019-01-22 15:38:49 +02:00
yuri
f2a090169f skipDuplicateCheck 2019-01-22 12:19:07 +02:00
yuri
3acd3a5209 acceptrance status export disabled 2019-01-22 12:00:10 +02:00
yuri
1887d25497 fix currency float 2019-01-21 15:22:56 +02:00
yuri
6d4ac8e10e default currency 2019-01-21 15:22:05 +02:00
yuri
57d47ca1d4 Merge branch 'hotfix/5.5.7' 2019-01-21 14:57:45 +02:00
yuri
fe1922586e formula function list 2019-01-21 14:44:12 +02:00
yuri
ddaef1a827 formula record count support filter as only param 2019-01-21 14:34:20 +02:00
yuri
e327457af7 Merge branch 'hotfix/5.5.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.7 2019-01-21 13:36:00 +02:00
yuri
fc184d42f7 Merge branch 'hotfix/5.5.6' 2019-01-21 12:59:41 +02:00
yuri
c0e9d3b347 fix 2019-01-21 12:54:00 +02:00
yuri
757757af2b merge manual 2019-01-21 12:26:06 +02:00
yuri
5803e3bc85 rerun query if deadlock 2019-01-21 12:08:53 +02:00
yuri
442e62d76c duplicate list limit 2019-01-21 11:21:06 +02:00
yuri
086e9a926f fix user password clear after save 2019-01-21 11:20:08 +02:00
yuri
90a341de2f fix list mass action 2019-01-21 11:02:54 +02:00
yuri
d4ea6d146a fix 2019-01-18 16:37:24 +02:00
yuri
af991b4008 formula record count and exists 2019-01-18 13:45:02 +02:00
yuri
c17017be9b fix lang 2019-01-18 13:44:14 +02:00
yuri
e9fcca84db fix css 2019-01-18 11:52:40 +02:00
yuri
6aa7fa589e lead layout fix 2019-01-18 11:39:51 +02:00
yuri
5a07b0a8be drop php 5.6 and 7.0 2019-01-17 17:31:56 +02:00
yuri
d9363e7486 empty merge 2019-01-17 17:28:58 +02:00
yuri
7aab1b611a fix email addres phone number 2019-01-17 17:24:43 +02:00
yuri
64be22f08e jobPopulateOptedOutPhoneNumbers 2019-01-17 17:22:31 +02:00
yuri
83a13b83d3 phone number optout invalid 2019-01-17 17:08:24 +02:00
yuri
abbf3e8a4f Merge branch 'hotfix/5.5.6' 2019-01-17 15:56:58 +02:00
yuri
971265eb6b selectAttributesDependancyMap 2019-01-17 15:09:03 +02:00
yuri
f14a699c08 post link handled on backend 2019-01-17 12:11:10 +02:00
yuri
2aea0350eb orm fix 2019-01-16 14:58:57 +02:00
yuri
18a556bce0 address list on settings layout 2019-01-16 13:56:18 +02:00
yuri
783adab8a5 city list param 2019-01-16 13:40:11 +02:00
yuri
1a802b5822 date time year quarter filters timezone 2019-01-16 12:24:37 +02:00
yuri
99bf56d031 email template current year 2019-01-16 11:29:37 +02:00
yuri
34135f0e17 fix export json 2019-01-15 15:34:23 +02:00
yuri
c22f23a1c4 phone email max length 2019-01-15 13:49:09 +02:00
yuri
5ef8588ad1 fix css 2019-01-15 13:12:57 +02:00
yuri
cef5e09a58 fix css 2019-01-15 13:09:06 +02:00
yuri
6933c599ad css hr color 2019-01-15 12:34:10 +02:00
Taras Machyshyn
10f6a202af Bug fixes 2019-01-15 12:33:39 +02:00
Taras Machyshyn
47bd030293 Installer: changed loading icon 2019-01-15 12:16:17 +02:00
yuri
86cb201539 fix css 2019-01-15 12:14:03 +02:00
yuri
619856ad58 fix cron is running check 2019-01-15 12:02:40 +02:00
yuri
b539273351 date time system formats static prop 2019-01-15 12:02:22 +02:00
yuri
dc4c4c3742 user controller restore lost code 2019-01-15 11:45:20 +02:00
Taras Machyshyn
78e81a5e7d 2019 year for installer 2019-01-14 16:48:06 +02:00
yuri
ae18ce444c fix typo 2019-01-10 14:53:02 +02:00
yuri
d1b35594e7 fix select manager 2019-01-10 14:47:44 +02:00
yuri
79befe9508 select manager originalType 2019-01-10 14:47:07 +02:00
yuri
cc75457e50 select manager transform date time 2019-01-10 14:28:18 +02:00
yuri
0fa58aaee6 text email address compose email links 2019-01-10 12:37:12 +02:00
yuri
a3f3f7cdaa fix email address modal view name 2019-01-10 12:36:58 +02:00
yuri
30dc174d30 Merge branch 'hotfix/5.5.6' 2019-01-10 12:18:19 +02:00
yuri
400198f7a3 invitation fix 2019-01-10 12:08:29 +02:00
yuri
347d3d7fef email sender fix 2019-01-10 12:08:19 +02:00
yuri
716af071b8 Merge branch 'hotfix/5.5.6' 2019-01-10 11:28:31 +02:00
yuri
43f8bbc360 v 2019-01-09 16:12:55 +02:00
yuri
1ff76bf1a0 fix field params 2019-01-09 16:12:32 +02:00
yuri
6da9662110 Merge branch 'hotfix/5.5.5' 2019-01-09 15:09:54 +02:00
yuri
8d13668595 fix ea pn repositories 2019-01-09 14:46:01 +02:00
yuri
62dcc1f55b version 2019-01-09 14:16:08 +02:00
yuri
efb0c354a5 improve select manager checkWhere 2019-01-09 13:49:35 +02:00
yuri
09c9faba9c fix typo 2019-01-09 13:35:39 +02:00
yuri
c9a6bd2d64 select manager check link restricted 2019-01-09 13:35:03 +02:00
yuri
5d32485fc5 email/phone tpl fix 2019-01-09 13:15:20 +02:00
yuri
b4aa93a185 fix sumRelated 2019-01-09 12:30:09 +02:00
yuri
a0fddbec27 Merge branch 'hotfix/5.5.5' 2019-01-08 16:43:06 +02:00
yuri
533faad8c2 footer year 2019-01-08 16:40:34 +02:00
yuri
3a24a45ade fix readme 2019-01-08 16:39:31 +02:00
yuri
643501b25d email view users 2019-01-08 16:14:48 +02:00
yuri
3c5abf88e7 cleanup 2019-01-08 15:57:18 +02:00
yuri
bec6011c8e Merge branch 'stable' 2019-01-08 14:56:08 +02:00
yuri
d6a90990bd fix email fetching by date 2019-01-08 12:12:46 +02:00
yuri
5b2c6abf90 Merge branch 'hotfix/5.5.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.4 2019-01-08 11:44:15 +02:00
Taras Machyshyn
2839c134a0 FieldManager: defaultAttributes bug fixes 2019-01-08 11:43:58 +02:00
yuri
2c3ea3b59b side menu 200px 2019-01-08 11:29:51 +02:00
yuri
72c9f5dceb fix address street 2019-01-08 11:24:50 +02:00
yuri
9a71643bed field manager util list by type 2019-01-08 11:15:12 +02:00
yuri
ffd61a6844 fix link field 2019-01-08 10:54:15 +02:00
yuri
c66cded184 fix naming 2019-01-08 10:48:05 +02:00
yuri
6c2a23cf10 Merge branch 'hotfix/5.5.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.4 2019-01-08 10:36:49 +02:00
Taras Machyshyn
9877d918b4 FieldManager: afterSave hook bug fixes 2019-01-08 10:36:10 +02:00
yuri
8a5b845b2c git push github Merge branch 'hotfix/5.5.4' of github.com:espocrm/espocrm into hotfix/5.5.4 2019-01-08 10:31:28 +02:00
yuri
c2c98db80e fix import default read only field 2019-01-08 10:31:15 +02:00
barwi
54dc83aa59 order param fix (#1179)
Thanks
2019-01-05 12:27:39 +02:00
yuri
efc8b02d11 Merge branch 'hotfix/5.5.4' 2019-01-04 16:15:34 +02:00
yuri
1c64b7bd54 related list fix 2019-01-04 16:14:50 +02:00
yuri
20560d5256 email template number format 2019-01-04 15:52:57 +02:00
yuri
1f6b7ce6ab view followers 2019-01-04 15:33:33 +02:00
yuri
0b518c4eb8 Merge branch 'hotfix/5.5.4' 2019-01-04 15:31:39 +02:00
yuri
21285aa51f fix related list header 2019-01-04 14:08:51 +02:00
yuri
76990ead8a import panel fix 2019-01-04 14:06:30 +02:00
yuri
48493f78c2 Merge branch 'hotfix/5.5.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.4 2019-01-04 12:07:20 +02:00
Taras Machyshyn
b99c06a8a4 Installation warning fix 2019-01-04 12:06:38 +02:00
yuri
563331af03 et variable label fix 2019-01-04 11:59:18 +02:00
yuri
09adf27190 template variable type 2019-01-04 11:55:27 +02:00
yuri
53c7d2ac85 currency not disabled field 2019-01-04 11:46:47 +02:00
yuri
fa0458d220 template variables fixes 2019-01-04 11:44:59 +02:00
yuri
29e0d93e4f lang 2019-01-04 11:31:21 +02:00
yuri
4f09cb3592 tempalte variables types label 2019-01-04 11:27:51 +02:00
yuri
187b76d359 template variables list filtering 2019-01-04 11:25:16 +02:00
yuri
428f26b02c fix email address storing 2019-01-04 11:03:35 +02:00
yuri
e976e627ad service massLink naming 2019-01-03 15:37:32 +02:00
yuri
48564ff8cb service link $link 2019-01-03 15:17:38 +02:00
yuri
f881d7a5c8 account filters layout change 2019-01-03 14:20:48 +02:00
yuri
5b9b345bf8 fix opp reports left join duplicates 2019-01-03 13:12:17 +02:00
yuri
c54e428d24 cs 2019-01-03 11:42:40 +02:00
yuri
2b69ac4651 fix dashlet options 2019-01-03 11:37:00 +02:00
yuri
3cd2f19ddf fix sales dashlet 2019-01-03 11:36:44 +02:00
yuri
5ed64d99f6 phone number dont store erased numeric 2019-01-03 11:08:54 +02:00
yuri
20acd516d6 orm sum fix 2019-01-03 11:04:07 +02:00
yuri
d30ef85c66 fix orm isLeft 2018-12-28 16:15:59 +02:00
yuri
5c5c3113bc Merge branch 'hotfix/5.5.4' 2018-12-28 14:50:54 +02:00
yuri
79dcec028f v 2018-12-28 14:33:00 +02:00
yuri
17bd2f3324 fix text cut 2018-12-28 13:57:03 +02:00
yuri
f4b4f6ff89 load followers acl check 2018-12-28 13:10:16 +02:00
yuri
8dd675a275 fix and refactor email address and phone number repositoties 2018-12-28 12:34:45 +02:00
yuri
f4c59e70b5 email has attachment title 2018-12-27 17:38:04 +02:00
yuri
8da0ac369c address textaread height adjust 2018-12-27 15:29:35 +02:00
yuri
a361b124d6 more functions 2018-12-27 12:17:51 +02:00
yuri
3d2d54aafa add exif to jsLibs 2018-12-26 16:37:14 +02:00
yuri
28da462c4e exif js in about 2018-12-26 16:32:23 +02:00
yuri
94a6c8d525 image preview orientation 2018-12-26 16:29:15 +02:00
yuri
8fbfce086c refactoring image 2018-12-26 16:29:05 +02:00
yuri
73ac717c4d remove thumbs with attachment 2018-12-26 15:20:14 +02:00
yuri
3fb57a1dbe webp images support 2018-12-26 13:48:13 +02:00
yuri
af9718951f record service naming change 2018-12-26 12:54:58 +02:00
yuri
d40b7aef11 charts no data 2018-12-26 12:10:28 +02:00
yuri
54ac4b5308 scriptList in metadata 2018-12-26 11:35:05 +02:00
yuri
3ee28f8d48 cs fix 2018-12-26 11:22:20 +02:00
yuri
32f8a93021 fix image 2018-12-26 11:17:51 +02:00
yuri
39624e1ddb fix logo image access 2018-12-26 11:07:24 +02:00
yuri
26b7420a2d Merge branch 'stable' 2018-12-25 18:12:16 +02:00
yuri
c010865fe0 v 2018-12-25 17:55:23 +02:00
yuri
aaeb905dcf client manager change 2018-12-25 17:54:55 +02:00
yuri
ad8b954401 fix record 2018-12-25 17:47:09 +02:00
yuri
ef9f145beb fix rtl 2018-12-25 16:17:29 +02:00
yuri
c0d04f5870 Merge branch 'stable' 2018-12-25 14:54:50 +02:00
barwi
f512bbc9fa Fix removing element from "one of" filter (#1171) 2018-12-25 14:49:20 +02:00
yuri
b8f5fe2b21 record service naming change 2018-12-25 12:43:30 +02:00
yuri
be73390fde select manager apply joins from foreign 2018-12-25 11:52:02 +02:00
yuri
17cd2bc543 fix find linked 2018-12-25 11:39:03 +02:00
yuri
74712ba931 coding style 2018-12-25 11:17:27 +02:00
yuri
0d22a238dd fix layout reset to default 2018-12-25 11:06:34 +02:00
yuri
56e9170a6b fix foreign field 2018-12-25 11:01:27 +02:00
yuri
b333fd6772 fix email template, signature image 2018-12-25 10:54:48 +02:00
yuri
4eb469eb59 multi enum allow custom options param 2018-12-24 16:30:12 +02:00
yuri
4ff0d3c654 role enum label 2018-12-24 15:56:19 +02:00
yuri
4f1dd0673e fix fa lang 2018-12-24 15:14:16 +02:00
yuri
caf05b5c26 email to case update fetched values 2018-12-24 14:39:39 +02:00
yuri
2643ab7a17 fix calls meetings dashlets order 2018-12-24 13:59:57 +02:00
yuri
6caea136a5 Merge branch 'hotfix/5.5.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.2 2018-12-24 12:59:43 +02:00
yuri
1d23d65910 formula string test function 2018-12-24 12:45:10 +02:00
yuri
8cc3de5807 enum display as label param 2018-12-24 12:36:37 +02:00
yuri
9b022df709 css sticked fix 2018-12-24 12:03:12 +02:00
yuri
aba061cb72 css sticked fix 2018-12-24 11:56:37 +02:00
yuri
ae4d725595 formule maxLineDetailCount 80 2018-12-24 11:28:00 +02:00
yuri
6a76dc41d1 formula field fit height 2018-12-24 11:26:12 +02:00
yuri
2b649c64a3 dropdown menu vertival padding 2018-12-24 11:12:18 +02:00
yuri
db2944cb15 fix email filter manager order 2018-12-24 11:02:26 +02:00
yuri
3d40184373 processLinkMultipleFieldSave improvement 2018-12-24 10:59:55 +02:00
Taras Machyshyn
e788c51ff3 Merge branch 'hotfix/5.5.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.2 2018-12-21 18:15:28 +02:00
Taras Machyshyn
d7fc389182 DBAL: fixed a problem of changing text field type 2018-12-21 18:15:10 +02:00
yuri
53f3a18245 allowing reminders for tasks when only date is specified 2018-12-21 14:44:40 +02:00
yuri
4b01bdb0d8 Merge branch 'hotfix/5.5.2' 2018-12-21 14:35:50 +02:00
yuri
ecafbe823e fix rtl 2018-12-21 13:29:27 +02:00
yuri
8abde38ebf email address phone number validate improvements 2018-12-21 12:56:56 +02:00
yuri
0fd7f768a9 email address lookup improvements 2018-12-21 12:26:28 +02:00
yuri
9c38d68b65 fix autocomplete email address autoselect 2018-12-21 11:43:22 +02:00
yuri
f0de5dde53 code style fix 2018-12-21 11:27:50 +02:00
yuri
2cdbf0ba76 email address autocomplete max size 2018-12-21 11:23:02 +02:00
yuri
34e4f4d7c2 fix date time filter after 2018-12-21 11:03:57 +02:00
yuri
61c0b58798 Merge branch 'hotfix/5.5.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.2 2018-12-20 17:44:33 +02:00
yuri
b2db0ea683 rtl theme fix 2018-12-20 17:44:27 +02:00
yuri
bd0fb02bb2 fix logo 2018-12-20 17:34:31 +02:00
yuri
f0aed23416 navbar changes 2018-12-20 17:25:05 +02:00
Taras Machyshyn
65368519c7 DBAL: compare text length 2018-12-20 17:10:42 +02:00
yuri
53db6f22d6 event acceptance status colors 2018-12-20 14:03:07 +02:00
yuri
5d47a987f4 preferences data longtext 2018-12-20 13:48:39 +02:00
yuri
4222b0be1d Merge branch 'hotfix/5.5.2' 2018-12-20 11:46:15 +02:00
yuri
a1f03e22d4 update readme 2018-12-20 11:45:01 +02:00
Eymen Elkum
cddaa7b7a1 small fix to activities service (#1158)
$selectParams in the line https://github.com/espocrm/espocrm/blob/master/application/Espo/Modules/Crm/Services/Activities.php#L1057 was not defined so I moved it to be after initialized
$selectManager->addLeftJoin(['assignedUsers', 'assignedUsers'], $selectParams); seems not needed as it is added in the line 1095
2018-12-20 11:32:49 +02:00
Eymen Elkum
3b99ca74ab small fix to activities service (#1158)
$selectParams in the line https://github.com/espocrm/espocrm/blob/master/application/Espo/Modules/Crm/Services/Activities.php#L1057 was not defined so I moved it to be after initialized
$selectManager->addLeftJoin(['assignedUsers', 'assignedUsers'], $selectParams); seems not needed as it is added in the line 1095
2018-12-20 11:31:02 +02:00
yuri
58dee36f1b fix timezone issue in datetime on/today filters 2018-12-20 11:26:26 +02:00
yuri
ae24fc07ba preset filter all label 2018-12-20 11:14:07 +02:00
yuri
13ca0db761 fix autocomplete max size 2018-12-20 11:09:56 +02:00
yuri
42641396c6 activity all day select 2018-12-19 17:13:04 +02:00
yuri
04326171e7 fix event repository 2018-12-19 17:03:50 +02:00
yuri
d90d450bef all day event 2018-12-19 16:48:06 +02:00
yuri
d2b20154de duplicate function in view 2018-12-19 11:41:52 +02:00
yuri
b176d866d0 fix template image 2018-12-19 11:22:55 +02:00
yuri
07a9a79626 chart fix 2 2018-12-18 15:54:08 +02:00
yuri
b60da458d5 fix chart 2018-12-18 15:47:15 +02:00
yuri
40ffbc550f fix opp by stage 2018-12-18 15:18:16 +02:00
yuri
35076148cc opp dashlets fiscal year filters 2018-12-18 15:13:40 +02:00
yuri
3175ff9a76 settings test 2018-12-18 13:39:46 +02:00
yuri
81457b1e48 fix accounts tasks 2018-12-18 13:15:40 +02:00
yuri
e9d5472d72 config test update 2018-12-18 12:52:33 +02:00
yuri
7c4bd371e7 Merge branch 'hotfix/5.5.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.2 2018-12-18 12:48:57 +02:00
Taras Machyshyn
98ed7e4dd3 Added systemItems 2018-12-18 12:45:54 +02:00
yuri
8404ef1d83 update fontawesome 2018-12-18 12:39:28 +02:00
yuri
0d99d84adf xmlwriter requirement 2018-12-18 12:14:12 +02:00
yuri
8492962923 settings filter smtp info 2018-12-18 11:25:50 +02:00
yuri
99627f856f job fail not started ready 2018-12-17 16:33:30 +02:00
yuri
b917cc20f6 fix relationship order 2018-12-17 14:25:44 +02:00
yuri
c582e88b7b version 2018-12-17 14:09:17 +02:00
yuri
9a00603600 theme navbarAdjustmentHandler 2018-12-17 14:07:51 +02:00
yuri
550b5e3bb4 iconv requirement 2018-12-17 13:49:28 +02:00
yuri
5ceb57a2cf config refactoring 2018-12-17 13:47:01 +02:00
yuri
16e96f6454 outboundEmailBccAddress user items 2018-12-17 11:06:08 +02:00
yuri
c162ee5337 email invitation and reminder allow link usage 2018-12-17 10:58:50 +02:00
yuri
66d34e7035 Merge branch 'hotfix/5.5.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.1 2018-12-14 16:25:05 +02:00
Taras Machyshyn
f57f7f72ed Added skipBackup option for extensions 2018-12-14 16:21:39 +02:00
yuri
c911cfe310 datetime hasSeconds param 2018-12-14 12:43:35 +02:00
yuri
223c8b53b4 scheduled job log status style 2018-12-14 12:15:01 +02:00
yuri
add1154014 jobPeriodForEndedProcess param 2018-12-14 12:06:10 +02:00
yuri
6ede731cfe fix jobs 2018-12-13 18:26:31 +02:00
yuri
0619cc0e3d fix htmlizer 2018-12-13 18:12:52 +02:00
yuri
06a686ad1a fix cron 2018-12-13 18:07:53 +02:00
yuri
15aed06f9d Merge branch 'hotfix/5.5.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.1 2018-12-13 18:05:03 +02:00
yuri
012936dc7d jobs running processing 2018-12-13 18:04:45 +02:00
Taras Machyshyn
0fb5b4a323 LDAP: Bug fixes for a portal user 2018-12-13 17:51:25 +02:00
Taras Machyshyn
dc3cfb4c23 Merge branch 'hotfix/5.5.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.5.1 2018-12-13 16:53:07 +02:00
Taras Machyshyn
450e7894aa File manager improvements 2018-12-13 16:36:39 +02:00
yuri
b8e7dbd147 followers link forbidden 2018-12-13 12:44:43 +02:00
yuri
a41c53d7f4 css audited fields fix 2018-12-12 16:22:23 +02:00
yuri
419faa2a47 email phone fields audited param 2018-12-12 15:39:40 +02:00
yuri
1d3b181a1c readme update 2018-12-12 12:37:57 +02:00
yuri
e0d4ec4a28 fix as soon as possible job scheduling 2018-12-12 12:34:55 +02:00
yuri
f95d8cbdde version 2018-12-12 12:30:54 +02:00
yuri
e22c9151d1 email message id disable text fitler 2018-12-12 12:29:13 +02:00
yuri
f6ae58a05d radio contanier css 2018-12-12 12:27:36 +02:00
yuri
cb3fc1c951 access info email fix 2018-12-12 11:48:21 +02:00
yuri
7f84fd2b4c password change request fix 2018-12-12 11:39:38 +02:00
yuri
518a67bf8a attachment document icon 2018-12-11 18:13:25 +02:00
yuri
cc6af53eff stream dashlet lit icon 2018-12-11 17:42:52 +02:00
Taras Machyshyn
7b27f62f10 Bug fixes for integration tests 2018-12-11 14:16:24 +02:00
yuri
16d69a1925 async from fork 2018-12-11 11:24:02 +02:00
yuri
66fb39c98d fix email to contact 2018-12-10 13:01:10 +02:00
yuri
9bfd68ad24 fix link parent 2018-12-10 10:50:16 +02:00
yuri
846665bd57 css fix 2018-12-07 19:20:34 +02:00
yuri
04f92584d4 global search input change 2018-12-07 19:14:32 +02:00
yuri
3891422735 fix autocomplete 2018-12-07 18:56:01 +02:00
yuri
a806c3336d entity acl 2018-12-07 17:49:44 +02:00
yuri
5310fd38bf user field level access fix 2018-12-07 12:30:18 +02:00
yuri
507df94427 portal admin forbid access 2018-12-07 12:16:19 +02:00
yuri
f55ea8ddbb fix task overdue date end 2018-12-07 11:54:39 +02:00
yuri
865030914e css 2018-12-07 11:52:51 +02:00
yuri
e5baa91433 fix autocomplete 2018-12-07 11:09:59 +02:00
yuri
059eaccbe2 fix css 2018-12-06 17:44:09 +02:00
yuri
b432e1ad2c login fixed 2018-12-06 17:28:41 +02:00
yuri
e9c25c1330 fix template variables ui 2018-12-06 15:24:36 +02:00
yuri
bc1a263b13 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-06 14:58:58 +02:00
Taras Machyshyn
98ec83aa36 Orm converter fixes 2018-12-06 14:58:25 +02:00
yuri
fe2b527561 email phone fieldType 2018-12-06 14:06:50 +02:00
yuri
57d57160dd css fix 2018-12-06 13:46:34 +02:00
yuri
c60964ac16 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-06 13:20:06 +02:00
Taras Machyshyn
9d4c5a4d1b Orm converter changes 2018-12-06 13:19:31 +02:00
yuri
2e6cd93908 ditch name attributes 2018-12-06 11:39:30 +02:00
yuri
f9e4d35cad lead filters layout 2018-12-05 16:58:27 +02:00
yuri
96ca03371e more autofill ditch 2018-12-05 15:14:44 +02:00
yuri
f3e4da9e0b ditch chrome autofill 2018-12-05 15:00:24 +02:00
yuri
bcde89b52e Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-04 17:24:32 +02:00
Taras Machyshyn
6becdc495d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-04 17:24:05 +02:00
Taras Machyshyn
483130176c Integration tests for Field Manager 2018-12-04 17:23:53 +02:00
yuri
4481a3d10e fix css 2018-12-04 16:44:35 +02:00
yuri
0caf9a63fc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-04 15:06:35 +02:00
Taras Machyshyn
82a08d3a6a Tests: bug fixes 2018-12-04 15:06:26 +02:00
yuri
a4bbf889ec Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-04 14:44:55 +02:00
yuri
a4beb96754 fix email import last date today 2018-12-04 14:44:51 +02:00
Taras Machyshyn
e4212161b5 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-04 14:31:08 +02:00
Taras Machyshyn
f271ded65b FieldManager: bug fixes 2018-12-04 14:30:57 +02:00
yuri
5eff7ff3fe email import fixes 2018-12-04 13:35:10 +02:00
yuri
342542622f fix css 2018-12-03 17:14:07 +02:00
yuri
0be995a108 user layout 2018-12-03 16:26:32 +02:00
yuri
6486b0b4f8 fix global search button 2018-12-03 16:17:50 +02:00
yuri
c3f79087fd global search tpl changes 2018-12-03 16:10:26 +02:00
yuri
87caf8b58f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-12-03 12:56:34 +02:00
yuri
4a94813509 emailForceUseExternalClient param 2018-12-03 12:52:26 +02:00
yuri
8c9429d77a success color fix 2018-12-03 12:26:58 +02:00
yuri
a0c3524056 side navbar changes 2018-12-03 12:10:13 +02:00
Taras Machyshyn
beba210031 Test fixes 2018-12-03 10:31:07 +02:00
Taras Machyshyn
c50f28325a Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-30 19:18:36 +02:00
Taras Machyshyn
4efa575201 FieldManager: bug fixes 2018-11-30 19:18:28 +02:00
yuri
bf8bfb1d23 email from, address not storable fields 2018-11-30 17:23:53 +02:00
Taras Machyshyn
40eaa026b2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-30 16:38:35 +02:00
Taras Machyshyn
4c7d2d66f0 FieldManager: bug fixes 2018-11-30 16:38:26 +02:00
yuri
cfcf5bacea Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-30 14:28:24 +02:00
yuri
1f12365518 lang 2018-11-30 14:28:17 +02:00
yuri
538a00b3eb job number bigint 2018-11-30 14:28:12 +02:00
Taras Machyshyn
ba623fe3f0 Metadata bug fixes 2018-11-30 14:20:15 +02:00
yuri
5a27041a54 job number int 2018-11-30 13:33:29 +02:00
yuri
c899cf4098 auth log auth method 2018-11-30 12:37:04 +02:00
yuri
a99b84bb86 job number 2018-11-30 11:59:54 +02:00
yuri
c0bede1670 fix notice 2018-11-30 10:56:33 +02:00
yuri
868f80340b entity icon names 2018-11-29 18:27:36 +02:00
yuri
5f0b692bc4 css fix 2018-11-29 17:35:06 +02:00
yuri
73ad04c049 e0 q0 queues 2018-11-29 16:31:51 +02:00
yuri
5d6cdc2fee job queue 2018-11-29 15:16:42 +02:00
yuri
fc712e0869 increase email portion size 2018-11-29 13:31:39 +02:00
yuri
f049e3f482 group email checking in separate jobs 2018-11-29 13:29:36 +02:00
yuri
19e517558b hack for imap not supporting search by UID 2018-11-29 13:29:08 +02:00
yuri
7c9a115574 process note acl job 2018-11-29 12:31:10 +02:00
yuri
93f51f7087 fix internal jobs 2018-11-29 12:17:04 +02:00
yuri
c9bb6dfdde fix note collection 2018-11-28 17:25:49 +02:00
yuri
5c14eda02a enum style 2018-11-28 16:45:58 +02:00
yuri
8ee0cb3af5 update zend mail 2018-11-28 12:50:08 +02:00
yuri
1404e2a90a mass email small fixes 2018-11-28 12:40:29 +02:00
yuri
b58d72e9fd cleanup 2018-11-28 11:16:38 +02:00
yuri
be03a3e175 fix create from email 2018-11-28 11:16:16 +02:00
yuri
bf46d970b8 css fix 2018-11-27 16:53:07 +02:00
yuri
c36e405acd fix naming 2018-11-27 16:24:23 +02:00
yuri
ebe4f78a62 css fix 2018-11-27 16:18:45 +02:00
yuri
5bda3e14d3 css colors fixes 2018-11-27 16:13:01 +02:00
yuri
cac0684696 status enum refactoring 2018-11-27 12:02:56 +02:00
yuri
6b89707c6e field search params naming 2018-11-27 11:10:06 +02:00
yuri
efcdbbe30c link link multiple search data naming 2018-11-26 16:41:24 +02:00
yuri
ce4c86de9d fix tooltip 2018-11-26 11:54:45 +02:00
yuri
d9b69ae61b lt lang fix 2018-11-26 11:33:10 +02:00
yuri
412174e8bb lv lang 2018-11-26 11:32:35 +02:00
yuri
2691a5dbaa ProcessNoteAclQueue scheduling 1 minute 2018-11-26 11:27:54 +02:00
yuri
eef34cec7c fix edit model reset 2018-11-26 11:26:48 +02:00
yuri
0449396678 record service link lists access lists 2018-11-26 11:18:06 +02:00
yuri
5b456b9d44 email to case: fill description and attachments 2018-11-23 16:22:33 +02:00
yuri
adb44b1b0a email note received improvements 2018-11-23 16:03:37 +02:00
yuri
4f5bd4b705 fix detail header sync 2018-11-22 13:21:57 +02:00
yuri
9370031805 cleanup 2018-11-22 13:20:19 +02:00
yuri
8ee258272b htmlizer prevent looping 2018-11-22 12:02:03 +02:00
yuri
fd5dfd769a htmlizer loop through collection 2018-11-21 16:55:03 +02:00
yuri
fb6d6e7599 scope icons 2018-11-21 13:22:05 +02:00
yuri
8c90cafcba hide access button for non admin users 2018-11-21 13:00:54 +02:00
yuri
36f3d3b479 htmlizer entity collection 2018-11-21 11:53:37 +02:00
yuri
3647fcb48e fix thousand separator 2018-11-20 17:28:28 +02:00
yuri
2368c3c8a7 css color 2018-11-20 17:01:14 +02:00
yuri
60a041e454 stick buttons all the way 2018-11-20 16:43:29 +02:00
yuri
5613938877 css fix 2018-11-20 16:32:17 +02:00
yuri
8817a1a19e email notification read 2018-11-20 15:46:06 +02:00
yuri
5b4caedbef list mode buttons size 2018-11-20 13:37:31 +02:00
yuri
b431b1e095 last view icon color 2018-11-20 13:26:44 +02:00
yuri
dac295ea19 has attachment tpl fix 2018-11-19 15:39:52 +02:00
yuri
2c2ac08bf7 fix upload attacment 2018-11-19 15:20:20 +02:00
yuri
3b8e9d8e47 css fixes 2018-11-19 14:56:47 +02:00
yuri
9682671de2 centered logo 2018-11-19 13:35:27 +02:00
yuri
29559e571c css colors 2018-11-19 13:06:41 +02:00
yuri
cfb25d068d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-19 12:43:38 +02:00
yuri
9b8c6bef99 task: complete button on detail modal 2018-11-19 12:08:15 +02:00
yuri
168a1ea6e5 email compose: restore last html value 2018-11-19 11:20:46 +02:00
yuri
1515517bc3 kanban icon 2018-11-19 11:12:06 +02:00
yuri
7b20c9e448 fix css 2018-11-19 11:07:42 +02:00
yuri
008c9e6f7b fix email import duplicate fromString 2018-11-19 11:05:58 +02:00
yuri
d26edd74d1 fix email import 2018-11-16 12:37:25 +02:00
yuri
6f3be6fdde fix email notification 2018-11-16 11:32:50 +02:00
yuri
603019116b email import fix 3 2018-11-16 11:19:18 +02:00
Taras Machyshyn
0f7b5ea1f4 Tests: bug fixes 2018-11-16 11:14:38 +02:00
yuri
d62a83ba0c sorting icon 2018-11-15 17:53:32 +02:00
yuri
b873f850af logo float change 2018-11-15 17:30:28 +02:00
yuri
16e45f6c4e fix email import 2 2018-11-15 16:17:43 +02:00
yuri
5c34747a74 email fix body plain action 2018-11-15 13:44:17 +02:00
yuri
cd4099cf4b email import parallel fixes 2018-11-15 13:21:39 +02:00
yuri
4ceb22c0ad category tree expanded icon 2018-11-14 16:43:58 +02:00
yuri
cd76a63c2e cleanup 2018-11-14 16:38:42 +02:00
yuri
6871416bc1 text cut improvement 2018-11-14 15:41:35 +02:00
yuri
f401e08d0e ui action handler 2018-11-14 12:29:39 +02:00
yuri
c8dd17ffa7 fix lang 2018-11-14 11:35:34 +02:00
yuri
766e8cbcf7 category tree menu 2018-11-14 11:34:16 +02:00
yuri
86ad6a262b last viewed layout change 2018-11-13 17:21:50 +02:00
yuri
614900443d fix last viewed 2 2018-11-13 17:14:22 +02:00
yuri
0be7bbd57e fix last viewed 2018-11-13 17:07:29 +02:00
yuri
5b45cc552f fix mass email smtp account field 2018-11-13 16:55:41 +02:00
yuri
b6653f99be inline edit disabled param 2018-11-13 16:38:08 +02:00
yuri
520b3c5e89 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-13 15:51:24 +02:00
yuri
ebe2ca9e9d preferecnes button change 2018-11-13 15:46:54 +02:00
yuri
63740b17bb update timepicker version 2018-11-13 15:42:57 +02:00
Taras Machyshyn
800a7af874 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-13 15:37:43 +02:00
Taras Machyshyn
75bdd68779 DBAL: default value for MariaDB 10.2.7+ 2018-11-13 15:37:28 +02:00
yuri
0f9ac24f52 datetime minuteStep param 2018-11-13 15:35:18 +02:00
yuri
5ac39c53b3 fix stream refresh icon 2018-11-13 15:09:45 +02:00
yuri
3edc895edc fix search 2018-11-13 14:52:49 +02:00
yuri
ecc06c5917 last viewed show more 2018-11-13 13:01:58 +02:00
yuri
c672e1b435 css fixes 2018-11-13 12:19:21 +02:00
yuri
9165660286 follow button icon 2018-11-13 12:14:42 +02:00
yuri
60673c579f css fixes 2018-11-13 12:11:17 +02:00
yuri
3967864df7 fix css 2018-11-12 16:51:23 +02:00
yuri
c76e288b6b fix css 2018-11-12 16:41:22 +02:00
yuri
a4549b0c12 entity manager check client defs exists 2018-11-12 16:24:05 +02:00
yuri
3fc838a2b4 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-12 16:03:03 +02:00
yuri
a81fbe6c92 side menu improvement 2018-11-12 16:01:10 +02:00
Taras Machyshyn
34429bbcf5 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-12 12:16:05 +02:00
Taras Machyshyn
1cb7d943ec Test fixes 2018-11-12 12:15:50 +02:00
yuri
a57af66b2b lang fix 2018-11-12 11:52:29 +02:00
yuri
59c388a3f5 fix naming 2018-11-12 11:50:36 +02:00
yuri
282c3e32fc fix de lang 2018-11-12 11:48:38 +02:00
yuri
e841d43a06 fix css 2018-11-12 11:24:02 +02:00
yuri
474d7b638c fix list sticked 2018-11-12 11:23:56 +02:00
yuri
44c9d10cbb Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-12 10:59:54 +02:00
yuri
e863e3f56d jquery length instead of size 2018-11-12 10:53:55 +02:00
yuri
432f5a5647 fix stick 2018-11-09 17:27:27 +02:00
yuri
3545b560fe css fix 2018-11-09 17:21:11 +02:00
yuri
4e86ce2a77 search add field label 2018-11-09 17:13:31 +02:00
yuri
4881787cf0 stick list view actions 2018-11-09 17:08:09 +02:00
Taras Machyshyn
3172cdbd55 DBAL: bug fixes 2018-11-09 15:18:54 +02:00
yuri
6601922c13 fix cleanup jobs 2018-11-09 12:15:40 +02:00
yuri
049d6bc4de fix typo 2018-11-09 11:08:50 +02:00
yuri
9fddd6b1ba it lang 2018-11-09 11:03:35 +02:00
yuri
ea4762e3d0 fix css style 2018-11-08 18:36:40 +02:00
yuri
cb44f0fe13 relationship panel menu order change 2018-11-08 18:07:29 +02:00
yuri
a8fa776713 fix css 2018-11-08 17:53:55 +02:00
yuri
cb82f0df0c icons change 2018-11-08 17:25:53 +02:00
yuri
c6fc914a4e dropdown button style change 2018-11-08 15:04:54 +02:00
yuri
c7096574ab fix body plain modal 2018-11-08 15:03:06 +02:00
yuri
c98a3ae40a Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-08 13:56:36 +02:00
yuri
39e4250998 fix entity manager create ntity 2018-11-08 13:48:18 +02:00
Taras Machyshyn
6c44253798 Integration tests improvements 2018-11-08 13:35:08 +02:00
yuri
4836bce5b0 record service unset id 2018-11-08 13:32:18 +02:00
yuri
184a889301 entity manager createEntity 2018-11-08 13:14:05 +02:00
yuri
9b0609a7f1 acl tests 2018-11-08 12:50:38 +02:00
yuri
824216035f wysiwyg: support on list 2018-11-08 11:37:23 +02:00
yuri
e690231f05 fix filter check icon 2018-11-07 15:59:52 +02:00
yuri
22201f83b2 entity manager reserved names 2018-11-07 15:38:17 +02:00
yuri
be4ab13f6d fix formula field 2018-11-07 14:23:33 +02:00
yuri
24186ae143 custom client routes 2018-11-07 12:28:41 +02:00
yuri
eba8cc630d router cleanup and ditch logout route 2018-11-07 11:57:22 +02:00
yuri
e835e0d269 cleanup 2018-11-07 11:46:08 +02:00
yuri
c420892800 disable ability to edit scheduled job job 2018-11-07 11:39:48 +02:00
yuri
ada7c067b3 fix cleanup deleted records 2018-11-07 11:32:52 +02:00
yuri
8109c8460e code formatting fix 2018-11-06 17:05:29 +02:00
yuri
aeddff23ad gruntfile addition 2018-11-06 16:40:41 +02:00
Taras Machyshyn
c93c05fe8c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-06 16:33:30 +02:00
Taras Machyshyn
01d0020b28 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-06 16:28:06 +02:00
yuri
aa78f4f9db fix upgrade id 2018-11-06 16:24:13 +02:00
yuri
7879b57ea3 controller manager fix 2018-11-06 16:18:34 +02:00
yuri
a4794cac60 super admin only config params 2018-11-06 16:08:10 +02:00
yuri
6bd6510ce9 style fix 2018-11-06 15:28:43 +02:00
yuri
88225eb590 Persian lang 2018-11-06 15:24:22 +02:00
yuri
ef1c1d2a24 placeholders info 2018-11-06 15:04:57 +02:00
yuri
f461f1968d email template today now placeholders 2018-11-06 14:56:04 +02:00
yuri
2513edc53a phone number link wo spaces 2018-11-06 14:32:55 +02:00
yuri
40d03c6848 jobs fixes improvements 2018-11-06 12:27:34 +02:00
yuri
75d6a728b1 about tpl 2018-11-05 16:58:43 +02:00
yuri
739d1dd3d1 fix msg 2018-11-05 16:50:12 +02:00
yuri
97b338fc5d cleanup 2018-11-05 16:49:48 +02:00
yuri
5350cf8e52 parallel jobs and daemon 2018-11-05 16:45:42 +02:00
yuri
0c2959da80 calendar dashlet icon 2018-11-02 15:03:45 +02:00
yuri
37cba66ad7 timeline shared by default 2018-11-02 15:00:00 +02:00
yuri
03606ae644 fix currency 2018-11-02 13:53:26 +02:00
yuri
292453e425 call date end on layout 2018-11-02 13:07:19 +02:00
yuri
9639840b46 Merge branch 'master' of github.com:espocrm/espocrm 2018-11-02 12:56:09 +02:00
Arkady
db6cdec9b5 fix typo (#1103) 2018-11-02 12:55:51 +02:00
yuri
b74c17c582 fix timeline 2018-11-02 12:54:05 +02:00
yuri
20a139ca0a timeline bust timeframes 2018-11-02 12:44:20 +02:00
yuri
4fd5555146 timeline create datestart 2018-11-01 16:17:32 +02:00
yuri
2e4cc5f0be activities controller change 2018-11-01 15:52:47 +02:00
yuri
983dc7c376 fix ipad more menu 2018-11-01 14:50:59 +02:00
Taras Machyshyn
f461434fb4 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-11-01 10:17:49 +02:00
yuri
907655bb09 uniqid fix 2018-10-31 15:58:02 +02:00
yuri
41d6a0a099 is replied css 2018-10-31 13:15:39 +02:00
yuri
573d14f854 fix panel actions 2018-10-31 13:04:11 +02:00
yuri
c0719694ba panel actions improvement 2018-10-31 12:59:52 +02:00
yuri
49aea5aad1 load empty link name fields 2018-10-30 12:45:03 +02:00
yuri
076569027a loadNotJoinedLinkFields optimization 2018-10-30 12:37:18 +02:00
yuri
2a7cc3aeb0 fiscal year start 2018-10-30 11:57:22 +02:00
Taras Machyshyn
89dca6086d Installation: Added user type 2018-10-29 16:45:14 +02:00
Taras Machyshyn
c00bbdb0fe Merge commits 2018-10-29 16:32:58 +02:00
yuri
60bdf881b1 ORM: fiscal year and quarter functions 2018-10-29 15:58:17 +02:00
yuri
ae9237c4b9 portal user icon 2018-10-29 12:09:04 +02:00
yuri
51a221809b acl field-level additional attribute list 2018-10-29 11:44:12 +02:00
yuri
d7d176c169 merge 2018-10-29 10:51:49 +02:00
yuri
374413eaae version 2018-10-29 10:23:19 +02:00
yuri
96538a2b6f fix order by address 2018-10-29 10:16:07 +02:00
yuri
39a3a6dbd2 users nonAdminReadOnlyAttributeList 2018-10-29 10:15:37 +02:00
Taras Machyshyn
58d959fdef Installer: bug fixes 2018-10-26 15:14:30 +03:00
Taras Machyshyn
3de7238d7b Installer: bug fixes 2018-10-26 14:58:38 +03:00
yuri
66b2065d7c user fixes 2018-10-26 14:38:18 +03:00
Taras Machyshyn
e4b012c40f Installer: minor bug fixes 2018-10-26 14:03:56 +03:00
yuri
adf5283375 user and test fixes 2018-10-26 13:23:03 +03:00
yuri
1f5baa9d70 fix unit test 2018-10-26 12:54:52 +03:00
yuri
7d09306047 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-10-26 12:41:40 +03:00
Taras Machyshyn
c3ae8cdd62 Fixed unnecessary index 2018-10-26 12:07:32 +03:00
yuri
fef6ed5f34 api key authorization 2018-10-26 12:06:20 +03:00
yuri
778b212bd0 auth changes 2018-10-25 18:34:39 +03:00
yuri
d675bdfdf2 api users auth 2018-10-25 17:53:18 +03:00
Taras Machyshyn
0923414af1 Added requirements for MariaDB 2018-10-25 15:36:40 +03:00
yuri
d9b0dce5f4 fix check all results 2018-10-25 11:31:14 +03:00
yuri
b28bae20b7 user api type 2018-10-24 16:46:48 +03:00
yuri
a235ad1bc3 portal user side panel fields 2018-10-24 15:28:28 +03:00
yuri
db0114b600 fix portal row actions link 2018-10-24 15:03:55 +03:00
yuri
2aad48505e user type 2018-10-24 15:03:39 +03:00
yuri
347493dbbd fix password preview 2018-10-23 17:00:26 +03:00
yuri
f09e69e9b1 generate btn fix 2018-10-23 16:54:48 +03:00
yuri
2c410f4ecc fix 2018-10-23 15:25:31 +03:00
yuri
5e26f8da37 fix 2018-10-23 15:24:57 +03:00
yuri
8d6b86529b related list url 2018-10-23 15:20:55 +03:00
yuri
18859963e5 fix import 2018-10-23 12:31:41 +03:00
yuri
37828e5716 order by first name and last name 2018-10-23 12:30:20 +03:00
yuri
27bb69a4f7 orderBy backward compatibility 2018-10-23 11:35:06 +03:00
yuri
c41c994772 fix order by address 2018-10-22 16:30:39 +03:00
yuri
5610569fe7 ditch collection asc 2018-10-22 16:20:11 +03:00
yuri
ba0ad4dfe9 orderBy param 2018-10-22 15:11:06 +03:00
yuri
049443f4cc fix naming 2018-10-22 10:41:19 +03:00
yuri
ba76ea086c fix portal isDefault 2018-10-22 10:40:38 +03:00
yuri
a7beec2548 admin panel change 2018-10-19 14:52:14 +03:00
yuri
49bc5a5d5d fix cron manager 2018-10-19 13:53:27 +03:00
yuri
d9fd6bfc87 scheduled job delete pending jobs after scheduling change 2018-10-19 13:37:33 +03:00
yuri
4d5f0fce6c aclAllowDeleteCreatedThresholdPeriod 2018-10-19 13:23:59 +03:00
yuri
e7114d9c4c fix controller manager 2018-10-19 13:20:56 +03:00
yuri
8957a9ba5b css fix 2018-10-19 12:18:36 +03:00
yuri
a9ce82c8e9 ditch clear local cache from menu 2018-10-19 11:56:11 +03:00
yuri
85f1e05860 cron: ability to run more frequent than once per minute 2018-10-18 17:13:10 +03:00
yuri
5bdf4cb099 style fix 2018-10-18 16:48:32 +03:00
yuri
c52b1f8cc3 scheduled job fix 2018-10-18 16:09:26 +03:00
yuri
5176aef78c controller manager refactoring 2018-10-18 14:11:39 +03:00
yuri
8fc0ed81ff acl get level fix 2018-10-18 13:49:07 +03:00
yuri
b84838bfbb naming fix 2018-10-18 11:51:01 +03:00
yuri
2adf724458 menu debiders 2018-10-18 11:50:39 +03:00
yuri
fd8f546d1f email create contact in b2b mode 2018-10-18 11:11:48 +03:00
yuri
c33de304dc compose email relate with parent 2018-10-18 11:07:53 +03:00
yuri
c6afb86765 kanban sticking header 2018-10-17 16:47:04 +03:00
yuri
71e2af6c4c naming fix 2018-10-17 15:13:02 +03:00
yuri
15b74e19d7 hide popovers on modal open 2018-10-17 15:11:25 +03:00
yuri
74eece5956 naming fix 2018-10-17 15:04:34 +03:00
yuri
ada764bb7f text varchar null if empty 2018-10-17 14:50:47 +03:00
yuri
e2e99009a3 warn if old class naming is used 2018-10-17 14:39:09 +03:00
yuri
8e879e2d73 po module name in file name 2018-10-17 14:24:26 +03:00
yuri
7808586751 fix stylesheed loading 2018-10-17 14:03:43 +03:00
yuri
23e66d58d3 filling contact when create case from contact 2018-10-17 13:55:29 +03:00
yuri
214b8baf8f fix header buttons 2018-10-16 14:51:30 +03:00
yuri
756a913e94 po script improvement 2018-10-16 13:48:14 +03:00
yuri
720bdc7aaf ru lang 2018-10-16 13:34:06 +03:00
yuri
b49d1e2e2c load default theme on log out 2018-10-16 13:22:35 +03:00
yuri
c0e76b05e2 css refactoring 2018-10-16 12:59:29 +03:00
yuri
ca0e7c781e css fix 2018-10-16 11:06:12 +03:00
yuri
50bcc77cd0 layout manager css fix 2018-10-15 17:02:22 +03:00
yuri
6decfd05a0 layout manager css fix 2018-10-15 16:53:11 +03:00
yuri
6bae680e4a layout manager css fix 2018-10-15 16:37:36 +03:00
yuri
3532f4136c merge in action history 2018-10-15 15:52:23 +03:00
yuri
af406bb473 layout manager grid fix 2018-10-15 15:44:51 +03:00
yuri
78decd9b67 dynamic logic fix 2018-10-15 15:43:02 +03:00
yuri
4d2a27d908 side/relationship panel conditions 2018-10-15 15:40:15 +03:00
yuri
f2afdcba6f fix int field 2018-10-15 13:54:16 +03:00
yuri
2d4c43e51a version 2018-10-15 13:09:45 +03:00
yuri
43124e3c06 update php-mime-mail-parser 2018-10-15 11:31:07 +03:00
yuri
7b80a0a60e mass update permission 2018-10-15 11:08:16 +03:00
yuri
74fc9007dd Merge branch 'stable' 2018-10-12 16:08:38 +03:00
yuri
e0705293e1 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-10-12 15:40:23 +03:00
Taras Machyshyn
29f3f7c330 Bug fixes for utf8mb4 2018-10-12 15:39:09 +03:00
yuri
ef2d83ab08 panel filters change 2018-10-12 13:05:32 +03:00
yuri
ba9520d6f5 record post search 2018-10-11 17:03:30 +03:00
yuri
1cbab04c35 account role fix 2018-10-11 15:43:49 +03:00
yuri
e8deed9244 fix activity list 2018-10-11 12:52:00 +03:00
yuri
b3ff690497 contact listen to inactive 2018-10-11 12:43:19 +03:00
yuri
a8f03abd1d relation modal fixes 2018-10-11 12:38:26 +03:00
yuri
9be41a4e37 Merge branch 'hotfix/5.4.4' 2018-10-10 17:03:52 +03:00
yuri
0e0e81f5ae Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-10-10 17:03:27 +03:00
yuri
b020cc1c39 activities list modal 2018-10-10 17:02:56 +03:00
Taras Machyshyn
4eab7f6a88 FieldManager improvements 2018-10-10 15:26:55 +03:00
yuri
8f213f819b fix activities email 2018-10-10 13:04:17 +03:00
yuri
4bd6f761e5 relatin view label 2018-10-10 11:33:18 +03:00
yuri
9dfcbb7c8e mass select only if allowed 2018-10-09 17:01:37 +03:00
yuri
488981753a related link modal 2018-10-09 16:50:37 +03:00
Taras Machyshyn
7622cdc1cf Merge branch 'hotfix/5.4.4' 2018-10-09 12:38:40 +03:00
Taras Machyshyn
bf503db267 LDAP: hide new options 2018-10-09 12:38:09 +03:00
Taras Machyshyn
fe6ffe4555 Merge branch 'hotfix/5.4.4' 2018-10-09 12:18:20 +03:00
Taras Machyshyn
028ad25fc6 LDAP: bug fixes for portal users 2018-10-09 12:09:00 +03:00
yuri
a6d0a90c73 contact title label 2018-10-08 14:25:12 +03:00
yuri
716cd2e729 repository getEntityType 2018-10-08 11:04:18 +03:00
yuri
034e06f636 templateFileManager fix 2018-10-08 11:03:00 +03:00
yuri
dfa4627998 entity name plural 2018-10-08 11:02:05 +03:00
yuri
942b6f3305 lang fix 2018-10-03 14:51:46 +03:00
yuri
fda03757fc template manager 2018-10-03 14:47:33 +03:00
yuri
6955ea581c Merge branch 'hotfix/5.4.4' 2018-10-03 11:14:42 +03:00
yuri
950d98528a fic ics summary 2018-10-01 13:45:28 +03:00
yuri
8b2d62d27a css navbar fix 2018-10-01 11:13:25 +03:00
yuri
2b3d1e9ce0 Merge branch 'hotfix/5.4.4' 2018-09-28 17:20:57 +03:00
yuri
15d5985ec4 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-28 17:20:36 +03:00
Taras Machyshyn
bd94543b71 PHP path 2018-09-28 17:19:58 +03:00
yuri
ab93196432 css fix 2018-09-28 16:57:52 +03:00
yuri
d8c5955ba4 autocomplete max height 2018-09-28 16:44:48 +03:00
yuri
0f64611843 update autocomplete 2018-09-28 16:41:41 +03:00
yuri
7244204f35 fix address country 2018-09-28 15:25:20 +03:00
yuri
6eee3c3432 address country list 2018-09-28 14:46:42 +03:00
yuri
3801de3449 fix varchar autocomplete 2018-09-28 14:11:43 +03:00
yuri
d97fefebf8 varchar options additions 2018-09-28 13:40:41 +03:00
yuri
06d55f2746 Merge branch 'hotfix/5.4.4' 2018-09-28 12:42:13 +03:00
yuri
c54bc30bda validation popover error fix 2018-09-28 12:41:31 +03:00
yuri
f2138a4e23 field view fix 2018-09-28 12:06:46 +03:00
yuri
8d0bb8fc12 varchar suggestion picklist 2018-09-28 11:44:04 +03:00
yuri
57c5d4b15c stream post: record link shorter form 2018-09-27 13:26:51 +03:00
yuri
41433ecbf5 it_IT lang 2018-09-27 12:04:12 +03:00
yuri
e0a4c5b6a8 attachment image insert fix 2018-09-27 11:51:03 +03:00
yuri
219a77f121 manual marge 2018-09-26 16:17:01 +03:00
yuri
43c0299c25 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-09-26 16:13:43 +03:00
yuri
7b65cba5e4 stream image link inserting 2018-09-26 16:12:03 +03:00
yuri
0e3b3c4193 email address lookup fix 2018-09-26 11:21:39 +03:00
Taras Machyshyn
35bbe00e17 Minor changes for a system requirements 2018-09-25 14:50:35 +03:00
yuri
673c18a5ce system config params 2018-09-25 13:31:18 +03:00
Taras Machyshyn
dc32b278f9 Added system-requirements 2018-09-25 13:07:15 +03:00
yuri
58c767c0a6 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-25 12:55:29 +03:00
yuri
7678316b5a fix call 2018-09-25 12:48:49 +03:00
yuri
988622629a call load phone numbers after update 2018-09-25 12:46:57 +03:00
yuri
c090b4629b showing phone numbers on call detail view 2018-09-25 12:42:05 +03:00
yuri
a9a3759d6e Merge branch 'hotfix/5.4.4' 2018-09-25 12:11:31 +03:00
yuri
19b4e91e25 lt_LT lang 2018-09-25 10:56:11 +03:00
yuri
f0d98542e4 cleanup 2018-09-25 10:52:00 +03:00
yuri
a32ed9c8f2 manual merge 2018-09-25 10:49:24 +03:00
yuri
67635f0b20 Merge branch 'hotfix/5.4.4' of github.com:espocrm/espocrm into hotfix/5.4.4 2018-09-25 10:44:17 +03:00
yuri
5d90b4f070 multi-enum w/o option list 2018-09-25 10:43:47 +03:00
yuri
c212eb1f20 array search by not defined options 2018-09-25 10:39:57 +03:00
Taras Machyshyn
5ae0b5a3f2 Case insensitive for LDAP 2018-09-24 16:01:12 +03:00
Xiaolu Hong
06d907d633 update zh_CN (#1054) 2018-09-24 14:26:56 +03:00
Xiaolu Hong
737c5ff2ba update zh_CN (#1052) 2018-09-24 11:03:49 +03:00
yuri
ba19934c06 selectize filter height 2018-09-21 17:01:41 +03:00
yuri
8885bb87be account role 100 2018-09-21 13:29:17 +03:00
yuri
690c873291 account role length 2018-09-21 13:22:11 +03:00
Taras Machyshyn
158cdd27bc LDAP Auth for portal users 2018-09-21 12:35:33 +03:00
yuri
51286a2c46 user access info and password change request templates 2018-09-20 13:18:46 +03:00
yuri
16538077ee Merge branch 'hotfix/5.4.4' 2018-09-20 11:28:29 +03:00
yuri
3181e54aa6 lead capture send Access-Control-Allow-Origin on posting 2018-09-19 14:52:56 +03:00
yuri
8028a153af fix max portal user count 2018-09-19 14:27:25 +03:00
yuri
0a03750d26 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-19 14:23:31 +03:00
yuri
e9b1a91180 massUpdate is portal user disabled 2018-09-19 14:23:25 +03:00
Taras Machyshyn
8677dd48ad Bug fixes for portal user limit 2018-09-19 14:18:52 +03:00
yuri
c3d309d07e lead capture config leadCaptureAllowOrigin 2018-09-19 13:32:27 +03:00
yuri
63e78a8895 invitations use template file manager 2018-09-19 11:08:58 +03:00
yuri
4b54a962b2 cleanup relationships 2018-09-18 17:00:32 +03:00
yuri
f3d2f0b453 cleanup deleted fix 2018-09-18 16:39:04 +03:00
yuri
fe638db414 orm mid key name fix 2018-09-18 16:37:16 +03:00
yuri
e51be3fd85 lead capture options 2018-09-18 12:49:47 +03:00
yuri
4fd345cb88 Merge branch 'hotfix/5.4.4' of github.com:espocrm/espocrm into hotfix/5.4.4 2018-09-17 12:29:23 +03:00
yuri
41e2de18aa email template disable quick create 2018-09-17 12:29:13 +03:00
yuri
df567a0603 email template placeholder list translation 2018-09-17 12:26:53 +03:00
Yuri Kuznetsov
419fb93a91 Update README.md 2018-09-14 16:48:06 +03:00
yuri
c7473be8c7 readme update 2018-09-14 16:01:21 +03:00
yuri
311a01ef41 lead capture php 5.6 compatibility 2018-09-14 14:02:16 +03:00
yuri
1a163907a3 version 2018-09-14 13:43:17 +03:00
yuri
2acdc00547 fix admin panel iframe height 2018-09-14 13:37:13 +03:00
yuri
b622d8865c fix merge 2018-09-14 13:00:03 +03:00
yuri
786fcfb580 fix email assignment permissin 2018-09-13 16:32:34 +03:00
yuri
eec8512f96 fix import 2018-09-13 14:09:19 +03:00
yuri
be62caef2b fix wysiwyg xss 2018-09-13 14:03:01 +03:00
yuri
eabd52b186 fix xss in global search 2018-09-13 13:44:25 +03:00
yuri
101087680b version 2018-09-12 15:33:04 +03:00
yuri
372f1770e0 kanban move over 2018-09-12 13:07:56 +03:00
yuri
a44dcdc9ff disable kanban dragging on touch devices 2018-09-11 15:57:04 +03:00
yuri
d44b172602 tooltip 2018-09-11 15:06:42 +03:00
yuri
241d7610ba email listen to isRepied 2018-09-11 12:16:42 +03:00
yuri
6929b2d717 mass update skipStreamNotesAcl 2018-09-10 15:24:42 +03:00
yuri
e743f61913 version 2018-09-10 12:17:15 +03:00
yuri
7f4e5dd01a note acl populate script 2018-09-10 12:15:42 +03:00
yuri
8a1b58cf7c fix kanban css 2018-09-10 11:22:22 +03:00
yuri
2a20766912 fix UniquId 2018-09-10 10:29:34 +03:00
yuri
b49679eb90 fix notification id 2018-09-10 10:27:09 +03:00
yuri
b2ea073c16 fix notifications 2018-09-10 10:24:09 +03:00
yuri
54085a59c3 fix meeting acl 2018-09-07 14:38:02 +03:00
yuri
858658768d version 2018-09-07 14:21:18 +03:00
yuri
86421010b9 fix meeting/call select manager 2018-09-07 14:20:01 +03:00
yuri
8675db36f3 stream sql optimization 2018-09-07 11:02:49 +03:00
yuri
f36a98a824 lead capture payload see more disabled 2018-09-06 15:21:45 +03:00
yuri
3c71ff05f3 css fix 2018-09-05 12:53:51 +03:00
yuri
6039939308 css fix 2018-09-05 12:19:06 +03:00
yuri
1ddea9938b fix stream list 2018-09-04 16:56:09 +03:00
yuri
5d3b515ef1 cleanup 2018-09-04 12:08:56 +03:00
yuri
31b7db4033 fix sales pipeline 2018-09-04 12:06:51 +03:00
yuri
6a7d59ba20 sales pipilent labels 2018-09-04 11:55:03 +03:00
yuri
0ab0e46d67 css cleanup 2018-09-03 15:55:21 +03:00
yuri
2777fe49d9 strem note acl fix 2018-09-03 15:17:29 +03:00
yuri
1e246e8197 fix stream acl 2018-09-03 14:41:12 +03:00
yuri
d8eec1068d fix tpl 2018-09-03 14:07:08 +03:00
yuri
0021e16962 stream acl 2018-09-03 13:39:32 +03:00
yuri
b046da1d79 fix css 2018-08-31 16:29:00 +03:00
yuri
2ca8f3af6f fix icon 2018-08-31 15:30:47 +03:00
yuri
b180ac2314 lang fix 2018-08-31 15:14:16 +03:00
yuri
9cc646e3b8 ua lang 2018-08-31 15:07:06 +03:00
yuri
a2fee68732 icon change 2018-08-31 14:24:17 +03:00
yuri
dc0d150000 de lang 2018-08-31 12:58:13 +03:00
yuri
76cc4a8d2c icons change 2018-08-31 12:55:07 +03:00
yuri
6e4c097dee fix image preview 2018-08-30 16:55:26 +03:00
yuri
af398cb5d4 css fix 2018-08-30 15:52:34 +03:00
yuri
3865bba926 css fix 2018-08-30 15:49:40 +03:00
yuri
3ad39d3337 icon change 2018-08-30 15:30:16 +03:00
yuri
1dfe1eb9bf image preview do not resize 2018-08-30 15:15:33 +03:00
yuri
7885a9cac3 fix reminder after save 2018-08-30 14:53:28 +03:00
yuri
bb63751332 entity set as being saved 2018-08-30 14:30:17 +03:00
yuri
083770f705 icon fixes 2018-08-30 12:55:16 +03:00
yuri
a65862325f follow icon change 2018-08-30 12:13:42 +03:00
yuri
9465ca46b2 css fix 2018-08-30 11:50:15 +03:00
yuri
62f05f370f navbar item titles 2018-08-30 11:44:50 +03:00
yuri
8e408d93cb css fix 2018-08-30 11:39:40 +03:00
yuri
7c1d587ae0 search by opted out and bool where redefinition in ORM 2018-08-30 11:30:33 +03:00
yuri
cb42bfe8e7 fix typo 2018-08-30 11:10:30 +03:00
yuri
32a340afe0 icons 2018-08-29 16:39:04 +03:00
yuri
0ff8246a00 font awesome 2018-08-29 16:35:50 +03:00
yuri
c9c58d373a update bootstrap to 3.3.7 2018-08-28 16:49:02 +03:00
yuri
af7aea720b css fixes 2018-08-28 16:15:07 +03:00
yuri
dee488a9de fix lang 2018-08-28 15:06:04 +03:00
yuri
88ec71400a config params 2018-08-28 13:27:30 +03:00
yuri
10ad5a804a note edit delete period 2018-08-28 13:24:26 +03:00
yuri
45f948d96c Merge branch 'hotfix/5.3.7' of ssh://172.20.0.1/var/git/espo/backend 2018-08-27 14:39:54 +03:00
yuri
e5e6a32ce5 email: use mailto if no access to create email 2018-08-27 10:41:09 +03:00
yuri
cf5202a065 calendar: apply acl 2018-08-27 10:32:40 +03:00
yuri
f37a49ddaf fix typo 2018-08-27 10:23:15 +03:00
yuri
4858f964c8 case and target list dynamic logic 2018-08-23 15:27:02 +03:00
yuri
5b50215242 fix json format 2018-08-23 15:25:46 +03:00
yuri
461e356419 lead capture test 2018-08-23 15:08:31 +03:00
yuri
7146f3d3aa fix lead capture 2018-08-23 15:08:24 +03:00
yuri
43d289bc56 es_MX lang 2018-08-23 14:22:48 +03:00
yuri
65c843b581 fix lang 2018-08-23 14:06:23 +03:00
Taras Machyshyn
d08704c95c Warning fixes 2018-08-23 13:00:11 +03:00
yuri
fb9100efdc maintenanceMode param 2018-08-23 12:41:03 +03:00
yuri
ee2182638a service unavalable exception 2018-08-23 12:32:30 +03:00
yuri
8ba9fb4693 cronDisabled param 2018-08-23 12:32:16 +03:00
yuri
b427d8cade fix date time optional fetch 2018-08-23 12:07:21 +03:00
yuri
89de19fd2e css 2018-08-22 12:23:35 +03:00
yuri
2f4df63281 foreign bool 2018-08-21 14:52:37 +03:00
yuri
e12eade143 fix template form 2018-08-21 12:05:59 +03:00
yuri
15b0d147d9 fix attachment 2018-08-21 11:48:41 +03:00
yuri
4901b8c5a0 template fonts labels 2018-08-20 16:30:21 +03:00
yuri
8c4f3b1103 template: ability to pick font 2018-08-20 16:16:10 +03:00
yuri
2225906eac fix kanban 2018-08-20 15:40:17 +03:00
yuri
895b3aa7c9 lang 2018-08-20 12:34:03 +03:00
yuri
67b359ff18 kanban css fix 2018-08-20 12:27:34 +03:00
yuri
62200d393e fix css formatting 2018-08-20 10:50:51 +03:00
yuri
166522e4e6 layout fixes 2018-08-20 10:38:42 +03:00
yuri
cc3d7a9f20 css grid-auto-fill 2018-08-17 16:19:56 +03:00
yuri
81ce479293 Merge branch 'hotfix/5.3.7' 2018-08-17 14:57:16 +03:00
yuri
afa6591903 dashboard fix 2018-08-17 14:48:48 +03:00
yuri
e89cb2547e preferences: ability to reset dashboard to default 2018-08-17 14:20:24 +03:00
yuri
7b982acc3e fix button helper 2018-08-17 12:42:35 +03:00
yuri
e24fc19314 preferences layout change 2018-08-17 12:11:57 +03:00
yuri
0d9473b1e9 version 2018-08-17 12:00:28 +03:00
yuri
db4ccbe590 clean up deleted records 2018-08-17 11:39:58 +03:00
yuri
f085d2140c fix strip url 2018-08-16 16:47:16 +03:00
yuri
4f2117453d lang 2018-08-16 15:49:21 +03:00
yuri
919fff6cd5 activities compose email change 2018-08-16 12:59:42 +03:00
yuri
b77f0a705e css fix 2018-08-16 12:04:22 +03:00
yuri
73699894be update window title after save 2018-08-16 11:50:39 +03:00
yuri
4282d1766b fix flotr2 with touch enabled 2018-08-16 11:43:05 +03:00
yuri
3ebb9ea8fc import acl check edit 2018-08-15 16:18:55 +03:00
yuri
5635fddf3d import for regular users 2018-08-15 15:59:46 +03:00
yuri
9501e116cb app error log 2018-08-15 15:45:19 +03:00
yuri
c0997f1d97 fix remove fail 2018-08-15 15:15:22 +03:00
yuri
106961ff03 import fix 2018-08-15 13:56:42 +03:00
yuri
fd2b9cc818 import acl 2018-08-15 13:52:35 +03:00
yuri
d90853ff73 fix lead capture 2018-08-15 13:51:52 +03:00
yuri
a8bcd1dc2f import naming fixes 2018-08-15 13:26:31 +03:00
yuri
1f4ae0f07c date list title 2018-08-15 12:54:30 +03:00
yuri
cf0a9fd808 attachments fixes 2018-08-15 12:47:41 +03:00
yuri
036e10cbf7 fix test 2018-08-15 12:21:48 +03:00
yuri
0a22510566 orm fixes 2018-08-15 12:02:20 +03:00
yuri
44f14c1d29 amount weighted filter 2018-08-15 11:21:10 +03:00
yuri
e6796390db fix login logo 2018-08-14 17:29:15 +03:00
yuri
c11d52cef6 css fix 2018-08-14 16:35:37 +03:00
yuri
33e8b8b0c1 fix email phone add button 2018-08-14 15:35:18 +03:00
yuri
04dbe9129a Merge branch 'hotfix/5.3.7' 2018-08-14 15:22:09 +03:00
yuri
8e1a4ba368 IRR currency 2018-08-14 15:19:41 +03:00
yuri
920b5244a8 attachment filter fix 2018-08-14 14:53:17 +03:00
yuri
cd57f6c600 fix color icon linebreak issue 2018-08-14 14:29:09 +03:00
yuri
7e6a32ab06 attachmets list view 2018-08-14 13:36:04 +03:00
yuri
ee0dc257b2 lang 2018-08-14 11:58:37 +03:00
yuri
a8e6421517 cleanup attachments 15 days 2018-08-14 11:17:17 +03:00
yuri
1c5d2bd756 cleanup attachment limit 5000 2018-08-14 11:14:48 +03:00
yuri
1fc59b28aa Merge branch 'hotfix/5.3.7' 2018-08-14 11:09:31 +03:00
yuri
ed603c5f98 email template skip acl 2018-08-14 10:40:13 +03:00
yuri
0b7743419e array value cleanup 2018-08-14 10:25:10 +03:00
yuri
81ff01e9be array value 2018-08-13 15:43:44 +03:00
yuri
4845622949 fix iframe scroll on mobile 2018-08-13 14:48:18 +03:00
yuri
122cd9c56d orm: join table, join conditions, where not value conditions 2018-08-13 12:46:34 +03:00
yuri
379562b0d7 code style fix 2018-08-10 16:45:54 +03:00
yuri
c72d6d928a Merge branch 'hotfix/5.3.7' 2018-08-10 16:08:12 +03:00
yuri
b09c1366e3 fix email folder select manager 2018-08-10 15:11:56 +03:00
yuri
00e0427fdd options max length 2018-08-10 14:52:05 +03:00
yuri
85f888d60b relatin name max length 2018-08-10 14:46:28 +03:00
yuri
f22856dd91 field max length 100 2018-08-10 14:43:31 +03:00
yuri
5673d253e4 entity manager name maxlength 2018-08-10 14:41:37 +03:00
yuri
27ce836d4a currency entity class 2018-08-10 14:33:51 +03:00
yuri
a490ded36a fix field view fetch 2018-08-10 14:33:10 +03:00
yuri
bd54195403 Merge branch 'hotfix/5.3.7' 2018-08-10 11:08:59 +03:00
yuri
21d8e291e4 array field search type 2018-08-09 16:25:58 +03:00
yuri
b4fa62b403 parentName in assignment notification 2018-08-09 13:11:58 +03:00
yuri
1f3d7063d2 fix lead capture 2018-08-09 11:58:27 +03:00
yuri
e5709571e4 Merge branch 'hotfix/5.3.7' 2018-08-09 11:50:11 +03:00
yuri
a80d847f44 meeting duration list view 2018-08-09 11:38:40 +03:00
yuri
9de7105cde date field list link 2018-08-09 11:33:25 +03:00
yuri
cd7cc188e1 valueIsSet fields 2018-08-09 11:15:02 +03:00
yuri
e68a5f1979 fix phone number ui 2018-08-09 11:01:27 +03:00
yuri
c3e16a896e css fix 2018-08-08 14:52:48 +03:00
yuri
eafd0c3840 hide followers if empty 2018-08-08 13:18:16 +03:00
yuri
d5b5bb31c7 css fix 2018-08-08 13:03:00 +03:00
yuri
eaab96732a version 2018-08-08 12:52:30 +03:00
yuri
0dfed7279e css fix 2018-08-08 12:52:08 +03:00
yuri
b0e973d8ba fix multi enum 2018-08-08 12:07:37 +03:00
yuri
1d809c10b0 css fix 2018-08-08 11:33:01 +03:00
yuri
e0279f403f update font awesome icons 2018-08-08 11:16:48 +03:00
yuri
fa75da658c css fix 2018-08-08 10:57:13 +03:00
yuri
d23689aab7 cleanup 2018-08-08 10:35:32 +03:00
yuri
d4cc305265 fix account tasks panel 2018-08-08 10:34:22 +03:00
yuri
695d4b0cda lead capture job rename 2018-08-07 15:57:08 +03:00
yuri
2107d93cd2 phone number numeric 2018-08-07 15:55:06 +03:00
yuri
fb256ca29f orm noSelect param 2018-08-07 15:17:14 +03:00
yuri
557bcb4ecd lead capture 2018-08-07 13:18:43 +03:00
yuri
50a272473b fix formula modal 2018-08-06 12:31:11 +03:00
yuri
0eb9544371 jquery ui sortable on touch screens 2018-08-06 10:51:05 +03:00
yuri
620fa607d4 css fix 2018-08-06 10:39:40 +03:00
yuri
304d216b0e move to folder max size 2018-08-06 10:30:04 +03:00
yuri
ce2fe9d50c Merge branch 'stable' 2018-08-03 14:15:01 +03:00
yuri
eadf7835db fix css 2018-08-03 13:16:22 +03:00
yuri
048f65c8f6 record view ref 2018-08-03 11:57:35 +03:00
yuri
c30c4163a6 increase container max size 2018-08-02 16:21:40 +03:00
yuri
8d6db72516 icons fix 2018-08-02 15:08:32 +03:00
yuri
71864056bc navbar panel height 2018-08-02 15:05:00 +03:00
yuri
e375105a5f Merge branch 'hotfix/5.3.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.6 2018-08-02 13:28:18 +03:00
Taras Machyshyn
e066f4c6b0 Merge branch 'hotfix/5.3.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.6 2018-08-02 13:27:08 +03:00
Taras Machyshyn
b032aa4d8d Upgrades bug fixes 2018-08-02 13:26:46 +03:00
yuri
342a18e0ac fix installer css 2018-08-02 12:59:12 +03:00
yuri
e27e9de701 attachment preview resize 2018-08-02 12:37:16 +03:00
yuri
b14b199d43 preview resize fix 2018-08-02 12:28:14 +03:00
yuri
f77a7c32d5 link multiple preview size param 2018-08-02 12:04:33 +03:00
yuri
9f84d3f233 notifications attachment preview small size 2018-08-02 11:56:00 +03:00
yuri
be82244c6b showing attachments in notifications 2018-08-02 11:30:28 +03:00
yuri
7fed72d391 fix image sized download extension 2018-08-02 10:55:39 +03:00
yuri
54d615b64d fix attachment preview in list 2018-08-02 10:46:16 +03:00
yuri
2dbbd1e23d Merge branch 'hotfix/5.3.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.6 2018-08-02 10:30:55 +03:00
Taras Machyshyn
cba8867389 Bug fixes for MySQL 8 2018-08-01 18:49:40 +03:00
yuri
32d47db15a emailFolderMaxCount 2018-08-01 11:16:50 +03:00
yuri
2c65c9ff9f modal select attributes 2018-08-01 11:13:00 +03:00
yuri
fa5d63253b naming fix 2018-08-01 10:46:48 +03:00
yuri
b7ae252d3d modal forceSelectAllAttributes 2018-08-01 10:24:41 +03:00
yuri
f07b43abda version 2018-07-30 16:05:13 +03:00
yuri
276db37baf required extensions change 2018-07-30 16:03:20 +03:00
yuri
6adad84a29 installer config formatting 2018-07-30 15:52:16 +03:00
yuri
f137298c49 add exif extension 2018-07-30 15:50:17 +03:00
yuri
f8839518d5 avatar check exif read data exists 2018-07-30 15:48:00 +03:00
yuri
1ae39d1a40 fix campaign revenue empty 2018-07-30 10:20:45 +03:00
yuri
94f920324e fix case compose email 2018-07-30 10:14:17 +03:00
yuri
dbc3f7c7d6 Merge branch 'hotfix/5.3.5' 2018-07-27 12:35:42 +03:00
yuri
94c00e2901 orm: revert forcing updating json object 2018-07-27 11:59:22 +03:00
yuri
7de988104b link multiple attachment multiple list view fixes 2018-07-27 11:55:19 +03:00
yuri
03bc90968c fix email sending 2 2018-07-27 11:32:29 +03:00
yuri
a5401a22b9 fix email sending 2018-07-27 11:13:49 +03:00
yuri
4c1375d8b2 user buttons links 2018-07-27 10:46:18 +03:00
yuri
bab4a3b0d6 fix full text 2018-07-27 10:40:48 +03:00
yuri
33e135f227 fix email fetching 2018-07-27 10:03:26 +03:00
yuri
56b9d8d5c1 fix campaign 2018-07-26 17:56:35 +03:00
yuri
38ec88e302 fix formatting 2018-07-26 17:02:31 +03:00
yuri
10be208d8d fix linkedWith filter 2018-07-26 12:26:25 +03:00
yuri
38d227a948 fix model sync 2018-07-26 10:55:55 +03:00
yuri
1a8e4435e2 use put istead of patch 2018-07-25 15:04:33 +03:00
yuri
12febbdff5 version 2018-07-25 12:44:45 +03:00
yuri
ebea168350 field ui fixes 2018-07-25 12:41:48 +03:00
yuri
704519f80b fix setFetched link multiple and link one 2018-07-25 11:38:48 +03:00
yuri
5f1000ddd3 fix audited 2018-07-25 11:04:17 +03:00
yuri
2ee7e6cf4a orm: isUnordered param 2018-07-25 10:57:53 +03:00
yuri
2989975829 audited fix 2018-07-25 10:41:39 +03:00
yuri
a4c068427d cleanup 2018-07-24 18:22:54 +03:00
yuri
e1a76b9924 orm: isAttributeChanged improvement 2018-07-24 18:22:04 +03:00
yuri
1f2efcd716 link multiple available in list fix 2018-07-23 12:59:04 +03:00
yuri
576dfe068f fix array field setOptionList 2018-07-20 15:51:21 +03:00
yuri
f76860cdfd Merge branch 'stable' 2018-07-19 17:01:24 +03:00
yuri
56f8e68599 fix wysiwyg width 2018-07-19 14:56:28 +03:00
yuri
e8d75808ef fix email scrolling 2018-07-19 14:43:35 +03:00
yuri
bc8bf89d6e css fixes 2018-07-19 12:14:06 +03:00
yuri
91385cc3f0 fix naming 2018-07-19 11:49:43 +03:00
yuri
ad21511c72 email list is replied fix 2018-07-19 11:44:40 +03:00
yuri
938a24f102 fix assignment email notificaiotion 2018-07-19 10:59:32 +03:00
yuri
43b041ed6c fix replied icon 2018-07-18 15:37:37 +03:00
yuri
5e3f048795 replied email icon 2018-07-18 14:57:12 +03:00
yuri
3aec3ef6d2 formula higher 2018-07-18 11:37:55 +03:00
yuri
712a450734 formula mb string functions 2018-07-18 11:35:31 +03:00
yuri
5675b6721b sort by list comma fix 2018-07-18 11:25:58 +03:00
yuri
a4e23b8adb formula parser fix 2018-07-18 10:29:06 +03:00
yuri
9d49f418c8 orm fix order list 2018-07-18 10:11:36 +03:00
yuri
ea9f70dffa global search ability to select text 2018-07-17 17:26:06 +03:00
yuri
b624accbe8 version 2018-07-17 17:07:50 +03:00
yuri
12f974635e global search fixes 2018-07-17 17:07:32 +03:00
yuri
cfce68eb7e default panel complex fields 2018-07-17 15:38:44 +03:00
yuri
db8fbd1ed3 hide default panel if empty 2018-07-17 14:39:54 +03:00
yuri
7c549556ac Merge branch 'hotfix/5.3.3' 2018-07-17 11:15:22 +03:00
yuri
06395f3ff5 Merge branch 'hotfix/5.3.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.3 2018-07-16 15:48:49 +03:00
Taras Machyshyn
4065ec5477 Test fixes 2018-07-16 15:48:25 +03:00
yuri
31d45a0583 Merge branch 'hotfix/5.3.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.3 2018-07-16 14:20:29 +03:00
yuri
696faa4468 fix wysiwyg toolbar 2018-07-16 14:20:19 +03:00
Taras Machyshyn
625876f123 Merge branch 'hotfix/5.3.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.3 2018-07-16 14:06:54 +03:00
Taras Machyshyn
974cd05276 Integration test for fulltext index 2018-07-16 14:06:37 +03:00
yuri
fb5db991a3 fix vars 2018-07-16 13:37:00 +03:00
yuri
3dafb7e922 fix categories 2018-07-16 13:12:09 +03:00
yuri
ee640273a1 fix stream attachments 2018-07-16 10:51:55 +03:00
yuri
b92de17f72 Merge branch 'hotfix/5.3.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.3 2018-07-13 16:55:22 +03:00
Taras Machyshyn
abc48ca76f Fulltext bug fixes 2018-07-13 16:52:02 +03:00
yuri
46443aae7e fix full text search 2018-07-13 16:37:32 +03:00
yuri
a88c3283d6 full text search fix 2018-07-13 16:33:19 +03:00
yuri
2b9653ee0b replace tabs 2018-07-13 14:53:37 +03:00
yuri
2cf79abdb1 fix list view remove 2018-07-13 14:49:56 +03:00
yuri
20a000a46c fix full text search 2018-07-13 12:33:21 +03:00
ayman-alkom
95bfd5bace fix typo (#968) 2018-07-13 11:51:34 +03:00
ayman-alkom
a6b5f38aed fix typo (#968) 2018-07-13 11:49:44 +03:00
yuri
da736008f1 version 2018-07-13 11:19:49 +03:00
yuri
1de98d9616 text filter fixes 2018-07-13 11:19:30 +03:00
yuri
31a6143cc3 email template text filter 2018-07-13 11:07:34 +03:00
yuri
8502a84a3f chart mousetick fix 2018-07-12 12:52:05 +03:00
yuri
2234678728 email search tests 2018-07-12 11:31:44 +03:00
yuri
92fedd2c2e Merge branch 'hotfix/5.3.2' of ssh://172.20.0.1/var/git/espo/backend 2018-07-12 10:09:31 +03:00
Taras Machyshyn
0ec450d59d Schema bug fixes 2018-07-12 10:09:01 +03:00
yuri
f0a1634f90 version 2018-07-12 10:03:04 +03:00
Taras Machyshyn
5b5f5c8ab7 Schema bug fixes 2018-07-11 15:16:59 +03:00
yuri
19d37e8081 text filter disabling 2018-07-11 11:04:01 +03:00
yuri
d8ab10fd75 textFilterDisabled param 2018-07-11 10:37:17 +03:00
yuri
312de11a15 smtp local host name 2018-07-10 15:53:15 +03:00
yuri
47a22042b2 fix select records 2 2018-07-10 13:13:07 +03:00
yuri
31cea9e36e fix select records 2018-07-10 12:26:37 +03:00
yuri
2b983ad880 fix attachment multiple 2018-07-10 12:11:45 +03:00
yuri
21b0c2b2eb attachment multiple in list view 2018-07-10 11:58:11 +03:00
yuri
59b4aa61e4 not sortable by default 2018-07-10 11:36:20 +03:00
yuri
25d91a1e73 Merge branch 'hotfix/5.3.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.3.1 2018-07-09 13:36:24 +03:00
yuri
6750d32bd6 skip printing x status reason for pdo exception 2018-07-09 13:30:36 +03:00
yuri
70b8fc9ac9 foreign field: supporting number field 2018-07-09 12:52:55 +03:00
yuri
38a1be5ae3 version 2018-07-09 12:04:26 +03:00
yuri
1d9e9752c8 mass remove memory usage 2018-07-09 12:03:45 +03:00
yuri
eb37c1dc47 fix email text filter by email 2018-07-09 11:58:31 +03:00
yuri
1df6ec7f0c mass update improvement memory usage 2018-07-09 11:52:33 +03:00
yuri
1d6ee3e030 clean up 2018-07-09 11:37:39 +03:00
yuri
6eb80b747c login view name in clientDefs 2018-07-09 11:14:28 +03:00
yuri
539c0d22d7 convert lead skip disabled entity types 2018-07-09 10:54:29 +03:00
yuri
8e7d607ad4 fix dynamic logic not has 2018-07-09 10:49:44 +03:00
yuri
59e15eb71f fix select all results modal 2018-07-09 10:48:36 +03:00
Taras Machyshyn
c1ba6d5330 Metadata improvements 2018-07-06 17:02:19 +03:00
yuri
410aec734a lead select name fix 2018-07-05 17:21:58 +03:00
yuri
6078b17d38 export memory usage optimization 2018-07-05 16:47:20 +03:00
yuri
3b36d607ac code style 2018-07-05 16:20:36 +03:00
yuri
156cd85474 export memory usage improvement 2018-07-05 16:18:06 +03:00
yuri
0e29798e2b cleanup 2018-07-05 15:41:03 +03:00
yuri
19dbe81c79 hide followers in portal 2018-07-05 11:13:51 +03:00
yuri
62838961bb record max size limit improvement 2018-07-05 11:09:20 +03:00
yuri
ee84162470 createDisabled for modal select records 2018-07-03 12:22:12 +03:00
yuri
7a76dcce2c email to case copy body and attachments 2018-07-03 12:13:28 +03:00
yuri
0c21ed2e31 fix case 2018-07-03 11:50:53 +03:00
yuri
39daa763ab use numberic format param 2018-07-03 11:41:39 +03:00
yuri
f0c9690152 opp mandatory account 2018-07-03 11:32:10 +03:00
yuri
450091e71f contact mandatory account id 2018-07-03 11:31:28 +03:00
yuri
3a5c64b877 email skip replyTo when adding user 2018-07-02 15:16:33 +03:00
yuri
949d96db7a fix expanded list css 2018-07-02 14:58:16 +03:00
yuri
c974ce8864 entity manager check exists 2018-07-02 11:21:54 +03:00
yuri
caab8e9bbb custom calendar views 2018-07-02 11:05:02 +03:00
Taras Machyshyn
12469ee6f9 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-29 16:04:06 +03:00
Taras Machyshyn
dcd90b6f70 AdminNotifications improvements 2018-06-29 16:03:43 +03:00
Taras Machyshyn
f92b3c3d16 Bug fixes in Util 2018-06-29 16:02:45 +03:00
yuri
f3b41783c5 fix campaingn stats 2018-06-29 15:50:31 +03:00
yuri
3ec33c6054 fix currency converted hook 2018-06-29 15:36:34 +03:00
yuri
eb7c0da40c naming fix 2018-06-29 15:30:00 +03:00
yuri
2817c0027e fix campaign log record 2018-06-29 15:28:52 +03:00
yuri
c7457b95d1 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-29 14:29:55 +03:00
yuri
05244d598c email teams improvements 2018-06-29 13:08:49 +03:00
Taras Machyshyn
f55e0b2cb0 Minor bug fixes 2018-06-29 12:36:52 +03:00
Taras Machyshyn
ed6256da2c Possibility to check new versions of extensions 2018-06-29 12:10:25 +03:00
Taras Machyshyn
0398137ba7 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-28 16:36:03 +03:00
yuri
a6448a2769 kanban support link multiple fields 2018-06-28 13:07:31 +03:00
yuri
71cf0d01f8 fix template 2018-06-28 11:29:49 +03:00
yuri
d2a6d7ee99 fix event confirmation 2018-06-28 11:28:36 +03:00
yuri
a07bc15f00 fix typo 2018-06-28 11:26:22 +03:00
yuri
52ebd35785 supporting link multiple field on the list view 2018-06-28 11:20:13 +03:00
Taras Machyshyn
636d24a117 Check version url for extensions 2018-06-27 17:33:10 +03:00
yuri
8afbfaeb31 view jobs button 2018-06-27 11:19:49 +03:00
yuri
117084f835 fix sorting by index 2018-06-27 11:08:00 +03:00
yuri
eae92d8638 version 2018-06-27 10:52:41 +03:00
yuri
31f5df9db4 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-27 10:48:25 +03:00
Taras Machyshyn
00419a4cfc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-26 18:02:05 +03:00
Taras Machyshyn
3f36e5b2e8 Bug fixes 2018-06-26 18:01:52 +03:00
Taras Machyshyn
cc2abc961e Fulltext index Fixes 2018-06-26 16:47:44 +03:00
yuri
bea0398776 grunt clean custom dir 2018-06-26 16:08:13 +03:00
yuri
fd4c55ba9d Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-26 15:05:35 +03:00
Taras Machyshyn
fef5edce28 Fulltext index changes 2018-06-26 15:05:21 +03:00
Taras Machyshyn
6423e4cb68 Changing text to medium types for fulltext index fields 2018-06-26 15:01:58 +03:00
yuri
2acaf1f7ff orm: 0 result if not existing attribnure is used in where 2018-06-26 12:35:24 +03:00
yuri
fe31b078f6 full-text search for email 2018-06-26 11:30:55 +03:00
yuri
e3d81f4a61 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-26 11:26:18 +03:00
yuri
fb1d1d8fc5 fix import 2018-06-26 11:15:16 +03:00
yuri
cabef5906c fix list view 2018-06-25 14:29:39 +03:00
Taras Machyshyn
2dfffe00d0 Database helper improvements 2018-06-25 13:03:07 +03:00
yuri
78390efe45 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-25 11:29:10 +03:00
yuri
8ae0d2da88 email: add teams from replied 2018-06-25 11:24:58 +03:00
Taras Machyshyn
ecb3273883 Possibility to check if table supports fulltext index 2018-06-25 11:08:51 +03:00
yuri
256b94f877 fix panels row actions links 2018-06-25 10:54:21 +03:00
yuri
422f02b5c9 text filter supporting int and autoincrement fields 2018-06-22 17:00:48 +03:00
yuri
7e4c31db1a relationship proper orm attribute type 2018-06-22 16:03:31 +03:00
yuri
c9918c07b8 htmlizer var helper 2018-06-22 15:59:51 +03:00
Taras Machyshyn
ed438b1a31 Code improvements 2018-06-22 15:46:02 +03:00
yuri
83843cfe46 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-22 14:47:30 +03:00
yuri
462de7b025 fix fulltext 2018-06-22 12:51:14 +03:00
yuri
01dbc183f8 fix email text search 2018-06-22 12:30:07 +03:00
yuri
8817c82996 fix select attributes 2018-06-22 12:02:03 +03:00
yuri
3493addec5 print pdf mass max 50 2018-06-22 11:20:42 +03:00
yuri
d41a588bb5 disable full text for email 2018-06-22 11:15:16 +03:00
Taras Machyshyn
7953705e30 MEDIUMTEXT is a default text type 2018-06-21 19:00:36 +03:00
Taras Machyshyn
763a1ad96f Possibility to ignore creating fulltext indexes 2018-06-21 18:59:34 +03:00
yuri
b58d958f51 mb string functions 2018-06-21 16:10:16 +03:00
yuri
0b8d43f734 fixes 2018-06-21 14:21:38 +03:00
yuri
87518f33a9 full-text search 3 2018-06-21 12:53:12 +03:00
yuri
d83530bbf6 fix massDelete 2018-06-20 16:53:15 +03:00
yuri
517e1bab7c serach by email address performance improvement 2018-06-20 16:01:37 +03:00
yuri
cd22552e4a entity manager full-text search parameter 2018-06-20 15:24:39 +03:00
yuri
abc394512c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-06-20 15:07:06 +03:00
yuri
fa0cb01660 full text search 2 2018-06-20 14:51:50 +03:00
Taras Machyshyn
e6d509bd0b Added support fulltext index 2018-06-20 14:37:23 +03:00
yuri
775641aee1 fix globals search name field 2018-06-20 12:20:34 +03:00
yuri
3c51c6bc77 remove test 2018-06-19 18:46:59 +03:00
yuri
9ddd7b1d32 Merge branch 'hotfix/5.2.6' 2018-06-19 18:44:54 +03:00
yuri
6020a01a62 fix orm empty in 2018-06-19 18:44:47 +03:00
yuri
1ad9ee10f6 full text search 2018-06-19 17:29:12 +03:00
yuri
59863b8a91 test 2018-06-19 15:51:22 +03:00
yuri
1a083c247c fix css 2018-06-19 15:48:14 +03:00
yuri
cd7ca31212 orm query: supporting match 2018-06-19 15:35:30 +03:00
yuri
9be9ff3d68 mass print to pdf 2018-06-19 12:16:07 +03:00
yuri
e3b1ead830 fix acl manager empty action 2018-06-19 12:14:11 +03:00
yuri
b6041592ea fix job select attributes 2018-06-19 11:58:15 +03:00
yuri
0fa8b3da0b mail merge only with address 2018-06-18 16:13:36 +03:00
yuri
7dd0fe07ac fixes 2018-06-18 15:23:04 +03:00
yuri
2d1770f439 ignore select attributes 2018-06-18 15:11:50 +03:00
yuri
6be192514a force select all attributes 2018-06-18 15:06:46 +03:00
yuri
63fc42f8cf email mandatory select attributes 2018-06-18 14:47:32 +03:00
yuri
6f8a593f09 list select changes 2018-06-18 14:45:20 +03:00
yuri
b00e8f8900 merge 2018-06-18 14:26:00 +03:00
yuri
4e226ebcb7 select records button disable 2018-06-18 14:23:04 +03:00
yuri
30909c497b record dashlet populate assigned user 2018-06-18 14:14:48 +03:00
yuri
efd5ccfa96 list view select only attributes from layout 2018-06-18 13:23:35 +03:00
yuri
88d159d4c6 field manager load language after save 2018-06-15 15:28:45 +03:00
yuri
29788c353b link manager ui prevent existing link names 2018-06-15 15:18:43 +03:00
yuri
7897272f65 mail merge 2018-06-15 15:03:22 +03:00
yuri
5cabc76782 Merge branch 'hotfix/5.2.6' 2018-06-15 15:02:54 +03:00
yuri
b0ef416a4f target list listed status 2018-06-14 17:23:51 +03:00
yuri
0de0768bfb remove et category from layout manager 2018-06-14 17:16:08 +03:00
yuri
e4ac128a2e cleanup 2018-06-14 15:39:51 +03:00
yuri
2307f21d04 version 2018-06-14 15:15:15 +03:00
yuri
89d706c94f layout manager default panel 2018-06-14 13:00:18 +03:00
yuri
23350a0ffe field manager tpl fix 2018-06-14 12:04:02 +03:00
yuri
65d047f831 skip default opt out for users 2018-06-14 11:58:36 +03:00
yuri
dc40045de6 fix css 2018-06-14 11:57:01 +03:00
yuri
50d91ea6d8 email folder count 200 2018-06-14 11:50:33 +03:00
yuri
3a8865e382 calendar task creating fix 2018-06-14 11:47:47 +03:00
yuri
fddcef284f fix calendar task 2018-06-14 10:48:57 +03:00
yuri
c0854250e4 cleanup 2018-06-12 14:47:27 +03:00
yuri
71c9501354 cleanup 2018-06-12 14:38:25 +03:00
yuri
a85d0f91a2 layout manager panels dynamic logic 2018-06-12 14:34:57 +03:00
yuri
977514f5ef fix panels css 2018-06-12 13:22:17 +03:00
yuri
bf9ad953a1 lead converted panel use dynamic logic 2018-06-12 12:52:32 +03:00
yuri
5b1d96f649 ability to remove notifications for regular users 2018-06-12 11:24:53 +03:00
yuri
bf4ac0c9f3 opp detect closed stages by probability 2018-06-11 15:16:28 +03:00
yuri
3c8b2534eb opp last stage field 2018-06-11 15:06:19 +03:00
yuri
16c9f46583 countRelated subRelated functions 2018-06-11 12:01:52 +03:00
yuri
ef9609b710 target list listed status 2018-06-08 16:00:31 +03:00
yuri
a4c15992a9 fix calendar task 2018-06-08 14:20:35 +03:00
yuri
14d1173a0c calendar prevent drag between allday and hours 2018-06-08 14:01:06 +03:00
yuri
1e7acbdbd2 fix calendar 2018-06-08 12:47:11 +03:00
yuri
35e729b25c Merge branch 'hotfix/5.2.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.2.5 2018-06-08 12:12:18 +03:00
Taras Machyshyn
4ee5ea78e3 LDAP bug fixes 2018-06-08 12:11:32 +03:00
yuri
fe971f9f67 outboundEmailBccAddress on ui 2018-06-08 11:30:04 +03:00
yuri
a828523f26 external email client for email address field link 2018-06-08 11:25:32 +03:00
yuri
af9ca6788e re-render header on name change after sync 2018-06-07 16:28:48 +03:00
yuri
36d1c3af63 version 2018-06-07 13:58:52 +03:00
yuri
1853e98209 wysiwyg text filters support 2018-06-07 12:43:38 +03:00
yuri
f526d43798 improve dynamic logic conditions ui 2018-06-07 12:30:38 +03:00
yuri
ae8c76cecb fix select manager 2018-06-07 10:48:48 +03:00
yuri
2b32c94543 Merge branch 'hotfix/5.2.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.2.5 2018-06-07 10:45:38 +03:00
Taras Machyshyn
b6f5909df1 MySQL 8 bug fixes 2018-06-06 16:44:06 +03:00
yuri
ef35bbbb63 import: setting null for wrong date time 2018-06-05 13:11:34 +03:00
yuri
64f2cc6c7e fix import varchar length exceeded 2018-06-05 13:03:00 +03:00
yuri
a16635eb26 fix import ui 2018-06-05 13:02:31 +03:00
yuri
6e614f0a7d history has attachment 2018-06-04 16:40:07 +03:00
yuri
859f4eab0a target list panels change order 2018-06-04 14:33:11 +03:00
yuri
104e0b9079 target list changes 2 2018-06-04 14:25:00 +03:00
yuri
612abbf5c0 fix range fields 2018-06-04 12:46:54 +03:00
yuri
2dfbf71806 target list changes 2018-06-04 12:39:57 +03:00
yuri
c43f4d129d fix calendar 2018-06-04 10:47:14 +03:00
yuri
8d47a48f62 lang fix 2018-06-04 10:44:55 +03:00
yuri
9a333e6e38 list layout widthPx preserving 2018-06-01 12:07:45 +03:00
yuri
f6e0ef8cc6 layout manager data attribute list for custom layouts 2018-06-01 11:37:53 +03:00
yuri
36a45717f1 fix excel export varchar 2018-05-31 11:47:34 +03:00
yuri
86f63d72e1 fix list expanded 2018-05-31 11:41:38 +03:00
yuri
ade4078f0d fix kanban sort 2 2018-05-30 16:33:14 +03:00
yuri
fdeac68216 fix kanban sorting 2018-05-30 16:14:15 +03:00
yuri
4c220a5a65 version 2018-05-30 15:50:10 +03:00
yuri
f148bd82c5 fix kanban 2018-05-30 15:48:36 +03:00
yuri
0d983ef34c fix create new field name 2018-05-30 15:40:41 +03:00
yuri
75ad9f5cf2 email body fit height fix 2018-05-30 15:37:33 +03:00
yuri
893efe212e email template category layouts 2018-05-30 12:06:39 +03:00
yuri
4a4d2e473f version 2018-05-30 11:48:36 +03:00
yuri
9d663ad140 email template categories 2018-05-30 11:41:48 +03:00
yuri
f377dfc5b1 wysiwyg use iframe 2018-05-30 10:56:18 +03:00
yuri
a4054f5273 keep initial attachments on forward email 2018-05-30 10:47:20 +03:00
yuri
fcc3ac978f mass email track opened img alt 2018-05-30 10:40:59 +03:00
yuri
2bbeaa8198 es_MX lang fixes 2018-05-30 10:34:41 +03:00
yuri
70308d19ae hu and sk languages 2018-05-30 10:26:58 +03:00
yuri
143897cf18 fix set fetched link multiple 2018-05-30 10:18:44 +03:00
yuri
ddc90a05d9 fix email template insertion 2018-05-25 10:15:14 +03:00
yuri
bbbadb1c32 version 2018-05-24 14:35:10 +03:00
yuri
8995835d8e email attach in toolbox 2018-05-24 14:16:51 +03:00
yuri
df3c119f5f wysywyg stick toolbar 2018-05-24 13:57:48 +03:00
yuri
6a2ba73412 fix orm 2018-05-23 15:22:00 +03:00
yuri
cbee8cc541 version 2018-05-23 15:12:51 +03:00
yuri
22f186af29 fix label manager 2018-05-22 14:41:16 +03:00
yuri
77ab385db8 fix client manager exit 2018-05-22 10:25:48 +03:00
yuri
13495ee32e fix rdb 2018-05-21 11:16:39 +03:00
yuri
254ce7d5d2 email-to-case contact 2018-05-21 10:34:24 +03:00
yuri
4e1053d037 lang fix 2018-05-21 10:31:13 +03:00
yuri
2fcc6e168f orm setAsFetched fix 2018-05-21 10:30:22 +03:00
yuri
96ea0ae690 pl_PL lang fix 2018-05-18 14:40:41 +03:00
yuri
aa66001981 fix personal email account check 2018-05-18 12:00:37 +03:00
yuri
173ff943a4 next number fix 2018-05-18 11:48:51 +03:00
yuri
79ac73bb95 cleanup 2018-05-18 11:43:53 +03:00
yuri
2143832c25 cleanup 2018-05-18 11:42:51 +03:00
yuri
c656e36265 export timeout 2018-05-18 11:41:20 +03:00
yuri
8564adca6a fix portal assinment permission 2018-05-18 11:37:05 +03:00
yuri
19c9922115 fix navbar 2018-05-18 11:19:33 +03:00
yuri
b22a6f204a fix export 2018-05-15 13:33:51 +03:00
yuri
daa0cf9fc9 fix calendar 2018-05-15 12:52:28 +03:00
yuri
6365aa04df fix 2018-05-15 12:23:26 +03:00
yuri
ff20e077b1 fix 2018-05-15 12:19:49 +03:00
yuri
1106aaf18e fix 2018-05-15 12:15:13 +03:00
yuri
872ba225b4 fix 2018-05-15 12:13:15 +03:00
yuri
95c15efa92 fix typo 2018-05-15 11:57:34 +03:00
yuri
c179cec8a0 fix attachment multiple 2018-05-15 11:50:59 +03:00
yuri
97f96396c5 fix 2018-05-15 11:28:08 +03:00
yuri
e05cac1261 fix kanban 2018-05-15 11:21:50 +03:00
yuri
f9d8894f37 fix email field 2018-05-15 11:09:40 +03:00
yuri
5bd5a76722 fix person name 2018-05-15 11:06:09 +03:00
yuri
2fbb4f3725 fix email address 2018-05-15 11:02:29 +03:00
yuri
61e1b18eb9 opted out bool field 2018-05-14 16:50:12 +03:00
yuri
08c1710326 fix erase persoanal data 2018-05-14 15:59:14 +03:00
yuri
39d3baf1b5 fix stream 2018-05-14 15:57:35 +03:00
yuri
fd4753d190 email template info panel fix 2018-05-14 15:48:32 +03:00
yuri
29745367f7 tr_TR lang fix 2018-05-14 12:26:06 +03:00
yuri
25bb4f08ba fix record list dashlet 2018-05-14 11:57:41 +03:00
yuri
40a13c16eb data privacy 2018-05-14 11:49:25 +03:00
yuri
8ad2c425bf fix table get 2018-05-11 17:15:29 +03:00
yuri
2b6c9bc57e fix opp report 2018-05-10 16:35:47 +03:00
yuri
bebbee5abd email: replyTo link 2018-05-10 12:41:42 +03:00
yuri
99156499f1 display opted out on list view 2018-05-08 12:21:30 +03:00
yuri
9ad81581bb email opt out ui change 2018-05-08 11:48:33 +03:00
yuri
1b4cd1478b bc fix 2018-05-08 11:14:16 +03:00
yuri
5fdf2e4403 css fix 2018-05-07 16:33:10 +03:00
yuri
319b523117 css fix 2018-05-07 16:28:01 +03:00
yuri
62823646b0 css fix 2018-05-07 16:12:20 +03:00
yuri
3c16758605 xls float fix 2018-05-07 13:35:56 +03:00
yuri
4705d2e38d link multiple json fields 2018-05-07 13:13:07 +03:00
yuri
05b405f76e attachment multiple order 2018-05-07 12:38:46 +03:00
yuri
f54b2788de fix list tree 2018-05-07 12:05:30 +03:00
yuri
6ac0c7b301 fix task/meeting accountName contactName 2018-05-07 11:57:05 +03:00
yuri
c44cc9906e fix lang 2018-05-04 16:19:12 +03:00
yuri
ecd5671e1a fix panels 2018-05-04 16:00:18 +03:00
yuri
c83f729eea color picker fix 2018-05-04 14:11:09 +03:00
yuri
10afd2dfef update tcpdf 2018-05-04 14:03:38 +03:00
yuri
8229b8320f entity maanger reset to defaults 2018-05-04 13:58:40 +03:00
yuri
50493cf725 user icon 2018-05-04 13:24:04 +03:00
yuri
3937b80254 icons update 2018-05-04 13:18:16 +03:00
yuri
bcb7aaf13c entity manager: ability to select icons 2018-05-04 13:18:04 +03:00
yuri
f9d7ec7f47 fix test 2018-05-04 11:14:19 +03:00
yuri
b7d43edf22 attachment tests 2018-05-04 11:13:05 +03:00
yuri
0f0060f0f6 fix attachment duplicate 2018-05-04 11:00:59 +03:00
yuri
036bad3912 entity manager iconClass backend 2018-05-03 17:09:57 +03:00
yuri
c9d675798b icon color change 2018-05-03 15:08:23 +03:00
yuri
10703750f9 stream icon 2018-05-03 14:10:29 +03:00
yuri
4d942851d3 css fix 2018-05-03 14:01:50 +03:00
yuri
1434c31b2f theme names 2018-05-03 12:01:32 +03:00
yuri
74405b2842 theme order 2018-05-03 12:01:23 +03:00
yuri
1070d18085 icons 2018-05-03 11:45:28 +03:00
yuri
b729c13c7a fix css 2018-05-03 11:37:00 +03:00
yuri
1c99327bfd team tab 2018-05-03 11:18:07 +03:00
yuri
61279b0e59 sidebar width fix 2018-05-03 11:10:07 +03:00
yuri
31cb17a41d sidebar expanded by default 2018-05-03 11:00:45 +03:00
yuri
f9349d5545 icon colors 2018-05-03 10:59:18 +03:00
yuri
c3703494eb icons 2018-05-02 16:42:37 +03:00
yuri
d94ff7c4fa concurrency fix 2 2018-05-02 12:58:25 +03:00
yuri
01e0bf4d6d add GNF currency 2018-05-02 12:02:46 +03:00
yuri
ca5f1a47fd cleanup 2018-05-02 11:54:07 +03:00
yuri
54af8ee7c6 fix concurrency 2018-05-02 11:41:46 +03:00
yuri
8572b565f3 update bull 2018-05-02 11:41:02 +03:00
yuri
ea1cc1c65a fix calendar 2018-04-27 16:19:47 +03:00
yuri
4610c61bd4 fix dashlets 2018-04-27 16:16:37 +03:00
yuri
02f04ea9c4 concurrency race fix 2018-04-27 16:06:23 +03:00
yuri
1ce4db6be4 model abort last fetch 2018-04-27 15:47:21 +03:00
yuri
888291a99d fix 2018-04-27 14:07:10 +03:00
yuri
3f9773a4cf fix htmlizer 2018-04-27 11:59:26 +03:00
yuri
a223c721aa fix nav tab overflow 2018-04-27 11:54:05 +03:00
yuri
5bce57b1f8 fix theme 2018-04-27 11:43:03 +03:00
yuri
3666c34845 tab colors enabled 2018-04-27 11:12:42 +03:00
yuri
0dceccac46 attachment create file before create record 2018-04-27 11:11:23 +03:00
yuri
59a2644e0f email order replies 2018-04-27 10:52:49 +03:00
yuri
6c33a7304d email template skip empty subject 2018-04-27 10:47:31 +03:00
yuri
e89f01a525 person name autocomplete off 2018-04-27 10:42:32 +03:00
yuri
7181b45461 fix campaign stats panel 2018-04-27 10:41:00 +03:00
yuri
b7ce52f476 fix 2018-04-26 18:05:04 +03:00
yuri
d2a8cd961f theme fixes 2018-04-26 18:03:56 +03:00
yuri
c152dbf4bf fix row actions 2018-04-26 11:50:27 +03:00
yuri
594a111bc3 fix import panels 2018-04-26 11:46:09 +03:00
yuri
005be2fe5a impoty fix attribute translation 2018-04-26 11:26:51 +03:00
yuri
8f194e6d9e import currency fix 2018-04-26 10:53:10 +03:00
yuri
e3a5cb464c fix datetime optional 2018-04-25 16:52:12 +03:00
yuri
779f0df83e link parent fix 2018-04-25 16:46:23 +03:00
yuri
086d9bdbb6 kanban fix 2018-04-25 15:52:28 +03:00
yuri
9dcaa46bc7 css fix 2018-04-25 15:00:34 +03:00
yuri
3bca95a4da entity manager color fix 2018-04-25 14:24:26 +03:00
yuri
be09935287 icon fix 2018-04-25 14:10:08 +03:00
yuri
410c338da8 css fix 2018-04-25 13:55:55 +03:00
yuri
be0606ede6 fix css 2018-04-25 13:47:27 +03:00
yuri
f54a84420a color icon change 2018-04-25 13:46:59 +03:00
yuri
6a0d1e3b8b kanban no data 2018-04-25 11:57:39 +03:00
yuri
33127cd1bb version 2018-04-25 11:09:33 +03:00
yuri
5cd03312e1 assigned users notifications 2018-04-24 17:02:14 +03:00
yuri
391c0dcaf8 fix list expanded layout 2018-04-24 16:26:53 +03:00
yuri
0b7b9599d3 multiple assigned users support 2018-04-24 16:18:50 +03:00
yuri
b45ff69376 email account assigned user view 2018-04-24 14:00:17 +03:00
yuri
1836d0a127 css change 2018-04-24 12:13:07 +03:00
yuri
048e156e59 fix kanban 2018-04-23 14:38:18 +03:00
yuri
a85be60e30 fix kanban 2018-04-23 14:29:32 +03:00
yuri
90d5c9eca6 fix kanban 2018-04-23 14:01:17 +03:00
yuri
1c8f0c7d9c css fix 2018-04-23 13:40:29 +03:00
yuri
f8d1c9ce05 opp kanban fix 2018-04-23 13:32:12 +03:00
yuri
28052bac23 layout manager kanban view 2018-04-23 12:14:16 +03:00
yuri
c361a940eb kanban view in entity manager 2018-04-23 11:56:46 +03:00
yuri
fbc1e936db Merge branch 'master' of github.com:espocrm/espocrm 2018-04-23 10:46:20 +03:00
yuri
84661f88fd Merge branch 'hotfix/5.1.3' 2018-04-23 10:45:49 +03:00
yuri
10b4c88872 template variable triple braces 2018-04-23 10:37:04 +03:00
yuri
10ddc7d941 fix send email attachment filename 2018-04-23 10:23:40 +03:00
Yuri Kuznetsov
b1c63e2cb9 Update CONTRIBUTING.md 2018-04-22 20:36:54 +03:00
yuri
3f6544d03b kanban fix 2018-04-20 16:05:40 +03:00
yuri
a9f211dfd5 notify loading 2018-04-20 16:02:25 +03:00
yuri
f2427abbf4 kanban 2018-04-20 15:27:58 +03:00
yuri
a6187f9838 empty date on list view 2018-04-20 15:25:33 +03:00
yuri
384600ed95 Merge branch 'hotfix/5.1.3' 2018-04-20 15:23:02 +03:00
yuri
6d06f03ef9 fix frontend acl 2018-04-20 13:56:09 +03:00
yuri
0829c714fd Merge branch 'hotfix/5.1.3' 2018-04-20 10:57:07 +03:00
yuri
9e2251755f quick view edit icons 2018-04-20 10:55:03 +03:00
yuri
436f871be2 update marked js 2018-04-20 10:45:14 +03:00
yuri
8d09f8e9b2 Merge branch 'hotfix/5.1.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.1.3 2018-04-19 13:46:27 +03:00
yuri
e4d43a6790 fix field names conflict with template variables 2018-04-19 13:11:20 +03:00
Taras Machyshyn
bb3d9d3466 ExternalAccount bug fixes 2018-04-19 11:16:08 +03:00
yuri
bd208e259c reset sorting in select modal 2018-04-18 14:42:39 +03:00
yuri
1a1cfec3e5 refactoring 2018-04-16 12:11:13 +03:00
yuri
1e95e98549 calendar dashlet fix 2018-04-16 11:36:00 +03:00
yuri
82056b5650 version 2018-04-16 10:35:44 +03:00
yuri
c0d118ee98 email plain fix 2018-04-16 10:31:31 +03:00
yuri
da13177292 shared calendar dashlet 2018-04-13 16:01:54 +03:00
yuri
4cc38ca564 meeting avatar fix 2018-04-13 15:17:00 +03:00
yuri
fa945c981e nav menu changes 2018-04-13 15:15:41 +03:00
yuri
63d76c6b71 Merge branch 'hotfix/5.1.3' 2018-04-13 14:42:22 +03:00
yuri
9b749a8f67 fix read only 2018-04-13 13:32:12 +03:00
yuri
1ce1d5c79a scope colors changes 2018-04-13 12:14:11 +03:00
yuri
0c2dd73334 password disable autocomplete 2018-04-12 16:15:02 +03:00
yuri
7331f14e0a quick view remove color 2018-04-12 15:38:58 +03:00
yuri
d44f2fd7cd calendar avatars change 2018-04-12 15:20:55 +03:00
yuri
4da7eddc69 event users with avatars 2018-04-12 15:12:16 +03:00
yuri
3ebe30a9c0 entity colors and icons 2018-04-12 14:48:45 +03:00
yuri
e959361df9 createField changes 2018-04-12 14:34:11 +03:00
yuri
7773506361 shared calendar 2018-04-12 13:43:27 +03:00
yuri
9db652a501 fix repository merge select params 2018-04-11 16:03:53 +03:00
yuri
27ebfd7f23 fix link multiple required 2018-04-11 12:09:14 +03:00
yuri
96f80e0008 create field options 2018-04-11 12:03:46 +03:00
yuri
5f3c208161 Merge branch 'hotfix/5.1.3' 2018-04-11 10:56:35 +03:00
yuri
d402f33c74 fix field level acl for json fields 2018-04-10 15:29:46 +03:00
yuri
879da4dca2 fix calls row actions 2018-04-10 14:02:36 +03:00
yuri
3e862790e6 Merge branch 'hotfix/5.1.3' 2018-04-10 12:08:29 +03:00
yuri
425e36bff6 view helper getAvatarHtml 2018-04-10 12:07:58 +03:00
yuri
705ecbdf72 es_MX lang fix 2018-04-10 11:49:28 +03:00
yuri
c658d67ac8 lt_LT lang fix 2018-04-10 11:48:27 +03:00
yuri
c46055b469 hr_HR language 2018-04-10 11:46:03 +03:00
yuri
66e4b89d1a email body plain fix 2018-04-10 11:35:45 +03:00
yuri
38b9f1d68c fix email body plain not filled 2018-04-10 11:17:27 +03:00
yuri
19b8a4e771 fix upload timeout 2018-04-10 10:42:07 +03:00
yuri
937ffea4ab fix upload timeout 2018-04-10 10:41:44 +03:00
yuri
1ae49a3d47 timeline users avatars 2018-04-06 16:48:02 +03:00
yuri
c76daf50db currency rate ui improvement 2018-04-06 14:54:38 +03:00
yuri
9e5c797243 opp currency convert 2018-04-06 14:09:15 +03:00
yuri
662c4afcdf fix mass update 2018-04-06 13:00:08 +03:00
yuri
9b50b97e79 field labelText 2018-04-06 12:09:06 +03:00
yuri
d00cefc37f list mass action all 2018-04-06 11:17:32 +03:00
yuri
1f94c13e25 fix confirm leavout 2018-04-05 17:12:04 +03:00
yuri
75801ea717 calendar fixes 2018-04-05 15:04:48 +03:00
yuri
b845f5086e remove ics tests 2018-04-05 11:57:34 +03:00
yuri
8c8e6ec551 fix ics 2018-04-05 11:50:14 +03:00
yuri
a4aecee18d fix stream parent fields load 2018-04-05 11:49:14 +03:00
Sebastian
3c0d445824 Fix Multiline descriptions for Outlook. (#862)
See https://social.technet.microsoft.com/Forums/lync/en-US/c16cc4aa-0a07-4742-929d-1b01d698066e/ics-file-description-with-colon-and-newline-is-displayed-without-newlines?forum=outlook
2018-04-05 11:48:31 +03:00
yuri
c36c6dc42d wysywyg remove max length 2018-04-04 13:36:40 +03:00
yuri
f7f8f14725 case new note color 2018-04-03 17:44:06 +03:00
yuri
9402bf4baf chart colors fix 2018-04-03 14:33:03 +03:00
yuri
12fcdcdb2d call icon change 2018-04-03 14:24:38 +03:00
yuri
61735ed4aa cleanup 2018-04-03 14:11:49 +03:00
yuri
3c65d252b6 fix image orientation 2018-04-02 15:57:14 +03:00
yuri
6423859195 email move to trash fix 2018-04-02 13:56:31 +03:00
yuri
53df34d6f2 acl read only comment 2018-04-02 13:21:51 +03:00
yuri
ed762c9be3 stream notifications types 2018-04-02 12:44:55 +03:00
yuri
f05f14b12a email fixes 2018-04-02 12:44:44 +03:00
yuri
183b5cb29b clientReadOnly 2018-04-02 12:44:07 +03:00
yuri
07193b1fb2 email send shared name 2018-04-02 12:29:05 +03:00
yuri
b24f8f538b fix auth 2018-03-30 16:21:45 +03:00
yuri
a259174415 outboundEmailBccAddress 2018-03-30 14:43:12 +03:00
yuri
3d93c2a4b1 Merge branch 'hotfix/5.1.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.1.2 2018-03-30 14:18:44 +03:00
yuri
8c112791ef external email client support 2018-03-30 14:16:28 +03:00
Taras Machyshyn
0ff4553c94 LDAP fixes 2018-03-30 13:52:22 +03:00
yuri
1e6094b5ee fix wysiwyg 2018-03-29 17:28:14 +03:00
yuri
a646d97aec opp list layout changes 2018-03-29 16:03:18 +03:00
yuri
57f4980802 fix bc 2018-03-29 13:39:12 +03:00
yuri
2477f5b696 fix import float values 2018-03-29 12:33:36 +03:00
yuri
6463422e81 version 2018-03-29 11:48:49 +03:00
yuri
3daf041698 auth improvements 2018-03-29 11:45:57 +03:00
yuri
933456ecdf repository check 2018-03-28 15:55:12 +03:00
yuri
ab18f72f69 schedule meeting for portal user fix 2018-03-28 15:22:55 +03:00
yuri
28465cf2bf acl read only 2018-03-27 17:22:28 +03:00
yuri
4cef5c547e string length and contains functions 2018-03-27 16:16:07 +03:00
yuri
057abf8024 fix email getBodyPlain 2018-03-27 15:00:36 +03:00
yuri
20de5658e9 role fields fixes 2018-03-27 14:43:29 +03:00
yuri
4a2ed2e0f7 kb language options disabled 2018-03-27 14:25:44 +03:00
yuri
3dc574bc48 fix field manager options 2018-03-27 14:23:52 +03:00
yuri
d43a42b646 fix export 2018-03-27 13:18:04 +03:00
yuri
823c46a6df fix email body plain 2018-03-27 12:00:58 +03:00
yuri
919c0bc8ae fix field manager enum 2018-03-27 11:51:22 +03:00
yuri
54d62a19cd tooltip added 2018-03-22 15:28:09 +02:00
yuri
18304fb710 attachment throw error if fie not stored 2018-03-22 13:21:57 +02:00
yuri
cc1afbed5d file field tpl fix 2018-03-22 12:52:51 +02:00
yuri
a195acfee9 fix field name conflict with view helpers 2018-03-22 12:47:24 +02:00
yuri
e22ec4c20b cleanup 2018-03-21 16:00:00 +02:00
yuri
7c8f4f9db8 display ... for not set values in detail views 2018-03-21 12:29:37 +02:00
yuri
d28ff1e438 Merge branch 'hotfix/5.1.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.1.2 2018-03-20 16:38:11 +02:00
Taras Machyshyn
5af7499fdb Use utf8mb4 for fresh instances with MySQL 5.7+ 2018-03-20 16:02:40 +02:00
yuri
6588d783cc activities dashlet: next x days 2018-03-20 15:52:09 +02:00
yuri
f1b8279d50 insert template fix 2018-03-20 14:51:31 +02:00
yuri
252d31ffac email template for reply 2018-03-20 14:00:05 +02:00
yuri
8a98cca4fa email insert email confirm 2018-03-20 13:12:30 +02:00
Taras Machyshyn
0b8486c1a7 Merge branch 'hotfix/5.1.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.1.2 2018-03-20 12:29:54 +02:00
Taras Machyshyn
b0bd0664f9 Extension installation improvements 2018-03-20 12:29:36 +02:00
yuri
286fd7e0ce template placeholders translation improvement 2018-03-20 12:22:47 +02:00
yuri
42f5d28369 template today now 2018-03-20 12:00:46 +02:00
yuri
ea5d873cc3 fix field manager buttons 2018-03-20 11:09:25 +02:00
yuri
ee8608469e fix css 2018-03-19 14:08:42 +02:00
yuri
f541625318 cache timestamp in dev html 2018-03-19 13:52:58 +02:00
yuri
ee70fb8483 new version notification skip for dev 2018-03-19 13:10:38 +02:00
yuri
f79e093f52 fix base auth split 2018-03-19 12:11:01 +02:00
yuri
254d9280b9 fix login 2018-03-16 15:47:03 +02:00
yuri
ddd9c765b8 Merge branch 'master' of github.com:espocrm/espocrm into hotfix/5.1.2 2018-03-16 15:43:52 +02:00
Ettienne Pitts
080f204eed uninstallConfirmation added to en_US (#834) 2018-03-16 15:43:33 +02:00
tanyalei
f30325849a Activities Dashlet: fix Display Records option (#835) 2018-03-16 14:20:57 +02:00
yuri
8caa5b3e60 image preview original target blank 2018-03-15 16:26:25 +02:00
yuri
0daeed49c1 version 2018-03-15 15:00:27 +02:00
Taras Machyshyn
34540e12f3 getMaxIndexLength() changes 2018-03-15 14:55:27 +02:00
yuri
b954a81630 template: page orientation and format 2018-03-15 12:23:59 +02:00
yuri
56472d6746 textFilterContainsMinLength config param 2018-03-15 11:03:14 +02:00
yuri
2721649313 Merge branch 'hotfix/5.1.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.1.1 2018-03-14 17:17:40 +02:00
yuri
24d7de60ab inline edit skip exit 2018-03-14 17:15:44 +02:00
Taras Machyshyn
441f9296ad Fixed file permissions after upgrading 2018-03-14 15:44:24 +02:00
yuri
3116a152e7 fix currency converted 2018-03-14 14:39:54 +02:00
yuri
77784c4224 fix currency converted 2018-03-14 13:02:40 +02:00
yuri
bf13c7ca8c textFilterUseContainsForVarchar on admin ui 2018-03-14 11:19:14 +02:00
yuri
26c779a2c5 fix store sent email 2018-03-14 11:03:03 +02:00
yuri
1bfaf6c3ad model get entity type 2018-03-13 15:11:54 +02:00
yuri
69229ff6af Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-03-13 14:54:12 +02:00
yuri
719164524b naming fix 2018-03-13 13:45:25 +02:00
yuri
5a67b17916 email fix 2018-03-13 13:37:37 +02:00
Taras Machyshyn
db4968b1ca Upgrade: Renamed vendorFiles 2018-03-13 13:11:58 +02:00
Taras Machyshyn
e50f46e38a Installer: fix installation warning 2018-03-13 13:02:30 +02:00
Taras Machyshyn
adc8988f6c Upgrade: copy vendor directory 2018-03-13 12:33:13 +02:00
yuri
a480ad9c11 optimization 2018-03-13 11:35:20 +02:00
Taras Machyshyn
d9be685f89 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-03-13 11:07:45 +02:00
Taras Machyshyn
bd9db140de Added 'deleteAndCopy' directory for upgrade 2018-03-13 10:56:14 +02:00
yuri
74c0204590 keep rootUrl for edit view 2018-03-12 14:59:37 +02:00
yuri
ce9d3299b1 skipTextColumns for email 2018-03-12 12:27:06 +02:00
yuri
8b27bc194d proper naming 2018-03-12 11:19:21 +02:00
yuri
1a6b4a6683 set fetched email address data 2018-03-12 11:11:28 +02:00
yuri
2ae4d6e090 orm converter skip fields w/o type 2018-03-12 10:57:41 +02:00
yuri
9467171c84 fix entity manager labels 2018-03-09 16:37:40 +02:00
yuri
402db729b7 field manager dont resave labels if not changed 2018-03-09 16:05:41 +02:00
yuri
e16be12438 fix field manager 2018-03-09 14:58:24 +02:00
yuri
605912443d fix tests 2018-03-09 14:50:50 +02:00
yuri
62acc14f4a drop php mime mail parser by default 2018-03-09 14:25:28 +02:00
yuri
017066a311 currency part label 2018-03-09 14:21:35 +02:00
yuri
273b122ca8 fix labels in entity manager saving 2018-03-09 13:58:26 +02:00
yuri
ce2ec3dd6c field manager utils get fields by type 2018-03-09 12:28:20 +02:00
yuri
fda22605cc fix repository 2018-03-09 12:16:12 +02:00
yuri
1076fa6230 repositories bypass 2018-03-09 12:01:39 +02:00
yuri
019af59c8a default currency if empty 2018-03-09 12:01:27 +02:00
yuri
08bb644b58 fix notice 2018-03-08 16:36:52 +02:00
yuri
6ec1273e61 update mail parser libs 2018-03-08 16:30:25 +02:00
yuri
ba5df9a4ae fix export time 2018-03-08 15:53:42 +02:00
yuri
050d77ef12 fix activities dashlet 2018-03-08 15:25:31 +02:00
yuri
f8ccaeab08 select manager user 2018-03-08 14:46:42 +02:00
yuri
3c4c464e4a fix email flicker 2018-03-08 12:37:06 +02:00
yuri
2a5730def9 iframe css fix 2018-03-08 11:36:35 +02:00
yuri
48fe3e6b86 fix email size 2018-03-07 16:15:26 +02:00
yuri
eecbc3aa2c lang 2018-03-07 13:52:26 +02:00
yuri
e177f14446 having count 2018-03-07 12:45:29 +02:00
yuri
493ab0396a fix currency 2018-03-07 11:52:31 +02:00
yuri
c776150ce0 rebuild after upgrade 2018-03-06 16:01:50 +02:00
yuri
b6bca982bb default side panel client defs params 2018-03-06 15:25:45 +02:00
yuri
aa8a243bf1 order fixes 2018-03-06 12:36:02 +02:00
yuri
75da037656 fix stream note 2018-03-06 11:25:39 +02:00
yuri
56a06a5581 remove dynamic logic from bottom and side 2018-03-06 11:03:23 +02:00
yuri
0af67bea3a fix dynamic logic 2018-03-06 11:01:38 +02:00
yuri
08b8d899b7 fix typo 2018-03-05 17:03:33 +02:00
yuri
cf07cb39c4 wysiwyg height fix 2018-03-05 17:03:24 +02:00
yuri
810d10c1c2 bottom panels order 2018-03-05 15:24:24 +02:00
yuri
342bdcfaac fix typo 2018-03-05 13:15:28 +02:00
yuri
d933dbb31a fix dynamic logic 2018-03-05 12:41:54 +02:00
yuri
fe61364178 fix panel dynamic logic 2018-03-05 12:32:09 +02:00
yuri
88c3c03f99 dynamic logic detail view 2018-03-05 12:12:41 +02:00
yuri
c21b16f5c7 panel defs dynamic logic 2018-03-05 11:23:11 +02:00
yuri
2481a2504f fix auth token ip length 2018-03-02 16:57:25 +02:00
Taras Machyshyn
dcb1e8040a MySQL charset change improvements 2018-03-02 15:42:26 +02:00
yuri
0e1c611034 update composer 2018-03-02 14:11:33 +02:00
yuri
fccd9d642c ditch php imap dependency 2018-03-02 14:10:48 +02:00
yuri
849f1becc7 version 2018-03-02 13:44:14 +02:00
yuri
be6c4a63ed do not remove mysql character service 2018-03-02 13:02:41 +02:00
yuri
4e48483276 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-03-02 13:01:32 +02:00
Taras Machyshyn
6817a54aa0 Job for changing mysql column characters 2018-03-02 13:00:25 +02:00
yuri
482f235dcc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-03-02 11:54:04 +02:00
yuri
90b863c4ae update composer 2018-03-02 11:53:57 +02:00
Taras Machyshyn
8541a87d1f Integration tests fixes 2018-03-02 11:35:52 +02:00
Taras Machyshyn
002adeb00e Integration test fixes 2018-03-02 11:15:01 +02:00
Taras Machyshyn
30e7d1ba7c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-03-02 10:49:35 +02:00
yuri
0923f2e120 Merge branch 'master' of github.com:espocrm/espocrm 2018-03-02 10:37:50 +02:00
Andra Fetele
38a0c8e19f Romanian translation (#823) 2018-03-02 09:31:01 +02:00
yuri
facf90d964 fix event Set Held label 2018-03-01 18:04:00 +02:00
yuri
cca3482bc0 fix query stringifyValue 2018-03-01 17:41:39 +02:00
yuri
6178ca550b import fix 2018-03-01 16:37:22 +02:00
yuri
dc51e467d4 excel export: migrate to phpspreadsheet 2018-03-01 16:01:37 +02:00
yuri
300827c1f0 vendor updates 2018-03-01 15:47:26 +02:00
yuri
aacf09a444 email move to trash from detail view updates list 2018-03-01 15:14:24 +02:00
yuri
0123488828 import revert remove change 2018-03-01 14:50:45 +02:00
yuri
a43b188f36 import action history 2018-02-28 17:06:50 +02:00
Taras Machyshyn
f0285ef8f2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-28 16:19:05 +02:00
yuri
70a0ffbf3d fix list tpl 2018-02-28 11:48:29 +02:00
yuri
f2e6a4fc55 import improvement 2018-02-28 11:43:11 +02:00
yuri
df5fd76ae2 update-all event for model 2018-02-28 11:42:58 +02:00
yuri
f34d258b45 header button title 2018-02-28 11:09:34 +02:00
yuri
28c52763c8 Merge branch 'hotfix/5.0.6' 2018-02-27 17:46:45 +02:00
yuri
ebe22fa7f0 fix htmlizer 2018-02-27 17:44:56 +02:00
yuri
160327e471 Merge branch 'hotfix/5.0.6' 2018-02-27 17:32:51 +02:00
yuri
dd080dbff2 Merge branch 'hotfix/5.0.6' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.6 2018-02-27 17:32:33 +02:00
yuri
d509886cd1 sql fixes 2018-02-27 17:31:50 +02:00
Taras Machyshyn
239a8f0af8 Code improvements 2018-02-27 17:14:19 +02:00
Taras Machyshyn
c0565306c3 Code improvements 2018-02-27 17:13:15 +02:00
yuri
79d159511d fix category tree repository 2018-02-27 17:06:53 +02:00
yuri
e123fc7e6f target list layout change 2018-02-27 16:26:33 +02:00
yuri
52fa30f389 event confirmation change 2018-02-27 16:19:23 +02:00
yuri
1d744d5abc cleanup fixes 2018-02-27 16:16:30 +02:00
yuri
2629c12ade fix link and link multiple empty name 2018-02-27 14:27:15 +02:00
yuri
8fb6b1a5a9 fix parent name load 2018-02-27 14:12:48 +02:00
yuri
d4a23c9a4f fix parent 2018-02-27 14:07:58 +02:00
yuri
05d0f982a7 fix select manager 2018-02-26 15:30:42 +02:00
yuri
e3c8a3fcda fix applyFilter 2018-02-26 15:07:41 +02:00
yuri
8cd56d2705 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-26 14:23:21 +02:00
Taras Machyshyn
f94d1f3cd8 Metadata: get metadata in object format 2018-02-26 14:22:14 +02:00
yuri
5f64b74fad fix ro_RO 2018-02-26 13:35:54 +02:00
Taras Machyshyn
b422cd6f52 Metadata: getCustom() changes 2018-02-26 13:03:25 +02:00
Andra Fetele
17698409b9 Approx 700 lines, translated into Romanian (#813)
* Romanian translation

* Approx 700 lines, translated into Romanian
2018-02-24 20:07:34 +02:00
Andra Fetele
fb0dabebe1 Romanian translation (#812) 2018-02-23 20:59:55 +02:00
yuri
f81805fbf4 fix dynamic handler 2018-02-23 17:00:48 +02:00
Taras Machyshyn
596c9d4996 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-23 15:50:59 +02:00
Taras Machyshyn
a7530dcce9 Bug fixes in File Manager 2018-02-23 15:50:49 +02:00
yuri
55d59eea80 checkAccessDataList allowAllForAdmin 2018-02-23 15:14:22 +02:00
yuri
0c66a1fb7b dynamic handler extend 2018-02-23 13:55:00 +02:00
yuri
ad7ca5d287 dynamic handler 2018-02-23 13:44:24 +02:00
yuri
b34be4730d Merge branch 'master' of github.com:espocrm/espocrm 2018-02-23 11:10:16 +02:00
yuri
1c264055eb Merge branch 'hotfix/5.0.6' 2018-02-23 11:09:59 +02:00
yuri
12f41baff5 file filters 2018-02-23 11:09:42 +02:00
yuri
9a9ad1baa7 lang 2018-02-23 11:03:28 +02:00
Yuri Kuznetsov
46c31278e7 Update README.md 2018-02-22 18:34:37 +02:00
yuri
a08dc3d422 bottom panels isBottom 2018-02-22 15:51:07 +02:00
yuri
158a74f79b fix tests 2018-02-22 15:37:19 +02:00
Taras Machyshyn
bacf85ccf8 Metadata: saveCustom() fixes 2018-02-22 15:33:56 +02:00
Taras Machyshyn
ef683bd7fa Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-22 15:02:37 +02:00
yuri
20c233fb8c more user acl tests 2018-02-22 15:01:37 +02:00
Taras Machyshyn
ac21313190 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-22 14:56:29 +02:00
Taras Machyshyn
8ba6918139 Metadata: added possibility to work with metadata defined in custom directory 2018-02-22 14:56:20 +02:00
yuri
5e357b460d cleanup 2018-02-22 14:51:04 +02:00
yuri
d660abe1f6 acl tests 2018-02-22 14:48:56 +02:00
yuri
fd9617ec8f Merge branch 'hotfix/5.0.6' 2018-02-22 12:38:41 +02:00
yuri
48ccdaab5e calendar responcive fixes 2018-02-22 12:38:27 +02:00
yuri
52d9548333 select manager: external primary filters 2018-02-22 12:16:25 +02:00
yuri
4706d28560 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-21 16:34:58 +02:00
yuri
033f5de85d Merge branch 'hotfix/5.0.6' 2018-02-21 16:34:48 +02:00
yuri
6760f6f03d note type enum 2018-02-21 15:39:29 +02:00
yuri
e1a7862194 xlsx fix 2018-02-21 14:00:46 +02:00
Taras Machyshyn
8ef53d229d Required MySQL version is 5.5.3 2018-02-21 13:01:57 +02:00
yuri
c6d215f87c Merge branch 'hotfix/5.0.6' 2018-02-21 12:10:12 +02:00
yuri
dccaed124c fix duplicate one-to-many issue 2018-02-21 12:10:04 +02:00
yuri
ccfca4a61a activity account contact fiexes 2018-02-21 12:00:10 +02:00
Taras Machyshyn
417a05f24f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-20 17:54:14 +02:00
Taras Machyshyn
7a85f7576d Unit test for copy() of FileManager 2018-02-20 17:54:04 +02:00
yuri
8407ab3a74 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2018-02-20 16:58:13 +02:00
yuri
c120ebd3ca header fixes 2018-02-20 16:50:24 +02:00
Taras Machyshyn
d0635484a2 Database: default column charset is utf8mb4 2018-02-20 15:56:34 +02:00
yuri
d3c487a28a modal overlaid shadow none 2018-02-20 15:49:22 +02:00
yuri
14f46a5d5d Merge branch 'hotfix/5.0.6' 2018-02-20 15:00:28 +02:00
yuri
00a8ca8273 fix select manager 2018-02-20 14:58:51 +02:00
yuri
deec457728 header fix 2018-02-20 14:34:27 +02:00
yuri
5a5508a973 accessDataList for dashlets 2018-02-20 12:42:38 +02:00
yuri
357b285346 accessDataList for list filters and panels 2018-02-20 12:40:38 +02:00
yuri
f8444b9e67 Merge branch 'hotfix/5.0.6' 2018-02-20 12:18:46 +02:00
yuri
e0a224e414 calendar fixes 2018-02-20 12:18:39 +02:00
yuri
9dfb128e1d calender decrease longPressDelay 2018-02-20 11:58:11 +02:00
yuri
462d1f0274 utils checkAccessDataList 2018-02-20 11:44:10 +02:00
yuri
2e3803eef1 cleanup 2018-02-19 15:32:08 +02:00
yuri
42b186eb94 Merge branch 'hotfix/5.0.6' 2018-02-19 15:31:20 +02:00
yuri
ccdee9ec09 import email unlock tables 2018-02-19 15:00:49 +02:00
yuri
05eeb82efd attendees panel not refreshable 2018-02-19 12:39:13 +02:00
yuri
6eefe64f4c fix frontend tests 2018-02-19 12:26:00 +02:00
yuri
5b96b19735 jasmine test fixes 2018-02-16 16:49:33 +02:00
yuri
3764d877ce Merge branch 'hotfix/5.0.6' 2018-02-16 12:33:46 +02:00
yuri
30e713c161 reminders in detailSmall 2018-02-16 11:49:01 +02:00
yuri
da3a76e441 hack for upgrade 2018-02-16 11:23:19 +02:00
yuri
adff467b50 event confirmation and unsubscribe: use frontend 2018-02-15 14:56:36 +02:00
yuri
d59f05ad8b event confirmation hook 2018-02-15 13:26:19 +02:00
yuri
9c3d124f48 Merge branch 'hotfix/5.0.6' 2018-02-14 15:16:59 +02:00
yuri
4404b0f02e select manager: convertWhere 2018-02-14 11:33:22 +02:00
Andra Fetele
77533fba72 translated ~700 lines into Romanian (#806)
* Partial Romanian translation

* translated ~700 lines into Romanian
2018-02-14 08:49:10 +02:00
yuri
62d36ed0c2 lang 2018-02-13 12:46:40 +02:00
yuri
94ad0123c7 css fix 2018-02-13 11:21:05 +02:00
yuri
109842f0fe contact: hide title if no account 2018-02-13 11:19:38 +02:00
yuri
d931d65cd8 formatting 2018-02-13 11:18:19 +02:00
yuri
b7861a7cb1 htmlizer enum translation 2018-02-13 11:07:19 +02:00
yuri
a49ad3bb48 fix lang 2018-02-13 11:04:05 +02:00
yuri
d94acf5b78 fix activities dashlet tasks 2018-02-12 16:34:45 +02:00
yuri
fd0e1d1460 css fix 2018-02-12 16:21:43 +02:00
yuri
2ed9d5487e chart css fix 2018-02-12 16:12:22 +02:00
yuri
5dc44cb701 fix assignment permission 2018-02-12 14:41:42 +02:00
yuri
9e07c383fe collection abortLastFetch 2018-02-12 14:33:09 +02:00
yuri
9e1ec2768b fix email switch folders 2018-02-12 14:06:55 +02:00
yuri
39674e8c7f htmlspecialchars for unsubscribe page 2018-02-12 12:52:47 +02:00
yuri
5dca4b7061 template aclPortal 2018-02-12 12:44:45 +02:00
yuri
5d3cb25d14 css fix 2018-02-12 12:43:16 +02:00
yuri
6e337affbb fix chart 2018-02-12 11:26:49 +02:00
yuri
87ab8cc15f chart css fix 2018-02-12 10:23:55 +02:00
yuri
b654e5cebd icon class 2018-02-10 15:37:48 +02:00
yuri
11958f2abf icon changes 2018-02-10 15:34:45 +02:00
yuri
2a329ba92d fix next/prev through collection 2018-02-10 14:38:03 +02:00
yuri
b22487ef70 lang fixes 2018-02-10 14:25:21 +02:00
Andra Fetele
bf03a2f540 Partial Romanian translation (#804) 2018-02-09 20:08:08 +02:00
yuri
ece51a6f9f task and activities dashlet fixes 2018-02-09 17:41:34 +02:00
yuri
915dbffe72 activities dashlet: support tasks 2018-02-09 17:22:00 +02:00
yuri
fda0d6df1f fix login appParams 2018-02-09 15:51:05 +02:00
yuri
25891f9dc0 print pdf change 2018-02-09 15:45:24 +02:00
yuri
35902adbdc orm having clause 2018-02-09 14:47:18 +02:00
yuri
981d15ee55 Merge branch 'hotfix/5.0.5' 2018-02-09 13:04:04 +02:00
yuri
adfec3441b template tab 2018-02-09 12:05:01 +02:00
yuri
a208aa051f Merge branch 'hotfix/5.0.5' 2018-02-08 17:44:06 +02:00
yuri
9068302357 version 2018-02-08 16:52:23 +02:00
yuri
1bb0439f19 fix model reset 2018-02-08 16:02:12 +02:00
yuri
f28585e245 mass update ui improvement 2018-02-08 15:37:41 +02:00
yuri
99cfeb25ee fix print to pdf button 2018-02-08 14:18:58 +02:00
yuri
6b7da9a39e fix entity manger and field manager 2018-02-08 13:22:00 +02:00
yuri
18bba7baec entity manager fix 2018-02-08 13:15:49 +02:00
yuri
ec8ffbc090 chart dashlets acl 2018-02-08 12:52:18 +02:00
yuri
60eb1ca236 fix sales by month chart 2018-02-08 12:40:49 +02:00
yuri
5e3756313c fix sales pipeline chart 2018-02-08 12:20:13 +02:00
yuri
d303d5a423 Merge branch 'hotfix/5.0.5' 2018-02-08 11:56:30 +02:00
yuri
938415aa79 cleanup 2018-02-08 11:54:15 +02:00
yuri
9033710e56 Merge branch 'hotfix/5.0.5' 2018-02-07 15:25:24 +02:00
yuri
2fd77e4034 excel export duration 2018-02-07 15:23:06 +02:00
yuri
b733d8205e relationship panel setup list layout method 2018-02-07 14:59:58 +02:00
yuri
f725ad09d7 user: hide mass update and export for non admin users 2018-02-07 13:41:29 +02:00
yuri
e9a53c5b25 list view acl delete check 2018-02-07 12:54:58 +02:00
yuri
43e94cfe68 user acl check 2018-02-07 12:13:23 +02:00
yuri
07d713734f Merge branch 'hotfix/5.0.5' 2018-02-07 11:29:18 +02:00
yuri
4f004b8402 note status styles change 2018-02-07 11:07:24 +02:00
yuri
b1f4131af9 user acl check 2018-02-06 17:36:10 +02:00
yuri
1adb19f427 fix field manager 2018-02-06 17:28:37 +02:00
yuri
fce4a4b1d9 skip additional select params 2018-02-06 17:13:48 +02:00
yuri
61f35bcb5e user editable 2018-02-06 17:04:42 +02:00
yuri
0db68917a1 Merge branch 'hotfix/5.0.5' 2018-02-06 15:13:51 +02:00
yuri
9da8ab9bdb chart fix 2018-02-06 13:46:59 +02:00
yuri
8d1724df84 less opp stages 2018-02-06 13:01:09 +02:00
yuri
cd88d59937 po ability to build po for all languages 2018-02-06 12:28:20 +02:00
yuri
cab4f5ce64 opp stages translation 2018-02-06 12:22:20 +02:00
yuri
62ab1f8d00 fix export 2018-02-06 11:29:17 +02:00
yuri
f0e1439c79 fix chart legend 2018-02-06 11:03:10 +02:00
yuri
5060918087 print pdf for all entity types 2018-02-05 16:42:33 +02:00
yuri
bf6b058152 reset page title on logout 2018-02-05 15:54:13 +02:00
yuri
40b607a73f template change 2018-02-05 15:48:35 +02:00
yuri
2bdbba0eff fix sales chart 2018-02-05 15:42:56 +02:00
yuri
058d821a7c fix chart 2018-02-05 15:32:22 +02:00
yuri
4575ff89ad chart fixes 2018-02-05 12:59:50 +02:00
yuri
608454fcf2 fix css 2018-02-05 12:54:26 +02:00
yuri
58c1bec2da css fix 2018-02-05 12:30:57 +02:00
yuri
e1ce16c399 chart legend title 2018-02-05 12:16:05 +02:00
yuri
2d3a748286 chart fixes 2018-02-05 11:58:21 +02:00
yuri
06834dd8bf fix calendar 2018-02-05 10:18:31 +02:00
yuri
e4c0f19b1c fix css 2018-02-02 16:03:29 +02:00
yuri
84faf7a782 entity manager: supporting templates in modules 2018-02-02 14:27:40 +02:00
yuri
61db675ab1 css fix 2018-02-01 16:48:59 +02:00
yuri
59e72796e3 css fix 2018-02-01 16:43:07 +02:00
yuri
76e61a6358 fix dropdown on small screens 2018-02-01 14:54:04 +02:00
yuri
455eceefa1 Merge branch 'hotfix/5.0.4' 2018-02-01 13:15:41 +02:00
yuri
834e979060 fix css 2018-02-01 12:23:17 +02:00
yuri
ece36c8711 fix test 2018-02-01 11:39:30 +02:00
yuri
9b999a1ec8 fix test email import 2018-02-01 11:22:16 +02:00
yuri
80c53e15e5 fix test 2018-02-01 11:12:15 +02:00
yuri
a37b6077c1 css fix 2018-02-01 11:02:45 +02:00
yuri
fabfa392b7 clear cache page style fixes 2018-02-01 10:55:57 +02:00
yuri
8ff717cfd5 css fixes 2018-02-01 10:53:28 +02:00
yuri
eae042d730 css chages 2018-01-31 15:07:57 +02:00
yuri
f6fda22160 css change 2018-01-31 14:55:43 +02:00
yuri
c120ecab1a css changes 2018-01-31 14:47:26 +02:00
yuri
6afcbe90a1 css change 2018-01-31 14:35:56 +02:00
yuri
130bde63cf Merge branch 'hotfix/5.0.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.4 2018-01-31 12:19:40 +02:00
Taras Machyshyn
c76e8f96d9 Code fixes 2018-01-31 11:56:47 +02:00
yuri
7b92014249 scheduled job update silent 2018-01-31 11:55:26 +02:00
yuri
33df80559d scheduled job hooks disabled 2018-01-31 11:53:12 +02:00
Taras Machyshyn
c0d9d1e514 Static methods for System utils 2018-01-31 11:51:11 +02:00
yuri
ed2567913b fix show more focus 2018-01-31 11:49:00 +02:00
yuri
9a7bd94ce1 fix collection lengthCorrection 2018-01-31 11:42:44 +02:00
yuri
036aea5c7f fix orm week_1 function 2018-01-31 11:33:09 +02:00
yuri
1bc1311113 fix job 2018-01-30 19:02:06 +02:00
yuri
135fe6f2e6 var name fixes 2018-01-30 18:56:08 +02:00
yuri
f366a1d0dd Merge branch 'hotfix/5.0.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.4 2018-01-30 18:42:08 +02:00
Taras Machyshyn
b4cda3b349 Code improvements 2018-01-30 18:41:53 +02:00
yuri
0e92ae792c Merge branch 'hotfix/5.0.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.4 2018-01-30 17:50:56 +02:00
Taras Machyshyn
cf4247321c Installer: changed loading icon 2018-01-30 17:26:03 +02:00
Taras Machyshyn
994be85579 Fixed after install duplicate records 2018-01-30 17:24:33 +02:00
yuri
8cdaf1a534 cleanup 2018-01-30 17:06:23 +02:00
yuri
f9996d3643 css fix 2018-01-30 14:25:36 +02:00
yuri
6b7bcca21b css fix 2018-01-30 14:24:26 +02:00
Taras Machyshyn
c7109906bc Merge branch 'pid' into hotfix/5.0.4 2018-01-30 12:52:15 +02:00
Taras Machyshyn
63583ad630 CronManager: added checking is process active 2018-01-30 12:49:29 +02:00
yuri
4d063194ed font size param in theme 2018-01-30 11:47:04 +02:00
yuri
c579e08614 save error handling supporting 500 error 2018-01-30 11:39:24 +02:00
yuri
40414a0f17 save error handling in frontend 2018-01-29 17:43:29 +02:00
yuri
5e1ee6f06f throw conflict if user name exists 2018-01-29 17:31:38 +02:00
yuri
f885333310 default jobs scheduling change 2018-01-29 17:14:12 +02:00
yuri
72149851cf job config params change 2018-01-29 16:02:10 +02:00
yuri
e2ce971b70 css fix 2018-01-29 14:30:43 +02:00
yuri
802bb9b1c2 fix css 2018-01-29 14:24:08 +02:00
yuri
30ce642d88 reneme check new version job 2018-01-29 13:35:33 +02:00
yuri
bc901fad0b installer style fixes 2018-01-29 13:26:04 +02:00
yuri
dae251fb43 fix show more 2018-01-29 13:13:18 +02:00
yuri
f98a916a55 update libs 2018-01-29 13:13:09 +02:00
yuri
a7fd14ef36 fix job 2018-01-27 13:55:34 +02:00
yuri
5ff2eb1945 number fields title in list view 2018-01-27 13:05:20 +02:00
yuri
a60e82591f default currency format 2 2018-01-27 12:59:47 +02:00
yuri
2ae59a5820 email portions limitation 2018-01-27 12:49:23 +02:00
yuri
1d46427d51 settings layout change 2018-01-27 12:47:08 +02:00
yuri
8bd7009c02 currency decimal places = 2 2018-01-27 12:41:06 +02:00
yuri
cc90d546a5 scheduled jobs fix 2018-01-27 12:36:42 +02:00
yuri
e916ff5a0b system scheduled job change 2018-01-27 12:34:42 +02:00
yuri
54fa8f4867 lang 2018-01-27 12:12:33 +02:00
yuri
7d92ee7d7a email import improvements 2018-01-26 16:23:29 +02:00
yuri
884388d0df email message id index 2018-01-26 15:55:39 +02:00
yuri
50b386388e App service rebuild and clear cache jobs 2018-01-26 15:55:20 +02:00
yuri
f03c0d7c57 entity manager: skipAll, keepNew save options 2018-01-26 15:08:19 +02:00
yuri
83a3552b21 charts date filter ranges 2018-01-26 13:33:17 +02:00
yuri
1462f54a65 sales pipeline fix 2018-01-26 12:55:12 +02:00
yuri
b7cd1657b0 css fix 2018-01-26 12:09:18 +02:00
yuri
9d1ae432d5 chart change 2018-01-26 11:40:08 +02:00
yuri
1e32df5a26 fix layout manager panel name loss 2018-01-25 17:56:04 +02:00
yuri
07128d04b0 dashboard side menu issue fix 2018-01-25 17:42:22 +02:00
yuri
8d0c1348b1 chart fixes 2018-01-25 17:31:22 +02:00
yuri
7bcacdbd27 css fix 2018-01-25 16:25:37 +02:00
yuri
65c3bb3291 chart fixes 2018-01-25 16:08:56 +02:00
yuri
a08fa65fae chart improvements 2018-01-25 15:47:47 +02:00
yuri
85d8c9795a fix calendar warning 2018-01-24 16:41:19 +02:00
yuri
9a17dbbd68 chart overflow fix 2018-01-24 16:26:33 +02:00
yuri
f83827886e chart sales by month fix 2018-01-24 16:07:46 +02:00
yuri
8964e98873 version 2018-01-24 15:10:51 +02:00
yuri
63e17e91bd email import concurrency issue fix 2018-01-24 15:05:52 +02:00
yuri
f95cbe4ed2 fix email replate to email account 2018-01-24 15:05:17 +02:00
yuri
9ddd1dac3a fix typo in email 2018-01-24 14:03:06 +02:00
yuri
5ff0e67392 skipHooks param 2018-01-24 13:16:33 +02:00
yuri
a60a2885e1 fix php mime mail parser 2018-01-24 13:12:34 +02:00
yuri
7e9ddf0c14 user access table: hide mandatory 2018-01-24 11:48:06 +02:00
yuri
5cb82cca42 email store sent fix 2018-01-24 11:40:52 +02:00
yuri
02edc35d3a user mass update fixes 2018-01-24 11:20:10 +02:00
yuri
a30c17ed91 chart fixes 2018-01-23 18:06:04 +02:00
yuri
d2dfd7ddb0 excel export: supporting address 2018-01-23 16:29:54 +02:00
yuri
2a35b9912c target lists exportable 2018-01-23 15:59:37 +02:00
yuri
bc097db09f record grid layout improvement 2018-01-23 15:55:40 +02:00
yuri
75eb49ced3 acl changes 2018-01-23 14:51:28 +02:00
yuri
cd2e3eec08 acl fix 2018-01-23 13:40:39 +02:00
yuri
d72884a0e4 lang 2018-01-23 13:30:23 +02:00
yuri
315e35965c acl gender default 2018-01-23 12:51:07 +02:00
yuri
f2fb3fc077 css fix 2018-01-23 11:30:28 +02:00
yuri
f4d9e3fbc6 fix navbar 2018-01-23 11:01:09 +02:00
yuri
d44f8e7ab4 fix export exception 2018-01-23 10:40:16 +02:00
yuri
b0438991bf entity manager refactoring 2018-01-22 15:52:13 +02:00
yuri
0a23a469e2 loadLinkMultipleField improvement 2018-01-22 15:28:15 +02:00
yuri
2900e8afb7 csv export link multiple 2018-01-22 15:12:40 +02:00
yuri
e3e25785c7 excel export link multiple fields 2018-01-22 14:43:57 +02:00
yuri
7c4e1393fe lang 2018-01-22 12:49:18 +02:00
yuri
b06736351b fix lang 2018-01-22 12:46:25 +02:00
yuri
9c5a8c63ce portal preferences layout fix 2018-01-19 14:44:32 +02:00
yuri
e8c171be92 Merge branch 'stable' 2018-01-19 14:14:25 +02:00
yuri
1b7aa9e48c css fixes 2018-01-19 12:39:59 +02:00
yuri
51fd3e681c css fix 2018-01-18 16:38:17 +02:00
yuri
484510f763 css fix 2018-01-18 15:50:26 +02:00
yuri
7fde7327fe css fixes 2018-01-18 15:14:28 +02:00
yuri
2c8094bf28 Merge branch 'hotfix/5.0.3' 2018-01-18 15:06:34 +02:00
tanyalei
256d30847e PDF: Images rendered not properly in footer FIX (#768) 2018-01-18 14:11:14 +02:00
yuri
0bbfee8716 timeline fixes 2018-01-18 11:53:23 +02:00
yuri
8d58e81d28 email account list fix 2018-01-18 11:41:22 +02:00
yuri
8fb80d12c9 portal hide custom tab list 2018-01-18 11:26:49 +02:00
yuri
2b5eed3a38 Merge branch 'hotfix/5.0.3' 2018-01-17 17:05:38 +02:00
yuri
dccd5305e7 css fix 2018-01-17 17:04:29 +02:00
yuri
bbb418d2af fix select record w/ categories 2018-01-17 15:27:45 +02:00
yuri
a5bae56f8d cleanup 2018-01-17 14:56:28 +02:00
yuri
aa3d2f8787 Merge branch 'hotfix/5.0.3' 2018-01-17 14:39:22 +02:00
yuri
e9750e145f kb: hide side for portal 2018-01-17 14:35:11 +02:00
yuri
d0cdefd972 Merge branch 'hotfix/5.0.3' 2018-01-17 13:34:38 +02:00
yuri
451aa7f5da relatonshipsPortal layout 2018-01-17 13:34:25 +02:00
yuri
43ee6ef8f6 css fix 2018-01-17 13:28:38 +02:00
yuri
c366e8decc search filters disabled for portal 2018-01-17 13:22:48 +02:00
yuri
8610c61c18 fix css 2018-01-17 13:12:07 +02:00
yuri
bee3a3b012 update vis 2018-01-17 12:57:54 +02:00
yuri
dc2d46ca21 noAppCache param for libs 2018-01-17 12:41:22 +02:00
yuri
1b5346e86d Merge branch 'hotfix/5.0.3' 2018-01-17 12:23:35 +02:00
yuri
8bc633aed9 fix preset filter for ie 2018-01-17 12:17:16 +02:00
yuri
ee3dee0570 fixc wysiwyg for ie 2018-01-17 12:11:05 +02:00
yuri
69048d8f89 fix css 2018-01-17 12:04:19 +02:00
yuri
427025c2ed storage fixes 2018-01-17 11:36:33 +02:00
yuri
6deb336115 Merge branch 'hotfix/5.0.3' 2018-01-16 17:15:24 +02:00
yuri
a8be115d4b fix service populateDefaults 2018-01-16 17:12:32 +02:00
yuri
115ae82b17 Merge branch 'hotfix/5.0.3' 2018-01-16 15:40:54 +02:00
yuri
e4b357e8d3 loading and caching impovements 2018-01-16 15:23:51 +02:00
yuri
560a7b2465 markdown disable tables 2018-01-16 12:56:59 +02:00
yuri
acfe05297b cache set try catch 2018-01-16 11:48:55 +02:00
yuri
16579ff1a8 Merge branch 'hotfix/5.0.3' 2018-01-16 11:12:48 +02:00
yuri
2dcf81a516 css fix 2018-01-16 11:12:39 +02:00
yuri
44f379e3d2 fix wysiwyg 2018-01-16 10:49:11 +02:00
yuri
9be406c0a2 fix categories 2018-01-15 16:31:37 +02:00
yuri
a030c50780 Merge branch 'hotfix/5.0.3' 2018-01-15 16:17:00 +02:00
yuri
c9ca3a497f wysywyg resize fix 2018-01-15 16:14:21 +02:00
yuri
71886cd91c role action title 2018-01-15 14:50:00 +02:00
yuri
e60d46b2ec Merge branch 'hotfix/5.0.3' 2018-01-15 14:44:30 +02:00
yuri
9829ca8d28 ff textarea fix 2018-01-15 14:44:22 +02:00
yuri
28c4651599 Merge branch 'hotfix/5.0.3' 2018-01-15 14:23:16 +02:00
yuri
14de81520b job: fix failed attempts 2018-01-15 14:23:05 +02:00
yuri
3a11d335a2 fix css 2018-01-15 12:51:03 +02:00
yuri
0d3554cc49 file upload ready validation 2018-01-15 12:50:48 +02:00
yuri
6b458f3b55 file upload ready validation 2018-01-15 12:46:49 +02:00
yuri
874885671b fix css 2018-01-15 12:38:52 +02:00
yuri
a75f4dacab Merge branch 'hotfix/5.0.3' 2018-01-15 11:56:26 +02:00
yuri
8c5a455f08 fix assigned permission issues 2018-01-15 11:55:21 +02:00
yuri
1b12cd46b2 Merge branch 'hotfix/5.0.3' 2018-01-12 16:46:15 +02:00
yuri
42581469da list in panel margin bottom fix 2 2018-01-12 16:45:06 +02:00
yuri
562fa03c6c list in panel margin bottom fix 2018-01-12 16:42:45 +02:00
yuri
7389acd87f Merge branch 'hotfix/5.0.3' 2018-01-12 16:09:45 +02:00
yuri
8feca2783f fix navbar 2018-01-12 15:45:05 +02:00
yuri
a290f7aba9 Merge branch 'hotfix/5.0.3' 2018-01-12 15:09:44 +02:00
yuri
eb11f9f757 label manager: filter options 2018-01-12 15:08:17 +02:00
yuri
2ace19face horizontal navbar fix 2 2018-01-12 13:43:15 +02:00
yuri
25b6a94fd6 horizontal navbar fix 2018-01-12 13:25:07 +02:00
yuri
d0768b3dce email plain fix 2018-01-11 17:18:09 +02:00
yuri
b4c27f50ea diff change 2018-01-11 17:01:45 +02:00
yuri
669cb10f10 fix email side panel 2018-01-11 16:52:24 +02:00
yuri
e9c0cd6d53 Merge branch 'hotfix/5.0.3' 2018-01-11 16:49:31 +02:00
yuri
06708a8b7e version 2018-01-11 16:44:45 +02:00
yuri
fba8ca7817 css form panel bottom margin fix 2018-01-11 16:31:25 +02:00
yuri
37cae817a7 fix file uploading validate message 2018-01-11 14:26:58 +02:00
yuri
7d847cf179 Merge branch 'hotfix/5.0.3' 2018-01-11 12:29:41 +02:00
yuri
a32c560f60 hide merge action if no remove access 2018-01-11 12:29:34 +02:00
yuri
a4d4e640a2 merge improvements 2018-01-11 12:24:12 +02:00
yuri
74093976db Merge branch 'hotfix/5.0.3' 2018-01-10 15:02:01 +02:00
yuri
76f17e3f95 Merge branch 'hotfix/5.0.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.3 2018-01-10 14:46:42 +02:00
Taras Machyshyn
ab4ce21927 Integration test fixes 2018-01-10 14:46:09 +02:00
yuri
eb14dedb63 update tests for phpunit 6 2018-01-10 12:54:44 +02:00
yuri
004dfc1687 Merge branch 'hotfix/5.0.2' 2018-01-09 16:23:56 +02:00
yuri
62b4b92815 fix install 2018-01-09 16:18:48 +02:00
yuri
e429bde5b8 Merge branch 'hotfix/5.0.2' 2018-01-09 16:15:07 +02:00
yuri
6c3ee8d462 fix opp repository 2018-01-09 12:35:32 +02:00
yuri
43f1c0d889 fix wysiwyg 2018-01-09 12:11:31 +02:00
yuri
2cd1bb8cdd Merge branch 'hotfix/5.0.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.2 2018-01-09 11:51:00 +02:00
yuri
3d8bbdd01d Merge branch 'hotfix/5.0.2' of ssh://172.20.0.1/var/git/espo/backend 2018-01-09 11:49:45 +02:00
yuri
1e90153f75 fix integration 2 2018-01-09 11:41:35 +02:00
yuri
61ef68d4ae account target list not exportable 2018-01-09 11:37:07 +02:00
Taras Machyshyn
517953a097 Merge branch 'hotfix/5.0.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.0.2 2018-01-09 11:19:38 +02:00
Taras Machyshyn
5ca757ac05 Tests: fixed a FieldManagerTest 2018-01-09 11:19:22 +02:00
yuri
1e69075099 fix integration 2018-01-09 11:08:59 +02:00
yuri
5e12a4b238 test disable 2018-01-08 14:34:28 +02:00
yuri
9ddbad0b50 fix account merge 2018-01-08 14:23:35 +02:00
yuri
6e444c3289 wysywyg useIframe 2018-01-08 12:09:26 +02:00
yuri
385f8733ab css 2018-01-08 11:47:09 +02:00
yuri
42c0c50e1b lang 2018-01-08 11:38:54 +02:00
yuri
3c17a8982a merge frontend change 2018-01-08 11:20:44 +02:00
yuri
e0abf85014 fix deprecated 2018-01-08 11:09:18 +02:00
yuri
35db6e5cde merge change 2018-01-08 11:05:01 +02:00
yuri
7abdb854ea merge use object 2018-01-08 10:54:12 +02:00
yuri
924e50d135 grunt theme refactor 2018-01-05 13:31:43 +02:00
yuri
0f70f7a169 fix iframe css 2018-01-05 13:21:32 +02:00
yuri
7d4683d130 remove reset 2018-01-05 13:14:37 +02:00
yuri
8803e96bb7 version 2018-01-05 13:13:17 +02:00
yuri
3a4220878d css location change 2018-01-05 13:12:13 +02:00
yuri
21ee02d4ed fix json array export 2018-01-05 11:20:50 +02:00
yuri
fbecb09d45 fix throw 2018-01-04 11:42:08 +02:00
yuri
bbbec3b54a opp fix 2018-01-03 11:59:35 +02:00
yuri
d62f7f3628 opp amount weight refresh 2018-01-03 11:54:01 +02:00
yuri
fc07a06248 fix orm DATE_NUMBER 2018-01-03 11:01:29 +02:00
yuri
c32682b245 amd support 2018-01-02 15:05:12 +02:00
yuri
fc502a55b3 multiEnum change 2017-12-29 14:11:38 +02:00
yuri
d580a3fa26 fix field manager 2017-12-29 14:09:08 +02:00
yuri
639686253b fix field manager options field 2017-12-29 11:19:59 +02:00
yuri
1274731a02 theme loading improvement 2017-12-28 12:56:42 +02:00
yuri
9ca51fcd94 fix css 2017-12-27 16:38:45 +02:00
yuri
8cabec8a3b fix navbar 2017-12-27 14:30:26 +02:00
yuri
967b6cfc81 ditch More label from navmar 2017-12-27 11:21:14 +02:00
yuri
416ae76a94 fix link panel css for small screen 2017-12-27 11:03:48 +02:00
yuri
05cfe65d8e gridstack fix 2017-12-26 17:33:16 +02:00
yuri
d7dd804822 fix getMaxUploadSize 2017-12-26 16:22:49 +02:00
yuri
aa56a20240 version 2017-12-26 14:59:07 +02:00
yuri
23b85d078b naming fix 2017-12-26 14:58:52 +02:00
yuri
154dad7cb4 fix button disabled 2017-12-26 12:23:52 +02:00
yuri
0a4c552602 tab remove 2017-12-26 11:32:27 +02:00
yuri
ae479449fc installer xml recommendation 2017-12-26 11:07:24 +02:00
yuri
f215196bcb 2018 2017-12-26 11:04:59 +02:00
yuri
79b688535b fix loader 2017-12-26 11:03:06 +02:00
yuri
b5bd3ec514 fix categories 2017-12-22 13:58:13 +02:00
yuri
696cab7f65 fix filterInput 2017-12-22 13:42:30 +02:00
yuri
9f3122df29 fix opp stage 2017-12-22 13:26:15 +02:00
Taras Machyshyn
2ef1d5becb Added new 2018 year 2017-12-22 10:29:39 +02:00
yuri
f5b5d94b27 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-21 17:11:39 +02:00
yuri
3a61e9b62d fix file 2017-12-21 17:11:18 +02:00
Taras Machyshyn
8ec70cc42f Metadata optimization 2017-12-21 15:57:42 +02:00
yuri
e336bfbc1d categories fix 2017-12-21 13:42:54 +02:00
yuri
bdd8579e7b fix list view 2017-12-21 12:31:19 +02:00
Taras Machyshyn
9b19e67eac Added 2018 year 2017-12-20 15:29:17 +02:00
yuri
62a4ea9080 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-20 13:54:58 +02:00
Taras Machyshyn
8dc9076de3 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-20 13:51:11 +02:00
Taras Machyshyn
4a72481a7d FieldManager: save only changes 2017-12-20 13:51:04 +02:00
yuri
ad22d2bab6 fix layout manager 2017-12-20 13:44:25 +02:00
yuri
d879d70b7d css 2017-12-20 13:37:07 +02:00
yuri
ec01288930 css 2017-12-20 12:51:16 +02:00
yuri
6bb03bb176 fix entity manager remove entity and links 2017-12-20 11:41:23 +02:00
yuri
fd085f5fde fix settings admin items 2017-12-19 16:51:56 +02:00
yuri
6e0b34d9d5 import style 2017-12-19 16:00:16 +02:00
yuri
a69cee274f fix checkEntityForDuplicate 2017-12-19 15:54:10 +02:00
yuri
63126a8371 css for iframe 2017-12-19 15:41:52 +02:00
yuri
2a2e7524e8 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-19 13:57:35 +02:00
yuri
87f1a84e0d layouts change 2017-12-19 12:55:11 +02:00
yuri
08b90e08cf email accounts: useImap 2017-12-19 12:24:45 +02:00
yuri
e5dad4622f fix group email account ui 2017-12-19 11:56:41 +02:00
Taras Machyshyn
f6f2010670 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-18 16:52:31 +02:00
Taras Machyshyn
fa8b77392a Css url fixes in the iframe 2017-12-18 16:52:22 +02:00
yuri
00476f082b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-18 15:23:45 +02:00
Taras Machyshyn
60eefda570 Metadata optimizations 2017-12-18 15:10:44 +02:00
yuri
7532ba06cd cleanup 2017-12-18 13:47:40 +02:00
yuri
a86ba2b704 fix email smtp test and using smtpAuthMechanism for system 2017-12-18 12:38:32 +02:00
yuri
4d9bd89544 fix task complete sent twice 2017-12-18 11:53:37 +02:00
yuri
a6dc770afc metdata objects for frontend 2017-12-18 11:43:59 +02:00
yuri
a4deda924a Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-18 11:29:11 +02:00
yuri
f75511e723 dynamic logic required only if has required 2017-12-18 11:26:49 +02:00
Taras Machyshyn
b72c8bb212 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-15 16:51:18 +02:00
Taras Machyshyn
62eb33d936 Metadata in objects fixes 2017-12-15 16:51:10 +02:00
yuri
aa481dc14d lang 2017-12-15 15:52:51 +02:00
yuri
b2276950ca fix cron 2017-12-15 13:11:45 +02:00
yuri
1c032405fe attachment fix 2017-12-15 12:30:39 +02:00
yuri
2ae9b9239d css 2017-12-15 11:39:51 +02:00
yuri
b390cb921e lt_LT lang 2017-12-15 11:34:29 +02:00
yuri
fbee7df8da Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-15 11:25:37 +02:00
Taras Machyshyn
43559a0158 New version checker changes 2017-12-15 11:17:58 +02:00
yuri
0409a6102e fix 2017-12-14 17:46:48 +02:00
yuri
30985196b2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-14 17:30:51 +02:00
Taras Machyshyn
f289072486 Metadata: added getAllObjects() 2017-12-14 17:23:28 +02:00
yuri
d244192783 text fix 2017-12-14 17:11:44 +02:00
yuri
87bf131f8e Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-14 16:58:29 +02:00
yuri
ff1d010745 stream: store on closing window 2017-12-14 16:50:10 +02:00
yuri
c0a72f3cbe layouts 2017-12-14 16:39:00 +02:00
yuri
14db1291b6 text minRows 2017-12-14 16:34:46 +02:00
yuri
76ab6bde62 fix text 2017-12-14 16:26:37 +02:00
yuri
df92a6e110 text: fit height 2017-12-14 15:54:37 +02:00
yuri
0836dec4a6 markdown support 2017-12-14 15:06:08 +02:00
yuri
6ae345a9e1 lt_LT 2017-12-14 12:03:40 +02:00
yuri
4c283747a4 formula lowerCase upperCase 2017-12-14 11:45:28 +02:00
yuri
a504bc8d4f lang changes 2017-12-13 15:29:42 +02:00
yuri
f6fcfeae06 ability to import number field type 2017-12-13 15:21:15 +02:00
yuri
11376e3a09 target list count not sortable 2017-12-13 14:38:48 +02:00
yuri
86d1650ede foreigh field: supporing text 2017-12-13 12:01:14 +02:00
yuri
3c1d2a4236 version 2017-12-13 11:49:44 +02:00
yuri
c80cfc9574 export disabled 2017-12-13 11:38:29 +02:00
Taras Machyshyn
4e47f203fb Fixed integration tests 2017-12-13 10:29:37 +02:00
Taras Machyshyn
42bbf92111 Integration tests improvements 2017-12-13 10:20:49 +02:00
yuri
e4be63222a cleanup 2017-12-12 17:04:10 +02:00
yuri
061ff019ea fix email template 2017-12-12 17:02:14 +02:00
yuri
84b0b4a713 hide dashlet resize icon 2017-12-12 16:31:05 +02:00
yuri
f9d4cdca51 fix dashboard layout field 2017-12-12 16:14:30 +02:00
yuri
b2ab2a9b01 fullcalendar upgrade 2017-12-12 14:58:05 +02:00
yuri
b044566309 summernote update 2017-12-12 12:29:20 +02:00
yuri
14e95414ab cleanup 2017-12-12 12:04:14 +02:00
yuri
88836f2d3a fix 2017-12-12 12:04:03 +02:00
yuri
d2aefab3e2 format json 2017-12-12 11:40:48 +02:00
yuri
a62e91af6f category ui fix 2017-12-12 11:27:36 +02:00
yuri
cdf473fb2c deprecated controller actions 2017-12-12 11:16:59 +02:00
yuri
4f1730d929 fix htmlizer 2017-12-11 15:48:16 +02:00
yuri
4a3a13414b mass update fix 2017-12-11 15:06:29 +02:00
yuri
939ead833c use object for conroller action data 2017-12-11 14:51:01 +02:00
yuri
0946c8dba8 mass update data typehint 2017-12-08 15:52:26 +02:00
yuri
47e1687029 category cleanup 2017-12-08 15:17:54 +02:00
yuri
9230519d91 notifications fix 2017-12-08 14:44:55 +02:00
yuri
915ddab072 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-08 14:31:12 +02:00
yuri
7293910d45 job layout fix 2017-12-08 14:30:23 +02:00
yuri
3cfae1964e cron data as object 2017-12-08 14:27:12 +02:00
Taras Machyshyn
e02fc8c9a2 Changed newVersionChecker 2017-12-08 12:49:22 +02:00
yuri
53fb2513d4 fix dashboard 2017-12-08 12:21:49 +02:00
yuri
ecc0d65ee4 controller change methods 2017-12-08 12:15:17 +02:00
yuri
c8dcc686c0 update gridstack 2017-12-08 10:42:24 +02:00
yuri
543a6447ae kb: hide empty attachments for portal users 2017-12-08 10:12:16 +02:00
yuri
78939a7152 codestyle fix 2017-12-07 17:25:12 +02:00
yuri
b6bcb75dcf en_GB lang 2017-12-07 17:10:07 +02:00
yuri
81e841f784 lang: do not translate if equals original 2017-12-07 17:09:50 +02:00
yuri
3e64daae0c fix layout detail 3 2017-12-07 16:36:27 +02:00
yuri
124acbc17d fix grid layout 2017-12-07 16:18:12 +02:00
yuri
0060823de6 changes 2017-12-07 15:52:59 +02:00
yuri
e60999ca5d fix email from 2 2017-12-07 14:08:22 +02:00
yuri
aab28fcc5d fix test 2017-12-07 13:37:03 +02:00
yuri
452c5981a8 fix email from 2017-12-07 13:35:21 +02:00
yuri
ebf43b64af fix file fetch 2017-12-07 12:40:07 +02:00
yuri
dbd95a96fb edit access detail button fix 2017-12-07 12:13:32 +02:00
yuri
8362ec825f fix relate acl check 2017-12-07 12:02:14 +02:00
yuri
e44d240f22 fix acl frontend 2017-12-07 11:44:02 +02:00
Taras Machyshyn
c04722c8d5 Added a css url for news iframe 2017-12-07 11:42:29 +02:00
yuri
26a5e5fa33 portal layouts 2017-12-07 11:23:15 +02:00
Taras Machyshyn
5b3837af9f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-12-06 16:55:13 +02:00
Taras Machyshyn
6a64d5fe0e Merge branch 'check-releases' 2017-12-06 16:54:42 +02:00
Taras Machyshyn
4ceae087fa New version checker 2017-12-06 16:23:11 +02:00
yuri
321d45dc86 format fix 2017-12-06 16:22:59 +02:00
yuri
066b2b3803 grid layout refactoring 2017-12-06 16:04:37 +02:00
yuri
448387f29c fix max upload size 2017-12-06 13:11:12 +02:00
yuri
64b6eb42cc attachmentUploadMaxSize 2017-12-06 13:03:00 +02:00
yuri
c2f4e689e8 max file size check 2017-12-06 12:55:39 +02:00
yuri
f0d2856f44 team remove side panel 2017-12-06 11:37:11 +02:00
yuri
0465a03aee entity getValueMap 2017-12-06 11:30:10 +02:00
yuri
ef7eaa925f fix collection unset 2 2017-12-06 11:12:39 +02:00
yuri
e4d0fbaf37 fix collection 2017-12-05 15:48:08 +02:00
yuri
0bd2e65d93 link multiple role empty value 2017-12-05 14:27:05 +02:00
yuri
4f98f39f2a fix css 2017-12-05 11:18:22 +02:00
yuri
230364b3f3 trim address and person name 2017-12-05 11:02:40 +02:00
yuri
5fa591c84f lang fixes 2017-12-05 10:51:48 +02:00
yuri
f70ef6bb14 inbound email translation fix 2017-12-05 10:47:01 +02:00
yuri
9586b725ad fix return 2017-12-04 16:58:52 +02:00
yuri
a96a306901 fix return to list 2017-12-04 16:40:56 +02:00
yuri
366c0ca069 field level acl for list view 2017-12-04 15:23:43 +02:00
yuri
a22f8ce76c list view fix 2017-12-04 14:42:45 +02:00
yuri
96c97df1e0 cleanup 2017-12-04 14:35:28 +02:00
yuri
d683425ee1 emails drafts count 2017-12-04 14:10:30 +02:00
yuri
cd9690a45a export permission 2017-12-04 12:41:36 +02:00
yuri
81338e9120 personal email account list change 2017-12-04 12:22:34 +02:00
yuri
51c279047f fix return to list 2017-12-04 12:22:14 +02:00
yuri
a095f1255e manage categories link 2017-12-04 11:48:30 +02:00
yuri
2675b1f8e3 css fixes 2017-12-04 11:42:44 +02:00
yuri
f4d39051e3 es lang 2017-12-04 11:30:13 +02:00
yuri
d8f682393f panel customLabel 2017-12-04 11:17:24 +02:00
yuri
e592227628 fix lang 2017-12-04 10:04:43 +02:00
yuri
853e8dcebc categories small fix 2017-12-01 16:21:52 +02:00
yuri
cd77b5867a fix attachment multiple triggering change event 2017-12-01 15:59:21 +02:00
yuri
8d80e25d08 fix router navigate back 2017-12-01 15:31:05 +02:00
yuri
8b0ee19d6e filter list actions 2017-12-01 15:23:07 +02:00
yuri
817b853472 categories big change 2017-12-01 15:08:21 +02:00
yuri
cbc0597852 document layout change 2017-12-01 10:45:11 +02:00
yuri
642f12e894 trim username on login 2017-12-01 10:40:51 +02:00
yuri
7a0ed9ecf6 fix avatar forbidden access 2017-12-01 10:36:18 +02:00
yuri
a7d7c6e8f0 formula floor and ceil functions 2017-11-30 12:10:59 +02:00
yuri
14c747a26c improve number\format function 2017-11-30 12:00:18 +02:00
yuri
f1d57bd0df fix email action label 2017-11-30 11:31:05 +02:00
yuri
fc2bc0c715 fix detail view actions translation 2017-11-30 11:29:41 +02:00
yuri
47268cd6e0 fix required sign 2017-11-29 16:23:58 +02:00
yuri
214e7e4953 printPdf action 2017-11-28 13:56:15 +02:00
yuri
8161f387aa lt_LT lang 2017-11-28 12:06:23 +02:00
yuri
8f7d395a81 fix lang script 2017-11-28 12:06:05 +02:00
yuri
df9320bb8c fix link multiple field 2017-11-28 11:26:24 +02:00
yuri
0075f42c58 formula: removeLinkMultipleId 2017-11-28 11:21:28 +02:00
yuri
e76a05a436 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-11-27 11:52:33 +02:00
yuri
e8eeb98131 formula datetime functions change 2017-11-27 11:00:13 +02:00
Taras Machyshyn
67d47d59d3 Fixed checking if crontab is configured 2017-11-24 17:36:38 +02:00
yuri
30ebcf6d76 fix email 2017-11-24 15:28:27 +02:00
yuri
468c1c5fc2 fix css 2017-11-24 15:21:43 +02:00
yuri
bf4a172cb5 case portal default acl change 2017-11-24 13:59:16 +02:00
yuri
55a4a836c6 case portal filling account and contact if empty 2017-11-24 13:52:57 +02:00
yuri
2fe6f87b23 version 2017-11-24 12:30:22 +02:00
yuri
d0d9c91487 acl refactors 2017-11-24 12:13:59 +02:00
yuri
a3c7d8c0c2 email fixes 2017-11-24 11:45:17 +02:00
yuri
e1b8565358 password detail view 2017-11-24 11:16:31 +02:00
yuri
21b7ef1f21 fix int validation messages 2017-11-24 11:04:04 +02:00
yuri
547583a1bc mass email fixes 2017-11-24 10:57:39 +02:00
yuri
1c513cfb6f email: filters by subject and body 2017-11-24 10:47:55 +02:00
yuri
ae9c69307d fix notices 2017-11-23 17:53:07 +02:00
yuri
db5db54fcf fix mass email 2017-11-23 17:50:07 +02:00
yuri
34d28c1b34 Merge branch 'master' of github.com:espocrm/espocrm 2017-11-23 17:39:13 +02:00
yuri
92fa02514b mass email group smtp 2017-11-23 17:38:36 +02:00
yuri
5aad4489c1 group smtp 2017-11-23 15:32:03 +02:00
ayman-alkom
acf990e621 fix enum translate in list view when linkable (#709) 2017-11-23 11:30:43 +02:00
yuri
4f211cf691 readme change 2017-11-22 13:28:19 +02:00
yuri
be467cbbc1 readme change 2017-11-22 13:26:43 +02:00
yuri
1293620bbd Merge branch 'hotfix/4.8.5' 2017-11-22 13:24:03 +02:00
yuri
047c5d5f65 fixes category and storing list view 2017-11-22 12:54:18 +02:00
yuri
b66732bcd0 ms before mrs 2017-11-22 11:52:56 +02:00
yuri
cc245b3de8 fix link parent link 2017-11-22 11:48:46 +02:00
yuri
bb32b06063 fix address field search 2017-11-22 11:00:09 +02:00
yuri
f2f1fbddf3 Merge branch 'hotfix/4.8.5' 2017-11-21 18:38:02 +02:00
yuri
ee3378f88b storing list view improvements 2017-11-21 18:35:02 +02:00
yuri
9f57e68252 categoties refactor 2017-11-21 16:45:39 +02:00
yuri
70262f4e89 Merge branch 'hotfix/4.8.5' 2017-11-21 13:52:07 +02:00
yuri
7305ff7792 category tree improvement 2017-11-21 13:52:00 +02:00
yuri
b035f7aab4 Merge branch 'hotfix/4.8.5' 2017-11-21 12:13:50 +02:00
yuri
401a9c4687 export xlsx substr utf-8 2017-11-21 12:13:39 +02:00
yuri
420645800e Merge branch 'hotfix/4.8.5' 2017-11-21 12:11:12 +02:00
yuri
f4f33e3d1f fix xlsx export 2017-11-21 12:11:06 +02:00
yuri
7da0dfde7d Merge branch 'hotfix/4.8.5' 2017-11-21 11:43:24 +02:00
yuri
9c77281942 cases attachments 2017-11-21 11:33:27 +02:00
yuri
b67f775404 fix readme 2017-11-21 11:05:47 +02:00
yuri
ba844c4382 drop php 5.5 support 2017-11-21 11:03:41 +02:00
yuri
b8e526757a Merge branch 'hotfix/4.8.5' 2017-11-21 10:55:24 +02:00
yuri
0797b71d95 fix frontend date time 2017-11-21 10:55:13 +02:00
yuri
17cef2461d Merge branch 'hotfix/4.8.5' 2017-11-20 15:19:25 +02:00
yuri
cfec27eab8 attachments changes 2017-11-20 15:19:14 +02:00
yuri
0ae8f95313 Merge branch 'hotfix/4.8.5' 2017-11-17 17:08:15 +02:00
yuri
3d2ff947e4 refactor attachments 2017-11-17 17:08:08 +02:00
yuri
df5fead77c Merge branch 'hotfix/4.8.5' 2017-11-17 14:24:06 +02:00
yuri
6081aca66c fix email 2017-11-17 12:35:10 +02:00
yuri
2e51e3f363 Merge branch 'hotfix/4.8.5' 2017-11-17 12:30:00 +02:00
yuri
ea66bd16cb contact accountRole listen to title 2017-11-17 11:54:57 +02:00
yuri
80e9ffe881 hasSubject hasName methods 2017-11-17 11:47:02 +02:00
yuri
cc9cacc04b fix draft empty subject 2017-11-16 16:55:22 +02:00
yuri
355ca2e7fe Merge branch 'hotfix/4.8.5' 2017-11-16 16:10:21 +02:00
yuri
851cef40c4 formula datetime closest function 2017-11-16 16:10:13 +02:00
yuri
4cde4a5885 fix email-to-case 2017-11-16 14:16:05 +02:00
yuri
c6d37b7195 Merge branch 'hotfix/4.8.5' 2017-11-16 12:29:14 +02:00
yuri
618aa84555 ui filters changes 2017-11-16 12:24:19 +02:00
yuri
82d53474d3 Merge branch 'hotfix/4.8.5' 2017-11-16 11:56:08 +02:00
yuri
9d0d6d7475 update mail mime parser 2017-11-16 11:36:14 +02:00
yuri
f7923bdf52 version 2017-11-16 11:33:18 +02:00
yuri
e4598d5ebf Merge branch 'master' of github.com:espocrm/espocrm 2017-11-16 11:31:27 +02:00
yuri
fbe41afdca Merge branch 'hotfix/4.8.5' 2017-11-16 11:31:03 +02:00
yuri
b94f702cc0 language caching and fix 2017-11-16 11:30:53 +02:00
Taras Machyshyn
3951c8e35b Merge pull request #699 from zsroma/tests_for_route_replacing
PHPUnit for "Route : possibility to replace routes in modules"
2017-11-16 11:07:19 +02:00
r.ratsun
a331edafe8 PHPUnit for "Route : possibility to replace routes in modules" 2017-11-15 17:11:29 +02:00
yuri
a82b3acc2b selectize small in search mode 2017-11-15 16:12:17 +02:00
yuri
2637698641 Merge branch 'hotfix/4.8.5' 2017-11-15 16:02:02 +02:00
yuri
ffeb600382 next month filter 2017-11-15 16:01:54 +02:00
yuri
171ed885eb Merge branch 'master' of github.com:espocrm/espocrm 2017-11-15 15:14:06 +02:00
yuri
e3e05a07f3 Merge branch 'hotfix/4.8.5' 2017-11-15 15:13:05 +02:00
yuri
5a990de0d6 field manager: create labels for generated fields 2017-11-15 15:11:16 +02:00
Taras Machyshyn
3b11245525 Merge pull request #694 from Forestsoft-de/master
Unittests on windows failed
2017-11-15 12:55:02 +02:00
yuri
94923d3ddf merge hotfix/4.8.5 2017-11-15 11:39:14 +02:00
yuri
37a1a5246b sr_RS lang 2017-11-15 11:35:01 +02:00
yuri
428cfa3fe0 it_IT lang 2017-11-15 11:34:43 +02:00
yuri
d08a100259 es_MX lang 2017-11-15 11:34:14 +02:00
yuri
be567b9c0e es_ES lang 2017-11-15 11:33:45 +02:00
yuri
748231b8f1 fr_FR lang 2017-11-15 11:29:59 +02:00
yuri
48b1fbe66e zh CN lang 2017-11-15 11:26:36 +02:00
Sebastian Foerster
30fb116676 Extract change in different branch 2017-11-14 21:24:05 +01:00
Sebastian Foerster
c6149cedcc Remove duplicated Test lines. 2017-11-14 21:05:02 +01:00
Sebastian Foerster
5eb2b92397 Integration Test failed on Windows because Espo Bool Type for doctrine could not been found. 2017-11-14 20:54:03 +01:00
Sebastian Foerster
26bbd6672f Merge branch 'master' of https://github.com/espocrm/espocrm 2017-11-14 18:24:06 +01:00
yuri
3cfacafb16 Merge branch 'master' of github.com:espocrm/espocrm 2017-11-14 15:30:13 +02:00
yuri
d3bc318307 Merge branch 'hotfix/4.8.5' 2017-11-14 15:30:02 +02:00
yuri
405200d109 fix user filter not storing 2017-11-14 15:29:54 +02:00
yuri
6dfb4dd989 layout changes 2017-11-14 15:23:44 +02:00
Taras Machyshyn
763840e7fc Merge pull request #689 from ZinitSolutions/route_change
Route: possibility to replace routes in modules
2017-11-14 13:29:50 +02:00
Taras Machyshyn
a9f9a8ef7f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-11-14 13:26:40 +02:00
Taras Machyshyn
2480ad34af Tests for Route 2017-11-14 13:25:08 +02:00
yuri
e2f6e3324a admin notifications param 2017-11-14 10:57:02 +02:00
Sebastian Foerster
ca7b5cab86 Fix Tests for Windows based Development System 2017-11-13 20:59:36 +01:00
r.ratsun
76471a6db1 Route: possibility to replace routes in modules 2017-11-13 16:51:25 +02:00
yuri
dd8e51a1d9 skipOrmDefs param additional 2017-11-13 16:14:33 +02:00
yuri
83a6a8663d Merge branch 'hotfix/4.8.5' 2017-11-13 15:33:46 +02:00
yuri
3c6fc62a8a lead w/o name 2017-11-13 15:33:35 +02:00
yuri
5fff3bd09e dynamic logic: support email address and phone number in conditions 2017-11-13 15:13:27 +02:00
yuri
9cbfb930a4 Merge branch 'hotfix/4.8.5' 2017-11-13 14:47:55 +02:00
yuri
4015bf7d3b Merge branch 'hotfix/4.8.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.5 2017-11-13 14:45:02 +02:00
yuri
7a7dc9b2b7 Merge branch 'hotfix/4.8.5' 2017-11-13 14:44:10 +02:00
yuri
0c993c069d preferences: auto-follow improvements 2017-11-13 14:43:09 +02:00
Taras Machyshyn
d04035dd3f HookManager improvements 2017-11-13 13:59:30 +02:00
yuri
5e18528d02 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-11-13 13:32:32 +02:00
yuri
68e42e9c5a Merge branch 'hotfix/4.8.5' 2017-11-13 13:32:21 +02:00
yuri
495f8bf968 import/export fixes 2017-11-13 11:54:21 +02:00
yuri
506a9a2e3f Merge branch 'hotfix/4.8.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.5 2017-11-10 15:30:36 +02:00
yuri
95992e918a change formula hook order 2017-11-10 15:27:15 +02:00
yuri
cf53edf604 Merge branch 'hotfix/4.8.5' 2017-11-10 12:22:14 +02:00
yuri
a581879a8e email parsing fixes 2017-11-10 12:19:57 +02:00
Taras Machyshyn
7581205800 Portal url fixes 2017-11-09 16:32:25 +02:00
yuri
4ed742fa4a fix email attachment import for weird formatting by apple client 2017-11-09 11:44:49 +02:00
yuri
d3cb258440 fix email attachment import for emails composed with not proper formatting by bad agents 2017-11-09 11:20:38 +02:00
Taras Machyshyn
2d42c21c1a Merge branch 'hotfix/4.8.5' 2017-11-08 16:50:03 +02:00
Taras Machyshyn
1e2700cde1 HookManager improvements 2017-11-08 16:48:20 +02:00
yuri
6c39a89636 Merge branch 'hotfix/4.8.5' 2017-11-07 14:36:25 +02:00
yuri
e5f8883399 formula: array push function 2017-11-07 14:33:05 +02:00
yuri
92b9a40891 fix excel export: foreign fields formatting 2017-11-07 14:19:55 +02:00
yuri
7d45be983b Merge branch 'hotfix/4.8.5' 2017-11-07 14:04:10 +02:00
yuri
63c60f3e6f export datetime timezone fix 2017-11-07 14:03:59 +02:00
yuri
badadbf469 user created by field 2017-11-06 17:04:14 +02:00
yuri
c32b665c12 job config change 2017-11-06 16:17:17 +02:00
yuri
b37f60053d event invitation change 2017-11-06 15:45:44 +02:00
Taras Machyshyn
87d96b285b Variable correction 2017-11-06 12:53:43 +02:00
yuri
0ad12719f0 Merge branch 'hotfix/4.8.5' 2017-11-03 16:48:39 +02:00
yuri
8ad80c7a1a acl: aclAllowDeleteCreated 2017-11-03 16:48:18 +02:00
yuri
7a17c78a51 Merge branch 'hotfix/4.8.5' 2017-11-02 11:22:59 +02:00
yuri
05acdc4c5c fix default today 2017-11-02 11:22:46 +02:00
yuri
0787252f36 version 2017-11-02 10:22:03 +02:00
yuri
c8089bfc32 fix link multiple sorting 2017-11-02 10:18:43 +02:00
yuri
1f38f5fd66 fix record base 2017-10-31 15:12:51 +02:00
yuri
1fb1edb2fa fix task complete button 2017-10-31 14:23:51 +02:00
yuri
9f5aa292ab fix main menu item names 2017-10-31 14:21:51 +02:00
Taras Machyshyn
92e61db752 Cleanup: remove old backup files after upgrade 2017-10-30 12:40:11 +02:00
yuri
67977a944c Merge branch 'hotfix/4.8.3' 2017-10-27 13:37:06 +03:00
yuri
9b170483da version 2017-10-27 13:33:02 +03:00
yuri
71ecc3c59e fix search preset filter 2017-10-27 10:26:26 +03:00
yuri
04039f5bc3 fix typo 2017-10-24 17:17:21 +03:00
yuri
94d0bccd96 dummy 2017-10-24 16:09:46 +03:00
yuri
72a12636b3 fix 2017-10-24 16:05:57 +03:00
yuri
bfbc69fb25 fix search preset menu 2017-10-24 15:29:24 +03:00
yuri
206dc36a78 person name required 2017-10-24 12:23:11 +03:00
yuri
54a35674bc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-10-24 11:55:38 +03:00
yuri
d73bf51fcb Merge branch 'hotfix/4.8.3' 2017-10-24 11:55:28 +03:00
yuri
65f285e93f entity set object support 2017-10-24 11:45:45 +03:00
yuri
41f842e581 fix orm entity 2017-10-24 11:45:29 +03:00
yuri
9879f749e4 order link multiple records 2017-10-24 11:40:43 +03:00
yuri
b88686816b link parent changes 2017-10-24 10:55:41 +03:00
yuri
59219a8f55 Merge branch 'hotfix/4.8.3' 2017-10-23 11:40:08 +03:00
yuri
08da60b1b0 foreign field: support date and datetime 2017-10-23 11:40:01 +03:00
yuri
6481f38f66 Merge branch 'hotfix/4.8.3' 2017-10-23 11:09:03 +03:00
yuri
987b838856 fix layout manager 2017-10-23 11:08:50 +03:00
yuri
4706c971d6 Merge branch 'hotfix/4.8.3' 2017-10-20 14:21:29 +03:00
yuri
8ba79cce2a notificator fix 2017-10-20 14:21:19 +03:00
yuri
bfa1533ebf Merge branch 'master' of github.com:espocrm/espocrm 2017-10-18 12:19:34 +03:00
yuri
5db8069872 Merge branch 'hotfix/4.8.3' 2017-10-18 12:19:27 +03:00
yuri
3a48b155e2 formula: undefined variable treated as null 2017-10-18 12:18:58 +03:00
yuri
c5af04ec2b formula nl support 2017-10-18 12:17:38 +03:00
Yuri Kuznetsov
46692fd3dd Revert "Create rodrigoscoelho.md (#659)" (#663)
This reverts commit 4aa27ce269.
2017-10-17 11:03:59 +03:00
rodrigoscoelho
4aa27ce269 Create rodrigoscoelho.md (#659) 2017-10-16 23:50:17 +03:00
yuri
db38756b88 Merge branch 'hotfix/4.8.3' 2017-10-10 13:20:35 +03:00
yuri
62f0b6ad04 es_ES template 2017-10-10 13:20:27 +03:00
yuri
65e32d351b Merge branch 'hotfix/4.8.3' 2017-10-10 13:13:15 +03:00
yuri
e7787b18a3 fix actions propagation 2017-10-10 13:13:07 +03:00
yuri
e77127e2d5 fix orm 2017-10-10 13:03:41 +03:00
yuri
bc11e35d35 fix admin 2017-10-09 11:59:03 +03:00
Taras Machyshyn
39940b3cc7 Changed documentation link 2017-10-06 17:47:47 +03:00
Taras Machyshyn
d2d7b6805e Checking if Scheduled Jobs were run 2017-10-06 17:00:31 +03:00
yuri
9df45f6564 Merge branch 'hotfix/4.8.3' 2017-10-04 13:04:10 +03:00
yuri
a44a25f2e7 fix setup detail view 2017-10-04 13:00:27 +03:00
yuri
37827dfda1 admin panel changes 2017-10-04 11:26:35 +03:00
yuri
827b69076a admin notifications changes 2017-10-04 10:50:27 +03:00
yuri
b5d830361a Merge branch 'hotfix/4.8.3' 2017-10-03 18:23:35 +03:00
yuri
2ec595f8b0 admin quick create list fix 2017-10-03 18:23:17 +03:00
yuri
9d61f22296 first name last name max liength 2017-10-03 18:21:36 +03:00
yuri
69a99667a3 fix duplicate check person names 2017-10-03 18:17:19 +03:00
yuri
2665df0f1e fix duplicate check person names 2017-10-03 18:16:42 +03:00
yuri
6d5fc0a082 fix typo 2017-10-03 14:39:07 +03:00
yuri
41d12504ff admim notifications changes 2017-10-03 14:14:18 +03:00
yuri
20e069b5b2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-10-03 13:18:33 +03:00
Taras Machyshyn
5f0a065f4b admin notifications 2017-10-03 13:18:22 +03:00
Sebastien DOIDO
f7c5e8773d Array field: fix fetch search replace regexp if multi slash are present (#653)
Thanx
2017-10-02 11:51:52 +03:00
Sebastien DOIDO
990b38a4c6 Array field: fix fetch search replace regexp if multi slash are present (#653)
Thanx
2017-10-02 11:50:00 +03:00
yuri
d48571cb04 Merge branch 'hotfix/4.8.3' 2017-09-28 11:01:37 +03:00
yuri
1e7bdaa991 fix css 2017-09-28 11:01:19 +03:00
yunga91
52acd88e97 mass-update field type fix (#652)
Thanks
2017-09-28 11:00:51 +03:00
yuri
b265375148 Merge branch 'hotfix/4.8.3' 2017-09-27 13:42:51 +03:00
yuri
fcd40af7c9 multi enum support empty strings 2017-09-27 13:40:53 +03:00
yuri
da1f339fd1 Merge branch 'hotfix/4.8.3' 2017-09-26 17:52:06 +03:00
yuri
8d949fa1fc formula fetch related link mulitple ids 2017-09-26 17:50:37 +03:00
yuri
83f0d70291 Merge branch 'hotfix/4.8.3' 2017-09-26 17:27:08 +03:00
yuri
d9504360d9 cleanup 2017-09-26 17:27:02 +03:00
yuri
bcd21f6fd1 Merge branch 'hotfix/4.8.3' 2017-09-26 17:15:51 +03:00
yuri
09c34ff006 formula entity addLinkMultipleId support array 2017-09-26 17:15:41 +03:00
yuri
dfc3f0a5d3 formula array create 2017-09-26 17:12:07 +03:00
yuri
0a3f1dad50 fix typo 2017-09-25 12:06:53 +03:00
yuri
3772e1e839 fix enum 2017-09-22 14:06:49 +03:00
yuri
c4f5416adf rename campaign statistics 2017-09-21 12:25:53 +03:00
yuri
fcdb9aca5d lang fix 2017-09-15 14:40:23 +03:00
yuri
eaadcca1a9 remove loadAdditionalFields request param 2017-09-15 11:16:24 +03:00
yuri
f0bff56146 Merge branch 'hotfix/4.8.3' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.3 2017-09-14 14:47:00 +03:00
yuri
1760e8019b Merge branch 'hotfix/4.8.3' 2017-09-14 13:48:37 +03:00
yuri
92e2177ed3 List action: loadAdditionalFields param 2017-09-14 13:48:28 +03:00
yuri
444b45a0c0 Merge branch 'hotfix/4.8.3' 2017-09-14 12:57:53 +03:00
yuri
de72e6d6af htmplizer: ifEqual 2017-09-14 12:57:41 +03:00
Taras Machyshyn
32a8efad0e Installer: changed default value of smtpAuth 2017-09-13 14:23:59 +03:00
yuri
a35e149e13 Merge branch 'hotfix/4.8.3' 2017-09-13 12:12:53 +03:00
yuri
f8523cf2b6 htmlizer numberFormat 2017-09-13 12:10:55 +03:00
yuri
4e1df42f36 event stop propagation 2017-09-13 11:03:45 +03:00
yuri
9a60ee9fe6 cleanup 2017-09-13 11:02:17 +03:00
yuri
4cba0dac6e Merge branch 'stable' 2017-09-12 17:03:41 +03:00
yuri
19f1ef75fd fix application set 2017-09-12 16:51:54 +03:00
yuri
0561ba1f83 Merge branch 'hotfix/4.8.2' 2017-09-12 10:45:28 +03:00
yuri
b29172ad18 it_IT lang fixes 2017-09-12 10:45:21 +03:00
yuri
312ced7e62 Merge branch 'hotfix/4.8.2' 2017-09-08 11:02:16 +03:00
yuri
8f201944a4 email inline attachment cleanable 2017-09-08 11:02:06 +03:00
yuri
6c9a350e43 fix typo 2017-09-06 12:09:13 +03:00
yuri
a8881d146a Merge branch 'hotfix/4.8.2' 2017-09-06 12:04:35 +03:00
yuri
6f1be59b4c remove attachment if file/image changed 2017-09-06 12:03:46 +03:00
yuri
5a15fcbbb5 cleanup attachment improvements 2017-09-06 11:45:05 +03:00
yuri
40d1b7a654 Merge branch 'hotfix/4.8.2' 2017-09-05 11:18:52 +03:00
yuri
9084e6b679 fix excel 2017-09-05 11:18:40 +03:00
yuri
2f280151d4 Merge branch 'hotfix/4.8.2' 2017-09-04 10:57:06 +03:00
yuri
ccb4fb13a9 fix formula parser 2017-09-04 10:56:57 +03:00
yuri
b07c3b62cf fix recotd stop listen window 2017-08-31 16:08:34 +03:00
yuri
d4805acef7 layout noLabel param 2017-08-31 15:37:14 +03:00
yuri
0637304a4f fix empty varchar and text 2017-08-31 11:39:22 +03:00
yuri
1454ac9299 Merge branch 'hotfix/4.8.2' 2017-08-30 16:31:29 +03:00
yuri
8f9089f0a3 fix lang 2017-08-30 16:31:22 +03:00
yuri
83ccec26ee fix lang 2017-08-30 15:29:33 +03:00
yuri
db427c0bf1 version 2017-08-28 17:02:24 +03:00
yuri
0785ab9ee1 bottom loaded with middle 2017-08-28 16:57:17 +03:00
yuri
3882bddc8a Merge branch 'hotfix/4.8.2' 2017-08-23 13:53:47 +03:00
yuri
767dcd1e9f Merge branch 'hotfix/4.8.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.2 2017-08-23 13:53:22 +03:00
Taras Machyshyn
7e997b224b Fixed undefined Log class 2017-08-23 12:47:11 +03:00
yuri
1c11442aea lang portal permission fix 2017-08-23 11:08:25 +03:00
Taras Machyshyn
7a08eea518 Changed news URL 2017-08-22 16:48:35 +03:00
Taras Machyshyn
cb14ca4627 installer: load values from existing data/config.php 2017-08-22 15:54:24 +03:00
Taras Machyshyn
7a6a8bc707 installer: added possibility to load values from existing data/config.php 2017-08-22 14:19:55 +03:00
yuri
157d63e2ed Merge branch 'hotfix/4.8.2' 2017-08-21 15:08:12 +03:00
yuri
cc3ba89ab3 calendar dashlet month title 2017-08-21 15:07:21 +03:00
yuri
f9da876818 Merge branch 'hotfix/4.8.2' 2017-08-21 13:03:27 +03:00
yuri
88135f93fe calendar dashlet next/previous buttons and some css fixes 2017-08-21 13:00:51 +03:00
yuri
1148e391a6 panel tpl fix 2017-08-21 11:52:22 +03:00
yuri
f7c5706004 calendar dashlet view link 2017-08-21 11:25:01 +03:00
yuri
569a23759a Merge branch 'hotfix/4.8.2' 2017-08-21 10:57:48 +03:00
yuri
3120afb55e fix date time filter ranges 2017-08-21 10:55:16 +03:00
yuri
4d565b853e Merge branch 'stable' 2017-08-18 13:23:35 +03:00
yuri
e991241ad2 remove target lang 2017-08-18 11:22:30 +03:00
Sebastien DOIDO
22e7756083 Fix clear cache typo update fr lang (#623)
* Update fr_FR lang.

* Fix clear cache typo.
2017-08-18 11:22:17 +03:00
yuri
c65f537b8f remove target lang 2017-08-18 11:21:17 +03:00
yuri
f2e48df7ea fix lang sr_RS 2017-08-18 11:10:08 +03:00
Sebastien DOIDO
935792fa9f Fix clear cache typo update fr lang (#623)
* Update fr_FR lang.

* Fix clear cache typo.
2017-08-17 22:37:08 +03:00
yuri
3b4dc45984 dont show auth error message 2017-08-16 16:30:55 +03:00
yuri
fc747a94bd Merge branch 'hotfix/4.8.1' 2017-08-16 16:25:27 +03:00
yuri
d9b1418f36 fix check personal email account job 2017-08-16 15:51:29 +03:00
yuri
443016790a fix menu check access 2017-08-16 14:45:23 +03:00
yuri
ca9253ecd5 email account assigned user required 2017-08-16 14:39:42 +03:00
yuri
ed8960d71f Merge branch 'hotfix/4.8.1' 2017-08-15 17:21:03 +03:00
yuri
395b11474e lang fix 2017-08-15 17:20:54 +03:00
yuri
71c2cb93cf lang fix 2017-08-15 17:17:37 +03:00
yuri
615438f1dd lang 2017-08-15 17:13:53 +03:00
yuri
dd14c94202 Merge branch 'hotfix/4.8.1' 2017-08-15 12:56:56 +03:00
yuri
1c7fb79b33 more db ssl options 2017-08-15 12:54:49 +03:00
yuri
0c8ac1539c Merge branch 'hotfix/4.8.1' 2017-08-15 12:39:29 +03:00
yuri
c6c16cd488 ssl database 2017-08-15 12:39:05 +03:00
yuri
86bd65556f Merge branch 'hotfix/4.8.1' 2017-08-14 16:38:42 +03:00
yuri
a56502b814 show loading if email address in not loaded 2017-08-14 16:38:33 +03:00
yuri
24137df013 lang 2017-08-14 11:51:38 +03:00
yuri
b945473422 fix array field 2017-08-11 15:05:23 +03:00
yuri
d1fd6bfc8a Merge branch 'hotfix/4.8.1' 2017-08-11 14:58:42 +03:00
yuri
ab7db9d084 color picker field 2017-08-11 14:57:14 +03:00
yuri
c36007f216 fix naming 2017-08-11 14:49:13 +03:00
yuri
1d8cc18411 fix record tpl 2017-08-11 14:40:00 +03:00
yuri
0ec31c689d Merge branch 'hotfix/4.8.1' 2017-08-11 11:38:00 +03:00
yuri
723fc52d1c fix cache 2017-08-11 11:37:53 +03:00
yuri
8f15b098fb Merge branch 'hotfix/4.8.1' 2017-08-10 14:35:29 +03:00
yuri
073aedc18b strikethrough inactive account 2017-08-10 14:35:20 +03:00
yuri
035abf03cb field manager label upper case first 2017-08-10 13:36:55 +03:00
yuri
5808e85182 Merge branch 'hotfix/4.8.1' 2017-08-10 13:32:31 +03:00
yuri
50dbc60a5c file/image should create link 2017-08-10 13:32:24 +03:00
yuri
dbdc83c544 fix stream acl 2017-08-10 12:58:45 +03:00
yuri
3551b3a8d4 Merge branch 'hotfix/4.8.1' 2017-08-10 12:44:40 +03:00
yuri
1d743afd2a Merge branch 'hotfix/4.8.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.1 2017-08-10 12:31:44 +03:00
yuri
3240d3161b Merge branch 'hotfix/4.8.1' 2017-08-10 12:31:24 +03:00
yuri
094bf69fab contacts panel filters 2017-08-10 12:31:13 +03:00
Taras Machyshyn
706226298a Merge branch 'hotfix/4.8.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.8.1 2017-08-09 17:38:17 +03:00
Taras Machyshyn
322bbb5d95 Schema converter optimization 2017-08-09 17:37:58 +03:00
yuri
3d9bd3b646 Merge branch 'hotfix/4.8.1' 2017-08-09 16:15:08 +03:00
yuri
5c12c6133f new text filters 2017-08-09 16:12:27 +03:00
yuri
417367838c fix array length 2017-08-09 14:30:46 +03:00
yuri
eb3480b514 Merge branch 'hotfix/4.8.1' 2017-08-09 14:25:36 +03:00
yuri
6f1cc78329 array\length function 2017-08-09 14:18:02 +03:00
yuri
a2faab036c file audited 2017-08-09 14:07:41 +03:00
yuri
a32441543c image converter orm 2017-08-09 14:06:44 +03:00
yuri
f4497402ca noIndex and file metadata converter 2017-08-09 13:13:33 +03:00
tanyalei
ef6548bc82 Import fix: find related person by name (#605) 2017-08-08 17:30:36 +03:00
tanyalei
99ec7d43c5 Import fix: find related person by name (#605) 2017-08-08 17:29:49 +03:00
yuri
f1bf0b3dee fix model:getLinkMultipleColumn 2017-08-08 15:18:13 +03:00
yuri
ec23cae38d fix user teams load error 2017-08-08 14:01:36 +03:00
yuri
771e3237cf system user is admin 2017-08-08 13:47:43 +03:00
yuri
ae72146d14 avatar requiring auth 2017-08-08 13:44:09 +03:00
yuri
20d6865323 version 2017-08-08 12:49:14 +03:00
yuri
89e13b0bac next number fix 2017-08-04 17:59:07 +03:00
yuri
8fa36ac14c fix next number unlock table 2017-08-04 17:45:46 +03:00
yuri
e557782c64 fix notice 2017-08-04 14:05:28 +03:00
yuri
7cc7f3fbcf week function 2017-08-03 12:45:53 +03:00
yuri
3f293a6d23 orm: week function 2017-08-03 12:07:06 +03:00
yuri
309b09f6ce Merge branch 'master' of github.com:espocrm/espocrm 2017-08-02 12:26:58 +03:00
yuri
0b7e9f3d62 disableHooks property 2017-08-02 11:51:36 +03:00
tanyalei
58c17ffd5c beforeSave for Event fix (#602) 2017-08-01 15:18:44 +03:00
yuri
7d3ba23a9f fix labal manager 2017-07-31 16:41:04 +03:00
yuri
ca2e4f5b37 fix duplicateIgnore 2017-07-31 16:17:47 +03:00
yuri
d82174fec5 fix excel export 2017-07-31 13:00:55 +03:00
yuri
033c65b79b acl strict mode 2017-07-31 12:15:01 +03:00
yuri
dbc8e5d9cc entity manager: common reserved word 2017-07-31 11:28:48 +03:00
yuri
42407935d5 duplicateIgnore 2017-07-31 11:23:52 +03:00
yuri
e7d558b0bf version 2017-07-31 11:14:48 +03:00
yuri
290b530b92 Merge branch 'master' of github.com:espocrm/espocrm 2017-07-18 15:23:24 +03:00
yuri
18726bdccd empty reminder if event is not actual 2017-07-18 15:23:09 +03:00
Dmitry Danilson
06b0498abb Fix #592: Replace undefined with (#593) 2017-07-14 13:57:40 +03:00
yuri
7a7627e931 update mail-mime-parser 2017-07-12 12:03:37 +03:00
yuri
c6038e9cee email account: unset recent flag 2017-07-12 11:32:10 +03:00
yuri
0e05596155 beforeSave repositoty order fix 2017-07-12 11:28:59 +03:00
yuri
0ca212f911 fix warning 2017-07-11 11:08:24 +03:00
yuri
94c2b9deda fix link search 2017-07-07 11:42:46 +03:00
yuri
2016a1bb0d relationship panel link in defs 2017-07-07 11:05:06 +03:00
yuri
6841ba9c85 side panel fieldList 2017-07-07 11:04:19 +03:00
yuri
d5988f2c04 fix after twice after remove hook 2017-07-05 15:38:11 +03:00
yuri
a56c9c3a46 fix complexText link 2017-07-04 17:28:51 +03:00
yuri
9d0bbdcd4d sr_RS lang 2017-07-04 15:47:57 +03:00
yuri
4bfaac3414 layout changes 2017-07-03 17:11:54 +03:00
yuri
d54c044fd9 Merge branch 'hotfix/4.7.3' 2017-07-03 11:27:08 +03:00
yuri
1def66bb77 fix team clear roles cache 2017-07-03 11:26:25 +03:00
yuri
75041db2e9 currency setting changes 2017-06-28 14:37:45 +03:00
yuri
356948cdf7 fix preferences edit 2017-06-28 14:04:33 +03:00
yuri
db92abf3ee Merge branch 'hotfix/4.7.3' 2017-06-28 12:45:20 +03:00
yuri
d5d59abf13 fix notice 2017-06-28 12:45:11 +03:00
yuri
69c1e3e8e0 email load bcc name 2017-06-28 12:22:08 +03:00
yuri
963c4e3e2b fix typo 2017-06-26 12:43:22 +03:00
yuri
cc4c735a27 entity manager: dont allow entity name if controller exists 2017-06-26 12:42:47 +03:00
yuri
175517a9dc list row menu links 2017-06-26 12:23:39 +03:00
yuri
9cb3548393 cleanup reminders 2017-06-26 12:22:36 +03:00
yuri
ac0dea317f reminder threshold fix 2017-06-26 11:42:44 +03:00
yuri
839dfb9709 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-06-23 15:47:24 +03:00
Taras Machyshyn
2c7a4098f3 Upgrade manager: added beforeUpgradeFiles and afterUpgradeFiles 2017-06-23 13:16:36 +03:00
yuri
0228396376 fix formula dayOfWeek 2017-06-23 13:11:00 +03:00
yuri
c5aa0eba48 fix formula dayOfWeek 2017-06-23 13:10:42 +03:00
Taras Machyshyn
ac4472975d Fixed scheduled job run date 2017-06-23 12:40:33 +03:00
yuri
379f5fbaaf field manager ui fix 2017-06-23 12:34:21 +03:00
yuri
af71408c52 cleanup 2017-06-23 12:19:22 +03:00
yuri
b7a4fa1e7c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-06-23 12:15:39 +03:00
yuri
92b6e45ef2 default for link field 2017-06-23 12:15:31 +03:00
yuri
acf6f67627 fix warning 2017-06-23 12:15:12 +03:00
Taras Machyshyn
017c34dcde Orm converter: remove fields without type 2017-06-22 17:26:05 +03:00
yuri
f6e54918b2 fix orm 2017-06-22 12:43:11 +03:00
yuri
75b3c33526 tpl fix 2017-06-21 15:22:28 +03:00
yuri
f784760735 css fix 2017-06-21 14:22:30 +03:00
yuri
a739b3a96e fix link field empty name 2017-06-21 13:10:55 +03:00
yuri
0a8e0f00c2 defaultAttributes param 2017-06-21 12:37:01 +03:00
yuri
00c4cf4893 update mailmimeparser 2017-06-21 12:07:17 +03:00
yuri
e8e9ea9e2f fix search trim 2017-06-20 16:08:50 +03:00
yuri
c9cdb6767b update slim 2017-06-20 14:50:03 +03:00
yuri
24f9c1c762 es_MX lang 2017-06-20 11:08:15 +03:00
yuri
766a880799 lang 2017-06-20 11:04:23 +03:00
yuri
07de0dbeb0 fix search preset 2017-06-19 16:35:04 +03:00
yuri
d1752f2ff0 fix select related 2017-06-19 16:13:59 +03:00
yuri
ef27234ef8 enum column and varchar column field views 2017-06-19 15:58:20 +03:00
yuri
685862f1de fix enum int float 2017-06-19 11:04:12 +03:00
yuri
97621c45a8 opportunity role search 2017-06-16 12:50:35 +03:00
yuri
b96d433796 search by account fixes 2017-06-15 17:31:32 +03:00
yuri
03d784c284 label manager 2017-06-15 16:53:12 +03:00
yuri
02ef97724f inactive account 2017-06-15 16:50:37 +03:00
yuri
93e2c65d30 en_GB lang 2017-06-14 15:55:17 +03:00
yuri
d02bf65a55 version 2017-06-14 12:53:29 +03:00
yuri
fb2f566314 email importer contact parent if no account 2017-06-14 12:51:36 +03:00
yuri
2227870854 Merge branch 'master' of github.com:espocrm/espocrm 2017-06-14 12:34:16 +03:00
yuri
b195509843 Merge branch 'hotfix/4.7.3' 2017-06-14 12:34:06 +03:00
yuri
2100fa0606 fix email acl ui 2017-06-14 12:33:56 +03:00
Dmitry Danilson
3fe43bdfa3 #563 Replace Container::loadLog() with loader class (#565)
Looks good. Thanks.
2017-06-14 12:18:25 +03:00
yuri
26ad3d48af da_DK fix 2017-06-14 11:59:16 +03:00
yuri
9c224fefb7 label editor: confirm leave out 2017-06-12 14:51:51 +03:00
barwi
e4db873e43 fix typo (#560) 2017-06-12 14:29:50 +03:00
barwi
f06d53b3d2 fix typo (#560) 2017-06-12 14:28:58 +03:00
yuri
4ef706b716 Merge branch 'hotfix/4.7.2' 2017-06-08 16:52:16 +03:00
yuri
09e364625d fix formula parser 2017-06-08 16:52:03 +03:00
yuri
35f575ed7f fix array field 2017-06-07 12:06:58 +03:00
yuri
7b0d46b37f travel industry 2017-06-07 11:51:39 +03:00
yuri
b8be2c9e13 travel industry 2017-06-07 11:51:20 +03:00
yuri
f05c763119 label manager 2017-06-06 15:09:36 +03:00
yuri
262b3bb3b3 Merge branch 'hotfix/4.7.2' 2017-06-06 14:01:53 +03:00
yuri
f474137b91 fix mention 2017-06-06 14:01:33 +03:00
yuri
7a18d88c50 fix export 2 2017-06-06 12:20:46 +03:00
yuri
d3ea71c726 Merge branch 'hotfix/4.7.2' 2017-06-06 12:03:35 +03:00
yuri
8d1c9fe666 fix export 2017-06-06 12:01:19 +03:00
yuri
62ccfaa9c0 Merge branch 'hotfix/4.7.2' 2017-05-31 10:38:00 +03:00
yuri
e6566bccdc fix portal 2017-05-29 13:42:41 +03:00
yuri
14ed7282f3 cleanup 2017-05-29 11:47:50 +03:00
yuri
b13145adce version 2017-05-29 11:40:52 +03:00
yuri
c0b169f7dd Merge branch 'hotfix/4.7.2' 2017-05-29 11:40:18 +03:00
yuri
3cfca9845a improve dependencies 2017-05-29 11:40:06 +03:00
yuri
afa8d07bb4 fix notice 2017-05-29 11:35:00 +03:00
yuri
02434e0ca1 css fix 2017-05-26 11:48:34 +03:00
yuri
3d68c77ed4 Merge branch 'hotfix/4.7.1' 2017-05-26 11:19:11 +03:00
yuri
11f76c507b fix export sheet name 2017-05-25 14:51:11 +03:00
yuri
a2e241966e Merge branch 'hotfix/4.7.1' 2017-05-25 14:22:49 +03:00
yuri
c68f3eb44d template fixes 2017-05-25 14:22:39 +03:00
yuri
6a1d8dcdca version 2017-05-25 11:44:44 +03:00
yuri
ba358e5847 Merge branch 'hotfix/4.7.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.7.1 2017-05-25 11:40:18 +03:00
yuri
5e174fd5a9 excel export fix 2017-05-25 11:16:58 +03:00
yuri
7bf7944360 excel export fix 2017-05-25 11:16:23 +03:00
yuri
9f72b074d5 Merge branch 'hotfix/4.7.1' 2017-05-24 13:41:26 +03:00
yuri
9af2500292 xsl export fix 2017-05-24 13:41:15 +03:00
yuri
59b7934aa2 Merge branch 'hotfix/4.7.1' 2017-05-22 15:41:03 +03:00
yuri
8e9dea260e fix port theme 2017-05-22 15:40:31 +03:00
yunga91
29ed6cb3b0 Fix view name resolving for custom field types in filter action (#546)
* fix view name resolving for custom field types in merge action

* fix view name resolving for custom field types in filter action
2017-05-22 14:36:43 +03:00
yuri
a7a61a993c Merge branch 'master' of github.com:espocrm/espocrm 2017-05-22 14:36:09 +03:00
yunga91
68d1c0854b Fix view name resolving for custom field types in filter action (#546)
* fix view name resolving for custom field types in merge action

* fix view name resolving for custom field types in filter action
2017-05-22 14:35:31 +03:00
yuri
fdd6f01415 Merge branch 'hotfix/4.7.1' 2017-05-22 14:16:03 +03:00
yuri
4670bb49e8 excel export by default 2017-05-22 14:15:56 +03:00
yuri
54a045e25a Merge branch 'hotfix/4.7.1' 2017-05-19 17:37:25 +03:00
yuri
fcc18befc3 excel export fix currency 2017-05-19 17:37:18 +03:00
yuri
52ac9b1621 small fix 2017-05-19 17:14:58 +03:00
yuri
862b76f165 Merge branch 'hotfix/4.7.1' 2017-05-19 15:11:16 +03:00
yuri
9bca545f01 fix excel temp file name 2017-05-19 15:11:05 +03:00
Taras Machyshyn
80032f8ed7 Correct labels 2017-05-18 17:08:37 +03:00
yuri
a63a690307 field manager: forbid underscore name 2017-05-18 13:24:36 +03:00
yuri
5ed0b2ba6b field manager: forbid underscore name 2017-05-18 13:24:15 +03:00
yuri
24dc2716f7 fix excel export label 2017-05-18 12:44:30 +03:00
yuri
bbe26618ac fix excel export label 2017-05-18 12:44:10 +03:00
yuri
6f65d9e8d8 Merge branch 'hotfix/4.7.1' 2017-05-18 12:18:39 +03:00
yuri
3f40896374 export fileName 2017-05-18 12:18:31 +03:00
yuri
f1b0decbab Merge branch 'hotfix/4.7.1' 2017-05-17 16:08:06 +03:00
yuri
8d8778b397 lang 2017-05-17 16:07:36 +03:00
yuri
c2b60698bc Merge branch 'hotfix/4.7.1' 2017-05-17 15:56:37 +03:00
yuri
68d3b422cc lang 2017-05-17 15:56:28 +03:00
yuri
63ff4c1dca Merge branch 'hotfix/4.7.1' 2017-05-17 15:32:03 +03:00
yuri
145420aaaa fix export noJoin names 2017-05-17 15:31:54 +03:00
yuri
8987ec61fe Merge branch 'hotfix/4.7.1' 2017-05-16 13:45:29 +03:00
yuri
34ee17b7f5 fix notice 2017-05-16 13:45:12 +03:00
yuri
a93627d274 tooltips 2017-05-16 12:58:23 +03:00
yuri
90fe18b660 Merge branch 'hotfix/4.7.1' 2017-05-16 12:47:44 +03:00
yuri
2a0646d1dd fix warning 2017-05-16 12:47:37 +03:00
yuri
6182376d1f Merge branch 'hotfix/4.7.1' 2017-05-16 12:21:48 +03:00
yuri
52620e84cd skipCreatedBy 2017-05-16 12:21:35 +03:00
yuri
66235f7e77 hide 2017-05-16 11:36:46 +03:00
yuri
49b61dab53 Merge branch 'hotfix/4.7.1' 2017-05-16 11:34:33 +03:00
yuri
4747113742 lang 2017-05-16 11:34:22 +03:00
yuri
a10f2949a4 Merge branch 'hotfix/4.7.1' 2017-05-16 11:30:52 +03:00
yuri
f26d7c6a62 lang 2017-05-16 11:30:43 +03:00
yuri
2e0d8cfd43 hide 2017-05-16 11:12:35 +03:00
yuri
666d8ab5ad Merge branch 'hotfix/4.7.1' 2017-05-16 10:55:34 +03:00
yuri
db57c53652 BAM currency 2017-05-16 10:55:27 +03:00
yuri
bbcf9e00fa notification number 2017-05-15 16:54:34 +03:00
yuri
badf1aec6f fix side panel 2017-05-15 11:38:46 +03:00
yuri
19bb4514df lang 2017-05-12 14:31:32 +03:00
yuri
778be7fea8 Merge branch 'master' of github.com:espocrm/espocrm 2017-05-12 11:22:53 +03:00
yuri
326970bcd4 fix lang 2017-05-12 11:22:42 +03:00
yuri
9411bce8b0 fix sorting field types 2017-05-12 11:12:40 +03:00
yuri
244c1a426b fix model factory 2017-05-12 11:04:36 +03:00
Mauricio Panuncio
b3f9ca8721 Fix and improve translations ES (#538)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.

* Fix: 'Lenguaje' to 'Idioma'.

* Fix some erros in the installation screens.

* Fix some erros in the installation screens II.

* Chamge mod

* Translate. Round 1.

* Translate ES. Stream: Actividades to Historia.

* Translate ES. Lead: Potencial to Posible Cliente.

* Translate ES. Log: Registros.

* Translate ES. Round 2.

* Translate ES. Round 3.

* Translate ES. Round 4.

* Translate ES. New translations.

* Translate ES. Fix bugs.

* Translate ES. Activity: Actividades to Actividades planeadas.

* Translate ES. Hostory: Historia to Historial de aactividades.

* Translate ES. Improvements.

* Fix.

* Traanslate ES.

* Traanslate ES.

* Traanslate ES.

* Fix permissions.

* New translations ES

* Fix and improve translations ES.
2017-05-11 17:55:55 +03:00
yuri
8c66a83054 html cache timestamp 2017-05-10 16:52:56 +03:00
yuri
df6a1f6613 defaults config addition 2017-05-10 14:59:59 +03:00
yuri
1033a926fc v 4.7.0 2017-05-10 14:49:41 +03:00
yuri
d339c04177 field manager: dont allow field name beginning with a number 2017-05-10 12:52:28 +03:00
yuri
edcf0aae84 allow only one attachment multiple field 2017-05-10 12:47:14 +03:00
yuri
20f97caab3 field manager: not allow name same as link 2017-05-10 12:36:50 +03:00
yuri
86be4e7352 Merge branch 'hotfix/4.6.1' 2017-05-10 12:31:50 +03:00
yuri
697e271e66 Merge branch 'hotfix/4.6.1' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.6.1 2017-05-10 12:31:34 +03:00
yuri
5f74504da8 cleanup changes 2017-05-10 12:06:11 +03:00
yuri
fb3d46d389 attachments fill parentType or relatedId w/o id if entity is not created 2017-05-10 11:35:23 +03:00
yuri
875971fb6e generate password preview 2017-05-10 10:59:04 +03:00
yuri
1939a58f17 stream post storing improvement 2017-05-09 15:57:03 +03:00
yuri
40b3374fdd stream post keep attachments 2017-05-09 15:07:03 +03:00
yuri
c564b1b75a stream: store post content on leave 2017-05-09 12:57:49 +03:00
yuri
c28e73ce3f formula fix 2017-05-08 16:06:47 +03:00
yuri
788a6bfdc3 formula ui fix 2017-05-08 13:32:16 +03:00
yuri
15d1f79115 formula change ui 2017-05-08 13:30:14 +03:00
yuri
bf699d88f7 system jobs 2017-05-08 12:34:07 +03:00
yuri
d7f8e4e050 fix notice 2017-05-08 12:32:49 +03:00
yuri
3872d7897a stream ignoreScopeList fix 2017-05-08 11:46:48 +03:00
yuri
17a1f6ce63 stream ignoreScopeList fix 2017-05-08 11:45:50 +03:00
Mauricio Panuncio
eaa155eff7 Translate es (#536)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.

* Fix: 'Lenguaje' to 'Idioma'.

* Fix some erros in the installation screens.

* Fix some erros in the installation screens II.

* Chamge mod

* Translate. Round 1.

* Translate ES. Stream: Actividades to Historia.

* Translate ES. Lead: Potencial to Posible Cliente.

* Translate ES. Log: Registros.

* Translate ES. Round 2.

* Translate ES. Round 3.

* Translate ES. Round 4.

* Translate ES. New translations.

* Translate ES. Fix bugs.

* Translate ES. Activity: Actividades to Actividades planeadas.

* Translate ES. Hostory: Historia to Historial de aactividades.

* Translate ES. Improvements.

* Fix.

* Traanslate ES.

* Traanslate ES.

* Traanslate ES.

* Fix permissions.
2017-05-08 10:57:45 +03:00
yuri
13fba6d71c Merge branch 'master' of github.com:espocrm/espocrm 2017-05-08 10:56:50 +03:00
yuri
0d423aa349 Merge branch 'hotfix/4.6.1' 2017-05-08 10:56:09 +03:00
yuri
2fca224ba4 fix html 2017-05-08 10:55:47 +03:00
yuri
574f85df46 email template related 2017-05-08 10:42:25 +03:00
yuri
b7176983e2 email template related 2017-05-08 10:42:01 +03:00
Mauricio Panuncio
e8f19ff0dc Translate es (#536)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.

* Fix: 'Lenguaje' to 'Idioma'.

* Fix some erros in the installation screens.

* Fix some erros in the installation screens II.

* Chamge mod

* Translate. Round 1.

* Translate ES. Stream: Actividades to Historia.

* Translate ES. Lead: Potencial to Posible Cliente.

* Translate ES. Log: Registros.

* Translate ES. Round 2.

* Translate ES. Round 3.

* Translate ES. Round 4.

* Translate ES. New translations.

* Translate ES. Fix bugs.

* Translate ES. Activity: Actividades to Actividades planeadas.

* Translate ES. Hostory: Historia to Historial de aactividades.

* Translate ES. Improvements.

* Fix.

* Traanslate ES.

* Traanslate ES.

* Traanslate ES.

* Fix permissions.
2017-05-07 08:13:47 +03:00
yuri
d3cb4607ea orm functions 2017-05-05 15:57:11 +03:00
yuri
8ae0696f07 formula: minute, hour 2017-05-05 13:45:37 +03:00
yuri
299c3c13fc orm: functionList 2017-05-05 13:33:33 +03:00
yuri
a79a8bcef6 orm dayofweek 2017-05-05 12:50:05 +03:00
yuri
2a0dd46b5e formula: date functions 2017-05-05 12:44:27 +03:00
yuri
6c287bc2e2 orm: DATE functions 2017-05-05 11:53:08 +03:00
yuri
7add59ffcb formula: list 2017-05-05 11:03:21 +03:00
yuri
9747c43988 duplicate link new tab 2017-05-04 15:40:39 +03:00
yuri
8b9a0f1437 excel export changes 2017-05-04 14:43:12 +03:00
yuri
1315ca007c fix 2017-05-03 16:37:59 +03:00
yuri
e753d767fc no-currency support 2017-05-03 16:34:25 +03:00
yuri
db893859c2 excel export changes 2017-05-03 16:25:02 +03:00
yuri
16af3d2ad8 currency format 2017-05-03 16:24:47 +03:00
yuri
f334080fe6 metadata currency symbols 2017-05-03 14:20:07 +03:00
yuri
b2acfbed98 email keep attachments on select template option 2017-05-03 12:00:21 +03:00
yuri
2aca6ca28a email keep attachments on select template option 2017-05-03 11:59:12 +03:00
yuri
c96040edec export fixes 2017-05-02 15:30:48 +03:00
yuri
e0ebb44e64 export xslx 2017-05-02 15:14:18 +03:00
yuri
ee1af88f8d fix select manager order file field 2017-05-02 11:27:46 +03:00
yuri
1659e583ea fix select manager order file field 2017-05-02 11:27:27 +03:00
yuri
6f0575d798 Merge branch 'hotfix/4.6.1' of ssh://172.20.0.1/var/git/espo/backend 2017-04-28 17:05:53 +03:00
Taras Machyshyn
ba05c45f47 EntityManager: fixed translated options 2017-04-28 17:02:16 +03:00
yuri
353caf29b3 fix export 2017-04-28 16:40:55 +03:00
yuri
7600d473bb export change 2017-04-28 16:39:26 +03:00
yuri
c9ff48245e export changes 2017-04-28 16:16:44 +03:00
yuri
4ed4a94209 export changes 2017-04-28 15:50:18 +03:00
yuri
c88e01fe75 export populate with list layout 2017-04-28 15:10:40 +03:00
yuri
9e46edce79 fix export 2017-04-28 14:46:39 +03:00
yuri
bae5c67839 exportCollection 2017-04-28 14:44:25 +03:00
yuri
635d5d9c6c tr_TR lang 2017-04-28 13:45:18 +03:00
yuri
65be8c385f formula array includes 2017-04-28 13:36:11 +03:00
yuri
c3d44e2472 orm not subquery prevent too deep 2017-04-28 12:42:08 +03:00
yuri
4a781ed5f4 Merge branch 'hotfix/4.6.1' 2017-04-28 12:34:13 +03:00
yuri
d9995512a1 fix required sign 2017-04-28 12:34:04 +03:00
Taras Machyshyn
6ed2466785 Fixed nginx routing rules 2017-04-28 12:15:01 +03:00
Anthony Andriano
724c74b488 en_US Updates (#525)
* fixed a typo

* updated a few en_US labels to be more natural english
2017-04-28 11:31:19 +03:00
Anthony Andriano
67887c5ba4 update diff to use util instead of sys (#524) 2017-04-28 11:31:05 +03:00
yuri
ea2a0068ed Merge branch 'master' of github.com:espocrm/espocrm 2017-04-28 11:25:25 +03:00
Anthony Andriano
0bfdea5976 en_US Updates (#525)
* fixed a typo

* updated a few en_US labels to be more natural english
2017-04-27 20:04:13 +03:00
Anthony Andriano
305ebc293f update diff to use util instead of sys (#524) 2017-04-27 19:19:58 +03:00
yuri
f17f74672e fix orm 2017-04-27 15:57:39 +03:00
yuri
fcaf184b13 dynamic logic and forumla add field focus 2017-04-27 15:41:51 +03:00
yuri
efe653f1f6 dynamic logic and forumla add field focus 2017-04-27 15:41:24 +03:00
yuri
c1022bf8f3 Merge branch 'hotfix/4.6.1' 2017-04-27 15:01:01 +03:00
yuri
0f4c3988f8 fix class name 2017-04-27 15:00:45 +03:00
yuri
498b7b5679 Merge branch 'hotfix/4.6.1' 2017-04-27 12:36:14 +03:00
yuri
ca445a3cb7 kb ui acl fix 2017-04-27 12:36:02 +03:00
yuri
8a293749e0 fix ORM not 2017-04-27 12:14:22 +03:00
yuri
5c034279e8 Merge branch 'hotfix/4.6.1' 2017-04-27 11:33:31 +03:00
yuri
9460943ad2 escaping fix 2017-04-27 11:33:22 +03:00
yuri
5eaeabe231 ORM: Subqueries IN and NOT 2017-04-26 16:32:24 +03:00
yuri
2202b00600 inlineEditDisabled in clientDefs 2017-04-26 11:35:07 +03:00
Sebastien DOIDO
68ba5a5c4a Improve french translation: Campaign.json + MassEmail.json (#517) 2017-04-24 17:39:35 +03:00
Sebastien DOIDO
e80b490152 Improve french translation: Campaign.json + MassEmail.json (#517) 2017-04-24 16:03:29 +03:00
yuri
380937b644 enum field filters 2017-04-24 15:44:43 +03:00
yuri
ac72305101 Merge branch 'hotfix/4.6.1' 2017-04-24 14:59:27 +03:00
yuri
a41779b0bb fr_FR fixes 2017-04-24 14:58:41 +03:00
yuri
86cdbf24b7 Merge branch 'hotfix/4.6.1' 2017-04-24 12:44:41 +03:00
yuri
5d7bc98088 user detail view: created at field 2017-04-24 12:43:39 +03:00
yuri
1359e8eb2f Merge branch 'hotfix/4.6.1' 2017-04-24 12:32:15 +03:00
yuri
f3a7003444 fr_FR lang 2017-04-24 12:32:05 +03:00
yuri
624f76b1a0 clear local cache improvements 2017-04-24 12:24:30 +03:00
yuri
484ffa071c label fix 2017-04-24 11:40:13 +03:00
Sebastien DOIDO
850fb3cb15 Fix typo to have correct translation (#516) 2017-04-24 11:32:04 +03:00
Sebastien DOIDO
40075ed2e3 Fix typo to have correct translation (#516) 2017-04-24 11:31:26 +03:00
yuri
f68bb4b491 tr_TR lang fix 2017-04-21 11:19:00 +03:00
yuri
473e1109b4 fix import 2017-04-20 15:23:20 +03:00
yuri
c4b8b90ff5 fix css 2017-04-20 12:21:30 +03:00
yuri
70b4017353 tr_TR lang 2017-04-20 11:32:58 +03:00
yuri
e6f7bf4d6c Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-04-19 16:28:22 +03:00
Taras Machyshyn
69385519d7 Metadata: delete related additional fields in entitiDefs 2017-04-19 16:24:44 +03:00
yuri
235ee7c383 Merge branch 'master' of github.com:espocrm/espocrm 2017-04-19 13:49:21 +03:00
yunga91
a6dba9f09a fix view name resolving for custom field types in merge action (#509) 2017-04-19 13:49:02 +03:00
yuri
f1352430b9 close modal bigger icon 2017-04-18 17:45:08 +03:00
yuri
b9b63a8a7c fix last viewed 2017-04-18 15:50:56 +03:00
yuri
5358bf4a43 fix last viewerd 2017-04-18 15:00:19 +03:00
yuri
1c7a7d8147 template placeholders labels 2017-04-18 14:58:23 +03:00
yuri
ca055e8ca9 css fix 2017-04-18 14:22:33 +03:00
yuri
081c058229 languge field order fix 2017-04-18 13:20:39 +03:00
yuri
a5c941b1b2 zh_CN lang 2017-04-18 13:14:26 +03:00
yuri
d43e63b89e fix checbox css 2 2017-04-18 12:39:47 +03:00
yuri
102886e23d fix firefox checkbox style 2017-04-18 12:06:50 +03:00
yuri
3b8b9e392e fix auth 2017-04-18 12:06:38 +03:00
yuri
226152135d fix portal language 2017-04-18 11:11:18 +03:00
yuri
7f6a5b626e fix last viewed 2017-04-14 16:04:54 +03:00
yuri
c5fa26ffcb portal kb acl published check 2017-04-14 15:12:29 +03:00
yuri
7b2bbcfd05 version 4.6.0 2017-04-13 15:40:10 +03:00
yuri
e5b336d4f3 Merge branch 'master' of github.com:espocrm/espocrm 2017-04-13 15:03:18 +03:00
yuri
2d786d9660 noneOf filter 2017-04-13 15:01:23 +03:00
yuri
a587efddde link multiple filters improvements 2017-04-13 12:56:32 +03:00
yuri
81dd2bc800 link filters changes 2017-04-12 17:20:06 +03:00
tanyalei
b1273176a9 Hooks for afterOptOut, afterCancelOptOut for TargetList (#502)
* Process hooks for optOut, cancelOptOut

* process hook afterOptOut

* process hook afterCancelOptOut

* updateRelation
2017-04-12 16:26:21 +03:00
yuri
46beb8b6b7 uk_UA lang 2017-04-12 15:22:32 +03:00
yuri
264efa2e8d formula number\\round 2017-04-12 14:18:47 +03:00
yuri
f538f05ec3 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-04-12 12:16:31 +03:00
yuri
069a50c717 fix hooks 2017-04-12 12:16:19 +03:00
yuri
08f1329868 kb article aclPortal 2017-04-12 12:09:06 +03:00
yuri
e48043c2e8 record list dashlet changes 2017-04-11 16:25:00 +03:00
yuri
024aeb6d01 fix dashlet expoanded layout field 2017-04-11 15:51:48 +03:00
yuri
c79ef63c4d internal scheduled jobs 2017-04-11 15:41:03 +03:00
yuri
54798b94c9 acl: check entity create 2017-04-11 15:40:40 +03:00
yuri
f70f22c503 css changes 2017-04-11 15:28:23 +03:00
yuri
33adc65dac records dashlet layout 2017-04-11 14:42:01 +03:00
yuri
a6541f6f21 fix chart 2 2017-04-11 14:05:49 +03:00
yuri
0b44fee0e5 field manager: forbidden field list 2017-04-11 12:56:16 +03:00
yuri
d03aec270e Merge branch 'master' of github.com:espocrm/espocrm 2017-04-11 12:33:45 +03:00
yuri
08bca7daf7 chart fix 2017-04-11 12:33:30 +03:00
yuri
d5cb1f5c1b useCacheInDeveloperMode 2017-04-11 12:22:31 +03:00
Yuri Kuznetsov
68b16d3de9 Update CONTRIBUTING.md 2017-04-10 16:35:07 +03:00
Taras Machyshyn
daffa60cd4 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-04-10 15:56:24 +03:00
Taras Machyshyn
25cb6cdfb3 Installation: correct configuration for nginx server 2017-04-10 15:56:15 +03:00
yuri
7afecc4cdd afterMassRelate, afterUnlinkAll hooks 2017-04-10 12:49:24 +03:00
yuri
0e9373cf5e fix record/list 2017-04-10 12:42:37 +03:00
yuri
7992b78d4e fix naming 2017-04-10 12:19:12 +03:00
yuri
fed5e6ded7 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-04-10 12:15:24 +03:00
Taras Machyshyn
82ddd2e562 HookManager: add possibility to define custom hook methods 2017-04-10 12:15:10 +03:00
yuri
1470cea4ed kb article available only in specified portals 2017-04-10 12:01:49 +03:00
yuri
43e8929368 fix kb moveToTop/Bottom 2017-04-10 11:32:02 +03:00
yuri
6db3600a4b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-04-10 11:18:09 +03:00
Taras Machyshyn
9b2324755b Fixed wrong php path for Scheduled job in Windows 2017-04-10 10:55:42 +03:00
Taras Machyshyn
dc77b3c73e Added support 'unsetIgnore' 2017-04-10 10:47:10 +03:00
yuri
7627afb7d2 markdown changes 2017-04-07 16:01:42 +03:00
yuri
e68ad81d57 Merge branch 'hotfix/4.5.2' 2017-04-07 14:43:48 +03:00
yuri
73b84d720a fix auth 2017-04-07 14:43:23 +03:00
yuri
0743582ef6 records dashlet fix 2017-04-06 15:54:17 +03:00
yuri
f73d26fcf3 records dashlet sorting 2017-04-06 15:49:16 +03:00
yuri
b1dd9f30fb records dashlet 2017-04-06 15:25:51 +03:00
yuri
27071695cb email: keep list after remove 2017-04-06 13:19:30 +03:00
yuri
1f551b6052 mass email: additional headers 2017-04-06 12:44:56 +03:00
yuri
947ebbb6f5 fix dashboard css 2017-04-05 15:56:18 +03:00
yuri
3a706cad86 cleanup auth tokens 2017-04-05 14:08:17 +03:00
yuri
8cb1709966 document acl portal fix 2017-04-05 13:06:26 +03:00
yuri
7533fc337e preferences changes 2017-04-04 16:56:02 +03:00
yuri
601f908992 action history dev 2017-04-04 13:04:56 +03:00
yuri
ff72489f39 add contact to scope templates acl portal level list 2017-04-04 12:31:57 +03:00
yuri
db442e0769 action history onlt for admin 2017-04-03 14:25:01 +03:00
yuri
189bbd784d last viwed modal click 2017-04-03 14:10:32 +03:00
yuri
2940de57b6 Merge branch 'stable' 2017-04-03 13:55:22 +03:00
yuri
cceb9eccc3 fix license 2017-04-03 12:04:21 +03:00
yuri
410ba24bef Merge branch 'hotfix/4.5.1' 2017-04-03 12:03:15 +03:00
yuri
292e90e6b7 fix formula diff 2017-04-03 12:03:07 +03:00
yuri
3f9b229a9e Merge branch 'hotfix/4.5.1' 2017-04-03 11:30:13 +03:00
yuri
05c2270f36 fix relationship manager not storing has children audited 2017-04-03 11:28:24 +03:00
yuri
f22fdd6724 Merge branch 'hotfix/4.5.1' 2017-04-03 11:14:06 +03:00
yuri
8059669a21 link fields select modal issue 2017-04-03 11:14:00 +03:00
yuri
28a8ad927a Merge branch 'hotfix/4.5.1' 2017-03-31 14:40:27 +03:00
yuri
6f7d27a5fd fix user removal 2017-03-31 14:40:16 +03:00
yuri
d89a173a41 fix warning 2017-03-31 14:01:45 +03:00
yuri
ba5fef320e fix user changePassword method 2017-03-31 13:53:48 +03:00
yuri
a7982acc8f fix login page taborder 2017-03-31 13:30:41 +03:00
yuri
17742fccf1 fix array 2017-03-31 13:26:35 +03:00
yuri
7a2b563cd4 fix array field with empty options 2017-03-31 13:26:20 +03:00
yuri
549984d1ed fix xss 2017-03-31 13:13:27 +03:00
yuri
d9256074fe about tpl change 2017-03-24 16:38:27 +02:00
yuri
97be52a0bc menu change 2017-03-24 16:34:50 +02:00
yuri
26a4d24492 about tpl change 2017-03-24 16:29:00 +02:00
yuri
03dad5a178 action history 2017-03-24 16:19:35 +02:00
yuri
4c0453d0e3 Merge branch 'hotfix/4.5.1' 2017-03-23 12:31:30 +02:00
yuri
1299853961 campaign: subscribe again removes optet out log record 2017-03-23 12:28:25 +02:00
yuri
e6d792ef5a Merge branch 'hotfix/4.5.1' 2017-03-23 11:49:50 +02:00
yuri
e8e8d0d7b2 target list: update count dynamicaly 2017-03-23 11:49:43 +02:00
yuri
cec0c7b374 dynamic logic: multi-enum and array support 2017-03-22 13:22:58 +02:00
yuri
fd73a0b8a5 lang 2017-03-22 11:52:06 +02:00
yuri
120ff8543e language list sorted 2017-03-22 11:12:47 +02:00
yuri
7b8fa73474 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-03-22 11:04:35 +02:00
yuri
85164758ce zh_CN lang 2017-03-22 11:04:15 +02:00
yuri
8a38568617 zh_CN lang 2017-03-22 11:03:48 +02:00
Taras Machyshyn
0c9e795dfd Options for tables 2017-03-21 15:20:18 +02:00
yuri
ee1a50aa16 Merge branch 'hotfix/4.5.1' 2017-03-16 12:47:40 +02:00
yuri
a13b6af04a fix modal 2017-03-16 12:47:33 +02:00
yuri
f847535aea small amendments 2017-03-16 12:43:34 +02:00
yuri
b1b03c6dc1 naming fix 2017-03-16 12:26:46 +02:00
yuri
eeb10c6bce fix router navigate back 2017-03-16 12:23:55 +02:00
yuri
05241cefa5 side modal in espo theme 2017-03-15 17:06:28 +02:00
yuri
1861e2cd87 cleanup 2017-03-15 15:20:06 +02:00
yuri
8a17cbe23c mark mandatory fields on edit 2017-03-15 15:18:54 +02:00
yuri
484458c2ba inbound email ui improvement 2 2017-03-15 14:40:56 +02:00
yuri
c62cc15159 inbound email ui fix 2017-03-15 13:29:18 +02:00
yuri
17f8b09782 inbound email ui fix 2017-03-15 13:28:55 +02:00
yuri
9fd05672ae fix 2017-03-13 17:41:36 +02:00
yuri
69d96450da addition to about.tpl 2017-03-13 16:52:51 +02:00
tanyalei
7393040c12 Update datetime-optional.js (#457)
Does not work validating before and after type for field type datetimeOptional, if time wasn't set
2017-03-13 16:45:19 +02:00
yuri
9097e644d4 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-03-13 16:44:12 +02:00
yuri
837b1691d1 showing email address name part 2017-03-13 16:44:00 +02:00
tanyalei
2cdec34062 Update datetime-optional.js (#457)
Does not work validating before and after type for field type datetimeOptional, if time wasn't set
2017-03-13 16:43:20 +02:00
yuri
a33e10e92d mailmimeparser and email parsing imrovements 2017-03-13 16:22:42 +02:00
yuri
86631117a2 fix inline attachment issue 2017-03-13 12:50:50 +02:00
yuri
05dfcf7511 fix image warning 2017-03-13 12:39:38 +02:00
yuri
3e1582bd6b version 2017-03-10 16:49:07 +02:00
yuri
743f348fcf version 2017-03-10 16:19:53 +02:00
yuri
2b2ac2a76d Merge branch 'hotfix/4.5.1' 2017-03-10 15:49:00 +02:00
yuri
a7d2d41b0f da_DK lang 2017-03-10 15:48:26 +02:00
yuri
6ef0081ace nb_NO fixes 2017-03-10 15:44:44 +02:00
yuri
4f3304d55f fix query 2017-03-10 14:24:47 +02:00
yuri
47b6093752 fix query 2017-03-10 14:22:36 +02:00
yuri
ea8d930e56 email: addToPerson improvement 2017-03-10 13:13:05 +02:00
yuri
79f3d86384 contact parent to event 2017-03-10 13:03:36 +02:00
yuri
fff201b7cd parent improvements 2017-03-10 13:02:30 +02:00
yuri
1ad454ce0b fix email address 2017-03-10 12:33:22 +02:00
yuri
e090fe699b new actions for unknown email addresses 2017-03-10 12:32:14 +02:00
yuri
f677b5614b tasks stream 2017-03-09 16:02:57 +02:00
yuri
f7b240e6a9 fix send email not read 2017-03-09 13:04:24 +02:00
yuri
ea3a60aaf7 email address tpl fix 2017-03-09 12:53:38 +02:00
yuri
6a7cfa58ae email import: inline attachment issue 2017-03-09 12:37:53 +02:00
yuri
482f0cc314 dashlet chart color 2017-03-07 11:06:59 +02:00
yuri
28ada61f3d internal post title 2017-03-07 10:58:04 +02:00
yuri
7057210e90 next number table locking 2017-03-06 17:32:54 +02:00
yuri
8c5bc59c45 fix lang 2017-03-06 15:35:53 +02:00
yuri
b7370ff238 activities panel: check read access 2017-03-06 12:49:03 +02:00
yuri
fb36f769d9 SelectManager: accessNo 2017-03-06 12:37:34 +02:00
yuri
f07b728851 nb_NO lang 2017-03-06 11:01:28 +02:00
yuri
7d4ada7ec2 fix portal user creation 2017-03-02 16:28:05 +02:00
yuri
1c31a6689f fix event duration order 2017-03-02 12:41:21 +02:00
yuri
a839144796 hide reminders from list view layout 2017-03-02 12:21:16 +02:00
yuri
87cbe603d2 fix lang 2017-03-02 12:00:53 +02:00
yuri
ec96916013 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-03-02 11:44:52 +02:00
yuri
2c811a4faa integration form fix 2017-03-02 11:43:11 +02:00
yuri
6e089c1e25 change stream post tpl 2017-03-02 11:03:30 +02:00
yuri
2e203341b7 dynamic logic: foreign fields 2017-03-02 10:30:21 +02:00
yuri
5bea143bf0 labels 2017-03-02 10:22:49 +02:00
yuri
732494e251 import: added time format with seconds 2017-03-01 16:57:18 +02:00
Taras Machyshyn
39e1303cbe Schema Converter improvements 2017-03-01 16:17:52 +02:00
yuri
62c3549004 label fix 2017-03-01 15:20:40 +02:00
yuri
9bcc942f0f change formula metadata 2017-03-01 13:04:28 +02:00
yuri
e34ee34d7b fix formula function insertText 2017-03-01 12:25:42 +02:00
yuri
dedef4b36f array: none if empty 2017-03-01 12:18:54 +02:00
yuri
e6f6e0fcf1 email performance improvement 2017-03-01 12:07:52 +02:00
yuri
11a9e2ab9c mark notification read if email is read 2017-03-01 12:05:50 +02:00
yuri
9077542f61 fix email inbound 2017-03-01 12:03:31 +02:00
yuri
cb6faaa769 fix email back 2017-02-28 15:55:28 +02:00
yuri
a209d5aaaf link multiple if not set then show dots 2017-02-27 15:17:30 +02:00
yuri
767cdc75ee fix css 2017-02-27 14:03:44 +02:00
yuri
3eef0e088a fix modal backdrop 2017-02-27 11:59:36 +02:00
yuri
1e5ef6a070 fix text field 2017-02-27 11:56:43 +02:00
yuri
a2edc3cf4e theme changes 2017-02-24 12:38:42 +02:00
yuri
9a5dc7b4d1 reduntancy fix 2017-02-24 12:17:19 +02:00
yuri
7b0fd40d3e fix modal 2017-02-24 12:11:25 +02:00
yuri
169df31cab css fix 2017-02-24 11:20:56 +02:00
yuri
44b0ba2f33 fix array field int issue 2017-02-23 16:15:34 +02:00
yuri
8d70956607 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-02-23 15:59:12 +02:00
ayman-alkom
5ad20c8666 fix variable name (#426) 2017-02-23 15:58:48 +02:00
yuri
790d4a88b5 de_DE additions 2017-02-23 14:24:13 +02:00
yuri
b72ac42068 fr_FR langauge 2017-02-23 13:30:38 +02:00
yuri
0a379be049 version 4.5.0 2017-02-23 12:33:22 +02:00
yuri
e0e08a1c17 Merge branch 'hotfix/4.4.2' 2017-02-23 11:28:05 +02:00
yuri
0d825120bb notifications to portal users fix 2017-02-23 11:27:42 +02:00
yuri
7b81b66b76 formula: number abs 2017-02-22 15:38:50 +02:00
yuri
d39f4e2533 forumle: datetime diff 2017-02-22 15:31:36 +02:00
yuri
598a2f9f05 fix 2017-02-22 13:09:07 +02:00
yuri
ce9089b838 date time format 2017-02-22 13:06:10 +02:00
yuri
45b06fc154 stream: auto-follow after posting 2017-02-22 11:38:39 +02:00
yuri
f44177a994 Merge branch 'hotfix/4.4.2' 2017-02-21 17:11:41 +02:00
yuri
d91b13a7c1 Merge branch 'hotfix/4.4.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.4.2 2017-02-21 17:11:08 +02:00
Taras Machyshyn
bd1894322c Slim: fixed a notice 2017-02-21 17:10:16 +02:00
yuri
90874535ea Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-02-21 17:06:23 +02:00
yuri
8c919dbca4 Merge branch 'hotfix/4.4.2' 2017-02-21 17:06:14 +02:00
yuri
05223c5272 Merge branch 'hotfix/4.4.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.4.2 2017-02-21 17:05:52 +02:00
yuri
afee6d564b select manager textFilterUseContainsAttributeList 2017-02-21 17:04:47 +02:00
Taras Machyshyn
b4e879a369 FieldManager: improved storing logic 2017-02-21 16:26:23 +02:00
yuri
de4d96e260 event template set held action 2017-02-21 15:40:05 +02:00
yuri
89056f61c2 add consulting industry 2017-02-21 12:55:18 +02:00
yuri
afac29151c account filter website 2017-02-21 12:44:35 +02:00
Taras Machyshyn
e54430fb1b Merge branch 'hotfix/4.4.2' 2017-02-20 16:19:23 +02:00
tanyalei
7d8736b98c Creating Target List from Campaign Log not working in php7
creating a target list from the log bug fix(for mysql 5.7+)
2017-02-20 15:00:55 +02:00
tanyalei
216e9419d4 Creating Target List from Campaign Log not working in php7
creating a target list from the log bug fix(for mysql 5.7+)
2017-02-20 14:59:02 +02:00
yuri
359fdd4dab Merge branch 'hotfix/4.4.2' 2017-02-20 11:44:32 +02:00
yuri
2044a87630 fix last quarter filter 2017-02-20 11:44:24 +02:00
yuri
171feed28e global search mouseup fix 2017-02-20 11:10:58 +02:00
yuri
92dbbbd390 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-02-17 16:24:04 +02:00
yuri
3166cb862e inbound email teams field 2017-02-17 12:41:04 +02:00
Taras Machyshyn
b606cb2e04 Fixed warnings in Slim 2017-02-17 11:10:29 +02:00
tanyalei
724ef00d52 clientDefs view of entities for convert (#416) 2017-02-16 21:41:15 +02:00
yuri
0b7857b495 self assign 2017-02-16 16:22:13 +02:00
yuri
a150eb7f0e fix email notification 2017-02-16 13:35:21 +02:00
yuri
4cb21a4fdb Merge branch 'hotfix/4.4.2' 2017-02-16 13:23:43 +02:00
yuri
46e13b0269 Merge branch 'hotfix/4.4.2' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.4.2 2017-02-16 13:23:32 +02:00
yuri
d4d5138991 fix sorting alphabeetically 2017-02-16 13:23:17 +02:00
yuri
9fd00d9f0a inbound email: reply to not required 2017-02-16 13:16:23 +02:00
yuri
9361938285 Injectable factory && Case: notifications replyToAddress 2017-02-16 13:00:11 +02:00
yuri
cb054b2f2b fix email email address 2017-02-16 12:41:58 +02:00
yuri
f8ff6e6cf5 Merge branch 'hotfix/4.4.2' 2017-02-16 10:56:59 +02:00
yuri
918c1b2114 fix formula resize issue 2017-02-16 10:56:51 +02:00
Taras Machyshyn
2026bcb021 Fixed field manager notices 2017-02-16 10:46:47 +02:00
Taras Machyshyn
ce5393155a Fixed merge method 2017-02-16 10:06:16 +02:00
Taras Machyshyn
6f4b752b10 Fixed merge method 2017-02-15 12:45:31 +02:00
yuri
2a5a453517 Merge branch 'hotfix/4.4.2' 2017-02-14 17:07:05 +02:00
yuri
191bba7afc fix notice 2017-02-14 17:06:54 +02:00
yuri
f50d2ef9e3 fix notice 2017-02-14 16:59:38 +02:00
yuri
1ad744d151 fix source list 2017-02-14 16:49:40 +02:00
yuri
ba0f86c8d4 attachment source list config check 2017-02-14 13:42:43 +02:00
yuri
372c84bfa3 file: sourceList 2017-02-14 12:33:28 +02:00
yuri
6ec18950e4 fix email user sent not added to users 2017-02-14 12:07:37 +02:00
yuri
6c3168a356 Merge branch 'hotfix/4.4.2' 2017-02-14 11:18:18 +02:00
yuri
109ee17a47 formula: parentName 2017-02-14 11:17:35 +02:00
yuri
21702b3c34 Merge branch 'hotfix/4.4.2' 2017-02-10 15:55:39 +02:00
yuri
159a2ee99d fix target list opted out count 2017-02-10 15:55:28 +02:00
yuri
d6151d33b4 ditch document source 2017-02-10 15:36:01 +02:00
yuri
2217e03fa8 file storage: download url 2017-02-10 15:28:52 +02:00
yuri
794c7eb523 fix document download link 2017-02-10 15:27:38 +02:00
yuri
98f61c0c4b fix css 2017-02-10 14:54:59 +02:00
yuri
5f5a450d95 css fix 2017-02-10 13:21:25 +02:00
yuri
0ba9679a75 confirm additions 2017-02-10 13:10:23 +02:00
yuri
85e60d4e32 attachment storage additions 2017-02-10 12:59:49 +02:00
yuri
a074b8a214 htmlizer fix 2017-02-09 16:01:04 +02:00
yuri
ac593c1d3d fix email queue 2 2017-02-09 15:39:34 +02:00
yuri
170e62bc8b fix email queue 2 2017-02-09 15:39:17 +02:00
yuri
5d19ae42dc fix email queue 2017-02-09 15:24:34 +02:00
yuri
9f3fdd01bf fix email queue 2017-02-09 15:24:06 +02:00
yuri
65e94e237d metadata getAllForFrontend 2017-02-09 15:05:11 +02:00
yuri
7935bc59fe fix sysiwyg 2017-02-09 14:31:40 +02:00
yuri
f49677b5c0 file storage manager 2017-02-09 14:29:28 +02:00
yuri
b69f829a3e import: timezone 2017-02-08 14:42:20 +02:00
yuri
13dfc90a1b import tpl fix 2017-02-08 13:46:35 +02:00
yuri
6d49d39480 layout manager confirm 2017-02-08 13:35:32 +02:00
yuri
f473ea9cea dashlet remove confirm 2017-02-08 13:34:06 +02:00
yuri
db8536ac55 phone strikestrough 2017-02-08 12:37:13 +02:00
yuri
e402745a86 change detailSmall layouts 2017-02-08 12:20:14 +02:00
yuri
abcaaddc2f fix wysiwyg destroying 2017-02-08 12:00:53 +02:00
yuri
3ac375c95c confirm change 2017-02-08 11:32:25 +02:00
yuri
56f65e0fc0 ui dialog 2017-02-07 16:30:55 +02:00
yuri
471df0034e css changes 2017-02-07 12:50:40 +02:00
yuri
a1b3be9ef3 Merge branch 'hotfix/4.4.2' 2017-02-07 11:32:36 +02:00
yuri
c4f70482ac fix email folder navigate back 2017-02-07 11:31:53 +02:00
yuri
31a8fa387d fix autocomplete 2017-02-07 10:48:45 +02:00
yuri
a0d6cb9be4 fix wysywyg modal 2017-02-07 10:34:53 +02:00
yuri
4586d26bd6 css fix 2017-02-06 17:41:52 +02:00
yuri
1609adc766 modal new style 2017-02-06 17:23:05 +02:00
yuri
aa0a9cf708 Merge branch 'hotfix/4.4.2' 2017-02-06 11:44:04 +02:00
yuri
d7dfe5fea4 email reply head text change 2017-02-06 11:43:47 +02:00
yuri
340ed5acec formula fix 2017-02-06 10:43:51 +02:00
yuri
7ec3e38e6d version 2017-02-03 15:53:53 +02:00
yuri
879bf13809 Merge branch 'stable' 2017-02-03 15:05:02 +02:00
yuri
4edf4ef9ea button fix 2017-02-02 14:13:27 +02:00
yuri
b44bbaffa2 Merge branch 'hotfix/4.4.1' 2017-02-02 12:44:12 +02:00
yuri
4b24491fe4 fix mass email 2017-02-02 12:44:05 +02:00
yuri
96458ab26a admin iframe height 2017-02-02 12:38:40 +02:00
yuri
4c562cb603 Merge branch 'hotfix/4.4.1' 2017-02-02 11:59:19 +02:00
yuri
494227324a formula field fix 2017-02-02 11:59:08 +02:00
yuri
8eb2be46ca Merge branch 'hotfix/4.4.1' 2017-02-02 11:25:53 +02:00
yuri
6d4b3f24cb fix formula 2017-02-02 11:18:25 +02:00
yuri
a26436d3de fix formula field 2017-02-01 15:55:38 +02:00
yuri
cd7571387c fix formula field 2017-02-01 15:55:15 +02:00
yuri
741f7f65c2 formula fix 2017-02-01 12:12:10 +02:00
yuri
1b3496edd9 formula fix 2017-02-01 12:11:49 +02:00
yuri
356da4e70d Merge branch 'hotfix/4.4.1' 2017-02-01 12:06:06 +02:00
yuri
cd6da3ba87 fix formula 2017-02-01 12:05:57 +02:00
yuri
ba0a79cc9b year 2017 2017-02-01 11:43:56 +02:00
yuri
f3deffb3f6 year 2017 2017-02-01 11:43:36 +02:00
yuri
c76823f9ee fix timeline 2017-02-01 11:14:43 +02:00
yuri
8398cc4364 fix timeline 2017-02-01 11:14:18 +02:00
yuri
6ddda814c0 Merge branch 'hotfix/4.4.1' 2017-01-31 15:30:34 +02:00
yuri
5b777d3f1e fix default schedulings 2017-01-31 15:30:17 +02:00
yuri
4f19109ba1 duration sortable 2017-01-31 14:29:40 +02:00
yuri
76ffa2def9 duration sortable 2017-01-31 13:24:05 +02:00
yuri
2fdc0a3a93 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-01-31 12:23:12 +02:00
yuri
7f3b874061 fix array search 2017-01-31 12:22:36 +02:00
yuri
d9315763a6 v 2017-01-31 11:53:21 +02:00
yuri
c732f30e40 resize admin iframe 2017-01-31 11:46:32 +02:00
yuri
793cb4b878 installer theme 2017-01-31 11:38:48 +02:00
yuri
85c476c548 hazyblue horizontal theme 2017-01-31 11:34:32 +02:00
Alasdair Campbell
0dcc8d08d1 Removed executable permission set on stub file data/.data (#386) 2017-01-30 13:15:32 +02:00
yuri
da7635f68f diff 2017-01-27 15:50:41 +02:00
yuri
2fc66f14f3 field manager: fix default date 2017-01-27 15:10:58 +02:00
yuri
6623d9fa8b change install footer 2017-01-27 12:09:26 +02:00
yuri
774984a5a4 fix field manager tpl 2017-01-26 16:54:19 +02:00
yuri
30dec6bc02 fix css 2017-01-26 15:34:10 +02:00
yuri
3e56a1117d mass email filters 2017-01-26 15:08:12 +02:00
yuri
c28d680bf4 fix labels 2017-01-26 12:46:38 +02:00
yuri
89aa2950fa fix person name 2017-01-26 12:45:03 +02:00
yuri
d1c13bf03f css 2017-01-26 12:44:55 +02:00
yuri
5dc79086b7 fix attachment 2017-01-26 10:54:04 +02:00
yuri
406d241bc8 fix css 2017-01-25 14:57:21 +02:00
yuri
021760d75f fix css 2017-01-25 14:53:17 +02:00
yuri
77bae5a5e2 error message 2017-01-25 13:56:04 +02:00
yuri
d2cacdc8d9 text field fix 2017-01-25 11:12:59 +02:00
yuri
30097c32b5 fix list view 2017-01-24 17:35:56 +02:00
yuri
c114e08541 fix css 2017-01-24 16:00:26 +02:00
yuri
bf660e81ae css fix 2017-01-24 11:18:54 +02:00
yuri
cf9c4ec0b1 word wrapping in list view 2017-01-23 17:15:50 +02:00
yuri
7649f4d680 user acl fixes 2017-01-23 13:27:59 +02:00
yuri
9d238d270e css fixes 2017-01-23 12:47:00 +02:00
yuri
b89a128292 default tab list and theme change 2017-01-23 12:35:53 +02:00
yuri
ac2e244b11 fix notification update 2017-01-20 17:19:51 +02:00
yuri
76551a59fe modal fixes 2017-01-20 15:46:07 +02:00
yuri
61c1732b9c export fix 2017-01-20 14:34:47 +02:00
yuri
c54c4e9a17 cleanup 2017-01-19 16:29:40 +02:00
yuri
9bc7cefbc5 test fix 2017-01-19 16:22:27 +02:00
yuri
9a918e5d97 after x days filter 2017-01-19 15:21:14 +02:00
yuri
5f578298b4 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-01-19 12:26:36 +02:00
Alasdair Campbell
cf63b1c779 Add .editorconfig file (#373) 2017-01-19 12:26:19 +02:00
yuri
85992dde1a installer fix 2017-01-19 11:58:55 +02:00
yuri
17dac5bde8 diff change 2017-01-18 16:18:21 +02:00
yuri
3887acfbf8 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-01-18 16:07:45 +02:00
Taras Machyshyn
ad5a0b2060 Added support PHP 7.1 2017-01-18 16:06:06 +02:00
yuri
bb2ddb3d1d version 2017-01-18 16:05:33 +02:00
yuri
6a6e0adb57 css change 2017-01-18 15:21:59 +02:00
yuri
4fa8d9b919 ui dialog change 2017-01-18 15:21:49 +02:00
yuri
908d2f69d3 css change 2017-01-18 11:13:26 +02:00
yuri
4c3c0db2c5 theme changes 2017-01-17 15:28:15 +02:00
yuri
fb4db584c2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2017-01-17 15:11:57 +02:00
yuri
fcf645e73f changes theme 2017-01-17 15:10:09 +02:00
Taras Machyshyn
fac5704c9e Added 2017 year 2017-01-17 15:07:08 +02:00
Taras Machyshyn
a3548bc194 Improved crontab command for scheduled jobs 2017-01-17 13:59:03 +02:00
yuri
055a7daad5 theme change 2017-01-17 13:02:24 +02:00
Taras Machyshyn
e4a8bc38df Merge branch 'hotfix/4.3.2' 2017-01-17 12:59:58 +02:00
yuri
86bd451b05 fix theme 2017-01-17 12:44:53 +02:00
yuri
1101510817 cleanup 2017-01-17 12:27:33 +02:00
yuri
01d8dddeac portal tab list 2017-01-17 12:27:21 +02:00
yuri
ee2a8d2a39 theme changes 2017-01-17 12:21:15 +02:00
yuri
d8894d6645 fix nav 2017-01-16 18:03:34 +02:00
yuri
07daf6f5a0 rename theme 2017-01-16 16:44:40 +02:00
yuri
496ede69ac navbar: more delimiter 2017-01-16 16:34:45 +02:00
yuri
6068cbf3cc fix settings page title 2017-01-16 15:57:10 +02:00
yuri
7264fce1dd Merge branch 'hotfix/4.3.2' 2017-01-13 17:45:05 +02:00
yuri
a8a1acdbd0 fix dashlet translation 2017-01-13 17:44:54 +02:00
yuri
059c43f840 slim version certain 2017-01-13 16:56:10 +02:00
yuri
a5cb393447 ditch mcrypt 2017-01-13 16:12:17 +02:00
yuri
0b98c7beb5 fix theme 2017-01-12 16:00:13 +02:00
yuri
be735e572e sortable side panels 2017-01-12 15:28:29 +02:00
yuri
807dcb7901 theme changes 2017-01-12 12:19:12 +02:00
yuri
19241aca7a smtp admin changes 2017-01-12 12:10:59 +02:00
yuri
05e1145084 fix z index 2017-01-12 12:06:44 +02:00
yuri
22972b32b4 internal smtp 2017-01-12 11:58:39 +02:00
yuri
0d89218031 theme changes 2017-01-11 17:57:27 +02:00
yuri
baa0dd91d0 theme changes 2017-01-11 16:48:42 +02:00
yuri
09c11b2d7a calendar shadow 2017-01-11 16:37:00 +02:00
yuri
bb26bc1eab theme fixes 2017-01-11 16:31:41 +02:00
yuri
26a60fb68b theme lang change 2017-01-11 15:15:05 +02:00
yuri
3cebf73464 rtl and new cool theme 2017-01-11 15:11:12 +02:00
yuri
9e8550b572 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-01-10 16:05:29 +02:00
yuri
cb8b6654e7 Merge branch 'hotfix/4.3.2' 2017-01-10 16:05:03 +02:00
yuri
8969866aec fix nl in email template text field 2017-01-10 16:04:54 +02:00
Taras Machyshyn
91ba7dfaf0 Fixed warnig for preg_match for some class names 2017-01-10 15:20:16 +02:00
Mauricio Panuncio
deb4dad643 Translate es (#359)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.

* Fix: 'Lenguaje' to 'Idioma'.

* Fix some erros in the installation screens.

* Fix some erros in the installation screens II.

* Chamge mod

* Translate. Round 1.

* Translate ES. Stream: Actividades to Historia.

* Translate ES. Lead: Potencial to Posible Cliente.

* Translate ES. Log: Registros.

* Translate ES. Round 2.

* Translate ES. Round 3.

* Translate ES. Round 4.

* Translate ES. New translations.

* Translate ES. Fix bugs.

* Translate ES. Activity: Actividades to Actividades planeadas.

* Translate ES. Hostory: Historia to Historial de aactividades.

* Translate ES. Improvements.
2017-01-09 20:57:42 +02:00
yuri
720635d7a3 older than x days filter 2017-01-09 13:18:35 +02:00
yuri
e5e082c48b permissions 2017-01-09 12:41:52 +02:00
yuri
d8b2a13c20 mass follow/unfollow actions 2017-01-09 12:36:34 +02:00
yuri
535607e089 Merge branch 'hotfix/4.3.2' 2017-01-09 11:42:18 +02:00
yuri
20f15e749e automatically follow case by portal user 2017-01-09 11:42:09 +02:00
yuri
d14faee83d es_ES lang 2017-01-09 11:12:15 +02:00
yuri
a53ccb66c5 change permissions 2017-01-09 11:02:57 +02:00
yuri
90bc01e467 Merge branch 'master' of https://github.com/espocrm/espocrm 2017-01-09 10:50:44 +02:00
Yuri Kuznetsov
399ac5348a Revert "es_ES - Update translations to today" (#357) 2017-01-08 00:18:39 +02:00
Mauricio Panuncio
61c8a125c3 es_ES - Update translations to today (#356)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.

* Fix: 'Lenguaje' to 'Idioma'.

* Fix some erros in the installation screens.

* Fix some erros in the installation screens II.

* Chamge mod

* Translate. Round 1.

* Translate ES. Stream: Actividades to Historia.

* Translate ES. Lead: Potencial to Posible Cliente.

* Translate ES. Log: Registros.

* Translate ES. Round 2.

* Translate ES. Round 3.

* Translate ES. Round 4.
2017-01-07 18:13:15 +02:00
yuri
84f261752f fix calendar edit 2017-01-05 17:32:39 +02:00
ayman-alkom
ec37ea62a2 add number fields to text filter list (#354) 2017-01-05 11:25:08 +02:00
ayman-alkom
6736f15f61 add number fields to text filter list (#354) 2017-01-05 11:23:13 +02:00
Alasdair Campbell
bc64e7ffe4 Compose from email address not sorted by primary (#351) 2017-01-04 12:54:25 +02:00
Alasdair Campbell
1e51006786 Compose from email address not sorted by primary (#351) 2017-01-04 12:53:10 +02:00
yuri
7357054517 Merge branch 'hotfix/4.3.2' 2017-01-04 12:49:02 +02:00
yuri
b25ff943e4 fix pdf footer 2017-01-04 12:48:53 +02:00
yuri
4446bc520b about 2017-01-03 12:58:18 +02:00
yuri
924d55de6e Merge branch 'hotfix/4.3.2' 2017-01-03 12:29:07 +02:00
yuri
eab9705e08 fix calendar 2017-01-03 12:28:56 +02:00
yuri
25ccc9f685 fix orm 2017-01-03 12:24:12 +02:00
yuri
62894366e6 fix opp stage change 2016-12-30 15:50:52 +02:00
yuri
d06c3f82c3 naming 2016-12-30 15:39:35 +02:00
yuri
a0fd9e05e8 read only param 2016-12-29 17:24:35 +02:00
yuri
dd3e52f230 metadata unset formula 2016-12-29 16:23:46 +02:00
yuri
af60f82322 formula ui 2016-12-29 16:17:54 +02:00
Taras Machyshyn
2e8e466a22 Unit tests fixes 2016-12-29 13:38:29 +02:00
yuri
a3ad4130af Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-12-29 13:37:49 +02:00
yuri
37f718f26e formula dev 2016-12-29 13:37:36 +02:00
Taras Machyshyn
c7e46ecc03 Unit tests fixes 2016-12-27 16:07:40 +02:00
yuri
1e368757ec fix dynamic logic isEmpty 2016-12-27 15:29:07 +02:00
yuri
54122e6ea2 fix dynamic logic isEmpty 2016-12-27 15:28:50 +02:00
yuri
9e3096b674 date/datetime default values 2016-12-27 15:24:14 +02:00
yuri
f0dbe8b78b field manager: opporunity probabilities 2016-12-27 12:42:45 +02:00
yuri
ab89b3c91b Merge branch 'hotfix/4.3.2' 2016-12-27 11:16:26 +02:00
yuri
54e0ee08e6 field manager: enum default 2016-12-27 11:16:14 +02:00
yuri
803e06c019 formula substring 2016-12-26 16:46:14 +02:00
yuri
2057fd7357 Merge branch 'hotfix/4.3.2' 2016-12-26 16:27:51 +02:00
yuri
2561660cf4 fix notice 2016-12-26 16:27:44 +02:00
yuri
e382c59556 formula field 2016-12-26 15:54:07 +02:00
yuri
a003efe7c9 Merge branch 'hotfix/4.3.2' 2016-12-26 11:15:55 +02:00
yuri
1975d16f3a orm: fix issue with bool column in relation table 2016-12-26 11:15:45 +02:00
yuri
da74c37ab1 Merge branch 'hotfix/4.3.1' 2016-12-23 17:15:28 +02:00
yuri
3df9c7eb02 fix stream panel 2016-12-23 16:55:22 +02:00
yuri
5951ac930a fix stream post 2016-12-23 16:31:53 +02:00
yuri
7160c0a65b fix stream panel 2016-12-23 16:30:19 +02:00
yuri
19a9b5c91e fix language.js 2016-12-23 15:56:58 +02:00
yuri
b6d1f26af0 fix cache 2016-12-23 15:52:19 +02:00
yuri
6094c69fc1 formula null 2016-12-23 13:09:36 +02:00
yuri
a11c6a23c4 formula ui 1 2016-12-23 12:52:00 +02:00
yuri
52afd6f11c Merge branch 'hotfix/4.3.1' 2016-12-22 17:23:48 +02:00
yuri
0c10657351 fix import 2016-12-22 17:23:39 +02:00
yuri
36ade17f67 formula item 2016-12-22 17:02:54 +02:00
yuri
469e35d8a0 industries 2016-12-22 11:18:32 +02:00
yuri
39219b6b78 Merge branch 'hotfix/4.3.1' 2016-12-21 17:40:36 +02:00
yuri
977b8fa8e9 fix enum none 2016-12-21 17:40:17 +02:00
yuri
7e0604409a varchar/text none 2016-12-21 17:37:10 +02:00
yuri
83f78cc02c Merge branch 'hotfix/4.3.1' 2016-12-21 16:07:11 +02:00
yuri
c21ec8d5f2 template fix 2016-12-21 16:06:16 +02:00
yuri
41c566e227 template ui improve 2016-12-21 15:56:15 +02:00
yuri
ae82ebbf74 htmlizer file helper 2016-12-21 15:29:12 +02:00
yuri
177018daae entity manager: check reserved names 2016-12-21 15:05:17 +02:00
yuri
003e884056 Merge branch 'hotfix/4.3.1' 2016-12-21 12:33:26 +02:00
yuri
5f481fa2dd fix 2016-12-21 12:20:29 +02:00
yuri
f425584822 Merge branch 'hotfix/4.3.1' 2016-12-21 12:08:35 +02:00
yuri
8c1142481d campaign log fix 2016-12-21 12:08:19 +02:00
yuri
569b995a94 Merge branch 'hotfix/4.3.1' 2016-12-21 12:00:43 +02:00
yuri
d20a26680a fix markdown 2016-12-21 12:00:29 +02:00
yuri
472e1ece5a Merge branch 'hotfix/4.3.1' 2016-12-20 17:52:44 +02:00
yuri
84c56256f7 css 2016-12-20 17:52:30 +02:00
yuri
632467a9a6 close modal on location change 2016-12-20 16:11:20 +02:00
yuri
d2faec45bb close modal on location change 2016-12-20 16:10:33 +02:00
yuri
480772e022 change css list view 2016-12-20 15:17:17 +02:00
yuri
e7bd4c1790 select records create change 2016-12-20 14:37:30 +02:00
yuri
5910b28362 css modal list cache 2016-12-20 14:29:01 +02:00
yuri
a3c32d8389 css modal changes 2016-12-20 14:21:44 +02:00
yuri
e2b0bba6e6 portal users 2016-12-20 14:01:13 +02:00
yuri
4813657568 Merge branch 'hotfix/4.3.1' 2016-12-19 11:56:23 +02:00
yuri
2989181723 fix calendar create acl check 2016-12-19 11:45:01 +02:00
yuri
5df8d833d5 fix lang 2016-12-19 11:26:41 +02:00
yuri
449fc4cddc fix css 2016-12-16 17:24:21 +02:00
yuri
fb87926318 cleanup 2016-12-16 16:43:39 +02:00
yuri
623d94b77f change 2016-12-16 16:34:40 +02:00
yuri
74ad0cab35 fix detailsmall edit small 2016-12-16 16:22:27 +02:00
yuri
4f81706b92 Merge branch 'hotfix/4.3.1' 2016-12-16 15:01:29 +02:00
yuri
4e61bd6048 fix user field list view tpl 2016-12-16 15:00:41 +02:00
yuri
252ae4e18f v 2016-12-16 14:53:06 +02:00
yuri
3249c07bcd Merge branch 'hotfix/4.3.1' 2016-12-16 12:14:28 +02:00
yuri
3def2ef0da enum: show none 2016-12-16 12:14:16 +02:00
yuri
cb0321aa20 lead layout change 2016-12-16 11:56:28 +02:00
yuri
1096f719ae panels fixes 2016-12-16 11:53:55 +02:00
yuri
9bfe12587f formula hook order change 2016-12-15 17:35:58 +02:00
yuri
91d4b26c1c formula 2016-12-15 16:52:29 +02:00
yuri
ef317064b4 fix modified and created fields 2016-12-15 16:42:53 +02:00
yuri
fa3b4f3ac2 export fix 2016-12-15 10:53:55 +02:00
yuri
052c489bf7 fix export error 2016-12-15 10:45:36 +02:00
yuri
f3402e2c4e dont send invitation for self if accepted 2016-12-14 12:23:15 +02:00
yuri
34a3cd9ce5 fix list js error 2016-12-12 11:17:09 +02:00
yuri
4d5f3bcbfe v 2016-12-08 11:41:55 +02:00
yuri
339e1dc897 defaultSidePanelFieldList 2016-12-07 17:32:43 +02:00
yuri
c4e617f18e css 2016-12-07 15:48:35 +02:00
yuri
89bc329ea6 css 2016-12-07 13:21:47 +02:00
yuri
eee49b215e portal user field show up 2016-12-07 11:32:22 +02:00
yuri
d9a8b83268 remove isToSelf not used field 2016-12-07 10:56:32 +02:00
yuri
def7abe3ba fix mention notification 2016-12-07 10:55:33 +02:00
yuri
75e64b3836 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-12-06 15:52:56 +02:00
yuri
efb106c597 fix translated options 2016-12-06 15:50:48 +02:00
Taras Machyshyn
5e1087c6b4 Cache in language 2016-12-06 13:18:06 +02:00
yuri
5f8800defa fix css 2016-12-06 13:08:06 +02:00
yuri
445c0b3834 integration check 2016-12-06 12:24:07 +02:00
yuri
61c1e5ab6c fix mass action list 2016-12-06 11:37:40 +02:00
yuri
2502cad0c1 settings activityEntityList no emails 2016-12-05 14:20:50 +02:00
yuri
76032493b9 fix 2016-12-01 12:33:34 +02:00
yuri
0a3a6b3773 load users config params after login 2016-12-01 12:29:26 +02:00
yuri
014d47d017 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-12-01 11:45:00 +02:00
Taras Machyshyn
8bd7734ae3 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-12-01 11:22:48 +02:00
Taras Machyshyn
7aa2ba917f Added 'userItems' 2016-12-01 11:21:20 +02:00
yuri
96f0ce2381 fix template 2016-11-30 17:41:30 +02:00
yuri
f1eb5b9862 email notification about email received 2016-11-30 15:54:23 +02:00
yuri
45cb5a6e38 Merge branch 'master' of https://github.com/espocrm/espocrm 2016-11-30 11:13:43 +02:00
ayman-alkom
4131ea54ae remove decleration duplicate (#319) 2016-11-30 11:12:56 +02:00
yuri
3806affe1b add industry 2016-11-30 10:58:17 +02:00
yuri
6ea3a03de3 readme change 2016-11-29 17:55:59 +02:00
yuri
5b25e8b7e6 fix address validate error 2016-11-29 17:04:27 +02:00
yuri
60c96ba5f7 import status colors 2016-11-29 15:29:09 +02:00
yuri
9732852891 job search fix 2016-11-29 15:27:28 +02:00
yuri
326b46a6e6 fix setting max records per page and int max length 2016-11-29 15:18:31 +02:00
yuri
29924ea3b1 css fix 2016-11-29 12:37:47 +02:00
yuri
434506699b fix list width 2016-11-29 12:00:13 +02:00
yuri
eeaaaf7af1 deferred filter 2016-11-29 11:19:32 +02:00
yuri
3f5dab0680 fix task date end field 2016-11-29 11:03:51 +02:00
yuri
dd69658f2a css change 2016-11-29 10:37:23 +02:00
yuri
3c2d998a30 added industries 2016-11-28 16:54:09 +02:00
yuri
a0ead9d774 fix css 2016-11-25 16:24:39 +02:00
yuri
4460a105a8 dynamic logic ID field and mass email duplicate fix 2016-11-25 15:52:05 +02:00
yuri
c6b369587d fix css 2016-11-25 12:46:13 +02:00
yuri
8c19ad5f7f fix warning 2016-11-25 12:22:48 +02:00
yuri
1824e0d0a6 version 2016-11-22 14:29:35 +02:00
yuri
404bb0c3cd layout panel colors 2 2016-11-22 12:27:03 +02:00
yuri
7fd6b16cf3 fix color panels 2016-11-22 10:39:28 +02:00
yuri
47abd1ab52 middle panel styles 2016-11-21 15:32:10 +02:00
yuri
5c8d728ac5 cleanup 2016-11-21 15:09:55 +02:00
yuri
2706bc461e fix error 2016-11-21 15:09:36 +02:00
yuri
91f52e4f42 panel color and sidePanels Small layout 2016-11-21 14:58:08 +02:00
yuri
5538dd45d3 preferences: reload page after theme or language changed 2016-11-21 11:00:06 +02:00
yuri
105205a9aa change in record base 2016-11-21 10:59:50 +02:00
yuri
e3547717a0 change varchar filter type order 2016-11-21 10:35:09 +02:00
yuri
1714e0e9a0 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-21 10:30:50 +02:00
yuri
afdd15ac44 text field: contains filter by default 2016-11-21 10:28:54 +02:00
yuri
09097dba4a cleanup 2016-11-21 10:28:23 +02:00
yuri
01a8fbd5b1 fix label 2016-11-21 10:27:21 +02:00
yuri
f2d5eed7e3 company entity: check for duplicates 2016-11-21 10:26:27 +02:00
Taras Machyshyn
cfae3cde1d Label correction 2016-11-18 18:18:01 +02:00
Taras Machyshyn
87a0c1b293 Installer bug fixes 2016-11-18 18:17:37 +02:00
Taras Machyshyn
486c8c8f37 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-18 17:33:45 +02:00
Taras Machyshyn
ea99ca3d38 FileManager: bug fixes 2016-11-18 17:33:29 +02:00
yuri
2069a25f30 b2c mode in settings 2016-11-18 11:31:25 +02:00
yuri
baf3493044 show up date time on mouse over shortened dates 2016-11-18 11:23:12 +02:00
yuri
543a12a475 note post textarea height 2016-11-18 11:11:00 +02:00
yuri
a73f97744a fix email address add 2016-11-18 10:58:59 +02:00
yuri
ae135ab678 fix mention text 2016-11-17 17:25:08 +02:00
yuri
96366548a3 fix avatar for deleted user and campaign tracker 1px 2016-11-17 10:49:00 +02:00
yuri
54cdd5180d industry 2016-11-17 10:25:56 +02:00
yuri
0a5ce2a4d4 industries 2016-11-16 17:09:50 +02:00
yuri
a4e1ccc4bb fix label 2016-11-16 15:28:30 +02:00
Taras Machyshyn
55c632979e Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-16 15:25:01 +02:00
Taras Machyshyn
b1208a449e Integration tests: added tests for upgrade, extension installation 2016-11-16 15:24:48 +02:00
Taras Machyshyn
9e2b329beb Integration tests improvements 2016-11-16 15:23:49 +02:00
Taras Machyshyn
10d329094c Added 'deleteBeforeCopy' for upgrade/extensions 2016-11-16 15:21:39 +02:00
yuri
38f44b3e5f cases layout change 2016-11-16 13:06:42 +02:00
yuri
c99a1261d5 lead industry field 2016-11-16 11:54:17 +02:00
yuri
4e2e344892 industry field additions 2016-11-16 11:45:31 +02:00
yuri
e0128bf54f contact-document relation 2016-11-16 11:17:46 +02:00
yuri
a683e6bdf8 improve export 2016-11-15 12:15:01 +02:00
yuri
bc64effb14 cleanup 2016-11-14 13:23:22 +02:00
yuri
6b0a280e2c fix layout swaping 2016-11-14 12:44:36 +02:00
yuri
ddf25e02e3 email: has attachment filter 2016-11-14 10:39:18 +02:00
yuri
967d5a6387 addition to about page 2016-11-11 16:46:11 +02:00
yuri
a5137b85af downgrade zendservicemanager 2016-11-11 16:34:38 +02:00
yuri
1ed79fedf0 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-10 14:44:40 +02:00
yuri
8a8cb08b99 order export 2016-11-10 14:41:39 +02:00
yuri
b49aaa69cc fix audited 2016-11-10 14:14:46 +02:00
yuri
015357d551 industries 2016-11-10 13:19:34 +02:00
yuri
5419d76080 link field empty name and audited note change 2016-11-10 12:58:54 +02:00
yuri
21e1422994 filed manager hook change 2016-11-09 11:43:30 +02:00
yuri
dafb076659 field manager inficate that field is readOnly 2016-11-09 10:56:19 +02:00
Taras Machyshyn
491f3d27ff Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-08 12:13:35 +02:00
Taras Machyshyn
3be58d5d09 Integration test improvements 2016-11-08 12:13:25 +02:00
yuri
8aeb23a985 version 2016-11-08 11:46:19 +02:00
yuri
fa99040232 downgrade zend 2016-11-08 11:45:32 +02:00
yuri
2e928f2442 clenup 2016-11-08 11:33:51 +02:00
yuri
8ebb35c0d5 my activities dashlet entity list 2016-11-07 17:18:04 +02:00
yuri
7d17bee201 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-07 16:06:12 +02:00
yuri
5c345fb4d9 import: idle mode 2016-11-07 16:01:52 +02:00
yuri
d2cd098ab0 fix record view readOnly 2016-11-07 15:09:15 +02:00
yuri
f4a88df067 import: skip search for duplicates 2016-11-07 12:54:14 +02:00
yuri
8f4917eb24 delete duplicates before import 2016-11-07 11:46:09 +02:00
yuri
a9310b108a fix warning 2016-11-07 10:45:52 +02:00
Taras Machyshyn
8c638dffd4 commented out sendRequest tests 2016-11-04 18:56:07 +02:00
yuri
0151273a75 cleanup 2016-11-04 17:39:00 +02:00
yuri
b10dc8128c conrollerManager in container 2016-11-04 17:32:58 +02:00
yuri
476d36c9c5 comment sendRequest tests 2016-11-04 17:22:55 +02:00
yuri
64087defd0 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-04 17:21:18 +02:00
yuri
807b7bc349 tooltip 2016-11-04 16:57:18 +02:00
yuri
3018c345fa entity manager tooltips 2016-11-04 16:34:12 +02:00
yuri
8f35c59943 ckeanup 2016-11-04 15:34:49 +02:00
yuri
348332f7ca entity manager: fix loading after creation 2016-11-04 12:52:24 +02:00
yuri
9ebd992222 default status styles 2016-11-04 12:43:49 +02:00
yuri
9597ea0dbd stream messages improvements 2016-11-04 12:29:39 +02:00
yuri
23fb6c6e1f status field in entity manager 2016-11-04 11:36:28 +02:00
Taras Machyshyn
ddb5033de8 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-11-03 18:00:15 +02:00
Taras Machyshyn
43a49e3c31 Integration tests: added 'createUser' method, portal support 2016-11-03 18:00:03 +02:00
yuri
5a06ee50d8 fix notice 2016-11-03 16:19:43 +02:00
yuri
c02f65ef81 audited relations 2016-11-03 16:14:19 +02:00
yuri
dbb9b20b7f fix case compose email 2016-11-03 11:37:39 +02:00
yuri
3bfd540f53 kb: move to top move to bottom 2016-11-03 11:11:03 +02:00
yuri
a971f7357f fix dynamic logic 2016-11-02 16:31:04 +02:00
yuri
4918f8f985 task reminders 2016-11-02 16:30:56 +02:00
Taras Machyshyn
988388ed16 Added 'sendRequest' possibility 2016-11-02 15:52:38 +02:00
yuri
f1de9deb80 event entity: reminders 2016-11-02 12:08:01 +02:00
yuri
2642a6ea6e fix notice 2016-11-02 11:52:42 +02:00
yuri
74b82c92d8 fix default layout detailSmall 2016-11-02 11:15:38 +02:00
yuri
ded3d112b2 created and modified fields fixes 2016-11-02 11:11:51 +02:00
yuri
c9e7f02b23 cut text columns 2016-11-01 15:07:18 +02:00
yuri
c7fb864e04 email changes and test 2016-11-01 12:54:51 +02:00
yuri
16d300445c fix emails 2016-11-01 12:43:20 +02:00
yuri
edc24621a6 fix php mime mail parser 2016-10-31 15:52:38 +02:00
yuri
17b48c0e4c fix wysywyg issue with base tags 2016-10-31 15:52:29 +02:00
yuri
771d58f425 phpmimemailparser 2016-10-31 11:30:14 +02:00
Felix Kaechele
fd76459077 Fix de_DE translation (#269)
* Fix escape symbols in translations

Signed-off-by: Felix Kaechele <felix@kaechele.ca>

* Update German translation

Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2016-10-28 15:21:27 +03:00
yuri
1955dff68e manual merge 2016-10-28 14:50:48 +03:00
yuri
730b5fb8a9 fix calendar dashlet 2016-10-28 14:46:37 +03:00
yuri
c1a115e2b0 reminders: skip if declined 2016-10-21 15:55:03 +03:00
yuri
7773e41ad4 convert lead changes 2016-10-21 14:48:58 +03:00
yuri
304bbb62ad fix naming 2016-10-21 12:05:36 +03:00
yuri
7b439ace04 cleanup 2016-10-21 11:32:10 +03:00
yuri
d9ef87fb90 fix naming 2016-10-21 11:30:21 +03:00
yuri
2333b7a1ef user permission = all by default 2016-10-21 11:21:03 +03:00
yuri
1a00932c63 Merge branch 'hotfix/4.2.7' 2016-10-20 15:48:49 +03:00
yuri
1f09015c86 fix ids 2016-10-20 15:48:33 +03:00
yuri
5d79d8520f email: show group email account if email address matches 2016-10-20 15:04:26 +03:00
yuri
dde044d8c5 imptove email/phone filters 2016-10-20 14:53:47 +03:00
yuri
aeeb84b626 fix text and varchar 2016-10-20 14:47:18 +03:00
yuri
ccb9022e16 fix email address search 2016-10-20 12:47:44 +03:00
yuri
a9e783b5f1 email autocomplete: users first 2016-10-20 11:36:52 +03:00
yuri
46190df6ff fix notice 2016-10-20 11:30:19 +03:00
yuri
1eb258cab7 email filtering fix 2016-10-20 11:26:48 +03:00
yuri
a3836b0091 email fix 2016-10-19 16:38:27 +03:00
yuri
7fbc9fbac8 email fix 2016-10-19 16:38:00 +03:00
yuri
d0b5e2188b add marketing industry 2016-10-19 16:13:01 +03:00
yuri
dfa2d6be89 email notifications related to parent 2016-10-19 16:04:43 +03:00
yuri
276941197f email importer refactoring 2016-10-19 15:46:07 +03:00
yuri
20569e4252 fix notices 2016-10-19 12:47:54 +03:00
yuri
3b7f99daa1 fix import 2016-10-19 12:14:21 +03:00
Taras Machyshyn
5ee30d9f3f Integration test improvements 2016-10-17 17:35:44 +03:00
yuri
3cde7fa5e3 company type fix 2016-10-11 15:11:36 +03:00
yuri
aecb9bbdf4 lang 2016-10-11 15:11:25 +03:00
yuri
1a95e14ee8 entity manager improvements 2016-10-11 12:32:28 +03:00
yuri
83aa07b918 entity manager remove layouts 2016-10-11 11:30:53 +03:00
yuri
4f8eea59fe removeDir method 2016-10-11 11:28:45 +03:00
yuri
248280e086 fix entity manager 2016-10-11 11:28:38 +03:00
yuri
02b465ab8c company entity type 2016-10-11 11:22:48 +03:00
yuri
c9d26dc1d8 base plus entity template 2016-10-10 17:32:03 +03:00
yuri
389b158134 look up email address in custom entities 2016-10-10 16:35:30 +03:00
yuri
312af9befb change person layouts 2016-10-10 16:19:34 +03:00
yuri
b7f22bf687 Merge branch 'stable' 2016-10-10 15:33:27 +03:00
yuri
f062ac255a version 2016-10-10 15:19:14 +03:00
yuri
dd8082244c activities and tasks for person type 2016-10-10 12:37:21 +03:00
yuri
25ff7e17c1 activities dashlet change 2016-10-07 15:27:17 +03:00
yuri
f4b3071a92 change readme 2016-10-07 14:50:34 +03:00
yuri
0c7b182215 Merge branch 'stable' 2016-10-07 14:36:32 +03:00
yuri
2223a1ecf4 getActivitiesQuery change 2016-10-07 12:54:10 +03:00
yuri
3a24784980 fix email filter 2016-10-07 12:46:46 +03:00
yuri
f86564a580 tests 2016-10-07 12:46:27 +03:00
yuri
58897949eb fix email filter 2016-10-07 12:46:19 +03:00
yuri
2dee859b2a fix link field 2016-10-07 12:10:57 +03:00
yuri
b1dbd173ad fix mail filters 2016-10-07 11:14:37 +03:00
yuri
a9fc290627 mail filter test 2016-10-07 11:14:15 +03:00
yuri
12794968fc fix mail filters 2016-10-07 11:14:02 +03:00
yuri
1b4cbb91ee activities refactor additional 2016-10-06 17:26:51 +03:00
yuri
62f1362cf6 activities big refactor 2016-10-06 16:46:52 +03:00
yuri
49031d0b33 fix orm 2016-10-06 11:49:57 +03:00
yuri
22fea07b0a fix orm 2016-10-05 17:54:00 +03:00
yuri
81692371ec search by hasOne link 2016-10-05 15:35:53 +03:00
yuri
a96314f0f0 Merge branch 'hotfix/4.2.6' 2016-10-05 12:37:45 +03:00
yuri
a92c294255 fix layout manager reset to default 2016-10-05 12:37:38 +03:00
yuri
7c554a605e originalLead field 2016-10-05 12:07:08 +03:00
yuri
57eeec63c1 remove opportunities link from lead 2016-10-05 11:44:07 +03:00
yuri
bd158008b2 update tcpdf 2016-10-04 12:58:24 +03:00
yuri
c0ae8d5cdd Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-10-03 12:17:33 +03:00
yuri
78347920aa fix settings entityDefs 2016-10-03 12:17:26 +03:00
yuri
c88e662a30 mass email: massEmailDisableMandatoryOptOutLink 2016-10-03 12:03:28 +03:00
yuri
5ae57ff5f6 fix campaign log percentage 2016-10-03 11:32:06 +03:00
Taras Machyshyn
7c74c85a66 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-29 17:48:00 +03:00
Taras Machyshyn
07fc2123e7 Added testData cache folder to gitignore 2016-09-29 17:47:46 +03:00
yuri
afdb47b601 fix test email 2016-09-29 17:35:57 +03:00
yuri
5ea437afbb Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-29 17:30:49 +03:00
yuri
c7041546c4 fix number test 2016-09-29 17:27:26 +03:00
yuri
1d2fd21a06 Merge branch 'hotfix/4.2.6' 2016-09-29 17:25:35 +03:00
yuri
27624ead8d number fix 2 2016-09-29 17:25:25 +03:00
Taras Machyshyn
fefc003984 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-29 17:21:23 +03:00
Taras Machyshyn
70d3bf9fff Integration tests: rename method to 'createApplication' 2016-09-29 17:21:05 +03:00
yuri
4a64c4b648 Merge branch 'hotfix/4.2.6' 2016-09-29 17:21:01 +03:00
yuri
15c980e57f rename number to number util 2016-09-29 17:20:52 +03:00
yuri
9d8fc5b8ea sort by address field 2016-09-28 17:46:14 +03:00
yuri
8184221d2b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-28 16:15:31 +03:00
yuri
5786983d8b add team to roles 2016-09-28 16:13:53 +03:00
yuri
1e1468ab68 acl changes and user role 2016-09-28 15:36:41 +03:00
yuri
e3f0177759 role changes 2016-09-27 16:46:14 +03:00
yuri
f1fc6160fe fix typo 2016-09-27 16:30:59 +03:00
yuri
38d4a39014 campaign log to target list 2016-09-27 15:13:25 +03:00
yuri
566d0c1aa0 fix orm query in array 2016-09-27 12:35:40 +03:00
yuri
ce752b32fd naming fix 2016-09-27 11:15:59 +03:00
Taras Machyshyn
a61553d08b Improved tests 2016-09-26 16:36:47 +03:00
yuri
daacb026d8 panel actions changes 2016-09-26 16:16:40 +03:00
yuri
0ae637fba2 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-26 12:50:41 +03:00
yuri
b81fd66b85 remove note with parent remval 2016-09-26 12:48:57 +03:00
yuri
071e94ac97 Merge branch 'hotfix/4.2.6' 2016-09-26 12:04:32 +03:00
yuri
a98465f30e skip notification checking while upgrade 2016-09-26 12:04:10 +03:00
yuri
e949a0bae6 dashboard: ability to rename tabs 2016-09-26 11:31:29 +03:00
yuri
f7f9e2fda0 fix export 2016-09-23 11:37:21 +03:00
yuri
80a0571b0c export: skip attributes 2016-09-23 11:31:38 +03:00
yuri
d91897a922 fix export 2016-09-22 17:31:42 +03:00
Taras Machyshyn
05180ece92 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-22 17:25:40 +03:00
Taras Machyshyn
ee8e960ce4 Added integration tests 2016-09-22 17:25:26 +03:00
yuri
5b4a8666cd Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-22 17:17:21 +03:00
yuri
7240757a28 export field list 2016-09-22 17:15:27 +03:00
yuri
2a8baa2f34 export: use POST request 2016-09-22 14:54:35 +03:00
yuri
0c44e0d101 duplicate target list only not opted out 2016-09-22 12:45:23 +03:00
yuri
63ab5b77f3 relationship copy change 2016-09-22 12:32:53 +03:00
yuri
300198c9fa duplicate with links 2016-09-22 11:24:21 +03:00
yuri
340af18beb Merge branch 'hotfix/4.2.6' 2016-09-20 15:58:34 +03:00
yuri
8862fd279e fix language enum translation 2016-09-20 15:47:58 +03:00
Taras Machyshyn
83cff1bc42 Added favicon to installator 2016-09-20 11:54:51 +03:00
yuri
a75534e32a Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-20 11:52:07 +03:00
Taras Machyshyn
462eb8792c Added test cache to gitignore 2016-09-20 11:51:57 +03:00
yuri
19f29c0401 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-20 11:49:41 +03:00
Taras Machyshyn
27657260fc Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-20 11:47:40 +03:00
yuri
c17fb9ab1e Merge branch 'hotfix/4.2.6' 2016-09-16 17:46:31 +03:00
yuri
bd6eafd291 version 2016-09-16 17:44:26 +03:00
yuri
a63306603a fix email filter 2016-09-16 17:44:10 +03:00
yuri
d3b1114b1e filters refactor 2016-09-16 16:38:10 +03:00
yuri
87340e29e8 base field: search data 2016-09-16 15:38:21 +03:00
yuri
4f1f8d9301 lead: created fields filter populate 2016-09-16 14:51:20 +03:00
yuri
664b294471 bool notNull 2016-09-16 11:23:44 +03:00
yuri
7774c12ab2 lang 2016-09-16 11:02:14 +03:00
yuri
6592dfc4da mass retrive from trash 2016-09-16 11:00:19 +03:00
yuri
e823ecc178 user: create portal user fix 2016-09-15 12:59:06 +03:00
yuri
74d5a737db int/float: isEmpty, isNotEmpty filters 2016-09-15 12:07:26 +03:00
yuri
bf9799af66 fix markdown link syntax 2016-09-14 17:09:10 +03:00
yuri
fc9b67672f date: isEmpty filter 2016-09-14 16:14:06 +03:00
yuri
6e8342511f lang 2016-09-14 16:01:29 +03:00
yuri
da2cebd765 fix orm 3 2016-09-14 14:03:30 +03:00
yuri
ef19dc3330 fix orm 2 2016-09-14 13:53:11 +03:00
Taras Machyshyn
2f73a2d19b Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-09-14 13:25:07 +03:00
yuri
fab257eb97 fix orm 2016-09-14 13:07:32 +03:00
yuri
850c3fd696 orm: get parent relation 2016-09-14 13:00:22 +03:00
yuri
a619738652 fix dashboard javascript error 2016-09-13 16:53:06 +03:00
Taras Machyshyn
395c575f78 Moved tests into 'unit' folder 2016-09-13 16:20:42 +03:00
yuri
ecf8256b14 fix textFilterFields list 2016-09-13 15:26:51 +03:00
yuri
2d6d6a2b19 link parent: search by parent type 2016-09-13 15:17:49 +03:00
yuri
ee404fa400 parentType = null if empty 2016-09-13 15:05:38 +03:00
yuri
10fc546369 Merge branch 'hotfix/4.2.5' 2016-09-13 13:13:00 +03:00
yuri
0ea0c09007 fix acl 2016-09-13 13:12:39 +03:00
yuri
85b2dbac11 Merge branch 'hotfix/4.2.5' 2016-09-13 10:28:39 +03:00
yuri
d69f994f4c fix insert template issue with signature 2016-09-13 10:28:24 +03:00
yuri
12a368054a dynamic logic options 2016-09-12 17:27:39 +03:00
yuri
7a2a9de174 Merge branch 'hotfix/4.2.5' of ssh://172.20.0.1/var/git/espo/backend into hotfix/4.2.5 2016-09-12 11:17:15 +03:00
yuri
0e14f2b987 fix dynamic logic save 2016-09-12 11:16:36 +03:00
yuri
a50d97adf5 cleanup 2016-09-09 16:36:57 +03:00
yuri
62e9138cf1 minor core changes, metadata delete fix 2016-09-09 16:33:43 +03:00
yuri
657e7f0e37 email sender: define sender header 2016-09-08 15:05:58 +03:00
yuri
66d648c7d4 hack zend messageId bug 2016-09-08 12:42:53 +03:00
yuri
08dd77a6b6 metadata refactoring 2016-09-08 11:59:33 +03:00
yuri
037f0d4db1 dynamicLogic edit 3 2016-09-07 17:18:40 +03:00
yuri
19ff591105 fix date field default null 2016-09-07 15:17:00 +03:00
Taras Machyshyn
7d2655f757 Fixed warnings on PHP 7 2016-09-07 15:04:06 +03:00
yuri
7b1a1be366 dynamicLogic edit 2 2016-09-06 16:59:50 +03:00
yuri
1fc3ae72b5 dynamicLogic edit 1 2016-09-05 17:01:41 +03:00
yuri
991b864881 tabs fix 2016-09-05 11:35:04 +03:00
yuri
f95fa96ae1 fix package.json 2016-09-05 11:13:23 +03:00
yuri
e33cdf268a dynamicLogic change 2016-09-05 11:12:36 +03:00
yuri
dcae13f4dc dynamicLogic string dev 2016-09-02 17:17:31 +03:00
yuri
96ac275970 client: fix naming 2016-09-02 16:17:09 +03:00
yuri
e58a4c4bbf fix stream status update message 2016-09-02 12:43:26 +03:00
yuri
c35985e658 Merge branch 'master' of https://github.com/espocrm/espocrm 2016-09-02 12:40:19 +03:00
yuri
4bc5a89ac2 fix stream status update message 2016-09-02 12:40:09 +03:00
yuri
b7e14d60cc dynamicLogic string change 2016-09-02 12:31:45 +03:00
Mauricio Panuncio
7164a71d88 es_ES - Complete translations to today (#219)
* Translate es_ES: Globals. Admin.

* Tickets.

* Emails.

* New translations (missing).

* New translations (missing) II.

* Various.

* Opportunities: Improvement. Self-explanatory names.

* Some small fixes.

* Undo Tickets. Redo Casos.
2016-09-02 12:30:13 +03:00
yuri
6bedd86e08 dynamic logic development 2016-09-01 17:38:47 +03:00
yuri
d39e99cbdd dynamic logic changes 2016-09-01 11:24:13 +03:00
yuri
ab3134f44a dynamicLogic additional compare types 2016-08-31 17:23:00 +03:00
yuri
5aaca9921c dynamicLogic core 2 2016-08-31 16:28:25 +03:00
yuri
9223e43b7c htmlizer: format number fix 2016-08-31 14:55:12 +03:00
yuri
3766dd16e7 dynamicLogic core 1 2016-08-31 14:48:51 +03:00
yuri
e53aff0031 fill primary account on selecting from account 2016-08-30 15:30:06 +03:00
yuri
4a40f1fba7 trim smtp credentials 2016-08-30 14:51:08 +03:00
yuri
8432e9dcc8 fix endWidth search 2016-08-30 13:05:41 +03:00
yuri
04e9bd9de3 fix endWidth search 2016-08-30 13:04:52 +03:00
yuri
ed8ed591f7 user: search by position 2016-08-30 13:00:37 +03:00
yuri
34ff0218b9 email notifications about posts w/o parent 2016-08-29 17:12:42 +03:00
yuri
2f6c928077 fix notification parent not null 2016-08-29 16:40:24 +03:00
yuri
eff0152f44 layout manager: Side Panels 2016-08-29 15:51:17 +03:00
yuri
a3188ce694 preferences: doNotFillAssignedUserIfNotRequired 2016-08-29 12:36:21 +03:00
yuri
4bf81be56f fix naming 2016-08-29 12:22:37 +03:00
yuri
7c22960f42 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-08-26 17:44:40 +03:00
yuri
3d6f90ad93 fix field manager 2016-08-26 17:44:04 +03:00
yuri
a02aebeed2 tooltips editable 2016-08-26 15:01:41 +03:00
Taras Machyshyn
d06afd4def Deleted unnecessary file 2016-08-26 14:25:30 +03:00
Taras Machyshyn
88e148fca8 Possibility to redefine hooks 2016-08-26 14:23:41 +03:00
Taras Machyshyn
2d00ef314f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-08-26 14:22:35 +03:00
yuri
0b6a29a035 field manager: reset to detault 2016-08-26 12:19:50 +03:00
yuri
5feb0eb7c7 fix FieldManager controller 2016-08-26 11:21:09 +03:00
yuri
48cb718fbe naming change 2016-08-26 10:51:09 +03:00
yuri
13ad6ec0d0 field manager: change tpl 2016-08-26 10:48:36 +03:00
yuri
9cfdb3a00b Merge branch 'master' of https://github.com/espocrm/espocrm 2016-08-25 17:24:16 +03:00
rodrigoscoelho
b560254df2 Adding Home Page APP meta info for Android and IOS (#145)
This will allow the program to start as a separated program on Android and IOS. As a native program.
2016-08-25 17:23:44 +03:00
yuri
101ed19073 shortcut icon 2016-08-25 17:23:03 +03:00
yuri
65868fd26a fix unsubscribe 2016-08-25 17:07:30 +03:00
yuri
d2e5b26765 update zend 2016-08-25 17:00:34 +03:00
yuri
2cac1ea608 unsubscribe changes 2016-08-25 16:54:30 +03:00
yuri
9d37e68e24 sync contact name on portal user update 2016-08-25 13:01:08 +03:00
yuri
290a1c5b31 php 5.4 drop 2 2016-08-25 13:00:50 +03:00
yuri
ff924f666f drop php 5.4 support 2016-08-25 12:25:30 +03:00
yuri
8c5eb9c913 update zend 2016-08-25 12:19:06 +03:00
yuri
25e72fa6a5 Merge branch 'hotfix/4.2.5' 2016-08-25 11:58:24 +03:00
yuri
76602aede1 email import: fix for emails w/o subject header 2016-08-25 11:45:56 +03:00
Ayman Alkom
77411702a7 remove repeated key (#205) 2016-08-25 10:44:29 +03:00
Ayman Alkom
1aeee24d97 remove repeated key (#205) 2016-08-25 10:43:53 +03:00
yuri
d8cd0d31db email template foreign fields and acl 2016-08-25 10:43:06 +03:00
yuri
e72557bb59 Merge branch 'hotfix/4.2.5' 2016-08-24 11:09:41 +03:00
yuri
84e587fcaf mass email: automatically fill name 2016-08-24 10:49:53 +03:00
yuri
f8e75dccdf version 2016-08-23 15:41:32 +03:00
yuri
b6eca1db17 fix email entityDefs 2016-08-23 15:39:00 +03:00
yuri
6ff414ffcd fix users teams field 2016-08-23 15:26:00 +03:00
yuri
b54c9a797d Merge branch 'hotfix/4.2.5' 2016-08-23 12:05:51 +03:00
yuri
7acbf3084d template: related attributes 2016-08-23 12:05:29 +03:00
yuri
87847446a8 css cleanup 2016-08-23 11:18:20 +03:00
yuri
59f250b386 allow template entity 2016-08-23 11:17:39 +03:00
yuri
f93ce594d0 add mobile phone type to account 2016-08-23 11:13:58 +03:00
yuri
c41f4e51e5 fix filter fields css 2016-08-23 11:01:17 +03:00
yuri
6efd355864 remove tabs 2016-08-23 10:11:37 +03:00
Ayman Alkom
7ee2ee9d35 small syntax fixes (#197)
* fix variable name

* init $number variable

* another fix
2016-08-23 10:09:15 +03:00
Ayman Alkom
737215c599 small syntax fixes (#197)
* fix variable name

* init $number variable

* another fix
2016-08-23 10:08:17 +03:00
Yuri Kuznetsov
ced0c25a08 Merge pull request #194 from grzegorzgie/patch-3
Fix pl_PL
2016-08-22 19:51:22 +03:00
Yuri Kuznetsov
5e810d2aa3 Merge pull request #193 from grzegorzgie/patch-2
Fix pl_PL
2016-08-22 19:51:09 +03:00
Yuri Kuznetsov
c9e27dd190 Merge pull request #192 from grzegorzgie/patch-2
Fix pl_PL
2016-08-22 19:50:12 +03:00
yuri
1f8a14aca0 fix warning 2016-08-22 15:50:21 +03:00
yuri
f518ae59c0 activities small refactoring 2016-08-22 12:27:18 +03:00
Taras Machyshyn
c5866f3d86 Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-08-22 12:21:16 +03:00
yuri
4d4bde46f8 version 2016-08-22 11:02:41 +03:00
yuri
cb89ad59af cleanup 2016-08-22 11:00:03 +03:00
yuri
092b5024fe it_IT language 2016-08-22 10:36:17 +03:00
grzegorzgie
8221f7182b Fix pl_PL 2016-08-21 13:21:43 +02:00
grzegorzgie
ecee739b1a Fix pl_PL 2016-08-21 13:16:03 +02:00
grzegorzgie
702b47296c Fix pl_PL
Repair linguistic errors
2016-08-21 13:02:22 +02:00
yuri
517edf2ced undo comment 2016-08-19 17:52:09 +03:00
yuri
219c28313c fix mass select 2016-08-19 17:48:14 +03:00
Taras Machyshyn
656bba1d3f Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend 2016-08-19 17:34:57 +03:00
yuri
311d92202b fix assignment notification if user is removed 2016-08-19 14:43:44 +03:00
yuri
05cb2ee272 email: fix move to trash update counts 2016-08-18 17:07:16 +03:00
4804 changed files with 252887 additions and 50781 deletions

11
.editorconfig Normal file
View File

@@ -0,0 +1,11 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

15
.gitignore vendored
View File

@@ -6,15 +6,14 @@
/data/config.php
/build
/node_modules
npm-debug.log
/test.php
/main.html
/client/css/espo.css
/client/css/espo-vertical.css
/client/css/sakura.css
/client/css/sakura-vertical.css
/client/css/violet.css
/client/css/violet-vertical.css
/tests/testData/cache/*
/tests/unit/testData/cache/*
!/tests/unit/testData/cache/.data
/tests/integration/config.php
composer.phar
vendor/
/custom/Espo/Custom/*
/custom/Espo/Custom/*
/install/config.php

9
.htaccess Executable file → Normal file
View File

@@ -9,16 +9,13 @@ DirectoryIndex index.php index.html
# PROTECTED DIRECTORIES
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^/?(data|api)/ - [F]
RewriteRule ^/?(api|client)/ - [F]
RewriteRule ^/?data/config\.php$ - [F]
RewriteRule ^/?data/logs/ - [F]
RewriteRule ^/?data/cache/ - [F]
RewriteRule ^/?data/upload/ - [F]
RewriteRule ^/?data/\.backup/ - [F]
RewriteRule ^/?data/ - [F]
RewriteRule ^/?application/ - [F]
RewriteRule ^/?custom/ - [F]
RewriteRule ^/?vendor/ - [F]
RewriteRule ^/?client/?$ - [F]
#END PROTECTED DIRECTORIES
RewriteRule .* - [E=HTTP_ESPO_CGI_AUTH:%{HTTP:Authorization}]

View File

@@ -1,3 +1,9 @@
## Pull Requests
Before we can merge your pull request you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
[Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
## 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,8 +2,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -28,19 +28,86 @@ module.exports = function (grunt) {
'client/lib/handlebars.js',
'client/lib/base64.js',
'client/lib/jquery-ui.min.js',
'client/lib/jquery.ui.touch-punch.min.js',
'client/lib/moment.min.js',
'client/lib/moment-timezone-with-data.min.js',
'client/lib/moment-timezone.min.js',
'client/lib/moment-timezone-data.js',
'client/lib/jquery.timepicker.min.js',
'client/lib/jquery.autocomplete.js',
'client/lib/bootstrap.min.js',
'client/lib/bootstrap-datepicker.js',
'client/lib/bull.js',
'client/lib/marked.min.js',
'client/lib/autobahn.js',
'client/src/namespace.js',
'client/src/exceptions.js',
'client/src/loader.js',
'client/src/utils.js'
'client/src/utils.js',
'client/src/acl.js',
'client/src/model.js',
'client/src/model-offline.js',
'client/src/ajax.js',
'client/src/controller.js',
'client/src/ui.js',
'client/src/acl-manager.js',
'client/src/cache.js',
'client/src/storage.js',
'client/src/models/settings.js',
'client/src/language.js',
'client/src/metadata.js',
'client/src/field-manager.js',
'client/src/models/user.js',
'client/src/models/preferences.js',
'client/src/model-factory.js',
'client/src/collection-factory.js',
'client/src/pre-loader.js',
'client/src/controllers/base.js',
'client/src/router.js',
'client/src/date-time.js',
'client/src/layout-manager.js',
'client/src/theme-manager.js',
'client/src/session-storage.js',
'client/src/view-helper.js',
'client/src/app.js'
];
function camelCaseToHyphen (string){
if (string == null) {
return string;
}
return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}
var fs = require('fs');
var themeList = [];
fs.readdirSync('application/Espo/Resources/metadata/themes').forEach(function (file) {
themeList.push(file.substr(0, file.length - 5));
});
var cssminFilesData = {};
var lessData = {};
themeList.forEach(function (theme) {
var name = camelCaseToHyphen(theme);
var files = {};
files['client/css/espo/'+name+'.css'] = 'frontend/less/'+name+'/main.less';
files['client/css/espo/'+name+'-iframe.css'] = 'frontend/less/'+name+'/iframe/main.less';
cssminFilesData['client/css/espo/'+name+'.css'] = 'client/css/espo/'+name+'.css';
cssminFilesData['client/css/espo/'+name+'-iframe.css'] = 'client/css/espo/'+name+'-iframe.css';
var o = {
options: {
yuicompress: true,
},
files: files
};
lessData[theme] = o;
});
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
@@ -56,71 +123,22 @@ module.exports = function (grunt) {
}
},
clean: {
start: ['build/*'],
start: ['build/EspoCRM-*'],
final: ['build/tmp'],
},
less: {
espo: {
options: {
yuicompress: true,
},
files: {
'client/css/espo.css': 'frontend/less/espo/main.less',
}
},
espoVertical: {
options: {
yuicompress: true,
},
files: {
'client/css/espo-vertical.css': 'frontend/less/espo-vertical/main.less',
}
},
sakura: {
options: {
yuicompress: true,
},
files: {
'client/css/sakura.css': 'frontend/less/sakura/main.less',
}
},
sakuraVertical: {
options: {
yuicompress: true,
},
files: {
'client/css/sakura-vertical.css': 'frontend/less/sakura-vertical/main.less',
}
},
violet: {
options: {
yuicompress: true,
},
files: {
'client/css/violet.css': 'frontend/less/violet/main.less',
}
},
violetVertical: {
options: {
yuicompress: true,
},
files: {
'client/css/violet-vertical.css': 'frontend/less/violet-vertical/main.less',
}
beforeFinal: {
src: ['build/tmp/custom/Espo/Custom/*', '!build/tmp/custom/Espo/Custom/.htaccess', 'build/tmp/install/config.php']
}
},
less: lessData,
cssmin: {
minify: {
files: {
'build/tmp/client/css/espo.css': [
'client/css/espo.css',
]
}
},
themes: {
files: cssminFilesData
}
},
uglify: {
options: {
mangle: false,
sourceMap: true,
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
},
'build/tmp/client/espo.min.js': jsFilesToMinify.map(function (item) {
@@ -144,10 +162,6 @@ module.exports = function (grunt) {
],
dest: 'build/tmp/client',
},
frontendHtml: {
src: 'frontend/reset.html',
dest: 'build/tmp/reset.html'
},
frontendLib: {
expand: true,
dot: true,
@@ -169,10 +183,14 @@ module.exports = function (grunt) {
'html/**',
'bootstrap.php',
'cron.php',
'daemon.php',
'rebuild.php',
'clear_cache.php',
'upgrade.php',
'extension.php',
'websocket.php',
'command.php',
'oauth-callback.php',
'index.php',
'LICENSE.txt',
'.htaccess',
@@ -223,26 +241,6 @@ module.exports = function (grunt) {
}
},
replace: {
timestamp: {
options: {
patterns: [
{
match: 'timestamp',
replacement: '<%= new Date().getTime() %>'
}
]
},
files: [
{
src: 'build/tmp/html/main.html',
dest: 'build/tmp/html/main.html'
},
{
src: 'build/tmp/html/portal.html',
dest: 'build/tmp/html/portal.html'
}
]
},
version: {
options: {
patterns: [
@@ -290,13 +288,12 @@ module.exports = function (grunt) {
'cssmin',
'uglify',
'copy:frontendFolders',
'copy:frontendHtml',
'copy:frontendLib',
'copy:backend',
'replace',
'clean:beforeFinal',
'copy:final',
'chmod',
'clean:final',
'clean:final'
]);
};

View File

@@ -8,14 +8,22 @@ Download the latest release from our [website](http://www.espocrm.com).
### Requirements
* PHP 5.4 or above (with pdo, json, gd, mcrypt extensions);
* MySQL 5.1 or above.
* PHP 7.1 or above (with pdo, json, gd, openssl, zip, imap, mbstring, curl extensions);
* MySQL 5.6.0 or above, or MariaDB.
For more information about server configuration see [this article](http://blog.espocrm.com/administration/server-configuration-for-espocrm/).
For more information about server configuration see [this article](https://www.espocrm.com/documentation/administration/server-configuration/).
### How to report bug
### Documentation
Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our [forum](http://forum.espocrm.com/bug-reports?routestring=forum/bug-reports).
Documentation for administrators, users and developers is available [here](https://www.espocrm.com/documentation/).
### How to report a bug
Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our [forum](http://forum.espocrm.com/forum/bug-reports).
### 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.
### How to get started (for developers)
@@ -30,7 +38,7 @@ 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
### How to build (for developers)
You need to have nodejs and Grunt CLI installed.
@@ -44,6 +52,12 @@ The build will be created in the `build` directory.
Before we can merge your pull request you need to accept our CLA [here](https://github.com/espocrm/cla). It's very simple to do.
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:
@@ -62,4 +76,3 @@ Json files will be created in build directory grouped by folders.
### License
EspoCRM is published under the GNU GPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).

0
api/v1/.htaccess Executable file → Normal file
View File

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

0
api/v1/portal-access/.htaccess Executable file → Normal file
View File

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

0
api/v1/portal-access/web.config Executable file → Normal file
View File

0
api/v1/web.config Executable file → Normal file
View File

View File

@@ -0,0 +1,42 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class ActionHistoryRecord extends \Espo\Core\Acl\Base
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $entity->get('userId') === $user->id;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -34,6 +34,7 @@ use \Espo\ORM\Entity;
class Email extends \Espo\Core\Acl\Base
{
protected $ownerUserIdAttribute = 'usersIds';
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
@@ -118,4 +119,3 @@ class Email extends \Espo\Core\Acl\Base
return false;
}
}

View File

@@ -0,0 +1,65 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class EmailAddress extends \Espo\Core\Acl\Base
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
$id = $entity->id;
$isFobidden = false;
$repository = $this->getEntityManager()->getRepository('EmailAddress');
if (!$user->isAdmin()) {
$entityWithSameAddressList = $repository->getEntityListByAddressId($id, $excludeEntity);
foreach ($entityWithSameAddressList as $e) {
if (!$this->getAclManager()->check($user, $e, 'edit')) {
$isFobidden = true;
if (
$e->getEntityType() === 'User' &&
$e->isPortal() &&
$excludeEntity->getEntityType() === 'Contact' &&
$e->get('contactId') === $excludeEntity->id
) {
$isFobidden = false;
}
if ($isFobidden) break;
}
}
}
return !$isFobidden;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -0,0 +1,53 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class Import extends \Espo\Core\Acl\Base
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if ($user->id === $entity->get('createdById')) return true;
return false;
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if ($user->id === $entity->get('createdById')) return true;
return false;
}
}

View File

@@ -0,0 +1,119 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class Note extends \Espo\Core\Acl\Base
{
protected $deleteThresholdPeriod = '1 month';
protected $editThresholdPeriod = '7 days';
public function checkIsOwner(EntityUser $user, Entity $entity)
{
if ($entity->get('type') === 'Post' && $user->id === $entity->get('createdById')) {
return true;
}
return false;
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('parentId') && $entity->get('parentType')) {
$parent = $this->getEntityManager()->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parent) {
if ($this->getAclManager()->checkEntity($user, $parent, 'stream')) {
return true;
}
}
return false;
}
return true;
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) {
return true;
}
if ($this->checkEntity($user, $entity, $data, 'edit')) {
if ($this->checkIsOwner($user, $entity)) {
$createdAt = $entity->get('createdAt');
if ($createdAt) {
$noteEditThresholdPeriod = '-' . $this->getConfig()->get('noteEditThresholdPeriod', $this->editThresholdPeriod);
$dt = new \DateTime();
$dt->modify($noteEditThresholdPeriod);
try {
if ($dt->format('U') > (new \DateTime($createdAt))->format('U')) {
return false;
}
} catch (\Exception $e) {
return false;
}
}
}
return true;
}
return false;
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) {
return true;
}
if ($this->checkEntity($user, $entity, $data, 'delete')) {
if ($this->checkIsOwner($user, $entity)) {
$createdAt = $entity->get('createdAt');
if ($createdAt) {
$deleteThresholdPeriod = '-' . $this->getConfig()->get('noteDeleteThresholdPeriod', $this->deleteThresholdPeriod);
$dt = new \DateTime();
$dt->modify($deleteThresholdPeriod);
try {
if ($dt->format('U') > (new \DateTime($createdAt))->format('U')) {
return false;
}
} catch (\Exception $e) {
return false;
}
}
}
return true;
}
return false;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -0,0 +1,65 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class PhoneNumber extends \Espo\Core\Acl\Base
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
$id = $entity->id;
$isFobidden = false;
$repository = $this->getEntityManager()->getRepository('PhoneNumber');
if (!$user->isAdmin()) {
$entityWithSameNumberList = $repository->getEntityListByPhoneNumberId($id, $excludeEntity);
foreach ($entityWithSameNumberList as $e) {
if (!$this->getAclManager()->check($user, $e, 'edit')) {
$isFobidden = true;
if (
$e->getEntityType() === 'User' &&
$e->isPortal() &&
$excludeEntity->getEntityType() === 'Contact' &&
$e->get('contactId') === $excludeEntity->id
) {
$isFobidden = false;
}
if ($isFobidden) break;
}
}
}
return !$isFobidden;
}
}

View File

@@ -0,0 +1,61 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class ScheduledJob extends \Espo\Core\Acl\Base
{
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('isInternal')) return false;
return $this->checkEntity($user, $entity, $data, 'read');
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('isInternal')) return false;
return $this->checkEntity($user, $entity, $data, 'edit');
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('isInternal')) return false;
return $this->checkEntity($user, $entity, $data, 'delete');
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('isInternal')) return false;
return $this->checkEntity($user, $entity, $data, 'create');
}
}

View File

@@ -0,0 +1,41 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\ORM\Entity;
class Team extends \Espo\Core\Acl\Base
{
public function checkInTeam(\Espo\Entities\User $user, Entity $entity)
{
$userTeamIdList = $user->getLinkMultipleIdList('teams');
return in_array($entity->id, $userTeamIdList);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -30,6 +30,7 @@
namespace Espo\Acl;
use \Espo\ORM\Entity;
use \Espo\Entities\User as EntityUser;
class User extends \Espo\Core\Acl\Base
{
@@ -37,5 +38,51 @@ class User extends \Espo\Core\Acl\Base
{
return $user->id === $entity->id;
}
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if (!$user->isAdmin()) {
return false;
}
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
return $this->checkEntity($user, $entity, $data, 'create');
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($entity->id === 'system') {
return false;
}
if (!$user->isAdmin()) {
return false;
}
if ($entity->isSystem()) {
return false;
}
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
return parent::checkEntityDelete($user, $entity, $data);
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($entity->id === 'system') {
return false;
}
if ($entity->isSystem()) {
return false;
}
if (!$user->isAdmin()) {
if ($user->id !== $entity->id) {
return false;
}
}
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
return $this->checkEntity($user, $entity, $data, 'edit');
}
}

View File

@@ -0,0 +1,73 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class Webhook extends \Espo\Core\Acl\Base
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
return $user->id === $entity->get('userId') && $user->isApi();
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityDelete(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
public function checkEntityEdit(EntityUser $user, Entity $entity, $data)
{
if ($user->isAdmin()) return true;
if (!$data) return false;
if ($user->isApi() && $user->id === $entity->get('userId')) return true;
return false;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -34,6 +34,7 @@ use \Espo\ORM\Entity;
class Email extends \Espo\Core\AclPortal\Base
{
protected $ownerUserIdAttribute = 'usersIds';
public function checkEntityRead(EntityUser $user, Entity $entity, $data)
{

View File

@@ -0,0 +1,56 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\AclPortal;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class EmailAddress extends \Espo\Core\AclPortal\Base
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
$id = $entity->id;
$isFobidden = false;
$repository = $this->getEntityManager()->getRepository('EmailAddress');
if (!$user->isAdmin()) {
$entityWithSameAddressList = $repository->getEntityListByAddressId($id, $excludeEntity);
foreach ($entityWithSameAddressList as $e) {
if (!$this->getAclManager()->check($user, $e, 'edit')) {
$isFobidden = true;
break;
}
}
}
return !$isFobidden;
}
}

View File

@@ -0,0 +1,66 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\AclPortal;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class Note extends \Espo\Core\AclPortal\Base
{
public function checkIsOwner(EntityUser $user, Entity $entity)
{
if ($entity->get('type') === 'Post' && $user->id === $entity->get('createdById')) {
return true;
}
return false;
}
public function checkEntityCreate(EntityUser $user, Entity $entity, $data)
{
if ($entity->get('type') !== 'Post') return false;
if ($entity->get('type') === 'Post' && $entity->get('targetType')) {
return false;
}
if (!$entity->get('parentId') || !$entity->get('parentType')) {
return false;
}
$parent = $this->getEntityManager()->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parent) {
if ($this->getAclManager()->checkEntity($user, $parent, 'stream')) {
return true;
}
}
return false;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -0,0 +1,57 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\AclPortal;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class PhoneNumber extends \Espo\Core\AclPortal\Base
{
public function checkEditInEntity(EntityUser $user, Entity $entity, Entity $excludeEntity)
{
$id = $entity->id;
$isFobidden = false;
$repository = $this->getEntityManager()->getRepository('PhoneNumber');
if (!$user->isAdmin()) {
$entityWithSameNumberList = $repository->getEntityListByPhoneNumberId($id, $excludeEntity);
foreach ($entityWithSameNumberList as $e) {
if (!$this->getAclManager()->check($user, $e, 'edit')) {
$isFobidden = true;
break;
}
}
}
return !$isFobidden;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -0,0 +1,75 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 ActionHistoryRecord extends \Espo\Core\Controllers\Record
{
public function beforeUpdate()
{
throw new Forbidden();
}
public function beforeCreate()
{
throw new Forbidden();
}
public function beforeListLinked()
{
throw new Forbidden();
}
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function beforeCreateLink()
{
throw new Forbidden();
}
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function beforeMassDelete()
{
throw new Forbidden();
}
public function beforeMassConvertCurrency()
{
throw new Forbidden();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -53,7 +53,7 @@ class Admin extends \Espo\Core\Controllers\Base
return $result;
}
public function postActionClearCache($params, $data)
public function postActionClearCache($params)
{
$result = $this->getContainer()->get('dataManager')->clearCache();
return $result;
@@ -63,13 +63,13 @@ class Admin extends \Espo\Core\Controllers\Base
{
$scheduledJob = $this->getContainer()->get('scheduledJob');
return $scheduledJob->getAllNamesOnly();
return $scheduledJob->getAvailableList();
}
public function postActionUploadUpgradePackage($params, $data)
{
if ($this->getConfig()->get('restrictedMode')) {
if (!$this->getUser()->get('isSuperAdmin')) {
if (!$this->getUser()->isSuperAdmin()) {
throw new Forbidden();
}
}
@@ -87,21 +87,31 @@ class Admin extends \Espo\Core\Controllers\Base
public function postActionRunUpgrade($params, $data)
{
if ($this->getConfig()->get('restrictedMode')) {
if (!$this->getUser()->get('isSuperAdmin')) {
if (!$this->getUser()->isSuperAdmin()) {
throw new Forbidden();
}
}
$upgradeManager = new \Espo\Core\UpgradeManager($this->getContainer());
$upgradeManager->install($data);
$upgradeManager->install(get_object_vars($data));
return true;
}
public function actionCronMessage($params, $data)
public function actionCronMessage($params)
{
return $this->getContainer()->get('scheduledJob')->getSetupMessage();
}
}
public function actionAdminNotificationList($params)
{
$adminNotificationManager = new \Espo\Core\Utils\AdminNotificationManager($this->getContainer());
return $adminNotificationManager->getNotificationList();
}
public function actionSystemRequirementList($params)
{
$systemRequirementManager = new \Espo\Core\Utils\SystemRequirements($this->getContainer());
return $systemRequirementManager->getAllRequiredList();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -35,48 +35,16 @@ class App extends \Espo\Core\Controllers\Base
{
public function actionUser()
{
$preferences = $this->getPreferences()->getValues();
unset($preferences['smtpPassword']);
$user = $this->getUser();
if (!$user->has('teamsIds')) {
$user->loadLinkMultipleField('teams');
}
if ($user->get('isPortalUser')) {
$user->loadAccountField();
$user->loadLinkMultipleField('accounts');
}
$userData = $user->getValues();
$emailAddressList = [];
foreach ($user->get('emailAddresses') as $emailAddress) {
if ($emailAddress->get('invalid')) continue;
if ($user->get('emailAddrses') === $emailAddress->get('name')) continue;
$emailAddressList[] = $emailAddress->get('name');
}
if ($user->get('emailAddrses')) {
array_unshift($emailAddressList, $user->get('emailAddrses'));
}
$userData['emailAddressList'] = $emailAddressList;
return array(
'user' => $userData,
'acl' => $this->getAcl()->getMap(),
'preferences' => $preferences,
'token' => $this->getUser()->get('token')
);
return $this->getServiceFactory()->create('App')->getUserData();
}
public function postActionDestroyAuthToken($params, $data)
{
$token = $data['token'];
if (empty($token)) {
if (empty($data->token)) {
throw new BadRequest();
}
$auth = new \Espo\Core\Utils\Auth($this->getContainer());
return $auth->destroyAuthToken($token);
return $auth->destroyAuthToken($data->token);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -34,27 +34,27 @@ use \Espo\Core\Exceptions\BadRequest;
class Attachment extends \Espo\Core\Controllers\Record
{
public function actionUpload($params, $data, $request)
public function actionList($params, $data, $request)
{
if (!$request->isPost()) {
throw new BadRequest();
}
if (!$this->getAcl()->checkScope('Attachment', 'create')) {
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
list($prefix, $contents) = explode(',', $data);
$contents = base64_decode($contents);
$attachment = $this->getEntityManager()->getEntity('Attachment');
$this->getEntityManager()->saveEntity($attachment);
$this->getContainer()->get('fileManager')->putContents('data/upload/' . $attachment->id, $contents);
return array(
'attachmentId' => $attachment->id
);
return parent::actionList($params, $data, $request);
}
}
public function postActionGetAttachmentFromImageUrl($params, $data)
{
if (empty($data->url)) throw new BadRequest();
if (empty($data->field)) throw new BadRequest('postActionGetAttachmentFromImageUrl: No field specified');
return $this->getRecordService()->getAttachmentFromImageUrl($data)->getValueMap();
}
public function postActionGetCopiedAttachment($params, $data)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->field)) throw new BadRequest('postActionGetCopiedAttachment copy: No field specified');
return $this->getRecordService()->getCopiedAttachment($data)->getValueMap();
}
}

View File

@@ -0,0 +1,72 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 AuthLogRecord extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
public function beforeUpdate()
{
throw new Forbidden();
}
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function beforeCreate()
{
throw new Forbidden();
}
public function beforeCreateLink()
{
throw new Forbidden();
}
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function beforeMassConvertCurrency()
{
throw new Forbidden();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -40,34 +40,63 @@ class AuthToken extends \Espo\Core\Controllers\Record
}
}
public function actionUpdate($params, $data)
public function actionUpdate($params, $data, $request)
{
$dataAr = get_object_vars($data);
if (
is_object($data)
&&
isset($data->isActive)
&&
$data->isActive === false
&&
count(array_keys($dataAr)) === 1
) {
return parent::actionUpdate($params, $data, $request);
}
throw new Forbidden();
}
public function actionMassUpdate($params, $data, $request)
{
if (empty($data->attributes)) {
throw new BadRequest();
}
$attributes = $data->attributes;
if (
is_object($attributes)
&&
isset($attributes->isActive)
&&
$attributes->isActive === false
&&
count(array_keys(get_object_vars($attributes))) === 1
) {
return parent::actionMassUpdate($params, $data, $request);
}
throw new Forbidden();
}
public function beforeCreate()
{
throw new Forbidden();
}
public function actionCreate($params, $data)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionListLinked($params, $data)
public function beforeRemoveLink()
{
throw new Forbidden();
}
public function actionMassUpdate($params, $data)
{
throw new Forbidden();
}
public function actionCreateLink($params, $data)
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data)
public function beforeMassConvertCurrency()
{
throw new Forbidden();
}
}

View File

@@ -0,0 +1,67 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 DashboardTemplate extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
public function postActionDeployToUsers($params, $data)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->userIdList)) throw new BadRequest();
return $this->getServiceFactory()->create('DashboardTemplate')->deployToUsers(
$data->id,
$data->userIdList,
!empty($data->append)
);
}
public function postActionDeployToTeam($params, $data)
{
if (empty($data->id)) throw new BadRequest();
if (empty($data->teamId)) throw new BadRequest();
return $this->getServiceFactory()->create('DashboardTemplate')->deployToTeam(
$data->id,
$data->teamId,
!empty($data->append)
);
}
}

View File

@@ -0,0 +1,55 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
class DataPrivacy extends \Espo\Core\Controllers\Base
{
protected function checkControllerAccess()
{
if ($this->getAcl()->get('dataPrivacyPermission') === 'no') {
throw new Forbidden();
}
}
public function postActionErase($params, $data)
{
if (empty($data->entityType) || empty($data->id) || empty($data->fieldList) || !is_array($data->fieldList)) {
throw new BadRequest();
}
return $this->getServiceFactory()->create('DataPrivacy')->erase($data->entityType, $data->id, $data->fieldList);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -38,43 +38,39 @@ class Email extends \Espo\Core\Controllers\Record
{
public function postActionGetCopiedAttachments($params, $data, $request)
{
if (empty($data['id'])) {
if (empty($data->id)) {
throw new BadRequest();
}
$id = $data['id'];
$id = $data->id;
return $this->getRecordService()->getCopiedAttachments($id);
}
public function actionSendTestEmail($params, $data, $request)
public function postActionSendTestEmail($params, $data, $request)
{
if (!$request->isPost()) {
throw new BadRequest();
}
if (!$this->getAcl()->checkScope('Email')) {
throw new Forbidden();
}
if (is_null($data['password'])) {
if ($data['type'] == 'preferences') {
if (!$this->getUser()->isAdmin() && $data['id'] !== $this->getUser()->id) {
if (is_null($data->password)) {
if ($data->type == 'preferences') {
if (!$this->getUser()->isAdmin() && $data->id !== $this->getUser()->id) {
throw new Forbidden();
}
$preferences = $this->getEntityManager()->getEntity('Preferences', $data['id']);
$preferences = $this->getEntityManager()->getEntity('Preferences', $data->id);
if (!$preferences) {
throw new NotFound();
}
if (is_null($data['password'])) {
$data['password'] = $this->getContainer()->get('crypt')->decrypt($preferences->get('smtpPassword'));
if (is_null($data->password)) {
$data->password = $this->getContainer()->get('crypt')->decrypt($preferences->get('smtpPassword'));
}
} else if ($data['type'] == 'emailAccount') {
} else if ($data->type == 'emailAccount') {
if (!$this->getAcl()->checkScope('EmailAccount')) {
throw new Forbidden();
}
if (!empty($data['id'])) {
$emailAccount = $this->getEntityManager()->getEntity('EmailAccount', $data['id']);
if (!empty($data->id)) {
$emailAccount = $this->getEntityManager()->getEntity('EmailAccount', $data->id);
if (!$emailAccount) {
throw new NotFound();
}
@@ -83,49 +79,62 @@ class Email extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
}
if (is_null($data['password'])) {
$data['password'] = $this->getContainer()->get('crypt')->decrypt($emailAccount->get('smtpPassword'));
if (is_null($data->password)) {
$data->password = $this->getContainer()->get('crypt')->decrypt($emailAccount->get('smtpPassword'));
}
}
} else if ($data->type == 'inboundEmail') {
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
if (!empty($data->id)) {
$emailAccount = $this->getEntityManager()->getEntity('InboundEmail', $data->id);
if (!$emailAccount) {
throw new NotFound();
}
if (is_null($data->password)) {
$data->password = $this->getContainer()->get('crypt')->decrypt($emailAccount->get('smtpPassword'));
}
}
} else {
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
if (is_null($data['password'])) {
$data['password'] = $this->getConfig()->get('smtpPassword');
if (is_null($data->password)) {
$data->password = $this->getConfig()->get('smtpPassword');
}
}
}
return $this->getRecordService()->sendTestEmail($data);
return $this->getRecordService()->sendTestEmail(get_object_vars($data));
}
public function postActionMarkAsRead($params, $data, $request)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->markAsReadByIdList($ids);
return $this->getRecordService()->markAsReadByIdList($idList);
}
public function postActionMarkAsNotRead($params, $data, $request)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->markAsNotReadByIdList($ids);
return $this->getRecordService()->markAsNotReadByIdList($idList);
}
public function postActionMarkAllAsRead($params, $data, $request)
@@ -135,58 +144,58 @@ class Email extends \Espo\Core\Controllers\Record
public function postActionMarkAsImportant($params, $data, $request)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->markAsImportantByIdList($ids);
return $this->getRecordService()->markAsImportantByIdList($idList);
}
public function postActionMarkAsNotImportant($params, $data, $request)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->markAsNotImportantByIdList($ids);
return $this->getRecordService()->markAsNotImportantByIdList($idList);
}
public function postActionMoveToTrash($params, $data)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->moveToTrashByIdList($ids);
return $this->getRecordService()->moveToTrashByIdList($idList);
}
public function postActionRetrieveFromTrash($params, $data)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
return $this->getRecordService()->retrieveFromTrashByIdList($ids);
return $this->getRecordService()->retrieveFromTrashByIdList($idList);
}
public function getActionGetFoldersNotReadCounts(&$params, $request, $data)
@@ -206,20 +215,19 @@ class Email extends \Espo\Core\Controllers\Record
public function postActionMoveToFolder($params, $data)
{
if (!empty($data['ids'])) {
$ids = $data['ids'];
if (!empty($data->ids)) {
$idList = $data->ids;
} else {
if (!empty($data['id'])) {
$ids = [$data['id']];
if (!empty($data->id)) {
$idList = [$data->id];
} else {
throw new BadRequest();
}
}
if (empty($data['folderId'])) {
if (empty($data->folderId)) {
throw new BadRequest();
}
return $this->getRecordService()->moveToFolderByIdList($ids, $data['folderId']);
return $this->getRecordService()->moveToFolderByIdList($idList, $data->folderId);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -34,16 +34,18 @@ use \Espo\Core\Exceptions\BadRequest;
class EmailAccount extends \Espo\Core\Controllers\Record
{
public function actionGetFolders($params, $data, $request)
public function postActionGetFolders($params, $data)
{
return $this->getRecordService()->getFolders(array(
'host' => $request->get('host'),
'port' => $request->get('port'),
'ssl' => $request->get('ssl') === 'true',
'username' => $request->get('username'),
'password' => $request->get('password'),
'id' => $request->get('id')
));
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,
'emailAddress' => $data->emailAddress ?? null,
'userId' => $data->userId ?? null,
]);
}
protected function checkControllerAccess()
@@ -53,15 +55,11 @@ class EmailAccount extends \Espo\Core\Controllers\Record
}
}
public function actionTestConnection($params, $data, $request)
public function postActionTestConnection($params, $data, $request)
{
if (!$request->isPost()) {
throw new BadRequest();
}
if (is_null($data['password'])) {
$emailAccount = $this->getEntityManager()->getEntity('EmailAccount', $data['id']);
if (!$emailAccount) {
if (is_null($data->password)) {
$emailAccount = $this->getEntityManager()->getEntity('EmailAccount', $data->id);
if (!$emailAccount || !$emailAccount->id) {
throw new Error();
}
@@ -69,10 +67,9 @@ class EmailAccount extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
$data['password'] = $this->getContainer()->get('crypt')->decrypt($emailAccount->get('password'));
$data->password = $this->getContainer()->get('crypt')->decrypt($emailAccount->get('password'));
}
return $this->getRecordService()->testConnection($data);
return $this->getRecordService()->testConnection(get_object_vars($data));
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -42,11 +42,13 @@ class EmailAddress extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
$q = $request->get('q');
$limit = intval($request->get('limit'));
if (empty($limit) || $limit > 30) {
$limit = 5;
$maxSize = intval($request->get('maxSize'));
if (empty($maxSize) || $maxSize > 50) {
$maxSize = $this->getConfig()->get('recordsPerPage', 20);
}
return $this->getRecordService()->searchInAddressBook($q, $limit);
$onlyActual = $request->get('onlyActual') === 'true';
return $this->getRecordService()->searchInAddressBook($q, $maxSize, $onlyActual);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -35,22 +35,22 @@ class EmailFolder extends \Espo\Core\Controllers\Record
{
public function postActionMoveUp($params, $data, $request)
{
if (empty($data['id'])) {
if (empty($data->id)) {
throw new BadRequest();
}
$this->getRecordService()->moveUp($data['id']);
$this->getRecordService()->moveUp($data->id);
return true;
}
public function postActionMoveDown($params, $data, $request)
{
if (empty($data['id'])) {
if (empty($data->id)) {
throw new BadRequest();
}
$this->getRecordService()->moveDown($data['id']);
$this->getRecordService()->moveDown($data->id);
return true;
}
@@ -60,4 +60,3 @@ class EmailFolder extends \Espo\Core\Controllers\Record
return $this->getRecordService()->listAll();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -25,7 +25,7 @@
*
* 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;
@@ -34,17 +34,19 @@ use \Espo\Core\Exceptions\Error;
class EmailTemplate extends \Espo\Core\Controllers\Record
{
public function actionParse($params, $data, $request)
{
{
$id = $request->get('id');
$emailAddress = $request->get('emailAddress');
if (empty($id)) {
throw new Error();
}
return $this->getRecordService()->parse($id, array(
'emailAddress' => $request->get('emailAddress'),
'parentType' => $request->get('parentType'),
'parentId' => $request->get('parentId'),
'relatedType' => $request->get('relatedType'),
'relatedId' => $request->get('relatedId')
), true);
}

View File

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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -44,6 +44,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionCreateEntity($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -81,6 +83,23 @@ class EntityManager extends \Espo\Core\Controllers\Base
if (isset($data['textFilterFields']) && is_array($data['textFilterFields'])) {
$params['textFilterFields'] = $data['textFilterFields'];
}
if (!empty($data['color'])) {
$params['color'] = $data['color'];
}
if (!empty($data['iconClass'])) {
$params['iconClass'] = $data['iconClass'];
}
if (isset($data['fullTextSearch'])) {
$params['fullTextSearch'] = $data['fullTextSearch'];
}
if (isset($data['countDisabled'])) {
$params['countDisabled'] = $data['countDisabled'];
}
$params['kanbanViewMode'] = !empty($data['kanbanViewMode']);
if (!empty($data['kanbanStatusIgnoreList'])) {
$params['kanbanStatusIgnoreList'] = $data['kanbanStatusIgnoreList'];
}
$result = $this->getContainer()->get('entityManagerUtil')->create($name, $type, $params);
@@ -103,6 +122,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionUpdateEntity($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -112,10 +133,6 @@ class EntityManager extends \Espo\Core\Controllers\Base
$name = $data['name'];
$name = filter_var($name, \FILTER_SANITIZE_STRING);
if (!empty($data['sortDirection'])) {
$data['asc'] = $data['sortDirection'] === 'asc';
}
$result = $this->getContainer()->get('entityManagerUtil')->update($name, $data);
if ($result) {
@@ -129,6 +146,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionRemoveEntity($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -160,6 +179,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionCreateLink($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -198,6 +219,13 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params['linkMultipleFieldForeign'] = $data['linkMultipleFieldForeign'];
}
if (array_key_exists('audited', $data)) {
$params['audited'] = $data['audited'];
}
if (array_key_exists('auditedForeign', $data)) {
$params['auditedForeign'] = $data['auditedForeign'];
}
$result = $this->getContainer()->get('entityManagerUtil')->createLink($params);
if ($result) {
@@ -211,6 +239,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionUpdateLink($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -228,7 +258,9 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params = array();
foreach ($paramList as $item) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
if (array_key_exists($item, $data)) {
$params[$item] = filter_var($data[$item], \FILTER_SANITIZE_STRING);
}
}
foreach ($additionalParamList as $item) {
@@ -242,6 +274,13 @@ class EntityManager extends \Espo\Core\Controllers\Base
$params['linkMultipleFieldForeign'] = $data['linkMultipleFieldForeign'];
}
if (array_key_exists('audited', $data)) {
$params['audited'] = $data['audited'];
}
if (array_key_exists('auditedForeign', $data)) {
$params['auditedForeign'] = $data['auditedForeign'];
}
$result = $this->getContainer()->get('entityManagerUtil')->updateLink($params);
if ($result) {
@@ -255,6 +294,8 @@ class EntityManager extends \Espo\Core\Controllers\Base
public function actionRemoveLink($params, $data, $request)
{
$data = get_object_vars($data);
if (!$request->isPost()) {
throw new BadRequest();
}
@@ -278,5 +319,34 @@ class EntityManager extends \Espo\Core\Controllers\Base
return true;
}
}
public function postActionFormula($params, $data, $request)
{
if (empty($data->scope)) {
throw new BadRequest();
}
if (!property_exists($data, 'data')) {
throw new BadRequest();
}
$formulaData = get_object_vars($data->data);
$this->getContainer()->get('entityManagerUtil')->setFormulaData($data->scope, $formulaData);
$this->getContainer()->get('dataManager')->clearCache();
return true;
}
public function postActionResetToDefault($params, $data, $request)
{
if (empty($data->scope)) {
throw new BadRequest();
}
$this->getContainer()->get('entityManagerUtil')->resetToDefaults($data->scope);
$this->getContainer()->get('dataManager')->clearCache();
return true;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -66,14 +66,14 @@ class Extension extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
if ($this->getConfig()->get('restrictedMode')) {
if (!$this->getUser()->get('isSuperAdmin')) {
if (!$this->getUser()->isSuperAdmin()) {
throw new Forbidden();
}
}
$manager = new \Espo\Core\ExtensionManager($this->getContainer());
$manager->install($data);
$manager->install(get_object_vars($data));
return true;
}
@@ -84,35 +84,16 @@ class Extension extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
if ($this->getConfig()->get('restrictedMode')) {
if (!$this->getUser()->get('isSuperAdmin')) {
if (!$this->getUser()->isSuperAdmin()) {
throw new Forbidden();
}
}
$manager = new \Espo\Core\ExtensionManager($this->getContainer());
$manager->uninstall($data);
$manager->uninstall(get_object_vars($data));
return true;
}
public function actionCreate($params, $data)
{
throw new Forbidden();
}
public function actionUpdate($params, $data)
{
throw new Forbidden();
}
public function actionPatch($params, $data)
{
throw new Forbidden();
}
public function actionListLinked($params, $data, $request)
{
throw new Forbidden();
}
public function actionDelete($params, $data, $request)
{
@@ -120,7 +101,7 @@ class Extension extends \Espo\Core\Controllers\Record
throw BadRequest();
}
if ($this->getConfig()->get('restrictedMode')) {
if (!$this->getUser()->get('isSuperAdmin')) {
if (!$this->getUser()->isSuperAdmin()) {
throw new Forbidden();
}
}
@@ -129,24 +110,43 @@ class Extension extends \Espo\Core\Controllers\Record
return true;
}
public function actionMassUpdate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionMassDelete($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data)
public function beforePatch()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data)
public function beforeListLinked()
{
throw new Forbidden();
}
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function beforeMassDelete()
{
throw new Forbidden();
}
public function beforeCreateLink()
{
throw new Forbidden();
}
public function beforeRemoveLink()
{
throw new Forbidden();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -47,17 +47,27 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
public function actionList($params, $data, $request)
{
$integrations = $this->getEntityManager()->getRepository('Integration')->find();
$arr = array();
$list = [];
foreach ($integrations as $entity) {
if ($entity->get('enabled') && $this->getMetadata()->get('integrations.' . $entity->id .'.allowUserAccounts')) {
$arr[] = array(
$userAccountAclScope = $this->getMetadata()->get(['integrations', $entity->id, 'userAccountAclScope']);
if ($userAccountAclScope) {
if (!$this->getAcl()->checkScope($userAccountAclScope)) {
continue;
}
}
$list[] = [
'id' => $entity->id
);
];
}
}
return array(
'list' => $arr
);
return [
'list' => $list
];
}
public function actionGetOAuth2Info($params, $data, $request)
@@ -65,7 +75,6 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
$id = $request->get('id');
list($integration, $userId) = explode('__', $id);
if ($this->getUser()->id != $userId) {
throw new Forbidden();
}
@@ -109,8 +118,8 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
throw new Forbidden();
}
if (isset($data['enabled']) && !$data['enabled']) {
$data['data'] = null;
if (isset($data->enabled) && !$data->enabled) {
$data->data = null;
}
$entity = $this->getEntityManager()->getEntity('ExternalAccount', $params['id']);
@@ -126,8 +135,8 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
throw new Error('Bad HTTP method type.');
}
$id = $data['id'];
$code = $data['code'];
$id = $data->id;
$code = $data->code;
list($integration, $userId) = explode('__', $id);
@@ -139,4 +148,3 @@ class ExternalAccount extends \Espo\Core\Controllers\Record
return $service->authorizationCode($integration, $userId, $code);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -29,9 +29,10 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error,
\Espo\Core\Exceptions\Forbidden,
\Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\NotFound;
use Espo\Core\Exceptions\BadRequest;
class FieldManager extends \Espo\Core\Controllers\Base
{
@@ -44,38 +45,51 @@ class FieldManager extends \Espo\Core\Controllers\Base
public function actionRead($params, $data)
{
$data = $this->getContainer()->get('fieldManager')->read($params['name'], $params['scope']);
if (empty($params['scope']) || empty($params['name'])) {
throw new BadRequest();
}
$data = $this->getContainer()->get('fieldManager')->read($params['scope'], $params['name']);
if (!isset($data)) {
throw new NotFound();
throw new BadRequest();
}
return $data;
}
public function actionCreate($params, $data)
public function postActionCreate($params, $data)
{
if (empty($data['name'])) {
throw new Error("Field 'name' cannnot be empty");
if (empty($params['scope']) || empty($data->name)) {
throw new BadRequest();
}
$fieldManager = $this->getContainer()->get('fieldManager');
$fieldManager->create($data['name'], $data, $params['scope']);
$fieldManager->create($params['scope'], $data->name, get_object_vars($data));
try {
$this->getContainer()->get('dataManager')->rebuild($params['scope']);
} catch (Error $e) {
$fieldManager->delete($data['name'], $params['scope']);
$fieldManager->delete($params['scope'], $data->name);
throw new Error($e->getMessage());
}
return $fieldManager->read($data['name'], $params['scope']);
return $fieldManager->read($params['scope'], $data->name);
}
public function actionUpdate($params, $data)
public function patchActionUpdate($params, $data)
{
return $this->putActionUpdate($params, $data);
}
public function putActionUpdate($params, $data)
{
if (empty($params['scope']) || empty($params['name'])) {
throw new BadRequest();
}
$fieldManager = $this->getContainer()->get('fieldManager');
$fieldManager->update($params['name'], $data, $params['scope']);
$fieldManager->update($params['scope'], $params['name'], get_object_vars($data));
if ($fieldManager->isChanged()) {
$this->getContainer()->get('dataManager')->rebuild($params['scope']);
@@ -83,17 +97,34 @@ class FieldManager extends \Espo\Core\Controllers\Base
$this->getContainer()->get('dataManager')->clearCache();
}
return $fieldManager->read($params['name'], $params['scope']);
return $fieldManager->read($params['scope'], $params['name']);
}
public function actionDelete($params, $data)
public function deleteActionDelete($params, $data)
{
$res = $this->getContainer()->get('fieldManager')->delete($params['name'], $params['scope']);
if (empty($params['scope']) || empty($params['name'])) {
throw new BadRequest();
}
$result = $this->getContainer()->get('fieldManager')->delete($params['scope'], $params['name']);
$this->getContainer()->get('dataManager')->rebuildMetadata();
return $res;
return $result;
}
}
public function postActionResetToDefault($params, $data)
{
if (empty($data->scope) || empty($data->name)) {
throw new BadRequest();
}
$this->getContainer()->get('fieldManager')->resetToDefault($data->scope, $data->name);
$this->getContainer()->get('dataManager')->clearCache();
$this->getContainer()->get('dataManager')->rebuildMetadata();
return true;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -31,8 +31,15 @@ namespace Espo\Controllers;
class I18n extends \Espo\Core\Controllers\Base
{
public function actionRead($params, $data)
public function actionRead($params, $data, $request)
{
return $this->getContainer()->get('language')->getAll();
$default = $request->get('default') === 'true';
return $this->getServiceFactory()->create('Language')->getDataForFrontend($default);
/*if ($request->get('default')) {
return $this->getContainer()->get('defaultLanguage')->getAll();
}
return $this->getContainer()->get('language')->getAll();*/
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -38,39 +38,39 @@ class Import extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
if (!$this->getAcl()->check('Import')) {
throw new Forbidden();
}
}
public function actionPatch($params, $data, $request)
public function beforePatch()
{
throw new BadRequest();
}
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new BadRequest();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new BadRequest();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new BadRequest();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new BadRequest();
}
protected function getFileManager()
protected function getFileStorageManager()
{
return $this->getContainer()->get('fileManager');
return $this->getContainer()->get('fileStorageManager');
}
protected function getEntityManager()
@@ -90,35 +90,34 @@ class Import extends \Espo\Core\Controllers\Record
$attachment->set('type', 'text/csv');
$attachment->set('role', 'Import File');
$attachment->set('name', 'import-file.csv');
$attachment->set('contents', $contents);
$this->getEntityManager()->saveEntity($attachment);
$this->getFileManager()->putContents('data/upload/' . $attachment->id, $contents);
return array(
return [
'attachmentId' => $attachment->id
);
];
}
public function actionRevert($params, $data, $request)
{
if (empty($data['id'])) {
if (empty($data->id)) {
throw new BadRequest();
}
if (!$request->isPost()) {
throw new BadRequest();
}
return $this->getService('Import')->revert($data['id']);
return $this->getService('Import')->revert($data->id);
}
public function actionRemoveDuplicates($params, $data, $request)
{
if (empty($data['id'])) {
if (empty($data->id)) {
throw new BadRequest();
}
if (!$request->isPost()) {
throw new BadRequest();
}
return $this->getService('Import')->removeDuplicates($data['id']);
return $this->getService('Import')->removeDuplicates($data->id);
}
public function actionCreate($params, $data, $request)
@@ -127,39 +126,91 @@ class Import extends \Espo\Core\Controllers\Record
throw new BadRequest();
}
$importParams = array(
'headerRow' => $data['headerRow'],
'fieldDelimiter' => $data['fieldDelimiter'],
'textQualifier' => $data['textQualifier'],
'dateFormat' => $data['dateFormat'],
'timeFormat' => $data['timeFormat'],
'personNameFormat' => $data['personNameFormat'],
'decimalMark' => $data['decimalMark'],
'currency' => $data['currency'],
'defaultValues' => $data['defaultValues'],
'action' => $data['action'],
);
if (array_key_exists('updateBy', $data)) {
$importParams['updateBy'] = $data['updateBy'];
if (!isset($data->delimiter)) {
throw new BadRequest();
}
$attachmentId = $data['attachmentId'];
if (!isset($data->textQualifier)) {
throw new BadRequest();
}
if (!$this->getAcl()->check($data['entityType'], 'edit')) {
if (!isset($data->dateFormat)) {
throw new BadRequest();
}
if (!isset($data->timeFormat)) {
throw new BadRequest();
}
if (!isset($data->personNameFormat)) {
throw new BadRequest();
}
if (!isset($data->decimalMark)) {
throw new BadRequest();
}
if (!isset($data->defaultValues)) {
throw new BadRequest();
}
if (!isset($data->action)) {
throw new BadRequest();
}
if (!isset($data->attachmentId)) {
throw new BadRequest();
}
if (!isset($data->entityType)) {
throw new BadRequest();
}
if (!isset($data->attributeList)) {
throw new BadRequest();
}
$timezone = 'UTC';
if (isset($data->timezone)) {
$timezone = $data->timezone;
}
$importParams = [
'headerRow' => !empty($data->headerRow),
'delimiter' => $data->delimiter,
'textQualifier' => $data->textQualifier,
'dateFormat' => $data->dateFormat,
'timeFormat' => $data->timeFormat,
'timezone' => $timezone,
'personNameFormat' => $data->personNameFormat,
'decimalMark' => $data->decimalMark,
'currency' => $data->currency,
'defaultValues' => $data->defaultValues,
'action' => $data->action,
'skipDuplicateChecking' => !empty($data->skipDuplicateChecking),
'idleMode' => !empty($data->idleMode),
'silentMode' => !empty($data->silentMode),
];
if (property_exists($data, 'updateBy')) {
$importParams['updateBy'] = $data->updateBy;
}
$attachmentId = $data->attachmentId;
if (!$this->getAcl()->check($data->entityType, 'edit')) {
throw new Forbidden();
}
return $this->getService('Import')->import($data['entityType'], $data['fields'], $attachmentId, $importParams);
return $this->getService('Import')->import($data->entityType, $data->attributeList, $attachmentId, $importParams);
}
public function postActionUnmarkAsDuplicate($params, $data)
{
if (empty($data['id']) || empty($data['entityType']) || empty($data['entityId'])) {
if (empty($data->id) || empty($data->entityType) || empty($data->entityId)) {
throw new BadRequest();
}
$this->getService('Import')->unmarkAsDuplicate($data['id'], $data['entityType'], $data['entityId']);
$this->getService('Import')->unmarkAsDuplicate($data->id, $data->entityType, $data->entityId);
return true;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -41,33 +41,28 @@ class InboundEmail extends \Espo\Core\Controllers\Record
}
}
public function actionGetFolders($params, $data, $request)
public function postActionGetFolders($params, $data, $request)
{
return $this->getRecordService()->getFolders(array(
'host' => $request->get('host'),
'port' => $request->get('port'),
'ssl' => $request->get('ssl') === 'true',
'username' => $request->get('username'),
'password' => $request->get('password'),
'id' => $request->get('id')
));
return $this->getRecordService()->getFolders([
'host' => $data->host ?? null,
'port' => $data->port ?? null,
'ssl' => $data->ssl ?? false,
'username' => $data->username ?? null,
'password' => $data->password ?? null,
'id' => $data->id ?? null,
]);
}
public function actionTestConnection($params, $data, $request)
public function postActionTestConnection($params, $data, $request)
{
if (!$request->isPost()) {
throw new BadRequest();
}
if (is_null($data['password'])) {
$inboundEmail = $this->getEntityManager()->getEntity('InboundEmail', $data['id']);
if (!$inboundEmail) {
if (is_null($data->password)) {
$inboundEmail = $this->getEntityManager()->getEntity('InboundEmail', $data->id);
if (!$inboundEmail || !$inboundEmail->id) {
throw new Error();
}
$data['password'] = $this->getContainer()->get('crypt')->decrypt($inboundEmail->get('password'));
$data->password = $this->getContainer()->get('crypt')->decrypt($inboundEmail->get('password'));
}
return $this->getRecordService()->testConnection($data);
return $this->getRecordService()->testConnection(get_object_vars($data));
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -67,6 +67,18 @@ class Integration extends \Espo\Core\Controllers\Record
$entity->set($data);
$this->getEntityManager()->saveEntity($entity);
$integrationsConfigData = $this->getConfig()->get('integrations');
if (!$integrationsConfigData || !($integrationsConfigData instanceof \StdClass)) {
$integrationsConfigData = (object)[];
}
$integrationName = $params['id'];
$integrationsConfigData->$integrationName = $entity->get('enabled');
$this->getConfig()->set('integrations', $integrationsConfigData);
$this->getConfig()->save();
return $entity->toArray();
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -41,39 +41,38 @@ class Job extends \Espo\Core\Controllers\Record
}
}
public function actionCreate($params, $data, $request)
public function beforeCreate()
{
throw new Forbidden();
}
public function actionUpdate($params, $data, $request)
public function beforeUpdate()
{
throw new Forbidden();
}
public function actionPatch($params, $data, $request)
public function beforePatch()
{
throw new Forbidden();
}
public function actionListLinked($params, $data, $request)
public function beforeListLinked()
{
throw new Forbidden();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new Forbidden();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Forbidden();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Forbidden();
}
}

View File

@@ -0,0 +1,78 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Utils as Utils;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
class LabelManager extends \Espo\Core\Controllers\Base
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
public function postActionGetScopeList($params)
{
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeList();
}
public function postActionGetScopeData($params, $data, $request)
{
if (empty($data->scope) || empty($data->language)) {
throw new BadRequest();
}
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
return $labelManager->getScopeData($data->language, $data->scope);
}
public function postActionSaveLabels($params, $data)
{
if (empty($data->scope) || empty($data->language) || !isset($data->labels)) {
throw new BadRequest();
}
$labels = get_object_vars($data->labels);
$labelManager = $this->getContainer()->get('injectableFactory')->createByClassName('\\Espo\\Core\\Utils\\LabelManager');
$returnData = $labelManager->saveLabels($data->language, $data->scope, $labels);
$this->getContainer()->get('dataManager')->clearCache();
return $returnData;
}
}

View File

@@ -0,0 +1,58 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 LastViewed extends \Espo\Core\Controllers\Base
{
public function getActionIndex($params, $data, $request)
{
$params = [];
$params['offset'] = $request->get('offset', 0);
$params['maxSize'] = $request->get('maxSize');
$maxSizeLimit = $this->getConfig()->get('recordListMaxSizeLimit', \Espo\Core\Controllers\Record::MAX_SIZE_LIMIT);
if (empty($params['maxSize'])) {
$params['maxSize'] = $maxSizeLimit;
}
if (!empty($params['maxSize']) && $params['maxSize'] > $maxSizeLimit) {
throw new Forbidden("Max size should should not exceed " . $maxSizeLimit . ". Use offset and limit.");
}
$result = $this->getServiceFactory()->create('LastViewed')->getList($params);
return (object) [
'total' => $result->total,
'list' => $result->collection->getValueMapList()
];
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -39,15 +39,15 @@ class Layout extends \Espo\Core\Controllers\Base
{
public function actionRead($params, $data)
{
$data = $this->getContainer()->get('layout')->get($params['scope'], $params['name']);
if (empty($data)) {
throw new NotFound("Layout " . $params['scope'] . ":" . $params['name'] . ' is not found.');
}
return $data;
return $this->getServiceFactory()->create('Layout')->getForFrontend($params['scope'], $params['name']);
}
public function actionUpdate($params, $data, $request)
{
if (is_object($data)) {
$data = get_object_vars($data);
}
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
@@ -74,15 +74,18 @@ class Layout extends \Espo\Core\Controllers\Base
return $this->actionUpdate($params, $data, $request);
}
public function actionResetToDefault($params, $data, $request)
public function postActionResetToDefault($params, $data, $request)
{
if (!$request->isPost()) {
throw new BadRequest();
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
if (empty($data['scope']) || empty($data['name'])) {
if (empty($data->scope) || empty($data->name)) {
throw new BadRequest();
}
return $this->getContainer()->get('layout')->resetToDefault($data['scope'], $data['name']);
$this->getContainer()->get('dataManager')->updateCacheTimestamp();
return $this->getContainer()->get('layout')->resetToDefault($data->scope, $data->name);
}
}

View File

@@ -0,0 +1,79 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
use \Espo\Core\Exceptions\NotFound;
class LeadCapture extends \Espo\Core\Controllers\Record
{
public function postActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($data)) throw new BadRequest('No payload provided.');
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
return $this->getRecordService()->leadCapture($params['apiKey'], $data);
}
public function optionsActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (!$this->getRecordService()->isApiKeyValid($params['apiKey'])) {
throw new NotFound();
}
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
$response->headers->set('Access-Control-Allow-Methods', 'POST');
return true;
}
public function postActionGenerateNewApiKey($params, $data, $request)
{
if (empty($data->id)) throw new BadRequest();
return $this->getRecordService()->generateNewApiKeyForEntity($data->id)->getValueMap();
}
public function getActionSmtpAccountDataList()
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
return $this->getServiceFactory()->create('LeadCapture')->getSmtpAccountDataList();
}
}

View File

@@ -0,0 +1,38 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 LeadCaptureLogRecord extends \Espo\Core\Controllers\Record
{
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -25,15 +25,27 @@
*
* 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 Metadata extends \Espo\Core\Controllers\Base
{
public function actionRead($params, $data)
{
return $this->getMetadata()->getAll(true);
return $this->getServiceFactory()->create('Metadata')->getDataForFrontend();
}
public function getActionGet($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) {
throw new \Forbidden();
}
$key = $request->get('key');
return $this->getMetadata()->get($key, false);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -35,7 +35,7 @@ class Notification extends \Espo\Core\Controllers\Record
{
public static $defaultAction = 'list';
public function actionList($params, $data, $request)
public function getActionList($params, $data, $request, $response)
{
$userId = $this->getUser()->id;
@@ -43,6 +43,10 @@ class Notification extends \Espo\Core\Controllers\Record
$maxSize = intval($request->get('maxSize'));
$after = $request->get('after');
if (empty($maxSize)) {
$maxSize = self::MAX_SIZE_LIMIT;
}
$params = array(
'offset' => $offset,
'maxSize' => $maxSize,
@@ -69,29 +73,28 @@ class Notification extends \Espo\Core\Controllers\Record
return $this->getService('Notification')->markAllRead($userId);
}
public function actionExport($params, $data, $request)
public function beforeExport()
{
throw new Error();
}
public function actionMassUpdate($params, $data, $request)
public function beforeMassUpdate()
{
throw new Error();
}
public function actionCreateLink($params, $data, $request)
public function beforeCreateLink()
{
throw new Error();
}
public function actionRemoveLink($params, $data, $request)
public function beforeRemoveLink()
{
throw new Error();
}
public function actionMerge($params, $data, $request)
public function beforeMerge()
{
throw new Error();
}
}

View File

@@ -0,0 +1,60 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
use \Espo\Core\Exceptions\Error;
class Pdf extends \Espo\Core\Controllers\Base
{
public function postActionMassPrint($params, $data)
{
if (empty($data->idList) || !is_array($data->idList)) {
throw new BadRequest();
}
if (empty($data->entityType)) {
throw new BadRequest();
}
if (empty($data->templateId)) {
throw new BadRequest();
}
if (!$this->getAcl()->checkScope('Template')) {
throw new Forbidden();
}
if (!$this->getAcl()->checkScope($data->entityType)) {
throw new Forbidden();
}
return [
'id' => $this->getServiceFactory()->create('Pdf')->massGenerate($data->entityType, $data->idList, $data->templateId, true)
];
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -88,16 +88,16 @@ class Preferences extends \Espo\Core\Controllers\Base
throw new BadRequest();
}
if ($this->getAcl()->getLevel('Preferences', 'read') === 'no') {
if ($this->getAcl()->getLevel('Preferences', 'edit') === 'no') {
throw new Forbidden();
}
foreach ($this->getAcl()->getScopeForbiddenAttributeList('Preferences', 'edit') as $attribute) {
unset($data[$attribute]);
unset($data->$attribute);
}
if (array_key_exists('smtpPassword', $data)) {
$data['smtpPassword'] = $this->getCrypt()->encrypt($data['smtpPassword']);
if (property_exists($data, 'smtpPassword')) {
$data->smtpPassword = $this->getCrypt()->encrypt($data->smtpPassword);
}
$user = $this->getEntityManager()->getEntity('User', $userId);
@@ -113,7 +113,7 @@ class Preferences extends \Espo\Core\Controllers\Base
$entity->clear('smtpPassword');
return $entity->toArray();
return $entity->getValueMap();
}
throw new Error();
}
@@ -132,7 +132,7 @@ class Preferences extends \Espo\Core\Controllers\Base
$entity->set('smtpEmailAddress', $user->get('emailAddress'));
$entity->set('name', $user->get('name'));
$entity->set('isPortalUser', $user->get('isPortalUser'));
$entity->set('isPortalUser', $user->isPortal());
$entity->clear('smtpPassword');
@@ -140,7 +140,47 @@ class Preferences extends \Espo\Core\Controllers\Base
$entity->clear($attribute);
}
return $entity->toArray();
return $entity->getValueMap();
}
public function postActionResetDashboard($params, $data)
{
if (empty($data->id)) throw new BadRequest();
$userId = $data->id;
$this->handleUserAccess($userId);
$user = $this->getEntityManager()->getEntity('User', $userId);
$preferences = $this->getEntityManager()->getEntity('Preferences', $userId);
if (!$user) throw new NotFound();
if (!$preferences) throw new NotFound();
if ($user->isPortal()) throw new Forbidden();
if ($this->getAcl()->getLevel('Preferences', 'edit') === 'no') {
throw new Forbidden();
}
$forbiddenAttributeList = $this->getAcl()->getScopeForbiddenAttributeList('Preferences', 'edit');
if (in_array('dashboardLayout', $forbiddenAttributeList)) {
throw new Forbidden();
}
$dashboardLayout = $this->getConfig()->get('dashboardLayout');
$dashletsOptions = $this->getConfig()->get('dashletsOptions');
$preferences->set([
'dashboardLayout' => $dashboardLayout,
'dashletsOptions' => $dashletsOptions
]);
$this->getEntityManager()->saveEntity($preferences);
return (object) [
'dashboardLayout' => $preferences->get('dashboardLayout'),
'dashletsOptions' => $preferences->get('dashletsOptions')
];
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -25,10 +25,12 @@
*
* 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 ScheduledJob extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
@@ -38,4 +40,3 @@ class ScheduledJob extends \Espo\Core\Controllers\Record
}
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -25,10 +25,12 @@
*
* 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 ScheduledJobLogRecord extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
@@ -38,4 +40,3 @@ class ScheduledJobLogRecord extends \Espo\Core\Controllers\Record
}
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -29,26 +29,23 @@
namespace Espo\Controllers;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class Settings extends \Espo\Core\Controllers\Base
{
protected function getConfigData()
{
$data = $this->getConfig()->getData($this->getUser()->isAdmin());
$data = $this->getServiceFactory()->create('Settings')->getConfigData();
$fieldDefs = $this->getMetadata()->get('entityDefs.Settings.fields');
$data->jsLibs = $this->getMetadata()->get(['app', 'jsLibs']);
foreach ($fieldDefs as $field => $d) {
if ($d['type'] == 'password') {
unset($data[$field]);
}
unset($data->loginView);
$loginView = $this->getMetadata()->get(['clientDefs', 'App', 'loginView']);
if ($loginView) {
$data->loginView = $loginView;
}
$data['jsLibs'] = $this->getMetadata()->get('app.jsLibs');
return $data;
}
@@ -72,21 +69,7 @@ class Settings extends \Espo\Core\Controllers\Base
throw new BadRequest();
}
if (isset($data['useCache']) && $data['useCache'] != $this->getConfig()->get('useCache')) {
$this->getContainer()->get('dataManager')->clearCache();
}
$this->getConfig()->setData($data, $this->getUser()->isAdmin());
$result = $this->getConfig()->save();
if ($result === false) {
throw new Error('Cannot save settings');
}
/** Rebuild for Currency Settings */
if (isset($data['baseCurrency']) || isset($data['currencyRates'])) {
$this->getContainer()->get('dataManager')->rebuildDatabase(array());
}
/** END Rebuild for Currency Settings */
$this->getServiceFactory()->create('Settings')->setConfigData($data);
return $this->getConfigData();
}
@@ -97,10 +80,12 @@ class Settings extends \Espo\Core\Controllers\Base
throw new Forbidden();
}
if (!isset($data['password'])) {
$data['password'] = $this->getConfig()->get('ldapPassword');
if (!isset($data->password)) {
$data->password = $this->getConfig()->get('ldapPassword');
}
$data = get_object_vars($data);
$ldapUtils = new \Espo\Core\Utils\Authentication\LDAP\Utils();
$options = $ldapUtils->normalizeOptions($data);

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -46,27 +46,64 @@ class Stream extends \Espo\Core\Controllers\Base
$maxSize = intval($request->get('maxSize'));
$after = $request->get('after');
$filter = $request->get('filter');
$skipOwn = $request->get('skipOwn') === 'true';
$service = $this->getService('Stream');
$maxSizeLimit = $this->getConfig()->get('recordListMaxSizeLimit', self::MAX_SIZE_LIMIT);
if (empty($maxSize)) {
$maxSize = self::MAX_SIZE_LIMIT;
$maxSize = $maxSizeLimit;
}
if (!empty($maxSize) && $maxSize > self::MAX_SIZE_LIMIT) {
throw new Forbidden();
if (!empty($maxSize) && $maxSize > $maxSizeLimit) {
throw new Forbidden("Max size should should not exceed " . $maxSizeLimit . ". Use offset and limit.");
}
$result = $service->find($scope, $id, array(
$result = $service->find($scope, $id, [
'offset' => $offset,
'maxSize' => $maxSize,
'after' => $after,
'filter' => $filter
));
'filter' => $filter,
'skipOwn' => $skipOwn,
]);
return array(
'total' => $result['total'],
'list' => $result['collection']->toArray()
);
return (object) [
'total' => $result->total,
'list' => $result->collection->getValueMapList()
];
}
public function getActionListPosts($params, $data, $request)
{
$scope = $params['scope'];
$id = isset($params['id']) ? $params['id'] : null;
$offset = intval($request->get('offset'));
$maxSize = intval($request->get('maxSize'));
$after = $request->get('after');
$where = $request->get('where');
$service = $this->getService('Stream');
$maxSizeLimit = $this->getConfig()->get('recordListMaxSizeLimit', self::MAX_SIZE_LIMIT);
if (empty($maxSize)) {
$maxSize = $maxSizeLimit;
}
if (!empty($maxSize) && $maxSize > $maxSizeLimit) {
throw new Forbidden("Max size should should not exceed " . $maxSizeLimit . ". Use offset and limit.");
}
$result = $service->find($scope, $id, [
'offset' => $offset,
'maxSize' => $maxSize,
'after' => $after,
'filter' => 'posts',
'where' => $where,
]);
return (object) [
'total' => $result->total,
'list' => $result->collection->getValueMapList()
];
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -31,6 +31,4 @@ namespace Espo\Controllers;
class Team extends \Espo\Core\Controllers\Record
{
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -35,4 +35,3 @@ class Template extends \Espo\Core\Controllers\Record
{
}

View File

@@ -0,0 +1,122 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Utils as Utils;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
class TemplateManager extends \Espo\Core\Controllers\Base
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin()) {
throw new Forbidden();
}
}
public function getActionGetTemplate($params, $data, $request)
{
$name = $request->get('name');
if (empty($name)) throw new BadRequest();
$scope = $request->get('scope');
$module = null;
$module = $this->getMetadata()->get(['app', 'templates', $name, 'module']);
$hasSubject = !$this->getMetadata()->get(['app', 'templates', $name, 'noSubject']);
$templateFileManager = $this->getContainer()->get('templateFileManager');
$returnData = (object) [];
$returnData->body = $templateFileManager->getTemplate($name, 'body', $scope, $module);
if ($hasSubject) {
$returnData->subject = $templateFileManager->getTemplate($name, 'subject', $scope, $module);
}
return $returnData;
}
public function postActionSaveTemplate($params, $data)
{
$scope = null;
if (empty($data->name)) {
throw new BadRequest();
}
if (!empty($data->scope)) {
$scope = $data->scope;
}
$templateFileManager = $this->getContainer()->get('templateFileManager');
if (isset($data->subject)) {
$templateFileManager->saveTemplate($data->name, 'subject', $data->subject, $scope);
}
if (isset($data->body)) {
$templateFileManager->saveTemplate($data->name, 'body', $data->body, $scope);
}
return true;
}
public function postActionResetTemplate($params, $data)
{
$scope = null;
if (empty($data->name)) {
throw new BadRequest();
}
if (!empty($data->scope)) {
$scope = $data->scope;
}
$module = null;
$module = $this->getMetadata()->get(['app', 'templates', $data->name, 'module']);
$hasSubject = !$this->getMetadata()->get(['app', 'templates', $data->name, 'noSubject']);
$templateFileManager = $this->getContainer()->get('templateFileManager');
if ($hasSubject) {
$templateFileManager->resetTemplate($data->name, 'subject', $scope);
}
$templateFileManager->resetTemplate($data->name, 'body', $scope);
$returnData = (object) [];
$returnData->body = $templateFileManager->getTemplate($data->name, 'body', $scope, $module);
if ($hasSubject) {
$returnData->subject = $templateFileManager->getTemplate($data->name, 'subject', $scope, $module);
}
return $returnData;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -57,53 +57,81 @@ class User extends \Espo\Core\Controllers\Record
public function postActionChangeOwnPassword($params, $data, $request)
{
if (!array_key_exists('password', $data) || !array_key_exists('currentPassword', $data)) {
if (!property_exists($data, 'password') || !property_exists($data, 'currentPassword')) {
throw new BadRequest();
}
return $this->getService('User')->changePassword($this->getUser()->id, $data['password'], true, $data['currentPassword']);
return $this->getService('User')->changePassword($this->getUser()->id, $data->password, true, $data->currentPassword);
}
public function postActionChangePasswordByRequest($params, $data, $request)
{
if (empty($data['requestId']) || empty($data['password'])) {
if (empty($data->requestId) || empty($data->password)) {
throw new BadRequest();
}
$p = $this->getEntityManager()->getRepository('PasswordChangeRequest')->where(array(
'requestId' => $data['requestId']
))->findOne();
if ($this->getConfig()->get('passwordRecoveryDisabled')) {
throw new Forbidden("Password recovery disabled");
}
if (!$p) {
$request = $this->getEntityManager()->getRepository('PasswordChangeRequest')->where([
'requestId' => $data->requestId
])->findOne();
if (!$request) {
throw new Forbidden();
}
$userId = $p->get('userId');
$userId = $request->get('userId');
if (!$userId) {
throw new Error();
}
$this->getEntityManager()->removeEntity($p);
if ($this->getService('User')->changePassword($userId, $data['password'])) {
return array(
'url' => $p->get('url')
);
if ($this->getService('User')->changePassword($userId, $data->password)) {
$this->getEntityManager()->removeEntity($request);
return [
'url' => $request->get('url')
];
}
}
public function postActionPasswordChangeRequest($params, $data, $request)
{
if (empty($data['userName']) || empty($data['emailAddress'])) {
if (empty($data->userName) || empty($data->emailAddress)) {
throw new BadRequest();
}
$userName = $data['userName'];
$emailAddress = $data['emailAddress'];
$userName = $data->userName;
$emailAddress = $data->emailAddress;
$url = null;
if (!empty($data['url'])) {
$url = $data['url'];
if (!empty($data->url)) {
$url = $data->url;
}
return $this->getService('User')->passwordChangeRequest($userName, $emailAddress, $url);
}
}
public function postActionGenerateNewApiKey($params, $data, $request)
{
if (empty($data->id)) throw new BadRequest();
if (!$this->getUser()->isAdmin()) throw new Forbidden();
return $this->getRecordService()->generateNewApiKeyForEntity($data->id)->getValueMap();
}
public function postActionGenerateNewPassword($params, $data, $request)
{
if (empty($data->id)) throw new BadRequest();
if (!$this->getUser()->isAdmin()) throw new Forbidden();
$this->getRecordService()->generateNewPasswordForUser($data->id);
return true;
}
public function beforeCreateLink()
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
}
public function beforeRemoveLink($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
}
}

View File

@@ -0,0 +1,77 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\NotFound;
use \Espo\Core\Exceptions\BadRequest;
class UserSecurity extends \Espo\Core\Controllers\Base
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin() && !$this->getUser()->isRegular()) {
throw new Forbidden();
}
}
public function getActionRead($params, $data, $request)
{
$id = $params['id'] ?? null;
if (!$id) throw new BadRequest();
if (!$this->getUser()->isAdmin() && $id !== $this->getUser()->id) throw new Forbidden();
return $this->getService('UserSecurity')->read($id);
}
public function postActionGenerate2FAData($params, $data)
{
$data = $data ?? (object) [];
$id = $data->id;
if (!$id) throw new BadRequest();
if (!$this->getUser()->isAdmin() && $id !== $this->getUser()->id) throw new Forbidden();
return $this->getService('UserSecurity')->generate2FAData($id, $data);
}
public function putActionUpdate($params, $data)
{
$id = $params['id'] ?? null;
$data = $data ?? (object) [];
if (!$id) throw new BadRequest();
if (!$this->getUser()->isAdmin() && $id !== $this->getUser()->id) throw new Forbidden();
return $this->getService('UserSecurity')->update($id, $data);
}
}

View File

@@ -0,0 +1,50 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Error;
use \Espo\Core\Exceptions\Forbidden;
class Webhook extends \Espo\Core\Controllers\Record
{
protected function checkControllerAccess()
{
if (!$this->getUser()->isAdmin() && !$this->getUser()->isApi()) {
throw new Forbidden();
}
}
public function actionCreate($params, $data, $request, $response = null)
{
$result = parent::actionCreate($params, $data, $request, $response);
if ($response) $response->setStatus(201);
return $result;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -69,6 +69,11 @@ class Acl
return $this->getAclManager()->get($this->getUser(), $permission);
}
public function checkReadNo($scope)
{
return $this->getAclManager()->checkReadNo($this->getUser(), $scope);
}
public function checkReadOnlyTeam($scope)
{
return $this->getAclManager()->checkReadOnlyTeam($this->getUser(), $scope);
@@ -119,6 +124,11 @@ class Acl
return $this->getAclManager()->getScopeForbiddenFieldList($this->getUser(), $scope, $action, $thresholdLevel);
}
public function getScopeForbiddenLinkList($scope, $action = 'read', $thresholdLevel = 'no')
{
return $this->getAclManager()->getScopeForbiddenLinkList($this->getUser(), $scope, $action, $thresholdLevel);
}
public function checkUserPermission($target, $permissionType = 'userPermission')
{
return $this->getAclManager()->checkUserPermission($this->getUser(), $target, $permissionType);
@@ -128,5 +138,19 @@ class Acl
{
return $this->getAclManager()->checkAssignmentPermission($this->getUser(), $target);
}
}
public function getScopeRestrictedFieldList($scope, $type)
{
return $this->getAclManager()->getScopeRestrictedFieldList($scope, $type);
}
public function getScopeRestrictedAttributeList($scope, $type)
{
return $this->getAclManager()->getScopeRestrictedAttributeList($scope, $type);
}
public function getScopeRestrictedLinkList($scope, $type)
{
return $this->getAclManager()->getScopeRestrictedLinkList($scope, $type);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -36,15 +36,21 @@ use \Espo\ORM\Entity;
class Base implements Injectable
{
protected $dependencies = array(
protected $dependencyList = [
'config',
'entityManager',
'aclManager'
);
'aclManager',
];
protected $dependencies = []; // for backward compatibility
protected $scope;
protected $injections = array();
protected $injections = [];
protected $ownerUserIdAttribute = null;
protected $allowDeleteCreatedThresholdPeriod = '24 hours';
public function inject($name, $object)
{
@@ -75,12 +81,12 @@ class Base implements Injectable
protected function addDependency($name)
{
$this->dependencies[] = $name;
$this->dependencyList[] = $name;
}
public function getDependencyList()
{
return $this->dependencies;
return array_merge($this->dependencyList, $this->dependencies);
}
protected function getConfig()
@@ -106,6 +112,14 @@ class Base implements Injectable
return $data->read === 'team';
}
public function checkReadNo(User $user, $data)
{
if (empty($data) || !is_object($data) || !isset($data->read)) {
return false;
}
return $data->read === 'no';
}
public function checkReadOnlyOwn(User $user, $data)
{
if (empty($data) || !is_object($data) || !isset($data->read)) {
@@ -155,7 +169,7 @@ class Base implements Injectable
}
if (!isset($data->$action)) {
return true;
return false;
}
$value = $data->$action;
@@ -209,7 +223,7 @@ class Base implements Injectable
}
}
if ($entity->hasAttribute('assignedUsersIds') && $entity->hasRelation('assignedUsers')) {
if ($entity->hasLinkMultipleField('assignedUsers')) {
if ($entity->hasLinkMultipleId('assignedUsers', $user->id)) {
return true;
}
@@ -252,16 +266,31 @@ class Base implements Injectable
if (is_object($data)) {
if ($data->edit !== 'no' || $data->create !== 'no') {
if ($entity->has('createdById') && $entity->get('createdById') == $user->id) {
if (
$this->getConfig()->get('aclAllowDeleteCreated')
&&
$entity->has('createdById') && $entity->get('createdById') == $user->id
) {
$isDeletedAllowed = false;
if (!$entity->has('assignedUserId')) {
return true;
$isDeletedAllowed = true;
} else {
if (!$entity->get('assignedUserId')) {
return true;
$isDeletedAllowed = true;
} else if ($entity->get('assignedUserId') == $entity->get('createdById')) {
$isDeletedAllowed = true;
}
if ($entity->get('assignedUserId') == $entity->get('createdById')) {
return true;
}
if ($isDeletedAllowed) {
$createdAt = $entity->get('createdAt');
if ($createdAt) {
$deleteThresholdPeriod = $this->getConfig()->get('aclAllowDeleteCreatedThresholdPeriod', $this->allowDeleteCreatedThresholdPeriod);
if (\Espo\Core\Utils\DateTime::isAfterThreshold($createdAt, $deleteThresholdPeriod)) {
return false;
}
}
return true;
}
}
}
@@ -269,5 +298,23 @@ class Base implements Injectable
return false;
}
}
public function getOwnerUserIdAttribute(Entity $entity)
{
if ($this->ownerUserIdAttribute) {
return $this->ownerUserIdAttribute;
}
if ($entity->hasLinkMultipleField('assignedUsers')) {
return 'assignedUsersIds';
}
if ($entity->hasAttribute('assignedUserId')) {
return 'assignedUserId';
}
if ($entity->hasAttribute('createdById')) {
return 'createdById';
}
}
}

View File

@@ -0,0 +1,197 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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\Acl;
class GlobalRestricton
{
protected $fieldTypeList = [
'forbidden', // totally forbidden
'internal', // reading forbidden, writing allowed
'onlyAdmin', // forbidden for non admin users
'readOnly', // read-only for all users
'nonAdminReadOnly' // read-only for non-admin users
];
protected $linkTypeList = [
'forbidden', // totally forbidden
'internal', // reading forbidden, writing allowed
'onlyAdmin', // forbidden for non admin users
'readOnly', // read-only for all users
'nonAdminReadOnly' // read-only for non-admin users
];
protected $cacheFilePath = 'data/cache/application/entityAcl.php';
private $metadata;
private $fileManager;
private $fieldManagerUtil;
private $data;
public function __construct(
\Espo\Core\Utils\Metadata $metadata,
\Espo\Core\Utils\File\Manager $fileManager,
\Espo\Core\Utils\FieldManagerUtil $fieldManagerUtil,
bool $useCache = true
)
{
$this->metadata = $metadata;
$this->fileManager = $fileManager;
$this->fieldManagerUtil = $fieldManagerUtil;
$isFromCache = false;
if ($useCache) {
if (file_exists($this->cacheFilePath)) {
$this->data = include($this->cacheFilePath);
$isFromCache = true;
if (!($this->data instanceof \StdClass)) {
$GLOBALS['log']->error("ACL GlobalRestricton: Bad data fetched from cache.");
$this->data = null;
}
}
}
if (!$this->data) {
$this->buildData();
}
if ($useCache) {
if (!$isFromCache) {
$this->storeCacheFile();
}
}
}
protected function storeCacheFile()
{
$this->getFileManager()->putPhpContents($this->cacheFilePath, $this->data, true);
}
protected function buildData()
{
$scopeList = array_keys($this->getMetadata()->get(['entityDefs'], []));
$data = (object) [];
foreach ($scopeList as $scope) {
$fieldList = array_keys($this->getMetadata()->get(['entityDefs', $scope, 'fields'], []));
$linkList = array_keys($this->getMetadata()->get(['entityDefs', $scope, 'links'], []));
$isNotEmpty = false;
$scopeData = (object) [
'fields' => (object) [],
'attributes' => (object) [],
'links' => (object) []
];
foreach ($this->fieldTypeList as $type) {
$resultFieldList = [];
$resultAttributeList = [];
foreach ($fieldList as $field) {
if ($this->getMetadata()->get(['entityAcl', $scope, 'fields', $field, $type])) {
$isNotEmpty = true;
$resultFieldList[] = $field;
$fieldAttributeList = $this->getFieldManagerUtil()->getAttributeList($scope, $field);
foreach ($fieldAttributeList as $attribute) {
$resultAttributeList[] = $attribute;
}
}
}
$scopeData->fields->$type = $resultFieldList;
$scopeData->attributes->$type = $resultAttributeList;
}
foreach ($this->linkTypeList as $type) {
$resultLinkList = [];
foreach ($linkList as $link) {
if ($this->getMetadata()->get(['entityAcl', $scope, 'links', $link, $type])) {
$isNotEmpty = true;
$resultLinkList[] = $link;
}
}
$scopeData->links->$type = $resultLinkList;
}
if ($isNotEmpty) {
$data->$scope = $scopeData;
}
}
$this->data = $data;
}
protected function getMetadata()
{
return $this->metadata;
}
protected function getFileManager()
{
return $this->fileManager;
}
protected function getFieldManagerUtil()
{
return $this->fieldManagerUtil;
}
public function getScopeRestrictedFieldList($scope, $type)
{
if (!property_exists($this->data, $scope)) return [];
if (!property_exists($this->data->$scope, 'fields')) return [];
if (!property_exists($this->data->$scope->fields, $type)) return [];
return $this->data->$scope->fields->$type;
}
public function getScopeRestrictedAttributeList($scope, $type)
{
if (!property_exists($this->data, $scope)) return [];
if (!property_exists($this->data->$scope, 'attributes')) return [];
if (!property_exists($this->data->$scope->attributes, $type)) return [];
return $this->data->$scope->attributes->$type;
}
public function getScopeRestrictedLinkList($scope, $type)
{
if (!property_exists($this->data, $scope)) return [];
if (!property_exists($this->data->$scope, 'links')) return [];
if (!property_exists($this->data->$scope->links, $type)) return [];
return $this->data->$scope->links->$type;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -36,7 +36,7 @@ use \Espo\Entities\User;
use \Espo\Core\Utils\Config;
use \Espo\Core\Utils\Metadata;
use \Espo\Core\Utils\FieldManager;
use \Espo\Core\Utils\FieldManagerUtil;
use \Espo\Core\Utils\File\Manager as FileManager;
class Table
@@ -59,13 +59,9 @@ class Table
protected $fieldLevelList = ['yes', 'no'];
protected $valuePermissionList = ['assignmentPermission', 'userPermission', 'portalPermission'];
protected $valuePermissionHighestLevels = array();
protected $valuePrtmissionHighestLevels = array(
'assignmentPermission' => 'all',
'userPermission' => 'all',
'portalPermission' => 'yes'
);
protected $valuePermissionList = [];
private $fileManager;
@@ -77,7 +73,11 @@ class Table
protected $forbiddenFieldsCache = array();
public function __construct(User $user, Config $config = null, FileManager $fileManager = null, Metadata $metadata = null, FieldManager $fieldManager = null)
protected $isStrictModeForced = false;
protected $isStrictMode = false;
public function __construct(User $user, Config $config = null, FileManager $fileManager = null, Metadata $metadata = null, FieldManagerUtil $fieldManager = null)
{
$this->data = (object) [
'table' => (object) [],
@@ -85,6 +85,12 @@ class Table
'fieldTableQuickAccess' => (object) [],
];
if ($this->isStrictModeForced) {
$this->isStrictMode = true;
} else {
$this->isStrictMode = $config->get('aclStrictMode', true);
}
$this->user = $user;
$this->metadata = $metadata;
@@ -100,7 +106,8 @@ class Table
if ($fileManager) {
$this->fileManager = $fileManager;
}
$this->valuePermissionList = $this->metadata->get('app.' . $this->type . '.defs.valuePermissionList', $this->valuePermissionList);
$this->valuePermissionList = $this->metadata->get(['app', $this->type, 'valuePermissionList'], []);
$this->valuePermissionHighestLevels = $this->metadata->get(['app', $this->type, 'valuePermissionHighestLevels'], array());
$this->initCacheFilePath();
@@ -135,11 +142,6 @@ class Table
return $this->fieldManager;
}
protected function getConfig()
{
return $this->config;
}
public function getMap()
{
return $this->data;
@@ -167,7 +169,7 @@ class Table
if (isset($this->data->$permission)) {
return $this->data->$permission;
}
return null;
return 'no';
}
public function getLevel($scope, $action)
@@ -177,7 +179,16 @@ class Table
return $this->data->table->$scope->$action;
}
}
return false;
return 'no';
}
public function getHighestLevel($action)
{
if (in_array($action, $this->booleanActionList)) {
return 'yes';
} else {
return 'all';
}
}
private function load()
@@ -208,6 +219,7 @@ class Table
$this->applyDisabled($aclTable, $fieldTable);
$this->applyMandatory($aclTable, $fieldTable);
$this->applyAdditional($aclTable, $fieldTable, $valuePermissionLists);
$this->applyReadOnlyFields($fieldTable);
} else {
$aclTable = (object) [];
foreach ($this->getScopeList() as $scope) {
@@ -242,8 +254,12 @@ class Table
$this->fillFieldTableQuickAccess();
if (!$this->getUser()->isAdmin()) {
$permissionsDefaultsGroupName = 'permissionsDefaults';
if ($this->isStrictMode) {
$permissionsDefaultsGroupName = 'permissionsStrictDefaults';
}
foreach ($this->valuePermissionList as $permission) {
$this->data->$permission = $this->mergeValueList($valuePermissionLists->$permission, $this->metadata->get('app.'.$this->type.'.default.' . $permission, 'yes'));
$this->data->$permission = $this->mergeValueList($valuePermissionLists->$permission, $this->metadata->get(['app', $this->type, $permissionsDefaultsGroupName, $permission, 'yes']));
if ($this->metadata->get('app.'.$this->type.'.mandatory.' . $permission)) {
$this->data->$permission = $this->metadata->get('app.'.$this->type.'.mandatory.' . $permission);
}
@@ -251,8 +267,8 @@ class Table
} else {
foreach ($this->valuePermissionList as $permission) {
if (isset($this->valuePrtmissionHighestLevels[$permission])) {
$this->data->$permission = $this->valuePrtmissionHighestLevels[$permission];
if (isset($this->valuePermissionHighestLevels[$permission])) {
$this->data->$permission = $this->valuePermissionHighestLevels[$permission];
continue;
}
$this->data->$permission = 'all';
@@ -405,7 +421,12 @@ class Table
return;
}
$data = $this->metadata->get('app.'.$this->type.'.default.scopeLevel', array());
$defaultsGroupName = 'default';
if ($this->isStrictMode) {
$defaultsGroupName = 'strictDefault';
}
$data = $this->metadata->get(['app', $this->type, $defaultsGroupName, 'scopeLevel'], []);
foreach ($data as $scope => $item) {
if (isset($table->$scope)) continue;
@@ -416,7 +437,7 @@ class Table
$table->$scope = $value;
}
$defaultFieldData = $this->metadata->get('app.'.$this->type.'.default.fieldLevel', array());
$defaultFieldData = $this->metadata->get(['app', $this->type, $defaultsGroupName, 'fieldLevel'], []);
foreach ($this->getScopeList() as $scope) {
if (isset($table->$scope) && $table->$scope === false) continue;
@@ -424,7 +445,7 @@ class Table
$fieldList = array_keys($this->getMetadata()->get("entityDefs.{$scope}.fields", []));
$defaultScopeFieldData = $this->metadata->get('app.'.$this->type.'.default.scopeFieldLevel.' . $scope, array());
$defaultScopeFieldData = $this->metadata->get('app.'.$this->type.'.'.$defaultsGroupName.'.scopeFieldLevel.' . $scope, []);
foreach (array_merge($defaultFieldData, $defaultScopeFieldData) as $field => $f) {
if (!in_array($field, $fieldList)) continue;
@@ -454,11 +475,26 @@ class Table
$aclType = $this->defaultAclType;
}
if (!empty($aclType)) {
$defaultValue = $this->metadata->get('app.'.$this->type.'.scopeLevelTypesDefaults.' . $aclType, $this->metadata->get('app.'.$this->type.'.scopeLevelTypesDefaults.record'));
$paramDefaultsName = 'scopeLevelTypesDefaults';
if ($this->isStrictMode) {
$paramDefaultsName = 'scopeLevelTypesStrictDefaults';
}
$defaultValue = $this->metadata->get(['app', $this->type, $paramDefaultsName, $aclType], $this->metadata->get(['app', $this->type, $paramDefaultsName, 'record']));
if (is_array($defaultValue)) {
$defaultValue = (object) $defaultValue;
}
$table->$scope = $defaultValue;
if (is_object($table->$scope)) {
$actionList = $this->getMetadata()->get(['scopes', $scope, $this->type . 'ActionList']);
if ($actionList) {
foreach (get_object_vars($table->$scope) as $action => $level) {
if (!in_array($action, $actionList)) {
unset($table->$scope->$action);
}
}
}
}
}
}
}
@@ -527,7 +563,7 @@ class Table
protected function applyAdditional(&$table, &$fieldTable, &$valuePermissionLists)
{
if ($this->getUser()->get('isPortalUser')) {
if ($this->getUser()->isPortal()) {
foreach ($this->getScopeList() as $scope) {
$table->$scope = false;
unset($fieldTable->$scope);
@@ -606,7 +642,9 @@ class Table
if (!is_object($row)) continue;
foreach ($this->actionList as $i => $action) {
$actionList = $this->getMetadata()->get(['scopes', $scope, $this->type . 'ActionList'], $this->actionList);
foreach ($actionList as $i => $action) {
if (isset($row->$action)) {
$level = $row->$action;
if (!isset($data->$scope->$action)) {
@@ -623,7 +661,7 @@ class Table
if (in_array($action, $this->booleanActionList)) {
$data->$scope->$action = 'yes';
} else {
if (isset($data->$scope->$previousAction)) {
if ($action === 'stream' && isset($data->$scope->$previousAction)) {
$data->$scope->$action = $data->$scope->$previousAction;
}
}
@@ -684,25 +722,30 @@ class Table
private function buildCache()
{
$contents = '<' . '?'. 'php return ' . $this->varExport($this->data) . ';';
$this->fileManager->putContents($this->cacheFilePath, $contents);
$this->fileManager->putPhpContents($this->cacheFilePath, $this->data, true);
}
private function varExport($variable)
protected function applyReadOnlyFields(&$fieldTable)
{
if ($variable instanceof \StdClass) {
$result = '(object) ' . $this->varExport(get_object_vars($variable), true);
} else if (is_array($variable)) {
$array = array();
foreach ($variable as $key => $value) {
$array[] = var_export($key, true).' => ' . $this->varExport($value, true);
// TODO Enable in 5.4.0
return;
$scopeList = $this->getScopeWithAclList();
foreach ($scopeList as $scope) {
if (!property_exists($fieldTable, $scope)) continue;
$fieldList = array_keys($this->getMetadata()->get(['entityDefs', $scope, 'fields'], []));
foreach ($fieldList as $field) {
if ($this->getMetadata()->get(['entityDefs', $scope, 'fields', $field, 'readOnly'])) {
if (property_exists($fieldTable->$scope, $field)) {
$fieldTable->$scope->$field->edit = 'no';
} else {
$fieldTable->$scope->$field = (object) [];
foreach ($this->fieldActionList as $action) {
$fieldTable->$scope->$field->$action = 'yes';
}
$fieldTable->$scope->$field->edit = 'no';
}
}
}
$result = '['.implode(', ', $array).']';
} else {
$result = var_export($variable, true);
}
return $result;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -41,16 +41,27 @@ class AclManager
private $metadata;
private $implementationHashMap = array();
private $implementationHashMap = [];
private $tableHashMap = array();
private $tableHashMap = [];
protected $tableClassName = '\\Espo\\Core\\Acl\\Table';
protected $userAclClassName = '\\Espo\\Core\\Acl';
protected $globalRestricton;
public function __construct(Container $container)
{
$this->container = $container;
$this->metadata = $container->get('metadata');
$this->globalRestricton = new \Espo\Core\Acl\GlobalRestricton(
$container->get('metadata'),
$container->get('fileManager'),
$container->get('fieldManagerUtil'),
$container->get('config')->get('useCache')
);
}
protected function getContainer()
@@ -83,8 +94,8 @@ class AclManager
if (class_exists($className)) {
$acl = new $className($scope);
$dependencies = $acl->getDependencyList();
foreach ($dependencies as $name) {
$dependencyList = $acl->getDependencyList();
foreach ($dependencyList as $name) {
$acl->inject($name, $this->getContainer()->get($name));
}
$this->implementationHashMap[$scope] = $acl;
@@ -107,7 +118,7 @@ class AclManager
$config = $this->getContainer()->get('config');
$fileManager = $this->getContainer()->get('fileManager');
$metadata = $this->getContainer()->get('metadata');
$fieldManager = $this->getContainer()->get('fieldManager');
$fieldManager = $this->getContainer()->get('fieldManagerUtil');
$this->tableHashMap[$key] = new $this->tableClassName($user, $config, $fileManager, $metadata, $fieldManager);
}
@@ -123,7 +134,7 @@ class AclManager
public function getLevel(User $user, $scope, $action)
{
if ($user->isAdmin()) {
return 'all';
return $this->getTable($user)->getHighestLevel($action);
}
return $this->getTable($user)->getLevel($scope, $action);
}
@@ -133,6 +144,15 @@ class AclManager
return $this->getTable($user)->get($permission);
}
public function checkReadNo(User $user, $scope)
{
if ($user->isAdmin()) {
return false;
}
$data = $this->getTable($user)->getScopeData($scope);
return $this->getImplementation($scope)->checkReadNo($user, $data);
}
public function checkReadOnlyTeam(User $user, $scope)
{
if ($user->isAdmin()) {
@@ -171,9 +191,15 @@ class AclManager
$impl = $this->getImplementation($scope);
$methodName = 'checkEntity' . ucfirst($action);
if (method_exists($impl, $methodName)) {
return $impl->$methodName($user, $entity, $data);
if (!$action) {
$action = 'read';
}
if ($action) {
$methodName = 'checkEntity' . ucfirst($action);
if (method_exists($impl, $methodName)) {
return $impl->$methodName($user, $entity, $data);
}
}
return $impl->checkEntity($user, $entity, $data, $action);
@@ -224,16 +250,80 @@ class AclManager
return true;
}
protected function getGlobalRestrictionTypeList(User $user, $action = 'read')
{
$typeList = ['forbidden'];
if ($action === 'read') {
$typeList[] = 'internal';
}
if (!$user->isAdmin()) {
$typeList[] = 'onlyAdmin';
}
if ($action === 'edit') {
$typeList[] = 'readOnly';
if (!$user->isAdmin()) {
$typeList[] = 'nonAdminReadOnly';
}
}
return $typeList;
}
public function getScopeForbiddenAttributeList(User $user, $scope, $action = 'read', $thresholdLevel = 'no')
{
if ($user->isAdmin()) return [];
return $this->getTable($user)->getScopeForbiddenAttributeList($scope, $action, $thresholdLevel);
$list = [];
if (!$user->isAdmin()) {
$list = $this->getTable($user)->getScopeForbiddenAttributeList($scope, $action, $thresholdLevel);
}
if ($thresholdLevel === 'no') {
$list = array_merge(
$list,
$this->getScopeRestrictedAttributeList($scope, $this->getGlobalRestrictionTypeList($user, $action))
);
$list = array_values($list);
}
return $list;
}
public function getScopeForbiddenFieldList(User $user, $scope, $action = 'read', $thresholdLevel = 'no')
{
if ($user->isAdmin()) return [];
return $this->getTable($user)->getScopeForbiddenFieldList($scope, $action, $thresholdLevel);
$list = [];
if (!$user->isAdmin()) {
$list = $this->getTable($user)->getScopeForbiddenFieldList($scope, $action, $thresholdLevel);
}
if ($thresholdLevel === 'no') {
$list = array_merge(
$list,
$this->getScopeRestrictedFieldList($scope, $this->getGlobalRestrictionTypeList($user, $action))
);
$list = array_values($list);
}
return $list;
}
public function getScopeForbiddenLinkList(User $user, $scope, $action = 'read', $thresholdLevel = 'no')
{
$list = [];
if ($thresholdLevel === 'no') {
$list = array_merge(
$list,
$this->getScopeRestrictedLinkList($scope, $this->getGlobalRestrictionTypeList($user, $action))
);
$list = array_values($list);
}
return $list;
}
public function checkUserPermission(User $user, $target, $permissionType = 'userPermission')
@@ -270,5 +360,53 @@ class AclManager
{
return $this->checkUserPermission($user, $target, 'assignmentPermission');
}
}
public function createUserAcl(User $user)
{
$className = $this->userAclClassName;
$acl = new $className($this, $user);
return $acl;
}
public function getScopeRestrictedFieldList($scope, $type)
{
if (is_array($type)) {
$typeList = $type;
$list = [];
foreach ($typeList as $type) {
$list = array_merge($list, $this->globalRestricton->getScopeRestrictedFieldList($scope, $type));
}
$list = array_values($list);
return $list;
}
return $this->globalRestricton->getScopeRestrictedFieldList($scope, $type);
}
public function getScopeRestrictedAttributeList($scope, $type)
{
if (is_array($type)) {
$typeList = $type;
$list = [];
foreach ($typeList as $type) {
$list = array_merge($list, $this->globalRestricton->getScopeRestrictedAttributeList($scope, $type));
}
$list = array_values($list);
return $list;
}
return $this->globalRestricton->getScopeRestrictedAttributeList($scope, $type);
}
public function getScopeRestrictedLinkList($scope, $type)
{
if (is_array($type)) {
$typeList = $type;
$list = [];
foreach ($typeList as $type) {
$list = array_merge($list, $this->globalRestricton->getScopeRestrictedLinkList($scope, $type));
}
$list = array_values($list);
return $list;
}
return $this->globalRestricton->getScopeRestrictedLinkList($scope, $type);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -71,7 +71,7 @@ class Base extends \Espo\Core\Acl\Base
}
if (!isset($data->$action)) {
return true;
return false;
}
$value = $data->$action;
@@ -104,6 +104,13 @@ class Base extends \Espo\Core\Acl\Base
}
if ($inAccount) {
return true;
} else {
if (is_null($isOwnContact) && $entity) {
$isOwnContact = $this->checkIsOwnContact($user, $entity);
}
if ($isOwnContact) {
return true;
}
}
}
@@ -117,7 +124,6 @@ class Base extends \Espo\Core\Acl\Base
}
return false;
}
public function checkReadOnlyAccount(User $user, $data)
@@ -152,13 +158,13 @@ class Base extends \Espo\Core\Acl\Base
{
$accountIdList = $user->getLinkMultipleIdList('accounts');
if (count($accountIdList)) {
if ($entity->hasAttribute('accountId')) {
if ($entity->hasAttribute('accountId') && $entity->getRelationParam('account', 'entity') === 'Account') {
if (in_array($entity->get('accountId'), $accountIdList)) {
return true;
}
}
if ($entity->hasRelation('accounts')) {
if ($entity->hasRelation('accounts') && $entity->getRelationParam('accounts', 'entity') === 'Account') {
$repository = $this->getEntityManager()->getRepository($entity->getEntityType());
foreach ($accountIdList as $accountId) {
if ($repository->isRelated($entity, 'accounts', $accountId)) {
@@ -183,13 +189,13 @@ class Base extends \Espo\Core\Acl\Base
{
$contactId = $user->get('contactId');
if ($contactId) {
if ($entity->hasAttribute('contactId')) {
if ($entity->hasAttribute('contactId') && $entity->getRelationParam('contact', 'entity') === 'Contact') {
if ($entity->get('contactId') === $contactId) {
return true;
}
}
if ($entity->hasRelation('contacts')) {
if ($entity->hasRelation('contacts') && $entity->getRelationParam('contacts', 'entity') === 'Contact') {
$repository = $this->getEntityManager()->getRepository($entity->getEntityType());
if ($repository->isRelated($entity, 'contacts', $contactId)) {
return true;
@@ -207,6 +213,4 @@ class Base extends \Espo\Core\Acl\Base
return false;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -37,7 +37,7 @@ use \Espo\Entities\Portal;
use \Espo\Core\Utils\Config;
use \Espo\Core\Utils\Metadata;
use \Espo\Core\Utils\FieldManager;
use \Espo\Core\Utils\FieldManagerUtil;
use \Espo\Core\Utils\File\Manager as FileManager;
class Table extends \Espo\Core\Acl\Table
@@ -50,9 +50,9 @@ class Table extends \Espo\Core\Acl\Table
protected $levelList = ['yes', 'all', 'account', 'contact', 'own', 'no'];
protected $valuePermissionList = [];
protected $isStrictModeForced = true;
public function __construct(User $user, Portal $portal, Config $config = null, FileManager $fileManager = null, Metadata $metadata = null, FieldManager $fieldManager = null)
public function __construct(User $user, Portal $portal, Config $config = null, FileManager $fileManager = null, Metadata $metadata = null, FieldManagerUtil $fieldManager = null)
{
if (empty($portal)) {
throw new Error("No portal was passed to AclPortal\\Table constructor.");

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -81,6 +81,11 @@ class Application
return $this->container;
}
protected function getConfig()
{
return $this->getContainer()->get('config');
}
public function run($name = 'default')
{
$this->routeHooks();
@@ -91,9 +96,10 @@ class Application
public function runClient()
{
$this->getContainer()->get('clientManager')->display();
exit;
}
public function runEntryPoint($entryPoint, $data = array(), $final = false)
public function runEntryPoint($entryPoint, $data = [], $final = false)
{
if (empty($entryPoint)) {
throw new \Error();
@@ -127,19 +133,76 @@ class Application
$slim->run();
} catch (\Exception $e) {
$container->get('output')->processError($e->getMessage(), $e->getCode(), true);
try {
$container->get('output')->processError($e->getMessage(), $e->getCode(), true, $e);
} catch (\Slim\Exception\Stop $e) {}
}
}
public function runCron()
{
if ($this->getConfig()->get('cronDisabled')) {
$GLOBALS['log']->warning("Cron is not run because it's disabled with 'cronDisabled' param.");
return;
}
$auth = $this->createAuth();
$auth->useNoAuth(true);
$auth->useNoAuth();
$cronManager = new \Espo\Core\CronManager($this->container);
$cronManager->run();
}
public function runDaemon()
{
$maxProcessNumber = $this->getConfig()->get('daemonMaxProcessNumber');
$interval = $this->getConfig()->get('daemonInterval');
$timeout = $this->getConfig()->get('daemonProcessTimeout');
$phpExecutablePath = $this->getConfig()->get('phpExecutablePath');
if (!$phpExecutablePath) {
$phpExecutablePath = (new \Symfony\Component\Process\PhpExecutableFinder)->find();
}
if (!$maxProcessNumber || !$interval) {
$GLOBALS['log']->error("Daemon config params are not set.");
return;
}
$processList = [];
while (true) {
$toSkip = false;
$runningCount = 0;
foreach ($processList as $i => $process) {
if ($process->isRunning()) {
$runningCount++;
} else {
unset($processList[$i]);
}
}
$processList = array_values($processList);
if ($runningCount >= $maxProcessNumber) {
$toSkip = true;
}
if (!$toSkip) {
$process = new \Symfony\Component\Process\Process([$phpExecutablePath, 'cron.php']);
$process->setTimeout($timeout);
$process->run();
$processList[] = $process;
}
sleep($interval);
}
}
public function runJob($id)
{
$auth = $this->createAuth();
$auth->useNoAuth();
$cronManager = new \Espo\Core\CronManager($this->container);
$cronManager->runJobById($id);
}
public function runRebuild()
{
$dataManager = $this->getContainer()->get('dataManager');
@@ -152,9 +215,18 @@ class Application
$dataManager->clearCache();
}
public function runCommand(string $command)
{
$auth = $this->createAuth();
$auth->useNoAuth();
$consoleCommandManager = $this->getContainer()->get('consoleCommandManager');
return $consoleCommandManager->run($command);
}
public function isInstalled()
{
$config = $this->getContainer()->get('config');
$config = $this->getConfig();
if (file_exists($config->getConfigPath()) && $config->get('isInstalled')) {
return true;
@@ -176,7 +248,7 @@ class Application
try {
$auth = $this->createAuth();
} catch (\Exception $e) {
$container->get('output')->processError($e->getMessage(), $e->getCode());
$container->get('output')->processError($e->getMessage(), $e->getCode(), false, $e);
}
$apiAuth = $this->createApiAuth($auth);
@@ -192,7 +264,7 @@ class Application
}
$routeOptions = call_user_func($route->getCallable());
$routeKeys = is_array($routeOptions) ? array_keys($routeOptions) : array();
$routeKeys = is_array($routeOptions) ? array_keys($routeOptions) : [];
if (!in_array('controller', $routeKeys, true)) {
return $container->get('output')->render($routeOptions);
@@ -222,11 +294,11 @@ class Application
}
try {
$controllerManager = new \Espo\Core\ControllerManager($container);
$result = $controllerManager->process($controllerName, $actionName, $params, $data, $slim->request());
$controllerManager = $this->getContainer()->get('controllerManager');
$result = $controllerManager->process($controllerName, $actionName, $params, $data, $slim->request(), $slim->response());
$container->get('output')->render($result);
} catch (\Exception $e) {
$container->get('output')->processError($e->getMessage(), $e->getCode());
$container->get('output')->processError($e->getMessage(), $e->getCode(), false, $e);
}
});
@@ -243,24 +315,22 @@ class Application
protected function getRouteList()
{
$routes = new \Espo\Core\Utils\Route($this->getContainer()->get('config'), $this->getMetadata(), $this->getContainer()->get('fileManager'));
$routes = new \Espo\Core\Utils\Route($this->getConfig(), $this->getMetadata(), $this->getContainer()->get('fileManager'));
return $routes->getAll();
}
protected function initRoutes()
{
$crudList = array_keys($this->getContainer()->get('config')->get('crud'));
$crudList = array_keys($this->getConfig()->get('crud'));
foreach ($this->getRouteList() as $route) {
$method = strtolower($route['method']);
if (!in_array($method, $crudList)) {
if (!in_array($method, $crudList) && $method !== 'options') {
$GLOBALS['log']->error('Route: Method ['.$method.'] does not exist. Please check your route ['.$route['route'].']');
continue;
}
$currentRoute = $this->getSlim()->$method($route['route'], function() use ($route) { //todo change "use" for php 5.4
$currentRoute = $this->getSlim()->$method($route['route'], function() use ($route) {
return $route['params'];
});
@@ -272,31 +342,8 @@ class Application
protected function initAutoloads()
{
$autoload = new \Espo\Core\Utils\Autoload($this->getContainer()->get('config'), $this->getMetadata(), $this->getContainer()->get('fileManager'));
try {
$autoloadList = $autoload->getAll();
} catch (\Exception $e) {} //bad permissions
if (empty($autoloadList)) {
return;
}
$namespacesPath = 'vendor/composer/autoload_namespaces.php';
$existingNamespaces = file_exists($namespacesPath) ? include($namespacesPath) : array();
if (!empty($existingNamespaces) && is_array($existingNamespaces)) {
$existingNamespaces = array_keys($existingNamespaces);
}
$classLoader = new \Composer\Autoload\ClassLoader();
foreach ($autoloadList as $prefix => $path) {
if (!in_array($prefix, $existingNamespaces)) {
$classLoader->add($prefix, $path);
}
}
$classLoader->register(true);
$autoload = new \Espo\Core\Utils\Autoload($this->getConfig(), $this->getMetadata(), $this->getContainer()->get('fileManager'));
$autoload->register();
}
public function setBasePath($basePath)
@@ -315,7 +362,9 @@ class Application
return $_GET['portalId'];
}
if (!empty($_COOKIE['auth-token'])) {
$token = $this->getContainer()->get('entityManager')->getRepository('AuthToken')->where(array('token' => $_COOKIE['auth-token']))->findOne();
$token =
$this->getContainer()->get('entityManager')
->getRepository('AuthToken')->where(['token' => $_COOKIE['auth-token']])->findOne();
if ($token && $token->get('portalId')) {
return $token->get('portalId');
@@ -327,8 +376,9 @@ class Application
public function setupSystemUser()
{
$user = $this->getContainer()->get('entityManager')->getEntity('User', 'system');
$user->set('isAdmin', true); // TODO remove in 5.7
$user->set('type', 'system');
$this->getContainer()->setUser($user);
$this->getContainer()->get('entityManager')->setUser($user);
}
}

View File

@@ -0,0 +1,78 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class CommandManager
{
private $container;
public function __construct(\Espo\Core\Container $container)
{
$this->container = $container;
}
public function run(string $command)
{
$command = ucfirst(\Espo\Core\Utils\Util::hyphenToCamelCase($command));
$argumentList = [];
$options = [];
$flagList = [];
$skipIndex = 1;
if (isset($_SERVER['argv'][0]) && $_SERVER['argv'][0] === 'command.php') {
$skipIndex = 2;
}
foreach ($_SERVER['argv'] as $i => $item) {
if ($i < $skipIndex) continue;
if (strpos($item, '--') === 0 && strpos($item, '=') > 2) {
list($name, $value) = explode('=', substr($item, 2));
$name = \Espo\Core\Utils\Util::hyphenToCamelCase($name);
$options[$name] = $value;
} else if (strpos($item, '-') === 0) {
$flagList[] = substr($item, 1);
} else {
$argumentList[] = $item;
}
}
$className = '\\Espo\\Core\\Console\\Commands\\' . $command;
$className = $this->container->get('metadata')->get(['app', 'consoleCommands', $command, 'className'], $className);
if (!class_exists($className)) {
$msg = "Command '{$command}' does not exist.";
echo $msg . "\n";
throw new \Espo\Core\Exceptions\Error($msg);
}
$impl = new $className($this->container);
return $impl->run($options, $flagList, $argumentList);
}
}

View File

@@ -0,0 +1,87 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class AclCheck extends Base
{
public function run($options)
{
$userId = $options['userId'] ?? null;
$scope = $options['scope'] ?? null;
$id = $options['id'] ?? null;
$action = $options['action'] ?? null;
if (empty($userId)) return;
if (empty($scope)) return;
if (empty($id)) return;
$container = $this->getContainer();
$entityManager = $container->get('entityManager');
$user = $entityManager->getEntity('User', $userId);
if (!$user) return;
if ($user->isPortal()) {
$portalIdList = $user->getLinkMultipleIdList('portals');
foreach ($portalIdList as $portalId) {
$application = new \Espo\Core\Portal\Application($portalId);
$containerPortal = $application->getContainer();
$entityManager = $containerPortal->get('entityManager');
$user = $entityManager->getEntity('User', $userId);
if (!$user) return;
$result = $this->check($user, $scope, $id, $action, $containerPortal);
if ($result) {
return 'true';
}
}
return;
}
if ($this->check($user, $scope, $id, $action, $container)) {
return 'true';
}
}
protected function check($user, $scope, $id, $action, $container)
{
$entityManager = $container->get('entityManager');
$entity = $entityManager->getEntity($scope, $id);
if (!$entity) return;
$aclManager = $container->get('aclManager');
if ($aclManager->check($user, $entity, $action)) {
return true;
}
}
}

View File

@@ -0,0 +1,56 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class AuthTokenCheck extends Base
{
public function run($options, $flagList, $argumentList)
{
$token = $argumentList[0] ?? null;
if (empty($token)) return;
$entityManager = $this->getContainer()->get('entityManager');
$authToken = $entityManager->getRepository('AuthToken')->where([
'token' => $token,
'isActive' => true,
])->findOne();
if (!$authToken) return;
if (!$authToken->get('userId')) return;
$userId = $authToken->get('userId');
$user = $entityManager->getEntity('User', $userId);
if (!$user) return;
return $user->id;
}
}

View File

@@ -0,0 +1,45 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
abstract class Base
{
private $container;
public function __construct(\Espo\Core\Container $container)
{
$this->container = $container;
}
protected function getContainer()
{
return $this->container;
}
}

View File

@@ -0,0 +1,39 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class ClearCache extends Base
{
public function run()
{
$this->getContainer()->get('dataManager')->clearCache();
echo "Cache has been cleared.\n";
}
}

View File

@@ -0,0 +1,39 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class Rebuild extends Base
{
public function run()
{
$this->getContainer()->get('dataManager')->rebuild();
echo "Rebuild has been done.\n";
}
}

View File

@@ -0,0 +1,68 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class RunJob extends Base
{
public function run($options, $flags, $argumentList)
{
$jobName = $options['job'] ?? null;
$targetId = $options['targetId'] ?? null;
$targetType = $options['targetType'] ?? null;
if (!$jobName && count($argumentList)) {
$jobName = $argumentList[0];
}
if (!$jobName) echo "No job specified.\n";
$jobName = ucfirst(\Espo\Core\Utils\Util::hyphenToCamelCase($jobName));
$container = $this->getContainer();
$entityManager = $container->get('entityManager');
$job = $entityManager->createEntity('Job', [
'name' => $jobName,
'job' => $jobName,
'targetType' => $targetType,
'targetId' => $targetId,
]);
$cronManager = new \Espo\Core\CronManager($container);
$result = $cronManager->runJob($job);
if ($result) {
echo "Job '{$jobName}' has been executed.\n";
} else {
echo "Job '{$jobName}' failed to execute.\n";
}
}
}

View File

@@ -0,0 +1,406 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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 Upgrade extends Base
{
protected $upgradeManager;
protected $upgradeStepList = [
'copyBefore',
'rebuild',
'beforeUpgradeScript',
'rebuild',
'copy',
'rebuild',
'copyAfter',
'rebuild',
'afterUpgradeScript',
'rebuild',
];
public function run($options, $flagList, $argumentList)
{
$params = $this->normalizeParams($options, $flagList, $argumentList);
switch ($params['mode']) {
case 'local':
$this->runLocalUpgrade($params);
break;
default:
case 'remote':
$this->runRemoteUpgrade($params);
break;
}
}
/**
* Normalize params. Permitted options and flags and $arguments:
* -y - without confirmation
* -s - single process
* --file="EspoCRM-upgrade.zip"
* --step="beforeUpgradeScript"
* @param array $options
* @param array $flagList
* @param array $argumentList
* @return array
*/
protected function normalizeParams($options, $flagList, $argumentList)
{
$params = [
'mode' => 'remote',
'skipConfirmation' => false,
'singleProcess' => false,
];
if (!empty($options['file'])) {
$params['mode'] = 'local';
$params['file'] = $options['file'];
}
if (in_array('y', $flagList)) {
$params['skipConfirmation'] = true;
}
if (in_array('s', $flagList)) {
$params['singleProcess'] = true;
}
if (!empty($options['step'])) {
$params['step'] = $options['step'];
}
return $params;
}
protected function runLocalUpgrade(array $params)
{
if (empty($params['file']) || !file_exists($params['file'])) {
echo "Upgrade package is not found.\n";
return;
}
$packageFile = $params['file'];
$fromVersion = $this->getConfig()->get('version');
fwrite(\STDOUT, "Current version is {$fromVersion}.\n");
$upgradeId = $this->upload($packageFile);
$manifest = $this->getUpgradeManager()->getManifestById($upgradeId);
$nextVersion = $manifest['version'];
if (!$params['skipConfirmation']) {
fwrite(\STDOUT, "EspoCRM will be upgraded to version {$nextVersion} now. Enter [Y] to continue.\n");
if (!$this->confirm()) {
echo "Upgrade canceled.\n";
return;
}
}
fwrite(\STDOUT, "Upgrading... This may take a while...");
try {
$this->runUpgradeProcess($upgradeId, $params);
} catch (\Exception $e) {
fwrite(\STDOUT, "\n");
fwrite(\STDOUT, $e->getMessage() . "\n");
return;
}
fwrite(\STDOUT, "\n");
$app = new \Espo\Core\Application();
$currentVerison = $app->getContainer()->get('config')->get('version');
fwrite(\STDOUT, "Upgrade is complete. Current version is {$currentVerison}.\n");
$infoData = $this->getVersionInfo();
$lastVersion = $infoData->lastVersion ?? null;
if ($lastVersion && $lastVersion !== $currentVerison && $fromVersion !== $currentVerison) {
fwrite(\STDOUT, "Newer version is available.\n");
return;
}
if ($lastVersion && $lastVersion === $currentVerison) {
fwrite(\STDOUT, "You have the latest version.\n");
return;
}
}
protected function runRemoteUpgrade(array $params)
{
$infoData = $this->getVersionInfo();
if (!$infoData) return;
$nextVersion = $infoData->nextVersion ?? null;
$lastVersion = $infoData->lastVersion ?? null;
$fromVersion = $this->getConfig()->get('version');
fwrite(\STDOUT, "Current version is {$fromVersion}.\n");
if (!$nextVersion) {
echo "There are no available upgrades.\n";
return;
}
if (!$params['skipConfirmation']) {
fwrite(\STDOUT, "EspoCRM will be upgraded to version {$nextVersion} now. Enter [Y] to continue.\n");
if (!$this->confirm()) {
echo "Upgrade canceled.\n";
return;
}
}
fwrite(\STDOUT, "Downloading...");
$upgradePackageFilePath = $this->downloadFile($infoData->nextPackage);
if (!$upgradePackageFilePath) return;
fwrite(\STDOUT, "\n");
fwrite(\STDOUT, "Upgrading... This may take a while...");
$upgradeId = $this->upload($upgradePackageFilePath);
try {
$this->runUpgradeProcess($upgradeId, $params);
} catch (\Exception $e) {
$error = $e->getMessage();
}
$this->getFileManager()->unlink($upgradePackageFilePath);
fwrite(\STDOUT, "\n");
if (!empty($error)) {
echo $error;
return;
}
$app = new \Espo\Core\Application();
$currentVerison = $app->getContainer()->get('config')->get('version');
fwrite(\STDOUT, "Upgrade is complete. Current version is {$currentVerison}.\n");
if ($lastVersion && $lastVersion !== $currentVerison && $fromVersion !== $currentVerison) {
fwrite(\STDOUT, "Newer version is available. Run command again to upgrade.\n");
return;
}
if ($lastVersion && $lastVersion === $currentVerison) {
fwrite(\STDOUT, "You have the latest version.\n");
return;
}
}
protected function upload($filePath)
{
try {
$fileData = file_get_contents($filePath);
$fileData = 'data:application/zip;base64,' . base64_encode($fileData);
$upgradeId = $this->getUpgradeManager()->upload($fileData);
} catch (\Exception $e) {
die("Error: " . $e->getMessage() . "\n");
}
return $upgradeId;
}
protected function runUpgradeProcess($upgradeId, array $params = [])
{
$useSingleProcess = array_key_exists('singleProcess', $params) ? $params['singleProcess'] : false;
$stepList = !empty($params['step']) ? [$params['step']] : $this->upgradeStepList;
array_unshift($stepList, 'init');
array_push($stepList, 'finalize');
if (!$useSingleProcess && $this->isShellEnabled()) {
return $this->runSteps($upgradeId, $stepList);
}
return $this->runStepsInSingleProcess($upgradeId, $stepList);
}
protected function runStepsInSingleProcess($upgradeId, array $stepList)
{
$GLOBALS['log']->debug('Installation process ['.$upgradeId.']: Single process mode.');
try {
foreach ($stepList as $stepName) {
$upgradeManager = $this->getUpgradeManager(true);
$upgradeManager->runInstallStep($stepName, ['id' => $upgradeId]);
}
} catch (\Exception $e) {
$GLOBALS['log']->error('Upgrade Error: ' . $e->getMessage());
throw new Error($e->getMessage());
}
return true;
}
protected function runSteps($upgradeId, array $stepList)
{
$phpExecutablePath = $this->getPhpExecutablePath();
foreach ($stepList as $stepName) {
$command = $phpExecutablePath . " command.php upgrade-step --step=". ucfirst($stepName) ." --id=". $upgradeId;
$shellResult = shell_exec($command);
if ($shellResult !== 'true') {
$GLOBALS['log']->error('Upgrade Error: ' . $shellResult);
throw new Error($shellResult);
}
}
return true;
}
protected function confirm()
{
$fh = fopen('php://stdin', 'r');
$inputLine = trim(fgets($fh));
fclose($fh);
if (strtolower($inputLine) !== 'y'){
return false;
}
return true;
}
protected function getConfig()
{
return $this->getContainer()->get('config');
}
protected function getFileManager()
{
return $this->getContainer()->get('fileManager');
}
protected function getUpgradeManager($reload = false)
{
if (!$this->upgradeManager || $reload) {
$app = new \Espo\Core\Application();
$app->setupSystemUser();
$this->upgradeManager = new \Espo\Core\UpgradeManager($app->getContainer());
}
return $this->upgradeManager;
}
protected function getPhpExecutablePath()
{
$phpExecutablePath = $this->getConfig()->get('phpExecutablePath');
if (!$phpExecutablePath) {
$phpExecutablePath = (new \Symfony\Component\Process\PhpExecutableFinder)->find();
}
return $phpExecutablePath;
}
protected function getVersionInfo()
{
$url = 'https://s.espocrm.com/upgrade/next/';
$url = $this->getConfig()->get('upgradeNextVersionUrl', $url);
$url .= '?fromVersion=' . $this->getConfig()->get('version');
$ch = curl_init();
curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, \CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, \CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
try {
$data = json_decode($result);
} catch (\Exception $e) {
echo "Could not parse info about next version.\n";
return;
}
if (!$data) {
echo "Could not get info about next version.\n";
return;
}
return $data;
}
protected function downloadFile($url)
{
$localFilePath = 'data/upload/upgrades/' . \Espo\Core\Utils\Util::generateId() . '.zip';
$this->getFileManager()->putContents($localFilePath, '');
if (is_file($url)) {
copy($url, $localFilePath);
} else {
$options = [
CURLOPT_FILE => fopen($localFilePath, 'w'),
CURLOPT_TIMEOUT => 3600,
CURLOPT_URL => $url
];
$ch = curl_init();
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);
}
if (!$this->getFileManager()->isFile($localFilePath)) {
echo "\nCould not download upgrade file.\n";
$this->getFileManager()->unlink($localFilePath);
return;
}
return realpath($localFilePath);
}
protected function isShellEnabled()
{
if (!function_exists('exec') || !is_callable('shell_exec')) {
return false;
}
$result = shell_exec("echo test");
if (empty($result)) {
return false;
}
return true;
}
}

View File

@@ -0,0 +1,71 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2019 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;
class UpgradeStep extends Base
{
public function run($options, $flagList, $argumentList)
{
if (empty($options['step'])) {
echo "Step is not specified.\n";
return;
}
if (empty($options['id'])) {
echo "Upgrade ID is not specified.\n";
return;
}
$stepName = $options['step'];
$upgradeId = $options['id'];
return $this->runUpgradeStep($stepName, ['id' => $upgradeId]);
}
protected function runUpgradeStep($stepName, array $params)
{
$app = new \Espo\Core\Application();
$app->setupSystemUser();
$upgradeManager = new \Espo\Core\UpgradeManager($app->getContainer());
try {
$result = $upgradeManager->runInstallStep($stepName, $params); // throw Exception on error
} catch (\Exception $e) {
die("Error: " . $e->getMessage() . "\n");
}
if (is_bool($result)) {
$result = $result ? "true" : "false";
}
return $result;
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -32,17 +32,13 @@ namespace Espo\Core;
class Container
{
private $data = array();
private $data = [];
/**
* Constructor
*/
public function __construct()
{
}
public function get($name)
public function get(string $name)
{
if (empty($this->data[$name])) {
$this->load($name);
@@ -67,7 +63,7 @@ class Container
} else {
try {
$className = $this->get('metadata')->get('app.loaders.' . ucfirst($name));
$className = $this->get('metadata')->get(['app', 'loaders', ucfirst($name)]);
} catch (\Exception $e) {}
if (!isset($className) || !class_exists($className)) {
@@ -86,38 +82,13 @@ class Container
return null;
}
protected function getServiceClassName($name, $default)
public function getServiceClassName(string $name, string $default)
{
$metadata = $this->get('metadata');
$className = $metadata->get('app.serviceContainer.classNames.' . $name, $default);
$className = $metadata->get(['app', 'serviceContainer', 'classNames', $name], $default);
return $className;
}
protected function loadLog()
{
$config = $this->get('config');
$path = $config->get('logger.path', 'data/logs/espo.log');
$rotation = $config->get('logger.rotation', true);
$log = new \Espo\Core\Utils\Log('Espo');
$levelCode = $log->getLevelCode($config->get('logger.level', 'WARNING'));
if ($rotation) {
$maxFileNumber = $config->get('logger.maxFileNumber', 30);
$handler = new \Espo\Core\Utils\Log\Monolog\Handler\RotatingFileHandler($path, $maxFileNumber, $levelCode);
} else {
$handler = new \Espo\Core\Utils\Log\Monolog\Handler\StreamHandler($path, $levelCode);
}
$log->pushHandler($handler);
$errorHandler = new \Monolog\ErrorHandler($log);
$errorHandler->registerExceptionHandler(null, false);
$errorHandler->registerErrorHandler(array(), false);
return $log;
}
protected function loadContainer()
{
return $this;
@@ -128,6 +99,39 @@ class Container
return new \Espo\Core\Utils\Api\Slim();
}
protected function loadFileStorageManager()
{
return new \Espo\Core\FileStorage\Manager(
$this->get('metadata')->get(['app', 'fileStorage', 'implementationClassNameMap']),
$this
);
}
protected function loadLog()
{
$config = $this->get('config');
$path = $config->get('logger.path', 'data/logs/espo.log');
$rotation = $config->get('logger.rotation', true);
$log = new \Espo\Core\Utils\Log('Espo');
$levelCode = $log::toMonologLevel($config->get('logger.level', 'WARNING'));
if ($rotation) {
$maxFileNumber = $config->get('logger.maxFileNumber', 30);
$handler = new \Espo\Core\Utils\Log\Monolog\Handler\RotatingFileHandler($path, $maxFileNumber, $levelCode);
} else {
$handler = new \Espo\Core\Utils\Log\Monolog\Handler\StreamHandler($path, $levelCode);
}
$log->pushHandler($handler);
$errorHandler = new \Monolog\ErrorHandler($log);
$errorHandler->registerExceptionHandler(null, false);
$errorHandler->registerErrorHandler([], false);
return $log;
}
protected function loadFileManager()
{
return new \Espo\Core\Utils\File\Manager(
@@ -135,6 +139,13 @@ class Container
);
}
protected function loadControllerManager()
{
return new \Espo\Core\ControllerManager(
$this
);
}
protected function loadPreferences()
{
return $this->get('entityManager')->getEntity('Preferences', $this->get('user')->id);
@@ -161,15 +172,6 @@ class Container
);
}
protected function loadMailSender()
{
$className = $this->getServiceClassName('mailSernder', '\\Espo\\Core\\Mail\\Sender');
return new $className(
$this->get('config'),
$this->get('entityManager')
);
}
protected function loadDateTime()
{
return new \Espo\Core\Utils\DateTime(
@@ -181,7 +183,7 @@ class Container
protected function loadNumber()
{
return new \Espo\Core\Utils\Number(
return new \Espo\Core\Utils\NumberUtil(
$this->get('config')->get('decimalMark'),
$this->get('config')->get('thousandSeparator')
);
@@ -194,23 +196,18 @@ class Container
);
}
protected function loadSelectManagerFactory()
protected function loadNotificatorFactory()
{
return new \Espo\Core\SelectManagerFactory(
$this->get('entityManager'),
$this->get('user'),
$this->get('acl'),
$this->get('aclManager'),
$this->get('metadata'),
$this->get('config')
return new \Espo\Core\NotificatorFactory(
$this
);
}
protected function loadMetadata()
{
return new \Espo\Core\Utils\Metadata(
$this->get('config'),
$this->get('fileManager')
$this->get('fileManager'),
$this->get('config')->get('useCache')
);
}
@@ -231,6 +228,14 @@ class Container
);
}
protected function loadInternalAclManager()
{
$className = $this->getServiceClassName('acl', '\\Espo\\Core\\AclManager');
return new $className(
$this->get('container')
);
}
protected function loadAcl()
{
$className = $this->getServiceClassName('acl', '\\Espo\\Core\\Acl');
@@ -247,7 +252,17 @@ class Container
$this->get('metadata'),
$this->get('fileManager'),
$this->get('entityManager'),
$this->get('classParser')
$this->get('classParser'),
$this->get('ormMetadata')
);
}
protected function loadOrmMetadata()
{
return new \Espo\Core\Utils\Metadata\OrmMetadata(
$this->get('metadata'),
$this->get('fileManager'),
$this->get('config')
);
}
@@ -263,10 +278,30 @@ class Container
protected function loadLanguage()
{
return new \Espo\Core\Utils\Language(
\Espo\Core\Utils\Language::detectLanguage($this->get('config'), $this->get('preferences')),
$this->get('fileManager'),
$this->get('config'),
$this->get('metadata'),
$this->get('preferences')
$this->get('config')->get('useCache')
);
}
protected function loadBaseLanguage()
{
return new \Espo\Core\Utils\Language(
'en_US',
$this->get('fileManager'),
$this->get('metadata'),
$this->get('config')->get('useCache')
);
}
protected function loadDefaultLanguage()
{
return new \Espo\Core\Utils\Language(
\Espo\Core\Utils\Language::detectLanguage($this->get('config')),
$this->get('fileManager'),
$this->get('metadata'),
$this->get('config')->get('useCache')
);
}
@@ -294,12 +329,17 @@ class Container
protected function loadFieldManager()
{
return new \Espo\Core\Utils\FieldManager(
$this->get('metadata'),
$this->get('language'),
$this
);
}
protected function loadFieldManagerUtil()
{
return new \Espo\Core\Utils\FieldManagerUtil(
$this->get('metadata')
);
}
protected function loadThemeManager()
{
return new \Espo\Core\Utils\ThemeManager(
@@ -308,11 +348,10 @@ class Container
);
}
protected function loadClientManager()
protected function loadInjectableFactory()
{
return new \Espo\Core\Utils\ClientManager(
$this->get('config'),
$this->get('themeManager')
return new \Espo\Core\InjectableFactory(
$this
);
}
@@ -321,4 +360,3 @@ class Container
$this->set('user', $user);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -40,12 +40,16 @@ class ControllerManager
private $container;
private $controllersHash = null;
public function __construct(\Espo\Core\Container $container)
{
$this->container = $container;
$this->config = $this->container->get('config');
$this->metadata = $this->container->get('metadata');
$this->controllersHash = (object) [];
}
protected function getConfig()
@@ -58,11 +62,11 @@ class ControllerManager
return $this->metadata;
}
public function process($controllerName, $actionName, $params, $data, $request)
protected function getControllerClassName($controllerName)
{
$customeClassName = '\\Espo\\Custom\\Controllers\\' . Util::normilizeClassName($controllerName);
if (class_exists($customeClassName)) {
$controllerClassName = $customeClassName;
$customClassName = '\\Espo\\Custom\\Controllers\\' . Util::normilizeClassName($controllerName);
if (class_exists($customClassName)) {
$controllerClassName = $customClassName;
} else {
$moduleName = $this->metadata->getScopeModuleName($controllerName);
if ($moduleName) {
@@ -72,32 +76,48 @@ class ControllerManager
}
}
if ($data && stristr($request->getContentType(), 'application/json')) {
$data = json_decode($data);
}
if ($data instanceof \stdClass) {
$data = get_object_vars($data);
}
if (!class_exists($controllerClassName)) {
throw new NotFound("Controller '$controllerName' is not found");
}
$controller = new $controllerClassName($this->container, $request->getMethod());
return $controllerClassName;
}
public function createController($name)
{
$controllerClassName = $this->getControllerClassName($name);
$controller = new $controllerClassName($this->container);
return $controller;
}
public function getController($name)
{
if (!property_exists($this->controllersHash, $name)) {
$this->controllersHash->$name = $this->createController($name);
}
return $this->controllersHash->$name;
}
public function processRequest(\Espo\Core\Controllers\Base $controller, $actionName, $params, $data, $request, $response = null)
{
if ($data && stristr($request->getContentType(), 'application/json')) {
$data = json_decode($data);
}
if ($actionName == 'index') {
$actionName = $controllerClassName::$defaultAction;
$actionName = $controller::$defaultAction;
}
$requestMethod = $request->getMethod();
$actionNameUcfirst = ucfirst($actionName);
$beforeMethodName = 'before' . $actionNameUcfirst;
$actionMethodName = 'action' . $actionNameUcfirst;
$afterMethodName = 'after' . $actionNameUcfirst;
$fullActionMethodName = strtolower($request->getMethod()) . ucfirst($actionMethodName);
$fullActionMethodName = strtolower($requestMethod) . ucfirst($actionMethodName);
if (method_exists($controller, $fullActionMethodName)) {
$primaryActionMethodName = $fullActionMethodName;
@@ -106,17 +126,24 @@ class ControllerManager
}
if (!method_exists($controller, $primaryActionMethodName)) {
throw new NotFound("Action '$actionName' (".$request->getMethod().") does not exist in controller '$controllerName'");
throw new NotFound("Action {$requestMethod} '{$actionName}' does not exist in controller '".$controller->getName()."'.");
}
// TODO Remove in 5.1.0
if ($data instanceof \stdClass) {
if ($this->getMetadata()->get(['app', 'deprecatedControllerActions', $controller->getName(), $primaryActionMethodName])) {
$data = get_object_vars($data);
}
}
if (method_exists($controller, $beforeMethodName)) {
$controller->$beforeMethodName($params, $data, $request);
$controller->$beforeMethodName($params, $data, $request, $response);
}
$result = $controller->$primaryActionMethodName($params, $data, $request);
$result = $controller->$primaryActionMethodName($params, $data, $request, $response);
if (method_exists($controller, $afterMethodName)) {
$controller->$afterMethodName($params, $data, $request);
$controller->$afterMethodName($params, $data, $request, $response);
}
if (is_array($result) || is_bool($result) || $result instanceof \StdClass) {
@@ -126,5 +153,9 @@ class ControllerManager
return $result;
}
public function process($controllerName, $actionName, $params, $data, $request, $response = null)
{
$controller = $this->getController($controllerName);
return $this->processRequest($controller, $actionName, $params, $data, $request, $response);
}
}

View File

@@ -3,8 +3,8 @@
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2015 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
* Copyright (C) 2014-2019 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
@@ -38,18 +38,12 @@ abstract class Base
private $container;
private $requestMethod;
public static $defaultAction = 'index';
public function __construct(Container $container, $requestMethod = null)
public function __construct(Container $container)
{
$this->container = $container;
if (isset($requestMethod)) {
$this->setRequestMethod($requestMethod);
}
if (empty($this->name)) {
$name = get_class($this);
if (preg_match('@\\\\([\w]+)$@', $name, $matches)) {
@@ -61,6 +55,11 @@ abstract class Base
$this->checkControllerAccess();
}
public function getName()
{
return $this->name;
}
protected function checkControllerAccess()
{
return;
@@ -71,21 +70,6 @@ abstract class Base
return $this->container;
}
/**
* Get request method name (Uppercase)
*
* @return string
*/
protected function getRequestMethod()
{
return $this->requestMethod;
}
protected function setRequestMethod($requestMethod)
{
$this->requestMethod = strtoupper($requestMethod);
}
protected function getUser()
{
return $this->container->get('user');

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