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
Related issues
Associated revisions
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
History
#1 Updated by Christophe LEON over 5 years ago
Salut Renaud,
Une icone d'une catégorie c'est du texte faisant reférence a fontawsome
#2 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
Modif Entity/App.php pour fonction getCategory
Ajout d'une colonne catégorie dans la App List
#5 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
A priori, utiliser preg_replace("%[^a-zA-Z0-9 ]%","", $cat...
#9 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
Voir s'il ne faut pas faire la compraison avec le preg_replace aussi
#11 Updated by Renaud Dussol over 5 years ago
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 Updated by Renaud Dussol over 5 years ago
- % Done changed from 0 to 90
Commité sur feature/nice, reste à réaliser des tests côté Réunion
#13 Updated by Christophe LEON over 5 years ago
- Target version set to Envole 5.6
#14 Updated by Renaud Dussol over 5 years ago
- Duplicates Evolution #20999: Ajouter enregistrement domaine ARENA -> categorie dans INIT added
#15 Updated by Renaud Dussol over 5 years ago
- Status changed from Nouveau to Fermé
#16 Updated by Renaud Dussol over 5 years ago
- Status changed from Fermé to En attente d'informations
- Assigned To changed from Renaud Dussol to Christophe LEON
A tester sur env Réunion
#17 Updated by Arnaud FORNEROT over 5 years ago
- Target version changed from Envole 5.6 to Envole 5.7
#18 Updated by Renaud Dussol over 5 years ago
- Tracker changed from Demande to Evolution
#19 Updated by Arnaud FORNEROT over 5 years ago
- Target version changed from Envole 5.7 to Envole 5.8
#20 Updated by Renaud Dussol about 5 years ago
- Status changed from En attente d'informations to Accepté
- Assigned To changed from Christophe LEON to Renaud Dussol
- Priority changed from Normal to Haut
Refaire commit sur branche patch
#21 Updated by Arnaud FORNEROT about 5 years ago
- Target version deleted (
Envole 5.8)
#22 Updated by Renaud Dussol almost 5 years ago
- Status changed from Accepté to Résolu
- % Done changed from 90 to 100
#23 Updated by Christophe LEON almost 5 years ago
- Status changed from Résolu to À valider
- % Done changed from 100 to 90
Ordre non pris en compte lors de l'édition d'une categorie
#24 Updated by Christophe LEON almost 5 years ago
- Status changed from À valider to Résolu
Fausse alerte.
C'est OK
#25 Updated by Renaud Dussol over 4 years ago
- % Done changed from 90 to 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 Updated by Arnaud FORNEROT over 4 years ago
- Target version set to Envole 5.10
#27 Updated by Arnaud FORNEROT over 4 years ago
- Status changed from Résolu to Fermé