status == 'CREATED' ); define ( 'IS_VALIDATED', $materiel->status == 'VALIDATED' ); define ( 'IS_ARCHIVED_OR_TOBE', in_array ( $materiel->status, ['TOBEARCHIVED','ARCHIVED'] ) ); function isReadonlyField($fieldName, $myReadonlyFields) { if (! empty ( $myReadonlyFields ) && $myReadonlyFields [0] == '*') { $modifiableFields = $myReadonlyFields; array_shift ( $modifiableFields ); return ! in_array ( $fieldName, $modifiableFields ); } return in_array ( $fieldName, $myReadonlyFields ); } $administrationData = array ( 'eotp', 'numero_commande', 'code_comptable', 'numero_inventaire_organisme', 'numero_inventaire_old' ); $myReadonlyFields = array (); if (IS_VALIDATED) // can only modify some fields $myReadonlyFields = array_merge ( array ( 'sur_categorie_id', 'categorie_id', 'sous_categorie_id', 'materiel_administratif', 'materiel_technique', 'site_id', 'date_acquisition', 'date_reception', 'nom_responsable', 'fournisseur', 'organisme_id', 'prix_ht' ), $administrationData ); elseif (IS_ARCHIVED_OR_TOBE) { $myReadonlyFields = array ('*','status'); } ?>
Form->create($materiel) ?>

Editer un Matériel

Form->submit(__('Enregistrer')) ?> Form->input('designation', [ 'label' => 'Désignation', 'disabled' => isReadonlyField('designation', $myReadonlyFields) ]); echo $this->Form->input('sur_categorie_id', [ 'label' => 'Domaine', 'options' => $surCategories, 'empty' => 'Choisir un domaine', 'readonly' => isReadonlyField ( 'sur_categorie_id', $myReadonlyFields ), 'disabled' => isReadonlyField ( 'sur_categorie_id', $myReadonlyFields ) ]); $categs = $categories; // if a domaine is selected, reduce the categories list to this domaine if (isset ( $this->request->data['sur_categorie_id'] ) && ($this->request->data['sur_categorie_id'] != '')) { $categs = $categs->where(['sur_categorie_id =' => $this->request->data['sur_categorie_id']]); } echo $this->Form->input('categorie_id', [ 'label' => 'Catégorie', 'options' => $categs, 'empty' => 'Choisir une catégorie', 'disabled' => isReadonlyField('categorie_id', $myReadonlyFields) ]); // SOUS-CATEGORIES // by default, list is empty $souscategs = []; // if a categ is selected, update sous-categs list for this categ (only) if (isset ( $this->request->data['categorie_id'] ) && ($this->request->data['categorie_id'] != '')) { $souscategs = $sousCategories; $souscategs = $souscategs->where(['categorie_id' => $this->request->data['categorie_id']]); } echo $this->Form->input('sous_categorie_id', [ 'label' => 'Sous-catégorie', 'options' => $souscategs, 'empty' => 'Choisir une sous-catégorie', 'disabled' => isReadonlyField('sous_categorie_id', $myReadonlyFields) ]); echo $this->Form->input('materiel_technique', [ 'label' => 'Technique', 'disabled' => isReadonlyField('materiel_technique', $myReadonlyFields) ]); echo $this->Form->input('materiel_administratif', [ 'label' => 'Inventoriable (>800€)', 'disabled' => isReadonlyField('materiel_administratif', $myReadonlyFields) ]); echo $this->Form->input('description', [ 'label' => 'Description', 'disabled' => isReadonlyField('description', $myReadonlyFields) ]); echo $this->Form->input('etiquette', [ 'label' => 'Etiquette posée', 'disabled' => isReadonlyField('etiquette', $myReadonlyFields) ]); echo $this->Form->input('site_id', [ 'options' => $sites, 'empty' => 'Choisir un site', 'disabled' => isReadonlyField('site_id', $myReadonlyFields) ]); echo $this->Form->input('lieu_stockage', ['label' => 'Lieu de stockage (pièce)']); echo $this->Form->input('lieu_detail', ['label' => 'Détail lieu de stockage']); echo $this->Form->input('date_acquisition', [ 'type' => 'text', 'label' => 'Date de la commande', 'class' => 'datepicker', 'placeholder' => 'Cliquez pour sélectionner une date', 'disabled' => isReadonlyField('date_acquisition', $myReadonlyFields), ]); echo $this->Form->input('date_reception', [ 'type' => 'text', 'label' => 'Date de réception', 'class' => 'datepicker', 'placeholder' => 'A éditer lors de la réception uniquement.', 'disabled' => isReadonlyField('date_reception', $myReadonlyFields), 'empty' => true]); echo $this->Form->input('status', ['label' => 'Statut', 'options' => [ 'CREATED' => 'CREATED', 'VALIDATED' => 'VALIDATED', 'TOBEARCHIVED' => 'TOBEARCHIVED', 'ARCHIVED' => 'ARCHIVED']]); echo $this->Form->input('numero_serie', [ 'label' => 'Numéro de série', 'disabled' => isReadonlyField('numero_serie', $myReadonlyFields) ]); echo $this->Form->input('groupes_thematique_id', [ 'label' => 'Groupe thématique', 'disabled' => isReadonlyField('groupes_thematique_id', $myReadonlyFields), 'options' => $groupesThematiques]); echo $this->Form->input('groupes_metier_id', [ 'label' => 'Groupe métier', 'disabled' => isReadonlyField('groupes_metier_id', $myReadonlyFields), 'options' => $groupesMetiers]); echo $this->Form->input('nom_responsable', [ 'label' => 'Nom du responsable', 'disabled' => isReadonlyField('nom_responsable', $myReadonlyFields), 'empty' => 'Choisir un utilisateur', 'default' => $username, 'options' => $utilisateurs ]); if(isset($nom_ancien_responsable)){ echo $this->Form->input ('nom_ancien_responsable', [ 'label' => 'Nom ancien responsable', 'readonly' => true, 'default' => $nom_ancien_responsable ]); } echo $this->Form->input('email_responsable', [ 'label' => 'Email du responsable', 'readonly' => true, 'default' => $mail_responsable ]); echo $this->Form->input('fournisseur', [ 'label' => 'Fournisseur', 'disabled' => isReadonlyField('email_responsable', $myReadonlyFields) ]); echo $this->Form->input('organisme_id', [ 'options' => $organismes, 'disabled' => isReadonlyField('organisme_id', $myReadonlyFields), 'empty' => 'Choisir un organisme' ]); echo $this->Form->input('prix_ht', [ 'label' => 'Prix HT (€)', 'disabled' => isReadonlyField('prix_ht', $myReadonlyFields) ]); echo '
Partie administrative'; echo $this->Form->input('eotp', [ 'label' => 'Centre financier/EOTP', 'disabled' => isReadonlyField('eotp', $myReadonlyFields) ]); echo $this->Form->input('numero_commande', [ 'label' => 'Numéro de commande', 'disabled' => isReadonlyField('numero_commande', $myReadonlyFields) ]); echo $this->Form->input('code_comptable', [ 'label' => 'Code comptable', 'disabled' => isReadonlyField('code_comptable', $myReadonlyFields) ]); echo $this->Form->input('numero_inventaire_organisme', [ 'label' => 'N° inventaire organisme', 'disabled' => isReadonlyField('numero_inventaire_organisme', $myReadonlyFields) ]); echo $this->Form->input('numero_inventaire_old', [ 'label' => 'Ancien N° inventaire', 'disabled' => isReadonlyField('numero_inventaire_old', $myReadonlyFields) ]); echo $this->Form->hidden('nom_modificateur', ['value' => $username ]); echo '
'; ?>
Form->submit(__('Enregistrer')) ?> Form->end() ?>
element('menu'); echo $this->element('menu_form', [ 'pluralHumanName' => 'Matériels' ]); ?>