Inheritance diagram for App\Models\User:

Public Member Functions

 hasAccess ($section)
 
 isSuperUser ()
 
 company ()
 
 isActivated ()
 
 fullName ()
 Returns the user full name, it simply concatenates the user first and last name. More...
 
 gravatar ()
 Returns the user Gravatar image url. More...
 
 assets ()
 Get assets assigned to this user. More...
 
 accessories ()
 Get accessories assigned to this user. More...
 
 consumables ()
 Get consumables assigned to this user. More...
 
 licenses ()
 Get licenses assigned to this user. More...
 
 userlog ()
 Get action logs for this user. More...
 
 userloc ()
 Get the asset's location based on the assigned user. More...
 
 manager ()
 Get the user's manager based on the assigned user. More...
 
 groups ()
 Get user groups. More...
 
 accountStatus ()
 
 assetlog ()
 
 uploads ()
 Get uploads for this asset. More...
 
 sentryThrottle ()
 
 scopeGetDeleted ($query)
 
 scopeGetNotDeleted ($query)
 
 getPersistCode ()
 Override the SentryUser getPersistCode method for multiple logins at one time. More...
 
 scopeMatchEmailOrUsername ($query, $user_username, $user_email)
 
 scopeTextsearch ($query, $search)
 Query builder scope to search on text. More...
 
 scopeDeleted ($query)
 Query builder scope for Deleted users. More...
 
 scopeOrderManager ($query, $order)
 Query builder scope to order on manager. More...
 
 scopeOrderLocation ($query, $order)
 Query builder scope to order on company. More...
 

Static Public Member Functions

static generateFormattedNameFromFullName ($format= 'filastname', $users_name)
 

Protected Attributes

 $dates = ['deleted_at']
 
 $table = 'users'
 
 $injectUniqueIdentifier = true
 
 $fillable = ['first_name', 'last_name', 'email','password','username']
 
 $rules
 

Detailed Description

Definition at line 13 of file User.php.

Member Function Documentation

App\Models\User::accessories ( )

Get accessories assigned to this user.

Definition at line 139 of file User.php.

140  {
141  return $this->belongsToMany('\App\Models\Accessory', 'accessories_users', 'assigned_to', 'accessory_id')->withPivot('id')->withTrashed();
142  }
App\Models\User::accountStatus ( )

Definition at line 193 of file User.php.

194  {
195  if ($this->sentryThrottle) {
196  if ($this->sentryThrottle->suspended==1) {
197  return 'suspended';
198  } elseif ($this->sentryThrottle->banned==1) {
199  return 'banned';
200  } else {
201  return false;
202  }
203  } else {
204  return false;
205  }
206  }
sentryThrottle()
Definition: User.php:225
App\Models\User::assetlog ( )

Definition at line 208 of file User.php.

209  {
210  return $this->hasMany('\App\Models\Asset', 'id')->withTrashed();
211  }
App\Models\User::assets ( )

Get assets assigned to this user.

Definition at line 131 of file User.php.

132  {
133  return $this->hasMany('\App\Models\Asset', 'assigned_to')->withTrashed();
134  }
App\Models\User::company ( )

Definition at line 78 of file User.php.

79  {
80  return $this->belongsTo('\App\Models\Company', 'company_id');
81  }
App\Models\User::consumables ( )

Get consumables assigned to this user.

Definition at line 147 of file User.php.

148  {
149  return $this->belongsToMany('\App\Models\Consumable', 'consumables_users', 'assigned_to', 'consumable_id')->withPivot('id')->withTrashed();
150  }
App\Models\User::fullName ( )

Returns the user full name, it simply concatenates the user first and last name.

Returns
string

Definition at line 99 of file User.php.

100  {
101  return "{$this->first_name} {$this->last_name}";
102  }
static App\Models\User::generateFormattedNameFromFullName (   $format = 'filastname',
  $users_name 
)
static

Definition at line 266 of file User.php.

267  {
268  $name = explode(" ", $users_name);
269  $name = str_replace("'", '', $name);
270  $first_name = $name[0];
271  $email_last_name = '';
272  $email_prefix = $first_name;
273 
274  // If there is no last name given
275  if (!array_key_exists(1, $name)) {
276  $last_name='';
277  $email_last_name = $last_name;
278  $user_username = $first_name;
279 
280  // There is a last name given
281  } else {
282 
283  $last_name = str_replace($first_name, '', $users_name);
284 
285  if ($format=='filastname') {
286  $email_last_name.=str_replace(' ', '', $last_name);
287  $email_prefix = $first_name[0].$email_last_name;
288 
289  } elseif ($format=='firstname.lastname') {
290  $email_last_name.=str_replace(' ', '', $last_name);
291  $email_prefix = $first_name.'.'.$email_last_name;
292 
293  } elseif ($format=='firstname') {
294  $email_last_name.=str_replace(' ', '', $last_name);
295  $email_prefix = $first_name;
296 
297  }
298  }
299 
300  $user_username = $email_prefix;
301  $user['first_name'] = $first_name;
302  $user['last_name'] = $last_name;
303  $user['username'] = strtolower($user_username);
304 
305  return $user;
306 
307 
308  }
App\Models\User::getPersistCode ( )

Override the SentryUser getPersistCode method for multiple logins at one time.

Definition at line 244 of file User.php.

245  {
246 
247  if (!config('session.multi_login') || (!$this->persist_code)) {
248  $this->persist_code = $this->getRandomString();
249 
250  // Our code got hashed
251  $persistCode = $this->persist_code;
252  $this->save();
253  return $persistCode;
254  }
255  return $this->persist_code;
256  }
App\Models\User::gravatar ( )

Returns the user Gravatar image url.

Returns
string

Definition at line 110 of file User.php.

111  {
112 
113  if ($this->avatar) {
114  return config('app.url').'/uploads/avatars/'.$this->avatar;
115  }
116 
117  if ($this->email) {
118  // Generate the Gravatar hash
119  $gravatar = md5(strtolower(trim($this->email)));
120  // Return the Gravatar url
121  return "//gravatar.com/avatar/".$gravatar;
122  }
123 
124  return false;
125 
126  }
App\Models\User::groups ( )

Get user groups.

Definition at line 187 of file User.php.

188  {
189  return $this->belongsToMany('\App\Models\Group', 'users_groups');
190  }
App\Models\User::hasAccess (   $section)

Definition at line 43 of file User.php.

44  {
45  $user_permissions = json_decode($this->permissions, true);
46  $user_groups = $this->groups();
47 
48  if (((array_key_exists($section, $user_permissions)) && ($user_permissions[$section]=='1')) ||
49  ((array_key_exists('admin', $user_permissions)) && ($user_permissions['admin']=='1'))) {
50  return true;
51  }
52 
53  foreach ($user_groups as $user_group) {
54  $group_permissions = json_decode($user_group->permissions, true);
55  if (((array_key_exists($section, $group_permissions)) && ($group_permissions[$section]=='1')) ||
56  ((array_key_exists('admin', $group_permissions)) && ($group_permissions['admin']=='1'))) {
57  return true;
58  }
59  }
60 
61  return false;
62  }
groups()
Get user groups.
Definition: User.php:187
App\Models\User::isActivated ( )

Definition at line 83 of file User.php.

84  {
85  if ($this->activated == 1) {
86  return true;
87  } else {
88  return false;
89  }
90  }
App\Models\User::isSuperUser ( )

Definition at line 64 of file User.php.

64  {
65  $user_permissions = json_decode($this->permissions, true);
66  $user_groups = $this->groups();
67 
68  if ((array_key_exists('superuser', $user_permissions)) && ($user_permissions['superuser']=='1')) {
69  return true;
70  } else {
71  return false;
72  }
73 
74 
75  }
groups()
Get user groups.
Definition: User.php:187
App\Models\User::licenses ( )

Get licenses assigned to this user.

Definition at line 155 of file User.php.

156  {
157  return $this->belongsToMany('\App\Models\License', 'license_seats', 'assigned_to', 'license_id')->withPivot('id');
158  }
App\Models\User::manager ( )

Get the user's manager based on the assigned user.

Definition at line 179 of file User.php.

180  {
181  return $this->belongsTo('\App\Models\User', 'manager_id')->withTrashed();
182  }
App\Models\User::scopeDeleted (   $query)

Query builder scope for Deleted users.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
Returns
Illuminate Modified query builder

Definition at line 351 of file User.php.

352  {
353  return $query->whereNotNull('deleted_at');
354  }
App\Models\User::scopeGetDeleted (   $query)

Definition at line 230 of file User.php.

231  {
232  return $query->withTrashed()->whereNotNull('deleted_at');
233  }
App\Models\User::scopeGetNotDeleted (   $query)

Definition at line 235 of file User.php.

236  {
237  return $query->whereNull('deleted_at');
238  }
App\Models\User::scopeMatchEmailOrUsername (   $query,
  $user_username,
  $user_email 
)

Definition at line 258 of file User.php.

259  {
260  return $query->where('email', '=', $user_email)
261  ->orWhere('username', '=', $user_username)
262  ->orWhere('username', '=', $user_email);
263  }
App\Models\User::scopeOrderLocation (   $query,
  $order 
)

Query builder scope to order on company.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$orderOrder
Returns
Illuminate Modified query builder

Definition at line 379 of file User.php.

380  {
381  return $query->leftJoin('locations', 'users.location_id', '=', 'locations.id')->orderBy('locations.name', $order);
382  }
App\Models\User::scopeOrderManager (   $query,
  $order 
)

Query builder scope to order on manager.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$orderOrder
Returns
Illuminate Modified query builder

Definition at line 365 of file User.php.

366  {
367  // Left join here, or it will only return results with parents
368  return $query->leftJoin('users as manager', 'users.manager_id', '=', 'manager.id')->orderBy('manager.first_name', $order)->orderBy('manager.last_name', $order);
369  }
App\Models\User::scopeTextsearch (   $query,
  $search 
)

Query builder scope to search on text.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$searchSearch term
Returns
Illuminate Modified query builder

Definition at line 318 of file User.php.

319  {
320 
321  return $query->where(function ($query) use ($search) {
322  $query->where('users.first_name', 'LIKE', "%$search%")
323  ->orWhere('users.last_name', 'LIKE', "%$search%")
324  ->orWhere('users.email', 'LIKE', "%$search%")
325  ->orWhere('users.username', 'LIKE', "%$search%")
326  ->orWhere('users.notes', 'LIKE', "%$search%")
327  ->orWhere('users.employee_num', 'LIKE', "%$search%")
328  ->orWhere(function ($query) use ($search) {
329  $query->whereHas('userloc', function ($query) use ($search) {
330  $query->where('locations.name', 'LIKE', '%'.$search.'%');
331  });
332  })
333 
334  // Ugly, ugly code because Laravel sucks at self-joins
335  ->orWhere(function ($query) use ($search) {
336  $query->whereRaw("users.manager_id IN (select id from users where first_name LIKE '%".$search."%' OR last_name LIKE '%".$search."%') ");
337  });
338  });
339 
340  }
App\Models\User::sentryThrottle ( )

Definition at line 225 of file User.php.

226  {
227  return $this->hasOne('\App\Models\Throttle');
228  }
App\Models\User::uploads ( )

Get uploads for this asset.

Definition at line 216 of file User.php.

217  {
218  return $this->hasMany('\App\Models\Actionlog', 'asset_id')
219  ->where('asset_type', '=', 'user')
220  ->where('action_type', '=', 'uploaded')
221  ->whereNotNull('filename')
222  ->orderBy('created_at', 'desc');
223  }
App\Models\User::userloc ( )

Get the asset's location based on the assigned user.

Definition at line 171 of file User.php.

172  {
173  return $this->belongsTo('\App\Models\Location', 'location_id')->withTrashed();
174  }
App\Models\User::userlog ( )

Get action logs for this user.

Definition at line 163 of file User.php.

164  {
165  return $this->hasMany('\App\Models\Actionlog', 'checkedout_to')->orderBy('created_at', 'DESC')->withTrashed();
166  }

Member Data Documentation

App\Models\User::$dates = ['deleted_at']
protected

Definition at line 21 of file User.php.

App\Models\User::$fillable = ['first_name', 'last_name', 'email','password','username']
protected

Definition at line 24 of file User.php.

App\Models\User::$injectUniqueIdentifier = true
protected

Definition at line 23 of file User.php.

App\Models\User::$rules
protected
Initial value:
= [
'first_name' => 'required|string|min:1'

Definition at line 33 of file User.php.

App\Models\User::$table = 'users'
protected

Definition at line 22 of file User.php.


The documentation for this class was generated from the following file: