Merge branch 'master' of ssh://gitosis@git.auf/auf_savoirs_en_partage_django
authorolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Fri, 17 Sep 2010 20:44:34 +0000 (16:44 -0400)
committerolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Fri, 17 Sep 2010 20:44:34 +0000 (16:44 -0400)
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/conf.py.edit
auf_savoirs_en_partage/savoirs/globals.py
auf_savoirs_en_partage/savoirs/views.py
auf_savoirs_en_partage/settings.py
auf_savoirs_en_partage/sites/admin.py [new file with mode: 0644]
auf_savoirs_en_partage/sites/models.py
auf_savoirs_en_partage/sites/views.py
auf_savoirs_en_partage/templates/savoirs/index.html
auf_savoirs_en_partage/templates/sites/retrieve.html [new file with mode: 0644]
auf_savoirs_en_partage/urls.py

index f7c7ab7..be9abf8 100644 (file)
@@ -61,7 +61,7 @@ class Chercheur(models.Model):
     actif = models.BooleanField(editable = False)
     
     def __unicode__(self):
-        return u"%s %s" % (self.personne.nom.upper(), self.personne.prenom)
+        return u"%s %s" % (self.personne.nom.upper(), self.personne.prenom.title())
     
 
 class Groupe(models.Model):
index 4e3fc3d..0791904 100644 (file)
@@ -7,3 +7,5 @@ DATABASE_PORT = ''             # Set to empty string for default. Not used with
 ROA_API_KEY = ''
 
 CALENDRIER_URL = 'http://davin:davin@cal.ro.auf.org/caldav.php/davin/test/'
+
+AUTH_PASSWORD_REQUIRED = True
index 258c1e3..9795fc6 100644 (file)
@@ -4,7 +4,8 @@
 configuration = {
     'max_actualite': 100,
     'accueil_actualite': 5,
-    'accueil_chercheur': 6,
+    'accueil_chercheur': 5,
+    'accueil_sites': 5,
     'nombre_par_page_actualite': 10,
     'resultats_par_page': 8, # pas changeable a cause de google
     'accueil_evenement': 10,
index 2b30795..fc9ce11 100644 (file)
@@ -16,6 +16,7 @@ import backend_config
 from forms import *
 from models import *
 from chercheurs.models import Chercheur
+from sites.models import Site
 
 
 def index (request):
@@ -28,11 +29,13 @@ def index (request):
     except:
         events = []
     chercheurs = Chercheur.objects.all().order_by('?')[:configuration['accueil_chercheur']]
+    sites = Site.objects.all().order_by('?')[:configuration['accueil_sites']]
     return render_to_response ("savoirs/index.html", \
             Context ({"articles": articles,
                       "events": events,
                       "caldav_url": configuration['calendrier_publique'],
                       "chercheurs":chercheurs,
+                      "sites":sites,
                       }), \
             context_instance = RequestContext(request))
 
index d9acebc..47c1582 100644 (file)
@@ -84,7 +84,6 @@ TEMPLATE_DIRS = (
 AUTHENTICATION_BACKENDS = (
     'auf_references_client.backends.CascadeBackend',
 )
-AUTH_PASSWORD_REQUIRED = True
 
 CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
 
diff --git a/auf_savoirs_en_partage/sites/admin.py b/auf_savoirs_en_partage/sites/admin.py
new file mode 100644 (file)
index 0000000..b9eba7f
--- /dev/null
@@ -0,0 +1,7 @@
+# -*- encoding: utf-8 -*-
+from django.contrib import admin
+from models import Site
+
+admin.site.register(Site)
+
+
index 8298ac3..5529059 100644 (file)
@@ -1,5 +1,7 @@
 # -*- encoding: utf-8 -*-
 from django.db import models
+from datamaster_modeles.models import *
+from savoirs.models import Discipline
 
 TYPE_SITE_CHOICES = (
     ('RV', 'Revue en ligne'), 
@@ -13,22 +15,27 @@ TYPE_SITE_CHOICES = (
 class Site(models.Model):
     """Fiche d'info d'un site web"""
     url = models.URLField(verify_exists=True)   # dc:identifier (dc:source?)
-    titre = models.CharField(max_length=255, null=False, blank=False, verbose_name = 'Titre')   # dc.title
+    titre = models.CharField(max_length=255, verbose_name='Titre')   # dc.title
     description = models.TextField()
-    editeur = models.CharField(max_length=255, verbose_name = 'Éditeur')    # dc.publisher : organisation resp
-    auteur = models.CharField(max_length=255, verbose_name = 'Auteur')  # dc.creator : nom, prénom
-    auf_partenaire = models.BooleanField()    # dc.contributor
+    editeur = models.CharField(max_length=255, verbose_name='Éditeur')    # dc.publisher : organisation resp
+    auteur = models.CharField(max_length=255, verbose_name='Auteur')  # dc.creator : nom, prénom
+    
+    #auf_partenaire = models.BooleanField()    # dc.contributor
+    
     date_publication = models.DateField()      # dc.date : date de publication
     type = models.CharField(max_length=2, null=False, blank=False, choices=TYPE_SITE_CHOICES,
                               verbose_name = 'Type de site')    # dc.type
-    # thematiques   # fk Thematiques
-    # disciplines   # fk Disciplines    # dc:subject
-    # mots_cles     # dc:subject    # indexation libre
+    discipline = models.ManyToManyField(Discipline, blank=True)
+    thematique = models.ManyToManyField(Thematique, blank=True)
+    
+    mots_cles =  models.TextField(verbose_name='Mots-clés')    # dc:subject    # indexation libre
 
     # source    # dc:source (dc:relation?)
-    # pays  # fk Pays      # dc:coverage   # pays de production
-    # droits    # dc:rights
+    pays = models.ForeignKey(Pays, null = True, db_column='pays', to_field='code', verbose_name = 'Pays')
     
     # meta
     actif = models.BooleanField()
-    # date_maj
+    date_maj = models.DateField(auto_now=True)
+    
+    def __unicode__(self):
+        return "%s" % (self.url)
index 88a8ee1..498350c 100644 (file)
@@ -11,3 +11,12 @@ def index(request):
     return render_to_response ("sites/index.html", \
             Context (variables), 
             context_instance = RequestContext(request))
+            
+def retrieve(request, id):
+    """Fiche du site"""
+    site = Site.objects.get(id=id)
+    variables = { 'site': site,
+                }
+    return render_to_response ("sites/retrieve.html", \
+            Context (variables), 
+            context_instance = RequestContext(request))
index b4bd601..b4031a2 100644 (file)
         {% endfor %}
         </ul>
     </div>
+    <div class="box">
+        <h4>Sites</h4>
+        <ul class="sous-menu">
+            <li><a href="{% url sites.views.index %}">Sitothèque</a></li>
+        </ul>
+        <ul class="liste-de-l-accueil">
+        {% for site in sites %}
+            <li class="clearfix">
+            <a href="{% url sites.views.retrieve site.id %}" class="le-titre">{{ site }}</a>
+            <span class="la-date">Disciplines : {{ site.discipline }}</span>
+            </li>
+        {% endfor %}
+        </ul>
+    </div>
 </div>
 {% endblock %}
diff --git a/auf_savoirs_en_partage/templates/sites/retrieve.html b/auf_savoirs_en_partage/templates/sites/retrieve.html
new file mode 100644 (file)
index 0000000..9b9eeb8
--- /dev/null
@@ -0,0 +1,12 @@
+{% extends "container_base.html" %}
+
+{% block contenu %}
+<h4>{{ site }}</h4>
+
+<div class="contenu-wrapper">
+<p>
+Voici la fiche site de {{ site }}.
+</p>
+</div>
+
+{% endblock %}
index 370ac2d..9a47ad8 100644 (file)
@@ -35,6 +35,7 @@ urlpatterns = patterns(
     (r'^espace/chercheur/(?P<id>\d+)/$', 'chercheurs.views.perso'),
     
     (r'^sites/$', 'sites.views.index'),
+    (r'^sites/(?P<id>\d+)/$', 'sites.views.retrieve'),
 )
 
 if settings.DEBUG: