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()
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):