diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php
index e0f3fe6bf4..55bd5cd454 100644
--- a/app/controllers/admin/AssetsController.php
+++ b/app/controllers/admin/AssetsController.php
@@ -189,11 +189,11 @@ class AssetsController extends AdminController {
// Declare the rules for the form validation
$rules = array(
- 'name' => 'required|alpha_dash|min:3',
+ 'name' => 'required|min:3',
'asset_tag' => 'required|alpha_dash|min:3',
'model_id' => 'required',
- 'serial' => 'required|alpha_dash|min:3',
- 'warranty_months' => 'integer|min:1',
+ 'serial' => 'required|alpha_space|min:3',
+ 'warranty_months' => 'required|integer',
);
// Create a new validator instance from our validation rules
diff --git a/app/controllers/admin/GroupsController.php b/app/controllers/admin/GroupsController.php
index 9ab1e37989..e182128e43 100755
--- a/app/controllers/admin/GroupsController.php
+++ b/app/controllers/admin/GroupsController.php
@@ -162,7 +162,7 @@ class GroupsController extends AdminController {
// Declare the rules for the form validation
$rules = array(
- 'name' => 'required|alpha_dash|min:2',
+ 'name' => 'required|alpha_space|min:2',
);
// Create a new validator instance from our validation rules
diff --git a/app/controllers/admin/UsersController.php b/app/controllers/admin/UsersController.php
index 9f88e9d7b7..f57f8086a9 100755
--- a/app/controllers/admin/UsersController.php
+++ b/app/controllers/admin/UsersController.php
@@ -27,8 +27,8 @@ class UsersController extends AdminController {
* @var array
*/
protected $validationRules = array(
- 'first_name' => 'required|alpha_dash|min:3',
- 'last_name' => 'required|alpha_dash|min:3',
+ 'first_name' => 'required|alpha_space|min:3',
+ 'last_name' => 'required|alpha_space|min:3',
'email' => 'required|email|unique:users,email',
'password' => 'required|between:3,32',
'password_confirm' => 'required|between:3,32|same:password',
diff --git a/app/lang/en/validation.php b/app/lang/en/validation.php
index 85a62aa508..17c94d6d12 100755
--- a/app/lang/en/validation.php
+++ b/app/lang/en/validation.php
@@ -64,6 +64,7 @@ return array(
"unique" => "The :attribute has already been taken.",
"url" => "The :attribute format is invalid.",
+
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
@@ -76,6 +77,7 @@ return array(
*/
'custom' => array(),
+ 'alpha_space' => "The :attribute field may only contain letters, commas, spaces and dashes.",
/*
|--------------------------------------------------------------------------
diff --git a/app/models/Asset.php b/app/models/Asset.php
index e53029a6f4..db01fba4e5 100644
--- a/app/models/Asset.php
+++ b/app/models/Asset.php
@@ -5,8 +5,8 @@ class Asset extends Elegant {
protected $table = 'assets';
protected $softDelete = true;
protected $rules = array(
- 'name' => 'required|min:3',
- 'asset_tag' => 'required|min:3|unique:assets',
+ 'name' => 'required|alpha_space|min:3',
+ 'asset_tag' => 'required|alpha_space|min:3|unique:assets',
'model_id' => 'required',
'serial' => 'required|alpha_dash|min:3',
'warranty_months' => 'integer|min:1',
diff --git a/app/models/Category.php b/app/models/Category.php
index 2c6943e444..d597255d5c 100644
--- a/app/models/Category.php
+++ b/app/models/Category.php
@@ -8,7 +8,7 @@ class Category extends Elegant {
* Category validation rules
*/
protected $rules = array(
- 'name' => 'required|min:2',
+ 'name' => 'required|alpha_space|min:2',
);
diff --git a/app/models/Depreciation.php b/app/models/Depreciation.php
index 940dd35b5b..bd66d449d5 100644
--- a/app/models/Depreciation.php
+++ b/app/models/Depreciation.php
@@ -4,7 +4,7 @@ class Depreciation extends Elegant {
// Declare the rules for the form validation
protected $rules = array(
- 'name' => 'required|min:3',
+ 'name' => 'required|alpha_space|min:3',
'months' => 'required|min:1|integer',
);
diff --git a/app/models/License.php b/app/models/License.php
index bd48dd1f6a..3cbc405303 100644
--- a/app/models/License.php
+++ b/app/models/License.php
@@ -12,8 +12,8 @@ class License extends Elegant {
protected $table = 'licenses';
protected $softDelete = true;
protected $rules = array(
- 'name' => 'required|min:3',
- 'serial' => 'required|min:5',
+ 'name' => 'required|alpha_space|min:3',
+ 'serial' => 'required|alpha_dash|min:5',
'seats' => 'required|min:1|integer',
'license_email' => 'email',
);
diff --git a/app/models/Location.php b/app/models/Location.php
index 85b25b3da7..22e55e4b12 100644
--- a/app/models/Location.php
+++ b/app/models/Location.php
@@ -6,8 +6,8 @@ class Location extends Elegant {
protected $softDelete = true;
protected $table = 'locations';
protected $rules = array(
- 'name' => 'required|min:3',
- 'city' => 'required|min:3',
+ 'name' => 'required|alpha_space|min:3',
+ 'city' => 'required|alpha_space|min:3',
'state' => 'required|alpha|min:2|max:2',
'country' => 'required|alpha|min:2|max:2',
'zip' => 'alpha_dash|min:5',
diff --git a/app/models/Manufacturer.php b/app/models/Manufacturer.php
index 6d53c1018d..1eff0de6d7 100644
--- a/app/models/Manufacturer.php
+++ b/app/models/Manufacturer.php
@@ -4,7 +4,7 @@ class Manufacturer extends Elegant {
protected $softDelete = true;
// Declare the rules for the form validation
protected $rules = array(
- 'name' => 'required|min:2',
+ 'name' => 'required|alpha_space|min:2',
);
public function has_models()
diff --git a/app/models/Model.php b/app/models/Model.php
index aa0a4d8e5e..2ed688b998 100644
--- a/app/models/Model.php
+++ b/app/models/Model.php
@@ -4,7 +4,7 @@ class Model extends Elegant {
// Declare the rules for the form validation
protected $rules = array(
- 'name' => 'required|not_in:foo,bar|min:3',
+ 'name' => 'required|alpha_space|min:3',
'modelno' => 'alpha_dash|min:1',
'category_id' => 'required|integer',
);
diff --git a/app/models/Statuslabel.php b/app/models/Statuslabel.php
index e484d577ae..3e067bc5c3 100644
--- a/app/models/Statuslabel.php
+++ b/app/models/Statuslabel.php
@@ -5,7 +5,7 @@ class Statuslabel extends Elegant {
protected $softDelete = true;
protected $rules = array(
- 'name' => 'required|min:2',
+ 'name' => 'required|alpha_space|min:2',
);
public function has_assets()
diff --git a/app/routes.php b/app/routes.php
index a853d63b58..befc84b117 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -11,6 +11,9 @@
+Route::when('admin/*', 'crsf', array('post'));
+Route::when('assets/*', 'crsf', array('post'));
+
Route::group(array('prefix' => 'assets'), function()
{
diff --git a/app/start/global.php b/app/start/global.php
index 344d4246ad..4055dfc946 100755
--- a/app/start/global.php
+++ b/app/start/global.php
@@ -96,3 +96,4 @@ App::down(function()
*/
require app_path().'/filters.php';
+require app_path().'/validators.php';
diff --git a/app/validators.php b/app/validators.php
new file mode 100644
index 0000000000..8b53512d3e
--- /dev/null
+++ b/app/validators.php
@@ -0,0 +1,6 @@
+