diff --git a/app/config/version.php b/app/config/version.php index 38471e9071..69e32000b0 100644 --- a/app/config/version.php +++ b/app/config/version.php @@ -1,5 +1,5 @@ 'v2.0.5-pre', - 'hash_version' => 'v2.0.5-pre-157-g5931587', + 'hash_version' => 'v2.0.5-pre-158-g256f33e', ); \ No newline at end of file diff --git a/app/controllers/admin/UsersController.php b/app/controllers/admin/UsersController.php index 6033a9a406..ef98837063 100755 --- a/app/controllers/admin/UsersController.php +++ b/app/controllers/admin/UsersController.php @@ -883,7 +883,7 @@ class UsersController extends AdminController { $sort = e(Input::get('sort')); } - $users = User::select(array('id','email','username','location_id','manager_id','first_name','last_name','created_at','notes','company_id')) + $users = User::select(array('users.id','users.email','users.username','users.location_id','users.manager_id','users.first_name','users.last_name','users.created_at','users.notes','users.company_id')) ->with('assets','accessories','consumables','licenses','manager','sentryThrottle','groups','userloc','company'); $users = Company::scopeCompanyables($users); @@ -902,12 +902,15 @@ class UsersController extends AdminController { switch (Input::get('sort')) { case 'manager': - $users = $users->OrderManager($order); + $users = $users->OrderManager($order); break; + case 'location': + $users = $users->OrderLocation($order); + break; default: $allowed_columns = [ - 'last_name','first_name','email','username','location', + 'last_name','first_name','email','username', 'assets','accessories', 'consumables','licenses','groups' ]; diff --git a/app/models/User.php b/app/models/User.php index e624ad9d2c..f2df7ab1ea 100755 --- a/app/models/User.php +++ b/app/models/User.php @@ -230,7 +230,7 @@ public function scopeGetNotDeleted($query) ->orWhere('users.notes', 'LIKE', "%$search%") ->orWhere(function($query) use ($search) { $query->whereHas('userloc', function($query) use ($search) { - $query->where('name','LIKE','%'.$search.'%'); + $query->where('locations.name','LIKE','%'.$search.'%'); }); }) @@ -271,6 +271,19 @@ public function scopeGetNotDeleted($query) return $query->leftJoin('users as manager', 'users.manager_id', '=', 'manager.id')->orderBy('manager.first_name', $order)->orderBy('manager.last_name', $order); } + /** + * Query builder scope to order on company + * + * @param Illuminate\Database\Query\Builder $query Query builder instance + * @param text $order Order + * + * @return Illuminate\Database\Query\Builder Modified query builder + */ + public function scopeOrderLocation($query, $order) + { + return $query->leftJoin('locations', 'users.location_id', '=', 'locations.id')->orderBy('locations.name', $order); + } + }