diff --git a/scipost/managers.py b/scipost/managers.py
index b16b82034b11303f60ffa2074a90b55b3a51b86a..5ed6efd72c6b6dd4ee64791308fa36efafb79cfe 100644
--- a/scipost/managers.py
+++ b/scipost/managers.py
@@ -18,10 +18,15 @@ class FellowManager(models.Manager):
             ).order_by('contributor__user__last_name')
 
 
-class ContributorManager(models.Manager):
+class ContributorQuerySet(models.QuerySet):
     def active(self):
         return self.filter(user__is_active=True, status=CONTRIBUTOR_NORMAL)
 
+    def available(self):
+        return self.exclude(
+            unavailability_periods__start__lte=today,
+            unavailability_periods__end__lte=today)
+
     def awaiting_validation(self):
         return self.filter(user__is_active=False, status=CONTRIBUTOR_NEWLY_REGISTERED)
 
diff --git a/scipost/models.py b/scipost/models.py
index 265d2d9b63ab269a8de20aebb859a63343c5ba8d..7666fdf99faf4ec9d2d9a1b0a806cd0af4037545 100644
--- a/scipost/models.py
+++ b/scipost/models.py
@@ -16,7 +16,7 @@ from .constants import SCIPOST_DISCIPLINES, SCIPOST_SUBJECT_AREAS,\
                        INVITATION_CONTRIBUTOR, INVITATION_FORMAL,\
                        AUTHORSHIP_CLAIM_PENDING, AUTHORSHIP_CLAIM_STATUS
 from .fields import ChoiceArrayField
-from .managers import FellowManager, ContributorManager, RegistrationInvitationManager,\
+from .managers import FellowManager, ContributorQuerySet, RegistrationInvitationManager,\
                       UnavailabilityPeriodManager, AuthorshipClaimQuerySet
 
 today = timezone.now().date()
@@ -61,7 +61,7 @@ class Contributor(models.Model):
         default=True,
         verbose_name="I accept to receive SciPost emails")
 
-    objects = ContributorManager()
+    objects = ContributorQuerySet.as_manager()
 
     def __str__(self):
         return '%s, %s' % (self.user.last_name, self.user.first_name)
diff --git a/submissions/forms.py b/submissions/forms.py
index 3b35663eb485e7b94ee30d7d0be5da41ef2be64a..a25a3b5022e656561dc64c6354b6f670f32546b3 100644
--- a/submissions/forms.py
+++ b/submissions/forms.py
@@ -423,16 +423,23 @@ class SubmissionReportsForm(forms.ModelForm):
 # Editorial workflow #
 ######################
 
-class AssignSubmissionForm(forms.Form):
+class EditorialAssignmentForm(forms.ModelForm):
+    class Meta:
+        model = EditorialAssignment
+        fields = ('to',)
+        labels = {
+            'to': 'Fellow',
+        }
 
     def __init__(self, *args, **kwargs):
-        discipline = kwargs.pop('discipline')
-        super(AssignSubmissionForm, self).__init__(*args, **kwargs)
-        self.fields['editor_in_charge'] = forms.ModelChoiceField(
-            queryset=Contributor.objects.filter(user__groups__name='Editorial College',
-                                                user__contributor__discipline=discipline,
-                                                ).order_by('user__last_name'),
-            required=True, label='Select an Editor-in-charge')
+        self.submission = kwargs.pop('submission')
+        super().__init__(*args, **kwargs)
+        self.fields['to'].queryset = Contributor.objects.available().filter(
+            fellowships__pool=self.submission).distinct()
+
+    def save(self, commit=True):
+        self.instance.submission = self.submission
+        return super().save(commit)
 
 
 class ConsiderAssignmentForm(forms.Form):
diff --git a/submissions/templates/partials/submissions/pool/submission_info_table.html b/submissions/templates/partials/submissions/pool/submission_info_table.html
index 49ec884f6b0d51add7cdc85e399e81cf4fc808b5..d7cbb822007a1fa89613c4872a1669e633c595a7 100644
--- a/submissions/templates/partials/submissions/pool/submission_info_table.html
+++ b/submissions/templates/partials/submissions/pool/submission_info_table.html
@@ -3,6 +3,12 @@
         <td style="min-width: 40%;">Version</td>
         <td>{{submission.arxiv_vn_nr}} ({% if submission.is_current %}current version{% else %}deprecated version {{submission.arxiv_vn_nr}}{% endif %})</td>
     </tr>
+    <tr>
+        <td>Arxiv Link:</td>
+        <td>
+            <a href="{{ submission.arxiv_link }}" target="_blank">{{ submission.arxiv_link }}</a>
+        </td>
+    </tr>
     <tr>
         <td>Submitted</td>
         <td>{{submission.submission_date}} to {{submission.get_submitted_to_journal_display}}</td>
diff --git a/submissions/templates/submissions/assign_submission.html b/submissions/templates/submissions/assign_submission.html
index ce677a88fe3d4413f8cff2bc61373a0532ce9a89..54574a668dbc3eee84644aaf5253beea98d93e53 100644
--- a/submissions/templates/submissions/assign_submission.html
+++ b/submissions/templates/submissions/assign_submission.html
@@ -54,7 +54,7 @@
 <div class="row mb-md-4">
     <div class="col-12">
       <h2 class="highlight">Send a new assignment request:</h2>
-      <form action="{% url 'submissions:assign_submission_ack' arxiv_identifier_w_vn_nr=submission_to_assign.arxiv_identifier_w_vn_nr %}" method="post">
+      <form action="{% url 'submissions:assign_submission' arxiv_identifier_w_vn_nr=submission_to_assign.arxiv_identifier_w_vn_nr %}" method="post">
         {% csrf_token %}
         {{ form|bootstrap }}
         <input class="btn btn-secondary" type="submit" value="Submit" />
diff --git a/submissions/templates/submissions/pool/pool.html b/submissions/templates/submissions/pool/pool.html
index 5806e9d40bc7839f6cef44cc36e3a490039c5d37..a1112527805bd55a2242b181b9dcb4d99a96aab4 100644
--- a/submissions/templates/submissions/pool/pool.html
+++ b/submissions/templates/submissions/pool/pool.html
@@ -26,11 +26,11 @@
             <h1>SciPost Submissions Pool</h1>
             {% if is_ECAdmin %}
 
-                {% if recommendations.voting_in_preparation.exists or recommendations.put_to_voting.exists or latest_submission_events %}
+                {% if recommendations.voting_in_preparation or recommendations.put_to_voting or latest_submission_events %}
                     <div class="quote-border">
                         <h2 class="text-primary">Administrative Tasks</h2>
 
-                        {% if recommendations.voting_in_preparation.exists %}
+                        {% if recommendations.voting_in_preparation %}
                             <h3>Recommendations to prepare for voting <i class="fa fa-exclamation-circle text-warning"></i></h3>
                             <ul>
                                 {% for recommendation in recommendations.voting_in_preparation %}
@@ -41,7 +41,7 @@
                             </ul>
                         {% endif %}
 
-                        {% if recommendations.put_to_voting.exists %}
+                        {% if recommendations.put_to_voting %}
                             <h3>Recommendations undergoing voting <i class="fa fa-exclamation-circle text-warning"></i></h3>
                             <ul class="fa-ul">
                                 {% for recommendation in recommendations.put_to_voting %}
diff --git a/submissions/templates/submissions/pool/recommendation.html b/submissions/templates/submissions/pool/recommendation.html
index e7f703eabbe8dc7d4e39f12660d7deabdcf14255..e4022613693d85d850eb27fe1f8d338c8bf6aad6 100644
--- a/submissions/templates/submissions/pool/recommendation.html
+++ b/submissions/templates/submissions/pool/recommendation.html
@@ -15,6 +15,9 @@
 
 
     {% include 'partials/submissions/submission_title.html' with submission=recommendation.submission %}
+
+    <a class="d-inline-block mb-3" href="{{ recommendation.submission.get_absolute_url }}" target="_blank">View Reports and Submission details</a>
+
     {% include 'partials/submissions/pool/submission_info_table.html' with submission=recommendation.submission %}
     <br>
 
diff --git a/submissions/urls.py b/submissions/urls.py
index 139dc2528b6f002e32a1789830ee8492c9d0bf4d..c840e1c0d843ce035b1e2134e1082037d70576aa 100644
--- a/submissions/urls.py
+++ b/submissions/urls.py
@@ -51,8 +51,6 @@ urlpatterns = [
     # Assignment of Editor-in-charge
     url(r'^assign_submission/{regex}$'.format(regex=SUBMISSIONS_COMPLETE_REGEX),
         views.assign_submission, name='assign_submission'),
-    url(r'^assign_submission_ack/{regex}$'.format(regex=SUBMISSIONS_COMPLETE_REGEX),
-        views.assign_submission_ack, name='assign_submission_ack'),
     url(r'^pool/assignment_request/(?P<assignment_id>[0-9]+)$',
         views.assignment_request, name='assignment_request'),
     url(r'^volunteer_as_EIC/{regex}$'.format(regex=SUBMISSIONS_COMPLETE_REGEX),
diff --git a/submissions/views.py b/submissions/views.py
index 5ab6f37ae2b273c31938240a2377223c3133d83f..ca61186bf2d3666eb0ef21c3a68a80624206198b 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -27,7 +27,7 @@ from .models import Submission, EICRecommendation, EditorialAssignment,\
                     RefereeInvitation, Report, SubmissionEvent
 from .mixins import SubmissionAdminViewMixin
 from .forms import SubmissionIdentifierForm, RequestSubmissionForm, SubmissionSearchForm,\
-                   RecommendationVoteForm, ConsiderAssignmentForm, AssignSubmissionForm,\
+                   RecommendationVoteForm, ConsiderAssignmentForm, EditorialAssignmentForm,\
                    SetRefereeingDeadlineForm, RefereeSelectForm, RefereeRecruitmentForm,\
                    ConsiderRefereeInvitationForm, EditorialCommunicationForm,\
                    EICRecommendationForm, ReportForm, VetReportForm, VotingEligibilityForm,\
@@ -428,48 +428,25 @@ def add_remark(request, arxiv_identifier_w_vn_nr):
 @login_required
 @permission_required('scipost.can_assign_submissions', raise_exception=True)
 def assign_submission(request, arxiv_identifier_w_vn_nr):
-    """
-    Assign Editor-in-charge to Submission.
-    Action done by SciPost Administration or Editorial College Administration.
-    """
-    submission_to_assign = get_object_or_404(Submission.objects.pool_editable(request.user),
-                                             arxiv_identifier_w_vn_nr=arxiv_identifier_w_vn_nr)
-    form = AssignSubmissionForm(discipline=submission_to_assign.discipline)
-    context = {'submission_to_assign': submission_to_assign,
-               'form': form}
-    return render(request, 'submissions/assign_submission.html', context)
-
-
-@login_required
-@permission_required('scipost.can_assign_submissions', raise_exception=True)
-def assign_submission_ack(request, arxiv_identifier_w_vn_nr):
     """
     Assign Editor-in-charge to Submission.
     Action done by SciPost Administration or Editorial College Administration.
     """
     submission = get_object_or_404(Submission.objects.pool_editable(request.user),
                                    arxiv_identifier_w_vn_nr=arxiv_identifier_w_vn_nr)
-    if request.method == 'POST':
-        form = AssignSubmissionForm(request.POST, discipline=submission.discipline)
-        if form.is_valid():
-            suggested_editor_in_charge = form.cleaned_data['editor_in_charge']
-            # TODO: check for possible co-authorships, disqualifying this suggested EIC
-            if not suggested_editor_in_charge.is_currently_available:
-                errormessage = ('This Fellow is marked as currently unavailable. '
-                                'Please go back and select another one.')
-                return render(request, 'scipost/error.html', {'errormessage': errormessage})
-            ed_assignment = EditorialAssignment(submission=submission,
-                                                to=suggested_editor_in_charge,
-                                                date_created=timezone.now())
-            ed_assignment.save()
-            SubmissionUtils.load({'assignment': ed_assignment})
-            SubmissionUtils.send_assignment_request_email()
-
-    context = {'ack_header': 'Your assignment request has been sent successfully.',
-               'followup_message': 'Return to the ',
-               'followup_link': reverse('submissions:pool'),
-               'followup_link_label': 'Submissions pool'}
-    return render(request, 'scipost/acknowledgement.html', context)
+    form = EditorialAssignmentForm(request.POST or None, submission=submission)
+
+    if form.is_valid():
+        ed_assignment = form.save()
+        SubmissionUtils.load({'assignment': ed_assignment})
+        SubmissionUtils.send_assignment_request_email()
+        messages.success(request, 'Your assignment request has been sent successfully.')
+        return redirect('submissions:pool')
+    context = {
+        'submission_to_assign': submission,
+        'form': form
+    }
+    return render(request, 'submissions/assign_submission.html', context)
 
 
 @login_required