diff options
Diffstat (limited to 'generator/after-bake/src/Controller/RelaisController.php')
-rw-r--r-- | generator/after-bake/src/Controller/RelaisController.php | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/generator/after-bake/src/Controller/RelaisController.php b/generator/after-bake/src/Controller/RelaisController.php new file mode 100644 index 0000000..a2452c3 --- /dev/null +++ b/generator/after-bake/src/Controller/RelaisController.php @@ -0,0 +1,122 @@ +<?php +/** + * Copyright 2016 Ludovic Pouzenc <ludovic@pouzenc.fr> + * Copyright 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> + * + * This file is part of CHD Gestion. + * + * CHD Gestion is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CHD Gestion is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CHD Gestion. If not, see <http://www.gnu.org/licenses/>. +**/ +namespace App\Controller; + +use App\Controller\AppController; + +/** + * Relais Controller + * + * @property \App\Model\Table\RelaisTable $Relais + */ +class RelaisController extends AppController +{ + + /** + * Index method + * + * @return void + */ + public function index() + { + $this->paginate = [ + 'contain' => ['Secteurs', 'Villes'] + ]; + $this->set('relais', $this->paginate($this->Relais)); + } + + /** + * View method + * + * @param string|null $id Relais id. + * @return void + * @throws \Cake\Network\Exception\NotFoundException When record not found. + */ + public function view($id = null) + { + /* + $customJoin = function ($q) { + return $q + ->leftJoinWith('Adherents') + ->select(['Adherents.id','Adherents.nom','Adherents.prenom','Adherents.raison']) + ->leftJoinWith('ServiceStatuts') + ->select(['ServiceStatuts.title']); + };*/ + $relais = $this->Relais->get($id, [ + 'contain' => [ + 'Secteurs', 'Villes', + 'Equipements' => ['EquipementModeles', 'Ipmgmt'], //, 'Services' => $customJoin], + ] + ]); + $this->set('relais', $relais); + $this->set('_serialize', ['relais']); + } + + /** + * Add method + * + * @return void Redirects on successful add, renders view otherwise. + */ + public function add() + { + $relais = $this->Relais->newEntity(); + if ($this->request->is('post')) { + $relais = $this->Relais->patchEntity($relais, $this->request->data); + if ($this->Relais->save($relais)) { + $this->Flash->success(__('The relais has been saved.')); + return $this->redirect(['action' => 'index']); + } else { + $this->Flash->error(__('The relais could not be saved. Please, try again.')); + } + } + $secteurs = $this->Relais->Secteurs->find('list'); + $villes = $this->Relais->Villes->find('list'); + $this->set(compact('relais', 'secteurs', 'villes')); + $this->set('_serialize', ['relais']); + } + + /** + * Edit method + * + * @param string|null $id Relais id. + * @return void Redirects on successful edit, renders view otherwise. + * @throws \Cake\Network\Exception\NotFoundException When record not found. + */ + public function edit($id = null) + { + $relais = $this->Relais->get($id, [ + 'contain' => [] + ]); + if ($this->request->is(['patch', 'post', 'put'])) { + $relais = $this->Relais->patchEntity($relais, $this->request->data); + if ($this->Relais->save($relais)) { + $this->Flash->success(__('The relais has been saved.')); + return $this->redirect(['action' => 'index']); + } else { + $this->Flash->error(__('The relais could not be saved. Please, try again.')); + } + } + $secteurs = $this->Relais->Secteurs->find('list'); + $villes = $this->Relais->Villes->find('list'); + $this->set(compact('relais', 'secteurs', 'villes')); + $this->set('_serialize', ['relais']); + } +} |