Blame view

src/Controller/OrganismesController.php 5.46 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
14

/**
 * Organismes Controller
 *
 * @property \App\Model\Table\OrganismesTable $Organismes
 */
class OrganismesController extends AppController
{

63c3cb16   epallier   Nombreux petits b...
15
16
17
18
    protected function getArticle()
    {
        return "L'";
    }
f084c88b   Etienne Pallier   Gros bugfix + sim...
19

63c3cb16   epallier   Nombreux petits b...
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
    /**
     * Give authorization for organismes
     *
     * @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'];
         */
        /*
         * $action = $this->getActionPassed();
         * $role = $this->getUserRole($user);
         *
         * // Super-Admin peut accéder à chaque action
         * //if($role == 'Super Administrateur') return true;
         *
         * // Administration peut ajouter, supprimer ou modifier un organisme
         * //if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true;
         * if( in_array($action,['add','delete','edit'])) {
         * if ($this->USER_IS_ADMIN_AT_LEAST()) return true;
         * return false;
         * }
         *
         * /*
         * if (in_array($action, ['view', 'index'])) {
         * return true;
         * }
         * if($this->userHasRoleAtLeast('Administration Plus')) {
         * if($action != 'delete') return true;
         * }
         */
        
        // Par défaut
        // return false;
        // return parent::isAuthorized($user);
        return $this->isAuthorizedCommons($user);
    }
f084c88b   Etienne Pallier   Gros bugfix + sim...
63

6c4edfa3   Alexandre   First Commit LabI...
64
65
66
67
68
69
70
71
    /**
     * Index method
     *
     * @return \Cake\Network\Response|null
     */
    public function index()
    {
        $organismes = $this->paginate($this->Organismes);
63c3cb16   epallier   Nombreux petits b...
72
        
6c4edfa3   Alexandre   First Commit LabI...
73
        $this->set(compact('organismes'));
63c3cb16   epallier   Nombreux petits b...
74
75
76
        $this->set('_serialize', [
            'organismes'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
77
78
79
80
81
    }

    /**
     * View method
     *
63c3cb16   epallier   Nombreux petits b...
82
83
     * @param string|null $id
     *            Organisme id.
6c4edfa3   Alexandre   First Commit LabI...
84
85
86
87
88
89
     * @return \Cake\Network\Response|null
     * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
     */
    public function view($id = null)
    {
        $organisme = $this->Organismes->get($id, [
63c3cb16   epallier   Nombreux petits b...
90
91
92
93
94
95
96
            'contain' => [
                'Materiels'
            ]
        ]);
        
        $materiels = TableRegistry::get('Materiels')->find('all')->where([
            'organisme_id =' => $id
6c4edfa3   Alexandre   First Commit LabI...
97
        ]);
3e24b686   Alexandre   Version: 2.4.2.20
98
99
        $this->set('materiels', $materiels);
        
6c4edfa3   Alexandre   First Commit LabI...
100
        $this->set('organisme', $organisme);
63c3cb16   epallier   Nombreux petits b...
101
102
103
        $this->set('_serialize', [
            'organisme'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
104
105
106
107
108
109
110
111
112
113
114
115
116
    }

    /**
     * Add method
     *
     * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise.
     */
    public function add()
    {
        $organisme = $this->Organismes->newEntity();
        if ($this->request->is('post')) {
            $organisme = $this->Organismes->patchEntity($organisme, $this->request->data);
            if ($this->Organismes->save($organisme)) {
d6960faf   Alexandre   Migration de plus...
117
                $this->Flash->success(__('L\'organisme a bien été ajouté.'));
63c3cb16   epallier   Nombreux petits b...
118
119
120
121
                return $this->redirect([
                    'action' => 'view',
                    $organisme->id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
122
            } else {
d6960faf   Alexandre   Migration de plus...
123
                $this->Flash->error(__('L\'organisme n\'a pas pu être ajouté.'));
6c4edfa3   Alexandre   First Commit LabI...
124
125
126
            }
        }
        $this->set(compact('organisme'));
63c3cb16   epallier   Nombreux petits b...
127
128
129
        $this->set('_serialize', [
            'organisme'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
130
131
132
133
134
    }

    /**
     * Edit method
     *
63c3cb16   epallier   Nombreux petits b...
135
136
     * @param string|null $id
     *            Organisme id.
6c4edfa3   Alexandre   First Commit LabI...
137
138
139
140
141
142
143
144
     * @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)
    {
        $organisme = $this->Organismes->get($id, [
            'contain' => []
        ]);
63c3cb16   epallier   Nombreux petits b...
145
146
147
148
149
        if ($this->request->is([
            'patch',
            'post',
            'put'
        ])) {
6c4edfa3   Alexandre   First Commit LabI...
150
151
            $organisme = $this->Organismes->patchEntity($organisme, $this->request->data);
            if ($this->Organismes->save($organisme)) {
d6960faf   Alexandre   Migration de plus...
152
                $this->Flash->success(__('L\'organisme a bien été édité.'));
63c3cb16   epallier   Nombreux petits b...
153
154
155
156
                return $this->redirect([
                    'action' => 'view',
                    $id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
157
            } else {
d6960faf   Alexandre   Migration de plus...
158
                $this->Flash->error(__('L\'organisme n\'a pas pu être édité.'));
6c4edfa3   Alexandre   First Commit LabI...
159
160
161
            }
        }
        $this->set(compact('organisme'));
63c3cb16   epallier   Nombreux petits b...
162
163
164
        $this->set('_serialize', [
            'organisme'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
165
166
167
168
169
    }

    /**
     * Delete method
     *
63c3cb16   epallier   Nombreux petits b...
170
171
     * @param string|null $id
     *            Organisme id.
6c4edfa3   Alexandre   First Commit LabI...
172
173
174
175
176
     * @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...
177
178
179
180
        $this->request->allowMethod([
            'post',
            'delete'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
181
182
        $organisme = $this->Organismes->get($id);
        if ($this->Organismes->delete($organisme)) {
d6960faf   Alexandre   Migration de plus...
183
            $this->Flash->success(__('L\'organisme a bien été supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
184
        } else {
d6960faf   Alexandre   Migration de plus...
185
            $this->Flash->error(__('L\'organisme n\'a pas pu être supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
186
        }
63c3cb16   epallier   Nombreux petits b...
187
188
189
        return $this->redirect([
            'action' => 'index'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
190
191
    }
}