ListNCFTipoAnulacion   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 28
dl 0
loc 45
rs 10
c 1
b 0
f 1
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A createViews() 0 6 1
A addRestoreButton() 0 13 1
A execPreviousAction() 0 9 2
A getPageData() 0 9 1
1
<?php
2
3
/*
4
 * Copyright (C) 2019 Joe Zegarra.
5
 *
6
 * This library is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 3 of the License, or (at your option) any later version.
10
 *
11
 * This library is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with this library; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA 02110-1301  USA
20
 */
21
22
namespace FacturaScripts\Plugins\fsRepublicaDominicana\Controller;
23
24
use FacturaScripts\Core\Lib\ExtendedController\ListController;
0 ignored issues
show
Bug introduced by
The type FacturaScripts\Core\Lib\...ntroller\ListController was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
25
use FacturaScripts\Core\Tools;
26
27
/**
28
 * Description of NCFTipoAnulacion
29
 *
30
 * @author Joe Zegarra
31
 */
32
class ListNCFTipoAnulacion extends ListController
33
{
34
    public function getPageData(): array
35
    {
36
        $pageData = parent::getPageData();
37
        $pageData['menu'] = 'accounting';
38
        $pageData['submenu'] = 'Republica Dominicana';
39
        $pageData['title'] = 'ncf-cancellation-types';
40
        $pageData['icon'] = 'fa-solid fa-list';
41
        
42
        return $pageData;
43
    }
44
    
45
    public function addRestoreButton($viewName)
46
    {
47
        $restoreButton = [
48
            'color' => 'danger',
49
            'icon' => 'fa-solid fa-undo',
50
            'label' => 'restore-original-data',
51
            'title' => 'restore-original-data',
52
            'type' => 'action',
53
            'action' => 'restore-data',
54
            'hint' => 'restore-original-data',
55
            'confirm' => true
56
        ];
57
        $this->addButton($viewName, $restoreButton);
58
    }
59
    
60
    protected function createViews() 
61
    {
62
        $this->addView('ListNCFTipoAnulacion', 'NCFTipoAnulacion');
63
        $this->addSearchFields('ListNCFTipoAnulacion', ['codigo']);
64
        $this->addOrderBy('ListNCFTipoAnulacion', ['codigo'], 'codigo');
65
        $this->addRestoreButton('ListNCFTipoAnulacion');
66
    }
67
    
68
    protected function execPreviousAction($action)
69
    {
70
        switch ($action) {
71
            case 'restore-data':
72
                $this->views['ListNCFTipoAnulacion']->model->restoreData();
73
                Tools::log()->notice('restored-original-data');
74
                break;
75
            default:
76
                parent::execPreviousAction($action);
77
        }
78
    } 
79
}
80