Evolution #21047
Gestion des catégories dans App Manager
100%
Description
Réaliser une interface de gestion des catégories à l'image de la gestion des apps et urls
Template edit/add nécessaires, Entity et controller sans doute, ou voir si on peut utiliser l'existant
Demandes liées
Révisions associées
ref #21047
ref #21047
Ref #21047
Ref #21047 : Gestion des catégories dans App Manager - ATTENTION : vérifier cohérence des autres fichiers car modifs anciennes sur autre branche
Historique
#1 Mis à jour par Christophe LEON il y a presque 7 ans
Salut Renaud,
Une icone d'une catégorie c'est du texte faisant reférence a fontawsome
#2 Mis à jour par Renaud Dussol il y a presque 7 ans
Zut, j'ai tout fait sur le modèle des apps/urls, du coup c'est de l’image binaire
Bon pas trop dur à corriger... à moins qu'on conserve l'image du coup ?
#3 Mis à jour par Renaud Dussol il y a presque 7 ans
A étudier pour la fin août (j'ai rebossé 2 jours fin juillet):
- Voir si on choisit icones font-awesome ou icones fichier (ou s'il y a un moyen d'utiliser les 2)
- Etudier comment se passer de ressources.config.local pour définir les catégories
---------------------
Pour le 2eme point, état de mes recherches :
Actuellement, AppsBehavior crée son tableau de catégories à partir de ressources.php, ce qui posera probleme à terme si l'on veut laisser des personnes n'ayant pas accès à ce fichier gérer l'ensemble du processus
je vois 4 possibilités :
- soit le app manager renvoie toutes les infos de la catégorie pour chaque appli (par ex : icone|couleur|nom) et surcharge, comme il le fait déjà pour le reste
- soit App Behaviors parse, en plus de ressources.php, un autre xml issu de la BDD du app manager et contenant les catégories, et les ajoute à l'objet hashCategories
- soit un mix des 2 : quant une catégorie n'est pas trouvée dans hashCategories, on l'ajoute et ensuite elle est dispo pour les autres applis
- soit alimenter ressources.php en direct à partir de la BDD du app manager (mais c'est contraire à la philosophie de séparation ng /old)
#4 Mis à jour par Renaud Dussol il y a plus de 6 ans
Modif Entity/App.php pour fonction getCategory
Ajout d'une colonne catégorie dans la App List
#5 Mis à jour par Renaud Dussol il y a plus de 6 ans
Retour à Font-Awesome
Début d'un travail sur un sélecteur (en attendant, lien vers la page des icones dispos sur le site FA)
#6 Mis à jour par Renaud Dussol il y a plus de 6 ans
Le plus simple pour l'instant est de rajouter un appel à la BDD dans ressources.php, juste après l'inclusion de ressources.config.local
if (file_exists("arena/ressources.config.local.php")) {include_once("arena/ressources.config.local.php"); }
// AJOUT NICE : RECUPERATION DES CATEGORIES DEFINIES DANS LE APP MANAGER JUSTE APRES L'INCLUSION DE ressources.config.local
$categories_ng = R::findAll('category');
foreach ($categories_ng as $cat) {
$categories[] = new Categorie($cat->libelle, $cat->color, '100', $cat->icon);
}
TODO : ajouter l'indice dans la structure de la table qui pour l'instant est en dur dans le code
#7 Mis à jour par Renaud Dussol il y a plus de 6 ans
J'ai retrouvé la fonction normalize : elle est dans ng/public/elements/behaviors/scripts/classes.js (première fonction !)
Pour historique apparue dans le xdesktop suite à des plantages remontés par Orléans sur une catégorie avec apostrophe qui faisait planter l'affichage, et modifiée par la suite pour prendre en compte d'autres cas de figure. La clef de la catégorie (qui ne possède pas d'ID numérique dans un tableau de type js) doit être propre, donc débarrassée de ces caractères spéciaux.
Dans un premier temps, l'idée serait de créer une fonction php équivalente, ce qui permettrait de n'avoir plus qu'un champ "libellé" dans la table catégories du NG et de normaliser celui-ci au moment de l'envoi vers AppsBehaviors, en appelant cette fonction PHP.
Ensuite, si tout est géré par le AppManager, on se baserait sur l'ID numérique de la catégorie, et on n'aurait plus besoin de la fonction
#8 Mis à jour par Renaud Dussol il y a plus de 6 ans
A priori, utiliser preg_replace("%[^a-zA-Z0-9 ]%","", $cat...
#9 Mis à jour par Renaud Dussol il y a plus de 6 ans
Dans ApiController.php
// la catégorie est différente on la change
/*
if ($entry['categorie'] != $eApp->category->name ) {
$cat = $eApp->category->name;
*/
if ($entry['categorie'] != $eApp->category->libelle ) {
$cat = preg_replace("%[^a-zA-Z0-9 ]%","",$eApp->category->libelle);
}
// L'url a une categorie
/*
if ( $eUrl->category && ( $eUrl->category->name != $eApp->category->name ) ) {
$cat = $eUrl->category->name;
*/
if ( $eUrl->category && ( $eUrl->category->libelle != $eApp->category->libelle ) ) {
$cat = preg_replace("%[^a-zA-Z0-9 ]%","",$eUrl->category->libelle);
}
#10 Mis à jour par Renaud Dussol il y a plus de 6 ans
Voir s'il ne faut pas faire la compraison avec le preg_replace aussi
#11 Mis à jour par Renaud Dussol il y a plus de 6 ans
Cela semble fonctionner
J'ai remplacé les name dans la table par des chaines remarquables (de type "ZZZZZZZZZZ")
On ne le voit nulle part apparaitre
Les apps sont bien rangées dans les bonnes catégories
On pourrait donc a priori se passer du name
#12 Mis à jour par Renaud Dussol il y a plus de 6 ans
- % réalisé changé de 0 à 90
Commité sur feature/nice, reste à réaliser des tests côté Réunion
#13 Mis à jour par Christophe LEON il y a plus de 6 ans
- Version cible mis à Envole 5.6
#14 Mis à jour par Renaud Dussol il y a plus de 6 ans
- Duplique Evolution #20999: Ajouter enregistrement domaine ARENA -> categorie dans INIT ajouté
#15 Mis à jour par Renaud Dussol il y a plus de 6 ans
- Statut changé de Nouveau à Fermé
#16 Mis à jour par Renaud Dussol il y a plus de 6 ans
- Statut changé de Fermé à En attente d'informations
- Assigné à changé de Renaud Dussol à Christophe LEON
A tester sur env Réunion
#17 Mis à jour par Arnaud FORNEROT il y a plus de 6 ans
- Version cible changé de Envole 5.6 à Envole 5.7
#18 Mis à jour par Renaud Dussol il y a plus de 6 ans
- Tracker changé de Demande à Evolution
#19 Mis à jour par Arnaud FORNEROT il y a plus de 6 ans
- Version cible changé de Envole 5.7 à Envole 5.8
#20 Mis à jour par Renaud Dussol il y a environ 6 ans
- Statut changé de En attente d'informations à Accepté
- Assigné à changé de Christophe LEON à Renaud Dussol
- Priorité changé de Normal à Haut
Refaire commit sur branche patch
#21 Mis à jour par Arnaud FORNEROT il y a environ 6 ans
- Version cible
Envole 5.8supprimé
#22 Mis à jour par Renaud Dussol il y a presque 6 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 90 à 100
#23 Mis à jour par Christophe LEON il y a presque 6 ans
- Statut changé de Résolu à À valider
- % réalisé changé de 100 à 90
Ordre non pris en compte lors de l'édition d'une categorie
#24 Mis à jour par Christophe LEON il y a presque 6 ans
- Statut changé de À valider à Résolu
Fausse alerte.
C'est OK
#25 Mis à jour par Renaud Dussol il y a presque 6 ans
- % réalisé changé de 90 à 100
Lorsqu'une catégorie du App Manager est identique à l'une de celles définies dans ressources.vonfig.local, bien penser à l'effacer ou la commenter dans ce fichier
Attention au cache local qui conserve les catégories
#26 Mis à jour par Arnaud FORNEROT il y a plus de 5 ans
- Version cible mis à Envole 5.10
#27 Mis à jour par Arnaud FORNEROT il y a plus de 5 ans
- Statut changé de Résolu à Fermé