1. 11 Oct, 2012 1 commit
  2. 01 Sep, 2012 1 commit
  3. 18 Feb, 2010 1 commit
    • 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