PMCORE-514
This commit is contained in:
@@ -30,4 +30,94 @@ class AppDelay extends Model
|
||||
'APP_ENABLE_ACTION_DATE',
|
||||
'APP_DISABLE_ACTION_DATE',
|
||||
];
|
||||
|
||||
/**
|
||||
* Scope a query to filter a specific type
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param string $type
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeType($query, string $type = 'PAUSE')
|
||||
{
|
||||
return $query->where('APP_DELAY.APP_TYPE', $type);
|
||||
}
|
||||
/**
|
||||
* Scope a query to filter a specific disable action
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeNotDisabled($query)
|
||||
{
|
||||
return $query->where('APP_DELAY.APP_DISABLE_ACTION_USER', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to filter a specific case
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param int $appNumber
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeCase($query, int $appNumber)
|
||||
{
|
||||
return $query->where('APP_DELAY.APP_NUMBER', $appNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to filter a specific index
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param int $index
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeIndex($query, int $index)
|
||||
{
|
||||
return $query->where('APP_DELAY.APP_DEL_INDEX', $index);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to filter a specific user
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param string $user
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeDelegateUser($query, string $user)
|
||||
{
|
||||
return $query->where('APP_DELAY.APP_DELEGATION_USER', $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the thread paused
|
||||
*
|
||||
* @param int $appNumber
|
||||
* @param int $index
|
||||
* @param string $userUid
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getPaused(int $appNumber, int $index, string $userUid = '')
|
||||
{
|
||||
$query = AppDelay::query()->select([
|
||||
'APP_NUMBER',
|
||||
'APP_DEL_INDEX AS DEL_INDEX',
|
||||
'PRO_UID'
|
||||
]);
|
||||
$query->type('PAUSE')->notDisabled();
|
||||
$query->case($appNumber);
|
||||
// Filter specific index
|
||||
if ($index > 0) {
|
||||
$query->index($index);
|
||||
}
|
||||
// Filter specific delegate user
|
||||
if (!empty($userUid)) {
|
||||
$query->delegateUser($userUid);
|
||||
}
|
||||
// Get the result
|
||||
$results = $query->get();
|
||||
|
||||
return $results->values()->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,18 +173,6 @@ class Delegation extends Model
|
||||
return $query->where('DEL_INDEX', '=', 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to get the in-progress
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeCaseInProgress($query)
|
||||
{
|
||||
return $query->statusIds([Application::STATUS_DRAFT, Application::STATUS_TODO]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to get the to_do cases
|
||||
*
|
||||
@@ -777,19 +765,6 @@ class Delegation extends Model
|
||||
return $query->whereIn('APP_DELEGATION.PRO_ID', $processes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope where in processes
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param array $processes
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeInProcesses($query, array $processes)
|
||||
{
|
||||
return $query->whereIn('PROCESS.PRO_ID', $processes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope the Inbox cases
|
||||
*
|
||||
@@ -812,26 +787,6 @@ class Delegation extends Model
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope the Inbox cases
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeInboxWithoutUser($query)
|
||||
{
|
||||
// This scope is for the join with the APP_DELEGATION table
|
||||
$query->joinApplication();
|
||||
$query->status(Application::STATUS_TODO);
|
||||
// Scope for the restriction of the task that must not be searched for
|
||||
$query->excludeTaskTypes(Task::DUMMY_TASKS);
|
||||
// Scope that establish that the DEL_THREAD_STATUS must be OPEN
|
||||
$query->threadOpen();
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a self service cases
|
||||
*
|
||||
@@ -1417,7 +1372,7 @@ class Delegation extends Model
|
||||
* @param string $appUid
|
||||
* @return array
|
||||
*
|
||||
* @see \ProcessMaker\BusinessModel\Cases:getStatusInfo()
|
||||
* @see \ProcessMaker\BusinessModel\Cases::getStatusInfo()
|
||||
*/
|
||||
public static function getParticipatedInfo($appUid)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user