From 0a8a30c8938d4bd2bb41f0237ca904703f305ab6 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Mon, 23 Sep 2019 22:07:46 +0200
Subject: [PATCH] Overhaul set of disciplines: cover all fields of science

---
 .../migrations/0009_auto_20190923_2101.py     |  18 +++
 .../migrations/0076_auto_20190923_2101.py     |  23 +++
 journals/templatetags/journals_extras.py      |   5 +
 .../migrations/0025_auto_20190923_2101.py     |  18 +++
 scipost/constants.py                          | 133 +++++++++++++++++-
 scipost/migrations/0029_auto_20190923_2101.py |  18 +++
 scipost/templates/scipost/navbar.html         |  40 ++++--
 .../migrations/0062_auto_20190923_2101.py     |  18 +++
 theses/migrations/0006_auto_20190923_2101.py  |  18 +++
 9 files changed, 272 insertions(+), 19 deletions(-)
 create mode 100644 commentaries/migrations/0009_auto_20190923_2101.py
 create mode 100644 journals/migrations/0076_auto_20190923_2101.py
 create mode 100644 profiles/migrations/0025_auto_20190923_2101.py
 create mode 100644 scipost/migrations/0029_auto_20190923_2101.py
 create mode 100644 submissions/migrations/0062_auto_20190923_2101.py
 create mode 100644 theses/migrations/0006_auto_20190923_2101.py

diff --git a/commentaries/migrations/0009_auto_20190923_2101.py b/commentaries/migrations/0009_auto_20190923_2101.py
new file mode 100644
index 000000000..51be4037c
--- /dev/null
+++ b/commentaries/migrations/0009_auto_20190923_2101.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('commentaries', '0008_remove_commentary_domain'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='commentary',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20),
+        ),
+    ]
diff --git a/journals/migrations/0076_auto_20190923_2101.py b/journals/migrations/0076_auto_20190923_2101.py
new file mode 100644
index 000000000..7b988031c
--- /dev/null
+++ b/journals/migrations/0076_auto_20190923_2101.py
@@ -0,0 +1,23 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('journals', '0075_journal_discipline'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='journal',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20),
+        ),
+        migrations.AlterField(
+            model_name='publication',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20),
+        ),
+    ]
diff --git a/journals/templatetags/journals_extras.py b/journals/templatetags/journals_extras.py
index ce3392897..d045a8dc0 100644
--- a/journals/templatetags/journals_extras.py
+++ b/journals/templatetags/journals_extras.py
@@ -9,6 +9,11 @@ from journals.helpers import paper_nr_string
 register = template.Library()
 
 
+@register.filter(name='in_discipline')
+def in_discipline(journals, discipline):
+    return journals.filter(discipline=discipline)
+
+
 @register.filter(name='paper_nr_string_filter')
 def paper_nr_string_filter(nr):
     return paper_nr_string(nr)
diff --git a/profiles/migrations/0025_auto_20190923_2101.py b/profiles/migrations/0025_auto_20190923_2101.py
new file mode 100644
index 000000000..0887be628
--- /dev/null
+++ b/profiles/migrations/0025_auto_20190923_2101.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0024_auto_20190522_1120'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='profile',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20, verbose_name='Main discipline'),
+        ),
+    ]
diff --git a/scipost/constants.py b/scipost/constants.py
index d892bc716..0500c71a3 100644
--- a/scipost/constants.py
+++ b/scipost/constants.py
@@ -2,20 +2,139 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
 __license__ = "AGPL v3"
 
 
+DISCIPLINE_MULTI_ALL = 'multidisciplinary'
+
+DISCIPLINE_MULTI_FORMAL = 'multidiscip-formal'
+DISCIPLINE_MATHEMATICS = 'mathematics'
+DISCIPLINE_COMPUTERSCIENCE = 'computerscience'
+
+DISCIPLINE_MULTI_NATURAL = 'multidiscip-natural'
 DISCIPLINE_PHYSICS = 'physics'
+DISCIPLINE_ASTRONOMY = 'astronomy'
 DISCIPLINE_ASTROPHYSICS = 'astrophysics'
+DISCIPLINE_BIOLOGY = 'biology'
 DISCIPLINE_CHEMISTRY = 'chemistry'
-DISCIPLINE_MATHEMATICS = 'mathematics'
-DISCIPLINE_COMPUTERSCIENCE = 'computerscience'
+DISCIPLINE_EARTHSCIENCE = 'earthscience' 'Earth and Environmental Sciences'
+
+DISCIPLINE_ENGINEERING_MULTI = 'multidiscip-eng'
+DISCIPLINE_CIVILENGINEERING = 'civileng'
+DISCIPLINE_ELECTRICALENGINEERING = 'electricaleng'
+DISCIPLINE_MECHANICALENGINEERING = 'mechanicaleng'
+DISCIPLINE_CHEMICALENGINEERING = 'chemicaleng'
+DISCIPLINE_MATERIALSENGINEERING = 'materialseng'
+DISCIPLINE_MEDICALENGINEERING = 'medicaleng'
+DISCIPLINE_ENVIRONMENTALENGINEERING = 'environmentaleng'
+DISCIPLINE_INDUSTRIALENGINEERING = 'industrialeng'
+
+DISCIPLINE_MEDICAL_MULTI = 'multidiscip-med'
+DISCIPLINE_MEDICINE = 'medicine'
+DISCIPLINE_CLINICAL = 'clinical' 'Clinical Medicine'
+DISCIPLINE_HEALTH = 'health' 'Health Sciences'
+
+DISCIPLINE_AGRICULTURAL_MULTI = 'multidiscip-agri'
+DISCIPLINE_AGRICULTURAL = 'agricultural' 'Agriculture, Forestry and Fisheries'
+DISCIPLINE_VETERINARY = 'veterinary'
+
+DISCIPLINE_MULTI_SOCIAL = 'multidiscip-social'
+DISCIPLINE_ECONOMICS = 'economics'
+DISCIPLINE_GEOGRAPHY = 'geography'
+DISCIPLINE_LAW = 'law'
+DISCIPLINE_MEDIA = 'media'
+DISCIPLINE_PEDAGOGY = 'pedagogy'
+DISCIPLINE_POLITICALSCIENCE = 'politicalscience'
+DISCIPLINE_PSYCHOLOGY = 'psychology'
+DISCIPLINE_SOCIOLOGY = 'sociology'
+
+DISCIPLINE_MULTI_HUMANITIES = 'multidiscip-hum'
+DISCIPLINE_ART = 'art' 'Art (arts, history or arts, performing arts, music)'
+DISCIPLINE_HISTORY = 'history' 'History and Archeology'
+DISCIPLINE_LITERATURE = 'literature' 'Language and Literature'
+DISCIPLINE_PHILOSOPHY = 'philosophy' 'Philosophy, Ethics and Religion'
+
+
+# This classification more or less follows the document
+# DSTI/EAS/STP/NESTI(2006)19/FINAL from 2007-02-26
+# Working Party of National Experts on Science and Technology Indicators
+# REVISED FIELD OF SCIENCE AND TECHNOLOGY (FOS) CLASSIFICATION IN THE FRASCATI MANUAL
 SCIPOST_DISCIPLINES = (
-    (DISCIPLINE_PHYSICS, 'Physics'),
-    (DISCIPLINE_ASTROPHYSICS, 'Astrophysics'),
-    (DISCIPLINE_CHEMISTRY, 'Chemistry'),
-    (DISCIPLINE_MATHEMATICS, 'Mathematics'),
-    (DISCIPLINE_COMPUTERSCIENCE, 'Computer Science'),
+    ('Multidisciplinary',
+     (
+         (DISCIPLINE_MULTI_ALL, 'Multidisciplinary (any combination)'),
+         # (DISCIPLINE_MULTI_FORMAL, 'Multidisciplinary (within Formal Sciences)'),
+         # (DISCIPLINE_MULTI_NATURAL, 'Multidisciplinary (within Natural Sciences)'),
+         # (DISCIPLINE_ENGINEERING_MULTI, 'Multidisciplinary (within Engineering and Technology)'),
+         # (DISCIPLINE_MEDICAL_MULTI, 'Multidisciplinary (within Medical Sciences)'),
+         # (DISCIPLINE_AGRICULTURAL_MULTI, 'Multidisciplinary (within Agricultural Sciences)'),
+         # (DISCIPLINE_MULTI_SOCIAL, 'Multidisciplinary (within Social Sciences)'),
+         # (DISCIPLINE_MULTI_HUMANITIES, 'Multidisciplinary (within Humanities)'),
+     )
+    ),
+    ('Formal Sciences',
+     (
+         (DISCIPLINE_MATHEMATICS, 'Mathematics'),
+         (DISCIPLINE_COMPUTERSCIENCE, 'Computer Science'),
+     )
+    ),
+    ('Natural Sciences',
+     (
+         (DISCIPLINE_PHYSICS, 'Physics'),
+         (DISCIPLINE_ASTRONOMY, 'Astronomy'),
+         (DISCIPLINE_ASTROPHYSICS, 'Astrophysics'),
+         (DISCIPLINE_BIOLOGY, 'Biology'),
+         (DISCIPLINE_CHEMISTRY, 'Chemistry'),
+         (DISCIPLINE_EARTHSCIENCE, 'Earth and Environmental Sciences'),
+     )
+    ),
+    ('Engineering',
+     (
+         (DISCIPLINE_CIVILENGINEERING, 'Civil Engineering'),
+         (DISCIPLINE_ELECTRICALENGINEERING, 'Electrical Engineering'),
+         (DISCIPLINE_MECHANICALENGINEERING, 'Mechanical Engineering'),
+         (DISCIPLINE_CHEMICALENGINEERING, 'Chemical Engineering'),
+         (DISCIPLINE_MATERIALSENGINEERING, 'Materials Engineering'),
+         (DISCIPLINE_MEDICALENGINEERING, 'Medical Engineering'),
+         (DISCIPLINE_ENVIRONMENTALENGINEERING, 'Environmental Engineering'),
+         (DISCIPLINE_INDUSTRIALENGINEERING, 'Industrial Engineering'),
+     )
+    ),
+    ('Medical Sciences',
+     (
+         (DISCIPLINE_MEDICINE, 'Basic Medicine'),
+         (DISCIPLINE_CLINICAL, 'Clinical Medicine'),
+         (DISCIPLINE_HEALTH, 'Health Sciences'),
+     )
+    ),
+    ('Agricultural Sciences',
+     (
+         (DISCIPLINE_AGRICULTURAL, 'Agriculture, Forestry and Fisheries'),
+         (DISCIPLINE_VETERINARY, 'Veterinary Science'),
+     )
+    ),
+    ('Social Sciences',
+     (
+         (DISCIPLINE_ECONOMICS, 'Economics'),
+         (DISCIPLINE_GEOGRAPHY, 'Geography'),
+         (DISCIPLINE_LAW, 'Law'),
+         (DISCIPLINE_MEDIA, 'Media and Communications'),
+         (DISCIPLINE_PEDAGOGY, 'Pedagogy and Educational Sciences'),
+         (DISCIPLINE_POLITICALSCIENCE, 'Political Science'),
+         (DISCIPLINE_PSYCHOLOGY, 'Psychology'),
+         (DISCIPLINE_SOCIOLOGY, 'Sociology'),
+     )
+    ),
+    ('Humanities',
+     (
+         (DISCIPLINE_ART, 'Art (arts, history or arts, performing arts, music)'),
+         (DISCIPLINE_HISTORY, 'History and Archeology'),
+         (DISCIPLINE_LITERATURE, 'Language and Literature'),
+         (DISCIPLINE_PHILOSOPHY, 'Philosophy, Ethics and Religion'),
+     )
+    )
 )
 
 
+# The subject areas should use the long version of the discipline as first tuple item
+# for each element in the list (so 'Physics' and not 'physics', etc).
 SCIPOST_SUBJECT_AREAS = (
     ('Physics', (
         ('Phys:AE', 'Atomic, Molecular and Optical Physics - Experiment'),
diff --git a/scipost/migrations/0029_auto_20190923_2101.py b/scipost/migrations/0029_auto_20190923_2101.py
new file mode 100644
index 000000000..06d60882d
--- /dev/null
+++ b/scipost/migrations/0029_auto_20190923_2101.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('scipost', '0028_auto_20190827_2023'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='contributor',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20, verbose_name='Main discipline'),
+        ),
+    ]
diff --git a/scipost/templates/scipost/navbar.html b/scipost/templates/scipost/navbar.html
index 35fb66c3c..c82cb8d56 100644
--- a/scipost/templates/scipost/navbar.html
+++ b/scipost/templates/scipost/navbar.html
@@ -2,6 +2,7 @@
 {% load staticfiles %}
 {% load notifications_tags %}
 {% load scipost_extras %}
+{% load journals_extras %}
 {% load user_groups %}
 
 {% is_editorial_college request.user as is_editorial_college %}
@@ -42,23 +43,38 @@
 	    {% for discipline in disciplines %}
 	      <div class="row">
 		<div class="col-md-4">
-		  <span class="dropdown-time dropdown-headline"><strong>{{ discipline.1 }}</strong></span>
+		  <strong>{{ discipline.0 }}</strong>
 		</div>
 		<div class="col-md-8">
-		  {% for journal in journals %}
-		    {% if journal.discipline == discipline.0 %}
-		      {% if journal.active %}
-			<div class="dropdown-item">
-			  <a href="{{ journal.get_absolute_url }}">{{ journal.name }}</a>
-			  &nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>
+		  {% for subdiscipline in discipline.1 %}
+		    {% with journals|in_discipline:subdiscipline.0 as journals_subdisc %}
+		    {% if journals_subdisc|length > 0 %}
+		      <div class="row">
+			<div class="col-md-4">
+			  <span class="dropdown-item dropdown-headline">{{ subdiscipline.1 }}</span>
 			</div>
-		      {% elif perms.scipost.can_view_pool %}
-			<div class="dropdown-item">
-			  <a href="{% url 'journal:about' journal.doi_label %}">{{ journal.name }}</a>
-			  &nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>
+			<div class="col-md-8">
+			  {% for journal in journals_subdisc %}
+			    {% if journal.active %}
+			      <div class="dropdown-item">
+				<a href="{{ journal.get_absolute_url }}">{{ journal.name }}</a>
+				&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>
+			      </div>
+			    {% elif perms.scipost.can_view_pool %}
+			      <div class="dropdown-item">
+				<a href="{% url 'journal:about' journal.doi_label %}">{{ journal.name }}</a>
+				&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>
+			      </div>
+			    {% endif %}
+			  {% endfor %}
 			</div>
-		      {% endif %}
+		      </div>
 		    {% endif %}
+		    {% endwith %}
+		  {% empty %}
+		    <div class="dropdown-item">
+		      <em class="warning">No journal yet!</em>
+		    </div>
 		  {% endfor %}
 		</div>
 	      </div>
diff --git a/submissions/migrations/0062_auto_20190923_2101.py b/submissions/migrations/0062_auto_20190923_2101.py
new file mode 100644
index 000000000..a93a5e5a0
--- /dev/null
+++ b/submissions/migrations/0062_auto_20190923_2101.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('submissions', '0061_remove_submission_domain'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='submission',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20),
+        ),
+    ]
diff --git a/theses/migrations/0006_auto_20190923_2101.py b/theses/migrations/0006_auto_20190923_2101.py
new file mode 100644
index 000000000..9940504fb
--- /dev/null
+++ b/theses/migrations/0006_auto_20190923_2101.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.8 on 2019-09-23 19:01
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('theses', '0005_remove_thesislink_domain'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='thesislink',
+            name='discipline',
+            field=models.CharField(choices=[('Multidisciplinary', (('multidisciplinary', 'Multidisciplinary (any combination)'),)), ('Formal Sciences', (('mathematics', 'Mathematics'), ('computerscience', 'Computer Science'))), ('Natural Sciences', (('physics', 'Physics'), ('astronomy', 'Astronomy'), ('astrophysics', 'Astrophysics'), ('biology', 'Biology'), ('chemistry', 'Chemistry'), ('earthscienceEarth and Environmental Sciences', 'Earth and Environmental Sciences'))), ('Engineering', (('civileng', 'Civil Engineering'), ('electricaleng', 'Electrical Engineering'), ('mechanicaleng', 'Mechanical Engineering'), ('chemicaleng', 'Chemical Engineering'), ('materialseng', 'Materials Engineering'), ('medicaleng', 'Medical Engineering'), ('environmentaleng', 'Environmental Engineering'), ('industrialeng', 'Industrial Engineering'))), ('Medical Sciences', (('medicine', 'Basic Medicine'), ('clinicalClinical Medicine', 'Clinical Medicine'), ('healthHealth Sciences', 'Health Sciences'))), ('Agricultural Sciences', (('agriculturalAgriculture, Forestry and Fisheries', 'Agriculture, Forestry and Fisheries'), ('veterinary', 'Veterinary Science'))), ('Social Sciences', (('economics', 'Economics'), ('geography', 'Geography'), ('law', 'Law'), ('media', 'Media and Communications'), ('pedagogy', 'Pedagogy and Educational Sciences'), ('politicalscience', 'Political Science'), ('psychology', 'Psychology'), ('sociology', 'Sociology'))), ('Humanities', (('artArt (arts, history or arts, performing arts, music)', 'Art (arts, history or arts, performing arts, music)'), ('historyHistory and Archeology', 'History and Archeology'), ('literatureLanguage and Literature', 'Language and Literature'), ('philosophyPhilosophy, Ethics and Religion', 'Philosophy, Ethics and Religion')))], default='physics', max_length=20),
+        ),
+    ]
-- 
GitLab