From ae4b84298348dbab362a1f3ff8749035651f1d63 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Mon, 9 Jul 2018 15:05:20 +0200 Subject: [PATCH] FIX: updated oneclickaction to suit the changes i did about event state. --- dav_events/models/oneclickaction.py | 30 +++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/dav_events/models/oneclickaction.py b/dav_events/models/oneclickaction.py index 5d49e79..2cdcb76 100644 --- a/dav_events/models/oneclickaction.py +++ b/dav_events/models/oneclickaction.py @@ -62,19 +62,20 @@ class OneClickAction(models.Model): event_id, user_id = self.parameters.split(',') event = Event.objects.get(id=event_id) user = get_user_model().objects.get(id=user_id) - number = event.accept(user) - if number: - status = 'success' - message = ugettext(u'Veranstaltung freigegeben.') - text = unicode(event) - else: + flag = event.flags.filter(status__code='accepted').first() + if flag: status = 'info' message = (ugettext(u'Veranstaltung wurde bereits von %(fullname)s freigegeben.') % - {'fullname': event.accepted_by.get_full_name()}) + {'fullname': flag.user.get_full_name()}) text = unicode(event) text += u'\n' text += (ugettext(u'Freigegeben am: %(date)s') % - {'date': event.accepted_at.strftime('%d.%m.%Y %H:%M:%S')}) + {'date': flag.timestamp.strftime('%d.%m.%Y %H:%M:%S')}) + else: + event.confirm_status('accepted', user) + status = 'success' + message = ugettext(u'Veranstaltung freigegeben.') + text = unicode(event) self.done = True self.done_at = timezone.now() @@ -95,16 +96,21 @@ class OneClickAction(models.Model): event_id, user_id = self.parameters.split(',') event = Event.objects.get(id=event_id) user = get_user_model().objects.get(id=user_id) - if event.publication_confirmed: + flag = event.flags.filter(status__code__in=('publishing', 'published')).first() + if flag: status = 'info' message = (ugettext(u'Veröffentlichung wurde bereits von %(fullname)s bestätigt.') % - {'fullname': event.publication_confirmed_by.get_full_name()}) + {'fullname': flag.user.get_full_name()}) text = unicode(event) text += u'\n' text += (ugettext(u'Bestätigt am: %(date)s') % - {'date': event.publication_confirmed_at.strftime('%d.%m.%Y %H:%M:%S')}) + {'date': flag.timestamp.strftime('%d.%m.%Y %H:%M:%S')}) else: - event.confirm_publication(user) + if event.planned_publication_date: + new_state = 'publishing' + else: + new_state = 'published' + event.confirm_status(new_state, user) status = 'success' message = ugettext(u'Veröffentlichung registriert.') text = unicode(event)