Blame view

src/Controller/UnitesController.php 4.7 KB
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
1
2
3
4
5
6
7
8
9
<?php
namespace App\Controller;

use App\Controller\AppController;
use Cake\ORM\TableRegistry;

/**
 * Unites Controller
 *
63c3cb16   epallier   Nombreux petits b...
10
 * @property \App\Model\Table\UnitesTable $Unites
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
11
12
13
14
 */
class UnitesController extends AppController
{

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
    /**
     * Give authorization for unites
     *
     * @param
     *            $user
     * @return boolean
     */
    public function isAuthorized($user)
    {
        /*
         * $configuration = $this->confLabinvent;
         * $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role'];
         * $action = $this->request->getAttribute('params')['action'];
         *
         * // Super-Admin peut accéder à chaque action
         * if($role == 'Super Administrateur') return true;
         *
         * // Administration peut ajouter, supprimer ou modifier une unité
         * if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true;
         * if (in_array($action, ['view', 'index'])) {
         * return true;
         * }
         *
         * if($this->userHasRoleAtLeast('Administration Plus')) {
         * if($action != 'delete') return true;
         * }
         *
         * return false;
         */
        return $this->isAuthorizedCommons($user);
    }

b3dceb2a   Alexis Proust   Ajout nouveaux fi...
47
48
49
50
51
52
53
54
    /**
     * Index method
     *
     * @return \Cake\Network\Response|null
     */
    public function index()
    {
        $unites = $this->paginate($this->Unites);
63c3cb16   epallier   Nombreux petits b...
55
        
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
56
        $this->set(compact('unites'));
63c3cb16   epallier   Nombreux petits b...
57
58
59
        $this->set('_serialize', [
            'unites'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
60
61
62
63
64
    }

    /**
     * View method
     *
63c3cb16   epallier   Nombreux petits b...
65
66
     * @param string|null $id
     *            Unites id.
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
67
68
69
70
71
72
     * @return \Cake\Network\Response|null
     * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
     */
    public function view($id = null)
    {
        $unite = $this->Unites->get($id);
63c3cb16   epallier   Nombreux petits b...
73
74
75
76
        
        $suivis = TableRegistry::get('Suivis')->find('all')->where([
            'unite_id =' => $id
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
77
78
        $this->set('suivis', $suivis);
        $this->set('unite', $unite);
63c3cb16   epallier   Nombreux petits b...
79
80
81
        $this->set('_serialize', [
            'unite'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
82
83
84
85
86
87
88
89
90
91
92
93
94
95
    }

    /**
     * Add method
     *
     * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise.
     */
    public function add()
    {
        $unite = $this->Unites->newEntity();
        if ($this->request->is('post')) {
            $unite = $this->Unites->patchEntity($unite, $this->request->data);
            if ($this->Unites->save($unite)) {
                $this->Flash->success(__('L\'unité a bien été ajouté.'));
63c3cb16   epallier   Nombreux petits b...
96
97
98
99
                return $this->redirect([
                    'action' => 'view',
                    $unite->id
                ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
100
101
102
103
104
            } else {
                $this->Flash->error(__('L\'unité n\'a pas pu être ajouté.'));
            }
        }
        $this->set(compact('unite'));
63c3cb16   epallier   Nombreux petits b...
105
106
107
        $this->set('_serialize', [
            'unite'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
108
109
110
111
112
    }

    /**
     * Edit method
     *
63c3cb16   epallier   Nombreux petits b...
113
114
     * @param string|null $id
     *            unites id.
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
115
116
117
118
119
120
     * @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)
    {
        $unite = $this->Unites->get($id);
63c3cb16   epallier   Nombreux petits b...
121
122
123
124
125
        if ($this->request->is([
            'patch',
            'post',
            'put'
        ])) {
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
126
127
128
            $unite = $this->Unites->patchEntity($unite, $this->request->data);
            if ($this->Unites->save($unite)) {
                $this->Flash->success(__('L\'unite a bien été édité.'));
63c3cb16   epallier   Nombreux petits b...
129
130
131
132
                return $this->redirect([
                    'action' => 'view',
                    $id
                ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
133
134
135
136
137
            } else {
                $this->Flash->error(__('L\'unite n\a pas pu être édité.'));
            }
        }
        $this->set(compact('unite'));
63c3cb16   epallier   Nombreux petits b...
138
139
140
        $this->set('_serialize', [
            'unite'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
141
142
143
144
145
    }

    /**
     * Delete method
     *
63c3cb16   epallier   Nombreux petits b...
146
147
     * @param string|null $id
     *            Unites id.
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
148
149
150
151
152
     * @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...
153
154
155
156
        $this->request->allowMethod([
            'post',
            'delete'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
157
158
159
160
161
162
        $unite = $this->Unites->get($id);
        if ($this->Unites->delete($unite)) {
            $this->Flash->success(__('L\'unite a bien été supprimé.'));
        } else {
            $this->Flash->error(__('L\'unite n\'a pas pu être supprimé.'));
        }
63c3cb16   epallier   Nombreux petits b...
163
164
165
        return $this->redirect([
            'action' => 'index'
        ]);
b3dceb2a   Alexis Proust   Ajout nouveaux fi...
166
167
    }
}