* Copyright 2016 Nicolas Goaziou * * 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 . **/ 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']); } }