fix kb order
This commit is contained in:
@@ -49,6 +49,7 @@ class KnowledgeBaseArticle extends \Espo\Core\Controllers\Record
|
||||
$where = null;
|
||||
if (!empty($data['where'])) {
|
||||
$where = $data['where'];
|
||||
$where = json_decode(json_encode($where), true);
|
||||
}
|
||||
|
||||
$this->getRecordService()->moveUp($data['id'], $where);
|
||||
@@ -64,6 +65,7 @@ class KnowledgeBaseArticle extends \Espo\Core\Controllers\Record
|
||||
$where = null;
|
||||
if (!empty($data['where'])) {
|
||||
$where = $data['where'];
|
||||
$where = json_decode(json_encode($where), true);
|
||||
}
|
||||
|
||||
$this->getRecordService()->moveDown($data['id'], $where);
|
||||
|
||||
@@ -93,11 +93,11 @@ class KnowledgeBaseArticle extends \Espo\Core\ORM\Repositories\RDB
|
||||
parent::beforeSave($entity, $options);
|
||||
$order = $entity->get('order');
|
||||
if (is_null($order)) {
|
||||
$order = $this->max('order');
|
||||
$order = $this->min('order');
|
||||
if (!$order) {
|
||||
$order = 999;
|
||||
$order = 9999;
|
||||
}
|
||||
$order++;
|
||||
$order--;
|
||||
$entity->set('order', $order);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
[{"name":"status"}, {"name":"publishDate"}],
|
||||
[{"name":"categories"}, {"name":"expirationDate"}],
|
||||
[{"name":"portals"}, {"name":"language"}],
|
||||
[{"name":"order"}, false],
|
||||
[{"name":"body", "fullWidth": true}],
|
||||
[{"name":"attachments", "fullWidth": true}]
|
||||
]
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
[{"name":"name", "fullWidth": true}],
|
||||
[{"name":"status"}, {"name":"language"}],
|
||||
[{"name":"categories"}, {"name":"portals"}],
|
||||
[{"name":"order"}, false],
|
||||
[{"name":"body", "fullWidth": true}],
|
||||
[{"name":"attachments", "fullWidth": true}]
|
||||
]
|
||||
|
||||
@@ -101,8 +101,13 @@ class KnowledgeBaseArticle extends \Espo\Services\Record
|
||||
if (!$where) {
|
||||
$where = array();
|
||||
}
|
||||
|
||||
$params = array(
|
||||
'where' => $where
|
||||
);
|
||||
|
||||
$selectManager = $this->getSelectManager();
|
||||
$selectParams = $selectManager->buildSelectParams($where, true, true);
|
||||
$selectParams = $selectManager->buildSelectParams($params, true, true);
|
||||
|
||||
$selectParams['whereClause'][] = array(
|
||||
'order<' => $currentIndex
|
||||
@@ -134,8 +139,13 @@ class KnowledgeBaseArticle extends \Espo\Services\Record
|
||||
if (!$where) {
|
||||
$where = array();
|
||||
}
|
||||
|
||||
$params = array(
|
||||
'where' => $where
|
||||
);
|
||||
|
||||
$selectManager = $this->getSelectManager();
|
||||
$selectParams = $selectManager->buildSelectParams($where, true, true);
|
||||
$selectParams = $selectManager->buildSelectParams($params, true, true);
|
||||
|
||||
$selectParams['whereClause'][] = array(
|
||||
'order>' => $currentIndex
|
||||
|
||||
@@ -318,8 +318,11 @@ class Record extends \Espo\Core\Services\Base
|
||||
}
|
||||
}
|
||||
|
||||
protected function getSelectManager($entityType)
|
||||
protected function getSelectManager($entityType = null)
|
||||
{
|
||||
if (!$entityType) {
|
||||
$entityType = $this->getEntityType();
|
||||
}
|
||||
return $this->getSelectManagerFactory()->create($entityType);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user