from models import SourceActualite, Actualite, Discipline, Evenement, Record, ListSet, HarvestLog, Profile
from savoirs.globals import META
-admin.site.register(Actualite)
admin.site.register(SourceActualite)
admin.site.register(Evenement)
# actions
def valider_references(self, request, queryset):
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
- return HttpResponseRedirect("/admin/confirmation/%s?ids=%s" % ('valider', ",".join(selected)))
+ return HttpResponseRedirect("/admin/confirmation/%s/%s?ids=%s" % ('record', 'valider', ",".join(selected)))
def invalider_references(self, request, queryset):
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
- return HttpResponseRedirect("/admin/confirmation/%s?ids=%s" % ('invalider', ",".join(selected)))
+ return HttpResponseRedirect("/admin/confirmation/%s/%s/?ids=%s" % ('record', 'invalider', ",".join(selected)))
def assigner_pays(self, request, queryset):
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)
+class ActualiteAdmin(admin.ModelAdmin):
+ list_filter = ('visible',)
+ list_display = ('titre', 'date', 'visible')
+ actions = ['rendre_visible', 'rendre_invisible']
+
+ # actions
+ def rendre_visible(self, request, queryset):
+ selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
+ return HttpResponseRedirect("/admin/confirmation/%s/%s?ids=%s" % ('actualite', 'visible', ",".join(selected)))
+
+ def rendre_invisible(self, request, queryset):
+ selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
+ return HttpResponseRedirect("/admin/confirmation/%s/%s?ids=%s" % ('actualite', 'invisible', ",".join(selected)))
+
+admin.site.register(Actualite, ActualiteAdmin)
from django.shortcuts import render_to_response
from datamaster_modeles.models import Thematique, Pays, Region
-from savoirs.models import Record, Discipline
+from savoirs.models import Record, Discipline, Actualite
# Dashboard
class RecordDashboard:
@login_required
def confirmation(request, action):
ids = request.GET.get("ids").split(",")
+ type, action = action.split('/')[0:2]
# determination du contexte de validation
if action == u'valider':
- records = [r for r in Record.objects.in_bulk(ids).values() if r.est_complet()]
+ objects = [r for r in Record.objects.in_bulk(ids).values() if r.est_complet()]
+ action = ('validated', True)
desc = u'validées'
- validated = True
+ model = u'références'
+
elif action == u'invalider':
- records = Record.objects.in_bulk(ids).values()
+ objects = Record.objects.in_bulk(ids).values()
+ action = ('validated', False)
desc = u'invalidées'
- validated = False
+ model = u'références'
+
+ elif action == u'visible':
+ objects = Actualite.objects.in_bulk(ids).values()
+ action = ('visible', True)
+ desc = u'visibles'
+ model = u'actualités'
+
+ elif action == u'invisible':
+ objects = Actualite.objects.in_bulk(ids).values()
+ action = ('visible', False)
+ desc = u'invisibles'
+ model = u'actualités'
+
else:
raise Exception("action invalide %s " % action)
confirmation_form = ConfirmationForm(request.POST)
if confirmation_form.is_valid():
- for r in records:
- r.validated = validated
- r.save()
+ for o in objects:
+ setattr(o, action[0], action[1])
+ o.save()
succes = u""u"Les références ont été %s" % desc
request.user.message_set.create(message=succes)
- return HttpResponseRedirect('/admin/savoirs/record')
+ return HttpResponseRedirect('/admin/savoirs/%s' % type)
else:
confirmation_form = ConfirmationForm()
return render_to_response ("savoirs/confirmation.html",
- Context ({'records': records,
+ Context ({'objects': objects,
'action': action,
'form': confirmation_form,
'titre': u"Validation par lots",
- 'description': u"Les références suivantes vont être %s:" % desc ,
+ 'description': u"Les %s suivantes vont être %s:" % (model, desc) ,
}),
context_instance = RequestContext(request))
texte = models.TextField(db_column='texte_actualite')
url = models.CharField(max_length=765, db_column='url_actualite')
date = models.DateField(db_column='date_actualite')
- visible = models.BooleanField(db_column='visible_actualite')
+ visible = models.BooleanField(db_column='visible_actualite', default = False)
ancienid = models.IntegerField(db_column='ancienId_actualite', blank = True, null = True)
def __unicode__ (self):
- return "Actualite %d: %s" % (self.id, self.titre)
+ return "%s" % (self.titre)
class Meta:
db_table = u'actualite'
def __unicode__(self):
- return "R[%s] %s" % (self.id, self.title)
+ return "[%s] %s" % (self.server, self.title)
# Ces fonctions sont utilisées pour travailler directement sur les données JSON enregistrées tel quel
# sur la base de données. Lorsque le modèle est initialisé, les fields sont décodés, et lorsque l'objet
texte = entry.summary_detail.value,
url = entry.link,
date = date,
- visible = '0',
+ visible = False,
ancienid = 0)
print a.save()
<div id="content-main">
<h1>{{description}}</h1>
<ul>
-{% for r in records %}
-<li>[{{r.server}}] {{r.title}}</li>
+{% for o in objects %}
+<li>{{o}}</li>
{% endfor %}
</ul>
</div>