summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2016-05-29 16:21:59 +0200
committerLudovic Pouzenc <ludovic@pouzenc.fr>2016-05-29 16:21:59 +0200
commit1c15af6f61780e03bccc36547f223c8e700f5773 (patch)
tree22d18f263f1fd934c90ef5bf39427a127c823a94
parenteffb4dba3e444fcccd582826924bf933c163d035 (diff)
downloadchd_gestion-1c15af6f61780e03bccc36547f223c8e700f5773.zip
chd_gestion-1c15af6f61780e03bccc36547f223c8e700f5773.tar.gz
chd_gestion-1c15af6f61780e03bccc36547f223c8e700f5773.tar.bz2
Bugfix : Equipement/edit only show available Ipmgmt (as in Equipement/add)
-rw-r--r--generator/after-bake/src/Controller/EquipementsController.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/generator/after-bake/src/Controller/EquipementsController.php b/generator/after-bake/src/Controller/EquipementsController.php
index 7bc423a..216fe64 100644
--- a/generator/after-bake/src/Controller/EquipementsController.php
+++ b/generator/after-bake/src/Controller/EquipementsController.php
@@ -127,8 +127,12 @@ class EquipementsController extends AppController
}
}
$equipements = $this->Equipements->Equipements->find('list', array('order' => array('mac' => 'asc')));
- $services = $this->Equipements->Services->find('list');
- $ipmgmt = $this->Equipements->Ipmgmt->find('list');
+ $services = $this->Equipements->Services->find('list');
+ // IPmgmt list : own IP + unused IP
+ // XXX Cake bug ->orWhere(['Ipmgmt.ip4' => $equipement->ipmgmt_id]) does a AND WHERE after ->notMatching('Equipements') so forced to use leftJoinWith()
+ $ipmgmt = $this->Equipements->Ipmgmt->find('list')->distinct()->leftJoinWith('Equipements');
+ $ipmgmt->where(['Equipements.id IS' => NULL])->orWhere(['Ipmgmt.ip4' => $equipement->ipmgmt_id]);
+ $ipmgmt->order($ipmgmt->newExpr()->add(['INET_ATON(ip4)']));
$equipementModeles = $this->Equipements->EquipementModeles->find('list');
$equipementModes = $this->Equipements->EquipementModes->find('list');
$relais = $this->Equipements->Relais->find('list');