PMCORE-1337
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* Model factory for a process
|
|
||||||
*/
|
|
||||||
use Faker\Generator as Faker;
|
use Faker\Generator as Faker;
|
||||||
|
|
||||||
$factory->define(\ProcessMaker\Model\TaskUser::class, function(Faker $faker) {
|
$factory->define(\ProcessMaker\Model\TaskUser::class, function(Faker $faker) {
|
||||||
@@ -13,4 +11,60 @@ $factory->define(\ProcessMaker\Model\TaskUser::class, function(Faker $faker) {
|
|||||||
'TU_TYPE' => 1,
|
'TU_TYPE' => 1,
|
||||||
'TU_RELATION' => 1
|
'TU_RELATION' => 1
|
||||||
];
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Create a delegation with the foreign keys
|
||||||
|
$factory->state(\ProcessMaker\Model\TaskUser::class, 'foreign_keys', function (Faker $faker) {
|
||||||
|
$user = factory(\ProcessMaker\Model\User::class)->create();
|
||||||
|
$task = factory(\ProcessMaker\Model\Task::class)->create();
|
||||||
|
return [
|
||||||
|
'TAS_UID' => $task->TAS_UID,
|
||||||
|
'USR_UID' => $user->USR_UID,
|
||||||
|
'TU_TYPE' => 1,
|
||||||
|
'TU_RELATION' => 1
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
$factory->state(\ProcessMaker\Model\TaskUser::class, 'normal_assigment_user', function (Faker $faker) {
|
||||||
|
$user = factory(\ProcessMaker\Model\User::class)->create();
|
||||||
|
$task = factory(\ProcessMaker\Model\Task::class)->create();
|
||||||
|
return [
|
||||||
|
'TAS_UID' => $task->TAS_UID,
|
||||||
|
'USR_UID' => $user->USR_UID,
|
||||||
|
'TU_RELATION' => 1,
|
||||||
|
'TU_TYPE' => 1,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
$factory->state(\ProcessMaker\Model\TaskUser::class, 'normal_assigment_group', function (Faker $faker) {
|
||||||
|
$group = factory(\ProcessMaker\Model\Groupwf::class)->create();
|
||||||
|
$task = factory(\ProcessMaker\Model\Task::class)->create();
|
||||||
|
return [
|
||||||
|
'TAS_UID' => $task->TAS_UID,
|
||||||
|
'USR_UID' => $group->GRP_UID,
|
||||||
|
'TU_RELATION' => 2,
|
||||||
|
'TU_TYPE' => 1,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
$factory->state(\ProcessMaker\Model\TaskUser::class, 'adhoc_assigment_user', function (Faker $faker) {
|
||||||
|
$user = factory(\ProcessMaker\Model\User::class)->create();
|
||||||
|
$task = factory(\ProcessMaker\Model\Task::class)->create();
|
||||||
|
return [
|
||||||
|
'TAS_UID' => $task->TAS_UID,
|
||||||
|
'USR_UID' => $user->USR_UID,
|
||||||
|
'TU_RELATION' => 1,
|
||||||
|
'TU_TYPE' => 2,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
$factory->state(\ProcessMaker\Model\TaskUser::class, 'adhoc_assigment_group', function (Faker $faker) {
|
||||||
|
$group = factory(\ProcessMaker\Model\Groupwf::class)->create();
|
||||||
|
$task = factory(\ProcessMaker\Model\Task::class)->create();
|
||||||
|
return [
|
||||||
|
'TAS_UID' => $task->TAS_UID,
|
||||||
|
'USR_UID' => $group->GRP_UID,
|
||||||
|
'TU_RELATION' => 2,
|
||||||
|
'TU_TYPE' => 2,
|
||||||
|
];
|
||||||
});
|
});
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\unit\workflow\engine\src\ProcessMaker\Model;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||||
|
use ProcessMaker\Model\Task;
|
||||||
|
use ProcessMaker\Model\TaskUser;
|
||||||
|
use ProcessMaker\Model\User;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class TaskUserTest
|
||||||
|
*
|
||||||
|
* @coversDefaultClass \ProcessMaker\Model\TaskUser
|
||||||
|
*/
|
||||||
|
class TaskUserTest extends TestCase
|
||||||
|
{
|
||||||
|
use DatabaseTransactions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create task assigment
|
||||||
|
*
|
||||||
|
* @param string $type
|
||||||
|
* @param string $relation
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function createAssigment($type = 'NORMAL', $relation = 'USER')
|
||||||
|
{
|
||||||
|
if ($type === 'NORMAL'){
|
||||||
|
if ($relation === 'USER'){
|
||||||
|
$assigment = factory(TaskUser::class)->states('normal_assigment_user')->create();
|
||||||
|
} else {
|
||||||
|
$assigment = factory(TaskUser::class)->states('normal_assigment_group')->create();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($relation === 'USER'){
|
||||||
|
$assigment = factory(TaskUser::class)->states('adhoc_assigment_user')->create();
|
||||||
|
} else {
|
||||||
|
$assigment = factory(TaskUser::class)->states('adhoc_assigment_group')->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $assigment;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Test belongs to TAS_UID
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\TaskUser::task()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_has_a_task()
|
||||||
|
{
|
||||||
|
$assigment = factory(TaskUser::class)->create([
|
||||||
|
'TAS_UID' => function () {
|
||||||
|
return factory(Task::class)->create()->TAS_UID;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
$this->assertInstanceOf(Task::class, $assigment->task);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test belongs to USR_UID
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\TaskUser::user()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_has_a_user()
|
||||||
|
{
|
||||||
|
$assigment = factory(TaskUser::class)->create([
|
||||||
|
'USR_UID' => function () {
|
||||||
|
return factory(User::class)->create()->USR_UID;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
$this->assertInstanceOf(User::class, $assigment->user);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test the assigment in the task
|
||||||
|
*
|
||||||
|
* @covers \ProcessMaker\Model\TaskUser::scopeAssigment()
|
||||||
|
* @covers \ProcessMaker\Model\TaskUser::getAssigment()
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_has_an_assigment()
|
||||||
|
{
|
||||||
|
// Create factory
|
||||||
|
$assigment = $this->createAssigment();
|
||||||
|
// Create the TaskUser object
|
||||||
|
$taskUser = new TaskUser();
|
||||||
|
$response = $taskUser->getAssigment($assigment->TAS_UID, $assigment->USR_UID);
|
||||||
|
$this->assertNotEmpty($response);
|
||||||
|
// Create factory
|
||||||
|
$assigment = $this->createAssigment('NORMAL', 'GROUP');
|
||||||
|
// Create the TaskUser object
|
||||||
|
$taskUser = new TaskUser();
|
||||||
|
$response = $taskUser->getAssigment($assigment->TAS_UID, $assigment->USR_UID);
|
||||||
|
$this->assertNotEmpty($response);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace ProcessMaker\BusinessModel;
|
namespace ProcessMaker\BusinessModel;
|
||||||
|
|
||||||
use \G;
|
use Exception;
|
||||||
|
use G;
|
||||||
|
use ProcessMaker\Model\Groupwf;
|
||||||
|
use ProcessMaker\Model\TaskUser;
|
||||||
|
use ProcessMaker\Model\User;
|
||||||
use ProcessMaker\Plugins\Interfaces\StepDetail;
|
use ProcessMaker\Plugins\Interfaces\StepDetail;
|
||||||
use ProcessMaker\Plugins\PluginRegistry;
|
use ProcessMaker\Plugins\PluginRegistry;
|
||||||
use \ProcessMaker\Util;
|
use ProcessMaker\Util;
|
||||||
|
|
||||||
class Task
|
class Task
|
||||||
{
|
{
|
||||||
@@ -1245,68 +1249,49 @@ class Task
|
|||||||
/**
|
/**
|
||||||
* Assign a user or group to an activity
|
* Assign a user or group to an activity
|
||||||
*
|
*
|
||||||
* @param string $sProcessUID {@min 32} {@max 32}
|
* @param string $proUid {@min 32} {@max 32}
|
||||||
* @param string $sTaskUID {@min 32} {@max 32}
|
* @param string $tasUid {@min 32} {@max 32}
|
||||||
* @param string $sAssigneeUID {@min 32} {@max 32}
|
* @param string $uid {@min 32} {@max 32}
|
||||||
* @param string $assType {@choice user,group}
|
* @param string $type {@choice user,group}
|
||||||
*
|
*
|
||||||
* return array
|
* @return array
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
*/
|
*/
|
||||||
public function addTaskAssignee($sProcessUID, $sTaskUID, $sAssigneeUID, $assType)
|
public function addTaskAssignee($proUid, $tasUid, $uid, $type)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
Validator::proUid($sProcessUID, '$prj_uid');
|
Validator::proUid($proUid, '$prj_uid');
|
||||||
$this->validateActUid($sTaskUID);
|
$this->validateActUid($tasUid);
|
||||||
$iType = 1;
|
$taskUser = new TaskUser();
|
||||||
$iRelation = '';
|
$response = $taskUser->getAssigment($tasUid, $uid);
|
||||||
$oCriteria = new \Criteria('workflow');
|
if (!empty($response)) {
|
||||||
$oCriteria->addSelectColumn( \TaskUserPeer::TU_RELATION );
|
throw new Exception(G::LoadTranslation("ID_ALREADY_ASSIGNED", [$uid, $tasUid]));
|
||||||
$oCriteria->add(\TaskUserPeer::USR_UID, $sAssigneeUID );
|
|
||||||
$oCriteria->add(\TaskUserPeer::TAS_UID, $sTaskUID );
|
|
||||||
$oCriteria->add(\TaskUserPeer::TU_TYPE, $iType );
|
|
||||||
$oTaskUser = \TaskUserPeer::doSelectRS( $oCriteria );
|
|
||||||
$oTaskUser->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
|
||||||
while ($oTaskUser->next()) {
|
|
||||||
$aRow = $oTaskUser->getRow();
|
|
||||||
$iRelation = $aRow['TU_RELATION'];
|
|
||||||
}
|
|
||||||
$oTaskUser = \TaskUserPeer::retrieveByPK( $sTaskUID, $sAssigneeUID, $iType, $iRelation );
|
|
||||||
if (! is_null( $oTaskUser )) {
|
|
||||||
throw new \Exception(\G::LoadTranslation("ID_ALREADY_ASSIGNED", array($sAssigneeUID, $sTaskUID)));
|
|
||||||
} else {
|
} else {
|
||||||
$oTypeAssigneeG = \GroupwfPeer::retrieveByPK( $sAssigneeUID );
|
$groupUid = Groupwf::query()->select()->group($uid)->get()->toArray();
|
||||||
$oTypeAssigneeU = \UsersPeer::retrieveByPK( $sAssigneeUID );
|
$userUid = User::query()->select()->user($uid)->get()->toArray();
|
||||||
if (is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
if (empty($groupUid) && empty($userUid)) {
|
||||||
throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
|
throw new Exception(G::LoadTranslation("ID_DOES_NOT_CORRESPOND", [$uid, $type]));
|
||||||
}
|
}
|
||||||
if (is_null( $oTypeAssigneeG ) && ! is_null( $oTypeAssigneeU) ) {
|
if (empty($groupUid) && !empty($userUid) && $type !== "user") {
|
||||||
$type = "user";
|
throw new Exception(G::LoadTranslation("ID_DOES_NOT_CORRESPOND", [$uid, $type]));
|
||||||
if ( $type != $assType ) {
|
|
||||||
throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (! is_null( $oTypeAssigneeG ) && is_null( $oTypeAssigneeU ) ) {
|
if (!empty($groupUid) && empty($userUid) && $type !== "group") {
|
||||||
$type = "group";
|
throw new Exception(G::LoadTranslation("ID_DOES_NOT_CORRESPOND", [$uid, $type]));
|
||||||
if ( $type != $assType ) {
|
|
||||||
throw new \Exception(\G::LoadTranslation("ID_DOES_NOT_CORRESPOND", array($sAssigneeUID, $assType)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$oTaskUser = new \TaskUser();
|
|
||||||
if ( $assType == "user" ) {
|
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
|
||||||
'USR_UID' => $sAssigneeUID,
|
|
||||||
'TU_TYPE' => $iType,
|
|
||||||
'TU_RELATION' => 1));
|
|
||||||
} else {
|
|
||||||
$oTaskUser->create(array('TAS_UID' => $sTaskUID,
|
|
||||||
'USR_UID' => $sAssigneeUID,
|
|
||||||
'TU_TYPE' => $iType,
|
|
||||||
'TU_RELATION' => 2));
|
|
||||||
}
|
}
|
||||||
|
// Register the assigment
|
||||||
|
$attributes = [
|
||||||
|
'TAS_UID' => $tasUid,
|
||||||
|
'USR_UID' => $uid,
|
||||||
|
'TU_TYPE' => 1,
|
||||||
|
'TU_RELATION' => ($type === "user") ? 1 : 2
|
||||||
|
];
|
||||||
|
$assigment = TaskUser::create($attributes);
|
||||||
|
// Register the action in audit log
|
||||||
|
$assignTask = ($type === "user") ? 'AssignUserTask' : 'AssignGroupTask';
|
||||||
|
G::auditlog($assignTask, 'Assign ' . $type . ' to Task -> ' . $tasUid . ',' . $type . ' Uid -> ' . $uid);
|
||||||
}
|
}
|
||||||
} catch ( \Exception $e ) {
|
} catch (Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,16 +29,21 @@ class AuditLog
|
|||||||
$this->columns = ['date', 'workspace', 'ip', 'id', 'user', 'action', 'description'];
|
$this->columns = ['date', 'workspace', 'ip', 'id', 'user', 'action', 'description'];
|
||||||
|
|
||||||
$this->actions = [
|
$this->actions = [
|
||||||
|
// User
|
||||||
"CreateUser" => G::LoadTranslation("ID_CREATE_USER"),
|
"CreateUser" => G::LoadTranslation("ID_CREATE_USER"),
|
||||||
"UpdateUser" => G::LoadTranslation("ID_UPDATE_USER"),
|
"UpdateUser" => G::LoadTranslation("ID_UPDATE_USER"),
|
||||||
"DeleteUser" => G::LoadTranslation("ID_DELETE_USER"),
|
"DeleteUser" => G::LoadTranslation("ID_DELETE_USER"),
|
||||||
"EnableUser" => G::LoadTranslation("ID_ENABLE_USER"),
|
"EnableUser" => G::LoadTranslation("ID_ENABLE_USER"),
|
||||||
"DisableUser" => G::LoadTranslation("ID_DISABLE_USER"),
|
"DisableUser" => G::LoadTranslation("ID_DISABLE_USER"),
|
||||||
"AssignAuthenticationSource" => G::LoadTranslation("ID_ASSIGN_AUTHENTICATION_SOURCE"),
|
|
||||||
"AssignUserToGroup" => G::LoadTranslation("ID_ASSIGN_USER_TO_GROUP"),
|
"AssignUserToGroup" => G::LoadTranslation("ID_ASSIGN_USER_TO_GROUP"),
|
||||||
|
"RemoveUser" => G::LoadTranslation("ID_REMOVE_USER"),
|
||||||
|
// Authentication
|
||||||
|
"AssignAuthenticationSource" => G::LoadTranslation("ID_ASSIGN_AUTHENTICATION_SOURCE"),
|
||||||
"CreateAuthSource" => G::LoadTranslation("ID_CREATE_AUTH_SOURCE"),
|
"CreateAuthSource" => G::LoadTranslation("ID_CREATE_AUTH_SOURCE"),
|
||||||
"UpdateAuthSource" => G::LoadTranslation("ID_UPDATE_AUTH_SOURCE"),
|
"UpdateAuthSource" => G::LoadTranslation("ID_UPDATE_AUTH_SOURCE"),
|
||||||
"DeleteAuthSource" => G::LoadTranslation("ID_DELETE_AUTH_SOURCE"),
|
"DeleteAuthSource" => G::LoadTranslation("ID_DELETE_AUTH_SOURCE"),
|
||||||
|
// Role
|
||||||
|
"AssignRole" => G::LoadTranslation("ID_ASSIGN_ROLE"),
|
||||||
"CreateRole" => G::LoadTranslation("ID_CREATE_ROLE"),
|
"CreateRole" => G::LoadTranslation("ID_CREATE_ROLE"),
|
||||||
"UpdateRole" => G::LoadTranslation("ID_UPDATE_ROLE"),
|
"UpdateRole" => G::LoadTranslation("ID_UPDATE_ROLE"),
|
||||||
"DeleteRole" => G::LoadTranslation("ID_DELETE_ROLE"),
|
"DeleteRole" => G::LoadTranslation("ID_DELETE_ROLE"),
|
||||||
@@ -46,70 +51,83 @@ class AuditLog
|
|||||||
"DeleteUserToRole" => G::LoadTranslation("ID_DELETE_USER_TO_ROLE"),
|
"DeleteUserToRole" => G::LoadTranslation("ID_DELETE_USER_TO_ROLE"),
|
||||||
"AddPermissionToRole" => G::LoadTranslation("ID_ADD_PERMISSION_TO_ROLE"),
|
"AddPermissionToRole" => G::LoadTranslation("ID_ADD_PERMISSION_TO_ROLE"),
|
||||||
"DeletePermissionToRole" => G::LoadTranslation("ID_DELETE_PERMISSION_TO_ROLE"),
|
"DeletePermissionToRole" => G::LoadTranslation("ID_DELETE_PERMISSION_TO_ROLE"),
|
||||||
|
// Skin
|
||||||
"CreateSkin" => G::LoadTranslation("ID_CREATE_SKIN"),
|
"CreateSkin" => G::LoadTranslation("ID_CREATE_SKIN"),
|
||||||
"ImportSkin" => G::LoadTranslation("ID_IMPORT_SKIN"),
|
"ImportSkin" => G::LoadTranslation("ID_IMPORT_SKIN"),
|
||||||
"ExportSkin" => G::LoadTranslation("ID_EXPORT_SKIN"),
|
"ExportSkin" => G::LoadTranslation("ID_EXPORT_SKIN"),
|
||||||
"DeleteSkin" => G::LoadTranslation("ID_DELETE_SKIN"),
|
"DeleteSkin" => G::LoadTranslation("ID_DELETE_SKIN"),
|
||||||
|
// Group
|
||||||
"CreateGroup" => G::LoadTranslation("ID_CREATE_GROUP"),
|
"CreateGroup" => G::LoadTranslation("ID_CREATE_GROUP"),
|
||||||
"UpdateGroup" => G::LoadTranslation("ID_UPDATE_GROUP"),
|
"UpdateGroup" => G::LoadTranslation("ID_UPDATE_GROUP"),
|
||||||
"DeleteGroup" => G::LoadTranslation("ID_DELETE_GROUP"),
|
"DeleteGroup" => G::LoadTranslation("ID_DELETE_GROUP"),
|
||||||
|
// Category
|
||||||
"CreateCategory" => G::LoadTranslation("ID_CREATE_CATEGORY"),
|
"CreateCategory" => G::LoadTranslation("ID_CREATE_CATEGORY"),
|
||||||
"UpdateCategory" => G::LoadTranslation("ID_UPDATE_CATEGORY"),
|
"UpdateCategory" => G::LoadTranslation("ID_UPDATE_CATEGORY"),
|
||||||
"DeleteCategory" => G::LoadTranslation("ID_DELETE_CATEGORY"),
|
"DeleteCategory" => G::LoadTranslation("ID_DELETE_CATEGORY"),
|
||||||
|
// Cache
|
||||||
"BuildCache" => G::LoadTranslation("ID_BUILD_CACHE"),
|
"BuildCache" => G::LoadTranslation("ID_BUILD_CACHE"),
|
||||||
"ClearCache" => G::LoadTranslation("ID_CLEAR_CACHE"),
|
"ClearCache" => G::LoadTranslation("ID_CLEAR_CACHE"),
|
||||||
|
// Cron
|
||||||
"ClearCron" => G::LoadTranslation("ID_CLEAR_CRON"),
|
"ClearCron" => G::LoadTranslation("ID_CLEAR_CRON"),
|
||||||
"UpdateEnvironmentSettings" => G::LoadTranslation("ID_UPDATE_ENVIRONMENT_SETTINGS"),
|
"UpdateEnvironmentSettings" => G::LoadTranslation("ID_UPDATE_ENVIRONMENT_SETTINGS"),
|
||||||
"UpdateLoginSettings" => G::LoadTranslation("ID_UPDATE_LOGIN_SETTINGS"),
|
"UpdateLoginSettings" => G::LoadTranslation("ID_UPDATE_LOGIN_SETTINGS"),
|
||||||
"EnableHeartBeat" => G::LoadTranslation("ID_ENABLE_HEART_BEAT"),
|
"EnableHeartBeat" => G::LoadTranslation("ID_ENABLE_HEART_BEAT"),
|
||||||
"DisableHeartBeat" => G::LoadTranslation("ID_DISABLE_HEART_BEAT"),
|
"DisableHeartBeat" => G::LoadTranslation("ID_DISABLE_HEART_BEAT"),
|
||||||
|
// PmTables
|
||||||
"CreatePmtable" => G::LoadTranslation("ID_CREATE_PMTABLE"),
|
"CreatePmtable" => G::LoadTranslation("ID_CREATE_PMTABLE"),
|
||||||
"UpdatePmtable" => G::LoadTranslation("ID_UPDATE_PMTABLE"),
|
"UpdatePmtable" => G::LoadTranslation("ID_UPDATE_PMTABLE"),
|
||||||
"DeletePmtable" => G::LoadTranslation("ID_DELETE_PMTABLE"),
|
"DeletePmtable" => G::LoadTranslation("ID_DELETE_PMTABLE"),
|
||||||
"AddDataPmtable" => G::LoadTranslation("ID_ADD_DATA_PMTABLE"),
|
"AddDataPmtable" => G::LoadTranslation("ID_ADD_DATA_PMTABLE"),
|
||||||
"UpdateDataPmtable" => G::LoadTranslation("ID_UPDATE_DATA_PMTABLE"),
|
"UpdateDataPmtable" => G::LoadTranslation("ID_UPDATE_DATA_PMTABLE"),
|
||||||
"DeleteDataPmtable" => G::LoadTranslation("ID_DELETE_DATA_PMTABLE"),
|
"DeleteDataPmtable" => G::LoadTranslation("ID_DELETE_DATA_PMTABLE"),
|
||||||
"ImportTable" => G::LoadTranslation("ID_IMPORT_TABLE"),
|
"ImportPmTable" => G::LoadTranslation("ID_IMPORT_TABLE"),
|
||||||
"ExportTable" => G::LoadTranslation("ID_EXPORT_TABLE"),
|
"ExportPmTable" => G::LoadTranslation("ID_EXPORT_TABLE"),
|
||||||
|
// Calendar
|
||||||
"CreateCalendar" => G::LoadTranslation("ID_CREATE_CALENDAR"),
|
"CreateCalendar" => G::LoadTranslation("ID_CREATE_CALENDAR"),
|
||||||
"UpdateCalendar" => G::LoadTranslation("ID_UPDATE_CALENDAR"),
|
"UpdateCalendar" => G::LoadTranslation("ID_UPDATE_CALENDAR"),
|
||||||
"DeleteCalendar" => G::LoadTranslation("ID_DELETE_CALENDAR"),
|
"DeleteCalendar" => G::LoadTranslation("ID_DELETE_CALENDAR"),
|
||||||
|
// Dashlet
|
||||||
"CreateDashletInstance" => G::LoadTranslation("ID_CREATE_DASHLET_INSTANCE"),
|
"CreateDashletInstance" => G::LoadTranslation("ID_CREATE_DASHLET_INSTANCE"),
|
||||||
"UpdateDashletInstance" => G::LoadTranslation("ID_UPDATE_DASHLET_INSTANCE"),
|
"UpdateDashletInstance" => G::LoadTranslation("ID_UPDATE_DASHLET_INSTANCE"),
|
||||||
"DeleteDashletInstance" => G::LoadTranslation("ID_DELETE_DASHLET_INSTANCE"),
|
"DeleteDashletInstance" => G::LoadTranslation("ID_DELETE_DASHLET_INSTANCE"),
|
||||||
"CreateDepartament" => G::LoadTranslation("ID_CREATE_DEPARTAMENT"),
|
// Department
|
||||||
"CreateSubDepartament" => G::LoadTranslation("ID_CREATE_SUB_DEPARTAMENT"),
|
"CreateDepartment" => G::LoadTranslation("ID_CREATE_DEPARTAMENT"),
|
||||||
"UpdateDepartament" => G::LoadTranslation("ID_UPDATE_DEPARTAMENT"),
|
"CreateSubDepartment" => G::LoadTranslation("ID_CREATE_SUB_DEPARTAMENT"),
|
||||||
"UpdateSubDepartament" => G::LoadTranslation("ID_UPDATE_SUB_DEPARTAMENT"),
|
"UpdateDepartment" => G::LoadTranslation("ID_UPDATE_DEPARTAMENT"),
|
||||||
"DeleteDepartament" => G::LoadTranslation("ID_DELETE_DEPARTAMENT"),
|
"UpdateSubDepartment" => G::LoadTranslation("ID_UPDATE_SUB_DEPARTAMENT"),
|
||||||
"AssignManagerToDepartament" => G::LoadTranslation("ID_ASSIGN_MANAGER_TO_DEPARTAMENT"),
|
"DeleteDepartment" => G::LoadTranslation("ID_DELETE_DEPARTAMENT"),
|
||||||
"AssignUserToDepartament" => G::LoadTranslation("ID_ASSIGN_USER_TO_DEPARTAMENT"),
|
"AssignManagerToDepartment" => G::LoadTranslation("ID_ASSIGN_MANAGER_TO_DEPARTAMENT"),
|
||||||
"RemoveUsersFromDepartament" => G::LoadTranslation("ID_REMOVE_USERS_FROM_DEPARTAMENT"),
|
"AssignUserToDepartment" => G::LoadTranslation("ID_ASSIGN_USER_TO_DEPARTAMENT"),
|
||||||
"AssignUserToGroup" => G::LoadTranslation("ID_ASSIGN_USER_TO_GROUP"),
|
"RemoveUsersFromDepartment" => G::LoadTranslation("ID_REMOVE_USERS_FROM_DEPARTAMENT"),
|
||||||
|
// Language
|
||||||
"UploadLanguage" => G::LoadTranslation("ID_UPLOAD_LANGUAGE"),
|
"UploadLanguage" => G::LoadTranslation("ID_UPLOAD_LANGUAGE"),
|
||||||
"ExportLanguage" => G::LoadTranslation("ID_EXPORT_LANGUAGE"),
|
"ExportLanguage" => G::LoadTranslation("ID_EXPORT_LANGUAGE"),
|
||||||
"DeleteLanguage" => G::LoadTranslation("ID_DELETE_LAGUAGE"),
|
"DeleteLanguage" => G::LoadTranslation("ID_DELETE_LAGUAGE"),
|
||||||
|
// Settings
|
||||||
"UploadSystemSettings" => G::LoadTranslation("ID_UPLOAD_SYSTEM_SETTINGS"),
|
"UploadSystemSettings" => G::LoadTranslation("ID_UPLOAD_SYSTEM_SETTINGS"),
|
||||||
"UpdateEmailSettings" => G::LoadTranslation("ID_UPDATE_EMAIL_SETTINGS"),
|
"UpdateEmailSettings" => G::LoadTranslation("ID_UPDATE_EMAIL_SETTINGS"),
|
||||||
"CreateEmailSettings" => G::LoadTranslation("ID_CREATE_EMAIL_SETTINGS"),
|
"CreateEmailSettings" => G::LoadTranslation("ID_CREATE_EMAIL_SETTINGS"),
|
||||||
|
// Logo
|
||||||
"UploadLogo" => G::LoadTranslation("ID_UPLOAD_LOGO"),
|
"UploadLogo" => G::LoadTranslation("ID_UPLOAD_LOGO"),
|
||||||
"DeleteLogo" => G::LoadTranslation("ID_DELETE_LOGO"),
|
"DeleteLogo" => G::LoadTranslation("ID_DELETE_LOGO"),
|
||||||
"RestoreLogo" => G::LoadTranslation("ID_RESTORE_LOGO"),
|
"RestoreLogo" => G::LoadTranslation("ID_RESTORE_LOGO"),
|
||||||
"ReplaceLogo" => G::LoadTranslation("ID_REPLACE_LOGO"),
|
"ReplaceLogo" => G::LoadTranslation("ID_REPLACE_LOGO"),
|
||||||
|
// Plugin
|
||||||
"InstallPlugin" => G::LoadTranslation("ID_INSTALL_PLUGIN"),
|
"InstallPlugin" => G::LoadTranslation("ID_INSTALL_PLUGIN"),
|
||||||
"EnablePlugin" => G::LoadTranslation("ID_ENABLE_PLUGIN"),
|
"EnablePlugin" => G::LoadTranslation("ID_ENABLE_PLUGIN"),
|
||||||
"DisablePlugin" => G::LoadTranslation("ID_DISABLE_PLUGIN"),
|
"DisablePlugin" => G::LoadTranslation("ID_DISABLE_PLUGIN"),
|
||||||
"RemovePlugin" => G::LoadTranslation("ID_REMOVE_PLUGIN"),
|
"RemovePlugin" => G::LoadTranslation("ID_REMOVE_PLUGIN"),
|
||||||
"SetColumns" => G::LoadTranslation("ID_SET_COLUMNS"),
|
// AuditLog
|
||||||
"EnableAuditLog" => G::LoadTranslation("ID_ENABLE_AUDIT_LOG"),
|
"EnableAuditLog" => G::LoadTranslation("ID_ENABLE_AUDIT_LOG"),
|
||||||
"DisableAuditLog" => G::LoadTranslation("ID_DISABLE_AUDIT_LOG"),
|
"DisableAuditLog" => G::LoadTranslation("ID_DISABLE_AUDIT_LOG"),
|
||||||
|
// Process
|
||||||
"EditProcess" => G::LoadTranslation("ID_EDIT_PROCESS"),
|
"EditProcess" => G::LoadTranslation("ID_EDIT_PROCESS"),
|
||||||
"ExportProcess" => G::LoadTranslation("ID_EXPORT_PROCESS"),
|
"ExportProcess" => G::LoadTranslation("ID_EXPORT_PROCESS"),
|
||||||
|
"ImportProcess" => G::LoadTranslation("ID_IMPORT_PROCESS"),
|
||||||
|
"DeleteProcess" => G::LoadTranslation("ID_DELETE_PROCESS"),
|
||||||
|
// Web entry
|
||||||
"WebEntry" => G::LoadTranslation("ID_WEB_ENTRY"),
|
"WebEntry" => G::LoadTranslation("ID_WEB_ENTRY"),
|
||||||
"AssignRole" => G::LoadTranslation("ID_ASSIGN_ROLE"),
|
// Diagram
|
||||||
"RemoveUser" => G::LoadTranslation("ID_REMOVE_USER"),
|
|
||||||
"AddTask" => G::LoadTranslation("ID_ADD_TASK"),
|
|
||||||
"AddSubProcess" => G::LoadTranslation("ID_ADD_SUB_PROCESS"),
|
|
||||||
"SaveTaskPosition" => G::LoadTranslation("ID_SAVE_TASK_POSITION"),
|
"SaveTaskPosition" => G::LoadTranslation("ID_SAVE_TASK_POSITION"),
|
||||||
"AddHorizontalLine" => G::LoadTranslation("ID_ADD_HORIZONTAL_LINE"),
|
"AddHorizontalLine" => G::LoadTranslation("ID_ADD_HORIZONTAL_LINE"),
|
||||||
"AddVerticalLine" => G::LoadTranslation("ID_ADD_VERTICAL_LINE"),
|
"AddVerticalLine" => G::LoadTranslation("ID_ADD_VERTICAL_LINE"),
|
||||||
@@ -120,60 +138,75 @@ class AuditLog
|
|||||||
"UpdateText" => G::LoadTranslation("ID_UPDATE_TEXT"),
|
"UpdateText" => G::LoadTranslation("ID_UPDATE_TEXT"),
|
||||||
"SaveTextPosition" => G::LoadTranslation("ID_SAVE_TEXT_POSITION"),
|
"SaveTextPosition" => G::LoadTranslation("ID_SAVE_TEXT_POSITION"),
|
||||||
"DeleteText" => G::LoadTranslation("ID_DELETE_TEXT"),
|
"DeleteText" => G::LoadTranslation("ID_DELETE_TEXT"),
|
||||||
|
"EditEvent" => G::LoadTranslation("ID_EDIT_EVENT"),
|
||||||
|
"DeleteEvent" => G::LoadTranslation("ID_EVENT_DELETED"),
|
||||||
|
// File Manager
|
||||||
"ProcessFileManager" => G::LoadTranslation("ID_PROCESS_FILE_MANAGER"),
|
"ProcessFileManager" => G::LoadTranslation("ID_PROCESS_FILE_MANAGER"),
|
||||||
|
// Process Permission
|
||||||
"ProcessPermissions" => G::LoadTranslation("ID_PROCESS_PERMISSIONS"),
|
"ProcessPermissions" => G::LoadTranslation("ID_PROCESS_PERMISSIONS"),
|
||||||
"DeletePermissions" => G::LoadTranslation("ID_DELETE_PERMISSIONS"),
|
"DeletePermissions" => G::LoadTranslation("ID_DELETE_PERMISSIONS"),
|
||||||
|
// Supervising
|
||||||
"AssignSupervisorDynaform" => G::LoadTranslation("ID_ASSIGN_SUPERVISOR_DYNAFORM"),
|
"AssignSupervisorDynaform" => G::LoadTranslation("ID_ASSIGN_SUPERVISOR_DYNAFORM"),
|
||||||
"RemoveSupervisorDynaform" => G::LoadTranslation("ID_REMOVE_SUPERVISOR_DYNAFORM"),
|
"RemoveSupervisorDynaform" => G::LoadTranslation("ID_REMOVE_SUPERVISOR_DYNAFORM"),
|
||||||
"AssignSupervisorInput" => G::LoadTranslation("ID_ASSIGN_SUPERVISOR_INPUT"),
|
"AssignSupervisorInput" => G::LoadTranslation("ID_ASSIGN_SUPERVISOR_INPUT"),
|
||||||
"RemoveSupervisorInput" => G::LoadTranslation("ID_REMOVE_SUPERVISOR_INPUT"),
|
"RemoveSupervisorInput" => G::LoadTranslation("ID_REMOVE_SUPERVISOR_INPUT"),
|
||||||
|
// Case Tracker
|
||||||
"CaseTrackers" => G::LoadTranslation("ID_CASE_TRACKERS"),
|
"CaseTrackers" => G::LoadTranslation("ID_CASE_TRACKERS"),
|
||||||
"EditEvent" => G::LoadTranslation("ID_EDIT_EVENT"),
|
// Dynaform
|
||||||
"DeleteEvent" => G::LoadTranslation("ID_EVENT_DELETED"),
|
|
||||||
"CreateDynaform" => G::LoadTranslation("ID_CREATE_DYNAFORM"),
|
"CreateDynaform" => G::LoadTranslation("ID_CREATE_DYNAFORM"),
|
||||||
"UpdateDynaform" => G::LoadTranslation("ID_UPDATE_DYNAFORM"),
|
"UpdateDynaform" => G::LoadTranslation("ID_UPDATE_DYNAFORM"),
|
||||||
"DeleteDynaform" => G::LoadTranslation("ID_DELETE_DYNAFORM"),
|
"DeleteDynaform" => G::LoadTranslation("ID_DELETE_DYNAFORM"),
|
||||||
"ConditionsEditorDynaform" => G::LoadTranslation("ID_CONDITIONS_EDITOR_DYNAFORM"),
|
"ConditionsEditorDynaform" => G::LoadTranslation("ID_CONDITIONS_EDITOR_DYNAFORM"),
|
||||||
|
"SetColumns" => G::LoadTranslation("ID_SET_COLUMNS"),
|
||||||
|
// Case Scheduler
|
||||||
"CreateCaseScheduler" => G::LoadTranslation("ID_CREATE_CASE_SCHEDULER"),
|
"CreateCaseScheduler" => G::LoadTranslation("ID_CREATE_CASE_SCHEDULER"),
|
||||||
"UpdateCaseScheduler" => G::LoadTranslation("ID_UPDATE_CASE_SCHEDULER"),
|
"UpdateCaseScheduler" => G::LoadTranslation("ID_UPDATE_CASE_SCHEDULER"),
|
||||||
"DeleteCaseScheduler" => G::LoadTranslation("ID_DELETE_CASE_SCHEDULER"),
|
"DeleteCaseScheduler" => G::LoadTranslation("ID_DELETE_CASE_SCHEDULER"),
|
||||||
|
// Database Connection
|
||||||
"CreateDatabaseConnection" => G::LoadTranslation("ID_CREATE_DATABASE_CONNECTION"),
|
"CreateDatabaseConnection" => G::LoadTranslation("ID_CREATE_DATABASE_CONNECTION"),
|
||||||
"UpdateDatabaseConnection" => G::LoadTranslation("ID_UPDATE_DATABASE_CONNECTION"),
|
"UpdateDatabaseConnection" => G::LoadTranslation("ID_UPDATE_DATABASE_CONNECTION"),
|
||||||
"DeleteDatabaseConnection" => G::LoadTranslation("ID_DELETE_DATABASE_CONNECTION"),
|
"DeleteDatabaseConnection" => G::LoadTranslation("ID_DELETE_DATABASE_CONNECTION"),
|
||||||
|
// Input Document
|
||||||
"CreateInputDocument" => G::LoadTranslation("ID_CREATE_INPUT_DOCUMENT"),
|
"CreateInputDocument" => G::LoadTranslation("ID_CREATE_INPUT_DOCUMENT"),
|
||||||
"UpdateInputDocument" => G::LoadTranslation("ID_UPDATE_INPUT_DOCUMENT"),
|
"UpdateInputDocument" => G::LoadTranslation("ID_UPDATE_INPUT_DOCUMENT"),
|
||||||
"DeleteInputDocument" => G::LoadTranslation("ID_DELETE_INPUT_DOCUMENT"),
|
"DeleteInputDocument" => G::LoadTranslation("ID_DELETE_INPUT_DOCUMENT"),
|
||||||
|
// Output Document
|
||||||
"CreateOutputDocument" => G::LoadTranslation("ID_CREATE_OUTPUT_DOCUMENT"),
|
"CreateOutputDocument" => G::LoadTranslation("ID_CREATE_OUTPUT_DOCUMENT"),
|
||||||
"UpdateOutputDocument" => G::LoadTranslation("ID_UPDATE_OUTPUT_DOCUMENT"),
|
"UpdateOutputDocument" => G::LoadTranslation("ID_UPDATE_OUTPUT_DOCUMENT"),
|
||||||
"DeleteOutputDocument" => G::LoadTranslation("ID_DELETE_OUTPUT_DOCUMENT"),
|
"DeleteOutputDocument" => G::LoadTranslation("ID_DELETE_OUTPUT_DOCUMENT"),
|
||||||
|
// Trigger
|
||||||
"CreateTrigger" => G::LoadTranslation("ID_CREATE_TRIGGER"),
|
"CreateTrigger" => G::LoadTranslation("ID_CREATE_TRIGGER"),
|
||||||
"UpdateTrigger" => G::LoadTranslation("ID_UPDATE_TRIGGER"),
|
"UpdateTrigger" => G::LoadTranslation("ID_UPDATE_TRIGGER"),
|
||||||
"DeleteTrigger" => G::LoadTranslation("ID_DELETE_TRIGGER"),
|
"DeleteTrigger" => G::LoadTranslation("ID_DELETE_TRIGGER"),
|
||||||
"DerivationRule" => G::LoadTranslation("ID_DERIVATION_RULE"),
|
|
||||||
"DeleteTask" => G::LoadTranslation("ID_DELETE_TASK"),
|
|
||||||
"DeleteSubProcess" => G::LoadTranslation("ID_DELETE_SUB_PROCESS"),
|
|
||||||
"OptionsMenuTask" => G::LoadTranslation("ID_OPTIONS_MENU_TASK"),
|
|
||||||
"SaveTaskProperties" => G::LoadTranslation("ID_SAVE_TASK_PROPERTIES"),
|
|
||||||
"DeleteRoutes" => G::LoadTranslation("ID_DELETE_ROUTES"),
|
|
||||||
"NewConditionFromStep" => G::LoadTranslation("ID_NEW_CONDITION_FROM_STEP"),
|
|
||||||
"AssignTrigger" => G::LoadTranslation("ID_ASSIGN_TRIGGER"),
|
"AssignTrigger" => G::LoadTranslation("ID_ASSIGN_TRIGGER"),
|
||||||
"UpTrigger" => G::LoadTranslation("ID_UP_TRIGGER"),
|
"UpTrigger" => G::LoadTranslation("ID_UP_TRIGGER"),
|
||||||
"DownTrigger" => G::LoadTranslation("ID_DOWN_TRIGGER"),
|
"DownTrigger" => G::LoadTranslation("ID_DOWN_TRIGGER"),
|
||||||
|
"DerivationRule" => G::LoadTranslation("ID_DERIVATION_RULE"),
|
||||||
|
"OptionsMenuTask" => G::LoadTranslation("ID_OPTIONS_MENU_TASK"),
|
||||||
|
"DeleteRoutes" => G::LoadTranslation("ID_DELETE_ROUTES"),
|
||||||
|
// Steps
|
||||||
|
"NewConditionFromStep" => G::LoadTranslation("ID_NEW_CONDITION_FROM_STEP"),
|
||||||
"StepDelete" => G::LoadTranslation("ID_STEP_DELETE"),
|
"StepDelete" => G::LoadTranslation("ID_STEP_DELETE"),
|
||||||
"StepUp" => G::LoadTranslation("ID_STEP_UP"),
|
"StepUp" => G::LoadTranslation("ID_STEP_UP"),
|
||||||
"StepDown" => G::LoadTranslation("ID_STEP_DOWN"),
|
"StepDown" => G::LoadTranslation("ID_STEP_DOWN"),
|
||||||
"SaveNewStep" => G::LoadTranslation("ID_SAVE_NEW_STEP"),
|
"SaveNewStep" => G::LoadTranslation("ID_SAVE_NEW_STEP"),
|
||||||
|
// Task
|
||||||
|
"AddTask" => G::LoadTranslation("ID_ADD_TASK"),
|
||||||
|
"AddSubProcess" => G::LoadTranslation("ID_ADD_SUB_PROCESS"),
|
||||||
"AssignUserTask" => G::LoadTranslation("ID_ASSIGN_USER_TASK"),
|
"AssignUserTask" => G::LoadTranslation("ID_ASSIGN_USER_TASK"),
|
||||||
"AssignGroupTask" => G::LoadTranslation("ID_ASSIGN_GROUP_TASK"),
|
"AssignGroupTask" => G::LoadTranslation("ID_ASSIGN_GROUP_TASK"),
|
||||||
"DeleteUserTask" => G::LoadTranslation("ID_DELETE_USER_TASK"),
|
"DeleteUserTask" => G::LoadTranslation("ID_DELETE_USER_TASK"),
|
||||||
"DeleteGroupTask" => G::LoadTranslation("ID_DELETE_GROUP_TASK"),
|
"DeleteGroupTask" => G::LoadTranslation("ID_DELETE_GROUP_TASK"),
|
||||||
"ImportProcess" => G::LoadTranslation("ID_IMPORT_PROCESS"),
|
"DeleteTask" => G::LoadTranslation("ID_DELETE_TASK"),
|
||||||
"DeleteProcess" => G::LoadTranslation("ID_DELETE_PROCESS"),
|
"DeleteSubProcess" => G::LoadTranslation("ID_DELETE_SUB_PROCESS"),
|
||||||
|
"SaveTaskProperties" => G::LoadTranslation("ID_SAVE_TASK_PROPERTIES"),
|
||||||
|
// GSuite
|
||||||
"GSuiteConfigurationSaved" => G::LoadTranslation("ID_G_SUITE_CONFIGURATION_SAVED"),
|
"GSuiteConfigurationSaved" => G::LoadTranslation("ID_G_SUITE_CONFIGURATION_SAVED"),
|
||||||
"GSuiteConnect" => G::LoadTranslation("ID_G_SUITE_CONNECT"),
|
"GSuiteConnect" => G::LoadTranslation("ID_G_SUITE_CONNECT"),
|
||||||
"GSuiteDisconnect" => G::LoadTranslation("ID_G_SUITE_DISCONNECT"),
|
"GSuiteDisconnect" => G::LoadTranslation("ID_G_SUITE_DISCONNECT"),
|
||||||
"GSuiteLoadGroups" => G::LoadTranslation("ID_G_SUITE_LOAD_GROUPS"),
|
"GSuiteLoadGroups" => G::LoadTranslation("ID_G_SUITE_LOAD_GROUPS"),
|
||||||
"GSuiteSyncUsers" => G::LoadTranslation("ID_G_SUITE_SYNC_USERS"),
|
"GSuiteSyncUsers" => G::LoadTranslation("ID_G_SUITE_SYNC_USERS"),
|
||||||
|
// Saml
|
||||||
"SamlEnable" => G::LoadTranslation("ID_SAML_ENABLE"),
|
"SamlEnable" => G::LoadTranslation("ID_SAML_ENABLE"),
|
||||||
"SamlProvider" => G::LoadTranslation("ID_SAML_PROVIDER")
|
"SamlProvider" => G::LoadTranslation("ID_SAML_PROVIDER")
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -29,5 +29,18 @@ class Groupwf extends Model
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(GroupUser::class, 'GRP_ID', 'GRP_ID');
|
return $this->belongsTo(GroupUser::class, 'GRP_ID', 'GRP_ID');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope for query to get the group uid
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||||
|
* @param string $uid
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
|
*/
|
||||||
|
public function scopeGroup($query, $uid)
|
||||||
|
{
|
||||||
|
return $query->where('GRP_UID', $uid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,20 @@ class TaskUser extends Model
|
|||||||
|
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that are mass assignable.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $fillable = [
|
||||||
|
'TAS_UID',
|
||||||
|
'TAS_ID',
|
||||||
|
'USR_UID',
|
||||||
|
'TU_TYPE',
|
||||||
|
'TU_RELATION',
|
||||||
|
'ASSIGNED_ID',
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the task this belongs to
|
* Return the task this belongs to
|
||||||
*/
|
*/
|
||||||
@@ -26,6 +40,21 @@ class TaskUser extends Model
|
|||||||
return $this->belongsTo(User::class, 'USR_UID', 'USR_UID');
|
return $this->belongsTo(User::class, 'USR_UID', 'USR_UID');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope for query to get the assigment
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||||
|
* @param string $tasUid
|
||||||
|
* @param string $usrUid
|
||||||
|
* @param integer $type
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
|
*/
|
||||||
|
public function scopeAssigment($query, $tasUid, $usrUid, $type = 1)
|
||||||
|
{
|
||||||
|
return $query->where('TAS_UID', $tasUid)->where('USR_UID', $usrUid)->where('TU_TYPE', $type);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the task self services related to the user
|
* Get the task self services related to the user
|
||||||
*
|
*
|
||||||
@@ -69,4 +98,22 @@ class TaskUser extends Model
|
|||||||
|
|
||||||
return $tasks;
|
return $tasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the specific assigment related to the task, by default the normal assigment
|
||||||
|
*
|
||||||
|
* @param string $tasUid
|
||||||
|
* @param string $uid
|
||||||
|
* @param integer $type, can be 1 = Normal or 2 = Ad-hoc
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getAssigment($tasUid, $uid, $type = 1)
|
||||||
|
{
|
||||||
|
$query = TaskUser::query()->select()
|
||||||
|
->assigment($tasUid, $uid, $type);
|
||||||
|
$result = $query->get()->toArray();
|
||||||
|
|
||||||
|
return head($result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -41,8 +41,7 @@ class User extends Model
|
|||||||
*/
|
*/
|
||||||
public function scopeUser($query, string $usrUid)
|
public function scopeUser($query, string $usrUid)
|
||||||
{
|
{
|
||||||
$result = $query->where('USR_UID', '=', $usrUid);
|
return $query->where('USR_UID', '=', $usrUid);
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user