view.ctp 6.6 KB
<?php 
use App\Controller\SurCategoriesController;
use App\Model\Entity\SurCategory;

$DEBUG=false;
//$DEBUG=true;

// Variables passées par le contrôleur

$role = $role;

$entity = $entity;
$parent_entity_infos=$parent_entity_infos;
/*
$parent_entity_controller_name = $parent_entity_controller_name;
$parent_entity_type_name = $parent_entity_type_name;
$parent_entity_name = $parent_entity_name;
$parent_entity_id = $parent_entity_id;
*/

//$categories = $categories;
//$materiels = $materiels;
$entity_article = $entity_article;
$entity_type_name_singular = $entity_type_name_singular;
$entity_name = $entity_name;

// Liste des entités à afficher (en tant qu'entité associée) :
// En général, par défaut : "Matériels associés" et "Utilisateurs associés"
$entities_list = $entities_list;

// Fonctions
//$displayElement = $displayElement;

//debug($entity);
//debug($entity->getSource());
//exit;

if ($DEBUG) {
    $entity_article = 'le ';
    $entity_type_name_singular = 'domaine';
    //$entity_name = $entity->getMyName();
    $entity_name = $entity->nom;
    
    //function displaySectionShowHide($controller_name, $entity_type_name, $title, $id_name, $is_masculine, $name_field_name, $entities) {
    $categories = [
        'controller_name' => 'Categories',
        'entity_type_name' => 'catégorie',
        'title' => 'Catégories',
        //'id_name' => 'categs',
        'is_masculine' => false,
        'name_field_name' => 'nom',
        'entities' => $categories,
    ];
    //$materiels = $categories;
    $materiels = [
        'controller_name' => 'Materiels',
        'entity_type_name' => 'matériel',
        'title' => 'Matériels',
        //'id_name' => 'categs',
        'is_masculine' => true,
        'name_field_name' => 'designation',
        'entities' => $materiels,
    ];
    //displaySectionShowHide($this->Html, false, 'Aucune catégorie liée', 'categs', 'Catégories', $categories, 'nom', 'Categories', 'catégorie');
    //$this->MyButton->displaySectionShowHide(false, 'Aucune catégorie liée', 'categs', 'Catégories', $categories, 'nom', 'Categories', 'catégorie');
    $entities_list = [$categories, $materiels];
}

?>


<!-- 
<div class="surCategories view">
 -->
<div class="Entity view">

	<!-- 
	<h2>Détail domaine</h2>
	 -->
	 
	<h2>Informations sur <?=$entity_article.$entity_type_name_singular.' "'.$entity_name.'"'?></h2>
	
	<?= $this->Html->link("Voir toutes les entités (liste)", ['action'=>'index']) ?>
	<br />
	<br />

	<table style="margin-bottom: 30px;">
	
		<tr>
			<th style="width: 250px;"></th>
			<th></th>
		</tr>
    	
    	<?php
    	
    	// Lien Editer
        if (in_array($role, [
            'Administration Plus',
            'Super Administrateur'
        ])) {
            echo $this->Html->link(__('<i class="icon-pencil"></i> Editer'), [
                'action' => 'edit',
                //$surCategory->id
                $entity->id
            ], [
            	'style' => 'margin-right: 40px; display: inline-block',
                'escape' => false,
                'onclick' => 'return true;'
            ]);
        }
        
        // Lien Supprimer
        if (in_array($role, [
            'Super Administrateur'
        ])) {
            echo $this->Form->postLink(__('<i class="icon-trash"></i> Supprimer'), [
                'action' => 'delete',
                $entity->id
            ], [
                'style' => 'display: inline-block',
                'escape' => false,
                'confirm' => __('Êtes-vous sur de vouloir supprimer cette entité ?')
                //'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $surCategory->id)
            ]);
        }

        // Affichage des champs de l'entité (nom, description)
        //$displayElement(__('Nom'), h($entity_name));
        $this->MyHelper->displayElement(__('Nom'), h($entity_name));
        $this->MyHelper->displayElement(__('Description'), h($entity->description));
        // Affichage du nom de l'entité parente si elle existe 
        // (ex: Domaine pour une catégorie, ou catégorie pour une sous-catégorie)
        //debug($entity->sur_category->getSource()); // 'SurCategories'
        /*
        $e = new SurCategory();
        debug($e->getSource());
        */
        if($parent_entity_infos)
            //$this->MyHelper->displayElement(__('Domaine'), h($entity->sur_category->nom));
            //$this->MyHelper->displayElement(__(ucfirst($parent_entity_type_name)), h($parent_entity_name));
            $this->MyHelper->displayElement(
                __(ucfirst($parent_entity_infos['type_name'])), 
                //$category->has('sur_category') ? $this->Html->link($category->sur_category->nom, [
                $this->Html->link($parent_entity_infos['name'], [
                    'controller' => $parent_entity_infos['controller_name'],
                    //'controller' => 'SurCategories',
                    'action' => 'view',
                    $parent_entity_infos['id']
                    //$category->sur_category->id
                ])
            );
            /*
            $this->MyHelper->displayElement(__('Domaine'), $this->Html->link($entity->sur_category->nom, [
                    'controller' => 'SurCategories',
                    'action' => 'view',
                    $entity->sur_category->id
                ])
            );
            */
        ?>

    </table>

	<!-- Affichage des entités associées (matériels, utilisateurs, ...) -->
	<?php
	foreach ($entities_list as $es) {
	    //debug($es); 
	    //debug($es['entities']);
	    // function displaySectionShowHide($controller_name, $entity_type_name, $title, $id_name, $is_masculine, $name_field_name, $entities) {
	    $this->MyHelper->displayAssociatedEntitiesAsSectionShowHide(
	       $es['controller_name'],
	       $es['entity_type_name_singular'],
	       $es['entity_title'], 
	       //$es['id_name'], 
	       $es['is_masculin'], 
	       $es['name_field_label'], 
	       $es['entities'] 
	    );
    	//displaySectionShowHide($this->Html, false, 'Aucune catégorie liée', 'categs', 'Catégories', $categories, 'nom', 'Categories', 'catégorie');
    	//$this->MyButton->displaySectionShowHide(false, 'Aucune catégorie liée', 'categs', 'Catégories', $categories, 'nom', 'Categories', 'catégorie');
    	//$this->MyButton->displaySectionShowHide(true, 'Aucun matériel lié', 'materiels', 'Matériels', $materiels, 'designation', 'Materiels', 'matériel');
	}
	?>

</div>

<!--
<div class="actions">
			<php echo $this->element('menu') ?>
			<php

echo $this->element('menu_view', [
    'pluralHumanName' => 'Domaines',
    'singularHumanName' => 'Domaine',
    'lien' => $surCategory->id
])?>
		</div>
-->