User   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 5
Bugs 0 Features 0
Metric Value
wmc 2
c 5
b 0
f 0
lcom 0
cbo 4
dl 0
loc 30
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A scopeFromGroup() 0 4 1
A scopeActiveGroup() 0 5 1
1
<?php namespace App;
2
3
use Illuminate\Database\Eloquent\Model;
4
use Illuminate\Support\Facades\DB;
5
6
use Illuminate\Auth\Authenticatable;
7
use Illuminate\Auth\Passwords\CanResetPassword;
8
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
9
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
10
11
use \Session;
12
use Illuminate\Database\Eloquent\SoftDeletes;
13
14
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
15
16
	use Authenticatable, CanResetPassword, SoftDeletes;
17
18
	protected $table = 'users';
19
    public $timestamps = false;
20
	protected $hidden = ['password_hash', 'remember_token'];
21
	protected $dates = ['deleted_at'];
22
    public $primaryKey = 'user_id';
23
24
    protected $guarded = ['user_id']; 
25
    
26
    public static $validationRules = [  'firstname'         => 'required|name',
27
    									'lastname'          => 'required|name',
28
                                        'email'             => 'required|email|unique:users,email',
29
                                        'password'          => 'required|password',
30
                                        'repeat_password'   => 'same:password'];
31
    
32
    public function scopeActiveGroup($query) {
33
    	
34
    	return $query->join('groups', 'groups.group_id', '=', 'users.group_id')
35
		    			->where('groups.is_active', true);
36
	}
37
	
38
	public function scopeFromGroup($query) {
39
	
40
		return $query->where('group_id', Session::get('groupID') );
41
	}
42
43
}
44