Add check to prevent orphaned models

This commit is contained in:
snipe
2013-11-20 07:33:41 -05:00
parent 595f151ff9
commit 1b5f0e1dd1
3 changed files with 22 additions and 3 deletions
@@ -159,11 +159,24 @@ class ManufacturersController extends AdminController {
return Redirect::to('admin/settings/manufacturers')->with('error', Lang::get('admin/manufacturers/message.not_found'));
}
// Delete the manufacturer
$manufacturer->delete();
if ($manufacturer->has_models() > 0) {
// Redirect to the manufacturers management page
// Redirect to the asset management page
return Redirect::to('admin/settings/manufacturers')->with('error', Lang::get('admin/manufacturers/message.assoc_users'));
} else {
// Delete the manufacturer
$manufacturer->delete();
// Redirect to the manufacturers management page
return Redirect::to('admin/settings/manufacturers')->with('success', Lang::get('admin/manufacturers/message.delete.success'));
}
}
@@ -3,6 +3,7 @@
return array(
'does_not_exist' => 'Manufacturer does not exist.',
'assoc_users' => 'This manufacturer is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this manufacturer and try again. ',
'create' => array(
'error' => 'Manufacturer was not created, please try again.',
+5
View File
@@ -6,4 +6,9 @@ class Manufacturer extends Elegant {
'name' => 'required|min:2',
);
public function has_models()
{
return $this->hasMany('Model', 'manufacturer_id')->count();
}
}