Bonjour,

On 04/03/2013 16:06, GUERIN François wrote:

Bonsoir à tous,

J'ai modifé le plugin genericobject pour qu'il soit compatible avec addressing :

genericobject/fields/field.constant.php : Ajout de lignes

|L120 :  // Field added for compatibility with adressing plugin
L121 : $GO_FIELDS['networks_id']['name']       = $LANG['setup'][88];
L122 : $GO_FIELDS['networks_id']['input_type'] = 'dropdown';|
je suis d'accord avec ça, effectivement on peut rajouter ce champs.
Par contre pour la suite, ça manquerait juste d'une option dans le form de comportement pour créer ces 2 champs dans le cas où l'intégration avec le plugin addressing est demandée.

Pour moi il ne faut surtout pas modifier le schéma de base par défaut, ça me semble une mauvaise idée.

genericobject/inc/type.class.php : Mise à jour

|L589 : dans public static function addTable($itemtype)
       /*
       $query = "CREATE TABLE IF NOT EXISTS 
`".getTableForItemType($itemtype)."` (
                   `id` INT( 11 ) NOT NULL AUTO_INCREMENT,
                   `entities_id` INT( 11 ) NOT NULL DEFAULT '0',
                   `name` VARCHAR( 255 ) collate utf8_unicode_ci NOT NULL 
DEFAULT '',
                   `comment` text COLLATE utf8_unicode_ci,
                   `notepad` text COLLATE utf8_unicode_ci,
                   `date_mod` DATETIME NULL  ,
                   PRIMARY KEY ( `id` )
                   ) ENGINE = MYISAM COMMENT = '$itemtype' DEFAULT CHARSET=utf8 
COLLATE=utf8_unicode_ci;";
        */
// Add fields `networks_id` and `users_id` for addressing plugin compatibility
       $query = "CREATE TABLE IF NOT EXISTS 
`".getTableForItemType($itemtype)."` (
                   `id` INT( 11 ) NOT NULL AUTO_INCREMENT,
                   `entities_id` INT( 11 ) NOT NULL DEFAULT '0',
                   `name` VARCHAR( 255 ) collate utf8_unicode_ci NOT NULL 
DEFAULT '',
                   `comment` text COLLATE utf8_unicode_ci,
                   `notepad` text COLLATE utf8_unicode_ci,
                   `date_mod` DATETIME NULL  ,
                   `networks_id` INT( 11 ),
                   `users_id` INT( 11 ),
                   PRIMARY KEY ( `id` )
                   ) ENGINE = MYISAM COMMENT = '$itemtype' DEFAULT CHARSET=utf8 
COLLATE=utf8_unicode_ci;";|

genericobject/setup.php : Mise à jour

|L48: dans function plugin_init_genericobject() {
    /*
    $GO_BLACKLIST_FIELDS = array ("itemtype", "table", "is_deleted", "id", 
"entities_id",
                                  "is_recursive", "is_template", "notepad", 
"template_name",
                                  "is_helpdesk_visible", "comment", "name", 
"date_mod")
    */
// Updated to compatibility with adressing plugin
    $GO_BLACKLIST_FIELDS = array ("itemtype", "table", "is_deleted", "id", 
"entities_id",
                                  "is_recursive", "is_template", "notepad", 
"template_name",
                                  "is_helpdesk_visible", "comment", "name", 
"date_mod",
                                  "networks_id", "users_id");|

Ces modifications ajoutent les champs `users_id` et `networks_id` aux nouveaux objects créés, il faudra modifier les tables 'à la main' pour ajouter les champs en cas de mise à jour du plugin.

Toutefois, ces modifications ne doivent pas être très compliquées à ajouter, au setup.php

Merci pour votre contribution,
J'ai créé un ticket qui reprend cette discussion : https://forge.indepnet.net/issues/4250

Bien à vous !

--
François GUÉRIN
D.I.T -- Service Applications
Mairie de Tourcoing
(0)3 20 23 38 48


_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to