Blame view

src/Controller/GroupesMetiersController.php 6.1 KB
6c4edfa3   Alexandre   First Commit LabI...
1
2
3
4
<?php
namespace App\Controller;

use App\Controller\AppController;
04a6b875   Alexandre   Version: 2.4.2.0
5
use Cake\ORM\TableRegistry;
6c4edfa3   Alexandre   First Commit LabI...
6
7
8
9
10
11
12
13

/**
 * GroupesMetiers Controller
 *
 * @property \App\Model\Table\GroupesMetiersTable $GroupesMetiers
 */
class GroupesMetiersController extends AppController
{
f084c88b   Etienne Pallier   Gros bugfix + sim...
14

63c3cb16   epallier   Nombreux petits b...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
    /**
     * Give authorization for groupes metiers
     *
     * @param
     *            $user
     * @return boolean
     */
    public function isAuthorized($user)
    {
        // $action = $this->request->getAttribute('params')['action'];
        // $configuration = $this->confLabinvent;
        // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role'];
        $action = $this->getActionPassed();
        $role = $this->getUserRole($user);
        
        /*
         * // TOUS
         * if (in_array($action, ['view', 'index'])) {
         * return true;
         * }
         */
        
        // Super-Admin peut accéder à chaque action
        // if ($role == 'Super Administrateur') return true;
        
        /*
         * // AdministrationPlus peut tout faire sauf delete
         * if ($this->userHasRole('Administration Plus')) {
         * if ($action != 'delete') return true;
         * }
         */
        
        /*
         * // Action add, ... seulement pour Admin et +
         * //if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true;
         * if( in_array($action,['add','delete','edit'])) {
         * //if ($role == 'Administration') return true;
         * if ($this->USER_IS_ADMIN_AT_LEAST()) return true;
         * // Les autres n'y ont pas accès
         * return false;
         * }
         */
        
        // Par défaut
        // return false;
        // return parent::isAuthorized($user);
        
        return $this->isAuthorizedCommons($user);
    }
6c4edfa3   Alexandre   First Commit LabI...
64
65
66
67
68
69
70
71
72

    /**
     * Index method
     *
     * @return \Cake\Network\Response|null
     */
    public function index()
    {
        $groupesMetiers = $this->paginate($this->GroupesMetiers);
63c3cb16   epallier   Nombreux petits b...
73
        
6c4edfa3   Alexandre   First Commit LabI...
74
        $this->set(compact('groupesMetiers'));
63c3cb16   epallier   Nombreux petits b...
75
76
77
        $this->set('_serialize', [
            'groupesMetiers'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
78
79
80
81
82
    }

    /**
     * View method
     *
63c3cb16   epallier   Nombreux petits b...
83
84
     * @param string|null $id
     *            Groupes Metier id.
6c4edfa3   Alexandre   First Commit LabI...
85
86
87
88
89
90
     * @return \Cake\Network\Response|null
     * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
     */
    public function view($id = null)
    {
        $groupesMetier = $this->GroupesMetiers->get($id, [
63c3cb16   epallier   Nombreux petits b...
91
92
93
94
            'contain' => [
                'Materiels',
                'Users'
            ]
6c4edfa3   Alexandre   First Commit LabI...
95
        ]);
3e24b686   Alexandre   Version: 2.4.2.20
96
        
63c3cb16   epallier   Nombreux petits b...
97
98
99
100
101
102
103
104
        $materiels = TableRegistry::get('Materiels')->find('all')->where([
            'groupes_metier_id =' => $id
        ]);
        $this->set('materiels', $materiels);
        
        $utilisateurs = TableRegistry::get('Users')->find('all')->where([
            'groupes_metier_id =' => $id
        ]);
3e24b686   Alexandre   Version: 2.4.2.20
105
106
        $this->set('utilisateurs', $utilisateurs);
        
63c3cb16   epallier   Nombreux petits b...
107
108
109
        $suivis = TableRegistry::get('Suivis')->find('all')->where([
            'groupes_metier_id =' => $id
        ]);
e9a0cc56   Alexandre   Version: 2.4.6.0
110
        $this->set('suivis', $suivis);
3e24b686   Alexandre   Version: 2.4.2.20
111
        
6c4edfa3   Alexandre   First Commit LabI...
112
        $this->set('groupesMetier', $groupesMetier);
63c3cb16   epallier   Nombreux petits b...
113
114
115
        $this->set('_serialize', [
            'groupesMetier'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
116
117
118
119
120
121
122
123
124
125
126
127
128
    }

    /**
     * Add method
     *
     * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise.
     */
    public function add()
    {
        $groupesMetier = $this->GroupesMetiers->newEntity();
        if ($this->request->is('post')) {
            $groupesMetier = $this->GroupesMetiers->patchEntity($groupesMetier, $this->request->data);
            if ($this->GroupesMetiers->save($groupesMetier)) {
d6960faf   Alexandre   Migration de plus...
129
                $this->Flash->success(__('Le groupe métier a bien été ajouté.'));
63c3cb16   epallier   Nombreux petits b...
130
131
132
133
                return $this->redirect([
                    'action' => 'view',
                    $groupesMetier->id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
134
            } else {
d6960faf   Alexandre   Migration de plus...
135
                $this->Flash->error(__('Le groupe métier n\'a pas pu être ajouté.'));
6c4edfa3   Alexandre   First Commit LabI...
136
137
138
            }
        }
        $this->set(compact('groupesMetier'));
63c3cb16   epallier   Nombreux petits b...
139
140
141
        $this->set('_serialize', [
            'groupesMetier'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
142
143
144
145
146
    }

    /**
     * Edit method
     *
63c3cb16   epallier   Nombreux petits b...
147
148
     * @param string|null $id
     *            Groupes Metier id.
6c4edfa3   Alexandre   First Commit LabI...
149
150
151
152
153
154
155
156
     * @return \Cake\Network\Response|void Redirects on successful edit, renders view otherwise.
     * @throws \Cake\Network\Exception\NotFoundException When record not found.
     */
    public function edit($id = null)
    {
        $groupesMetier = $this->GroupesMetiers->get($id, [
            'contain' => []
        ]);
63c3cb16   epallier   Nombreux petits b...
157
158
159
160
161
        if ($this->request->is([
            'patch',
            'post',
            'put'
        ])) {
6c4edfa3   Alexandre   First Commit LabI...
162
163
            $groupesMetier = $this->GroupesMetiers->patchEntity($groupesMetier, $this->request->data);
            if ($this->GroupesMetiers->save($groupesMetier)) {
d6960faf   Alexandre   Migration de plus...
164
                $this->Flash->success(__('Le groupe métier a bien été édité.'));
63c3cb16   epallier   Nombreux petits b...
165
166
167
168
                return $this->redirect([
                    'action' => 'view',
                    $id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
169
            } else {
d6960faf   Alexandre   Migration de plus...
170
                $this->Flash->error(__('Le groupe métier n\'a pas pu être édité.'));
6c4edfa3   Alexandre   First Commit LabI...
171
172
173
            }
        }
        $this->set(compact('groupesMetier'));
63c3cb16   epallier   Nombreux petits b...
174
175
176
        $this->set('_serialize', [
            'groupesMetier'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
177
178
179
180
181
    }

    /**
     * Delete method
     *
63c3cb16   epallier   Nombreux petits b...
182
183
     * @param string|null $id
     *            Groupes Metier id.
6c4edfa3   Alexandre   First Commit LabI...
184
185
186
187
188
     * @return \Cake\Network\Response|null Redirects to index.
     * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
     */
    public function delete($id = null)
    {
63c3cb16   epallier   Nombreux petits b...
189
190
191
192
        $this->request->allowMethod([
            'post',
            'delete'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
193
194
        $groupesMetier = $this->GroupesMetiers->get($id);
        if ($this->GroupesMetiers->delete($groupesMetier)) {
d6960faf   Alexandre   Migration de plus...
195
            $this->Flash->success(__('Le groupe métier a bien été supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
196
        } else {
d6960faf   Alexandre   Migration de plus...
197
            $this->Flash->error(__('Le groupe métier n\'a pas pu être supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
198
        }
63c3cb16   epallier   Nombreux petits b...
199
200
201
        return $this->redirect([
            'action' => 'index'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
202
203
    }
}