Removed stupid count method

This commit is contained in:
snipe 2017-10-19 10:37:30 -07:00
parent 7153013fb0
commit d1de34394e
2 changed files with 24 additions and 15 deletions

View file

@ -200,17 +200,15 @@ class StatuslabelsController extends Controller
{ {
// Check if the Statuslabel exists // Check if the Statuslabel exists
if (is_null($statuslabel = Statuslabel::find($statuslabelId))) { if (is_null($statuslabel = Statuslabel::find($statuslabelId))) {
// Redirect to the blogs management page
return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.not_found')); return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.not_found'));
} }
// Check that there are no assets associated
if ($statuslabel->has_assets() == 0) { if ($statuslabel->assets()->count() == 0) {
$statuslabel->delete(); $statuslabel->delete();
// Redirect to the statuslabels management page
return redirect()->route('statuslabels.index')->with('success', trans('admin/statuslabels/message.delete.success')); return redirect()->route('statuslabels.index')->with('success', trans('admin/statuslabels/message.delete.success'));
} }
// Redirect to the asset management page
return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.assoc_assets')); return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.assoc_assets'));
} }

View file

@ -29,16 +29,6 @@ class Statuslabel extends SnipeModel
protected $fillable = ['name', 'deployable', 'pending', 'archived']; protected $fillable = ['name', 'deployable', 'pending', 'archived'];
/**
* Show count of assets with status label
*
* @todo Remove this. It's dumb.
* @return \Illuminate\Support\Collection
*/
public function has_assets()
{
return $this->hasMany('\App\Models\Asset', 'status_id')->count();
}
/** /**
* Get assets with associated status label * Get assets with associated status label
@ -64,6 +54,27 @@ class Statuslabel extends SnipeModel
} }
} }
public function scopePending()
{
return $this->where('pending', '=', 1)
->where('archived', '=', 0)
->where('deployable', '=', 0);
}
public function scopeArchived()
{
return $this->where('pending', '=', 0)
->where('archived', '=', 1)
->where('deployable', '=', 0);
}
public function scopeDeployable()
{
return $this->where('pending', '=', 0)
->where('archived', '=', 0)
->where('deployable', '=', 1);
}
public static function getStatuslabelTypesForDB($type) public static function getStatuslabelTypesForDB($type)
{ {