Ticket #794 (closed enhancement: fixed)
Méthodes supplémentaires dans la gestion des settings
Reported by: | pep | Owned by: | xave |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | module:core | Version: | 2.1 |
Severity: | normal | Keywords: | settings namespaces installation |
Cc: |
Description
En complément de #786, il serait utile de rajouter le nécessaire permettant de :
- Détruire l'ensemble des entrées liées à un setting_id (global et tous les blogs)
- Renommer l'ensemble des entrées liées à un setting_id (global et tous les blogs)
- Détruire l'ensemble des entrées liées à un namespace (global et tous les blogs)
- Renommer un namespace
Attachments
Change History
Changed 16 years ago by zeiram
-
attachment
patch_settings_delete.diff
added
comment:1 Changed 16 years ago by zeiram
Voici un patch qui ajoute des méthodes pour renommer et supprimer des namespaces et des settings (patch basé sur un dotclear 2.2-alpha1-r2949). L'utilisation se fait de la manière suivante, d'abord pour les namespaces :
$core->blog->settings->rename('oldNamespace', 'newNamespace'); $core->blog->settings->delete('namespaceASupprimer');
et de la même manière pour les settings (suppression et renommage du setting global et local) :
$core->blog->settings->monNamespace->rename('oldSetting', 'newSetting'); $core->blog->settings->monNamespace->delete('settingASupprimer');
Une remarque :
- J'aurai bien aimé pouvoir faire $core->blog->settings->monNamespace->delete(), mais si on veut conserver une symétrie avec les settings cela aurait nécessité une grande refonte de la classe dcNamespace (par l'utilisation d'une classe pour un setting afin de pouvoir faire $core->blog->settings->monNamespace->monSetting->delete()). Le (faible) gain de beauté du code ne m'a pas semblé justifier une telle refonte.
comment:2 Changed 15 years ago by xave
Je suis en train de regarder, je préférerais renNameSpace() et delNameSpace(), qui me semblent plus cohérents avec addNameSpace();
Pour les settings, à côté de put(), on a déjà drop(). rename() me paraît convenir.
Quant à savoir la façon dont on doit gérer la "globalité" du truc (ie. si on efface ou renomme un namespace ou setting global, on fait quoi des versions "per blog" ?) je pense que ça mérite aussi une réflexion. Parce que si je ne m'abuse, tes nouvelles fonctions ne laissent guère le choix, ce qui pose un problème de cohérence avec les méthodes existantes.
comment:4 Changed 14 years ago by Tomtom33
- Milestone changed from 2.3 to 2.4
C'est réglé avec les patchs de Franck et Bruno non?
comment:6 Changed 13 years ago by franck <carnet.franck.paul@…>
- Status changed from new to closed
- Resolution set to fixed
(In [1ab99955f080]) Add some methods to namespaces (settings) and workspaces (prefs), conservative way, partially fixes #794. Thanks zeiram for patches
Patch ajoutant les méthodes pour renommer ou supprimer des namespaces / settings.