def __unicode__(self,):
return u"%s" % self.nom
+class ActualiteManager(models.Manager):
+
+ def get_query_set(self):
+ return ActualiteQuerySet(self.model)
+
+class ActualiteQuerySet(models.query.QuerySet):
+
+ def search(self, text):
+ return self.filter(titre__icontains=text)
+
class Actualite(models.Model):
id = models.AutoField(primary_key=True, db_column='id_actualite')
titre = models.CharField(max_length=765, db_column='titre_actualite')
ancienid = models.IntegerField(db_column='ancienId_actualite', blank = True, null = True)
source = models.ForeignKey(SourceActualite, blank = True, null = True)
+ objects = ActualiteManager()
+
def __unicode__ (self):
return "%s" % (self.titre)
# actualités
def actualite_index(request):
- delta = datetime.timedelta (days = 90)
- oldest = datetime.date.today () - delta
- actualites = Actualite.objects.filter (visible = '1', date__gt = oldest)
- return render_to_response ("savoirs/actualite_index.html", \
- Context ({'actualites': actualites}), \
- context_instance = RequestContext(request))
+ delta = datetime.timedelta(days=90)
+ oldest = datetime.date.today() - delta
+ actualites = Actualite.objects.filter(visible=True, date__gt=oldest)
+ query = request.GET.get('q')
+ if query:
+ actualites = actualites.search(query)
+ return render_to_response("savoirs/actualite_index.html",
+ {'actualites': actualites},
+ context_instance = RequestContext(request))
# agenda
def evenement_index(request):
<h4>Actualités</h4>
<div class="contenu-wrapper">
-<div class="centre">{% paginate %}</div>
-<table id="repertoire">
+ <form action="" method="get">
+ <input type="text" name="q" value="{{ request.GET.q }}" size="50" />
+ <input type="submit" value="Rechercher" />
+ </form>
+ <div class="centre">{% paginate %}</div>
+ <table id="repertoire">
<tr>
- <th>Nom</th>
- <th>Source</th>
+ <th>Nom</th>
+ <th>Source</th>
</tr>
-{% for actualite in actualites %}
+ {% for actualite in actualites %}
<tr class="{% cycle 'odd' 'notodd' %}">
- <td><a href="{{ actualite.url }}" class="le-titre">{{ actualite.titre|truncatewords:20 }}</a></td>
- <td>{{ actualite.source.nom }}</td>
+ <td><a href="{{ actualite.url }}" class="le-titre">{{ actualite.titre|truncatewords:20 }}</a></td>
+ <td>{{ actualite.source.nom }}</td>
</tr>
-{% endfor %}
-</table>
-<div class="centre">{% paginate %}</div>
+ {% endfor %}
+ </table>
+ <div class="centre">{% paginate %}</div>
</div>
{% endblock %}