From a85cf58c6c2c29b380081e7a9391eb9192f3e022 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Sun, 20 Jul 2014 21:00:44 +0200 Subject: [PATCH] try bugfix --- teleforma/views/pro.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/teleforma/views/pro.py b/teleforma/views/pro.py index 33505353..cfa9feac 100644 --- a/teleforma/views/pro.py +++ b/teleforma/views/pro.py @@ -100,10 +100,10 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8', def set_revision(user, seminar): - revisions = SeminarRevision.objects.filter(user=user, date__gte=REVISION_DATE_FILTER, date_modified=None) - if revisions: - if not revisions[0].seminar == seminar: - revisions = SeminarRevision.objects.filter(seminar=seminar, user=user, date__gte=REVISION_DATE_FILTER, date_modified=None) + all_revisions = SeminarRevision.objects.filter(user=user, date__gte=REVISION_DATE_FILTER, date_modified=None) + if all_revisions: + if not all_revisions[0].seminar == seminar: + revisions = all_revisions.filter(seminar=seminar) if revisions: r = revisions[0] now = datetime.datetime.now() @@ -131,14 +131,31 @@ class SeminarAccessMixin(object): def seminar_load(request, id, username): seminar = Seminar.objects.get(id=id) user = User.objects.get(username=username) - r = SeminarRevision(seminar=seminar, user=user) - set_revision(user, seminar) + all_revisions = SeminarRevision.objects.filter(user=user, date__gte=REVISION_DATE_FILTER, date_modified=None) + if all_revisions: + if not all_revisions[0].seminar == seminar: + revisions = all_revisions.filter(seminar=seminar) + if not revisions: + r = SeminarRevision(seminar=seminar, user=user) + r.save() + else: + r = SeminarRevision(seminar=seminar, user=user) + r.save() @jsonrpc_method('teleforma.seminar_unload') def seminar_unload(request, id, username): seminar = Seminar.objects.get(id=id) user = User.objects.get(username=username) - set_revision(user, seminar) + all_revisions = SeminarRevision.objects.filter(user=user, date__gte=REVISION_DATE_FILTER, date_modified=None) + if all_revisions: + if not all_revisions[0].seminar == seminar: + revisions = all_revisions.filter(seminar=seminar) + if revisions: + r = revisions[0] + now = datetime.datetime.now() + if (now - r.date) > datetime.timedelta(seconds = 1): + r.date_modified = now + r.save() class SeminarView(SeminarAccessMixin, DetailView): -- 2.39.5