Files
jandl-taskmanager-app/be/app/Models/MasterTask.php
T
2023-02-07 12:29:05 +01:00

57 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class MasterTask extends Model
{
use HasFactory;
public $timestamps = true;
public $guarded = ['id'];
public function subtasks()
{
return $this->hasMany(SubTask::class);
}
public function project()
{
return $this->belongsTo(Project::class);
}
public function attachments()
{
return $this->hasMany(Attachment::class);
}
public function team()
{
return $this->belongsTo(Team::class);
}
// vracia userov, ktori su priradeni k subtasku ale nepatria do teamu
public function getUsersOutsideTeamAttribute()
{
$users = $this->subtasks->pluck('user')->unique();
// ak nie je uvedeny ziaden team, tak sa vratia vsetci useri
if (!$this->team){
return $users;
}
return $users->filter(function ($user) {
return !in_array($this->team->id, $user->teams->pluck('id')->unique()->toArray());
});
}
// TODO dorobit logiku
public static function generateMasterTaskColor()
{
// return random value from array
return collect(['#E9FFE5', '#F6ECD3', '#FDE1FF', '#FFC9C9', '#DADEF8', '#EDFFFE'])->random();
}
}