From 4ba4b58f42be9b34e2fd7b20abc3fbaa4638bb2d Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Tue, 22 Nov 2016 06:46:09 +0100
Subject: [PATCH] Debug

---
 journals/templates/journals/add_author.html |  2 +-
 journals/urls.py                            |  6 ++++++
 journals/views.py                           | 20 ++++++++++++++------
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/journals/templates/journals/add_author.html b/journals/templates/journals/add_author.html
index 15aef5472..56e008942 100644
--- a/journals/templates/journals/add_author.html
+++ b/journals/templates/journals/add_author.html
@@ -62,7 +62,7 @@
   <table>
     {% for unreg_auth in unregistered_authors_found %}
     <tr><td>{{ unreg_auth }}</td><td>&nbsp;</td>
-      <td><a href="{% url 'journals:add_author' publication_id=publication.id unregistered_author_id=unreg_auth.id %}">Add this unregistered author as author of this Publication</a></td></tr>
+      <td><a href="{% url 'journals:add_unregistered_author' publication_id=publication.id unregistered_author_id=unreg_auth.id %}">Add this unregistered author as author of this Publication</a></td></tr>
     {% endfor %}
   </table>
   {% elif form.has_changed %}
diff --git a/journals/urls.py b/journals/urls.py
index 38d2ad6cc..dc4ef35c8 100644
--- a/journals/urls.py
+++ b/journals/urls.py
@@ -46,9 +46,15 @@ urlpatterns = [
     url(r'^mark_first_author/(?P<publication_id>[0-9]+)/(?P<contributor_id>[0-9]+)$',
         journals_views.mark_first_author,
         name='mark_first_author'),
+    url(r'^add_author/(?P<publication_id>[0-9]+)/(?P<contributor_id>[0-9]+)$',
+        journals_views.add_author,
+        name='add_author'),
     url(r'^add_author/(?P<publication_id>[0-9]+)$',
         journals_views.add_author,
         name='add_author'),
+    url(r'^add_unregistered_author/(?P<publication_id>[0-9]+)/(?P<unregistered_author_id>[0-9]+)$',
+        journals_views.add_unregistered_author,
+        name='add_unregistered_author'),
     url(r'^add_new_unreg_author/(?P<publication_id>[0-9]+)$',
         journals_views.add_new_unreg_author,
         name='add_new_unreg_author'),
diff --git a/journals/views.py b/journals/views.py
index 35c7a1a5b..64b8e4984 100644
--- a/journals/views.py
+++ b/journals/views.py
@@ -344,12 +344,6 @@ def add_author(request, publication_id, contributor_id=None, unregistered_author
         publication.save()
         return redirect(reverse('scipost:publication_detail', 
                                 kwargs={'doi_string': publication.doi_string,}))
-    elif unregistered_author_id:
-        unregistered_author = get_object_or_404(UnregisteredAuthor, id=unregistered_author_id)
-        publication.unregistered_authors.add(unregistered_author)
-        publication.save()
-        return redirect(reverse('scipost:publication_detail', 
-                                kwargs={'doi_string': publication.doi_string,}))
     if request.method == 'POST':
         form = UnregisteredAuthorForm(request.POST)
         if form.is_valid():
@@ -360,6 +354,9 @@ def add_author(request, publication_id, contributor_id=None, unregistered_author
             new_unreg_author_form = UnregisteredAuthorForm(
                 initial={'first_name': form.cleaned_data['first_name'],
                          'last_name': form.cleaned_data['last_name'],})
+        else:
+            errormessage = 'Please fill in the form properly'
+            return render(request, 'scipost/error.html', context={'errormessage': errormessage})
     else:
         form = UnregisteredAuthorForm()
         contributors_found = None
@@ -373,6 +370,17 @@ def add_author(request, publication_id, contributor_id=None, unregistered_author
     return render(request, 'journals/add_author.html', context)
 
 
+@permission_required('scipost.can_publish_accepted_submission', return_403=True)
+@transaction.atomic
+def add_unregistered_author(request, publication_id, unregistered_author_id):
+    publication = get_object_or_404(Publication, id=publication_id)
+    unregistered_author = get_object_or_404(UnregisteredAuthor, id=unregistered_author_id)
+    publication.unregistered_authors.add(unregistered_author)
+    publication.save()
+    return redirect(reverse('scipost:publication_detail', 
+                            kwargs={'doi_string': publication.doi_string,}))
+
+
 @permission_required('scipost.can_publish_accepted_submission', return_403=True)
 @transaction.atomic
 def add_new_unreg_author(request, publication_id):
-- 
GitLab