You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2018-07-25 18:14:30

pdubalen
Member
From: Toulouse (France)
Registered: 2018-07-24
Posts: 4

Création d'un nouvel élément dans une liste d'intitulés (dropdown)

Bonjour,
Je tente pour ma société de réaliser un plugin qui introduit un type de lieu (location). Mon idée est de rajouter un nouveau dropdown permettant de créer ces types organisés hiérarchiquement pour construire une hiérarchie configurable comme par exemple : Pays -> Région -> Villes -> Site.

Je prévois ensuite d’associer un de ces types à chaque lieu et la hiérarchie des lieux devra respecter celle des types (pour un lieu donné, les lieux parents proposés devront être tous ceux du type parent du type du lieu).

Pour l’instant j’en suis simplement à la création des types. Je m’inspire de la gestion des places (roomlocation) dans le plugin racks.

Les écrans s’enchaînent correctement, mais le + permettant de créer un nouveau site n’est pas actif (Add is disabled, me dit-on) et je n’en comprends pas la raison.

Voici mon fichier : Fichier inc/type.class.php

<?php

if (!defined('GLPI_ROOT')) {
   die("Sorry. You can't access this file directly");
}

class PluginGeoentityType extends CommonTreeDropdown {
   public $dohistory          = true;
   public $can_be_translated  = true;
   static $rightname          = 'config';

   static function getTypeName($nb = 0) {
      return _n('Type', 'Location types', $nb, 'geoentity');
   }
}

Et voici la structure de la table des types :

CREATE TABLE `glpi_plugin_geoentity_types` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `plugin_geoentity_types_id` int(11) DEFAULT NULL,
   `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `completename` text collate utf8_unicode_ci,
   `comment` text COLLATE utf8_unicode_ci,
   `level` int(11) NOT NULL default '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `unicity` (`plugin_geoentity_types_id`,`name`),
   KEY `name` (`name`),
   KEY `plugin_geoentity_types_id` (`plugin_geoentity_types_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Merci pour votre aide et désolé pour ce message un peu long :-)

Offline

#2 2021-06-11 14:20:13

delcroip
Member
Registered: 2020-07-05
Posts: 6

Re: Création d'un nouvel élément dans une liste d'intitulés (dropdown)

Bonjour, 3 ans après

je pense que c'est un soucis de droit "config"

bien à vous

Offline

#3 2021-06-11 14:57:57

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,397
Website

Re: Création d'un nouvel élément dans une liste d'intitulés (dropdown)

Le droit de configuration n'a pas de privilège d'ajout/création, mais seulement de lecture et de mise à jour. Par conséquent, lorsque la case "canAdd" est vérifiée pour ce type d'élément, la valeur est toujours fausse. Vous devez utiliser un nom de droit personnalisé et l'ajouter à un onglet de profil personnalisé pour votre plugin.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

Board footer

Powered by FluxBB