Compare commits

...

6040 Commits

Author SHA1 Message Date
Yuri Kuznetsov 94881de082 8.2.4 2024-05-08 11:32:01 +03:00
Yuri Kuznetsov cbec1cbbe5 fix parser 2024-05-04 23:00:46 +03:00
Yuri Kuznetsov 71dd872618 calendar duplicate event fix 2024-04-30 14:15:39 +03:00
Yuri Kuznetsov bfed154feb language load off 2024-04-26 11:01:54 +03:00
Yuri Kuznetsov 5a19b90b13 fix role empty stream level on ui 2024-04-22 12:38:33 +03:00
Yuri Kuznetsov 33b0ca8824 fix add dashlet 2024-04-20 11:32:41 +03:00
Yuri Kuznetsov 540c58a564 fix add dashlet quick seach 2024-04-20 08:35:16 +03:00
Yuri Kuznetsov 67c0be5699 8.2.3 2024-04-19 10:21:05 +03:00
Yuri Kuznetsov 695dc2eb42 record service create: keep new 2024-04-19 09:30:49 +03:00
Yuri Kuznetsov d1dd39bf5a email parent allow autocomplete on empty 2024-04-16 12:38:03 +03:00
Yuri Kuznetsov 8a542adb7e calendar update class names 2024-04-11 17:31:14 +03:00
Yuri Kuznetsov c6a172a6d0 style fix 2024-04-10 13:23:27 +03:00
Yuri Kuznetsov 89f75bfb37 oidc prevent errors when user is not allowed 2024-04-09 09:24:23 +03:00
Yuri Kuznetsov b83a66cf49 bg lang 2024-04-08 12:51:16 +03:00
Yuri Kuznetsov 3cd6deb732 pagination previous step and modal detail pagination fix 2024-04-08 12:07:14 +03:00
Yuri Kuznetsov 59fff4cc80 fix detail pagination 2024-04-08 11:40:57 +03:00
Yuri Kuznetsov dca1d34685 reminder usersColumns check 2024-04-07 18:30:55 +03:00
Yuri Kuznetsov 8133682288 ref 2024-04-06 09:58:48 +03:00
Yuri Kuznetsov 0b035b89c0 user fetch issue 2024-04-06 09:55:56 +03:00
Yuri Kuznetsov d5930542d9 ref 2024-04-06 09:51:56 +03:00
Yuri Kuznetsov 831dfc5bfd fix sndAccessInfo fetch 2024-04-06 09:51:48 +03:00
Yuri Kuznetsov 078808604c ref 2024-04-06 09:38:39 +03:00
Yuri Kuznetsov 35f8c5652a avater flicker fix 2024-04-06 09:35:25 +03:00
Yuri Kuznetsov 14d8f88985 ref 2024-04-06 09:32:17 +03:00
Yuri Kuznetsov 2ae0a118b6 disable note in link manager 2024-04-05 23:11:44 +03:00
Yuri Kuznetsov 1a51759b0f fix user acl 2024-04-05 20:18:21 +03:00
Yuri Kuznetsov 48b0063c69 middle table prefix server side check 2024-04-05 09:51:22 +03:00
Yuri Kuznetsov 9395fa886e grid layout css fix 2024-04-05 09:39:22 +03:00
Yuri Kuznetsov a6c95ff0d5 layouts title 2024-04-05 09:37:10 +03:00
Eymen Elkum 1c10ddd7b8 add missing & to google static url 2024-04-04 13:53:06 +03:00
Yuri Kuznetsov 268354f3c6 8.2.2 2024-04-04 10:21:51 +03:00
Yuri Kuznetsov 3ca68f2539 email tempalte importable 2024-04-04 09:55:47 +03:00
Yuri Kuznetsov 08f2c5ea72 disable options reference for salutation 2024-04-04 09:32:53 +03:00
Yuri Kuznetsov 4d1f3d214d label format 2024-04-03 15:52:09 +03:00
Yuri Kuznetsov fab13b3140 fix import action translation 2024-04-03 15:36:25 +03:00
Yuri Kuznetsov 45ac0f7fee fix autocomplete 2024-04-03 10:19:37 +03:00
Yuri Kuznetsov 406487d50c before upgrade extension check 2024-04-03 09:38:52 +03:00
Yuri Kuznetsov d73608e16b 8.2.1 2024-04-02 20:55:39 +03:00
Yuri Kuznetsov 8328e8c644 fix action history order 2024-04-02 19:38:09 +03:00
Yuri Kuznetsov 19a96d2e3d disable customization for user portal 2024-04-02 17:32:30 +03:00
Yuri Kuznetsov a823e06f13 dynamic logic lin one 2024-04-02 15:42:02 +03:00
Yuri Kuznetsov 0336b76a96 before upgrade script 2024-04-02 10:45:35 +03:00
Yuri Kuznetsov 76cac35c54 link name default middle name prefix 2024-04-02 10:10:32 +03:00
Yuri Kuznetsov 088edbf708 avatar colors 2024-03-31 21:14:21 +03:00
Yuri Kuznetsov e2f6c8abe7 ref 2024-03-31 20:56:03 +03:00
Yuri Kuznetsov f2735e5fbc avatar color 2024-03-31 17:31:18 +03:00
Yuri Kuznetsov f8106a81c7 ref meeting buttons 2024-03-31 15:57:59 +03:00
Yuri Kuznetsov 1d7bce5343 ref 2024-03-31 15:37:16 +03:00
Yuri Kuznetsov 224e0e8625 internal note icon position 2024-03-30 16:42:06 +02:00
Yuri Kuznetsov d5b3a7d2ea calendar mode buttons change 2024-03-30 13:14:19 +02:00
Yuri Kuznetsov bd0be4542e calendar mode buttons change 2024-03-30 13:12:09 +02:00
Yuri Kuznetsov e78052ce33 ref 2024-03-30 13:01:26 +02:00
Yuri Kuznetsov 24f79b9206 avatar color change 2024-03-30 12:39:49 +02:00
Yuri Kuznetsov df9633503b email account filters 2024-03-30 10:07:38 +02:00
Yuri Kuznetsov 5e1c12f4b1 reminder fix 2024-03-30 09:55:02 +02:00
Yuri Kuznetsov 5699c3d15e close button style fix 2024-03-30 09:49:00 +02:00
Yuri Kuznetsov cd88e8ac7a cs 2024-03-30 09:31:35 +02:00
Yuri Kuznetsov 3c83e1dcd3 hide complex modified field if not modified 2024-03-30 09:23:56 +02:00
Yuri Kuznetsov d232838676 stream abort last fetch 2024-03-30 09:08:52 +02:00
Yuri Kuznetsov 2ae0f48619 avatar color change 2024-03-29 16:52:11 +02:00
Yuri Kuznetsov 170782d17f add BDT currency 2024-03-29 16:49:22 +02:00
Yuri Kuznetsov 2cbdbbf6fb avatar color changes 2024-03-29 16:44:14 +02:00
Yuri Kuznetsov 0a750f373f avatar font change 2024-03-29 16:39:51 +02:00
Yuri Kuznetsov 92ff5e1859 avatar explicit font file 2024-03-29 15:58:18 +02:00
Yuri Kuznetsov cb3257a890 notification list view refresh ui fix 2024-03-29 13:49:05 +02:00
Yuri Kuznetsov 9377cd150d img preview border radius small 2024-03-29 13:33:34 +02:00
Yuri Kuznetsov e1f2fd8094 avatar color change 2024-03-29 11:54:43 +02:00
Yuri Kuznetsov 70dcf6ed69 avatar colors change 2024-03-29 11:47:26 +02:00
Yuri Kuznetsov 6c62dbc604 portal avatar color 2024-03-29 11:34:52 +02:00
Yuri Kuznetsov b6807091a5 user avater css fix 2024-03-29 11:25:11 +02:00
Yuri Kuznetsov 33f3784b3a lang 2024-03-29 09:49:28 +02:00
Yuri Kuznetsov 0e9b552796 teams importable 2024-03-29 09:35:13 +02:00
Yuri Kuznetsov 111e1a278c ref 2024-03-29 09:33:48 +02:00
Yuri Kuznetsov 34ecdd7533 export ignore utility 2024-03-29 09:28:15 +02:00
Yuri Kuznetsov 7ec9c1c5ae team export 2024-03-29 09:24:00 +02:00
Yuri Kuznetsov 1055fd8a79 lang 2024-03-29 09:23:33 +02:00
Yuri Kuznetsov 03102da373 fix format person name 2024-03-28 15:38:22 +02:00
Yuri Kuznetsov 23ea8b418a ref 2024-03-28 15:16:12 +02:00
Yuri Kuznetsov 9269fa1933 cs 2024-03-28 15:14:33 +02:00
Yuri Kuznetsov 5a1a9f17a0 ref 2024-03-28 10:25:44 +02:00
Yuri Kuznetsov c4ca71a7f6 firefox calendar style fix 2024-03-28 10:23:48 +02:00
Yuri Kuznetsov 991d111ac3 auth token expiration support decimals 2024-03-27 21:59:42 +02:00
Yuri Kuznetsov 7f18fb0cba fix foreign enum error 2024-03-27 21:49:04 +02:00
Yuri Kuznetsov c4d54ffa71 avatar font size 2024-03-27 19:38:10 +02:00
Yuri Kuznetsov 1ee2d5c58b avatar change sizes 2024-03-27 19:31:14 +02:00
Yuri Kuznetsov 94d9d0fc38 cleanup 2024-03-27 16:53:31 +02:00
dependabot[bot] 9252905103 Bump express from 4.18.1 to 4.19.2
Bumps [express](https://github.com/expressjs/express) from 4.18.1 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.1...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 15:27:22 +02:00
Yuri Kuznetsov e9b49a5317 cleanup vendor 2024-03-27 14:30:37 +02:00
Yuri Kuznetsov 9e50337c99 avatar fallback to userName 2024-03-27 13:02:44 +02:00
Yuri Kuznetsov 07b68d9b7d number power function 2024-03-27 10:11:03 +02:00
Yuri Kuznetsov c7d1fc7c35 ref 2024-03-26 19:02:16 +02:00
Yuri Kuznetsov 18b5b99854 opp by lead source chart changes 2024-03-26 18:01:23 +02:00
Yuri Kuznetsov e60d4ba19b fix sticky bar destroy 2024-03-26 17:39:52 +02:00
Yuri Kuznetsov dcf2b49b19 pie chart select none 2024-03-26 16:36:35 +02:00
Yuri Kuznetsov 4aecb4a255 chart no user select 2024-03-26 16:31:18 +02:00
Yuri Kuznetsov 7cf7f2ffd8 update note style change 2024-03-26 15:36:46 +02:00
Yuri Kuznetsov a78161799c scroll after go to page 2024-03-26 15:09:03 +02:00
Yuri Kuznetsov 6a37eee973 thousand separator validator 2024-03-26 14:19:17 +02:00
Yuri Kuznetsov bb5be010f2 pagination true 2024-03-26 12:29:36 +02:00
Yuri Kuznetsov dcd4e56aa7 sticky bar ref and fix 2024-03-26 12:09:59 +02:00
Yuri Kuznetsov 12f928c192 cs 2024-03-26 11:15:35 +02:00
Yuri Kuznetsov 1b47b94154 ref 2024-03-26 10:08:44 +02:00
Yuri Kuznetsov f64f4ea1b1 total text style fix 2024-03-26 09:58:03 +02:00
Yuri Kuznetsov faa33769f1 list top bar style fixes 2024-03-26 09:54:41 +02:00
Yuri Kuznetsov 1b0487eeea sort + sticky bar fix 2024-03-25 17:46:11 +02:00
Yuri Kuznetsov 7ffc06065f fix last page menu item 2024-03-25 16:11:00 +02:00
Yuri Kuznetsov 515720afda cleanup 2024-03-25 16:00:35 +02:00
Yuri Kuznetsov 3f1e6a6628 pagination go to page 2024-03-25 15:33:58 +02:00
Yuri Kuznetsov a94deb9f33 event confirmation note style fix 2024-03-25 13:37:52 +02:00
Yuri Kuznetsov b2d91b3fe9 pagination shortcuts 2024-03-25 12:17:53 +02:00
Yuri Kuznetsov 1f7e23af28 collection has page methods 2024-03-25 11:57:09 +02:00
Yuri Kuznetsov 0275b7fe4d pagination show more fixes 2024-03-25 11:52:21 +02:00
Yuri Kuznetsov d4b25090aa do not fetch after remove 2024-03-25 11:41:01 +02:00
Yuri Kuznetsov 7b14e7fb79 chart legend style fix 2024-03-25 11:32:48 +02:00
Yuri Kuznetsov 1d156e6af6 caret hover color 2024-03-24 23:12:10 +02:00
Yuri Kuznetsov b91e40b0e7 fix calendar 7d event issue 2024-03-24 18:23:02 +02:00
Yuri Kuznetsov fab908c313 contributing note 2024-03-24 18:09:17 +02:00
Yuri Kuznetsov 24e5cd67dd pagination warning fix 2024-03-24 17:02:17 +02:00
Yuri Kuznetsov 7297e0eb83 pagination display top bar if out of bound 2024-03-24 16:58:26 +02:00
Yuri Kuznetsov 81cce0ddb7 light theme by default 2024-03-24 12:46:14 +02:00
Yuri Kuznetsov 8232ef3dd2 label-state 2024-03-24 12:12:53 +02:00
Yuri Kuznetsov b930180907 stream update note: show fields 2024-03-24 11:19:50 +02:00
Yuri Kuznetsov ef6866773c stream notes style changes 2024-03-24 10:54:00 +02:00
Yuri Kuznetsov 415dc7607e cs 2024-03-24 10:15:24 +02:00
Yuri Kuznetsov 726f2abd96 email body insert field button in the end 2024-03-23 20:33:23 +02:00
Yuri Kuznetsov 894acad7ec less ref 2024-03-23 20:24:14 +02:00
Yuri Kuznetsov d9d7de8804 ref 2024-03-23 13:31:09 +02:00
Yuri Kuznetsov dcd0469977 fix collection set offset 2024-03-23 13:19:32 +02:00
Yuri Kuznetsov 434112eff3 pagination w/ show-more fixes 2024-03-23 12:17:42 +02:00
Yuri Kuznetsov ace9186691 update bullbone 2024-03-23 12:02:01 +02:00
Yuri Kuznetsov 29cc42e2e8 pagination offset fix 2024-03-23 11:43:13 +02:00
Yuri Kuznetsov 3ae6120067 ref 2024-03-23 10:07:14 +02:00
Yuri Kuznetsov 377f51a962 ref 2024-03-23 09:37:36 +02:00
Yuri Kuznetsov dc61e630b4 primary filter menu style 2024-03-23 09:19:07 +02:00
Yuri Kuznetsov d2ec8eda86 color fix 2024-03-23 08:58:19 +02:00
Yuri Kuznetsov 376de3b6d9 style fix 2024-03-22 11:53:08 +02:00
Yuri Kuznetsov 82ad0cb5cd selectize small style fix 2024-03-22 11:46:08 +02:00
Yuri Kuznetsov df9431670a schema 2024-03-22 11:41:43 +02:00
Yuri Kuznetsov e96f4fcedd api key copy to clipboard 2024-03-22 11:37:51 +02:00
Yuri Kuznetsov 1e96b90e28 status styles 2024-03-22 11:12:20 +02:00
Yuri Kuznetsov 46897ec3dd status styles changes 2024-03-22 11:04:30 +02:00
Yuri Kuznetsov ffa8248ac1 small input 29px 2024-03-22 10:35:59 +02:00
Yuri Kuznetsov 7d90a0c59b fix 2024-03-21 21:23:35 +02:00
Yuri Kuznetsov e33e77cb9e style fix 2024-03-21 13:28:32 +02:00
Yuri Kuznetsov f7a7c3bc72 comment 2024-03-21 13:15:07 +02:00
Yuri Kuznetsov c8371bef3f dynamic logic style fix 2024-03-21 13:06:29 +02:00
Yuri Kuznetsov 7c3f285342 opp probability not required 2024-03-21 11:56:24 +02:00
Yuri Kuznetsov ed3a7d64c6 sanitize date and date time, parse ATOM format 2024-03-21 11:35:47 +02:00
Yuri Kuznetsov 00b4569f8e webhook queue change scheduling 2024-03-20 12:02:39 +02:00
Yuri Kuznetsov 41e0b90850 cs 2024-03-20 12:02:10 +02:00
Yuri Kuznetsov 4d35bce189 metadata get by key endpoint 2024-03-20 11:42:11 +02:00
Yuri Kuznetsov e6631ba1d1 ref 2024-03-20 09:44:26 +02:00
Yuri Kuznetsov 6bae952947 Merge branch 'fix' 2024-03-20 09:17:30 +02:00
Yuri Kuznetsov 2e550af196 templte helper data context mixed 2024-03-20 09:16:08 +02:00
Yuri Kuznetsov 95ecc416f1 tpl fix 2024-03-19 15:54:09 +02:00
Yuri Kuznetsov ee3b0cb53d bc fix 2024-03-19 15:48:08 +02:00
Yuri Kuznetsov bfa0ea53a4 avatar field rounded 2024-03-19 12:21:41 +02:00
Yuri Kuznetsov 2f338d6eda lang files 2024-03-19 12:13:08 +02:00
Yuri Kuznetsov 6e59165786 v 2024-03-19 11:06:54 +02:00
Yuri Kuznetsov a5a6c8a0a1 cleanup 2024-03-19 10:19:45 +02:00
Yuri Kuznetsov cd0c397b07 ref 2024-03-19 10:13:27 +02:00
Yuri Kuznetsov 7ba7f8aa14 load assigned user name always 2024-03-19 09:07:42 +02:00
Yuri Kuznetsov 91d0660cba load assigned user name if null 2024-03-19 08:56:54 +02:00
Yuri Kuznetsov e8bbcb2ae4 tabindex 2024-03-18 17:57:58 +02:00
Yuri Kuznetsov 834d1808a1 cleanup preferences params 2024-03-18 17:10:43 +02:00
Yuri Kuznetsov 2d264eccb7 fix pagination error from detail pagination 2024-03-18 16:26:51 +02:00
Yuri Kuznetsov 3ec0fe1e03 fetch after remove if pagination 2024-03-18 15:58:09 +02:00
Yuri Kuznetsov 2f85c5cb3c ref 2024-03-18 15:10:38 +02:00
Yuri Kuznetsov 69cd4386f1 fix pagination 2024-03-18 15:07:24 +02:00
Yuri Kuznetsov effb81837f fix 2024-03-18 14:42:52 +02:00
Yuri Kuznetsov d0139ada06 list expanded force no pagination 2024-03-18 14:34:50 +02:00
Yuri Kuznetsov 2920793e40 style fix 2024-03-18 14:28:31 +02:00
Yuri Kuznetsov 570f886a1f reseting collection offset 2024-03-18 13:54:28 +02:00
Yuri Kuznetsov 21dab40b43 rebuild full on pg 2024-03-18 13:24:40 +02:00
Yuri Kuznetsov 801ccf94c7 pagination impr 2024-03-18 13:17:33 +02:00
Yuri Kuznetsov 7114b99cbc sticky bar fix 2024-03-18 11:07:22 +02:00
Yuri Kuznetsov 94c99f298e pagination stlye fixes 2024-03-18 10:55:10 +02:00
Yuri Kuznetsov ac37a4c232 notficaition bc fix 2024-03-18 10:11:31 +02:00
Yuri Kuznetsov 5ad4f30505 ref 2024-03-18 10:07:46 +02:00
Yuri Kuznetsov b4773ade9b fix 2024-03-17 18:14:22 +02:00
Yuri Kuznetsov 63f422f93a ref, return promise 2024-03-17 13:02:44 +02:00
Yuri Kuznetsov 1134f89a5a suppress 2024-03-17 12:56:30 +02:00
Yuri Kuznetsov fe0b1b62d1 ref 2024-03-17 12:50:52 +02:00
Yuri Kuznetsov d549ccb300 style fix 2024-03-17 12:47:52 +02:00
Yuri Kuznetsov 06d596b5cf pagination changes 2024-03-17 11:46:58 +02:00
Yuri Kuznetsov 1091b21306 clear stored email view 2024-03-16 12:28:16 +02:00
Yuri Kuznetsov 780b66d5b4 docs 2024-03-16 12:13:04 +02:00
Yuri Kuznetsov 10982e1b19 store main view ref 2024-03-15 18:35:15 +02:00
Yuri Kuznetsov 068375022e grid layout manager style impr 2024-03-15 17:41:28 +02:00
Yuri Kuznetsov d6bd701492 remove eot svg fonts 2024-03-15 16:44:42 +02:00
Yuri Kuznetsov 223b4ab8aa extension version print 2024-03-15 15:35:42 +02:00
Yuri Kuznetsov 6aff357473 cleanup 2024-03-15 15:08:20 +02:00
Yuri Kuznetsov 3ef24bb5ad avatars 2024-03-15 14:54:02 +02:00
Yuri Kuznetsov 9e60ea2209 image preview border radius 2024-03-15 13:45:02 +02:00
Yuri Kuznetsov 86904380bb image list preview style fix 2024-03-15 12:59:41 +02:00
Yuri Kuznetsov 9cdef865fe ref 2024-03-14 11:51:52 +02:00
Yuri Kuznetsov 1d611720c6 remove title 2024-03-14 11:43:27 +02:00
Yuri Kuznetsov 7285e058cd fix link field unset on clear 2024-03-14 10:57:32 +02:00
Yuri Kuznetsov e44617e276 fix extend 2024-03-14 10:16:48 +02:00
Yuri Kuznetsov 81972e26ff restore opp service class 2024-03-14 10:07:23 +02:00
Yuri Kuznetsov 5a7a4608c9 fix message 2024-03-14 10:00:04 +02:00
Yuri Kuznetsov 9161e64932 update icons 2024-03-14 09:56:12 +02:00
Yuri Kuznetsov cfd514c5a5 remove test 2024-03-13 22:55:02 +02:00
Yuri Kuznetsov b42f4ee256 no order 2024-03-13 22:10:52 +02:00
Yuri Kuznetsov a5a4fbca2f fix field manager when no params for type 2024-03-13 19:48:29 +02:00
Yuri Kuznetsov a706811338 attachment remove 2024-03-13 16:26:58 +02:00
Yuri Kuznetsov ec120dfd75 ref 2024-03-13 16:01:49 +02:00
Yuri Kuznetsov fe7b19b96d color fix 2024-03-13 15:15:15 +02:00
Yuri Kuznetsov ff5e1dac43 color fixes 2024-03-13 14:39:45 +02:00
Yuri Kuznetsov e73f7e9807 group folder ui impr 2024-03-13 14:13:32 +02:00
Yuri Kuznetsov 15e99e3063 schema 2024-03-13 13:24:20 +02:00
Yuri Kuznetsov 4edc909f2a fix 2024-03-13 12:36:16 +02:00
Yuri Kuznetsov d1fe29adbe throw tag 2024-03-13 12:32:20 +02:00
Yuri Kuznetsov 980226c4a2 cs 2024-03-13 12:30:39 +02:00
Yuri Kuznetsov c4c4306ad3 import encode URL 2024-03-13 12:29:53 +02:00
Yuri Kuznetsov 10732c0a90 fix 2024-03-13 11:00:30 +02:00
Yuri Kuznetsov ca2c4b3ee4 Merge branch 'fix' 2024-03-12 13:42:45 +02:00
Yuri Kuznetsov 03671efe11 category default 2024-03-12 13:38:29 +02:00
Yuri Kuznetsov 748529afac ref 2024-03-11 18:43:55 +02:00
Yuri Kuznetsov 1a003e5905 ref 2024-03-11 18:37:47 +02:00
Eymen Elkum d6c66b8b43 fix entity rename command 2024-03-11 11:00:22 +02:00
Yuri Kuznetsov 813bc05e74 foreign field do not list utility link 2024-03-11 09:47:03 +02:00
Yuri Kuznetsov ef447b400c fix test send button 2024-03-09 21:34:00 +02:00
Yuri Kuznetsov aca823df64 Merge branch 'fix' 2024-03-09 21:26:58 +02:00
Yuri Kuznetsov 0832faa2f2 fix port is string 2024-03-09 21:26:47 +02:00
Yuri Kuznetsov 7573bd1f92 link parent autocomplete fix 2024-03-08 16:27:14 +02:00
Yuri Kuznetsov 35eb013c97 schema 2024-03-08 11:10:07 +02:00
Yuri Kuznetsov 110f769384 ics description fix line break 2024-03-07 17:02:31 +02:00
Yuri Kuznetsov 6ce7c6ccda schema fix 2024-03-07 12:38:16 +02:00
Yuri Kuznetsov 350141727b disable merge 2024-03-06 13:47:16 +02:00
Yuri Kuznetsov c63fed50d5 fix install labels 2024-03-06 13:46:42 +02:00
Yuri Kuznetsov 24a22328c9 prop helper undefined warn 2024-03-05 10:39:32 +02:00
Yuri Kuznetsov 0504410ee9 fix type check 2024-03-05 10:06:38 +02:00
Yuri Kuznetsov 3a1bc73692 update phpseclib 2024-03-05 10:05:41 +02:00
Yuri Kuznetsov f02ee87344 customizationReadOnlyDisabled for account field 2024-03-04 17:00:40 +02:00
Yuri Kuznetsov 7cdcb375b3 wysiwyg audited 2024-03-04 16:09:28 +02:00
Yuri Kuznetsov 52c07987c6 move 2024-03-04 16:06:11 +02:00
Yuri Kuznetsov 11dee6e984 global stream prepare note 2024-03-04 16:05:05 +02:00
Yuri Kuznetsov 036cf4330f fix stream 2024-03-04 15:59:33 +02:00
Yuri Kuznetsov 4fec73307b pg orm tests 2024-03-04 13:42:36 +02:00
Yuri Kuznetsov a58047433b eol 2024-03-04 13:06:10 +02:00
Yuri Kuznetsov e004884352 schema 2024-03-04 13:06:03 +02:00
Yuri Kuznetsov 8aa7236dd6 link select filter 2024-03-04 12:56:07 +02:00
Yuri Kuznetsov 1f297aa42e setOptionList promise 2024-03-04 11:54:36 +02:00
Yuri Kuznetsov b5a0848513 style fix 2024-03-04 11:38:40 +02:00
Yuri Kuznetsov c2ea9781ee cs 2024-03-04 11:04:13 +02:00
Yuri Kuznetsov 93255071ac color fix 2024-03-04 10:27:17 +02:00
Yuri Kuznetsov 313293b57b comments 2024-03-03 13:32:46 +02:00
Yuri Kuznetsov 687ceca26e fix hooksDisabled 2024-03-03 13:25:54 +02:00
Yuri Kuznetsov 55b1c1511a cs 2024-03-03 13:16:35 +02:00
Yuri Kuznetsov 04ccf36966 ref 2024-03-02 19:15:02 +02:00
Yuri Kuznetsov 3eba144998 event repository ref 2024-03-02 19:10:39 +02:00
Yuri Kuznetsov e2bd509aeb hooksDisabled 2024-03-02 18:51:18 +02:00
Yuri Kuznetsov 9be5342220 repositoryClassName, entityClassName in metadata 2024-03-02 18:42:36 +02:00
Yuri Kuznetsov e96c1deffe comment 2024-03-02 18:02:26 +02:00
Yuri Kuznetsov aa53bc89b4 output filters 2024-03-02 13:30:41 +02:00
Yuri Kuznetsov e57bd13f73 lead capture copy to clipboard url 2024-03-01 16:38:46 +02:00
Yuri Kuznetsov 00f30e01d5 style fix 2024-03-01 16:38:32 +02:00
Yuri Kuznetsov fcb73fb3a8 ref 2024-03-01 16:32:00 +02:00
Yuri Kuznetsov fba82f8697 ref, comments 2024-03-01 16:07:57 +02:00
Yuri Kuznetsov 13c8fc15f4 ref 2024-03-01 16:03:27 +02:00
Yuri Kuznetsov 3a3cac54a2 ref 2024-03-01 15:49:30 +02:00
Yuri Kuznetsov 303860d509 forceValidation, ref 2024-03-01 15:39:49 +02:00
Yuri Kuznetsov ba2a740d38 ref 2024-03-01 15:02:37 +02:00
Yuri Kuznetsov 87f4508d1c schema 2024-03-01 14:04:01 +02:00
Yuri Kuznetsov fea79ba8c9 after link record hooks 2024-03-01 13:49:35 +02:00
Yuri Kuznetsov 734ca9b488 cleanup 2024-03-01 13:37:00 +02:00
Yuri Kuznetsov c695e64652 ref, noinsp 2024-03-01 13:20:25 +02:00
Yuri Kuznetsov 77218b788a cleanup 2024-03-01 13:18:02 +02:00
Yuri Kuznetsov e5063c2016 ref 2024-03-01 13:15:01 +02:00
Yuri Kuznetsov a6cfb38433 fix 2024-03-01 12:54:45 +02:00
Yuri Kuznetsov ae657ada61 ref 2024-03-01 12:36:07 +02:00
Yuri Kuznetsov ee8963ace8 ref 2024-03-01 11:12:41 +02:00
Yuri Kuznetsov aca76ae3a6 ref 2024-02-29 20:04:34 +02:00
Yuri Kuznetsov 5e3cdc594d user stream note helper 2024-02-29 17:49:35 +02:00
Yuri Kuznetsov 959fdbab94 ref 2024-02-29 17:38:48 +02:00
Yuri Kuznetsov f19952af12 ref 2024-02-29 17:25:08 +02:00
Yuri Kuznetsov 9b3c59bfa4 ref 2024-02-29 15:47:59 +02:00
Yuri Kuznetsov 55dd4ecf74 formula priority fix 2024-02-29 14:42:25 +02:00
Yuri Kuznetsov bbff632fbc bind user 2024-02-29 12:44:29 +02:00
Yuri Kuznetsov 4127be7f2f record service bind user 2024-02-29 12:05:41 +02:00
Yuri Kuznetsov 3a77ea83a3 record input filters 2024-02-29 11:46:28 +02:00
Yuri Kuznetsov 2bd70eee4b Merge branch 'fix' 2024-02-29 10:15:36 +02:00
Yuri Kuznetsov 0dd34df7d7 isWorkingDay fix 2024-02-29 10:10:33 +02:00
Yuri Kuznetsov 41c0567a4f ref 2024-02-28 15:10:32 +02:00
Yuri Kuznetsov dcaa1e209e rename 2024-02-28 14:59:33 +02:00
Yuri Kuznetsov f1e67d943d rename 2024-02-28 14:54:39 +02:00
Yuri Kuznetsov 70afd19f7f ref 2024-02-28 14:42:22 +02:00
Yuri Kuznetsov 7f6ce95fd6 record create defaults populator 2024-02-28 14:37:45 +02:00
Yuri Kuznetsov 035e1ef9eb Merge branch 'fix' 2024-02-28 10:14:46 +02:00
Yuri Kuznetsov 5988642a89 8.1.5 2024-02-28 10:05:22 +02:00
Yuri Kuznetsov 4964fbb1b2 load link multiple audit was names 2024-02-27 17:55:55 +02:00
Yuri Kuznetsov 2ca3aade8c fix link multiple factory 2024-02-27 12:55:49 +02:00
Yuri Kuznetsov 878f33929b upper case multi word note string items 2024-02-27 12:34:31 +02:00
Yuri Kuznetsov ae340b3279 highlight field on restore 2024-02-27 11:48:08 +02:00
Yuri Kuznetsov 0da0b8974c audit restore 2024-02-27 11:10:52 +02:00
Yuri Kuznetsov d7804bfa79 ref 2024-02-27 10:20:29 +02:00
Yuri Kuznetsov e451126af7 ref 2024-02-26 19:43:47 +02:00
Yuri Kuznetsov 38049d0ef4 upper case status 2024-02-26 18:12:35 +02:00
Yuri Kuznetsov 31e25047cc ref 2024-02-26 18:08:47 +02:00
Yuri Kuznetsov 8d105465a3 ref 2024-02-26 18:06:44 +02:00
Yuri Kuznetsov d8c021def2 fix 2024-02-26 17:57:19 +02:00
Yuri Kuznetsov ba08b8a8af ref 2024-02-26 17:56:17 +02:00
Yuri Kuznetsov 6974c00d02 fix layout manager label conflict 2024-02-26 17:06:57 +02:00
Yuri Kuznetsov 5446914131 ref 2024-02-26 16:54:27 +02:00
Yuri Kuznetsov 68add0bbd7 Update feature_request.md 2024-02-26 16:25:39 +02:00
Yuri Kuznetsov 28d0c4dd6e Update feature_request.md 2024-02-26 16:24:53 +02:00
Yuri Kuznetsov a201f61eeb ref 2024-02-26 15:05:20 +02:00
Yuri Kuznetsov 0ec428b1ed target list mandatoryAttributeList usage 2024-02-26 14:59:03 +02:00
Yuri Kuznetsov a088ca0875 import add field quick search 2024-02-26 14:47:17 +02:00
Yuri Kuznetsov d412766794 fix roles 2024-02-26 13:54:56 +02:00
Yuri Kuznetsov 3cd2a6b74e fix role translations 2024-02-26 13:45:58 +02:00
Yuri Kuznetsov 136ae8ae24 fix link multiple value object factory 2024-02-26 13:28:52 +02:00
Yuri Kuznetsov d80b8ce76b mass link restriction, ref 2024-02-26 13:22:08 +02:00
Yuri Kuznetsov 392616bdd3 ref, deprecate 2024-02-26 12:14:33 +02:00
Yuri Kuznetsov 4d6387e69d duplicateLinkList and ref 2024-02-26 12:04:57 +02:00
Yuri Kuznetsov eebe244247 ref 2024-02-26 11:56:04 +02:00
Yuri Kuznetsov dbfb1c696f role select style 2024-02-26 11:21:53 +02:00
Yuri Kuznetsov 2ed620335f cs 2024-02-26 11:15:09 +02:00
Yuri Kuznetsov 09efbd175d ref 2024-02-26 11:00:45 +02:00
Yuri Kuznetsov e4c67a4a6f fix test 2024-02-25 13:41:07 +02:00
Yuri Kuznetsov e8dd049baf fix test 2024-02-25 12:45:05 +02:00
Yuri Kuznetsov 4c0f3413f3 audit cleanup 2024-02-25 11:21:42 +02:00
Yuri Kuznetsov a052c65b89 fix tests 2024-02-24 14:30:57 +02:00
Yuri Kuznetsov 1bcc81018b fix tests 2024-02-24 12:51:21 +02:00
Yuri Kuznetsov 81ba1b8790 link multiple audited 2024-02-24 10:42:36 +02:00
Yuri Kuznetsov ed946a532e user teams field fix 2024-02-24 10:36:27 +02:00
Yuri Kuznetsov db34e75d1f audited fields 2024-02-24 10:34:49 +02:00
Yuri Kuznetsov bcb588b968 css fix 2024-02-23 17:20:37 +02:00
Yuri Kuznetsov 474e787234 ref 2024-02-23 16:18:21 +02:00
Yuri Kuznetsov 691c62f65d user stream preview size small 2024-02-23 16:17:38 +02:00
Yuri Kuznetsov a3a4d7bf36 fix tests 2024-02-23 16:00:33 +02:00
Yuri Kuznetsov 0bcb9acb02 category entity type metadata params 2024-02-23 11:37:18 +02:00
Yuri Kuznetsov e148b16882 target list ref 2024-02-23 11:05:57 +02:00
Yuri Kuznetsov 3a764fae00 target list opt out ref 2024-02-23 10:43:33 +02:00
Yuri Kuznetsov f46c2d6079 stream followers find refactoring 2024-02-23 10:23:26 +02:00
Yuri Kuznetsov 1847132ded cleanup 2024-02-23 10:14:03 +02:00
Yuri Kuznetsov 5765247f9e followers record service 2024-02-23 10:03:13 +02:00
Yuri Kuznetsov 0ef6c7ed55 cleanup 2024-02-22 22:49:11 +02:00
Yuri Kuznetsov e2e6398026 ref 2024-02-22 22:39:14 +02:00
Yuri Kuznetsov 9cd19228a3 cleanup 2024-02-22 22:37:13 +02:00
Yuri Kuznetsov 4268794990 cleanup 2024-02-22 22:35:17 +02:00
Yuri Kuznetsov de4dcaaecb list rebuild-category-paths 2024-02-22 21:11:40 +02:00
Yuri Kuznetsov b7b1e3056a ref 2024-02-22 20:03:30 +02:00
Yuri Kuznetsov 458a5250f4 recordDefs relationship countDisabled 2024-02-22 20:01:29 +02:00
Yuri Kuznetsov 5cf3856b6a suppress insp 2024-02-22 19:54:47 +02:00
Yuri Kuznetsov 8ddd139111 ref, cleanup 2024-02-22 19:51:26 +02:00
Yuri Kuznetsov 952b94d6fe forceSelectAllAttributes 2024-02-22 19:46:23 +02:00
Yuri Kuznetsov 42e68ecd63 suppress inspection 2024-02-22 18:53:18 +02:00
Yuri Kuznetsov 41fac7ef9d ref 2024-02-22 18:50:13 +02:00
Yuri Kuznetsov 253736870e ref, mandatoryAttributeList 2024-02-22 18:30:16 +02:00
Yuri Kuznetsov 569ff9a81b ref, mandatoryAttributeList 2024-02-22 18:01:37 +02:00
Yuri Kuznetsov 3b17174431 cleanup 2024-02-22 17:43:18 +02:00
Yuri Kuznetsov 52436afda9 ref, docs 2024-02-22 17:34:30 +02:00
Yuri Kuznetsov 531b4cccca cleanup, docs 2024-02-22 16:54:48 +02:00
Yuri Kuznetsov e06544cc0f cleanup 2024-02-22 16:52:03 +02:00
Yuri Kuznetsov c48f4c065c postgres for update fix 2024-02-22 16:29:11 +02:00
Yuri Kuznetsov c4d7a794ea ref 2024-02-22 15:35:53 +02:00
Yuri Kuznetsov e7c777281d ref 2024-02-22 15:30:22 +02:00
Yuri Kuznetsov f687b1543d ref 2024-02-22 15:17:42 +02:00
Yuri Kuznetsov 869bee454d ref 2024-02-22 14:54:13 +02:00
Yuri Kuznetsov 83bcb9176b ref 2024-02-22 14:13:32 +02:00
Yuri Kuznetsov f72c902b6a ref 2024-02-22 14:04:27 +02:00
Yuri Kuznetsov e3f68e1e98 fix tests 2024-02-22 13:55:43 +02:00
Yuri Kuznetsov b002846f7c force append 2024-02-22 13:30:31 +02:00
Yuri Kuznetsov f55cccd7c6 ref 2024-02-22 13:29:15 +02:00
Yuri Kuznetsov 929badd208 ref 2024-02-22 13:02:02 +02:00
Yuri Kuznetsov d347fe66ca suppress inspection implemented 2024-02-22 12:51:32 +02:00
Yuri Kuznetsov 42921ac205 ref 2024-02-22 12:35:18 +02:00
Yuri Kuznetsov 58304ceded ref 2024-02-22 11:40:05 +02:00
Yuri Kuznetsov 0a7d2055be ref 2024-02-22 11:09:17 +02:00
Yuri Kuznetsov 1edc3ead8d ref 2024-02-22 10:50:11 +02:00
dependabot[bot] 231bd7699a Bump phenx/php-svg-lib from 0.5.1 to 0.5.2
Bumps [phenx/php-svg-lib](https://github.com/PhenX/php-svg-lib) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/PhenX/php-svg-lib/releases)
- [Commits](https://github.com/PhenX/php-svg-lib/compare/0.5.1...0.5.2)

---
updated-dependencies:
- dependency-name: phenx/php-svg-lib
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 09:38:54 +02:00
Yuri Kuznetsov 4dee2ebb15 relate API option 2024-02-21 18:12:05 +02:00
Yuri Kuznetsov 16f956bdf8 change record create hook order 2024-02-21 16:56:39 +02:00
Yuri Kuznetsov a20ab17236 record update keep entity dirty for after update hook 2024-02-21 16:54:46 +02:00
Yuri Kuznetsov 68c5fe94bf record after hooks 2024-02-21 16:33:47 +02:00
Yuri Kuznetsov 78f536e7f1 ref & deprecations 2024-02-21 16:00:42 +02:00
Yuri Kuznetsov ee408300fd acceptance status direct access disabled 2024-02-21 15:09:10 +02:00
Yuri Kuznetsov 0f146959e5 link field foreign load 2024-02-21 14:08:30 +02:00
Yuri Kuznetsov 449d6a6fcd update test 2024-02-21 13:35:44 +02:00
Yuri Kuznetsov 63afa92fc1 update related fields 2024-02-21 13:25:16 +02:00
Yuri Kuznetsov 2b786af35b email/phone edit mode opt-out invalid cues 2024-02-21 12:33:11 +02:00
Yuri Kuznetsov 231f498eca ref 2024-02-21 12:10:00 +02:00
Yuri Kuznetsov 046aafd97e ref 2024-02-21 12:07:26 +02:00
Yuri Kuznetsov d376847d12 ref 2024-02-21 11:44:41 +02:00
Yuri Kuznetsov befd48d053 dompdf page size in mm 2024-02-21 11:23:52 +02:00
Yuri Kuznetsov ee294f889c ref 2024-02-20 22:33:35 +02:00
Yuri Kuznetsov 5fddac8c6b dashlet autoRefresh method 2024-02-20 16:35:31 +02:00
Yuri Kuznetsov a3d73848a9 ref 2024-02-20 16:31:56 +02:00
Yuri Kuznetsov b829e25f5a email address select isInvalid = false filter 2024-02-20 15:40:26 +02:00
Yuri Kuznetsov 58a6cc1658 clone 2024-02-20 15:29:34 +02:00
Yuri Kuznetsov f7eef2d3c7 ref 2024-02-20 15:25:38 +02:00
Yuri Kuznetsov b5d007c61c ref 2024-02-20 14:03:41 +02:00
Yuri Kuznetsov 8570b6f768 webhook queue items admin ui 2024-02-20 13:22:03 +02:00
Yuri Kuznetsov b02e2f72b6 webhook ui small impr 2024-02-20 12:25:54 +02:00
Yuri Kuznetsov e546509f53 admin panel change 2024-02-20 12:24:26 +02:00
Yuri Kuznetsov 244864c984 menu action items data hyphen key 2024-02-20 11:50:43 +02:00
Yuri Kuznetsov 33af4be469 frontend route specific controller class 2024-02-19 16:28:43 +02:00
Yuri Kuznetsov 29e3470587 stream websocket fix 2024-02-19 14:53:05 +02:00
Yuri Kuznetsov 2b8e764deb Merge branch 'fix' 2024-02-19 14:48:57 +02:00
Yuri Kuznetsov f503144c62 category performance fix 2024-02-19 14:43:04 +02:00
Yuri Kuznetsov 79f7194429 Merge branch 'fix' 2024-02-19 09:55:18 +02:00
Yuri Kuznetsov 6ac13521e8 lang 2024-02-19 09:55:07 +02:00
Yuri Kuznetsov ca0625f15e select where converters inCategory, isUserFromTeams 2024-02-19 09:43:43 +02:00
Yuri Kuznetsov 88c9fbd153 ref 2024-02-18 15:33:07 +02:00
Yuri Kuznetsov 7f51b3a31e cleanup 2024-02-17 22:20:58 +02:00
Yuri Kuznetsov ac0b08fdb7 list sticky bar helper 2024-02-17 22:20:06 +02:00
Yuri Kuznetsov de0e5ea72d copy primary filter hash to clipboard 2024-02-17 19:47:11 +02:00
Yuri Kuznetsov e06d60a3c3 color fix 2024-02-17 19:27:58 +02:00
Yuri Kuznetsov 128bfb09ea fix test 2024-02-17 12:56:59 +02:00
Yuri Kuznetsov 7f0283caf8 list with category support primary filter 2024-02-16 17:55:35 +02:00
Yuri Kuznetsov a00cf5e696 entity manager show primary filters 2024-02-16 16:39:35 +02:00
Yuri Kuznetsov 65a9a0db41 detail view as obj read only 2024-02-16 16:36:40 +02:00
Yuri Kuznetsov 8ac98067de jsdocs 2024-02-16 15:02:22 +02:00
Yuri Kuznetsov f725dc395e ref 2024-02-16 14:50:33 +02:00
Yuri Kuznetsov 6e8368c7c5 fix tests 2024-02-16 13:35:39 +02:00
Yuri Kuznetsov ddd9425463 list view primaryFilter uri param 2024-02-16 13:30:49 +02:00
Yuri Kuznetsov 4739cd1510 docs 2024-02-16 12:03:40 +02:00
Yuri Kuznetsov 5a3c977759 jsdoc 2024-02-16 10:44:21 +02:00
Yuri Kuznetsov 85889ab99d fix deprecation 2024-02-16 10:09:05 +02:00
Yuri Kuznetsov a9dc3a62fb remove preferences link 2024-02-16 09:47:05 +02:00
Yuri Kuznetsov c2ddf89747 fix test 2024-02-15 16:30:19 +02:00
Yuri Kuznetsov 9f743b718a custom prefix 2024-02-15 16:20:51 +02:00
Yuri Kuznetsov 0db4a9c672 address fields max length decrease 2024-02-15 14:03:06 +02:00
Yuri Kuznetsov 2dbdb0da60 ref 2024-02-15 13:37:38 +02:00
Yuri Kuznetsov ba59cb1010 enum max length 100 2024-02-15 13:30:34 +02:00
Yuri Kuznetsov ee36f73ec2 enum 100 max length by default 2024-02-15 13:28:25 +02:00
Yuri Kuznetsov abcbabfbd8 varchar max length 100 by default 2024-02-15 12:57:54 +02:00
Yuri Kuznetsov 5be76d2657 triggerSelectOnValidInput by default 2024-02-15 12:14:06 +02:00
Yuri Kuznetsov ddb92f66e7 search ui autocomplete 2024-02-15 12:11:41 +02:00
Yuri Kuznetsov f52759cd00 autocomplete fixes 2024-02-15 12:09:35 +02:00
Yuri Kuznetsov b0d9d7779f ui autocomplete usage 2024-02-15 10:44:42 +02:00
Yuri Kuznetsov 8cd6912fee fix record prev/next if no total 2024-02-15 09:19:44 +02:00
Yuri Kuznetsov bc58ca647d disabled button fix 2024-02-15 09:09:35 +02:00
Yuri Kuznetsov 1456569cf6 ui autocomplete changes 2024-02-14 21:36:20 +02:00
Yuri Kuznetsov e1e7d3d093 link multiple column ui autocomplete usage 2024-02-14 20:57:18 +02:00
Yuri Kuznetsov 495cd0f259 autocomplete email addresses 2024-02-14 16:40:25 +02:00
Yuri Kuznetsov f4371efa1c ui autocomplete 2024-02-14 16:17:07 +02:00
Yuri Kuznetsov d83b05e030 auth log layout 2024-02-14 13:06:38 +02:00
Yuri Kuznetsov bf8267c2a8 move 2024-02-14 13:04:41 +02:00
Yuri Kuznetsov 3bad29ed6d use force settings 2024-02-14 13:01:01 +02:00
Yuri Kuznetsov cbae4d89e4 force and disable list view settings 2024-02-14 12:56:42 +02:00
Yuri Kuznetsov 18f89aebbb update cron-expression 2024-02-14 12:47:33 +02:00
Yuri Kuznetsov c2b4caf723 menu item disabled 2024-02-14 12:14:42 +02:00
Yuri Kuznetsov c5f3a9e366 Merge branch 'fix' 2024-02-14 11:54:19 +02:00
Yuri Kuznetsov da826eace1 fix menu items disable 2024-02-14 11:48:57 +02:00
Yuri Kuznetsov 54de942e7f modal clear on close 2024-02-14 11:17:14 +02:00
Yuri Kuznetsov 0093bf9b79 fix 2024-02-14 11:08:43 +02:00
Yuri Kuznetsov 8e9dcb5d62 role add field ignore fields 2024-02-14 11:04:52 +02:00
Yuri Kuznetsov 38e909dfca role add field focus 2024-02-14 10:57:27 +02:00
Yuri Kuznetsov 6b0276dc22 role: add multiple fields 2024-02-14 10:52:22 +02:00
Yuri Kuznetsov 0d19dfa7b8 role add field quick search 2024-02-13 19:51:18 +02:00
Yuri Kuznetsov 13052b2969 log failed queries 2024-02-13 16:52:36 +02:00
Yuri Kuznetsov 1f9de30ff0 import step2 route change 2024-02-13 15:15:58 +02:00
Yuri Kuznetsov 5b708c1d8d import underscore match 2024-02-13 15:03:47 +02:00
Yuri Kuznetsov ed92d68317 Merge branch 'fix' 2024-02-13 14:38:41 +02:00
Yuri Kuznetsov 2a3bbf13a5 import preivew fix 2024-02-13 14:38:23 +02:00
Yuri Kuznetsov 330fccad25 email address insert fix 2024-02-13 14:06:39 +02:00
Rabii Brahimi 14243b5ef7 Remove Duplication 2024-02-13 14:06:31 +02:00
Yuri Kuznetsov 9c702814b2 onlyMy filter 2024-02-13 13:05:54 +02:00
Yuri Kuznetsov ba7acc5443 ref 2024-02-13 12:47:18 +02:00
Yuri Kuznetsov 10557ca1ec load accountIsInactive on list view 2024-02-13 12:19:04 +02:00
Rabii Brahimi 2085701516 Update Layout index.tpl 2024-02-13 11:14:14 +02:00
Yuri Kuznetsov 88ba56618e formula today honot default timezone 2024-02-13 11:00:37 +02:00
Yuri Kuznetsov c35545c209 label manager quick search 2024-02-12 15:05:11 +02:00
Yuri Kuznetsov 585a859340 ref 2024-02-12 14:10:41 +02:00
Yuri Kuznetsov cf214de06c Merge branch 'fix' 2024-02-12 12:08:37 +02:00
Yuri Kuznetsov 2c83edf691 email skip index if one 2024-02-12 12:01:47 +02:00
Yuri Kuznetsov 2f14c49215 ref 2024-02-12 11:40:40 +02:00
Yuri Kuznetsov 72e68e1a6f ref 2024-02-12 10:33:39 +02:00
Yuri Kuznetsov 5ff535cab1 ref 2024-02-12 10:16:17 +02:00
Yuri Kuznetsov 90e6acf8b9 lang fix 2024-02-12 10:15:04 +02:00
Yuri Kuznetsov e5e29101fd web socket wait interval 2024-02-11 16:46:19 +02:00
Yuri Kuznetsov 47735aaa0b email attachment show alert 2024-02-11 10:08:42 +02:00
Yuri Kuznetsov 43eb2f8d36 date picker assumeNearbyYear 2024-02-10 22:33:39 +02:00
Yuri Kuznetsov 1d3c0074d4 ref 2024-02-10 19:14:03 +02:00
Yuri Kuznetsov e8f07e0765 supresses 2024-02-10 18:35:55 +02:00
Yuri Kuznetsov 54216709b2 text field audited 2024-02-10 15:30:34 +02:00
Yuri Kuznetsov 9f6f034f97 cs 2024-02-10 14:38:23 +02:00
Yuri Kuznetsov e0c74aa2ad fix docs 2024-02-10 11:37:41 +02:00
Yuri Kuznetsov c083e1b97d clear attribute function 2024-02-10 09:43:36 +02:00
Yuri Kuznetsov c4078ed8f1 fix doc 2024-02-10 09:10:59 +02:00
Yuri Kuznetsov 4001e40613 rename 2024-02-09 16:03:09 +02:00
Yuri Kuznetsov a19deac279 error msg 2024-02-09 14:30:54 +02:00
Yuri Kuznetsov f655e543b1 websocket ping 2024-02-09 14:15:20 +02:00
Yuri Kuznetsov 5031e7f430 fix 2024-02-09 13:28:16 +02:00
Yuri Kuznetsov 7f75ee6ed8 websocket re-subscribe on connection restore 2024-02-09 12:33:54 +02:00
Yuri Kuznetsov bde2e0284a ws keep alive 2024-02-09 10:24:09 +02:00
Yuri Kuznetsov 026826fc84 preferences tab fields translations 2024-02-08 17:40:23 +02:00
Yuri Kuznetsov c5f5d88f75 style enum color 2024-02-08 17:15:08 +02:00
Yuri Kuznetsov 3ae4478a70 schema fix 2024-02-08 16:01:55 +02:00
Yuri Kuznetsov 246ece8e3d audit log 2024-02-08 15:53:01 +02:00
Yuri Kuznetsov 2681acebc6 fix schema 2024-02-08 15:50:27 +02:00
Yuri Kuznetsov a611301c5a css fix 2024-02-08 13:29:22 +02:00
Yuri Kuznetsov 3f2ffb851f ref 2024-02-08 10:24:08 +02:00
Yuri Kuznetsov daa37961e4 tryGetForeignEntityType 2024-02-08 09:59:12 +02:00
Yuri Kuznetsov 66b336279a layout css change 2024-02-07 16:47:32 +02:00
Yuri Kuznetsov c99804621d remove labels from tempalte detail layouts 2024-02-07 16:44:46 +02:00
Yuri Kuznetsov 2ebbc942d3 RDBRelation generic 2024-02-07 15:56:56 +02:00
Yuri Kuznetsov b81d6962ae cs 2024-02-07 15:43:22 +02:00
Yuri Kuznetsov dc89f75678 translatable panel note 2024-02-07 14:12:46 +02:00
Yuri Kuznetsov 1ccd70b3fc panel notes 2024-02-07 13:28:20 +02:00
Yuri Kuznetsov 0b3002979e alert content style 2024-02-07 13:26:01 +02:00
Yuri Kuznetsov 25dfa76807 merge 2024-02-07 11:58:36 +02:00
Yuri Kuznetsov db26c579b0 8.1.4 2024-02-07 11:35:44 +02:00
Yuri Kuznetsov 623b26f60f email phone fields save fix 2024-02-07 09:42:59 +02:00
Yuri Kuznetsov fec6bf8ee0 mass email link checker 2024-02-07 09:01:56 +02:00
Yuri Kuznetsov 46760ccfba calendar suppress loading alert 2024-02-06 15:44:57 +02:00
Yuri Kuznetsov 214a32c472 preferences: hide panel 2024-02-06 13:34:52 +02:00
Yuri Kuznetsov ee6a4607d8 fix 2024-02-06 13:29:23 +02:00
Yuri Kuznetsov 5a3b3ab2e8 url tab 2024-02-06 13:20:50 +02:00
Yuri Kuznetsov 5d5000fbbd url not optional protocol 2024-02-06 13:18:43 +02:00
Yuri Kuznetsov 554668f1bd url reg exp 2024-02-06 13:18:24 +02:00
Yuri Kuznetsov 7ff8b1ecee fix validation msg 2024-02-06 10:41:40 +02:00
Yuri Kuznetsov 0858b845fb ref 2024-02-06 10:33:56 +02:00
Yuri Kuznetsov d480113b90 cs 2024-02-06 10:24:16 +02:00
Yuri Kuznetsov 8f8370b5bc jsdoc fix 2024-02-06 10:24:11 +02:00
Yuri Kuznetsov cfcc1b06f9 calendar scroll hour 2024-02-06 09:57:03 +02:00
Yuri Kuznetsov 7dbb842085 field generics 2024-02-06 09:36:55 +02:00
Yuri Kuznetsov 76bb7d3e49 cs 2024-02-06 09:15:47 +02:00
Yuri Kuznetsov 3d79861ffb options 0 fix 2024-02-06 09:11:43 +02:00
Yuri Kuznetsov 236942c902 preferences layout 2024-02-06 09:00:48 +02:00
Yuri Kuznetsov 3efe0a0fe0 mailto: cut body length 2024-02-06 08:30:21 +02:00
Yuri Kuznetsov 9d933a5d95 mailto error fix 2024-02-06 08:22:42 +02:00
Yuri Kuznetsov 24eb879352 ref mailto 2024-02-05 21:58:56 +02:00
Yuri Kuznetsov f0141cd725 remove phpstan ignore 2024-02-05 19:41:11 +02:00
Yuri Kuznetsov 9a82bc7c5a cs 2024-02-05 19:38:05 +02:00
Yuri Kuznetsov b42bfefef9 signature codeview 2024-02-05 18:20:51 +02:00
Yuri Kuznetsov 47e881af60 ref 2024-02-05 17:44:42 +02:00
Yuri Kuznetsov 442284fee2 enum label in link mode 2024-02-05 17:28:18 +02:00
Yuri Kuznetsov 49a6454999 middle dot usage 2024-02-05 17:05:47 +02:00
Yuri Kuznetsov a95e52a10c checkFilePermissions command 2024-02-05 16:20:09 +02:00
Yuri Kuznetsov b2f1f00875 ref 2024-02-05 16:19:07 +02:00
Yuri Kuznetsov 91b50cdcc4 typo 2024-02-05 16:07:51 +02:00
Yuri Kuznetsov 078bd7c80e ref 2024-02-05 15:58:48 +02:00
Yuri Kuznetsov 7641918224 image entryPoint ref 2024-02-05 15:24:41 +02:00
Yuri Kuznetsov a90198d50e composer email pass accountId 2024-02-05 14:53:54 +02:00
Yuri Kuznetsov dcff1748b7 email full form fix dialog issue 2024-02-05 14:13:23 +02:00
Yuri Kuznetsov 5f903d8ce2 email/phone not null performance 2024-02-05 14:10:49 +02:00
Yuri Kuznetsov 92fdea37d1 fix 2024-02-05 13:40:36 +02:00
Yuri Kuznetsov 7e59fafb3f cs ref 2024-02-05 13:17:52 +02:00
Yuri Kuznetsov ae58224f95 email search null 2024-02-05 13:14:15 +02:00
Yuri Kuznetsov 857c5eee6f ref 2024-02-05 13:14:07 +02:00
Yuri Kuznetsov adb7f876aa email address select 2024-02-05 12:41:24 +02:00
Yuri Kuznetsov 6b282c378a jsdoc fix 2024-02-05 09:51:22 +02:00
Yuri Kuznetsov aaca0fc47b add title 2024-02-05 09:38:48 +02:00
Yuri Kuznetsov 4681493b58 suppress inspection 2024-02-05 09:36:03 +02:00
Yuri Kuznetsov 37b0c15c1a ref 2024-02-04 14:57:28 +02:00
Yuri Kuznetsov f7c29ef4e6 wysiwyg disable dnd 2024-02-03 18:11:39 +02:00
Yuri Kuznetsov 15c08c347d renaming 2024-02-03 16:48:20 +02:00
Yuri Kuznetsov 4bf5f85644 email address do not search in portal users 2024-02-03 16:47:20 +02:00
Yuri Kuznetsov dfe09dac0e ref 2024-02-03 16:44:38 +02:00
Yuri Kuznetsov ce26ecc8c1 calendar: fix loading notify 2024-02-03 15:07:23 +02:00
Yuri Kuznetsov 356971cc66 calendar scroll hour 8 if duration is 15 2024-02-03 15:03:13 +02:00
Yuri Kuznetsov 82413cd3fd calendar slot duration 1h 2024-02-03 15:00:22 +02:00
Yuri Kuznetsov f07f3de1bd settings layout 2024-02-03 14:47:07 +02:00
Yuri Kuznetsov 33072072c4 ref cs 2024-02-03 13:52:37 +02:00
Yuri Kuznetsov 94351646b1 add ext-ctype 2024-02-03 13:42:30 +02:00
Yuri Kuznetsov c766465527 dashlet chart no overflow hidden 2024-02-03 12:40:35 +02:00
Yuri Kuznetsov b982ab9daf ref 2024-02-03 10:26:48 +02:00
Yuri Kuznetsov 114682b49f cs 2024-02-03 09:25:24 +02:00
Yuri Kuznetsov 0e5dcb0d40 email queue item fixes 2024-02-02 18:21:12 +02:00
Yuri Kuznetsov 3f491f1a9a Merge branch 'fix' 2024-02-02 16:37:51 +02:00
Yuri Kuznetsov f5a655b9fc markdlow blockquote fix 2024-02-02 16:30:08 +02:00
Yuri Kuznetsov 62494e9c12 ref 2024-02-02 16:19:15 +02:00
Yuri Kuznetsov c88e34fe8f Merge branch 'fix' 2024-02-02 16:09:58 +02:00
Yuri Kuznetsov 1a5abe6363 calendar fix is today 2024-02-02 16:09:34 +02:00
Yuri Kuznetsov 2f3c775d4f calendar: scroll to now 2024-02-02 16:08:01 +02:00
Yuri Kuznetsov 7078efcc20 calendar: do not add 30 mins 2024-02-02 14:54:40 +02:00
Yuri Kuznetsov e73eb87374 preferences ctrl+s 2024-02-02 14:49:34 +02:00
Yuri Kuznetsov 471a209d86 ref 2024-02-02 14:47:44 +02:00
Yuri Kuznetsov fabb88d611 prefernces: calendar slot duration 2024-02-02 14:40:17 +02:00
Yuri Kuznetsov d7d7752868 enum-int/float support null 2024-02-02 14:03:21 +02:00
Yuri Kuznetsov 0fe9041272 preferences layout change 2024-02-02 13:47:24 +02:00
Yuri Kuznetsov 860680aaa1 fix formula function return type 2024-02-01 18:10:24 +02:00
Yuri Kuznetsov 1640bdf172 Merge branch 'fix' 2024-02-01 16:22:12 +02:00
Yuri Kuznetsov aced5fcab9 8.1.3 2024-02-01 16:14:48 +02:00
Yuri Kuznetsov f786690f1e markdown fix 2024-02-01 15:58:10 +02:00
Yuri Kuznetsov 9a1495199b Merge branch 'fix' 2024-02-01 11:52:00 +02:00
Yuri Kuznetsov 19d227e81d 8.1.2 2024-02-01 11:42:39 +02:00
Yuri Kuznetsov 00504630c6 fix sender property not set 2024-02-01 11:30:24 +02:00
Yuri Kuznetsov 15d264acce merge 2024-02-01 11:01:13 +02:00
Yuri Kuznetsov 4f6e1ed1ec fix scrollbar for chrome 121 2024-02-01 10:59:38 +02:00
Yuri Kuznetsov 959e8d3acc Merge branch 'fix' 2024-01-31 15:24:26 +02:00
Yuri Kuznetsov e6d1048ebd fix markdown 2024-01-31 15:18:42 +02:00
Yuri Kuznetsov b2edf702ce role: store in memory 2024-01-31 12:58:46 +02:00
Yuri Kuznetsov 4837474bb0 role table dropdown hiding fix 2024-01-31 12:30:22 +02:00
Yuri Kuznetsov b052eacba7 role table do not show not-set as no 2024-01-31 12:27:59 +02:00
Yuri Kuznetsov 0129305c5f portal role table fix 2024-01-31 12:17:15 +02:00
Yuri Kuznetsov 5a725b79c9 entity manager list module 2024-01-31 12:10:06 +02:00
Yuri Kuznetsov c4f706e918 role table: group by module 2024-01-31 11:58:22 +02:00
Yuri Kuznetsov 9673f09c9f role table style fix 2024-01-31 11:04:40 +02:00
Yuri Kuznetsov 6a84ccbd4e Merge branch 'fix' 2024-01-30 18:11:32 +02:00
Yuri Kuznetsov 3babdfa339 validate url 2024-01-30 17:40:38 +02:00
Yuri Kuznetsov 14587ee65c wysiwyg: hide attach button in inlide edit 2024-01-30 16:39:12 +02:00
Yuri Kuznetsov ef2d129699 ref 2024-01-30 16:34:35 +02:00
Yuri Kuznetsov 580c0bef0a ref 2024-01-30 14:29:43 +02:00
Yuri Kuznetsov eef7fef69b cs 2024-01-30 14:16:52 +02:00
Yuri Kuznetsov 4d1776f9ff date filter between range 2024-01-30 13:20:27 +02:00
Yuri Kuznetsov f92c21c9c0 ref 2024-01-30 12:40:10 +02:00
Yuri Kuznetsov fac8730ddd cs 2024-01-30 12:36:25 +02:00
Yuri Kuznetsov a3fe58f61b update phpstan 2024-01-30 11:40:31 +02:00
Yuri Kuznetsov 696a25fe82 update symfony libs 2024-01-30 11:01:05 +02:00
Yuri Kuznetsov 04b28dc88f pass date: true 2024-01-29 18:15:27 +02:00
Yuri Kuznetsov abbffb9b15 date filters time zone 2024-01-29 16:45:15 +02:00
Yuri Kuznetsov 1cd914e5a7 ref 2024-01-29 10:59:52 +02:00
Yuri Kuznetsov 6b7bf55acb cs 2024-01-29 10:56:59 +02:00
Yuri Kuznetsov eddcb797e4 catching exception 2024-01-29 10:42:04 +02:00
Yuri Kuznetsov 3014e9253b phpdocs, cs 2024-01-29 10:19:20 +02:00
Yuri Kuznetsov 016489ffba ref, cs 2024-01-29 10:16:25 +02:00
Yuri Kuznetsov 96ea9e225c date-time transformer default time zone 2024-01-29 10:12:14 +02:00
Yuri Kuznetsov c4cfc204e7 date time transformer interface 2024-01-28 17:08:48 +02:00
Yuri Kuznetsov 00f5433518 fix role validation 2024-01-28 12:45:22 +02:00
Yuri Kuznetsov 3077589cff todo 2024-01-27 19:58:15 +02:00
Yuri Kuznetsov 3e3258a4b7 cs ref 2024-01-27 19:55:43 +02:00
Yuri Kuznetsov dee0f9937e role create update test 2024-01-27 19:53:23 +02:00
Yuri Kuznetsov 1138a4deb1 role, validate field exists 2024-01-27 19:53:14 +02:00
Yuri Kuznetsov 720b14b804 roles ui ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 196f328312 role not modified fix 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 1eb7215162 ref 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov 52762cc738 roles validation 2024-01-27 18:38:53 +02:00
Yuri Kuznetsov c3c38e3510 Update README.md 2024-01-27 14:12:09 +02:00
Yuri Kuznetsov 5dcb112621 Update CONTRIBUTING.md 2024-01-27 14:09:38 +02:00
Yuri Kuznetsov 3a9e5fc0cd Update README.md 2024-01-27 14:08:06 +02:00
Yuri Kuznetsov a789fabe2e Update CONTRIBUTING.md 2024-01-27 14:06:53 +02:00
Yuri Kuznetsov 6c8f5e8a16 Update README.md 2024-01-27 13:54:54 +02:00
Yuri Kuznetsov cf08bbdd00 disalbe field level for template 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 80a7765fdd role permissions style 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 119948938e fix role add field 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov b9563cfdc0 acl field level disabled param 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 97e9786fa6 translation 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 60a4541e24 role ui impr 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 52ae19b896 style fix 2024-01-27 12:30:21 +02:00
Yuri Kuznetsov 8973e976ca Update CONTRIBUTING.md 2024-01-26 22:58:50 +02:00
Yuri Kuznetsov 5ebee4bec7 roles quick search 2024-01-26 15:23:32 +02:00
Yuri Kuznetsov c34b2acf9b cs 2024-01-26 15:07:37 +02:00
Yuri Kuznetsov cd400e5090 ref 2024-01-26 14:44:14 +02:00
Yuri Kuznetsov b433538ab2 link-parent: autocomplete on empty input 2024-01-26 14:20:26 +02:00
Yuri Kuznetsov 0a8cc398fe ref cs 2024-01-26 13:42:25 +02:00
Yuri Kuznetsov a8e37d9486 oidc: nonce and state longer 2024-01-26 13:36:56 +02:00
Yuri Kuznetsov 288b017355 sanitizers 2024-01-26 13:02:49 +02:00
Yuri Kuznetsov 91745580d8 module route order 2024-01-26 11:34:33 +02:00
Yuri Kuznetsov d0d652dba9 route overriding 2024-01-26 11:12:17 +02:00
Yuri Kuznetsov 96f9f89b7b cs 2024-01-26 11:11:52 +02:00
Yuri Kuznetsov 2f093011a2 ref and cleanup 2024-01-26 11:06:52 +02:00
Yuri Kuznetsov cfe55c1975 task list view layout change 2024-01-26 10:34:50 +02:00
Yuri Kuznetsov 42dc0d754f schema 2024-01-25 17:28:11 +02:00
Yuri Kuznetsov 1623257b17 auth log method full list 2024-01-25 16:28:02 +02:00
Yuri Kuznetsov 3f27256589 auth log more fields 2024-01-25 16:21:39 +02:00
Yuri Kuznetsov 52c34b6d35 Merge branch 'fix' 2024-01-25 16:13:11 +02:00
Yuri Kuznetsov e95fcc6532 oidc popup login fix 2024-01-25 15:43:10 +02:00
Yuri Kuznetsov d5b6c0aec1 fix layout 2024-01-25 15:37:05 +02:00
Yuri Kuznetsov 485bcfc039 alert style 2024-01-25 11:48:53 +02:00
Yuri Kuznetsov 1cbcf7048c color fix 2024-01-25 11:41:08 +02:00
Yuri Kuznetsov 4d90aec5a6 orm: clear query composer seed cache on metadata update 2024-01-25 11:28:33 +02:00
Yuri Kuznetsov 85b2a72624 msg change 2024-01-24 16:36:28 +02:00
Yuri Kuznetsov acd5d78d30 import: relate by foreign field 2024-01-24 16:23:57 +02:00
Yuri Kuznetsov c81e4a8194 currency not modified fix 2024-01-24 15:23:06 +02:00
Yuri Kuznetsov 81fcd57e3a ref 2024-01-24 14:38:06 +02:00
Yuri Kuznetsov 6dd940cfab import ref 2024-01-24 14:26:15 +02:00
Yuri Kuznetsov a1bdb6c308 send test email error message translation 2024-01-24 12:19:21 +02:00
Yuri Kuznetsov 525397e64d config override 2024-01-24 11:36:32 +02:00
Yuri Kuznetsov e4af67aa68 ref 2024-01-24 10:44:24 +02:00
Yuri Kuznetsov 2d7d8812fd Merge branch 'fix' 2024-01-23 19:59:37 +02:00
Yuri Kuznetsov 069d70176a fix log 2024-01-23 19:41:44 +02:00
Yuri Kuznetsov 726ecefd55 array focus on main element 2024-01-23 14:10:47 +02:00
Yuri Kuznetsov 69fbf9d1ad not read emails bolder font 2024-01-23 13:43:32 +02:00
Yuri Kuznetsov 38e89f4e4d table border changes wysiwyg 2024-01-23 13:20:23 +02:00
Yuri Kuznetsov b3ff273b7c ref 2024-01-23 11:29:49 +02:00
Yuri Kuznetsov fb0be72b56 clearnup 2024-01-23 11:20:02 +02:00
Yuri Kuznetsov 339fbffbb7 wysiwyg param to disable code editor 2024-01-23 11:11:06 +02:00
Yuri Kuznetsov 5c308bb60c wysiwyg: remove beautifier 2024-01-23 11:02:50 +02:00
Yuri Kuznetsov 514fe6e98d wysiwyg: disable prettifyHtml 2024-01-23 10:53:02 +02:00
Yuri Kuznetsov a80d7fddba try catch gotoline 2024-01-23 10:38:07 +02:00
Yuri Kuznetsov ec11a89496 pdf template: add created at filter 2024-01-23 10:23:47 +02:00
Yuri Kuznetsov 61aa5f907d fix 2024-01-22 21:21:40 +02:00
Yuri Kuznetsov ac7ba173cd htmlizer fix iterate and test 2024-01-22 20:12:29 +02:00
Yuri Kuznetsov fe7a764935 ref 2024-01-22 19:51:00 +02:00
Yuri Kuznetsov c1190d348b Merge branch 'master' into f/iterate 2024-01-22 16:40:47 +02:00
Yuri Kuznetsov a81c8518b8 wysiwyg code view improvements 2024-01-22 15:56:26 +02:00
Yuri Kuznetsov d7f533118a naming 2024-01-22 11:18:10 +02:00
Yuri Kuznetsov 252fdc4208 cs 2024-01-22 09:22:40 +02:00
Yuri Kuznetsov c1d28655da template iterate 2024-01-21 18:26:39 +02:00
Yuri Kuznetsov 77c2e8abc4 Merge branch 'fix' 2024-01-20 21:37:25 +02:00
Yuri Kuznetsov 0a4dba4343 markdown backtick fix 2024-01-20 21:37:10 +02:00
Yuri Kuznetsov b6179463b1 style completion 2024-01-20 20:11:05 +02:00
Yuri Kuznetsov 99bd7ae437 pdf template style 2024-01-20 19:37:15 +02:00
Yuri Kuznetsov e968388ba7 wysiwyg codeview min height 2024-01-20 18:56:59 +02:00
Yuri Kuznetsov 60be576f9d Merge branch 'fix' 2024-01-18 15:07:38 +02:00
Yuri Kuznetsov 4c4c6d2402 use markdown extra in helper 2024-01-18 15:05:24 +02:00
Yuri Kuznetsov 47249776a0 ref 2024-01-17 13:05:00 +02:00
Yuri Kuznetsov c8f4fa437d ref 2024-01-17 12:41:55 +02:00
Yuri Kuznetsov 09c1b575a7 ref 2024-01-17 12:32:17 +02:00
Yuri Kuznetsov 2437b0d901 Merge branch 'fix' 2024-01-17 10:28:38 +02:00
Yuri Kuznetsov e16640ba24 8.1.1 2024-01-17 10:00:32 +02:00
Yuri Kuznetsov 0a33ad6542 remove CURLOPT_BINARYTRANSFER usage 2024-01-16 17:57:55 +02:00
Yuri Kuznetsov 7ee626edf8 select field handler pass model 2024-01-16 17:29:29 +02:00
Yuri Kuznetsov 600b58be75 select handler order 2024-01-16 17:27:43 +02:00
Yuri Kuznetsov 5601704ac1 Merge branch 'fix' 2024-01-16 17:01:18 +02:00
Yuri Kuznetsov f4c7ba6686 link order in handler 2024-01-16 16:45:50 +02:00
Yuri Kuznetsov 4eb6386b6e stream super parent performance impr 2024-01-16 10:12:33 +02:00
Yuri Kuznetsov 9c78970712 layoutIgnoreList 2024-01-16 09:50:05 +02:00
Yuri Kuznetsov e465e25adb syle fix 2024-01-15 17:04:02 +02:00
Yuri Kuznetsov 4d735e9e26 user stream activity 2024-01-15 16:19:53 +02:00
Yuri Kuznetsov 28bc720bbc rename 2024-01-15 16:19:21 +02:00
Yuri Kuznetsov 0fc170e1c3 ref 2024-01-15 15:42:47 +02:00
Yuri Kuznetsov 012d98d303 ref 2024-01-15 15:39:39 +02:00
Yuri Kuznetsov 180bc99726 Merge branch 'fix' 2024-01-15 13:29:24 +02:00
Yuri Kuznetsov 541a6b25e7 email-to-task link access 2024-01-15 13:22:17 +02:00
Yuri Kuznetsov e537d64c5b user bottom panels layout 2024-01-15 13:09:28 +02:00
Yuri Kuznetsov 03de09c836 user stream panel in layout manager 2024-01-15 12:03:15 +02:00
Yuri Kuznetsov 9dc309390a cs 2024-01-15 12:02:32 +02:00
Yuri Kuznetsov 8280f31180 global stream optimization 2024-01-15 11:44:37 +02:00
Yuri Kuznetsov 61a1227f87 user stream ref, add index 2024-01-15 11:18:06 +02:00
Yuri Kuznetsov 02c37924aa created complex impr 2024-01-15 10:09:25 +02:00
Yuri Kuznetsov ddc4baf5e2 Merge branch 'fix' 2024-01-15 09:58:34 +02:00
Yuri Kuznetsov 0bb0f80c54 html fix 2024-01-15 09:58:21 +02:00
Yuri Kuznetsov 63f975516a note fix 2024-01-14 18:53:27 +02:00
Yuri Kuznetsov 9160c8319d global stream optimization 2024-01-14 18:47:37 +02:00
Yuri Kuznetsov d268b0335e global stream 2024-01-14 14:08:43 +02:00
Yuri Kuznetsov 6b355c645c Merge branch 'fix' 2024-01-14 11:14:50 +02:00
Yuri Kuznetsov 54f8758aba varchar fix 2024-01-14 11:14:36 +02:00
Yuri Kuznetsov f7b2ad17be fix searchParams null 2024-01-14 11:01:34 +02:00
Yuri Kuznetsov 951e981d8e stream posts optimization 2024-01-13 15:35:26 +02:00
Yuri Kuznetsov c4c301d363 Merge branch 'fix' 2024-01-13 12:35:56 +02:00
Yuri Kuznetsov d6dfc1226b field validation popover fix 2024-01-13 12:29:35 +02:00
Yuri Kuznetsov 50821924f2 field validation popover fix 2024-01-13 12:29:20 +02:00
Yuri Kuznetsov 3c01011c28 cs 2024-01-13 12:00:53 +02:00
Yuri Kuznetsov d674176356 stream refresh btn impr 2024-01-13 11:33:01 +02:00
Yuri Kuznetsov 8c60396197 spin animation 2024-01-13 11:32:23 +02:00
Yuri Kuznetsov 4a5b442f35 stream ui changes 2024-01-13 11:12:35 +02:00
Yuri Kuznetsov 80ea398660 add note index type 2024-01-13 11:00:06 +02:00
Yuri Kuznetsov 69aae1abfa comment 2024-01-12 18:03:50 +02:00
Yuri Kuznetsov c528a98820 stream comment and ref 2024-01-12 17:39:48 +02:00
Yuri Kuznetsov 89fa12c6db ref 2024-01-12 17:25:56 +02:00
Yuri Kuznetsov 34598d73a3 ref 2024-01-12 16:55:52 +02:00
Yuri Kuznetsov c507aeae4a ref 2024-01-12 16:35:38 +02:00
Yuri Kuznetsov 356ce3cc42 stream user service ref 2024-01-12 16:02:11 +02:00
Yuri Kuznetsov 560f145324 add indexes 2024-01-12 15:29:31 +02:00
Yuri Kuznetsov 4308fb3f9b ref stream user record service 2024-01-12 15:29:22 +02:00
Yuri Kuznetsov a17b66c6dc revert regexp fix 2024-01-12 14:38:31 +02:00
Yuri Kuznetsov f52a3ba773 ref cs 2024-01-12 13:53:54 +02:00
Yuri Kuznetsov f865338ad0 comment 2024-01-12 13:36:36 +02:00
Yuri Kuznetsov 7221207fe5 user stream query change 2024-01-12 13:16:47 +02:00
Yuri Kuznetsov cbc61b533f ref 2024-01-12 13:11:17 +02:00
Yuri Kuznetsov bdff8767f7 stream user query impr 2024-01-12 13:10:09 +02:00
Yuri Kuznetsov 26f3a9215d user stream service ref 2024-01-12 11:39:52 +02:00
Yuri Kuznetsov 15e34647fb ref stream service 2024-01-12 11:19:46 +02:00
Yuri Kuznetsov d121aa5a9f ref 2024-01-12 10:51:07 +02:00
Yuri Kuznetsov 7d77f754c5 ref 2024-01-12 10:13:45 +02:00
Yuri Kuznetsov 2012c4d161 select ref 2024-01-12 10:05:44 +02:00
Yuri Kuznetsov fed9ede878 Merge branch 'fix' 2024-01-11 19:26:38 +02:00
Yuri Kuznetsov dcdc94365e findRelationMany function random alias 2024-01-11 19:24:53 +02:00
Yuri Kuznetsov 4b12716961 calendar loading 2024-01-11 17:06:28 +02:00
Yuri Kuznetsov db2f387a77 cs 2024-01-11 17:03:27 +02:00
Yuri Kuznetsov cb972fdf17 entity: assoc array to stdClass 2024-01-11 16:47:37 +02:00
Yuri Kuznetsov 5c34d57012 ref 2024-01-11 16:38:17 +02:00
Yuri Kuznetsov 3906aa245c ref 2024-01-11 16:36:37 +02:00
Yuri Kuznetsov c86daf3a68 cs 2024-01-11 16:23:47 +02:00
Yuri Kuznetsov 9bafd81093 phone/email set data make first primary 2024-01-11 16:11:14 +02:00
Yuri Kuznetsov 5305a27c60 ref 2024-01-11 15:19:41 +02:00
Yuri Kuznetsov 6b30ca05db compose email address for base plus 2024-01-11 13:39:19 +02:00
Yuri Kuznetsov b99c17c7cd cs 2024-01-11 12:35:50 +02:00
Yuri Kuznetsov fabaccd3da case compose email support person 2024-01-11 12:14:28 +02:00
Yuri Kuznetsov 48c0ae93f4 cs 2024-01-11 12:11:19 +02:00
Yuri Kuznetsov 30768071bf cs 2024-01-11 11:50:34 +02:00
Yuri Kuznetsov 68b619e276 ui impr 2024-01-11 11:15:06 +02:00
Yuri Kuznetsov d5a441b0e8 confirm messages 2024-01-11 10:54:55 +02:00
Yuri Kuznetsov a5ed0864be ref 2024-01-11 10:40:56 +02:00
Yuri Kuznetsov 7db9fe46ff confirm msg 2024-01-11 10:24:42 +02:00
Yuri Kuznetsov 99df1bfbaa cs 2024-01-11 10:16:29 +02:00
Yuri Kuznetsov 067a4a95e0 ref 2024-01-11 10:11:08 +02:00
Yuri Kuznetsov 2154a51831 link manager: delete labels 2024-01-11 09:58:42 +02:00
Yuri Kuznetsov f0bc58e289 fix schema 2024-01-10 15:39:53 +02:00
Yuri Kuznetsov 5fd2f15a5d selectOrderBy 2024-01-10 15:33:36 +02:00
Yuri Kuznetsov baeef22f4c Merge branch 'fix' 2024-01-10 15:27:37 +02:00
Yuri Kuznetsov e12e7ec95a link selectOrderBy 2024-01-10 15:26:30 +02:00
Yuri Kuznetsov 2f6fef0817 Merge branch 'fix' 2024-01-10 14:20:43 +02:00
Yuri Kuznetsov 9cee152e23 email reply link checker 2024-01-10 13:56:37 +02:00
Yuri Kuznetsov 855ecf427d link checker for singlular links, checkers for case 2024-01-10 13:29:28 +02:00
Yuri Kuznetsov 2d2d6f7fad fix test 2024-01-10 13:27:55 +02:00
Yuri Kuznetsov ee591c0142 doc 2024-01-10 10:05:44 +02:00
Yuri Kuznetsov fddda800a8 year 2024-01-08 18:07:07 +02:00
Yuri Kuznetsov 9cc97c44d5 fix schema doc 2024-01-08 16:31:22 +02:00
Yuri Kuznetsov 6350e881da cs 2024-01-08 14:14:29 +02:00
Yuri Kuznetsov ec5a799b31 cs 2024-01-08 13:24:07 +02:00
Yuri Kuznetsov 026238b125 reset order on field deletion 2024-01-07 19:42:45 +02:00
Yuri Kuznetsov 46712cd967 ref 2024-01-07 19:36:15 +02:00
Yuri Kuznetsov 273ca15c17 ref 2024-01-07 18:27:37 +02:00
Yuri Kuznetsov 94d8a6039e cs 2024-01-07 18:23:33 +02:00
Yuri Kuznetsov 61fde5ed42 scheduled jobs timezone 2024-01-07 16:19:29 +02:00
Yuri Kuznetsov 27a0127556 cs 2024-01-07 15:41:20 +02:00
Yuri Kuznetsov 585fedd824 extension upload size warning 2024-01-07 12:17:39 +02:00
Yuri Kuznetsov 49ea990519 dialog-confirm class by default 2024-01-07 12:16:46 +02:00
Yuri Kuznetsov 31e06538a2 jsdoc fix 2024-01-07 12:11:04 +02:00
Yuri Kuznetsov 22657f030c ref 2024-01-07 11:52:03 +02:00
Yuri Kuznetsov 3805ecca02 cs 2024-01-07 11:13:54 +02:00
Yuri Kuznetsov 31ddef5ddb cs 2024-01-07 11:10:37 +02:00
Yuri Kuznetsov 6b4d3e5bbd cs 2024-01-06 19:41:04 +02:00
Yuri Kuznetsov acaeb46d5f cs, ref 2024-01-06 13:41:11 +02:00
Yuri Kuznetsov ce70c3b62a fix 2024-01-06 13:40:48 +02:00
Yuri Kuznetsov 55ff63ffeb ref 2024-01-06 13:22:05 +02:00
Yuri Kuznetsov 2d629eb0c6 cs 2024-01-05 11:01:25 +02:00
Yuri Kuznetsov 519784a7c3 jsdoc 2024-01-05 10:58:56 +02:00
Yuri Kuznetsov f81c5b0fdb checkbox style 2024-01-05 10:56:08 +02:00
Yuri Kuznetsov cf8d860a67 cs 2024-01-05 10:55:22 +02:00
Yuri Kuznetsov 3e71c3db31 import: apply default values from another import 2024-01-05 10:45:42 +02:00
Yuri Kuznetsov ef8b284434 cs 2024-01-04 16:25:36 +02:00
Yuri Kuznetsov 5833565e10 cs 2024-01-04 16:23:58 +02:00
Yuri Kuznetsov 87bbb1914a css fix 2024-01-04 14:37:09 +02:00
Yuri Kuznetsov 358f0f6a98 css fix 2024-01-04 14:31:29 +02:00
Yuri Kuznetsov ca924f9abc fix text field 2024-01-04 14:29:44 +02:00
Yuri Kuznetsov 2080ade438 cs, docs 2024-01-04 12:46:21 +02:00
Yuri Kuznetsov a8c1bf0a2d remove echo 2024-01-03 14:49:23 +02:00
Yuri Kuznetsov c88ac20198 v 2024-01-02 13:39:46 +02:00
Yuri Kuznetsov 360765a94a invalidate opcache on dire removal 2024-01-02 13:28:18 +02:00
Yuri Kuznetsov 5ca69b9cbb show Done on extension uninstall 2024-01-02 13:23:51 +02:00
Yuri Kuznetsov 4f7809cc4e cs 2024-01-02 12:36:42 +02:00
Yuri Kuznetsov 580db2041c todo 2023-12-31 12:04:26 +02:00
Yuri Kuznetsov 9256225aab cs 2023-12-31 11:44:13 +02:00
Yuri Kuznetsov 4add630b6c cs 2023-12-31 11:41:56 +02:00
Yuri Kuznetsov 704458409e fix jsdocs 2023-12-31 11:41:38 +02:00
Yuri Kuznetsov 48e0704ce1 jsdoc 2023-12-31 11:35:02 +02:00
Yuri Kuznetsov dfe7ff55e4 cs 2023-12-31 11:31:57 +02:00
Yuri Kuznetsov a9bc74b2bd cs 2023-12-31 11:27:12 +02:00
Yuri Kuznetsov a42bbbe00c add index 2023-12-31 11:00:46 +02:00
Yuri Kuznetsov 25ee3df284 use sth 2023-12-31 10:58:23 +02:00
Yuri Kuznetsov c9219d12b8 fix licese link 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov 995fbba9de update file headers 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov ef92094d0c AGPL license 2023-12-31 10:49:50 +02:00
Yuri Kuznetsov 98764e6802 instanceId 2023-12-30 10:41:23 +02:00
Yuri Kuznetsov e30f84f906 fix docs 2023-12-29 15:53:14 +02:00
Yuri Kuznetsov 102921b826 syncWithModel relationship param 2023-12-29 15:51:05 +02:00
Yuri Kuznetsov 7f34ebc1d7 jsdocs fix 2023-12-29 15:25:15 +02:00
Yuri Kuznetsov dd5ecc5752 cs 2023-12-29 10:17:05 +02:00
Yuri Kuznetsov a19484a09c mass email max per batch 2023-12-29 10:11:25 +02:00
Yuri Kuznetsov 2eb3f734c3 formula recordService throw message body 2023-12-28 22:01:34 +02:00
Yuri Kuznetsov 3130c244de cleanup 2023-12-28 21:48:14 +02:00
Eymen Elkum 82bf0e4e1c clean removed services in container services (#2929) 2023-12-28 15:54:20 +02:00
Yuri Kuznetsov 5b1d1dde90 remove driver param 2023-12-27 11:20:00 +02:00
Yuri Kuznetsov 3ff845dbdf notification panel abort last fetch on remove 2023-12-25 19:25:53 +02:00
Yuri Kuznetsov 12a860dde4 cs 2023-12-25 19:17:34 +02:00
Yuri Kuznetsov ce2d3c9a5f cs 2023-12-25 19:09:15 +02:00
Yuri Kuznetsov f3ee9336a7 Merge branch 'fix' 2023-12-25 19:07:32 +02:00
Yuri Kuznetsov fc719b932c hide layoutSet field 2023-12-25 19:07:16 +02:00
Yuri Kuznetsov 82c0ca7aae css and jsdoc 2023-12-25 14:14:58 +02:00
Yuri Kuznetsov 5681559f9c cs and fixes 2023-12-25 14:09:20 +02:00
Yuri Kuznetsov 46b7c20a81 style fix 2023-12-23 13:10:32 +02:00
Yuri Kuznetsov a5ebc959e5 cs 2023-12-23 12:58:01 +02:00
Yuri Kuznetsov 3edf3936ab note labels 2023-12-23 11:42:16 +02:00
Yuri Kuznetsov 9fbc97f0e6 cs 2023-12-22 11:15:07 +02:00
Yuri Kuznetsov f515c61f25 cs 2023-12-22 10:39:03 +02:00
Yuri Kuznetsov ad87a5bcee cs 2023-12-21 17:18:59 +02:00
Yuri Kuznetsov 0e803b33a8 change about 2023-12-21 17:12:25 +02:00
Yuri Kuznetsov 579bf7c19c panel label translation with $ 2023-12-21 15:48:25 +02:00
Yuri Kuznetsov d2cbfc0286 about text in file 2023-12-21 14:31:19 +02:00
Yuri Kuznetsov 3e26b372d4 cs 2023-12-21 12:24:14 +02:00
Yuri Kuznetsov c4ba425f4f msg fix 2023-12-20 15:11:38 +02:00
Yuri Kuznetsov e204bc73ce deprecation fix 2023-12-20 14:27:42 +02:00
Yuri Kuznetsov 2304ecd870 fix console error 2023-12-18 15:04:03 +02:00
Yuri Kuznetsov af502c4232 duplicate modal reject promise 2023-12-18 11:48:30 +02:00
Yuri Kuznetsov c00de8e4cc markdownText pdf helper 2023-12-16 20:41:53 +02:00
Yuri Kuznetsov fc10df0464 oauth client ref 2023-12-14 16:24:22 +02:00
dependabot[bot] 2045011a5e Bump dompdf/dompdf from 2.0.3 to 2.0.4 (#2924)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.3...v2.0.4)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-14 09:41:12 +02:00
dependabot[bot] 2228db3caa Bump phenx/php-svg-lib from 0.5.0 to 0.5.1 (#2922)
Bumps [phenx/php-svg-lib](https://github.com/PhenX/php-svg-lib) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/PhenX/php-svg-lib/releases)
- [Commits](https://github.com/PhenX/php-svg-lib/compare/0.5.0...0.5.1)

---
updated-dependencies:
- dependency-name: phenx/php-svg-lib
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-13 16:01:41 +02:00
Yuri Kuznetsov 675a1575df fix msg 2023-12-12 11:44:42 +02:00
Yuri Kuznetsov 14283975b7 cs 2023-12-11 12:40:53 +02:00
Yuri Kuznetsov 0251002c77 cs 2023-12-11 12:31:42 +02:00
Yuri Kuznetsov 9467027f35 cs 2023-12-11 12:22:53 +02:00
Yuri Kuznetsov bedf5d41cd cs 2023-12-11 12:14:56 +02:00
Yuri Kuznetsov 7dab21142a relationship layout default label 2023-12-11 12:12:01 +02:00
Yuri Kuznetsov e3d812b678 comment 2023-12-10 13:15:54 +02:00
Arkadiy Asuratov 002023e2ef feat(awss3): sendChunkedBody param (#2920) 2023-12-10 13:02:03 +02:00
Yuri Kuznetsov 8776acb4b5 ref 2023-12-09 11:07:47 +02:00
Yuri Kuznetsov 9216964801 s3 storage endpoint param 2023-12-09 11:02:12 +02:00
Arkadiy Asuratov 9e3f834b04 minor fixes to schema (#2918)
* fix(schema): remove comma

* fix(schema): add comma
2023-12-08 17:20:03 +02:00
Yuri Kuznetsov 8436e23516 ref 2023-12-08 13:56:37 +02:00
Yuri Kuznetsov 4fa00e27aa fix portal oidcs redirect url 2023-12-08 13:49:03 +02:00
Yuri Kuznetsov d23443b187 update app timestamp command 2023-12-08 12:51:55 +02:00
Yuri Kuznetsov 7664118046 collection tests 2023-12-08 11:17:13 +02:00
Yuri Kuznetsov bfe62800f2 notifications color 2023-12-07 11:52:56 +02:00
Yuri Kuznetsov a7933f88f1 cs 2023-12-06 17:41:12 +02:00
Yuri Kuznetsov c565eb148d ref 2023-12-06 17:36:29 +02:00
Yuri Kuznetsov 49defa44f4 fix email modal collapse confirmation leave out 2023-12-06 14:04:58 +02:00
Yuri Kuznetsov 0be375f5a6 dark theme modal shadow 2023-12-06 13:07:01 +02:00
Yuri Kuznetsov 6a84c7583e jwt: support float and string timestamps 2023-12-06 11:15:30 +02:00
Yuri Kuznetsov ccee4776a8 Merge branch 'fix' 2023-12-05 14:52:23 +02:00
Yuri Kuznetsov bf7f9a3b25 8.0.6 2023-12-05 14:43:30 +02:00
Yuri Kuznetsov 13b43d1bfa fix autocomplete not hiding issue 2023-12-05 12:52:07 +02:00
Yuri Kuznetsov d59b598234 test php 8.3 2023-12-04 10:50:56 +02:00
Yuri Kuznetsov 00a9938a26 update laminas-ldap 2023-12-04 10:49:27 +02:00
Yuri Kuznetsov 885d99374c map providers 2023-12-02 12:12:05 +02:00
Yuri Kuznetsov 3874afe5cc dynamic logic current user 2023-12-01 14:11:00 +02:00
Yuri Kuznetsov a80fe55e80 cs 2023-12-01 12:02:26 +02:00
Yuri Kuznetsov 5445782f31 cs 2023-12-01 11:59:19 +02:00
Yuri Kuznetsov 8660ceac55 add info panel style 2023-12-01 11:36:28 +02:00
Yuri Kuznetsov 5cd6574308 color fix 2023-12-01 11:36:17 +02:00
Yuri Kuznetsov 149950149e text field auto shrink, no resize 2023-12-01 10:34:20 +02:00
Yuri Kuznetsov c9abe652a1 cs 2023-12-01 09:47:31 +02:00
Yuri Kuznetsov 0bd2f96965 doc 2023-12-01 09:47:27 +02:00
Yuri Kuznetsov c3c53363a7 text field max number of rows large number 2023-11-30 20:08:36 +02:00
Yuri Kuznetsov 8092de1c9a dynamic logic ui impr 2023-11-30 19:07:13 +02:00
Yuri Kuznetsov 838365fc9e cs 2023-11-30 15:43:20 +02:00
Yuri Kuznetsov 4b89283ab3 remove unit test 2023-11-30 15:34:56 +02:00
Yuri Kuznetsov 99d2e6f334 hide create related if link is read-only 2023-11-30 15:06:32 +02:00
Yuri Kuznetsov e72095f04a lang 2023-11-29 12:25:32 +02:00
Yuri Kuznetsov 0357ce80f8 default config in diff 2023-11-29 11:03:37 +02:00
Yuri Kuznetsov 26fbdabd94 layout custom module location 2023-11-29 10:26:12 +02:00
Yuri Kuznetsov 7c6b3d20ce lang 2023-11-28 23:06:24 +02:00
dependabot[bot] a914cdad1e Bump phpseclib/phpseclib from 3.0.19 to 3.0.34 (#2911)
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.19 to 3.0.34.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.19...3.0.34)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 22:08:16 +02:00
Yuri Kuznetsov f40a0c98b8 fix 2023-11-27 16:35:08 +02:00
Yuri Kuznetsov a8cbf0d735 fix script 2023-11-27 16:21:16 +02:00
Yuri Kuznetsov fc518d754a fix set config params script 2023-11-27 16:05:45 +02:00
Yuri Kuznetsov d1b138a353 before upgrade 2023-11-25 11:21:46 +02:00
Yuri Kuznetsov 49319fcf42 schema fix 2023-11-25 10:39:01 +02:00
Yuri Kuznetsov c612cb1e62 fix lang 2023-11-24 12:46:16 +02:00
Yuri Kuznetsov 934c3ad8a5 dsable readonly inspection 2023-11-23 15:47:40 +02:00
Yuri Kuznetsov fced4b0d86 ref 2023-11-23 15:33:25 +02:00
Yuri Kuznetsov cf1f87949f cleanup 2023-11-23 15:24:23 +02:00
Yuri Kuznetsov 3a2db3db67 update psr log 2023-11-23 15:16:00 +02:00
Yuri Kuznetsov 390d414c47 update monolog 2023-11-23 15:06:47 +02:00
Yuri Kuznetsov 9e35dee8e5 update libs 2023-11-23 13:53:17 +02:00
Yuri Kuznetsov 53756b488b update slim 2023-11-23 13:43:30 +02:00
Yuri Kuznetsov a81e7057f9 update flysystem-async-aws-s3 2023-11-23 13:36:31 +02:00
Yuri Kuznetsov d83c376fb0 temporarely discard php 8.3 from workflows 2023-11-23 13:03:37 +02:00
Yuri Kuznetsov 63c9f87264 update laminas libs 2023-11-23 13:02:50 +02:00
Yuri Kuznetsov c7a77b3a74 update workflows 2023-11-23 12:52:39 +02:00
Yuri Kuznetsov 5acc9c3fad php 8.3 2023-11-23 12:43:59 +02:00
Yuri Kuznetsov 5098603d83 after upgrade message 2023-11-23 10:54:23 +02:00
Yuri Kuznetsov 376d3ad3b0 Merge branch 'fix' 2023-11-21 20:40:56 +02:00
Yuri Kuznetsov 73052c6003 fix bottom tab issue when panels from first tab is hidden locked 2023-11-21 20:39:10 +02:00
Yuri Kuznetsov 9fbdc52b1a schema 2023-11-21 14:20:43 +02:00
Yuri Kuznetsov 1023a3cfe8 import valicate date fix 2023-11-21 10:15:25 +02:00
Yuri Kuznetsov 53e8f1a78a auth fail reason error 2023-11-18 12:15:24 +02:00
Yuri Kuznetsov 67f5649d35 cs 2023-11-18 11:39:57 +02:00
Yuri Kuznetsov cc6c0f29df cs 2023-11-18 11:32:13 +02:00
Yuri Kuznetsov 158f79cc1d cleanup 2023-11-18 11:12:19 +02:00
Yuri Kuznetsov e66cdf9610 2fa error impr 2023-11-18 11:09:18 +02:00
Yuri Kuznetsov 9bb4d8b8f1 two factor getData exception 2023-11-18 10:58:19 +02:00
Yuri Kuznetsov a2ac059380 fix docs 2023-11-18 10:50:41 +02:00
Yuri Kuznetsov 2bbccbd3b5 ref 2023-11-18 10:37:08 +02:00
Yuri Kuznetsov 0da3a590f2 cs 2023-11-18 10:08:29 +02:00
Yuri Kuznetsov 4955c0aace cs 2023-11-17 17:09:15 +02:00
Yuri Kuznetsov 91db0230f7 cs 2023-11-17 14:32:15 +02:00
Yuri Kuznetsov a55ffffe79 barcode frontend validation 2023-11-17 14:29:12 +02:00
Yuri Kuznetsov 6e270d3dd5 autocompleteOnEmpty 2023-11-17 12:22:36 +02:00
Yuri Kuznetsov e3c7fefb9e ref 2023-11-17 10:34:42 +02:00
Yuri Kuznetsov ef13eee386 list detail layout realType usage 2023-11-17 10:33:16 +02:00
Yuri Kuznetsov ad63cfeae4 cs 2023-11-17 10:16:53 +02:00
Yuri Kuznetsov 159ac4c91e ref 2023-11-17 10:03:51 +02:00
Yuri Kuznetsov 1845f2d7cb date value object toString, deprecate getString 2023-11-17 09:45:56 +02:00
Yuri Kuznetsov d6776ffcc8 schema 2023-11-17 09:11:01 +02:00
Yuri Kuznetsov 90dedefeb0 import: transform decimal currency values 2023-11-16 17:59:10 +02:00
Yuri Kuznetsov 70f15a7cbd validation manager change: exit on first 2023-11-16 17:42:09 +02:00
Yuri Kuznetsov ce62ba719e fix currency string value regexpr valid check 2023-11-16 17:37:46 +02:00
Yuri Kuznetsov a31cd38389 logged user load teams 2023-11-16 16:03:38 +02:00
Yuri Kuznetsov ecaf7978cd ref 2023-11-16 16:03:26 +02:00
Yuri Kuznetsov 312be1dfc1 fix default assignment checker teams loading 2023-11-16 16:03:01 +02:00
Yuri Kuznetsov afdc874df9 import: strip separator for int 2023-11-16 15:01:31 +02:00
Yuri Kuznetsov 4d8784470b import: strip thousand separator 2023-11-16 14:54:19 +02:00
Yuri Kuznetsov bc03276a53 navbar divider in group tab 2023-11-16 14:37:10 +02:00
Yuri Kuznetsov c73930c27d schema 2023-11-16 14:19:52 +02:00
Yuri Kuznetsov ae9dd1aa85 relationship panel primaryFilter param 2023-11-15 20:31:12 +02:00
Yuri Kuznetsov 906ad10da4 Merge branch 'fix' 2023-11-15 17:17:15 +02:00
Yuri Kuznetsov 7e5968b973 prevent unchain view 2023-11-15 17:08:19 +02:00
Yuri Kuznetsov 4e66b3bf0c fix 2023-11-15 12:32:01 +02:00
Yuri Kuznetsov 696c4e4b04 Merge branch 'fix' 2023-11-15 12:24:05 +02:00
Yuri Kuznetsov 9f6e2b4ac6 metadata set param 2023-11-15 12:14:21 +02:00
Yuri Kuznetsov e87548c94a metadata set allow empty array 2023-11-15 12:05:51 +02:00
Yuri Kuznetsov 0be5daf605 schema 2023-11-15 11:16:50 +02:00
Yuri Kuznetsov be5eaf3bd5 fix barcode field js error 2023-11-15 10:16:02 +02:00
Yuri Kuznetsov 579c196447 cs 2023-11-15 10:12:41 +02:00
Yuri Kuznetsov 6e4ca6151a one-to-one select apply isEmpty filter 2023-11-15 10:09:39 +02:00
Yuri Kuznetsov 6912de4fdd default reply from address 2023-11-14 20:43:01 +02:00
Yuri Kuznetsov e1d108168b fix msg 2023-11-14 20:24:34 +02:00
Yuri Kuznetsov 7114a9ff81 qr ecc 2023-11-13 14:23:13 +02:00
Yuri Kuznetsov 422f0a4208 fix 2023-11-13 14:15:53 +02:00
Yuri Kuznetsov ab08c40711 cs 2023-11-13 14:12:30 +02:00
Yuri Kuznetsov d44a0c6243 no-tcpdf, added barcode, qrcode libs 2023-11-13 14:09:09 +02:00
Yuri Kuznetsov 4c341344f2 css fix 2023-11-12 11:56:14 +02:00
Yuri Kuznetsov 896f6028b9 css fix 2023-11-12 11:51:35 +02:00
Yuri Kuznetsov f2a1cd91c0 color fixes 2023-11-12 11:40:50 +02:00
Yuri Kuznetsov 261d1ab808 integration test 2023-11-11 20:37:17 +02:00
Yuri Kuznetsov 1ce11325b4 change sanitizer 2023-11-11 20:29:45 +02:00
Yuri Kuznetsov 4d527f212a doc 2023-11-11 19:09:33 +02:00
Yuri Kuznetsov e922fd90d4 css fix 2023-11-11 18:59:58 +02:00
Yuri Kuznetsov 2ff25224f2 mass-update, lead capture: use sanitize 2023-11-11 18:04:10 +02:00
Yuri Kuznetsov 2ed8edf842 sanitizer 2023-11-11 17:39:46 +02:00
Yuri Kuznetsov 109392c1ae ref 2023-11-11 15:26:13 +02:00
Yuri Kuznetsov 8ea196e349 noinsp 2023-11-11 14:18:57 +02:00
Yuri Kuznetsov f09aa009e7 phone: placeholder zero 2023-11-11 14:12:49 +02:00
Yuri Kuznetsov 4a2a5804ca phone: disable national mode 2023-11-11 14:07:37 +02:00
Yuri Kuznetsov 1aa4075cc6 set number on blur 2023-11-11 14:00:36 +02:00
Yuri Kuznetsov 68d754efab fix test 2023-11-11 13:34:23 +02:00
Yuri Kuznetsov 14cae6dc11 fix phone number text search 2023-11-11 11:53:38 +02:00
Yuri Kuznetsov 360af1eaf7 move 2023-11-11 11:39:51 +02:00
Yuri Kuznetsov 3ef4ee8f60 cs 2023-11-11 11:28:02 +02:00
Yuri Kuznetsov 75763bf287 lead capture phone country 2023-11-11 11:24:21 +02:00
Yuri Kuznetsov ed362255df cs 2023-11-10 18:07:28 +02:00
Yuri Kuznetsov e4ec0a8c75 libs without src support 2023-11-10 18:01:13 +02:00
Yuri Kuznetsov 5abdb2339d cs 2023-11-10 17:04:28 +02:00
Yuri Kuznetsov 93a0a53aab adminUpgradeDisabled param 2023-11-10 16:56:43 +02:00
Yuri Kuznetsov 4cbdb18aef phone validate strict 2023-11-10 16:06:36 +02:00
Yuri Kuznetsov 66cbf57f5e internation phone numbers 2023-11-10 15:15:39 +02:00
Yuri Kuznetsov e1c101b786 phone search keep original value 2023-11-09 21:19:07 +02:00
Yuri Kuznetsov f3f797a7cf phone number only numeric search param 2023-11-09 17:25:23 +02:00
Yuri Kuznetsov a74cdd13ec fix deprecation 2023-11-09 16:43:46 +02:00
Yuri Kuznetsov 9a962dee0a cs 2023-11-09 16:39:01 +02:00
Yuri Kuznetsov daedb1698a phone number list: numeric filter 2023-11-09 16:36:52 +02:00
Yuri Kuznetsov 5aa4c8f069 cs 2023-11-09 16:26:49 +02:00
Yuri Kuznetsov bb4a93418e link create button changes 2023-11-09 15:39:04 +02:00
Yuri Kuznetsov 0a7005edaa cs 2023-11-09 15:26:38 +02:00
Yuri Kuznetsov cdfbb1b2e3 link, link-multiple: create button param 2023-11-09 15:24:49 +02:00
Yuri Kuznetsov eb80fbc431 create button access check 2023-11-09 14:52:19 +02:00
Yuri Kuznetsov 2afab7fd3a link-multiple create button 2023-11-09 14:49:10 +02:00
Yuri Kuznetsov 65f309beec cs 2023-11-09 14:42:24 +02:00
Yuri Kuznetsov fb17a09a39 cleanupDeletedRecords true 2023-11-09 13:13:32 +02:00
Yuri Kuznetsov 3f6f806500 Merge branch 'fix' 2023-11-09 13:11:02 +02:00
Yuri Kuznetsov e82beb562f email in trash filter 2023-11-09 12:57:29 +02:00
Yuri Kuznetsov 322db47c04 layout manager width complex 2023-11-09 12:47:57 +02:00
Yuri Kuznetsov 8166f5d359 docs 2023-11-09 12:34:49 +02:00
Yuri Kuznetsov 8204a80d6a ref 2023-11-09 11:57:53 +02:00
Yuri Kuznetsov e0ffe3d367 cs 2023-11-09 11:52:53 +02:00
Yuri Kuznetsov 02cce4dbe7 inspection 2023-11-09 11:52:21 +02:00
Yuri Kuznetsov 2f174d81e8 cs 2023-11-09 11:43:18 +02:00
Yuri Kuznetsov ba60ca62e8 cs 2023-11-09 11:11:01 +02:00
Yuri Kuznetsov 7d498cc6aa fix handle action 2023-11-09 11:08:39 +02:00
Yuri Kuznetsov b7f816feee language proxy 2023-11-09 10:49:32 +02:00
Yuri Kuznetsov ea4cd67299 fix 2023-11-09 10:48:41 +02:00
Yuri Kuznetsov edc024fbb9 fix 2023-11-09 10:18:30 +02:00
Yuri Kuznetsov 255051a9ae list view fixes 2023-11-09 09:54:16 +02:00
Yuri Kuznetsov ef87f02290 listViewSettingsDisabled 2023-11-08 20:13:50 +02:00
Yuri Kuznetsov 066751a698 disable list settings for non-object entity types 2023-11-08 20:05:15 +02:00
Yuri Kuznetsov e485bd3963 layout fix 2023-11-08 19:24:49 +02:00
Yuri Kuznetsov 344110832a fix layout 2023-11-08 19:20:45 +02:00
Yuri Kuznetsov 5f830a016c fix layout 2023-11-08 19:09:50 +02:00
Yuri Kuznetsov f64eb866d5 list columns settings 2023-11-08 18:46:27 +02:00
Yuri Kuznetsov 4571209988 entity modals: entityType 2023-11-08 12:18:21 +02:00
Yuri Kuznetsov 14ea6fb284 ref 2023-11-08 11:27:19 +02:00
Yuri Kuznetsov 918c864f7d cs 2023-11-08 11:23:29 +02:00
Yuri Kuznetsov c95be2f54e orm isRelatedById method 2023-11-08 11:22:38 +02:00
Yuri Kuznetsov 930f706dd3 Merge branch 'fix' 2023-11-08 10:15:42 +02:00
Yuri Kuznetsov 9a013b7ea7 8.0.5 2023-11-08 10:04:43 +02:00
Yuri Kuznetsov 6d1d38c4af email template placeholders 2023-11-07 19:20:07 +02:00
Yuri Kuznetsov 72a218fca0 navbar item defs change 2023-11-07 18:44:34 +02:00
Yuri Kuznetsov 766d6b8bdb ref 2023-11-07 18:28:06 +02:00
Yuri Kuznetsov 392e6bca48 custom navbar items 2023-11-07 17:35:41 +02:00
Yuri Kuznetsov 2f6ab60b04 cs 2023-11-07 16:31:34 +02:00
Yuri Kuznetsov 7db5c9f934 modal action icon class 2023-11-07 15:42:52 +02:00
Yuri Kuznetsov 9cb44622a5 btn change 2023-11-07 15:29:06 +02:00
Yuri Kuznetsov 5eebc138ae modal button icon class 2023-11-07 15:18:14 +02:00
Yuri Kuznetsov 12b7827930 add btn-icon 2023-11-07 15:17:48 +02:00
Yuri Kuznetsov 552681ed83 use non actual options 2023-11-07 14:53:05 +02:00
Yuri Kuznetsov 27b2b2dda7 lang 2023-11-07 14:06:16 +02:00
Yuri Kuznetsov 174fcaa5df actionFunction for modal buttons 2023-11-07 14:00:50 +02:00
Yuri Kuznetsov 8f1565c2d6 cs 2023-11-07 14:00:28 +02:00
Yuri Kuznetsov 058837e215 modal action impr 2023-11-07 13:53:31 +02:00
Yuri Kuznetsov d133295a3d cs 2023-11-07 12:40:55 +02:00
Yuri Kuznetsov 0272f5546f mass action actionFunction 2023-11-07 12:38:34 +02:00
Yuri Kuznetsov 47d814ecfb cs 2023-11-07 12:29:02 +02:00
Yuri Kuznetsov 6cf7848c3a fix 2023-11-07 12:22:19 +02:00
Yuri Kuznetsov 054fb5f18c cs 2023-11-07 12:22:04 +02:00
Yuri Kuznetsov 65113ea1d9 cs 2023-11-07 12:17:19 +02:00
Yuri Kuznetsov 438d532ff5 client actions improvements 2023-11-07 12:14:55 +02:00
Yuri Kuznetsov 44b090ecaf Merge branch 'fix' 2023-11-07 10:20:50 +02:00
Yuri Kuznetsov 124214aee3 curl protocols option 2023-11-07 10:01:43 +02:00
Yuri Kuznetsov 0d7bbcbf46 Merge branch 'fix' 2023-11-06 23:24:56 +02:00
Yuri Kuznetsov 3bd6b3bd46 webhook allow http and https only 2023-11-06 16:03:49 +02:00
Yuri Kuznetsov c536cee637 image upload url check 2023-11-06 16:02:13 +02:00
Yuri Kuznetsov d41e0e27c7 relationship panel: scope => entityType 2023-11-06 13:14:33 +02:00
Yuri Kuznetsov 94ffa77f90 error body message 2023-11-06 12:46:42 +02:00
Yuri Kuznetsov 3fbb1d9b15 cs 2023-11-06 12:40:54 +02:00
Yuri Kuznetsov 224f4a259c array default db value 2023-11-05 16:56:53 +02:00
Yuri Kuznetsov f026156486 default array 2023-11-05 16:32:42 +02:00
Yuri Kuznetsov d4480b8ce9 enum default ui impr 2023-11-05 16:21:40 +02:00
Yuri Kuznetsov 01c3f6e857 entity setMultiple method 2023-11-05 16:02:29 +02:00
Yuri Kuznetsov b744b78fa6 forUpdate apply sth 2023-11-05 15:56:15 +02:00
Yuri Kuznetsov 70ac8150df record BeforeSave hook interface 2023-11-05 15:51:56 +02:00
Yuri Kuznetsov 1db4d9af0a cs 2023-11-05 15:37:18 +02:00
Yuri Kuznetsov f8ca8c5130 exception accept body obj 2023-11-05 14:07:40 +02:00
Yuri Kuznetsov c8115e0b33 fix deprecated attributes 2023-11-05 14:02:16 +02:00
Yuri Kuznetsov 0be13f330b fix deprecated attributes 2023-11-05 13:59:54 +02:00
Yuri Kuznetsov 79268a5d19 cleanup 2023-11-05 13:28:53 +02:00
Yuri Kuznetsov 167b8a948c revert 2023-11-05 13:23:09 +02:00
Yuri Kuznetsov cc0e15a736 fix 2023-11-05 13:09:49 +02:00
Yuri Kuznetsov 01ee0798cb discard 2023-11-05 12:50:08 +02:00
Yuri Kuznetsov eec173e476 row actions kanban 2023-11-05 12:42:03 +02:00
Yuri Kuznetsov 4b9321eda8 css fix 2023-11-05 10:42:14 +02:00
Yuri Kuznetsov 67f0512773 fields defaults null 2023-11-05 10:39:00 +02:00
Yuri Kuznetsov c635b23b56 metadata ref 2023-11-05 10:08:23 +02:00
Yuri Kuznetsov e2630bbf51 cs 2023-11-04 19:47:46 +02:00
Yuri Kuznetsov e5a474e99f row actions framework 2 2023-11-04 19:34:16 +02:00
Yuri Kuznetsov 8ad6d5816b row-actions framework 2023-11-04 17:13:55 +02:00
Yuri Kuznetsov b53cf68dee cs 2023-11-04 15:18:12 +02:00
Yuri Kuznetsov 8dba225aae loading value change 2023-11-04 12:10:04 +02:00
Yuri Kuznetsov bd8260d139 frontend populate defaults all fields 2023-11-04 11:45:59 +02:00
Yuri Kuznetsov c55d2454c3 docs fix 2023-11-04 10:43:54 +02:00
Yuri Kuznetsov 30454e3c06 cs 2023-11-04 10:37:20 +02:00
Yuri Kuznetsov 662a4c8bd4 wysiwyg insert table width 100 2023-11-03 18:10:53 +02:00
Yuri Kuznetsov d15b730b11 ref 2023-11-03 14:12:02 +02:00
Yuri Kuznetsov beab4f11ab pdf template body field: use iframe 2023-11-03 13:33:55 +02:00
Yuri Kuznetsov 4f1478226e cs 2023-11-03 13:01:38 +02:00
Yuri Kuznetsov 9ceff38deb cs 2023-11-03 12:54:19 +02:00
Yuri Kuznetsov f7aeb4dbe6 entity provider 2023-11-03 12:46:47 +02:00
Yuri Kuznetsov 7710582a41 fix 2023-11-03 12:37:03 +02:00
Yuri Kuznetsov f80d38d165 repository: dont set modified if not changed 2023-11-03 12:19:07 +02:00
Yuri Kuznetsov 9c2b1d92ce cs 2023-11-03 11:56:45 +02:00
Yuri Kuznetsov 07c223e521 mail importer interface 2023-11-03 11:50:35 +02:00
Yuri Kuznetsov 6d443a35da Merge branch 'fix' 2023-11-03 11:42:38 +02:00
Yuri Kuznetsov b1d2795347 not copying status field on duplicate 2023-11-03 11:38:46 +02:00
Yuri Kuznetsov 0f9bce70cf mass update use select 2023-11-01 16:56:05 +02:00
Yuri Kuznetsov 6f1f72127f cs 2023-11-01 16:55:55 +02:00
Yuri Kuznetsov 986edeb79e cs 2023-11-01 16:49:13 +02:00
Yuri Kuznetsov b3391df6e8 mass update targetLists 2023-11-01 16:43:05 +02:00
Yuri Kuznetsov d8a114c90a popover improvements 2023-10-30 15:48:18 +02:00
Yuri Kuznetsov 67ecb7b73f fix docs 2023-10-27 13:51:29 +03:00
Yuri Kuznetsov 1f456f6d5d link check for belongs-to & has-one 2023-10-27 13:50:09 +03:00
Yuri Kuznetsov adcaf5dc23 docs 2023-10-27 13:48:47 +03:00
Yuri Kuznetsov 22c5a771d0 fieldType 2023-10-27 11:48:10 +03:00
Yuri Kuznetsov 148ac05654 Merge branch 'fix' 2023-10-27 10:30:35 +03:00
Yuri Kuznetsov 3fa9f4bf91 8.0.4 2023-10-27 10:22:00 +03:00
Yuri Kuznetsov 6c4a139e66 KB portal 2023-10-26 21:29:49 +03:00
Yuri Kuznetsov 6d576de211 forbid link unlink for one relationships 2023-10-26 17:24:33 +03:00
Yuri Kuznetsov ad1804fa3c Merge branch 'fix' 2023-10-26 17:18:23 +03:00
Yuri Kuznetsov d3a1db25c2 comment 2023-10-26 16:57:22 +03:00
Yuri Kuznetsov 0fcd3cd780 msg fix 2023-10-26 16:48:54 +03:00
Yuri Kuznetsov 61cb573eec cs 2023-10-26 14:26:16 +03:00
Yuri Kuznetsov 5dd84bf9a1 SMTP translated message 2023-10-26 14:24:55 +03:00
Yuri Kuznetsov 5dad7c6bba cs 2023-10-26 14:01:06 +03:00
Yuri Kuznetsov 3007d50299 cs 2023-10-26 14:00:05 +03:00
Yuri Kuznetsov 11c0ac6987 noopener 2023-10-26 13:52:33 +03:00
Yuri Kuznetsov 2bb62883a4 cs 2023-10-26 13:33:03 +03:00
Yuri Kuznetsov 5796d2fb85 cs 2023-10-26 13:28:05 +03:00
Yuri Kuznetsov dae318c9bb cs 2023-10-26 13:26:07 +03:00
Yuri Kuznetsov 342764e9ff related records modal fetch when rendered 2023-10-26 13:19:43 +03:00
Yuri Kuznetsov 27b9e28e20 cs 2023-10-26 12:35:16 +03:00
Yuri Kuznetsov f8d5dd7fa6 modal select related sync mass remove 2023-10-26 12:06:49 +03:00
Yuri Kuznetsov 7408f97fbd cs 2023-10-26 11:56:03 +03:00
Yuri Kuznetsov d1a9cf840f inspection let/const 2023-10-26 11:29:35 +03:00
Yuri Kuznetsov d593927b14 cs 2023-10-26 11:29:25 +03:00
Yuri Kuznetsov f62ebb8fe8 ref 2023-10-26 11:22:51 +03:00
Yuri Kuznetsov ede798dbe5 schema additions 2023-10-26 11:15:54 +03:00
Yuri Kuznetsov c3095b6a32 schema dynamic logic options 2023-10-26 11:06:09 +03:00
Yuri Kuznetsov 9eb5bfc9fe css fix 2023-10-26 10:59:11 +03:00
Yuri Kuznetsov bf2c529884 labels 2023-10-26 10:48:49 +03:00
Yuri Kuznetsov 7ce8150541 fix link fields advanced filter 2023-10-25 20:38:20 +03:00
Yuri Kuznetsov 44de149923 link, link-multiple select method 2023-10-25 14:04:14 +03:00
Yuri Kuznetsov 8ecdc7b9d9 first panel filter 2023-10-25 12:41:31 +03:00
Yuri Kuznetsov 95c64359d2 cons 2023-10-25 12:06:46 +03:00
Yuri Kuznetsov 44203e2178 one primary filter 2023-10-25 12:03:22 +03:00
Yuri Kuznetsov d3d940d9c9 fix 2023-10-25 11:03:29 +03:00
Yuri Kuznetsov 9d3efae141 fix list related modal unlink disabled 2023-10-24 20:20:30 +03:00
Yuri Kuznetsov e6eb3e7099 type fix 2023-10-24 10:37:15 +03:00
DrWarpMan 3ab2b37471 fix validatorClassNameMap (#2881) 2023-10-24 10:29:04 +03:00
Yuri Kuznetsov 33e7f4e3ef json retrive support empty path 2023-10-23 20:59:59 +03:00
Yuri Kuznetsov 6463eaa6f6 less placement.less 2023-10-23 14:22:25 +03:00
Yuri Kuznetsov a066c0a187 style fix 2023-10-23 14:09:54 +03:00
Yuri Kuznetsov 176f65713f list-group css fix 2023-10-23 13:57:25 +03:00
Yuri Kuznetsov bcc6edf083 update babel 2023-10-21 10:36:33 +03:00
Yuri Kuznetsov 5f43c710ae Merge branch 'fix' 2023-10-21 10:34:09 +03:00
Yuri Kuznetsov 493afdf3d4 tableClassName 2023-10-19 17:22:30 +03:00
Yuri Kuznetsov c85b6a37a6 cs 2023-10-19 17:17:03 +03:00
Yuri Kuznetsov 81971d0eda doc fix 2023-10-19 17:02:38 +03:00
Yuri Kuznetsov 8a6cc9ea35 before upgrade version check 2023-10-19 16:55:30 +03:00
Yuri Kuznetsov 4fd125ddfc base url support index file 2023-10-19 16:48:50 +03:00
Yuri Kuznetsov 1298a8382d export: use additional applier 2023-10-19 11:17:35 +03:00
Yuri Kuznetsov bb9c352f55 export: do not list not exportable fields 2023-10-19 10:40:23 +03:00
Yuri Kuznetsov 045533d080 export: do not load link-multiple if no field 2023-10-19 10:34:00 +03:00
Yuri Kuznetsov 6a5ab5f738 command listed 2023-10-17 15:22:28 +03:00
Yuri Kuznetsov c1b0e4fd17 throw docs 2023-10-17 13:12:59 +03:00
Yuri Kuznetsov e71928ffa7 css fix 2023-10-17 13:12:25 +03:00
Yuri Kuznetsov de3f5de029 fix translation 2023-10-17 13:08:00 +03:00
Yuri Kuznetsov 57ceee4d4c export: do not sanitize numeric values 2023-10-17 13:04:38 +03:00
Yuri Kuznetsov 9a5cd7609b import ksort row 2023-10-17 12:45:14 +03:00
Yuri Kuznetsov 1382dca3e3 cs 2023-10-17 11:46:14 +03:00
Yuri Kuznetsov bc7a3e8839 cs, browser compatibility fix 2023-10-17 11:38:17 +03:00
Yuri Kuznetsov c5d6f4c63f entity manager disabled fix 2023-10-16 17:11:03 +03:00
Yuri Kuznetsov 6776f813af schema 2023-10-16 16:48:53 +03:00
Yuri Kuznetsov edfecb21c7 Update README.md 2023-10-14 16:05:34 +03:00
Yuri Kuznetsov 6d18f2485d record helper as option 2023-10-13 16:19:50 +03:00
Yuri Kuznetsov 73753b364e unchain main view 2023-10-13 10:21:06 +03:00
Yuri Kuznetsov 35a8a71150 Merge branch 'fix' 2023-10-12 10:05:06 +03:00
Yuri Kuznetsov 68d6a14d04 orm: wrap and/or expr into braces 2023-10-11 10:43:39 +03:00
Yuri Kuznetsov c155d37790 comment 2023-10-10 17:04:25 +03:00
Yuri Kuznetsov 6a6446d0b7 whenReady, field re-render with prepare fix 2023-10-10 16:34:55 +03:00
Yuri Kuznetsov b0b4fe5570 set field read only race condition fix 2023-10-10 15:06:12 +03:00
Yuri Kuznetsov 6de8c3d1ca calendar dashlet size update 2023-10-10 12:01:25 +03:00
Yuri Kuznetsov 319f3f645a calaendar css fix 2023-10-10 11:52:23 +03:00
Yuri Kuznetsov bedfbb0e6b calendar slot duration 2023-10-10 11:15:16 +03:00
Yuri Kuznetsov 6526f02d88 Update feature_request.md 2023-10-09 15:29:14 +03:00
Yuri Kuznetsov 148ffce6b7 re-reject on save error 2023-10-09 13:13:31 +03:00
Yuri Kuznetsov 85cb969780 fix schema docs 2023-10-09 11:51:56 +03:00
Yuri Kuznetsov c1a75ad051 schema 2023-10-09 11:46:07 +03:00
Yuri Kuznetsov 5f4cf2925b Merge branch 'stable' 2023-10-09 10:10:35 +03:00
Yuri Kuznetsov 7de49e9812 8.0.3 2023-10-09 10:00:50 +03:00
Yuri Kuznetsov 7416566269 docs since 2023-10-08 15:43:37 +03:00
Yuri Kuznetsov 8c54ca43f0 ref 2023-10-08 13:22:37 +03:00
Yuri Kuznetsov 69fe549052 orm alias reference 2023-10-07 15:49:52 +03:00
Yuri Kuznetsov 1943c01066 ref 2023-10-07 14:46:44 +03:00
Yuri Kuznetsov 8d9889d453 ref 2023-10-07 14:25:01 +03:00
Yuri Kuznetsov 280d71f1c6 read-only-after-create 2023-10-07 11:54:06 +03:00
Yuri Kuznetsov bfd8aa4777 Merge branch 'fix' 2023-10-07 11:11:27 +03:00
Yuri Kuznetsov 23e7657bf6 revert readme 2023-10-06 11:53:27 +03:00
Yuri Kuznetsov 13c5d65f50 fix formula add attributes 2023-10-06 10:53:58 +03:00
Yuri Kuznetsov a86132a32b readme cleanup 2023-10-06 10:45:24 +03:00
Yuri Kuznetsov e8c4d5326a Merge branch 'fix' 2023-10-06 10:35:58 +03:00
Yuri Kuznetsov 34ce9d68bf sk lang 2023-10-06 10:34:20 +03:00
Yuri Kuznetsov 58dbadb869 fr lang 2023-10-06 10:33:19 +03:00
Yuri Kuznetsov 0a9d901874 css fix 2023-10-04 14:56:20 +03:00
Yuri Kuznetsov 9ebad9aad8 btn icon class 2023-10-04 14:38:06 +03:00
Yuri Kuznetsov e44b921143 kb article acl level own 2023-10-04 11:30:57 +03:00
Yuri Kuznetsov 6cb44e65a6 calendar week range title fix 2023-10-04 10:10:31 +03:00
Yuri Kuznetsov 5398331956 style fix 2023-10-03 14:20:30 +03:00
Yuri Kuznetsov de88ff0b6a merge 2023-10-03 11:33:10 +03:00
Yuri Kuznetsov 1bbc92e460 fix link field 2023-10-03 11:31:03 +03:00
Yuri Kuznetsov e3ef9391ce fix link field 2023-10-03 11:28:58 +03:00
Yuri Kuznetsov b317f99196 em not customizable guard 2023-09-30 15:18:52 +03:00
Yuri Kuznetsov 512c45c9b5 jsdoc fix 2023-09-30 14:53:33 +03:00
Yuri Kuznetsov 5f4ae01c85 layout manager fix 2023-09-30 14:50:19 +03:00
Yuri Kuznetsov 77a0718521 Merge branch 'master' of https://github.com/espocrm/espocrm 2023-09-30 09:24:18 +03:00
Yuri Kuznetsov 6c2bab44f6 hide layout foreign 2023-09-29 21:05:07 +03:00
Yuri Kuznetsov b6f8a8bf9e fix 2023-09-29 21:00:25 +03:00
Yuri Kuznetsov ed3030606f fix 2023-09-29 17:31:39 +03:00
Yuri Kuznetsov 274e46fa35 schema fix 2023-09-29 17:20:18 +03:00
Yuri Kuznetsov e95620c131 link: createButton prop 2023-09-29 17:14:38 +03:00
Yuri Kuznetsov 31cb11f0d1 fix autotomplete url where 2023-09-29 15:28:07 +03:00
Yuri Kuznetsov fae905efb0 email mass update layout 2023-09-29 10:00:03 +03:00
Yuri Kuznetsov fcc1bada71 fix schema 2023-09-29 09:55:35 +03:00
Yuri Kuznetsov 8a140b2303 calendar span to another day in agenda view when duration <24h 2023-09-28 09:58:45 +03:00
Yuri Kuznetsov 9551590f92 fix all-day after drop 2023-09-28 09:54:28 +03:00
Yuri Kuznetsov 0d8278aa0d cs 2023-09-28 09:31:59 +03:00
Yuri Kuznetsov c23a4e2085 calendar fix all-day issue 2023-09-28 09:26:54 +03:00
Yuri Kuznetsov fe77f2c14c calendar fix update event rendering 2023-09-28 09:01:09 +03:00
Yuri Kuznetsov 5e06ad19ee cs 2023-09-28 08:18:53 +03:00
Yuri Kuznetsov 8bce12aca3 fix calendar initial date 2023-09-28 07:54:42 +03:00
Yuri Kuznetsov d928ba7c3b calendar color fix 2023-09-26 15:08:59 +03:00
Yuri Kuznetsov 25b0077adc fix ldap warning 2023-09-26 11:31:53 +03:00
Yuri Kuznetsov ee0bcb7685 fix upgrade script 2023-09-26 09:28:57 +03:00
Yuri Kuznetsov 642141f574 select list layout 2023-09-25 14:35:27 +03:00
Yuri Kuznetsov 90cdfb5e7e layout fix 2023-09-25 14:34:28 +03:00
Yuri Kuznetsov 9967bc26d9 link link multiple autocomplete apply all filters, fix empty autocomplete 2023-09-22 15:47:08 +03:00
Yuri Kuznetsov fef2d74ec2 autocomplete on empty 2023-09-22 14:46:14 +03:00
Yuri Kuznetsov 9bbd262d05 fix param panelDefs.selectPrimaryFilterName usage 2023-09-22 14:27:51 +03:00
Yuri Kuznetsov 555d8a1a24 navbar fix 2023-09-22 12:21:05 +03:00
Yuri Kuznetsov f7f549fb05 cs 2023-09-22 11:51:25 +03:00
Aurelio d69c631a32 German Translation fixes and improvements (#2853)
* German translation of cancellation templates
2023-09-21 16:36:34 +03:00
Yuri Kuznetsov 5e3a4c12d7 style fix 2023-09-21 14:24:17 +03:00
Yuri Kuznetsov f75d0562ba uix fix 2023-09-21 14:19:47 +03:00
Yuri Kuznetsov ab745b3b03 de_DE update 2023-09-21 14:04:44 +03:00
Yuri Kuznetsov f745d870f7 dont override bool filter list 2023-09-21 13:15:42 +03:00
Yuri Kuznetsov 0ebae7734a format 2023-09-21 13:09:48 +03:00
Yuri Kuznetsov b1b61963fc login headers fix 2023-09-21 11:20:10 +03:00
Yuri Kuznetsov 5282f01cda link multiple default in orm metadata 2023-09-21 10:28:37 +03:00
Yuri Kuznetsov 9f38c01668 Update bug_report.md 2023-09-20 22:23:28 +03:00
Yuri Kuznetsov 6fed836bee calendar time on shared view 2023-09-19 14:22:46 +03:00
Yuri Kuznetsov d39c8837fb v 2023-09-18 10:47:23 +03:00
Yuri Kuznetsov 870be0d1f0 upgrade fix 2023-09-18 10:41:12 +03:00
Yuri Kuznetsov a889163d23 before upgrade check 2023-09-18 10:31:04 +03:00
Yuri Kuznetsov 1145d1c902 lang 2023-09-18 10:15:50 +03:00
Yuri Kuznetsov d641e5faaa calendar css fix 2023-09-14 17:31:24 +03:00
Yuri Kuznetsov 57ca5ebf7b fix calendar month view day label 2023-09-14 15:26:18 +03:00
Yuri Kuznetsov c2126e0680 fix email template plain text br 2023-09-14 14:36:18 +03:00
Yuri Kuznetsov 45ba66c0ff ref 2023-09-14 14:25:17 +03:00
Yuri Kuznetsov a6af348a50 cs 2023-09-14 14:23:12 +03:00
Yuri Kuznetsov 95fe5a47f5 8.0.1 2023-09-14 13:30:09 +03:00
Yuri Kuznetsov 29b3166da9 shared calendar fix 2023-09-14 12:22:48 +03:00
Yuri Kuznetsov 38ab3fbc44 cs 2023-09-14 11:52:22 +03:00
Yuri Kuznetsov b7ae677fb3 read-only link tooltip 2023-09-13 17:57:56 +03:00
Yuri Kuznetsov f54656dde1 cleanup 2023-09-13 10:10:26 +03:00
Yuri Kuznetsov fad1661b14 fix calendar all day 2023-09-13 10:06:53 +03:00
Yuri Kuznetsov ed99c82137 fix calendar error msg on resize 2023-09-13 09:27:23 +03:00
Yuri Kuznetsov c27a4fb609 fix calendar drop event 2023-09-13 09:21:03 +03:00
Yuri Kuznetsov 216268f225 cs 2023-09-13 09:06:40 +03:00
Yuri Kuznetsov a5371d9a52 css fix 2023-09-12 10:36:26 +03:00
David fdcf06efa9 fix render problems with prepare (#2840)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-09-12 10:00:30 +03:00
Yuri Kuznetsov 755d48919f case emails link access read 2023-09-11 12:33:02 +03:00
Yuri Kuznetsov 51bd72dc62 fix warning 2023-09-11 10:15:31 +03:00
Yuri Kuznetsov fe4a90ed97 ref 2023-09-10 14:00:35 +03:00
Yuri Kuznetsov 7ee08a6713 fix empty attributes error 2023-09-09 10:03:42 +03:00
Yuri Kuznetsov 0695fd87c0 api save option 2023-09-08 11:00:08 +03:00
Yuri Kuznetsov ab8fe96919 fix doc 2023-09-08 10:55:31 +03:00
Yuri Kuznetsov a20c3f14ac fix fullcalendar 2023-09-07 09:08:56 +03:00
Yuri Kuznetsov 62a0ca4fb5 fix field label element 2023-09-05 17:41:34 +03:00
Yuri Kuznetsov 2171f9c848 fix 2023-09-05 13:52:43 +03:00
Yuri Kuznetsov 384aed2a91 fix select with category 2023-09-04 12:40:35 +03:00
Yuri Kuznetsov 2d9f20f2cc shortcuts 2023-09-04 12:02:58 +03:00
Yuri Kuznetsov 8430e24eae fix doc 2023-09-04 12:00:37 +03:00
Yuri Kuznetsov d13755ba5f diff fix 2023-09-04 11:12:24 +03:00
Yuri Kuznetsov d496892878 colors 2023-09-04 10:37:19 +03:00
Yuri Kuznetsov 6d32879f21 throws 2023-09-02 19:13:56 +03:00
Yuri Kuznetsov 40e7eeb118 v 2023-09-01 09:32:29 +03:00
Yuri Kuznetsov 02ef6b73af Update README.md 2023-08-31 20:00:02 +03:00
Yuri Kuznetsov e831768d92 ref email parser 2023-08-31 17:31:12 +03:00
Yuri Kuznetsov a0695b492e attachment fallback disposition 2023-08-31 17:07:50 +03:00
Yuri Kuznetsov cddcebfe27 fix 2023-08-31 13:42:30 +03:00
Yuri Kuznetsov 71ca25854f email select replyToString 2023-08-31 11:50:24 +03:00
Yuri Kuznetsov ad962d5bcd all fields 2023-08-30 18:13:57 +03:00
Yuri Kuznetsov 0083d99d37 ref 2023-08-30 18:00:18 +03:00
Yuri Kuznetsov 5cd710e420 getMode 2023-08-28 15:40:38 +03:00
Yuri Kuznetsov 6da1bc083e isInlineEditMode 2023-08-28 15:35:05 +03:00
Yuri Kuznetsov 47aaecf3ac css fix 2023-08-28 11:57:34 +03:00
Yuri Kuznetsov a3f2fadd9e schema 2023-08-28 10:19:44 +03:00
Yuri Kuznetsov 0cf851755b cs 2023-08-28 09:54:40 +03:00
Yuri Kuznetsov 1361168d00 helper iconClass 2023-08-28 09:54:33 +03:00
Yuri Kuznetsov b888d3bcbc schema 2023-08-28 09:52:14 +03:00
Yuri Kuznetsov 203dce371c comment 2023-08-28 08:57:53 +03:00
Yuri Kuznetsov 1a81f4a8af merge 2023-08-27 15:47:12 +03:00
Yuri Kuznetsov 9b788c3c2d 7.5.6 2023-08-27 15:27:44 +03:00
Yuri Kuznetsov 17e487d011 update spatie 2023-08-27 15:19:58 +03:00
Yuri Kuznetsov b2b11fba32 fix 2023-08-25 12:36:48 +03:00
Yuri Kuznetsov 4d4af995c8 fix lang 2023-08-25 09:54:01 +03:00
Yuri Kuznetsov 0d04aedd00 schema doc 2023-08-24 14:37:32 +03:00
Yuri Kuznetsov 53930866df loadAdditionalFieldsAfterUpdate 2023-08-23 13:48:50 +03:00
Yuri Kuznetsov 9ce5c7c2fa fix dashlet 2023-08-23 11:13:19 +03:00
Yuri Kuznetsov dc30bd3991 fix 2023-08-21 14:01:21 +03:00
Yuri Kuznetsov 70c90972dc fix manage folder button appearance 2023-08-21 10:14:07 +03:00
Yuri Kuznetsov 9daa5b8583 schema 2023-08-19 19:14:21 +03:00
Yuri Kuznetsov 5916cfd345 schema 2023-08-19 19:08:53 +03:00
Yuri Kuznetsov dec78c447d schema 2023-08-18 15:07:43 +03:00
Yuri Kuznetsov 100359ad6f schema 2023-08-17 14:13:07 +03:00
Yuri Kuznetsov 26e6f658fd fix msg 2023-08-17 14:03:53 +03:00
Yuri Kuznetsov 15bf2bf772 portal tab divideres 2023-08-17 12:14:19 +03:00
Yuri Kuznetsov 4e72413829 fix 2023-08-17 12:00:32 +03:00
Yuri Kuznetsov 0fb214434e schema 2023-08-17 10:55:28 +03:00
Yuri Kuznetsov 2b4c62eab8 fix 2023-08-17 10:42:16 +03:00
Hanefi Turkoz 0ed5f41fa8 typo (#2826) 2023-08-17 10:22:14 +03:00
Yuri Kuznetsov 7e973667c8 select field handler 2023-08-16 15:26:26 +03:00
Yuri Kuznetsov 8639fc5b39 fix 2023-08-16 15:06:11 +03:00
Yuri Kuznetsov f503a08813 selectMandatoryAttributeList 2023-08-16 14:46:38 +03:00
Yuri Kuznetsov 634403cd6e fix notify close modal 2023-08-16 13:24:50 +03:00
Yuri Kuznetsov 6a539bcdcc schema 2023-08-16 10:33:28 +03:00
Yuri Kuznetsov c43830cd6a fix docs 2023-08-15 20:13:34 +03:00
Yuri Kuznetsov ca6c9dc312 fix 2023-08-15 20:12:33 +03:00
Yuri Kuznetsov c5194edcdd docs 2023-08-15 20:10:59 +03:00
Yuri Kuznetsov 7905c1e254 ref 2023-08-15 19:56:24 +03:00
Yuri Kuznetsov fa0d46dba9 date time methods 2023-08-15 19:55:19 +03:00
Yuri Kuznetsov 2bf8a96ec8 ref 2023-08-15 19:43:47 +03:00
Yuri Kuznetsov 41a15cc254 cs 2023-08-15 19:33:01 +03:00
Yuri Kuznetsov 2364ae67dd merge 2023-08-15 19:22:56 +03:00
Yuri Kuznetsov 3c64db25b9 portal entry point client fix 2023-08-15 19:14:47 +03:00
Yuri Kuznetsov 87b2703b1e select-related related-list layoutName option 2023-08-15 15:20:10 +03:00
Yuri Kuznetsov d86a8e554b fix addActionHandler 2023-08-14 14:12:51 +03:00
Yuri Kuznetsov af809c66b1 fix 2023-08-14 12:08:13 +03:00
Yuri Kuznetsov 702087f0b6 list layout label 2023-08-13 16:54:59 +03:00
Yuri Kuznetsov d91db9ef62 fix doc 2023-08-13 16:40:32 +03:00
Arkadiy Asuratov 7af819a656 fix uuid matching in handlePostText (#2824) 2023-08-12 11:10:35 +03:00
Yuri Kuznetsov 633e678590 ref 2023-08-10 11:36:47 +03:00
Yuri Kuznetsov a5f6d4e56a date filters fix 2023-08-10 10:55:36 +03:00
Yuri Kuznetsov c71cf46cbe fix 2023-08-10 10:12:30 +03:00
Yuri Kuznetsov 3dc0dbbbac fix range 2023-08-10 09:27:05 +03:00
Yuri Kuznetsov eeba4fd8bf cs 2023-08-09 15:56:30 +03:00
Yuri Kuznetsov a797764534 do not use internal smtp 2023-08-09 15:55:45 +03:00
Rabii Brahimi 9f4aca43ee Fix wysiwyg.js (#2823) 2023-08-09 15:06:02 +03:00
Yuri Kuznetsov 849b992732 fix array add 2023-08-09 14:24:28 +03:00
Yuri Kuznetsov cdf0e079b2 wysiwyg email tempalte fix 2023-08-09 14:15:34 +03:00
Yuri Kuznetsov be647848ae donot allow portal customUrl in restricted mode 2023-08-09 12:50:12 +03:00
Yuri Kuznetsov 48369b203c cs 2023-08-09 12:44:16 +03:00
Yuri Kuznetsov dd60c26591 fix empty values 2023-08-09 12:34:28 +03:00
Yuri Kuznetsov 5e834689c4 fix autocomplete 2023-08-09 11:59:35 +03:00
Yuri Kuznetsov 141c848260 ref 2023-08-09 11:08:55 +03:00
Yuri Kuznetsov 796a2fffda internal password recovery cooldown interval 2023-08-09 10:13:27 +03:00
Yuri Kuznetsov 6ea6102ae6 system data 2023-08-09 10:12:26 +03:00
Yuri Kuznetsov bfeb504243 ref 2023-08-09 08:18:49 +03:00
Yuri Kuznetsov 174a86b497 cs 2023-08-09 07:31:36 +03:00
Yuri Kuznetsov 951902319e forbid passwordChangeLink change 2023-08-09 07:29:46 +03:00
Yuri Kuznetsov dcb08a1d47 cs docs 2023-08-09 07:10:30 +03:00
Yuri Kuznetsov 6afe2beb5b config params system 2023-08-09 07:08:02 +03:00
Yuri Kuznetsov 906169fedc cs 2023-08-08 16:50:46 +03:00
Yuri Kuznetsov 68f5e58b57 cs 2023-08-08 16:50:30 +03:00
Yuri Kuznetsov 9755e8d08c fix 2023-08-08 16:37:42 +03:00
Yuri Kuznetsov b1872bb08a fix 2023-08-08 16:05:21 +03:00
Yuri Kuznetsov dd356cdfdc fix user password send 2023-08-08 16:04:25 +03:00
Yuri Kuznetsov 8231f1f839 fix doc 2023-08-08 16:04:13 +03:00
Yuri Kuznetsov d248515d76 fix 2023-08-08 15:42:55 +03:00
Yuri Kuznetsov 113e075fb6 fix 2023-08-08 15:32:47 +03:00
Yuri Kuznetsov c6a2622744 kanban status read only 2023-08-08 13:34:06 +03:00
Yuri Kuznetsov cefec5e565 schmema 2023-08-08 10:40:37 +03:00
Yuri Kuznetsov 54ee4490c7 border radius fixes 2023-08-07 21:08:32 +03:00
Yuri Kuznetsov 2ab21839cb logo color fix 2023-08-07 14:33:31 +03:00
Yuri Kuznetsov cbdf954eac logo color 2023-08-07 14:31:24 +03:00
Yuri Kuznetsov 6504505297 suppress warn 2023-08-07 14:02:13 +03:00
Yuri Kuznetsov fa5307dc87 fix 2023-08-07 13:53:58 +03:00
Yuri Kuznetsov 80561c65fc remove 2023-08-04 16:52:14 +03:00
Yuri Kuznetsov 3d3128b831 create button change 2023-08-04 16:24:44 +03:00
Yuri Kuznetsov b228d5188d fix typo 2023-08-04 16:09:41 +03:00
Yuri Kuznetsov fdc8eeb650 css fix 2023-08-04 15:11:25 +03:00
Yuri Kuznetsov 8162f1f935 remove 2023-08-04 11:37:18 +03:00
Yuri Kuznetsov b456037a08 button hidden 2023-08-04 11:35:00 +03:00
Yuri Kuznetsov 90f8eb20fc fix select with categories 2023-08-04 11:28:12 +03:00
Yuri Kuznetsov 19cb848877 fix line breaks 2023-08-03 14:42:15 +03:00
Andrew Fontana 7ef4535892 Localization of templates (it_IT) (#2813)
* Update subject.tpl

* Update subject.tpl

* Assignment template italian

* Mention Template Italian

* noteEmailReceived Template Italian

* notePost Template Italian

* notePostNoParent Template Italian

* noteStatus Template Italian

* twoFactorCode Template Italian
2023-08-03 14:39:29 +03:00
Aurelio 5e5d38aef2 Localization of templates (de_DE) (#2812) 2023-08-03 14:38:41 +03:00
Yuri Kuznetsov f2b8dd8109 schema 2023-08-03 12:57:11 +03:00
Yuri Kuznetsov 8c706895b2 Update bug_report.md 2023-08-03 08:49:33 +03:00
Yuri Kuznetsov 8c479396f1 fix 2023-08-03 08:20:30 +03:00
Yuri Kuznetsov fe83a35c0c cleanup 2023-08-02 18:20:22 +03:00
Yuri Kuznetsov 902b5887fc Update bug_report.md 2023-08-02 17:58:19 +03:00
Yuri Kuznetsov 9f9e2d7507 fix 2023-08-02 10:50:01 +03:00
Yuri Kuznetsov ed50b357ad fix 2023-08-02 10:46:37 +03:00
Yuri Kuznetsov 65c45fa47d fix update note ui 2023-08-02 10:43:44 +03:00
Yuri Kuznetsov 3d4ceb9efb clone navbar on notifications/global search show 2023-08-01 11:31:55 +03:00
Yuri Kuznetsov a6940d38a7 data object to panels 2023-07-31 16:37:33 +03:00
Yuri Kuznetsov 204410d599 ref 2023-07-31 16:31:34 +03:00
Yuri Kuznetsov 20f53eb50f record data object 2023-07-31 16:27:56 +03:00
Yuri Kuznetsov 887d0b208a ref 2023-07-31 16:01:32 +03:00
Yuri Kuznetsov 69dc2cf5a5 fix 2023-07-31 15:16:05 +03:00
Yuri Kuznetsov a7353ee38a ref 2023-07-31 15:07:04 +03:00
Yuri Kuznetsov 541b0579e4 ref 2023-07-31 14:07:46 +03:00
Yuri Kuznetsov ebb9ca1298 ref 2023-07-31 13:47:18 +03:00
Yuri Kuznetsov 90aa40bfb5 ref 2023-07-31 10:38:16 +03:00
Yuri Kuznetsov 6261d316f5 ref 2023-07-31 10:33:30 +03:00
Yuri Kuznetsov 3bb439e4b1 ref 2023-07-31 10:14:40 +03:00
Yuri Kuznetsov d52d16ee19 defaultFileStorage readOnly 2023-07-31 09:19:20 +03:00
Yuri Kuznetsov 9d3dc38a13 ref 2023-07-30 18:39:30 +03:00
Yuri Kuznetsov 2888e1fadd ref 2023-07-30 16:45:40 +03:00
Yuri Kuznetsov fcc990ac24 ref 2023-07-30 13:15:41 +03:00
Yuri Kuznetsov 5f9916202d ref 2023-07-29 14:20:34 +03:00
Arkadiy Asuratov 53a95ccf51 implement uuid generation compliant with rfc 4122 (#2809) 2023-07-28 15:59:20 +03:00
Yuri Kuznetsov 5c4f7b62a6 css fix 2023-07-28 13:40:26 +03:00
Yuri Kuznetsov 8186e6ebf0 fix diff 2023-07-28 11:26:59 +03:00
Yuri Kuznetsov df2bd841ed cs 2023-07-27 19:46:25 +03:00
Yuri Kuznetsov 048fde70e2 fix jsdoc 2023-07-27 16:43:29 +03:00
Yuri Kuznetsov 5d87c27f23 onClick buttons and actions 2023-07-27 16:34:23 +03:00
Yuri Kuznetsov 9d44f250ab docs 2023-07-27 14:58:39 +03:00
Yuri Kuznetsov 31ace7d3f4 remove 2023-07-27 13:41:13 +03:00
Yuri Kuznetsov d893328343 modal list un-notify 2023-07-27 13:28:40 +03:00
Yuri Kuznetsov 1ae22f929d list impr 2023-07-27 13:15:01 +03:00
Yuri Kuznetsov 73121fadf7 renaming 2023-07-27 11:44:47 +03:00
Yuri Kuznetsov 4bba92cdac remove 2023-07-27 11:32:00 +03:00
Yuri Kuznetsov c3d6fa229c cs 2023-07-27 11:28:47 +03:00
Yuri Kuznetsov 4b09a6e29a update bullbone 2023-07-27 11:15:25 +03:00
Yuri Kuznetsov 876b8cc984 action handler pass target 2023-07-27 11:10:20 +03:00
Yuri Kuznetsov cb188cc54d action handling fix 2023-07-27 11:06:45 +03:00
Yuri Kuznetsov f3d4e85699 click action refactoring, using native event 2023-07-26 19:16:53 +03:00
Yuri Kuznetsov 74992821f6 fix modal adjust buttons not called 2023-07-26 17:58:25 +03:00
Yuri Kuznetsov 0299884306 ref 2023-07-26 17:56:50 +03:00
Yuri Kuznetsov b459ef5550 comment 2023-07-26 17:26:10 +03:00
David d526ce904a fixes https://github.com/espocrm/espocrm/issues/2805 (#2807)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-07-26 17:22:49 +03:00
Yuri Kuznetsov 8b456270be shortcut support mathod name, action handling handler first priority 2023-07-26 16:29:50 +03:00
Yuri Kuznetsov 21569e4025 ref 2023-07-26 16:13:22 +03:00
Yuri Kuznetsov 621ada0c10 ref 2023-07-26 15:35:23 +03:00
Yuri Kuznetsov 50055b6500 ref 2023-07-26 13:46:13 +03:00
Yuri Kuznetsov c81851d48d ref 2023-07-26 13:30:44 +03:00
Yuri Kuznetsov 8904d577e5 ref 2023-07-26 13:16:20 +03:00
Yuri Kuznetsov 34a7406167 ref 2023-07-26 13:07:02 +03:00
Yuri Kuznetsov ab1b769240 ref 2023-07-26 12:49:21 +03:00
Yuri Kuznetsov 652ad7b344 ref 2023-07-26 12:27:46 +03:00
Yuri Kuznetsov 48fdfd88fa ref 2023-07-26 11:59:58 +03:00
Yuri Kuznetsov 1318f8d19d entity manager name max length on UI 2023-07-26 11:43:08 +03:00
Yuri Kuznetsov c5fe52ede2 fix name length limitayion, throw exceptions with body 2023-07-26 11:38:39 +03:00
Yuri Kuznetsov ae51d341e6 remove 2023-07-26 08:49:05 +03:00
Yuri Kuznetsov 96b08180d4 remove label usage 2023-07-25 20:28:35 +03:00
Yuri Kuznetsov f0618e8465 fix form error handlnig 2023-07-25 16:06:40 +03:00
Yuri Kuznetsov c9dd7722c3 fix phpdoc 2023-07-25 14:27:40 +03:00
Yuri Kuznetsov 025cdf246a ActionHistory interface 2023-07-25 14:25:19 +03:00
Yuri Kuznetsov 7fdd7cd280 formula allowedFunctionList 2023-07-25 10:55:17 +03:00
Yuri Kuznetsov 4bb9c11e55 fix install warning 2023-07-25 09:54:19 +03:00
Yuri Kuznetsov 1b0dccab42 mkdir fix 2023-07-25 09:16:59 +03:00
Yuri Kuznetsov 31c9a36bf4 ref 2023-07-25 09:02:01 +03:00
Yuri Kuznetsov 534b7e7226 ref 2023-07-24 18:21:52 +03:00
Yuri Kuznetsov 6b9d14a68b update bullbone 2023-07-24 18:21:40 +03:00
Yuri Kuznetsov d41dfc86c7 suppress warn 2023-07-24 16:43:48 +03:00
Yuri Kuznetsov b86e9c51f5 warning 2023-07-24 16:36:56 +03:00
Yuri Kuznetsov 0088a53ab8 color changes 2023-07-24 12:57:50 +03:00
Yuri Kuznetsov efdff66593 fix event delete hook 2023-07-24 10:27:11 +03:00
Yuri Kuznetsov 837f8b2796 schedule/log label creation 2023-07-24 10:23:40 +03:00
Yuri Kuznetsov 82ff1772b2 theme fixes 2023-07-23 20:57:51 +03:00
Yuri Kuznetsov 36aa6739fc cs ref 2023-07-23 12:47:42 +03:00
Yuri Kuznetsov 0c26d35287 raw value import validations 2023-07-23 12:45:32 +03:00
Yuri Kuznetsov 753daebadf int float currency raw value validation 2023-07-23 10:21:44 +03:00
Yuri Kuznetsov d21293ca13 cs 2023-07-23 09:23:44 +03:00
Yuri Kuznetsov 1e8fd10a0a list show more ref 2023-07-22 18:47:51 +03:00
Yuri Kuznetsov b9df4b36ab list small on small screen 2023-07-22 13:15:01 +03:00
Yuri Kuznetsov 3832dec3e3 ref 2023-07-22 13:11:06 +03:00
Yuri Kuznetsov 45ff49da16 style fix 2023-07-22 12:54:39 +03:00
Yuri Kuznetsov dfc000c1e1 list min width 500 2023-07-22 12:46:08 +03:00
Yuri Kuznetsov 604b7abc89 style fix 2023-07-21 15:56:42 +03:00
Yuri Kuznetsov a4676be9d7 cleanup 2023-07-21 15:42:47 +03:00
Yuri Kuznetsov 19af4d8c96 style fix 2023-07-21 15:11:07 +03:00
Yuri Kuznetsov 272cff1cd9 installer fixes 2023-07-21 14:41:31 +03:00
Yuri Kuznetsov d2f006892c scheduler free busy increase max range, non-working always 2023-07-21 13:25:29 +03:00
Yuri Kuznetsov 05637fd7bf cleanup 2023-07-21 12:50:22 +03:00
Yuri Kuznetsov a9581907c7 label manager select 2023-07-21 12:40:16 +03:00
Yuri Kuznetsov 4d9fff91d4 ref 2023-07-21 12:37:30 +03:00
Yuri Kuznetsov 28b9cf683a style fix 2023-07-21 12:33:35 +03:00
Yuri Kuznetsov 20e1179085 style fix 2023-07-21 12:32:59 +03:00
Yuri Kuznetsov c0ed4b7ed3 style fix 2023-07-21 12:06:40 +03:00
Yuri Kuznetsov 96fd21b381 light theme 2023-07-21 12:03:55 +03:00
Yuri Kuznetsov 49d4595049 style fix 2023-07-21 10:23:51 +03:00
Yuri Kuznetsov eb98a1979d mkdir check 2023-07-21 09:27:07 +03:00
Yuri Kuznetsov 9416e3bc77 fix scheduler 2023-07-20 22:30:56 +03:00
Yuri Kuznetsov 350b121328 layout manager fix 2023-07-20 21:16:30 +03:00
Yuri Kuznetsov 47dfbce810 fix templates 2023-07-20 18:24:54 +03:00
Yuri Kuznetsov e2c51f9d00 select applier for read action 2023-07-20 13:52:27 +03:00
Yuri Kuznetsov d738188c8b additional applied for related find 2023-07-20 11:15:08 +03:00
Yuri Kuznetsov 0c8b3bc79e cs 2023-07-20 10:22:53 +03:00
Yuri Kuznetsov 7f8a152909 selectAccessControlDisabled 2023-07-20 09:51:09 +03:00
Yuri Kuznetsov 50c208e4db ref 2023-07-20 09:18:55 +03:00
Yuri Kuznetsov 92e9ef31a3 npm build frontend 2023-07-19 18:03:24 +03:00
Yuri Kuznetsov d6cce6a887 fix po 2023-07-19 17:37:53 +03:00
Yuri Kuznetsov 8f7a76f2fe fix readme 2023-07-19 16:16:17 +03:00
Yuri Kuznetsov 6957de71ee readme fix 2023-07-19 16:15:26 +03:00
Yuri Kuznetsov ee9436d45f deprecation comments 2023-07-19 16:03:18 +03:00
Yuri Kuznetsov 45c972f813 remove deprecated field manager util alias class 2023-07-19 15:42:58 +03:00
Yuri Kuznetsov aa547c3934 fix deprecation docs 2023-07-19 15:37:06 +03:00
Yuri Kuznetsov 894cd14802 ref 2023-07-19 14:33:49 +03:00
Yuri Kuznetsov 950815890f fix 2023-07-19 14:17:17 +03:00
Yuri Kuznetsov 3d28723a92 calendar dashlet users field change 2023-07-19 14:14:21 +03:00
Yuri Kuznetsov 4b1519367f ref 2023-07-19 14:07:43 +03:00
Yuri Kuznetsov b515b58ed1 fix 2023-07-19 14:03:27 +03:00
Yuri Kuznetsov 09cc9910a2 notify 2023-07-19 11:11:13 +03:00
Yuri Kuznetsov 463cedc12c template entity type not customizable 2023-07-19 10:57:59 +03:00
Yuri Kuznetsov 9d3abb7a0c ref 2023-07-19 10:51:17 +03:00
Yuri Kuznetsov fef056fbe9 entity manager tool ref 2023-07-19 10:41:57 +03:00
Yuri Kuznetsov acc8eaa4e2 frontendNonAdminHiddenPathList 2023-07-18 20:44:40 +03:00
Yuri Kuznetsov d3f768975d ref 2023-07-18 20:27:21 +03:00
Yuri Kuznetsov 385dfa697a comment 2023-07-18 20:14:57 +03:00
Yuri Kuznetsov 560addae85 cs 2023-07-18 20:09:33 +03:00
Yuri Kuznetsov 4924b5f883 ref 2023-07-18 20:01:37 +03:00
Yuri Kuznetsov 49ed6eee31 entity manager ref 2023-07-18 19:58:04 +03:00
Yuri Kuznetsov f6a5f3cf06 fix model 2023-07-18 19:44:11 +03:00
Yuri Kuznetsov 704e274e6a unlink required access check 2023-07-18 15:50:23 +03:00
Yuri Kuznetsov 6f71ad125d ref 2023-07-18 15:01:49 +03:00
Yuri Kuznetsov c891b3a02e cs 2023-07-18 14:41:15 +03:00
Yuri Kuznetsov 417ce64c39 user latout set 2023-07-18 13:48:46 +03:00
Yuri Kuznetsov d3d0c33fe2 fix 2023-07-18 13:47:28 +03:00
Yuri Kuznetsov ae8f56381b fix 2023-07-18 13:39:07 +03:00
Yuri Kuznetsov 5752ccdf98 ref 2023-07-18 13:14:58 +03:00
Yuri Kuznetsov 7818f76e71 ref 2023-07-17 17:13:00 +03:00
Yuri Kuznetsov 0a7d80cbad types 2023-07-17 17:08:42 +03:00
Yuri Kuznetsov 54a753ec7e change issue template 2023-07-17 17:07:00 +03:00
Yuri Kuznetsov d46f9ebd1f ref 2023-07-17 17:04:55 +03:00
Yuri Kuznetsov 41453b0fb3 refactor 2023-07-17 16:46:19 +03:00
Yuri Kuznetsov 2cebfc8046 cs 2023-07-17 16:15:25 +03:00
Yuri Kuznetsov a20e7566c9 fix label 2023-07-17 13:48:39 +03:00
Yuri Kuznetsov 29b7bffadf required db version value change, add pg support 2023-07-17 12:49:48 +03:00
Yuri Kuznetsov 2142598058 style fix 2023-07-17 12:33:47 +03:00
Yuri Kuznetsov 0ed319927a installer postgresql 2023-07-17 12:01:54 +03:00
Yuri Kuznetsov 033f7a6a5f style fix 2023-07-17 10:47:06 +03:00
Yuri Kuznetsov ac551b4448 install style fix 2023-07-17 10:41:33 +03:00
Yuri Kuznetsov 2299906c23 export custom 2023-07-17 10:24:04 +03:00
Yuri Kuznetsov 607b7c6985 fix global search 2023-07-17 10:23:39 +03:00
Yuri Kuznetsov 79c2378826 cs 2023-07-17 10:10:52 +03:00
Yuri Kuznetsov 241b668073 fix 2023-07-17 09:53:28 +03:00
Yuri Kuznetsov e5ca8acdea field label text change 2023-07-17 09:50:34 +03:00
Yuri Kuznetsov 9e8800a8ba layout create modal change 2023-07-16 18:56:46 +03:00
Yuri Kuznetsov b0d137b6bb jsdoc 2023-07-16 18:03:56 +03:00
Yuri Kuznetsov 5174b409fb update bullbone 2023-07-16 18:01:24 +03:00
Yuri Kuznetsov 0c0a4da7d3 controller entire support view instance 2023-07-16 17:57:55 +03:00
Yuri Kuznetsov aead8f6edd controller main view instance 2023-07-16 17:39:23 +03:00
Yuri Kuznetsov 83f2899892 ref 2023-07-16 17:32:16 +03:00
Yuri Kuznetsov 3f25833d3d ref 2023-07-16 17:09:39 +03:00
Yuri Kuznetsov 26d2092ace jsdoc 2023-07-16 13:50:49 +03:00
Yuri Kuznetsov c82c34f6a4 cleanup 2023-07-16 12:34:52 +03:00
Yuri Kuznetsov 00dca8b099 update bullbone 2023-07-16 12:33:54 +03:00
Yuri Kuznetsov 5c9c1ee4ed detail layout improvement and js docs 2023-07-16 12:14:55 +03:00
Yuri Kuznetsov 4e9c4e62a2 type fix 2023-07-16 11:39:31 +03:00
Yuri Kuznetsov 3e5377c830 cleanup cs 2023-07-15 20:07:08 +03:00
Yuri Kuznetsov e3875812e7 types 2023-07-15 16:55:32 +03:00
Yuri Kuznetsov ef16795ea7 fix formula 2023-07-15 10:42:35 +03:00
Yuri Kuznetsov 9490623d54 revert 2023-07-14 11:22:00 +03:00
Yuri Kuznetsov f4f9086f79 quick search focus 2023-07-14 11:12:17 +03:00
Yuri Kuznetsov 22d057328a suppressValidationList, no Service class need for template, discard skip type validation in service 2023-07-14 10:45:44 +03:00
Yuri Kuznetsov ef8c58e3b7 template entities repositories use existing classes 2023-07-14 10:01:26 +03:00
Yuri Kuznetsov 60c8502d27 contact role options reference 2023-07-14 09:05:20 +03:00
Yuri Kuznetsov e65583dba7 comment 2023-07-14 09:00:39 +03:00
Yuri Kuznetsov bebf02dccb ref 2023-07-13 21:25:48 +03:00
Yuri Kuznetsov 219d8b2e41 fix acceptance status filter 2023-07-13 17:38:24 +03:00
Yuri Kuznetsov d20c0d452b fix 2023-07-13 17:20:02 +03:00
Yuri Kuznetsov 347c8bcef7 cs 2023-07-13 17:19:55 +03:00
Yuri Kuznetsov 93176838e2 fix role where 2023-07-13 16:19:11 +03:00
Yuri Kuznetsov 7dc6c4e5d0 title fetch null 2023-07-13 16:19:02 +03:00
Yuri Kuznetsov 430709b308 fix fetch search 2023-07-13 16:17:10 +03:00
Yuri Kuznetsov 417cdf5901 orm support exists where clause raw 2023-07-13 14:37:42 +03:00
Yuri Kuznetsov ec0303ab09 opportunity contact role converter 2023-07-13 14:16:49 +03:00
Yuri Kuznetsov b80fb7c817 field level converter 2023-07-13 14:16:37 +03:00
Yuri Kuznetsov 962e48c77a schema addition 2023-07-13 12:08:53 +03:00
Yuri Kuznetsov 4b1578237e fix typo 2023-07-13 12:06:25 +03:00
Yuri Kuznetsov 247d8763f7 fix deleted 0 2023-07-13 11:27:18 +03:00
Yuri Kuznetsov a3e2a32a7d schema addition 2023-07-13 11:16:36 +03:00
Yuri Kuznetsov 237e39f495 job scheduler job data less support 2023-07-13 10:56:16 +03:00
Yuri Kuznetsov a23b28bee9 duplicate save resolve 2023-07-13 10:35:29 +03:00
Yuri Kuznetsov d8d13d5ae2 cs 2023-07-13 10:00:17 +03:00
Yuri Kuznetsov 0f6b35cbf6 types 2023-07-13 09:49:37 +03:00
Yuri Kuznetsov 969d06f934 types 2023-07-13 09:37:12 +03:00
Yuri Kuznetsov ebcddd9477 ref 2023-07-13 09:05:59 +03:00
Yuri Kuznetsov 0cbe196bd3 layout delete cleanup 2023-07-12 17:27:45 +03:00
Yuri Kuznetsov 6087cad5ff custom list layouts 2023-07-12 17:19:10 +03:00
Yuri Kuznetsov 511d3f8eae ref 2023-07-12 09:14:13 +03:00
Yuri Kuznetsov bbc8408c5a cs 2023-07-12 09:00:55 +03:00
Yuri Kuznetsov f0723940e4 type fix 2023-07-12 08:59:58 +03:00
Yuri Kuznetsov 34516008f5 ref 2023-07-11 20:56:34 +03:00
Yuri Kuznetsov 000e3c0601 layout impr 2023-07-11 18:06:52 +03:00
Yuri Kuznetsov ec6416bfcb fix system req 2023-07-11 13:08:54 +03:00
Yuri Kuznetsov baa72e6f52 pdo_pgsql dependency 2023-07-11 12:55:12 +03:00
Yuri Kuznetsov 81f0b5ebe2 schema addition 2023-07-10 21:44:19 +03:00
Yuri Kuznetsov e833af4e9d fix layout scroll 2023-07-10 17:51:25 +03:00
Yuri Kuznetsov 1255dd0728 layout impr 2023-07-10 17:47:42 +03:00
Yuri Kuznetsov 61ab5478bc css fix 2023-07-10 17:38:02 +03:00
Yuri Kuznetsov c99eb08741 ref 2023-07-10 17:20:32 +03:00
Yuri Kuznetsov 52f1329ca4 layout impr 2023-07-10 15:55:05 +03:00
Yuri Kuznetsov 8f574b1275 ref 2023-07-10 15:44:40 +03:00
Yuri Kuznetsov 5e171464c3 side panel fields disabled 2023-07-10 14:59:46 +03:00
Yuri Kuznetsov 92bcb03cef utility usage 2023-07-10 14:42:51 +03:00
Yuri Kuznetsov ead45003e7 fix 2023-07-10 14:40:36 +03:00
Yuri Kuznetsov 37a37e95c6 utility param 2023-07-10 14:26:35 +03:00
Yuri Kuznetsov f68345d014 fix 2023-07-10 12:19:34 +03:00
Yuri Kuznetsov 9605afbb05 fix expanded layout field 2023-07-10 12:19:06 +03:00
Yuri Kuznetsov 7aa57ad36c bc 2023-07-10 12:18:54 +03:00
Yuri Kuznetsov 82efcefac7 duplicate check inprovements 2023-07-10 11:19:58 +03:00
Yuri Kuznetsov 9b176299ab updateDuplicateCheck param on UI 2023-07-10 09:23:18 +03:00
Yuri Kuznetsov f70902255c recordDefs support 2023-07-10 09:15:14 +03:00
Yuri Kuznetsov cbe79473ef Common entity type by default 2023-07-09 13:20:02 +03:00
Yuri Kuznetsov 158df5f652 type 2023-07-09 13:12:45 +03:00
Yuri Kuznetsov 253f54cb20 ref 2023-07-09 12:43:45 +03:00
Yuri Kuznetsov 90fa429fb9 ref 2023-07-08 15:54:03 +03:00
Yuri Kuznetsov d7063a914f ref 2023-07-08 15:47:03 +03:00
Yuri Kuznetsov 0a6ba698ba fix stream portal user without portal 2023-07-08 14:35:22 +03:00
Yuri Kuznetsov b11bfb0e92 name => entityType 2023-07-08 14:22:05 +03:00
Yuri Kuznetsov ece7d1f3b4 ref 2023-07-08 11:17:55 +03:00
Yuri Kuznetsov 6d9a813d67 fix move to trash 2023-07-08 11:08:14 +03:00
Yuri Kuznetsov f6382c7774 fix ajax 2023-07-08 10:56:34 +03:00
Yuri Kuznetsov 2525c53029 ref 2023-07-07 14:30:26 +03:00
Yuri Kuznetsov ee9520811f ref 2023-07-06 16:15:06 +03:00
Yuri Kuznetsov 212e8e34ab update bullbone 2023-07-06 16:14:58 +03:00
Yuri Kuznetsov 1fe53ac5c2 ref 2023-07-06 15:38:47 +03:00
Yuri Kuznetsov e1f7b64fe1 shortcuts original event 2023-07-06 15:26:24 +03:00
Yuri Kuznetsov 074d949d0b addActionHandler support any tag, use native event 2023-07-06 11:12:29 +03:00
Yuri Kuznetsov 0c07c7454d update jquery 2023-07-06 10:27:13 +03:00
Yuri Kuznetsov 82eb456565 update bullbone 2023-07-05 21:16:09 +03:00
Yuri Kuznetsov 285fc8ba8c el => selector 2023-07-05 21:07:47 +03:00
Yuri Kuznetsov 91e971a9ac update packages 2023-07-05 19:53:40 +03:00
Yuri Kuznetsov a12fcfd6b9 update bullbone 2023-07-05 19:52:40 +03:00
Yuri Kuznetsov 1d2ae3d282 cs 2023-07-05 17:23:15 +03:00
Yuri Kuznetsov 2a42cc8542 ajax refactoring 2023-07-05 17:15:18 +03:00
Yuri Kuznetsov e512f272a5 jsdoc 2023-07-05 10:49:18 +03:00
Yuri Kuznetsov 8a795dea4d cleanup 2023-07-05 10:29:52 +03:00
Yuri Kuznetsov bc1333c5c5 remore pre-loader 2023-07-05 10:06:12 +03:00
Yuri Kuznetsov ab378f4a59 Element support 2023-07-05 10:03:29 +03:00
Yuri Kuznetsov a0bb78bc58 update composer dependencies 2023-07-05 09:38:23 +03:00
Yuri Kuznetsov 8d7a64587c style fix 2023-07-04 21:24:01 +03:00
Yuri Kuznetsov 860dd74748 fix 2023-07-04 21:21:51 +03:00
Yuri Kuznetsov a8c4bb1a25 ref 2023-07-04 21:18:52 +03:00
Yuri Kuznetsov b4f73192ae fix types 2023-07-04 21:07:26 +03:00
Yuri Kuznetsov bd48715737 style fix 2023-07-04 19:28:14 +03:00
Yuri Kuznetsov 9a31099821 comment 2023-07-04 18:36:25 +03:00
Yuri Kuznetsov 1dba594fa4 fix jsdocs 2023-07-04 18:25:40 +03:00
Yuri Kuznetsov e1f5f7b713 fix schema description 2023-07-04 17:36:34 +03:00
Yuri Kuznetsov a5ed3f1d0c fix timeline delay 2023-07-04 16:44:06 +03:00
Yuri Kuznetsov 86ddf9d7cf history fix 2023-07-04 16:10:02 +03:00
Yuri Kuznetsov 6bd0a0ee1f update vis 2023-07-04 16:00:42 +03:00
Yuri Kuznetsov 05084c67db ref 2023-07-04 12:10:20 +03:00
Yuri Kuznetsov cbb51c92e9 update build tools 2023-07-03 21:55:25 +03:00
Yuri Kuznetsov ae7b42c3b0 lib ids fix 2023-07-03 21:53:34 +03:00
Yuri Kuznetsov 3da75e9dd0 lib rename 2023-07-03 21:16:20 +03:00
Yuri Kuznetsov e7561911cc schema addition 2023-07-03 21:03:29 +03:00
Yuri Kuznetsov 0d727e74c0 update fullcalendar 2023-07-03 20:46:13 +03:00
Yuri Kuznetsov 36dbe5556f ref 2023-07-02 14:11:00 +03:00
Yuri Kuznetsov 8b8d08afaa deprecations 2023-07-01 22:09:41 +03:00
Yuri Kuznetsov dda95dd741 ref 2023-07-01 21:50:50 +03:00
Yuri Kuznetsov 50cc43a742 deprecation remove and todo 2023-07-01 21:46:00 +03:00
Yuri Kuznetsov d4ab9850f2 orm metadata fields => attributes 2023-07-01 20:22:21 +03:00
Yuri Kuznetsov f561bb57f4 fetch search null 2023-07-01 18:52:11 +03:00
Yuri Kuznetsov 99d8681e46 fix docs 2023-07-01 18:48:04 +03:00
Yuri Kuznetsov ecd28f6c2d todo 2023-07-01 18:21:32 +03:00
Yuri Kuznetsov 5a5f8845ca deprecation removal 2023-07-01 18:18:30 +03:00
Yuri Kuznetsov 8ac34018ab change todo 2023-07-01 17:54:10 +03:00
Yuri Kuznetsov 95b1560c8a ref 2023-07-01 17:49:06 +03:00
Yuri Kuznetsov a7efea44d1 ref 2023-07-01 16:37:15 +03:00
Yuri Kuznetsov 42d8d2256d template fix 2023-07-01 14:59:25 +03:00
Yuri Kuznetsov 6063a295a0 ref 2023-07-01 14:18:08 +03:00
Yuri Kuznetsov 3c8bdeb539 ref 2023-07-01 13:10:19 +03:00
Yuri Kuznetsov 08ecfe58d5 cleanup 2023-06-30 14:59:00 +03:00
Yuri Kuznetsov dd1bde9830 navbar fix 2023-06-30 14:55:36 +03:00
Yuri Kuznetsov 5861923f3b generate stub password for new users 2023-06-30 14:41:07 +03:00
Yuri Kuznetsov 5aef00dfaa ref 2023-06-30 14:23:17 +03:00
Yuri Kuznetsov ea4790eb6f formula find many 2023-06-30 11:10:24 +03:00
Yuri Kuznetsov 6de98fd652 ref 2023-06-30 10:37:02 +03:00
Yuri Kuznetsov 2d180f5a07 fix 2023-06-30 10:27:25 +03:00
Yuri Kuznetsov 0ec3991b15 panel less ref, fix hover colors 2023-06-30 10:05:37 +03:00
Yuri Kuznetsov d1a6a17c88 bg color fix 2023-06-30 09:07:41 +03:00
Yuri Kuznetsov f1f1d1506d user select none 2023-06-29 23:14:23 +03:00
Yuri Kuznetsov d8af0ee835 ref 2023-06-29 21:51:50 +03:00
Yuri Kuznetsov 164f96e30a kanban order first on create 2023-06-29 18:39:55 +03:00
Yuri Kuznetsov b444f8b0fb kanban ref, read only status on create 2023-06-29 18:32:59 +03:00
Yuri Kuznetsov 3bac29828c id text filter 2023-06-29 17:54:08 +03:00
Yuri Kuznetsov 1c60d0b314 text filter fields skip attachment link 2023-06-29 17:52:41 +03:00
Yuri Kuznetsov e7f4b555e9 ref 2023-06-29 16:14:33 +03:00
Yuri Kuznetsov 5347d994ef cleanup 2023-06-29 16:12:09 +03:00
Yuri Kuznetsov bb20fe1929 ref 2023-06-29 16:11:21 +03:00
Yuri Kuznetsov b282110d40 import file style fix 2023-06-29 15:44:54 +03:00
Yuri Kuznetsov 87fd4e7f57 ref 2023-06-29 15:12:57 +03:00
Yuri Kuznetsov 025b312a2e default tab list 2023-06-29 14:33:23 +03:00
Yuri Kuznetsov b08813f9b6 kanban seprate less file and style changes 2023-06-29 13:18:22 +03:00
Yuri Kuznetsov 415199d814 post permission 2023-06-29 12:31:35 +03:00
Yuri Kuznetsov 6f7869784a style changes 2023-06-29 10:58:03 +03:00
Yuri Kuznetsov ebe9784b23 stick bar fixes 2023-06-29 09:59:36 +03:00
Yuri Kuznetsov 645b891a1d stick-sub css fix 2023-06-28 21:41:58 +03:00
Yuri Kuznetsov 34fbf2df6d style fix 2023-06-28 20:55:55 +03:00
Yuri Kuznetsov 9ad2cfc855 auth provider no create from link 2023-06-28 20:54:24 +03:00
Yuri Kuznetsov e4c7bd1baa stick bar style fixes 2023-06-28 18:13:54 +03:00
Yuri Kuznetsov 1ee8037d2b Merge branch 'fix' 2023-06-28 16:53:44 +03:00
Yuri Kuznetsov 275ee96750 fix id autoincrement conversion to varchar 2023-06-28 16:52:53 +03:00
Yuri Kuznetsov 8efff2f795 Merge branch 'fix' 2023-06-28 12:56:54 +03:00
Yuri Kuznetsov b66cb676a1 7.5.5 2023-06-28 12:47:42 +03:00
Yuri Kuznetsov 975b7b72c3 dont apply default encoding 2023-06-28 12:31:13 +03:00
Yuri Kuznetsov a520b9e57f settings ui tabs 2023-06-28 11:31:33 +03:00
Yuri Kuznetsov 65b9fabfd7 style changes 2023-06-28 11:11:40 +03:00
Yuri Kuznetsov 4be63cb75e navbar dividers 2023-06-28 10:44:59 +03:00
Yuri Kuznetsov 910ed80ae2 ref 2023-06-27 14:05:21 +03:00
Yuri Kuznetsov 8677a8354d libs rename key to amdId 2023-06-27 11:56:59 +03:00
Yuri Kuznetsov d902417b21 ref 2023-06-26 21:07:36 +03:00
Yuri Kuznetsov 338e2e9089 gridstack with amd 2023-06-26 18:09:56 +03:00
Yuri Kuznetsov fa88ba1583 / language=Handlebars 2023-06-26 14:10:11 +03:00
Yuri Kuznetsov 619c14ef65 update bullbone 2023-06-26 12:07:59 +03:00
Yuri Kuznetsov 3012967384 discard lib!espo 2023-06-25 19:30:25 +03:00
Yuri Kuznetsov 295aa8861b cleanup 2023-06-24 19:32:38 +03:00
Yuri Kuznetsov 447d949537 discard lib!espo usage 2023-06-24 19:27:40 +03:00
Yuri Kuznetsov c87fa9463e discard expose param 2023-06-24 19:21:49 +03:00
Yuri Kuznetsov f7f424bad7 discard amdId 2023-06-24 19:11:33 +03:00
Yuri Kuznetsov e0606e20d8 aliases 2023-06-24 17:20:20 +03:00
Yuri Kuznetsov 91a2216d27 gridstack name usage 2023-06-24 15:06:07 +03:00
Yuri Kuznetsov d2643a3372 lib renamings 2023-06-24 13:48:49 +03:00
Yuri Kuznetsov fa01e80386 ref 2023-06-24 09:21:05 +03:00
Yuri Kuznetsov 31caa27d39 cs 2023-06-24 08:53:46 +03:00
Yuri Kuznetsov c78962f5f6 fix tests init libs 2023-06-24 08:04:00 +03:00
Yuri Kuznetsov 4a1bdae913 Merge branch 'fix' 2023-06-24 07:55:11 +03:00
Yuri Kuznetsov 2dfd14f3c5 fix follower list 2023-06-23 23:25:32 +03:00
Yuri Kuznetsov 023400e84e fix imports 2023-06-23 20:02:26 +03:00
Yuri Kuznetsov 05fd772d46 update frontend tools 2023-06-23 19:54:45 +03:00
Yuri Kuznetsov d409075b6c libs ids with prefix 2023-06-23 19:53:32 +03:00
Yuri Kuznetsov 8267c48aad ref 2023-06-23 16:08:16 +03:00
Yuri Kuznetsov afbaf931eb ref 2023-06-23 15:26:18 +03:00
Yuri Kuznetsov 12105fb25f qr code fix 2023-06-23 15:21:45 +03:00
Yuri Kuznetsov 0bd9dbdba2 try catch qrcode 2023-06-23 14:56:38 +03:00
Yuri Kuznetsov f48fbc58b5 style fix 2023-06-23 14:08:44 +03:00
Yuri Kuznetsov c287d0ff5a fixes 2023-06-23 11:16:07 +03:00
Yuri Kuznetsov bac2240c0b fix 2023-06-23 10:24:45 +03:00
Yuri Kuznetsov 300ed327df update tools 2023-06-22 20:55:22 +03:00
Yuri Kuznetsov e14ca3ab77 rename 2023-06-22 20:50:42 +03:00
Yuri Kuznetsov 2b5ba6049f transpiled custom module support 2023-06-22 16:58:48 +03:00
Yuri Kuznetsov caf6217b9a fix currency validation 2023-06-22 14:17:23 +03:00
Yuri Kuznetsov 716976c078 frontend build tools usage 2023-06-22 12:49:28 +03:00
Yuri Kuznetsov 00cf85abd4 Merge branch 'fix' 2023-06-22 09:47:39 +03:00
Yuri Kuznetsov 8ef2ed4144 7.5.4 2023-06-22 09:35:19 +03:00
Yuri Kuznetsov befec82120 fix history 2023-06-22 09:27:11 +03:00
Yuri Kuznetsov eb7923f4bc side navbar changes 2023-06-21 19:59:57 +03:00
Yuri Kuznetsov d70687ff1e ref 2023-06-21 17:31:07 +03:00
Yuri Kuznetsov e7f0c461c6 fix schema 2023-06-21 16:42:25 +03:00
Yuri Kuznetsov 0bbf3f5f0d duration not mergeable 2023-06-21 16:28:10 +03:00
Yuri Kuznetsov 321fd40355 ref 2023-06-21 16:26:33 +03:00
Yuri Kuznetsov add5bcbe6a merge success notification fix 2023-06-21 16:20:57 +03:00
Yuri Kuznetsov f39e59ba5b ref 2023-06-21 16:19:47 +03:00
Yuri Kuznetsov a65bdbece5 cs 2023-06-21 15:23:35 +03:00
Yuri Kuznetsov 184fa6fd9b ref 2023-06-21 15:18:47 +03:00
Yuri Kuznetsov 897a14d07f noinspection 2023-06-21 15:07:46 +03:00
Yuri Kuznetsov 36d09b923e ref 2023-06-21 15:02:56 +03:00
Yuri Kuznetsov 0928c52100 fixes 2023-06-21 14:27:04 +03:00
Yuri Kuznetsov daa1fcdcba cleanup 2023-06-21 13:52:27 +03:00
Yuri Kuznetsov 6bea09f246 Merge branch 'fix' 2023-06-21 13:19:38 +03:00
Yuri Kuznetsov e88bd5898c 7.5.3 2023-06-21 13:09:42 +03:00
Yuri Kuznetsov a5bb5005f8 fix upgrade 2023-06-21 13:03:58 +03:00
Yuri Kuznetsov ec664163e5 ref 2023-06-21 12:57:06 +03:00
Yuri Kuznetsov b130076313 ref 2023-06-21 12:47:20 +03:00
Yuri Kuznetsov 372a9c9640 cancel render list view 2023-06-21 12:31:13 +03:00
Yuri Kuznetsov 958a1e6634 ref 2023-06-21 11:52:17 +03:00
Yuri Kuznetsov 306a8728b4 ref 2023-06-21 11:39:47 +03:00
Yuri Kuznetsov e9527a6bbf ref 2023-06-21 11:28:24 +03:00
Yuri Kuznetsov d261a019bd jsdocs 2023-06-21 10:38:55 +03:00
Yuri Kuznetsov 6465277fb0 jsdoc, types 2023-06-20 23:03:31 +03:00
Yuri Kuznetsov fc8be6d56f ref 2023-06-20 21:02:15 +03:00
Yuri Kuznetsov cc32089a51 ref 2023-06-20 17:50:09 +03:00
Rabii Brahimi 56dd0aa594 Update detail.js (#2774)
Update detail.js - add condition check for dateEnd
2023-06-20 11:12:52 +03:00
Yuri Kuznetsov 71d8327b32 ref 2023-06-20 10:33:08 +03:00
Yuri Kuznetsov e322e036a4 types 2023-06-20 10:31:58 +03:00
Yuri Kuznetsov 4f2651dd2b ref 2023-06-20 10:24:12 +03:00
Yuri Kuznetsov f53553e301 Merge branch 'fix' 2023-06-20 09:29:57 +03:00
Yuri Kuznetsov 324f776ed5 css fix 2023-06-20 09:29:48 +03:00
David 4c346bebff currency export fix (#2773)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-06-19 22:52:47 +03:00
Yuri Kuznetsov 083a2c5235 Merge branch 'fix' 2023-06-19 19:41:59 +03:00
Yuri Kuznetsov 1f04ba5083 7.5.2 2023-06-19 19:15:40 +03:00
Yuri Kuznetsov 1ad265611f fix entity manager 2023-06-19 17:39:53 +03:00
Yuri Kuznetsov 7adfb6c1c0 fix 2023-06-19 17:05:21 +03:00
Yuri Kuznetsov 190330c204 change templates location 2023-06-19 16:50:36 +03:00
Yuri Kuznetsov 56f975c65e template bundle 2023-06-19 15:03:39 +03:00
Yuri Kuznetsov a79892028a number-util rename 2023-06-18 18:04:16 +03:00
Yuri Kuznetsov 3086b75616 js-doc fix 2023-06-18 17:55:59 +03:00
Yuri Kuznetsov 9955da3521 fix docs 2023-06-18 17:21:20 +03:00
Yuri Kuznetsov 0ba9130e96 cleanup 2023-06-17 21:56:50 +03:00
Yuri Kuznetsov 0af14b93c5 ref 2023-06-17 21:56:23 +03:00
Yuri Kuznetsov 191884d5af support relative import 2023-06-17 15:58:41 +03:00
Yuri Kuznetsov dd1aac89ce using modules/{mod}/ naming 2023-06-17 15:48:28 +03:00
Yuri Kuznetsov 24203e8d07 docs 2023-06-17 15:47:49 +03:00
Yuri Kuznetsov e53f79be03 more detail error msg 2023-06-16 18:12:48 +03:00
Yuri Kuznetsov 435dc2d818 merge unset not actual attributes 2023-06-16 17:20:45 +03:00
Yuri Kuznetsov 39e446ecf2 fix role permission tooltips 2023-06-16 16:14:30 +03:00
Yuri Kuznetsov 5a013ddc88 tooltip reference to another scope 2023-06-16 16:14:16 +03:00
Yuri Kuznetsov 14b595940f cs 2023-06-16 15:24:53 +03:00
Yuri Kuznetsov b6d4b96aa8 fix installer, ref 2023-06-16 14:09:53 +03:00
Yuri Kuznetsov de4c5d641d ref 2023-06-16 13:34:37 +03:00
Yuri Kuznetsov f731419f86 ref 2023-06-16 12:48:49 +03:00
Yuri Kuznetsov 0e2f00665c update bullbone 2023-06-16 12:36:16 +03:00
Yuri Kuznetsov cae0f541b5 bundler change 2023-06-16 12:33:59 +03:00
Yuri Kuznetsov 88dec452f6 cleanup 2023-06-16 12:33:16 +03:00
Yuri Kuznetsov 28072ad24f fix loader error response 2023-06-16 12:26:40 +03:00
Yuri Kuznetsov 857c252b14 merge 2023-06-16 10:54:16 +03:00
Yuri Kuznetsov 04906c5307 fix attachment access in posts to all users 2023-06-16 10:49:20 +03:00
Yuri Kuznetsov 19e9abb7c4 object assign usage 2023-06-15 21:15:58 +03:00
Yuri Kuznetsov 89fa2f0523 bundler map dependencies 2023-06-15 18:50:55 +03:00
Yuri Kuznetsov 6686e78069 bundler mainChunk param 2023-06-15 17:51:12 +03:00
Yuri Kuznetsov 928ee586a0 ref 2023-06-15 15:52:50 +03:00
Yuri Kuznetsov 08d661d275 ref 2023-06-15 15:05:01 +03:00
Yuri Kuznetsov f7709207d2 ref 2023-06-15 14:42:44 +03:00
Yuri Kuznetsov 6174171cab ref 2023-06-15 14:34:48 +03:00
Yuri Kuznetsov 6242e7c8b8 ref 2023-06-15 14:11:56 +03:00
Yuri Kuznetsov 8a4fd72261 ref 2023-06-15 14:09:38 +03:00
Yuri Kuznetsov 80588d0f5f ref 2023-06-15 13:32:13 +03:00
Yuri Kuznetsov 377f977f79 ref 2023-06-15 13:18:03 +03:00
Yuri Kuznetsov 68393c778b ref 2023-06-15 12:00:48 +03:00
Yuri Kuznetsov 8b8458cf78 ref 2023-06-15 11:29:24 +03:00
Yuri Kuznetsov 44e8dcf680 fix 2023-06-15 11:15:32 +03:00
Yuri Kuznetsov b83e6170a4 notify error support options 2023-06-15 11:08:29 +03:00
Yuri Kuznetsov dde0e24e0e fix collection doc and test 2023-06-15 11:00:17 +03:00
Yuri Kuznetsov 2d31c9bfb6 notification suppress 2023-06-15 10:57:56 +03:00
Yuri Kuznetsov c0bdd74837 fix docs 2023-06-15 10:51:57 +03:00
Yuri Kuznetsov 3ccf2f4a00 fix 2023-06-15 10:29:37 +03:00
Yuri Kuznetsov b9d81b7994 ref 2023-06-15 10:28:04 +03:00
Yuri Kuznetsov fe8af42814 ref 2023-06-15 10:22:23 +03:00
Yuri Kuznetsov 03f2c33601 docs 2023-06-15 10:11:24 +03:00
Yuri Kuznetsov 1613398492 fix toJSON usage 2023-06-15 09:57:10 +03:00
Yuri Kuznetsov 87ad554531 fix transpiler 2023-06-15 09:57:04 +03:00
Yuri Kuznetsov d74363baea fix jsdoc 2023-06-15 09:41:03 +03:00
Yuri Kuznetsov 535baff2aa cleanup 2023-06-14 23:35:37 +03:00
Yuri Kuznetsov dcad84aeff cs 2023-06-14 20:55:07 +03:00
Yuri Kuznetsov df3e0bf956 ref 2023-06-14 20:17:26 +03:00
Yuri Kuznetsov 4215ad6e88 ref 2023-06-14 19:17:41 +03:00
Yuri Kuznetsov 5c6a4ae7b2 loader use fetch 2023-06-14 19:00:47 +03:00
Yuri Kuznetsov 33cece0cd1 fix naming 2023-06-14 18:51:32 +03:00
Yuri Kuznetsov 4b3b48c981 change date 2023-06-14 17:44:26 +03:00
Yuri Kuznetsov 99eec81983 ref 2023-06-14 17:10:37 +03:00
Yuri Kuznetsov e1b5e2db33 fix schema 2023-06-14 16:19:26 +03:00
Yuri Kuznetsov cd76087c2f fix bool filter legacy schema 2023-06-14 16:19:18 +03:00
Yuri Kuznetsov ff34df3e42 ref 2023-06-14 16:04:32 +03:00
Yuri Kuznetsov db43fd3a12 transpiler changes 2023-06-14 15:28:06 +03:00
Yuri Kuznetsov de42e7e4c1 fix schema desc 2023-06-14 14:58:38 +03:00
Yuri Kuznetsov 5baeea2b5d loader fix fetch object null 2023-06-14 14:39:50 +03:00
Yuri Kuznetsov 6d7be12c60 ref 2023-06-14 14:39:25 +03:00
Yuri Kuznetsov 98fb897785 loader changes 2023-06-14 14:22:57 +03:00
Yuri Kuznetsov 7bdd9b25ce ref 2023-06-14 13:44:04 +03:00
Yuri Kuznetsov 70b995e6f7 events static usage fix 2023-06-14 12:49:37 +03:00
Yuri Kuznetsov ecb6ec3adf fix frontend tests, error on loader loader second time 2023-06-14 12:05:13 +03:00
Yuri Kuznetsov 431f7e6fd5 rename bundles 2023-06-14 11:34:58 +03:00
Yuri Kuznetsov e0f8688cb9 ref 2023-06-14 11:09:39 +03:00
Yuri Kuznetsov 6fcd6bc6e4 loader bundler fixes 2023-06-14 10:57:51 +03:00
Yuri Kuznetsov 56d72946bc ref 2023-06-13 21:10:48 +03:00
Yuri Kuznetsov 9099f84441 changes 2023-06-13 18:42:26 +03:00
Yuri Kuznetsov fefadc58bd 7.5.1 2023-06-13 17:31:13 +03:00
Yuri Kuznetsov 1628d3b566 fix update 2023-06-13 17:22:32 +03:00
Yuri Kuznetsov b456d86b22 ref 2023-06-13 17:19:38 +03:00
Yuri Kuznetsov c3a1236ca9 fix email assignment notificator 2023-06-13 17:19:15 +03:00
Yuri Kuznetsov 544e8e9d3f ref loader 2023-06-12 13:22:09 +03:00
Yuri Kuznetsov a032a41935 discard es-promise lib 2023-06-12 13:12:57 +03:00
Yuri Kuznetsov e43215cdf1 cs 2023-06-11 21:02:23 +03:00
Yuri Kuznetsov 781aab0c1d ref 2023-06-11 20:48:56 +03:00
Yuri Kuznetsov 197aade0d1 ref 2023-06-11 15:30:54 +03:00
Yuri Kuznetsov 5de9f545b0 ref 2023-06-11 14:57:47 +03:00
Yuri Kuznetsov 43cf24d8d6 ref 2023-06-11 13:13:28 +03:00
Yuri Kuznetsov b3858b977a ref 2023-06-10 22:49:46 +03:00
Yuri Kuznetsov 1a38c79d94 jsdoc 2023-06-10 19:34:26 +03:00
Yuri Kuznetsov 7ea46bb370 ref 2023-06-10 19:30:06 +03:00
Yuri Kuznetsov 2b8120811c fix 2023-06-10 19:29:51 +03:00
Yuri Kuznetsov 3498ebb978 test fixes 2023-06-10 16:31:34 +03:00
Yuri Kuznetsov 5f71c2c1b6 ref 2023-06-10 15:58:48 +03:00
Yuri Kuznetsov c68141d4bb discard callback usage 2023-06-10 12:52:27 +03:00
Yuri Kuznetsov 70b6f456af update jasmine 2023-06-10 10:00:59 +03:00
Yuri Kuznetsov 0b86592d5c fix tests 2023-06-10 10:00:38 +03:00
Yuri Kuznetsov 91ee5af643 ref 2023-06-09 19:26:43 +03:00
Yuri Kuznetsov 9df03c1119 ref 2023-06-09 19:10:42 +03:00
Yuri Kuznetsov 80fb01fd7d ref 2023-06-09 18:50:52 +03:00
Yuri Kuznetsov febbfa2126 ref 2023-06-09 18:35:39 +03:00
Yuri Kuznetsov c9a959d548 ref 2023-06-09 17:26:29 +03:00
Yuri Kuznetsov 24473783e9 ref 2023-06-09 17:12:52 +03:00
Yuri Kuznetsov cd429f9556 ref 2023-06-09 16:47:46 +03:00
Yuri Kuznetsov c9b9023f38 ref 2023-06-09 16:21:03 +03:00
Yuri Kuznetsov c8adc8c654 update bullbone fix 2023-06-09 15:56:25 +03:00
Yuri Kuznetsov 08501ce207 ref 2023-06-09 15:55:27 +03:00
Yuri Kuznetsov 1e3a9cc07d ref 2023-06-09 14:48:27 +03:00
Yuri Kuznetsov d9dc87f9ab ref 2023-06-09 14:36:46 +03:00
Yuri Kuznetsov 31f8cf94da ref 2023-06-09 14:00:01 +03:00
Yuri Kuznetsov c9c5913845 ref 2023-06-09 13:44:52 +03:00
Yuri Kuznetsov 95e3276394 ref 2023-06-09 12:56:40 +03:00
Yuri Kuznetsov 8d06c82338 fix 2023-06-09 12:05:55 +03:00
Yuri Kuznetsov 5da31f76f4 update bullbone 2023-06-09 11:57:37 +03:00
Yuri Kuznetsov 8c3933e60e ref 2023-06-09 11:42:19 +03:00
Yuri Kuznetsov c67ea8309a Merge branch 'master' into version/7.6 2023-06-08 20:08:37 +03:00
Yuri Kuznetsov d76a6fa0ec lang 2023-06-08 20:08:21 +03:00
Yuri Kuznetsov b7c3b32b49 bull.events 2023-06-08 19:16:00 +03:00
Yuri Kuznetsov f6f32fbaa0 list select attributes helper 2023-06-08 15:13:36 +03:00
Yuri Kuznetsov 06f807bb4d schema 2023-06-08 14:04:14 +03:00
Yuri Kuznetsov 20975628b2 grunt clean addition 2023-06-08 14:02:13 +03:00
Yuri Kuznetsov c6b7337317 es modules first migration 2023-06-08 13:31:27 +03:00
Yuri Kuznetsov 4e040700ab Merge branch 'master' into version/7.6 2023-06-08 13:30:36 +03:00
Kyle Mathers b008270fe6 Update Global.json (#2763)
Fix grammar in error messages
2023-06-08 08:28:21 +03:00
Yuri Kuznetsov 2deb826266 fix array search custom options not stored 2023-06-05 22:54:37 +03:00
Yuri Kuznetsov 66815e3192 de 2023-06-05 09:10:16 +03:00
Yuri Kuznetsov 673fcfc9fe Merge branch 'master' into version/7.6 2023-06-04 15:00:45 +03:00
Yuri Kuznetsov 9e34de69f0 fix enum position 2023-06-04 15:00:31 +03:00
Yuri Kuznetsov ed1ac27f75 fix enum position 2023-06-04 15:00:05 +03:00
Yuri Kuznetsov d202d53ce2 fix 2023-06-04 14:29:02 +03:00
Yuri Kuznetsov 8485e7b436 my inbox dashlet folders 2023-06-04 14:22:20 +03:00
Yuri Kuznetsov e85c110697 fix schema 2023-06-04 13:24:56 +03:00
Yuri Kuznetsov a9c0aefa58 add array item quick search 2023-06-04 13:12:07 +03:00
Yuri Kuznetsov 3a5c840ce8 cleanup 2023-06-04 13:08:26 +03:00
Yuri Kuznetsov bbf7f8a98b ref 2023-06-04 11:24:51 +03:00
Yuri Kuznetsov 24dee6aa62 logout clear stored auth if fail on app start 2023-06-03 21:37:30 +03:00
Yuri Kuznetsov c33452fd0b discard template bundle 2023-06-03 20:40:36 +03:00
Yuri Kuznetsov ad099dff27 bundle dependency 2023-06-03 11:06:31 +03:00
Yuri Kuznetsov d31e90fb42 use app timestamp 2023-06-03 09:47:57 +03:00
Yuri Kuznetsov c150ee66af loader bundle promise map and prevent multiple define same module 2023-06-03 08:38:04 +03:00
Yuri Kuznetsov dac6d74fd1 change 2023-06-02 19:50:59 +03:00
Yuri Kuznetsov 598a87c349 cleanup 2023-06-02 19:28:56 +03:00
Yuri Kuznetsov 34ec6cfc8d bundle chunks 2023-06-02 19:26:38 +03:00
Yuri Kuznetsov 39865b4c09 bundler changes 2023-06-01 16:35:25 +03:00
Yuri Kuznetsov 116a605053 1 chunk 2023-06-01 14:12:22 +03:00
Yuri Kuznetsov a1da459343 Merge branch 'master' into version/7.6 2023-06-01 13:32:40 +03:00
Yuri Kuznetsov 6346fae044 fix array 2023-06-01 13:32:25 +03:00
Yuri Kuznetsov 12440e7ab6 add dashlet quick search 2023-06-01 13:25:35 +03:00
Yuri Kuznetsov 39af37f20c dashlet options impr 2023-06-01 13:07:51 +03:00
Yuri Kuznetsov 0b9abdd70d schema autoload 2023-06-01 12:14:32 +03:00
Yuri Kuznetsov 29c9b0fc78 cs 2023-06-01 11:10:39 +03:00
Yuri Kuznetsov aee977ac36 installer ref 2023-06-01 11:05:46 +03:00
Yuri Kuznetsov 8b03a82480 preload icon fonts 2023-06-01 11:05:30 +03:00
Yuri Kuznetsov 95f9946476 cleanup 2023-06-01 10:16:19 +03:00
Yuri Kuznetsov 5ab64077e8 bg 2023-06-01 09:46:47 +03:00
Yuri Kuznetsov ae8221e208 v 2023-06-01 09:23:07 +03:00
Yuri Kuznetsov a18866a900 fix 2023-05-31 18:23:22 +03:00
Yuri Kuznetsov ab65f99a44 discard original/espo 2023-05-31 17:48:10 +03:00
Yuri Kuznetsov 2a4158a130 fix 2023-05-31 17:47:56 +03:00
Yuri Kuznetsov 0befa49f1a CORS middleware (#2754)
* cors

* bind helper

* ref
2023-05-31 17:03:39 +03:00
Yuri Kuznetsov d4aa9745ca ORM: Join sub-query (#2757)
* orm join sub-query

* tests
2023-05-31 17:01:43 +03:00
Yuri Kuznetsov 260a5c89ef discard pre-load config 2023-05-31 16:44:02 +03:00
Yuri Kuznetsov b19aec81b4 layout template bundle 2023-05-31 16:23:01 +03:00
Yuri Kuznetsov 9eea792fb1 bundle chunks 3 2023-05-31 14:56:10 +03:00
Yuri Kuznetsov d05a084509 template precompile 2023-05-31 14:48:23 +03:00
Yuri Kuznetsov 1722d3b69f fix 2023-05-31 13:23:43 +03:00
Yuri Kuznetsov 53a6384515 update bullbone 2023-05-31 13:18:16 +03:00
Yuri Kuznetsov 5e492d3e3f bundler impr 2023-05-31 11:34:39 +03:00
Yuri Kuznetsov 1daac4cfad foreign field copy params 2023-05-30 12:37:26 +03:00
Yuri Kuznetsov 646939bcf8 binding value conflict handling 2023-05-29 18:26:11 +03:00
Yuri Kuznetsov 84062f331f fix parent field loader 2023-05-29 13:13:50 +03:00
Yuri Kuznetsov 0a1cd5cb74 schema fixes 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov f63b7e04d6 fixes 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov c287137283 grunt do not clean custom modules 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov d3d8a5dc25 fix docs 2023-05-29 11:32:32 +03:00
Yuri Kuznetsov bf5468d4f4 Update README.md 2023-05-28 18:10:41 +03:00
Yuri Kuznetsov 7b93cf028a schema impr 2023-05-28 09:07:43 +03:00
Yuri Kuznetsov 3012008b85 cleanup 2023-05-28 08:54:16 +03:00
Yuri Kuznetsov 145312af2c fix 2023-05-27 15:44:06 +03:00
Yuri Kuznetsov 0414ee6aa0 vscode json schema mappings 2023-05-27 15:36:23 +03:00
Yuri Kuznetsov bf716b7953 fix schema 2023-05-27 15:34:32 +03:00
Yuri Kuznetsov d4657ff85d fix 2023-05-27 14:14:04 +03:00
Yuri Kuznetsov 5023a58cc1 schema 2023-05-27 13:59:52 +03:00
Yuri Kuznetsov 9ea75f1abf metadata app orm change 2023-05-27 12:14:21 +03:00
Yuri Kuznetsov 50a91836e8 schema 2023-05-27 11:44:41 +03:00
Yuri Kuznetsov 12d05f7a6b schema 2023-05-26 14:47:25 +03:00
Yuri Kuznetsov bff4002cad schema 2023-05-26 13:39:29 +03:00
Yuri Kuznetsov 29388a8a8d add complex expressions 2023-05-26 11:44:09 +03:00
Yuri Kuznetsov 7f29a66ad3 Merge branch 'fix' 2023-05-26 10:12:18 +03:00
Yuri Kuznetsov e7067447b6 7.4.6 2023-05-26 09:44:35 +03:00
Yuri Kuznetsov b807f32669 ref 2023-05-25 22:40:15 +03:00
Yuri Kuznetsov db596c886e fix 2023-05-25 17:21:21 +03:00
Yuri Kuznetsov 0e37635373 schema 2023-05-25 17:18:55 +03:00
Yuri Kuznetsov 58ac7de123 fix comment 2023-05-25 13:57:58 +03:00
Yuri Kuznetsov ab8421dbae ref 2023-05-25 12:28:42 +03:00
Yuri Kuznetsov 915b8f288b fix duration 2023-05-25 10:12:00 +03:00
Andrew Fontana 52b7a59085 Add title to list-tree-item to preview name (#2750)
When a folder name is too long it will be almost impossible to read it, with this addition it will be possible to hover the mouse on the folder name to view it fully.
2023-05-25 09:41:47 +03:00
Yuri Kuznetsov e75119645b fix portal edit acl frontend check 2023-05-24 17:07:49 +03:00
Yuri Kuznetsov a39cd8f114 Merge branch 'fix' 2023-05-24 16:35:01 +03:00
Yuri Kuznetsov 4e8f771ef7 fix has children search 2023-05-24 16:34:20 +03:00
Yuri Kuznetsov e0ce18407d fix has children search 2023-05-24 16:31:07 +03:00
Yuri Kuznetsov fcdcf78629 orm: fix string with colom 2023-05-24 12:16:15 +03:00
Andrew Fontana 821e346e7d edit-attributes.js fix missing translation label (#2748)
fix missing translation label for cancel button
2023-05-23 16:18:00 +03:00
Yuri Kuznetsov 0276fcf5ce orm fix select item array with 1 element 2023-05-23 14:24:43 +03:00
Yuri Kuznetsov 7c729aa23f fix 2023-05-23 14:02:23 +03:00
Yuri Kuznetsov 14d08204f1 fix 2023-05-23 14:01:32 +03:00
Yuri Kuznetsov 2747fe2716 fix test 2023-05-21 11:31:02 +03:00
Yuri Kuznetsov ff6957f577 binding builtin check commented 2023-05-21 11:10:01 +03:00
Yuri Kuznetsov 39c0da248b cs 2023-05-21 10:05:48 +03:00
Yuri Kuznetsov 4a29c14051 primary filter name parameter 2023-05-21 10:02:19 +03:00
Yuri Kuznetsov 4f8dcf0447 Update README.md 2023-05-19 13:43:51 +03:00
Yuri Kuznetsov 081998c79f Update README.md 2023-05-19 10:34:24 +03:00
Yuri Kuznetsov 23f0f0bc6d Update README.md 2023-05-19 10:28:06 +03:00
Yuri Kuznetsov 4f7f40a245 Update README.md 2023-05-19 10:16:43 +03:00
Yuri Kuznetsov 624be85604 Update README.md 2023-05-19 10:12:06 +03:00
Yuri Kuznetsov 452eca267d Update README.md 2023-05-19 09:34:43 +03:00
Yuri Kuznetsov 0711781a1e Update README.md 2023-05-19 09:33:18 +03:00
Yuri Kuznetsov 65d3c25a9e Update README.md 2023-05-19 09:20:18 +03:00
Yuri Kuznetsov 3a94e1fb98 Update README.md 2023-05-19 09:19:22 +03:00
Yuri Kuznetsov c621b84a4c Update README.md 2023-05-19 09:14:27 +03:00
Yuri Kuznetsov df69375644 Merge branch 'fix' 2023-05-14 13:40:33 +03:00
Yuri Kuznetsov 53ecb36705 fix cleanup 2023-05-14 13:40:17 +03:00
Yuri Kuznetsov 2c5ba1b826 Update bug_report.md 2023-05-14 13:18:05 +03:00
Yuri Kuznetsov 90ddfe3b43 Update config.yml 2023-05-14 13:09:59 +03:00
Yuri Kuznetsov a58d4be849 style fix 2023-05-13 15:07:00 +03:00
Yuri Kuznetsov 6f7b5e9973 cleanup 2023-05-13 15:01:57 +03:00
Yuri Kuznetsov a727cee3a6 login 2nd step focus 2023-05-13 15:00:29 +03:00
Yuri Kuznetsov 562da819a6 fix typo 2023-05-13 14:57:24 +03:00
Yuri Kuznetsov 7cc980d525 Update bug_report.md 2023-05-12 22:27:48 +03:00
Yuri Kuznetsov 4af973015f Update bug_report.md 2023-05-12 22:26:11 +03:00
Yuri Kuznetsov 210fac225d Update config.yml 2023-05-12 22:16:05 +03:00
Yuri Kuznetsov 875377e0d2 Update bug_report.md 2023-05-12 22:10:10 +03:00
Yuri Kuznetsov eacd62f7fb Merge branch 'fix' 2023-05-12 10:02:07 +03:00
Yuri Kuznetsov 4faaa2d082 v 2023-05-11 13:28:01 +03:00
Yuri Kuznetsov 8dda1321b5 event fix patch upgrade 2023-05-11 13:12:57 +03:00
Yuri Kuznetsov bb59cda131 event upgrade fix 2023-05-11 12:59:41 +03:00
Yuri Kuznetsov ed12c6f6bd cs 2023-05-10 11:54:26 +03:00
Yuri Kuznetsov 324ded28de cs 2023-05-10 10:52:34 +03:00
David 1262fdbf29 fixed group by in count (#2734)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-05-10 09:13:26 +03:00
Yuri Kuznetsov 901c0ba24e use forceDisplayTopBar 2023-05-09 14:35:07 +03:00
Yuri Kuznetsov 8213f704ce fix 2023-05-09 14:20:38 +03:00
Yuri Kuznetsov 17af6bf515 Merge branch 'fix' 2023-05-09 13:28:35 +03:00
Yuri Kuznetsov 0d9f1a225f v 2023-05-09 13:14:44 +03:00
Yuri Kuznetsov 8518a44935 document dnd fix 2023-05-09 13:03:17 +03:00
Yuri Kuznetsov 458fb47f43 list button contanier placeholder 2023-05-08 18:20:34 +03:00
Yuri Kuznetsov f4db21af2c cs 2023-05-08 14:39:22 +03:00
Yuri Kuznetsov 9d426f7feb css fix 2023-05-08 14:37:03 +03:00
Yuri Kuznetsov 52ae61b1a5 portal detail view tabs 2023-05-08 13:52:09 +03:00
Yuri Kuznetsov c3c76fab71 dashboard field style fix 2023-05-08 12:36:05 +03:00
Yuri Kuznetsov 61db883330 kanban stick top use offset 2023-05-08 10:04:06 +03:00
Yuri Kuznetsov 447c236953 import no duplicare 2023-05-08 09:30:40 +03:00
Yuri Kuznetsov 8bbfb743f0 fix 2023-05-08 09:29:00 +03:00
Yuri Kuznetsov 3e18f488c6 cs 2023-05-07 19:40:51 +03:00
Yuri Kuznetsov ad6d001e9f ref 2023-05-07 19:22:08 +03:00
Yuri Kuznetsov faa11d603e cs 2023-05-07 19:18:28 +03:00
Yuri Kuznetsov ae2eff925b fix 2023-05-07 18:49:12 +03:00
Yuri Kuznetsov f180a8ff84 Update feature_request.md 2023-05-06 19:08:07 +03:00
Yuri Kuznetsov e6ad56d6d0 quick create message 2023-05-06 09:46:07 +03:00
Yuri Kuznetsov 37f1948f9f ref 2023-05-06 09:35:59 +03:00
Yuri Kuznetsov 1adea79d23 notify fixes 2023-05-06 09:32:39 +03:00
Yuri Kuznetsov dd640c2fbe ref 2023-05-06 09:32:22 +03:00
Yuri Kuznetsov 6c49e93cbf add field quick search 2023-05-05 15:07:16 +03:00
Yuri Kuznetsov 247858d295 ref 2023-05-05 15:02:32 +03:00
Yuri Kuznetsov 797679ce7a fix js docs 2023-05-05 14:53:03 +03:00
Yuri Kuznetsov ae17acce20 disable inline edit disabled for autoincrement 2023-05-05 14:33:59 +03:00
Yuri Kuznetsov 5974098482 created at indexes for template entities 2023-05-05 14:06:37 +03:00
Yuri Kuznetsov 0ae0a7e1f9 fix label 2023-05-04 17:06:07 +03:00
Yuri Kuznetsov fb1e4acd60 remove default empty string 2023-05-04 16:51:20 +03:00
Yuri Kuznetsov e6407bf292 cleanup 2023-05-04 16:48:55 +03:00
Yuri Kuznetsov 2ee1728776 foreign url multiple 2023-05-04 11:29:28 +03:00
Yuri Kuznetsov 5cab488a81 url multiple export 2023-05-03 19:10:54 +03:00
Yuri Kuznetsov c623dfac75 docs 2023-05-03 12:23:05 +03:00
Yuri Kuznetsov 3e94e18b73 disable storing text filters param 2023-05-03 11:40:58 +03:00
Yuri Kuznetsov 1d00350fa1 function generate record id 2023-05-03 11:27:18 +03:00
Yuri Kuznetsov 9056ad493b cs 2023-05-02 18:21:28 +03:00
Yuri Kuznetsov b5a9007619 cs 2023-05-02 18:08:47 +03:00
Yuri Kuznetsov 9221cbc361 cs 2023-05-02 18:08:05 +03:00
Yuri Kuznetsov 9a6cfd4228 cs 2023-05-02 18:06:33 +03:00
Yuri Kuznetsov 81ac053818 record fetch 2023-05-02 16:19:12 +03:00
Yuri Kuznetsov 693bb804b6 cs 2023-05-02 14:56:38 +03:00
Yuri Kuznetsov 6ec70d7792 duplicates use list view 2023-05-02 14:34:56 +03:00
Yuri Kuznetsov 0c6ddb725b docs 2023-05-02 12:38:57 +03:00
Yuri Kuznetsov fe7689297c dont create select manager 2023-05-02 12:38:13 +03:00
Yuri Kuznetsov 95809454b8 freeEmailProviderDomains custom 2023-05-02 12:34:29 +03:00
Yuri Kuznetsov 9bc932d54f user is busy function 2023-05-02 12:12:51 +03:00
Yuri Kuznetsov d57d5d1d4a methods 2023-05-02 11:52:59 +03:00
Yuri Kuznetsov b929aa07ec cs 2023-05-02 10:58:58 +03:00
Yuri Kuznetsov 0c0e118ea2 duplicates use preapre entity for output 2023-05-02 09:57:58 +03:00
Yuri Kuznetsov d522eab8f5 entity manager params panels 2023-05-01 15:27:03 +03:00
Yuri Kuznetsov 21d5ea9fe6 upgrade fix 2023-05-01 15:26:36 +03:00
Yuri Kuznetsov 9bb1cb3efc fix metadata save custom 2023-05-01 15:25:22 +03:00
Yuri Kuznetsov c681c3ba54 event status treatment editable 2023-05-01 14:21:36 +03:00
Yuri Kuznetsov 7960eb87cc change 2023-05-01 11:50:55 +03:00
Yuri Kuznetsov f565f4cf04 revert 2023-05-01 11:34:15 +03:00
Yuri Kuznetsov 5775ddcf6a convert currency change 2023-05-01 11:24:42 +03:00
Yuri Kuznetsov a220bce2a4 rename 2023-05-01 10:20:01 +03:00
Yuri Kuznetsov 184573946f mainCurrencyFieldList 2023-05-01 10:12:39 +03:00
Yuri Kuznetsov e0a00f4d41 currency convesion ref 2023-04-30 20:12:03 +03:00
Yuri Kuznetsov 4fe1a035c6 currency disable action 2023-04-30 19:13:49 +03:00
Yuri Kuznetsov 5148f5e341 use customizationOptionsReferenceDisabled 2023-04-30 15:07:13 +03:00
Yuri Kuznetsov 19fa50b6a7 history status list param 2023-04-30 14:55:46 +03:00
Yuri Kuznetsov 19949f4217 template specific entity params 2023-04-30 12:23:20 +03:00
Yuri Kuznetsov bef906e421 status field locked 2023-04-30 12:07:22 +03:00
Yuri Kuznetsov 0c68ecef37 api error output status reason only specific exceptions 2023-04-30 10:39:05 +03:00
Yuri Kuznetsov 4c5cd11ffb Merge branch 'fix' 2023-04-30 10:07:34 +03:00
Yuri Kuznetsov b4a5d28f53 duplicate check only name 2023-04-30 10:07:19 +03:00
Yuri Kuznetsov 06ffc8c6f6 fix title 2023-04-29 22:54:51 +03:00
Yuri Kuznetsov eb32f23d38 ref 2023-04-29 20:32:28 +03:00
Yuri Kuznetsov 5d61b049b5 api-before-save-script 2023-04-29 19:18:02 +03:00
Yuri Kuznetsov 2b667ffa03 cs 2023-04-29 10:55:29 +03:00
Yuri Kuznetsov fdb24513b5 cs 2023-04-29 10:49:25 +03:00
Yuri Kuznetsov a822535537 cs 2023-04-28 16:26:07 +03:00
Yuri Kuznetsov 83b60e49c6 ref 2023-04-28 16:19:41 +03:00
Yuri Kuznetsov 86c8fe9a83 ref 2023-04-28 16:08:06 +03:00
Yuri Kuznetsov d460805c8b ref 2023-04-28 15:57:25 +03:00
Yuri Kuznetsov a9d73a8501 ref 2023-04-28 15:44:47 +03:00
Yuri Kuznetsov a3cf76be92 ref 2023-04-28 15:26:06 +03:00
Yuri Kuznetsov 23c9893362 ref 2023-04-28 15:21:19 +03:00
Yuri Kuznetsov 7efbe56763 clnup 2023-04-28 15:20:01 +03:00
Yuri Kuznetsov 9759ab523c ref 2023-04-28 14:28:51 +03:00
Yuri Kuznetsov 21f8ff0168 docs 2023-04-28 13:31:07 +03:00
Yuri Kuznetsov f865bd9282 docs fix 2023-04-28 13:29:41 +03:00
Yuri Kuznetsov 8e0770b15d entity manager params 2023-04-28 12:58:06 +03:00
Yuri Kuznetsov 0b696f8388 doc fix 2023-04-28 11:07:52 +03:00
Yuri Kuznetsov 6b6c166eca ref 2023-04-28 09:48:07 +03:00
Yuri Kuznetsov 598422a822 cs 2023-04-28 09:38:36 +03:00
Yuri Kuznetsov 15b3a89520 dashboard locked remove 2023-04-27 17:14:38 +03:00
Yuri Kuznetsov 7d06d0f6a4 cs docs 2023-04-27 16:40:15 +03:00
Yuri Kuznetsov b975799231 layoutDefs usage 2023-04-27 15:59:19 +03:00
Yuri Kuznetsov 96a8194775 update bullbone 2023-04-27 15:58:10 +03:00
Yuri Kuznetsov 600150c363 ref 2023-04-27 15:18:09 +03:00
Yuri Kuznetsov 8a1242c312 Bull extend usage 2023-04-27 14:40:19 +03:00
Yuri Kuznetsov b44b8721c5 layout edit impr 2023-04-27 13:56:16 +03:00
Yuri Kuznetsov 6149f1a476 no total text 2023-04-27 13:38:43 +03:00
Yuri Kuznetsov f4eb69c831 dashboard tab name max length 2023-04-27 12:54:28 +03:00
Yuri Kuznetsov 0e94a9708a dashboard locked prefrerences param 2023-04-27 12:45:18 +03:00
Yuri Kuznetsov 97cc94d3d9 clnup 2023-04-27 11:27:16 +03:00
Yuri Kuznetsov ec848524a6 create related link read only 2023-04-27 11:25:48 +03:00
Yuri Kuznetsov ec20edde5e cs 2023-04-27 11:12:06 +03:00
Yuri Kuznetsov d6093e7764 ref 2023-04-27 10:34:38 +03:00
Yuri Kuznetsov b71bc36061 clnp 2023-04-27 10:21:56 +03:00
Yuri Kuznetsov 359fc94d99 update phpstan 2023-04-27 10:21:30 +03:00
Yuri Kuznetsov 5e59cbea8a type fixes 2023-04-27 10:21:24 +03:00
Yuri Kuznetsov 843a7c1f1e Merge branch 'fix' 2023-04-27 09:58:03 +03:00
Yuri Kuznetsov aa5427d976 fix 2023-04-27 09:43:09 +03:00
Yuri Kuznetsov 04218e0291 fix 2023-04-27 09:43:02 +03:00
Yuri Kuznetsov 9a7c4da780 fix 2023-04-26 22:46:27 +03:00
Yuri Kuznetsov da777f2e40 cs 2023-04-26 22:41:39 +03:00
Yuri Kuznetsov 7fc92a6a03 ref 2023-04-26 22:38:25 +03:00
Yuri Kuznetsov f93958ffea ref 2023-04-26 22:11:18 +03:00
Yuri Kuznetsov 1f71856d59 test fix 2023-04-26 18:28:24 +03:00
Yuri Kuznetsov 097f5141d3 ref 2023-04-26 18:14:45 +03:00
Yuri Kuznetsov 9547c45109 email import ref, use locking 2023-04-26 18:12:48 +03:00
Yuri Kuznetsov 753158ae7a link multiple with id list 2023-04-26 17:56:55 +03:00
Yuri Kuznetsov f50752df6f improve text search autocomplete 2023-04-26 16:12:18 +03:00
Yuri Kuznetsov 1525401105 style fix 2023-04-26 14:49:44 +03:00
Yuri Kuznetsov d62d4265a8 url-multiple field 2023-04-26 14:25:56 +03:00
Yuri Kuznetsov 4aae685c6e ref 2023-04-26 13:20:37 +03:00
Yuri Kuznetsov 18cd794fe1 ref 2023-04-26 12:25:57 +03:00
Yuri Kuznetsov b20a4e768e Merge branch 'fix' 2023-04-26 11:59:42 +03:00
Yuri Kuznetsov c7c6cfe27f fix dompdf custom page size 2023-04-26 11:57:44 +03:00
Yuri Kuznetsov 87077c7644 ref 2023-04-26 11:34:48 +03:00
Yuri Kuznetsov fd02e83cea css fix 2023-04-26 11:29:37 +03:00
Yuri Kuznetsov 8da8285c56 css fix 2023-04-25 17:44:13 +03:00
Yuri Kuznetsov 5c7f67a711 cleanup 2023-04-25 17:42:50 +03:00
Yuri Kuznetsov 26634de090 stored text search 2023-04-25 16:44:10 +03:00
Yuri Kuznetsov 1f2c89517e typo 2023-04-25 13:29:39 +03:00
Yuri Kuznetsov 472a4a63d7 add filter quick search 2023-04-25 12:03:23 +03:00
Yuri Kuznetsov 634315f9e4 cs 2023-04-25 10:12:11 +03:00
Yuri Kuznetsov 064ccd31fc fix edit modal header 2023-04-24 15:45:40 +03:00
Yuri Kuznetsov 0c694447d6 event filters 2023-04-24 15:36:32 +03:00
Yuri Kuznetsov 3ae84a0e5b consts 2023-04-24 14:43:06 +03:00
Yuri Kuznetsov 234de9b812 ref 2023-04-24 14:37:23 +03:00
Yuri Kuznetsov 257e3621ea email filter body contains all 2023-04-24 13:56:55 +03:00
Yuri Kuznetsov 65e31f15a2 email filter cache 2023-04-24 13:08:13 +03:00
Yuri Kuznetsov 982201a1fa ref 2023-04-24 12:22:02 +03:00
Yuri Kuznetsov bb9c2f5e92 image radius 2023-04-24 11:46:28 +03:00
Yuri Kuznetsov 9dc04b2357 Merge branch 'fix' 2023-04-24 11:43:11 +03:00
Yuri Kuznetsov 98d457dae6 fix list view image height 2023-04-24 11:42:59 +03:00
Yuri Kuznetsov d0f7798d55 avatar radius 2023-04-24 11:39:56 +03:00
Yuri Kuznetsov 5ee7b4ffad style fix 2023-04-24 11:24:14 +03:00
Yuri Kuznetsov 7b15b13e8b email validations 2023-04-24 11:16:11 +03:00
Yuri Kuznetsov 2b10be3464 ref 2023-04-24 10:21:57 +03:00
Yuri Kuznetsov 4911d7caa1 cs 2023-04-24 10:08:31 +03:00
Yuri Kuznetsov a23886143a ref 2023-04-24 09:49:11 +03:00
Yuri Kuznetsov 16e0ee4576 cs 2023-04-23 09:45:33 +03:00
Yuri Kuznetsov 33dccd4ef7 cs 2023-04-22 21:27:57 +03:00
Yuri Kuznetsov 7d03ae498b ref 2023-04-22 21:20:58 +03:00
Yuri Kuznetsov fda1dedbe4 ref 2023-04-22 21:09:37 +03:00
Yuri Kuznetsov 07c2a2e49b cs 2023-04-22 21:08:18 +03:00
Yuri Kuznetsov 4964056343 ref 2023-04-22 20:49:54 +03:00
Yuri Kuznetsov 98e15c8f87 cs 2023-04-22 15:43:10 +03:00
Yuri Kuznetsov 6c602610d4 ref 2023-04-22 15:40:34 +03:00
Yuri Kuznetsov 08efd3f979 style fix 2023-04-21 17:56:16 +03:00
Yuri Kuznetsov 49a9cf9248 ref 2023-04-21 17:54:16 +03:00
Yuri Kuznetsov d56877c591 ref 2023-04-21 17:47:07 +03:00
Yuri Kuznetsov 6fe123b3f9 ref 2023-04-21 17:47:04 +03:00
Yuri Kuznetsov 427d2dcf52 ref 2023-04-21 17:24:54 +03:00
Yuri Kuznetsov 755f3de523 fix 2023-04-21 14:34:50 +03:00
Yuri Kuznetsov fc72d847da print email 2023-04-21 14:14:00 +03:00
Yuri Kuznetsov 6a963f39d4 username unique index 2023-04-21 13:08:56 +03:00
Yuri Kuznetsov 5161fbb1d4 save error handling fix 2023-04-21 12:37:17 +03:00
Yuri Kuznetsov fe32d8d47b job no table locking param 2023-04-21 11:13:09 +03:00
Yuri Kuznetsov fffa608816 note update empty 2023-04-21 10:50:39 +03:00
Yuri Kuznetsov fb79de7903 Merge branch 'fix' 2023-04-21 10:34:31 +03:00
Yuri Kuznetsov 007cf8c2aa action button race condition fix 2023-04-21 10:34:08 +03:00
Yuri Kuznetsov 67c86c9521 clnup 2023-04-20 19:50:01 +03:00
Yuri Kuznetsov 780d83f049 ref 2023-04-20 19:48:34 +03:00
Yuri Kuznetsov 1e420ed6f7 comment 2023-04-20 19:31:52 +03:00
Yuri Kuznetsov e5a382b2ec ref 2023-04-20 19:26:29 +03:00
Yuri Kuznetsov b326142952 cs 2023-04-20 19:24:25 +03:00
Yuri Kuznetsov 6870c47132 ref 2023-04-20 19:11:27 +03:00
Yuri Kuznetsov 5251fcd4ec ref 2023-04-20 18:32:24 +03:00
Yuri Kuznetsov f9c6147396 ref 2023-04-20 18:03:30 +03:00
Yuri Kuznetsov 937b2adf57 ref 2023-04-20 17:36:41 +03:00
Yuri Kuznetsov b4e4c875b9 ref 2023-04-20 17:18:53 +03:00
Yuri Kuznetsov 1d52afb45a ip address util 2023-04-20 16:42:26 +03:00
Yuri Kuznetsov 37165fc735 job ref 2023-04-20 16:11:43 +03:00
Yuri Kuznetsov bed891289f ref 2023-04-20 15:45:54 +03:00
Yuri Kuznetsov 3a007518e5 ref 2023-04-20 15:00:58 +03:00
Yuri Kuznetsov c2b856c3da cs 2023-04-20 14:40:02 +03:00
Yuri Kuznetsov 5f944554cf ip address forwarded 2023-04-20 13:56:10 +03:00
dependabot[bot] db34791130 Bump guzzlehttp/psr7 from 1.8.4 to 1.9.1 (#2704)
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 1.8.4 to 1.9.1.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/1.9.1/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/1.8.4...1.9.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-20 09:20:15 +03:00
Yuri Kuznetsov 8b73912c3d revert 2023-04-19 12:17:23 +03:00
Yuri Kuznetsov 1ac2f489ab person-name use coalesce 2023-04-19 12:08:33 +03:00
Yuri Kuznetsov 4309d79c56 ref 2023-04-19 09:28:20 +03:00
Yuri Kuznetsov a802f740c5 docs 2023-04-19 09:28:20 +03:00
dependabot[bot] 9eb4fd7cf9 Bump slim/psr7 from 1.4 to 1.6.1 (#2700)
Bumps [slim/psr7](https://github.com/slimphp/Slim-Psr7) from 1.4 to 1.6.1.
- [Release notes](https://github.com/slimphp/Slim-Psr7/releases)
- [Commits](https://github.com/slimphp/Slim-Psr7/compare/1.4...1.6.1)

---
updated-dependencies:
- dependency-name: slim/psr7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 09:27:44 +03:00
Yuri Kuznetsov 4dd5784838 enum title 2023-04-18 19:34:29 +03:00
Yuri Kuznetsov 87911fc3b6 ref cs 2023-04-18 19:23:01 +03:00
Yuri Kuznetsov d2a1737a9e array style fix 2023-04-18 18:39:59 +03:00
Yuri Kuznetsov 352eefdb29 complex-text-memo 2023-04-18 16:25:26 +03:00
Yuri Kuznetsov e3a2042990 memo dashlet 2023-04-18 16:11:26 +03:00
Yuri Kuznetsov a492a3bbb6 doc 2023-04-18 16:06:19 +03:00
Yuri Kuznetsov fac84830d3 Update config.yml 2023-04-18 14:25:47 +03:00
Yuri Kuznetsov 3d743d306b copy to clipboard varchar/url/number 2023-04-18 13:44:19 +03:00
Yuri Kuznetsov 6de9e82709 Merge branch 'fix' 2023-04-18 12:45:24 +03:00
Yuri Kuznetsov 773f929b01 fix language cleanup 2023-04-18 12:45:15 +03:00
Yuri Kuznetsov 3a6a185548 admin focus on search 2023-04-18 12:37:04 +03:00
Yuri Kuznetsov 32d1863411 doc 2023-04-18 12:28:24 +03:00
Yuri Kuznetsov 23dd15e979 Merge branch 'fix' 2023-04-18 12:20:28 +03:00
Yuri Kuznetsov f3da3e0fb3 fix 2023-04-18 12:01:50 +03:00
Yuri Kuznetsov 396d74df63 side bar wider 2023-04-18 11:52:35 +03:00
Yuri Kuznetsov 7293893fc7 email folders sticked wide screen fix 2023-04-18 11:25:58 +03:00
Yuri Kuznetsov 9b796e7832 list border radius on wide screen 2023-04-18 11:08:19 +03:00
Yuri Kuznetsov a8dab3a3b1 Merge branch 'fix' 2023-04-18 10:33:30 +03:00
Yuri Kuznetsov e432e14a95 ref 2023-04-17 16:56:01 +03:00
Yuri Kuznetsov ee865662b2 cs 2023-04-17 16:51:48 +03:00
Yuri Kuznetsov a24313c789 clnup 2023-04-17 16:46:09 +03:00
Yuri Kuznetsov 02fd5c430f ref 2023-04-17 16:45:50 +03:00
Yuri Kuznetsov 4e0e223766 Update config.yml 2023-04-17 13:38:12 +03:00
Yuri Kuznetsov 2df5017e94 Update feature_request.md 2023-04-17 13:37:50 +03:00
Yuri Kuznetsov 6deb9b4ab7 Update bug_report.md 2023-04-17 13:37:37 +03:00
Yuri Kuznetsov 0a57e538d5 fix layout 2023-04-17 12:20:20 +03:00
Yuri Kuznetsov e8dae0cfd1 account role title 2023-04-17 12:20:14 +03:00
Yuri Kuznetsov e9c55bbd43 css fix 2023-04-15 17:22:16 +03:00
Yuri Kuznetsov 7a98325eae fix email stickable 2023-04-15 10:54:58 +03:00
Yuri Kuznetsov b0a811c51d stream update css fix 2023-04-15 10:25:47 +03:00
Yuri Kuznetsov da013d8aae Merge branch 'fix' 2023-04-14 17:12:53 +03:00
Yuri Kuznetsov a1d920f003 email stickable fix 2023-04-14 11:53:16 +03:00
Yuri Kuznetsov 07443e54de createSearchView method 2023-04-14 11:00:57 +03:00
Yuri Kuznetsov 717a678c9a fix show detail 2023-04-13 23:44:32 +03:00
Yuri Kuznetsov ffaf999587 ref 2023-04-13 21:16:33 +03:00
Yuri Kuznetsov 37fba10ba7 ref 2023-04-13 21:05:34 +03:00
Yuri Kuznetsov 0a9de8cf56 ref 2023-04-13 20:48:06 +03:00
Yuri Kuznetsov a02be88c4a cleanup 2023-04-13 17:13:21 +03:00
Yuri Kuznetsov e8dc05ad99 ref 2023-04-13 16:53:33 +03:00
Yuri Kuznetsov 6338a73eaa discard tryReady usage 2023-04-13 14:56:30 +03:00
Yuri Kuznetsov 73533080f6 list bottom radius class 2023-04-13 11:34:04 +03:00
Yuri Kuznetsov 1c7a6d9825 mailto fix 2023-04-13 11:08:12 +03:00
Yuri Kuznetsov c553bc8d0a linkCheckDisabled 2023-04-12 17:17:27 +03:00
Yuri Kuznetsov 9ff967249b teams users active filter 2023-04-12 13:24:32 +03:00
Yuri Kuznetsov 3011cdf22c cs 2023-04-12 13:21:04 +03:00
Yuri Kuznetsov 4f2ade5f7f css fix 2023-04-12 11:15:45 +03:00
Yuri Kuznetsov b882aad4ab iframe line height 2023-04-12 11:07:32 +03:00
Yuri Kuznetsov 0d6f98319d Merge branch 'fix' 2023-04-11 18:31:45 +03:00
Yuri Kuznetsov 8541c12441 dynamic logic reminder 2023-04-11 18:31:35 +03:00
Yuri Kuznetsov 57d9dbc33e fix stream dashlet 2023-04-11 16:23:35 +03:00
Yuri Kuznetsov 81d92870e9 attachmentAvailableStorageList 2023-04-11 16:08:25 +03:00
Yuri Kuznetsov a86795ea48 forbid system field/link name 2023-04-11 15:54:19 +03:00
Yuri Kuznetsov cb6a320eb5 fix typo 2023-04-11 15:52:42 +03:00
Yuri Kuznetsov c9ab718666 cs 2023-04-11 15:51:53 +03:00
Yuri Kuznetsov 46cace5ed2 Merge branch 'fix' 2023-04-11 15:50:44 +03:00
Yuri Kuznetsov 2a967261b3 mass action disable 2023-04-11 14:36:52 +03:00
Yuri Kuznetsov 66ecf7794e options ref 2023-04-11 14:10:38 +03:00
Yuri Kuznetsov 7365007511 aclDependency refactoring 2023-04-11 11:55:42 +03:00
Yuri Kuznetsov 88870ccac8 Merge branch 'version/7.5' 2023-04-11 10:20:52 +03:00
Yuri Kuznetsov 12e40352fe fix jpeg 2023-04-11 10:06:26 +03:00
Yuri Kuznetsov 2b0bde8c0b cs 2023-04-10 15:45:32 +03:00
Yuri Kuznetsov 931e8b934c user view usage 2023-04-10 15:45:16 +03:00
Yuri Kuznetsov a07cb5ef38 range fields autonumeric 2023-04-10 15:17:06 +03:00
Yuri Kuznetsov 66a6f70a30 v 2023-04-07 22:18:02 +03:00
Yuri Kuznetsov d7a629c5a3 int/float fix 2023-04-07 22:17:25 +03:00
Yuri Kuznetsov 506e96e333 float preventing same decimal mark and th separator 2023-04-07 17:38:06 +03:00
Yuri Kuznetsov 76a9177c46 v 2023-04-07 16:42:17 +03:00
Yuri Kuznetsov a8baac3f92 missing counterpart link warning 2023-04-07 16:40:57 +03:00
Yuri Kuznetsov 8d9d073c16 fix currency decimal places null 2023-04-07 10:10:36 +03:00
Yuri Kuznetsov 177ecdb70b relation issue msg 2023-04-06 20:40:48 +03:00
Yuri Kuznetsov 89ce80d5b2 fix empty type 2023-04-06 19:19:44 +03:00
Yuri Kuznetsov 7f07175bee v 2023-04-06 19:08:54 +03:00
Yuri Kuznetsov 8bca35934c error msg 2023-04-06 19:05:28 +03:00
Yuri Kuznetsov 65bef1df65 fix link-parent not-storable 2023-04-06 18:57:38 +03:00
Yuri Kuznetsov 922a2e835c 2fa portals 2023-04-06 15:31:28 +03:00
Yuri Kuznetsov 048c83def8 upgrade check 2023-04-05 13:06:42 +03:00
Yuri Kuznetsov cf4a8c6c11 ref 2023-04-04 16:35:37 +03:00
Yuri Kuznetsov 7259142117 ref 2023-04-04 15:12:36 +03:00
Yuri Kuznetsov 746398c5ca cs 2023-04-04 15:10:19 +03:00
Yuri Kuznetsov 6a61772e43 cs 2023-04-04 15:09:21 +03:00
Yuri Kuznetsov 2412fb5151 cs 2023-04-04 15:08:44 +03:00
Yuri Kuznetsov 5e5a229366 cleanup 2023-04-04 10:21:48 +03:00
Yuri Kuznetsov 5d27a7a828 linkForeignAccessCheckDisabled 2023-04-04 10:15:48 +03:00
Yuri Kuznetsov 82cc4a7f03 link check allow defaults 2023-04-04 10:00:57 +03:00
Yuri Kuznetsov d2033c53fc link-check fix 2023-04-04 09:30:08 +03:00
Yuri Kuznetsov 86043a5ce5 link check portal bypass 2023-04-03 21:46:22 +03:00
SuchAFuriousDeath 1fae4ac84b integration-order (#2686)
Co-authored-by: tompro <tomas.prochazka@apertia.cz>
2023-04-03 15:46:15 +03:00
Yuri Kuznetsov 6301ba491c formula set link multiple column 2023-04-03 13:43:50 +03:00
Yuri Kuznetsov defe9965d4 getColumnById 2023-04-03 13:20:34 +03:00
Yuri Kuznetsov 937ad48841 fix 2023-04-03 13:20:11 +03:00
Yuri Kuznetsov 781030df60 ref 2023-04-03 12:40:50 +03:00
Yuri Kuznetsov 9b009962a5 print fix 2023-04-03 09:45:46 +03:00
Rabii Brahimi 255b6637ff Update Delete to allow to remove recordDefs and selectDefs (#2684)
When a custom entity of type event is deleted - its recordDefs and selectDefs files are not removed. 
Hope this doesn't break anything and just add ability to remove the two files.
2023-04-03 09:35:27 +03:00
Yuri Kuznetsov 28d1c052d2 formula parser fixes 2023-03-31 22:42:44 +03:00
Yuri Kuznetsov 828d8da741 fix link check 2023-03-31 10:38:32 +03:00
Eymen Elkum 54688795e2 rtl vertical theme (#2678)
Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-30 11:33:23 +03:00
Yuri Kuznetsov 6414a13c6f template assigned user required false 2023-03-30 10:20:59 +03:00
Yuri Kuznetsov c48f17449b v 2023-03-30 09:58:39 +03:00
Yuri Kuznetsov cbf65feb09 before-upgrade script 2023-03-30 09:46:53 +03:00
Yuri Kuznetsov f1a3021c1c fix email applier 2023-03-29 14:14:10 +03:00
Arkadiy Asuratov b70327874e ensure notes by portal users are always public (#2681) 2023-03-29 11:24:22 +03:00
Yuri Kuznetsov 9345ada934 attachment size bigint 2023-03-29 08:17:09 +03:00
Yuri Kuznetsov 92c66a3b9a group email folder mass remove disabled 2023-03-29 08:13:22 +03:00
Yuri Kuznetsov c78f84650c fix dbType 2023-03-29 08:05:59 +03:00
Eymen Elkum cf1692a8a4 border-radios fixes for rtl theme (#2676)
* border-radios fixes for rtl theme

* RTL: improve the fix of rounded borders

* RTL: use css variable for radios

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-29 08:04:07 +03:00
Yuri Kuznetsov 94321b3500 read-only side/bottom panels fix 2023-03-29 07:53:35 +03:00
Yuri Kuznetsov 2010d16d4d ref 2023-03-24 20:35:12 +02:00
Yuri Kuznetsov c1a1e1094a Update SECURITY.md 2023-03-24 20:16:52 +02:00
Yuri Kuznetsov c2fefd6227 cs 2023-03-24 19:47:49 +02:00
Yuri Kuznetsov 99946c8da5 working time calendar icon 2023-03-24 11:46:31 +02:00
Yuri Kuznetsov 86c2478721 style fix 2023-03-23 14:54:02 +02:00
Yuri Kuznetsov 5331332103 duplicate fix 2023-03-23 14:33:28 +02:00
Yuri Kuznetsov 0e380e1c10 mass update empty fix 2023-03-23 14:18:03 +02:00
Yuri Kuznetsov c54dbdc169 cleanup 2023-03-23 14:18:03 +02:00
Yuri Kuznetsov f88261a40a Update README.md 2023-03-21 19:39:24 +02:00
Yuri Kuznetsov 7ec8d1f69c revert 2023-03-21 19:11:32 +02:00
Yuri Kuznetsov 77ce0a3b4e Update README.md 2023-03-21 18:01:13 +02:00
Yuri Kuznetsov 134bde3370 Update README.md 2023-03-21 18:00:42 +02:00
Yuri Kuznetsov 811c841420 Update README.md 2023-03-21 17:41:27 +02:00
Yuri Kuznetsov 48751813fb fix warning 2023-03-21 16:07:23 +02:00
Yuri Kuznetsov 79c182d173 kanban records per page 2023-03-21 15:42:40 +02:00
Yuri Kuznetsov 87a612a1bc change user interface settings layout 2023-03-21 15:41:52 +02:00
Yuri Kuznetsov 388da3db70 name duplicate checker 2023-03-21 14:34:32 +02:00
Yuri Kuznetsov 60fdeafd77 cs 2023-03-21 13:12:19 +02:00
Yuri Kuznetsov 2057534f19 robots.txt 2023-03-21 08:16:16 +02:00
Yuri Kuznetsov b85f60b855 ref cs 2023-03-20 13:36:50 +02:00
Yuri Kuznetsov b4d02130fb typo 2023-03-20 13:32:51 +02:00
Yuri Kuznetsov 9a9d924b19 typo 2023-03-20 13:32:10 +02:00
Yuri Kuznetsov 1fb06f60e0 Merge branch 'fix' 2023-03-20 09:46:12 +02:00
Yuri Kuznetsov 9d65855868 fix array-is-not-empty 2023-03-20 09:43:25 +02:00
Yuri Kuznetsov 8cf2e270a5 fix record-modal helper 2023-03-20 09:34:55 +02:00
Yuri Kuznetsov 07ebd43ac6 max log message length 10000 2023-03-20 09:34:55 +02:00
Yuri Kuznetsov b1447a2922 Update README.md 2023-03-19 10:23:51 +02:00
Yuri Kuznetsov 66b85bf4e9 Update CONTRIBUTING.md 2023-03-19 10:22:19 +02:00
Yuri Kuznetsov e9b58926b4 Update CONTRIBUTING.md 2023-03-19 10:22:13 +02:00
Yuri Kuznetsov 75724b28b2 Update CONTRIBUTING.md 2023-03-19 10:21:06 +02:00
Yuri Kuznetsov 79f0730257 Update CONTRIBUTING.md 2023-03-19 10:14:21 +02:00
Yuri Kuznetsov 13abed67f2 Update README.md 2023-03-19 09:55:13 +02:00
Yuri Kuznetsov 84b98c1cfe Update README.md 2023-03-18 12:19:39 +02:00
Yuri Kuznetsov bc557706ca Update README.md 2023-03-18 12:18:53 +02:00
SuchAFuriousDeath 2ef0f5f80e fixed duplicate key (#2667)
Co-authored-by: tompro <tomas.prochazka@apertia.cz>
2023-03-18 12:01:23 +02:00
Yuri Kuznetsov 33db2270d6 Update README.md 2023-03-18 10:28:02 +02:00
Yuri Kuznetsov 6810ee37ac Update README.md 2023-03-18 09:10:40 +02:00
Yuri Kuznetsov 9e25804f89 update moment timezone 2023-03-17 13:44:29 +02:00
Yuri Kuznetsov 42d30a3f8e date picker in modal 2023-03-17 11:03:26 +02:00
Yuri Kuznetsov 524f94cd54 fix xlsx 2023-03-17 10:23:44 +02:00
Yuri Kuznetsov 739230c4b9 fix currency factory 2023-03-17 10:12:51 +02:00
Yuri Kuznetsov caeadc2f28 css fix 2023-03-16 12:58:08 +02:00
Yuri Kuznetsov fd330f991c ref 2023-03-16 11:02:32 +02:00
David e09bf8fa31 fix remove row (#2663)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-03-16 09:01:40 +02:00
Yuri Kuznetsov 2ea60e66ba not storable select foreign 2023-03-15 18:51:40 +02:00
Yuri Kuznetsov f184e34838 extensions sortable by name 2023-03-15 18:07:30 +02:00
Eymen Elkum d721e9b448 entityType instead of scope (#2661) 2023-03-15 12:45:41 +02:00
Yuri Kuznetsov e1241eddb7 css fix 2023-03-15 10:33:00 +02:00
Yuri Kuznetsov c693654e80 fix 2023-03-15 09:54:42 +02:00
Yuri Kuznetsov 9d0f3dadad fix multi-enum validation popover 2023-03-15 08:19:37 +02:00
Yuri Kuznetsov 2c4033f363 formula currency convert 2023-03-14 11:15:23 +02:00
Yuri Kuznetsov 3c62414c8d doc 2023-03-14 11:01:27 +02:00
Yuri Kuznetsov 9dddd0b92f dark theme table bold 700 2023-03-13 17:27:51 +02:00
Yuri Kuznetsov 2284a3e2e5 orm: map function 2023-03-13 13:43:51 +02:00
Yuri Kuznetsov 60d83b138a cs 2023-03-13 11:13:23 +02:00
Yuri Kuznetsov c94d41a79c types, rename 2023-03-13 11:08:53 +02:00
Yuri Kuznetsov fc78cd28a6 docs 2023-03-13 10:47:09 +02:00
Yuri Kuznetsov b0e01a1fcb select order no complex expressions 2023-03-13 10:43:58 +02:00
Yuri Kuznetsov 41222f8e9e docs 2023-03-13 10:19:57 +02:00
Yuri Kuznetsov 64baaa5253 wysiwyg iframe shortcuts support 2023-03-13 09:53:42 +02:00
Yuri Kuznetsov 35a0f14d28 id generator usage 2023-03-13 08:59:09 +02:00
Yuri Kuznetsov 9bb2197717 ref, id generator usage 2023-03-13 08:54:38 +02:00
Yuri Kuznetsov 1607240f5d readme change 2023-03-12 19:59:32 +02:00
Yuri Kuznetsov 8be1af0671 orm: all/any operators 2023-03-12 17:17:43 +02:00
Yuri Kuznetsov 58ac0800f9 ref 2023-03-12 16:38:22 +02:00
Yuri Kuznetsov 2acac3d0b0 type 2023-03-11 22:46:01 +02:00
Yuri Kuznetsov 5e44fc2d40 Merge branch 'fix' 2023-03-10 18:26:02 +02:00
Yuri Kuznetsov 2b08f83ac2 fix email plain text encoding issue 2023-03-10 18:25:44 +02:00
Yuri Kuznetsov cc1bfce3dd fix email plain text encoding issue 2023-03-10 18:24:08 +02:00
Yuri Kuznetsov 08647b3ed6 ref 2023-03-10 17:31:41 +02:00
Yuri Kuznetsov b97f4ee124 cleanup 2023-03-10 17:20:44 +02:00
Yuri Kuznetsov d4e73f500f ref 2023-03-10 17:20:32 +02:00
Yuri Kuznetsov 5e13e6cf99 ref 2023-03-10 14:32:40 +02:00
Yuri Kuznetsov 3fd06a89f1 fix 2023-03-10 14:12:25 +02:00
Yuri Kuznetsov 6678500d1b cleanup 2023-03-10 13:47:23 +02:00
Yuri Kuznetsov 1a6f236dc7 fix route cache file 2023-03-10 13:39:57 +02:00
Yuri Kuznetsov f57a95349a bind client manager 2023-03-10 13:10:10 +02:00
Yuri Kuznetsov b3496268e0 orm: where clause value as expression 2023-03-10 12:47:11 +02:00
Yuri Kuznetsov fa38ece181 ref 2023-03-10 12:33:19 +02:00
Yuri Kuznetsov 5866f02eca orm: row constructor 2023-03-10 12:22:11 +02:00
Yuri Kuznetsov 6edce56ca7 orm: comparison sub-query 2023-03-10 12:03:46 +02:00
Yuri Kuznetsov 3dc239acc5 ref 2023-03-10 11:30:59 +02:00
Yuri Kuznetsov 385c70845a test 2023-03-10 11:03:02 +02:00
Yuri Kuznetsov 4f65a46434 orm where clause subquery as instance 2023-03-10 10:41:04 +02:00
Yuri Kuznetsov a9c4689500 cs 2023-03-09 20:42:30 +02:00
Yuri Kuznetsov 75b544a995 cs ref 2023-03-09 19:53:56 +02:00
Yuri Kuznetsov 451d5e5659 cleanup 2023-03-09 19:12:58 +02:00
Yuri Kuznetsov 134f5862dd ref 2023-03-09 19:12:33 +02:00
Yuri Kuznetsov b59279ab16 cs 2023-03-09 15:50:17 +02:00
Yuri Kuznetsov 0621c8aefc email to task: subject in description 2023-03-09 15:37:18 +02:00
Yuri Kuznetsov 3229ba1043 foreign field helper 2023-03-09 13:35:16 +02:00
Yuri Kuznetsov 06868b8b57 Merge branch 'fix' 2023-03-09 12:05:40 +02:00
Yuri Kuznetsov fce1d49407 v 2023-03-09 11:59:30 +02:00
Yuri Kuznetsov 8c2cf02891 cs 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov ccdafc67b5 ref 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov b6a470c52e ref 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov 76c63bede4 field view skip re-render in edit mode 2023-03-09 11:59:29 +02:00
Yuri Kuznetsov 837e96c061 v 2023-03-09 11:17:48 +02:00
dependabot[bot] 2bebe4b045 Bump phpseclib/phpseclib from 3.0.16 to 3.0.19 (#2655)
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.16 to 3.0.19.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.16...3.0.19)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 10:04:41 +02:00
Yuri Kuznetsov 9ee1b41b52 import phone number starts with + fix 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov f18a3043eb open spout export sanitize 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov 01d5f1a07f global search check name exists 2023-03-09 09:12:12 +02:00
Yuri Kuznetsov 06b31d537f note no globals search 2023-03-09 09:12:12 +02:00
David 989a04dddf fix inline edit close (#2653)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-03-09 09:11:18 +02:00
Yuri Kuznetsov 055e968660 match exctract 2023-03-08 11:16:28 +02:00
Yuri Kuznetsov 585512773d formula record delete 2023-03-08 10:32:30 +02:00
Yuri Kuznetsov 71f4abeb97 formula test fix 2023-03-08 10:19:55 +02:00
Yuri Kuznetsov 4f973e057e only middle join test 2023-03-08 10:03:15 +02:00
Yuri Kuznetsov 416bf152f0 prevent thousand separator null 2023-03-08 09:30:28 +02:00
Yuri Kuznetsov 3f473617c0 cs 2023-03-08 09:30:28 +02:00
IgorA100 56766e2246 Localization of email templates (ru_RU ) (#2649)
* Create body.tpl

* Create subject.tpl

* Create subject.tpl

* Create body.tpl

* Update body.tpl

* Create subject.tpl

* Create body.tpl

* Create body.tpl

* Create subject.tpl

* Update body.tpl

* Update body.tpl

* Create body.tpl

* Create subject.tpl
2023-03-07 18:56:01 +02:00
Yuri Kuznetsov a92e44bd6c fix msg 2023-03-07 18:53:17 +02:00
Yuri Kuznetsov 369f3ba9a5 switch complex expr 2023-03-07 18:52:49 +02:00
Yuri Kuznetsov 2d62c902cb Merge branch 'fix' 2023-03-07 17:26:01 +02:00
Yuri Kuznetsov 5985b6d93f fix meeting/call set held 2023-03-07 17:09:36 +02:00
Yuri Kuznetsov 587bda5c73 cs 2023-03-07 17:09:36 +02:00
Yuri Kuznetsov 230a9aced0 ref 2023-03-07 17:09:36 +02:00
IgorA100 023b0ea892 Trying to localize Email templates (#2647)
* Create body.tpl

* Create subject.tpl

* Create subject.tpl

* Create body.tpl

* Update body.tpl
2023-03-07 17:09:16 +02:00
Yuri Kuznetsov 2578b397e7 fix meeting/call set held 2023-03-07 17:07:05 +02:00
Yuri Kuznetsov 0659b30588 cs 2023-03-07 17:00:18 +02:00
Yuri Kuznetsov 0afd5e1d73 inline-edit-close reset attributes before re-rendering 2023-03-07 14:12:30 +02:00
Yuri Kuznetsov f824d8eaf5 rebuild config metadata support default 2023-03-07 10:19:51 +02:00
Yuri Kuznetsov abab4e2061 fix entityTeam name 2023-03-07 09:58:52 +02:00
Eymen Elkum 36c6883743 Fix formatter enum translation (#2642)
* email template formatter consider enum translation

* htmlizer default value for enum translation & rename variable

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-03-07 09:58:36 +02:00
Yuri Kuznetsov 9c44f79b4d Merge branch 'fix' 2023-03-07 09:35:10 +02:00
Yuri Kuznetsov cd3c7b1407 fix default team 2023-03-07 09:32:02 +02:00
Yuri Kuznetsov 6afd616e42 change poeditor link 2023-03-06 15:22:14 +02:00
Yuri Kuznetsov 7aabbc5d28 fix query composer in array issue 2023-03-06 10:05:55 +02:00
Yuri Kuznetsov 9589b0b70a portal url not sortable 2023-03-06 09:59:48 +02:00
Yuri Kuznetsov 8822104227 contrinuting 2023-03-05 20:23:03 +02:00
Yuri Kuznetsov e34e6b5d9a test 2023-03-05 18:14:11 +02:00
Yuri Kuznetsov 6341492965 ref 2023-03-05 17:25:23 +02:00
Yuri Kuznetsov aeece9acda authlogdisabled 2023-03-05 17:09:16 +02:00
Yuri Kuznetsov f5823d04dd fix 2023-03-05 17:07:29 +02:00
Yuri Kuznetsov 28df6738e2 cs fix 2023-03-05 16:45:38 +02:00
Yuri Kuznetsov 0e371ebe04 discard applierClassNameMap 2023-03-05 16:37:39 +02:00
Yuri Kuznetsov 6fe4034237 readme fix 2023-03-05 14:15:21 +02:00
Yuri Kuznetsov 48c3ea5f13 ref 2023-03-04 19:43:13 +02:00
Anthony Andriano da5b1cf005 bug fix: tcpdf total page numbers for groups (#2632)
The total page number was not correct for groups. The page number for a non-group was used, which produced the wrong result.
2023-03-04 19:42:58 +02:00
Yuri Kuznetsov 2655f0d9c5 ref 2023-03-04 10:59:39 +02:00
Yuri Kuznetsov e11e3d6168 cleanup 2023-03-04 10:34:09 +02:00
Eymen Elkum 90806c0e82 pdf consider enum translation param (#2631) 2023-03-04 09:54:08 +02:00
Yuri Kuznetsov ca9f25636b ref 2023-03-03 17:33:51 +02:00
Yuri Kuznetsov abcc290a7c pg encoding 2023-03-03 15:09:00 +02:00
Yuri Kuznetsov 091b64dd3d ref 2023-03-03 14:41:11 +02:00
Yuri Kuznetsov 8fd8434d68 ref 2023-03-03 11:56:30 +02:00
Yuri Kuznetsov 9ef5c0bc1b fix test 2023-03-03 10:43:15 +02:00
Yuri Kuznetsov 8adfb80558 orm defs try get methods 2023-03-03 10:42:41 +02:00
Yuri Kuznetsov 5ccbf49773 fix link check attachments 2023-03-03 10:27:43 +02:00
Yuri Kuznetsov e2cde84447 ref 2023-03-03 10:19:32 +02:00
Yuri Kuznetsov 26e7f3dfd2 type ref 2023-03-03 10:07:04 +02:00
Yuri Kuznetsov 6a75b28f8c test fix 2023-03-03 09:56:46 +02:00
Yuri Kuznetsov e8b6db20a2 orm discard aggregation 2023-03-03 09:55:15 +02:00
Yuri Kuznetsov 9e37739197 Merge branch 'fix' 2023-03-02 15:19:03 +02:00
Yuri Kuznetsov f0b49cd467 fix auto reply 2023-03-02 15:16:44 +02:00
Yuri Kuznetsov aae918886f authApiUserLogDisabled 2023-03-02 14:38:39 +02:00
Yuri Kuznetsov cbf0a82c52 config param system 2023-03-02 14:24:31 +02:00
Yuri Kuznetsov fb7683e35b ref 2023-03-02 14:15:13 +02:00
Yuri Kuznetsov 105bb8a80f cs 2023-03-02 13:13:20 +02:00
Yuri Kuznetsov eab0596c33 orm executor ref 2023-03-02 13:11:28 +02:00
Yuri Kuznetsov 7e84278cef ref 2023-03-02 12:47:13 +02:00
Yuri Kuznetsov f2a27c024f ref 2023-03-02 12:32:53 +02:00
Yuri Kuznetsov 1b76097311 sql log 2023-03-02 10:21:16 +02:00
Yuri Kuznetsov ae23f58bf5 ref 2023-03-02 09:19:30 +02:00
Yuri Kuznetsov f3bf7d93c1 pg action user 2023-03-01 13:58:34 +02:00
Yuri Kuznetsov 656ff76a8d lock alias mysql 2023-03-01 13:04:50 +02:00
Yuri Kuznetsov c72bcc365a pg fix week 2023-03-01 10:58:49 +02:00
Yuri Kuznetsov f58687ad6b pg fix quarter fiscal 2023-03-01 10:24:46 +02:00
Yuri Kuznetsov aefe547ef8 has many bc 2023-03-01 09:55:28 +02:00
Yuri Kuznetsov 3619696b12 fix 2023-02-28 19:06:15 +02:00
Yuri Kuznetsov 40d0ad5d08 remove scheduled job service 2023-02-28 19:01:12 +02:00
Yuri Kuznetsov c9d3a3f967 install ref 2023-02-28 18:00:47 +02:00
Yuri Kuznetsov 0b1f7d1548 tester changes 2023-02-28 16:34:16 +02:00
Yuri Kuznetsov 59cee9a2ee pg integration tests action 2023-02-28 15:57:23 +02:00
Yuri Kuznetsov e7373ab817 mass action encode serialized data 2023-02-28 14:03:18 +02:00
Yuri Kuznetsov 9570a28066 exclude test 2023-02-28 13:37:19 +02:00
Yuri Kuznetsov b3f7242bae integratino test platform env 2023-02-28 12:44:18 +02:00
Yuri Kuznetsov 823d371e9d integration-pg test suite 2023-02-28 12:28:17 +02:00
Yuri Kuznetsov 2399d21829 PostgreSQL (#2599)
* dev

* postgres update set

* position in list

* discard charset

* binary => blob

* rollback transaction

* insert on conflict

* fix POSITION_IN_LIST

* TIMESTAMPDIFF

* functions

* functions

* set UTC time zone

* functions and operators

* function

* fulltext

* fix details provider

* full text config usage

* fix param

* full text index rebuild

* full text and round fix

* add uuid db type

* if function

* tests

* delete with joins order limit

* update

* alias max length
2023-02-28 12:12:21 +02:00
Yuri Kuznetsov 01d5091aa3 integration test fix 2023-02-28 12:00:07 +02:00
Yuri Kuznetsov ed867d1b95 array validation max item length rename 2023-02-28 10:37:06 +02:00
Yuri Kuznetsov 3392c843e6 fix case hook 2023-02-28 09:01:05 +02:00
Yuri Kuznetsov 1e29280a1d fix 2023-02-27 18:02:26 +02:00
Yuri Kuznetsov aeecd1f3a6 ref 2023-02-27 16:20:57 +02:00
Yuri Kuznetsov 5ecce30720 fix test 2023-02-27 16:11:32 +02:00
Yuri Kuznetsov c02f87d1c0 integration test quote identifier and ref 2023-02-27 16:07:48 +02:00
Yuri Kuznetsov 929dce6b2e integration tests do not use full-reset 2023-02-27 15:00:20 +02:00
Yuri Kuznetsov c82d35af27 integration test ref 2023-02-27 14:13:01 +02:00
Yuri Kuznetsov a0a0b22d2f bind file manager 2023-02-27 10:46:41 +02:00
Yuri Kuznetsov db3af5749c bind config 2023-02-27 10:20:41 +02:00
Yuri Kuznetsov f1e13f4b95 change inspections 2023-02-27 09:48:41 +02:00
Yuri Kuznetsov 9f43a0ff89 docs 2023-02-26 20:46:56 +02:00
Yuri Kuznetsov 17bc8a6137 ref 2023-02-24 16:22:23 +02:00
Yuri Kuznetsov 66b06b8baa ref 2023-02-24 15:59:45 +02:00
Yuri Kuznetsov 1d6745396d ref 2023-02-24 15:30:26 +02:00
Yuri Kuznetsov 4f53038578 ref 2023-02-24 15:25:59 +02:00
Yuri Kuznetsov 79f5a7a94b expression renamings 2023-02-24 15:17:11 +02:00
Yuri Kuznetsov 77a433445b fix label 2023-02-24 14:03:36 +02:00
Yuri Kuznetsov be54198265 phone email invalid on list view 2023-02-24 13:49:31 +02:00
Yuri Kuznetsov 7da892ba98 fix 2023-02-24 13:33:49 +02:00
Yuri Kuznetsov 7b2526430a email address phone number tools 2023-02-24 13:30:25 +02:00
Yuri Kuznetsov e416dac56f fix validation 2023-02-24 12:14:41 +02:00
Yuri Kuznetsov d11f0f4f1b delete relationships on import revert 2023-02-24 11:40:23 +02:00
Yuri Kuznetsov f72fbed6e1 relation defs getConditions 2023-02-24 11:18:15 +02:00
Yuri Kuznetsov 56fe4e2ef7 cs 2023-02-24 11:00:03 +02:00
Yuri Kuznetsov 684a995e17 fix doc type 2023-02-24 10:54:38 +02:00
Yuri Kuznetsov 2f03572df8 orm alias max length prop 2023-02-24 09:25:10 +02:00
Yuri Kuznetsov 5bb0222abd Merge branch 'fix' 2023-02-24 09:15:00 +02:00
Yuri Kuznetsov 82cf211822 fix calendar busy color 2023-02-24 09:14:01 +02:00
Yuri Kuznetsov 29fd164023 ref cs 2023-02-23 16:17:02 +02:00
Yuri Kuznetsov c52fedcf07 ref 2023-02-23 16:11:11 +02:00
Yuri Kuznetsov 68b12ff848 ref 2023-02-23 14:32:21 +02:00
Yuri Kuznetsov a351af06a1 ref 2023-02-23 14:05:28 +02:00
Yuri Kuznetsov 72c502b492 cs 2023-02-23 13:45:47 +02:00
Yuri Kuznetsov 1047d243a2 ref 2023-02-23 13:44:23 +02:00
Yuri Kuznetsov 5ab129bd9b ref 2023-02-23 13:06:09 +02:00
Yuri Kuznetsov 6e5e940b30 cs 2023-02-23 12:54:51 +02:00
Yuri Kuznetsov fa577a4fa9 ref 2023-02-23 12:40:41 +02:00
Yuri Kuznetsov 64f2c59134 list with categories fallback css fix 2023-02-23 10:18:08 +02:00
Yuri Kuznetsov a82408a06f fix message 2023-02-23 09:38:56 +02:00
Yuri Kuznetsov b80d8830ba create admin user command 2023-02-22 18:01:49 +02:00
Yuri Kuznetsov edcdf3c8be fixes 2023-02-22 18:01:41 +02:00
Yuri Kuznetsov ae27f360ca command io readSecretLine 2023-02-22 17:40:41 +02:00
Yuri Kuznetsov 474759ab6e cs 2023-02-22 17:28:45 +02:00
Yuri Kuznetsov 02ea7cc041 logger ignore empty context 2023-02-22 17:09:02 +02:00
Yuri Kuznetsov 0a67950913 ref 2023-02-22 17:02:07 +02:00
Yuri Kuznetsov 4ef66b1601 fix link conflict 2023-02-22 14:34:50 +02:00
Yuri Kuznetsov 33220d607a phpdocs 2023-02-22 13:25:30 +02:00
Yuri Kuznetsov ac9f80312d container get by class 2023-02-22 12:37:30 +02:00
Yuri Kuznetsov 0db2ee0a8d ref cs 2023-02-22 12:13:47 +02:00
Yuri Kuznetsov 7d4ab54505 greatest/least expression 2023-02-22 11:51:10 +02:00
Yuri Kuznetsov a06bfde766 fix link quick search 2023-02-22 10:57:53 +02:00
Yuri Kuznetsov 46f333fced entityDefs modifier 2023-02-22 10:51:20 +02:00
Yuri Kuznetsov f9294c652d settings skip rebuild 2023-02-21 19:05:38 +02:00
Yuri Kuznetsov a22dc4b2fb languageAclDisabled moved to scopes 2023-02-21 19:01:05 +02:00
Yuri Kuznetsov b293086482 cleanup 2023-02-21 18:57:43 +02:00
Yuri Kuznetsov 93139cb3ef preferences id fix 2023-02-21 18:56:22 +02:00
Yuri Kuznetsov 1db70eeaa8 entity acl changes 2023-02-21 18:56:07 +02:00
Yuri Kuznetsov 8ccda3fd2d currency db type string 2023-02-21 17:18:24 +02:00
Yuri Kuznetsov 60eb9008f7 mail merge endpoint 2023-02-21 14:14:14 +02:00
Yuri Kuznetsov 635fa8b893 activities endpoints 2023-02-21 14:00:09 +02:00
Yuri Kuznetsov 183603e09a forbid layout link name 2023-02-21 13:14:55 +02:00
Yuri Kuznetsov 3399b2cc01 email template api endpoint 2023-02-21 13:12:45 +02:00
Yuri Kuznetsov 9d4d441ec2 import api entrypoints 2023-02-21 12:56:36 +02:00
Yuri Kuznetsov 51bda2f5d2 cleanup 2023-02-21 11:32:45 +02:00
Yuri Kuznetsov 92e62c7760 orm greatest least functions 2023-02-21 11:07:58 +02:00
Yuri Kuznetsov 7bb204a432 authAnotherUserDisabled admin readOnly 2023-02-21 08:38:03 +02:00
Yuri Kuznetsov 39939191e5 fix portal starter 2023-02-20 18:17:12 +02:00
Yuri Kuznetsov aa43f29615 add line 2023-02-20 18:12:09 +02:00
Yuri Kuznetsov f109131d38 route cache check use cache 2023-02-20 18:11:15 +02:00
Yuri Kuznetsov a6fb0bbded slim route cache 2023-02-20 17:45:07 +02:00
Yuri Kuznetsov 9b808908b6 user api entry points routes 2023-02-20 17:19:10 +02:00
Eymen Elkum 0691a3cdda trTag helper put attributes part (#2615) 2023-02-20 14:31:50 +02:00
Yuri Kuznetsov 7208a4f88c cs fix 2023-02-20 14:27:31 +02:00
Yuri Kuznetsov 7d37006450 email address api action, global search endpoint fix 2023-02-20 14:22:53 +02:00
Yuri Kuznetsov 73f1e425ca fix tests 2023-02-20 13:44:36 +02:00
Yuri Kuznetsov 2336ae74da entity manager tool conflict with routes check 2023-02-20 12:56:10 +02:00
Yuri Kuznetsov 4419d0827a global search api endpoint change 2023-02-20 12:33:31 +02:00
Yuri Kuznetsov 0d1bc90848 api endpoints 2023-02-20 12:01:46 +02:00
Yuri Kuznetsov 7665010bff ref 2023-02-20 09:30:31 +02:00
Yuri Kuznetsov 5ba16b4c27 record id type 2023-02-19 16:47:09 +02:00
Yuri Kuznetsov cbf6b0cc6b ref 2023-02-19 13:30:28 +02:00
Yuri Kuznetsov c51a51e110 api apply response headers added by auth 2023-02-19 13:30:21 +02:00
Yuri Kuznetsov b59ff42ac2 ref 2023-02-19 12:58:37 +02:00
Yuri Kuznetsov b635018949 ref 2023-02-19 12:26:21 +02:00
Yuri Kuznetsov fcb2a0b7a5 ref 2023-02-19 11:49:22 +02:00
Yuri Kuznetsov 2048f3fa10 ref 2023-02-19 08:46:15 +02:00
Yuri Kuznetsov 0fe7fb032f phpdoc fix 2023-02-19 08:44:06 +02:00
Yuri Kuznetsov bb24b576e0 cs 2023-02-19 08:42:53 +02:00
Yuri Kuznetsov 2a7a12f58c cs 2023-02-18 22:49:43 +02:00
Yuri Kuznetsov 5ccb081af5 cs and fix class hint 2023-02-18 22:29:34 +02:00
Yuri Kuznetsov bf1ed3c287 barcode tab fix 2023-02-18 17:45:15 +02:00
Yuri Kuznetsov ddcb5ccbf9 ref 2023-02-18 14:54:24 +02:00
Yuri Kuznetsov 5b8dc4e629 fix doc 2023-02-18 12:06:47 +02:00
Yuri Kuznetsov 1032b73b85 api response preparing 2023-02-18 11:42:04 +02:00
Yuri Kuznetsov e7b914ff4b ref 2023-02-18 11:37:41 +02:00
Yuri Kuznetsov 30e94f25e6 action middlewares 2023-02-18 09:22:30 +02:00
Yuri Kuznetsov 7fa7fe63f8 api action return response 2023-02-17 21:42:32 +02:00
Yuri Kuznetsov 716a5b86ff rensponse methods 2023-02-17 21:21:27 +02:00
Yuri Kuznetsov a29ce1a873 cleanup 2023-02-17 21:06:16 +02:00
Yuri Kuznetsov ace2dc802a api action 2023-02-17 20:34:29 +02:00
Yuri Kuznetsov 1018bfd4d4 cs 2023-02-17 18:16:57 +02:00
Yuri Kuznetsov cc828661da cs 2023-02-17 17:44:29 +02:00
Yuri Kuznetsov 4c265dbae1 cs 2023-02-17 17:32:17 +02:00
Yuri Kuznetsov 2615869691 cs 2023-02-17 17:13:42 +02:00
Yuri Kuznetsov fbbb7c99c0 cs 2023-02-17 16:38:13 +02:00
Yuri Kuznetsov da7fc9d6a0 cs 2023-02-17 16:28:31 +02:00
Yuri Kuznetsov 9b63470e9a email from autocomplete fix 2023-02-17 16:12:00 +02:00
Yuri Kuznetsov 5879a57cd1 cleanup 2023-02-17 15:47:41 +02:00
Yuri Kuznetsov 702b3f4e2b cs ref 2023-02-17 15:46:44 +02:00
Yuri Kuznetsov 75749efacb formula func interface 2023-02-17 14:01:06 +02:00
Yuri Kuznetsov 854f6c6390 fix 2023-02-17 13:00:22 +02:00
Yuri Kuznetsov 717c21e91b cs 2023-02-17 11:50:53 +02:00
Yuri Kuznetsov 07f1100ccc fix install alert css 2023-02-17 11:40:20 +02:00
Yuri Kuznetsov 3157bb4fcf set read only config params 2023-02-17 10:43:18 +02:00
Yuri Kuznetsov a3a35be818 cleanup 2023-02-17 10:41:32 +02:00
Yuri Kuznetsov 1c1042cd75 stream note unrelate fix 2023-02-17 10:31:41 +02:00
Yuri Kuznetsov 8f8eb4807d cs fix 2023-02-17 10:18:30 +02:00
Yuri Kuznetsov f97bb82d9e unrelate stream note 2023-02-17 10:05:31 +02:00
Yuri Kuznetsov 62b325c24b cs 2023-02-17 09:38:29 +02:00
Yuri Kuznetsov 4051b83b30 docs 2023-02-17 09:08:34 +02:00
Yuri Kuznetsov 75444b3e0b uuid db type 2023-02-17 08:55:32 +02:00
Yuri Kuznetsov 961a7bd0bf ref 2023-02-16 17:17:02 +02:00
Eymen Elkum f4b09c0135 fix foreign enum & array with optionPath & translations (#2610)
* fix foreign enum & array with optionPath & translations

* foreign enum & array clone options

---------

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-02-16 16:49:19 +02:00
Yuri Kuznetsov d09f83e267 system user id in config 2023-02-16 14:23:01 +02:00
Yuri Kuznetsov b874cc283f read only config param 2023-02-16 14:19:15 +02:00
Yuri Kuznetsov b5873c9c1d orm md5 function 2023-02-16 12:51:55 +02:00
Yuri Kuznetsov 89bde00e3b cs 2023-02-16 12:11:57 +02:00
Yuri Kuznetsov 242de1824f exception fix 2023-02-16 12:10:20 +02:00
Yuri Kuznetsov 02d277d045 drop mariadb 10.1 2023-02-16 10:30:07 +02:00
Yuri Kuznetsov 76d31a3885 update languages 2023-02-16 10:08:09 +02:00
Yuri Kuznetsov c6a8e36849 fix ctrl+s on draft emails not working 2023-02-16 09:59:27 +02:00
Yuri Kuznetsov d88e47b508 email template info panel label fix and refactor 2023-02-16 09:40:33 +02:00
Yuri Kuznetsov 46bd520b52 cs 2023-02-15 17:09:36 +02:00
Yuri Kuznetsov d9c0f7d055 uuid generator 2023-02-15 17:03:14 +02:00
Yuri Kuznetsov 4a9bd1b54c fix getSet 2023-02-15 16:05:30 +02:00
Yuri Kuznetsov 1626e4b6bf update getSet 2023-02-15 15:27:17 +02:00
Yuri Kuznetsov c1cfa0483a orm update in not null 2023-02-15 15:15:13 +02:00
Yuri Kuznetsov c7d5bc8169 fix orm get join 2023-02-15 14:40:15 +02:00
David 37e091ddda link fix (#2604)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-02-15 09:15:12 +02:00
Yuri Kuznetsov a7c33afd93 cs 2023-02-14 20:37:54 +02:00
Yuri Kuznetsov f7678abad1 fix 2023-02-14 18:34:54 +02:00
Yuri Kuznetsov b181624064 ref 2023-02-14 18:34:21 +02:00
Yuri Kuznetsov 8a6c63e12c modified by id fix 2023-02-14 13:28:00 +02:00
Yuri Kuznetsov aba1881a5c fix docs and cleanup 2023-02-14 13:00:52 +02:00
Yuri Kuznetsov 3350ffc0b7 system user id ref 2023-02-14 12:48:42 +02:00
Yuri Kuznetsov c498d463e7 merge fix 2023-02-14 10:58:50 +02:00
Yuri Kuznetsov 93c1f4ef8a fix foreign multi-enum export 2023-02-14 10:42:05 +02:00
Yuri Kuznetsov 54bf67e8bd cleanup 2023-02-13 18:16:35 +02:00
Yuri Kuznetsov 59e852a285 install ref 2023-02-13 18:11:13 +02:00
Yuri Kuznetsov dcbe24746e deprecate SYSTEM_USER_ID const 2023-02-13 17:10:34 +02:00
Yuri Kuznetsov deb3ee0653 system user id ref 2023-02-13 17:00:06 +02:00
Yuri Kuznetsov 698db9ebd6 ref 2023-02-13 14:52:00 +02:00
Rabii Brahimi 214cf538ad Update select-records.js (#2603)
Add ability to show pagination one select records modal (if pagination enabled).
2023-02-13 14:16:46 +02:00
Yuri Kuznetsov f578fd4af9 external account, integration id db type string 2023-02-13 13:46:49 +02:00
Yuri Kuznetsov 57c011ee94 fix test 2023-02-13 13:43:07 +02:00
Yuri Kuznetsov e4285d1d2a ref 2023-02-13 13:28:06 +02:00
Yuri Kuznetsov 5f4643d725 docs 2023-02-13 12:03:02 +02:00
Yuri Kuznetsov fcc13ef10c skip text search for email address if whitespaces 2023-02-13 10:14:43 +02:00
Yuri Kuznetsov 826c1734a2 fix test 2023-02-13 10:01:07 +02:00
Yuri Kuznetsov 849ddadb8c cs fix 2023-02-13 09:59:21 +02:00
Yuri Kuznetsov 3e4bd12a76 fulltext boolean expression 2023-02-13 09:48:47 +02:00
Yuri Kuznetsov e6aae5f4ed schema manager creation change 2023-02-12 19:00:19 +02:00
Yuri Kuznetsov d8bd2f451f orm refactor match expr 2023-02-12 15:13:43 +02:00
Yuri Kuznetsov 9c47341fc1 test fix 2023-02-12 11:40:52 +02:00
Yuri Kuznetsov bbea0c0215 filters improvements 2023-02-12 11:34:55 +02:00
Yuri Kuznetsov 4e4e29e0f1 fix 2023-02-11 23:23:18 +02:00
Yuri Kuznetsov 4658eb800e join only middle, filters change 2023-02-11 23:18:06 +02:00
Yuri Kuznetsov 16a313f659 orm exists operator 2023-02-11 20:04:54 +02:00
Yuri Kuznetsov c2fcd8d86c ref 2023-02-11 16:11:04 +02:00
Yuri Kuznetsov 8666a3977a orm operator key fix 2023-02-11 12:05:01 +02:00
Yuri Kuznetsov fa06a437e5 fix test 2023-02-10 14:40:51 +02:00
Yuri Kuznetsov 0dcea2ad5b fix additionalSelect alias not string 2023-02-10 14:39:51 +02:00
Yuri Kuznetsov 5a3142b252 fix foreign select join value bool 2023-02-10 14:32:57 +02:00
Yuri Kuznetsov 4598b58fbb schema diff modifier handle dropped sequences 2023-02-10 13:23:53 +02:00
Yuri Kuznetsov 7ff9d85a11 id length 17 2023-02-09 18:38:00 +02:00
Yuri Kuznetsov 89b912ee73 fix some foreign id fields and max-length 2023-02-09 16:24:02 +02:00
Yuri Kuznetsov a4f75f1423 person name name not storable 2023-02-09 13:13:52 +02:00
Yuri Kuznetsov 03a69cb364 ORM use COALESCE 2023-02-09 13:01:01 +02:00
Yuri Kuznetsov e7fa98dc09 lock table ref 2023-02-09 12:55:47 +02:00
Yuri Kuznetsov 5eb49d6c3d fix test 2023-02-09 12:51:28 +02:00
Yuri Kuznetsov 1d84aad483 fix bool 0 where clause 2023-02-09 12:47:25 +02:00
Yuri Kuznetsov af847a8fe7 fix test 2023-02-08 13:40:36 +02:00
Yuri Kuznetsov 89d775a8a8 fix list image preview size 2023-02-08 10:57:05 +02:00
Yuri Kuznetsov f09fe03f60 prevent checking record not in collection 2023-02-07 21:51:21 +02:00
dependabot[bot] 08a6a2c66b Bump dompdf/dompdf from 2.0.2 to 2.0.3 (#2597)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 20:20:42 +02:00
Yuri Kuznetsov 0a4a3938fb foreign id usage 2023-02-07 18:39:07 +02:00
Yuri Kuznetsov 0bc05b4a6d subscription bigint 2023-02-07 17:37:42 +02:00
Yuri Kuznetsov b7ad2dd760 docs and ref 2023-02-07 16:17:04 +02:00
Yuri Kuznetsov 363842aff2 integration entity id max length 2023-02-07 15:29:53 +02:00
Yuri Kuznetsov ac889dea91 currency column length 3 2023-02-07 12:19:04 +02:00
Yuri Kuznetsov 89e31795cc mass update link test 2023-02-07 11:41:04 +02:00
Yuri Kuznetsov 9953ea8419 link check integration test 2023-02-07 11:20:54 +02:00
Yuri Kuznetsov 1ae1f07de2 merge fix 2023-02-07 10:23:21 +02:00
Yuri Kuznetsov b8386f3ea3 fix diff 2023-02-07 10:06:05 +02:00
Yuri Kuznetsov 846b57842f 7.3.3 2023-02-07 09:16:25 +02:00
Yuri Kuznetsov 6fcd0e155d record link check 2023-02-06 22:58:02 +02:00
Yuri Kuznetsov 3e945b7fd8 ref 2023-02-06 21:32:43 +02:00
Yuri Kuznetsov 3fa7ddf9f8 fix upgrade 2023-02-06 17:39:36 +02:00
Yuri Kuznetsov 5b8ccb4513 fisable group tabs for portal 2023-02-06 17:10:41 +02:00
Yuri Kuznetsov 99464c5210 comment 2023-02-06 16:54:41 +02:00
Yuri Kuznetsov 64c9fbf4f8 fix tests 2023-02-06 16:15:00 +02:00
Yuri Kuznetsov 029d09e689 access link check 2023-02-06 15:24:25 +02:00
Yuri Kuznetsov be27fc45ee link multiple access check 2023-02-06 10:44:04 +02:00
Yuri Kuznetsov 0eefc5d75d ref 2023-02-06 09:50:25 +02:00
Yuri Kuznetsov 876817ffe9 acl link checker 2023-02-06 09:43:59 +02:00
Yuri Kuznetsov f6b3e33e7e ref 2023-02-05 19:46:01 +02:00
Yuri Kuznetsov 24301b22a9 note select optimization 2023-02-05 18:23:59 +02:00
Yuri Kuznetsov 31be2f81ff fix tests 2023-02-05 17:45:25 +02:00
Yuri Kuznetsov bc435b0729 select optimizations 2023-02-05 17:38:08 +02:00
Yuri Kuznetsov 4cd0961f80 assigned users avatar 2023-02-04 17:29:00 +02:00
Yuri Kuznetsov 70edfbb88b ref 2023-02-04 16:38:01 +02:00
Yuri Kuznetsov 9066a2bf97 rel table id params 2023-02-04 16:19:10 +02:00
Yuri Kuznetsov b39bffa1f2 record id dbType 2023-02-04 15:51:30 +02:00
Yuri Kuznetsov c49db089f5 docs 2023-02-04 14:57:19 +02:00
Yuri Kuznetsov 2a110851df column fixed param 2023-02-04 14:56:26 +02:00
Yuri Kuznetsov 3e60103516 fix tests 2023-02-04 14:37:27 +02:00
Yuri Kuznetsov 481b870565 rename 2023-02-04 11:44:01 +02:00
Yuri Kuznetsov 9564d0807a rename 2023-02-04 11:37:00 +02:00
Yuri Kuznetsov 785746c801 ref 2023-02-04 11:34:30 +02:00
Yuri Kuznetsov a89ac23625 rebuild database hard 2023-02-04 10:38:45 +02:00
Yuri Kuznetsov adc2cb5a66 field manager reset rebuild 2023-02-04 10:08:19 +02:00
Yuri Kuznetsov 4b5787c0d0 metadata record id length 2023-02-04 09:36:11 +02:00
Yuri Kuznetsov dcbd2bfa42 fix metadata 2023-02-03 18:31:35 +02:00
Yuri Kuznetsov 147fcb02b6 rename metadata app database 2023-02-03 18:25:07 +02:00
Yuri Kuznetsov 1762096532 orm converter refactoring 2023-02-03 16:00:55 +02:00
Yuri Kuznetsov d21857075e fix typo 2023-02-02 16:16:36 +02:00
Yuri Kuznetsov a81759b0f1 dbal ref 2023-02-02 16:12:14 +02:00
Yuri Kuznetsov 99fb897b63 cleanup 2023-02-02 16:12:13 +02:00
dependabot[bot] f6e7da57f7 Bump dompdf/dompdf from 2.0.1 to 2.0.2 (#2587)
Bumps [dompdf/dompdf](https://github.com/dompdf/dompdf) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/dompdf/dompdf/releases)
- [Commits](https://github.com/dompdf/dompdf/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: dompdf/dompdf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 08:39:35 +02:00
David aa001b4a7f mime type already contains "image/" (#2585)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-01-30 21:37:04 +02:00
Yuri Kuznetsov fe3ab8b8a0 fix invalid null 2023-01-30 21:07:43 +02:00
Yuri Kuznetsov 37c3cfc539 cs 2023-01-30 20:39:35 +02:00
Yuri Kuznetsov 5cace584f1 Merge branch 'update-async' into fix 2023-01-30 14:16:15 +02:00
Yuri Kuznetsov da45d958b7 orm field converter 2023-01-30 14:06:45 +02:00
Yuri Kuznetsov b6e7f5113f prevent shortcut pagination if focused of form element 2023-01-29 10:17:38 +02:00
Yuri Kuznetsov aaf095e32b bool fix 0/1 usagge 2023-01-29 10:04:35 +02:00
Yuri Kuznetsov 282f701b77 fix schema manager proxy 2023-01-28 21:13:37 +02:00
Yuri Kuznetsov ea8ba18d2e ref 2023-01-28 20:47:11 +02:00
Yuri Kuznetsov d08e969915 dbal types refactor 2023-01-28 20:25:27 +02:00
Yuri Kuznetsov 5567cc6938 ref 2023-01-28 14:00:03 +02:00
Yuri Kuznetsov 720188822d currency service refactor 2023-01-28 13:46:56 +02:00
Yuri Kuznetsov 48e0e53ab1 ref 2023-01-28 12:49:19 +02:00
Yuri Kuznetsov 03c123d63e grand refactoring of schema and other database related things 2023-01-28 12:45:44 +02:00
Yuri Kuznetsov 7d4ded2480 Merge branch 'fix' 2023-01-28 12:43:11 +02:00
Yuri Kuznetsov 5d48dd090c group email account use from name 2023-01-27 21:40:19 +02:00
Yuri Kuznetsov 785bc0ed6e update async 2023-01-27 16:47:37 +02:00
Yuri Kuznetsov 1ce3825338 ref 2023-01-24 12:11:40 +02:00
Yuri Kuznetsov 1fba05dd04 ref 2023-01-24 11:59:55 +02:00
Yuri Kuznetsov 2c9b16a2d5 ref 2023-01-24 11:54:34 +02:00
Yuri Kuznetsov 314b5bcd87 refactor 2023-01-24 11:18:05 +02:00
Yuri Kuznetsov 433af312cf converter ref 2023-01-23 22:41:48 +02:00
Yuri Kuznetsov 30b18cf945 index defs get flags 2023-01-23 21:43:38 +02:00
Yuri Kuznetsov 81b9991e6d fix login as user logout error 2023-01-23 16:07:56 +02:00
Yuri Kuznetsov 84f3830eca login style fix 2023-01-23 15:57:00 +02:00
Yuri Kuznetsov cb878c70b5 fix 2023-01-23 15:36:54 +02:00
Yuri Kuznetsov 8224eec990 logout wait 2023-01-23 15:31:38 +02:00
Yuri Kuznetsov d655ee92a2 discard user repo 2023-01-23 15:02:12 +02:00
Yuri Kuznetsov a8d868e812 oidc portal fix 2023-01-22 20:26:03 +02:00
Yuri Kuznetsov e5c400214a oidc backchannel logout portal 2023-01-22 20:09:30 +02:00
Yuri Kuznetsov 5be5275eda ref 2023-01-22 20:08:00 +02:00
Yuri Kuznetsov e61535ee92 cleanup 2023-01-22 19:59:48 +02:00
Yuri Kuznetsov e0abe23260 oidc ref 2023-01-22 19:58:31 +02:00
Yuri Kuznetsov 8d65a3256b query composer indexHints prop 2023-01-22 17:56:59 +02:00
Yuri Kuznetsov d82c297b79 query composer order LIST to use POSITION_IN_LIST 2023-01-22 16:12:50 +02:00
Yuri Kuznetsov f7ed15c507 query composer use quote for true false 2023-01-22 15:50:42 +02:00
Yuri Kuznetsov 37b583d431 query composer add quote column 2023-01-22 15:44:49 +02:00
Yuri Kuznetsov c3286c7c4a cleanup 2023-01-22 14:18:26 +02:00
Yuri Kuznetsov 740c751d1b add methods to entity manager proxy 2023-01-22 14:15:13 +02:00
Yuri Kuznetsov 7e66f14e16 password change use method provider 2023-01-22 14:08:04 +02:00
Yuri Kuznetsov c3d0559260 ref 2023-01-22 13:53:00 +02:00
Yuri Kuznetsov 27762e61a6 ref 2023-01-22 13:51:40 +02:00
Yuri Kuznetsov cdbeab8e47 app service ref and recover password check change 2023-01-22 13:42:11 +02:00
Yuri Kuznetsov 15f337a319 oidc portal 2023-01-22 12:55:39 +02:00
Yuri Kuznetsov dd0deeb967 Merge branch 'fix' 2023-01-22 12:50:37 +02:00
Eymen Elkum 80cce0b1ba fix convert lead map fields (#2574)
* fix convert lead map fields

* fix convert lead map fields

Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2023-01-20 14:46:52 +02:00
Yuri Kuznetsov b477c3420b varchar optionsPath 2023-01-19 17:24:20 +02:00
Yuri Kuznetsov 72a1d73848 fix dropdown menu hidden 2023-01-19 17:20:22 +02:00
Yuri Kuznetsov 7d36e685b8 exportCOllection support params 2023-01-18 11:24:38 +02:00
Yuri Kuznetsov 0559e21baf currency field customization limitatinos 2023-01-18 10:45:48 +02:00
Yuri Kuznetsov 22e68e8fdf no fallback login for portal 2023-01-17 14:15:23 +02:00
Yuri Kuznetsov ad89d65a48 fix login data 2023-01-17 14:07:20 +02:00
Yuri Kuznetsov 0a92ed8f39 header adjust buttons fix 2023-01-17 13:46:57 +02:00
Yuri Kuznetsov 48fa62105f change default font 2023-01-16 17:23:19 +02:00
Yuri Kuznetsov 7e354d560f cleanup 2023-01-16 17:19:39 +02:00
Yuri Kuznetsov bd1fdaf9d9 change template defaults 2023-01-16 17:18:45 +02:00
Yuri Kuznetsov d5d19f2974 main merge select style 2023-01-16 10:02:39 +02:00
Yuri Kuznetsov 6e3c765ba3 attachment focus fix 2023-01-16 09:54:21 +02:00
Yuri Kuznetsov c351a8fc02 v 2023-01-16 09:22:33 +02:00
Yuri Kuznetsov 14c0f12fe9 fix 2023-01-16 09:12:17 +02:00
Yuri Kuznetsov ab87cff5bc fix 2023-01-15 17:01:02 +02:00
Yuri Kuznetsov a5280ec0ac cleanup 2023-01-15 16:59:00 +02:00
Yuri Kuznetsov 6339690e58 dompdf engine 2023-01-15 16:57:45 +02:00
Yuri Kuznetsov c5ae2800b5 html-container overflow hidden 2023-01-15 16:25:49 +02:00
Yuri Kuznetsov 62501dc20d Merge branch 'fix' 2023-01-15 16:18:00 +02:00
Yuri Kuznetsov 9e5810c8cf lang 2023-01-15 11:12:02 +02:00
Yuri Kuznetsov e6a0a94e17 label fix 2023-01-15 10:39:39 +02:00
Yuri Kuznetsov 777f9de3d9 oidc pass client secret 2023-01-15 10:31:53 +02:00
Yuri Kuznetsov c7b7848e69 gruntfile chang 2023-01-14 10:07:03 +02:00
Yuri Kuznetsov 791c172c7a fix from name 2023-01-13 16:32:00 +02:00
Yuri Kuznetsov 3bef6d8e84 fix follow entity check acl 2023-01-12 20:27:46 +02:00
Yuri Kuznetsov 093d71e5ae mass action delete 2023-01-12 19:01:39 +02:00
Yuri Kuznetsov a3be63c6f1 fix test 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 52fe2ca1c9 labels 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 6513513108 fix hide/show remove 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 442d2c030b fix grouped notifications 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 391500a1c1 cleanup 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov f239d2c478 notifications fix 2023-01-12 13:03:16 +02:00
Yuri Kuznetsov 67e83f5c9e labels 2023-01-12 12:27:47 +02:00
dependabot[bot] 101f8a29a3 Bump json5 from 2.2.0 to 2.2.3 (#2554)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-12 11:27:17 +02:00
Yuri Kuznetsov b952f3dbfb fix hide/show remove 2023-01-12 10:59:08 +02:00
Yuri Kuznetsov 23b125f552 fix grouped notifications 2023-01-12 10:13:48 +02:00
Yuri Kuznetsov 93e17e8f8d cleanup 2023-01-12 09:57:36 +02:00
Yuri Kuznetsov 9af562fda2 notifications fix 2023-01-11 14:31:49 +02:00
Yuri Kuznetsov dfb846fb7e lower exceptions log levels 2023-01-11 13:37:21 +02:00
Yuri Kuznetsov ecd6d5a558 Merge branch 'fix' 2023-01-11 13:22:06 +02:00
Yuri Kuznetsov 0612cd2399 fix 2023-01-11 13:05:32 +02:00
Yuri Kuznetsov 811ea3ad27 grouped popup notifications interval 2023-01-11 12:48:07 +02:00
Yuri Kuznetsov 967571f030 cs 2023-01-11 12:11:00 +02:00
Yuri Kuznetsov ac2576b760 add idea/misc.xml 2023-01-11 09:20:58 +02:00
Taras Machyshyn 7f1bc0cf1d Upgrade script 2023-01-10 22:15:17 +02:00
Yuri Kuznetsov 3ba9ea5085 email prevent drag by menu 2023-01-10 11:31:26 +02:00
Yuri Kuznetsov 08512304f1 class alias check existance 2023-01-10 09:44:04 +02:00
Yuri Kuznetsov c0da4e1777 setup system user attributes to select 2023-01-10 09:28:30 +02:00
Yuri Kuznetsov 14705e2100 v 2023-01-09 18:12:05 +02:00
Yuri Kuznetsov 0c99f35c02 fix working time calendar apperance 2023-01-09 18:11:26 +02:00
Yuri Kuznetsov a91da86ae4 working calendar noJoin 2023-01-09 17:46:40 +02:00
Yuri Kuznetsov 048d54a7af revert constant usage 2023-01-09 13:07:12 +02:00
Yuri Kuznetsov 5645066d68 Merge branch 'version/7.4' 2023-01-09 12:56:18 +02:00
Yuri Kuznetsov fe726b2637 de_DE 2023-01-09 11:21:40 +02:00
Yuri Kuznetsov 8852dd7ea2 it_IT 2023-01-09 11:17:05 +02:00
Yuri Kuznetsov 44897a64b5 fix upgrade 2023-01-09 10:48:29 +02:00
Yuri Kuznetsov 4f160937a4 string for upgrade 2023-01-09 10:32:12 +02:00
Yuri Kuznetsov 6ca02933c9 v 2023-01-09 10:20:07 +02:00
Yuri Kuznetsov 923ecc883a formula remove while 2023-01-06 12:07:57 +02:00
Yuri Kuznetsov 59a95fa3bc email list view show attachments 2023-01-06 12:03:29 +02:00
Yuri Kuznetsov 4789c3c2ad attachments modal 2023-01-06 11:54:00 +02:00
Yuri Kuznetsov c149aa8560 import validation explanations 2023-01-06 11:01:34 +02:00
Yuri Kuznetsov e9f5d99e9b markdown to string 2023-01-06 10:39:45 +02:00
Yuri Kuznetsov d233d8ce46 fix smtp params bc 2023-01-05 16:05:16 +02:00
Yuri Kuznetsov 07db57717f campaign enable on list 2023-01-05 12:04:19 +02:00
Yuri Kuznetsov 4309dfb57a massRemoveDisabled param 2023-01-05 11:44:08 +02:00
Yuri Kuznetsov 4ad0a22a6a fix 2023-01-05 11:29:15 +02:00
Yuri Kuznetsov 2daff0eabb list view ref 2023-01-05 11:23:50 +02:00
Yuri Kuznetsov cde59bce55 action handler support not in data 2023-01-05 10:08:12 +02:00
Yuri Kuznetsov 80b9d0dc7b ref 2023-01-05 09:43:28 +02:00
Yuri Kuznetsov bfdaa4721d mass action list fixes 2023-01-04 13:55:34 +02:00
David 60db5cdc6c global mass actions defs fix (#2549)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2023-01-04 13:37:20 +02:00
Yuri Kuznetsov 1a5a9060a6 fix 2023-01-04 12:01:49 +02:00
Yuri Kuznetsov ddf9dfba47 decimal mark thousand separator options 2023-01-04 11:56:50 +02:00
Yuri Kuznetsov f93060a5ca autonumeric 2023-01-04 11:38:30 +02:00
Yuri Kuznetsov 7e5b491313 formula: break & continue 2023-01-03 18:44:09 +02:00
Yuri Kuznetsov b083a11099 use true/false 2023-01-03 17:59:17 +02:00
Taras Machyshyn 63f67e0f66 2023 year 2023-01-03 16:26:52 +02:00
Taras Machyshyn 141c6430c4 Merge master 2023-01-03 16:22:44 +02:00
Taras Machyshyn 6f676c8a2f 2023 year 2023-01-03 16:01:43 +02:00
Yuri Kuznetsov b872e6960a fix db helper 2023-01-03 15:37:57 +02:00
Yuri Kuznetsov 8ba47b11ec orm quote column 2023-01-03 15:29:56 +02:00
Yuri Kuznetsov 883351eaf3 ref 2023-01-03 10:17:51 +02:00
Yuri Kuznetsov 7976e6d5b5 cs ref 2023-01-03 09:56:04 +02:00
Yuri Kuznetsov 8fcda8c621 ref 2023-01-03 09:43:50 +02:00
Yuri Kuznetsov c1b2870c91 dbal connection factory 2023-01-03 09:18:20 +02:00
Yuri Kuznetsov 2b4f6239f7 revert 2023-01-02 17:31:06 +02:00
Yuri Kuznetsov bae0144393 db helper ref 2023-01-02 17:24:08 +02:00
Yuri Kuznetsov af21cc4400 Merge branch 'master' into version/7.4 2023-01-02 14:51:42 +02:00
Yuri Kuznetsov ac667356c5 fix loading not hiding 2023-01-02 14:47:49 +02:00
Yuri Kuznetsov acef776782 fix select caret width 2023-01-02 14:31:04 +02:00
Andrew Fontana f50d7717a9 isSubscribedToWebSocket Typo (#2550)
* Fixed WebSocked typo to WebSocket

* Fixed WebSocked typo to WebSocket
2023-01-02 13:42:36 +02:00
Yuri Kuznetsov 03a79ddefe fix 2023-01-01 14:03:50 +02:00
Yuri Kuznetsov 353246281c currency decimal 2023-01-01 13:50:33 +02:00
Yuri Kuznetsov 747d8220e1 currency changes 2023-01-01 12:20:06 +02:00
Yuri Kuznetsov b6a1648486 cleanup 2022-12-31 11:03:44 +02:00
Yuri Kuznetsov e0e168945c cleanup 2022-12-31 10:42:20 +02:00
Yuri Kuznetsov 385d7af1b6 ref 2022-12-31 10:41:36 +02:00
Yuri Kuznetsov 14811a7c1a Merge branch 'master' into version/7.4 2022-12-31 10:10:08 +02:00
Yuri Kuznetsov ff41b49538 fix notice 2022-12-30 17:58:40 +02:00
Taras Machyshyn 24d2bd5cad Notice fixes 2022-12-30 15:10:08 +02:00
Yuri Kuznetsov 86a092ddb1 fix 2022-12-29 14:08:27 +02:00
Yuri Kuznetsov 6c2fa01375 fix lead capture message 2022-12-29 13:58:07 +02:00
Yuri Kuznetsov c828242359 Merge branch 'master' into version/7.4 2022-12-29 13:04:00 +02:00
Yuri Kuznetsov 77eaaa45d9 Merge branch 'fix' 2022-12-29 13:03:43 +02:00
David 3d8b487754 getColumns datatype fix (#2545)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-12-29 13:03:06 +02:00
Yuri Kuznetsov c4610c4e24 jsdoc 2022-12-29 12:43:29 +02:00
Yuri Kuznetsov 583ba47e78 fix doc 2022-12-29 12:06:17 +02:00
Yuri Kuznetsov a9e8d5b2b2 auth error translatable exception message 2022-12-27 14:37:34 +02:00
Yuri Kuznetsov 3c4e33f0c5 fix tests 2022-12-27 14:07:27 +02:00
Yuri Kuznetsov a0d39be19c middlewares after auth 2022-12-27 13:58:04 +02:00
Yuri Kuznetsov 83ef7b32b5 hook interfaces 2022-12-26 14:18:51 +02:00
Yuri Kuznetsov 94c6715c21 Merge branch 'fix' 2022-12-26 13:24:26 +02:00
Yuri Kuznetsov 976a10ed0a fix 2022-12-26 13:24:18 +02:00
Yuri Kuznetsov f365a38858 bind pdo provider 2022-12-25 20:28:09 +02:00
Yuri Kuznetsov e6f081c7d1 injectable factory create resolved 2022-12-25 20:22:53 +02:00
Yuri Kuznetsov f463421a33 psr container 2022-12-25 16:50:49 +02:00
Yuri Kuznetsov 49bb6771f6 pdo factory and dbal ref 2022-12-25 14:07:06 +02:00
Yuri Kuznetsov 28d8fcd31e middleware api 2022-12-25 10:28:51 +02:00
Yuri Kuznetsov 008935f054 fix 2022-12-24 20:44:37 +02:00
Yuri Kuznetsov 7ed90d7bbf Merge branch 'master' into version/7.4 2022-12-24 12:13:18 +02:00
Yuri Kuznetsov a5c7fb8905 ref move 2022-12-24 12:13:04 +02:00
Yuri Kuznetsov 7fdcb41547 hook suppress 2022-12-24 11:39:32 +02:00
Yuri Kuznetsov 7eca082d9f Merge branch 'master' into version/7.4 2022-12-24 11:27:47 +02:00
Yuri Kuznetsov 4dec6b8d49 import task date completed 2022-12-24 11:04:03 +02:00
Yuri Kuznetsov e1eaeab938 fix import null related name 2022-12-24 11:03:42 +02:00
Yuri Kuznetsov 4a4766cb0b Merge branch 'fix' 2022-12-23 22:08:20 +02:00
Yuri Kuznetsov 686219c60b fix btn add radous 2022-12-23 22:05:04 +02:00
Yuri Kuznetsov a97c642d3b fix 2022-12-23 11:29:50 +02:00
Yuri Kuznetsov 432d45e122 lead capture is invalid fix 2022-12-23 11:27:15 +02:00
Yuri Kuznetsov ab81d0fae6 fix typo 2022-12-21 18:29:00 +02:00
Yuri Kuznetsov 3f84551b50 entity defs fields validatorClassNameMap 2022-12-21 15:27:43 +02:00
Yuri Kuznetsov 0e56c727ff formula new statments and refactoring 2022-12-20 17:24:53 +02:00
Yuri Kuznetsov c911c0f6e5 Merge branch 'master' into version/7.4 2022-12-20 14:49:50 +02:00
Yuri Kuznetsov 336bb95d11 fix 2022-12-20 14:36:58 +02:00
Yuri Kuznetsov 185a24f007 docs 2022-12-20 14:33:06 +02:00
Yuri Kuznetsov 6cfe9b6b43 cs 2022-12-20 14:21:36 +02:00
Yuri Kuznetsov 61cdcbfeb5 cs 2022-12-20 14:20:03 +02:00
Yuri Kuznetsov b0a77054dc labels 2022-12-19 15:54:39 +02:00
Yuri Kuznetsov f6fb791fd2 docs fix 2022-12-19 15:51:58 +02:00
Yuri Kuznetsov ec3a6bf0a2 fix group email folder 2022-12-19 12:11:51 +02:00
Yuri Kuznetsov 8e277fdb36 css fix 2022-12-19 11:50:32 +02:00
Yuri Kuznetsov 085e5ef4bf currency no-join-mode 2022-12-19 10:58:05 +02:00
Yuri Kuznetsov 9e424f16d7 Merge branch 'master' into version/7.4 2022-12-18 21:34:06 +02:00
Yuri Kuznetsov cf7f382784 oidc user provider 2022-12-18 21:32:18 +02:00
Yuri Kuznetsov 65266fcf25 link multiple custom field fixes 2022-12-17 11:16:58 +02:00
Yuri Kuznetsov 8bc34aab9b htmlizer take into account noLoad 2022-12-17 10:42:42 +02:00
Yuri Kuznetsov 3bd73f16a8 ref 2022-12-17 10:39:04 +02:00
Yuri Kuznetsov dcf1698dad ref 2022-12-15 19:09:22 +02:00
Yuri Kuznetsov 0db4057d44 fix deleted return 2022-12-15 18:40:49 +02:00
Yuri Kuznetsov 8b92df3f6a rename 2022-12-15 15:40:17 +02:00
Yuri Kuznetsov c343a4600f xlsx changes 2022-12-15 15:36:12 +02:00
Yuri Kuznetsov d196a574fd export with openspout 2022-12-15 15:04:08 +02:00
Yuri Kuznetsov 72b2a456b9 export filter field list 2022-12-15 11:47:21 +02:00
Yuri Kuznetsov d9d42fd664 export params 2022-12-15 11:37:13 +02:00
Yuri Kuznetsov a131308e1a export refactor 2022-12-14 12:49:15 +02:00
Yuri Kuznetsov aff948f0a6 ref 2022-12-14 09:45:28 +02:00
Yuri Kuznetsov f14bc07174 css fix 2022-12-13 18:30:11 +02:00
Yuri Kuznetsov 8e91786d99 fix list quick view show more issue 2022-12-13 17:48:24 +02:00
Yuri Kuznetsov 44745aef14 cs 2022-12-13 17:28:33 +02:00
Yuri Kuznetsov 0657d78eb5 move 2022-12-13 15:48:11 +02:00
Yuri Kuznetsov 4807beca0b move 2022-12-13 15:32:07 +02:00
Yuri Kuznetsov 8a26478019 export ref 2022-12-13 15:26:48 +02:00
Yuri Kuznetsov 3a9851c89b refactoring 2022-12-13 14:19:31 +02:00
Yuri Kuznetsov 2824d8cd84 ref 2022-12-12 18:23:56 +02:00
Yuri Kuznetsov e041238d03 cleanup 2022-12-12 18:11:14 +02:00
Yuri Kuznetsov df36d33b98 fix 2022-12-12 18:04:38 +02:00
Yuri Kuznetsov f34ca2fe6b xlsx ref 2022-12-12 17:53:17 +02:00
Yuri Kuznetsov 56640839d2 cs 2022-12-12 12:55:43 +02:00
Yuri Kuznetsov 1e319a91ba phpdoc fix 2022-12-12 12:53:33 +02:00
Yuri Kuznetsov c37b2964c2 cs 2022-12-12 12:06:04 +02:00
Yuri Kuznetsov 24647cd5fb attribute-fetcher foreign skip many 2022-12-10 15:19:21 +02:00
Yuri Kuznetsov d407494579 fix warning 2022-12-09 15:56:53 +02:00
Yuri Kuznetsov b43843f882 fix select auto position 2022-12-09 14:49:50 +02:00
Yuri Kuznetsov 87c5371846 formula attribute fetch phone email 2022-12-09 13:23:53 +02:00
Yuri Kuznetsov 7b9c6cdb3f ref 2022-12-09 13:17:43 +02:00
Yuri Kuznetsov 32ea4dae9d formula ref 2022-12-09 12:57:01 +02:00
Yuri Kuznetsov a3cb0e6313 fix 2022-12-09 11:52:59 +02:00
Yuri Kuznetsov 0f88e535ad css fix 2022-12-08 21:58:42 +02:00
Yuri Kuznetsov 3edb739e2a lang acl anyScopeList 2022-12-08 20:12:30 +02:00
Yuri Kuznetsov 82ad48c586 jsdoc fix 2022-12-08 18:23:10 +02:00
Yuri Kuznetsov 710f6783bc select shortcut save fix 2022-12-08 18:22:23 +02:00
Yuri Kuznetsov 797c5453c9 fix select ctrl+s/enter 2022-12-08 13:54:58 +02:00
Yuri Kuznetsov a03ef074ef css fix 2022-12-08 11:25:16 +02:00
Yuri Kuznetsov 1e6b28e560 multi-select use text param 2022-12-08 11:22:04 +02:00
Yuri Kuznetsov 77c7468512 ref 2022-12-08 11:19:31 +02:00
Yuri Kuznetsov 0764231ab6 fix select match any word 2022-12-08 10:59:03 +02:00
Yuri Kuznetsov a779fc0a99 select hight 2022-12-08 10:39:47 +02:00
Yuri Kuznetsov d5fb8af1a3 install default theme 2022-12-07 17:18:14 +02:00
Yuri Kuznetsov 3099ef6dc3 install checkboxes 2022-12-07 17:18:07 +02:00
Yuri Kuznetsov 078a445e18 cleanup 2022-12-07 10:49:58 +02:00
Yuri Kuznetsov e6e1471a53 ref convert btn 2022-12-07 10:34:23 +02:00
Yuri Kuznetsov b16ffc4739 follow button refactor 2022-12-06 20:24:50 +02:00
Yuri Kuznetsov ec44deceaa record handler in setupFinal 2022-12-06 18:35:13 +02:00
Yuri Kuznetsov 31b416d3ee ref 2022-12-06 18:12:54 +02:00
Yuri Kuznetsov 9dd0f8eb70 js docs 2022-12-06 17:10:41 +02:00
Yuri Kuznetsov cf508debae ref 2022-12-06 17:03:09 +02:00
Yuri Kuznetsov e25227e853 cs 2022-12-05 12:17:20 +02:00
Yuri Kuznetsov 6bba422d07 fix select letter 2022-12-05 12:17:03 +02:00
Yuri Kuznetsov a1337cefe4 email template & template selectize 2022-12-05 12:07:17 +02:00
Yuri Kuznetsov 1ce54bbb33 cs 2022-12-05 11:34:15 +02:00
Yuri Kuznetsov e46edf2b36 ref 2022-12-04 15:41:52 +02:00
Yuri Kuznetsov 0093a03b7b ref 2022-12-04 15:23:35 +02:00
Yuri Kuznetsov f35df154ae fix phpdoc 2022-12-04 14:11:01 +02:00
Yuri Kuznetsov a5dc3aae70 fix phpdoc 2022-12-04 14:09:27 +02:00
Yuri Kuznetsov 847ac0c20a cs 2022-12-04 13:38:29 +02:00
Yuri Kuznetsov 87396518f1 save options 2022-12-04 13:32:27 +02:00
Yuri Kuznetsov 4ba74fe8b4 fix 2022-12-01 19:58:09 +02:00
Yuri Kuznetsov 8858d96cda no SMTP label 2022-12-01 19:52:55 +02:00
Yuri Kuznetsov 415e30ece8 cs 2022-12-01 19:38:29 +02:00
Yuri Kuznetsov 1a0958e65a label radius in var 2022-12-01 13:59:17 +02:00
Yuri Kuznetsov cf0e5bb328 clientXFrameOptionsHeaderDisabled 2022-12-01 12:28:04 +02:00
Yuri Kuznetsov b02e1218ee update flotr 2022-11-30 17:34:26 +02:00
Yuri Kuznetsov ba478fcce5 timepicker css fix 2022-11-30 10:54:24 +02:00
Yuri Kuznetsov 9682138038 ref 2022-11-29 21:11:09 +02:00
Yuri Kuznetsov 59499f6f07 ref 2022-11-29 21:08:57 +02:00
Yuri Kuznetsov b425a335ab fix typo 2022-11-29 20:38:47 +02:00
Yuri Kuznetsov 8cdde45b1b ref 2022-11-29 20:37:35 +02:00
Yuri Kuznetsov d00925d99a ref 2022-11-29 20:35:42 +02:00
Yuri Kuznetsov 2fffec3e5d css fix 2022-11-29 18:54:31 +02:00
Yuri Kuznetsov 395785d0c4 cs 2022-11-29 18:31:17 +02:00
Yuri Kuznetsov 3812856740 ref 2022-11-29 18:19:11 +02:00
Yuri Kuznetsov 088558d969 cleanup 2022-11-29 17:59:12 +02:00
Yuri Kuznetsov d79e81f652 ref 2022-11-29 17:58:41 +02:00
Yuri Kuznetsov 39c0f159a8 ref 2022-11-29 17:56:45 +02:00
Yuri Kuznetsov f2ea162952 campaign log impr 2022-11-29 17:27:06 +02:00
Yuri Kuznetsov fdde599205 style fix 2022-11-29 16:10:18 +02:00
Yuri Kuznetsov 7e80ca806d fix currency validation 2022-11-29 16:05:43 +02:00
Yuri Kuznetsov 09bf5219ad cs 2022-11-29 13:29:49 +02:00
Yuri Kuznetsov 9922dc8e22 doc fix 2022-11-29 13:10:57 +02:00
Yuri Kuznetsov b9bb4bc0b5 readme fix 2022-11-29 13:03:35 +02:00
Yuri Kuznetsov d5a928d955 fix save duplicate 2022-11-29 12:27:29 +02:00
Yuri Kuznetsov aad2ab08c5 fix docs 2022-11-29 12:08:29 +02:00
Yuri Kuznetsov 5d18d50ca0 ref 2022-11-29 12:01:23 +02:00
Yuri Kuznetsov 54f2ab411f ref 2022-11-29 11:41:49 +02:00
Yuri Kuznetsov b066c3d3da fix email drop css 2022-11-28 18:01:17 +02:00
Yuri Kuznetsov 957a2fa171 fix upgrade 2022-11-28 17:06:30 +02:00
Yuri Kuznetsov 61ccee3ac2 unknown error msg 2022-11-28 16:52:20 +02:00
Yuri Kuznetsov c889edb782 cs 2022-11-28 16:50:32 +02:00
Yuri Kuznetsov e1f673fe78 prevent email drag on touch devise 2022-11-28 16:44:45 +02:00
Yuri Kuznetsov 8b781d32da focus fix 2022-11-28 16:01:15 +02:00
Yuri Kuznetsov 3c06d6684e send invintations from modal fix 2022-11-28 15:47:19 +02:00
Yuri Kuznetsov 6bf8274d11 fix focus 2022-11-28 15:33:20 +02:00
Yuri Kuznetsov 2b59c5bdec email template fix inline attachments 2022-11-28 14:22:30 +02:00
Yuri Kuznetsov 4f6497f412 fix workflow 2022-11-28 12:27:12 +02:00
Yuri Kuznetsov 1fa937ef64 focus fix 2022-11-28 09:43:11 +02:00
Yuri Kuznetsov 4ffc309e11 fix 2022-11-28 09:36:47 +02:00
Yuri Kuznetsov 33b60e6791 email account tabs 2022-11-27 19:52:54 +02:00
Yuri Kuznetsov 378bebb2bf fix select 2022-11-27 19:07:00 +02:00
Yuri Kuznetsov 7925f2468a from address select 2022-11-27 19:05:08 +02:00
Yuri Kuznetsov a1d0c494af ref 2022-11-27 19:01:13 +02:00
Yuri Kuznetsov a86ca38bd7 reply from address email sent to 2022-11-27 18:55:32 +02:00
Yuri Kuznetsov 18cf4c4cf5 email archived save shortcut 2022-11-27 18:44:35 +02:00
Yuri Kuznetsov cf42f49431 email archived save shortcut 2022-11-27 18:44:12 +02:00
Yuri Kuznetsov 82df939bda cleanup 2022-11-27 16:22:09 +02:00
Yuri Kuznetsov 94f0c0bb3e fix typo 2022-11-27 14:05:00 +02:00
Yuri Kuznetsov 9f78afd0e6 8.2 integration test workflow 2022-11-27 13:59:49 +02:00
Yuri Kuznetsov 04f4a4a63a exception hasLogLevel 2022-11-27 13:55:54 +02:00
Yuri Kuznetsov 31c226dd16 fix property access 2022-11-27 13:34:05 +02:00
Yuri Kuznetsov 9fe3f7cdf8 cs 2022-11-27 13:30:19 +02:00
Yuri Kuznetsov be744399cb add 8,2 to test workflow 2022-11-27 13:25:29 +02:00
Yuri Kuznetsov 866c336a0b remove zend bridge 2022-11-27 13:16:48 +02:00
Yuri Kuznetsov 4928edc4d1 update laminas crypt 2022-11-27 12:33:22 +02:00
Yuri Kuznetsov 2e1b35d404 remove prophecy 2022-11-27 12:32:08 +02:00
Yuri Kuznetsov a8db63910e composer dep updates 2022-11-27 12:27:18 +02:00
Yuri Kuznetsov 2cde8e8918 jsdoc 2022-11-26 20:50:21 +02:00
Yuri Kuznetsov 6c59f70cf4 jsdoc 2022-11-26 20:38:17 +02:00
Yuri Kuznetsov 2ac1c8d444 cs 2022-11-26 20:10:13 +02:00
Yuri Kuznetsov 7526e737b8 once-remove => on-remove 2022-11-26 19:55:18 +02:00
Yuri Kuznetsov 0d44d04a17 ref 2022-11-26 19:50:06 +02:00
Yuri Kuznetsov bc81154ce2 ref 2022-11-26 19:48:47 +02:00
Yuri Kuznetsov 1632668529 ref 2022-11-26 19:46:54 +02:00
Yuri Kuznetsov fbd05ebafa ref 2022-11-26 19:45:19 +02:00
Yuri Kuznetsov 2c6f9f02df cleanup 2022-11-26 19:43:18 +02:00
Yuri Kuznetsov 5c572b9750 scheduler item bg color fix 2022-11-26 19:41:28 +02:00
Yuri Kuznetsov 5be21c7342 cs fix 2022-11-26 19:38:35 +02:00
Yuri Kuznetsov 7d662eab8e disable call scheduler by default 2022-11-26 19:35:19 +02:00
Yuri Kuznetsov 8734a00d11 cs fix 2022-11-26 19:31:15 +02:00
Yuri Kuznetsov d4511e3983 scheduler on edit-small 2022-11-26 19:21:23 +02:00
Yuri Kuznetsov ae643c5a28 phone/email is invalid fields 2022-11-25 18:05:40 +02:00
Yuri Kuznetsov e6dc5dd12b bool search selectize 2022-11-25 11:28:58 +02:00
Yuri Kuznetsov 566f92149c ref 2022-11-25 10:55:35 +02:00
Yuri Kuznetsov 99bf7fc524 ref 2022-11-25 10:47:58 +02:00
Yuri Kuznetsov b350bd4fc1 event confirmation fixes 2022-11-25 09:41:16 +02:00
Yuri Kuznetsov 58d1e67b53 Merge branch 'fix' 2022-11-25 08:58:23 +02:00
Yuri Kuznetsov 20855e81d4 fix remove related from modal 2022-11-25 08:57:56 +02:00
Yuri Kuznetsov 3282de2c8f cancellation email 2022-11-23 17:53:08 +02:00
Yuri Kuznetsov 72f51ec77c ref 2022-11-23 13:48:27 +02:00
Yuri Kuznetsov c8558f0cba fix templates 2022-11-23 13:26:47 +02:00
Yuri Kuznetsov d0876db1f7 color icon rounded 2022-11-23 13:07:07 +02:00
Yuri Kuznetsov efd7de49c6 cs 2022-11-23 12:39:13 +02:00
Yuri Kuznetsov 5ae6fb0020 cs 2022-11-23 12:30:03 +02:00
Yuri Kuznetsov 1057b8bc95 ref 2022-11-23 12:26:48 +02:00
Yuri Kuznetsov 3076b6c8ea send invitations impr 2022-11-23 12:05:54 +02:00
Yuri Kuznetsov b7ff603772 collapsed modal css fix 2022-11-22 12:13:48 +02:00
Yuri Kuznetsov b996389845 do not show send invitations for past events 2022-11-22 11:23:50 +02:00
Yuri Kuznetsov ca2d1217cd acl checkField test 2022-11-21 18:49:49 +02:00
Yuri Kuznetsov 227b0fb828 get attendees api endpoint 2022-11-21 18:32:00 +02:00
Yuri Kuznetsov ac28ae5a9b acl checkField 2022-11-21 18:13:04 +02:00
Yuri Kuznetsov 04eaf4db02 clientStrictTransportSecurityHeaderDisabled param 2022-11-21 13:05:42 +02:00
Yuri Kuznetsov a380d7e5f9 currency validation 2022-11-21 12:56:31 +02:00
Yuri Kuznetsov 73af7d4119 currency field ui impr 2022-11-21 12:47:14 +02:00
Yuri Kuznetsov 4762237796 wysiwyg modals impr 2022-11-21 12:13:35 +02:00
Yuri Kuznetsov 591a4f0f32 wysiwyg click event 2022-11-21 11:52:32 +02:00
Yuri Kuznetsov d28cc59feb cs 2022-11-21 11:28:43 +02:00
Yuri Kuznetsov be899564c1 css radius input group addon 2022-11-21 11:20:31 +02:00
Yuri Kuznetsov 6fb8e7ab37 type fix 2022-11-20 14:05:53 +02:00
Yuri Kuznetsov 047b07d3c9 binding improvements 2022-11-20 13:25:54 +02:00
Yuri Kuznetsov 8f0969eb5d cs 2022-11-20 11:54:22 +02:00
Yuri Kuznetsov b92975c9b7 cs 2022-11-20 11:51:34 +02:00
Yuri Kuznetsov 0cfc69cdaa currency input-group flex 2022-11-19 20:36:37 +02:00
Yuri Kuznetsov 1b497c81c7 selectize dropdown css fix 2022-11-19 17:20:47 +02:00
Yuri Kuznetsov eab2dbd1b4 fix link item input column 2022-11-19 16:36:16 +02:00
Yuri Kuznetsov 4eac37ad61 destroy timepicker 2022-11-19 16:15:41 +02:00
Yuri Kuznetsov dc658a6b06 fix 2022-11-19 16:08:31 +02:00
Yuri Kuznetsov 9d3aaebf24 cleanup 2022-11-19 15:56:30 +02:00
Yuri Kuznetsov f5b6876626 ref 2022-11-19 15:53:52 +02:00
Yuri Kuznetsov 5d7893e4ee no min width selectbox 2022-11-19 15:33:03 +02:00
Yuri Kuznetsov 01ef55ffc1 fix test 2022-11-19 14:08:22 +02:00
Yuri Kuznetsov 551d97883f assignment notif discard task 2022-11-19 13:51:18 +02:00
Yuri Kuznetsov 68ccfe735f select click flick fix 2022-11-19 12:54:12 +02:00
Yuri Kuznetsov de4ed2100c select scroll impr 2022-11-19 12:36:43 +02:00
Yuri Kuznetsov b602ef8eb8 acceptance button style 2022-11-19 11:22:19 +02:00
Yuri Kuznetsov 5ade5cf4c1 arbitrary duration 2022-11-19 10:52:33 +02:00
Yuri Kuznetsov 7cb7719cf6 select ref 2022-11-19 10:43:26 +02:00
Yuri Kuznetsov d07be2b5f4 css fix 2022-11-18 23:16:22 +02:00
Yuri Kuznetsov 77f01fd28d change reminder list 2022-11-18 18:23:42 +02:00
Yuri Kuznetsov 93fb78cf71 remider duration impr 2022-11-18 18:14:19 +02:00
Yuri Kuznetsov 2ff28ba8ca select fix 2022-11-18 17:58:14 +02:00
Yuri Kuznetsov 01b9b735e5 duration search fix 2022-11-18 17:44:19 +02:00
Yuri Kuznetsov 751a293319 select fix width 2022-11-18 17:43:58 +02:00
Yuri Kuznetsov 2e1cd55ee2 select fix 2022-11-18 15:41:10 +02:00
Yuri Kuznetsov 45bdd62bbf select uix fix 2022-11-18 14:44:55 +02:00
Yuri Kuznetsov 9a56ca9599 enable meeting stream by default 2022-11-18 13:45:32 +02:00
Yuri Kuznetsov 1eb5fab3e3 reminder arbitrary values 2022-11-18 12:54:52 +02:00
Yuri Kuznetsov 99ca025ded ref 2022-11-18 11:01:23 +02:00
Yuri Kuznetsov 3fa83db99f css fix 2022-11-17 23:22:40 +02:00
Yuri Kuznetsov f143dc7042 fix reset options 2022-11-17 22:53:35 +02:00
Yuri Kuznetsov 1a8a93c03a select fixes 2022-11-17 21:09:41 +02:00
Yuri Kuznetsov 9bbd51fd61 select fix 2022-11-17 19:39:12 +02:00
Yuri Kuznetsov 00238ba043 phone/email uix impr 2022-11-17 19:25:35 +02:00
Yuri Kuznetsov 2147e3073c cs 2022-11-17 18:30:46 +02:00
Yuri Kuznetsov 3f9dc78fa4 css fix 2022-11-17 18:26:17 +02:00
Yuri Kuznetsov 0c8c3ef5f4 phpdoc fix 2022-11-17 18:19:32 +02:00
Yuri Kuznetsov b6cafb1a35 invitation no email access required 2022-11-17 18:18:12 +02:00
Yuri Kuznetsov c3ace0b56d note event confirmation icon 2022-11-17 18:14:46 +02:00
Yuri Kuznetsov 0c3b452d6f acceptance button style 2022-11-17 16:46:52 +02:00
Yuri Kuznetsov 297c973695 reminder validation 2022-11-17 16:28:32 +02:00
Yuri Kuznetsov 57ec132aa7 fix 2022-11-17 15:52:59 +02:00
Yuri Kuznetsov d1b10de17d reminder show only actual items 2022-11-17 15:45:24 +02:00
Yuri Kuznetsov 85549cf39f datepicker fixes 2022-11-17 15:21:23 +02:00
Yuri Kuznetsov bba2d5b898 fix 2022-11-17 14:46:29 +02:00
Yuri Kuznetsov 4e0de42b0d selectbox improvement 2022-11-17 14:22:31 +02:00
Yuri Kuznetsov 66fc373af6 fix 2022-11-15 13:31:08 +02:00
Yuri Kuznetsov d7e215505f cs 2022-11-15 10:39:17 +02:00
Yuri Kuznetsov c293bef232 fix 2022-11-15 10:15:34 +02:00
Yuri Kuznetsov 11d6ea3271 reminder use labels 2022-11-15 09:59:07 +02:00
Yuri Kuznetsov 3d243e19fd cs 2022-11-15 09:58:57 +02:00
Yuri Kuznetsov 813b5834fd calnder full form link 2022-11-15 09:51:12 +02:00
Yuri Kuznetsov 2f3e662ef6 reminder ui fix 2022-11-14 23:20:57 +02:00
Yuri Kuznetsov a3779dbbee dark more radius 2022-11-14 20:15:03 +02:00
Yuri Kuznetsov f109b6f60a fix acceptance note 2022-11-14 20:14:02 +02:00
Yuri Kuznetsov 9b7ddf19a5 event confirmation improvement 2022-11-14 19:03:05 +02:00
Yuri Kuznetsov 9e4ca525a0 event confirmation 404 2022-11-14 18:42:50 +02:00
Yuri Kuznetsov 0359528b7c fix login logout broadcast 2022-11-14 18:05:17 +02:00
Yuri Kuznetsov c1ef8854ac cs fix 2022-11-14 17:55:15 +02:00
Yuri Kuznetsov 824878de39 css fix 2022-11-14 17:22:55 +02:00
Yuri Kuznetsov 919f48e0a3 logged-in broadcast fix 2022-11-14 17:15:53 +02:00
Yuri Kuznetsov 0a16ae3395 acceptance note from ui 2022-11-14 16:59:15 +02:00
Yuri Kuznetsov 4528edd6a7 Merge branch 'fix' 2022-11-14 16:48:22 +02:00
Yuri Kuznetsov 25daa39a91 fix 2022-11-14 16:48:10 +02:00
Yuri Kuznetsov e20e6e863f event confirmation note 2022-11-14 16:36:56 +02:00
Yuri Kuznetsov dbe5dbaf1f ref 2022-11-14 16:27:38 +02:00
Yuri Kuznetsov a5ba3ca5db orm join condition alias handling change 2022-11-14 14:13:59 +02:00
Yuri Kuznetsov 8efe9842cf cs 2022-11-14 13:15:45 +02:00
Yuri Kuznetsov 550bdaba4f ref 2022-11-14 13:07:44 +02:00
Yuri Kuznetsov 6f6c08f9a3 css fix 2022-11-14 12:45:27 +02:00
Yuri Kuznetsov dfea8470d1 cleanup 2022-11-14 12:38:29 +02:00
Yuri Kuznetsov a19ada57fa linkRequiredAccess 2022-11-14 12:25:28 +02:00
Yuri Kuznetsov f617d212f2 fix 2022-11-14 12:25:10 +02:00
Yuri Kuznetsov 88a09b2487 clientDefs relationshipPanels selectRequiredAccess createRequiredAccess 2022-11-14 12:23:42 +02:00
Yuri Kuznetsov 8dd5b078e6 cs fix 2022-11-14 11:07:31 +02:00
Yuri Kuznetsov cccb71fd5b ref 2022-11-14 11:01:28 +02:00
Yuri Kuznetsov f232f58b07 cs fix 2022-11-14 10:54:58 +02:00
Yuri Kuznetsov 17f8cb2f42 cs fix 2022-11-14 10:52:22 +02:00
Yuri Kuznetsov 5149713643 ref 2022-11-14 10:44:15 +02:00
Yuri Kuznetsov 586852ce7d categories max depth fix 2022-11-14 10:39:02 +02:00
Yuri Kuznetsov 65afe07a03 ref 2022-11-14 10:38:39 +02:00
Yuri Kuznetsov ea8bb03e8d no edit access check for create related 2022-11-14 10:22:07 +02:00
Yuri Kuznetsov 7f52192fa8 event confirmation style fix 2022-11-13 15:37:07 +02:00
Yuri Kuznetsov cadf54fb4e email part fix 2022-11-13 15:24:10 +02:00
Yuri Kuznetsov 631e766e5f ref 2022-11-13 14:57:19 +02:00
Yuri Kuznetsov d770afd24a css fix 2022-11-13 12:43:14 +02:00
Yuri Kuznetsov 6eb29eef2b orm join support expression on the left 2022-11-13 11:05:42 +02:00
Yuri Kuznetsov 7079ecfba1 fix typo 2022-11-13 10:13:42 +02:00
Yuri Kuznetsov ecf9962d6e ref 2022-11-12 22:26:04 +02:00
Yuri Kuznetsov 4bc24352c6 fix 2022-11-12 18:36:08 +02:00
Yuri Kuznetsov cc5125230e stream subscribers cleanup 2022-11-12 18:26:30 +02:00
Yuri Kuznetsov f50e962aee cleanup memory usage fix 2022-11-12 18:03:46 +02:00
Yuri Kuznetsov c363be67a1 ref cs 2022-11-12 17:55:10 +02:00
Yuri Kuznetsov 2467129e48 css fix 2022-11-11 17:21:29 +02:00
Yuri Kuznetsov dbcc6b43e6 css fix 2022-11-11 16:51:47 +02:00
Yuri Kuznetsov 13ebb9b63f css fix 2022-11-11 16:38:07 +02:00
Yuri Kuznetsov 6ba856fc66 ref 2022-11-11 14:19:05 +02:00
Yuri Kuznetsov 6f08fee069 move ref 2022-11-11 13:53:14 +02:00
Yuri Kuznetsov f270073be6 move 2022-11-11 13:45:39 +02:00
Yuri Kuznetsov fb3dd2dbf5 phpdoc fix 2022-11-11 13:40:04 +02:00
Yuri Kuznetsov ef47d3d2bf update query builder support expression 2022-11-11 13:25:50 +02:00
Yuri Kuznetsov 31bf387cbe text change interval 2022-11-11 13:01:52 +02:00
Yuri Kuznetsov 446c9a13cc wysiwyg fetch every 5 seconds on key down 2022-11-11 12:50:42 +02:00
Yuri Kuznetsov a373f1a864 do not show basic auth dialog if referer 2022-11-11 12:40:18 +02:00
Yuri Kuznetsov 7526e3c516 cleanup 2022-11-11 12:25:11 +02:00
Yuri Kuznetsov 98eb42ddb0 focus fix 2022-11-11 12:06:50 +02:00
Yuri Kuznetsov 9fd6c202a4 cs fix 2022-11-11 11:54:43 +02:00
Yuri Kuznetsov 00cbc80ccd log in log out sync between tabs 2022-11-11 11:22:17 +02:00
Yuri Kuznetsov b1252d2be4 focus fix 2022-11-11 09:00:49 +02:00
Yuri Kuznetsov daba2b3ba3 cs fix 2022-11-11 08:44:47 +02:00
Yuri Kuznetsov 3ecb64965d ref 2022-11-11 08:40:03 +02:00
Yuri Kuznetsov 061535d9fe css fix 2022-11-10 22:14:51 +02:00
Yuri Kuznetsov 87459afab4 meeting/call improve stream support 2022-11-10 22:09:06 +02:00
Yuri Kuznetsov a5da02df0f ref 2022-11-10 17:53:57 +02:00
Yuri Kuznetsov f37f59aff9 fix and ref 2022-11-10 17:14:34 +02:00
Yuri Kuznetsov 155a34245f discard 8.2 from workflow 2022-11-10 16:40:25 +02:00
Yuri Kuznetsov 456eca773d update workflow php version 2022-11-10 16:38:05 +02:00
Yuri Kuznetsov 7e54ff7f98 drop php7.4 2022-11-10 16:35:10 +02:00
Yuri Kuznetsov d2abd0eb3b Merge branch 'fix' 2022-11-10 15:54:58 +02:00
Yuri Kuznetsov 853ca01176 Merge branch 'fix' of github.com:espocrm/espocrm into fix 2022-11-10 15:54:01 +02:00
Yuri Kuznetsov 4e7462566b fix bottom tab text show more 2022-11-10 15:53:43 +02:00
Yuri Kuznetsov 46c910d74f fix bottom tab text show more 2022-11-10 15:53:15 +02:00
Yuri Kuznetsov e2a3761f10 ref 2022-11-10 15:22:04 +02:00
Yuri Kuznetsov 4d04a513c5 layout focus fix 2022-11-10 14:12:47 +02:00
Yuri Kuznetsov dcb550d6a8 layout shortcuts 2022-11-10 13:52:36 +02:00
Yuri Kuznetsov 44c13c9223 ref 2022-11-10 13:22:15 +02:00
Yuri Kuznetsov 3f37245a8c fix sticked issue 2022-11-10 13:18:24 +02:00
Yuri Kuznetsov 1f1b2c2203 update gridstack 2022-11-10 10:54:57 +02:00
Yuri Kuznetsov 2fc38dd184 merge 2022-11-10 09:38:05 +02:00
Yuri Kuznetsov 5e95a9e6b5 stream acl true 2022-11-10 09:37:04 +02:00
Yuri Kuznetsov 832a135556 Merge branch 'fix' 2022-11-10 09:29:38 +02:00
Yuri Kuznetsov 39c3eeadd8 ref 2022-11-10 09:21:11 +02:00
Yuri Kuznetsov aaaad41051 css fix 2022-11-09 13:26:05 +02:00
Yuri Kuznetsov d446034f41 default theme 2022-11-09 11:04:49 +02:00
Yuri Kuznetsov 644c165b94 kanban fixes 2022-11-09 11:01:50 +02:00
Yuri Kuznetsov b4bec78081 change duplicate finder interface 2022-11-09 10:03:15 +02:00
Yuri Kuznetsov ac35e3db83 Merge branch 'fix' 2022-11-08 23:04:17 +02:00
Yuri Kuznetsov 429d808e98 css fix 2022-11-08 23:04:08 +02:00
Yuri Kuznetsov 0354cc1e38 fix 2022-11-08 18:56:45 +02:00
Yuri Kuznetsov 7c731550ac cs fix 2022-11-08 18:39:54 +02:00
Yuri Kuznetsov aa45ed88aa fix 2022-11-08 18:37:27 +02:00
Yuri Kuznetsov 98fa68a070 calendar utility factory 2022-11-08 18:29:41 +02:00
Yuri Kuznetsov 0b3b915641 cs fix 2022-11-08 17:06:23 +02:00
Yuri Kuznetsov d54f5cb259 test 2022-11-08 16:06:12 +02:00
Yuri Kuznetsov d018781667 ref 2022-11-08 15:18:02 +02:00
Yuri Kuznetsov 6e07ecd5bb email import ref 2022-11-08 14:29:12 +02:00
Yuri Kuznetsov 9190544b10 cs 2022-11-08 12:41:00 +02:00
Yuri Kuznetsov 2c6674efe0 ref 2022-11-08 12:02:18 +02:00
Yuri Kuznetsov 2d6528a8d5 update bullbone 2022-11-08 12:02:08 +02:00
Yuri Kuznetsov 6b4980899c cleanup 2022-11-08 12:01:54 +02:00
Yuri Kuznetsov c5781971f3 email dnd fix 2022-11-08 11:24:35 +02:00
Yuri Kuznetsov 19984e6e4e css fix 2022-11-07 22:40:40 +02:00
Yuri Kuznetsov 97b12c3916 css fix 2022-11-07 16:54:03 +02:00
Yuri Kuznetsov 237ff5699c css fix 2022-11-07 16:20:41 +02:00
Yuri Kuznetsov 61e869a552 css fix 2022-11-07 16:03:52 +02:00
Yuri Kuznetsov d0710ccb21 fix 2022-11-07 15:48:20 +02:00
Yuri Kuznetsov d83ab71e48 dashlet draggable distance 2022-11-07 15:46:59 +02:00
Yuri Kuznetsov e1da88372f css fix 2022-11-07 15:39:44 +02:00
Yuri Kuznetsov cb9bda59f0 css fix 2022-11-07 15:37:36 +02:00
Yuri Kuznetsov 1d41127810 fix 2022-11-07 15:35:49 +02:00
Yuri Kuznetsov 0835699897 record panel title text not selectable 2022-11-07 15:31:06 +02:00
Yuri Kuznetsov 07f9d6b482 no list head select 2022-11-07 15:19:44 +02:00
Yuri Kuznetsov 9cdb14daaa email folders sticked 2022-11-07 14:30:42 +02:00
Yuri Kuznetsov bb2db7d675 css fix 2022-11-06 17:48:59 +02:00
Yuri Kuznetsov 3991efff4c restore middle tab on return 2022-11-06 14:30:22 +02:00
Yuri Kuznetsov b3ad922691 restore bottom tab on return 2022-11-06 14:08:42 +02:00
Yuri Kuznetsov 8d3ad7318a storage number fix 2022-11-06 14:03:03 +02:00
Yuri Kuznetsov def5c9d97b reminder style fix 2022-11-06 12:14:08 +02:00
Yuri Kuznetsov feb880fd53 fix 2022-11-06 11:44:00 +02:00
Yuri Kuznetsov bff95e6522 email dnd impr 2022-11-06 11:41:06 +02:00
Yuri Kuznetsov 38f2172f20 email drag n drop improvement 2022-11-05 15:18:49 +02:00
Yuri Kuznetsov 20ccba9f23 bottom tabs ref 2022-11-05 11:54:16 +02:00
Yuri Kuznetsov 8ae97efb43 ref 2022-11-05 10:20:11 +02:00
Yuri Kuznetsov fdf72b3676 fix 2022-11-04 18:03:08 +02:00
Yuri Kuznetsov 334d88775f select first visible bottom tab on render 2022-11-04 17:49:32 +02:00
Yuri Kuznetsov b47a6b2cd5 move to folder ui fix 2022-11-04 16:07:04 +02:00
Yuri Kuznetsov 69c7752537 move to folder modal label 2022-11-04 16:04:06 +02:00
Yuri Kuznetsov e708db7e5b fix 2022-11-04 13:23:48 +02:00
Yuri Kuznetsov 978a206662 Merge branch 'fix' 2022-11-04 11:52:00 +02:00
Yuri Kuznetsov 62d1c0fae9 attachment csp 2022-11-04 10:36:00 +02:00
Yuri Kuznetsov 76546ff06c logo svg 2022-11-04 10:27:17 +02:00
Yuri Kuznetsov 171164ed2b is html label 2022-11-03 17:01:55 +02:00
Yuri Kuznetsov 4057f92ec0 meeting notify about attendee 2022-11-03 16:47:12 +02:00
Yuri Kuznetsov 2b181b8d84 ref 2022-11-03 12:06:59 +02:00
Yuri Kuznetsov e210f1386d job use sth 2022-11-03 11:50:37 +02:00
Yuri Kuznetsov 711781b666 ref and cs fix 2022-11-03 11:48:10 +02:00
Yuri Kuznetsov addda0d9a8 ref 2022-11-03 11:38:23 +02:00
Yuri Kuznetsov b2b958c946 Merge branch 'fix' 2022-11-02 20:51:01 +02:00
David 42af361ae4 Fix czech translation (#2491)
* fixed require promise

* czech translation fix

Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-11-02 20:50:11 +02:00
Yuri Kuznetsov 440c6cee23 it_IT 2022-11-02 20:49:25 +02:00
Yuri Kuznetsov 1b32e57637 css fix 2022-11-02 19:48:03 +02:00
Yuri Kuznetsov 5008561965 fix 2022-11-02 18:41:35 +02:00
Yuri Kuznetsov 168f32a90e fix 2022-11-02 18:30:59 +02:00
Yuri Kuznetsov 23a21a060c fix shortcut 2022-11-02 17:56:11 +02:00
Yuri Kuznetsov 0eab4f0cac skip stream processing if silent 2022-11-02 15:58:55 +02:00
Yuri Kuznetsov 0ee3044ebc fix typo 2022-11-02 15:18:13 +02:00
Yuri Kuznetsov 916ad5159e dropdown focus 2022-11-02 14:47:24 +02:00
Yuri Kuznetsov 31d985e875 email draft from name 2022-11-02 12:37:20 +02:00
Yuri Kuznetsov 973404d46e css fix 2022-11-02 09:33:24 +02:00
David 042c5e5791 Regex with optional capture groups might cause catastrophic backtracking (#2490)
* fix catastrophic backtracking

* prevented catasthropic backtracing

Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-11-02 08:56:00 +02:00
Yuri Kuznetsov 64b3328916 kanban drag cursor fix 2022-11-01 21:19:03 +02:00
Yuri Kuznetsov ef8faa466c notify 2022-11-01 20:48:16 +02:00
Yuri Kuznetsov 4f53f6861c fix 2022-11-01 20:41:32 +02:00
Yuri Kuznetsov c610f8d6a7 next number populate 2022-11-01 16:59:56 +02:00
Yuri Kuznetsov ecde182b08 exceptions 2022-11-01 16:59:42 +02:00
Yuri Kuznetsov 94a723753f email shortcut keys 2022-11-01 15:08:53 +02:00
Yuri Kuznetsov cef40340cf Email mime message fix (#2486)
* email-message-fix

* fix test

* email mime parts message fix
2022-11-01 12:37:01 +02:00
Yuri Kuznetsov 8413e56d3f ref 2022-11-01 11:06:13 +02:00
Yuri Kuznetsov c14c6d9187 enum change on option change 2022-11-01 10:52:41 +02:00
Yuri Kuznetsov d010c4a463 array sorting uix fix 2022-11-01 10:43:45 +02:00
Yuri Kuznetsov ecf70585d7 validate default option 2022-11-01 10:01:55 +02:00
Yuri Kuznetsov 9183489d19 Merge branch 'fix' 2022-10-31 17:27:31 +02:00
Yuri Kuznetsov e659c79bf7 v 2022-10-31 17:21:33 +02:00
Yuri Kuznetsov e017479f85 fix panel heading overflow 2022-10-31 17:21:06 +02:00
Yuri Kuznetsov 24091d9eed color fix 2022-10-31 16:24:38 +02:00
Yuri Kuznetsov abdc73af6a attachment focus fix 2022-10-31 15:40:45 +02:00
Yuri Kuznetsov 168335c5b0 logo radius issue 2022-10-31 15:30:48 +02:00
Yuri Kuznetsov d0f43e7de9 alert viewport center 2022-10-31 15:19:34 +02:00
Yuri Kuznetsov 4dee40f714 style fix 2022-10-31 15:06:55 +02:00
Yuri Kuznetsov bd238f912f notification query no count 2022-10-31 13:06:04 +02:00
Yuri Kuznetsov e91539f534 apply button on filter removal 2022-10-31 12:41:08 +02:00
Yuri Kuznetsov e912566b44 fix 2022-10-31 12:05:25 +02:00
Yuri Kuznetsov daef165a2e fix 2022-10-31 11:55:39 +02:00
Yuri Kuznetsov 2b740082e4 fix 2022-10-31 11:54:39 +02:00
Yuri Kuznetsov b0292e61a9 style fixes 2022-10-31 11:44:35 +02:00
Yuri Kuznetsov e5b8db367b discard loading 2022-10-31 11:24:29 +02:00
Yuri Kuznetsov 1aad648987 css fix 2022-10-31 10:55:54 +02:00
Yuri Kuznetsov a943c4a7ea radio css 2022-10-31 10:42:15 +02:00
Yuri Kuznetsov a184d5568d color fix 2022-10-31 09:54:45 +02:00
Yuri Kuznetsov a351875586 create select handler for link 2022-10-31 09:43:56 +02:00
Yuri Kuznetsov 21b325f27f fix 2022-10-31 09:42:23 +02:00
Yuri Kuznetsov 992d581ff2 Merge branch 'fix' 2022-10-31 09:11:20 +02:00
Yuri Kuznetsov 4824714b0d fix non-storable varchar default maxlength validation 2022-10-31 08:56:56 +02:00
Yuri Kuznetsov bdf3e9a4b6 css fix 2022-10-31 08:50:55 +02:00
Yuri Kuznetsov 5826f0fb2a style fixes 2022-10-30 19:18:01 +02:00
Yuri Kuznetsov 65a57aed59 style fix 2022-10-30 19:02:05 +02:00
Yuri Kuznetsov ffe4b82e1e fix 2022-10-30 15:44:02 +02:00
Yuri Kuznetsov 32c29ac829 create handler in link multiple 2022-10-30 15:12:16 +02:00
Yuri Kuznetsov 03e46ed08f color fix 2022-10-30 14:30:23 +02:00
Yuri Kuznetsov d4821db812 relationshipPanels defs in link multiple 2022-10-30 14:25:16 +02:00
Yuri Kuznetsov 0f8d9f96fb selectModalView 2022-10-30 11:47:28 +02:00
Yuri Kuznetsov dbaf535f53 select related handler 2022-10-30 11:31:44 +02:00
Yuri Kuznetsov f8254f49c0 fix 2022-10-30 10:25:30 +02:00
Yuri Kuznetsov 6592ad3798 create related use promise 2022-10-30 09:29:00 +02:00
Yuri Kuznetsov d5bb95cab6 color fix 2022-10-29 22:56:59 +03:00
Yuri Kuznetsov ae2f2ab235 list fetch main 2022-10-29 15:58:47 +03:00
Yuri Kuznetsov 489e41a042 related list 2022-10-29 15:49:28 +03:00
Yuri Kuznetsov 4c209aaa86 Stream: Update notes when edited (with web socket) (#2483)
* note edit websocket

* fix note update input
2022-10-28 11:39:56 +03:00
Yuri Kuznetsov 09d8bc5a36 phone default enum 2022-10-26 16:36:03 +03:00
Yuri Kuznetsov 589415b036 Merge branch 'fix' 2022-10-26 16:30:17 +03:00
Yuri Kuznetsov 6ee936d522 bottom layout edit impr 2022-10-26 16:29:52 +03:00
Yuri Kuznetsov 648fa60e14 bottom layout edit impr 2022-10-26 16:29:24 +03:00
Yuri Kuznetsov deea05a986 style fix 2022-10-26 15:21:21 +03:00
Yuri Kuznetsov 1ddefe2541 log in button text 2022-10-26 14:05:35 +03:00
Yuri Kuznetsov efaf3327e3 update minimatch 2022-10-26 13:56:11 +03:00
Yuri Kuznetsov 0046734522 pt_PT lang 2022-10-26 12:56:01 +03:00
Yuri Kuznetsov 0ed243c9b1 wysiwyg img max width 2022-10-26 12:45:32 +03:00
Yuri Kuznetsov 91d81773bc css fix 2022-10-26 12:29:40 +03:00
Yuri Kuznetsov c71f8a5334 spellcheck off 2022-10-26 12:21:22 +03:00
Yuri Kuznetsov 21e8425e59 css fix 2022-10-26 10:00:08 +03:00
Yuri Kuznetsov f246021819 css fix 2022-10-26 09:53:52 +03:00
Yuri Kuznetsov e0ac2e156d checklist fix 2022-10-26 09:49:02 +03:00
Yuri Kuznetsov 46a4815def fix css 2022-10-25 19:06:34 +03:00
Yuri Kuznetsov 5851245f43 css fix 2022-10-25 18:44:51 +03:00
Yuri Kuznetsov 66f0aa71c9 css fixes 2022-10-25 17:10:19 +03:00
Yuri Kuznetsov 51b621ecd1 checkbox styled 2022-10-25 16:51:19 +03:00
Yuri Kuznetsov 65d88e5ac8 ref 2022-10-25 11:17:33 +03:00
Yuri Kuznetsov 96a0cb12a0 ref 2022-10-24 18:05:41 +03:00
Yuri Kuznetsov 07844912d2 cs fix 2022-10-24 18:00:47 +03:00
Yuri Kuznetsov cdbe9651f3 Merge branch 'fix' 2022-10-24 17:29:09 +03:00
Yuri Kuznetsov ba172494b4 fix kanban with disable total 2022-10-24 17:26:29 +03:00
Yuri Kuznetsov 956e7108c3 fix 2022-10-24 16:53:03 +03:00
Yuri Kuznetsov 66a111d7fc fix 2022-10-24 16:44:33 +03:00
Yuri Kuznetsov 4b038d66d1 fix 2022-10-24 16:13:09 +03:00
Yuri Kuznetsov 8feab8f394 ajax fullResponse 2022-10-24 16:10:59 +03:00
Yuri Kuznetsov 0c350b5f16 redirect to root after create forbidden 2022-10-24 14:42:17 +03:00
Yuri Kuznetsov be21968795 ajax error handler timeout 2022-10-24 14:41:51 +03:00
Yuri Kuznetsov 0dac024316 cs fix 2022-10-24 13:45:23 +03:00
Yuri Kuznetsov d7d1a38fd3 cs fix 2022-10-24 13:37:06 +03:00
Yuri Kuznetsov cc562d6c26 fix typo 2022-10-24 13:35:18 +03:00
Yuri Kuznetsov 8565711a3e fix 2022-10-24 13:33:49 +03:00
Yuri Kuznetsov 362b65b2b2 cs fix 2022-10-24 13:32:53 +03:00
Yuri Kuznetsov 444f699853 fix comment 2022-10-24 13:24:17 +03:00
Yuri Kuznetsov f6ea204259 Merge branch 'fix' 2022-10-24 12:14:00 +03:00
Yuri Kuznetsov 5c44a374d5 glass table text bold 700 2022-10-24 12:13:46 +03:00
Yuri Kuznetsov 8aae2b18ba glass fix 2022-10-24 12:06:46 +03:00
Yuri Kuznetsov 258e56c61d fix 2022-10-24 12:06:41 +03:00
Yuri Kuznetsov 55d054b15c fix 2022-10-24 11:52:23 +03:00
Yuri Kuznetsov 1f733fa307 fix 2022-10-24 11:43:37 +03:00
Yuri Kuznetsov acfcc65aee email filter mark as read 2022-10-24 11:34:26 +03:00
Yuri Kuznetsov 5a29830202 ref 2022-10-24 10:29:15 +03:00
Yuri Kuznetsov 04ef798866 fix 2022-10-24 10:04:44 +03:00
Yuri Kuznetsov 5987906fd8 Merge branch 'fix' 2022-10-24 09:47:09 +03:00
Yuri Kuznetsov 3084dddf1c fix url field pattern 2022-10-24 09:44:43 +03:00
Yuri Kuznetsov 87b112c699 rename ldap 2022-10-23 16:56:06 +03:00
Yuri Kuznetsov 212a5879b3 Merge branch 'fix' 2022-10-23 16:51:12 +03:00
Yuri Kuznetsov eb6f9b602f upgrade 2022-10-23 16:40:40 +03:00
Yuri Kuznetsov cf508a540e Merge branch 'fix' of https://github.com/espocrm/espocrm into fix 2022-10-23 16:36:19 +03:00
Yuri Kuznetsov 5278e3bf06 v 2022-10-23 16:25:17 +03:00
Yuri Kuznetsov ee70b1afad ref 2022-10-23 15:04:53 +03:00
Yuri Kuznetsov 4374688c85 css fix 2022-10-23 10:59:33 +03:00
Yuri Kuznetsov 0b7804f4f1 update carbon 2022-10-23 10:30:02 +03:00
Yuri Kuznetsov c01545678f kanban drag min distance 2022-10-23 10:24:20 +03:00
Yuri Kuznetsov 3ea617e449 cs fix 2022-10-23 10:22:19 +03:00
Yuri Kuznetsov 75e3961fb5 ajax promise 2022-10-23 10:18:02 +03:00
Yuri Kuznetsov cc8d66dc7d populate array values command 2022-10-22 14:44:58 +03:00
Yuri Kuznetsov 874c42fa33 ref 2022-10-22 13:27:09 +03:00
Yuri Kuznetsov 8a554bdf55 cs fix 2022-10-22 13:15:46 +03:00
Yuri Kuznetsov 5b02dc23f5 fix 2022-10-22 12:58:00 +03:00
Yuri Kuznetsov dd75aaeef2 rebuild category paths command 2022-10-22 12:52:13 +03:00
Yuri Kuznetsov 97c109dc79 cleanup 2022-10-21 18:14:43 +03:00
Yuri Kuznetsov f61c546af7 cs fix 2022-10-21 17:59:28 +03:00
Yuri Kuznetsov f6742d225d ldap fix 2022-10-21 17:33:53 +03:00
Yuri Kuznetsov ba69668df5 ref 2022-10-21 17:29:27 +03:00
Yuri Kuznetsov 7b8d2a874c fix jsdoc 2022-10-21 17:11:50 +03:00
Yuri Kuznetsov 8ba1e8148e merge 2022-10-21 17:11:05 +03:00
Yuri Kuznetsov 7266cc96c9 ref 2022-10-21 17:09:39 +03:00
Yuri Kuznetsov f4a3a3fbd3 extension admin notifications 2022-10-21 16:25:19 +03:00
Yuri Kuznetsov 937f28b52f cs fix 2022-10-21 15:44:09 +03:00
Yuri Kuznetsov 0997a870ec fix 2022-10-21 15:41:49 +03:00
Yuri Kuznetsov 5da17fd8a9 cs fix 2022-10-21 15:33:50 +03:00
Yuri Kuznetsov d8ca8a9a22 cs fix 2022-10-21 15:29:12 +03:00
Yuri Kuznetsov 76007e2c79 license status 2022-10-21 14:43:00 +03:00
Yuri Kuznetsov f0b7e94aa0 doc fix 2022-10-21 14:02:57 +03:00
Yuri Kuznetsov 89f7281a02 cs fix 2022-10-21 10:41:06 +03:00
Yuri Kuznetsov 9d7d9d0f3d ref 2022-10-21 10:13:11 +03:00
Yuri Kuznetsov 46d6cbb042 ref 2022-10-20 21:08:44 +03:00
Yuri Kuznetsov 63d50c1ebd record service container get by class 2022-10-20 21:02:50 +03:00
Yuri Kuznetsov 4917f0d5f6 ref 2022-10-20 20:55:42 +03:00
Yuri Kuznetsov ffb1f51f52 ref 2022-10-20 19:50:49 +03:00
Yuri Kuznetsov 48f98014a9 fix 2022-10-20 19:50:15 +03:00
Yuri Kuznetsov 8005e6e879 ref 2022-10-20 19:40:14 +03:00
David 5763f5b58e fixed require promise (#2473)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-10-20 18:55:50 +03:00
Yuri Kuznetsov 8f6872bb08 eventInvitationForceSystemSmtp 2022-10-20 18:46:59 +03:00
Yuri Kuznetsov 6fe21e68c0 ref 2022-10-20 18:38:33 +03:00
Yuri Kuznetsov 6b0bc18cbe ref 2022-10-20 17:38:01 +03:00
Yuri Kuznetsov d1eced41aa fix test 2022-10-20 15:43:12 +03:00
Yuri Kuznetsov ff83b4cb41 Merge branch 'fix' 2022-10-20 15:37:22 +03:00
Yuri Kuznetsov 59d46e43a4 ref 2022-10-19 18:46:11 +03:00
Yuri Kuznetsov 240644dd8c cs fix 2022-10-19 18:08:27 +03:00
Yuri Kuznetsov 840b31c7d3 ref 2022-10-19 18:05:33 +03:00
Yuri Kuznetsov 1c29123a44 cleanup 2022-10-19 17:42:07 +03:00
Yuri Kuznetsov 8e73af8d38 fix 2022-10-19 17:07:12 +03:00
Yuri Kuznetsov 85e583ec7c fix 2022-10-19 17:00:57 +03:00
Yuri Kuznetsov 509841344f ref 2022-10-19 16:47:56 +03:00
Yuri Kuznetsov 5eef8f2ce5 ref 2022-10-19 15:32:03 +03:00
Yuri Kuznetsov 85efea44ed ref 2022-10-19 13:27:06 +03:00
Yuri Kuznetsov c004815a42 ref 2022-10-19 13:25:11 +03:00
Taras Machyshyn 0666880786 IIS web.config fixes 2022-10-19 13:18:45 +03:00
Yuri Kuznetsov afddb6afc9 ref 2022-10-19 12:56:46 +03:00
Yuri Kuznetsov 7c869ce3fc style fix 2022-10-19 12:56:24 +03:00
Yuri Kuznetsov b9541eea35 cs fix 2022-10-19 12:54:08 +03:00
Yuri Kuznetsov 75e46f6f5b ref 2022-10-18 21:33:59 +03:00
Yuri Kuznetsov 531992adff ref 2022-10-18 21:32:21 +03:00
Yuri Kuznetsov 1f88b60cca ref 2022-10-18 21:19:43 +03:00
Yuri Kuznetsov 09d7c73449 ref 2022-10-18 21:16:27 +03:00
Yuri Kuznetsov b43d9f8784 user password ref 2022-10-18 20:29:23 +03:00
Yuri Kuznetsov d3e65f9ba1 ref 2022-10-18 18:16:10 +03:00
Yuri Kuznetsov 5485966c1c ref 2022-10-18 18:03:41 +03:00
Yuri Kuznetsov d6dc858720 ref 2022-10-18 17:13:56 +03:00
Yuri Kuznetsov 07ee43d4d7 ref 2022-10-18 15:50:51 +03:00
Yuri Kuznetsov 45720afd50 ref 2022-10-18 14:06:29 +03:00
Yuri Kuznetsov 291c692bdb ref 2022-10-18 13:03:48 +03:00
Yuri Kuznetsov 464976629d ref 2022-10-18 12:54:50 +03:00
Yuri Kuznetsov 4267adbdb2 cs fix 2022-10-18 12:41:29 +03:00
Yuri Kuznetsov f8d0fc2654 ref 2022-10-18 12:40:02 +03:00
Yuri Kuznetsov ba2bea15b5 ref 2022-10-18 11:40:28 +03:00
Yuri Kuznetsov 7ffd5a25a9 ref 2022-10-17 16:54:10 +03:00
Yuri Kuznetsov ba59e3922f fix tests 2022-10-17 16:48:33 +03:00
Yuri Kuznetsov 8336eb3dd9 cleanup 2022-10-17 16:42:21 +03:00
Yuri Kuznetsov 667f9b6eb6 cs fix 2022-10-17 16:37:50 +03:00
Yuri Kuznetsov f76d8601e7 fix 2022-10-17 16:36:59 +03:00
Yuri Kuznetsov f09db0ebdb ref 2022-10-17 16:07:05 +03:00
Yuri Kuznetsov 3b6a686257 ref 2022-10-17 15:04:53 +03:00
Yuri Kuznetsov e939b4541d ref 2022-10-17 14:43:24 +03:00
Yuri Kuznetsov d6c4002e82 ref 2022-10-17 13:12:03 +03:00
Yuri Kuznetsov 0cb1629f75 cs fix 2022-10-17 13:10:35 +03:00
Yuri Kuznetsov e8f600c99f ref 2022-10-17 13:00:11 +03:00
Yuri Kuznetsov 745d6b9603 ref 2022-10-17 12:50:34 +03:00
Yuri Kuznetsov 245e267f73 fix 2022-10-17 12:38:23 +03:00
Yuri Kuznetsov 953920a742 ref 2022-10-17 12:35:41 +03:00
Yuri Kuznetsov a6e1b016ae ref 2022-10-17 12:11:52 +03:00
Yuri Kuznetsov fdddc5cc2a ref 2022-10-17 11:34:15 +03:00
Yuri Kuznetsov b7de49a2aa ref 2022-10-17 11:22:44 +03:00
Yuri Kuznetsov 35dbe35ea4 test 2022-10-17 11:09:50 +03:00
Yuri Kuznetsov d0f84584a0 docs 2022-10-17 11:07:49 +03:00
Yuri Kuznetsov a334fc5456 search param bool added 2022-10-17 10:58:12 +03:00
Yuri Kuznetsov ccbc9a2348 ref 2022-10-17 10:48:25 +03:00
Yuri Kuznetsov 8c109d2713 ref 2022-10-17 09:19:38 +03:00
Yuri Kuznetsov 8b3b659ec6 ref 2022-10-17 08:37:37 +03:00
Yuri Kuznetsov 537b921e87 fix 2022-10-16 23:08:07 +03:00
Yuri Kuznetsov 74dbc64d5b fix 2022-10-16 21:59:21 +03:00
Yuri Kuznetsov fe9ed74875 ref 2022-10-16 21:52:37 +03:00
Yuri Kuznetsov a8f48c3248 update php-parser 2022-10-16 21:43:34 +03:00
Yuri Kuznetsov 857648633e ref 2022-10-16 21:37:57 +03:00
Yuri Kuznetsov 81d961d5d9 ref 2022-10-16 20:52:54 +03:00
Yuri Kuznetsov ae2d5e2552 update phpstan 2022-10-16 20:31:33 +03:00
Yuri Kuznetsov 035e561a4c ref 2022-10-16 20:26:18 +03:00
Yuri Kuznetsov 541cc907f1 phpdoc 2022-10-16 19:08:16 +03:00
Yuri Kuznetsov a5fc42a85f ref 2022-10-16 18:45:05 +03:00
Yuri Kuznetsov 421384980a fix 2022-10-16 18:26:13 +03:00
Yuri Kuznetsov 331fb69364 phpdoc 2022-10-16 17:53:31 +03:00
Yuri Kuznetsov 9d5e1b7d33 ref 2022-10-16 17:40:33 +03:00
Yuri Kuznetsov 1c06f3be92 ref 2022-10-16 16:29:05 +03:00
Yuri Kuznetsov 64c8c1a891 fix test 2022-10-16 16:13:55 +03:00
Yuri Kuznetsov f637960648 ref 2022-10-16 16:08:01 +03:00
Yuri Kuznetsov 2f73ae43ac ref 2022-10-16 15:43:42 +03:00
Yuri Kuznetsov befdff8085 ref 2022-10-16 14:25:52 +03:00
Yuri Kuznetsov 7be573be67 ref 2022-10-16 14:25:11 +03:00
Yuri Kuznetsov 19227313b3 ref 2022-10-16 13:07:37 +03:00
Yuri Kuznetsov 4d71e3c904 ref 2022-10-16 12:28:05 +03:00
Yuri Kuznetsov fef90ac1dc ref 2022-10-16 12:18:54 +03:00
Yuri Kuznetsov 6a940eb732 ref 2022-10-16 12:01:04 +03:00
Yuri Kuznetsov 838d0b08db move default binding 2022-10-16 11:33:32 +03:00
Yuri Kuznetsov c36c5a9d63 todo 2022-10-16 11:18:34 +03:00
Yuri Kuznetsov 327b6adbbf fix test 2022-10-16 11:15:57 +03:00
Yuri Kuznetsov 3f78f71c5f fix test 2022-10-16 10:59:09 +03:00
Yuri Kuznetsov 06e68a3e7d mail ref 2022-10-16 10:57:55 +03:00
Yuri Kuznetsov b1614ae660 ref 2022-10-14 17:24:32 +03:00
Yuri Kuznetsov 9575b8e24f ref 2022-10-14 17:06:13 +03:00
Yuri Kuznetsov b6b562cff1 dev 2022-10-14 17:01:18 +03:00
Yuri Kuznetsov e22f8b0120 ref 2022-10-14 16:34:27 +03:00
Yuri Kuznetsov eaa0426628 ref 2022-10-14 15:45:32 +03:00
Yuri Kuznetsov 42c5ac56ca ref 2022-10-14 15:23:45 +03:00
Yuri Kuznetsov f54497b76f ref 2022-10-14 14:13:16 +03:00
Yuri Kuznetsov f253e021d0 ref 2022-10-14 14:06:22 +03:00
Yuri Kuznetsov fa679b6dd2 cs fix 2022-10-14 13:22:29 +03:00
Yuri Kuznetsov 11d55b9e40 ref 2022-10-14 12:25:07 +03:00
Yuri Kuznetsov 00fbf45e88 ref 2022-10-14 11:17:10 +03:00
Yuri Kuznetsov 945921b38d from email address filtering 2022-10-14 10:13:36 +03:00
Yuri Kuznetsov b69f20a7fd ref 2022-10-13 21:18:37 +03:00
Yuri Kuznetsov 1f445770cf ref 2022-10-13 21:07:55 +03:00
Yuri Kuznetsov 7765562302 fix test 2022-10-13 19:47:43 +03:00
Yuri Kuznetsov 16abe43003 ref 2022-10-13 19:23:36 +03:00
Yuri Kuznetsov 5fed4f93e5 fix before upgrade 2022-10-13 18:29:10 +03:00
Yuri Kuznetsov 4514e8225f discard smtp preferences 2022-10-13 17:48:34 +03:00
Yuri Kuznetsov ab2d3eed43 ref 2022-10-13 13:05:34 +03:00
Yuri Kuznetsov f236a72a1a ref 2022-10-13 11:57:14 +03:00
Yuri Kuznetsov b66ac6ce13 ref 2022-10-13 11:45:55 +03:00
Yuri Kuznetsov 0a8ade65f4 ref 2022-10-13 10:52:07 +03:00
Yuri Kuznetsov 1235eee695 ref 2022-10-13 10:25:59 +03:00
Yuri Kuznetsov fbc35ec23d fix test 2022-10-13 10:04:07 +03:00
Yuri Kuznetsov 4e31fc89d4 email filter move to folder 2022-10-12 18:35:43 +03:00
Yuri Kuznetsov a7d3073861 fix 2022-10-12 14:09:22 +03:00
Yuri Kuznetsov abd40d42b8 ref 2022-10-12 13:32:05 +03:00
Yuri Kuznetsov ec19ae061f ref 2022-10-12 13:10:17 +03:00
Yuri Kuznetsov 84d9e1fe29 cs fix 2022-10-12 12:39:36 +03:00
Yuri Kuznetsov 50d7f6d831 dropdown action helper and labelTranslation 2022-10-12 12:17:25 +03:00
Yuri Kuznetsov b80bdf9a83 fix docs 2022-10-12 10:33:32 +03:00
Yuri Kuznetsov 19eb99ed25 group folder menu link 2022-10-12 10:31:36 +03:00
Yuri Kuznetsov 6c2be9199e email drop sent limitation 2022-10-12 10:11:14 +03:00
Yuri Kuznetsov ff1c449411 email drop to all 2022-10-12 10:07:58 +03:00
Yuri Kuznetsov 259b06cd7a ref 2022-10-11 20:59:50 +03:00
Yuri Kuznetsov cb00922841 group email folders 2022-10-11 17:43:31 +03:00
Yuri Kuznetsov e21f500a4d Merge branch 'fix' 2022-10-11 13:04:41 +03:00
Yuri Kuznetsov e0113388d2 typo fix 2022-10-11 13:04:26 +03:00
Yuri Kuznetsov 384f28ecae cleanup 2022-10-11 13:02:25 +03:00
Yuri Kuznetsov af9fac2b51 dE_DE 2022-10-10 11:43:20 +03:00
Yuri Kuznetsov 81c8311026 fix 2022-10-09 10:26:40 +03:00
Yuri Kuznetsov 085e66feea search panel disabled modal select records 2022-10-07 15:51:14 +03:00
Yuri Kuznetsov 7ad01cad77 fix 2022-10-07 12:25:14 +03:00
Yuri Kuznetsov 5038e4144f ref 2022-10-07 12:07:03 +03:00
Yuri Kuznetsov 4e6d5cf773 fix, setupReuse 2022-10-06 20:35:27 +03:00
Yuri Kuznetsov 8815564be3 fix 2022-10-06 18:36:59 +03:00
Yuri Kuznetsov 097a600488 fix 2022-10-06 14:25:25 +03:00
Yuri Kuznetsov 037687e11f fix 2022-10-06 14:16:28 +03:00
Yuri Kuznetsov 6eddc10d5a email drop into folder 2022-10-06 13:07:08 +03:00
Yuri Kuznetsov 0b9256ecf9 ref 2022-10-06 12:28:09 +03:00
Yuri Kuznetsov 26e692563b username validator 2022-10-05 14:42:54 +03:00
Yuri Kuznetsov 961e056e8d fix 2022-10-05 14:40:50 +03:00
Yuri Kuznetsov 77debc3875 fix 2022-10-05 14:30:26 +03:00
Yuri Kuznetsov d4376264c3 cs fix 2022-10-05 14:28:21 +03:00
Yuri Kuznetsov 424302287e fix test 2022-10-05 14:28:14 +03:00
Yuri Kuznetsov bcdee914ad keywords 2022-10-05 13:24:34 +03:00
Yuri Kuznetsov 9580c4f376 shortcuts 2022-10-05 13:22:51 +03:00
Yuri Kuznetsov edf673fb69 ref and shortcut usage 2022-10-05 13:16:18 +03:00
Yuri Kuznetsov 7738b9c3e0 remove with select all improvement 2022-10-05 12:37:13 +03:00
Yuri Kuznetsov 1579e4851e ref 2022-10-05 12:03:27 +03:00
Yuri Kuznetsov 914e070732 datetime from timestamp 2022-10-05 11:49:44 +03:00
Yuri Kuznetsov a976e22ebd fix settings lang 2fa param 2022-10-05 11:34:07 +03:00
Yuri Kuznetsov 138d0215f7 rebuild error output 2022-10-05 11:23:26 +03:00
Yuri Kuznetsov 39b42c3953 config iternal param 2022-10-05 11:14:13 +03:00
Yuri Kuznetsov da10e9c4a9 docs 2022-10-05 10:25:23 +03:00
Yuri Kuznetsov 89273a26d4 Merge branch 'fix' 2022-10-05 10:12:30 +03:00
Yuri Kuznetsov d7596c208c fix 2022-10-05 09:35:07 +03:00
Yuri Kuznetsov bac7eb6c89 model factory fix 2022-10-04 18:40:14 +03:00
Yuri Kuznetsov 80572ae14f update laminas libs, install laminas crypt 2022-10-04 18:27:23 +03:00
Yuri Kuznetsov c8a746d90b authentication deny system user 2022-10-04 17:50:22 +03:00
Yuri Kuznetsov a57f13eda2 auth settings label 2022-10-04 17:24:50 +03:00
Yuri Kuznetsov e576b9f272 dev 2022-10-04 17:13:34 +03:00
Yuri Kuznetsov 6df18b3604 label on list fix 2022-10-04 10:46:28 +03:00
Yuri Kuznetsov 616d65023b oidc auth 2022-10-04 09:41:40 +03:00
Yuri Kuznetsov ea001812e2 Merge branch 'master' of https://github.com/espocrm/espocrm 2022-10-04 09:40:39 +03:00
Yuri Kuznetsov b7925f6d1f Merge branch 'fix' 2022-10-04 09:40:24 +03:00
Yuri Kuznetsov 6d1ab5870f fix avatar 2022-10-04 08:52:40 +03:00
David e7d1cbd5ca setup action views in modal with unset model (#2462)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-10-03 21:17:31 +03:00
Yuri Kuznetsov b165d54ad6 request get parsed body form data support 2022-10-03 15:32:21 +03:00
David 25afbffda8 added other reserved keywords (#2461)
Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-10-03 08:57:26 +03:00
Yuri Kuznetsov 77f7db3592 acl cache clearer 2022-09-30 16:38:58 +03:00
Yuri Kuznetsov 73dbfa38ec css fix 2022-09-29 14:46:37 +03:00
Yuri Kuznetsov 4adb068699 fix lead capture source 2022-09-29 09:02:55 +03:00
Yuri Kuznetsov 3e4c738ab1 fix link multiple cloning fetch 2022-09-28 15:08:12 +03:00
Yuri Kuznetsov 3f950cb615 fix login 2022-09-27 17:53:19 +03:00
Yuri Kuznetsov a0e2b1a9b6 fix login 2022-09-27 17:18:33 +03:00
Yuri Kuznetsov c50b043e52 Merge branch 'fix' 2022-09-27 10:04:10 +03:00
Yuri Kuznetsov cd92e4fcd8 fix util array to object to preserve lists 2022-09-27 09:49:14 +03:00
Yuri Kuznetsov b99091eb3a ref 2022-09-27 09:41:28 +03:00
Yuri Kuznetsov 450cd80f62 Merge branch 'fix' 2022-09-27 08:57:58 +03:00
Yuri Kuznetsov fba191f22c global search label 2022-09-27 08:57:51 +03:00
Yuri Kuznetsov 0b9d52d30d color fix 2022-09-26 17:41:36 +03:00
Yuri Kuznetsov 6e9b125818 calendar today bg change 2022-09-26 17:07:32 +03:00
Yuri Kuznetsov 93146dffd6 authTokenSecretDisabled system 2022-09-26 13:47:22 +03:00
Yuri Kuznetsov 07d3e982ef date-time step 60 2022-09-26 13:08:30 +03:00
Yuri Kuznetsov 865078a7f9 shortcut framework take into account action availability 2022-09-26 12:56:29 +03:00
Yuri Kuznetsov 14eafb6121 Merge branch 'fix' 2022-09-26 12:46:18 +03:00
Yuri Kuznetsov 0d1ce3ee90 typoe fix 2022-09-26 12:43:50 +03:00
Yuri Kuznetsov 638654d52e credentialsHeader 2022-09-26 12:14:36 +03:00
Yuri Kuznetsov 3c0f7ca93e login handler changes 2022-09-26 10:22:35 +03:00
Yuri Kuznetsov c5c9862c68 ref cs 2022-09-25 18:25:07 +03:00
Yuri Kuznetsov 452ea6f1ef ref 2022-09-24 20:29:04 +03:00
Yuri Kuznetsov c5fe7bca21 login handler framework 2022-09-24 16:56:10 +03:00
Yuri Kuznetsov 8874c8827a fix 2022-09-24 13:07:22 +03:00
Yuri Kuznetsov 60922ac7cd ref 2022-09-24 12:08:07 +03:00
Yuri Kuznetsov 97b7f4adfa require promise fix 2022-09-23 18:01:58 +03:00
Yuri Kuznetsov 895a2f7f2f ref 2022-09-23 15:49:08 +03:00
Yuri Kuznetsov 25bcb9a49d ref 2022-09-23 15:34:03 +03:00
Yuri Kuznetsov ebf8d58a5e jsdoc 2022-09-23 15:10:43 +03:00
Yuri Kuznetsov 8d5cf689ee ref 2022-09-23 14:27:04 +03:00
Yuri Kuznetsov e72f348dc8 cs fix 2022-09-23 14:21:14 +03:00
Yuri Kuznetsov caaf651a2e type fix 2022-09-23 14:20:13 +03:00
Yuri Kuznetsov 8e62ed2fb8 login as another user 2022-09-23 14:02:31 +03:00
Yuri Kuznetsov d5058d9399 fix 2022-09-23 13:57:33 +03:00
Yuri Kuznetsov 4279e86526 fix typo 2022-09-23 12:07:50 +03:00
Yuri Kuznetsov 0691e469e5 cs fix and types 2022-09-23 12:04:50 +03:00
Yuri Kuznetsov 90cd54410b fix page title 2022-09-23 11:49:34 +03:00
Yuri Kuznetsov 546bb56c86 working time range assignment checker 2022-09-23 11:44:54 +03:00
Yuri Kuznetsov 340f82cc4b idea cs 2022-09-23 11:38:19 +03:00
Yuri Kuznetsov 81f10127fa Merge branch 'fix' 2022-09-23 11:06:34 +03:00
Yuri Kuznetsov 34529a8ed9 numpad enter 2022-09-23 10:40:05 +03:00
Yuri Kuznetsov 8d12148722 Merge branch 'fix' 2022-09-21 14:45:32 +03:00
Yuri Kuznetsov 8fd44acae2 entry point 404 2022-09-21 14:40:28 +03:00
Yuri Kuznetsov 70000efc0a app doAction public 2022-09-21 14:26:49 +03:00
Yuri Kuznetsov 31de034d45 storage support null 2022-09-21 12:35:14 +03:00
Yuri Kuznetsov 4dd540ffc7 cleanup 2022-09-21 11:27:36 +03:00
Yuri Kuznetsov 9c20116c9b v 2022-09-20 20:21:47 +03:00
Yuri Kuznetsov 926410d58f upgrade file 2022-09-20 20:21:11 +03:00
Yuri Kuznetsov c64a107ad9 dif docs 2022-09-20 20:20:54 +03:00
Yuri Kuznetsov 5dcd25946b diff mandatory files 2022-09-20 20:09:15 +03:00
Yuri Kuznetsov d12865bbcb lf command 2022-09-20 18:10:38 +03:00
Yuri Kuznetsov 3fed415437 clnup 2022-09-20 17:18:22 +03:00
Yuri Kuznetsov a03a13d3b9 fix auth token error 500 2022-09-20 17:05:11 +03:00
Yuri Kuznetsov 94cef5d4a2 cs fix 2022-09-20 13:51:44 +03:00
Yuri Kuznetsov 3a97076790 date-time value object support from string w/o seconds 2022-09-20 13:32:02 +03:00
Yuri Kuznetsov e625951831 array link-list fix 2022-09-20 12:14:28 +03:00
Yuri Kuznetsov 3dfaae167f working time function fixes 2022-09-19 18:17:21 +03:00
Yuri Kuznetsov 4d7e56e7b7 working calendar 2022-09-19 17:07:16 +03:00
Yuri Kuznetsov f533c68c9b fix enum empty value not selected 2022-09-19 15:37:52 +03:00
Yuri Kuznetsov c0f3fdb226 Merge branch 'fix' 2022-09-19 10:55:26 +03:00
Yuri Kuznetsov 6f37c54ff6 fix typo 2022-09-18 11:11:38 +03:00
Yuri Kuznetsov a6ca10fdc8 email mass move to folder 2022-09-18 11:09:22 +03:00
Yuri Kuznetsov 07d7afb5b4 fix 2022-09-17 19:55:37 +03:00
Yuri Kuznetsov cae9b04f80 date fields validation 2022-09-17 19:52:33 +03:00
Yuri Kuznetsov edf4e6c9e4 date add methods 2022-09-17 19:22:26 +03:00
Yuri Kuznetsov 2420746f1b folders save fix 2022-09-16 21:46:42 +03:00
Yuri Kuznetsov 2dfd00dd2e cs fix 2022-09-16 21:46:09 +03:00
Yuri Kuznetsov e043bb48e9 css fix 2022-09-16 14:23:44 +03:00
Yuri Kuznetsov 9aaef9d957 v 2022-09-16 10:08:10 +03:00
Yuri Kuznetsov 87449aae67 cleanup 2022-09-16 10:06:48 +03:00
Yuri Kuznetsov 191d064fe1 exception log message interface 2022-09-16 10:01:22 +03:00
Yuri Kuznetsov dcb3e2feaf typo fix 2022-09-16 09:44:22 +03:00
Yuri Kuznetsov da9a423e59 css fix 2022-09-15 19:04:46 +03:00
Yuri Kuznetsov 3be4510e63 css fix 2022-09-15 18:55:02 +03:00
Yuri Kuznetsov a6bb5a239b style fix 2022-09-15 18:05:38 +03:00
Yuri Kuznetsov a5fb42609b calendar style fix 2022-09-15 16:30:09 +03:00
Yuri Kuznetsov 40c2c1718e calendar minor none 2022-09-15 16:19:09 +03:00
Yuri Kuznetsov aeecfd63da color fix 2022-09-15 15:53:55 +03:00
Yuri Kuznetsov 1da1e6da9b fix 2022-09-15 15:52:16 +03:00
Yuri Kuznetsov bf9f23ebdd dev 2022-09-15 15:45:16 +03:00
Yuri Kuznetsov 7beb4f8d83 fix 2022-09-15 15:33:36 +03:00
Yuri Kuznetsov 991b859643 calendar now circle 2022-09-15 15:31:40 +03:00
Yuri Kuznetsov 9bd74e08db disable email fields layout 2022-09-15 14:52:36 +03:00
Yuri Kuznetsov cfdf65025d fix stream post input event 2022-09-15 13:32:29 +03:00
Yuri Kuznetsov bf471e654c calendar now indicator 2022-09-15 12:42:53 +03:00
Yuri Kuznetsov 5feee1cf55 calendar today text color 2022-09-15 12:21:51 +03:00
Yuri Kuznetsov 6af6fc017b lead capture fix 2022-09-15 10:44:39 +03:00
Yuri Kuznetsov 8ee9a792fc lead industry acl fix 2022-09-15 10:09:37 +03:00
Yuri Kuznetsov 9ef1c5928f fix campaign bottom view 2022-09-14 16:50:50 +03:00
Yuri Kuznetsov 64c933e365 v 2022-09-14 12:52:15 +03:00
Yuri Kuznetsov 32055f3d6e fix upload in chunks check 2022-09-14 10:10:45 +03:00
Yuri Kuznetsov 804acae44b fix extension check 2022-09-13 20:51:34 +03:00
Yuri Kuznetsov 6b3f37c00e panel show hide ref 2022-09-13 20:32:24 +03:00
Yuri Kuznetsov 4bdc4878cd fix bottom tab layout 2022-09-13 17:41:33 +03:00
Yuri Kuznetsov 625d2bc128 fix tab race condition error 2022-09-13 17:27:44 +03:00
Yuri Kuznetsov 0af5bb1b4b fix bottom tabs fetch 2022-09-13 14:26:48 +03:00
Yuri Kuznetsov 7a0d59357c panel hide/show concurrency issue fix 2022-09-13 14:16:55 +03:00
Yuri Kuznetsov adbb46d02c system template inline attachments 2022-09-13 10:12:28 +03:00
Yuri Kuznetsov ac3884179e cs fix 2022-09-13 10:08:31 +03:00
Yuri Kuznetsov 7cf1af188d fix attachment replated validation 2022-09-13 09:36:47 +03:00
Yuri Kuznetsov 21b695e4ef style fix 2022-09-13 09:30:50 +03:00
Yuri Kuznetsov fbda66defc fix 2022-09-13 09:25:49 +03:00
Yuri Kuznetsov beb4435ee0 diff closest 2022-09-12 15:07:32 +03:00
Yuri Kuznetsov 6a4c78c1cb fix language settings 2022-09-12 14:51:05 +03:00
Yuri Kuznetsov dc7f5d8e66 fix grunt zip 2022-09-12 14:06:54 +03:00
Yuri Kuznetsov 872a4c2f2c fix typo 2022-09-12 12:35:27 +03:00
Yuri Kuznetsov 8a5204bc4c css fix 2022-09-12 12:03:26 +03:00
Yuri Kuznetsov acbf6a1742 v 2022-09-12 11:22:07 +03:00
Yuri Kuznetsov b2d3d56a85 attachment-multiple link 2022-09-12 11:20:48 +03:00
Yuri Kuznetsov 8b83fa640f note relate icon 2022-09-12 10:45:16 +03:00
Yuri Kuznetsov 5a95abed73 v 2022-09-12 09:05:25 +03:00
Yuri Kuznetsov ca1d689c3a it_IT 2022-09-12 09:04:35 +03:00
Yuri Kuznetsov 9857a61744 field validator 2022-09-11 18:09:59 +03:00
Yuri Kuznetsov 0c750789b1 auth cookie fallback 2022-09-11 16:01:04 +03:00
Yuri Kuznetsov ccb6c19c72 url field fix encode 2022-09-10 09:59:44 +03:00
Yuri Kuznetsov 011581f09d it_IT 2022-09-09 11:07:23 +03:00
Yuri Kuznetsov 110dd7b8b3 fix extension install 2022-09-09 10:45:14 +03:00
Yuri Kuznetsov f9bdd78df8 ref 2022-09-09 10:24:17 +03:00
Yuri Kuznetsov 241b582923 css fix 2022-09-08 15:01:59 +03:00
Yuri Kuznetsov 348a089e18 css fix 2022-09-08 13:22:01 +03:00
Yuri Kuznetsov 7528fb3871 email folder no actions + merge disabled 2022-09-07 14:11:17 +03:00
Yuri Kuznetsov e76f849bde cs fix 2022-09-06 19:54:07 +03:00
Yuri Kuznetsov 770658ffed cs fix 2022-09-06 19:50:31 +03:00
Yuri Kuznetsov 348bcd64ba popover viewport 2022-09-06 08:53:30 +03:00
Yuri Kuznetsov 23ec5a66a7 css fix 2022-09-05 18:20:18 +03:00
Yuri Kuznetsov 210da100ea user links entityAcl 2022-09-05 18:12:08 +03:00
Yuri Kuznetsov 91aec9fc1d fix typo 2022-09-05 09:59:49 +03:00
Yuri Kuznetsov 155565b946 cleanup 2022-09-03 21:14:36 +03:00
Yuri Kuznetsov 5157430104 email compose focus 2022-09-03 21:11:53 +03:00
Yuri Kuznetsov 2eb88617b3 fix email compose setup 2022-09-03 20:42:19 +03:00
Yuri Kuznetsov 5e4e0b8d3c button modal right position impr 2022-09-02 18:40:36 +03:00
Yuri Kuznetsov 5f1cb260ae reply btn style 2022-09-02 12:07:14 +03:00
Yuri Kuznetsov d854fc9fa6 css fix 2022-09-02 11:41:12 +03:00
Yuri Kuznetsov d455d0c73f css fix 2022-09-02 10:20:57 +03:00
Yuri Kuznetsov ae15b8fb5e fix table 2022-09-02 10:07:20 +03:00
Yuri Kuznetsov d686aee9d4 css fix 2022-09-02 10:02:12 +03:00
Yuri Kuznetsov 6e667a5024 merge fix 2022-09-01 20:24:18 +03:00
Yuri Kuznetsov 5610ac9b71 doc fix 2022-09-01 20:13:12 +03:00
Yuri Kuznetsov f9bb35ae68 fix 2022-08-31 18:48:04 +03:00
Yuri Kuznetsov 768f6d7c71 dashboard menu 2022-08-31 18:42:31 +03:00
Yuri Kuznetsov ea1455a50c css fix 2022-08-31 18:23:38 +03:00
Yuri Kuznetsov cd6a157f1d fix 2022-08-31 16:45:54 +03:00
Yuri Kuznetsov 447d54b61b cleanup 2022-08-31 16:06:20 +03:00
Yuri Kuznetsov f721220b1a css fix 2022-08-31 16:02:44 +03:00
Yuri Kuznetsov 95ed44d2ec css fix 2022-08-31 15:40:01 +03:00
Yuri Kuznetsov 5ad74492e1 css fix 2022-08-31 15:06:15 +03:00
Yuri Kuznetsov b191896fb1 cs fix 2022-08-31 15:06:09 +03:00
Yuri Kuznetsov 314636e298 update identicon 2022-08-31 13:45:12 +03:00
Yuri Kuznetsov 6e4d25fadd wysiwyg fallback fix 2022-08-31 12:40:15 +03:00
Yuri Kuznetsov d401cb4e4c filter join char 2022-08-31 12:28:57 +03:00
Yuri Kuznetsov 2f7c892f67 orm ref 2022-08-31 12:02:34 +03:00
Yuri Kuznetsov 1f33f41965 orm ref 2022-08-31 11:51:50 +03:00
dependabot[bot] 7e6c64364f Bump moment-timezone from 0.5.33 to 0.5.35 (#2418)
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.33 to 0.5.35.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.33...0.5.35)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-31 09:36:00 +03:00
Yuri Kuznetsov 9916b95703 stream query impr 2022-08-30 12:49:02 +03:00
Yuri Kuznetsov cba0bf3d20 import entity bigint 2022-08-30 08:53:48 +03:00
Yuri Kuznetsov 82b043adf6 rename 2022-08-30 08:48:15 +03:00
Yuri Kuznetsov bfcf607468 import error integrity type constraint 2022-08-29 18:23:06 +03:00
Yuri Kuznetsov 6db74ec68f fix import error field 2022-08-29 17:59:25 +03:00
Yuri Kuznetsov 02cb7c1fd5 edit modal lost focus fix 2022-08-29 17:42:45 +03:00
Yuri Kuznetsov 8b06f2c02c dialog focus fix 2022-08-29 17:12:01 +03:00
Yuri Kuznetsov 9644729f68 dialog close on hide 2022-08-29 16:25:01 +03:00
Yuri Kuznetsov c0f3d5e765 fix 2022-08-29 16:10:41 +03:00
Yuri Kuznetsov e766625aa8 confirm fix 2022-08-29 16:01:34 +03:00
Yuri Kuznetsov ad97a71cb6 acceptance status focus 2022-08-29 15:00:45 +03:00
Yuri Kuznetsov d857231178 acceptance status fix modal 2022-08-29 14:42:50 +03:00
Yuri Kuznetsov 4976ebe89e glass fix 2022-08-29 14:10:53 +03:00
Yuri Kuznetsov 571ccc08d4 compose fix 2022-08-29 12:15:45 +03:00
Yuri Kuznetsov 63f73483a1 css fix 2022-08-29 10:52:59 +03:00
Yuri Kuznetsov 60e4d3e7c0 css fix 2022-08-29 10:49:05 +03:00
Yuri Kuznetsov 063b5e19a2 system requirements css 2022-08-29 10:35:16 +03:00
Yuri Kuznetsov 9899e5913f entity manager table css change 2022-08-29 09:59:46 +03:00
Yuri Kuznetsov 6730e8a48b reminder fix 2022-08-28 22:54:23 +03:00
Yuri Kuznetsov fe833862f3 theme fix 2022-08-28 22:42:13 +03:00
Yuri Kuznetsov f660c9aedf wysiwyg iframe fallback padding 2022-08-28 21:11:04 +03:00
Yuri Kuznetsov 58cd736ab9 wysiwyg fallback radius 2022-08-28 20:47:43 +03:00
Yuri Kuznetsov 693d952910 pt_BR 2022-08-28 19:15:20 +03:00
Yuri Kuznetsov 8ffb72df30 fix 2022-08-28 18:54:08 +03:00
Yuri Kuznetsov 2ae4094c64 theme fix 2022-08-28 18:49:45 +03:00
Yuri Kuznetsov 3c089c8628 quick view change 2022-08-27 16:43:08 +03:00
Yuri Kuznetsov a2f7bef58d email reply update 2022-08-27 16:39:44 +03:00
Yuri Kuznetsov cc2e64a4cd ref 2022-08-27 16:20:07 +03:00
Yuri Kuznetsov a2eb3d7b8c color fix 2022-08-26 19:39:06 +03:00
David 214f5cec96 fixed markdown mime type (#2416) 2022-08-26 15:24:16 +03:00
Arkadiy Asuratov d56b95d9f2 fix typo (#2414) 2022-08-26 11:49:28 +03:00
Yuri Kuznetsov 7f4595a374 color fixes 2022-08-26 10:34:29 +03:00
Yuri Kuznetsov c3b5191ca4 fix 2022-08-26 10:22:51 +03:00
Yuri Kuznetsov de8f9114ab color fix 2022-08-26 10:05:47 +03:00
Yuri Kuznetsov 960583c052 color fix 2022-08-26 10:03:21 +03:00
Yuri Kuznetsov 32baf94251 color fixes 2022-08-26 10:01:07 +03:00
Yuri Kuznetsov e290bc0b12 glass theme fixes 2022-08-26 09:49:30 +03:00
Yuri Kuznetsov 54bf5d98ae css fix 2022-08-26 09:42:32 +03:00
Yuri Kuznetsov d00b77137e css fix 2022-08-25 23:28:19 +03:00
Yuri Kuznetsov 293ca499cc color 2022-08-25 23:22:27 +03:00
Yuri Kuznetsov 5825f8a8f9 colors 2022-08-25 23:02:24 +03:00
Yuri Kuznetsov 70f8458d9c colors 2022-08-25 21:34:42 +03:00
Yuri Kuznetsov d8dc5d107e color fix 2022-08-25 21:17:25 +03:00
Yuri Kuznetsov 47d7064a72 fix 2022-08-25 20:12:01 +03:00
Yuri Kuznetsov 6874bee0ad ref and bypass app reload 2022-08-25 20:02:26 +03:00
Yuri Kuznetsov 18f285be91 js doc 2022-08-25 20:00:53 +03:00
Yuri Kuznetsov 9be5d5b102 jsdoc 2022-08-25 19:45:14 +03:00
Yuri Kuznetsov 25782c7696 ref 2022-08-25 19:45:05 +03:00
Yuri Kuznetsov 20ae316c63 page refresh on update 2022-08-25 19:18:08 +03:00
Yuri Kuznetsov 8fd166ef2b category flicker fix 2022-08-25 17:50:03 +03:00
Yuri Kuznetsov af8ce3a34e fix typo 2022-08-25 17:16:39 +03:00
Yuri Kuznetsov e5956abb85 fix 2022-08-25 17:15:40 +03:00
Yuri Kuznetsov 7024487528 bc fix 2022-08-25 16:51:34 +03:00
Yuri Kuznetsov a938905946 fix 2022-08-25 15:37:20 +03:00
Yuri Kuznetsov 0250bfcd12 fix 2022-08-25 14:25:21 +03:00
Yuri Kuznetsov 6d7e1f0952 enum default null 2022-08-25 11:16:27 +03:00
Yuri Kuznetsov a098b20221 idea 2022-08-25 11:14:50 +03:00
Yuri Kuznetsov 4ab21cb80b ref 2022-08-24 16:56:04 +03:00
Yuri Kuznetsov f9e3953f68 record modal refactor 2022-08-24 16:39:59 +03:00
Yuri Kuznetsov 313a2874cd quick detail 2022-08-24 15:53:44 +03:00
Yuri Kuznetsov 60ae130612 stream quick view 2022-08-24 12:52:26 +03:00
Yuri Kuznetsov 22084a3d77 link mul with primary fix 2022-08-24 11:43:21 +03:00
Yuri Kuznetsov ce35f68584 quick view middle click 2022-08-24 11:20:07 +03:00
Yuri Kuznetsov d0ff17ed40 user team no edit in modal 2022-08-24 11:09:00 +03:00
Yuri Kuznetsov 30cfea4ac4 team detail small 2022-08-24 11:07:32 +03:00
Yuri Kuznetsov f83d0a34c3 fix 2022-08-24 10:38:31 +03:00
Yuri Kuznetsov f2fd948c7b cleanup 2022-08-24 10:27:05 +03:00
Yuri Kuznetsov 1b0a20c001 ref 2022-08-24 10:25:18 +03:00
Yuri Kuznetsov 9fa4f40ccf cs fix 2022-08-24 10:18:21 +03:00
Yuri Kuznetsov 71e39fa4fe kanban quick view key 2022-08-24 10:14:54 +03:00
Yuri Kuznetsov d98dfecef3 file gray-box style fix 2022-08-23 21:16:12 +03:00
Yuri Kuznetsov adfd7efae6 comment 2022-08-23 13:26:29 +03:00
Yuri Kuznetsov 0d75fa4929 css fix 2022-08-23 12:51:03 +03:00
Yuri Kuznetsov 43c8613e94 fix label 2022-08-23 12:41:41 +03:00
Yuri Kuznetsov ee1e3bbaf9 fix webhook cache 2022-08-23 10:31:17 +03:00
Yuri Kuznetsov 1d03f557ce fix lead capture 2022-08-22 17:05:32 +03:00
Yuri Kuznetsov 939d482cfb css fix 2022-08-22 12:27:54 +03:00
Yuri Kuznetsov 044ffbff13 cs fix 2022-08-22 12:20:47 +03:00
Yuri Kuznetsov 37130f00a0 add image type inline 2022-08-22 11:37:34 +03:00
Yuri Kuznetsov c40070ceb0 download csp and fix 2022-08-22 11:37:26 +03:00
Yuri Kuznetsov 76d9b3cf9c audio video files inline 2022-08-22 11:30:15 +03:00
Yuri Kuznetsov 532321ddeb inlineMineTypeList 2022-08-22 11:23:43 +03:00
Yuri Kuznetsov 40b2613580 upload attachment same file fix 2022-08-22 11:14:52 +03:00
Yuri Kuznetsov e298ebec4b text field fetch trim empty 2022-08-22 11:03:21 +03:00
Yuri Kuznetsov 4073c60182 fix attachment upload 2022-08-22 10:53:03 +03:00
Yuri Kuznetsov 2553496ce6 stream post empty 2022-08-22 10:45:52 +03:00
Yuri Kuznetsov 67c0ac45bd fix typo 2022-08-22 10:45:35 +03:00
Yuri Kuznetsov 26f3c5630a dashbord layout add dashlet filter portal 2022-08-22 10:07:58 +03:00
Yuri Kuznetsov f92f21764c idea change 2022-08-22 10:07:38 +03:00
Yuri Kuznetsov a8631a6ce9 kanban fix 2022-08-21 19:36:36 +03:00
Yuri Kuznetsov 4045e33453 fix typo 2022-08-21 19:16:13 +03:00
Yuri Kuznetsov 8c79eb1ea4 fix dashboard layout focus 2022-08-21 19:14:50 +03:00
Yuri Kuznetsov 8885db0ae5 fix 2022-08-20 19:35:32 +03:00
Yuri Kuznetsov a8d210a22a cs fix 2022-08-20 18:32:57 +03:00
Yuri Kuznetsov 82912197eb cs fix 2022-08-20 18:07:33 +03:00
Yuri Kuznetsov 33cac3a551 cs fix 2022-08-20 18:03:27 +03:00
Yuri Kuznetsov ca89fd021d cs fix 2022-08-20 17:51:20 +03:00
Yuri Kuznetsov ad4e7c0beb cs fix 2022-08-20 17:44:08 +03:00
Yuri Kuznetsov 739e2b0ebc cleanup 2022-08-20 14:51:53 +03:00
Yuri Kuznetsov 738c6791a4 list select shift change 2022-08-20 14:51:36 +03:00
David 9bfa1a9225 Shift select implementation (#2409)
* Shift select implementation

* fixed checking for the first time

Co-authored-by: David Moškoř <david.moskor@apertia.cz>
2022-08-20 14:22:18 +03:00
Yuri Kuznetsov 7e3cc0480e fix edit focus 2022-08-20 12:56:53 +03:00
Yuri Kuznetsov 5365640ca8 ctrl+click quick view 2022-08-20 12:34:42 +03:00
Yuri Kuznetsov fe0570b0c4 color fix 2022-08-20 12:02:24 +03:00
Yuri Kuznetsov cca76ec4e0 fix popover hide on tab 2022-08-19 21:30:18 +03:00
Yuri Kuznetsov c226fd7936 popover fix 2022-08-19 21:22:34 +03:00
Yuri Kuznetsov f65143edf3 cleanup 2022-08-19 21:10:19 +03:00
Yuri Kuznetsov 483b717825 header fix 2022-08-19 18:44:32 +03:00
Yuri Kuznetsov b8a53f793a person name ref and fix 2022-08-19 17:45:32 +03:00
Yuri Kuznetsov 0210f9642a ref 2022-08-19 17:20:35 +03:00
Yuri Kuznetsov b6af13767d stream panel focus fix 2022-08-19 16:31:43 +03:00
Yuri Kuznetsov 73ec521f41 popover refactoring 2022-08-19 16:25:51 +03:00
Yuri Kuznetsov ea4ff23eee ref 2022-08-19 15:15:21 +03:00
Yuri Kuznetsov d4131bbcb0 fix orm 2022-08-18 14:49:05 +03:00
Yuri Kuznetsov 237ef71ad0 record dashlet fields filter forbidden 2022-08-18 12:23:59 +03:00
Yuri Kuznetsov 918f3fdd70 cleanup 2022-08-18 12:19:56 +03:00
Yuri Kuznetsov 98bbf8c1ba fix comment 2022-08-18 12:05:07 +03:00
Yuri Kuznetsov 613b82a85a ref 2022-08-18 12:01:46 +03:00
Yuri Kuznetsov f72cefeaef rebuild refactoring 2022-08-18 11:53:57 +03:00
Yuri Kuznetsov 316e7ec876 types 2022-08-18 11:22:46 +03:00
Yuri Kuznetsov e0ad00d857 query composer factory 2022-08-18 11:13:54 +03:00
Yuri Kuznetsov 108998be43 css fix 2022-08-17 20:43:31 +03:00
Yuri Kuznetsov 5b48d2d3eb cs fix 2022-08-17 20:37:10 +03:00
Yuri Kuznetsov 66c3aa2011 ref 2022-08-17 20:33:54 +03:00
Yuri Kuznetsov f7d0723516 fix email address 2022-08-17 19:56:28 +03:00
Yuri Kuznetsov 52588323a0 fix fullform draft 2022-08-17 19:46:23 +03:00
Yuri Kuznetsov 43451f99f1 fix icon 2022-08-17 19:19:22 +03:00
Yuri Kuznetsov 93139ee7d0 color fix 2022-08-17 19:09:46 +03:00
Yuri Kuznetsov 4ee86fccfa color fix 2022-08-17 19:06:32 +03:00
Yuri Kuznetsov cd1786c8ac fix naming 2022-08-17 18:47:24 +03:00
Yuri Kuznetsov 6a346bd01d fix last viewed 2022-08-17 15:37:45 +03:00
Yuri Kuznetsov b0b770eabe fix 2022-08-17 15:36:43 +03:00
Yuri Kuznetsov 21ef8c5fe6 jsdoc 2022-08-17 15:33:33 +03:00
Yuri Kuznetsov db6ecd6b68 fix typo 2022-08-17 14:48:28 +03:00
Yuri Kuznetsov cf54ede1ba var helper trim 2022-08-17 14:38:33 +03:00
Yuri Kuznetsov f8493d3300 fix test 2022-08-17 13:47:53 +03:00
Yuri Kuznetsov fad66fe813 fix 2022-08-17 13:30:50 +03:00
Yuri Kuznetsov 03c47cb625 sl_SI lang 2022-08-17 13:10:29 +03:00
Yuri Kuznetsov 21f2b22720 fix list view abort 2022-08-17 13:06:58 +03:00
Yuri Kuznetsov e4142bc0a1 language no santitize 2022-08-17 12:37:41 +03:00
Yuri Kuznetsov cba4d92f08 headerText usage 2022-08-17 12:13:24 +03:00
Yuri Kuznetsov 0836168771 clientSecurityHeadersDisabled 2022-08-17 10:36:19 +03:00
Yuri Kuznetsov 565f19f51b add google maps to csp 2022-08-17 10:31:23 +03:00
Yuri Kuznetsov b7de48a8e8 cleanup 2022-08-17 10:29:14 +03:00
Yuri Kuznetsov 402074a9b0 loader lib fix 2022-08-16 20:59:16 +03:00
Yuri Kuznetsov c5904fdda4 text usage 2022-08-16 20:01:18 +03:00
Yuri Kuznetsov 70fe7dfd62 text usage 2022-08-16 19:32:01 +03:00
Yuri Kuznetsov c3afa55f89 ref 2022-08-16 19:05:14 +03:00
Yuri Kuznetsov 3d9c5c01d2 fix loader exports to window 2022-08-16 18:56:22 +03:00
Yuri Kuznetsov 9422429df0 jsLibs exportVariable 2022-08-16 18:49:54 +03:00
Yuri Kuznetsov 4ecb8bf898 text usage 2022-08-16 18:32:29 +03:00
Yuri Kuznetsov 71dd03c914 text usage 2022-08-16 18:07:18 +03:00
Yuri Kuznetsov 9691f62ac3 fix formula set completer 2022-08-16 14:32:40 +03:00
Yuri Kuznetsov 374fcf2f9c autocomplete padding 2022-08-15 16:09:00 +03:00
Yuri Kuznetsov 940d407c77 css fix 2022-08-15 16:03:36 +03:00
Yuri Kuznetsov 9b2c988ddc hazyblue panel radius 2022-08-15 15:58:08 +03:00
Yuri Kuznetsov 6d25fb36a0 default theme 2022-08-15 15:53:46 +03:00
Yuri Kuznetsov 2fa287389b css fix 2022-08-15 15:51:57 +03:00
Yuri Kuznetsov 5b7010eebe default theme 2022-08-15 15:39:47 +03:00
Yuri Kuznetsov 32977a09f1 style fix 2022-08-15 15:37:00 +03:00
Yuri Kuznetsov b222a0996f ref 2022-08-15 13:18:26 +03:00
Yuri Kuznetsov 267dd01228 color fixes 2022-08-15 11:20:12 +03:00
Yuri Kuznetsov f07b129826 theme fix 2022-08-15 11:08:27 +03:00
Yuri Kuznetsov aae417a5d9 color fix 2022-08-15 10:56:35 +03:00
Yuri Kuznetsov 68aeaa54b9 loader path do not allow colon 2022-08-15 10:07:52 +03:00
Yuri Kuznetsov 8be18a2d11 cleanup 2022-08-15 10:07:08 +03:00
Yuri Kuznetsov cf35c20460 loader refactoring 2022-08-14 16:45:04 +03:00
Yuri Kuznetsov e51a8d74cb theme fix 2022-08-14 14:37:08 +03:00
Yuri Kuznetsov be6a872eda reminder border radius 2022-08-13 19:06:53 +03:00
Yuri Kuznetsov 34392267f1 fix link click 2022-08-13 19:02:41 +03:00
Yuri Kuznetsov b960228799 fix link key 2022-08-13 18:57:52 +03:00
Yuri Kuznetsov bb8f6c9941 key fix 2022-08-13 18:56:39 +03:00
Yuri Kuznetsov e6771aa5f6 fix click list 2022-08-13 18:50:59 +03:00
Yuri Kuznetsov 3f52538773 fix list view abort 2022-08-13 17:08:04 +03:00
Yuri Kuznetsov f66de9054d list view loading notification fix 2022-08-13 16:08:01 +03:00
Yuri Kuznetsov b109e8da68 shadow fix 2022-08-13 14:00:15 +03:00
Yuri Kuznetsov d14bb881bb theme shadows fixes 2022-08-13 13:55:12 +03:00
Yuri Kuznetsov eedfdd14e8 top bar shadow 2022-08-13 11:40:51 +03:00
Yuri Kuznetsov 14c28a5aab less ref 2022-08-13 11:02:52 +03:00
Yuri Kuznetsov 975ed83753 navbar shadow in variable 2022-08-13 10:17:35 +03:00
Yuri Kuznetsov df4e9c8ed0 renamane 2022-08-13 10:17:20 +03:00
Yuri Kuznetsov cd50307fdf stick-bar shadow 2022-08-13 09:57:37 +03:00
Yuri Kuznetsov feee057e2b ref 2022-08-12 15:59:58 +03:00
Yuri Kuznetsov 6581acd083 merge 2022-08-12 15:43:53 +03:00
Yuri Kuznetsov f3824117b3 v 2022-08-12 15:23:12 +03:00
Yuri Kuznetsov f3736da8a6 fix file field 2022-08-12 15:22:04 +03:00
Yuri Kuznetsov 198b746ce3 fix 2022-08-12 15:00:57 +03:00
Yuri Kuznetsov a9ded55e26 ref 2022-08-12 14:57:32 +03:00
Yuri Kuznetsov b50d56f884 fix attachment field focus 2022-08-12 13:45:34 +03:00
Yuri Kuznetsov 207794e168 tabindex 2022-08-12 13:33:42 +03:00
Yuri Kuznetsov 831e589b3d fix ics 2022-08-12 13:20:19 +03:00
Yuri Kuznetsov 61e6f5aeb5 select all a button fix 2022-08-12 13:10:35 +03:00
Yuri Kuznetsov a3477ac57d notification panel escape 2022-08-12 13:04:36 +03:00
Yuri Kuznetsov 9f08d3e9d6 a button click on enter 2022-08-12 12:58:57 +03:00
Yuri Kuznetsov d0f65e5fd9 wysiwyg validation message fix 2022-08-12 10:38:13 +03:00
Yuri Kuznetsov 5f20571958 jsdoc 2022-08-12 10:36:34 +03:00
Yuri Kuznetsov 4634597b7f tabindex 2022-08-12 10:17:46 +03:00
Yuri Kuznetsov ca44c8e9c7 tabindex 2022-08-12 10:05:38 +03:00
Yuri Kuznetsov 2551b024f0 css fixes 2022-08-11 21:09:21 +03:00
Yuri Kuznetsov e652320a3e modal panel shadow fix 2022-08-11 20:10:04 +03:00
Yuri Kuznetsov c1f13b146d file field focus 2022-08-11 17:58:00 +03:00
Yuri Kuznetsov 36f3d040dd inline edit disabled is html email tempalte 2022-08-11 17:53:23 +03:00
Yuri Kuznetsov 5ec3ac222b is-html disable inline edit 2022-08-11 17:52:17 +03:00
Yuri Kuznetsov 739f94a41b draft email attachment field fix 2022-08-11 17:50:34 +03:00
Yuri Kuznetsov 678ddfaf11 alert shadow 2022-08-11 16:46:33 +03:00
Yuri Kuznetsov 2cda441421 style shadow fix 2022-08-11 16:40:41 +03:00
Yuri Kuznetsov e518b8bef5 wysiwyg inline edit focus 2022-08-11 16:20:10 +03:00
Yuri Kuznetsov ae998c33bd wysiwyg fix shortcut 2022-08-11 16:15:38 +03:00
Yuri Kuznetsov dc2def1af7 hide smtp in preferences 2022-08-11 14:02:59 +03:00
Yuri Kuznetsov 9570857f8a selectize focus 2022-08-11 12:55:23 +03:00
Yuri Kuznetsov 6df100c2c2 fix inline edit focus 2022-08-11 12:49:59 +03:00
Yuri Kuznetsov 0b46188034 no username cookie 2022-08-11 12:44:38 +03:00
Yuri Kuznetsov eb8d958fa1 fix 2022-08-11 12:36:23 +03:00
Yuri Kuznetsov 7e74ddc54f phpdoc and type 2022-08-11 11:08:54 +03:00
Yuri Kuznetsov 90ac4bc071 throws tag 2022-08-11 11:05:16 +03:00
Yuri Kuznetsov c59b655200 add throw tags 2022-08-11 10:43:07 +03:00
Yuri Kuznetsov a1c7814f5a panel adjacent shadow fix 2022-08-11 10:11:54 +03:00
Yuri Kuznetsov db713e4c41 less blur 2022-08-11 09:56:04 +03:00
Yuri Kuznetsov 33d7f99c5c css fix 2022-08-11 09:53:27 +03:00
Yuri Kuznetsov 487fed21a1 radius change 2022-08-10 18:37:07 +03:00
Yuri Kuznetsov 8fed65f5be change radius 2022-08-10 18:35:41 +03:00
Yuri Kuznetsov d2f57cb558 radius change 2022-08-10 18:32:31 +03:00
Yuri Kuznetsov 8b905b6cd3 more radius 2022-08-10 18:16:19 +03:00
Yuri Kuznetsov e5389af306 fix phpdoc 2022-08-10 17:52:55 +03:00
Yuri Kuznetsov d524178d3b fix phpdoc 2022-08-10 17:41:20 +03:00
Yuri Kuznetsov 6f7198690d fix phpdoc 2022-08-10 17:36:13 +03:00
Yuri Kuznetsov d52b73f738 fix phpdoc 2022-08-10 17:28:36 +03:00
Yuri Kuznetsov 785aadc288 fix phpdoc 2022-08-10 17:19:31 +03:00
Yuri Kuznetsov 42175f98e4 fix phpdoc 2022-08-10 17:13:31 +03:00
Yuri Kuznetsov 62975b2957 fix phpdoc 2022-08-10 17:08:39 +03:00
Yuri Kuznetsov dc433f5a82 fix phpdoc 2022-08-10 17:05:49 +03:00
Yuri Kuznetsov 1af9256658 ref 2022-08-10 16:43:47 +03:00
Yuri Kuznetsov a3696af196 fix 2022-08-10 14:57:30 +03:00
Yuri Kuznetsov 20913c283e add slashes for text filter 2022-08-10 14:46:19 +03:00
Yuri Kuznetsov f9df70e710 Merge branch 'fix' 2022-08-10 12:57:14 +03:00
Yuri Kuznetsov c0c878c20b fix mass action 2022-08-10 12:56:43 +03:00
Yuri Kuznetsov abc19ee574 fix mass action 2022-08-10 12:55:47 +03:00
Yuri Kuznetsov 3b97d17aed color fix 2022-08-10 12:22:36 +03:00
Yuri Kuznetsov 06ceb371e3 fix 2022-08-10 12:12:42 +03:00
Yuri Kuznetsov d78666e0d2 fix login 2022-08-10 11:53:58 +03:00
Yuri Kuznetsov cde19542a6 dropdown fix 2022-08-10 11:36:37 +03:00
Yuri Kuznetsov 263e553a0f source mapping fixes 2022-08-10 11:26:29 +03:00
Yuri Kuznetsov a129d54e06 window.Espo 2022-08-10 09:55:39 +03:00
Yuri Kuznetsov 09f9cbf3df sourceUrl 2022-08-10 09:54:08 +03:00
Yuri Kuznetsov 14cb5730b5 fix validation message no element 2022-08-10 09:31:27 +03:00
Yuri Kuznetsov 64a0064f3c fix 2022-08-10 09:28:50 +03:00
Yuri Kuznetsov 7c9a605450 fix user auth method empty 2022-08-10 09:26:30 +03:00
Yuri Kuznetsov 7a9d0af314 after-update kb 2022-08-10 09:14:53 +03:00
Yuri Kuznetsov e2e3bf9a71 fix kanban remove from detail 2022-08-10 09:08:29 +03:00
Yuri Kuznetsov 7752c85304 fix 2022-08-10 09:03:07 +03:00
Yuri Kuznetsov 51fcd5aca9 ref 2022-08-10 08:43:45 +03:00
Yuri Kuznetsov ad9391ad9e cs fix 2022-08-10 08:37:37 +03:00
Yuri Kuznetsov 0a97096c61 fix ctrl click 2022-08-10 08:27:25 +03:00
Yuri Kuznetsov fd5b77d919 email filder folder mass action fix 2022-08-09 23:24:33 +03:00
Yuri Kuznetsov f118f572bc default article 2022-08-09 23:15:46 +03:00
Yuri Kuznetsov c08b43991a ref 2022-08-09 20:35:36 +03:00
Yuri Kuznetsov f58f2071ed fix style 2022-08-09 20:34:22 +03:00
Yuri Kuznetsov 879df57fa0 fix 2022-08-09 19:35:58 +03:00
Yuri Kuznetsov 46d0fa2c15 role button 2022-08-09 19:31:36 +03:00
Yuri Kuznetsov f242cd1454 role button 2022-08-09 19:05:11 +03:00
Yuri Kuznetsov ba04f1c7f1 fix 2022-08-09 19:01:29 +03:00
Yuri Kuznetsov df45635fd5 fixes 2022-08-09 19:00:01 +03:00
Yuri Kuznetsov 260f13bf3f a role button 2022-08-09 18:57:02 +03:00
Yuri Kuznetsov bdd0ced5d2 loader fix 2022-08-09 17:43:30 +03:00
Yuri Kuznetsov f3a729e283 update flowchart 2022-08-09 17:39:31 +03:00
Yuri Kuznetsov af345e8721 fix phone email selectable 2022-08-09 16:57:11 +03:00
Yuri Kuznetsov 99670c7b3d strict mode js 2022-08-09 16:50:24 +03:00
Yuri Kuznetsov 01dffd98f2 fixes 2022-08-09 16:48:44 +03:00
Yuri Kuznetsov 137b989064 fix 2022-08-09 16:34:41 +03:00
Yuri Kuznetsov 19eaca9bf4 fix 2022-08-09 15:53:55 +03:00
Yuri Kuznetsov 83c82767c3 cs fix 2022-08-09 14:39:07 +03:00
Yuri Kuznetsov 838be733ff fix 2022-08-09 14:38:08 +03:00
Yuri Kuznetsov 6a49e812fb revert param 2022-08-09 14:37:10 +03:00
Yuri Kuznetsov 95ce8645f2 client headers 2022-08-09 14:30:01 +03:00
Yuri Kuznetsov b707bf70b8 fix 2022-08-09 13:13:14 +03:00
Yuri Kuznetsov bc7de312c1 style fixes 2022-08-09 11:51:20 +03:00
Yuri Kuznetsov 9c851a1662 fix style 2022-08-09 11:40:49 +03:00
Yuri Kuznetsov 41cc7efe5b preint to pdf focus 2022-08-08 17:34:23 +03:00
Yuri Kuznetsov 22d141cd20 export ctrl+enter 2022-08-08 17:28:41 +03:00
Yuri Kuznetsov 768c8f6247 more radius 2022-08-08 13:53:43 +03:00
Yuri Kuznetsov 478079ce19 kanban no draggin btn 2022-08-08 13:16:53 +03:00
Yuri Kuznetsov d472809175 color fix 2022-08-08 13:11:31 +03:00
Yuri Kuznetsov 37ed7f3527 imap fetch since without quotes 2022-08-08 12:46:39 +03:00
Yuri Kuznetsov 1d9b011a68 layout manager grid cancel fix 2022-08-08 12:39:32 +03:00
Yuri Kuznetsov c6e8ce5ad4 kanban css change 2022-08-08 11:26:14 +03:00
Yuri Kuznetsov 63223a1150 style fixes 2022-08-07 23:12:22 +03:00
Yuri Kuznetsov 580e2858a5 css fixes 2022-08-07 23:03:34 +03:00
Yuri Kuznetsov f298a5d0b2 focus on reset fitler 2022-08-07 19:09:31 +03:00
Yuri Kuznetsov 1e9e60640c css fix 2022-08-07 19:00:58 +03:00
Yuri Kuznetsov c36096cb45 date-start date-end dep 2022-08-07 16:45:35 +03:00
Yuri Kuznetsov cf6bf2ad28 color fix 2022-08-07 16:39:09 +03:00
Yuri Kuznetsov 09b62d5112 color fix 2022-08-07 16:15:36 +03:00
Yuri Kuznetsov c12eacc4c1 theme color changes 2022-08-07 16:11:49 +03:00
Yuri Kuznetsov b5289212b1 see-more style fix 2022-08-07 15:38:57 +03:00
Yuri Kuznetsov 856e68f9ee dark theme more radius 2022-08-07 15:30:54 +03:00
Yuri Kuznetsov 9eb7e2ce0f theme fix 2022-08-07 15:26:28 +03:00
Yuri Kuznetsov a0777dc452 dashlet dropdwon issue fix 2022-08-07 12:05:07 +03:00
Yuri Kuznetsov 7ecf2ea11d see more icon 2022-08-07 11:05:42 +03:00
Yuri Kuznetsov 4af7fde960 commented 2022-08-07 11:00:52 +03:00
Yuri Kuznetsov 838a80fa55 dashlet no dragging over menu 2022-08-07 10:49:51 +03:00
Yuri Kuznetsov 36a72d0cb9 link mult search filter style fix 2022-08-07 10:41:13 +03:00
Yuri Kuznetsov ea00d2d869 theme fixes 2022-08-07 10:37:06 +03:00
Yuri Kuznetsov 1b2f96fe5b theme fixes 2022-08-06 21:35:49 +03:00
Yuri Kuznetsov 8323627e9a fix radius 2022-08-06 21:23:46 +03:00
Yuri Kuznetsov 73a2ece6a1 strip source maps 2022-08-06 21:14:11 +03:00
Yuri Kuznetsov 3fc84a8453 cs fix 2022-08-06 20:39:18 +03:00
Yuri Kuznetsov d2480e9637 ref 2022-08-06 20:33:30 +03:00
Yuri Kuznetsov fb95614171 tpl fix 2022-08-06 20:28:16 +03:00
Yuri Kuznetsov 97e497cced style changes 2022-08-06 20:15:44 +03:00
Yuri Kuznetsov 0857e28931 ref 2022-08-06 17:53:05 +03:00
Yuri Kuznetsov b1226fb091 fix popover 2022-08-06 17:43:34 +03:00
Yuri Kuznetsov a68c797cb6 ref 2022-08-06 17:33:39 +03:00
Yuri Kuznetsov f29a1a1e80 fix 2022-08-06 17:30:01 +03:00
Yuri Kuznetsov bea7442ecf stream tpl fix 2022-08-06 17:17:18 +03:00
Yuri Kuznetsov fc09c29769 style fix 2022-08-06 17:09:44 +03:00
Yuri Kuznetsov 5c997b04c3 css fixes 2022-08-06 17:05:25 +03:00
Yuri Kuznetsov 9a7e0e8b2a navbar fix 2022-08-06 17:05:18 +03:00
Yuri Kuznetsov ff519194c9 css fixes 2022-08-06 14:44:46 +03:00
Yuri Kuznetsov b89d9bd6b5 fix tab index 2022-08-06 13:56:56 +03:00
Yuri Kuznetsov 183ab82f5a css fix 2022-08-06 13:55:10 +03:00
Yuri Kuznetsov 8be9e1ec55 btn fixes 2022-08-06 13:49:56 +03:00
Yuri Kuznetsov a4ae94f5e9 fix less 2022-08-06 12:37:11 +03:00
Yuri Kuznetsov be981741ce fix 2022-08-06 12:29:04 +03:00
Yuri Kuznetsov 9491895991 ref 2022-08-06 12:27:25 +03:00
Yuri Kuznetsov 038c374dcd detail record buttons impr 2022-08-06 11:59:15 +03:00
Yuri Kuznetsov ccc2ed09b8 select record ctrl enter 2022-08-06 11:22:32 +03:00
Yuri Kuznetsov 4a570c6699 formula sandbox run title 2022-08-06 10:57:43 +03:00
Yuri Kuznetsov 8bccde26d2 css type fixes 2022-08-06 10:56:35 +03:00
Yuri Kuznetsov f924f60de3 fix user teams 2022-08-06 10:44:19 +03:00
Yuri Kuznetsov 3d646039be css fix 2022-08-05 21:54:18 +03:00
Yuri Kuznetsov da064ff76f css fix 2022-08-05 17:53:26 +03:00
Yuri Kuznetsov 4f17ebabee link text muted hover 2022-08-05 17:52:05 +03:00
Yuri Kuznetsov 0cd88f2ec9 colorpicker style fix 2022-08-05 17:47:00 +03:00
Yuri Kuznetsov 77d5e1997d bc fix 2022-08-05 17:08:54 +03:00
Yuri Kuznetsov 2e688d7671 dashlet options buttons small 2022-08-05 16:27:36 +03:00
Yuri Kuznetsov 3a5e514691 cs fix 2022-08-05 16:24:05 +03:00
Yuri Kuznetsov 5e7e920687 focus fix 2022-08-05 13:28:20 +03:00
Yuri Kuznetsov adefd7d3c5 router fix 2022-08-05 13:15:19 +03:00
Yuri Kuznetsov e2a1e497fc focus fix 2022-08-05 13:15:13 +03:00
Yuri Kuznetsov bd9dc3dfe3 ref 2022-08-05 12:37:39 +03:00
Yuri Kuznetsov 58a0be2cef fix 2022-08-05 12:13:04 +03:00
Yuri Kuznetsov fea97768d9 fetch main 2022-08-05 12:11:36 +03:00
Yuri Kuznetsov 41865d8cde note acl 2022-08-05 12:05:52 +03:00
Yuri Kuznetsov b2df17cf93 cleanup 2022-08-05 11:30:47 +03:00
Yuri Kuznetsov ec0649f65a note view 2022-08-05 11:17:10 +03:00
Yuri Kuznetsov 01cc896972 fix validate tab list unique 2022-08-05 09:17:36 +03:00
Yuri Kuznetsov 522e9be624 css fix 2022-08-04 21:23:54 +03:00
Yuri Kuznetsov 856f4687e7 css fixes 2022-08-04 21:09:23 +03:00
Yuri Kuznetsov ca4f787131 theme fix 2022-08-04 19:47:50 +03:00
Yuri Kuznetsov d518d3671b fix tab switch 2022-08-04 18:35:57 +03:00
Yuri Kuznetsov 9bcdef9107 cs fix 2022-08-04 16:30:23 +03:00
Yuri Kuznetsov 8854f60f4a fix notify not closed 2022-08-04 15:01:49 +03:00
Yuri Kuznetsov 760f51352b preset filters shortcuts 2022-08-04 13:52:14 +03:00
Yuri Kuznetsov 11860495c6 modal on backdrop click 2022-08-04 12:35:34 +03:00
Yuri Kuznetsov 320420ef29 ref 2022-08-04 12:00:30 +03:00
Yuri Kuznetsov 157b2a60bb ref 2022-08-04 10:57:49 +03:00
Yuri Kuznetsov 1299b20fe1 ref 2022-08-04 10:49:44 +03:00
Yuri Kuznetsov b69109a5d4 fix icon 2022-08-04 10:44:10 +03:00
Yuri Kuznetsov 3d6e83a8cf email draft layout 2022-08-04 10:41:09 +03:00
Yuri Kuznetsov abe076dc68 fix wywiwyg 2022-08-04 10:02:37 +03:00
Yuri Kuznetsov cf5b6a6b62 pt_BR 2022-08-04 09:59:04 +03:00
Yuri Kuznetsov ac115642cd ctrl click 2022-08-04 09:55:42 +03:00
Yuri Kuznetsov 41af71ebf3 fix dashlets 2022-08-04 09:47:55 +03:00
Yuri Kuznetsov 85ed285c79 dashlet btn header style 2022-08-03 18:07:51 +03:00
Yuri Kuznetsov 906f6e5717 fix test 2022-08-03 16:58:49 +03:00
Yuri Kuznetsov 4d2933797d email importer refactor 2022-08-03 16:48:07 +03:00
Yuri Kuznetsov e237084ec4 last viewed loading 2022-08-03 16:27:24 +03:00
Yuri Kuznetsov 6e5148c48a global search escape 2022-08-03 16:06:10 +03:00
Yuri Kuznetsov 9dd9d4e33a css fix 2022-08-03 16:02:13 +03:00
Yuri Kuznetsov 306de81763 css fix 2022-08-03 15:11:48 +03:00
Yuri Kuznetsov 533b51aed4 fix theme field 2022-08-03 14:58:27 +03:00
Yuri Kuznetsov 7576428284 css panel buttons 2022-08-03 14:50:22 +03:00
Yuri Kuznetsov ab24606bdf activities create buttons 2022-08-03 13:37:56 +03:00
Yuri Kuznetsov 204046620c cs fix 2022-08-03 12:47:44 +03:00
Yuri Kuznetsov f3d234877b admin disabled scope as acl false 2022-08-03 12:45:23 +03:00
Yuri Kuznetsov 81f346fcc9 cs fix 2022-08-03 12:17:01 +03:00
Yuri Kuznetsov 3033d3f09b cs fixes 2022-08-03 11:45:04 +03:00
Yuri Kuznetsov 5c7b674b60 ref 2022-08-03 11:27:14 +03:00
Yuri Kuznetsov 89ccbbb2ec theme fixes 2022-08-03 11:04:48 +03:00
Yuri Kuznetsov 899c9dcb74 focus color 2022-08-03 11:00:30 +03:00
Yuri Kuznetsov 74d00c8b89 css fix 2022-08-03 10:27:42 +03:00
Yuri Kuznetsov f8bfd6869c draft email shortcuts 2022-08-03 10:15:16 +03:00
Yuri Kuznetsov 2aaafe850f no keyCode usage 2022-08-03 09:53:18 +03:00
Yuri Kuznetsov 4d7f86b5da cleanup 2022-08-03 09:34:06 +03:00
Yuri Kuznetsov 9eaab5176a after upgrade event fix 2022-08-03 09:30:10 +03:00
Yuri Kuznetsov 74661e676c fix theme 2022-08-02 20:23:27 +03:00
Yuri Kuznetsov 7f3db957a4 reminder ui fix 2022-08-02 20:06:59 +03:00
Yuri Kuznetsov 0f7ed3d4c7 ctrl space from input 2022-08-02 19:04:41 +03:00
Yuri Kuznetsov 5f2a2728fc create from modals shortcuts 2022-08-02 18:59:02 +03:00
Yuri Kuznetsov 429faf405c focus on searcn bar shortcut 2022-08-02 18:35:14 +03:00
Yuri Kuznetsov 6a5f15bbc5 shortcut next/prev 2022-08-02 17:49:35 +03:00
Yuri Kuznetsov 375454fc5d fix 2022-08-02 16:24:09 +03:00
Yuri Kuznetsov 41b92c9ee1 past calls in my calls dashlet 2022-08-02 16:19:46 +03:00
Yuri Kuznetsov 6293fb98d6 fix layout css 2022-08-02 15:41:14 +03:00
Yuri Kuznetsov 306321258d update jquery-ui 2022-08-02 15:16:08 +03:00
Yuri Kuznetsov 03e85ea32e update moment 2022-08-02 15:05:12 +03:00
Yuri Kuznetsov 551e2a6b47 update selectize 2022-08-02 15:03:50 +03:00
Yuri Kuznetsov 0d4214fe46 update selectize 2022-08-02 14:48:07 +03:00
Yuri Kuznetsov c8d0fb019e revert package 2022-08-02 14:30:52 +03:00
Yuri Kuznetsov 9867eab381 update moment 2022-08-02 13:43:45 +03:00
Yuri Kuznetsov 252c5a34b3 fix lock 2022-08-02 13:42:40 +03:00
Yuri Kuznetsov ce5e7d79e8 update package lock 2022-08-02 13:14:18 +03:00
Yuri Kuznetsov e8946bb4fe fix 2022-08-02 13:14:04 +03:00
Yuri Kuznetsov d79a5cadd4 Merge branch 'stable' 2022-08-02 12:58:54 +03:00
Yuri Kuznetsov 4e3cee4dc8 fix 2022-08-02 11:07:48 +03:00
Yuri Kuznetsov 61922e0558 acceptance status list view 2022-08-02 10:56:30 +03:00
Yuri Kuznetsov 300cb53f3a more metadata forceAppendPathList 2022-08-02 10:39:23 +03:00
Yuri Kuznetsov 0a43c781e0 filter aux 2022-08-01 22:01:06 +03:00
Yuri Kuznetsov 87c6b9e5d5 stream post do not hide on tab 2022-08-01 16:46:12 +03:00
Yuri Kuznetsov 3f6a8eea5a file upload input tab outline 2022-08-01 16:41:16 +03:00
Yuri Kuznetsov 1b8142d4c3 fix 2022-08-01 16:33:20 +03:00
Yuri Kuznetsov 28113d50ca cs fix 2022-08-01 16:26:37 +03:00
Yuri Kuznetsov 0851d2ce7a theme fix 2022-08-01 16:16:05 +03:00
Yuri Kuznetsov b32f627bda modal record view shortcut switch tabs 2022-08-01 16:08:35 +03:00
Yuri Kuznetsov e88153b917 fix tabs switch 2022-08-01 16:02:50 +03:00
Yuri Kuznetsov 893a260ed8 fix text cut 2022-08-01 15:59:31 +03:00
Yuri Kuznetsov e93ff18b4c shortcut switch tabs 2022-08-01 15:41:14 +03:00
Yuri Kuznetsov 048a75ff67 calendar create event shortcut 2022-08-01 15:06:42 +03:00
Yuri Kuznetsov 911bdb3a51 timeline create shortcut 2022-08-01 14:41:56 +03:00
Yuri Kuznetsov b87019e200 calendar mode shortcuts 2022-08-01 13:14:01 +03:00
Yuri Kuznetsov e413ca6643 shift key 2022-08-01 12:58:02 +03:00
Yuri Kuznetsov 642ddf5a6c calendar shortcuts 2022-08-01 12:53:21 +03:00
Yuri Kuznetsov 42c62ea59b cs fix 2022-08-01 12:01:16 +03:00
Yuri Kuznetsov d19b7ef657 search with ctrl+enter 2022-08-01 11:26:13 +03:00
Yuri Kuznetsov 6fbc892acf cleanup 2022-08-01 11:12:29 +03:00
Yuri Kuznetsov 38d62d3a8f multi-select prevent ctrl enter 2022-08-01 11:10:37 +03:00
Yuri Kuznetsov a44d3aa4a3 selectize wrapper 2022-08-01 11:01:28 +03:00
Yuri Kuznetsov 248d288803 fix assigned user tab 2022-08-01 08:47:04 +03:00
Yuri Kuznetsov 564956d151 fix 2022-08-01 08:17:54 +03:00
Yuri Kuznetsov 75888d2f38 css fix 2022-07-31 21:53:57 +03:00
Yuri Kuznetsov 3b9f705a53 fix 2022-07-31 21:51:11 +03:00
Yuri Kuznetsov e24d695eb3 theme fixes 2022-07-31 21:35:36 +03:00
Yuri Kuznetsov 55d68f1143 disable tabindex footer 2022-07-31 20:02:19 +03:00
Yuri Kuznetsov 58e006cdde focus for create modal 2022-07-31 19:56:45 +03:00
Yuri Kuznetsov 48811450a8 show validation message if field is in hidden panel 2022-07-31 19:45:33 +03:00
Yuri Kuznetsov 8aa2f12a8b email focus 2022-07-31 17:47:37 +03:00
Yuri Kuznetsov a13c7d9465 focus on create 2022-07-31 17:44:03 +03:00
Yuri Kuznetsov 3dd82aa61e shortcuts 2022-07-31 17:31:40 +03:00
Yuri Kuznetsov e67a1b67ed save and new shortcut 2022-07-31 16:57:10 +03:00
Yuri Kuznetsov 463649ffa8 modal prevent scroll 2022-07-31 16:28:08 +03:00
Yuri Kuznetsov e037f2fddb css fix 2022-07-31 16:20:07 +03:00
Yuri Kuznetsov 6aef2939f9 shortcuts 2022-07-31 14:58:53 +03:00
Yuri Kuznetsov 0b6486a03b shorctuts 2022-07-31 13:36:21 +03:00
Yuri Kuznetsov fb39f0915f fix inline edit link 2022-07-31 13:24:05 +03:00
Yuri Kuznetsov a80178494a fixes 2022-07-31 12:23:20 +03:00
Yuri Kuznetsov 7bdb61c05e alt shortcut support 2022-07-31 11:58:25 +03:00
Yuri Kuznetsov 47403e2e35 title 2022-07-31 11:54:29 +03:00
Yuri Kuznetsov a7d86dff4b shortcuts and titles 2022-07-31 11:51:44 +03:00
Yuri Kuznetsov a1ef2886dc fix 2022-07-31 11:33:59 +03:00
Yuri Kuznetsov 2f8ec94169 shortcut keys 2022-07-31 11:21:07 +03:00
Yuri Kuznetsov 1c6c445a59 shortcut keys 2022-07-31 10:54:59 +03:00
Yuri Kuznetsov f1cfb01451 shortcut keys 2022-07-31 10:10:02 +03:00
Yuri Kuznetsov 8921ed42ad modal edit shortcut 2022-07-30 18:07:42 +03:00
Yuri Kuznetsov 0836d52065 modal shortcut keys 2022-07-30 17:51:33 +03:00
Yuri Kuznetsov 4f4b362c05 cleanup 2022-07-30 17:31:51 +03:00
Yuri Kuznetsov 63db221a2a cs fix 2022-07-30 17:31:15 +03:00
Yuri Kuznetsov 31c4206b2e login key 2022-07-30 17:27:07 +03:00
Yuri Kuznetsov 13e0f0f06a isAllDay not readonly 2022-07-30 13:16:04 +03:00
Yuri Kuznetsov 153dd65a0d ctrl+s fixes 2022-07-30 13:04:58 +03:00
Yuri Kuznetsov 306fca8291 ctrl+s fixes 2022-07-30 12:44:44 +03:00
Yuri Kuznetsov ef253690d6 ctrl+s modal fix 2022-07-30 12:31:34 +03:00
Yuri Kuznetsov f5377fe12b ctrl+s inline edit 2022-07-30 12:14:36 +03:00
Yuri Kuznetsov c35cb98b32 fix doc 2022-07-30 11:42:32 +03:00
Yuri Kuznetsov 009f090061 ctrl+s 2022-07-30 11:38:54 +03:00
Yuri Kuznetsov 61c586c31d email compose shortcut 2022-07-30 11:00:54 +03:00
Yuri Kuznetsov a90cf7b8e3 modal edit escape fetch 2022-07-30 10:53:13 +03:00
Yuri Kuznetsov db4e5c001b escape key fetch 2022-07-30 10:45:28 +03:00
Yuri Kuznetsov ead76d78a3 ref 2022-07-30 10:40:28 +03:00
Yuri Kuznetsov 02cf4f4bb8 fix 2022-07-30 10:37:44 +03:00
Yuri Kuznetsov f9040b3afb wysiwyg disable ctrl enter 2022-07-30 10:26:29 +03:00
Yuri Kuznetsov e47155006b cs fix 2022-07-30 10:16:17 +03:00
Yuri Kuznetsov a07213fa5f bypass shorcut enter action 2022-07-30 10:07:58 +03:00
Yuri Kuznetsov d74d89e9d4 restore focus on modal close 2022-07-29 17:30:17 +03:00
Yuri Kuznetsov fc2c3ce644 shortcuts 2022-07-29 17:08:23 +03:00
Yuri Kuznetsov 7745a92490 shortcuts 2022-07-29 16:58:29 +03:00
Yuri Kuznetsov 92c0cf297c cleanup 2022-07-29 16:14:52 +03:00
Yuri Kuznetsov c6accac161 theme fixes 2022-07-29 14:30:39 +03:00
Yuri Kuznetsov 58b4a9b965 theme fix 2022-07-29 14:07:26 +03:00
Yuri Kuznetsov d77022a167 fix 2022-07-29 13:49:49 +03:00
Yuri Kuznetsov 1c77a197ab inline edit save close shortcuts 2022-07-29 13:48:52 +03:00
Yuri Kuznetsov fa1354a3b9 key save 2022-07-29 13:05:10 +03:00
Yuri Kuznetsov fc5c159d00 ref 2022-07-29 12:38:42 +03:00
Yuri Kuznetsov d4aa273661 stream post ctrl enter 2022-07-29 12:25:55 +03:00
Yuri Kuznetsov ff1c5e9e20 theme fix 2022-07-29 12:00:10 +03:00
Yuri Kuznetsov eff9ae7225 add theme to install 2022-07-29 11:14:42 +03:00
Yuri Kuznetsov 146bdf01f1 style fixes 2022-07-29 10:52:17 +03:00
Yuri Kuznetsov 487201d8e7 glass theme 2022-07-29 10:41:17 +03:00
Yuri Kuznetsov 788d72afc4 summernote tooltip radius 2022-07-29 10:11:54 +03:00
Yuri Kuznetsov f5da342192 css fix 2022-07-29 10:07:05 +03:00
Yuri Kuznetsov 2ce82fe605 panel title -1px 2022-07-29 10:01:13 +03:00
Yuri Kuznetsov 291a54f070 login middle 2022-07-29 09:50:28 +03:00
Yuri Kuznetsov 14750fa131 cleanup 2022-07-29 08:56:22 +03:00
Yuri Kuznetsov 26fde45450 dashlet dragging cursor 2022-07-28 20:20:30 +03:00
Yuri Kuznetsov cef116b4d6 hover color 2022-07-28 20:09:37 +03:00
Yuri Kuznetsov 04324bd03b update flotr 2022-07-28 19:44:06 +03:00
Yuri Kuznetsov 4a302e637b ref 2022-07-28 17:51:30 +03:00
Yuri Kuznetsov da13823dbc calendar new event color 2022-07-28 17:18:59 +03:00
Yuri Kuznetsov 9b6d1455a8 css fix 2022-07-28 16:59:19 +03:00
Yuri Kuznetsov 10845e1432 calendar color fix 2022-07-28 16:59:19 +03:00
Yuri Kuznetsov 88dacb6a02 cs fix 2022-07-28 16:59:19 +03:00
Taras Machyshyn d9cc84b50a Tests: added utf8mb3_unicode_ci 2022-07-28 16:34:51 +03:00
Yuri Kuznetsov 9505fe8222 calendar shade color aplha 2022-07-28 16:05:52 +03:00
Yuri Kuznetsov 70eca7a7b2 kanban padding fix 2022-07-28 11:37:23 +03:00
Yuri Kuznetsov e9636e7e6f less fix 2022-07-28 11:33:57 +03:00
Yuri Kuznetsov 84dc7f796e less ref 2022-07-28 11:28:54 +03:00
Yuri Kuznetsov 16ccab49a5 theme ref 2022-07-28 11:04:33 +03:00
Yuri Kuznetsov 3dfd6b6c57 fix text info 2022-07-28 09:59:25 +03:00
Yuri Kuznetsov 5ac84f20d3 css fix 2022-07-28 09:21:55 +03:00
Yuri Kuznetsov 590b32c7ae css fix 2022-07-28 09:21:55 +03:00
Yuri Kuznetsov 9530c378d5 kanban gray color fix 2022-07-28 09:21:54 +03:00
Taras Machyshyn 8fc2f85c37 Tests: added utf8mb3_unicode_ci 2022-07-27 18:40:09 +03:00
Taras Machyshyn 88063f5ec7 Tests: added utf8mb3_unicode_ci 2022-07-27 18:31:36 +03:00
Yuri Kuznetsov 9e6e8f580c css fix 2022-07-27 14:42:14 +03:00
Yuri Kuznetsov 586baeea14 css fix 2022-07-27 14:40:51 +03:00
Yuri Kuznetsov 3bf44c44a1 style fix 2022-07-27 13:26:03 +03:00
Yuri Kuznetsov f05cc3f045 dep lang meeting 2022-07-27 13:18:08 +03:00
Yuri Kuznetsov 0aced49759 tab fix 2022-07-27 13:13:28 +03:00
Yuri Kuznetsov 45d87e5462 invintation email message 2022-07-27 13:10:06 +03:00
Yuri Kuznetsov 5b10212354 fix diff 2022-07-27 12:47:57 +03:00
Yuri Kuznetsov 5324c4f681 v 2022-07-27 12:31:45 +03:00
Yuri Kuznetsov e315063e3f fix install 2022-07-27 12:14:36 +03:00
Yuri Kuznetsov ba35a08cca cleanup 2022-07-27 10:49:56 +03:00
Yuri Kuznetsov e4a2fafb90 thmes ref 2022-07-27 10:47:08 +03:00
Yuri Kuznetsov 2c89644149 cleanup 2022-07-27 10:08:48 +03:00
Yuri Kuznetsov 07d2a1e897 css fix 2022-07-27 10:07:31 +03:00
Yuri Kuznetsov 89f832bf22 style fixes 2022-07-27 09:46:29 +03:00
Yuri Kuznetsov 6161cd8ea2 dark theme more radius 2022-07-27 09:38:18 +03:00
Yuri Kuznetsov 7b708ace1e theme fixes 2022-07-27 09:36:18 +03:00
Yuri Kuznetsov e0b542fac6 global search scope text change 2022-07-26 17:37:18 +03:00
Yuri Kuznetsov 17f871b424 style fix 2022-07-26 17:35:18 +03:00
Yuri Kuznetsov 4b565d9dd0 css fix 2022-07-26 16:32:16 +03:00
Yuri Kuznetsov d1c2678cb1 style fix 2022-07-26 16:17:18 +03:00
Yuri Kuznetsov 1fbe13bb03 style fixes 2022-07-26 16:12:53 +03:00
Yuri Kuznetsov 38b0dbd4d0 style fix 2022-07-26 15:44:16 +03:00
Yuri Kuznetsov 6d9bab52bd preferences tabs 2022-07-26 15:41:04 +03:00
Yuri Kuznetsov 11aac106cd color fix 2022-07-26 15:26:53 +03:00
Yuri Kuznetsov 9a043cc95e lang fix 2022-07-26 13:42:07 +03:00
Yuri Kuznetsov c527144719 default theme params 2022-07-26 13:38:21 +03:00
Yuri Kuznetsov 73905a789e after upgrade 2022-07-26 13:36:24 +03:00
Yuri Kuznetsov d115005a14 navbar fix 2022-07-26 13:13:00 +03:00
Yuri Kuznetsov df2c381946 css fix 2022-07-26 12:56:57 +03:00
Yuri Kuznetsov 3b4539858c style fix 2022-07-26 12:47:27 +03:00
Yuri Kuznetsov 0403af91fa Merge branch 'fix' 2022-07-26 12:37:58 +03:00
Yuri Kuznetsov b98bbd8d4c v 2022-07-26 12:26:24 +03:00
Yuri Kuznetsov 1722e43fa8 dashboard layout settings refactor 2022-07-26 12:25:23 +03:00
Yuri Kuznetsov 05af5fa0f6 dashboard layout settings refactor 2022-07-26 12:24:49 +03:00
Yuri Kuznetsov fdab5c42a6 join themes 2022-07-26 11:49:34 +03:00
Yuri Kuznetsov d62fce6b32 fix 2022-07-26 11:23:48 +03:00
Yuri Kuznetsov 33b737296e grid autofit 2022-07-26 11:02:05 +03:00
Yuri Kuznetsov dfcb7f1445 ref 2022-07-26 09:55:16 +03:00
Yuri Kuznetsov 14511dce70 fix text color 2022-07-25 15:52:00 +03:00
Yuri Kuznetsov f0dc216994 navbar fixes 2022-07-25 15:44:36 +03:00
Yuri Kuznetsov 023b5a977a css fix 2022-07-25 15:07:48 +03:00
Yuri Kuznetsov 2c08b5d80a login footer fix 2022-07-25 14:40:30 +03:00
Yuri Kuznetsov 890b9d8db0 footer fixes 2022-07-25 14:33:12 +03:00
Yuri Kuznetsov 7240f13c12 fix 2022-07-25 13:42:18 +03:00
Yuri Kuznetsov 910fe5546c navbar tabs no select 2022-07-25 12:54:54 +03:00
Yuri Kuznetsov 4d633853a8 kanban no select 2022-07-25 12:51:09 +03:00
Yuri Kuznetsov 1b0c9f77ab error tpl changes 2022-07-25 12:46:11 +03:00
Yuri Kuznetsov d262c4bc51 sticky top small screen fix 2022-07-25 11:57:03 +03:00
Yuri Kuznetsov 625ee91bc0 role ui fix 2022-07-25 11:50:26 +03:00
Yuri Kuznetsov 05e296879f role sticky head detail 2022-07-25 11:44:54 +03:00
Yuri Kuznetsov 33140d4928 fix sticky head 2022-07-25 11:37:44 +03:00
Yuri Kuznetsov f178d92273 cs fix 2022-07-25 11:33:19 +03:00
Yuri Kuznetsov ffae105b38 rtl fixes 2022-07-25 11:16:23 +03:00
Yuri Kuznetsov 7a65acc8ee top bar css fix 2022-07-25 10:27:44 +03:00
Yuri Kuznetsov 5de892d3b3 notification li open 2022-07-25 10:18:34 +03:00
Yuri Kuznetsov 180e4143a1 top-bar imp 2022-07-25 10:13:54 +03:00
Yuri Kuznetsov f92b1168ac buttons style ref 2022-07-24 21:31:53 +03:00
Yuri Kuznetsov c343ee4c5f css fix 2022-07-24 20:54:44 +03:00
Yuri Kuznetsov ee33e560e7 ref 2022-07-24 20:49:07 +03:00
Yuri Kuznetsov 6589c8ed17 tabindex 2022-07-24 18:11:46 +03:00
Yuri Kuznetsov 7a93eb59a1 css fixes 2022-07-24 18:05:37 +03:00
Yuri Kuznetsov a18bd4d184 css fixes 2022-07-24 17:41:01 +03:00
Yuri Kuznetsov 34821f2b4b fix 2022-07-24 14:18:21 +03:00
Yuri Kuznetsov 16d46abb1a css fixes 2022-07-24 14:09:13 +03:00
Yuri Kuznetsov 10259a9c99 attachment field clearfix 2022-07-24 13:53:02 +03:00
Yuri Kuznetsov 937971e3dd fix sticked 2022-07-24 13:49:01 +03:00
Yuri Kuznetsov dd732d3044 install themes 2022-07-24 13:23:57 +03:00
Yuri Kuznetsov 77129b9f81 themes grand refactoring 2022-07-24 13:21:11 +03:00
Yuri Kuznetsov 00bf9561da readme 2022-07-24 10:35:54 +03:00
Yuri Kuznetsov 1fb820c930 readme 2022-07-24 10:03:50 +03:00
Yuri Kuznetsov 76c1fc1669 theme parent 2022-07-24 08:40:48 +03:00
Yuri Kuznetsov 64be5837f6 fix sticked buttons 2022-07-23 21:01:41 +03:00
Yuri Kuznetsov 2b2af83ddc css colors fix 2022-07-23 20:43:17 +03:00
Yuri Kuznetsov 1817ec2aaa breadcrump selection fix 2022-07-23 20:37:05 +03:00
Yuri Kuznetsov 738a10f970 css fix 2022-07-23 20:30:35 +03:00
Yuri Kuznetsov 85a44b6657 css fix 2022-07-23 14:15:30 +03:00
Yuri Kuznetsov 869ebbe44e css fix 2022-07-23 14:12:05 +03:00
Yuri Kuznetsov b648cf730f btn-text active line 2022-07-23 14:02:31 +03:00
Yuri Kuznetsov 046a901c40 less ref 2022-07-23 13:18:24 +03:00
Yuri Kuznetsov df478027d8 less cleanup 2022-07-22 17:17:03 +03:00
Yuri Kuznetsov 3eca6024cd less ref 2022-07-22 17:10:41 +03:00
Yuri Kuznetsov fc3f517a1b avatar ref 2022-07-22 14:40:15 +03:00
Yuri Kuznetsov f2e82acd4a enum options style 2022-07-22 14:33:38 +03:00
Yuri Kuznetsov f9122b7450 less ref 2022-07-22 14:19:53 +03:00
Yuri Kuznetsov c6fdff53c3 modal backdrop blur 2022-07-22 13:37:29 +03:00
Yuri Kuznetsov dfcb63c18a less ref 2022-07-22 12:43:07 +03:00
Yuri Kuznetsov 9afcdbf65d sticked bar fixes 2022-07-22 12:18:53 +03:00
Yuri Kuznetsov 6c7e7b7df2 kanban dd fix 2022-07-22 11:29:21 +03:00
Yuri Kuznetsov 6fd0f10ee7 ref 2022-07-22 11:26:10 +03:00
Yuri Kuznetsov 7889d562b4 preferences validation 2022-07-22 11:19:00 +03:00
Yuri Kuznetsov 5731e7e408 cleanup 2022-07-22 11:08:03 +03:00
Yuri Kuznetsov e333503954 theme fixes 2022-07-22 10:55:29 +03:00
Yuri Kuznetsov fd85bb95d2 button rounding 2022-07-22 10:47:53 +03:00
Yuri Kuznetsov b48660118b fix 2022-07-22 09:54:58 +03:00
Yuri Kuznetsov e9de116400 2fa password check for admin 2022-07-22 09:52:11 +03:00
Yuri Kuznetsov 6127ef9c72 list stick top fix 2022-07-21 20:54:28 +03:00
Yuri Kuznetsov 21842d159d theme fixes 2022-07-21 19:26:30 +03:00
Yuri Kuznetsov 21e0598159 less ref 2022-07-21 17:21:21 +03:00
Yuri Kuznetsov 8e4f83f7fe record panel radius adjustment 2022-07-21 15:50:46 +03:00
Yuri Kuznetsov b394089a79 style fix 2022-07-21 12:59:10 +03:00
Yuri Kuznetsov 2faf1e65c3 css fix 2022-07-21 12:38:17 +03:00
Yuri Kuznetsov 5eafec9f03 theme impr 2022-07-21 12:29:43 +03:00
Yuri Kuznetsov 668bc38d70 fix 2022-07-21 12:14:46 +03:00
Yuri Kuznetsov 20108478b5 fix css 2022-07-21 11:51:07 +03:00
Yuri Kuznetsov fbd1a9d02f theme impr 2022-07-21 11:30:03 +03:00
Yuri Kuznetsov 5b466f7979 btn radius 2 2022-07-21 10:38:09 +03:00
Yuri Kuznetsov c1d7854eb7 theme impr 2022-07-21 10:24:57 +03:00
Yuri Kuznetsov b642f091c3 fix 2022-07-21 09:10:59 +03:00
Yuri Kuznetsov 19a2523089 css fix 2022-07-20 20:40:26 +03:00
Yuri Kuznetsov 1bc1d23934 theme impr 2022-07-20 20:34:16 +03:00
Yuri Kuznetsov b1a0f979c9 css fix 2022-07-20 17:36:11 +03:00
Yuri Kuznetsov fa67206416 theme impr 2022-07-20 17:33:31 +03:00
Yuri Kuznetsov ae891362c7 theme impr 2022-07-20 16:30:24 +03:00
Yuri Kuznetsov 8d94a7d7bd show-more changes 2022-07-20 16:21:11 +03:00
Yuri Kuznetsov 4d450111e9 theme impr 2022-07-20 15:01:30 +03:00
Yuri Kuznetsov 5d2bb9bea9 theme impr 2022-07-20 11:56:11 +03:00
Yuri Kuznetsov dc04e6c5f8 less ref 2022-07-20 11:28:54 +03:00
Yuri Kuznetsov 7551032364 less ref 2022-07-20 10:20:06 +03:00
Yuri Kuznetsov 1a935d0758 css fix 2022-07-19 18:08:41 +03:00
Yuri Kuznetsov a696a1b0b4 style impr 2022-07-19 17:46:30 +03:00
Yuri Kuznetsov 25a553c8f4 less fix 2022-07-19 15:41:27 +03:00
Yuri Kuznetsov 9c4a472ac1 less ref 2022-07-19 15:28:18 +03:00
Yuri Kuznetsov fb7202ad34 theme changes 2022-07-19 14:27:08 +03:00
Yuri Kuznetsov 1de62f442e css fix 2022-07-19 14:18:56 +03:00
Yuri Kuznetsov 257bf317d0 css fix 2022-07-19 13:51:18 +03:00
Yuri Kuznetsov 0fbfde71fa form element radius in variable 2022-07-19 13:19:30 +03:00
Yuri Kuznetsov 10ba796288 fix tpl 2022-07-19 13:03:53 +03:00
Yuri Kuznetsov 0249c6fdce layout manager edit dynamic logic 2022-07-19 11:05:47 +03:00
Yuri Kuznetsov 7cabbf1ee7 ref 2022-07-19 10:31:09 +03:00
Yuri Kuznetsov bcbf15df13 bottom tabs fix 2022-07-19 10:28:30 +03:00
Yuri Kuznetsov 578e77b5c3 idea gitignore 2022-07-19 09:53:34 +03:00
Yuri Kuznetsov 68ccfde3f3 max-size 0 fix 2022-07-18 16:23:36 +03:00
Yuri Kuznetsov 9edc8eeab5 css fix 2022-07-18 15:54:26 +03:00
Yuri Kuznetsov b3d570527e radius 1px 2022-07-18 15:35:01 +03:00
Yuri Kuznetsov c1e5af36c4 bottom tabs 2022-07-18 15:31:43 +03:00
Yuri Kuznetsov 1404698c5e fix 2022-07-18 15:29:34 +03:00
Yuri Kuznetsov 7ece2673cc cs fix 2022-07-18 12:10:33 +03:00
Yuri Kuznetsov 95ceb279a2 cs fix 2022-07-18 11:58:57 +03:00
Yuri Kuznetsov 3a6611602f cleanup 2022-07-18 10:10:16 +03:00
Yuri Kuznetsov 468cdebb38 cs fix 2022-07-18 10:09:31 +03:00
Yuri Kuznetsov 9faca0fefe fix trim 2022-07-18 09:36:20 +03:00
Yuri Kuznetsov 58c5eb8118 radius 2022-07-17 21:44:27 +03:00
Yuri Kuznetsov ac2eca2529 css fix 2022-07-17 21:13:50 +03:00
Yuri Kuznetsov f1054af1f1 layout manager css fix 2022-07-17 16:54:00 +03:00
Yuri Kuznetsov 6864405e55 css fix 2022-07-17 16:48:21 +03:00
Yuri Kuznetsov 39027acc91 fix dashlet options 2022-07-17 16:17:26 +03:00
Yuri Kuznetsov 6e65991341 css fix 2022-07-17 16:10:26 +03:00
Yuri Kuznetsov 760bf67c32 css fix 2022-07-17 16:08:24 +03:00
Yuri Kuznetsov 9ece367ff1 layout panel no name by default 2022-07-17 11:17:01 +03:00
Yuri Kuznetsov 8ff9c94936 tabs improvements 2022-07-17 11:08:51 +03:00
Yuri Kuznetsov d401655b45 jsdoc 2022-07-16 18:59:29 +03:00
Yuri Kuznetsov 85b266cb79 message ref 2022-07-16 18:50:53 +03:00
Yuri Kuznetsov 39be4cf2be stream note message ref 2022-07-16 18:13:39 +03:00
Yuri Kuznetsov 68477319e2 tabs and hidden panel compatiblity 2022-07-16 17:07:51 +03:00
Yuri Kuznetsov 08d3cc11d9 tab rename param and overview label by default 2022-07-16 16:59:59 +03:00
Yuri Kuznetsov 082e67287a jsdoc fix 2022-07-16 14:10:04 +03:00
Yuri Kuznetsov 518fe07ea1 detail tabs 2022-07-16 14:05:26 +03:00
Yuri Kuznetsov d2e36316ea ref 2022-07-15 16:34:01 +03:00
Yuri Kuznetsov 5362e98500 ref 2022-07-15 16:21:57 +03:00
Yuri Kuznetsov 2839f0457a ref 2022-07-15 16:10:48 +03:00
Yuri Kuznetsov a77f70f457 Merge branch 'fix' 2022-07-15 15:55:07 +03:00
Yuri Kuznetsov 73036c7347 fix stream 2022-07-15 15:52:53 +03:00
Yuri Kuznetsov b9dbac65cb fix stream 2022-07-15 15:52:22 +03:00
Yuri Kuznetsov 8f49fe7adf cs fix 2022-07-15 15:50:39 +03:00
Yuri Kuznetsov 52e968809e ref 2022-07-15 15:40:44 +03:00
Yuri Kuznetsov 7192d5d5f5 fix panel filter height 2022-07-15 13:53:55 +03:00
Yuri Kuznetsov dc7d4714d9 fix test 2022-07-15 13:32:13 +03:00
Yuri Kuznetsov 9a714b92fb link-multiple-with-columns-with-primary. 2022-07-15 13:20:15 +03:00
Yuri Kuznetsov ed57338919 mail duplicate finder 2022-07-15 12:40:41 +03:00
Yuri Kuznetsov d696f7347f ref 2022-07-15 12:28:08 +03:00
Yuri Kuznetsov d7aa35bf7c ref 2022-07-15 11:52:23 +03:00
Yuri Kuznetsov d67eba2684 ref 2022-07-15 11:50:39 +03:00
Yuri Kuznetsov 6779684834 password validation 2022-07-15 11:21:25 +03:00
Yuri Kuznetsov 9f594f8259 fix tpl 2022-07-15 11:21:08 +03:00
Yuri Kuznetsov 46bab9cd8f tpl fix 2022-07-15 11:20:17 +03:00
Yuri Kuznetsov c533eea6e3 validation wysiwyg 2022-07-15 10:29:01 +03:00
Yuri Kuznetsov 6c187a0cc2 tpl fix 2022-07-15 10:21:40 +03:00
Yuri Kuznetsov 4a14f91c54 login fixes 2022-07-15 10:09:46 +03:00
Yuri Kuznetsov bcadc1e1d0 fix forgot password modal 2022-07-14 23:23:37 +03:00
Yuri Kuznetsov ceb4979949 metadata force __APPEND__ 2022-07-14 16:42:15 +03:00
Yuri Kuznetsov a913eb600d base test methods 2022-07-14 16:41:26 +03:00
Yuri Kuznetsov bbdf8edce8 enum max length validation 2022-07-14 12:04:14 +03:00
Yuri Kuznetsov 9abb977844 link parent validation 2022-07-14 11:57:10 +03:00
Yuri Kuznetsov b2d143c931 cleanup 2022-07-14 10:44:17 +03:00
Yuri Kuznetsov 486b14e818 notification and stream pages fixes 2022-07-14 10:22:00 +03:00
Yuri Kuznetsov 92a9280e8e portal preferences fix 2022-07-14 09:54:04 +03:00
Yuri Kuznetsov 8741baeb52 style fix 2022-07-13 23:30:09 +03:00
Yuri Kuznetsov db39305290 style fix 2022-07-13 23:22:47 +03:00
Yuri Kuznetsov c1152d7fe7 category link url 2022-07-13 22:16:00 +03:00
Yuri Kuznetsov dddf3f6e7c ref 2022-07-13 21:57:26 +03:00
Yuri Kuznetsov e2510113d4 categories path action 2022-07-13 19:25:53 +03:00
Yuri Kuznetsov 23fbea2b9b js doc 2022-07-13 19:25:43 +03:00
Yuri Kuznetsov 1fcef2654c getHeaderView 2022-07-13 19:21:16 +03:00
Yuri Kuznetsov b2f98d25bc category up style 2022-07-13 19:08:22 +03:00
Yuri Kuznetsov 9bae43d200 category link 2022-07-13 19:02:49 +03:00
Yuri Kuznetsov 2b4c690886 fix categories flicker 2022-07-13 18:48:35 +03:00
Yuri Kuznetsov 132264864c cs fix ref 2022-07-13 18:23:32 +03:00
Yuri Kuznetsov 7f1297e6ae fix 2022-07-13 18:20:01 +03:00
Yuri Kuznetsov 69a5ab9b83 no data margin 2022-07-13 18:13:14 +03:00
Yuri Kuznetsov a49eb15cbe post button wide 2022-07-13 17:09:06 +03:00
Yuri Kuznetsov ca5b56266d fix 2022-07-13 15:20:31 +03:00
Yuri Kuznetsov 822ef61a0c stream audited style fix 2022-07-13 15:17:29 +03:00
Yuri Kuznetsov 363184e7fa text field audited w/o values 2022-07-13 14:31:57 +03:00
Yuri Kuznetsov 5e877a8a8b readOnly take into account entityDefs links 2022-07-13 12:42:57 +03:00
Yuri Kuznetsov 4715350d7c list reset custom order 2022-07-13 12:22:46 +03:00
Yuri Kuznetsov ce32d6dcec fix rtl 2022-07-13 12:05:07 +03:00
Yuri Kuznetsov d801c10e62 tpl fix 2022-07-13 10:55:17 +03:00
Yuri Kuznetsov 3b143de0ca tpl fix 2022-07-13 10:50:24 +03:00
Yuri Kuznetsov 0ac1d6bbce ref 2022-07-13 10:39:24 +03:00
Yuri Kuznetsov 66761665da import error line number 2022-07-13 10:01:35 +03:00
Yuri Kuznetsov 8236902325 css fix 2022-07-12 21:07:07 +03:00
Yuri Kuznetsov f4a2d21ca6 tpl fixes 2022-07-12 21:06:56 +03:00
Yuri Kuznetsov 4fea9b5ef3 tpl integration style fixes 2022-07-12 20:57:19 +03:00
Yuri Kuznetsov 5a4c151cff style fixes 2022-07-12 18:08:36 +03:00
Yuri Kuznetsov 6e067a091e rename 2022-07-12 17:52:12 +03:00
Yuri Kuznetsov 40562ef5b2 barcode validation max length 2022-07-12 17:52:06 +03:00
Yuri Kuznetsov 1a04a17d0c less ref 2022-07-12 17:40:27 +03:00
Yuri Kuznetsov 6e89eaaa4e style fix 2022-07-12 17:27:36 +03:00
Yuri Kuznetsov 0ecdf6b037 fix 2022-07-12 17:21:27 +03:00
Yuri Kuznetsov 62eb882d31 translate field validations 2022-07-12 17:14:58 +03:00
Yuri Kuznetsov 971779b408 import error fixes 2022-07-12 15:12:29 +03:00
Yuri Kuznetsov 726c21ee47 field translation 2022-07-12 14:24:54 +03:00
Yuri Kuznetsov 92ef1620b2 import error export 2022-07-12 14:00:17 +03:00
Yuri Kuznetsov e5589d8b7d file storage fixes 2022-07-12 14:00:09 +03:00
Yuri Kuznetsov 14d4647b5a ref 2022-07-12 12:22:27 +03:00
Yuri Kuznetsov b46717e8f0 impot file accept 2022-07-12 11:20:01 +03:00
Yuri Kuznetsov edfaf8993c style fix 2022-07-12 11:17:40 +03:00
Yuri Kuznetsov 95b4dd3d71 ref 2022-07-12 11:15:38 +03:00
Yuri Kuznetsov 53ff803f38 fix 2022-07-12 10:47:49 +03:00
Yuri Kuznetsov 6d5bd92f1b import error changes 2022-07-12 10:27:34 +03:00
Yuri Kuznetsov 63ae29af74 props 2022-07-12 10:15:41 +03:00
Yuri Kuznetsov 7acc0b2021 fix 2022-07-12 10:01:29 +03:00
Yuri Kuznetsov b5f998eb0e rename 2022-07-11 16:25:45 +03:00
Yuri Kuznetsov dbe35eb3c4 image no original link 2022-07-11 16:16:55 +03:00
Yuri Kuznetsov cf9d446035 rename 2022-07-11 16:13:13 +03:00
Yuri Kuznetsov 6e768dda5d ref 2022-07-11 15:57:28 +03:00
Yuri Kuznetsov 22d70ad987 fix header 2022-07-11 15:38:54 +03:00
Yuri Kuznetsov d0f0042073 no duplicate if create disabled 2022-07-11 15:36:59 +03:00
Yuri Kuznetsov 31685d57b7 textFilterDisabled 2022-07-11 15:28:57 +03:00
Yuri Kuznetsov f054a3fb0d filter 2022-07-11 15:28:45 +03:00
Yuri Kuznetsov 935253d79d import error and import validation 2022-07-11 14:58:55 +03:00
Yuri Kuznetsov 30feae269c modal headerText 2022-07-11 08:56:02 +03:00
Yuri Kuznetsov bb86f2b01e disable spellcheck 2022-07-10 20:05:16 +03:00
Yuri Kuznetsov 8247429780 fix 2022-07-10 19:58:12 +03:00
Yuri Kuznetsov f8134aa08c fix 2022-07-10 19:55:41 +03:00
Yuri Kuznetsov 863ea657ed modal/main supporting elements 2022-07-10 18:57:09 +03:00
Yuri Kuznetsov 77c5471656 css 2022-07-10 18:01:46 +03:00
Yuri Kuznetsov ba33994252 Merge branch 'fix' 2022-07-10 14:24:01 +03:00
Yuri Kuznetsov c08cb0a8f3 fix array at 2022-07-10 14:23:54 +03:00
Yuri Kuznetsov e25465ba5b css fixes btn hover 2022-07-10 13:48:06 +03:00
Yuri Kuznetsov 1276f4c286 btn variables 2022-07-10 13:32:58 +03:00
Yuri Kuznetsov b66d09634b css fixes 2022-07-10 11:32:46 +03:00
Yuri Kuznetsov 3c127293bc css vertical gap 2022-07-10 11:24:58 +03:00
Yuri Kuznetsov f79e64883f css panel ref 2022-07-10 10:52:25 +03:00
Yuri Kuznetsov 479a26b5c9 border width var 2022-07-09 19:18:19 +03:00
Yuri Kuznetsov 662a6cd2dd revert 2022-07-09 15:32:59 +03:00
Yuri Kuznetsov 1ee63dec26 css fix 2022-07-09 15:20:59 +03:00
Yuri Kuznetsov 7f1186c316 dark theme changes 2022-07-09 15:14:30 +03:00
Yuri Kuznetsov a35fd6759a css shadow var 2022-07-09 14:46:54 +03:00
Yuri Kuznetsov 8466c44a9a has-navbar class 2022-07-09 12:07:50 +03:00
Yuri Kuznetsov 5750ae3a6b cs fixes 2022-07-09 12:01:27 +03:00
Yuri Kuznetsov ccab48d31e cs fix 2022-07-09 11:55:28 +03:00
Yuri Kuznetsov eba68da269 cs fix 2022-07-09 11:46:22 +03:00
Yuri Kuznetsov 83e56e4279 css fix 2022-07-09 11:31:42 +03:00
Yuri Kuznetsov cbb2267164 css fix 2022-07-09 11:10:51 +03:00
Yuri Kuznetsov 526317f142 logo 39 2022-07-09 11:03:43 +03:00
Yuri Kuznetsov 3e68adf77a css fix 2022-07-09 09:51:42 +03:00
Yuri Kuznetsov bd58259a43 css fixes 2022-07-08 17:35:37 +03:00
Yuri Kuznetsov df75d4c989 idea change 2022-07-08 16:03:59 +03:00
Yuri Kuznetsov 7e88d16197 css fix 2022-07-08 16:02:22 +03:00
Yuri Kuznetsov 3b7a884f4c dark navbar border 2022-07-08 15:50:55 +03:00
Yuri Kuznetsov fc910fec05 image mime type check for chunk upload 2022-07-08 14:49:54 +03:00
Yuri Kuznetsov 2f797719fa backdrop opacity in var 2022-07-08 14:23:09 +03:00
Yuri Kuznetsov e30af4f4c6 css fix 2022-07-08 13:21:46 +03:00
Yuri Kuznetsov 1a85f9a047 css fix 2022-07-08 13:13:49 +03:00
Yuri Kuznetsov 7737128b6e ignore ics if event originated from espo 2022-07-08 13:10:45 +03:00
Yuri Kuznetsov bd2a318618 clear email created event on meeting removal 2022-07-08 12:59:51 +03:00
Yuri Kuznetsov 441551f8d8 menu button class name 2022-07-08 12:21:19 +03:00
Yuri Kuznetsov 4b679732b1 fix 2022-07-08 12:15:57 +03:00
Yuri Kuznetsov 676a9d42cd draft reply arrow color 2022-07-08 12:11:43 +03:00
Yuri Kuznetsov b24a45e4bf style fix 2022-07-08 11:57:42 +03:00
Yuri Kuznetsov b2ae958992 email fix 2022-07-08 11:52:36 +03:00
Yuri Kuznetsov f2c8942b84 css fix 2022-07-08 11:52:29 +03:00
Yuri Kuznetsov 9523ff2db0 fix dark css 2022-07-08 10:05:34 +03:00
Yuri Kuznetsov 00a921e0e7 fix tabindex 2022-07-08 09:51:49 +03:00
Yuri Kuznetsov d960bd978c fields search on enter 2022-07-08 09:42:41 +03:00
Yuri Kuznetsov 83263717fd cs fix 2022-07-08 08:45:57 +03:00
Yuri Kuznetsov bc2389968d no need to clone events excessive 2022-07-08 08:21:11 +03:00
Yuri Kuznetsov 2b49625106 create/modified fields customization restrictions 2022-07-08 08:14:39 +03:00
Yuri Kuznetsov d375986c36 css fix 2022-07-07 23:18:44 +03:00
Yuri Kuznetsov ddd4c1e427 restrict email field customization 2022-07-07 22:02:12 +03:00
Yuri Kuznetsov 9848e18caf field manager restriction 2022-07-07 21:02:26 +03:00
Yuri Kuznetsov d490107bce admin notification css fix 2022-07-07 17:41:49 +03:00
Yuri Kuznetsov 55c72a5570 fix tag 2022-07-07 17:23:41 +03:00
Yuri Kuznetsov ef892af56f email sending error exception 2022-07-07 17:05:49 +03:00
Yuri Kuznetsov 46ea00aef8 ref 2022-07-07 16:43:32 +03:00
Yuri Kuznetsov bac2a36472 fix record save error handling 2022-07-07 16:28:54 +03:00
Yuri Kuznetsov 3156909cf6 fix 2022-07-07 16:10:11 +03:00
Yuri Kuznetsov 956beb3850 fix 2022-07-07 16:04:01 +03:00
Yuri Kuznetsov 7869268e2d email send error do not close 2022-07-07 15:56:37 +03:00
Yuri Kuznetsov 8e94164976 email customizable 2022-07-07 15:41:51 +03:00
Yuri Kuznetsov 9ef06d7a08 note clean parent id 2022-07-07 15:40:48 +03:00
Yuri Kuznetsov fd7960643d fix note 2022-07-07 15:39:26 +03:00
Yuri Kuznetsov 72ee2c4939 clnup 2022-07-07 15:39:02 +03:00
Yuri Kuznetsov 01e5350060 ref 2022-07-07 15:34:55 +03:00
Yuri Kuznetsov 478fc69ca5 ref 2022-07-07 15:29:19 +03:00
Yuri Kuznetsov 98a5c584e0 cs fix 2022-07-07 14:53:46 +03:00
Yuri Kuznetsov c34211ae59 fix 2022-07-07 14:42:57 +03:00
Yuri Kuznetsov 30fbc5b50a ref 2022-07-07 14:17:59 +03:00
Yuri Kuznetsov a2356ce977 ui ref 2022-07-07 12:46:26 +03:00
Yuri Kuznetsov 34df179c4c alert fix 2022-07-07 11:25:30 +03:00
Yuri Kuznetsov 20f3c21368 cleanup 2022-07-07 10:57:47 +03:00
Yuri Kuznetsov 0c1c10a5f1 alert notification markdown 2022-07-07 10:40:40 +03:00
Yuri Kuznetsov 4c0eea3dae clnp 2022-07-07 10:37:50 +03:00
Yuri Kuznetsov 72c9ec3453 confirm wide btn 2022-07-07 10:14:01 +03:00
Yuri Kuznetsov 2602e970e1 wide btn 2022-07-07 10:11:39 +03:00
Yuri Kuznetsov fecf9b43aa tpl fix 2022-07-06 17:31:48 +03:00
Yuri Kuznetsov 70e25d17ea css fix 2022-07-06 16:34:02 +03:00
Yuri Kuznetsov 2943f46829 fix css 2022-07-06 16:30:31 +03:00
Yuri Kuznetsov dfb667f0de button hover color fix 2022-07-06 14:41:20 +03:00
Yuri Kuznetsov 90f7a9ec81 fix 2022-07-06 14:37:45 +03:00
Yuri Kuznetsov 26a43e76a4 fix 2022-07-06 14:33:49 +03:00
Yuri Kuznetsov d28e2513ee cleanup 2022-07-06 14:31:27 +03:00
Yuri Kuznetsov 2ad0336a53 dark navbar lighter 2022-07-06 14:26:03 +03:00
Yuri Kuznetsov d9405ea058 fix login style 2022-07-06 14:18:20 +03:00
Yuri Kuznetsov f46132b95c line height 1.5 2022-07-06 14:13:14 +03:00
Yuri Kuznetsov 1bfad8ba22 login page dark color fix 2022-07-06 14:11:06 +03:00
Yuri Kuznetsov 7893eae4ca login page style changes 2022-07-06 14:03:09 +03:00
Yuri Kuznetsov 06a3edc446 css fixes 2022-07-06 13:47:16 +03:00
Yuri Kuznetsov 237bd8e6b7 fa 16px 2022-07-06 13:36:19 +03:00
Yuri Kuznetsov e15c200541 cs fix 2022-07-06 13:35:27 +03:00
Yuri Kuznetsov 405c5d145b fix 2022-07-06 13:26:59 +03:00
Yuri Kuznetsov 848a05beb8 global restriction read only from entityDefs 2022-07-06 12:49:35 +03:00
Yuri Kuznetsov 96917675a0 ref 2022-07-06 12:06:16 +03:00
Yuri Kuznetsov 751b3f2fc7 fix typo 2022-07-06 11:27:02 +03:00
Yuri Kuznetsov c12807d040 cleanup 2022-07-06 11:24:09 +03:00
Yuri Kuznetsov d8c42dcee6 cleanup 2022-07-06 11:16:14 +03:00
Yuri Kuznetsov 2f073dc8eb fix typo 2022-07-06 11:08:56 +03:00
Yuri Kuznetsov cfb50440d7 no trim 2022-07-06 10:51:14 +03:00
Yuri Kuznetsov 216e945c06 array trim 2022-07-06 10:47:39 +03:00
Yuri Kuznetsov 4174864b8c validations 2022-07-06 10:30:00 +03:00
Yuri Kuznetsov 9e7cc42c78 fix 2022-07-06 09:24:21 +03:00
Yuri Kuznetsov d6846adacf array max item length ui 2022-07-06 06:30:05 +03:00
Yuri Kuznetsov a30900aebe field man limitation 2022-07-06 06:23:59 +03:00
Yuri Kuznetsov 9c0e0122c5 user field manager limitations 2022-07-06 06:19:49 +03:00
Yuri Kuznetsov 2dd59f36a0 global restriction ui 2022-07-06 05:55:52 +03:00
Yuri Kuznetsov d5d4c5874b fix 2022-07-05 17:16:35 +03:00
Yuri Kuznetsov d2107eccde fix 2022-07-05 17:12:42 +03:00
Yuri Kuznetsov 377268359b min node version 2022-07-05 16:12:03 +03:00
Yuri Kuznetsov a726f7f1d5 fix lead capture 2022-07-05 16:08:18 +03:00
Yuri Kuznetsov e252e554c4 person entity methods 2022-07-05 16:08:06 +03:00
Yuri Kuznetsov 85b3d698b2 lead capture headers example 2022-07-05 15:11:43 +03:00
Yuri Kuznetsov abfcae48e0 lead capture validation 2022-07-05 15:05:06 +03:00
Yuri Kuznetsov 4ab88c19c9 rename 2022-07-05 14:57:47 +03:00
Yuri Kuznetsov 7615857663 field validation error message 2022-07-05 14:50:46 +03:00
Yuri Kuznetsov 00045f4837 bad request with body 2022-07-05 14:50:16 +03:00
Yuri Kuznetsov 348c3ef725 docs 2022-07-05 14:50:06 +03:00
Yuri Kuznetsov 7d3d4de51c doc 2022-07-05 13:58:43 +03:00
Yuri Kuznetsov 0c5c7953b6 ref docs 2022-07-05 13:37:09 +03:00
Yuri Kuznetsov 58049dd449 ref 2022-07-05 13:34:26 +03:00
Yuri Kuznetsov 8413b5c9d5 ref 2022-07-05 13:28:43 +03:00
Yuri Kuznetsov 101a9084b8 ref 2022-07-05 13:26:03 +03:00
Yuri Kuznetsov 79c51379b8 ref 2022-07-05 13:07:16 +03:00
Yuri Kuznetsov 7db116cb89 ref 2022-07-05 13:01:32 +03:00
Yuri Kuznetsov 219168a378 tooltips 2022-07-05 10:48:07 +03:00
Yuri Kuznetsov 958cfd7eba fix tooltip 2022-07-05 10:26:34 +03:00
Yuri Kuznetsov 3fbd65ceca no special chars regexp 2022-07-05 10:20:23 +03:00
Yuri Kuznetsov 4bef98e3f4 fetch empty column as null 2022-07-05 10:13:54 +03:00
Yuri Kuznetsov 610a0c3c92 link multiple column client side validation 2022-07-05 09:59:23 +03:00
Yuri Kuznetsov 9ae755af2a ref 2022-07-05 09:34:32 +03:00
Yuri Kuznetsov c5900911d7 fix 2022-07-04 16:03:19 +03:00
Yuri Kuznetsov 926787fffb link multiple columns server side validation 2022-07-04 15:47:45 +03:00
Yuri Kuznetsov 1b5bd3f5d8 fieldManagerParamList 2022-07-04 14:06:20 +03:00
Yuri Kuznetsov 562fb14cea Merge branch 'fix' 2022-07-04 12:19:16 +03:00
Yuri Kuznetsov b5104cef3c diff fix 2022-07-04 12:17:02 +03:00
Yuri Kuznetsov a067eb2070 v 2022-07-04 11:55:24 +03:00
Yuri Kuznetsov d5b6120d45 ref 2022-07-04 11:54:35 +03:00
Yuri Kuznetsov bba15ab759 ref 2022-07-04 11:54:25 +03:00
Yuri Kuznetsov afb42e3589 fix url 2022-07-04 11:49:50 +03:00
Yuri Kuznetsov 59bf7d5a7a ref 2022-07-04 11:45:21 +03:00
Yuri Kuznetsov 8e297fda48 ref 2022-07-04 11:38:25 +03:00
Yuri Kuznetsov 1093143773 bc fix 2022-07-04 11:12:46 +03:00
Yuri Kuznetsov 2ccc796b6f cs fixes 2022-07-04 11:03:30 +03:00
Yuri Kuznetsov 634002c471 ref and fix 2022-07-04 10:59:48 +03:00
Yuri Kuznetsov 5d41085dd4 refactor and fixes 2022-07-04 10:23:33 +03:00
Yuri Kuznetsov 5f2bc52e6b fix 2022-07-04 09:02:09 +03:00
Yuri Kuznetsov 2d1cbaae73 validation list for specific field 2022-07-03 23:02:11 +03:00
Yuri Kuznetsov 2d4f11717c throws tags 2022-07-03 22:54:13 +03:00
Yuri Kuznetsov be6cfefbec ref 2022-07-03 21:04:44 +03:00
Yuri Kuznetsov 2e1aa59250 link multiple field view ref 2022-07-03 20:20:27 +03:00
Yuri Kuznetsov 04398052d8 noSpellCheck param 2022-07-03 16:30:29 +03:00
Yuri Kuznetsov 88db4a5020 default varchar max length validation 2022-07-03 16:11:08 +03:00
Yuri Kuznetsov 6338fe68c9 url encoding email phone validation 2022-07-03 15:38:47 +03:00
Yuri Kuznetsov bf11678e20 tooltip 2022-07-03 13:46:38 +03:00
Yuri Kuznetsov 4d0bda7238 note post customizable 2022-07-03 13:33:17 +03:00
Yuri Kuznetsov 2c4d5ab31d text validate 2022-07-03 13:14:14 +03:00
Yuri Kuznetsov 13629079a8 fix reg exp uri 2022-07-03 13:07:31 +03:00
Yuri Kuznetsov 4d2cd9eff4 varchar trim if not set 2022-07-03 13:04:37 +03:00
Yuri Kuznetsov 4a358f12f4 typo 2022-07-03 12:59:28 +03:00
Yuri Kuznetsov a182ad7a0f install defaults null 2022-07-03 12:56:07 +03:00
Yuri Kuznetsov dda1b4e547 fix translate option 2022-07-03 12:54:11 +03:00
Yuri Kuznetsov 572aceb107 rename 2022-07-03 12:46:59 +03:00
Yuri Kuznetsov 97440a776c fix typo 2022-07-03 12:45:39 +03:00
Yuri Kuznetsov 8b23c591ff validations 2022-07-03 12:29:07 +03:00
Yuri Kuznetsov 1d776ea766 cleanup 2022-07-03 10:19:47 +03:00
Yuri Kuznetsov 3b34c6746e system reg exp patterns 2022-07-03 09:48:00 +03:00
Yuri Kuznetsov 73aaba15a9 array validation 2022-07-02 20:02:23 +03:00
Yuri Kuznetsov dd7220a62b cleanup 2022-07-02 18:41:56 +03:00
Yuri Kuznetsov 4a774d387c optionPath for array 2022-07-02 18:37:30 +03:00
Yuri Kuznetsov 1a46723abb formatting fixes 2022-07-02 18:28:06 +03:00
Yuri Kuznetsov 2052bc7353 fix 2022-07-02 17:37:32 +03:00
Yuri Kuznetsov 6e9136d4ea enum validation 2022-07-02 16:10:15 +03:00
Yuri Kuznetsov 08e5f3cf40 note only post check 2 2022-07-02 14:37:05 +03:00
Yuri Kuznetsov 9af6b6a8bd note only post check 2022-07-02 14:35:11 +03:00
Yuri Kuznetsov 9bc31c1111 fix 2022-07-02 14:25:06 +03:00
Yuri Kuznetsov 6b887f26c5 fix 2022-07-02 14:23:13 +03:00
Yuri Kuznetsov 97a33bde9a note type enum 2022-07-02 14:18:06 +03:00
Yuri Kuznetsov 10597931be varchar pattern 2022-07-02 13:12:32 +03:00
Yuri Kuznetsov 452f7a5d98 noSpellCheck 2022-07-02 12:49:28 +03:00
Yuri Kuznetsov 3b6e690046 field invalid message html 2022-07-02 12:33:40 +03:00
Yuri Kuznetsov 233b7163a2 fix 2022-07-02 11:45:10 +03:00
Yuri Kuznetsov 821a4dd5b4 field entityType prop 2022-07-02 10:43:22 +03:00
Yuri Kuznetsov 2116b7fc7d format fix 2022-07-02 09:44:05 +03:00
Yuri Kuznetsov aed9191584 format fix 2022-07-02 09:41:38 +03:00
Yuri Kuznetsov 75633fc216 login button wide 2022-07-01 20:53:24 +03:00
Yuri Kuznetsov efe41212b0 fix 2022-07-01 20:16:11 +03:00
Yuri Kuznetsov cfca519c5a image mime type detection 2022-07-01 19:52:50 +03:00
Yuri Kuznetsov 544ddbbddd fix 2022-07-01 19:02:33 +03:00
Yuri Kuznetsov 3cbc2e07bb fix jsdoc 2022-07-01 18:30:08 +03:00
Yuri Kuznetsov cae82e9866 cs fixes 2022-07-01 18:27:40 +03:00
Yuri Kuznetsov c3ea3ac6cc fix typo 2022-07-01 18:10:49 +03:00
Yuri Kuznetsov 0641cf4d62 authTokenMaxIdleTime default 48 2022-07-01 17:38:35 +03:00
Yuri Kuznetsov ebd859e4d2 list noDataDisabled option 2022-07-01 16:24:39 +03:00
Yuri Kuznetsov 2fe09b5f40 ref 2022-07-01 16:24:23 +03:00
Yuri Kuznetsov 29d6ea3668 ref 2022-07-01 14:36:42 +03:00
Yuri Kuznetsov d901459581 fix jsdoc 2022-07-01 13:22:41 +03:00
Yuri Kuznetsov 38897f7f3b list layout noLabel and widthPx 2022-07-01 11:51:11 +03:00
Yuri Kuznetsov d13a82fc9f fix jsdoc 2022-07-01 11:45:03 +03:00
Yuri Kuznetsov b0d3d19694 fix field reset to default 2022-07-01 11:12:17 +03:00
Yuri Kuznetsov 512fb35fb4 note attachments customizable 2022-07-01 10:18:33 +03:00
Yuri Kuznetsov f61714db17 fix 2022-07-01 09:16:38 +03:00
Yuri Kuznetsov 2a08678635 ref 2022-06-30 19:53:46 +03:00
Yuri Kuznetsov 4e3ff06d7c ref 2022-06-30 19:49:59 +03:00
Yuri Kuznetsov d9d7567f06 ref 2022-06-30 19:40:02 +03:00
Yuri Kuznetsov ce84389980 cleanup 2022-06-30 19:35:05 +03:00
Yuri Kuznetsov c78feffc41 ref 2022-06-30 19:33:37 +03:00
Yuri Kuznetsov d3f490ee89 ref 2022-06-30 19:31:57 +03:00
Yuri Kuznetsov 5195656bac add legacy office extensions 2022-06-30 18:41:41 +03:00
Yuri Kuznetsov dfce7eeac7 document accept extensions 2022-06-30 18:34:22 +03:00
Yuri Kuznetsov e8060925a3 file upload server side check 2022-06-30 15:25:49 +03:00
Yuri Kuznetsov 0fe2ea1d44 fix test 2022-06-30 14:33:12 +03:00
Yuri Kuznetsov f461a02b1f attachment name max length param 2022-06-30 13:51:47 +03:00
Yuri Kuznetsov 6c9196fdb2 validate image file type 2022-06-30 13:45:49 +03:00
Yuri Kuznetsov e76ee0b093 idea no phpstan 2022-06-30 12:47:31 +03:00
Yuri Kuznetsov 498f1bf2dc extensionMimeType map 2022-06-30 12:45:12 +03:00
Yuri Kuznetsov e3cd5edaf7 ref 2022-06-30 11:44:31 +03:00
Yuri Kuznetsov b8d1d954b6 ref 2022-06-30 11:20:36 +03:00
Yuri Kuznetsov 7c2687b753 add throws tags 2022-06-30 11:08:59 +03:00
Yuri Kuznetsov 96b3a522c3 merge 2022-06-30 10:43:32 +03:00
Yuri Kuznetsov 8ec6fa0f52 v 2022-06-29 19:41:06 +03:00
Yuri Kuznetsov 0fb683bbac secure cookie 2022-06-29 19:33:40 +03:00
Yuri Kuznetsov bc9490a7e4 sanitize csv export 2022-06-29 18:50:08 +03:00
Yuri Kuznetsov a0642e85b4 sanitize import preview 2022-06-29 17:45:55 +03:00
Yuri Kuznetsov e6e76df8c2 fix test 2022-06-29 12:25:51 +03:00
Yuri Kuznetsov 9b506f12e3 acl fixes 2022-06-29 11:43:12 +03:00
Yuri Kuznetsov c176f72fd8 boolean filter resolver 2022-06-29 11:30:47 +03:00
Yuri Kuznetsov 678ce4f139 fix 2022-06-28 22:54:26 +03:00
Yuri Kuznetsov 1d2818ef61 AppParam interface 2022-06-28 17:17:50 +03:00
Yuri Kuznetsov 6f56fffcbd cleanup 2022-06-28 16:01:04 +03:00
Yuri Kuznetsov c25d0e1304 fix bundle config 2022-06-28 12:11:46 +03:00
Yuri Kuznetsov 45dce17fc6 Merge branch 'fix' 2022-06-28 09:44:03 +03:00
Yuri Kuznetsov e61f9eb242 cut long email subject 2022-06-28 09:36:07 +03:00
Yuri Kuznetsov 8a37c9ec83 fix prepare lib original script 2022-06-28 09:08:19 +03:00
Yuri Kuznetsov 49bc91117a cleanup 2022-06-27 23:01:06 +03:00
Yuri Kuznetsov 9f7177d847 cleanup 2022-06-27 22:59:19 +03:00
Yuri Kuznetsov 4bd330ff59 cleanup 2022-06-27 22:58:33 +03:00
Yuri Kuznetsov 4895066215 massUpdateDisabled param in clientDefs 2022-06-27 19:13:49 +03:00
Yuri Kuznetsov f9e30b778d detail modal actions in clientDefs 2022-06-27 18:54:44 +03:00
Yuri Kuznetsov 72cf250afe ref 2022-06-27 17:11:40 +03:00
Yuri Kuznetsov efb99f090d ref 2022-06-27 17:07:32 +03:00
Yuri Kuznetsov 661402d052 cs fix 2022-06-27 17:00:39 +03:00
Yuri Kuznetsov 45a1c38418 action-item-setup helper and visibility check function 2022-06-27 14:47:44 +03:00
Yuri Kuznetsov 7d0851a785 ref and jsdoc 2022-06-27 12:27:25 +03:00
Yuri Kuznetsov 7f8c935a82 fix lib dev paths 2022-06-27 11:45:46 +03:00
Yuri Kuznetsov 169bb09576 strip source mapping url 2022-06-27 11:40:17 +03:00
Yuri Kuznetsov b14a989141 original js libs 2022-06-27 10:54:59 +03:00
Yuri Kuznetsov 74844260c8 cleanup 2022-06-26 22:10:23 +03:00
Yuri Kuznetsov 970b4ce104 exceptions in module 2022-06-26 20:36:23 +03:00
Yuri Kuznetsov 74abbe9cc0 bundled 2022-06-26 20:16:29 +03:00
Yuri Kuznetsov 7ac7fea803 espo bundled 2022-06-26 18:24:18 +03:00
Yuri Kuznetsov c28aec44b6 ref grunt 2022-06-26 18:08:55 +03:00
Yuri Kuznetsov da8b117055 Merge branch 'fix' 2022-06-26 12:19:20 +03:00
Yuri Kuznetsov 2c87d47507 fix 2022-06-26 12:11:55 +03:00
Yuri Kuznetsov 92c9f2ca2d fix 2022-06-26 11:50:01 +03:00
Yuri Kuznetsov 8d34a5bd1a jsdoc 2022-06-26 11:24:09 +03:00
Yuri Kuznetsov 27b9035fd8 fix 2022-06-26 11:20:57 +03:00
Yuri Kuznetsov 59b20dabbb idea change 2022-06-26 11:07:56 +03:00
Yuri Kuznetsov 1e6dcd8fa7 bc fix 2022-06-26 10:48:53 +03:00
Yuri Kuznetsov e08bf1b18d getRepositoryByClass and refactoring 2022-06-25 16:17:30 +03:00
Yuri Kuznetsov 645b7f4482 idea gitignore 2022-06-25 15:50:03 +03:00
Yuri Kuznetsov 37a71f050f cleanup 2022-06-25 15:49:51 +03:00
Yuri Kuznetsov 8c5b24689a getRDBRepositoryByClass 2022-06-25 15:41:40 +03:00
Yuri Kuznetsov 37777f0d92 cleanup idea 2022-06-25 15:40:49 +03:00
Yuri Kuznetsov c5191deb40 idea ignore 2022-06-25 15:39:42 +03:00
Yuri Kuznetsov 78afd40955 merge 2022-06-24 20:58:18 +03:00
Yuri Kuznetsov 2c7249f12d translations 2022-06-24 20:57:10 +03:00
Yuri Kuznetsov d9806e8ea9 lang ignore language name translations 2022-06-24 20:52:22 +03:00
Yuri Kuznetsov 373de97515 refactoring 2022-06-24 20:36:10 +03:00
Yuri Kuznetsov 52a96ae480 refactoring 2022-06-24 20:35:33 +03:00
Yuri Kuznetsov d2398400e2 rename 2022-06-24 19:58:25 +03:00
Yuri Kuznetsov 50de79e2f7 jasmine-browser-runner 2022-06-24 19:57:08 +03:00
Yuri Kuznetsov 8af367d67e update bullbone 2022-06-24 15:29:45 +03:00
Yuri Kuznetsov 31a94da8ff throws tags 2022-06-24 12:22:27 +03:00
Yuri Kuznetsov a9d5bc5d60 fix 2022-06-24 12:14:47 +03:00
Yuri Kuznetsov 344a0f7ff0 throws tags 2022-06-24 12:09:03 +03:00
Yuri Kuznetsov 1bd6c1c451 throws tags 2022-06-24 11:44:24 +03:00
Yuri Kuznetsov 1d2f862d98 phpdoc fixes 2022-06-24 11:13:02 +03:00
Yuri Kuznetsov 2ecfdc2d4b exceptions 2022-06-24 11:06:01 +03:00
Yuri Kuznetsov 503e1f6eff idea cs 2022-06-24 10:26:24 +03:00
Yuri Kuznetsov 6516616bf4 exception fixes 2022-06-23 17:28:35 +03:00
Yuri Kuznetsov bcd063b8f3 fix 2022-06-23 14:51:23 +03:00
Yuri Kuznetsov 459de7be6f exception changes 2022-06-23 14:03:04 +03:00
Yuri Kuznetsov 2d12868849 idea 2022-06-23 13:03:22 +03:00
Yuri Kuznetsov dfe921c231 exception change 2022-06-23 13:03:17 +03:00
Yuri Kuznetsov 17dddfd5d9 phpunit default 2022-06-23 13:02:11 +03:00
Yuri Kuznetsov 21cb6f505e Merge branch 'fix' 2022-06-23 12:55:43 +03:00
Yuri Kuznetsov e5f0ca77a9 fix request wrapper 2022-06-23 12:55:03 +03:00
Yuri Kuznetsov 6e5c85be7e exceptions changes 2022-06-23 12:40:11 +03:00
Yuri Kuznetsov 43d5f93c4e fix test 2022-06-23 11:50:13 +03:00
Yuri Kuznetsov 955a489e21 exception changes 2022-06-23 11:45:50 +03:00
Yuri Kuznetsov 05ef2099d4 exceptions changes 2022-06-23 10:31:45 +03:00
Yuri Kuznetsov af717a53b0 fix 2022-06-23 10:16:04 +03:00
Yuri Kuznetsov 59c53a191d exception changes 2022-06-22 20:36:03 +03:00
Yuri Kuznetsov 9ec7c897df add throws 2022-06-22 16:24:25 +03:00
Yuri Kuznetsov cfe7212a80 add throws 2022-06-22 16:15:16 +03:00
Yuri Kuznetsov c0dd692263 throw tags 2022-06-22 15:54:51 +03:00
Yuri Kuznetsov 71dc18afdb add ext-pdo 2022-06-22 15:35:07 +03:00
Yuri Kuznetsov ebf0fbd5d5 fix 2022-06-22 13:50:53 +03:00
Yuri Kuznetsov 7a75c3c961 stream dashlet skip own false 2022-06-22 13:43:38 +03:00
Yuri Kuznetsov b7ebc55c17 print trace job errors 2022-06-22 13:36:52 +03:00
Yuri Kuznetsov 3c97db414b idea cs 2022-06-22 13:34:12 +03:00
Yuri Kuznetsov 988fc94710 php version in composer change 2022-06-22 13:22:23 +03:00
Yuri Kuznetsov d33355d561 support unnamed amd modules in bundle 2022-06-22 13:01:24 +03:00
Yuri Kuznetsov bbc3aa5dd2 fix 2022-06-22 12:52:16 +03:00
Yuri Kuznetsov 4afc962f79 idea fix 2022-06-22 12:34:05 +03:00
Yuri Kuznetsov f22fe29b26 fix typo 2022-06-21 19:13:13 +03:00
Yuri Kuznetsov 0f7b28a6cd jsdoc 2022-06-21 17:06:53 +03:00
Yuri Kuznetsov 1539574fba jsdoc 2022-06-20 21:59:42 +03:00
Yuri Kuznetsov 3e5f193964 jsdoc 2022-06-20 17:34:49 +03:00
Yuri Kuznetsov 40e1e8b559 idea 2022-06-20 15:11:30 +03:00
Yuri Kuznetsov 4871811385 jsdoc 2022-06-20 15:11:15 +03:00
Yuri Kuznetsov bf46534d4d fix 2022-06-20 12:29:52 +03:00
Yuri Kuznetsov 471486ce01 idea files 2022-06-20 12:20:08 +03:00
Yuri Kuznetsov 9590a39d4b jsdoc 2022-06-20 12:16:30 +03:00
Yuri Kuznetsov 51a4dd2a05 Merge branch 'fix' 2022-06-20 11:50:04 +03:00
Eymen Elkum c85f28f8ea fix merge conflict (#2349) 2022-06-20 11:49:39 +03:00
Yuri Kuznetsov 973e8cc77a fix case email address order 2022-06-20 10:29:38 +03:00
Yuri Kuznetsov e852253f93 jsdoc 2022-06-19 21:30:39 +03:00
Yuri Kuznetsov 4e5c041a81 cleanup 2022-06-19 19:55:03 +03:00
Yuri Kuznetsov 250f6f0670 jsdoc 2022-06-19 19:53:50 +03:00
Yuri Kuznetsov 313d52ad14 jsdoc 2022-06-19 18:03:04 +03:00
Yuri Kuznetsov e1af7b22f0 jsdoc 2022-06-19 17:57:40 +03:00
Yuri Kuznetsov db2303bc16 jsdoc 2022-06-19 16:36:58 +03:00
Yuri Kuznetsov 6010aa1336 jsdoc 2022-06-19 15:00:48 +03:00
Yuri Kuznetsov f7e9dbf292 jsdoc 2022-06-19 14:29:02 +03:00
Yuri Kuznetsov d13222bfe3 cleanup 2022-06-18 23:56:45 +03:00
Yuri Kuznetsov e8daec0d0d cleanup 2022-06-18 23:56:33 +03:00
Yuri Kuznetsov 2bc4c3c1c7 cs fix 2022-06-18 19:15:03 +03:00
Yuri Kuznetsov cb43e60ae9 jsdoc 2022-06-18 19:14:09 +03:00
Yuri Kuznetsov b69d55d114 fixes 2022-06-18 17:45:45 +03:00
Yuri Kuznetsov c4ce4d6258 jsdoc 2022-06-18 16:13:05 +03:00
Yuri Kuznetsov 01081ab9a7 jsdoc 2022-06-18 14:31:25 +03:00
Yuri Kuznetsov d2a400d08a jsdoc 2022-06-18 13:54:40 +03:00
Yuri Kuznetsov 5c1fe910b6 jsdoc 2022-06-18 10:10:02 +03:00
Yuri Kuznetsov 97a2f644f0 jsdoc 2022-06-17 17:15:11 +03:00
Yuri Kuznetsov 35e1caf817 jsdoc 2022-06-17 16:29:28 +03:00
Yuri Kuznetsov bccf6a4e05 jsdoc and fixes 2022-06-17 16:01:55 +03:00
Yuri Kuznetsov 7ef9b5be4e jsdoc 2022-06-17 15:31:14 +03:00
Yuri Kuznetsov 075509f97e jsdoc 2022-06-17 13:58:07 +03:00
Yuri Kuznetsov 56dfe8d88a jsdoc 2022-06-17 12:35:55 +03:00
Yuri Kuznetsov f2c5fdf9b5 fix doc 2022-06-16 22:11:35 +03:00
Yuri Kuznetsov 48020c771e jsdoc 2022-06-16 20:59:26 +03:00
Yuri Kuznetsov cd7f060feb jsdoc 2022-06-16 18:20:22 +03:00
Yuri Kuznetsov c0bb2148c6 jsdoc 2022-06-16 16:54:55 +03:00
Yuri Kuznetsov 966025c04f js docs 2022-06-16 16:28:08 +03:00
Yuri Kuznetsov e9fdd976ce jsdoc fixes 2022-06-16 15:06:10 +03:00
Yuri Kuznetsov d1b5847f4c jsdoc fix 2022-06-16 15:01:50 +03:00
Yuri Kuznetsov ad58272a21 jsdoc 2022-06-16 14:56:09 +03:00
Yuri Kuznetsov ec5f66d6f1 fix 2022-06-16 14:28:50 +03:00
Yuri Kuznetsov 5e59538865 jsdoc 2022-06-16 14:26:30 +03:00
Yuri Kuznetsov 4f884b3321 jsdoc 2022-06-16 13:23:37 +03:00
Yuri Kuznetsov cc55430837 Merge branch 'fix' 2022-06-16 10:54:17 +03:00
Yuri Kuznetsov 9e2fbbe494 fix stream fetch-new race condition 2022-06-16 10:48:00 +03:00
Yuri Kuznetsov 322091248e fix 2022-06-16 10:40:38 +03:00
Yuri Kuznetsov 6f241d8803 Arabic lang 2022-06-16 09:22:25 +03:00
Yuri Kuznetsov 720c318186 jsdoc 2022-06-15 16:28:41 +03:00
Yuri Kuznetsov caeed2ab43 jsdoc 2022-06-15 16:22:04 +03:00
Yuri Kuznetsov 4a5ef3c1b2 jsdoc 2022-06-15 16:13:03 +03:00
Yuri Kuznetsov 2da413754e jsdoc 2022-06-15 15:37:22 +03:00
Yuri Kuznetsov 7375149ada jsdoc 2022-06-15 15:15:17 +03:00
Yuri Kuznetsov 2cfd1b76d5 jsdoc 2022-06-15 12:33:54 +03:00
Yuri Kuznetsov 7de4a806a2 jsdoc 2022-06-14 22:53:06 +03:00
Yuri Kuznetsov 9e21dc43e9 jsdocs 2022-06-13 17:16:07 +03:00
Yuri Kuznetsov b711f263eb jsdoc 2022-06-13 16:42:19 +03:00
Yuri Kuznetsov d61cb52afe ide template 2022-06-13 11:43:19 +03:00
Yuri Kuznetsov f0f20dc39f add idea 2022-06-13 11:12:18 +03:00
Yuri Kuznetsov 3beebe0a87 update jscondif 2022-06-13 10:52:36 +03:00
Yuri Kuznetsov 3de40cd5cf type fixes 2022-06-13 10:52:28 +03:00
Yuri Kuznetsov 680ddad042 ide ignoring 2022-06-13 10:12:19 +03:00
Yuri Kuznetsov d65234508f fix 2022-06-12 22:19:03 +03:00
Yuri Kuznetsov 8c7bce4244 jsconfig 2022-06-12 22:16:11 +03:00
Yuri Kuznetsov 58b9b5a775 amd require usage change 2022-06-12 21:37:42 +03:00
Yuri Kuznetsov 3c2b7a757c doc fix 2022-06-12 19:37:43 +03:00
Yuri Kuznetsov 69fc1c199d updage bullbone 2022-06-11 15:00:09 +03:00
Yuri Kuznetsov 8c5e597f43 fix editor config 2022-06-11 12:59:54 +03:00
Yuri Kuznetsov 551427b5a1 dics fixes 2022-06-11 12:56:42 +03:00
Yuri Kuznetsov 9905cfa01b jsdocs 2022-06-11 12:22:53 +03:00
Yuri Kuznetsov 981693093c update bullbone 2022-06-10 21:33:45 +03:00
Yuri Kuznetsov 69ef1bf275 docs 2022-06-10 20:29:29 +03:00
Yuri Kuznetsov cd953b47fe idea gitignore 2022-06-10 20:27:42 +03:00
Yuri Kuznetsov 0578268f2d update bullbone and cs fixes 2022-06-10 11:52:24 +03:00
Yuri Kuznetsov 2422940477 fix docs 2022-06-09 21:08:44 +03:00
Yuri Kuznetsov c551828192 fix docs 2022-06-09 21:05:33 +03:00
Yuri Kuznetsov 077dd51e8a docs 2022-06-09 19:06:04 +03:00
Yuri Kuznetsov 1a06f66555 update bullbone 2022-06-09 18:16:13 +03:00
Yuri Kuznetsov 345c6226b8 frontend controller fixes and docs 2022-06-09 17:36:09 +03:00
Yuri Kuznetsov d2052bf8b1 Merge branch 'fix' 2022-06-09 11:03:25 +03:00
Yuri Kuznetsov 2f90205a16 update bullbone 2022-06-09 11:03:23 +03:00
Yuri Kuznetsov e267c88043 fix label manager empty array 2022-06-09 09:39:48 +03:00
Yuri Kuznetsov 11c9bf7704 update bullbone 2022-06-08 17:28:42 +03:00
Yuri Kuznetsov fb4730942f datetime time format map 2022-06-08 15:23:18 +03:00
Yuri Kuznetsov 68b3fcaa43 docs fix 2022-06-08 10:58:20 +03:00
Yuri Kuznetsov 45d8cc9e8e ref 2022-06-08 10:54:07 +03:00
Yuri Kuznetsov e501eaf238 refactor field view 2022-06-08 10:30:13 +03:00
Yuri Kuznetsov c8395c6558 onListModeSet 2022-06-07 18:33:42 +03:00
Yuri Kuznetsov 00b69bfbab set mode changes 2022-06-07 18:18:13 +03:00
Yuri Kuznetsov 4d5fe65988 Merge branch 'fix' 2022-06-07 14:46:01 +03:00
Yuri Kuznetsov 9441825b8f fix not read-only race condition 2022-06-07 14:45:38 +03:00
Yuri Kuznetsov 48047cfea7 refactoring 2022-06-07 13:18:54 +03:00
Yuri Kuznetsov b26ea22041 fix lang 2022-06-07 10:42:45 +03:00
Yuri Kuznetsov 2bdde353b1 fix acl user frontend 2022-06-07 10:20:52 +03:00
Yuri Kuznetsov cb18485c3a stream fetch new no rebuild fix 2022-06-06 10:34:48 +03:00
Yuri Kuznetsov 0e267ca2a6 cs fix 2022-06-06 10:01:21 +03:00
Yuri Kuznetsov 085f93ba39 hard bounce statuses 2022-06-05 13:44:32 +03:00
Yuri Kuznetsov afea99ae6f bounced test 2022-06-04 20:49:53 +03:00
Yuri Kuznetsov 3cd9e4919a Inline edit change (#2333) 2022-06-03 12:30:57 +03:00
Yuri Kuznetsov e6b7914ccd binder inContextd 2022-06-03 11:50:53 +03:00
Yuri Kuznetsov c7e74fe209 request wrapper fix 2022-06-02 10:36:13 +03:00
Yuri Kuznetsov b3f69c0c70 stream post button fixes 2022-06-02 10:31:28 +03:00
Yuri Kuznetsov 11848b1ded fix post button 2022-06-02 10:07:40 +03:00
Yuri Kuznetsov d6b48962ce attachments fixes 2022-05-31 12:30:53 +03:00
Yuri Kuznetsov 521f407714 upload by chunk 2022-05-31 11:56:36 +03:00
Yuri Kuznetsov fd50868899 Merge branch 'fix' 2022-05-30 09:47:17 +03:00
Yuri Kuznetsov 4f00a18599 type fixes 2022-05-29 10:34:48 +03:00
Yuri Kuznetsov 767e775f31 fix mass convert currency 2022-05-27 11:50:51 +03:00
Yuri Kuznetsov bedb66fdd5 datetime comparison methods 2022-05-26 14:06:45 +03:00
dependabot[bot] e3319a3bd4 Bump grunt from 1.5.2 to 1.5.3 (#2326)
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 09:23:27 +03:00
Yuri Kuznetsov c74111e29b Merge branch 'fix' 2022-05-24 16:47:47 +03:00
Yuri Kuznetsov bd2204156e v 2022-05-24 16:14:19 +03:00
Yuri Kuznetsov fe15eeeac7 wysiwyg fix paste upload duplicate 2022-05-24 16:08:48 +03:00
Yuri Kuznetsov 280a1a9313 cs fix 2022-05-24 14:37:47 +03:00
Yuri Kuznetsov 27105910df date time withTime 2022-05-24 14:15:59 +03:00
Eymen Elkum f3d2616afb code style improve (#2324) 2022-05-24 13:20:25 +03:00
Yuri Kuznetsov 99cd5ddf3c Merge branch 'master' of github.com:espocrm/espocrm 2022-05-23 17:30:01 +03:00
Yuri Kuznetsov 02ebef1db8 Merge branch 'fix' 2022-05-23 17:29:48 +03:00
Yuri Kuznetsov 28227ddc2e v 2022-05-23 15:30:21 +03:00
Yuri Kuznetsov b848261468 category tree fix 2022-05-23 13:49:33 +03:00
Yuri Kuznetsov f1ff31829c related list modal sync model change 2022-05-23 12:36:24 +03:00
Yuri Kuznetsov 0736285e24 fix range fields 2022-05-23 11:47:32 +03:00
Yuri Kuznetsov 79bc345307 Merge branch 'fix' 2022-05-20 09:54:44 +03:00
Yuri Kuznetsov a737711652 move config params 2022-05-19 11:47:59 +03:00
Yuri Kuznetsov b5e8b89ed5 formula attribute id 2022-05-19 11:14:36 +03:00
Yuri Kuznetsov a51b45df90 move config params 2022-05-19 10:35:08 +03:00
Yuri Kuznetsov 5612055b85 move config params to default 2022-05-19 10:26:09 +03:00
Yuri Kuznetsov e3aff78e89 link manager hook assigned users 2022-05-19 10:19:08 +03:00
Yuri Kuznetsov 84a7576772 cs fix 2022-05-18 16:04:44 +03:00
Yuri Kuznetsov 69cd14f471 fix filter bool any 2022-05-18 16:03:34 +03:00
Yuri Kuznetsov 1a2d223740 callable usage 2022-05-17 17:10:24 +03:00
Yuri Kuznetsov 4ccbf86589 exit status usage 2022-05-17 16:51:34 +03:00
Yuri Kuznetsov 502b6586f1 console io error status code 2022-05-17 16:39:16 +03:00
Yuri Kuznetsov 4f57677e03 Merge branch 'fix' 2022-05-17 15:44:47 +03:00
Yuri Kuznetsov 8c1494e17e notify 2022-05-17 15:43:36 +03:00
Yuri Kuznetsov 178d06650a entity renamer 2022-05-17 12:55:27 +03:00
Yuri Kuznetsov 926ee94aae Merge branch 'master' of https://github.com/espocrm/espocrm 2022-05-16 09:43:29 +03:00
Yuri Kuznetsov 50a6209f11 php version required 2022-05-13 16:33:52 +03:00
Yuri Kuznetsov e82a467f42 Merge branch 'fix' 2022-05-13 15:25:51 +03:00
Yuri Kuznetsov f0d508be6f v 2022-05-13 15:15:33 +03:00
Yuri Kuznetsov 82a3c606c7 Merge branch 'fix' 2022-05-13 15:12:31 +03:00
Yuri Kuznetsov e2b0aa65f8 fix convert lead 2022-05-13 09:40:43 +03:00
Yuri Kuznetsov 271344cfc1 fix convert lead 2022-05-13 09:40:07 +03:00
Yuri Kuznetsov 72cafdb27a Merge branch 'fix' 2022-05-12 17:17:35 +03:00
Yuri Kuznetsov 930675672b duration fixes 2022-05-12 17:07:04 +03:00
Yuri Kuznetsov 73f8731014 fix 2022-05-12 15:22:24 +03:00
Yuri Kuznetsov 33addcd90c Merge branch 'fix' 2022-05-12 15:02:00 +03:00
Yuri Kuznetsov b5ee03b142 fix all-day event duration 2022-05-12 14:33:08 +03:00
Yuri Kuznetsov a0d4fa5b82 cs fix 2022-05-12 14:08:14 +03:00
Yuri Kuznetsov 317bbba8c9 cs fix 2022-05-12 13:54:57 +03:00
Yuri Kuznetsov cd58ccbb52 cleanup 2022-05-12 13:44:09 +03:00
Yuri Kuznetsov da032f3518 preserve duration 2022-05-12 13:39:53 +03:00
Yuri Kuznetsov 487da37bea Merge branch 'fix' 2022-05-12 11:16:15 +03:00
Yuri Kuznetsov 3da95cce76 cs fix 2022-05-12 10:53:05 +03:00
Yuri Kuznetsov 9a7cf5c35e duration 3h 2022-05-12 10:04:28 +03:00
Yuri Kuznetsov a022a4e8e8 fix test 2022-05-11 14:19:27 +03:00
Yuri Kuznetsov b96ae74c14 cs fix 2022-05-10 17:57:54 +03:00
Yuri Kuznetsov 7a420fb6f9 fix clearAllStoredMainViews 2022-05-10 17:51:45 +03:00
Yuri Kuznetsov 58d161210d image silent exceptions 2022-05-10 17:42:14 +03:00
Yuri Kuznetsov 41c7cf115d clear stored main views on logout 2022-05-10 17:41:02 +03:00
Yuri Kuznetsov f511553ff1 mass update actions 2022-05-10 14:53:21 +03:00
Yuri Kuznetsov 9e047650e8 Merge branch 'fix' 2022-05-09 18:18:25 +03:00
Yuri Kuznetsov ba3bbfc097 fix autocomplete search no full-text 2022-05-09 16:03:54 +03:00
Yuri Kuznetsov dcc2d1ee70 Merge branch 'master' of github.com:espocrm/espocrm 2022-05-09 13:02:16 +03:00
Yuri Kuznetsov f167f0a0f9 Merge branch 'stable' 2022-05-09 13:01:46 +03:00
Yuri Kuznetsov 7758e20224 v 2022-05-09 12:52:28 +03:00
Yuri Kuznetsov a1cc2ee8c6 fix duplicate link multiple 2022-05-09 12:39:47 +03:00
Yuri Kuznetsov bdf397ad0f lt lv lang 2022-05-09 10:13:57 +03:00
Yuri Kuznetsov 4dcae92ab7 fix label 2022-05-09 10:11:26 +03:00
Yuri Kuznetsov a7f5192057 Merge branch 'fix' 2022-05-08 16:24:26 +03:00
Yuri Kuznetsov 1d4fedf7c7 fix mass delete 2022-05-08 16:23:17 +03:00
Yuri Kuznetsov 7496d0c347 Merge branch 'fix' 2022-05-08 15:50:25 +03:00
Yuri Kuznetsov 24e6f2469f record service factory 2022-05-08 15:50:14 +03:00
Yuri Kuznetsov fdad7065f7 Merge branch 'fix' 2022-05-07 14:59:37 +03:00
Arkadiy Asuratov 7b16d3541d fix entity type (#2308) 2022-05-06 22:05:31 +03:00
Yuri Kuznetsov 3c9c3c9c8c fix 2022-05-05 18:04:48 +03:00
Yuri Kuznetsov f0413b7037 message partList and bounced recognizer 2022-05-05 17:39:36 +03:00
Yuri Kuznetsov 749f1a6a70 fix modal backdrop close on drag 2022-05-05 11:05:53 +03:00
Yuri Kuznetsov 512a23ef64 bg lang fixes 2022-05-05 10:19:47 +03:00
Yuri Kuznetsov 23729c5b89 scan barcode white background 2022-05-05 10:10:17 +03:00
Yuri Kuznetsov f31ee10cf7 second step login autocomplete off 2022-05-05 10:09:58 +03:00
Yuri Kuznetsov 21d34b091b css label fix 2022-05-04 15:04:36 +03:00
Yuri Kuznetsov fd19aa8b2e multi-enum max length 2022-05-04 14:36:24 +03:00
Arkadiy Asuratov 5af0b62e8e fix undeclared variable (#2304) 2022-05-04 14:00:51 +03:00
Yuri Kuznetsov 965cb33e34 layout set removal 2022-04-30 18:25:33 +03:00
Yuri Kuznetsov aca19b3427 send button position 2022-04-30 11:08:02 +03:00
Yuri Kuznetsov 238baf89be spin color 2022-04-29 13:08:35 +03:00
Yuri Kuznetsov 50218a1146 fetch model on followers change 2022-04-29 12:21:35 +03:00
Yuri Kuznetsov d1280a8797 cs fix 2022-04-29 12:16:57 +03:00
Yuri Kuznetsov ca9358cf1a cs fix 2022-04-29 11:59:41 +03:00
Yuri Kuznetsov c3fa8f3131 after relete link event 2022-04-29 11:51:10 +03:00
Yuri Kuznetsov 4af110cd69 followers fix 2022-04-29 11:34:55 +03:00
Yuri Kuznetsov 45d2d4306b cs fix 2022-04-29 11:31:00 +03:00
Yuri Kuznetsov 385f01da8b css text-gray 2022-04-29 10:23:34 +03:00
Yuri Kuznetsov 85da160957 menu button re-render fix 2022-04-28 22:17:36 +03:00
Yuri Kuznetsov ff15f318c4 cs fix 2022-04-28 21:55:24 +03:00
Yuri Kuznetsov 5769e1b58f email address css fix 2022-04-28 14:43:37 +03:00
Yuri Kuznetsov 028a7c728a fix list extended empty cell 2022-04-28 13:37:16 +03:00
Yuri Kuznetsov 9ec3889f96 date-time none 2022-04-28 13:07:28 +03:00
Yuri Kuznetsov 3aa6502996 phone number css fix 2022-04-28 12:47:49 +03:00
Yuri Kuznetsov 847f8713c9 timeline gray axis color 2022-04-28 12:42:46 +03:00
Yuri Kuznetsov 7405476f61 none value gray 2022-04-28 12:34:23 +03:00
Yuri Kuznetsov 985903e99b loading-value class 2022-04-28 12:34:23 +03:00
Pavel Martínek 347f4e5566 Update Admin.json (#2302) 2022-04-28 11:55:52 +03:00
Pavel Martínek 15d72afbd5 Update Account.json (#2300) 2022-04-28 11:10:31 +03:00
Yuri Kuznetsov 085964dc58 none-value class 2022-04-28 11:08:12 +03:00
Yuri Kuznetsov 6c0a1265ab global search, notifications panel spinner 2022-04-28 10:31:02 +03:00
dependabot[bot] 6ee0de8f62 Bump grunt from 1.4.1 to 1.5.2 (#2298)
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.4.1 to 1.5.2.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.2)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 16:32:04 +03:00
Yuri Kuznetsov bc2613d6a3 Merge branch 'master' of github.com:espocrm/espocrm 2022-04-27 15:52:32 +03:00
Yuri Kuznetsov 655a499caa v 2022-04-27 15:45:28 +03:00
Yuri Kuznetsov bcf6f33965 no data gray 2022-04-27 13:33:34 +03:00
Yuri Kuznetsov 7c04febb3b fix invitation error 2022-04-27 10:59:45 +03:00
Yuri Kuznetsov de39bcf197 Update SECURITY.md 2022-04-27 10:26:11 +03:00
Yuri Kuznetsov 4e7779ee48 fix entity manager edit 2022-04-27 10:14:09 +03:00
Yuri Kuznetsov 4b17896ff1 ref 2022-04-25 16:42:08 +03:00
Yuri Kuznetsov caf20a5e61 global search fix 2022-04-25 13:14:31 +03:00
Yuri Kuznetsov 896d42df43 v 2022-04-25 11:44:48 +03:00
Yuri Kuznetsov 1905be823d upgrade change 2022-04-25 11:40:05 +03:00
Yuri Kuznetsov 6347992b6e before upgrade fix 2022-04-23 22:53:19 +03:00
Yuri Kuznetsov b695d7c148 upgrade fix 2022-04-23 22:17:04 +03:00
Yuri Kuznetsov 9b75cdc2ac lang updates 2022-04-22 15:51:30 +03:00
Yuri Kuznetsov da80ed0130 formula parser only comment fix 2022-04-21 18:42:00 +03:00
Yuri Kuznetsov e8a23de848 refactoring 2022-04-21 18:02:02 +03:00
Yuri Kuznetsov cb431a03df fix diff 2022-04-21 12:29:01 +03:00
Yuri Kuznetsov 4979fb7326 fix workflow 2022-04-21 12:27:59 +03:00
Yuri Kuznetsov aaae51bb37 version tag empty 2022-04-21 12:20:29 +03:00
Yuri Kuznetsov 4d860e3764 v 2022-04-21 12:14:34 +03:00
Yuri Kuznetsov e73ba5c734 email fetch bc fix 2022-04-21 12:14:07 +03:00
Yuri Kuznetsov cca561f2c3 fix ldap portal user creation 2022-04-20 12:06:44 +03:00
Yuri Kuznetsov 87c5089a8e autocomplete fixes 2022-04-19 23:08:26 +03:00
Yuri Kuznetsov a0819e8cdc autocomplete fixes 2022-04-19 22:51:10 +03:00
Yuri Kuznetsov ac505d9875 fix db regexp 2022-04-19 20:20:48 +03:00
Yuri Kuznetsov 750f7ceb53 autocomplete fix 2022-04-19 19:28:45 +03:00
Yuri Kuznetsov 5be2a73801 install default preferences values 2022-04-19 13:47:36 +03:00
Yuri Kuznetsov 5976fd5738 fix 2022-04-19 13:42:15 +03:00
Yuri Kuznetsov e6f09ed32a fix install date format 2022-04-19 13:35:16 +03:00
Yuri Kuznetsov e2efb62a6a install theme selection 2022-04-19 13:17:21 +03:00
Yuri Kuznetsov 8ecfc75fac install buttons wide 2022-04-19 10:59:30 +03:00
Yuri Kuznetsov 2c16a5bff7 install back button to the left 2022-04-19 10:55:28 +03:00
Yuri Kuznetsov 47d049ab93 fix installer create database 2022-04-19 10:49:57 +03:00
Yuri Kuznetsov 51ce0780fd install css fix 2022-04-19 10:24:53 +03:00
Yuri Kuznetsov a01e394a56 cs fix 2022-04-18 21:42:20 +03:00
Yuri Kuznetsov 752b683494 config fill missing default parameters on rebuild 2022-04-18 19:11:40 +03:00
Yuri Kuznetsov 2281d982f2 fix config: null not treated as set 2022-04-18 19:06:58 +03:00
Yuri Kuznetsov ad03cf92fc css fix 2022-04-18 15:49:52 +03:00
Yuri Kuznetsov 16ccf59d3f dark heading blue color 2022-04-18 15:46:52 +03:00
dependabot[bot] 9e09f89927 Bump async from 2.6.2 to 2.6.4 (#2280)
Bumps [async](https://github.com/caolan/async) from 2.6.2 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.2...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 13:44:33 +03:00
Yuri Kuznetsov 53886ec684 promise usage 2022-04-18 13:10:22 +03:00
Yuri Kuznetsov fbc3e2cea9 autocomplete item padding 2022-04-18 13:08:14 +03:00
Yuri Kuznetsov 2a7a4714ed doNotFillAssignedUserIfNotRequired true 2022-04-18 12:41:24 +03:00
Yuri Kuznetsov 19749aeca2 autoselect first autocomplete 2022-04-18 12:33:11 +03:00
Yuri Kuznetsov ee1dd28bc7 assigned user autocomplete own 2022-04-18 12:29:41 +03:00
Yuri Kuznetsov c1b0a3849d link autocomplete flicker fix 2022-04-18 11:01:46 +03:00
Yuri Kuznetsov d721036226 update autocomplete lib 2022-04-18 10:28:57 +03:00
Yuri Kuznetsov 9cce13af65 link autocimplete select text on focus, no search on focus 2022-04-18 10:18:27 +03:00
Yuri Kuznetsov 176abf90ad cs fix 2022-04-18 09:23:32 +03:00
Yuri Kuznetsov 0bdeec10b6 fix color 2022-04-15 15:35:02 +03:00
Yuri Kuznetsov 29bd26a096 chart grid label x 1 line 2022-04-15 15:11:43 +03:00
Yuri Kuznetsov 758e831cd5 css chart overflow hidden 2022-04-15 14:06:06 +03:00
Yuri Kuznetsov 95eea88a89 color fix 2022-04-15 13:49:50 +03:00
Yuri Kuznetsov 4c435b4d4b fix css 2022-04-15 12:51:22 +03:00
Yuri Kuznetsov 120f9fd07e q append asterisk 2022-04-14 16:08:40 +03:00
Yuri Kuznetsov 7ca7a1ad18 discard nofulltexdtsearch 2022-04-14 15:46:32 +03:00
Yuri Kuznetsov f8dcd40905 fix test 2022-04-14 14:54:06 +03:00
Yuri Kuznetsov 039c67c6ca ref 2022-04-14 14:52:34 +03:00
Yuri Kuznetsov 908d0ad3c4 refactoring 2022-04-14 14:47:30 +03:00
Yuri Kuznetsov 1a70fdfd41 ft filter fix 2022-04-14 13:26:15 +03:00
Yuri Kuznetsov dc5c572a9f full text datacomposer interface 2022-04-14 12:31:18 +03:00
Yuri Kuznetsov 96be15c33b fulltextsearch namespace 2022-04-14 11:45:49 +03:00
Yuri Kuznetsov 79793ebff6 email search fix 2022-04-14 11:14:19 +03:00
Yuri Kuznetsov d38c79c4ba ft changes 2022-04-14 10:49:34 +03:00
Yuri Kuznetsov ba02164d0b ft changes 2022-04-13 20:00:15 +03:00
Yuri Kuznetsov 0cdbe89f5c refactoring 2022-04-13 19:20:52 +03:00
Yuri Kuznetsov 46d8ec757f fix orm order empty 2022-04-13 13:45:54 +03:00
Yuri Kuznetsov f4930b0a1f type fix 2022-04-13 13:24:51 +03:00
Yuri Kuznetsov e03dc3b738 refactoring 2022-04-13 13:18:32 +03:00
Yuri Kuznetsov bfb7d88b79 refactoring 2022-04-13 11:18:12 +03:00
Yuri Kuznetsov 2f3f2a0247 use fulltext search in automplete 2022-04-12 16:38:47 +03:00
Yuri Kuznetsov 08f64eb209 autocompete no order 2022-04-12 16:38:12 +03:00
Yuri Kuznetsov 15371a6a0f no total param 2022-04-12 14:21:36 +03:00
Yuri Kuznetsov 68ea55144d fix 2022-04-12 14:21:12 +03:00
Yuri Kuznetsov ec7e35e654 fix link parent reset 2022-04-12 14:15:17 +03:00
Yuri Kuznetsov 7e5a7546f2 fulltext search in email address lookup 2022-04-12 12:49:51 +03:00
Yuri Kuznetsov 86f67bd315 email address lookup no cache 2022-04-12 12:43:41 +03:00
Yuri Kuznetsov ca8cdd6008 currency compare 2022-04-12 11:05:16 +03:00
Yuri Kuznetsov 5a60c5941a add composer suggest 2022-04-12 10:44:40 +03:00
Yuri Kuznetsov 5487bd7598 records per page select 2022-04-11 13:59:58 +03:00
Yuri Kuznetsov ea8c4d348d type fix 2022-04-11 13:22:26 +03:00
Yuri Kuznetsov a56a6b01f4 orderer apply id 2022-04-11 13:21:48 +03:00
dependabot[bot] bfe91a37e8 Bump moment from 2.24.0 to 2.29.2 (#2276)
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.24.0...2.29.2)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 13:03:34 +03:00
Yuri Kuznetsov ecd61eb4e9 dark theme fix 2022-04-11 13:02:21 +03:00
Yuri Kuznetsov ffd05882f2 select orderer, passing user to order converter 2022-04-11 12:57:24 +03:00
Yuri Kuznetsov f8eb7679fd fix link multiple order 2022-04-10 14:27:38 +03:00
Yuri Kuznetsov 68fa506f32 currency bcmath 2022-04-10 13:13:23 +03:00
Yuri Kuznetsov c1e4ca4850 link multiple order in select 2022-04-09 19:39:52 +03:00
Taras Machyshyn 31a507cd4a Autoload fixes 2022-04-08 16:28:12 +03:00
Yuri Kuznetsov 58a89146c9 cleanup 2022-04-08 14:04:08 +03:00
Yuri Kuznetsov d70461db9f email task status icon 2022-04-08 13:57:26 +03:00
Yuri Kuznetsov bddd310ac7 refactoring 2022-04-08 13:16:42 +03:00
Yuri Kuznetsov f46bc47bba select user own first 2022-04-08 12:55:11 +03:00
Yuri Kuznetsov 579e134303 cs fix 2022-04-08 12:20:32 +03:00
Yuri Kuznetsov b92fd15ece accentuate own user in list 2022-04-07 17:47:50 +03:00
Yuri Kuznetsov 4ef307e8e7 email to case, carry over lead 2022-04-07 17:20:46 +03:00
Yuri Kuznetsov 58fca25b3e dark theme color fixes 2022-04-07 17:15:51 +03:00
Yuri Kuznetsov efaf1fab79 calendar create enum fix 2022-04-07 12:44:53 +03:00
Yuri Kuznetsov e6beedbffd cs fix 2022-04-07 12:15:22 +03:00
Yuri Kuznetsov d718151dbe field validate refactoring and fix 2022-04-07 12:02:05 +03:00
Yuri Kuznetsov cb79354078 cs fix 2022-04-07 11:54:19 +03:00
Yuri Kuznetsov 94d2873669 color fix 2022-04-06 16:31:02 +03:00
Yuri Kuznetsov 46b269fa0e set access info checkbox not setting 2022-04-06 13:37:18 +03:00
Yuri Kuznetsov 43a233a4ba stream drag enable posting mode 2022-04-06 12:09:12 +03:00
Yuri Kuznetsov 7cc33bd684 email task relationship 2022-04-05 18:39:43 +03:00
Yuri Kuznetsov 0937c83746 fix array list css 2022-04-05 14:44:38 +03:00
Yuri Kuznetsov 0ae81328b4 image fix 2022-04-05 14:39:09 +03:00
Yuri Kuznetsov 68a7130e85 image preview left-right keys 2022-04-05 11:57:15 +03:00
Yuri Kuznetsov da41370c29 cs fix 2022-04-05 11:30:31 +03:00
Yuri Kuznetsov 836ffff49f contact opp relation fix 2022-04-04 14:22:02 +03:00
Yuri Kuznetsov 350819033d email send from detail view and edit mode promise 2022-04-04 13:21:48 +03:00
Yuri Kuznetsov 5c47b6c653 fix 2022-04-03 10:51:29 +03:00
Yuri Kuznetsov f37fd5e013 ref 2022-04-01 14:46:21 +03:00
Yuri Kuznetsov 100b44791d refactoring 2022-04-01 14:39:21 +03:00
Yuri Kuznetsov cf7f8260c9 refactoring 2022-04-01 13:33:23 +03:00
Yuri Kuznetsov bc06e39f90 refactoring 2022-04-01 12:13:02 +03:00
Yuri Kuznetsov 42a8f8b438 base currency usage 2022-04-01 11:48:48 +03:00
Yuri Kuznetsov 6b04536c3a currency rates base 2022-04-01 11:47:02 +03:00
Yuri Kuznetsov 4ff8514925 refactoring 2022-04-01 11:30:59 +03:00
Yuri Kuznetsov 30b4b8d501 refactoring 2022-04-01 11:12:21 +03:00
Yuri Kuznetsov 23d78e1e46 utf8 passwords 2022-03-31 18:57:15 +03:00
Yuri Kuznetsov 65ca47b878 Merge branch 'fix' 2022-03-31 18:03:33 +03:00
Yuri Kuznetsov a2ac9c2d4c login base64 error catching 2022-03-31 18:03:21 +03:00
Yuri Kuznetsov 87048ce9af set config params script 2022-03-30 16:04:42 +03:00
dependabot[bot] 846c8040a3 Bump guzzlehttp/psr7 from 1.6.1 to 1.8.4 (#2265)
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 1.6.1 to 1.8.4.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/1.8.4/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/1.6.1...1.8.4)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-30 13:02:20 +03:00
Yuri Kuznetsov f993d676fc fix 2022-03-30 13:00:56 +03:00
Yuri Kuznetsov 00d04e0157 translatable error messages 2022-03-30 12:59:13 +03:00
Yuri Kuznetsov 461034f9cc roles exportable importable 2022-03-29 17:44:24 +03:00
Yuri Kuznetsov 16b61d9484 Merge branch 'fix' 2022-03-29 16:14:50 +03:00
Eymen Elkum afbd3919b7 fix typo (#2260)
Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2022-03-29 15:38:06 +03:00
Yuri Kuznetsov ec1887e726 closable error usage 2022-03-29 13:36:50 +03:00
Yuri Kuznetsov b9fc41d5cd Merge branch 'fix' 2022-03-29 13:18:36 +03:00
Yuri Kuznetsov 216e1061d2 v 2022-03-29 12:54:57 +03:00
Yuri Kuznetsov 934b7a9369 npm ci 2022-03-29 12:48:42 +03:00
Yuri Kuznetsov 6b62841fba fix websocket 2022-03-29 12:47:29 +03:00
Yuri Kuznetsov 644f653bdd fix websocket 2022-03-29 12:41:40 +03:00
Yuri Kuznetsov bdfe6b5e23 forbidden exception with body 2022-03-28 14:38:03 +03:00
Yuri Kuznetsov 01e0d51c0a error alert improvements 2022-03-28 14:37:36 +03:00
Yuri Kuznetsov 6acd18b4c6 fix error 2022-03-28 14:26:40 +03:00
Yuri Kuznetsov 9ac36cd5da error alerts with close button 2022-03-28 13:44:12 +03:00
Yuri Kuznetsov cbc581ad9f cs fix 2022-03-26 17:34:09 +02:00
Yuri Kuznetsov 9845ed2db3 formula tpl change 2022-03-25 20:19:29 +02:00
Yuri Kuznetsov 87e95dc791 Update README.md 2022-03-25 17:39:43 +02:00
Yuri Kuznetsov 51ca68531a Update README.md 2022-03-25 17:09:37 +02:00
Yuri Kuznetsov eb78b921a7 Update README.md 2022-03-25 17:07:46 +02:00
Yuri Kuznetsov 1d6bedcfad Update README.md 2022-03-25 17:07:21 +02:00
Yuri Kuznetsov 36ca2daee0 Update README.md 2022-03-25 17:06:27 +02:00
Yuri Kuznetsov f000fb6f29 Update README.md 2022-03-25 16:58:49 +02:00
Yuri Kuznetsov 170ff67ea8 Update README.md 2022-03-25 16:58:11 +02:00
Yuri Kuznetsov d196347b22 Update README.md 2022-03-25 16:52:59 +02:00
Yuri Kuznetsov b2d7cfa187 fix diff 2022-03-25 11:32:50 +02:00
Yuri Kuznetsov 2c3f6baaac rename array index 2022-03-24 21:47:23 +02:00
Yuri Kuznetsov 0060f70586 array functions metadata 2022-03-24 20:45:58 +02:00
Yuri Kuznetsov 22fd7cb6b3 array functions 2022-03-24 20:22:47 +02:00
Yuri Kuznetsov 9d7246832d build changes 2022-03-24 16:29:02 +02:00
Taras Machyshyn 03eb8db555 package.json 2022-03-24 15:05:52 +02:00
Yuri Kuznetsov 3f2364cd8d phpstan level 8 2022-03-24 12:35:02 +02:00
Yuri Kuznetsov f1c0ccf97d type fixes 2022-03-24 12:34:40 +02:00
Yuri Kuznetsov ceddfd8486 type fixes 2022-03-24 12:21:14 +02:00
Yuri Kuznetsov eaed64fe6a type fixes 2022-03-24 10:54:51 +02:00
Yuri Kuznetsov 69d88f9b76 fix email address varchar 2022-03-24 10:53:22 +02:00
Yuri Kuznetsov 1e51f1b97c fix 2022-03-23 19:46:40 +02:00
Yuri Kuznetsov ef7e620b8b bc fix 2022-03-23 19:41:28 +02:00
Yuri Kuznetsov 99c2f30394 fix 2022-03-23 15:44:20 +02:00
Yuri Kuznetsov ccc231a06e fixes 2022-03-23 15:33:22 +02:00
Yuri Kuznetsov b4aa1392d5 type fixes 2022-03-23 15:14:44 +02:00
Yuri Kuznetsov 4aec7251a6 type fixes 2022-03-23 15:04:26 +02:00
Yuri Kuznetsov 5ff9e42887 type fixes 2022-03-23 14:46:06 +02:00
Yuri Kuznetsov a9d4046337 type fixes 2022-03-23 14:31:31 +02:00
Yuri Kuznetsov b1e8266d89 type fixes 2022-03-23 14:22:05 +02:00
Yuri Kuznetsov 1a4b891b05 type fixes 2022-03-23 14:14:08 +02:00
Yuri Kuznetsov 0191188eba type fixes 2022-03-23 14:10:34 +02:00
Yuri Kuznetsov 833cd4f5ee type fixes 2022-03-23 13:51:59 +02:00
Yuri Kuznetsov bea8f4d4bd type fixes 2022-03-23 13:38:57 +02:00
Yuri Kuznetsov d59874801d type fixes 2022-03-23 13:17:04 +02:00
Yuri Kuznetsov 2ffae46291 type fixes 2022-03-23 12:55:04 +02:00
Yuri Kuznetsov 48b79dfdb1 update minimist 2022-03-23 09:57:14 +02:00
Yuri Kuznetsov 52bdfc128c type fixes 2022-03-22 22:50:05 +02:00
Yuri Kuznetsov c9adeecd1b type fixes 2022-03-22 22:22:16 +02:00
Yuri Kuznetsov 4bfdbcc207 cleanup 2022-03-22 18:28:04 +02:00
Yuri Kuznetsov 0a4b261529 record service refactoring 2022-03-22 18:27:41 +02:00
Yuri Kuznetsov dc6a7f241e comment 2022-03-22 15:12:16 +02:00
Yuri Kuznetsov da39015a7c type fixes 2022-03-22 15:08:57 +02:00
Yuri Kuznetsov 8ba1907b45 type fixes 2022-03-22 14:51:22 +02:00
Yuri Kuznetsov eea3efeb95 type fixes 2022-03-22 14:06:21 +02:00
Yuri Kuznetsov 991e3f8cc3 type fixes 2022-03-22 13:37:38 +02:00
Yuri Kuznetsov 25a09f5ec3 type fixes 2022-03-22 13:16:04 +02:00
Yuri Kuznetsov 86413517e6 type fixes 2022-03-22 13:12:35 +02:00
Yuri Kuznetsov 747d581f9a type fixes 2022-03-22 12:37:27 +02:00
Yuri Kuznetsov 1d4030b29e type fixes 2022-03-22 12:22:29 +02:00
Yuri Kuznetsov 80fa7407d4 type fixes 2022-03-22 12:05:32 +02:00
Yuri Kuznetsov 495e700373 type fixes 2022-03-22 11:55:23 +02:00
Yuri Kuznetsov 5c583a697d type fixes 2022-03-22 11:34:39 +02:00
Yuri Kuznetsov 24b935c789 type fixes 2022-03-22 11:29:33 +02:00
Yuri Kuznetsov df0da5e51b type fixes 2022-03-22 11:23:02 +02:00
Yuri Kuznetsov 485dfd32fd collapsed modal changes and fixes 2022-03-22 11:11:47 +02:00
Yuri Kuznetsov 51a6b304f2 modal css fix 2022-03-22 10:53:36 +02:00
Yuri Kuznetsov 93e467af79 fix typo 2022-03-22 10:45:40 +02:00
Yuri Kuznetsov c5eb6c560b type fixes 2022-03-21 15:52:30 +02:00
Yuri Kuznetsov dd1a74b4c0 type fixes 2022-03-21 15:38:22 +02:00
Yuri Kuznetsov 5fa73b2581 type fixes 2022-03-21 14:19:04 +02:00
Yuri Kuznetsov f70e1bd38e type fixes 2022-03-21 13:51:54 +02:00
Yuri Kuznetsov 5dd845327e email phone group value object new method 2022-03-21 13:41:49 +02:00
Yuri Kuznetsov bc84a9be51 type fixes 2022-03-21 13:36:02 +02:00
Yuri Kuznetsov 39442377a3 type fixes 2022-03-21 13:23:12 +02:00
Yuri Kuznetsov b9126d2c0f type fixes 2022-03-21 13:08:52 +02:00
Yuri Kuznetsov 1f982031ca type fixes 2022-03-21 12:43:12 +02:00
Yuri Kuznetsov 3961dcaad4 type fixes 2022-03-21 12:28:54 +02:00
Yuri Kuznetsov a91c63c6a9 date time convert throwing exception 2022-03-21 12:26:56 +02:00
Yuri Kuznetsov 7f328927ba cs fixes 2022-03-21 12:26:42 +02:00
Yuri Kuznetsov 8491a54248 type fixes 2022-03-21 12:24:12 +02:00
Yuri Kuznetsov 79bc6a9aea add msg 2022-03-21 12:02:12 +02:00
Yuri Kuznetsov d899e8d3df fix 2022-03-21 12:01:27 +02:00
Yuri Kuznetsov 3ef6de205f get id exception 2022-03-21 11:34:48 +02:00
Yuri Kuznetsov fa02291a1a fixes 2022-03-20 19:35:28 +02:00
Yuri Kuznetsov 5096870635 update laminas ldap 2022-03-19 17:34:43 +02:00
Yuri Kuznetsov 7cb086d5c9 fix typo 2022-03-19 17:17:20 +02:00
Yuri Kuznetsov 9e9a72af91 fix 2022-03-19 11:18:01 +02:00
Yuri Kuznetsov 62f2c9658a phpstan level 7 2022-03-19 11:12:34 +02:00
Yuri Kuznetsov 4015e2f254 type fixes 2022-03-19 11:11:58 +02:00
Yuri Kuznetsov aa51a58da5 type fixes 2022-03-19 11:03:43 +02:00
Yuri Kuznetsov a12ee989f6 type fixes 2022-03-19 10:56:20 +02:00
Yuri Kuznetsov ab137263dc type fixes 2022-03-19 10:16:36 +02:00
Yuri Kuznetsov 77e02fd66f type fixes 2022-03-18 20:17:37 +02:00
Yuri Kuznetsov 0d1466afac type fixes 2022-03-18 20:14:41 +02:00
Yuri Kuznetsov 4f4db967f8 type fixes 2022-03-18 19:53:20 +02:00
Yuri Kuznetsov 6beaa730ea type fixes 2022-03-18 19:39:58 +02:00
Yuri Kuznetsov 31a84a6e53 type fixes 2022-03-18 18:04:03 +02:00
Yuri Kuznetsov 761e7b7b72 type fixes 2022-03-18 18:01:44 +02:00
Yuri Kuznetsov b0547325ca type fixes 2022-03-18 17:05:28 +02:00
Yuri Kuznetsov 914f90214a type fixes 2022-03-18 15:01:59 +02:00
Yuri Kuznetsov be2d936be9 type fixes 2022-03-18 14:46:07 +02:00
Yuri Kuznetsov 1f48e3d005 type fixes 2022-03-18 14:30:23 +02:00
Yuri Kuznetsov 50f7165963 type fixes 2022-03-18 14:24:38 +02:00
Yuri Kuznetsov 55453b95ab type fixes 2022-03-18 14:14:23 +02:00
Yuri Kuznetsov 27d7e6e522 type fixes 2022-03-18 14:05:16 +02:00
Yuri Kuznetsov abca847e5a type fixes 2022-03-18 13:37:53 +02:00
Yuri Kuznetsov 6d28fab610 type fixes 2022-03-18 13:05:02 +02:00
Yuri Kuznetsov a8b315b35d type fix 2022-03-17 21:09:52 +02:00
Yuri Kuznetsov 206e3e787e type fixes 2022-03-17 20:44:34 +02:00
Yuri Kuznetsov 26ab145380 type fixes 2022-03-17 20:32:28 +02:00
Yuri Kuznetsov 5518d71bbe type fixes 2022-03-17 18:09:37 +02:00
Yuri Kuznetsov 4fbfd1e123 type fixes 2022-03-17 18:01:07 +02:00
Yuri Kuznetsov 099e0745f5 type fixes 2022-03-17 17:18:49 +02:00
Yuri Kuznetsov ef0c9e86a9 type fixes 2022-03-17 16:53:39 +02:00
Yuri Kuznetsov ca39deb818 type fixes 2022-03-17 16:48:47 +02:00
Yuri Kuznetsov 0cc88a395f type fixes 2022-03-17 16:37:37 +02:00
Yuri Kuznetsov 706cb66021 type fixes 2022-03-17 15:14:41 +02:00
Yuri Kuznetsov a33d49b151 refactoring and type fixes 2022-03-17 14:57:08 +02:00
Yuri Kuznetsov 71bb9d7d18 type fixes 2022-03-17 14:26:36 +02:00
Yuri Kuznetsov 0ef26a7929 type fixes 2022-03-17 14:20:06 +02:00
Yuri Kuznetsov d77e56ec5d type fixes 2022-03-17 14:07:47 +02:00
Yuri Kuznetsov 45f9e2af59 type fixes 2022-03-17 14:02:36 +02:00
Yuri Kuznetsov cc89b69f18 type fixes 2022-03-17 13:42:20 +02:00
Yuri Kuznetsov d39376398a type fixes 2022-03-17 13:15:58 +02:00
Yuri Kuznetsov 1016b61835 type fixes 2022-03-17 12:52:32 +02:00
Yuri Kuznetsov 5a2c027f17 refactoring 2022-03-17 12:23:53 +02:00
Yuri Kuznetsov c030f375bf type fixes 2022-03-17 11:53:56 +02:00
Yuri Kuznetsov 8d7d5527a1 type fixes 2022-03-16 16:42:41 +02:00
Yuri Kuznetsov 91915ccf44 fix 2022-03-16 14:18:55 +02:00
Yuri Kuznetsov d92bf08160 type fixes 2022-03-16 14:16:32 +02:00
Yuri Kuznetsov 46f3846d36 type fixes 2022-03-16 13:57:33 +02:00
Yuri Kuznetsov 841b0f4ebf fix 2022-03-16 13:20:39 +02:00
Yuri Kuznetsov 5c4e4613e7 fix 2022-03-16 13:03:22 +02:00
Yuri Kuznetsov 8b800d7757 fixes 2022-03-16 12:58:20 +02:00
Yuri Kuznetsov 670df99eda type fixes 2022-03-16 12:04:44 +02:00
Yuri Kuznetsov e3b42ab084 type fixes 2022-03-16 11:34:07 +02:00
Yuri Kuznetsov dcd0f6f56b type fixes 2022-03-15 21:29:18 +02:00
Yuri Kuznetsov f7cab7d42d file get contents refactoring 2022-03-15 19:06:14 +02:00
Yuri Kuznetsov 3778e2640e type fixes 2022-03-15 15:10:01 +02:00
Yuri Kuznetsov b399a8dd78 cleanup 2022-03-15 14:29:21 +02:00
Yuri Kuznetsov 6a45db8e1c api getQueryParam return string 2022-03-15 14:15:41 +02:00
Yuri Kuznetsov 6c89147b2c fix type 2022-03-15 13:12:41 +02:00
Yuri Kuznetsov dff3321540 fix test 2022-03-15 12:50:48 +02:00
Yuri Kuznetsov 9592e68c30 type fixes 2022-03-15 12:44:30 +02:00
Yuri Kuznetsov 5ebd680d64 type fixes 2022-03-15 12:31:02 +02:00
Yuri Kuznetsov 603ac2b985 type fixes 2022-03-15 11:49:25 +02:00
Yuri Kuznetsov 6efff8e9d0 version param internal 2022-03-15 11:21:38 +02:00
Yuri Kuznetsov a8a46976de type fixes 2022-03-14 14:46:42 +02:00
Yuri Kuznetsov cd3a2bbc80 type fixes 2022-03-14 14:06:22 +02:00
Yuri Kuznetsov bb2259232e type fixes 2022-03-14 13:20:13 +02:00
Yuri Kuznetsov fdc9a98c1d fix 2022-03-14 12:49:05 +02:00
Yuri Kuznetsov 761df3c562 type fixes 2022-03-14 12:41:21 +02:00
Yuri Kuznetsov 11bd9c7d8f update dbal 2022-03-14 11:46:31 +02:00
Yuri Kuznetsov bf24bfda43 Merge branch 'fix' 2022-03-14 11:26:35 +02:00
Yuri Kuznetsov 389dda2866 fix email folder mandatory filter 2022-03-14 11:22:38 +02:00
Yuri Kuznetsov 86026f8f7e css fixes 2022-03-14 11:16:44 +02:00
Yuri Kuznetsov c0e82c6c00 type fixes 2022-03-13 16:50:10 +02:00
Yuri Kuznetsov 57e733754a type fixes 2022-03-13 15:20:47 +02:00
Yuri Kuznetsov ceb67c5b95 type fixes 2022-03-13 14:36:14 +02:00
Yuri Kuznetsov a164c33829 type fixes 2022-03-13 14:19:38 +02:00
Yuri Kuznetsov 120d090215 cs fix 2022-03-13 14:05:27 +02:00
Yuri Kuznetsov a5139255f2 fixes 2022-03-12 20:12:38 +02:00
Yuri Kuznetsov f5d5c4e75e fix 2022-03-12 20:02:36 +02:00
Yuri Kuznetsov fca55da02f acl generics 2022-03-12 19:59:55 +02:00
Yuri Kuznetsov 0a5a82fb38 phpstan 6 level 2022-03-12 19:45:56 +02:00
Yuri Kuznetsov b53378a1d3 type fixes 2022-03-12 19:44:25 +02:00
Yuri Kuznetsov ceb436971d type fixes 2022-03-12 19:20:57 +02:00
Yuri Kuznetsov 9522446955 fixes 2022-03-12 15:15:28 +02:00
Yuri Kuznetsov 3eedeef605 type fixes 2022-03-12 15:02:07 +02:00
Yuri Kuznetsov 07f49c56ff type fixes 2022-03-12 14:49:28 +02:00
Yuri Kuznetsov 5031b17e8a type fixes 2022-03-12 12:38:14 +02:00
Yuri Kuznetsov 42642de0e6 type fixes 2022-03-12 10:59:30 +02:00
Yuri Kuznetsov b4c5596b54 type fixes 2022-03-12 10:29:24 +02:00
Yuri Kuznetsov cbb5aaa6dd type fixes 2022-03-11 21:31:06 +02:00
Yuri Kuznetsov 2383194f07 type fixes 2022-03-11 18:53:21 +02:00
Yuri Kuznetsov 21cbf390fd fix 2022-03-11 16:58:24 +02:00
Yuri Kuznetsov db2c7f2c7b type fixes 2022-03-11 16:51:18 +02:00
Yuri Kuznetsov e7994caf72 type fixes 2022-03-11 16:36:31 +02:00
Yuri Kuznetsov f775f0467b type fixes 2022-03-11 14:44:38 +02:00
Yuri Kuznetsov fd5c7763bc type fixes 2022-03-11 14:29:15 +02:00
Yuri Kuznetsov d34c8d1918 type fixes 2022-03-11 14:09:17 +02:00
Yuri Kuznetsov 40d62c4213 type fixes 2022-03-11 13:40:35 +02:00
Yuri Kuznetsov a12031f7bc type fixes 2022-03-11 13:26:25 +02:00
Yuri Kuznetsov 15b04590af fix 2022-03-11 13:18:42 +02:00
Yuri Kuznetsov 2e75c2815e fix 2022-03-11 13:09:33 +02:00
Yuri Kuznetsov 8677229785 type fixes 2022-03-11 13:07:31 +02:00
Yuri Kuznetsov 71193a9071 type fix 2022-03-11 12:52:11 +02:00
Yuri Kuznetsov cefc0e9bdf type fixes 2022-03-11 12:42:03 +02:00
Yuri Kuznetsov cf41312a01 type fixes 2022-03-11 12:24:17 +02:00
Yuri Kuznetsov 457b79f0a0 fix 2022-03-10 19:53:47 +02:00
Yuri Kuznetsov d3f4131353 type fixes 2022-03-10 19:41:27 +02:00
Yuri Kuznetsov b07ef24eea type fixes 2022-03-10 19:13:59 +02:00
Yuri Kuznetsov 8fd430b784 type fixes 2022-03-10 19:01:27 +02:00
Yuri Kuznetsov 593bf44b29 type fixes 2022-03-10 18:29:14 +02:00
Yuri Kuznetsov 1578ed8d8f fix 2022-03-10 17:23:13 +02:00
Yuri Kuznetsov ef17859145 type fixes 2022-03-10 17:05:30 +02:00
Yuri Kuznetsov 3e8d2f8037 type fixes 2022-03-10 16:59:37 +02:00
Yuri Kuznetsov 9077c00386 type fixes 2022-03-10 14:22:12 +02:00
Yuri Kuznetsov 7212e0ed20 test fix 2022-03-10 13:36:26 +02:00
Yuri Kuznetsov db92247b65 fix 2022-03-10 13:30:34 +02:00
Yuri Kuznetsov daf86f89da type fixes 2022-03-10 13:25:56 +02:00
Yuri Kuznetsov 4ffe89bb4a type fixes 2022-03-10 13:21:33 +02:00
Yuri Kuznetsov 19e769d107 type fixes 2022-03-10 13:03:27 +02:00
Yuri Kuznetsov 8cc4ffdd80 type fixes 2022-03-10 12:49:44 +02:00
Yuri Kuznetsov 8f6b418f03 type fixes 2022-03-10 12:39:04 +02:00
Yuri Kuznetsov 00e6b710f3 type fixes 2022-03-10 12:34:07 +02:00
Yuri Kuznetsov d5ee58cbbc type fixes 2022-03-10 12:17:04 +02:00
Yuri Kuznetsov 3ffebd2d8d type fixes 2022-03-10 11:55:25 +02:00
Yuri Kuznetsov 1fd96cc423 css fix 2022-03-09 13:49:51 +02:00
Yuri Kuznetsov bcadb93f66 type fixes 2022-03-09 13:44:17 +02:00
Yuri Kuznetsov ba28639f11 fix 2022-03-09 13:29:06 +02:00
Yuri Kuznetsov 60bca1635e type fixes 2022-03-09 13:25:19 +02:00
Yuri Kuznetsov 908caa7009 type fixes 2022-03-09 12:34:24 +02:00
Yuri Kuznetsov 896e1f7119 type fixes 2022-03-09 12:28:21 +02:00
Yuri Kuznetsov 07b42b48a3 update phpstan 2022-03-09 12:06:33 +02:00
Yuri Kuznetsov 196488f92d fixes 2022-03-09 12:06:26 +02:00
Yuri Kuznetsov 5c811b1861 type fixes 2022-03-09 11:44:42 +02:00
Yuri Kuznetsov 7300bec9c7 fix 2022-03-08 21:35:54 +02:00
Yuri Kuznetsov ffbfe1ca5a type fixes 2022-03-08 21:34:09 +02:00
Yuri Kuznetsov 7150f49634 type fixes 2022-03-08 21:28:17 +02:00
Yuri Kuznetsov 316ca559bd cs fix 2022-03-08 21:28:07 +02:00
Yuri Kuznetsov 17c2204dd3 type fixes 2022-03-08 21:17:23 +02:00
Yuri Kuznetsov 17728b76f1 type fixes 2022-03-08 20:02:20 +02:00
Yuri Kuznetsov b0920bf63f fix 2022-03-08 16:28:40 +02:00
Yuri Kuznetsov 2731e6cb8e type fixes 2022-03-08 16:23:06 +02:00
Yuri Kuznetsov bbc3e9c196 type fixes 2022-03-08 14:53:30 +02:00
Yuri Kuznetsov 4e4186ebf2 type fixes 2022-03-08 14:52:06 +02:00
Yuri Kuznetsov 1e9648256f type fixes 2022-03-08 14:44:55 +02:00
Yuri Kuznetsov 3166bc92b9 type fixes 2022-03-08 14:25:59 +02:00
Yuri Kuznetsov 52c8b3c312 type fixes 2022-03-08 14:06:43 +02:00
Yuri Kuznetsov 08c381cc90 Merge branch 'fix' 2022-03-08 13:37:49 +02:00
Yuri Kuznetsov 919242910d fix bool filter any 2022-03-08 13:37:36 +02:00
Yuri Kuznetsov 03d68032bf fix bool filter any 2022-03-08 13:36:32 +02:00
Yuri Kuznetsov 5e4c076b87 type fixes 2022-03-08 12:51:53 +02:00
Yuri Kuznetsov b150d84932 type fixes 2022-03-08 12:51:31 +02:00
Yuri Kuznetsov f5a709fd56 type fixes 2022-03-08 12:14:42 +02:00
Yuri Kuznetsov b1cab62b95 type fixes 2022-03-08 12:09:16 +02:00
Yuri Kuznetsov b5bef88a8d category disable children link 2022-03-08 09:27:30 +02:00
Yuri Kuznetsov 0e8b9e950b fix 2022-03-08 09:19:36 +02:00
Yuri Kuznetsov 3e021cd3aa type fixes 2022-03-07 13:50:53 +02:00
Yuri Kuznetsov 98022fdb79 type fixes 2022-03-07 13:27:04 +02:00
Yuri Kuznetsov 687187c69c type fixes 2022-03-07 13:25:00 +02:00
Yuri Kuznetsov 17ca4fa69e type fixes 2022-03-07 13:15:29 +02:00
Yuri Kuznetsov 3546ade6ab type fixes 2022-03-07 13:11:07 +02:00
Yuri Kuznetsov 78c5ec8a0c type fixes 2022-03-07 12:11:33 +02:00
Yuri Kuznetsov d9e2acbf92 type fixes 2022-03-06 19:29:44 +02:00
Yuri Kuznetsov fb5034b276 type fixes 2022-03-06 18:27:41 +02:00
Yuri Kuznetsov 1898ccbd6b type fixes 2022-03-06 17:58:44 +02:00
Yuri Kuznetsov a635bc246a type fixes 2022-03-06 17:55:39 +02:00
Yuri Kuznetsov 642b63d68e type fix 2022-03-06 16:03:10 +02:00
Yuri Kuznetsov d7ed77396c type fixes 2022-03-06 16:02:04 +02:00
Yuri Kuznetsov 205ad80e51 type fixes 2022-03-06 15:48:57 +02:00
Yuri Kuznetsov 8592a411ee type fixes 2022-03-06 15:46:23 +02:00
Yuri Kuznetsov 61d78e8f76 typo fix 2022-03-06 14:58:35 +02:00
Yuri Kuznetsov bad19eea2e fix 2022-03-06 14:55:57 +02:00
Yuri Kuznetsov 16ffca9590 type fixes 2022-03-06 14:53:16 +02:00
Yuri Kuznetsov 846e3eb01a type fixes 2022-03-06 14:33:11 +02:00
Yuri Kuznetsov feeda48844 type fixes 2022-03-06 14:29:41 +02:00
Yuri Kuznetsov 9e4c555ab1 type fixes 2022-03-06 14:21:55 +02:00
Yuri Kuznetsov dbf20bfff6 type fixes 2022-03-06 13:04:41 +02:00
Yuri Kuznetsov 9449d8364b type fixes 2022-03-06 10:34:46 +02:00
Yuri Kuznetsov 03131507bc type fixes 2022-03-06 10:31:54 +02:00
Yuri Kuznetsov 0b0a1943d0 type fixes 2022-03-06 10:23:45 +02:00
Yuri Kuznetsov 4d5899ef55 type fixes 2022-03-06 10:19:45 +02:00
Yuri Kuznetsov 93ddee9eee type fixes 2022-03-06 10:14:03 +02:00
Yuri Kuznetsov 90e435f495 type fixes 2022-03-06 10:03:59 +02:00
Yuri Kuznetsov 7da39f4228 type fixes 2022-03-05 21:42:53 +02:00
Yuri Kuznetsov b7025bf834 type fixes 2022-03-05 18:01:43 +02:00
Yuri Kuznetsov bc4dbacafb type fixes 2022-03-05 17:25:36 +02:00
Yuri Kuznetsov 80c2a69d39 type fixes 2022-03-05 17:08:24 +02:00
Yuri Kuznetsov 36e59d3d61 type fix 2022-03-05 15:59:32 +02:00
Yuri Kuznetsov 37f8247bbf type fixes 2022-03-05 14:41:49 +02:00
Yuri Kuznetsov ead8f77267 fix test 2022-03-05 12:47:32 +02:00
Yuri Kuznetsov b465d88531 fix 2022-03-05 12:30:00 +02:00
Yuri Kuznetsov a2e37e05a6 type fixes 2022-03-05 12:10:52 +02:00
Yuri Kuznetsov 518e57e316 css fix 2022-03-04 13:15:21 +02:00
Yuri Kuznetsov 258d2f03f2 fix css 2022-03-04 13:07:44 +02:00
Yuri Kuznetsov 1b212b27d7 css fix 2022-03-04 13:06:33 +02:00
Yuri Kuznetsov 2e927fd4dc css fix 2022-03-04 12:55:58 +02:00
Yuri Kuznetsov cbc58e2ebf css fix 2022-03-04 12:32:45 +02:00
Yuri Kuznetsov a2fd0dc985 css fix 2022-03-04 12:29:05 +02:00
OSAMA BASHIR a89a399b87 Update select-icon.js (#2242) 2022-03-03 19:58:17 +02:00
Yuri Kuznetsov bb018f6a0f css fix 2022-03-03 13:32:14 +02:00
Yuri Kuznetsov 6e01ac50c8 fix css 2022-03-03 13:23:38 +02:00
Yuri Kuznetsov 50c5f5974d fix css 2022-03-03 12:49:52 +02:00
Yuri Kuznetsov fce940a291 email filter refactoring and fix 2022-03-02 13:56:40 +02:00
Yuri Kuznetsov e08459d1c6 Merge branch 'fix' 2022-03-01 21:21:47 +02:00
Yuri Kuznetsov 5b6889d554 fix kanban scroll 2022-03-01 21:21:18 +02:00
Yuri Kuznetsov 80babbca13 css fixes 2022-03-01 20:40:50 +02:00
Yuri Kuznetsov 7208966e1d update flotr 2022-02-23 16:52:43 +02:00
Yuri Kuznetsov 48c1a5d6d3 type fixes 2022-02-22 17:32:41 +02:00
Yuri Kuznetsov 930f45b93a disable hooks for extensions 2022-02-22 13:46:39 +02:00
Yuri Kuznetsov 992fad8102 css fix 2022-02-22 13:02:48 +02:00
Yuri Kuznetsov 420662132c fix css 2022-02-22 12:39:23 +02:00
Yuri Kuznetsov d54e77a63f type fixes 2022-02-22 12:29:11 +02:00
Yuri Kuznetsov 0b60fbbb59 getEntityType final 2022-02-22 12:00:44 +02:00
Yuri Kuznetsov 0f94a7b65e fix link multiple duplicator 2022-02-21 17:23:59 +02:00
Yuri Kuznetsov f8bbc0918c type fixes 2022-02-21 17:08:26 +02:00
Yuri Kuznetsov 6e5b4b1483 type fixes 2022-02-21 16:10:08 +02:00
Yuri Kuznetsov 15130fbe28 type fixes 2022-02-21 15:31:39 +02:00
Yuri Kuznetsov 27f0d9fb86 type fixes 2022-02-21 14:18:24 +02:00
Yuri Kuznetsov ecf7dc54e0 type fixes 2022-02-21 13:34:19 +02:00
Yuri Kuznetsov 0598e82196 type fixes 2022-02-21 13:27:00 +02:00
Yuri Kuznetsov 32abc4b554 type fixes 2022-02-21 12:45:42 +02:00
Yuri Kuznetsov d499719c08 typo fix 2022-02-21 12:17:01 +02:00
Yuri Kuznetsov c105af939f dark iframe fallback 2022-02-21 11:26:04 +02:00
Yuri Kuznetsov 444245d2e1 acl support portal user check from non-portal app 2022-02-18 15:31:00 +02:00
Yuri Kuznetsov 63aaa2fbb0 select maanger factory use acl provider 2022-02-18 13:38:11 +02:00
Yuri Kuznetsov 3da9c3da8d css fix 2022-02-18 12:02:15 +02:00
Yuri Kuznetsov 381524203b calendar no shade transparent 2022-02-18 11:47:49 +02:00
Yuri Kuznetsov 347a8aa660 fix colors 2022-02-18 11:44:03 +02:00
Yuri Kuznetsov 4a83eb125d fix css 2022-02-18 11:36:22 +02:00
Yuri Kuznetsov bfddc4ba90 fix 2022-02-17 18:24:45 +02:00
Yuri Kuznetsov 932e5ce461 style fix 2022-02-17 17:55:46 +02:00
Yuri Kuznetsov fb45af1048 css fix 2022-02-17 17:34:43 +02:00
Yuri Kuznetsov 5aa154459d type fix 2022-02-17 17:14:31 +02:00
Yuri Kuznetsov 41139f52c8 type fix 2022-02-17 17:11:10 +02:00
Yuri Kuznetsov e5a0774e3e type fix 2022-02-17 16:53:09 +02:00
Yuri Kuznetsov 0f020bb3ba type fix 2022-02-17 13:59:49 +02:00
Yuri Kuznetsov c3d1c773e0 type fixes 2022-02-17 13:25:25 +02:00
Yuri Kuznetsov 38dd599b1e fix 2022-02-17 12:00:59 +02:00
Yuri Kuznetsov 701cc2a6d7 Merge branch 'fix' 2022-02-17 11:34:58 +02:00
Yuri Kuznetsov fc9e06d7aa fix 2022-02-17 11:34:52 +02:00
Yuri Kuznetsov ba10c9278f css fix 2022-02-17 11:31:46 +02:00
Yuri Kuznetsov 2a0b645a2d css fix 2022-02-17 11:25:41 +02:00
Yuri Kuznetsov c324b63917 dark theme fixes 2022-02-17 11:21:43 +02:00
Yuri Kuznetsov da425df98f fix css 2022-02-16 10:54:15 +02:00
Yuri Kuznetsov 005356d6c3 dark theme fixes 2022-02-16 10:52:48 +02:00
Yuri Kuznetsov 0d1cc3dac9 dark theme changes 2022-02-16 10:43:36 +02:00
Yuri Kuznetsov 19ae21d6b3 fix package 2022-02-16 09:58:48 +02:00
Yuri Kuznetsov 4d1a2ae4df css fix 2022-02-15 15:58:29 +02:00
Yuri Kuznetsov a7d8d9b0e0 css fix 2022-02-15 15:54:25 +02:00
Yuri Kuznetsov 98922f0b84 varchar email address field 2022-02-15 13:21:35 +02:00
Yuri Kuznetsov 5784c79f9f cs fix 2022-02-15 12:48:54 +02:00
Yuri Kuznetsov b027b36b54 ref 2022-02-15 12:41:57 +02:00
Yuri Kuznetsov 91100974c3 ref 2022-02-15 11:55:34 +02:00
Taras Machyshyn 1f6300e3a4 Installation: Fix displaying day of week 2022-02-11 17:17:14 +02:00
Yuri Kuznetsov 94b15991ac object function changes 2022-02-11 17:11:52 +02:00
Taras Machyshyn 3b976b6d26 Display upgrade statuses 2022-02-11 16:35:51 +02:00
Yuri Kuznetsov 90a18de806 object clear 2022-02-11 13:51:14 +02:00
Yuri Kuznetsov 0e5ff9f64a object functions 2022-02-11 13:44:56 +02:00
Yuri Kuznetsov 3fed1a5ae8 fix 2022-02-11 13:01:55 +02:00
Yuri Kuznetsov 3b414d1077 use npm ci 2022-02-11 12:28:16 +02:00
Yuri Kuznetsov 4cb67cd4df dark theme fix 2022-02-10 17:30:56 +02:00
Yuri Kuznetsov be632b485d activities dashlet rerender fix 2022-02-10 17:25:43 +02:00
Yuri Kuznetsov 7edf109743 cs fix 2022-02-10 17:24:29 +02:00
Yuri Kuznetsov ad8ee0e8ed don't re-render record list dashlet if collection not changed 2022-02-10 17:16:08 +02:00
Yuri Kuznetsov 9b9f1e84d5 cs fix 2022-02-10 16:53:21 +02:00
Yuri Kuznetsov fba89354b2 type fix 2022-02-10 13:51:58 +02:00
Yuri Kuznetsov 45b3ec5cde fix 2022-02-10 13:45:15 +02:00
Taras Machyshyn 095f82df1c 2022 year 2022-02-10 12:12:23 +02:00
Yuri Kuznetsov 008a37701f address field empty null 2022-02-09 17:43:15 +02:00
Yuri Kuznetsov f563194445 fix calendar dark theme 2022-02-09 17:21:17 +02:00
Yuri Kuznetsov 38360e7e78 formula field insert function position after opening bracket 2022-02-09 16:41:10 +02:00
Yuri Kuznetsov c30b907aa0 npm version restriction 2022-02-09 14:28:48 +02:00
Yuri Kuznetsov 7ec559ea42 fix integration test workflow 2022-02-09 14:23:11 +02:00
Yuri Kuznetsov 91aeacbf35 formula null coalescing 2022-02-09 12:59:14 +02:00
Yuri Kuznetsov 223304bc63 formula parse int parse float 2022-02-09 11:53:27 +02:00
Yuri Kuznetsov a4910e5a84 Merge branch 'fix' 2022-02-09 11:37:14 +02:00
Arkadiy 34f5d9d5b1 fix process setup handlers (#2228) 2022-02-09 09:37:06 +02:00
Yuri Kuznetsov be62327509 string split function 2022-02-08 17:18:14 +02:00
Yuri Kuznetsov 9832bb54f9 update to npm 8 and update minimist 2022-02-08 15:53:29 +02:00
Yuri Kuznetsov 09b0d68786 cleanup 2022-02-08 14:15:05 +02:00
Yuri Kuznetsov 99da14b29b remove grunt-chmod 2022-02-08 13:58:56 +02:00
Yuri Kuznetsov e4102aa1f7 package update 2022-02-08 13:21:41 +02:00
Yuri Kuznetsov 00f63b87a3 update npm packages 2022-02-08 12:40:56 +02:00
Yuri Kuznetsov 692940047e Merge branch 'fix' 2022-02-08 11:57:27 +02:00
Yuri Kuznetsov cdf8a43b28 fix forward email 2022-02-08 11:55:57 +02:00
Yuri Kuznetsov d24ad99f26 Merge branch 'fix' 2022-02-08 11:51:57 +02:00
Taras Machyshyn b9b62e9f85 Test fixes 2022-02-08 11:49:09 +02:00
Yuri Kuznetsov e3d53056d1 fix followed 2022-02-08 11:48:53 +02:00
Yuri Kuznetsov 75e8cf538a fix kanbanStatusIgnoreList 2022-02-08 11:48:28 +02:00
Yuri Kuznetsov 80c2944f0e v 2022-02-07 14:29:42 +02:00
Yuri Kuznetsov b3f58b8002 time part ignore bad formatted value 2022-02-07 14:28:17 +02:00
Yuri Kuznetsov 83634706c2 label fix 2022-02-04 17:48:39 +02:00
Yuri Kuznetsov 44b96270a3 float field: decimal places 2022-02-04 17:44:14 +02:00
Yuri Kuznetsov ecffd310b7 fix 2022-02-04 17:33:12 +02:00
Yuri Kuznetsov 8d2238e04a meeting/call duplicate from modal view 2022-02-04 14:49:49 +02:00
Yuri Kuznetsov d6f0bc063e cleanup 2022-02-04 14:36:00 +02:00
Yuri Kuznetsov 4bec0b4795 delete entity from config params 2022-02-04 14:15:08 +02:00
Yuri Kuznetsov a90182a7b1 fix css kanban 2022-02-04 12:06:48 +02:00
Yuri Kuznetsov cf44d4f154 update package 2022-02-04 11:59:52 +02:00
Yuri Kuznetsov 231720a9a0 update package 2022-02-04 11:54:47 +02:00
Yuri Kuznetsov 26ab4abdec update packages 2022-02-04 11:46:21 +02:00
Yuri Kuznetsov daab13b78a package updates 2022-02-04 11:41:16 +02:00
Yuri Kuznetsov 27946bcbac foreing field skip disabled link 2022-02-03 18:18:39 +02:00
Yuri Kuznetsov ee636131f5 delete foreign field on link removal 2022-02-03 18:14:23 +02:00
Yuri Kuznetsov 71f5205c28 kanbanMinColumnWidth 2022-02-03 17:40:26 +02:00
Yuri Kuznetsov f9b46b3b95 conversionDisabled 2022-02-03 17:02:44 +02:00
Yuri Kuznetsov 5d6e1319c0 fix draft email acl 2022-02-03 14:25:21 +02:00
Yuri Kuznetsov cdbf680788 fix email access checker 2022-02-03 14:12:58 +02:00
Yuri Kuznetsov 8118e27bd8 fix error msg 2022-02-03 14:00:48 +02:00
Yuri Kuznetsov 5006e2e4fa fix email account 2022-02-03 13:51:48 +02:00
Yuri Kuznetsov 6b85fb95a2 fix modal 2022-02-03 13:47:22 +02:00
Yuri Kuznetsov 395fda2c5a zend bridge 2022-02-03 13:30:30 +02:00
Yuri Kuznetsov 9408a1637d modal collapse 2022-02-03 12:17:56 +02:00
Yuri Kuznetsov 09de0e3664 cs fix 2022-02-02 12:19:17 +02:00
Yuri Kuznetsov e8b3582040 css fix 2022-02-01 17:13:31 +02:00
Yuri Kuznetsov 3bff5e3fb7 cleanup 2022-02-01 17:07:53 +02:00
Yuri Kuznetsov e886293495 css fix 2022-02-01 17:07:20 +02:00
Yuri Kuznetsov 56d57c3fee color fix 2022-02-01 16:47:52 +02:00
Yuri Kuznetsov 03ade6eabc dark theme changes 2022-02-01 16:35:04 +02:00
Yuri Kuznetsov 732ed8924d fix is read 2022-02-01 14:15:04 +02:00
Yuri Kuznetsov 87051573d8 update npm packages 2022-02-01 13:42:01 +02:00
Yuri Kuznetsov bd66449507 fix npm dep 2022-02-01 13:38:57 +02:00
Yuri Kuznetsov e899a82840 fix npm deps 2022-02-01 13:37:05 +02:00
Yuri Kuznetsov aba0c21f71 update grunt-replace 2022-02-01 12:52:03 +02:00
Yuri Kuznetsov 03838cfae8 npm update fixes 2022-02-01 12:48:48 +02:00
Yuri Kuznetsov 61772b8e40 fix workflow 2022-02-01 12:40:34 +02:00
Yuri Kuznetsov b445de322c compose email full form 2022-02-01 12:37:07 +02:00
Yuri Kuznetsov db2b8b63be cs fix 2022-02-01 12:04:11 +02:00
Yuri Kuznetsov d355db6bb1 email fixes 2022-02-01 11:45:31 +02:00
Yuri Kuznetsov a529edc4b2 email edit button send 2022-02-01 11:39:04 +02:00
Yuri Kuznetsov d1effdae81 email draft improvements 2022-01-31 17:24:07 +02:00
Yuri Kuznetsov a7b959a1d9 email send button left 2022-01-31 16:59:05 +02:00
Yuri Kuznetsov 951f026f8f cs fix 2022-01-31 16:02:17 +02:00
Yuri Kuznetsov 1c8506eee4 email draft without to address 2022-01-31 15:44:58 +02:00
Yuri Kuznetsov 22f309e02a php parse bump 2022-01-31 14:05:40 +02:00
Yuri Kuznetsov 4d9d9e4569 lock change 2022-01-31 14:00:51 +02:00
dependabot[bot] 9e1cbc5fc0 Bump path-parse from 1.0.6 to 1.0.7 (#2216)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 13:49:37 +02:00
Yuri Kuznetsov 6ba2733492 fuix 2022-01-31 13:44:14 +02:00
Yuri Kuznetsov 35d0ebe974 fix branch 2022-01-31 13:43:52 +02:00
Yuri Kuznetsov 5e8efcd269 integration test on fix 2022-01-31 13:41:54 +02:00
Yuri Kuznetsov 2440eb5e95 Merge branch 'hotfix/7.0.10' 2022-01-31 13:22:03 +02:00
Yuri Kuznetsov b8d2f9de30 action renderer 2022-01-28 16:54:19 +02:00
Yuri Kuznetsov 7a2ff40776 cleanup password change requests 2022-01-28 16:31:11 +02:00
Yuri Kuznetsov 56fff07662 keywords 2022-01-28 16:26:40 +02:00
Yuri Kuznetsov 434b4f880f fix phpstan ext 2022-01-28 16:22:20 +02:00
Yuri Kuznetsov f596d12e02 send access info formula 2022-01-28 16:12:37 +02:00
Yuri Kuznetsov c4be84af32 password change link 2022-01-28 13:39:28 +02:00
Yuri Kuznetsov a2b2118f9f change scheduling 2022-01-27 18:15:52 +02:00
Yuri Kuznetsov 7fee372f3d fix link multiple factory for php 8.1 2022-01-27 18:15:22 +02:00
Yuri Kuznetsov e3fe496321 move 2022-01-27 12:52:40 +02:00
Yuri Kuznetsov 5c890d3e0e fix workflow 2022-01-27 12:31:51 +02:00
Yuri Kuznetsov 496d132c23 fix edit disabled 2022-01-27 12:29:17 +02:00
Yuri Kuznetsov 68fb2d45e1 Update README.md 2022-01-26 22:11:00 +02:00
Yuri Kuznetsov e44b0d2c22 fix 2022-01-26 18:07:19 +02:00
Yuri Kuznetsov 5e87a410c8 integration testing workflow 2022-01-26 18:05:26 +02:00
Yuri Kuznetsov 6f34b040cf fix modal backdrop 2022-01-26 14:57:13 +02:00
Yuri Kuznetsov 0d0ad8b581 fix confirm leaveout backdrop click 2022-01-26 14:29:41 +02:00
Yuri Kuznetsov a3eac057fc modal dialog backdrop 2022-01-26 13:10:08 +02:00
Yuri Kuznetsov 489b3a7629 formula sandbox save entity 2022-01-26 12:27:57 +02:00
Yuri Kuznetsov 45aff4a7b7 detail layout fields incompatibility 2022-01-26 12:19:09 +02:00
Yuri Kuznetsov 4653caef47 array functions accept null 2022-01-25 17:00:08 +02:00
Yuri Kuznetsov 1d9b988206 integration test env config 2022-01-25 16:35:11 +02:00
Yuri Kuznetsov ebedd6d722 fix 2022-01-25 15:45:44 +02:00
Yuri Kuznetsov b0311d1610 type fix 2022-01-25 14:24:14 +02:00
Yuri Kuznetsov 158573f63e type fixes 2022-01-25 14:20:02 +02:00
Yuri Kuznetsov 93172f42b7 updates 2022-01-25 13:53:55 +02:00
Yuri Kuznetsov b3476fe3dd update laminas 2022-01-25 13:49:11 +02:00
Yuri Kuznetsov 1f85781c68 test 8.1 2022-01-25 13:34:19 +02:00
Yuri Kuznetsov 595548acf0 cleanup 2022-01-25 13:30:10 +02:00
Yuri Kuznetsov a32fffb36d ci 2022-01-25 13:29:42 +02:00
Taras Machyshyn 3de5961c86 Test fixes 2022-01-24 15:44:58 +02:00
Yuri Kuznetsov 1b4727917b Merge branch 'hotfix/7.0.10' 2022-01-24 12:14:52 +02:00
Yuri Kuznetsov 499cf36edf fix followed 2022-01-24 12:13:57 +02:00
Yuri Kuznetsov bb1856a47e Merge branch 'hotfix/7.0.10' 2022-01-21 16:53:41 +02:00
Yuri Kuznetsov 0226a6a4f7 fix kanbanStatusIgnoreList 2022-01-21 16:53:25 +02:00
Yuri Kuznetsov 6c9a542b9c entity manager edit page 2022-01-21 16:43:50 +02:00
Yuri Kuznetsov 59ae933886 Merge branch 'stable' 2022-01-21 12:43:52 +02:00
Yuri Kuznetsov b22464c02f v 2022-01-21 10:58:42 +02:00
Yuri Kuznetsov 4615781af8 style fix 2022-01-20 14:30:27 +02:00
Yuri Kuznetsov ce0efea447 fix admin labels 2022-01-20 14:10:51 +02:00
Yuri Kuznetsov 378a2c6902 fix 2022-01-20 13:43:54 +02:00
Yuri Kuznetsov ab3fc73a18 dev 2022-01-20 13:30:37 +02:00
Yuri Kuznetsov b3c56acd15 dev 2022-01-20 12:43:08 +02:00
Yuri Kuznetsov 2c9b60dbec dev 2022-01-19 17:28:02 +02:00
Yuri Kuznetsov 620a18cd72 dev 2022-01-19 17:09:48 +02:00
Yuri Kuznetsov ba832b8ad9 dev 2022-01-19 17:03:40 +02:00
Yuri Kuznetsov bcfffd3527 target list customizable 2022-01-19 12:41:21 +02:00
Yuri Kuznetsov 022da56bf4 change 2022-01-19 12:13:21 +02:00
Yuri Kuznetsov 12549e2587 type fix 2022-01-18 17:43:26 +02:00
Yuri Kuznetsov 57ab075d2f type fixes 2022-01-18 17:39:27 +02:00
Yuri Kuznetsov 1510322708 refactoring 2022-01-18 16:27:22 +02:00
Yuri Kuznetsov 22c06c88dd fix 2022-01-18 14:00:03 +02:00
Yuri Kuznetsov 7a4b20269d cs fix 2022-01-18 13:52:28 +02:00
Yuri Kuznetsov 79d76d8147 cleanup 2022-01-18 13:52:06 +02:00
Yuri Kuznetsov 2bf2e4ef3d update marked 2022-01-18 13:40:42 +02:00
Yuri Kuznetsov 61ec16ae12 fix 2022-01-18 13:05:18 +02:00
Yuri Kuznetsov 8415307221 cs fix 2022-01-18 12:58:43 +02:00
Yuri Kuznetsov 6da466f9c4 import admin link 2022-01-18 12:24:12 +02:00
Yuri Kuznetsov 210ac2ef2a fix 2022-01-18 12:06:51 +02:00
Yuri Kuznetsov 988f8090f2 fix 2022-01-18 12:02:36 +02:00
Yuri Kuznetsov e2db825fc2 cs fix 2022-01-17 17:34:17 +02:00
Yuri Kuznetsov cc9ed3f365 admin links 2022-01-17 17:24:09 +02:00
Yuri Kuznetsov 0763b71396 admin link 2022-01-17 16:27:44 +02:00
Yuri Kuznetsov af2158f647 fix 2022-01-17 16:06:36 +02:00
Yuri Kuznetsov 4ad636a767 fix 2022-01-17 14:52:20 +02:00
Yuri Kuznetsov dffb484fff formula fetch null 2022-01-17 13:51:05 +02:00
Yuri Kuznetsov 6582917daf formula sandbox 2022-01-17 12:58:16 +02:00
Yuri Kuznetsov 7bd109eca6 cs fix 2022-01-14 13:07:11 +02:00
Yuri Kuznetsov c0d85864ce fix 2022-01-14 11:49:03 +02:00
Yuri Kuznetsov 7007d58609 fix 2022-01-13 17:57:20 +02:00
Yuri Kuznetsov 23a54a0fa4 formula strict syntax 2022-01-13 17:56:19 +02:00
Yuri Kuznetsov 491a66ac4c formula strict syntax 2022-01-13 17:49:36 +02:00
Yuri Kuznetsov e5c3bfb528 formula more strict syntax 2022-01-13 17:36:05 +02:00
Yuri Kuznetsov f807bdee42 fix 2022-01-13 16:57:29 +02:00
Yuri Kuznetsov 67b3462361 fix 2022-01-13 16:53:00 +02:00
Yuri Kuznetsov cd1eccd998 fix 2022-01-13 16:19:44 +02:00
Yuri Kuznetsov 63b108b18b cs fix 2022-01-13 16:17:59 +02:00
Yuri Kuznetsov 3907e2d84a fix 2022-01-13 14:45:53 +02:00
Yuri Kuznetsov 4deeac9513 formula check syntax 2022-01-13 14:33:08 +02:00
Yuri Kuznetsov 4c11bf663b fix 2022-01-13 13:55:12 +02:00
Yuri Kuznetsov d8649cb305 type fix 2022-01-13 13:19:58 +02:00
Yuri Kuznetsov eff2a022bf attachment preview non dragable 2022-01-13 12:57:39 +02:00
Yuri Kuznetsov ad61b457d8 cs fix 2022-01-13 12:53:32 +02:00
Yuri Kuznetsov 22c3c92792 entity manager formula ui improvement 2022-01-13 12:36:34 +02:00
Yuri Kuznetsov 5919016aad fix update note 2022-01-12 17:45:00 +02:00
Yuri Kuznetsov 14c12a2528 cs fix 2022-01-12 17:16:27 +02:00
Yuri Kuznetsov bca1f08f05 color fix 2022-01-12 16:28:03 +02:00
Yuri Kuznetsov 2ce656731d fix label 2022-01-12 14:32:30 +02:00
Yuri Kuznetsov 6d7fb4939d fix export 2022-01-12 14:27:22 +02:00
Yuri Kuznetsov 3cb8deab2c export in idle 2022-01-12 14:07:38 +02:00
Yuri Kuznetsov b501007d44 cleanup 2022-01-11 18:27:03 +02:00
Yuri Kuznetsov 70f7312f20 fix 2022-01-11 18:26:38 +02:00
Yuri Kuznetsov b7b5b1b3cb fix 2022-01-11 16:43:32 +02:00
Yuri Kuznetsov 44001d9764 Merge branch 'hotfix/7.0.9' 2022-01-11 13:04:09 +02:00
Yuri Kuznetsov 5dcfbf00d2 fix email address 2022-01-11 13:03:48 +02:00
Yuri Kuznetsov 8ca52259cd Merge branch 'hotfix/7.0.9' 2022-01-11 12:25:05 +02:00
Yuri Kuznetsov f4753f773f modal backdrop fix 2022-01-11 12:22:51 +02:00
Yuri Kuznetsov 0f3f9a827b mail flags fix 2022-01-11 11:41:30 +02:00
Yuri Kuznetsov a90745aded test 2022-01-11 11:20:35 +02:00
Yuri Kuznetsov 96a1ab6ad6 cleanup 2022-01-10 18:07:17 +02:00
Yuri Kuznetsov f49b6a072c refactoring 2022-01-10 18:03:48 +02:00
Yuri Kuznetsov 146ca6ae2a fix 2022-01-10 17:44:10 +02:00
Yuri Kuznetsov b775e16c1f refactoring 2022-01-10 17:39:58 +02:00
Yuri Kuznetsov 043df4bc73 select folder style fix 2022-01-10 16:39:19 +02:00
Yuri Kuznetsov 7d660f5127 fix 2022-01-10 16:23:31 +02:00
Yuri Kuznetsov 71064cd6ee cleanup 2022-01-10 14:13:27 +02:00
Yuri Kuznetsov 93f2f962e2 email refacctoring 2022-01-10 14:02:47 +02:00
Yuri Kuznetsov 8eb7f932fc refactoring 2022-01-10 12:39:14 +02:00
Yuri Kuznetsov d2fb6edde1 refactoring 2022-01-10 11:24:10 +02:00
Yuri Kuznetsov ed59886897 refactoring 2022-01-10 11:14:31 +02:00
Yuri Kuznetsov 07b6c64640 fix 2022-01-08 20:04:01 +02:00
Yuri Kuznetsov 420e5fa3a5 fix 2022-01-08 19:52:33 +02:00
Yuri Kuznetsov 3e12428e54 fix 2022-01-08 19:42:20 +02:00
Yuri Kuznetsov 4d2a2e9b20 cs fix 2022-01-08 19:34:15 +02:00
Yuri Kuznetsov 5650a00ab1 mail refactoring 2022-01-08 19:15:57 +02:00
Yuri Kuznetsov 2eb42a3313 fix 2022-01-06 14:57:12 +02:00
Yuri Kuznetsov 84d4d4f11b email notify fix 2022-01-06 14:36:00 +02:00
Yuri Kuznetsov b6a9182838 Merge branch 'hotfix/7.0.9' 2022-01-06 14:26:36 +02:00
Yuri Kuznetsov a6593f574e fix 2022-01-06 14:26:26 +02:00
Yuri Kuznetsov d277df1e49 cleanup 2022-01-06 14:26:08 +02:00
Yuri Kuznetsov 5721f6d737 email account refactoring 2022-01-06 14:15:48 +02:00
Yuri Kuznetsov a07b7530df Merge branch 'hotfix/7.0.9' 2022-01-06 14:15:21 +02:00
Yuri Kuznetsov bff4e859cd fix notice 2022-01-06 14:07:57 +02:00
Yuri Kuznetsov 0944d47c47 Merge branch 'hotfix/7.0.9' 2022-01-05 17:14:33 +02:00
Yuri Kuznetsov d725cce8a7 fix email to case attachments copy 2022-01-05 17:14:21 +02:00
Yuri Kuznetsov a730f47ceb sms status update 2022-01-05 11:19:33 +02:00
Yuri Kuznetsov 8e3d743023 cs fix 2022-01-03 16:23:54 +02:00
Yuri Kuznetsov cdb2b8a8a8 cs fix and text resize fix 2022-01-03 16:20:58 +02:00
Yuri Kuznetsov a453be93be type fixes 2022-01-03 16:04:23 +02:00
Yuri Kuznetsov 3cef36da3e type fixes 2022-01-03 15:58:05 +02:00
Yuri Kuznetsov 691343c9b2 type fixes 2022-01-03 15:52:15 +02:00
Yuri Kuznetsov 2453fe9ea5 textarea resize vertical 2022-01-03 12:55:19 +02:00
Yuri Kuznetsov c0594b80e9 css fixes 2022-01-03 12:47:43 +02:00
Yuri Kuznetsov 5239df2b95 fixes 2022-01-03 12:37:13 +02:00
Yuri Kuznetsov 0f1ac3af10 fixes 2022-01-03 12:31:11 +02:00
Yuri Kuznetsov d5f42a46b3 array, multi-enum: don't re-render if same option list is set 2022-01-03 12:11:58 +02:00
Yuri Kuznetsov 0ae6fdbac2 cs fix 2022-01-03 12:05:43 +02:00
Yuri Kuznetsov f214aaba2a cs fix 2022-01-03 11:50:34 +02:00
Yuri Kuznetsov 67a4208b3b dark theme fixes 2022-01-03 11:29:13 +02:00
Yuri Kuznetsov 5991bb948b drop php 7.3 2022-01-03 11:04:01 +02:00
Yuri Kuznetsov 50bfa1ae99 update doctrine 2022-01-03 10:50:55 +02:00
Yuri Kuznetsov 409f19bb29 fix acceptance status modal 2021-12-31 17:23:30 +02:00
Yuri Kuznetsov c631dd7a0f css fix 2021-12-31 17:20:56 +02:00
Yuri Kuznetsov db74afcfb4 css changes 2021-12-31 17:17:45 +02:00
Yuri Kuznetsov ac6bdcc30a css fix 2021-12-30 16:39:35 +02:00
Yuri Kuznetsov 2556f89637 style fixes 2021-12-30 16:11:14 +02:00
Yuri Kuznetsov 3ec25d5a97 cs fix- 2021-12-30 16:07:01 +02:00
Yuri Kuznetsov c9bdd8231b style fix 2021-12-30 15:54:26 +02:00
Yuri Kuznetsov 9d372155fb style fix 2021-12-30 15:49:09 +02:00
Yuri Kuznetsov 4ebdcf3637 Merge branch 'hotfix/7.0.9' 2021-12-30 15:40:33 +02:00
Eymen Elkum 150e41a26d fix folder name (#2180)
* fix folder name

* remove trim folder name on inbound
2021-12-30 15:39:28 +02:00
Yuri Kuznetsov 79c4a8351d body plain fix 2021-12-30 15:33:12 +02:00
Yuri Kuznetsov 0f6c340793 textarea disable resize 2021-12-30 14:10:20 +02:00
Yuri Kuznetsov c7fe7ac014 wysiwyg supporting image paste 2021-12-30 13:35:29 +02:00
Yuri Kuznetsov a0939c714c fix css 2021-12-30 13:12:46 +02:00
Yuri Kuznetsov d57098dd50 wysiwyg duplicate and email body forward duplicate 2021-12-30 13:06:14 +02:00
Yuri Kuznetsov 4b521d1481 X-Duplicate-Source-Id 2021-12-30 12:22:03 +02:00
Yuri Kuznetsov 919cea0703 passing x-duplicate-source-id 2021-12-30 12:01:49 +02:00
Yuri Kuznetsov 6aa372c955 entity duplicator framework 2021-12-30 11:22:15 +02:00
Yuri Kuznetsov 0e873fea52 mass action notify 2021-12-29 15:53:45 +02:00
Yuri Kuznetsov 44003e8130 test 2021-12-29 15:25:29 +02:00
Yuri Kuznetsov 2a4bd851ab fixes 2021-12-29 13:23:00 +02:00
Yuri Kuznetsov cb5fdfba85 cleanup 2021-12-29 12:51:27 +02:00
Yuri Kuznetsov 8973959910 type fix 2021-12-29 12:51:21 +02:00
Yuri Kuznetsov 383f411739 mass action testand fix 2021-12-29 12:39:08 +02:00
Taras Machyshyn c500b30484 Notification fix 2021-12-29 12:15:39 +02:00
Yuri Kuznetsov 91fec4ff95 Merge branch 'hotfix/7.0.9' 2021-12-28 18:36:18 +02:00
Yuri Kuznetsov 5266e8eeba email address fix 2021-12-28 18:31:05 +02:00
Yuri Kuznetsov d96bf13526 fix 2021-12-28 18:01:18 +02:00
Yuri Kuznetsov bf017ccc8a mass action cleanup 2021-12-28 17:55:03 +02:00
Yuri Kuznetsov c1ca41942f mass action idle 2021-12-28 17:28:52 +02:00
Yuri Kuznetsov 8c8e44b6f5 post button ux improvement 2021-12-27 11:07:46 +02:00
Yuri Kuznetsov f95824404a css fix 2021-12-27 10:44:43 +02:00
Yuri Kuznetsov 4eecc5462b phone type change 2021-12-26 11:08:43 +02:00
Yuri Kuznetsov 3a96cbae9b chevron-righr instead of right quote 2021-12-26 11:04:54 +02:00
Yuri Kuznetsov 77f3d81f27 css fix 2021-12-25 18:19:06 +02:00
Yuri Kuznetsov 7343e08abb css fixes 2021-12-25 18:04:40 +02:00
Yuri Kuznetsov 3b7b6e9ed7 cleanup 2021-12-25 17:37:40 +02:00
Yuri Kuznetsov 70a9fd95a2 css fix 2021-12-25 17:36:43 +02:00
Yuri Kuznetsov c0e64583e5 modal fixes 2021-12-25 16:17:53 +02:00
Yuri Kuznetsov 211f6bdc42 css fix 2021-12-24 17:55:59 +02:00
Yuri Kuznetsov f07440f9ef css fix 2021-12-24 17:50:27 +02:00
Yuri Kuznetsov 7f37cd40eb css fix 2021-12-24 17:47:30 +02:00
Yuri Kuznetsov b0d7b33dbc fix 2021-12-24 17:43:07 +02:00
Yuri Kuznetsov 35905aad1b fix 2021-12-24 17:38:29 +02:00
Yuri Kuznetsov 62b27475fb style changes 2021-12-24 17:35:29 +02:00
Yuri Kuznetsov 0985df234f css fix 2021-12-24 16:48:09 +02:00
Yuri Kuznetsov a05650a41a modal fixes 2021-12-24 16:20:08 +02:00
Yuri Kuznetsov 0c0744714e modal fixes 2021-12-24 16:07:33 +02:00
Yuri Kuznetsov cd60933525 summernote css fix 2021-12-24 15:50:07 +02:00
Yuri Kuznetsov 2d3deafcc6 ace theme tomorrows night 2021-12-24 15:36:20 +02:00
Yuri Kuznetsov 25508b932e ace dark mode 2021-12-24 15:29:26 +02:00
Yuri Kuznetsov 05d3610f5f requirePromise 2021-12-24 15:27:31 +02:00
Yuri Kuznetsov 5b0ef914c2 css fix 2021-12-24 13:44:13 +02:00
Yuri Kuznetsov 35f2ccecf5 calendar colors 2021-12-24 13:37:08 +02:00
Yuri Kuznetsov 122d759687 remove theme name translations 2021-12-24 13:03:57 +02:00
Yuri Kuznetsov a2c94c692a dark horizontal 2021-12-24 12:59:18 +02:00
Yuri Kuznetsov e197c6e491 css scroll 2021-12-24 12:41:52 +02:00
Yuri Kuznetsov 62ff80c1bf mass action btn fix 2021-12-24 12:10:30 +02:00
Yuri Kuznetsov 3a7cccbda2 cs fix 2021-12-24 12:01:05 +02:00
Yuri Kuznetsov 3bab92239a cs fix 2021-12-24 11:58:08 +02:00
Yuri Kuznetsov cc0b12097d cs fix 2021-12-24 11:50:36 +02:00
Yuri Kuznetsov fe09d91bf0 css fix list expanded dd 2021-12-24 11:35:51 +02:00
Yuri Kuznetsov 593ed7c5e0 Merge branch 'hotfix/7.0.9' 2021-12-24 11:32:25 +02:00
Yuri Kuznetsov e161b0da19 fix list expanded dd 2021-12-24 11:29:23 +02:00
Yuri Kuznetsov 31a2ef63ec cs fix 2021-12-24 11:19:33 +02:00
Yuri Kuznetsov facc26a795 fix css 2021-12-23 17:47:41 +02:00
Yuri Kuznetsov fb4a4f2340 css cleanup 2021-12-23 17:38:58 +02:00
Yuri Kuznetsov 42cab04edd css fix 2021-12-23 17:25:16 +02:00
Yuri Kuznetsov 247521ba37 dark theme 2021-12-23 17:17:23 +02:00
Yuri Kuznetsov 9f932462a8 fix image 2021-12-22 16:23:17 +02:00
Yuri Kuznetsov 3f7c42a05e theme changes 2021-12-21 11:45:42 +02:00
Yuri Kuznetsov 3ca502ba6e css changes 2021-12-20 16:59:30 +02:00
Yuri Kuznetsov 8afe22f637 theme colors 2021-12-20 15:47:34 +02:00
Yuri Kuznetsov a615eed985 Merge branch 'master' into hotfix/7.0.9 2021-12-20 15:38:14 +02:00
Yuri Kuznetsov df56679c4e rename themes 2021-12-20 15:37:30 +02:00
Yuri Kuznetsov 23b2e87127 fix 2021-12-19 09:42:59 +02:00
Yuri Kuznetsov 9391c68ad0 fix plural link name 2021-12-19 09:10:52 +02:00
Taras Machyshyn 8a15278af2 Installation fix 2021-12-14 16:12:22 +02:00
Yuri Kuznetsov 8f2c12cba7 remove css 2021-12-13 15:49:04 +02:00
Yuri Kuznetsov 842c028fb5 css changes 2021-12-13 15:37:16 +02:00
Yuri Kuznetsov 27aae16634 cleanup 2021-12-13 15:21:39 +02:00
Yuri Kuznetsov 0206da6d4f css fix 2021-12-13 13:09:42 +02:00
Yuri Kuznetsov 687f308b40 merge 2021-12-13 12:54:11 +02:00
Eymen Elkum 20eced4373 personal & group email account: ignore internal fields from being duplicated (#2178)
Co-authored-by: Eymen Elkum <eymen@eblasoft.com.tr>
2021-12-13 12:45:03 +02:00
Yuri Kuznetsov 7d0c793e47 kanban improvements 2021-12-13 12:36:06 +02:00
Yuri Kuznetsov ead21ea2ee kanban improvements 2021-12-13 12:11:43 +02:00
Yuri Kuznetsov 45ef1a4de5 kanban changes 2021-12-12 13:09:35 +02:00
Yuri Kuznetsov 28b866830e kanban changes 2021-12-10 17:08:51 +02:00
Yuri Kuznetsov 4d68e35f3b fix 2021-12-09 16:50:47 +02:00
Yuri Kuznetsov 12a2069fcf kanban scroll 2021-12-09 16:34:01 +02:00
Yuri Kuznetsov b87d2459cc kanban create 2021-12-09 14:06:08 +02:00
Yuri Kuznetsov 7c1c25577c save event 2021-12-09 12:38:58 +02:00
Yuri Kuznetsov 9d6e0ba54b cs fix 2021-12-09 12:38:58 +02:00
Yuri Kuznetsov bd3c6867b5 cs fix 2021-12-09 12:38:58 +02:00
Taras Machyshyn 28c4b8ea05 Fix typo 2021-12-09 12:18:26 +02:00
Yuri Kuznetsov 7a90e30243 fix 2021-12-09 11:37:32 +02:00
Yuri Kuznetsov f482c41e6c custom global bool filterse 2021-12-08 16:35:58 +02:00
Yuri Kuznetsov 06ffafba10 send invitations from modal 2021-12-08 15:50:38 +02:00
Yuri Kuznetsov 2a07124d52 cs fix 2021-12-08 15:35:28 +02:00
Yuri Kuznetsov 65247b1c69 cs fix 2021-12-08 11:59:03 +02:00
Yuri Kuznetsov 10e4b7e5b6 cs fix 2021-12-08 11:52:46 +02:00
Yuri Kuznetsov ff3e6c34ba cs fix 2021-12-08 11:50:50 +02:00
Yuri Kuznetsov 19700cfa00 cs fix 2021-12-08 11:50:32 +02:00
Yuri Kuznetsov d0de9e5bb9 Merge branch 'hotfix/7.0.9' 2021-12-06 10:54:11 +02:00
Yuri Kuznetsov 9861653378 types 2021-12-02 18:14:46 +02:00
Yuri Kuznetsov 0a4525b75e fix 2021-12-02 16:30:22 +02:00
Yuri Kuznetsov 1c45cadcf8 fix htmlizer order related 2021-12-02 15:33:50 +02:00
Yuri Kuznetsov 83ced0d58f orm defs: no type exception 2021-12-02 12:54:17 +02:00
Yuri Kuznetsov 6ee224ffbc fix 2021-12-01 17:23:20 +02:00
Yuri Kuznetsov a060f0732b attachment container fix 2021-12-01 15:15:06 +02:00
Yuri Kuznetsov 4e2a824b1d fix 2021-12-01 11:24:26 +02:00
Yuri Kuznetsov 85c4848614 cleanup 2021-12-01 11:16:40 +02:00
Yuri Kuznetsov a5ca838b7a fix typo 2021-12-01 11:12:34 +02:00
Yuri Kuznetsov 1127f4b28c languageIsGlobal param 2021-11-30 16:04:20 +02:00
Yuri Kuznetsov e68ff3c391 fix smarty for php8.1 2021-11-29 13:46:03 +02:00
Yuri Kuznetsov c257da0e70 accept bool 1 value, fix for php 8.1 2021-11-29 13:43:07 +02:00
Yuri Kuznetsov 7669ac90ae edit fix 2021-11-26 16:14:12 +02:00
Yuri Kuznetsov 5e7ddcad1c try check usage 2021-11-26 10:48:51 +02:00
Yuri Kuznetsov 1cf773216d cs fix 2021-11-26 10:44:35 +02:00
Yuri Kuznetsov da3283f2ba fix link one saver 2021-11-25 17:12:04 +02:00
Yuri Kuznetsov 18d6a6767b notification message support markdown 2021-11-25 13:19:58 +02:00
Yuri Kuznetsov f8fd222e25 multiple bool filters fix 2021-11-24 12:21:55 +02:00
Yuri Kuznetsov fd7819f76a cs fix 2021-11-24 09:09:29 +02:00
Yuri Kuznetsov 48cfedb777 fix parent 2021-11-24 09:07:51 +02:00
Yuri Kuznetsov 9220ad8baa email to case account 2021-11-23 15:16:52 +02:00
Yuri Kuznetsov 6207c8f547 attachment take into account field level 2021-11-22 11:22:56 +02:00
Yuri Kuznetsov b9e1660f92 comment 2021-11-22 10:58:05 +02:00
Yuri Kuznetsov 8863e7da9b Merge branch 'hotfix/7.0.9' 2021-11-19 12:41:24 +02:00
Yuri Kuznetsov 3b1462ac1a complex expression field view 2021-11-19 12:40:37 +02:00
Yuri Kuznetsov 937503ab8b formula hide entity functions if no target entity type 2021-11-18 12:53:51 +02:00
Yuri Kuznetsov b3edfba0da fix 2021-11-17 12:19:47 +02:00
Yuri Kuznetsov 01a1d26a52 cs fix 2021-11-17 12:18:27 +02:00
Yuri Kuznetsov 4662fc47e9 xlsx export: fix link one 2021-11-16 12:15:11 +02:00
Yuri Kuznetsov 5b543d778d fix 2021-11-16 12:11:21 +02:00
Yuri Kuznetsov 798f56650d person name support fix 2021-11-13 10:34:30 +02:00
Yuri Kuznetsov 864c96fe56 fixes 2021-11-13 10:29:47 +02:00
Yuri Kuznetsov 4d5eecd680 Merge branch 'hotfix/7.0.9' 2021-11-12 12:44:19 +02:00
Taras Machyshyn db2216adb7 Fixed PDO parameters for Dbal connection 2021-11-11 15:31:11 +02:00
Yuri Kuznetsov ae056f4a22 type 2021-11-11 12:49:20 +02:00
Yuri Kuznetsov 5178c2fbd0 orm pdo refactoring 2021-11-11 12:47:43 +02:00
Yuri Kuznetsov 4bedaef9a8 fixes 2021-11-11 12:17:21 +02:00
Yuri Kuznetsov 42d4de77ae cs fix 2021-11-11 12:17:05 +02:00
Yuri Kuznetsov 3e0a8f0af1 fix 2021-11-11 11:40:11 +02:00
Yuri Kuznetsov 33e29e20a2 type fixes 2021-11-10 16:53:15 +02:00
Yuri Kuznetsov d2a1e8f771 fixes 2021-11-10 16:40:33 +02:00
Yuri Kuznetsov 3a68ebcbf4 type fixes 2021-11-10 16:04:31 +02:00
Yuri Kuznetsov f496f386ee type fixes 2021-11-10 15:44:09 +02:00
Yuri Kuznetsov 9e641e65ed type fixes 2021-11-10 15:34:24 +02:00
Yuri Kuznetsov d34bc6d7d2 type fixes 2021-11-10 15:10:58 +02:00
Yuri Kuznetsov 7581169f87 update jquery-ui 2021-11-10 12:58:11 +02:00
Yuri Kuznetsov 7c53701df5 npm update packages 2021-11-10 12:31:57 +02:00
Yuri Kuznetsov d273523c46 fix link multiple remove btn 2021-11-10 12:20:39 +02:00
Yuri Kuznetsov df6745ff79 cs fix 2021-11-10 12:19:37 +02:00
Yuri Kuznetsov 9327b418bf fix 2021-11-10 11:38:04 +02:00
Yuri Kuznetsov 5430fed1d1 fix 2021-11-10 11:28:29 +02:00
Yuri Kuznetsov 10285cf3d3 phpstan level 5 2021-11-09 17:47:18 +02:00
Yuri Kuznetsov c8bed9af32 fixes 2021-11-09 17:46:54 +02:00
Yuri Kuznetsov 7499703d77 fix tests 2021-11-09 17:20:24 +02:00
Yuri Kuznetsov 4e1f421dc1 fixes and cleanup 2021-11-09 17:13:25 +02:00
Yuri Kuznetsov 4ab2a0749c fixes 2021-11-09 16:43:27 +02:00
Yuri Kuznetsov 530ac9da18 type fixes 2021-11-09 16:38:00 +02:00
Yuri Kuznetsov 4069d38978 type fixes 2021-11-09 16:14:07 +02:00
Yuri Kuznetsov 4070b38190 update phpstan 2021-11-09 15:58:36 +02:00
Yuri Kuznetsov 718f3ddc9f type fixes 2021-11-09 15:15:40 +02:00
Yuri Kuznetsov e4be18ac51 type fixes 2021-11-09 15:08:44 +02:00
Yuri Kuznetsov fa63270530 type fixes 2021-11-09 13:48:04 +02:00
Yuri Kuznetsov 54286984e9 type fixes 2021-11-09 13:07:37 +02:00
Yuri Kuznetsov 523e4d2900 type fixes 2021-11-09 12:48:57 +02:00
Yuri Kuznetsov 79af0d2cc7 type fixes 2021-11-09 12:26:42 +02:00
Yuri Kuznetsov 4152ee10ea type fixes 2021-11-09 12:01:22 +02:00
Yuri Kuznetsov c41b92d15a module fix order and test 2021-11-09 11:54:48 +02:00
Yuri Kuznetsov 5af9679751 fix user service 2021-11-09 11:24:07 +02:00
Yuri Kuznetsov c51fcf0cb6 fix 2021-11-08 17:24:54 +02:00
Yuri Kuznetsov 41d4735502 type fixes 2021-11-08 17:14:08 +02:00
Yuri Kuznetsov 7c3964c6f5 type fixes 2021-11-08 17:09:29 +02:00
Yuri Kuznetsov df744ba263 export fix 2021-11-08 16:40:23 +02:00
Yuri Kuznetsov 380b3dde0a return type const 2021-11-08 16:31:54 +02:00
Yuri Kuznetsov 4c696c8b21 type fixes 2021-11-08 16:05:53 +02:00
Yuri Kuznetsov 95f9206880 type fixes 2021-11-08 15:48:16 +02:00
Yuri Kuznetsov e00557885f type fixes 2021-11-08 15:28:12 +02:00
Yuri Kuznetsov 9aaab7d726 phpstan dynamic return type 2021-11-08 15:23:34 +02:00
Yuri Kuznetsov ab9f78d33f type fixes 2021-11-08 15:22:49 +02:00
Yuri Kuznetsov ac57f6a39a fix types 2021-11-08 15:16:39 +02:00
Yuri Kuznetsov 49077225c6 type fixes 2021-11-08 13:47:48 +02:00
Yuri Kuznetsov f3a13739c0 type fixes 2021-11-08 13:31:15 +02:00
Yuri Kuznetsov ae4d37498a csv export fix 2021-11-08 12:35:03 +02:00
Yuri Kuznetsov 25a607952c fix before action methods 2021-11-08 11:03:54 +02:00
Yuri Kuznetsov 51cfbb0779 fixes 2021-11-05 13:40:32 +02:00
Yuri Kuznetsov 15c97e5d12 fixes 2021-11-05 13:26:05 +02:00
Yuri Kuznetsov 4847bc019a phpstan level 4 2021-11-05 12:54:35 +02:00
Yuri Kuznetsov 094f6e2f50 fixes 2021-11-05 12:53:54 +02:00
Yuri Kuznetsov 6cc19a52f1 fixes 2021-11-05 12:33:36 +02:00
Yuri Kuznetsov f0237005c0 fixes 2021-11-05 12:14:56 +02:00
Yuri Kuznetsov 3aa31a830c type fixes 2021-11-05 12:12:39 +02:00
Yuri Kuznetsov c61513cf84 fixes 2021-11-05 12:02:06 +02:00
Yuri Kuznetsov d10b6dd9b3 fixes 2021-11-05 11:49:04 +02:00
Yuri Kuznetsov b466f91f8a fixes 2021-11-05 11:32:03 +02:00
Yuri Kuznetsov 7081440121 type fixes 2021-11-05 11:22:59 +02:00
Yuri Kuznetsov 5042f58e30 fixes 2021-11-05 11:04:49 +02:00
Yuri Kuznetsov beb51081d3 type fixes 2021-11-05 10:55:41 +02:00
Yuri Kuznetsov 1997da4343 fixes 2021-11-04 17:22:56 +02:00
Yuri Kuznetsov 0b3f3e67dd fixes 2021-11-04 17:14:41 +02:00
Yuri Kuznetsov e9d7b92a6e phpstan level 3 2021-11-04 16:20:29 +02:00
Yuri Kuznetsov 334d5609b0 types 2021-11-04 16:19:43 +02:00
Yuri Kuznetsov 6e31c591bd types 2021-11-04 16:16:22 +02:00
Yuri Kuznetsov d125d8f067 types 2021-11-04 15:54:48 +02:00
Yuri Kuznetsov 49b55236d0 types 2021-11-04 15:09:36 +02:00
Yuri Kuznetsov 093001bf95 fixes 2021-11-04 13:50:10 +02:00
Yuri Kuznetsov 3445f87e0c fix 2021-11-04 13:34:43 +02:00
Yuri Kuznetsov 8d3ba52501 injectable factory type hint 2021-11-04 13:33:16 +02:00
Yuri Kuznetsov 82a7590a2a type fixes 2021-11-04 13:19:53 +02:00
Yuri Kuznetsov 773df7aedd type fixes 2021-11-04 13:00:40 +02:00
Yuri Kuznetsov 424ca82b15 type fixes 2021-11-04 12:50:56 +02:00
Yuri Kuznetsov e5df6ad7bf type fixes 2021-11-04 12:48:31 +02:00
Yuri Kuznetsov d81f8f7bed type fixes 2021-11-04 12:35:39 +02:00
Yuri Kuznetsov 7203b652fa type fixes 2021-11-04 12:17:37 +02:00
Yuri Kuznetsov 5d5268c2c7 type fixes 2021-11-04 11:55:57 +02:00
Yuri Kuznetsov b568e96407 type fixes 2021-11-04 11:36:52 +02:00
Yuri Kuznetsov 1dda881422 type fixes 2021-11-04 11:14:25 +02:00
Yuri Kuznetsov 17d2791d40 type fixes 2021-11-04 10:59:48 +02:00
Yuri Kuznetsov 9469b66c61 fix 2021-11-04 08:19:52 +02:00
Yuri Kuznetsov bbc16b942e type fixes 2021-11-03 21:16:03 +02:00
Yuri Kuznetsov 2cb235f49c type fixes 2021-11-03 21:07:10 +02:00
Yuri Kuznetsov e2a7a439d2 type fixes 2021-11-03 18:38:20 +02:00
Yuri Kuznetsov 2c19ebf570 fix types 2021-11-03 17:57:50 +02:00
Yuri Kuznetsov 19d799ac5e type fixes 2021-11-03 17:38:27 +02:00
Yuri Kuznetsov e89a0955ea fix types 2021-11-03 17:30:42 +02:00
Yuri Kuznetsov fc6dfd1994 fix orm types 2021-11-03 17:01:17 +02:00
Yuri Kuznetsov 3fa33b6706 type fixes 2021-11-03 16:47:27 +02:00
Yuri Kuznetsov 939daa616b type fixes 2021-11-03 16:43:44 +02:00
Yuri Kuznetsov fd22f50de2 type fixes 2021-11-03 16:34:18 +02:00
Yuri Kuznetsov 48ca9259af type fixes 2021-11-03 16:02:45 +02:00
Yuri Kuznetsov c49d3d4c30 type fixes 2021-11-03 15:52:54 +02:00
Yuri Kuznetsov 246b0c2a37 type fixes 2021-11-03 15:39:45 +02:00
Yuri Kuznetsov 33f446401b di setters fixes 2021-11-03 15:29:54 +02:00
Yuri Kuznetsov 9c677463f2 type fixes 2021-11-03 15:27:08 +02:00
Yuri Kuznetsov 786e267e93 type fixes 2021-11-03 15:17:28 +02:00
Yuri Kuznetsov c782743a24 fix test 2021-11-03 13:19:29 +02:00
Yuri Kuznetsov b2c4c76fba type fixes 2021-11-03 13:14:22 +02:00
Yuri Kuznetsov 5a6660b60d type fixes 2021-11-03 12:56:57 +02:00
Yuri Kuznetsov f5d324eb48 type fixes 2021-11-03 11:39:41 +02:00
Yuri Kuznetsov 901e0967fc type fixes 2021-11-03 11:17:47 +02:00
Yuri Kuznetsov 1cfacc3813 fix regression websocket 2021-11-03 11:11:03 +02:00
Yuri Kuznetsov 8f1c7d5d54 fix attachment allowed types 2021-11-03 10:59:30 +02:00
Yuri Kuznetsov 3427c1b0bd type fixes 2021-11-02 21:15:15 +02:00
Yuri Kuznetsov 4a12d44971 type fixes 2021-11-02 19:56:48 +02:00
Yuri Kuznetsov d833d43a8b fixes 2021-11-02 19:40:15 +02:00
Yuri Kuznetsov 64a3b851b6 type fixes 2021-11-02 18:24:37 +02:00
Yuri Kuznetsov 2a0ceceb2f type fixes 2021-11-02 18:16:42 +02:00
Yuri Kuznetsov 7250e0e5c4 type fixes 2021-11-02 17:08:01 +02:00
Yuri Kuznetsov 40161fdc3c type fixes 2021-11-02 16:37:39 +02:00
Yuri Kuznetsov cb815d7dea type fixes 2021-11-02 16:25:25 +02:00
Yuri Kuznetsov fffe4aacc1 fixes 2021-11-02 16:20:55 +02:00
Yuri Kuznetsov 985c12c918 type fixes 2021-11-02 16:15:31 +02:00
Yuri Kuznetsov 87bbf61c66 type fixes 2021-11-02 15:58:40 +02:00
Yuri Kuznetsov 8f204de057 fix injectable factory types 2021-11-02 15:38:59 +02:00
Yuri Kuznetsov 419b08070a fix 2021-11-02 15:30:57 +02:00
Yuri Kuznetsov ba1d4d7b72 fixes 2021-11-02 13:45:16 +02:00
Yuri Kuznetsov a48b5df28e type fixes 2021-11-02 13:34:32 +02:00
Yuri Kuznetsov 07bbc42df5 fix exceptions 2021-11-02 13:20:29 +02:00
Yuri Kuznetsov 14e77571c0 type fixes 2021-11-02 12:40:50 +02:00
Yuri Kuznetsov 71a35878c1 type fixes 2021-11-02 12:24:56 +02:00
Yuri Kuznetsov 7dc74f0767 phpstan config 2021-11-02 12:24:42 +02:00
Yuri Kuznetsov 784d12f3ca fix container 2021-11-02 11:32:30 +02:00
Yuri Kuznetsov cdf9700ff0 fix loader interface 2021-11-02 11:10:43 +02:00
Yuri Kuznetsov 05f926b33b fix bool any filter 2021-11-02 11:07:55 +02:00
Yuri Kuznetsov b05f2acc34 type fix 2021-11-01 17:34:15 +02:00
Yuri Kuznetsov 67b52d1f42 fixes 2021-11-01 17:19:42 +02:00
Yuri Kuznetsov 6391c3ca08 fixes 2021-11-01 17:17:44 +02:00
Yuri Kuznetsov fc59a1efa1 type fixes 2021-11-01 17:00:07 +02:00
Yuri Kuznetsov e215e39e5d type fixes 2021-11-01 16:46:41 +02:00
Yuri Kuznetsov 33e1f48717 fix import 2021-11-01 11:49:28 +02:00
Yuri Kuznetsov 94f61e5aff fix 2021-11-01 11:43:59 +02:00
Yuri Kuznetsov 41b25a43ba tcpdf fix 2021-11-01 11:27:20 +02:00
Yuri Kuznetsov 09e617ee78 fixes 2021-10-29 21:56:31 +03:00
Yuri Kuznetsov f5f8b2f66a fix 2021-10-29 21:39:38 +03:00
Yuri Kuznetsov 45b9b41557 type fixes 2021-10-29 17:32:31 +03:00
Yuri Kuznetsov e0a1b983e3 Merge branch 'hotfix/7.0.9' of github.com:espocrm/espocrm into hotfix/7.0.9 2021-10-29 17:12:48 +03:00
Yuri Kuznetsov 4d2b339112 fixes 2021-10-29 17:12:40 +03:00
Yuri Kuznetsov b1a66e4a20 fix exceptions 2021-10-29 17:11:05 +03:00
Yuri Kuznetsov 1e44f82b38 fixes 2021-10-29 17:07:32 +03:00
Eymen Elkum 487f428c7f add missing returns (#2132) 2021-10-29 17:03:03 +03:00
Yuri Kuznetsov f5fa51854d fixes 2021-10-29 16:12:24 +03:00
Yuri Kuznetsov 3f15295293 fixes 2021-10-29 15:53:31 +03:00
Yuri Kuznetsov de72c2b055 fixes 2021-10-29 15:33:25 +03:00
Yuri Kuznetsov 8f93507fec fixes 2021-10-29 15:14:37 +03:00
Yuri Kuznetsov 2afaf8b446 fix 2021-10-29 14:05:59 +03:00
Yuri Kuznetsov 33e0a1b228 phpstan 2021-10-29 13:56:55 +03:00
Yuri Kuznetsov 4b7dd1fd22 fixes 2021-10-29 13:55:58 +03:00
Yuri Kuznetsov 6f7ef14482 fixes 2021-10-29 13:48:03 +03:00
Yuri Kuznetsov 097a115595 fixes 2021-10-29 13:42:43 +03:00
Yuri Kuznetsov cd78458d19 fix select 2021-10-29 13:24:21 +03:00
Yuri Kuznetsov b69d706cc4 fix where 2021-10-29 13:16:47 +03:00
Yuri Kuznetsov 8286d7b621 fixes 2021-10-29 12:46:57 +03:00
Yuri Kuznetsov d899c55f4f pagination fixes 2021-10-28 16:54:55 +03:00
Yuri Kuznetsov 0a954e171d pagination fixes 2021-10-28 13:59:45 +03:00
Yuri Kuznetsov 89d2c38257 refactoring 2021-10-28 13:50:32 +03:00
Yuri Kuznetsov d7829e7801 v 2021-10-26 12:07:42 +03:00
Yuri Kuznetsov 3d4f6055e4 merge fixes 2021-10-26 12:07:15 +03:00
Yuri Kuznetsov 383ae3fe3e entity inteface add methods 2021-10-26 11:45:10 +03:00
Yuri Kuznetsov 47cbd18c88 ldap user save fix 2021-10-26 11:43:18 +03:00
Yuri Kuznetsov d5779878c7 fix link multiple loading on list 2021-10-25 15:30:16 +03:00
Shefqet Avdullau c65cabffd5 Fixed typo in Tasks default filter Completed (#2126)
Fixes #2125
2021-10-25 15:04:42 +03:00
Yuri Kuznetsov fe90a62239 autocomplete new password 2021-10-25 13:24:21 +03:00
Yuri Kuznetsov 13ae33266f dummy file 2021-10-25 13:14:19 +03:00
Yuri Kuznetsov 399b689bcd fix personal email account assigned user 2021-10-25 12:01:38 +03:00
Yuri Kuznetsov 1219e7be12 fix category tree order 2021-10-25 11:02:23 +03:00
Yuri Kuznetsov 10f67ab360 mass update opp stage 2021-10-21 13:21:01 +03:00
Yuri Kuznetsov ce1f755612 action data cloning 2021-10-21 13:20:36 +03:00
Yuri Kuznetsov fa943d1166 mass action data cloning 2021-10-21 13:18:51 +03:00
Yuri Kuznetsov dc09f91e35 refactoring 2021-10-21 12:56:47 +03:00
Yuri Kuznetsov 34b8fa2728 acceptanceStatus customization fields disabled 2021-10-20 16:04:33 +03:00
Yuri Kuznetsov 02f7bebf67 outbound email address autocomplete 2021-10-19 16:01:19 +03:00
Yuri Kuznetsov 4ffc384764 formatting fix 2021-10-19 15:27:19 +03:00
Yuri Kuznetsov e1ef2b34ea orphan email address filter fix 2021-10-19 15:14:32 +03:00
Yuri Kuznetsov d5a83a8819 fix 2021-10-19 12:43:30 +03:00
Yuri Kuznetsov 661f499f67 orm custom functions 2021-10-19 12:40:07 +03:00
Yuri Kuznetsov a073beeea7 lastAccess export disable 2021-10-18 17:35:07 +03:00
Yuri Kuznetsov 07f6bf7a7a signature with insert email fix 2021-10-18 13:56:42 +03:00
Yuri Kuznetsov 0cfbb269f2 fix ldap 2021-10-18 13:15:23 +03:00
Yuri Kuznetsov f3791e5fb4 fix ldap create user 2021-10-18 13:03:06 +03:00
Yuri Kuznetsov 37d8b0d3bd cleanup 2021-10-15 15:47:17 +03:00
Arkadiy 4ae383033a fix missing class imports, exceptions and undefined properties (#2112)
* fix exception

* fix missing imports

* fix access to an undefined property
2021-10-15 15:46:45 +03:00
Yuri Kuznetsov ea71675701 fix typo 2021-10-15 10:56:48 +03:00
Arkadiy 1178d01baa fix for SelectingBuilderTrait (#2110)
* fix undefined type

* fix exception
2021-10-14 15:13:55 +03:00
Yuri Kuznetsov ace53f9494 v 2021-10-14 13:01:32 +03:00
Yuri Kuznetsov 3c17ff2da9 layout set fix 2021-10-14 10:35:08 +03:00
Yuri Kuznetsov 163991a36b fix 2021-10-14 10:07:09 +03:00
Yuri Kuznetsov 291721c1d0 fix checkboxes 2021-10-13 16:30:36 +03:00
Yuri Kuznetsov d96301d544 7.0.6 2021-10-13 15:56:19 +03:00
Yuri Kuznetsov 54d9674055 fix emails folderId 2021-10-13 10:35:47 +03:00
Yuri Kuznetsov 4a5a07649a cs fix 2021-10-13 10:32:39 +03:00
Yuri Kuznetsov cfdb65fad8 fix missing checkboxes 2021-10-13 10:12:44 +03:00
Yuri Kuznetsov 16544a4a70 fix email address parsing 2021-10-12 15:52:59 +03:00
Yuri Kuznetsov 02939d0840 v 2021-10-12 13:06:02 +03:00
Yuri Kuznetsov bf331c7020 cs fix 2021-10-12 12:05:58 +03:00
Yuri Kuznetsov e80b55572b fix lead filter 2021-10-12 11:32:10 +03:00
Yuri Kuznetsov 51c29f0a6e fix link & link multiple search empty 2021-10-12 11:30:20 +03:00
Yuri Kuznetsov 056191db82 fix pdf filename 2021-10-11 13:01:59 +03:00
Yuri Kuznetsov 9ace150efa v 2021-10-11 11:31:48 +03:00
Yuri Kuznetsov 79ae89d172 fix duration 2021-10-10 11:38:15 +03:00
Yuri Kuznetsov bb703e2060 fix export not existing fields 2021-10-10 11:22:58 +03:00
Yuri Kuznetsov 972d9019e1 fix log 2021-10-10 11:19:38 +03:00
Yuri Kuznetsov c99566410a note acl refactoring and period change 2021-10-08 15:35:05 +03:00
Yuri Kuznetsov 9c56a14fb0 file manager allow create file w/ wrong ownership 2021-10-08 11:45:56 +03:00
Yuri Kuznetsov b95e58317b fix msg 2021-10-08 11:27:09 +03:00
Yuri Kuznetsov 6fd9d6e15c upgrade fix 2021-10-07 17:42:31 +03:00
Yuri Kuznetsov 518b9fa2ba unlink file in checkCreateFile 2021-10-07 17:17:22 +03:00
Yuri Kuznetsov c113b7bd88 throw exception in auth 2021-10-07 15:00:11 +03:00
Yuri Kuznetsov fb0a302f62 v 2021-10-06 18:27:50 +03:00
Yuri Kuznetsov 43127379cd fix settings 2021-10-06 18:27:07 +03:00
6083 changed files with 362826 additions and 200739 deletions
+1 -2
View File
@@ -4,8 +4,7 @@ root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
+5
View File
@@ -8,4 +8,9 @@
*.tpl text eol=crlf
*.html text eol=crlf
bin/command text eol=lf
.gitattributes text eol=crlf
.gitignore text eol=crlf
*.png binary
+18 -11
View File
@@ -1,17 +1,24 @@
## Issues
When reporting a possible bug, provide detail steps so that we will be able
to reproduce the issue. Try not to use phrases like "very big bug",
"huge issue", "useless feature", etc. No need to use exclamation marks as well.
Steps to reproduce should be clear and unambiguous.
Note that we don't provide developer help or any kind of support on GitHub.
For this, please use our [forum](https://forum.espocrm.com).
## 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.
We are open for contributions that are bug fixes and small improvements. If you would like to contribute something that is not a small fix, please reach out to maintainers before submitting your PR (by creating a GitHub issue).
See [Code Style Guidelines](https://github.com/espocrm/espocrm/wiki/Code-Style-Guidelines).
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla).
It's desirable that one PR solves one specific problem. Do not include code style changes to PRs
(unless the main purpose of the PR is a code style fix).
Branches:
* *hotfix/** upcoming maintenance release; fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
## Issues
When reporting a possible bug please provide detail steps so that we will be able to reproduce the issue. Please try not to use phrases like "very big bug", "huge issue", etc. No need to use exclamation marks as well.
Note that we don't provide developer help or any kind of support on Github. Please use our [forum](https://forum.espocrm.com) for this.
* *master* the develop branch; new features should be pushed to here;
* *fix* the upcoming maintenance release; small fixes should be pushed to here.
+3 -3
View File
@@ -1,6 +1,6 @@
---
name: Bug report
about: Create a bug report
about: Create a bug report. Not to be used for help requests or server configuration issues. Only for issues related to open source EspoCRM. Issues related to extensions should not to be posted here.
title: ''
labels: ''
assignees: ''
@@ -10,8 +10,8 @@ assignees: ''
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
**To Reproduce (MANDATORY, DO NOT REMOVE)**
Explicit steps to reproduce the behavior:
1. ...
2. ...
3. ...
+2 -1
View File
@@ -1,4 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: EspoCRM forum
url: https://forum.espocrm.com/
about: Please use our forum to ask questions not related to product development
about: "Use our forum for help requests and questions not related to product development. We don't provide support on GitHub."
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an idea for EspoCRM
about: Feature requests are not desired at the moment. Need to polish the system. For high-level features, consider creating feature requests on the forum. For low-level (framework) here on GitHub.
title: ''
labels: ''
assignees: ''
+2 -2
View File
@@ -2,8 +2,8 @@
## Reporting a vulnerability
If you believe you have discovered a vulnerability in EspoCRM please contacts us via [this](https://www.espocrm.com/contacts/) or [this](https://www.espocrm.com/support/) forms.
If you believe you have discovered a vulnerability in EspoCRM, please contacts us via [this](https://www.espocrm.com/contacts/) or [this](https://www.espocrm.com/support/) forms. Or create a private vulnerability report on GitHub.
## Supported versions
For severe vulnerabilities we provide fixes for 2 minor versions (the second number in the version string) back from the current stable version. Separate patches or manual fix guidelines will be provided for more old versions.
For severe vulnerabilities we provide fixes for 2 minor versions (the second number in the version string) back from the current stable version.
+63
View File
@@ -0,0 +1,63 @@
name: Test Integration on PostgreSQL
on:
schedule:
- cron: '0 11 * * *'
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
env:
TEST_DATABASE_HOST: '127.0.0.1'
TEST_DATABASE_PLATFORM: 'Postgresql'
TEST_DATABASE_CHARSET: 'utf8'
TEST_DATABASE_PORT: '8888'
TEST_DATABASE_NAME: integration_test
TEST_DATABASE_USER: postgres
TEST_DATABASE_PASSWORD: password
services:
postgres:
image: postgres:15.2
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: integration_test
ports:
- '8888:5432'
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
fail-fast: false
matrix:
php-versions: ['8.3']
branches: ['master']
steps:
- uses: actions/checkout@v2
with:
ref: ${{ matrix.branches }}
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Setup PHP with Composer
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v2
ini-values: memory_limit=1024M
- name: NPM install
run: npm install
- name: Build
run: grunt test
- name: Integration testing
run: vendor/bin/phpunit --testsuite integration-pg
+63
View File
@@ -0,0 +1,63 @@
name: Test Integration
on:
schedule:
- cron: '0 10 * * *'
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
env:
TEST_DATABASE_HOST: '127.0.0.1'
TEST_DATABASE_PORT: '8888'
TEST_DATABASE_NAME: integration_test
TEST_DATABASE_USER: root
TEST_DATABASE_PASSWORD: password
services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: false
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: integration_test
ports:
- '8888:3306'
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
branches: ['master']
steps:
- uses: actions/checkout@v2
with:
ref: ${{ matrix.branches }}
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Setup PHP with Composer
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v2
ini-values: memory_limit=1024M
- name: Start MySQL service
run: sudo systemctl start mysql
- name: Create DB table
run: mysql -h 127.0.0.1 --port 8888 -u root -ppassword -e 'CREATE DATABASE IF NOT EXISTS integration_test;'
- name: NPM install
run: npm install
- name: Build
run: grunt test
- name: Integration testing
run: vendor/bin/phpunit tests/integration
+48
View File
@@ -0,0 +1,48 @@
name: Test
on:
push:
branches:
- 'master'
- 'fix'
paths:
- '**.php'
- '**.json'
- '**.yml'
- 'composer.lock'
- 'phpstan.neon'
pull_request:
paths:
- '**.php'
- '**.json'
- '**.yml'
- 'composer.lock'
- 'phpstan.neon'
jobs:
test:
name: Test on PHP ${{ matrix.php-versions }}
runs-on: ubuntu-20.04
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
steps:
- uses: actions/checkout@v2
- name: Setup PHP with Composer
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v2
ini-values: memory_limit=1024M
- name: Composer install
run: composer install
- name: Static analysis
run: vendor/bin/phpstan
- name: Unit testing
run: vendor/bin/phpunit tests/unit
+6
View File
@@ -5,6 +5,8 @@
/data/.backup/*
/data/config.php
/data/config-internal.php
/data/config-override.php
/data/config-internal-override.php
/data/tmp/*
/build
/node_modules
@@ -23,3 +25,7 @@
!/custom/Espo/Custom/.htaccess
!/custom/Espo/Modules/.htaccess
/install/config.php
client/css/espo/*
client/lib/*
client/modules/crm/lib/*
-5
View File
@@ -24,11 +24,6 @@ Options -Indexes
# Skip redirect for `client` dir.
RewriteRule ^client/ - [L]
# {#dev}
# Skip redirect for `node_modules` dir. Actual only for dev environment.
RewriteRule ^node_modules/ - [L]
# {/dev}
# Store base path.
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
+7
View File
@@ -0,0 +1,7 @@
*
!.gitignore
!/codeStyles
!/fileTemplates
!/inspectionProfiles
!misc.xml
!jsonSchemas.xml
+28
View File
@@ -0,0 +1,28 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JSCodeStyleSettings version="0">
<option name="USE_DOUBLE_QUOTES" value="false" />
</JSCodeStyleSettings>
<PHPCodeStyleSettings>
<option name="GROUP_USE_WRAP" value="2" />
<option name="VARIABLE_NAMING_STYLE" value="CAMEL_CASE" />
<option name="KEEP_RPAREN_AND_LBRACE_ON_ONE_LINE" value="true" />
<option name="FORCE_EMPTY_METHODS_IN_ONE_LINE" value="true" />
</PHPCodeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>
<option name="INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="PHP">
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_CALL_CHAIN_WRAP" value="5" />
</codeStyleSettings>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+27
View File
@@ -0,0 +1,27 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-${YEAR} Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
+1
View File
@@ -0,0 +1 @@
#parse("PHP File Header.php")
+22
View File
@@ -0,0 +1,22 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ConvertLetToConst" enabled="true" level="WEAK WARNING" enabled_by_default="true" editorAttributes="INFO_ATTRIBUTES" />
<inspection_tool class="JSIgnoredPromiseFromCall" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocMissingThrowsInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpDocSignatureIsNotCompleteInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingFieldTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingParamTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpMissingReturnTypeInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpPropertyCanBeReadonlyInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PhpStanGlobal" enabled="false" level="WEAK WARNING" enabled_by_default="false">
<option name="config" value="$PROJECT_DIR$/phpstan.neon" />
</inspection_tool>
<inspection_tool class="PhpSwitchStatementWitSingleBranchInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PsalmAdvanceCallableParamsInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlDialectInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlNoDataSourceInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TrivialIfJS" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>
+1487
View File
File diff suppressed because it is too large Load Diff
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpEntryPointsManager">
<pattern value="\Espo\Controllers\*" member="*Action*" />
<pattern value="\Espo\Modules\*\Controllers\*" member="*Action*" />
<suppressed_annotations>@implements</suppressed_annotations>
</component>
</project>
+1
View File
@@ -0,0 +1 @@
tag-version-prefix = ""
+3
View File
@@ -0,0 +1,3 @@
*
!.gitignore
!settings.json
+458
View File
@@ -0,0 +1,458 @@
{
"json.schemas": [
{
"fileMatch": [
"*/Resources/autoload.json"
],
"url": "./schema/autoload.json"
},
{
"fileMatch": [
"*/Resources/routes.json"
],
"url": "./schema/routes.json"
},
{
"fileMatch": [
"*/Resources/module.json"
],
"url": "./schema/module.json"
},
{
"fileMatch": [
"*/Resources/layouts/*/detail.json",
"*/Resources/layouts/*/detailSmall.json",
"*/Resources/layouts/*/detailConvert.json"
],
"url": "./schema/layouts/detail.json"
},
{
"fileMatch": [
"*/Resources/layouts/*/list.json",
"*/Resources/layouts/*/listSmall.json",
"*/Resources/layouts/*/listFor*.json"
],
"url": "./schema/layouts/list.json"
},
{
"fileMatch": [
"*/metadata/aclDefs/*.json"
],
"url": "./schema/metadata/aclDefs.json"
},
{
"fileMatch": [
"*/metadata/authenticationMethods/*.json"
],
"url": "./schema/metadata/authenticationMethods.json"
},
{
"fileMatch": [
"*/metadata/clientDefs/*.json"
],
"url": "./schema/metadata/clientDefs.json"
},
{
"fileMatch": [
"*/metadata/dashlets/*.json"
],
"url": "./schema/metadata/dashlets.json"
},
{
"fileMatch": [
"*/metadata/entityAcl/*.json"
],
"url": "./schema/metadata/entityAcl.json"
},
{
"fileMatch": [
"*/metadata/entityDefs/*.json"
],
"url": "./schema/metadata/entityDefs.json"
},
{
"fileMatch": [
"*/metadata/fields/*.json"
],
"url": "./schema/metadata/fields.json"
},
{
"fileMatch": [
"*/metadata/integrations/*.json"
],
"url": "./schema/metadata/integrations.json"
},
{
"fileMatch": [
"*/metadata/notificationDefs/*.json"
],
"url": "./schema/metadata/notificationDefs.json"
},
{
"fileMatch": [
"*/metadata/pdfDefs/*.json"
],
"url": "./schema/metadata/pdfDefs.json"
},
{
"fileMatch": [
"*/metadata/recordDefs/*.json"
],
"url": "./schema/metadata/recordDefs.json"
},
{
"fileMatch": [
"*/metadata/scopes/*.json"
],
"url": "./schema/metadata/scopes.json"
},
{
"fileMatch": [
"*/metadata/selectDefs/*.json"
],
"url": "./schema/metadata/selectDefs.json"
},
{
"fileMatch": [
"*/metadata/streamDefs/*.json"
],
"url": "./schema/metadata/streamDefs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/acl.json"
],
"url": "./schema/metadata/app/acl.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/aclPortal.json"
],
"url": "./schema/metadata/app/aclPortal.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/actions.json"
],
"url": "./schema/metadata/app/actions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/addressFormats.json"
],
"url": "./schema/metadata/app/addressFormats.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/adminPanel.json"
],
"url": "./schema/metadata/app/adminPanel.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/api.json"
],
"url": "./schema/metadata/app/api.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/appParams.json"
],
"url": "./schema/metadata/app/appParams.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/authentication.json"
],
"url": "./schema/metadata/app/authentication.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/authentication2FAMethods.json"
],
"url": "./schema/metadata/app/authentication2FAMethods.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/cleanup.json"
],
"url": "./schema/metadata/app/cleanup.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/client.json"
],
"url": "./schema/metadata/app/client.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientRoutes.json"
],
"url": "./schema/metadata/app/clientRoutes.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/complexExpression.json"
],
"url": "./schema/metadata/app/complexExpression.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/config.json"
],
"url": "./schema/metadata/app/config.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/consoleCommands.json"
],
"url": "./schema/metadata/app/consoleCommands.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/containerServices.json"
],
"url": "./schema/metadata/app/containerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/currency.json"
],
"url": "./schema/metadata/app/currency.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/currencyConversion.json"
],
"url": "./schema/metadata/app/currencyConversion.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/databasePlatforms.json"
],
"url": "./schema/metadata/app/databasePlatforms.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/dateTime.json"
],
"url": "./schema/metadata/app/dateTime.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/defaultDashboardLayouts.json"
],
"url": "./schema/metadata/app/defaultDashboardLayouts.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/defaultDashboardOptions.json"
],
"url": "./schema/metadata/app/defaultDashboardOptions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/emailTemplate.json"
],
"url": "./schema/metadata/app/emailTemplate.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityManagerParams.json"
],
"url": "./schema/metadata/app/entityManagerParams.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityTemplateList.json"
],
"url": "./schema/metadata/app/entityTemplateList.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityTemplates.json"
],
"url": "./schema/metadata/app/entityTemplates.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/export.json"
],
"url": "./schema/metadata/app/export.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/fieldProcessing.json"
],
"url": "./schema/metadata/app/fieldProcessing.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/file.json"
],
"url": "./schema/metadata/app/file.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/fileStorage.json"
],
"url": "./schema/metadata/app/fileStorage.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/formula.json"
],
"url": "./schema/metadata/app/formula.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/hook.json"
],
"url": "./schema/metadata/app/hook.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/image.json"
],
"url": "./schema/metadata/app/image.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/jsLibs.json"
],
"url": "./schema/metadata/app/jsLibs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/language.json"
],
"url": "./schema/metadata/app/language.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/layouts.json"
],
"url": "./schema/metadata/app/layouts.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/linkManager.json"
],
"url": "./schema/metadata/app/linkManager.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/entityManager.json"
],
"url": "./schema/metadata/app/entityManager.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/mapProviders.json"
],
"url": "./schema/metadata/app/mapProviders.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/massActions.json"
],
"url": "./schema/metadata/app/massActions.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/metadata.json"
],
"url": "./schema/metadata/app/metadata.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/clientNavbar.json"
],
"url": "./schema/metadata/app/clientNavbar.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/orm.json"
],
"url": "./schema/metadata/app/orm.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/pdfEngines.json"
],
"url": "./schema/metadata/app/pdfEngines.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/popupNotifications.json"
],
"url": "./schema/metadata/app/popupNotifications.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/portalContainerServices.json"
],
"url": "./schema/metadata/app/portalContainerServices.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/rebuild.json"
],
"url": "./schema/metadata/app/rebuild.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/recordId.json"
],
"url": "./schema/metadata/app/recordId.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/regExpPatterns.json"
],
"url": "./schema/metadata/app/regExpPatterns.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/relationships.json"
],
"url": "./schema/metadata/app/relationships.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/scheduledJobs.json"
],
"url": "./schema/metadata/app/scheduledJobs.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/select.json"
],
"url": "./schema/metadata/app/select.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/smsProviders.json"
],
"url": "./schema/metadata/app/smsProviders.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/templateHelpers.json"
],
"url": "./schema/metadata/app/templateHelpers.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/templates.json"
],
"url": "./schema/metadata/app/templates.json"
},
{
"fileMatch": [
"*/Resources/metadata/app/webSocket.json"
],
"url": "./schema/metadata/app/webSocket.json"
}
]
}
+262 -211
View File
@@ -1,68 +1,97 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
/**
* * `grunt` - full build
* * `grunt dev` - build only items needed for development (takes less time)
* * `grunt offline` - build but skip *composer install*
* * `grant release` - full build plus upgrade packages`
* * `grant test` - build for tests running
* * `grant run-tests` - build and run unit and integration tests
* * `grunt` - full build;
* * `grunt dev` - build for development;
* * `grunt offline` - build but skip *composer install*;
* * `grunt internal` - build only libs and css;
* * `grunt release` - full build zipped with upgrade packages`;
* * `grunt test` - build for tests running;
* * `grunt run-tests` - build and run unit and integration tests.
*/
const fs = require('fs');
const cp = require('child_process');
const path = require('path');
const buildUtils = require('./js/build-utils');
const {TemplateBundler, Bundler} = require('espo-frontend-build-tools');
const LayoutTypeBundler = require('./js/layout-template-bundler');
const bundleConfig = require('./frontend/bundle-config.json');
const libs = require('./frontend/libs.json');
module.exports = grunt => {
const pkg = grunt.file.readJSON('package.json');
const bundleConfig = require('./frontend/bundle-config.json');
let jsFilesToBundle = getBundleLibList().concat(bundleConfig.jsFiles);
let jsFilesToCopy = getCopyLibDataList();
const originalLibDir = 'client/lib/original';
let libFilesToMinify = jsFilesToCopy
const libsBundleFileList = [
'client/src/namespace.js',
'client/src/loader.js',
...buildUtils.getPreparedBundleLibList(libs),
];
const bundleFileMap = {'client/lib/espo.js': libsBundleFileList};
for (const name in bundleConfig.chunks) {
const namePart = 'espo-' + name;
bundleFileMap[`client/lib/${namePart}.js`] = originalLibDir + `/${namePart}.js`
}
const copyJsFileList = buildUtils.getCopyLibDataList(libs);
const minifyLibFileList = copyJsFileList
.filter(item => item.minify)
.reduce((map, item) => (
map[item.dest] = item.dest,
map
), {});
.map(item => {
return {
dest: item.dest,
src: item.originalDest,
};
});
let currentPath = path.dirname(fs.realpathSync(__filename));
const currentPath = path.dirname(fs.realpathSync(__filename));
let themeList = [];
const themeList = [];
fs.readdirSync('application/Espo/Resources/metadata/themes').forEach(file => {
themeList.push(file.substr(0, file.length - 5));
themeList.push(file.substring(0, file.length - 5));
});
let cssminFilesData = {};
let lessData = {};
const cssminFilesData = {};
const lessData = {};
themeList.forEach(theme => {
let name = camelCaseToHyphen(theme);
const name = buildUtils.camelCaseToHyphen(theme);
let files = {};
const 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';
@@ -70,14 +99,12 @@ module.exports = grunt => {
cssminFilesData['client/css/espo/'+name+'.css'] = 'client/css/espo/'+name+'.css';
cssminFilesData['client/css/espo/'+name+'-iframe.css'] = 'client/css/espo/'+name+'-iframe.css';
let o = {
lessData[theme] = {
options: {
yuicompress: true,
},
files: files,
};
lessData[theme] = o;
});
grunt.initConfig({
@@ -86,7 +113,7 @@ module.exports = grunt => {
mkdir: {
tmp: {
options: {
mode: 0755,
mode: 0o755,
create: [
'build/tmp',
],
@@ -95,23 +122,31 @@ module.exports = grunt => {
},
clean: {
start: ['build/EspoCRM-*'],
start: [
'build/EspoCRM-*',
'client/lib/*',
'client/modules/crm/lib/*',
'client/css/espo/*',
],
final: ['build/tmp'],
release: ['build/EspoCRM-' + pkg.version],
beforeFinal: {
src: [
'build/tmp/custom/Espo/Custom/*',
'build/tmp/custom/Espo/Modules/*',
'!build/tmp/custom/Espo/Custom/.htaccess',
'!build/tmp/custom/Espo/Modules/.htaccess',
'build/tmp/install/config.php',
'build/tmp/vendor/*/*/.git',
'build/tmp/custom/Espo/Custom/*',
'build/tmp/client/custom/*',
'!build/tmp/client/custom/modules',
'build/tmp/client/custom/modules/*',
'!build/tmp/client/custom/modules/dummy.txt',
'build/tmp/client/lib/original/espo.js',
'build/tmp/client/lib/original/espo-*.js',
'!build/tmp/client/lib/original/espo-funnel-chart.js',
'build/tmp/client/lib/transpiled',
]
}
},
},
less: lessData,
@@ -124,22 +159,22 @@ module.exports = grunt => {
uglify: {
options: {
mangle: true,
sourceMap: true,
output: {
comments: /^!/,
},
beautify: false,
mangle: true,
compress: true
},
bundle: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
},
files: {
'build/tmp/client/espo.min.js': jsFilesToBundle,
},
files: bundleFileMap,
},
lib: {
files: libFilesToMinify,
files: minifyLibFileList,
},
},
@@ -147,31 +182,24 @@ module.exports = grunt => {
options: {
mode: true,
},
frontendFolders: {
frontend: {
expand: true,
cwd: 'client',
src: [
'src/**',
'res/**',
'fonts/**',
'cfg/**',
'modules/**',
'img/**',
'css/**',
'sounds/**',
'custom/**',
'lib/**',
],
dest: 'build/tmp/client',
},
frontendLib: {
files: jsFilesToCopy,
},
frontendCommitedLib: {
expand: true,
dot: true,
cwd: 'client/lib',
src: '**',
dest: 'build/tmp/client/lib/',
files: copyJsFileList,
},
backend: {
expand: true,
@@ -211,60 +239,6 @@ module.exports = grunt => {
},
},
chmod: {
php: {
options: {
mode: '644'
},
src: [
'build/EspoCRM-<%= pkg.version %>/**/*.php',
'build/EspoCRM-<%= pkg.version %>/**/*.json',
'build/EspoCRM-<%= pkg.version %>/**/*.config',
'build/EspoCRM-<%= pkg.version %>/**/.htaccess',
'build/EspoCRM-<%= pkg.version %>/client/**/*.js',
'build/EspoCRM-<%= pkg.version %>/client/**/*.css',
'build/EspoCRM-<%= pkg.version %>/client/**/*.tpl',
'build/EspoCRM-<%= pkg.version %>/**/*.html',
'build/EspoCRM-<%= pkg.version %>/**/*.txt',
],
},
folders: {
options: {
mode: '755'
},
src: [
'build/EspoCRM-<%= pkg.version %>/public/install',
'build/EspoCRM-<%= pkg.version %>/public/portal',
'build/EspoCRM-<%= pkg.version %>/public/api',
'build/EspoCRM-<%= pkg.version %>/public/api/v1',
'build/EspoCRM-<%= pkg.version %>/public/api/v1/portal-access',
'build/EspoCRM-<%= pkg.version %>',
],
},
foldersWritable: {
options: {
mode: '775'
},
src: [
'build/EspoCRM-<%= pkg.version %>/data',
'build/EspoCRM-<%= pkg.version %>/custom',
'build/EspoCRM-<%= pkg.version %>/custom/Espo',
'build/EspoCRM-<%= pkg.version %>/custom/Espo/Custom',
'build/EspoCRM-<%= pkg.version %>/client/custom',
'build/EspoCRM-<%= pkg.version %>/client/modules',
'build/EspoCRM-<%= pkg.version %>/application/Espo/Modules',
]
},
executable: {
options: {
mode: '754'
},
src: [
'build/EspoCRM-<%= pkg.version %>/bin/*',
],
},
},
replace: {
version: {
options: {
@@ -286,7 +260,7 @@ module.exports = grunt => {
options: {
patterns: [
{
match: /\# \{\#dev\}(.*)\{\/dev\}/gs,
match: /# \{#dev}(.*)\{\/dev}/gs,
replacement: '',
}
]
@@ -299,15 +273,156 @@ module.exports = grunt => {
],
},
},
});
const writeOriginalLib = (name, contents) => {
if (!fs.existsSync(originalLibDir)) {
fs.mkdirSync(originalLibDir);
}
const file = originalLibDir + `/${name}.js`;
fs.writeFileSync(file, contents, 'utf8');
};
grunt.registerTask('bundle', () => {
const bundler = new Bundler(bundleConfig, libs);
const result = bundler.bundle();
for (const name in result) {
let contents = result[name];
const key = 'espo-' + name;
if (name === 'main') {
contents += '\n' + (new LayoutTypeBundler()).bundle();
}
writeOriginalLib(key, contents);
}
});
grunt.registerTask('bundle-templates', () => {
const templateBundler = new TemplateBundler({
dirs: [
'client/res/templates',
'client/modules/crm/res/templates',
],
});
templateBundler.process();
});
grunt.registerTask('prepare-lib-original', () => {
// Even though `npm ci` runs the same script, 'clean:start' deletes files.
cp.execSync("node js/scripts/prepare-lib-original");
});
grunt.registerTask('prepare-lib', () => {
cp.execSync("node js/scripts/prepare-lib");
});
grunt.registerTask('transpile', () => {
cp.execSync("node js/transpile");
});
grunt.registerTask('chmod-folders', () => {
cp.execSync(
"find . -type d -exec chmod 755 {} + ",
"find . -type d -exec chmod 755 {} +",
{cwd: 'build/EspoCRM-' + pkg.version}
);
});
grunt.registerTask('chmod-multiple', () => {
const dirPath = 'build/EspoCRM-' + pkg.version;
const fileList = [
{
stdio: 'ignore',
cwd: 'build/EspoCRM-' + pkg.version,
name: '*.php',
},
{
name: '*.json',
},
{
name: '*.config',
},
{
name: '.htaccess',
},
{
name: '*.html',
},
{
name: '*.txt',
},
{
name: '*.js',
folder: 'client',
},
{
name: '*.css',
folder: 'client',
},
{
name: '*.tpl',
folder: 'client',
},
];
const dirReadableList = [
'public/install',
'public/portal',
'public/api',
'public/api/v1',
'public/api/v1/portal-access',
'.',
];
const dirWritableList = [
'data',
'custom',
'custom/Espo',
'custom/Espo/Custom',
'client/custom',
'client/modules',
'application/Espo/Modules',
];
fileList.forEach(item => {
const path = item.folder || '.';
const name = item.name;
cp.execSync(
`find ${path} -type f -iname "${name}" -exec chmod 644 {} +`,
{
cwd: dirPath,
}
);
});
dirReadableList.forEach(item => {
cp.execSync(
`chmod 755 ${item}`,
{
cwd: dirPath,
}
);
});
dirWritableList.forEach(item => {
cp.execSync(
`chmod 775 ${item}`,
{
cwd: dirPath,
}
);
});
cp.execSync(
`find bin -type f -exec chmod 754 {} +`,
{
cwd: dirPath,
}
);
});
@@ -321,7 +436,7 @@ module.exports = grunt => {
});
grunt.registerTask('upgrade', () => {
cp.execSync("node diff --all --vendor", {stdio: 'inherit'});
cp.execSync("node diff --closest", {stdio: 'inherit'});
});
grunt.registerTask('unit-tests-run', () => {
@@ -332,26 +447,29 @@ module.exports = grunt => {
cp.execSync("vendor/bin/phpunit ./tests/integration", {stdio: 'inherit'});
});
grunt.registerTask('zip', () => {
grunt.registerTask('set-config-params', () => {
cp.execSync("composer run-script setConfigParams", {stdio: 'ignore'});
});
grunt.registerTask('zip', function () { // Don't change to arrow-function.
const archiver = require('archiver');
let resolve = this.async();
const resolve = this.async();
let folder = 'EspoCRM-' + pkg.version;
let zipPath = 'build/' + folder +'.zip';
const folder = 'EspoCRM-' + pkg.version;
const zipPath = 'build/' + folder + '.zip';
if (fs.existsSync(zipPath)) {
fs.unlinkSync(zipPath);
}
let archive = archiver('zip');
const archive = archiver('zip');
archive.on('error', err => {
grunt.fail.warn(err);
});
let zipOutput = fs.createWriteStream(zipPath);
const zipOutput = fs.createWriteStream(zipPath);
zipOutput.on('close', () => {
console.log("EspoCRM package has been built.");
@@ -361,48 +479,54 @@ module.exports = grunt => {
archive
.directory(currentPath + '/build/' + folder, folder)
.pipe(zipOutput)
.finalize();
.pipe(zipOutput);
archive.finalize();
});
grunt.registerTask('npm-install', () => {
cp.execSync("npm install", {stdio: 'ignore'});
cp.execSync("npm ci", {stdio: 'ignore'});
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-mkdir');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify-es');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-replace');
grunt.loadNpmTasks('grunt-chmod');
grunt.registerTask('internal', [
'less',
'cssmin',
'prepare-lib-original',
'transpile',
'bundle',
'bundle-templates',
'uglify:bundle',
'copy:frontendLib',
'prepare-lib',
'uglify:lib',
]);
grunt.registerTask('offline', [
'clean:start',
'mkdir:tmp',
'less',
'cssmin',
'uglify:bundle',
'copy:frontendFolders',
'copy:frontendLib',
'copy:frontendCommitedLib',
'internal',
'copy:frontend',
'copy:backend',
'uglify:lib',
'replace',
'clean:beforeFinal',
'copy:final',
'chmod-folders',
'chmod:php',
'chmod:folders',
'chmod:foldersWritable',
'chmod:executable',
'chmod-multiple',
'clean:final',
]);
grunt.registerTask('build', [
'composer-install',
'npm-install',
'set-config-params',
'offline',
]);
@@ -435,7 +559,8 @@ module.exports = grunt => {
grunt.registerTask('dev', [
'composer-install-dev',
'less',
'npm-install',
'internal',
]);
grunt.registerTask('test', [
@@ -444,77 +569,3 @@ module.exports = grunt => {
'offline',
]);
};
function getBundleLibList() {
const libs = require('./frontend/libs.json');
let list = [];
libs.forEach(item => {
if (!item.bundle) {
return;
}
if (item.files) {
item.files.forEach(item => {
list.push(item.src);
});
return;
}
if (!item.src) {
throw new Error("No lib src.");
}
list.push(item.src);
});
return list;
}
function getCopyLibDataList() {
const libs = require('./frontend/libs.json');
let list = [];
libs.forEach(item => {
if (item.bundle) {
return;
}
let minify = item.minify;
if (item.files) {
item.files.forEach(item => {
list.push({
src: item.src,
dest: 'build/tmp/' + (item.dest || 'client/lib/' + item.src.split('/').pop()),
minify: minify,
});
});
return;
}
if (!item.src) {
throw new Error("No lib src.");
}
list.push({
src: item.src,
dest: 'build/tmp/' + (item.dest || 'client/lib/' + item.src.split('/').pop()),
minify: minify,
});
});
return list;
}
function camelCaseToHyphen(string){
if (string === null) {
return string;
}
return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}
+67 -80
View File
@@ -1,23 +1,21 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found.
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program 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.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
+49 -21
View File
@@ -1,46 +1,74 @@
## EspoCRM
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.
[![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm)
It's a web application with a frontend designed as a single page application and REST API backend written in PHP.
[EspoCRM is an Open Source CRM](https://www.espocrm.com) (Customer Relationship Management)
software that allows you to see, enter and evaluate all your company relationships regardless
of the type. People, companies or opportunities all in an easy and intuitive interface.
[Download](https://www.espocrm.com/download/) the latest release from our website.
It's a web application with a frontend designed as a single page application and a REST API
backend written in PHP.
[Download](https://www.espocrm.com/download/) the latest release from our website. Release notes
and release packages are available at [Releases](https://github.com/espocrm/espocrm/releases) on GitHub.
![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png)
### Demo
You can try the CRM on the online [demo](https://www.espocrm.com/demo/).
### Requirements
* PHP 7.3 and later (with pdo, json, gd, openssl, zip, imap, mbstring, curl extensions);
* MySQL 5.7 (and later), or MariaDB 10.1 (and later).
* PHP 8.1 - 8.3;
* MySQL 5.7 (and later), or MariaDB 10.2 (and later);
* PostgreSQL 15 (and later) (yet experimental, officially supported soon).
For more information about server configuration see [this article](https://docs.espocrm.com/administration/server-configuration/).
### Documentation
Documentation for administrators, users and developers is available [here](https://docs.espocrm.com).
See the [documentation](https://docs.espocrm.com) for administrators, users and developers.
### How to report a bug
### Bug reporting
Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our [forum](http://forum.espocrm.com/forum/bug-reports).
Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).
### How to install a stable version
### Installing stable version
[Download](https://www.espocrm.com/download/) the latest version. See the [instructions](https://docs.espocrm.com/administration/installation/) about installation.
See installation instructions:
* [Manual installation](https://docs.espocrm.com/administration/installation/)
* [Installation by script](https://docs.espocrm.com/administration/installation-by-script/)
* [Installation with Docker](https://docs.espocrm.com/administration/docker/installation/)
* [Installation with Traefik](https://docs.espocrm.com/administration/docker/traefik/)
### Development
* [Getting started](https://docs.espocrm.com/development/how-to-start)
* [Running tests](https://docs.espocrm.com/development/tests)
* [Making translation](https://docs.espocrm.com/development/translation)
See the [developer documentation](https://docs.espocrm.com/development/).
### How to contribute
We highly recommend using IDE for development. The backend codebase follows SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.
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.
### Community & Support
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.
If you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our [community forum](https://forum.espocrm.com/). We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later.
### License
EspoCRM is published under the GNU GPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
EspoCRM is published under the GNU AGPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).
### Contributing
Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). See [contributing guidelines](https://github.com/espocrm/espocrm/blob/master/.github/CONTRIBUTING.md).
Branches:
* *fix* upcoming maintenance release; minor fixes should be pushed to this branch;
* *master* develop branch; new features should be pushed to this branch;
* *stable* last stable release.
### Language
If you want to improve existing translation or add a language that is not available yet, you can contribute on our [POEditor](https://poeditor.com/join/project/gLDKZtUF4i) project. See instructions [here](https://www.espocrm.com/blog/how-to-use-poeditor-to-translate-espocrm/). It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website.
Changes on POEditor are usually merged to the GitHub repository before minor releases.
+342
View File
@@ -0,0 +1,342 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo;
use Espo\Core\Binding\Binder;
use Espo\Core\Binding\BindingProcessor;
use Espo\Core\Binding\Key\NamedClassKey;
/**
* Default binding for the dependency injection framework. Custom binding should be set up in
* `Espo\Modules\{ModuleName}\Binding` or `Espo\Custom\Binding`.
*
* @link https://docs.espocrm.com/development/di/#binding.
*/
class Binding implements BindingProcessor
{
public function process(Binder $binder): void
{
$this->bindServices($binder);
$this->bindCore($binder);
$this->bindMisc($binder);
$this->bindAcl($binder);
$this->bindWebSocket($binder);
$this->bindEmailAccount($binder);
}
private function bindServices(Binder $binder): void
{
$binder->bindService(
'Espo\\Core\\InjectableFactory',
'injectableFactory'
);
$binder->bindService(
'Espo\\Core\\Container',
'container'
);
$binder->bindService(
'Psr\\Container\\ContainerInterface',
'container'
);
$binder->bindService(
'Espo\\Core\\Utils\\Module',
'module'
);
$binder->bindService(
'Espo\\Core\\Utils\\Config',
'config'
);
$binder->bindService(
'Espo\\Core\\Utils\\File\\Manager',
'fileManager'
);
$binder->bindService(
'Espo\\ORM\\EntityManager',
'entityManager'
);
$binder->bindService(
'Espo\\Core\\ORM\\EntityManager',
'entityManager'
);
$binder->bindService(
'Espo\\ORM\\Defs',
'ormDefs'
);
$binder->bindService(
'Espo\\Core\\DataManager',
'dataManager'
);
$binder->bindService(
'Espo\\Core\\Utils\\Metadata',
'metadata'
);
$binder->bindService(
'Espo\\Core\\Utils\\Log',
'log'
);
$binder->bindService(
'Espo\\Core\\ApplicationState',
'applicationState'
);
$binder->bindService(
'Espo\\Core\\ApplicationUser',
'applicationUser'
);
$binder->bindService(
'Espo\\Core\\Authentication\\AuthToken\\Manager',
'authTokenManager'
);
$binder->bindService(
'Espo\\Core\\Select\\SelectBuilderFactory',
'selectBuilderFactory'
);
$binder->bindService(
'Espo\\Core\\ServiceFactory',
'serviceFactory'
);
$binder->bindService(
'Espo\\Core\\Record\\ServiceContainer',
'recordServiceContainer'
);
$binder->bindService(
'Espo\\Core\\HookManager',
'hookManager'
);
$binder->bindService(
'Espo\\Core\\Utils\\NumberUtil',
'number'
);
$binder->bindService(
'Espo\\Core\\Utils\\DateTime',
'dateTime'
);
$binder->bindService(
'Espo\\Core\\Utils\\FieldUtil',
'fieldUtil'
);
$binder->bindService(
'Espo\\Core\\Mail\\EmailSender',
'emailSender'
);
$binder->bindService(
NamedClassKey::create('Espo\\Core\\Utils\\Language', 'baseLanguage'),
'baseLanguage'
);
$binder->bindService(
NamedClassKey::create('Espo\\Core\\Utils\\Language', 'defaultLanguage'),
'defaultLanguage'
);
$binder->bindService(
'Espo\\Core\\Utils\\Language',
'language'
);
$binder->bindService(
'Espo\\Core\\Formula\\Manager',
'formulaManager'
);
$binder->bindService(
NamedClassKey::create('Espo\\Core\\AclManager', 'internalAclManager'),
'internalAclManager'
);
$binder->bindService(
'Espo\\Core\\AclManager',
'aclManager'
);
$binder->bindService(
'Espo\\Core\\Acl',
'acl'
);
$binder->bindService(
'Espo\\Entities\\Preferences',
'preferences'
);
$binder->bindService(
'Espo\\Entities\\User',
'user'
);
$binder->bindService(
'Espo\\Core\\Utils\\ClientManager',
'clientManager'
);
$binder->bindService(
'Espo\\Core\\ExternalAccount\\ClientManager',
'externalAccountClientManager'
);
}
private function bindCore(Binder $binder): void
{
$binder->bindImplementation(
'Espo\\ORM\\PDO\\PDOProvider',
'Espo\\ORM\\PDO\\DefaultPDOProvider'
);
$binder->bindImplementation(
'Espo\\Core\\Utils\\Database\\ConfigDataProvider',
'Espo\\Core\\Utils\\Database\\DefaultConfigDataProvider'
);
}
private function bindMisc(Binder $binder): void
{
$binder->bindImplementation(
'Espo\\Core\\Utils\\Id\\RecordIdGenerator',
'Espo\\Core\\Utils\\Id\\DefaultRecordIdGenerator'
);
$binder->bindFactory(
'Espo\\Core\\Sms\\Sender',
'Espo\\Core\\Sms\\SenderFactory'
);
$binder->bindImplementation(
'Espo\\Core\\Authentication\\Jwt\\KeyFactory',
'Espo\\Core\\Authentication\\Jwt\\DefaultKeyFactory'
);
$binder
->for('Espo\\Core\\Authentication\\Oidc\\TokenValidator')
->bindImplementation(
'Espo\\Core\\Authentication\\Jwt\\SignatureVerifierFactory',
'Espo\\Core\\Authentication\\Oidc\\DefaultSignatureVerifierFactory'
);
$binder
->for('Espo\\Core\\Authentication\\Oidc\\Login')
->bindImplementation(
'Espo\\Core\\Authentication\\Oidc\\UserProvider',
'Espo\\Core\\Authentication\\Oidc\\UserProvider\\DefaultUserProvider'
);
$binder->bindImplementation(
'Espo\\Core\\Mail\\Importer\\ParentFinder',
'Espo\\Core\\Mail\\Importer\\DefaultParentFinder'
);
$binder->bindImplementation(
'Espo\\Core\\Mail\\Importer\\DuplicateFinder',
'Espo\\Core\\Mail\\Importer\\DefaultDuplicateFinder'
);
$binder->bindImplementation(
'Espo\\Tools\\Api\\Cors\\Helper',
'Espo\\Tools\\Api\\Cors\\DefaultHelper'
);
$binder->bindImplementation(
'Espo\\Core\\Record\\ActionHistory\\ActionLogger',
'Espo\\Core\\Record\\ActionHistory\\DefaultActionLogger'
);
$binder->bindImplementation(
'Espo\\Core\\Mail\\Importer',
'Espo\\Core\\Mail\\Importer\\DefaultImporter'
);
}
private function bindAcl(Binder $binder): void
{
$binder->bindImplementation(
'Espo\\Core\\Acl\\Table\\TableFactory',
'Espo\\Core\\Acl\\Table\\DefaultTableFactory'
);
}
private function bindWebSocket(Binder $binder): void
{
$binder->bindFactory(
'Espo\\Core\\WebSocket\\Subscriber',
'Espo\\Core\\WebSocket\\SubscriberFactory'
);
$binder->bindFactory(
'Espo\\Core\\WebSocket\\Sender',
'Espo\\Core\\WebSocket\\SenderFactory'
);
}
private function bindEmailAccount(Binder $binder): void
{
$binder
->for('Espo\\Core\\Mail\\Account\\PersonalAccount\\Service')
->bindFactory(
'Espo\\Core\\Mail\\Account\\Fetcher',
'Espo\\Core\\Mail\\Account\\PersonalAccount\\FetcherFactory'
)
->bindImplementation(
'Espo\\Core\\Mail\\Account\\StorageFactory',
'Espo\\Core\\Mail\\Account\\PersonalAccount\\StorageFactory'
);
$binder
->for('Espo\\Core\\Mail\\Account\\GroupAccount\\Service')
->bindFactory(
'Espo\\Core\\Mail\\Account\\Fetcher',
'Espo\\Core\\Mail\\Account\\GroupAccount\\FetcherFactory'
)
->bindImplementation(
'Espo\\Core\\Mail\\Account\\StorageFactory',
'Espo\\Core\\Mail\\Account\\GroupAccount\\StorageFactory'
);
}
}
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\ActionHistoryRecord;
use Espo\Entities\ActionHistoryRecord;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<ActionHistoryRecord>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -2,89 +2,85 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Attachment;
use Espo\Entities\{
User,
Note,
};
use Espo\Entities\Attachment;
use Espo\Entities\Note;
use Espo\Entities\Settings;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\AclManager;
use Espo\Core\ORM\EntityManager;
use Espo\Core\{
ORM\EntityManager,
AclManager,
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDChecker<Attachment>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $aclManager;
private $entityManager;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
AclManager $aclManager,
EntityManager $entityManager
private AclManager $aclManager,
private EntityManager $entityManager
) {
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
$this->entityManager = $entityManager;
}
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
if ($entity->get('parentType') === 'Settings') {
/** @var Attachment $entity */
if ($entity->get('parentType') === Settings::ENTITY_TYPE) {
// Allow the logo.
return true;
}
$parent = null;
$hasParent = false;
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
if ($entity->get('parentId') && $entity->get('parentType')) {
$hasParent = true;
$relatedType = $entity->get('relatedType');
$relatedId = $entity->get('relatedId');
$parent = $this->entityManager->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($entity->get('relatedId') && $entity->get('relatedType')) {
$hasParent = true;
$parent = $this->entityManager->getEntity($entity->get('relatedType'), $entity->get('relatedId'));
else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
if (!$parent || !$hasParent) {
if (!$parent) {
if ($this->defaultAccessChecker->checkEntityRead($user, $entity, $data)) {
return true;
}
@@ -92,7 +88,8 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
if ($parent->getEntityType() === 'Note') {
if ($parent->getEntityType() === Note::ENTITY_TYPE) {
/** @var Note $parent */
$result = $this->checkEntityReadNoteParent($user, $parent);
if ($result !== null) {
@@ -100,6 +97,13 @@ class AccessChecker implements AccessEntityCREDChecker
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
return true;
}
@@ -127,7 +131,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($note->getTargetType() === Note::TARGET_USERS) {
$isRelated = $this->entityManager
->getRDBRepository('Note')
->getRDBRepository(Note::ENTITY_TYPE)
->getRelation($note, 'users')
->isRelated($user);
@@ -138,6 +142,10 @@ class AccessChecker implements AccessEntityCREDChecker
return null;
}
if ($note->getTargetType() === Note::TARGET_ALL) {
return true;
}
if (!$note->getParentId() || !$note->getParentType()) {
return null;
}
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Attachment;
use Espo\Entities\Attachment;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Attachment>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
private const ATTR_CREATED_BY_ID = 'createdById';
@@ -2,48 +2,47 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\AuthToken;
use Espo\Entities\AuthToken;
use Espo\Entities\User;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\{
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDChecker<AuthToken>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
public function __construct(DefaultAccessChecker $defaultAccessChecker)
{
$this->defaultAccessChecker = $defaultAccessChecker;
@@ -2,45 +2,45 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDSChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\{
Acl\Table,
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDSChecker,
Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDSChecker<Email>
*/
class AccessChecker implements AccessEntityCREDSChecker
{
use DefaultAccessCheckerDependency;
@@ -52,6 +52,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var Email $entity */
if ($this->defaultAccessChecker->checkEntityRead($user, $entity, $data)) {
return true;
}
@@ -79,6 +81,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
/** @var Email $entity */
if ($user->isAdmin()) {
return true;
}
@@ -96,6 +100,7 @@ class AccessChecker implements AccessEntityCREDSChecker
return true;
}
/** @var string[] $assignedUserIdList */
$assignedUserIdList = $entity->getLinkMultipleIdList('assignedUsers');
if (
@@ -120,10 +125,46 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
if ($entity->get('status') !== 'Sent' && $entity->get('status') !== 'Archived') {
if (
$entity->getStatus() !== Email::STATUS_SENT &&
$entity->getStatus() !== Email::STATUS_ARCHIVED
) {
return true;
}
return false;
}
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
/** @var Email $entity */
if (
$entity->getStatus() === Email::STATUS_DRAFT &&
$entity->getCreatedBy() &&
$entity->getCreatedBy()->getId() === $user->getId()
) {
return true;
}
return $this->defaultAccessChecker->checkEntityEdit($user, $entity, $data);
}
public function checkEdit(User $user, ScopeData $data): bool
{
if ($data->getCreate() === Table::LEVEL_YES) {
return true;
}
return $this->defaultAccessChecker->checkEdit($user, $data);
}
public function checkDelete(User $user, ScopeData $data): bool
{
if ($data->getCreate() === Table::LEVEL_YES) {
return true;
}
return $this->defaultAccessChecker->checkDelete($user, $data);
}
}
@@ -2,40 +2,36 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Acl\DefaultAssignmentChecker,
};
use Espo\Core\Acl\DefaultAssignmentChecker;
class AssignmentChecker extends DefaultAssignmentChecker
{
@@ -0,0 +1,80 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email\LinkCheckers;
use Espo\Core\Acl\LinkChecker;
use Espo\Core\AclManager;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements LinkChecker<Email, Entity>
* @noinspection PhpUnused
*/
class ParentLinkChecker implements LinkChecker
{
public function __construct(
private EntityManager $entityManager,
private AclManager $aclManager
) {}
public function check(User $user, Entity $entity, Entity $foreignEntity): bool
{
if ($this->aclManager->checkEntityRead($user, $foreignEntity)) {
return true;
}
if (!$entity->getReplied()) {
return false;
}
$replied = $this->entityManager
->getRepositoryByClass(Email::class)
->getById($entity->getReplied()->getId());
if (!$replied) {
return false;
}
$parentLink = $replied->getParent();
if (
!$parentLink ||
$parentLink->getId() !== $foreignEntity->getId() ||
$parentLink->getEntityType() !== $foreignEntity->getEntityType()
) {
return false;
}
return $this->aclManager->checkEntityRead($user, $replied);
}
}
@@ -2,43 +2,46 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Email;
use Espo\Entities\User;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Core\{
Acl\DefaultOwnershipChecker,
Acl\OwnershipOwnChecker,
Acl\OwnershipTeamChecker,
};
use Espo\Core\Acl\DefaultOwnershipChecker;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\Acl\OwnershipTeamChecker;
/**
* @implements OwnershipOwnChecker<Email>
* @implements OwnershipTeamChecker<Email>
*/
class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
{
private $defaultOwnershipChecker;
@@ -50,6 +53,8 @@ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
public function checkOwn(User $user, Entity $entity): bool
{
/** @var Email $entity */
if ($user->getId() === $entity->get('assignedUserId')) {
return true;
}
@@ -2,75 +2,83 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\EmailFilter;
use Espo\Entities\EmailAccount;
use Espo\Entities\User;
use Espo\Entities\EmailFilter;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\ORM\EntityManager;
use Espo\Core\{
Acl\OwnershipOwnChecker,
ORM\EntityManager,
};
/**
* @implements OwnershipOwnChecker<EmailFilter>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
private $entityManager;
private EntityManager $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
/**
* @param EmailFilter $entity
*/
public function checkOwn(User $user, Entity $entity): bool
{
if (!$entity->has('parentId') || !$entity->has('parentType')) {
if ($entity->isGlobal()) {
return false;
}
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
$parentType = $entity->getParentType();
$parentId = $entity->getParentId();
if (!$parentType || !$parentId) {
return false;
}
$parent = $this->entityManager->getEntity($parentType, $parentId);
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if (!$parent) {
return false;
}
if ($parent->getEntityType() === 'User') {
if ($parent->getEntityType() === User::ENTITY_TYPE) {
return $parent->getId() === $user->getId();
}
if ($parent->has('assignedUserId') && $parent->get('assignedUserId') === $user->getId()) {
if (
$parent instanceof EmailAccount &&
$parent->has('assignedUserId') &&
$parent->get('assignedUserId') === $user->getId()
) {
return true;
}
@@ -2,43 +2,44 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Import;
use Espo\Entities\Import;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityDeleteChecker;
use Espo\Core\Acl\AccessEntityReadChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\{
Acl\ScopeData,
Acl\AccessEntityReadChecker,
Acl\AccessEntityDeleteChecker,
};
/**
* @implements AccessEntityReadChecker<Import>
* @implements AccessEntityDeleteChecker<Import>
*/
class AccessChecker implements AccessEntityReadChecker, AccessEntityDeleteChecker
{
public function check(User $user, ScopeData $data): bool
@@ -2,65 +2,62 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Note;
use Espo\Core\Acl\Table;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
AclManager,
ORM\EntityManager,
Utils\Config,
};
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\AclManager;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Utils\Config;
use DateTime;
use Exception;
/**
* @implements AccessEntityCREDChecker<Note>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private const EDIT_PERIOD = '7 days';
private const DELETE_PERIOD = '1 month';
private $defaultAccessChecker;
private $aclManager;
private $entityManager;
private $config;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
private EntityManager $entityManager;
private Config $config;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
@@ -74,6 +71,9 @@ class AccessChecker implements AccessEntityCREDChecker
$this->config = $config;
}
/**
* @param Note $entity
*/
public function checkEntityCreate(User $user, Entity $entity, ScopeData $data): bool
{
$parentId = $entity->get('parentId');
@@ -92,6 +92,66 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
/**
* @param Note $entity
*/
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
if ($user->isAdmin()) {
return true;
}
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if (!$parent) {
return false;
}
return $this->aclManager->checkEntityStream($user, $parent);
}
if ($entity->getType() !== Note::TYPE_POST) {
return false;
}
if ($entity->getCreatedById() === $user->getId()) {
return true;
}
if ($entity->getTargetType() === Note::TARGET_ALL) {
return true;
}
if ($entity->getTargetType() === Note::TARGET_TEAMS) {
$targetTeamIdList = $entity->getLinkMultipleIdList('teams');
foreach ($user->getTeamIdList() as $teamId) {
if (in_array($teamId, $targetTeamIdList)) {
return true;
}
}
return false;
}
if ($entity->getTargetType() === Note::TARGET_USERS) {
return in_array($user->getId(), $entity->getLinkMultipleIdList('users'));
}
if ($entity->getTargetType() === Note::TARGET_PORTALS) {
return $this->aclManager->getPermissionLevel($user, 'portal') === Table::LEVEL_YES;
}
return false;
}
/**
* @param Note $entity
*/
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
if ($user->isAdmin()) {
@@ -103,7 +163,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if (!$this->aclManager->checkOwnershipOwn($user, $entity)) {
return true;
return false;
}
$createdAt = $entity->get('createdAt');
@@ -131,6 +191,9 @@ class AccessChecker implements AccessEntityCREDChecker
return true;
}
/**
* @param Note $entity
*/
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
if ($user->isAdmin()) {
@@ -142,7 +205,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if (!$this->aclManager->checkOwnershipOwn($user, $entity)) {
return true;
return false;
}
$createdAt = $entity->get('createdAt');
@@ -2,47 +2,49 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Note;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Note>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
/**
* @param Note $entity
*/
public function checkOwn(User $user, Entity $entity): bool
{
if ($entity->get('type') === 'Post' && $user->getId() === $entity->get('createdById')) {
if ($entity->getType() === Note::TYPE_POST && $user->getId() === $entity->getCreatedById()) {
return true;
}
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Notification;
use Espo\Entities\Notification;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Notification>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -2,51 +2,51 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Portal;
use Espo\Entities\Portal;
use Espo\Entities\User;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\AclManager;
use Espo\Core\{
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
Acl\Table,
AclManager,
};
/**
* @implements AccessEntityCREDChecker<Portal>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
private $aclManager;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
public function __construct(DefaultAccessChecker $defaultAccessChecker, AclManager $aclManager)
{
@@ -2,49 +2,49 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\ScheduledJob;
use Espo\Entities\ScheduledJob;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\{
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDChecker<ScheduledJob>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
private DefaultAccessChecker $defaultAccessChecker;
public function __construct(DefaultAccessChecker $defaultAccessChecker)
{
@@ -2,45 +2,46 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Team;
use Espo\Entities\Team;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Team>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
{
/** @var string[] $userTeamIdList */
$userTeamIdList = $user->getLinkMultipleIdList('teams');
return in_array($entity->getId(), $userTeamIdList);
@@ -2,53 +2,51 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\User;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDSChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\AclManager;
use Espo\Core\{
Acl\Table,
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDSChecker,
Acl\Traits\DefaultAccessCheckerDependency,
AclManager,
};
/**
* @implements AccessEntityCREDSChecker<User>
*/
class AccessChecker implements AccessEntityCREDSChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
private $aclManager;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
public function __construct(DefaultAccessChecker $defaultAccessChecker, AclManager $aclManager)
{
@@ -62,6 +60,8 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
/** @var User $entity */
if ($entity->isSuperAdmin() && !$user->isSuperAdmin()) {
return false;
}
@@ -71,6 +71,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isPortal()) {
if ($this->aclManager->getPermissionLevel($user, 'portal') === Table::LEVEL_YES) {
return true;
@@ -88,6 +90,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if ($entity->isSystem()) {
return false;
}
@@ -107,6 +111,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
if (!$user->isAdmin()) {
return false;
}
@@ -124,6 +130,8 @@ class AccessChecker implements AccessEntityCREDSChecker
public function checkEntityStream(User $user, Entity $entity, ScopeData $data): bool
{
/** @var User $entity */
return $this->aclManager->checkUserPermission($user, $entity, 'user');
}
}
@@ -2,42 +2,43 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\User;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\Acl\OwnershipTeamChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
Acl\OwnershipTeamChecker,
};
/**
* @implements OwnershipOwnChecker<User>
* @implements OwnershipTeamChecker<User>
*/
class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -47,6 +48,8 @@ class OwnershipChecker implements OwnershipOwnChecker, OwnershipTeamChecker
public function checkTeam(User $user, Entity $entity): bool
{
assert($entity instanceof CoreEntity);
$intersect = array_intersect(
$user->getLinkMultipleIdList('teams'),
$entity->getLinkMultipleIdList('teams')
@@ -2,50 +2,48 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Webhook;
use Espo\Entities\User;
use Espo\Entities\Webhook;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\DefaultAccessChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\{
Acl\ScopeData,
Acl\DefaultAccessChecker,
Acl\AccessEntityCREDChecker,
Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDChecker<Webhook>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
public function __construct(DefaultAccessChecker $defaultAccessChecker)
{
$this->defaultAccessChecker = $defaultAccessChecker;
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\Webhook;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
use Espo\Core\Acl\OwnershipOwnChecker;
/**
* @implements OwnershipOwnChecker<\Espo\Entities\Webhook>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -0,0 +1,89 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Acl\WorkingTimeRange;
use Espo\Core\Acl\AssignmentChecker as AssignmentCheckerInterface;
use Espo\Core\Acl\DefaultAssignmentChecker;
use Espo\Core\AclManager;
use Espo\Entities\User;
use Espo\Entities\WorkingTimeRange;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements AssignmentCheckerInterface<WorkingTimeRange>
*/
class AssignmentChecker implements AssignmentCheckerInterface
{
private DefaultAssignmentChecker $defaultAssignmentChecker;
private AclManager $aclManager;
private EntityManager $entityManager;
public function __construct(
DefaultAssignmentChecker $defaultAssignmentChecker,
AclManager $aclManager,
EntityManager $entityManager
) {
$this->defaultAssignmentChecker = $defaultAssignmentChecker;
$this->aclManager = $aclManager;
$this->entityManager = $entityManager;
}
/**
* @param WorkingTimeRange $entity
*/
public function check(User $user, Entity $entity): bool
{
$result = $this->defaultAssignmentChecker->check($user, $entity);
if (!$result) {
return false;
}
if (!$entity->isAttributeChanged('usersIds')) {
return true;
}
$users = $this->entityManager
->getRDBRepositoryByClass(User::class)
->where(['id' => $entity->getUsers()->getIdList()])
->find();
foreach ($users as $targetUser) {
$accessToUser = $this->aclManager->check($user, $targetUser);
if (!$accessToUser) {
return false;
}
}
return true;
}
}
@@ -2,58 +2,55 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Attachment;
use Espo\Entities\{
User,
Note,
};
use Espo\Entities\Attachment;
use Espo\Entities\Note;
use Espo\Entities\Settings;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Portal\Acl\DefaultAccessChecker;
use Espo\Core\Portal\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\Portal\AclManager;
use Espo\Core\{
ORM\EntityManager,
Portal\AclManager,
Acl\ScopeData,
Acl\AccessEntityCREDChecker,
Portal\Acl\DefaultAccessChecker,
Portal\Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDChecker<Attachment>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
private $aclManager;
private $entityManager;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
private EntityManager $entityManager;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
@@ -67,25 +64,29 @@ class AccessChecker implements AccessEntityCREDChecker
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
if ($entity->get('parentType') === 'Settings') {
/** @var Attachment $entity */
if ($entity->get('parentType') === Settings::ENTITY_TYPE) {
// Allow the logo.
return true;
}
$parent = null;
$hasParent = false;
if ($entity->get('parentId') && $entity->get('parentType')) {
$hasParent = true;
$parentType = $entity->get('parentType');
$parentId = $entity->get('parentId');
$parent = $this->entityManager->getEntity($entity->get('parentType'), $entity->get('parentId'));
$relatedType = $entity->get('relatedType');
$relatedId = $entity->get('relatedId');
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
else if ($entity->get('relatedId') && $entity->get('relatedType')) {
$hasParent = true;
$parent = $this->entityManager->getEntity($entity->get('relatedType'), $entity->get('relatedId'));
else if ($relatedId && $relatedType) {
$parent = $this->entityManager->getEntityById($relatedType, $relatedId);
}
if (!$hasParent) {
if (!$parent) {
if ($entity->get('createdById') === $user->getId()) {
return true;
}
@@ -93,7 +94,8 @@ class AccessChecker implements AccessEntityCREDChecker
return false;
}
if ($parent->getEntityType() === 'Note') {
if ($parent->getEntityType() === Note::ENTITY_TYPE) {
/** @var Note $parent */
$result = $this->checkEntityReadNoteParent($user, $parent);
if ($result !== null) {
@@ -101,6 +103,13 @@ class AccessChecker implements AccessEntityCREDChecker
}
}
else if ($this->aclManager->checkEntity($user, $parent)) {
if (
$entity->getTargetField() &&
!$this->aclManager->checkField($user, $parent->getEntityType(), $entity->getTargetField())
) {
return false;
}
return true;
}
@@ -132,7 +141,7 @@ class AccessChecker implements AccessEntityCREDChecker
if ($note->getTargetType() === Note::TARGET_USERS) {
$isRelated = $this->entityManager
->getRDBRepository('Note')
->getRDBRepository(Note::ENTITY_TYPE)
->getRelation($note, 'users')
->isRelated($user);
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Attachment;
use Espo\Entities\Attachment;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Attachment>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
private const ATTR_CREATED_BY_ID = 'createdById';
@@ -2,60 +2,54 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Email;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\Acl\AccessEntityCREDSChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\Acl\Table;
use Espo\Core\Portal\Acl\DefaultAccessChecker;
use Espo\Core\Portal\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\{
Portal\AclManager,
Acl\Table,
Acl\ScopeData,
Acl\AccessEntityCREDSChecker,
Portal\Acl\DefaultAccessChecker,
Portal\Acl\Traits\DefaultAccessCheckerDependency,
};
/**
* @implements AccessEntityCREDSChecker<Email>
*/
class AccessChecker implements AccessEntityCREDSChecker
{
use DefaultAccessCheckerDependency;
private $defaultAccessChecker;
private $aclManager;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
AclManager $aclManager
DefaultAccessChecker $defaultAccessChecker
) {
$this->defaultAccessChecker = $defaultAccessChecker;
$this->aclManager = $aclManager;
}
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
@@ -72,6 +66,8 @@ class AccessChecker implements AccessEntityCREDSChecker
return false;
}
assert($entity instanceof CoreEntity);
$userIdList = $entity->getLinkMultipleIdLIst('users');
if (is_array($userIdList) && in_array($user->getId(), $userIdList)) {
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Email;
use Espo\Entities\Email;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Email>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -2,65 +2,61 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Note;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
Portal\AclManager,
Acl\ScopeData,
Acl\AccessEntityCREDChecker,
Portal\Acl\DefaultAccessChecker,
Portal\Acl\Traits\DefaultAccessCheckerDependency,
ORM\EntityManager,
Utils\Config,
};
use Espo\Core\Acl\AccessEntityCREDChecker;
use Espo\Core\Acl\ScopeData;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Portal\Acl\DefaultAccessChecker;
use Espo\Core\Portal\Acl\Traits\DefaultAccessCheckerDependency;
use Espo\Core\Portal\AclManager;
use Espo\Core\Utils\Config;
use DateTime;
use Exception;
/**
* @implements AccessEntityCREDChecker<Note>
*/
class AccessChecker implements AccessEntityCREDChecker
{
use DefaultAccessCheckerDependency;
private const EDIT_PERIOD = '7 days';
private const DELETE_PERIOD = '1 month';
private $defaultAccessChecker;
private $aclManager;
private $entityManager;
private $config;
private DefaultAccessChecker $defaultAccessChecker;
private AclManager $aclManager;
private EntityManager $entityManager;
private Config $config;
public function __construct(
DefaultAccessChecker $defaultAccessChecker,
@@ -74,16 +70,19 @@ class AccessChecker implements AccessEntityCREDChecker
$this->config = $config;
}
/**
* @param Note $entity
*/
public function checkEntityCreate(User $user, Entity $entity, ScopeData $data): bool
{
$parentId = $entity->get('parentId');
$parentType = $entity->get('parentType');
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if (!$parentId || !$parentType) {
return $this->defaultAccessChecker->checkEntityCreate($user, $entity, $data);
}
$parent = $this->entityManager->getEntity($parentType, $parentId);
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if ($parent && $this->aclManager->checkEntityStream($user, $parent)) {
return true;
@@ -92,31 +91,42 @@ class AccessChecker implements AccessEntityCREDChecker
return $this->defaultAccessChecker->checkEntityCreate($user, $entity, $data);
}
/**
* @param Note $entity
*/
public function checkEntityRead(User $user, Entity $entity, ScopeData $data): bool
{
if ($entity->get('type') !== 'Post') {
return false;
}
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if ($entity->get('type') === 'Post' && $entity->get('targetType')) {
return false;
}
if ($parentId && $parentType) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
if (!$entity->get('parentId') || !$entity->get('parentType')) {
return false;
}
$parent = $this->entityManager->getEntity($entity->get('parentType'), $entity->get('parentId'));
if ($parent) {
if ($this->aclManager->checkEntityStream($user, $parent)) {
return true;
if (!$parent) {
return false;
}
return $this->aclManager->checkEntityStream($user, $parent);
}
if ($entity->getType() !== Note::TYPE_POST) {
return false;
}
if ($entity->getCreatedById() === $user->getId()) {
return true;
}
if ($entity->getTargetType() === Note::TARGET_PORTALS) {
return in_array($user->getPortalId(), $entity->getLinkMultipleIdList('portals'));
}
return false;
}
/**
* @param Note $entity
*/
public function checkEntityEdit(User $user, Entity $entity, ScopeData $data): bool
{
if (!$this->defaultAccessChecker->checkEntityEdit($user, $entity, $data)) {
@@ -124,7 +134,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if (!$this->aclManager->checkOwnershipOwn($user, $entity)) {
return true;
return false;
}
$createdAt = $entity->get('createdAt');
@@ -152,6 +162,9 @@ class AccessChecker implements AccessEntityCREDChecker
return true;
}
/**
* @param Note $entity
*/
public function checkEntityDelete(User $user, Entity $entity, ScopeData $data): bool
{
if (!$this->defaultAccessChecker->checkEntityDelete($user, $entity, $data)) {
@@ -159,7 +172,7 @@ class AccessChecker implements AccessEntityCREDChecker
}
if (!$this->aclManager->checkOwnershipOwn($user, $entity)) {
return true;
return false;
}
$createdAt = $entity->get('createdAt');
@@ -2,46 +2,49 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Note;
use Espo\Entities\Note;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Note>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
/**
* @param Note $entity
*/
public function checkOwn(User $user, Entity $entity): bool
{
if ($entity->get('type') === 'Post' && $user->getId() === $entity->get('createdById')) {
if ($entity->getType() === Note::TYPE_POST && $user->getId() === $entity->getCreatedById()) {
return true;
}
@@ -2,41 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\Notification;
use Espo\Entities\Notification;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<Notification>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -2,41 +2,40 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AclPortal\User;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\Acl\OwnershipOwnChecker;
use Espo\Core\{
Acl\OwnershipOwnChecker,
};
/**
* @implements OwnershipOwnChecker<User>
*/
class OwnershipChecker implements OwnershipOwnChecker
{
public function checkOwn(User $user, Entity $entity): bool
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter1 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter2 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter3 implements AddressFormatter
{
@@ -2,37 +2,35 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AddressFormatters;
use Espo\Core\{
Field\Address,
Field\Address\AddressFormatter,
};
use Espo\Core\Field\Address;
use Espo\Core\Field\Address\AddressFormatter;
class Formatter4 implements AddressFormatter
{
+17 -19
View File
@@ -2,43 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Utils\Module,
Binding\EspoBindingLoader,
Binding\Binding as BindingItem,
Console\Command\Params,
};
use Espo\Core\Binding\Binding as BindingItem;
use Espo\Core\Binding\EspoBindingLoader;
use Espo\Core\Console\Command\Params;
use Espo\Core\Utils\Module;
class Binding
{
private $module;
private Module $module;
public function __construct(Module $module)
{
@@ -69,7 +67,7 @@ class Binding
$keyList = $data->getContextKeyList($context);
foreach ($keyList as $key) {
$result .= $this->printItem($key, $data->getContext($context, $key), true);
$result .= $this->printItem($key, $data->getContext($context, $key));
}
}
+18 -26
View File
@@ -2,50 +2,41 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppInfo;
use Espo\Core\{
Container as ContainerService,
Utils\Metadata,
Console\Command\Params,
};
use Espo\Core\Console\Command\Params;
use Espo\Core\Container as ContainerService;
use Espo\Core\Utils\Metadata;
class Container
{
private $container;
private $metadata;
public function __construct(ContainerService $container, Metadata $metadata)
{
$this->container = $container;
$this->metadata = $metadata;
}
public function __construct(private ContainerService $container, private Metadata $metadata)
{}
public function process(Params $params): string
{
@@ -63,10 +54,11 @@ class Container
'user',
];
/** @var string[] $fileList */
$fileList = scandir('application/Espo/Core/Loaders');
if (file_exists('custom/Espo/Custom/Core/Loaders')) {
$fileList = array_merge($fileList, scandir('custom/Espo/Custom/Core/Loaders'));
$fileList = array_merge($fileList, scandir('custom/Espo/Custom/Core/Loaders') ?: []);
}
foreach ($fileList as $file) {
+11 -11
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -0,0 +1,92 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppParams;
use Espo\Entities\Extension;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use Espo\Tools\App\AppParam;
use stdClass;
class Extensions implements AppParam
{
private User $user;
private EntityManager $entityManager;
public function __construct(
User $user,
EntityManager $entityManager
) {
$this->user = $user;
$this->entityManager = $entityManager;
}
/**
* @return stdClass[]
*/
public function get(): array
{
if (!$this->user->isRegular() && !$this->user->isAdmin()) {
return [];
}
$extensionList = $this->entityManager
->getRDBRepositoryByClass(Extension::class)
->where([
'licenseStatus' => [
Extension::LICENSE_STATUS_INVALID,
Extension::LICENSE_STATUS_EXPIRED,
Extension::LICENSE_STATUS_SOFT_EXPIRED,
],
])
->find();
$list = [];
foreach ($extensionList as $extension) {
$list[] = (object) [
'name' => $extension->getName(),
'version' => $extension->getVersion(),
'licenseStatus' => $extension->getLicenseStatus(),
'licenseStatusMessage' => $extension->getLicenseStatusMessage(),
'isInstalled' => $extension->isInstalled(),
'notify' => in_array(
$extension->getLicenseStatus(),
[
Extension::LICENSE_STATUS_INVALID,
Extension::LICENSE_STATUS_EXPIRED,
]
)
];
}
return $list;
}
}
@@ -2,58 +2,64 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AppParams;
use Espo\Core\{
Acl,
Select\SelectBuilderFactory,
ORM\EntityManager,
};
use Espo\Core\Acl;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Select\SelectBuilderFactory;
use Espo\Entities\Template;
use Espo\Tools\App\AppParam;
/**
* Returns a list of entity types for which a PDF template exists.
*/
class TemplateEntityTypeList
class TemplateEntityTypeList implements AppParam
{
protected $acl;
protected $selectBuilderFactory;
protected $entityManager;
private Acl $acl;
private SelectBuilderFactory $selectBuilderFactory;
private EntityManager $entityManager;
public function __construct(Acl $acl, SelectBuilderFactory $selectBuilderFactory, EntityManager $entityManager)
{
public function __construct(
Acl $acl,
SelectBuilderFactory $selectBuilderFactory,
EntityManager $entityManager
) {
$this->acl = $acl;
$this->selectBuilderFactory = $selectBuilderFactory;
$this->entityManager = $entityManager;
}
public function get() : array
/**
* @return string[]
*/
public function get(): array
{
if (!$this->acl->checkScope('Template')) {
if (!$this->acl->checkScope(Template::ENTITY_TYPE)) {
return [];
}
@@ -61,7 +67,7 @@ class TemplateEntityTypeList
$query = $this->selectBuilderFactory
->create()
->from('Template')
->from(Template::ENTITY_TYPE)
->withAccessControlFilter()
->buildQueryBuilder()
->select(['entityType'])
@@ -69,12 +75,12 @@ class TemplateEntityTypeList
->build();
$templateCollection = $this->entityManager
->getRepository('Template')
->getRDBRepositoryByClass(Template::class)
->clone($query)
->find();
foreach ($templateCollection as $template) {
$list[] = $template->get('entityType');
$list[] = $template->getTargetEntityType();
}
return $list;
@@ -2,84 +2,95 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\AssignmentNotificators;
use Espo\Services\Email as EmailService;
use Espo\Services\Stream as StreamService;
use Espo\Core\Field\DateTime;
use Espo\Entities\EmailAddress;
use Espo\Entities\EmailFolder;
use Espo\Modules\Crm\Entities\Account;
use Espo\Modules\Crm\Entities\Contact;
use Espo\Modules\Crm\Entities\Lead;
use Espo\Tools\Stream\Service as StreamService;
use Espo\Core\Notification\AssignmentNotificator;
use Espo\Core\Notification\AssignmentNotificator\Params;
use Espo\Core\Notification\UserEnabledChecker;
use Espo\Core\ServiceFactory;
use Espo\Core\AclManager;
use Espo\ORM\EntityManager;
use Espo\ORM\Entity;
use Espo\Entities\User;
use Espo\Entities\Notification;
use Espo\Entities\Email as EmailEntity;
use Espo\Repositories\Email as EmailRepository;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Tools\Email\Util;
use DateTime;
use Exception;
/**
* @implements AssignmentNotificator<EmailEntity>
*/
class Email implements AssignmentNotificator
{
private const DAYS_THRESHOLD = 2;
private $streamService = null;
private $user;
private $entityManager;
private $serviceFactory;
private $aclManager;
private $userChecker;
private User $user;
private EntityManager $entityManager;
private UserEnabledChecker $userChecker;
private AclManager $aclManager;
private StreamService $streamService;
public function __construct(
User $user,
EntityManager $entityManager,
UserEnabledChecker $userChecker,
ServiceFactory $serviceFactory,
AclManager $aclManager
AclManager $aclManager,
StreamService $streamService
) {
$this->user = $user;
$this->entityManager = $entityManager;
$this->userChecker = $userChecker;
$this->serviceFactory = $serviceFactory;
$this->aclManager = $aclManager;
$this->streamService = $streamService;
}
/**
* @param EmailEntity $entity
*/
public function process(Entity $entity, Params $params): void
{
if (!in_array($entity->get('status'), ['Archived', 'Sent', 'Being Imported'])) {
if (
!in_array(
$entity->getStatus(),
[
EmailEntity::STATUS_ARCHIVED,
EmailEntity::STATUS_SENT,
EmailEntity::STATUS_BEING_IMPORTED,
]
)
) {
return;
}
@@ -94,30 +105,19 @@ class Email implements AssignmentNotificator
}
}
$dateSent = $entity->get('dateSent');
$dateSent = $entity->getDateSent();
if (!$dateSent) {
return;
}
try {
$dt = new DateTime($dateSent);
}
catch (Exception $e) {
return;
}
if (!$dt) {
return;
}
if ($dt->diff(new DateTime())->days > self::DAYS_THRESHOLD) {
if ($dateSent->diff(DateTime::createNow())->days > self::DAYS_THRESHOLD) {
return;
}
$emailUserIdList = $entity->get('usersIds');
if (is_null($emailUserIdList) || !is_array($emailUserIdList)) {
if (!is_array($emailUserIdList)) {
return;
}
@@ -135,15 +135,20 @@ class Email implements AssignmentNotificator
$data = [
'emailId' => $entity->getId(),
'emailName' => $entity->get('name'),
'emailName' => $entity->getSubject(),
];
/** @var EmailRepository $emailRepository */
$emailRepository = $this->entityManager->getRepository(EmailEntity::ENTITY_TYPE);
/** @var EmailAddressRepository $emailAddressRepository */
$emailAddressRepository = $this->entityManager->getRepository(EmailAddress::ENTITY_TYPE);
if (!$entity->has('from')) {
$this->entityManager->getRepository('Email')->loadFromField($entity);
$emailRepository->loadFromField($entity);
}
if (!$entity->has('to')) {
$this->entityManager->getRepository('Email')->loadToField($entity);
$emailRepository->loadToField($entity);
}
$person = null;
@@ -151,9 +156,11 @@ class Email implements AssignmentNotificator
$from = $entity->get('from');
if ($from) {
$person = $this->entityManager
->getRepository('EmailAddress')
->getEntityByAddress($from, null, ['User', 'Contact', 'Lead']);
$person = $emailAddressRepository->getEntityByAddress($from, null, [
User::ENTITY_TYPE,
Contact::ENTITY_TYPE,
Lead::ENTITY_TYPE,
]);
if ($person) {
$data['personEntityType'] = $person->getEntityType();
@@ -164,12 +171,12 @@ class Email implements AssignmentNotificator
$userIdFrom = null;
if ($person && $person->getEntityType() === 'User') {
$userIdFrom = $person->id;
if ($person && $person->getEntityType() === User::ENTITY_TYPE) {
$userIdFrom = $person->getId();
}
if (empty($data['personEntityId'])) {
$data['fromString'] = EmailService::parseFromName($entity->get('fromString'));
$data['fromString'] = Util::parseFromName($entity->getFromString());
if (empty($data['fromString']) && $from) {
$data['fromString'] = $from;
@@ -178,14 +185,19 @@ class Email implements AssignmentNotificator
$parent = null;
if ($entity->get('parentId') && $entity->get('parentType')) {
$parent = $this->entityManager->getEntity($entity->get('parentType'), $entity->get('parentId'));
$parentId = $entity->getParentId();
$parentType = $entity->getParentType();
if ($parentType && $parentId) {
$parent = $this->entityManager->getEntityById($parentType, $parentId);
}
$account = null;
if ($entity->get('accountId')) {
$account = $this->entityManager->getEntity('Account', $entity->get('accountId'));
$accountLink = $entity->getAccount();
if ($accountLink) {
$account = $this->entityManager->getEntityById(Account::ENTITY_TYPE, $accountLink->getId());
}
foreach ($userIdList as $userId) {
@@ -197,11 +209,15 @@ class Email implements AssignmentNotificator
continue;
}
if ($entity->getLinkMultipleColumn('users', 'inTrash', $userId)) {
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IN_TRASH, $userId)) {
continue;
}
if (!$this->userChecker->checkAssignment('Email', $userId)) {
if ($entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_IS_READ, $userId)) {
continue;
}
if (!$this->userChecker->checkAssignment(EmailEntity::ENTITY_TYPE, $userId)) {
continue;
}
@@ -209,24 +225,24 @@ class Email implements AssignmentNotificator
$params->getOption('isBeingImported') ||
$params->getOption('isJustSent')
) {
$folderId = $entity->getLinkMultipleColumn('users', 'folderId', $userId);
$folderId = $entity->getLinkMultipleColumn('users', EmailEntity::USERS_COLUMN_FOLDER_ID, $userId);
if ($folderId) {
if (
$this->entityManager
->getRepository('EmailFolder')
->where([
'id' => $folderId,
'skipNotifications' => true,
])
->count()
) {
continue;
}
if (
$folderId &&
$this->entityManager
->getRDBRepositoryByClass(EmailFolder::class)
->where([
'id' => $folderId,
'skipNotifications' => true,
])
->count()
) {
continue;
}
}
$user = $this->entityManager->getEntity('User', $userId);
/** @var ?User $user */
$user = $this->entityManager->getEntityById(User::ENTITY_TYPE, $userId);
if (!$user) {
continue;
@@ -236,18 +252,18 @@ class Email implements AssignmentNotificator
continue;
}
if (!$this->aclManager->checkScope($user, 'Email')) {
if (!$this->aclManager->checkScope($user, EmailEntity::ENTITY_TYPE)) {
continue;
}
$isArchivedOrBeingImported =
$entity->get('status') === 'Archived' ||
$entity->getStatus() === EmailEntity::STATUS_ARCHIVED ||
$params->getOption('isBeingImported');
if (
$isArchivedOrBeingImported &&
$parent &&
$this->getStreamService()->checkIsFollowed($parent, $userId)
$this->streamService->checkIsFollowed($parent, $userId)
) {
continue;
}
@@ -255,18 +271,18 @@ class Email implements AssignmentNotificator
if (
$isArchivedOrBeingImported &&
$account &&
$this->getStreamService()->checkIsFollowed($account, $userId)
$this->streamService->checkIsFollowed($account, $userId)
) {
continue;
}
$existing = $this->entityManager
->getRepository(Notification::ENTITY_TYPE)
->getRDBRepository(Notification::ENTITY_TYPE)
->where([
'type' => Notification::TYPE_EMAIL_RECEIVED,
'userId' => $userId,
'relatedId' => $entity->getId(),
'relatedType' => 'Email',
'relatedType' => EmailEntity::ENTITY_TYPE,
])
->select(['id'])
->findOne();
@@ -280,17 +296,8 @@ class Email implements AssignmentNotificator
'userId' => $userId,
'data' => $data,
'relatedId' => $entity->getId(),
'relatedType' => 'Email',
'relatedType' => EmailEntity::ENTITY_TYPE,
]);
}
}
private function getStreamService(): StreamService
{
if (empty($this->streamService)) {
$this->streamService = $this->serviceFactory->create('Stream');
}
return $this->streamService;
}
}
+104
View File
@@ -0,0 +1,104 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Note;
use Espo\ORM\EntityManager;
/**
* @noinspection PhpUnused
*/
class Audit implements Cleanup
{
private const PERIOD = '3 months';
public function __construct(
private Metadata $metadata,
private EntityManager $entityManager,
private Config $config
) {}
public function process(): void
{
if (!$this->config->get('cleanupAudit')) {
return;
}
$entityTypeList = $this->getEntityTypeList();
foreach ($entityTypeList as $scope) {
$this->processEntityType($scope);
}
}
private function processEntityType(string $entityType): void
{
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Note::ENTITY_TYPE)
->where([
'parentType' => $entityType,
'createdAt<' => $this->getBefore()->toString(),
'type' => [Note::TYPE_UPDATE, Note::TYPE_STATUS],
])
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
/**
* @return string[]
*/
private function getEntityTypeList(): array
{
/** @var string[] $scopeList */
$scopeList = array_keys($this->metadata->get(['scopes']) ?? []);
$scopeList = array_filter($scopeList, function ($item) {
return $this->metadata->get(['scopes', $item, 'entity']) &&
!$this->metadata->get(['scopes', $item, 'stream']);
});
return array_values($scopeList);
}
private function getBefore(): DateTime
{
/** @var string $period */
$period = $this->config->get('cleanupAuditPeriod') ?? self::PERIOD;
return DateTime::createNow()->modify('-' . $period);
}
}
@@ -0,0 +1,73 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Config;
use Espo\ORM\EntityManager;
use Espo\Core\Field\DateTime;
use Espo\Entities\Export;
class Exports implements Cleanup
{
private $config;
private $entityManager;
private string $cleanupPeriod = '2 days';
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
public function process(): void
{
$period = '-' . $this->config->get('cleanupExportsPeriod', $this->cleanupPeriod);
$before = DateTime::createNow()
->modify($period)
->toString();
$delete = $this->entityManager
->getQueryBuilder()
->delete()
->from(Export::ENTITY_TYPE)
->where([
'createdAt<' => $before,
])
->build();
$this->entityManager->getQueryExecutor()->execute($delete);
}
}
@@ -0,0 +1,71 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Config;
use Espo\ORM\EntityManager;
use Espo\Core\Field\DateTime;
class MassActions implements Cleanup
{
private $config;
private $entityManager;
private string $cleanupPeriod = '14 days';
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
public function process(): void
{
$period = '-' . $this->config->get('cleanupMassActionsPeriod', $this->cleanupPeriod);
$before = DateTime::createNow()
->modify($period)
->toString();
$delete = $this->entityManager
->getQueryBuilder()
->delete()
->from('MassAction')
->where([
'createdAt<' => $before,
])
->build();
$this->entityManager->getQueryExecutor()->execute($delete);
}
}
@@ -0,0 +1,72 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Config;
use Espo\Core\Field\DateTime;
use Espo\ORM\EntityManager;
use Espo\Entities\PasswordChangeRequest;
class PasswordChangeRequests implements Cleanup
{
private Config $config;
private EntityManager $entityManager;
private string $cleanupPeriod = '30 days';
public function __construct(Config $config, EntityManager $entityManager)
{
$this->config = $config;
$this->entityManager = $entityManager;
}
public function process(): void
{
$period = '-' . $this->config->get('cleanupPasswordChangeRequestsPeriod', $this->cleanupPeriod);
$before = DateTime::createNow()
->modify($period)
->toString();
$delete = $this->entityManager
->getQueryBuilder()
->delete()
->from(PasswordChangeRequest::ENTITY_TYPE)
->where([
'createdAt<' => $before,
])
->build();
$this->entityManager->getQueryExecutor()->execute($delete);
}
}
+18 -17
View File
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -31,17 +31,18 @@ namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\DateTime as DateTimeUtil;
use Espo\Modules\Crm\Entities\Reminder;
use Espo\ORM\EntityManager;
use DateTime;
class Reminders implements Cleanup
{
private $config;
private string $cleanupRemindersPeriod = '15 days';
private $entityManager;
private $cleanupRemindersPeriod = '15 days';
private Config $config;
private EntityManager $entityManager;
public function __construct(Config $config, EntityManager $entityManager)
{
@@ -60,9 +61,9 @@ class Reminders implements Cleanup
$delete = $this->entityManager
->getQueryBuilder()
->delete()
->from('Reminder')
->from(Reminder::ENTITY_TYPE)
->where([
'remindAt<' => $dt->format('Y-m-d'),
'remindAt<' => $dt->format(DateTimeUtil::SYSTEM_DATE_TIME_FORMAT),
])
->build();
@@ -0,0 +1,137 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\Cleanup;
use Espo\Core\Cleanup\Cleanup;
use Espo\Core\Field\DateTime;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\Entities\Subscription;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\Part\Condition as Cond;
class Subscribers implements Cleanup
{
private const PERIOD = '2 months';
private Metadata $metadata;
private EntityManager $entityManager;
private Config $config;
public function __construct(
Metadata $metadata,
EntityManager $entityManager,
Config $config
) {
$this->metadata = $metadata;
$this->entityManager = $entityManager;
$this->config = $config;
}
public function process(): void
{
if (!$this->config->get('cleanupSubscribers')) {
return;
}
/** @var string[] $scopeList */
$scopeList = array_keys($this->metadata->get(['scopes']) ?? []);
/** @var string[] $scopeList */
$scopeList = array_values(array_filter(
$scopeList,
fn ($item) => (bool) $this->metadata->get(['scopes', $item, 'stream'])
));
foreach ($scopeList as $scope) {
$this->processEntityType($scope);
}
}
private function processEntityType(string $entityType): void
{
/** @var ?array<string, mixed> $data */
$data = $this->metadata->get(['streamDefs', $entityType, 'subscribersCleanup']);
if (!($data['enabled'] ?? false)) {
return;
}
/** @var string $dateField */
$dateField = $data['dateField'] ?? 'createdAt';
/** @var ?string[] $statusList */
$statusList = $data['statusList'] ?? null;
/** @var ?string $statusField */
$statusField = $this->metadata->get(['scopes', $entityType, 'statusField']);
if ($statusList === null || $statusField === null) {
return;
}
/** @var string $period */
$period = $this->metadata->get(['streamDefs', $entityType, 'subscribersCleanup', 'period']) ??
$this->config->get('cleanupSubscribersPeriod') ??
self::PERIOD;
$before = DateTime::createNow()->modify('-' . $period);
$query = $this->entityManager
->getQueryBuilder()
->delete()
->from(Subscription::ENTITY_TYPE, 'subscription')
->join(
$entityType,
'entity',
Cond::equal(
Cond::column('entity.id'),
Cond::column('entityId')
)
)
->where(
Cond::and(
Cond::equal(
Cond::column('entityType'),
$entityType
),
Cond::less(
Cond::column('entity.' . $dateField),
$before->toString()
),
Cond::in(
Cond::column('entity.' . $statusField),
$statusList
)
)
)
->build();
$this->entityManager->getQueryExecutor()->execute($query);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -37,7 +37,7 @@ use DateTime;
class WebhookQueue implements Cleanup
{
private $cleanupWebhookQueuePeriod = '10 days';
private string $cleanupWebhookQueuePeriod = '10 days';
private $config;
@@ -0,0 +1,66 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Utils\File\Manager as FileManager;
use Espo\Core\Utils\System;
use Espo\Core\Utils\Util;
/**
* @noinspection PhpUnused
*/
class CheckFilePermissions implements Command
{
public function __construct(
private FileManager $fileManager,
private System $system
) {}
public function run(Params $params, IO $io): void
{
$io->writeLine("\nNote: Run this command under the web server user.\n");
$io->writeLine('Writable:');
$io->writeLine('');
foreach ($this->fileManager->getPermissionUtils()->getWritableList() as $path) {
$fullPath = Util::concatPath($this->system->getRootDir(), $path);
$isWritable = $this->fileManager->isWritable($fullPath);
$msg = " " . ($isWritable ? "OK" : "FAIL") . " : $path";
$io->writeLine($msg);
}
}
}
@@ -0,0 +1,102 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Utils\Config;
use Espo\Entities\User;
use Espo\ORM\EntityManager;
use RuntimeException;
class CreateAdminUser implements Command
{
public function __construct(
private EntityManager $entityManager,
private Config $config
) {}
public function run(Params $params, IO $io): void
{
$userName = $params->getArgument(0);
if (!$userName) {
$io->writeLine("A username must be specified as the first argument.");
$io->setExitStatus(1);
return;
}
/** @var ?string $regExp */
$regExp = $this->config->get('userNameRegularExpression');
if (!$regExp) {
throw new RuntimeException("No `userNameRegularExpression` in config.");
}
if (
str_contains($userName, ' ') ||
preg_replace("/{$regExp}/", '_', $userName) !== $userName
) {
$io->writeLine("Not allowed username.");
$io->setExitStatus(1);
return;
}
$repository = $this->entityManager->getRDBRepositoryByClass(User::class);
$existingUser = $repository
->where(['userName' => $userName])
->findOne();
if ($existingUser) {
$io->writeLine("A user with the same username already exists.");
$io->setExitStatus(1);
return;
}
$user = $repository->getNew();
$user->set('userName', $userName);
$user->set('type', User::TYPE_ADMIN);
$user->set('name', $userName);
$repository->save($user);
$message = "The user '{$userName}' has been created. " .
"Set password with the command: `bin/command set-password {$userName}`.";
$io->writeLine($message);
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -31,22 +31,17 @@ namespace Espo\Classes\ConsoleCommands;
use Espo\Tools\Import\Service;
use Espo\Core\{
Console\Command,
Console\Command\Params,
Console\IO,
};
use Espo\Core\Utils\File\Manager as FileManager;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Throwable;
class Import implements Command
{
private $service;
public function __construct(Service $service)
{
$this->service = $service;
}
public function __construct(private Service $service, private FileManager $fileManager)
{}
public function run(Params $params, IO $io) : void
{
@@ -64,13 +59,13 @@ class Import implements Command
return;
}
if (!file_exists($filePath)) {
if (!$this->fileManager->isFile($filePath)) {
$io->writeLine("File not found.");
return;
}
$contents = file_get_contents($filePath);
$contents = $this->fileManager->getContents($filePath);
try {
$result = $this->service->importContentsWithParamsId($contents, $paramsId);
@@ -78,14 +73,21 @@ class Import implements Command
$resultId = $result->getId();
$countCreated = $result->getCountCreated();
$countUpdated = $result->getCountUpdated();
$countError = $result->getCountError();
$countDuplicate = $result->getCountDuplicate();
}
catch (Throwable $e) {
$io->writeLine("Error occurred: ". $e->getMessage() . "");
$io->writeLine("Error occurred: " . $e->getMessage());
return;
}
$io->writeLine("Finished. Import ID: {$resultId}. Created: {$countCreated}. Updated: {$countUpdated}.");
$io->writeLine("Finished.");
$io->writeLine(" Import ID: {$resultId}");
$io->writeLine(" Created: {$countCreated}");
$io->writeLine(" Updated: {$countUpdated}");
$io->writeLine(" Duplicates: {$countDuplicate}");
$io->writeLine(" Errors: {$countError}");
return;
}
@@ -97,7 +99,7 @@ class Import implements Command
$this->service->revert($id);
}
catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage() . "");
$io->writeLine("Error occurred: " . $e->getMessage());
return;
}
@@ -114,15 +116,21 @@ class Import implements Command
$result = $this->service->importById($id, true, $forceResume);
}
catch (Throwable $e) {
$io->writeLine("Error occurred: " . $e->getMessage() . "");
$io->writeLine("Error occurred: " . $e->getMessage());
return;
}
$countCreated = $result->getCountCreated();
$countUpdated = $result->getCountUpdated();
$countError = $result->getCountError();
$countDuplicate = $result->getCountDuplicate();
$io->writeLine("Finished. Created: {$countCreated}. Updated: {$countUpdated}.");
$io->writeLine("Finished.");
$io->writeLine(" Created: {$countCreated}");
$io->writeLine(" Updated: {$countUpdated}");
$io->writeLine(" Duplicates: {$countDuplicate}");
$io->writeLine(" Errors: {$countError}");
return;
}
@@ -0,0 +1,108 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Core\Exceptions\Error;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Entities\ArrayValue;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\Repositories\ArrayValue as ArrayValueRepository;
class PopulateArrayValues implements Command
{
private EntityManager $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
/**
* @throws Error
*/
public function run(Params $params, IO $io): void
{
$entityType = $params->getArgument(0);
$field = $params->getArgument(1);
if (!$entityType || !$field) {
throw new Error("Entity type and field should be passed as arguments.");
}
if (!$this->entityManager->hasRepository($entityType)) {
throw new Error("Bad entity type.");
}
$defs = $this->entityManager->getDefs()->getEntity($entityType);
if (!$defs->hasAttribute($field)) {
throw new Error("Bad field.");
}
if ($defs->getAttribute($field)->getType() !== Entity::JSON_ARRAY) {
throw new Error("Non-array field.");
}
if ($defs->getAttribute($field)->isNotStorable()) {
throw new Error("Not-storable field.");
}
if (!$defs->getAttribute($field)->getParam('storeArrayValues')) {
throw new Error("Array values disabled for the field..");
}
$collection = $this->entityManager
->getRDBRepository($entityType)
->sth()
->find();
/** @var ArrayValueRepository $repository */
$repository = $this->entityManager->getRepository(ArrayValue::ENTITY_TYPE);
foreach ($collection as $i => $entity) {
if (!$entity instanceof CoreEntity) {
throw new Error();
}
$repository->storeEntityAttribute($entity, $field);
if ($i % 1000 === 0) {
$io->write('.');
}
}
$io->writeLine('');
$io->writeLine('Done.');
}
}
@@ -0,0 +1,115 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\Exceptions\ArgumentNotSpecified;
use Espo\Core\Console\Exceptions\InvalidArgument;
use Espo\Core\Console\IO;
use Espo\Core\Exceptions\Error;
use Espo\Core\FieldProcessing\NextNumber\BeforeSaveProcessor;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\ORM\Repository\Option\SaveOption;
use Espo\ORM\EntityManager;
use Espo\ORM\Query\Part\Order;
class PopulateNumbers implements Command
{
private BeforeSaveProcessor $beforeSaveProcessor;
private EntityManager $entityManager;
public function __construct(
BeforeSaveProcessor $beforeSaveProcessor,
EntityManager $entityManager
) {
$this->beforeSaveProcessor = $beforeSaveProcessor;
$this->entityManager = $entityManager;
}
/**
* @throws Error
*/
public function run(Params $params, IO $io): void
{
$entityType = $params->getArgument(0);
$field = $params->getArgument(1);
$orderBy = $params->getOption('orderBy') ?? 'createdAt';
$order = strtoupper($params->getOption('order') ?? Order::ASC);
if (!$entityType) {
throw new ArgumentNotSpecified("No entity type argument.");
}
if (!$field) {
throw new ArgumentNotSpecified("No field argument.");
}
if ($order !== Order::ASC && $order !== Order::DESC) {
throw new InvalidArgument("Bad order option.");
}
$fieldType = $this->entityManager
->getDefs()
->getEntity($entityType)
->getField($field)
->getType();
if ($fieldType !== 'number') {
throw new InvalidArgument("Field `{$field}` is not of `number` type.");
}
$collection = $this->entityManager
->getRDBRepository($entityType)
->where([
$field => null,
])
->order($orderBy, $order)
->sth()
->find();
foreach ($collection as $i => $entity) {
if (!$entity instanceof CoreEntity) {
throw new Error();
}
$this->beforeSaveProcessor->processPopulate($entity, $field);
$this->entityManager->saveEntity($entity, [SaveOption::IMPORT => true]);
if ($i % 1000 === 0) {
$io->write('.');
}
}
$io->writeLine('');
$io->writeLine('Done.');
}
}
@@ -0,0 +1,70 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\ConsoleCommands;
use Espo\Core\Console\Command;
use Espo\Core\Console\Command\Params;
use Espo\Core\Console\IO;
use Espo\Tools\CategoryTree\RebuildPaths;
use Exception;
class RebuildCategoryPaths implements Command
{
private RebuildPaths $rebuildPaths;
public function __construct(RebuildPaths $rebuildPaths)
{
$this->rebuildPaths = $rebuildPaths;
}
public function run(Params $params, IO $io): void
{
$entityType = $params->getArgument(0);
if (!$entityType) {
$io->setExitStatus(1);
$io->writeLine("Error: No entity type. Should be specified as the first argument.");
return;
}
try {
$this->rebuildPaths->run($entityType);
}
catch (Exception $e) {
$io->setExitStatus(1);
$io->writeLine("Error: " . $e->getMessage());
return;
}
$io->writeLine("Done.");
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -33,32 +33,32 @@ use Espo\Core\Utils\Metadata;
class DefaultSidePanelType
{
protected $metadata;
private $metadata;
public function __construct(Metadata $metadata)
{
$this->metadata = $metadata;
}
/**
* @return \stdClass[]
*/
public function get(string $scope): array
{
$list = [];
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUser', 'type']) === 'link'
&&
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUser', 'type']) === 'link' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUser', 'entity']) === 'User'
||
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUsers', 'type']) === 'linkMultiple'
&&
$this->metadata->get(['entityDefs', $scope, 'fields', 'assignedUsers', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'assignedUsers', 'entity']) === 'User'
) {
$list[] = (object) ['name' => ':assignedUser'];
}
if (
$this->metadata->get(['entityDefs', $scope, 'fields', 'teams', 'type']) === 'linkMultiple'
&&
$this->metadata->get(['entityDefs', $scope, 'fields', 'teams', 'type']) === 'linkMultiple' &&
$this->metadata->get(['entityDefs', $scope, 'links', 'teams', 'entity']) === 'Team'
) {
$list[] = (object) ['name' => 'teams'];
@@ -2,103 +2,32 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\ORM\{
Query\Part\Condition as Cond,
Query\Part\WhereItem,
Query\Part\Where\OrGroup,
Entity,
};
class Company implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
if ($entity->get('name')) {
$orBuilder->add(
Cond::equal(
Cond::column('name'),
$entity->get('name')
),
);
$toCheck = true;
}
if (
($entity->get('emailAddress') || $entity->get('emailAddressData')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged('emailAddress') ||
$entity->isAttributeChanged('emailAddressData')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column('emailAddress'),
$emailAddress
)
);
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
private function getEmailAddressList(Entity $entity): array
{
if ($entity->get('emailAddressData')) {
/* @var $eaGroup EmailAddressGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
}
class Company extends General
{}
@@ -0,0 +1,274 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\Core\Field\EmailAddressGroup;
use Espo\Core\Field\PhoneNumberGroup;
use Espo\Core\ORM\Entity as CoreEntity;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\Metadata;
use Espo\ORM\Defs;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\Where\OrGroup;
use Espo\ORM\Query\Part\Where\OrGroupBuilder;
use Espo\ORM\Query\Part\WhereItem;
use Espo\ORM\Type\AttributeType;
/**
* @implements WhereBuilder<CoreEntity>
*/
class General implements WhereBuilder
{
public function __construct(
private Metadata $metadata,
private Defs $ormDefs,
private Config $config
) {}
/**
* @param CoreEntity $entity
*/
public function build(Entity $entity): ?WhereItem
{
/** @var string[] $fieldList */
$fieldList = $this->metadata->get(['scopes', $entity->getEntityType(), 'duplicateCheckFieldList']) ?? [];
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
foreach ($fieldList as $field) {
$toCheckItem = $this->applyField($field, $entity, $orBuilder);
if ($toCheckItem) {
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
private function applyField(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$type = $this->ormDefs
->getEntity($entity->getEntityType())
->tryGetField($field)
?->getType();
if ($type === 'personName') {
return $this->applyFieldPersonName($field, $entity, $orBuilder);
}
if ($type === 'email') {
return $this->applyFieldEmail($field, $entity, $orBuilder);
}
if ($type === 'phone') {
return $this->applyFieldPhone($field, $entity, $orBuilder);
}
if ($entity->getAttributeType($field) === AttributeType::VARCHAR) {
return $this->applyFieldVarchar($field, $entity, $orBuilder);
}
return false;
}
private function applyFieldPersonName(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$first = 'first' . ucfirst($field);
$last = 'last' . ucfirst($field);
if (!$entity->get($first) && !$entity->get($last)) {
return false;
}
$orBuilder->add(
Cond::and(
Cond::equal(
Cond::column($first),
$entity->get($first)
),
Cond::equal(
Cond::column($last),
$entity->get($last)
)
)
);
return true;
}
private function applyFieldEmail(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$toCheck = false;
if (
($entity->get($field) || $entity->get($field . 'Data')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged($field) ||
$entity->isAttributeChanged($field . 'Data')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column($field),
$emailAddress
)
);
$toCheck = true;
}
}
return $toCheck;
}
private function applyFieldPhone(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
$toCheck = false;
$isNumeric = $this->config->get('phoneNumberNumericSearch');
$column = $isNumeric ?
$field . 'Numeric' :
$field;
if (
($entity->get($field) || $entity->get($field . 'Data')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged($field) ||
$entity->isAttributeChanged($field . 'Data')
)
) {
foreach ($this->getPhoneNumberList($entity) as $number) {
if ($isNumeric) {
$number = preg_replace('/[^0-9]/', '', $number);
}
$orBuilder->add(
Cond::equal(
Cond::column($column),
$number
)
);
$toCheck = true;
}
}
return $toCheck;
}
private function applyFieldVarchar(
string $field,
CoreEntity $entity,
OrGroupBuilder $orBuilder
): bool {
if (!$entity->get($field)) {
return false;
}
$orBuilder->add(
Cond::equal(
Cond::column($field),
$entity->get($field)
),
);
return true;
}
/**
* @return string[]
*/
private function getEmailAddressList(CoreEntity $entity): array
{
if ($entity->get('emailAddressData')) {
/** @var EmailAddressGroup $eaGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
/**
* @return string[]
*/
private function getPhoneNumberList(CoreEntity $entity): array
{
if ($entity->get('phoneNumberData')) {
/** @var PhoneNumberGroup $eaGroup */
$eaGroup = $entity->getValueObject('phoneNumber');
return $eaGroup->getNumberList();
}
if ($entity->get('phoneNumber')) {
return [$entity->get('phoneNumber')];
}
return [];
}
}
@@ -0,0 +1,54 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\Duplicate\WhereBuilder;
use Espo\ORM\Entity;
use Espo\ORM\Query\Part\Condition as Cond;
use Espo\ORM\Query\Part\WhereItem;
/**
* @implements WhereBuilder<Entity>
*/
class Name implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
if ($entity->get('name')) {
return Cond::equal(
Cond::column('name'),
$entity->get('name')
);
}
return null;
}
}
@@ -2,112 +2,32 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\DuplicateWhereBuilders;
use Espo\Core\{
Duplicate\WhereBuilder,
Field\EmailAddressGroup,
};
use Espo\ORM\{
Query\Part\Condition as Cond,
Query\Part\WhereItem,
Query\Part\Where\OrGroup,
Entity,
};
class Person implements WhereBuilder
{
public function build(Entity $entity): ?WhereItem
{
$orBuilder = OrGroup::createBuilder();
$toCheck = false;
if ($entity->get('firstName') || $entity->get('lastName')) {
$orBuilder->add(
Cond::and(
Cond::equal(
Cond::column('firstName'),
$entity->get('firstName')
),
Cond::equal(
Cond::column('lastName'),
$entity->get('lastName')
)
)
);
$toCheck = true;
}
if (
($entity->get('emailAddress') || $entity->get('emailAddressData')) &&
(
$entity->isNew() ||
$entity->isAttributeChanged('emailAddress') ||
$entity->isAttributeChanged('emailAddressData')
)
) {
foreach ($this->getEmailAddressList($entity) as $emailAddress) {
$orBuilder->add(
Cond::equal(
Cond::column('emailAddress'),
$emailAddress
)
);
$toCheck = true;
}
}
if (!$toCheck) {
return null;
}
return $orBuilder->build();
}
private function getEmailAddressList(Entity $entity): array
{
if ($entity->get('emailAddressData')) {
/* @var $eaGroup EmailAddressGroup */
$eaGroup = $entity->getValueObject('emailAddress');
return $eaGroup->getAddressList();
}
if ($entity->get('emailAddress')) {
return [
$entity->get('emailAddress')
];
}
return [];
}
}
class Person extends General
{}
@@ -0,0 +1,199 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldConverters;
use Espo\Core\Utils\Database\Orm\Defs\AttributeDefs;
use Espo\Core\Utils\Database\Orm\Defs\EntityDefs;
use Espo\Core\Utils\Database\Orm\FieldConverter;
use Espo\ORM\Defs\FieldDefs;
use Espo\ORM\Type\AttributeType;
use RuntimeException;
class RelationshipRole implements FieldConverter
{
public function convert(FieldDefs $fieldDefs, string $entityType): EntityDefs
{
$name = $fieldDefs->getName();
$attributeDefs = AttributeDefs::create($name)
->withType(AttributeType::VARCHAR)
->withNotStorable();
$attributeDefs = $this->addWhere($attributeDefs, $fieldDefs, $entityType);
return EntityDefs::create()
->withAttribute($attributeDefs);
}
private function addWhere(AttributeDefs $attributeDefs, FieldDefs $fieldDefs, string $entityType): AttributeDefs
{
$data = $fieldDefs->getParam('converterData');
if (!is_array($data)) {
throw new RuntimeException("No `converterData` in field defs.");
}
/** @var ?string $column */
$column = $data['column'] ?? null;
/** @var ?string $link */
$link = $data['link'] ?? null;
/** @var ?string $relationName */
$relationName = $data['relationName'] ?? null;
/** @var ?string $nearKey */
$nearKey = $data['nearKey'] ?? null;
if (!$column || !$link || !$relationName || !$nearKey) {
throw new RuntimeException("Bad `converterData`.");
}
$midTable = ucfirst($relationName);
return $attributeDefs->withParamsMerged([
'where' => [
'=' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'<>' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'IN' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'NOT IN' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
$column => '{value}',
],
],
],
],
'LIKE' => [
'whereClause' => [
'id=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
"$column*" => '{value}',
],
],
],
],
'NOT LIKE' => [
'whereClause' => [
'id!=s' => [
'from' => $midTable,
'select' => [$nearKey],
'whereClause' => [
'deleted' => false,
"$column*" => '{value}',
],
],
],
],
'IS NULL' => [
'whereClause' => [
'NOT' => [
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'leftJoins' => [
[
$link,
'm',
null,
['onlyMiddle' => true]
]
],
'whereClause' => [
"m.$column!=" => null,
'sq.id:' => lcfirst($entityType) . '.id',
],
],
],
],
],
'IS NOT NULL' => [
'whereClause' => [
'EXISTS' => [
'from' => $entityType,
'fromAlias' => 'sq',
'select' => ['id'],
'leftJoins' => [
[
$link,
'm',
null,
['onlyMiddle' => true]
]
],
'whereClause' => [
"m.$column!=" => null,
'sq.id:' => lcfirst($entityType) . '.id',
],
],
],
],
],
]);
}
}
@@ -0,0 +1,90 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldDuplicators;
use Espo\Core\Record\Duplicator\FieldDuplicator;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\Repositories\Attachment as AttachmentRepository;
use Espo\Entities\Attachment;
use stdClass;
class AttachmentMultiple implements FieldDuplicator
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function duplicate(Entity $entity, string $field): stdClass
{
$valueMap = (object) [];
/** @var \Espo\ORM\Collection<Attachment> $attachmentList */
$attachmentList = $this->entityManager
->getRDBRepository($entity->getEntityType())
->getRelation($entity, $field)
->find();
if (is_countable($attachmentList) && !count($attachmentList)) {
return $valueMap;
}
$idList = [];
$nameHash = (object) [];
$typeHash = (object) [];
/** @var AttachmentRepository $attachmentRepository */
$attachmentRepository = $this->entityManager->getRepository(Attachment::ENTITY_TYPE);
foreach ($attachmentList as $attachment) {
$copiedAttachment = $attachmentRepository->getCopiedAttachment($attachment);
$copiedAttachment->set('field', $field);
$this->entityManager->saveEntity($copiedAttachment);
$idList[] = $copiedAttachment->getId();
$nameHash->{$copiedAttachment->getId()} = $copiedAttachment->getName();
$typeHash->{$copiedAttachment->getId()} = $copiedAttachment->getType();
}
$valueMap->{$field . 'Ids'} = $idList;
$valueMap->{$field . 'Names'} = $nameHash;
$valueMap->{$field . 'Types'} = $typeHash;
return $valueMap;
}
}
@@ -0,0 +1,75 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldDuplicators;
use Espo\Core\Record\Duplicator\FieldDuplicator;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\Repositories\Attachment as AttachmentRepository;
use Espo\Entities\Attachment;
use stdClass;
class File implements FieldDuplicator
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function duplicate(Entity $entity, string $field): stdClass
{
$valueMap = (object) [];
/** @var Attachment|null $attachment */
$attachment = $this->entityManager
->getRDBRepository($entity->getEntityType())
->getRelation($entity, $field)
->findOne();
if (!$attachment) {
return $valueMap;
}
/** @var AttachmentRepository $attachmentRepository */
$attachmentRepository = $this->entityManager->getRepository(Attachment::ENTITY_TYPE);
$copiedAttachment = $attachmentRepository->getCopiedAttachment($attachment);
$idAttribute = $field . 'Id';
$valueMap->$idAttribute = $copiedAttachment->getId();
return $valueMap;
}
}
@@ -0,0 +1,82 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldDuplicators;
use Espo\Core\Record\Duplicator\FieldDuplicator;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use stdClass;
class LinkMultiple implements FieldDuplicator
{
private EntityManager $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function duplicate(Entity $entity, string $field): stdClass
{
$valueMap = (object) [];
$entityDefs = $this->entityManager
->getDefs()
->getEntity($entity->getEntityType());
if (!$entity->hasRelation($field)) {
return $valueMap;
}
$relationDefs = $entityDefs->getRelation($field);
if (
!$relationDefs->hasForeignEntityType() ||
!$relationDefs->hasForeignRelationName()
) {
return $valueMap;
}
$foreignRelationType = $this->entityManager
->getDefs()
->getEntity($relationDefs->getForeignEntityType())
->getRelation($relationDefs->getForeignRelationName())
->getType();
if ($foreignRelationType !== Entity::MANY_MANY) {
$valueMap->{$field . 'Ids'} = [];
$valueMap->{$field . 'Names'} = (object) [];
$valueMap->{$field . 'Columns'} = (object) [];
}
return $valueMap;
}
}
@@ -0,0 +1,117 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldDuplicators;
use Espo\Core\Record\Duplicator\FieldDuplicator;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\Repositories\Attachment as AttachmentRepository;
use Espo\Entities\Attachment;
use stdClass;
class Wysiwyg implements FieldDuplicator
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function duplicate(Entity $entity, string $field): stdClass
{
$valueMap = (object) [];
$contents = $entity->get($field);
if (!$contents) {
return $valueMap;
}
$matches = [];
$matchResult = preg_match_all("/\?entryPoint=attachment&amp;id=([^&=\"']+)/", $contents, $matches);
if (
!$matchResult ||
empty($matches[1]) ||
!is_array($matches[1])
) {
return $valueMap;
}
$attachmentIdList = $matches[1];
/** @var Attachment[] $attachmentList */
$attachmentList = [];
foreach ($attachmentIdList as $id) {
/** @var Attachment|null $attachment */
$attachment = $this->entityManager->getEntity(Attachment::ENTITY_TYPE, $id);
if (!$attachment) {
continue;
}
$attachmentList[] = $attachment;
}
if (!count($attachmentList)) {
return $valueMap;
}
/** @var AttachmentRepository $attachmentRepository */
$attachmentRepository = $this->entityManager->getRepository(Attachment::ENTITY_TYPE);
foreach ($attachmentList as $attachment) {
$copiedAttachment = $attachmentRepository->getCopiedAttachment($attachment);
$copiedAttachment->set([
'relatedId' => null,
'relatedType' => $entity->getEntityType(),
'field' => $field,
]);
$this->entityManager->saveEntity($copiedAttachment);
$contents = str_replace(
'?entryPoint=attachment&amp;id=' . $attachment->getId(),
'?entryPoint=attachment&amp;id=' . $copiedAttachment->getId(),
$contents
);
}
$valueMap->$field = $contents;
return $valueMap;
}
}
@@ -2,56 +2,55 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Repositories\Email as EmailRepository;
use Espo\Entities\Email;
/**
* @implements Loader<Email>
*/
class AddressDataLoader implements Loader
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function __construct(private EntityManager $entityManager)
{}
/**
* @param Email $entity
*/
public function process(Entity $entity, Params $params): void
{
/* @var $repository EmailRepository */
$repository = $this->entityManager->getRepository('Email');
/** @var EmailRepository $repository */
$repository = $this->entityManager->getRepository(Email::ENTITY_TYPE);
$repository->loadFromField($entity);
$repository->loadToField($entity);
@@ -2,69 +2,66 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\Modules\Crm\Entities\Call;
use Espo\Modules\Crm\Entities\Meeting;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Entities\EmailAddress;
use Espo\Entities\Email;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Mail\Event\Event as EspoEvent;
use Espo\Core\Mail\Event\EventFactory;
use Espo\Core\Utils\Log;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
Mail\Event\Event as EspoEvent,
Mail\Event\EventFactory,
Utils\Log,
};
use ICal\ICal;
use ICal\Event;
use ICal\ICal;
use Throwable;
use stdClass;
/**
* @implements Loader<Email>
*/
class IcsDataLoader implements Loader
{
private $entityManager;
private $log;
/** @var array<string, string> */
private $entityTypeLinkMap = [
'User' => 'users',
'Contact' => 'contacts',
'Lead' => 'leads',
];
public function __construct(EntityManager $entityManager, Log $log)
{
$this->entityManager = $entityManager;
$this->log = $log;
}
public function __construct(private EntityManager $entityManager, private Log $log)
{}
public function process(Entity $entity, Params $params): void
{
@@ -78,7 +75,7 @@ class IcsDataLoader implements Loader
$ical->initString($icsContents);
/* @var $event Event */
/* @var ?Event $event */
$event = $ical->events()[0] ?? null;
if ($event === null) {
@@ -114,11 +111,14 @@ class IcsDataLoader implements Loader
return;
}
/* @var $emailAddressRepository EmailAddressRepository */
if ($this->eventAlreadyExists($espoEvent)) {
return;
}
/** @var EmailAddressRepository $emailAddressRepository */
$emailAddressRepository = $this->entityManager->getRepository(EmailAddress::ENTITY_TYPE);
$attendeeEmailAddressList = $espoEvent->getAttendeeEmailAddressList();
$organizerEmailAddress = $espoEvent->getOrganizerEmailAddress();
if ($organizerEmailAddress) {
@@ -160,7 +160,6 @@ class IcsDataLoader implements Loader
$this->loadCreatedEvent($entity, $espoEvent, $eventData);
$entity->set('icsEventData', $eventData);
$entity->set('icsEventDateStart', $espoEvent->getDateStart());
if ($espoEvent->isAllDay()) {
@@ -168,7 +167,7 @@ class IcsDataLoader implements Loader
}
}
private function loadCreatedEvent(Entity $entity, EspoEvent $espoEvent, object $eventData): void
private function loadCreatedEvent(Entity $entity, EspoEvent $espoEvent, stdClass $eventData): void
{
$emailSameEvent = $this->entityManager
->getRDBRepository(Email::ENTITY_TYPE)
@@ -202,4 +201,35 @@ class IcsDataLoader implements Loader
'name' => $createdEvent->get('name'),
];
}
private function eventAlreadyExists(EspoEvent $espoEvent): bool
{
$id = $espoEvent->getUid();
if (!$id) {
return false;
}
$found1 = $this->entityManager
->getRDBRepository(Meeting::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->findOne();
if ($found1) {
return true;
}
$found2 = $this->entityManager
->getRDBRepository(Call::ENTITY_TYPE)
->select(['id'])
->where(['id' => $id])
->findOne();
if ($found2) {
return true;
}
return false;
}
}
@@ -2,50 +2,50 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Repositories\EmailAddress as EmailAddressRepository;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Entities\Email;
use Espo\Entities\User;
/**
* @implements Loader<Email>
*/
class StringDataLoader implements Loader
{
private $entityManager;
private $user;
private EntityManager $entityManager;
private User $user;
/** @var array<string, string> */
private $fromEmailAddressNameCache = [];
public function __construct(EntityManager $entityManager, User $user)
@@ -56,21 +56,24 @@ class StringDataLoader implements Loader
public function process(Entity $entity, Params $params): void
{
$userEmailAdddressIdList = [];
/** @var Email $entity */
$userEmailAddressIdList = [];
$emailAddressCollection = $this->entityManager
->getRDBRepository('User')
->getRDBRepository(User::ENTITY_TYPE)
->getRelation($this->user, 'emailAddresses')
->select(['id'])
->find();
foreach ($emailAddressCollection as $emailAddress) {
$userEmailAdddressIdList[] = $emailAddress->getId();
$userEmailAddressIdList[] = $emailAddress->getId();
}
if (
in_array($entity->get('fromEmailAddressId'), $userEmailAdddressIdList) ||
$entity->get('createdById') === $this->user->getId() && $entity->get('status') === Email::STATUS_SENT
in_array($entity->get('fromEmailAddressId'), $userEmailAddressIdList) ||
$entity->get('createdById') === $this->user->getId() &&
$entity->getStatus() === Email::STATUS_SENT
) {
$entity->loadLinkMultipleField('toEmailAddresses');
@@ -84,9 +87,7 @@ class StringDataLoader implements Loader
$list = [];
foreach ($idList as $emailAddressId) {
$person = $this->entityManager
->getRepository('EmailAddress')
->getEntityByAddressId($emailAddressId, null, true);
$person = $this->getEmailAddressRepository()->getEntityByAddressId($emailAddressId, null, true);
$list[] = $person ? $person->get('name') : $names->$emailAddressId;
}
@@ -96,6 +97,7 @@ class StringDataLoader implements Loader
return;
}
/** @var ?string $fromEmailAddressId */
$fromEmailAddressId = $entity->get('fromEmailAddressId');
if (!$fromEmailAddressId) {
@@ -103,11 +105,9 @@ class StringDataLoader implements Loader
}
if (!array_key_exists($fromEmailAddressId, $this->fromEmailAddressNameCache)) {
$person = $this->entityManager
->getRepository('EmailAddress')
->getEntityByAddressId($fromEmailAddressId, null, true);
$person = $this->getEmailAddressRepository()->getEntityByAddressId($fromEmailAddressId, null, true);
$fromName = $person ? $person->get('name') : null;
$fromName = $person?->get('name');
$this->fromEmailAddressNameCache[$fromEmailAddressId] = $fromName;
}
@@ -119,4 +119,10 @@ class StringDataLoader implements Loader
$entity->set('personStringData', $fromName);
}
private function getEmailAddressRepository(): EmailAddressRepository
{
/** @var EmailAddressRepository */
return $this->entityManager->getRepository('EmailAddress');
}
}
@@ -2,48 +2,47 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Email;
use Espo\Entities\Email;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Entities\User;
/**
* @implements Loader<Email>
*/
class UserColumnsLoader implements Loader
{
private $entityManager;
private $user;
private EntityManager $entityManager;
private User $user;
public function __construct(EntityManager $entityManager, User $user)
{
@@ -54,8 +53,12 @@ class UserColumnsLoader implements Loader
public function process(Entity $entity, Params $params): void
{
$emailUser = $this->entityManager
->getRepository('EmailUser')
->select(['isRead', 'isImportant', 'inTrash'])
->getRDBRepository(Email::RELATIONSHIP_EMAIL_USER)
->select([
Email::USERS_COLUMN_IS_READ,
Email::USERS_COLUMN_IS_IMPORTANT,
Email::USERS_COLUMN_IN_TRASH,
])
->where([
'deleted' => false,
'userId' => $this->user->getId(),
@@ -64,17 +67,17 @@ class UserColumnsLoader implements Loader
->findOne();
if (!$emailUser) {
$entity->set('isRead', null);
$entity->clear('isImportant');
$entity->clear('inTrash');
$entity->set(Email::USERS_COLUMN_IS_READ, null);
$entity->clear(Email::USERS_COLUMN_IS_IMPORTANT);
$entity->clear(Email::USERS_COLUMN_IN_TRASH);
return;
}
$entity->set([
'isRead' => $emailUser->get('isRead'),
'isImportant' => $emailUser->get('isImportant'),
'inTrash' => $emailUser->get('inTrash'),
Email::USERS_COLUMN_IS_READ => $emailUser->get(Email::USERS_COLUMN_IS_READ),
Email::USERS_COLUMN_IS_IMPORTANT => $emailUser->get(Email::USERS_COLUMN_IS_IMPORTANT),
Email::USERS_COLUMN_IN_TRASH => $emailUser->get(Email::USERS_COLUMN_IN_TRASH),
]);
}
}
@@ -2,55 +2,52 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Import;
use Espo\Entities\Import;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use Espo\Repositories\Import as ImportRepository;
/**
* @implements Loader<Import>
*/
class CountsLoader implements Loader
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function __construct(private EntityManager $entityManager)
{}
public function process(Entity $entity, Params $params): void
{
/* @var $repository ImportRepository */
/** @var ImportRepository $repository */
$repository = $this->entityManager->getRepository('Import');
$importedCount = $repository->countResultRecords($entity, 'imported');
@@ -0,0 +1,124 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\LeadCapture;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\Utils\Config;
use Espo\Core\Utils\FieldUtil;
use Espo\Core\Utils\Util;
use Espo\Entities\LeadCapture;
use Espo\Modules\Crm\Entities\Lead;
use Espo\ORM\Entity;
use Espo\ORM\EntityManager;
/**
* @implements Loader<LeadCapture>
*/
class ExampleLoader implements Loader
{
public function __construct(
private FieldUtil $fieldUtil,
private Config $config,
private EntityManager $entityManager
) {}
public function process(Entity $entity, Params $params): void
{
$entity->set('exampleRequestMethod', 'POST');
$entity->set('exampleRequestHeaders', [
'Content-Type: application/json',
]);
$this->processRequestUrl($entity);
$this->processRequestPayload($entity);
}
private function processRequestUrl(LeadCapture $entity): void
{
$apiKey = $entity->getApiKey();
$siteUrl = $this->config->get('siteUrl');
if (!$apiKey) {
return;
}
$requestUrl = "$siteUrl/api/v1/LeadCapture/$apiKey";
$entity->set('exampleRequestUrl', $requestUrl);
}
private function processRequestPayload(LeadCapture $entity): void
{
$requestPayload = "```\n{\n";
$attributeList = [];
$attributeIgnoreList = [
'emailAddressIsOptedOut',
'phoneNumberIsOptedOut',
'emailAddressIsInvalid',
'phoneNumberIsInvalid',
'emailAddressData',
'phoneNumberData',
];
foreach ($entity->getFieldList() as $field) {
foreach ($this->fieldUtil->getActualAttributeList(Lead::ENTITY_TYPE, $field) as $attribute) {
if (!in_array($attribute, $attributeIgnoreList)) {
$attributeList[] = $attribute;
}
}
}
$seed = $this->entityManager->getNewEntity(Lead::ENTITY_TYPE);
foreach ($attributeList as $i => $attribute) {
$value = strtoupper(Util::camelCaseToUnderscore($attribute));
if (in_array($seed->getAttributeType($attribute), [Entity::VARCHAR, Entity::TEXT])) {
$value = '"' . $value . '"';
}
$requestPayload .= " \"" . $attribute . "\": " . $value;
if ($i < count($attributeList) - 1) {
$requestPayload .= ",";
}
$requestPayload .= "\n";
}
$requestPayload .= "}\n```";
$entity->set('exampleRequestPayload', $requestPayload);
}
}
@@ -0,0 +1,46 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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 Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Note;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Entities\Note;
use Espo\ORM\Entity;
/**
* @implements Loader<Note>
*/
class AdditionalFieldsLoader implements Loader
{
public function process(Entity $entity, Params $params): void
{
$entity->loadAdditionalFields();
}
}
@@ -1,48 +0,0 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\Note;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
};
use Espo\Entities\Note;
class AttachmentsLoader implements Loader
{
public function process(Entity $entity, Params $params): void
{
/* @var $entity Note */
$entity->loadAttachments();
}
}
@@ -2,28 +2,28 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
@@ -31,15 +31,18 @@ namespace Espo\Classes\FieldProcessing\Portal;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
};
use Espo\Repositories\Portal as PortalRepository;
use Espo\Entities\Portal;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
/**
* @implements Loader<Portal>
*/
class UrlLoader implements Loader
{
private $entityManager;
private EntityManager $entityManager;
public function __construct(EntityManager $entityManager)
{
@@ -48,8 +51,14 @@ class UrlLoader implements Loader
public function process(Entity $entity, Params $params): void
{
$this->entityManager
->getRepository('Portal')
->loadUrlField($entity);
/** @var Portal $entity */
$this->getPortalRepository()->loadUrlField($entity);
}
private function getPortalRepository(): PortalRepository
{
/** @var PortalRepository */
return $this->entityManager->getRepository('Portal');
}
}
@@ -2,51 +2,53 @@
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014-2021 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
* Website: https://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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,
* This program 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.
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero 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/.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://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.
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
************************************************************************/
namespace Espo\Classes\FieldProcessing\User;
use Espo\Entities\AuthLogRecord;
use Espo\Entities\AuthToken;
use Espo\Entities\User;
use Espo\ORM\Entity;
use Espo\Core\{
FieldProcessing\Loader,
FieldProcessing\Loader\Params,
ORM\EntityManager,
Acl,
Acl\Table,
};
use Espo\Core\Acl;
use Espo\Core\FieldProcessing\Loader;
use Espo\Core\FieldProcessing\Loader\Params;
use Espo\Core\ORM\EntityManager;
use DateTime;
use Exception;
/**
* @implements Loader<User>
* @noinspection PhpUnused
*/
class LastAccessLoader implements Loader
{
private $entityManager;
private $acl;
private EntityManager $entityManager;
private Acl $acl;
public function __construct(EntityManager $entityManager, Acl $acl)
{
@@ -56,15 +58,12 @@ class LastAccessLoader implements Loader
public function process(Entity $entity, Params $params): void
{
$forbiddenFieldList = $this->acl
->getScopeForbiddenFieldList($entity->getEntityType(), Table::ACTION_READ);
if (in_array('lastAccess', $forbiddenFieldList)) {
if (!$this->acl->checkField($entity->getEntityType(), 'lastAccess')) {
return;
}
$authToken = $this->entityManager
->getRDBRepository('AuthToken')
->getRDBRepository(AuthToken::ENTITY_TYPE)
->select(['id', 'lastAccess'])
->where([
'userId' => $entity->getId(),
@@ -84,7 +83,7 @@ class LastAccessLoader implements Loader
try {
$dt = new DateTime($lastAccess);
}
catch (Exception $e) {}
catch (Exception) {}
}
$where = [
@@ -97,7 +96,7 @@ class LastAccessLoader implements Loader
}
$authLogRecord = $this->entityManager
->getRDBRepository('AuthLogRecord')
->getRDBRepository(AuthLogRecord::ENTITY_TYPE)
->select(['id', 'createdAt'])
->where($where)
->order('requestTime', true)

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