« Un peu de technique » : différence entre les versions

De La documentation de La Raffinerie
Aller à :navigation, rechercher
(Page créée avec « Voici quelques tips pour le développement de l'outils de gestion interne : ===== Ajouter une page dans le menu latéral ===== Cette partie est géré par du javascr... »)
 
Aucun résumé des modifications
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Voici quelques tips pour le développement de l'outils de gestion interne :  
Voici quelques tips pour le développement de l'outils de gestion interne :  


===== Ajouter une page dans le menu latéral =====
==== Ajouter une page dans le menu latéral ====
Cette partie est géré par du javascript et du jandgo, voici les étapes
Cette partie est géré par du javascript et du jandgo, voici les étapes


* créer la page exemple.html (remplacer "exemple par le nom de votre page), dans le répertoire template
* créer la page exemple.html (remplacer "exemple par le nom de votre page), dans le répertoire template
* lui assigner le code minimal pour avoir la navbar et la sidebar, le chargement des fichiers .js (prendre le code de page_vierge.html)
* lui assigner le code minimal pour avoir la navbar et la sidebar, le chargement des fichiers .js (prendre le code de page_vierge.html)
* dans le fichier datas.js, ajouter une ligne dans" sidebarOptions: [" le paramétre link doit correspondre au nom de votre fichier html
* dans le fichier datas.js,  
** ajouter une ligne dans" sidebarOptions: [" le paramétre link doit correspondre au nom de votre fichier htmldans le fichier main.js, au niveau de la commande "let groupeTableaux;" ajouter la lignes : else if (window.location.href.includes('exemple')) {groupeTableaux = tableaux.exemple;}
** ajouter une partie pour contenir les tableaux de cette page :  exemple: { ''"code des tableaux"'' }
* aller dans le fichier urls.py  
* aller dans le fichier urls.py  
** ajouter au "from .views import index, user_api, user_solo_api, ..." le nom de votre fichier
** ajouter au "from .views import index, user_api, user_solo_api, ..." le nom de votre fichier
Ligne 12 : Ligne 14 :
* dans le fichier views.py
* dans le fichier views.py
** ajouter
** ajouter
              def '''<big>exemple</big>'''(request):


def '''exemple'''(request):
             context = { 'name': request.user.email if request.user.is_authenticated else 'Anonymous',  }


             context = { 'name': request.user.email if request.user.is_authenticated else 'Anonymous',  }
             return render(request, ''''<big>exemple</big>'''.html', context=context)


             return render(request, ''''exemple'''.html', context=context)
==== Ajouter un tableau ====
Ajouter un tableau se passe en deux phases :
 
* dans le fichier "datas.js" faire un copier / coller d'un blocs de commande d'un tableau existant puis inscrire vos modifications, bien renseigner un nouveau titre comme par exemple "tableau_dépenses_réels"
* dans le fichier html ou vous voulez créer ce tableau il suffit de citer le titre du tableau pour qu'il se créé ex :  <nowiki><div id="tableau_dépenses_réels"></div></nowiki>
 
au niveau des paramètres du tableau nous avons :
 
* '''total = true''' : ajoute "Total" en pied de tableau
* '''newline = true''' : ajouter un "ajouter" ligne en bas de tableau
 
 
et pour les caractéristiques du type de cellules, elle se gère par des paramètres à ajouter lors de la création du tableau dans le datas.js voici les types existant :
 
* '''pas de critères particulier,''' les cellules sont grisées et non modifiables
* '''input: true''', les cellules sont modifiables
* '''shouldTotal: false''' et si Total=True, le total ne se fait pas sur cette colonne
* '''dropdown: true''',  options: ['Option 1', 'Option 2', 'Option 3'], les cellule sont à choix multiple

Dernière version du 30 septembre 2023 à 18:19

Voici quelques tips pour le développement de l'outils de gestion interne :

Ajouter une page dans le menu latéral

Cette partie est géré par du javascript et du jandgo, voici les étapes

  • créer la page exemple.html (remplacer "exemple par le nom de votre page), dans le répertoire template
  • lui assigner le code minimal pour avoir la navbar et la sidebar, le chargement des fichiers .js (prendre le code de page_vierge.html)
  • dans le fichier datas.js,
    • ajouter une ligne dans" sidebarOptions: [" le paramétre link doit correspondre au nom de votre fichier htmldans le fichier main.js, au niveau de la commande "let groupeTableaux;" ajouter la lignes : else if (window.location.href.includes('exemple')) {groupeTableaux = tableaux.exemple;}
    • ajouter une partie pour contenir les tableaux de cette page : exemple: { "code des tableaux" }
  • aller dans le fichier urls.py
    • ajouter au "from .views import index, user_api, user_solo_api, ..." le nom de votre fichier
    • ajouter au "urlpatterns = [" une ligne path('exemple/', exemple, name='exemple'),
  • dans le fichier views.py
    • ajouter
             def exemple(request): 
             context = { 'name': request.user.email if request.user.is_authenticated else 'Anonymous',  }
             return render(request, 'exemple.html', context=context)

Ajouter un tableau

Ajouter un tableau se passe en deux phases :

  • dans le fichier "datas.js" faire un copier / coller d'un blocs de commande d'un tableau existant puis inscrire vos modifications, bien renseigner un nouveau titre comme par exemple "tableau_dépenses_réels"
  • dans le fichier html ou vous voulez créer ce tableau il suffit de citer le titre du tableau pour qu'il se créé ex : <div id="tableau_dépenses_réels"></div>

au niveau des paramètres du tableau nous avons :

  • total = true : ajoute "Total" en pied de tableau
  • newline = true : ajouter un "ajouter" ligne en bas de tableau


et pour les caractéristiques du type de cellules, elle se gère par des paramètres à ajouter lors de la création du tableau dans le datas.js voici les types existant :

  • pas de critères particulier, les cellules sont grisées et non modifiables
  • input: true, les cellules sont modifiables
  • shouldTotal: false et si Total=True, le total ne se fait pas sur cette colonne
  • dropdown: true,  options: ['Option 1', 'Option 2', 'Option 3'], les cellule sont à choix multiple