• Nicolas Dandrimont's avatar
    Utilisation un peu plus propre de django · eb6d7aee
    Nicolas Dandrimont authored
    - Utilisation de la version 1.2b1 avec entre autres son support confortable des
      bases de données multiples (yay les sessions dans sqlite et les prises dans
      pgsql) [./settings.py]
    
       o Le routage des données dans les différentes bases de données se fait avec
       un Routeur personnalisé [./database.py] (sinon, tout va dans la base default
       SQLite)
    
    - Utilisation du framework d'authentification de django
    
       o Les utilisateurs sont récupérés dynamiquement avec leurs groupes depuis la
       base LDAP, puis sont stockés dans la base SQLite (modèle User) [./login.py].
    
       o Les groupes sont synchronisés à chaque login, et créés si nécessaire à la volée.
    
       o Les permissions sont stockées directement dans la base de données SQLite.
       Chaque application peut définir des permissions personnalisées dans ses
       modèles. [./apps/prises/models.py]
    
       o Les permissions peuvent être utilisées avec les décorateurs de
       django.contrib.auth.decorators (login_required, permission_required, ...)
    
       o Les templates comprennent automatiquement l'objet "user", dès lors qu'ils
       ont été rendus avec un Context particulier (RequestContext, cf les appels à
       render_to_response dans [./accueil.py, ./apps/prises/views.py,
       ./apps/dummy/views.py])
    
    - Utilisation de l'interface d'administration automagique de django
    
       o Cette interface permet d'accéder directement aux données gérées dans l'ORM
       de django. (https://intranet2.crans.org/admin/ pour les nounous)
    
       o On peut gérer quels groupes ont quels droits dans les différentes applications.
    
       o Chaque application peut enregistrer une interface d'administration
       personnalisée pour ses modèles. [./apps/prises/admin.py]
    
    - Utilisation de l'ORM de django pour l'application prises
    
       o Définition du modèle SQL [./apps/prises/models.py]
    
       o Définition des champs de formulaires [./apps/prises/forms.py]
    
       o Utilisation de ModelFormSets pour construire et valider les formulaires
       automatiquement [./apps/prises/views.py]
    
    Il faut encore mettre à jour l'application d'impression pour utiliser les
    modèles django avant de la réactiver.
    eb6d7aee