You are not logged in.
Bonjour,
J'essaie d'activer la fonctionnalité de verrous des tickets pour empeher les actions concurrentes.
La liste des profils ne peux etre chargé, et une notice php est affiché
Versions GLPI 9.1.1
Windows server XAMP
plugins: comportement, dashboard, fusioninventory, escalade
Je n'ai ce souci que lorsque j active cette fonctionnalité
Je n'ai pas gardé les profils par defaut de GLPI
Je n'ai jamais testé cette fonctionnalité avec les profils par defaut(qui ont été supprimé)
D'avance merci pour toute aide à la résolution de ce problème
Last edited by Ra0h (2017-02-20 12:44:40)
Offline
Pouvez-vous fournir les logs exacts présents dans GLPI (files/_logs/php-error.log)
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour Yllen
Rien ne semble etre loggé concernant ce problème dans php-errors.log
Je trouve des traces dans le logs appache(apache\logs\error.logs)
[Mon Feb 20 13:21:24.790310 2017] [:error] [pid 3012:tid 1776] [client 10.100.41.51:52849] PHP Notice: Undefined index: interface in C:\\tlg\\xampp\\htdocs\\glpi\\inc\\profile.class.php on line 379, referer: https://glpi-test.mondomaine.com/glpi/front/ticket.form.php
Offline
Bonjour,
La situation n'a pas évolué.
Serait-il possible que la fonctionnalité tente de charger les profils avec des index en dur et que cela engenre ce comportement car les profils par defauts ont été supprimés ?
Si cette hypothese est correcte, y a-il un moyen d'assigner les index manquants a de nouveaux profils ou profils existant ?
Cordialement.
Offline
Je ne reproduis pas en 9.1.2
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
Apres mise à niveau vers la version 9.1.2 le problème est toujours présent.
Last edited by Ra0h (2017-02-28 12:56:27)
Offline
Dans votre table glpi_profiles, vous avez bien le champ Interface qui est présent et toujours rempli avec soit central soit helpdesk ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour Yllen,
merci pour ce retour.
Il semblerait que non ce champs n'est pas present dans la table:
1 Utilisateur helpdesk
3 Admin central
4 Super-Admin central
5 Support central
6 Technicien central
9 Superviseur central
11 Support Dev central
14 Support IT central
15 Support Knowledge central
Offline
Bonjour,
J'ai plus ou moins résolu le problème :
J'ai commenté la portion de code déclenchant l'erreur
Dans profile.class.php
function cleanProfile()
if ($this->fields["interface"] == "helpdesk") {
foreach ($this->fields as $key=>$val) {
if (!in_array($key,self::$common_fields)
&& !in_array($key,self::$helpdesk_rights)) {
unset($this->fields[$key]);
}
}
}
Mes listes se chargent alors normalement.
J'ai pu activer la fonctionalité et la lier à un profil
J'ai ensuite décommenté la section
Ca reste fonctionnel depuis, je peux activer/désactiver la fonctionnalité sans erreur.
Le problème semble donc etre solutionné, sans comptrendre la raison du problème, ni même de la solution.
Offline
Le champ de l'interface doit être présent dans la table car il sert entre autre à donner des droits dans les objets de GLPI.
La table glpi_profiles doit avoir cette structure
CREATE TABLE `glpi_profiles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`interface` varchar(255) COLLATE utf8_unicode_ci DEFAULT 'helpdesk',
`is_default` tinyint(1) NOT NULL DEFAULT '0',
`helpdesk_hardware` int(11) NOT NULL DEFAULT '0',
`helpdesk_item_type` text COLLATE utf8_unicode_ci,
`ticket_status` text COLLATE utf8_unicode_ci COMMENT 'json encoded array of from/dest allowed status change',
`date_mod` datetime DEFAULT NULL,
`comment` text COLLATE utf8_unicode_ci,
`problem_status` text COLLATE utf8_unicode_ci COMMENT 'json encoded array of from/dest allowed status change',
`create_ticket_on_login` tinyint(1) NOT NULL DEFAULT '0',
`tickettemplates_id` int(11) NOT NULL DEFAULT '0',
`change_status` text COLLATE utf8_unicode_ci COMMENT 'json encoded array of from/dest allowed status change',
`date_creation` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `interface` (`interface`),
KEY `is_default` (`is_default`),
KEY `date_mod` (`date_mod`),
KEY `date_creation` (`date_creation`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour Yllen,
Merci de ce retour.
Il y a eu confusion, je pensai entrée de la table GLPI_Profiles et non champs de la table
Le champs est bien présent.
Comme annoncé dans mon message précédent, l'anomalie à été résolue par la mise en commentaire temporaire de la fonction PHP produisant l'erreur.
Offline