ferme #503, rss agenda et intégration frontend
authorolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Mon, 4 Oct 2010 19:22:03 +0000 (15:22 -0400)
committerolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Mon, 4 Oct 2010 19:22:03 +0000 (15:22 -0400)
auf_savoirs_en_partage/media/css/global.css
auf_savoirs_en_partage/savoirs/models.py
auf_savoirs_en_partage/savoirs/rss.py
auf_savoirs_en_partage/templates/savoirs/index.html
auf_savoirs_en_partage/templates/savoirs/rss_actualite_description.html [new file with mode: 0644]
auf_savoirs_en_partage/templates/savoirs/rss_actualite_titre.html [new file with mode: 0644]
auf_savoirs_en_partage/templates/savoirs/rss_evenement_description.html [new file with mode: 0644]
auf_savoirs_en_partage/templates/savoirs/rss_evenement_titre.html [new file with mode: 0644]
auf_savoirs_en_partage/urls.py

index 949b409..41fdcf8 100644 (file)
@@ -173,8 +173,8 @@ select     { width:100%; overflow:hidden }
 
 .publications_autre {border:1px solid #CCC; background:#FAFAFA; margin:10px; padding:10px; display:none;}
 
-#actualites {position: relative;}
-#rss-actualites {position: absolute; right: 26px; top: 10px;}
+#agenda, #actualites {position: relative;}
+#rss-agenda, #rss-actualites {position: absolute; right: 26px; top: 10px;}
 
 form {padding-right:20px}
 
index adf82af..e75cc03 100644 (file)
@@ -108,7 +108,7 @@ class Evenement(models.Model):
             kw.append(self.type)
         except: pass
 
-        kw = [x.strip() for x in kw if len(x.strip()) > 0]
+        kw = [x.strip() for x in kw if len(x.strip()) > 0 and x is not None]
         for k in kw:
             cal.vevent.add('x-auf-keywords').value = k
 
@@ -122,7 +122,7 @@ class Evenement(models.Model):
         cal.vevent.add('dtend').value = combine(self.fin, self.fuseau)
         cal.vevent.add('created').value = combine(datetime.datetime.now(), "UTC")
         cal.vevent.add('dtstamp').value = combine(datetime.datetime.now(), "UTC")
-        if len(self.description) > 0:
+        if len(description) > 0:
             cal.vevent.add('description').value = description
         if len(self.contact) > 0:
             cal.vevent.add('contact').value = self.contact
index b11e5b4..c540926 100644 (file)
@@ -1,6 +1,8 @@
 # -*- encoding: utf-8 -*-
+from django.core.urlresolvers import reverse
 from django.contrib.syndication.feeds import Feed
 from savoirs.models import Actualite
+from savoirs.lib.calendrier import evenements
 from datetime import datetime, time
 
 class FilActualite(Feed):
@@ -9,23 +11,38 @@ class FilActualite(Feed):
     description = "Agrégateur de ressources scientifiques et pédagogiques de l'AUF"
     limitation = 10
 
+    title_template = "savoirs/rss_actualite_titre.html"
+    description_template = "savoirs/rss_actualite_description.html"
+
     def items(self):
         return Actualite.objects.filter(visible=True).order_by('-date')[:self.limitation]
 
-    def item_title(self, item):
-        return item.titre
-
-    def item_description(self, item):
-        return item.url
-
     def item_link(self, item):
         return item.url
 
     def item_pubdate(self,item):
         return  datetime.combine(item.date, time())
 
-
     def item_author_name(self,item):
         if item.source:
             return item.source.nom
 
+class FilEvenement(Feed):
+    title = "Calendrier des ressources scientifiques et pédagogiques de l'AUF"
+    link = '/'
+    description = "Evènements connexes aux ressources scientifiques et pédagogiques de l'AUF"
+
+    title_template = "savoirs/rss_evenement_titre.html"
+    description_template = "savoirs/rss_evenement_description.html"
+
+    def items(self):
+        return evenements()
+
+    def item_link(self, item):
+        return reverse('savoirs.views.evenement', args=[item.uid.value])
+
+    def item_pubdate(self,item):
+        return item.dtstart.value
+
+    def item_author_name(self,item):
+        return ""
index 5d76f4b..502faaa 100644 (file)
@@ -44,8 +44,9 @@
 
 
 <div class="demi-droite clearfix">
-    <div class="box">
+    <div id="agenda" class="box">
         <h4>Agenda</h4>
+        <a id="rss-agenda" href="/rss/agenda"><img src="/media/img/feed.png" /></a>
         <ul class="sous-menu">
             <li><a href="{% url savoirs.views.evenement_ajout %}">Soumettre un événement</a></li>
             <li><a href="{{ caldav_url }}">S'abonner</a></li>
diff --git a/auf_savoirs_en_partage/templates/savoirs/rss_actualite_description.html b/auf_savoirs_en_partage/templates/savoirs/rss_actualite_description.html
new file mode 100644 (file)
index 0000000..57efeca
--- /dev/null
@@ -0,0 +1 @@
+{{ obj.texte }}
diff --git a/auf_savoirs_en_partage/templates/savoirs/rss_actualite_titre.html b/auf_savoirs_en_partage/templates/savoirs/rss_actualite_titre.html
new file mode 100644 (file)
index 0000000..eadf77d
--- /dev/null
@@ -0,0 +1 @@
+{{ obj.titre }}
diff --git a/auf_savoirs_en_partage/templates/savoirs/rss_evenement_description.html b/auf_savoirs_en_partage/templates/savoirs/rss_evenement_description.html
new file mode 100644 (file)
index 0000000..605a1e6
--- /dev/null
@@ -0,0 +1,4 @@
+<p>quoi ? : {{ obj.description.value }}</p>
+<p>où ? : {{ obj.location.value }}</p>
+<p>quand ? : {{ obj.dtstart.value }}</p>
+<p>durée ? : {{ obj.duration.value }}</p>
diff --git a/auf_savoirs_en_partage/templates/savoirs/rss_evenement_titre.html b/auf_savoirs_en_partage/templates/savoirs/rss_evenement_titre.html
new file mode 100644 (file)
index 0000000..c6cd7ea
--- /dev/null
@@ -0,0 +1 @@
+{{ obj.summary.value }}
index 3941d59..3f87b64 100644 (file)
@@ -1,13 +1,14 @@
 from django.conf.urls.defaults import patterns, include, handler500, url
 from django.conf import settings
 from django.contrib import admin
-from savoirs.rss import FilActualite
+from savoirs.rss import FilActualite, FilEvenement
 
 admin.autodiscover()
 
 handler500 # Pyflakes
 
-site_feeds = {'actualites': FilActualite }
+site_feeds = {'actualites': FilActualite,
+              'agenda': FilEvenement }
 
 
 urlpatterns = patterns(