Blame view

src/Controller/TypeSuivisController.php 5.01 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

/**
 * TypeSuivis Controller
 *
 * @property \App\Model\Table\TypeSuivisTable $TypeSuivis
 */
class TypeSuivisController 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
47
    /**
     * Give authorization for types suivis
     *
     * @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 un type de suivi
         * 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);
    }

6c4edfa3   Alexandre   First Commit LabI...
48
49
50
51
52
53
54
55
    /**
     * Index method
     *
     * @return \Cake\Network\Response|null
     */
    public function index()
    {
        $typeSuivis = $this->paginate($this->TypeSuivis);
63c3cb16   epallier   Nombreux petits b...
56
        
6c4edfa3   Alexandre   First Commit LabI...
57
        $this->set(compact('typeSuivis'));
63c3cb16   epallier   Nombreux petits b...
58
59
60
        $this->set('_serialize', [
            'typeSuivis'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
61
62
63
64
65
    }

    /**
     * View method
     *
63c3cb16   epallier   Nombreux petits b...
66
67
     * @param string|null $id
     *            Type Suivi id.
6c4edfa3   Alexandre   First Commit LabI...
68
69
70
71
72
73
74
75
     * @return \Cake\Network\Response|null
     * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
     */
    public function view($id = null)
    {
        $typeSuivi = $this->TypeSuivis->get($id, [
            'contain' => []
        ]);
63c3cb16   epallier   Nombreux petits b...
76
77
78
79
        
        $suivis = TableRegistry::get('Suivis')->find('all')->where([
            'type_suivi_id =' => $id
        ]);
3e24b686   Alexandre   Version: 2.4.2.20
80
81
        $this->set('suivis', $suivis);
        
6c4edfa3   Alexandre   First Commit LabI...
82
        $this->set('typeSuivi', $typeSuivi);
63c3cb16   epallier   Nombreux petits b...
83
84
85
        $this->set('_serialize', [
            'typeSuivi'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
86
87
88
89
90
91
92
93
94
95
96
97
98
    }

    /**
     * Add method
     *
     * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise.
     */
    public function add()
    {
        $typeSuivi = $this->TypeSuivis->newEntity();
        if ($this->request->is('post')) {
            $typeSuivi = $this->TypeSuivis->patchEntity($typeSuivi, $this->request->data);
            if ($this->TypeSuivis->save($typeSuivi)) {
d6960faf   Alexandre   Migration de plus...
99
                $this->Flash->success(__('Le type de suivi a bien été ajouté.'));
63c3cb16   epallier   Nombreux petits b...
100
101
102
103
                return $this->redirect([
                    'action' => 'view',
                    $typeSuivi->id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
104
            } else {
d6960faf   Alexandre   Migration de plus...
105
                $this->Flash->error(__('Le type de suivi n\'a pas pu être ajouté.'));
6c4edfa3   Alexandre   First Commit LabI...
106
107
108
            }
        }
        $this->set(compact('typeSuivi'));
63c3cb16   epallier   Nombreux petits b...
109
110
111
        $this->set('_serialize', [
            'typeSuivi'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
112
113
114
115
116
    }

    /**
     * Edit method
     *
63c3cb16   epallier   Nombreux petits b...
117
118
     * @param string|null $id
     *            Type Suivi id.
6c4edfa3   Alexandre   First Commit LabI...
119
120
121
122
123
124
125
126
     * @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)
    {
        $typeSuivi = $this->TypeSuivis->get($id, [
            'contain' => []
        ]);
63c3cb16   epallier   Nombreux petits b...
127
128
129
130
131
        if ($this->request->is([
            'patch',
            'post',
            'put'
        ])) {
6c4edfa3   Alexandre   First Commit LabI...
132
133
            $typeSuivi = $this->TypeSuivis->patchEntity($typeSuivi, $this->request->data);
            if ($this->TypeSuivis->save($typeSuivi)) {
d6960faf   Alexandre   Migration de plus...
134
                $this->Flash->success(__('Le type de suivi a bien été édité.'));
63c3cb16   epallier   Nombreux petits b...
135
136
137
138
                return $this->redirect([
                    'action' => 'view',
                    $id
                ]);
6c4edfa3   Alexandre   First Commit LabI...
139
            } else {
d6960faf   Alexandre   Migration de plus...
140
                $this->Flash->error(__('Le type de suivi n\'a pas pu être édité.'));
6c4edfa3   Alexandre   First Commit LabI...
141
142
143
            }
        }
        $this->set(compact('typeSuivi'));
63c3cb16   epallier   Nombreux petits b...
144
145
146
        $this->set('_serialize', [
            'typeSuivi'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
147
148
149
150
151
    }

    /**
     * Delete method
     *
63c3cb16   epallier   Nombreux petits b...
152
153
     * @param string|null $id
     *            Type Suivi id.
6c4edfa3   Alexandre   First Commit LabI...
154
155
156
157
158
     * @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...
159
160
161
162
        $this->request->allowMethod([
            'post',
            'delete'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
163
164
        $typeSuivi = $this->TypeSuivis->get($id);
        if ($this->TypeSuivis->delete($typeSuivi)) {
d6960faf   Alexandre   Migration de plus...
165
            $this->Flash->success(__('Le type de suivi a bien été supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
166
        } else {
d6960faf   Alexandre   Migration de plus...
167
            $this->Flash->error(__('Le type de suivi n\'a pas pu être supprimé.'));
6c4edfa3   Alexandre   First Commit LabI...
168
        }
63c3cb16   epallier   Nombreux petits b...
169
170
171
        return $this->redirect([
            'action' => 'index'
        ]);
6c4edfa3   Alexandre   First Commit LabI...
172
173
    }
}