Task #2541

Harmonize option heritage

Added by walid almost 11 years ago. Updated almost 10 years ago.

Status:ClosedStart date:12/19/2010
Priority:NormalDue date:
Assignee:yllen% Done:

100%

Category:Framework
Target version:0.83

Description

For the moment we've got 2 soft of options that can be configured by entity :
  • inherit from global config
  • inherit from the parent entity or root entity

Harmonize by using only the second option


Related issues

Blocked by GLPI Documentation - Task #3271: Harmonize option heritage Closed 11/30/2011

Associated revisions

Revision 16008
Added by yllen almost 10 years ago

harmonize option heritage see #2541

Revision 16010
Added by yllen almost 10 years ago

forget in previous commit see #2541

Revision 16013
Added by yllen almost 10 years ago

fix entities_id_software see #2541

Revision 16014
Added by yllen almost 10 years ago

fix previous see #2541

Revision 16170
Added by yllen almost 10 years ago

inherit parent see #2541

Revision 16201
Added by yllen almost 10 years ago

inherit parent fixed #2541

Revision 16215
Added by yllen almost 10 years ago

fix inherit parent see #2541

Revision 16509
Added by remi almost 10 years ago

[0.83] rewrite getEntitiesToNotify for inherit values, see #2541

Revision 16510
Added by remi almost 10 years ago

[0.83] remove unused argument, see #2541

Revision 16511
Added by remi almost 10 years ago

[0.83] add docblock, see #2541

Revision 16512
Added by remi almost 10 years ago

rewrite getEntitiesToNotify, apply r16509 to r16511, see #2541

Revision 16513
Added by remi almost 10 years ago

[0.83] fix EntityData->post_getEmpty(), see #2541

Revision 16514
Added by remi almost 10 years ago

fix EntityData->post_getEmpty(), see #2541

Revision 706
Added by moyo almost 10 years ago

Harmonize option heritage fixed #2541

History

#1 Updated by moyo almost 11 years ago

  • Assignee set to walid

#2 Updated by moyo almost 11 years ago

  • Tracker changed from Feature to Task

#3 Updated by moyo over 10 years ago

  • Target version changed from 0.80 to 0.85

#4 Updated by yllen almost 10 years ago

  • Assignee changed from walid to yllen
  • Target version changed from 0.85 to 0.83

Etat des lieux :

Reste à passer sur héritage de l'entité parente :
- affectation automatique
- cloture automatique
- les différentes alertes

Actuellement, dans la grande majorité des cas, les valeurs suivantes sont utilisées
-1 => retour configuration générale
0 => retour entité parente
Cette dernière valeur posant problème pour la cloture automatique où 0 veut dire cloture immédiate. Donc pour la cloture automatique, la valeur 0 veut dire immédiatement et la valeur -10 jamais.

Proposition :
Harmoniser les valeurs utilisées.
Création dans le fichier de config :
define(PARENTUP, -2);
define(NEVER, -10); //-1 n'est pas retenu car actuellement il sert à la remontée de la configuration générale, même si à terme cette option est appelé à disparaitre
comme ça on utilise plus les valeurs mais les constantes

Pour la migration il suffit de regarder la valeur de l'entité fille et si elle hérite de l'entité parente reprendre cette valeur

Concernant la fonction getUsedConfig
- la renommer en getUsedParentConfig($fieldref, $entities_id, $fieldval='', $valreturn='')

// for calendar
if (empty($fieldval)) {
$fieldval = $fieldref;
}
$entdata = new EntityData();
// Search in entity data of the current entity
if ($entdata->getFromDB($entities_id)) {
// Value is defined : use it
if (isset($entdata->fields[$fieldref])&& ($entdata->fields[$fieldref] != PARENTUP)) {
return $entdata->fields[$fieldval];
}
}
// Entity data not found or not defined : search in parent one
if ($entities_id > 0) {
$current = new Entity();
if ($current->getFromDB($entities_id)) {
return self::getUsedConfig($fieldref, $current->fields['entities_id'], $fieldval;
}
}
return $valreturn;
}

Cette proposition de modif de la fonction sera opérationnel uniquement lorsque tous les retour à la config générale n'existeront plus.
En transmission, je propose
- ajout du pramètre $chekToUp='' (sera renseigné à "-1" pour ceux remontant encore à la config générale)
- return en final de ce pramètre $chekToUp

Bien sur il faut revoir tous les appels de fonction (ne serait-ce que pour ticket type afin de passer le paramètre $valreturn en Ticket::INCIDENT_TYPE), lister tous les champs impactés pour les prévoir dans la migration

#5 Updated by yllen almost 10 years ago

Euh non, les constante je les mets directement dans la class EntityDatas

#6 Updated by remi almost 10 years ago

Seems ok.

Value inherited from config don't use GetUsedConfig fonction, so "transition" proposal seems not required.

#7 Updated by moyo almost 10 years ago

remarques :
  • typer plus les constantes : NEVER -> CONFIG_NEVER par exemple
  • pourquoi renommer la fonction ? le nom actuel me semble cohérent.
    • si je comprend bien valreturn est la valeur par défaut ? autant l'appeler default_value dans ce cas. Il faudrait alors définir une valeur plus cohérente comme valeur par défaut. ='' ne me semble pas adapté = -1 ou -2 pour détecter facilement les problèmes de calculs de config par exemple.

#8 Updated by yllen almost 10 years ago

  • % Done changed from 0 to 50

Reste à revoir :
'cartridges_alert_repeat', 'use_licenses_alert', 'use_infocoms_alert',
'notclosed_delay', 'consumables_alert_repeat', 'use_contracts_alert',
'use_reservations_alert'

#9 Updated by yllen almost 10 years ago

  • % Done changed from 50 to 90

#10 Updated by yllen almost 10 years ago

  • Status changed from New to Resolved
  • % Done changed from 90 to 100

Applied in changeset r16201.

#11 Updated by moyo almost 10 years ago

Applied in changeset r706.

#12 Updated by moyo almost 10 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF