Clean up Transformers and extract an isDeletable() method to models where it makes sense.

This commit is contained in:
Daniel Meltzer
2020-05-23 13:36:02 -04:00
parent 136df9418f
commit f0546bf689
32 changed files with 173 additions and 177 deletions
+10 -1
View File
@@ -7,10 +7,11 @@ use App\Models\SnipeModel;
use App\Models\Traits\Searchable;
use App\Models\User;
use App\Presenters\Presentable;
use DB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Gate;
use Watson\Validating\ValidatingTrait;
use DB;
class Location extends SnipeModel
{
@@ -86,6 +87,14 @@ class Location extends SnipeModel
'parent' => ['name']
];
public function isDeletable()
{
return Gate::allows('delete', $this)
&& ($this->assignedAssets()->count()===0)
&& ($this->assets()->count()===0)
&& ($this->users()->count()===0);
}
public function users()
{
return $this->hasMany('\App\Models\User', 'location_id');