Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
6 / 6 |
CRAP | |
100.00% |
12 / 12 |
| File | |
100.00% |
1 / 1 |
|
100.00% |
6 / 6 |
9 | |
100.00% |
12 / 12 |
| getUploadedByAttribute | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| moduleInstance | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| activityInstance | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| statuses | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| getStatusAttribute | |
100.00% |
1 / 1 |
4 | |
100.00% |
7 / 7 |
|||
| comments | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| <?php | |
| namespace BristolSU\Module\UploadFile\Models; | |
| use BristolSU\Support\ActivityInstance\Contracts\ActivityInstanceRepository; | |
| use BristolSU\Support\Authentication\HasResource; | |
| use BristolSU\ControlDB\Contracts\Repositories\User as UserRepository; | |
| use BristolSU\Support\ModuleInstance\Contracts\ModuleInstanceRepository; | |
| use Illuminate\Database\Eloquent\Model; | |
| use Illuminate\Database\Eloquent\SoftDeletes; | |
| use Illuminate\Support\Facades\Config; | |
| class File extends Model | |
| { | |
| use SoftDeletes, HasResource; | |
| protected $table = 'uploadfile_files'; | |
| protected $appends = ['status']; | |
| protected $fillable = [ | |
| 'title', | |
| 'description', | |
| 'filename', | |
| 'mime', | |
| 'path', | |
| 'size', | |
| 'uploaded_by', | |
| 'module_instance_id', | |
| 'activity_instance_id', | |
| ]; | |
| public function getUploadedByAttribute($uploadedById) | |
| { | |
| return app()->make(UserRepository::class)->getById($uploadedById); | |
| } | |
| public function moduleInstance() | |
| { | |
| return app(ModuleInstanceRepository::class)->getById($this->module_instance_id); | |
| } | |
| public function activityInstance() | |
| { | |
| return app(ActivityInstanceRepository::class)->getById($this->activity_instance_id); | |
| } | |
| public function statuses() | |
| { | |
| return $this->hasMany(FileStatus::class); | |
| } | |
| public function getStatusAttribute() | |
| { | |
| if($this->statuses()->count() > 0) { | |
| return $this->statuses()->latest('created_at')->first()->status; | |
| } | |
| $statuses = Config::get('uploadfile.statuses'); | |
| if(!is_array($statuses) || count($statuses) === 0) { | |
| $default = 'Awaiting Approval'; | |
| } else { | |
| $default = $statuses[0]; | |
| } | |
| return settings('initial_status', $default); | |
| } | |
| public function comments() | |
| { | |
| return $this->hasMany(Comment::class); | |
| } | |
| } |