You are not logged in.
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
Bonjour, 3 ans après
je pense que c'est un soucis de droit "config"
bien à vous
Offline
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