PMCORE-3129
This commit is contained in:
@@ -143,6 +143,7 @@ class Process extends BaseProcess
|
||||
$this->setProShowDelegate('');
|
||||
$this->setProShowDynaform('');
|
||||
$this->setProCategory((isset($aData["PRO_CATEGORY"]))? $aData["PRO_CATEGORY"]: "");
|
||||
$this->setCategoryId((isset($aData["CATEGORY_ID"])) ? $aData["CATEGORY_ID"]: 0);
|
||||
$this->setProSubCategory('');
|
||||
$this->setProIndustry('');
|
||||
$this->setProCreateDate(date("Y-m-d H:i:s"));
|
||||
|
||||
@@ -17,6 +17,18 @@ class ProcessCategory extends Model
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
/**
|
||||
* Scope a query to specific category name
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param string $name
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeCategoryName($query, $name)
|
||||
{
|
||||
return $query->where('CATEGORY_NAME', 'LIKE', "%{$name}%");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the categories
|
||||
*
|
||||
@@ -27,7 +39,7 @@ class ProcessCategory extends Model
|
||||
* @see ProcessProxy::categoriesList()
|
||||
* @link https://wiki.processmaker.com/3.0/Process_Categories
|
||||
*/
|
||||
public static function getCategories( $dir = 'ASC')
|
||||
public static function getCategories($dir = 'ASC')
|
||||
{
|
||||
$query = ProcessCategory::query()
|
||||
->select([
|
||||
@@ -38,4 +50,46 @@ class ProcessCategory extends Model
|
||||
|
||||
return $query->get()->values()->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the process categories
|
||||
*
|
||||
* @param string $name
|
||||
* @param int $start
|
||||
* @param int $limit
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @see ProcessMaker\Services\Api\Home::getCategories()
|
||||
*/
|
||||
public static function getProcessCategories($name = null, $start = null, $limit = null)
|
||||
{
|
||||
$query = ProcessCategory::query()->select(['CATEGORY_ID', 'CATEGORY_NAME']);
|
||||
|
||||
if (!is_null($name)) {
|
||||
$query->categoryName($name);
|
||||
}
|
||||
|
||||
if (!is_null($start) && !is_null($limit)) {
|
||||
$query->offset($start)->limit($limit);
|
||||
}
|
||||
|
||||
return $query->get()->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get category Id
|
||||
*
|
||||
* @param string $categoryUid
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function getCategoryId($categoryUid)
|
||||
{
|
||||
$query = ProcessCategory::query()->select(['CATEGORY_ID']);
|
||||
$query->where('CATEGORY_UID', $categoryUid);
|
||||
if ($query->first()) {
|
||||
return $query->first()->CATEGORY_ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ use Task as ClassesTask;
|
||||
use Route;
|
||||
use RoutePeer;
|
||||
|
||||
use ProcessMaker\Model\ProcessCategory;
|
||||
use ProcessMaker\Util\Common;
|
||||
use ProcessMaker\Exception;
|
||||
use ProcessMaker\Util;
|
||||
@@ -62,6 +63,8 @@ class Workflow extends Handler
|
||||
$data['USR_UID'] = array_key_exists('PRO_CREATE_USER', $data) ? $data['PRO_CREATE_USER'] : null;
|
||||
$data['PRO_TITLE'] = array_key_exists('PRO_TITLE', $data) ? trim($data['PRO_TITLE']) : "";
|
||||
$data['PRO_CATEGORY'] = array_key_exists('PRO_CATEGORY', $data) ? $data['PRO_CATEGORY'] : "";
|
||||
$categoryId = ProcessCategory::getCategoryId($data['PRO_CATEGORY']);
|
||||
$data['CATEGORY_ID'] = !is_null($categoryId) ? $categoryId : 0;
|
||||
|
||||
try {
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ use ProcessMaker\BusinessModel\Cases\Supervising;
|
||||
use ProcessMaker\BusinessModel\Cases\Unassigned;
|
||||
use ProcessMaker\Model\Delegation;
|
||||
use ProcessMaker\Model\Process;
|
||||
use ProcessMaker\Model\ProcessCategory;
|
||||
use ProcessMaker\Model\User;
|
||||
use ProcessMaker\Model\UserConfig;
|
||||
use ProcessMaker\Model\Task;
|
||||
@@ -811,4 +812,30 @@ class Home extends Api
|
||||
{
|
||||
return UserConfig::deleteSetting($id, $name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all process categories
|
||||
*
|
||||
* @url GET /categories
|
||||
*
|
||||
* @param string $name
|
||||
* @param int $start
|
||||
* @param int $limit
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @throws RestException
|
||||
*
|
||||
* @access protected
|
||||
* @class AccessControl {@permission PM_CASES}
|
||||
*/
|
||||
public function getCategories($name = null, $start = null, $limit = null)
|
||||
{
|
||||
try {
|
||||
$categories = ProcessCategory::getProcessCategories($name, $start, $limit);
|
||||
return $categories;
|
||||
} catch (Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user