email account fetch since not required

This commit is contained in:
Yuri Kuznetsov
2020-04-17 11:31:55 +03:00
parent 43696d91fc
commit ddc4cfb197
8 changed files with 87 additions and 12 deletions
@@ -8,14 +8,14 @@
],
[
{"name":"name"},
{"name":"fetchSince"}
false
]
]
},
{
"label":"IMAP",
"rows":[
[{"name": "useImap"}, false],
[{"name": "useImap"}, {"name":"fetchSince"}],
[
{"name":"host"},{"name":"ssl"}
],
@@ -12,7 +12,7 @@
],
[
{"name":"teams"},
{"name":"fetchSince"}
false
],
[
{"name":"addAllTeamUsers"},
@@ -23,7 +23,7 @@
{
"label": "IMAP",
"rows": [
[{"name": "useImap"}, false],
[{"name": "useImap"}, {"name":"fetchSince"}],
[
{"name":"host"},{"name":"ssl"}
],
@@ -56,6 +56,32 @@
}
]
}
},
"fetchSince": {
"visible": {
"conditionGroup": [
{
"type": "isTrue",
"attribute": "useImap"
}
]
},
"readOnly": {
"conditionGroup": [
{
"type": "isNotEmpty",
"attribute": "fetchData"
}
]
},
"required": {
"conditionGroup": [
{
"type": "isTrue",
"attribute": "useImap"
}
]
}
}
}
},
@@ -49,6 +49,32 @@
}
]
}
},
"fetchSince": {
"visible": {
"conditionGroup": [
{
"type": "isTrue",
"attribute": "useImap"
}
]
},
"readOnly": {
"conditionGroup": [
{
"type": "isNotEmpty",
"attribute": "fetchData"
}
]
},
"required": {
"conditionGroup": [
{
"type": "isTrue",
"attribute": "useImap"
}
]
}
}
}
},
@@ -56,8 +56,7 @@
"type": "bool"
},
"fetchSince": {
"type": "date",
"required": true
"type": "date"
},
"fetchData": {
"type": "jsonObject",
@@ -44,8 +44,7 @@
"tooltip": true
},
"fetchSince": {
"type": "date",
"required": true
"type": "date"
},
"fetchData": {
"type": "jsonObject",
+17 -4
View File
@@ -29,11 +29,13 @@
namespace Espo\Services;
use \Espo\ORM\Entity;
use Espo\ORM\Entity;
use \Espo\Core\Exceptions\Error;
use \Espo\Core\Exceptions\Forbidden;
use \Zend\Mail\Storage;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
use Zend\Mail\Storage;
class EmailAccount extends Record
{
@@ -64,6 +66,17 @@ class EmailAccount extends Record
}
}
public function processValidation(Entity $entity, $data)
{
parent::processValidation($entity, $data);
if ($entity->get('useImap')) {
if (!$entity->get('fetchSince')) {
throw new BadRequest("EmailAccount validation: fetchSince is required.");
}
}
}
public function getFolders($params)
{
$userId = $params['userId'] ?? null;
@@ -35,6 +35,7 @@ use Zend\Mail\Storage;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
use Espo\Core\Exceptions\BadRequest;
class InboundEmail extends \Espo\Services\Record
{
@@ -74,6 +75,17 @@ class InboundEmail extends \Espo\Services\Record
}
}
public function processValidation(Entity $entity, $data)
{
parent::processValidation($entity, $data);
if ($entity->get('useImap')) {
if (!$entity->get('fetchSince')) {
throw new BadRequest("EmailAccount validation: fetchSince is required.");
}
}
}
public function getFolders($params)
{
if (!empty($params['id'])) {