SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit b7aa6543 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Start work on improving submissions

parent 42a958bb
No related branches found
No related tags found
No related merge requests found
......@@ -38,6 +38,7 @@
{% if commentary_search_list %}
<br />
<hr class="hr12">
<h3>Search results:</h3>
<ul>
{% for commentary in commentary_search_list %}
......
......@@ -15,7 +15,7 @@ from ratings.models import *
class SubmissionForm(forms.ModelForm):
class Meta:
model = Submission
fields = ['submitted_to_journal', 'domain', 'specialization', 'title', 'author_list', 'abstract', 'arxiv_link']
fields = ['discipline', 'submitted_to_journal', 'domain', 'specialization', 'title', 'author_list', 'abstract', 'arxiv_link']
def __init__(self, *args, **kwargs):
super(SubmissionForm, self).__init__(*args, **kwargs)
......
......@@ -4,7 +4,7 @@ from django.contrib.auth.models import User
from .models import *
from scipost.models import Contributor
from scipost.models import *
from journals.models import *
......@@ -28,6 +28,7 @@ class Submission(models.Model):
vetted = models.BooleanField(default=False)
editor_in_charge = models.ForeignKey(Contributor, related_name="editor_in_charge", blank=True, null=True) # assigned by Journal Editor
submitted_to_journal = models.CharField(max_length=30, choices=SCIPOST_JOURNALS_SUBMIT, verbose_name="Journal to be submitted to")
discipline = models.CharField(max_length=20, choices=SCIPOST_DISCIPLINES, default='physics')
domain = models.CharField(max_length=3, choices=SCIPOST_JOURNALS_DOMAINS)
specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS)
status = models.SmallIntegerField(choices=SUBMISSION_STATUS) # set by Editors
......
{% extends 'scipost/base.html' %}
{% block pagetitle %}: Submissions{% endblock pagetitle %}
{% block headsup %}
<script type="text/javascript" async src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
{% endblock headsup %}
{% block bodysup %}
<!-- Temporary strip for online version -->
{% if user.is_authenticated %}
<section>
<p id="journalsannounce">OPEN FOR SUBMISSION STARTING 1 MARCH 2016</p>
<br/>
<div class="flex-container">
<div class="flex-greybox320">
<h1>SciPost Submissions</h1>
<h3><a href="{% url 'submissions:submit_manuscript' %}">Submit an arXiv preprint to a SciPost Journal</a></h3>
</div>
<div class="flex-greybox320">
<h2>Search SciPost Submissions:</h2>
<form action="{% url 'submissions:submissions' %}" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" name="Submit" />
</form>
</div>
<div class="flex-greybox320">
<h2>View SciPost Submissions</h2>
<ul>
<li>Physics: last <a href="{% url 'submissions:browse' discipline='physics' nrweeksback=1 %}">week</a> <a href="{% url 'submissions:browse' discipline='physics' nrweeksback=4 %}">month</a> <a href="{% url 'submissions:browse' discipline='physics' nrweeksback=52 %}">year</a> </li>
</ul>
</div>
</div>
{% if submission_list %}
<br />
<h3>Submissions in {{ discipline }} in the last {{ nrweeksback }} weeks:</h3>
<ul>
{% for submission in submission_list %}
<li><a href="{% url 'submissions:submission' submission.id %}">{{ submission.title }}</a> by {{ submission.author_list }} (published {{ submission.submission_date }}) </li>
{% endfor %}
</ul>
{% endif %}
</section>
{% endif %} <!-- Temporary strip -->
{% endblock bodysup %}
......@@ -8,30 +8,37 @@
{% if user.is_authenticated %}
<section>
<div class="flex-greybox">
<h1>SciPost Submissions</h1>
</div>
<br/>
<h3><a href="{% url 'submissions:submit_manuscript' %}">Submit an arXiv preprint to a SciPost Journal</a></h3>
<br/>
<p id="journalsannounce">OPEN FOR SUBMISSION STARTING 1 MARCH 2016</p>
</section>
<section>
<hr class="hr12">
<h2>Search SciPost Submissions:</h2>
<form action="{% url 'submissions:submissions' %}" method="post">
{% csrf_token %}
<table>
<br/>
<div class="flex-container">
<div class="flex-greybox320">
<h1>SciPost Submissions</h1>
<h3><a href="{% url 'submissions:submit_manuscript' %}">Submit an arXiv preprint to a SciPost Journal</a></h3>
</div>
<div class="flex-greybox320">
<h2>Search SciPost Submissions:</h2>
<form action="{% url 'submissions:submissions' %}" method="post">
{% csrf_token %}
<table>
<ul>
{{ form.as_table }}
</ul>
</table>
<input type="submit" name="Submit" />
</form>
</div>
<div class="flex-greybox320">
<h2>View SciPost Submissions</h2>
<ul>
{{ form.as_table }}
<li>Physics: last <a href="{% url 'submissions:browse' discipline='physics' nrweeksback=1 %}">week</a> <a href="{% url 'submissions:browse' discipline='physics' nrweeksb\
ack=4 %}">month</a> <a href="{% url 'submissions:browse' discipline='physics' nrweeksback=52 %}">year</a> </li>
</ul>
</table>
<input type="submit" name="Submit" />
</form>
</div>
</div>
{% if submission_search_list %}
<br />
<hr class="hr12">
<h3>Search results:</h3>
<ul>
{% for submission in submission_search_list %}
......
......@@ -5,6 +5,7 @@ from . import views
urlpatterns = [
# Submissions
url(r'^$', views.submissions, name='submissions'),
url(r'^browse/(?P<discipline>[a-z]+)/(?P<nrweeksback>[0-9]+)/$', views.browse, name='browse'),
url(r'^sub_and_ref_procedure$', views.sub_and_ref_procedure, name='sub_and_ref_procedure'),
url(r'^submission/(?P<submission_id>[0-9]+)/$', views.submission_detail, name='submission'),
url(r'^submit_manuscript$', views.submit_manuscript, name='submit_manuscript'),
......
......@@ -38,6 +38,7 @@ def submit_manuscript(request):
submission = Submission (
submitted_by = submitted_by,
submitted_to_journal = form.cleaned_data['submitted_to_journal'],
discipline = form.cleaned_data['discipline'],
domain = form.cleaned_data['domain'],
specialization = form.cleaned_data['specialization'],
status = '0',
......@@ -109,6 +110,27 @@ def submissions(request):
return render(request, 'submissions/submissions.html', context)
def browse(request, discipline, nrweeksback):
if request.method == 'POST':
form = SubmissionSearchForm(request.POST)
if form.is_valid() and form.has_changed():
submission_search_list = Submission.objects.filter(
title__icontains=form.cleaned_data['title_keyword'],
author_list__icontains=form.cleaned_data['author'],
abstract__icontains=form.cleaned_data['abstract_keyword'],
vetted=True,
)
submission_search_list.order_by('-submission_date')
else:
submission_search_list = []
context = {'form': form, 'submission_search_list': submission_search_list }
return HttpResponseRedirect(request, 'submissions/submissions.html', context)
else:
form = SubmissionSearchForm()
submission_list = Submission.objects.filter(vetted=True, discipline=discipline, latest_activity__gte=timezone.now() + datetime.timedelta(weeks=-int(nrweeksback)))
context = {'form': form, 'discipline': discipline, 'nrweeksback': nrweeksback, 'submission_list': submission_list }
return render(request, 'submissions/browse.html', context)
def submission_detail(request, submission_id):
submission = get_object_or_404(Submission, pk=submission_id)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment