Example #1
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     if (Input::has('order_by')) {
         $order_by = Input::get('order_by');
         $dir = 'ASC';
         if (Input::has('order_dir')) {
             $dir = Input::get('order_dir');
         }
     } else {
         $order_by = 'id';
         $dir = 'ASC';
     }
     if (Input::has('uid')) {
         $uid = Input::get('uid');
         $accounts = User::where('id', $uid)->leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->leftjoin('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
     } else {
         if (Input::has('username')) {
             $user = '******' . Input::get('username') . '%';
             $accounts = User::where('username', 'LIKE', $user)->leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->leftjoin('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
         } else {
             if (Input::has('email')) {
                 $email = '%' . Input::get('email') . '%';
                 $accounts = User::where('email', 'LIKE', $email)->leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->leftjoin('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
             } else {
                 if (Input::has('type')) {
                     $type = Input::get('type');
                     $accounts = User::where('accountType', $type)->leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->leftjoin('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
                 } else {
                     if (Input::has('agency')) {
                         $agency = Input::get('agency');
                         $accounts = User::where('users.agencyId', $agency)->leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->join('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
                     } else {
                         $accounts = User::leftjoin('AccountType', 'AccountType.accountTypeId', '=', 'users.accountType')->leftjoin('Agency', 'Agency.agencyId', '=', 'users.agencyId')->orderBy($order_by, $dir)->select('id', 'username', 'email', 'accountTypeName', 'agencyName', 'users.created_at as created_at', 'users.updated_at as updated_at')->paginate(10);
                     }
                 }
             }
         }
     }
     if (!$accounts) {
         $error_response = array('error' => array('message' => 'Nothing retrieved!', 'type' => 'ORetrieveException', 'code' => 400));
         return Response::json($error_response, 400)->setCallback(Input::get('callback'));
     } else {
         return Response::json($accounts)->setCallback(Input::get('callback'));
     }
 }
 /**
  * Show a list of all the users formatted for Datatables.
  *
  * @return Datatables JSON
  */
 public function getData()
 {
     $users = User::leftjoin('assigned_roles', 'assigned_roles.user_id', '=', 'users.id')->leftjoin('roles', 'roles.id', '=', 'assigned_roles.role_id')->select(array('users.id', 'users.username', 'users.email', 'roles.name as rolename', 'users.confirmed', 'users.created_at'));
     return Datatables::of($users)->edit_column('confirmed', '@if($confirmed)
                         Yes
                     @else
                         No
                     @endif')->add_column('actions', '<a href="{{{ URL::to(\'admin/users/\' . $id . \'/edit\' ) }}}" class="iframe btn btn-xs btn-default">{{{ Lang::get(\'button.edit\') }}}</a>
                             @if($username == \'admin\')
                             @else
                                 <a href="{{{ URL::to(\'admin/users/\' . $id . \'/delete\' ) }}}" class="iframe btn btn-xs btn-danger">{{{ Lang::get(\'button.delete\') }}}</a>
                             @endif
         ')->remove_column('id')->make();
 }
    /**
     * Show a list of all the users formatted for Datatables.
     *
     * @return Datatables JSON
     */
    public function getData()
    {
        $users = User::leftjoin('assigned_roles', 'assigned_roles.user_id', '=', 'users.id')->leftjoin('roles', 'roles.id', '=', 'assigned_roles.role_id')->select(DB::raw('users.id, users.displayname,users.email, group_concat(roles.name SEPARATOR \', \') as rolename'))->groupBy(DB::raw('users.id , users.displayname , users.email'));
        if (Api::Enabled()) {
            $u = $users->get();
            return Api::make($u->toArray());
        } else {
            return Datatables::of($users)->add_column('actions', '<div class="btn-group">
		<a href="{{{ URL::to(\'admin/users/\' . $id . \'/edit\' ) }}}" class="modalfy btn btn-sm btn-primary">{{{ Lang::get(\'button.edit\') }}}</a> 
		<a href="{{{ URL::to(\'admin/users/\' . $id . \'/email\' ) }}}" class="modalfy btn btn-sm btn-default">{{{ Lang::get(\'button.email\') }}}</a>
		@if($id == Auth::user()->id)
			<a href="#" class="disabled btn btn-sm btn-danger">{{{ Lang::get(\'button.delete\') }}}</a>
		@else
			<a data-row="{{{  $id }}}" data-table="users" data-method="delete" href="{{{ URL::to(\'admin/users/\' . $id . \'\' ) }}}" class="ajax-alert-confirm btn btn-sm btn-danger">{{{ Lang::get(\'button.delete\') }}}</a>
		@endif</div>
            ')->make();
        }
    }
 /**
  * Show a list of all the users formatted for Datatables.
  *
  * @return Datatables JSON
  */
 public function data()
 {
     $users = User::leftjoin('assigned_roles', 'assigned_roles.user_id', '=', 'users.id')->leftjoin('roles', 'roles.id', '=', 'assigned_roles.role_id')->select(array('users.id', 'users.username', 'users.fullname', 'users.email', 'roles.name as rolename', 'users.confirmed', 'users.created_at'));
     return Datatables::of($users)->edit_column('confirmed', '@if($confirmed)
                         Yes
                     @else
                         No
                     @endif')->add_column('actions', '<div class="btn-group">
                   <button type="button" class="btn btn-xs btn-primary dropdown-toggle" data-toggle="dropdown">
                     Action <span class="caret"></span>
                   </button>
                   <ul class="dropdown-menu" role="menu">
                     <li><a href="{{{ URL::to(\'admin/users/\' . $id ) }}}">{{{ Lang::get(\'button.show\') }}}</a></li>
                     <li><a href="{{{ URL::to(\'admin/users/\' . $id . \'/edit\' ) }}}">{{{ Lang::get(\'button.edit\') }}}</a></li>
                     @if($username == \'admin\')
                     @else
                         <li><a href="{{{ URL::to(\'admin/users/\' . $id . \'/delete\' ) }}}">{{{ Lang::get(\'button.delete\') }}}</a></li>
                     @endif
                   </ul>
                 </div>')->remove_column('id')->make();
 }