--- /dev/null
+from django.contrib import admin
+
+from . import models
+
+
+class NewsAdmin(admin.ModelAdmin):
+ list_display = ['title', 'group', 'author', 'expiration', 'restricted']
+ list_filter = ['group', 'author']
+ search_fields = ['group__name', 'title', 'content', 'author__first_name', 'author__last_name', 'contacts']
+
+admin.site.register(models.News, NewsAdmin)
--- /dev/null
+# coding: utf-8
+
+from django.db import models
+from django.utils.translation import ugettext_lazy as _
+
+
+class News(models.Model):
+
+ title = models.CharField(max_length=200, verbose_name=u"titre")
+ content = models.TextField(verbose_name=u"contenu")
+ contacts = models.TextField(verbose_name=u"contacts", blank=True)
+ illustration = models.ImageField(upload_to='blah', verbose_name=u"illustration", null=True, blank=True)
+ expiration = models.DateField(verbose_name=u"date de péremption")
+
+# TODO : attached_event = null
+
+ restricted = models.BooleanField(default=True, verbose_name=u"visibilité restreinte")
+ promo_min = models.PositiveSmallIntegerField(verbose_name=u"promotion la plus ancienne", null=True, blank=True)
+ promo_max = models.PositiveSmallIntegerField(verbose_name=u"promotion la plus jeune", null=True, blank=True)
+
+ author = models.ForeignKey('accounts.Account', related_name='+')
+ group = models.ForeignKey('accounts.XGroup', related_name='news')
+
+ class Meta:
+ verbose_name = _(u"news")
+ verbose_name_plural = _(u"news")
+
+ def __unicode__(self):
+ return self.title