From 58af9e743bf1aca42dbde12d681a3a0f44f6c110 Mon Sep 17 00:00:00 2001 From: Tom Price Date: Thu, 22 Jan 2015 18:20:37 +0000 Subject: [PATCH] Added the ability to clone an event to a new event. --- RIGS/rigboard.py | 16 ++++++++++++++++ RIGS/templates/RIGS/event_detail.html | 2 ++ RIGS/urls.py | 3 +++ db.sqlite3 | Bin 19211264 -> 19215360 bytes 4 files changed, 21 insertions(+) diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 6c0cea8d..8b4ca10f 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -98,3 +98,19 @@ class EventPrint(generic.View): response['Content-Disposition'] = "filename=N%05d | %s.pdf" % (object.pk, object.name) response.write(merged.getvalue()) return response + + +class EventDuplicate(generic.RedirectView): + + def get_redirect_url(self, *args, **kwargs): + new = get_object_or_404(models.Event, pk=kwargs['pk']) + new.pk = None + new.save() + + old = get_object_or_404(models.Event, pk=kwargs['pk']) + for item in old.items.all(): + item.pk = None + item.event = new + item.save() + + return reverse_lazy('event_update', kwargs={'pk': new.pk}) \ No newline at end of file diff --git a/RIGS/templates/RIGS/event_detail.html b/RIGS/templates/RIGS/event_detail.html index f74de4e6..a28240ba 100644 --- a/RIGS/templates/RIGS/event_detail.html +++ b/RIGS/templates/RIGS/event_detail.html @@ -13,6 +13,8 @@ class="glyphicon glyphicon-edit"> + diff --git a/RIGS/urls.py b/RIGS/urls.py index ab811bb2..7d03ec1b 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -68,6 +68,9 @@ urlpatterns = patterns('', url(r'^event/(?P\d+)/edit/$', permission_required_with_403('RIGS.change_event')(rigboard.EventUpdate.as_view()), name='event_update'), + url(r'^event/(?P\d+)/duplicate/$', + permission_required_with_403('RIGS.change_event')(rigboard.EventDuplicate.as_view()), + name='event_duplicate'), # API url(r'^api/(?P\w+)/$', (views.SecureAPIRequest.as_view()), name="api_secure"), diff --git a/db.sqlite3 b/db.sqlite3 index ccf54081b24900793ca269a1a024593e59bcc5c4..682df3bafe9f411aa533cee19a4983f16c22b418 100644 GIT binary patch delta 3779 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 MyFvrT&^6Eh0bC{*CjbBd