Files
luos/workflow/engine/src/ProcessMaker/Model/Task.php

71 lines
2.0 KiB
PHP
Raw Normal View History

<?php
namespace ProcessMaker\Model;
2020-03-24 10:34:37 -04:00
use G;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
protected $table = 'TASK';
2019-05-09 14:56:36 -04:00
protected $primaryKey = 'TAS_ID';
// We do not have create/update timestamps for this table
public $timestamps = false;
public function process()
{
return $this->belongsTo(Process::class, 'PRO_UID', 'PRO_UID');
}
public function delegations()
{
return $this->hasMany(Delegation::class, 'TAS_ID', 'TAS_ID');
}
2019-05-13 16:44:40 -04:00
/**
* Scope a query to only include self-service
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeIsSelfService($query)
{
return $query->where('TAS_ASSIGN_TYPE', '=', 'SELF_SERVICE')
->where('TAS_GROUP_VARIABLE', '=', '');
}
2020-03-24 10:34:37 -04:00
/**
* Get the title of the task
*
* @param integer $tasId
*
* @return string
*/
public function title($tasId)
{
$query = Task::query()->select('TAS_TITLE');
$query->where('TAS_ID', $tasId);
$results = $query->get();
$title = '';
$results->each(function ($item, $key) use (&$title) {
$title = $item->TAS_TITLE;
switch ($title) {
case "INTERMEDIATE-THROW-EMAIL-EVENT":
$title = G::LoadTranslation('ID_INTERMEDIATE_THROW_EMAIL_EVENT');
break;
case "INTERMEDIATE-THROW-MESSAGE-EVENT":
$title = G::LoadTranslation('ID_INTERMEDIATE_THROW_MESSAGE_EVENT');
break;
case "INTERMEDIATE-CATCH-MESSAGE-EVENT":
$title = G::LoadTranslation('ID_INTERMEDIATE_CATCH_MESSAGE_EVENT');
break;
case "INTERMEDIATE-CATCH-TIMER-EVENT":
$title = G::LoadTranslation('ID_INTERMEDIATE_CATCH_TIMER_EVENT');
break;
}
});
return $title;
}
}