diff --git a/journals/templatetags/lookup.py b/journals/templatetags/lookup.py
index e262a10bf1911590174b222822388bf899d160bd..bdfeb24b0ce148daab9e22cc133a37abf5e7cc2a 100644
--- a/journals/templatetags/lookup.py
+++ b/journals/templatetags/lookup.py
@@ -21,3 +21,11 @@ class PublicationLookup(LookupChannel):
         return u"%s (%s)<br><span class='text-muted'>by %s</span>" % (item.title,
                                                                       item.doi_string,
                                                                       item.author_list)
+
+    def check_auth(self, request):
+        """
+        Check if current user has required permissions.
+        Right now only used for draft registration invitations. May be extended in the
+        future for other purposes as well.
+        """
+        return request.user.has_perm('can_draft_registration_invitations')
diff --git a/scipost/forms.py b/scipost/forms.py
index 01da3591d7c282e1593f1170260ffd1191a09c72..0b7bb73ef229655d7483e8dd890d0126d42c6c58 100644
--- a/scipost/forms.py
+++ b/scipost/forms.py
@@ -215,7 +215,7 @@ class VetRegistrationForm(forms.Form):
                                            label='Justification (optional)', required=False)
 
     def promote_to_registered_contributor(self):
-        return bool(self.cleaned_data.get('decision', False))
+        return self.cleaned_data.get('decision') == 'True'
 
 
 class AuthenticationForm(forms.Form):
diff --git a/scipost/migrations/0039_auto_20170306_0804.py b/scipost/migrations/0039_auto_20170306_0804.py
index 49894a205825fdbe083d86f688b835138d7516ce..5be053234821f984b1ce69eb6092d7f2c324d784 100644
--- a/scipost/migrations/0039_auto_20170306_0804.py
+++ b/scipost/migrations/0039_auto_20170306_0804.py
@@ -12,87 +12,7 @@ class Migration(migrations.Migration):
         ('scipost', '0038_nomination_webpage'),
     ]
 
-    state_operations = [
-        migrations.RemoveField(
-            model_name='feedback',
-            name='VGM',
-        ),
-        migrations.RemoveField(
-            model_name='feedback',
-            name='by',
-        ),
-        migrations.RemoveField(
-            model_name='motion',
-            name='VGM',
-        ),
-        migrations.RemoveField(
-            model_name='motion',
-            name='in_agreement',
-        ),
-        migrations.RemoveField(
-            model_name='motion',
-            name='in_disagreement',
-        ),
-        migrations.RemoveField(
-            model_name='motion',
-            name='in_notsure',
-        ),
-        migrations.RemoveField(
-            model_name='motion',
-            name='put_forward_by',
-        ),
-        migrations.DeleteModel(
-            name='NewsItem',
-        ),
-        migrations.RemoveField(
-            model_name='nomination',
-            name='VGM',
-        ),
-        migrations.RemoveField(
-            model_name='nomination',
-            name='by',
-        ),
-        migrations.RemoveField(
-            model_name='nomination',
-            name='in_agreement',
-        ),
-        migrations.RemoveField(
-            model_name='nomination',
-            name='in_disagreement',
-        ),
-        migrations.RemoveField(
-            model_name='nomination',
-            name='in_notsure',
-        ),
-        migrations.AlterField(
-            model_name='remark',
-            name='feedback',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Feedback'),
-        ),
-        migrations.AlterField(
-            model_name='remark',
-            name='motion',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Motion'),
-        ),
-        migrations.AlterField(
-            model_name='remark',
-            name='nomination',
-            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Nomination'),
-        ),
-        migrations.DeleteModel(
-            name='Feedback',
-        ),
-        migrations.DeleteModel(
-            name='Motion',
-        ),
-        migrations.DeleteModel(
-            name='Nomination',
-        ),
-        migrations.DeleteModel(
-            name='VGM',
-        ),
-    ]
-
     operations = [
-        migrations.SeparateDatabaseAndState(state_operations=state_operations)
+        # I'm in a vacuum state.
+        # Please don't remove me though...
     ]
diff --git a/scipost/migrations/0051_auto_20170504_1359.py b/scipost/migrations/0051_auto_20170504_1359.py
new file mode 100644
index 0000000000000000000000000000000000000000..93ec6c4eec19c94aa37fb011b5ae9955b2a4a640
--- /dev/null
+++ b/scipost/migrations/0051_auto_20170504_1359.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.3 on 2017-05-04 11:59
+from __future__ import unicode_literals
+
+from django.db import migrations
+from django.db.migrations.exceptions import InvalidMigrationPlan
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('scipost', '0050_auto_20170416_2152'),
+    ]
+
+    operations = [
+        migrations.AlterModelTable(
+            name='Feedback',
+            table='scipost_feedback',
+        ),
+        migrations.AlterModelTable(
+            name='Motion',
+            table='scipost_motion',
+        ),
+        migrations.AlterModelTable(
+            name='Nomination',
+            table='scipost_nomination',
+        ),
+        migrations.AlterModelTable(
+            name='VGM',
+            table='scipost_vgm',
+        ),
+        migrations.RemoveField(
+            model_name='remark',
+            name='feedback',
+        ),
+        migrations.RemoveField(
+            model_name='remark',
+            name='motion',
+        ),
+        migrations.RemoveField(
+            model_name='remark',
+            name='nomination',
+        ),
+    ]
+
+    def apply(self, *args, **kwargs):
+        '''Forward apply the migration only if user explictly accepts the migration.'''
+        print('\n\nDue to earlier migration issues, this migration will remove the Remark foreignkey'
+              ' data to `Feedback`, `Motion` and `Nomination`. Please make a backup to'
+              ' be able to *manually* fix the relations afterwards.')
+        go_ahead = input(' Do you want to continue? [y/N] ')
+        if go_ahead == 'y':
+            return super().apply(*args, **kwargs)
+        else:
+            raise InvalidMigrationPlan
diff --git a/scipost/migrations/0052_auto_20170504_1404.py b/scipost/migrations/0052_auto_20170504_1404.py
new file mode 100644
index 0000000000000000000000000000000000000000..26c68461e6c393076e79a580f481ec0d7395c420
--- /dev/null
+++ b/scipost/migrations/0052_auto_20170504_1404.py
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.3 on 2017-05-04 12:04
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('scipost', '0051_auto_20170504_1359'),
+    ]
+
+    database_operations = [
+        migrations.AlterModelTable('Motion', 'virtualmeetings_motion'),
+        migrations.AlterModelTable('Feedback', 'virtualmeetings_feedback'),
+        migrations.AlterModelTable('Nomination', 'virtualmeetings_nomination'),
+        migrations.AlterModelTable('VGM', 'virtualmeetings_vgm'),
+        migrations.AlterField(
+            model_name='motion',
+            name='VGM',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.VGM'),
+        ),
+        migrations.AlterField(
+            model_name='feedback',
+            name='VGM',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.VGM'),
+        ),
+        migrations.AlterField(
+            model_name='nomination',
+            name='VGM',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.VGM'),
+        ),
+    ]
+
+    state_operations = [
+        migrations.RemoveField(
+            model_name='feedback',
+            name='VGM',
+        ),
+        migrations.RemoveField(
+            model_name='feedback',
+            name='by',
+        ),
+        migrations.RemoveField(
+            model_name='motion',
+            name='VGM',
+        ),
+        migrations.RemoveField(
+            model_name='motion',
+            name='in_agreement',
+        ),
+        migrations.RemoveField(
+            model_name='motion',
+            name='in_disagreement',
+        ),
+        migrations.RemoveField(
+            model_name='motion',
+            name='in_notsure',
+        ),
+        migrations.RemoveField(
+            model_name='motion',
+            name='put_forward_by',
+        ),
+        migrations.RemoveField(
+            model_name='nomination',
+            name='VGM',
+        ),
+        migrations.RemoveField(
+            model_name='nomination',
+            name='by',
+        ),
+        migrations.RemoveField(
+            model_name='nomination',
+            name='in_agreement',
+        ),
+        migrations.RemoveField(
+            model_name='nomination',
+            name='in_disagreement',
+        ),
+        migrations.RemoveField(
+            model_name='nomination',
+            name='in_notsure',
+        ),
+        migrations.DeleteModel('Motion'),
+        migrations.DeleteModel('Feedback'),
+        migrations.DeleteModel('Nomination'),
+        migrations.DeleteModel('VGM')
+    ]
+
+    operations = [
+        migrations.SeparateDatabaseAndState(
+            database_operations=database_operations,
+            state_operations=state_operations)
+    ]
diff --git a/scipost/migrations/0053_auto_20170504_1538.py b/scipost/migrations/0053_auto_20170504_1538.py
new file mode 100644
index 0000000000000000000000000000000000000000..91b9c57bbbc911cce5f2bb81ec9e8b7710e2cda9
--- /dev/null
+++ b/scipost/migrations/0053_auto_20170504_1538.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.3 on 2017-05-04 13:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('virtualmeetings', '0001_initial'),
+        ('scipost', '0052_auto_20170504_1404'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='remark',
+            name='feedback',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Feedback'),
+        ),
+        migrations.AddField(
+            model_name='remark',
+            name='motion',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Motion'),
+        ),
+        migrations.AddField(
+            model_name='remark',
+            name='nomination',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Nomination'),
+        ),
+    ]
diff --git a/scipost/migrations/0054_delete_newsitem.py b/scipost/migrations/0054_delete_newsitem.py
new file mode 100644
index 0000000000000000000000000000000000000000..83bd9bc583e54abc883795124ef5c8bb129a0a01
--- /dev/null
+++ b/scipost/migrations/0054_delete_newsitem.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.3 on 2017-05-04 19:04
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('scipost', '0053_auto_20170504_1538'),
+    ]
+
+    state_operations = [
+        migrations.DeleteModel(
+            name='NewsItem',
+        ),
+    ]
+
+    operations = [
+        migrations.SeparateDatabaseAndState(
+            state_operations=state_operations)
+    ]
diff --git a/scipost/templates/scipost/index.html b/scipost/templates/scipost/index.html
index 696aff8f4f84a389bb1032b836ccb30793721c4c..6ae0ba1ba7ba16059cff84e593d3c10f10501349 100644
--- a/scipost/templates/scipost/index.html
+++ b/scipost/templates/scipost/index.html
@@ -70,7 +70,6 @@
                 <div class="card card-grey">
                     <div class="card-block">
                       <h1 class="card-title mb-0"><a href="{% url 'journals:journals' %}">Latest Submissions</a></h1>
-                      <h4 class="card-subtitle text-muted">A selection of the last submissions</h4>
                       <ul class="list-group list-group-flush">
                           {% for submission in submissions %}
                               <li class="list-group-item">
@@ -85,7 +84,6 @@
                 <div class="card card-grey">
                     <div class="card-block">
                       <h1 class="card-title mb-0"><a href="{% url 'journals:journals' %}">Latest Publications</a></h1>
-                      <h4 class="card-subtitle text-muted">A selection of the last publications</h4>
                       <ul class="list-group list-group-flush">
                           {% for publication in publications %}
                               <li class="list-group-item">
diff --git a/scipost/templates/scipost/personal_page.html b/scipost/templates/scipost/personal_page.html
index 97119aa60fb3085746cf7d6bdbacf21f591e1c31..0fdefd67db08f4abf334fe25cb86c9b37b9239c1 100644
--- a/scipost/templates/scipost/personal_page.html
+++ b/scipost/templates/scipost/personal_page.html
@@ -337,7 +337,7 @@
                                 {% include 'submissions/_refereeing_invitation_card_content.html' with invitation=task %}
                             </li>
                         {% empty %}
-                            <li class="list-group-item"><em>You do not have pending Refereering Tasks</em></li>
+                            <li class="list-group-item"><em>You do not have any pending refereeing task</em></li>
                         {% endfor %}
                         </ul>
                     </div>
diff --git a/submissions/templates/submissions/refereeing_overview.html b/submissions/templates/submissions/refereeing_overview.html
index a7e09c540820a90a020a229f3f8bad204736186a..fcf452bd6193f3df996a4b2a08ccc0f1db01281b 100644
--- a/submissions/templates/submissions/refereeing_overview.html
+++ b/submissions/templates/submissions/refereeing_overview.html
@@ -31,12 +31,13 @@
       <div class="card-block">
 	<h3><a href="{{ submission.get_absolute_url }}">{{ submission.title }}</a></h3>
 	<p>{{ submission.author_list }}</p>
+	<h4>Editor-in-charge: {{ submission.editor_in_charge }}</h4>
 	<h4>Refereeing deadline: {{ submission.reporting_deadline }}</h4>
 	<h4>Refereeing status summary:</h4>
 	{% include 'submissions/_submission_refereeing_status.html' with submission=submission %}
 	<h3 class="mb-2">Detail of refereeing invitations:</h3>
 	{% include 'submissions/_submission_refereeing_invitations.html' with submission=submission invitations=submission.referee_invitations.all %}
-	<a href="{% url 'submissions:communication' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr comtype='StoE' %}">Send a communication to the Editor-in-charge</a>
+	<a href="{% url 'submissions:communication' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr comtype='StoE' %}" target="_blank">Send a communication to the Editor-in-charge</a>
       </div>
     </div>
   </div>
diff --git a/submissions/templatetags/lookup.py b/submissions/templatetags/lookup.py
index 0c73d76071d7ac88453dc094807492ff4f6347f6..803edd8acbd338d2202c2c1666955ac082787673 100644
--- a/submissions/templatetags/lookup.py
+++ b/submissions/templatetags/lookup.py
@@ -20,3 +20,11 @@ class SubmissionLookup(LookupChannel):
     def format_match(self, item):
         '''(HTML) Format item for displaying in the dropdown.'''
         return u"%s<br><span class='text-muted'>by %s</span>" % (item.title, item.author_list)
+
+    def check_auth(self, request):
+        """
+        Check if current user has required permissions.
+        Right now only used for draft registration invitations. May be extended in the
+        future for other purposes as well.
+        """
+        return request.user.has_perm('can_draft_registration_invitations')
diff --git a/submissions/utils.py b/submissions/utils.py
index cc2b18dc5187cead257b2f2b1f582963b3dca43c..d713236f3f2b66dab3fd04300962da4ece33e9a6 100644
--- a/submissions/utils.py
+++ b/submissions/utils.py
@@ -995,6 +995,13 @@ class SubmissionUtils(BaseMailUtil):
                        [cls._context['report'].submission.editor_in_charge.user.email],
                        'Report delivered')
 
+    @classmethod
+    def email_referee_report_delivered(cls):
+        """ Requires loading 'report' attribute. """
+        cls._send_mail(cls, 'report_delivered_referee',
+                       [cls._context['report'].author.user.email],
+                       'Report delivered')
+
     @classmethod
     def acknowledge_report_email(cls):
         """ Requires loading 'report' attribute. """
diff --git a/submissions/views.py b/submissions/views.py
index 387ac0debb92a8bfbbf80734ef0d87d1e22dd4e3..ce94d8f6cecd0b88133cd1c32a4914b707cbaeff 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -1126,6 +1126,7 @@ def submit_report(request, arxiv_identifier_w_vn_nr):
         author.save()
         SubmissionUtils.load({'report': newreport}, request)
         SubmissionUtils.email_EIC_report_delivered()
+        SubmissionUtils.email_referee_report_delivered()
 
         # Why is this session update?
         request.session['arxiv_identifier_w_vn_nr'] = arxiv_identifier_w_vn_nr
diff --git a/templates/email/referee_in_response_to_decision.html b/templates/email/referee_in_response_to_decision.html
index 4e3b8502223fa7402894ea9aa1f935c1923eeae8..bda9d8047d9b26663921017842aba421d7b75274 100644
--- a/templates/email/referee_in_response_to_decision.html
+++ b/templates/email/referee_in_response_to_decision.html
@@ -1,8 +1,9 @@
-Dear {{invitation.referee.get_title_display}} {{invitation.referee.user.last_name}},\n\n
+Dear {{ invitation.referee.get_title_display }} {{ invitation.referee.user.last_name }},\n\n
 
-We hereby confirm your choice to {% if invitation.accepted %}accept{% else %}decline (due to reason: {{invitation.get_refusal_reason_display}}){% endif %} to referee Submission\n\n
+We hereby confirm your choice to {% if invitation.accepted %}accept{% else %}decline (due to reason: {{ invitation.get_refusal_reason_display }}){% endif %} to referee Submission\n\n
 
-{{invitation.submission.title}} by {{invitation.submission.author_list}}\n\n
+{{invitation.submission.title}}\n
+by {{ invitation.submission.author_list }}\n\n
 
 {% if invitation.accepted %}
 We will look forward to receiving your Report by the reporting deadline {{ invitation.submission.reporting_deadline|date:'Y-m-d' }}.\n\n
diff --git a/templates/email/referee_in_response_to_decision_html.html b/templates/email/referee_in_response_to_decision_html.html
index a03d4016d1c678f15ff31952e4213fbf2ad4ff24..b8363b5b524d6dae43ea5b8ac9d27cbc4325bff1 100644
--- a/templates/email/referee_in_response_to_decision_html.html
+++ b/templates/email/referee_in_response_to_decision_html.html
@@ -1,20 +1,23 @@
-<p>Dear {{invitation.referee.get_title_display}} {{invitation.referee.user.last_name}},</p>
+<p>Dear {{ invitation.referee.get_title_display }} {{ invitation.referee.user.last_name }},</p>
 
 <p>
-    We hereby confirm your choice to {% if invitation.accepted %}accept{% else %}decline (due to reason: {{invitation.get_refusal_reason_display}}){% endif %} to referee Submission
+    We hereby confirm your choice to {% if invitation.accepted %}accept{% else %}decline (due to reason: {{ invitation.get_refusal_reason_display }}){% endif %} to referee Submission
 </p>
 <p>
-    "{{invitation.submission.title}} by {{invitation.submission.author_list}}".
+  {{ invitation.submission.title }}
+  <br/>
+  by {{ invitation.submission.author_list }}.
 </p>
 
 <p>
     {% if invitation.accepted %}
     We will look forward to receiving your Report by the reporting deadline {{ invitation.submission.reporting_deadline|date:'Y-m-d' }}.
+    <br/>
     Many thanks for your collaboration,
     {% else %}
     Nonetheless, we thank you very much for considering this refereeing invitation,
     {% endif %}
-    <br>The SciPost Team.
+    <br/>The SciPost Team.
 </p>
 
 {% include 'email/_footer.html' %}
diff --git a/templates/email/referee_response_to_EIC.html b/templates/email/referee_response_to_EIC.html
index ec83b01a926e698efba0718fa1048bee497fc25c..fdc5c1dc553aaf855fbb959bc1d9d1b62b861ede 100644
--- a/templates/email/referee_response_to_EIC.html
+++ b/templates/email/referee_response_to_EIC.html
@@ -1,8 +1,8 @@
-Dear {{invitation.submission.editor_in_charge.get_title_display}} {{invitation.submission.editor_in_charge.user.last_name}},\n\n
+Dear {{ invitation.submission.editor_in_charge.get_title_display }} {{ invitation.submission.editor_in_charge.user.last_name }},\n\n
 
-Referee {% if invitation.referee %}{{invitation.referee.get_title_display}} {{invitation.referee.user.last_name}}{% else %}{{ invitation.title }} {{ invitation.first_name }} {{ invitation.last_name }}{% endif %} has {% if invitation.accepted %}accepted{% else %}declined (due to reason: {{invitation.get_refusal_reason_display}}){% endif %} to referee Submission\n\n
+Referee {% if invitation.referee %}{{ invitation.referee.get_title_display }} {{ invitation.referee.user.last_name }}{% else %}{{ invitation.title }} {{ invitation.first_name }} {{ invitation.last_name }}{% endif %} has {% if invitation.accepted %}accepted{% else %}declined (due to reason: {{ invitation.get_refusal_reason_display }}){% endif %} to referee Submission\n\n
 
-{{invitation.submission.title}} by {{invitation.submission.author_list}}\n\n
+{{ invitation.submission.title }}\n by {{ invitation.submission.author_list }}\n\n
 
 {% if not invitation.accepted %}
 Please invite another referee from the Submission\'s editorial page at https://scipost.org{% url 'submissions:editorial_page' invitation.submission.arxiv_identifier_w_vn_nr %}.\n\n
diff --git a/templates/email/referee_response_to_EIC_html.html b/templates/email/referee_response_to_EIC_html.html
index 2b04551f5d7ca52e502fb3fc40a849a210f24702..f932f38e7a200cd79e0d2ee29674c205d365acd1 100644
--- a/templates/email/referee_response_to_EIC_html.html
+++ b/templates/email/referee_response_to_EIC_html.html
@@ -1,10 +1,12 @@
-<p>Dear {{invitation.submission.editor_in_charge.get_title_display}} {{invitation.submission.editor_in_charge.user.last_name}},</p>
+<p>Dear {{ invitation.submission.editor_in_charge.get_title_display }} {{ invitation.submission.editor_in_charge.user.last_name }},</p>
 
 <p>
-    Referee {% if invitation.referee %}{{invitation.referee.get_title_display}} {{invitation.referee.user.last_name}}{% else %}{{ invitation.title }} {{ invitation.first_name }} {{ invitation.last_name }}{% endif %} has {% if invitation.accepted %}accepted{% else %}declined (due to reason: {{invitation.get_refusal_reason_display}}){% endif %} to referee Submission
+    Referee {% if invitation.referee %}{{ invitation.referee.get_title_display }} {{ invitation.referee.user.last_name }}{% else %}{{ invitation.title }} {{ invitation.first_name }} {{ invitation.last_name }}{% endif %} has {% if invitation.accepted %}accepted{% else %}declined (due to reason: {{ invitation.get_refusal_reason_display }}){% endif %} to referee Submission
 </p>
 <p>
-    "{{invitation.submission.title}} by {{invitation.submission.author_list}}".
+  {{ invitation.submission.title }}
+  <br/>
+  by {{ invitation.submission.author_list }}.
 </p>
 
 {% if not invitation.accepted %}
@@ -14,7 +16,7 @@
 {% endif %}
 
 <p>
-    Many thanks for your collaboration,<br>
+    Many thanks for your collaboration,<br/>
     The SciPost Team.
 </p>
 
diff --git a/templates/email/report_delivered_eic.html b/templates/email/report_delivered_eic.html
index 2bd15d68d595c048d689f63b9fbde35408e68121..fe01130b3d6c39bc41a02242ebecfe67d395da0a 100644
--- a/templates/email/report_delivered_eic.html
+++ b/templates/email/report_delivered_eic.html
@@ -1,11 +1,13 @@
-Dear {{report.submission.editor_in_charge.get_title_display}} {{report.submission.editor_in_charge.user.last_name}},\n\n
+Dear {{ report.submission.editor_in_charge.get_title_display }} {{ report.submission.editor_in_charge.user.last_name }},\n\n
 
-Referee {{report.author.get_title_display}} {{report.author.user.last_name}} has delivered a Report for Submission "{{report.submission.title}} by {{report.submission.author_list}}".
+Referee {{ report.author.get_title_display }} {{ report.author.user.last_name }} has delivered a Report for Submission\n\n
+{{ report.submission.title }}\n
+by {{ report.submission.author_list }}.
 \n\n
 
-Please vet this Report via your personal page under the Editorial Actions tab.\n
-https://scipost.org{% url 'scipost:personal_page' %}
-\n\n\n
+Please vet this Report via your personal page at
+https://scipost.org{% url 'scipost:personal_page' %}, under the Editorial Actions tab.\n
+\n\n
 
 Many thanks in advance for your collaboration,\n
 The SciPost Team.
diff --git a/templates/email/report_delivered_eic_html.html b/templates/email/report_delivered_eic_html.html
index f13181d938b77bb6ecd12fcbbfa27cd6ff41f9f4..11d7d9f82e48e1ca640829b453dd495d531c386f 100644
--- a/templates/email/report_delivered_eic_html.html
+++ b/templates/email/report_delivered_eic_html.html
@@ -1,10 +1,12 @@
-<p>Dear {{report.submission.editor_in_charge.get_title_display}} {{report.submission.editor_in_charge.user.last_name}},</p>
+<p>Dear {{ report.submission.editor_in_charge.get_title_display }} {{ report.submission.editor_in_charge.user.last_name }},</p>
 
 <p>
-    Referee {{report.author.get_title_display}} {{report.author.user.last_name}} has delivered a Report for Submission:
+    Referee {{ report.author.get_title_display }} {{ report.author.user.last_name }} has delivered a Report for Submission:
 </p>
 <p>
-    "{{report.submission.title}} by {{report.submission.author_list}}"
+  {{report.submission.title}}
+  <br/>
+  by {{ report.submission.author_list }}.
 </p>
 <p>
     Please vet this Report via your <a href="https://scipost.org{% url 'scipost:personal_page' %}">personal page</a> under the Editorial Actions tab.
diff --git a/templates/email/report_delivered_referee.html b/templates/email/report_delivered_referee.html
new file mode 100644
index 0000000000000000000000000000000000000000..ecff9be7a20b5597ccc9684b7d849915b8e7a610
--- /dev/null
+++ b/templates/email/report_delivered_referee.html
@@ -0,0 +1,11 @@
+Dear {{ report.author.get_title_display }} {{ report.author.user.last_name }},\n\n
+
+We hereby confirm reception of your Report on Submission\n\n
+
+{{ report.submission.title }}\n
+by {{ report.submission.author_list }}.\n\n
+
+We are immensely grateful for your time and effort. Your Report will soon be vetted by the Submission's Editor-in-charge, at which point you will receive an email update from us.\n\n
+
+Many thanks again,\n
+The SciPost Team.
diff --git a/templates/email/report_delivered_referee_html.html b/templates/email/report_delivered_referee_html.html
new file mode 100644
index 0000000000000000000000000000000000000000..9e50b5f4b9c9063c83433de22bd000034faa27fd
--- /dev/null
+++ b/templates/email/report_delivered_referee_html.html
@@ -0,0 +1,21 @@
+<p>
+  Dear {{ report.author.get_title_display }} {{ report.author.user.last_name }},
+</p>
+
+<p>We hereby confirm reception of your Report on Submission</p>
+
+<p>
+  {{ report.submission.title }}
+  <br/>
+  by {{ report.submission.author_list }}.
+</p>
+
+<p>
+  We are immensely grateful for your time and effort. Your Report will soon be vetted by the Submission's Editor-in-charge, at which point you will receive an email update from us.
+</p>
+
+<p>
+  Many thanks again,
+  <br/>
+  The SciPost Team.
+</p>
diff --git a/virtualmeetings/migrations/0001_initial.py b/virtualmeetings/migrations/0001_initial.py
index 492b8e80ef3a4adc0541c026e15e68618489c93c..cbfb62cfed8e40c068277a0a09361d18fc706735 100644
--- a/virtualmeetings/migrations/0001_initial.py
+++ b/virtualmeetings/migrations/0001_initial.py
@@ -24,10 +24,7 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('date', models.DateField()),
                 ('feedback', models.TextField()),
-            ],
-            options={
-                'db_table': 'scipost_feedback',
-            },
+            ]
         ),
         migrations.CreateModel(
             name='Motion',
@@ -42,10 +39,7 @@ class Migration(migrations.Migration):
                 ('nr_D', models.PositiveIntegerField(default=0)),
                 ('voting_deadline', models.DateTimeField(default=django.utils.timezone.now, verbose_name='voting deadline')),
                 ('accepted', models.NullBooleanField()),
-            ],
-            options={
-                'db_table': 'scipost_motion',
-            },
+            ]
         ),
         migrations.CreateModel(
             name='Nomination',
@@ -62,10 +56,7 @@ class Migration(migrations.Migration):
                 ('nr_D', models.PositiveIntegerField(default=0)),
                 ('voting_deadline', models.DateTimeField(default=django.utils.timezone.now, verbose_name='voting deadline')),
                 ('accepted', models.NullBooleanField()),
-            ],
-            options={
-                'db_table': 'scipost_nomination',
-            },
+            ]
         ),
         migrations.CreateModel(
             name='VGM',
@@ -74,10 +65,7 @@ class Migration(migrations.Migration):
                 ('start_date', models.DateField()),
                 ('end_date', models.DateField()),
                 ('information', models.TextField(default='')),
-            ],
-            options={
-                'db_table': 'scipost_vgm',
-            },
+            ]
         ),
         migrations.AddField(
             model_name='nomination',
diff --git a/virtualmeetings/models.py b/virtualmeetings/models.py
index f78744fc9114cd35791da721d09d57adcbad9778..7e6d9ffcba0993aa1d2ea76f0a79119300b144ce 100644
--- a/virtualmeetings/models.py
+++ b/virtualmeetings/models.py
@@ -21,9 +21,6 @@ class VGM(models.Model):
     end_date = models.DateField()
     information = models.TextField(default='')
 
-    class Meta:
-        db_table = 'scipost_vgm'
-
     def __str__(self):
         return 'From %s to %s' % (self.start_date.strftime('%Y-%m-%d'),
                                   self.end_date.strftime('%Y-%m-%d'))
@@ -33,14 +30,11 @@ class Feedback(models.Model):
     """
     Feedback, suggestion or criticism on any aspect of SciPost.
     """
-    VGM = models.ForeignKey(VGM, blank=True, null=True)
-    by = models.ForeignKey(Contributor)
+    VGM = models.ForeignKey('virtualmeetings.VGM', blank=True, null=True)
+    by = models.ForeignKey('scipost.Contributor')
     date = models.DateField()
     feedback = models.TextField()
 
-    class Meta:
-        db_table = 'scipost_feedback'
-
     def __str__(self):
         return '%s: %s' % (self.by, self.feedback[:50])
 
@@ -61,8 +55,8 @@ class Nomination(models.Model):
     """
     Nomination to an Editorial Fellowship.
     """
-    VGM = models.ForeignKey(VGM, blank=True, null=True)
-    by = models.ForeignKey(Contributor)
+    VGM = models.ForeignKey('virtualmeetings.VGM', blank=True, null=True)
+    by = models.ForeignKey('scipost.Contributor')
     date = models.DateField()
     first_name = models.CharField(max_length=30, default='')
     last_name = models.CharField(max_length=30, default='')
@@ -85,9 +79,6 @@ class Nomination(models.Model):
     voting_deadline = models.DateTimeField('voting deadline', default=timezone.now)
     accepted = models.NullBooleanField()
 
-    class Meta:
-        db_table = 'scipost_nomination'
-
     def __str__(self):
         return '%s %s (nominated by %s)' % (self.first_name,
                                             self.last_name,
@@ -154,27 +145,24 @@ class Motion(models.Model):
     They are meant to be voted on at the annual VGM.
     """
     category = models.CharField(max_length=10, choices=MOTION_CATEGORIES, default='General')
-    VGM = models.ForeignKey(VGM, blank=True, null=True)
+    VGM = models.ForeignKey('virtualmeetings.VGM', blank=True, null=True)
     background = models.TextField()
     motion = models.TextField()
-    put_forward_by = models.ForeignKey(Contributor)
+    put_forward_by = models.ForeignKey('scipost.Contributor')
     date = models.DateField()
     nr_A = models.PositiveIntegerField(default=0)
-    in_agreement = models.ManyToManyField(Contributor,
+    in_agreement = models.ManyToManyField('scipost.Contributor',
                                           related_name='in_agreement_with_motion', blank=True)
     nr_N = models.PositiveIntegerField(default=0)
-    in_notsure = models.ManyToManyField(Contributor,
+    in_notsure = models.ManyToManyField('scipost.Contributor',
                                         related_name='in_notsure_with_motion', blank=True)
     nr_D = models.PositiveIntegerField(default=0)
-    in_disagreement = models.ManyToManyField(Contributor,
+    in_disagreement = models.ManyToManyField('scipost.Contributor',
                                              related_name='in_disagreement_with_motion',
                                              blank=True)
     voting_deadline = models.DateTimeField('voting deadline', default=timezone.now)
     accepted = models.NullBooleanField()
 
-    class Meta:
-        db_table = 'scipost_motion'
-
     def __str__(self):
         return self.motion[:32]