Completed
Push — master ( 11bc64...21ebc1 )
by Sherif
11:54
created
src/Modules/V1/Reporting/Providers/ModuleServiceProvider.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -7,23 +7,23 @@
 block discarded – undo
7 7
 class ModuleServiceProvider extends ServiceProvider
8 8
 {
9 9
 	/**
10
-     * Bootstrap the module services.
11
-     *
12
-     * @return void
13
-     */
14
-    public function boot()
15
-    {
16
-        $this->loadTranslationsFrom(__DIR__.'/../Resources/Lang', 'catalog');
17
-        $this->loadViewsFrom(__DIR__.'/../Resources/Views', 'catalog');
18
-    }
10
+	 * Bootstrap the module services.
11
+	 *
12
+	 * @return void
13
+	 */
14
+	public function boot()
15
+	{
16
+		$this->loadTranslationsFrom(__DIR__.'/../Resources/Lang', 'catalog');
17
+		$this->loadViewsFrom(__DIR__.'/../Resources/Views', 'catalog');
18
+	}
19 19
 
20
-    /**
21
-     * Register the module services.
22
-     *
23
-     * @return void
24
-     */
25
-    public function register()
26
-    {
27
-        $this->app->register(RouteServiceProvider::class);
28
-    }
20
+	/**
21
+	 * Register the module services.
22
+	 *
23
+	 * @return void
24
+	 */
25
+	public function register()
26
+	{
27
+		$this->app->register(RouteServiceProvider::class);
28
+	}
29 29
 }
Please login to merge, or discard this patch.
src/Modules/V1/Core/Database/Migrations/2016_01_19_084705_logs.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
 			$table->integer('user_id');
22 22
 			$table->softDeletes();
23 23
 			$table->timestamps();
24
-        });
24
+		});
25 25
 	}
26 26
 
27 27
 	/**
Please login to merge, or discard this patch.
src/Modules/V1/Core/Http/Controllers/BaseApiController.php 1 patch
Indentation   +245 added lines, -245 removed lines patch added patch discarded remove patch
@@ -6,272 +6,272 @@
 block discarded – undo
6 6
 
7 7
 class BaseApiController extends Controller
8 8
 {
9
-    /**
10
-     * The model implementation.
11
-     * 
12
-     * @var model
13
-     */
14
-    protected $model;
9
+	/**
10
+	 * The model implementation.
11
+	 * 
12
+	 * @var model
13
+	 */
14
+	protected $model;
15 15
 
16
-    /**
17
-     * The config implementation.
18
-     * 
19
-     * @var config
20
-     */
21
-    protected $config;
16
+	/**
17
+	 * The config implementation.
18
+	 * 
19
+	 * @var config
20
+	 */
21
+	protected $config;
22 22
 
23
-    public function __construct()
24
-    {
25
-        \Session::put('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
23
+	public function __construct()
24
+	{
25
+		\Session::put('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
26 26
 
27
-        $locale = \Request::header('locale');
28
-        switch ($locale) 
29
-        {
30
-            case 'en':
31
-            \App::setLocale('en');
32
-            \Session::put('locale', 'en');
33
-            break;
27
+		$locale = \Request::header('locale');
28
+		switch ($locale) 
29
+		{
30
+			case 'en':
31
+			\App::setLocale('en');
32
+			\Session::put('locale', 'en');
33
+			break;
34 34
 
35
-            case 'ar':
36
-            \App::setLocale('ar');
37
-            \Session::put('locale', 'ar');
38
-            break;
35
+			case 'ar':
36
+			\App::setLocale('ar');
37
+			\Session::put('locale', 'ar');
38
+			break;
39 39
 
40
-            case 'all':
41
-            \App::setLocale('en');
42
-            \Session::put('locale', 'all');
43
-            break;
40
+			case 'all':
41
+			\App::setLocale('en');
42
+			\Session::put('locale', 'all');
43
+			break;
44 44
 
45
-            default:
46
-            \App::setLocale('en');
47
-            \Session::put('locale', 'en');
48
-            break;
49
-        }
45
+			default:
46
+			\App::setLocale('en');
47
+			\Session::put('locale', 'en');
48
+			break;
49
+		}
50 50
         
51
-        $this->config              = \CoreConfig::getConfig();
52
-        $this->model               = property_exists($this, 'model') ? $this->model : false;
53
-        $this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
54
-        $this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
55
-        $this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
56
-        $this->relations           = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
57
-        $route                     = explode('@',\Route::currentRouteAction())[1];
58
-        $this->checkPermission($route);
59
-    }
51
+		$this->config              = \CoreConfig::getConfig();
52
+		$this->model               = property_exists($this, 'model') ? $this->model : false;
53
+		$this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
54
+		$this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
55
+		$this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
56
+		$this->relations           = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
57
+		$route                     = explode('@',\Route::currentRouteAction())[1];
58
+		$this->checkPermission($route);
59
+	}
60 60
 
61
-    /**
62
-     * Fetch all records with relations from model repository.
63
-     * 
64
-     * @return \Illuminate\Http\Response
65
-     */
66
-    public function index() 
67
-    {
68
-        if ($this->model)
69
-        {
70
-            $relations = $this->relations && $this->relations['all'] ? $this->relations['all'] : [];
71
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($relations), 200);
72
-        }
73
-    }
61
+	/**
62
+	 * Fetch all records with relations from model repository.
63
+	 * 
64
+	 * @return \Illuminate\Http\Response
65
+	 */
66
+	public function index() 
67
+	{
68
+		if ($this->model)
69
+		{
70
+			$relations = $this->relations && $this->relations['all'] ? $this->relations['all'] : [];
71
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($relations), 200);
72
+		}
73
+	}
74 74
 
75
-    /**
76
-     * Fetch the single object with relations from model repository.
77
-     * 
78
-     * @param  integer $id
79
-     * @return \Illuminate\Http\Response
80
-     */
81
-    public function find($id) 
82
-    {
83
-        if ($this->model) 
84
-        {
85
-            $relations = $this->relations && $this->relations['find'] ? $this->relations['find'] : [];
86
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $relations), 200);
87
-        }
88
-    }
75
+	/**
76
+	 * Fetch the single object with relations from model repository.
77
+	 * 
78
+	 * @param  integer $id
79
+	 * @return \Illuminate\Http\Response
80
+	 */
81
+	public function find($id) 
82
+	{
83
+		if ($this->model) 
84
+		{
85
+			$relations = $this->relations && $this->relations['find'] ? $this->relations['find'] : [];
86
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $relations), 200);
87
+		}
88
+	}
89 89
 
90
-    /**
91
-     * Paginate all records with relations from model repository
92
-     * that matche the given query.
93
-     * 
94
-     * @param  string  $query
95
-     * @param  integer $perPage
96
-     * @param  string  $sortBy
97
-     * @param  boolean $desc
98
-     * @return \Illuminate\Http\Response
99
-     */
100
-    public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
101
-    {
102
-        if ($this->model) 
103
-        {
104
-            $relations = $this->relations && $this->relations['search'] ? $this->relations['search'] : [];
105
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $relations, $sortBy, $desc), 200);
106
-        }
107
-    }
90
+	/**
91
+	 * Paginate all records with relations from model repository
92
+	 * that matche the given query.
93
+	 * 
94
+	 * @param  string  $query
95
+	 * @param  integer $perPage
96
+	 * @param  string  $sortBy
97
+	 * @param  boolean $desc
98
+	 * @return \Illuminate\Http\Response
99
+	 */
100
+	public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
101
+	{
102
+		if ($this->model) 
103
+		{
104
+			$relations = $this->relations && $this->relations['search'] ? $this->relations['search'] : [];
105
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $relations, $sortBy, $desc), 200);
106
+		}
107
+	}
108 108
 
109
-    /**
110
-     * Fetch records from the storage based on the given
111
-     * condition.
112
-     * 
113
-     * @param  \Illuminate\Http\Request  $request
114
-     * @param  string  $sortBy
115
-     * @param  boolean $desc
116
-     * @return \Illuminate\Http\Response
117
-     */
118
-    public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
119
-    {
120
-        if ($this->model) 
121
-        {
122
-            $relations = $this->relations && $this->relations['findBy'] ? $this->relations['findBy'] : [];
123
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $relations, $sortBy, $desc), 200);
124
-        }
125
-    }
109
+	/**
110
+	 * Fetch records from the storage based on the given
111
+	 * condition.
112
+	 * 
113
+	 * @param  \Illuminate\Http\Request  $request
114
+	 * @param  string  $sortBy
115
+	 * @param  boolean $desc
116
+	 * @return \Illuminate\Http\Response
117
+	 */
118
+	public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
119
+	{
120
+		if ($this->model) 
121
+		{
122
+			$relations = $this->relations && $this->relations['findBy'] ? $this->relations['findBy'] : [];
123
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $relations, $sortBy, $desc), 200);
124
+		}
125
+	}
126 126
 
127
-    /**
128
-     * Fetch the first record from the storage based on the given
129
-     * condition.
130
-     * 
131
-     * @param  \Illuminate\Http\Request  $request
132
-     * @return \Illuminate\Http\Response
133
-     */
134
-    public function first(Request $request) 
135
-    {
136
-        if ($this->model) 
137
-        {
138
-            $relations = $this->relations && $this->relations['first'] ? $this->relations['first'] : [];
139
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $relations), 200);
140
-        }
141
-    }
127
+	/**
128
+	 * Fetch the first record from the storage based on the given
129
+	 * condition.
130
+	 * 
131
+	 * @param  \Illuminate\Http\Request  $request
132
+	 * @return \Illuminate\Http\Response
133
+	 */
134
+	public function first(Request $request) 
135
+	{
136
+		if ($this->model) 
137
+		{
138
+			$relations = $this->relations && $this->relations['first'] ? $this->relations['first'] : [];
139
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $relations), 200);
140
+		}
141
+	}
142 142
 
143
-    /**
144
-     * Paginate all records with relations from model repository.
145
-     * 
146
-     * @param  integer $perPage
147
-     * @param  string  $sortBy
148
-     * @param  boolean $desc
149
-     * @return \Illuminate\Http\Response
150
-     */
151
-    public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
152
-    {
153
-        if ($this->model) 
154
-        {
155
-            $relations = $this->relations && $this->relations['paginate'] ? $this->relations['paginate'] : [];
156
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $relations, $sortBy, $desc), 200);
157
-        }
158
-    }
143
+	/**
144
+	 * Paginate all records with relations from model repository.
145
+	 * 
146
+	 * @param  integer $perPage
147
+	 * @param  string  $sortBy
148
+	 * @param  boolean $desc
149
+	 * @return \Illuminate\Http\Response
150
+	 */
151
+	public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
152
+	{
153
+		if ($this->model) 
154
+		{
155
+			$relations = $this->relations && $this->relations['paginate'] ? $this->relations['paginate'] : [];
156
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $relations, $sortBy, $desc), 200);
157
+		}
158
+	}
159 159
 
160
-    /**
161
-     * Fetch all records with relations based on
162
-     * the given condition from storage in pages.
163
-     * 
164
-     * @param  \Illuminate\Http\Request  $request
165
-     * @param  integer $perPage
166
-     * @param  string  $sortBy
167
-     * @param  boolean $desc
168
-     * @return \Illuminate\Http\Response
169
-     */
170
-    public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
171
-    {
172
-        if ($this->model) 
173
-        {
174
-            $relations = $this->relations && $this->relations['paginateBy'] ? $this->relations['paginateBy'] : [];
175
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $relations, $sortBy, $desc), 200);
176
-        }
177
-    }
160
+	/**
161
+	 * Fetch all records with relations based on
162
+	 * the given condition from storage in pages.
163
+	 * 
164
+	 * @param  \Illuminate\Http\Request  $request
165
+	 * @param  integer $perPage
166
+	 * @param  string  $sortBy
167
+	 * @param  boolean $desc
168
+	 * @return \Illuminate\Http\Response
169
+	 */
170
+	public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
171
+	{
172
+		if ($this->model) 
173
+		{
174
+			$relations = $this->relations && $this->relations['paginateBy'] ? $this->relations['paginateBy'] : [];
175
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $relations, $sortBy, $desc), 200);
176
+		}
177
+	}
178 178
 
179
-    /**
180
-     * Save the given model to repository.
181
-     * 
182
-     * @param  \Illuminate\Http\Request  $request
183
-     * @return \Illuminate\Http\Response
184
-     */
185
-    public function save(Request $request) 
186
-    {
187
-        foreach ($this->validationRules as &$rule) 
188
-        {
189
-            if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
190
-            {
191
-                $rule .= ',deleted_at,NULL';
192
-            }
179
+	/**
180
+	 * Save the given model to repository.
181
+	 * 
182
+	 * @param  \Illuminate\Http\Request  $request
183
+	 * @return \Illuminate\Http\Response
184
+	 */
185
+	public function save(Request $request) 
186
+	{
187
+		foreach ($this->validationRules as &$rule) 
188
+		{
189
+			if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
190
+			{
191
+				$rule .= ',deleted_at,NULL';
192
+			}
193 193
 
194
-            if ($request->has('id')) 
195
-            {
196
-                $rule = str_replace('{id}', $request->get('id'), $rule);
197
-            }
198
-            else
199
-            {
200
-                $rule = str_replace(',{id}', '', $rule);
201
-            }
202
-        }
194
+			if ($request->has('id')) 
195
+			{
196
+				$rule = str_replace('{id}', $request->get('id'), $rule);
197
+			}
198
+			else
199
+			{
200
+				$rule = str_replace(',{id}', '', $rule);
201
+			}
202
+		}
203 203
         
204
-        $this->validate($request, $this->validationRules);
204
+		$this->validate($request, $this->validationRules);
205 205
 
206
-        if ($this->model) 
207
-        {
208
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
209
-        }
210
-    }
206
+		if ($this->model) 
207
+		{
208
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
209
+		}
210
+	}
211 211
 
212
-    /**
213
-     * Delete by the given id from model repository.
214
-     * 
215
-     * @param  integer  $id
216
-     * @return \Illuminate\Http\Response
217
-     */
218
-    public function delete($id) 
219
-    {
220
-        if ($this->model) 
221
-        {
222
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
223
-        }
224
-    }
212
+	/**
213
+	 * Delete by the given id from model repository.
214
+	 * 
215
+	 * @param  integer  $id
216
+	 * @return \Illuminate\Http\Response
217
+	 */
218
+	public function delete($id) 
219
+	{
220
+		if ($this->model) 
221
+		{
222
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
223
+		}
224
+	}
225 225
 
226
-    /**
227
-     * Return the deleted models in pages based on the given conditions.
228
-     *
229
-     * @param  \Illuminate\Http\Request  $request
230
-     * @param  integer $perPage
231
-     * @param  string  $sortBy
232
-     * @param  boolean $desc
233
-     * @return \Illuminate\Http\Response
234
-     */
235
-    public function deleted(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
236
-    {
237
-        return \Response::json(call_user_func_array("\Core::{$this->model}", [])->deleted($request->all(), $perPage, $sortBy, $desc), 200);
238
-    }
226
+	/**
227
+	 * Return the deleted models in pages based on the given conditions.
228
+	 *
229
+	 * @param  \Illuminate\Http\Request  $request
230
+	 * @param  integer $perPage
231
+	 * @param  string  $sortBy
232
+	 * @param  boolean $desc
233
+	 * @return \Illuminate\Http\Response
234
+	 */
235
+	public function deleted(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
236
+	{
237
+		return \Response::json(call_user_func_array("\Core::{$this->model}", [])->deleted($request->all(), $perPage, $sortBy, $desc), 200);
238
+	}
239 239
 
240
-    /**
241
-     * Restore the deleted model.
242
-     * 
243
-     * @param  integer  $id
244
-     * @return \Illuminate\Http\Response
245
-     */
246
-    public function restore($id) 
247
-    {
248
-        if ($this->model) 
249
-        {
250
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->restore($id), 200);
251
-        }
252
-    }
240
+	/**
241
+	 * Restore the deleted model.
242
+	 * 
243
+	 * @param  integer  $id
244
+	 * @return \Illuminate\Http\Response
245
+	 */
246
+	public function restore($id) 
247
+	{
248
+		if ($this->model) 
249
+		{
250
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->restore($id), 200);
251
+		}
252
+	}
253 253
 
254
-    /**
255
-     * Check if the logged in user can do the given permission.
256
-     * 
257
-     * @param  string $permission
258
-     * @return void
259
-     */
260
-    private function checkPermission($permission)
261
-    {
262
-        $permission = $permission !== 'index' ? $permission : 'list';
263
-        if ( ! in_array($permission, $this->skipLoginCheck)) 
264
-        {
265
-            $user = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id);
266
-            if ($user->blocked)
267
-            {
268
-                \ErrorHandler::userIsBlocked();
269
-            }
254
+	/**
255
+	 * Check if the logged in user can do the given permission.
256
+	 * 
257
+	 * @param  string $permission
258
+	 * @return void
259
+	 */
260
+	private function checkPermission($permission)
261
+	{
262
+		$permission = $permission !== 'index' ? $permission : 'list';
263
+		if ( ! in_array($permission, $this->skipLoginCheck)) 
264
+		{
265
+			$user = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id);
266
+			if ($user->blocked)
267
+			{
268
+				\ErrorHandler::userIsBlocked();
269
+			}
270 270
             
271
-            if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
272
-            {
273
-                \ErrorHandler::noPermissions();
274
-            }
275
-        }
276
-    }
271
+			if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
272
+			{
273
+				\ErrorHandler::noPermissions();
274
+			}
275
+		}
276
+	}
277 277
 }
Please login to merge, or discard this patch.
Modules/V1/Notifications/ModelObservers/PushNotificationDeviceObserver.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -5,44 +5,44 @@
 block discarded – undo
5 5
  */
6 6
 class PushNotificationDeviceObserver {
7 7
 
8
-    public function saving($model)
9
-    {
10
-        //
11
-    }
12
-
13
-    public function saved($model)
14
-    {
15
-        //
16
-    }
17
-
18
-    public function creating($model)
19
-    {
20
-        //
21
-    }
22
-
23
-    public function created($model)
24
-    {
25
-        //
26
-    }
27
-
28
-    public function updating($model)
29
-    {
30
-        //
31
-    }
32
-
33
-    public function updated($model)
34
-    {
35
-        //
36
-    }
37
-
38
-    public function deleting($model)
39
-    {
40
-        //
41
-    }
42
-
43
-    public function deleted($model)
44
-    {
45
-        //
46
-    }
8
+	public function saving($model)
9
+	{
10
+		//
11
+	}
12
+
13
+	public function saved($model)
14
+	{
15
+		//
16
+	}
17
+
18
+	public function creating($model)
19
+	{
20
+		//
21
+	}
22
+
23
+	public function created($model)
24
+	{
25
+		//
26
+	}
27
+
28
+	public function updating($model)
29
+	{
30
+		//
31
+	}
32
+
33
+	public function updated($model)
34
+	{
35
+		//
36
+	}
37
+
38
+	public function deleting($model)
39
+	{
40
+		//
41
+	}
42
+
43
+	public function deleted($model)
44
+	{
45
+		//
46
+	}
47 47
 
48 48
 }
49 49
\ No newline at end of file
Please login to merge, or discard this patch.
Database/Migrations/2016_01_24_111942_push_notifications_devices.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
 			$table->unique(array('device_token', 'device_type'));
22 22
 			$table->softDeletes();
23 23
 			$table->timestamps();
24
-        });
24
+		});
25 25
 	}
26 26
 
27 27
 	/**
Please login to merge, or discard this patch.
src/lang/en/notifications.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -2,8 +2,8 @@
 block discarded – undo
2 2
 
3 3
 return [
4 4
     
5
-    /**
6
-     * Here goes your notification messages.
7
-     */
5
+	/**
6
+	 * Here goes your notification messages.
7
+	 */
8 8
 
9 9
 ];
10 10
\ No newline at end of file
Please login to merge, or discard this patch.
src/Modules/V1/Acl/Repositories/GroupRepository.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,6 +29,6 @@
 block discarded – undo
29 29
 			$group->permissions()->attach($permissionIds);
30 30
 		});
31 31
 
32
-        return $this->find($groupId);
32
+		return $this->find($groupId);
33 33
 	}
34 34
 }
Please login to merge, or discard this patch.
src/Modules/V1/Acl/Repositories/UserRepository.php 1 patch
Indentation   +355 added lines, -355 removed lines patch added patch discarded remove patch
@@ -4,365 +4,365 @@
 block discarded – undo
4 4
 
5 5
 class UserRepository extends AbstractRepository
6 6
 {
7
-    /**
8
-     * Return the model full namespace.
9
-     * 
10
-     * @return string
11
-     */
12
-    protected function getModel()
13
-    {
14
-        return 'App\Modules\V1\Acl\AclUser';
15
-    }
16
-
17
-    /**
18
-     * Return the logged in user account.
19
-     *
20
-     * @param  array   $relations
21
-     * @return boolean
22
-     */
23
-    public function account($relations = [])
24
-    {
25
-        $permissions = [];
26
-        $user        = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id, $relations);
27
-        foreach ($user->groups()->get() as $group)
28
-        {
29
-            $group->permissions->each(function ($permission) use (&$permissions){
30
-                $permissions[$permission->model][$permission->id] = $permission->name;
31
-            });
32
-        }
33
-        $user->permissions = $permissions;
34
-
35
-       return $user;
36
-    }
37
-
38
-    /**
39
-     * Check if the logged in user or the given user 
40
-     * has the given permissions on the given model.
41
-     * 
42
-     * @param  string  $nameOfPermission
43
-     * @param  string  $model            
44
-     * @param  boolean $user
45
-     * @return boolean
46
-     */
47
-    public function can($nameOfPermission, $model, $user = false )
48
-    {      
49
-        $user        = $user ?: \JWTAuth::parseToken()->authenticate();
50
-        $permissions = [];
51
-
52
-        if ( ! $user = $this->find($user->id, ['groups.permissions'])) 
53
-        {
54
-            \ErrorHandler::tokenExpired();
55
-        }
56
-
57
-        $user->groups->pluck('permissions')->each(function ($permission) use (&$permissions, $model){
58
-            $permissions = array_merge($permissions, $permission->where('model', $model)->pluck('name')->toArray()); 
59
-        });
7
+	/**
8
+	 * Return the model full namespace.
9
+	 * 
10
+	 * @return string
11
+	 */
12
+	protected function getModel()
13
+	{
14
+		return 'App\Modules\V1\Acl\AclUser';
15
+	}
16
+
17
+	/**
18
+	 * Return the logged in user account.
19
+	 *
20
+	 * @param  array   $relations
21
+	 * @return boolean
22
+	 */
23
+	public function account($relations = [])
24
+	{
25
+		$permissions = [];
26
+		$user        = \Core::users()->find(\JWTAuth::parseToken()->authenticate()->id, $relations);
27
+		foreach ($user->groups()->get() as $group)
28
+		{
29
+			$group->permissions->each(function ($permission) use (&$permissions){
30
+				$permissions[$permission->model][$permission->id] = $permission->name;
31
+			});
32
+		}
33
+		$user->permissions = $permissions;
34
+
35
+	   return $user;
36
+	}
37
+
38
+	/**
39
+	 * Check if the logged in user or the given user 
40
+	 * has the given permissions on the given model.
41
+	 * 
42
+	 * @param  string  $nameOfPermission
43
+	 * @param  string  $model            
44
+	 * @param  boolean $user
45
+	 * @return boolean
46
+	 */
47
+	public function can($nameOfPermission, $model, $user = false )
48
+	{      
49
+		$user        = $user ?: \JWTAuth::parseToken()->authenticate();
50
+		$permissions = [];
51
+
52
+		if ( ! $user = $this->find($user->id, ['groups.permissions'])) 
53
+		{
54
+			\ErrorHandler::tokenExpired();
55
+		}
56
+
57
+		$user->groups->pluck('permissions')->each(function ($permission) use (&$permissions, $model){
58
+			$permissions = array_merge($permissions, $permission->where('model', $model)->pluck('name')->toArray()); 
59
+		});
60 60
         
61
-        return in_array($nameOfPermission, $permissions);
62
-    }
63
-
64
-    /**
65
-     * Check if the logged in user has the given group.
66
-     * 
67
-     * @param  string  $groupName
68
-     * @return boolean
69
-     */
70
-    public function hasGroup($groupName)
71
-    {
72
-        $groups = $this->find(\JWTAuth::parseToken()->authenticate()->id)->groups;
73
-        return $groups->pluck('name')->search($groupName, true) === false ? false : true;
74
-    }
75
-
76
-    /**
77
-     * Assign the given group ids to the given user.
78
-     * 
79
-     * @param  integer $user_id    
80
-     * @param  array   $group_ids
81
-     * @return object
82
-     */
83
-    public function assignGroups($user_id, $group_ids)
84
-    {
85
-        \DB::transaction(function () use ($user_id, $group_ids) {
86
-            $user = $this->find($user_id);
87
-            $user->groups()->detach();
88
-            $user->groups()->attach($group_ids);
89
-        });
90
-
91
-        return $this->find($user_id);
92
-    }
93
-
94
-    /**
95
-     * Handle a login request to the application.
96
-     * 
97
-     * @param  array   $credentials    
98
-     * @param  boolean $adminLogin
99
-     * @return array
100
-     */
101
-    public function login($credentials, $adminLogin = false)
102
-    {
103
-        if ( ! $user = $this->first(['email' => $credentials['email']])) 
104
-        {
105
-            \ErrorHandler::loginFailed();
106
-        }
107
-        else if ($adminLogin && $user->groups->pluck('name')->search('Admin', true) === false) 
108
-        {
109
-            \ErrorHandler::loginFailed();
110
-        }
111
-        else if ( ! $adminLogin && $user->groups->pluck('name')->search('Admin', true) !== false) 
112
-        {
113
-            \ErrorHandler::loginFailed();
114
-        }
115
-        else if ($user->blocked)
116
-        {
117
-            \ErrorHandler::userIsBlocked();
118
-        }
119
-        else if ($token = \JWTAuth::attempt($credentials))
120
-        {
121
-            return ['token' => $token];
122
-        }
123
-        else
124
-        {
125
-            \ErrorHandler::loginFailed();
126
-        }
127
-    }
128
-
129
-    /**
130
-     * Handle a social login request of the none admin to the application.
131
-     * 
132
-     * @param  array   $credentials
133
-     * @return array
134
-     */
135
-    public function loginSocial($credentials)
136
-    {
137
-        $access_token = $credentials['auth_code'] ? \Socialite::driver($credentials['type'])->getAccessToken($credentials['auth_code']) : $credentials['access_token'];
138
-        $user         = \Socialite::driver($credentials['type'])->userFromToken($access_token);
139
-
140
-        if ( ! $user->email)
141
-        {
142
-            \ErrorHandler::noSocialEmail();
143
-        }
144
-
145
-        if ( ! $registeredUser = $this->model->where('email', $user->email)->first()) 
146
-        {
147
-            $data = ['email' => $user->email, 'password' => ''];
148
-            return $this->register($data);
149
-        }
150
-        else
151
-        {
152
-            if ( ! \Auth::attempt(['email' => $registeredUser->email, 'password' => '']))
153
-            {
154
-                \ErrorHandler::userAlreadyRegistered();
155
-            }
156
-            return $this->login(['email' => $registeredUser->email, 'password' => ''], false);
157
-        }
158
-    }
61
+		return in_array($nameOfPermission, $permissions);
62
+	}
63
+
64
+	/**
65
+	 * Check if the logged in user has the given group.
66
+	 * 
67
+	 * @param  string  $groupName
68
+	 * @return boolean
69
+	 */
70
+	public function hasGroup($groupName)
71
+	{
72
+		$groups = $this->find(\JWTAuth::parseToken()->authenticate()->id)->groups;
73
+		return $groups->pluck('name')->search($groupName, true) === false ? false : true;
74
+	}
75
+
76
+	/**
77
+	 * Assign the given group ids to the given user.
78
+	 * 
79
+	 * @param  integer $user_id    
80
+	 * @param  array   $group_ids
81
+	 * @return object
82
+	 */
83
+	public function assignGroups($user_id, $group_ids)
84
+	{
85
+		\DB::transaction(function () use ($user_id, $group_ids) {
86
+			$user = $this->find($user_id);
87
+			$user->groups()->detach();
88
+			$user->groups()->attach($group_ids);
89
+		});
90
+
91
+		return $this->find($user_id);
92
+	}
93
+
94
+	/**
95
+	 * Handle a login request to the application.
96
+	 * 
97
+	 * @param  array   $credentials    
98
+	 * @param  boolean $adminLogin
99
+	 * @return array
100
+	 */
101
+	public function login($credentials, $adminLogin = false)
102
+	{
103
+		if ( ! $user = $this->first(['email' => $credentials['email']])) 
104
+		{
105
+			\ErrorHandler::loginFailed();
106
+		}
107
+		else if ($adminLogin && $user->groups->pluck('name')->search('Admin', true) === false) 
108
+		{
109
+			\ErrorHandler::loginFailed();
110
+		}
111
+		else if ( ! $adminLogin && $user->groups->pluck('name')->search('Admin', true) !== false) 
112
+		{
113
+			\ErrorHandler::loginFailed();
114
+		}
115
+		else if ($user->blocked)
116
+		{
117
+			\ErrorHandler::userIsBlocked();
118
+		}
119
+		else if ($token = \JWTAuth::attempt($credentials))
120
+		{
121
+			return ['token' => $token];
122
+		}
123
+		else
124
+		{
125
+			\ErrorHandler::loginFailed();
126
+		}
127
+	}
128
+
129
+	/**
130
+	 * Handle a social login request of the none admin to the application.
131
+	 * 
132
+	 * @param  array   $credentials
133
+	 * @return array
134
+	 */
135
+	public function loginSocial($credentials)
136
+	{
137
+		$access_token = $credentials['auth_code'] ? \Socialite::driver($credentials['type'])->getAccessToken($credentials['auth_code']) : $credentials['access_token'];
138
+		$user         = \Socialite::driver($credentials['type'])->userFromToken($access_token);
139
+
140
+		if ( ! $user->email)
141
+		{
142
+			\ErrorHandler::noSocialEmail();
143
+		}
144
+
145
+		if ( ! $registeredUser = $this->model->where('email', $user->email)->first()) 
146
+		{
147
+			$data = ['email' => $user->email, 'password' => ''];
148
+			return $this->register($data);
149
+		}
150
+		else
151
+		{
152
+			if ( ! \Auth::attempt(['email' => $registeredUser->email, 'password' => '']))
153
+			{
154
+				\ErrorHandler::userAlreadyRegistered();
155
+			}
156
+			return $this->login(['email' => $registeredUser->email, 'password' => ''], false);
157
+		}
158
+	}
159 159
     
160
-    /**
161
-     * Handle a registration request.
162
-     * 
163
-     * @param  array $credentials
164
-     * @return array
165
-     */
166
-    public function register($credentials)
167
-    {
168
-        return ['token' => \JWTAuth::fromUser($this->model->create($credentials))];
169
-    }
170
-
171
-    /**
172
-     * Logout the user.
173
-     * 
174
-     * @return boolean
175
-     */
176
-    public function logout()
177
-    {
178
-        return \JWTAuth::invalidate(\JWTAuth::getToken());
179
-    }
180
-
181
-    /**
182
-     * Block the user.
183
-     *
184
-     * @param  integer $user_id
185
-     * @return object
186
-     */
187
-    public function block($user_id)
188
-    {
189
-        if ( ! $user = $this->find($user_id)) 
190
-        {
191
-            \ErrorHandler::notFound('user');
192
-        }
193
-        if ( ! $this->hasGroup('Admin'))
194
-        {
195
-            \ErrorHandler::noPermissions();
196
-        }
197
-        else if (\JWTAuth::parseToken()->authenticate()->id == $user_id)
198
-        {
199
-            \ErrorHandler::noPermissions();
200
-        }
201
-        else if ($user->groups->pluck('name')->search('Admin', true) !== false) 
202
-        {
203
-            \ErrorHandler::noPermissions();
204
-        }
205
-
206
-        $user->blocked = 1;
207
-        $user->save();
160
+	/**
161
+	 * Handle a registration request.
162
+	 * 
163
+	 * @param  array $credentials
164
+	 * @return array
165
+	 */
166
+	public function register($credentials)
167
+	{
168
+		return ['token' => \JWTAuth::fromUser($this->model->create($credentials))];
169
+	}
170
+
171
+	/**
172
+	 * Logout the user.
173
+	 * 
174
+	 * @return boolean
175
+	 */
176
+	public function logout()
177
+	{
178
+		return \JWTAuth::invalidate(\JWTAuth::getToken());
179
+	}
180
+
181
+	/**
182
+	 * Block the user.
183
+	 *
184
+	 * @param  integer $user_id
185
+	 * @return object
186
+	 */
187
+	public function block($user_id)
188
+	{
189
+		if ( ! $user = $this->find($user_id)) 
190
+		{
191
+			\ErrorHandler::notFound('user');
192
+		}
193
+		if ( ! $this->hasGroup('Admin'))
194
+		{
195
+			\ErrorHandler::noPermissions();
196
+		}
197
+		else if (\JWTAuth::parseToken()->authenticate()->id == $user_id)
198
+		{
199
+			\ErrorHandler::noPermissions();
200
+		}
201
+		else if ($user->groups->pluck('name')->search('Admin', true) !== false) 
202
+		{
203
+			\ErrorHandler::noPermissions();
204
+		}
205
+
206
+		$user->blocked = 1;
207
+		$user->save();
208 208
         
209
-        return $user;
210
-    }
211
-
212
-    /**
213
-     * Unblock the user.
214
-     *
215
-     * @param  integer $user_id
216
-     * @return object
217
-     */
218
-    public function unblock($user_id)
219
-    {
220
-        if ( ! $this->hasGroup('Admin'))
221
-        {
222
-            \ErrorHandler::noPermissions();
223
-        }
224
-
225
-        $user          = $this->find($user_id);
226
-        $user->blocked = 0;
227
-        $user->save();
228
-
229
-        return $user;
230
-    }
231
-
232
-    /**
233
-     * Send a reset link to the given user.
234
-     *
235
-     * @param  string  $url
236
-     * @param  string  $email
237
-     * @return void
238
-     */
239
-    public function sendReset($email, $url)
240
-    {
241
-        view()->composer('auth.emails.password', function($view) use ($url) {
242
-            $view->with(['url' => $url]);
243
-        });
244
-
245
-        $response = \Password::sendResetLink($email, function (\Illuminate\Mail\Message $message) {
246
-            $message->subject('Your Password Reset Link');
247
-        });
248
-
249
-        switch ($response) 
250
-        {
251
-            case \Password::INVALID_USER:
252
-                \ErrorHandler::notFound('email');
253
-        }
254
-    }
255
-
256
-    /**
257
-     * Reset the given user's password.
258
-     *
259
-     * @param  array  $credentials
260
-     * @return array
261
-     */
262
-    public function resetPassword($credentials)
263
-    {
264
-        $token    = false;
265
-        $response = \Password::reset($credentials, function ($user, $password) use (&$token) {
266
-            $user->password = bcrypt($password);
267
-            $user->save();
268
-
269
-            $token = \JWTAuth::fromUser($user);
270
-        });
271
-
272
-        switch ($response) {
273
-            case \Password::PASSWORD_RESET:
274
-                return ['token' => $token];
209
+		return $user;
210
+	}
211
+
212
+	/**
213
+	 * Unblock the user.
214
+	 *
215
+	 * @param  integer $user_id
216
+	 * @return object
217
+	 */
218
+	public function unblock($user_id)
219
+	{
220
+		if ( ! $this->hasGroup('Admin'))
221
+		{
222
+			\ErrorHandler::noPermissions();
223
+		}
224
+
225
+		$user          = $this->find($user_id);
226
+		$user->blocked = 0;
227
+		$user->save();
228
+
229
+		return $user;
230
+	}
231
+
232
+	/**
233
+	 * Send a reset link to the given user.
234
+	 *
235
+	 * @param  string  $url
236
+	 * @param  string  $email
237
+	 * @return void
238
+	 */
239
+	public function sendReset($email, $url)
240
+	{
241
+		view()->composer('auth.emails.password', function($view) use ($url) {
242
+			$view->with(['url' => $url]);
243
+		});
244
+
245
+		$response = \Password::sendResetLink($email, function (\Illuminate\Mail\Message $message) {
246
+			$message->subject('Your Password Reset Link');
247
+		});
248
+
249
+		switch ($response) 
250
+		{
251
+			case \Password::INVALID_USER:
252
+				\ErrorHandler::notFound('email');
253
+		}
254
+	}
255
+
256
+	/**
257
+	 * Reset the given user's password.
258
+	 *
259
+	 * @param  array  $credentials
260
+	 * @return array
261
+	 */
262
+	public function resetPassword($credentials)
263
+	{
264
+		$token    = false;
265
+		$response = \Password::reset($credentials, function ($user, $password) use (&$token) {
266
+			$user->password = bcrypt($password);
267
+			$user->save();
268
+
269
+			$token = \JWTAuth::fromUser($user);
270
+		});
271
+
272
+		switch ($response) {
273
+			case \Password::PASSWORD_RESET:
274
+				return ['token' => $token];
275 275
                 
276
-            case \Password::INVALID_TOKEN:
277
-                \ErrorHandler::invalidResetToken('token');
278
-
279
-            case \Password::INVALID_PASSWORD:
280
-                \ErrorHandler::invalidResetPassword('email');
281
-
282
-            case \Password::INVALID_USER:
283
-                \ErrorHandler::notFound('user');
284
-
285
-            default:
286
-                \ErrorHandler::generalError();
287
-        }
288
-    }
289
-
290
-    /**
291
-     * Change the logged in user password.
292
-     *
293
-     * @param  array  $credentials
294
-     * @return void
295
-     */
296
-    public function changePassword($credentials)
297
-    {
298
-        $user = $this->find(\JWTAuth::parseToken()->authenticate()->id);
299
-        if ( ! \Hash::check($credentials['old_password'], $user->password)) 
300
-        {
301
-            \ErrorHandler::invalidOldPassword();
302
-        }
303
-
304
-        $user->password = $credentials['password'];
305
-        $user->save();
306
-    }
307
-
308
-    /**
309
-     * Refresh the expired login token.
310
-     *
311
-     * @return array
312
-     */
313
-    public function refreshtoken()
314
-    {
315
-        $token = \JWTAuth::parseToken()->refresh();
316
-
317
-        return ['token' => $token];
318
-    }
319
-
320
-    /**
321
-     * Paginate all users in the given group based on the given conditions.
322
-     * 
323
-     * @param  string  $groupName
324
-     * @param  array   $relations
325
-     * @param  integer $perPage
326
-     * @param  string  $sortBy
327
-     * @param  boolean $desc
328
-     * @return \Illuminate\Http\Response
329
-     */
330
-    public function group($conditions, $groupName, $relations, $perPage, $sortBy, $desc)
331
-    {   
332
-        unset($conditions['page']);
333
-        $conditions = $this->constructConditions($conditions, $this->model);
334
-        $sort       = $desc ? 'desc' : 'asc';
335
-        $model      = call_user_func_array("{$this->getModel()}::with", array($relations));
336
-
337
-        $model->whereHas('groups', function($q) use ($groupName){
338
-            $q->where('name', $groupName);
339
-        });
276
+			case \Password::INVALID_TOKEN:
277
+				\ErrorHandler::invalidResetToken('token');
278
+
279
+			case \Password::INVALID_PASSWORD:
280
+				\ErrorHandler::invalidResetPassword('email');
281
+
282
+			case \Password::INVALID_USER:
283
+				\ErrorHandler::notFound('user');
284
+
285
+			default:
286
+				\ErrorHandler::generalError();
287
+		}
288
+	}
289
+
290
+	/**
291
+	 * Change the logged in user password.
292
+	 *
293
+	 * @param  array  $credentials
294
+	 * @return void
295
+	 */
296
+	public function changePassword($credentials)
297
+	{
298
+		$user = $this->find(\JWTAuth::parseToken()->authenticate()->id);
299
+		if ( ! \Hash::check($credentials['old_password'], $user->password)) 
300
+		{
301
+			\ErrorHandler::invalidOldPassword();
302
+		}
303
+
304
+		$user->password = $credentials['password'];
305
+		$user->save();
306
+	}
307
+
308
+	/**
309
+	 * Refresh the expired login token.
310
+	 *
311
+	 * @return array
312
+	 */
313
+	public function refreshtoken()
314
+	{
315
+		$token = \JWTAuth::parseToken()->refresh();
316
+
317
+		return ['token' => $token];
318
+	}
319
+
320
+	/**
321
+	 * Paginate all users in the given group based on the given conditions.
322
+	 * 
323
+	 * @param  string  $groupName
324
+	 * @param  array   $relations
325
+	 * @param  integer $perPage
326
+	 * @param  string  $sortBy
327
+	 * @param  boolean $desc
328
+	 * @return \Illuminate\Http\Response
329
+	 */
330
+	public function group($conditions, $groupName, $relations, $perPage, $sortBy, $desc)
331
+	{   
332
+		unset($conditions['page']);
333
+		$conditions = $this->constructConditions($conditions, $this->model);
334
+		$sort       = $desc ? 'desc' : 'asc';
335
+		$model      = call_user_func_array("{$this->getModel()}::with", array($relations));
336
+
337
+		$model->whereHas('groups', function($q) use ($groupName){
338
+			$q->where('name', $groupName);
339
+		});
340 340
 
341 341
         
342
-        if (count($conditions['conditionValues']))
343
-        {
344
-            $model->whereRaw($conditions['conditionString'], $conditions['conditionValues']);
345
-        }
346
-
347
-        if ($perPage) 
348
-        {
349
-            return $model->orderBy($sortBy, $sort)->paginate($perPage);
350
-        }
351
-
352
-        return $model->orderBy($sortBy, $sort)->get();
353
-    }
354
-
355
-    /**
356
-     * Save the given data to the logged in user.
357
-     *
358
-     * @param  array $credentials
359
-     * @return object
360
-     */
361
-    public function saveProfile($credentials) 
362
-    {
363
-        $user = \JWTAuth::parseToken()->authenticate();
364
-        $user->save($credentials);
365
-
366
-        return $user;
367
-    }
342
+		if (count($conditions['conditionValues']))
343
+		{
344
+			$model->whereRaw($conditions['conditionString'], $conditions['conditionValues']);
345
+		}
346
+
347
+		if ($perPage) 
348
+		{
349
+			return $model->orderBy($sortBy, $sort)->paginate($perPage);
350
+		}
351
+
352
+		return $model->orderBy($sortBy, $sort)->get();
353
+	}
354
+
355
+	/**
356
+	 * Save the given data to the logged in user.
357
+	 *
358
+	 * @param  array $credentials
359
+	 * @return object
360
+	 */
361
+	public function saveProfile($credentials) 
362
+	{
363
+		$user = \JWTAuth::parseToken()->authenticate();
364
+		$user->save($credentials);
365
+
366
+		return $user;
367
+	}
368 368
 }
Please login to merge, or discard this patch.
src/Modules/V1/Reporting/Repositories/ReportRepository.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -4,66 +4,66 @@
 block discarded – undo
4 4
 
5 5
 class ReportRepository extends AbstractRepository
6 6
 {
7
-    /**
8
-     * Return the model full namespace.
9
-     * 
10
-     * @return string
11
-     */
12
-    protected function getModel()
13
-    {
14
-        return 'App\Modules\V1\Reporting\Report';
15
-    }
7
+	/**
8
+	 * Return the model full namespace.
9
+	 * 
10
+	 * @return string
11
+	 */
12
+	protected function getModel()
13
+	{
14
+		return 'App\Modules\V1\Reporting\Report';
15
+	}
16 16
 
17
-    /**
18
-     * Render the given report db view based on the given
19
-     * condition.
20
-     *
21
-     * @param  string  $reportName
22
-     * @param  array   $conditions array of conditions
23
-     * @param  integer $perPage
24
-     * @param  array   $relations
25
-     * @return object
26
-     */
27
-    public function getReport($reportName, $conditions = false, $perPage = 0, $relations = [])
28
-    {
29
-        /**
30
-         * Fetch the report from db.
31
-         */
32
-        $reportConditions = $this->constructConditions(['report_name' => $reportName], $this->model);
33
-        $report           = call_user_func_array("{$this->getModel()}::with", array($relations))->whereRaw($reportConditions['conditionString'], $reportConditions['conditionValues'])->first();
17
+	/**
18
+	 * Render the given report db view based on the given
19
+	 * condition.
20
+	 *
21
+	 * @param  string  $reportName
22
+	 * @param  array   $conditions array of conditions
23
+	 * @param  integer $perPage
24
+	 * @param  array   $relations
25
+	 * @return object
26
+	 */
27
+	public function getReport($reportName, $conditions = false, $perPage = 0, $relations = [])
28
+	{
29
+		/**
30
+		 * Fetch the report from db.
31
+		 */
32
+		$reportConditions = $this->constructConditions(['report_name' => $reportName], $this->model);
33
+		$report           = call_user_func_array("{$this->getModel()}::with", array($relations))->whereRaw($reportConditions['conditionString'], $reportConditions['conditionValues'])->first();
34 34
         
35
-        /**
36
-         * Check report existance and permission.
37
-         */
38
-        if ( ! $report) 
39
-        {
40
-            \ErrorHandler::notFound('report');
41
-        }
42
-        else if ( ! \Core::users()->can($report->view_name, 'reports'))
43
-        {
44
-            \ErrorHandler::noPermissions();
45
-        }
35
+		/**
36
+		 * Check report existance and permission.
37
+		 */
38
+		if ( ! $report) 
39
+		{
40
+			\ErrorHandler::notFound('report');
41
+		}
42
+		else if ( ! \Core::users()->can($report->view_name, 'reports'))
43
+		{
44
+			\ErrorHandler::noPermissions();
45
+		}
46 46
 
47
-        /**
48
-         * Fetch data from the report based on the given conditions.
49
-         */
50
-        $report = \DB::table($report->view_name);
51
-        unset($conditions['page']);
52
-        if (count($conditions))
53
-        {
54
-            $conditions = $this->constructConditions($conditions, $this->model);
55
-            $report->whereRaw($conditions['conditionString'], $conditions['conditionValues']);   
56
-        }
57
-        /**
58
-         * Paginate or all data.
59
-         */
60
-        if ($perPage) 
61
-        {
62
-            return $report->paginate($perPage);
63
-        }
64
-        else
65
-        {
66
-            return $report->get();  
67
-        }
68
-    }
47
+		/**
48
+		 * Fetch data from the report based on the given conditions.
49
+		 */
50
+		$report = \DB::table($report->view_name);
51
+		unset($conditions['page']);
52
+		if (count($conditions))
53
+		{
54
+			$conditions = $this->constructConditions($conditions, $this->model);
55
+			$report->whereRaw($conditions['conditionString'], $conditions['conditionValues']);   
56
+		}
57
+		/**
58
+		 * Paginate or all data.
59
+		 */
60
+		if ($perPage) 
61
+		{
62
+			return $report->paginate($perPage);
63
+		}
64
+		else
65
+		{
66
+			return $report->get();  
67
+		}
68
+	}
69 69
 }
Please login to merge, or discard this patch.