RouteRegistrar   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 18
c 2
b 0
f 0
dl 0
loc 41
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A all() 0 19 1
A __construct() 0 3 1
1
<?php
2
3
namespace CleaniqueCoders\OpenPayroll;
4
5
use Illuminate\Contracts\Routing\Registrar as Router;
6
use Illuminate\Support\Facades\Route;
7
8
class RouteRegistrar
9
{
10
    /**
11
     * The router implementation.
12
     *
13
     * @var \Illuminate\Contracts\Routing\Registrar
14
     */
15
    protected $router;
16
17
    /**
18
     * Create a new route registrar instance.
19
     *
20
     * @param \Illuminate\Contracts\Routing\Registrar $router
21
     */
22
    public function __construct(Router $router)
23
    {
24
        $this->router = $router;
25
    }
26
27
    /**
28
     * Register routes.
29
     */
30
    public function all()
31
    {
32
        $this->router->group(['middleware' => ['web', 'auth']], function($router) {
33
            $router->resource('payroll', 'PayrollController');
34
            $router->resource('payslip', 'PayslipController');
35
            $router->resource('earning', 'EarningController');
36
            $router->resource('deduction', 'DeductionController');
37
            $router->get('recalculate/payslip/{id}', 'RecalculatePayslipController@__invoke')->name('payslip.recalculate');
38
            $router->get('recalculate/payroll/{id}', 'RecalculatePayrollController@__invoke')->name('payroll.recalculate');
39
40
            $router->get('setting', 'SettingController@__invoke')->name('setting.index');
41
42
            $this->router->group([
43
                    'namespace' => 'Setting',
44
                    'prefix'    => 'setting',
45
                    'as'        => 'setting.',
46
                ], function($router) {
47
                    $router->resource('deduction', 'DeductionController');
48
                    $router->resource('earning', 'EarningController');
49
                });
50
        });
51
    }
52
}
53