diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 5ff5e6a9ea55399cf327919913699348eee34d57..2b504017332c5958842ce6f5e385ed68f60371fa 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 82cc964c8abcdb3c95596212e56f62622823670f..9de7c0f38e1f089efb45c39a7e8824b3827a63e1 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/doctrees/modules/models.doctree b/docs/_build/doctrees/modules/models.doctree index 5357f423e252b5f59617dc9480bc463237ec1177..e20433445773022400c62eea6b976307ff0c7dbd 100644 Binary files a/docs/_build/doctrees/modules/models.doctree and b/docs/_build/doctrees/modules/models.doctree differ diff --git a/docs/_build/doctrees/modules/views.doctree b/docs/_build/doctrees/modules/views.doctree index e0a3eca4d13f53f5d925e889ef7f91a0154777ae..f261a7ae45fbaa86aa5294b8eb331d7ddd4ca64d 100644 Binary files a/docs/_build/doctrees/modules/views.doctree and b/docs/_build/doctrees/modules/views.doctree differ diff --git a/docs/_build/html/_modules/commentaries/models.html b/docs/_build/html/_modules/commentaries/models.html index 3941d4f3c2cdd9b0c7f83e4f2b23f8759ab7632e..96dd6588bb5180f6c546d4930b3ca4c60ceb5c57 100644 --- a/docs/_build/html/_modules/commentaries/models.html +++ b/docs/_build/html/_modules/commentaries/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -194,7 +196,7 @@ <span class="n">verbose_name_plural</span> <span class="o">=</span> <span class="s1">'Commentaries'</span> - <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span> @@ -239,7 +241,7 @@ <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="k">def</span> <span class="nf">header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="c1"># for display in search lists</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">'scipost_url'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">scipost_url</span><span class="p">(),</span> <span class="s1">'pub_title'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span> <span class="s1">'author_list'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span> @@ -270,13 +272,11 @@ <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="k">def</span> <span class="nf">simple_header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">simple_header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="c1"># for display in Lists</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">'scipost_url'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">scipost_url</span><span class="p">(),</span> <span class="s1">'pub_title'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span> <span class="s1">'author_list'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">})</span> <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<li>'</span> - <span class="c1">#'<div class="flex-container">'</span> - <span class="c1">#'<div class="flex-whitebox0">'</span> <span class="s1">'<p><a href="{{ scipost_url }}" '</span> <span class="s1">'class="pubtitleli">{{ pub_title }}</a></p>'</span> <span class="s1">'<p>by {{ author_list }}'</span><span class="p">)</span> @@ -289,40 +289,28 @@ <span class="n">header</span> <span class="o">+=</span> <span class="s1">', <a href="{{ arxiv_link }}">{{ arxiv_link }}</a>'</span> <span class="n">context</span><span class="p">[</span><span class="s1">'arxiv_link'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span> <span class="n">header</span> <span class="o">+=</span> <span class="s1">'</p>'</span> - <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="c1">#'</div></div>'</span> - <span class="s1">'</li>'</span><span class="p">)</span> + <span class="n">header</span> <span class="o">+=</span> <span class="s1">'</li>'</span> <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span> <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> -<div class="viewcode-block" id="Commentary.parse_links_into_urls"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.parse_links_into_urls">[docs]</a> <span class="k">def</span> <span class="nf">parse_links_into_urls</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> +<div class="viewcode-block" id="Commentary.parse_links_into_urls"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.parse_links_into_urls">[docs]</a> <span class="k">def</span> <span class="nf">parse_links_into_urls</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="sd">""" Takes the arXiv nr or DOI and turns it into the urls """</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span> -<span class="c1"># self.arxiv_or_DOI_string = self.arxiv_or_DOI_string.replace('http://dx.doi.org/', '')</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI_link</span> <span class="o">=</span> <span class="s1">'http://dx.doi.org/'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span><span class="p">:</span> -<span class="c1"># self.arxiv_or_DOI_string = str(self.arxiv_link)</span> -<span class="c1"># # Format required: either identifier arXiv:1234.56789v10 or old-style arXiv:cond-mat/9712001v1</span> -<span class="c1"># # strip:</span> -<span class="c1"># self.arxiv_or_DOI_string = self.arxiv_or_DOI_string.replace('http://', '')</span> -<span class="c1"># # Old style: from arxiv.org/abs/1234.5678 into arXiv:1234.5678 (new identifier style)</span> -<span class="c1"># self.arxiv_or_DOI_string = self.arxiv_or_DOI_string.replace('arxiv.org/', '')</span> -<span class="c1"># self.arxiv_or_DOI_string = self.arxiv_or_DOI_string.replace('abs/', '')</span> -<span class="c1"># self.arxiv_or_DOI_string = self.arxiv_or_DOI_string.replace('pdf/', '')</span> -<span class="c1"># # make sure arXiv prefix is there:</span> -<span class="c1"># self.arxiv_or_DOI_string = 'arXiv:' + self.arxiv_or_DOI_string</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span> <span class="o">=</span> <span class="s1">'arXiv:'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span> <span class="o">=</span> <span class="s1">'http://arxiv.org/abs/'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span> <span class="k">else</span><span class="p">:</span> <span class="c1"># should never come here</span> <span class="k">pass</span> <span class="bp">self</span><span class="o">.</span><span class="n">save</span><span class="p">()</span></div> -<div class="viewcode-block" id="Commentary.scipost_url"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.scipost_url">[docs]</a> <span class="k">def</span> <span class="nf">scipost_url</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> +<div class="viewcode-block" id="Commentary.scipost_url"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.scipost_url">[docs]</a> <span class="k">def</span> <span class="nf">scipost_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="sd">""" Returns the url of the SciPost Commentary Page """</span> <span class="k">return</span> <span class="s1">'/commentary/'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span></div> -<div class="viewcode-block" id="Commentary.scipost_url_full"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.scipost_url_full">[docs]</a> <span class="k">def</span> <span class="nf">scipost_url_full</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> +<div class="viewcode-block" id="Commentary.scipost_url_full"><a class="viewcode-back" href="../../modules/models.html#commentaries.models.Commentary.scipost_url_full">[docs]</a> <span class="k">def</span> <span class="nf">scipost_url_full</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="sd">""" Returns the url of the SciPost Commentary Page """</span> <span class="k">return</span> <span class="s1">'https://scipost.org/commentary/'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span></div></div> </pre></div> diff --git a/docs/_build/html/_modules/commentaries/views.html b/docs/_build/html/_modules/commentaries/views.html index fc65e3fd7c17d0daa122656f31a607550d960268..05dcc5a85cae1ca360a726f29039865d773ffc1c 100644 --- a/docs/_build/html/_modules/commentaries/views.html +++ b/docs/_build/html/_modules/commentaries/views.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -171,38 +173,37 @@ <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">'POST'</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span> <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span> -<span class="c1"># if form.cleaned_data['arxiv_identifier'] is None and form.cleaned_data['pub_DOI'] is None:</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">''</span> <span class="n">existing_commentary</span> <span class="o">=</span> <span class="kc">None</span> - <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">]</span> <span class="o">==</span><span class="s1">''</span> <span class="ow">and</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">''</span><span class="p">:</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">]:</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'You must provide either a DOI (for a published paper) '</span> <span class="s1">'or an arXiv identifier (for a preprint).'</span><span class="p">)</span> - <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">]</span> <span class="o">!=</span><span class="s1">''</span> <span class="ow">and</span> + <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">]</span> <span class="ow">and</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span> <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">())):</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'There already exists a Commentary Page on this preprint, see'</span> <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span> <span class="n">Commentary</span><span class="p">,</span> <span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">])</span> - <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">]</span> <span class="o">!=</span><span class="s1">''</span> <span class="ow">and</span> + <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">pub_DOI</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">()):</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'There already exists a Commentary Page on this publication, see'</span> <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pub_DOI</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_DOI'</span><span class="p">])</span> - <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">''</span><span class="p">:</span> + <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span> <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span> <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">'existing_commentary'</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> - <span class="c1"># otherwise we can create the Commentary</span> + + <span class="c1"># Otherwise we can create the Commentary</span> <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span> <span class="n">commentary</span> <span class="o">=</span> <span class="n">Commentary</span> <span class="p">(</span> <span class="n">requested_by</span> <span class="o">=</span> <span class="n">contributor</span><span class="p">,</span> <span class="nb">type</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'type'</span><span class="p">],</span> <span class="n">discipline</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'discipline'</span><span class="p">],</span> <span class="n">domain</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'domain'</span><span class="p">],</span> -<span class="c1"># specialization = form.cleaned_data['specialization'],</span> <span class="n">subject_area</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'subject_area'</span><span class="p">],</span> <span class="n">pub_title</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'pub_title'</span><span class="p">],</span> <span class="n">arxiv_identifier</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'arxiv_identifier'</span><span class="p">],</span> @@ -218,7 +219,7 @@ <span class="p">)</span> <span class="n">commentary</span><span class="o">.</span><span class="n">parse_links_into_urls</span><span class="p">()</span> <span class="n">commentary</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> -<span class="c1"># return HttpResponseRedirect('request_commentary_ack')</span> + <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'ack_header'</span><span class="p">:</span> <span class="s1">'Thank you for your request for a Commentary Page'</span><span class="p">,</span> <span class="s1">'ack_message'</span><span class="p">:</span> <span class="s1">'Your request will soon be handled by an Editor. '</span><span class="p">,</span> <span class="s1">'followup_message'</span><span class="p">:</span> <span class="s1">'Return to your '</span><span class="p">,</span> @@ -247,13 +248,14 @@ <span class="k">elif</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">pub_DOI</span><span class="o">=</span><span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'doi'</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'There already exists a Commentary Page on this publication, see'</span> <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pub_DOI</span><span class="o">=</span><span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'doi'</span><span class="p">])</span> - <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">''</span><span class="p">:</span> + <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span> <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">'existing_commentary'</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> + <span class="c1"># Otherwise we query Crossref for the information:</span> <span class="k">try</span><span class="p">:</span> <span class="n">queryurl</span> <span class="o">=</span> <span class="s1">'http://api.crossref.org/works/</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'doi'</span><span class="p">]</span> @@ -266,28 +268,31 @@ <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'author'</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span> <span class="n">authorlist</span> <span class="o">+=</span> <span class="s1">', '</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">'given'</span><span class="p">]</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">'family'</span><span class="p">]</span> <span class="n">journal</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'container-title'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> + <span class="k">try</span><span class="p">:</span> <span class="n">volume</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'volume'</span><span class="p">]</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> <span class="n">volume</span> <span class="o">=</span> <span class="s1">''</span> + <span class="n">pages</span> <span class="o">=</span> <span class="s1">''</span> <span class="k">try</span><span class="p">:</span> <span class="n">pages</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'article-number'</span><span class="p">]</span> <span class="c1"># for Phys Rev</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> <span class="k">pass</span> <span class="k">try</span><span class="p">:</span> <span class="n">pages</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'page'</span><span class="p">]</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span> <span class="k">pass</span> + <span class="n">pub_date</span> <span class="o">=</span> <span class="s1">''</span> <span class="k">try</span><span class="p">:</span> <span class="n">pub_date</span> <span class="o">=</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'issued'</span><span class="p">][</span><span class="s1">'date-parts'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="s1">'-'</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'issued'</span><span class="p">][</span><span class="s1">'date-parts'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]))</span> <span class="k">try</span><span class="p">:</span> <span class="n">pub_date</span> <span class="o">+=</span> <span class="s1">'-'</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">'message'</span><span class="p">][</span><span class="s1">'issued'</span><span class="p">][</span><span class="s1">'date-parts'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">2</span><span class="p">])</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span> <span class="k">pass</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span> <span class="k">pass</span> <span class="n">pub_DOI</span> <span class="o">=</span> <span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'doi'</span><span class="p">]</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span> @@ -300,7 +305,7 @@ <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,}</span> <span class="n">context</span><span class="p">[</span><span class="s1">'title'</span><span class="p">]</span> <span class="o">=</span> <span class="n">pub_title</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span> <span class="k">pass</span> <span class="k">else</span><span class="p">:</span> <span class="k">pass</span> @@ -327,7 +332,7 @@ <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'There already exists a Commentary Page on this preprint, see'</span> <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span> <span class="n">Commentary</span><span class="p">,</span> <span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'identifier'</span><span class="p">])</span> - <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">''</span><span class="p">:</span> + <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span> <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> @@ -339,26 +344,29 @@ <span class="n">queryurl</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'http://export.arxiv.org/api/query?id_list=</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'identifier'</span><span class="p">])</span> <span class="n">arxivquery</span> <span class="o">=</span> <span class="n">feedparser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span> + <span class="c1"># If paper has been published, should comment on published version</span> <span class="k">try</span><span class="p">:</span> <span class="n">arxiv_journal_ref</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">'entries'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">'arxiv_journal_ref'</span><span class="p">]</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'This paper has been published as '</span> <span class="o">+</span> <span class="n">arxiv_journal_ref</span> <span class="o">+</span> <span class="s1">'. Please comment on the published version.'</span><span class="p">)</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span> <span class="k">pass</span> <span class="k">try</span><span class="p">:</span> <span class="n">arxiv_doi</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">'entries'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">'arxiv_doi'</span><span class="p">]</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'This paper has been published under DOI '</span> <span class="o">+</span> <span class="n">arxiv_DOI</span> <span class="o">+</span> <span class="s1">'. Please comment on the published version.'</span><span class="p">)</span> - <span class="k">except</span><span class="p">:</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span> <span class="k">pass</span> - <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">''</span><span class="p">:</span> + + <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span> <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">'existing_commentary'</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> + <span class="c1"># otherwise prefill the form:</span> <span class="n">metadata</span> <span class="o">=</span> <span class="n">arxivquery</span> <span class="n">pub_title</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">'entries'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">'title'</span><span class="p">]</span> @@ -376,7 +384,7 @@ <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'doiform'</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">'identifierform'</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">}</span> <span class="n">context</span><span class="p">[</span><span class="s1">'title'</span><span class="p">]</span> <span class="o">=</span> <span class="n">pub_title</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> - <span class="k">except</span><span class="p">:</span> <span class="c1"># something went wrong with processing the arXiv data</span> + <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span> <span class="c1"># something went wrong with processing the arXiv data</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'An error occurred while processing the arXiv data. Are you sure this identifier exists?'</span> <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span> <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span> @@ -384,7 +392,6 @@ <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">'existing_commentary'</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/request_commentary.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> -<span class="c1"># pass</span> <span class="k">else</span><span class="p">:</span> <span class="k">pass</span> <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">'commentaries:request_commentary'</span><span class="p">))</span></div> @@ -470,8 +477,6 @@ <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="n">commentary</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span> - <span class="c1">#context = {'commentary_id': commentary_id }</span> - <span class="c1">#return render(request, 'commentaries/vet_commentary_request_ack.html', context)</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'ack_header'</span><span class="p">:</span> <span class="s1">'SciPost Commentary request vetted.'</span><span class="p">,</span> <span class="s1">'followup_message'</span><span class="p">:</span> <span class="s1">'Return to the '</span><span class="p">,</span> <span class="s1">'followup_link'</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">'commentaries:vet_commentary_requests'</span><span class="p">),</span> @@ -521,7 +526,7 @@ <span class="n">commentary_search_list</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'-pub_date'</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="p">[]</span> - <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'commentary_search_list'</span><span class="p">:</span> <span class="n">commentary_search_list</span> <span class="p">}</span> + <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'form'</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">'commentary_search_list'</span><span class="p">:</span> <span class="n">commentary_search_list</span><span class="p">}</span> <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'commentaries/commentaries.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">()</span> @@ -536,34 +541,27 @@ <span class="k">def</span> <span class="nf">commentary_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_or_DOI_string</span><span class="p">):</span> <span class="n">commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">arxiv_or_DOI_string</span><span class="o">=</span><span class="n">arxiv_or_DOI_string</span><span class="p">)</span> -<span class="c1"># other_versions = Commentary.objects.filter(</span> -<span class="c1"># arxiv_identifier_wo_vn_nr=submission.arxiv_identifier_wo_vn_nr</span> -<span class="c1"># ).exclude(pk=submission.id)</span> <span class="n">comments</span> <span class="o">=</span> <span class="n">commentary</span><span class="o">.</span><span class="n">comment_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span> <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">'POST'</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span> <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span> <span class="n">author</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span> - <span class="n">newcomment</span> <span class="o">=</span> <span class="n">Comment</span> <span class="p">(</span> - <span class="n">commentary</span> <span class="o">=</span> <span class="n">commentary</span><span class="p">,</span> - <span class="n">author</span> <span class="o">=</span> <span class="n">author</span><span class="p">,</span> - <span class="n">is_rem</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_rem'</span><span class="p">],</span> - <span class="n">is_que</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_que'</span><span class="p">],</span> - <span class="n">is_ans</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_ans'</span><span class="p">],</span> - <span class="n">is_obj</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_obj'</span><span class="p">],</span> - <span class="n">is_rep</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_rep'</span><span class="p">],</span> - <span class="n">is_val</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_val'</span><span class="p">],</span> - <span class="n">is_lit</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_lit'</span><span class="p">],</span> - <span class="n">is_sug</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_sug'</span><span class="p">],</span> - <span class="n">comment_text</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'comment_text'</span><span class="p">],</span> - <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'remarks_for_editors'</span><span class="p">],</span> - <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span> + <span class="n">newcomment</span> <span class="o">=</span> <span class="n">Comment</span><span class="p">(</span><span class="n">commentary</span><span class="o">=</span><span class="n">commentary</span><span class="p">,</span> <span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">,</span> + <span class="n">is_rem</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_rem'</span><span class="p">],</span> + <span class="n">is_que</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_que'</span><span class="p">],</span> + <span class="n">is_ans</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_ans'</span><span class="p">],</span> + <span class="n">is_obj</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_obj'</span><span class="p">],</span> + <span class="n">is_rep</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_rep'</span><span class="p">],</span> + <span class="n">is_val</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_val'</span><span class="p">],</span> + <span class="n">is_lit</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_lit'</span><span class="p">],</span> + <span class="n">is_sug</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'is_sug'</span><span class="p">],</span> + <span class="n">comment_text</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'comment_text'</span><span class="p">],</span> + <span class="n">remarks_for_editors</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'remarks_for_editors'</span><span class="p">],</span> + <span class="n">date_submitted</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span> <span class="p">)</span> <span class="n">newcomment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> <span class="n">author</span><span class="o">.</span><span class="n">nr_comments</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">author</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> - <span class="c1">#request.session['commentary_id'] = commentary.id</span> - <span class="c1">#return HttpResponseRedirect(reverse('comments:comment_submission_ack'))</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'ack_header'</span><span class="p">:</span> <span class="s1">'Thank you for contributing a Comment.'</span><span class="p">,</span> <span class="s1">'ack_message'</span><span class="p">:</span> <span class="s1">'It will soon be vetted by an Editor.'</span><span class="p">,</span> <span class="s1">'followup_message'</span><span class="p">:</span> <span class="s1">'Back to the '</span><span class="p">,</span> @@ -576,7 +574,6 @@ <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/acknowledgement.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">()</span> - <span class="k">try</span><span class="p">:</span> <span class="n">author_replies</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">commentary</span><span class="o">=</span><span class="n">commentary</span><span class="p">,</span> <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> diff --git a/docs/_build/html/_modules/comments/models.html b/docs/_build/html/_modules/comments/models.html index 2bb4d6f398f3b6e84b74f434be82e53ca095d9bf..910194b7fe38926559ab9cf9efeb43fa69fa5d4c 100644 --- a/docs/_build/html/_modules/comments/models.html +++ b/docs/_build/html/_modules/comments/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html index d542b91370a855fff3243927830f20ab9f3307c9..b34147da72efcbcad1775c4d48ab4d09dee09fd6 100644 --- a/docs/_build/html/_modules/index.html +++ b/docs/_build/html/_modules/index.html @@ -83,8 +83,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> diff --git a/docs/_build/html/_modules/journals/models.html b/docs/_build/html/_modules/journals/models.html index 19b366e3146da55dc1716c2cdef797f6d46d2d81..aaba5cd549ace37d28f5ca495b5e82ef6807cf85 100644 --- a/docs/_build/html/_modules/journals/models.html +++ b/docs/_build/html/_modules/journals/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -332,13 +334,14 @@ <span class="k">def</span> <span class="nf">citation</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="k">return</span> <span class="p">(</span><span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> - <span class="o">+</span> <span class="s1">'('</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'), '</span> - <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">)</span> + <span class="c1">#+ '(' + str(self.in_issue.number) + ')'</span> + <span class="o">+</span> <span class="s1">', '</span> <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' ('</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">')'</span> <span class="p">)</span> <span class="k">def</span> <span class="nf">citation_for_web</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">citation</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'{{ abbrev }} <strong>{{ volume_nr }}</strong>({{ issue_nr }}), '</span> - <span class="s1">'{{ paper_nr }} ({{ year }})'</span><span class="p">)</span> + <span class="n">citation</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'{{ abbrev }} <strong>{{ volume_nr }}</strong>'</span> + <span class="c1">#'({{ issue_nr }})'</span> + <span class="s1">', {{ paper_nr }} ({{ year }})'</span><span class="p">)</span> <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">citation</span><span class="p">)</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">(</span> <span class="p">{</span><span class="s1">'abbrev'</span><span class="p">:</span> <span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">),</span> @@ -350,8 +353,9 @@ <span class="k">def</span> <span class="nf">citation_for_web_linked</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">citation</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<a href="{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\'</span><span class="s1">scipost:publication_detail</span><span class="se">\'</span><span class="s1"> doi_string=doi_string %}">'</span> - <span class="s1">'{{ abbrev }} <strong>{{ volume_nr }}</strong>({{ issue_nr }}), '</span> - <span class="s1">'{{ paper_nr }} ({{ year }})'</span><span class="p">)</span> + <span class="s1">'{{ abbrev }} <strong>{{ volume_nr }}</strong>'</span> + <span class="c1">#'({{ issue_nr }})'</span> + <span class="s1">', {{ paper_nr }} ({{ year }})'</span><span class="p">)</span> <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">citation</span><span class="p">)</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">(</span> <span class="p">{</span><span class="s1">'doi_string'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,</span> diff --git a/docs/_build/html/_modules/journals/views.html b/docs/_build/html/_modules/journals/views.html index 489b7e15af34e192b507f4a78b621c0d4db097c4..f72a240f89711082235e56087877f91309be6432 100644 --- a/docs/_build/html/_modules/journals/views.html +++ b/docs/_build/html/_modules/journals/views.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -337,9 +339,12 @@ <span class="n">current_issue</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Issue</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'to_be_issued_in'</span><span class="p">]</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> <span class="c1"># Determine next available paper number:</span> - <span class="n">papers_in_current_issue</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">in_issue</span><span class="o">=</span><span class="n">current_issue</span><span class="p">)</span> + <span class="c1">#papers_in_current_issue = Publication.objects.filter(in_issue=current_issue)</span> + <span class="n">papers_in_current_volume</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> + <span class="n">in_issue__in_volume</span><span class="o">=</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="p">)</span> <span class="n">paper_nr</span> <span class="o">=</span> <span class="mi">1</span> - <span class="k">while</span> <span class="n">papers_in_current_issue</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">paper_nr</span><span class="o">=</span><span class="n">paper_nr</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span> + <span class="c1">#while papers_in_current_issue.filter(paper_nr=paper_nr).exists():</span> + <span class="k">while</span> <span class="n">papers_in_current_volume</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">paper_nr</span><span class="o">=</span><span class="n">paper_nr</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span> <span class="n">paper_nr</span> <span class="o">+=</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">paper_nr</span> <span class="o">></span> <span class="mi">999</span><span class="p">:</span> <span class="k">raise</span> <span class="n">PaperNumberingError</span><span class="p">(</span><span class="n">paper_nr</span><span class="p">)</span> @@ -422,7 +427,7 @@ <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> <span class="c1"># Move file to final location</span> <span class="n">initial_path</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span><span class="o">.</span><span class="n">path</span> - <span class="n">new_dir</span> <span class="o">=</span> <span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">path</span> + <span class="n">new_dir</span> <span class="o">=</span> <span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">))</span> <span class="n">new_path</span> <span class="o">=</span> <span class="n">new_dir</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_label</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="s1">'_'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'.pdf'</span> <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">new_dir</span><span class="p">)</span> diff --git a/docs/_build/html/_modules/scipost/models.html b/docs/_build/html/_modules/scipost/models.html index 8b24fabcf8242ceebcc02bbdead3fc2f36e2dc53..6d747a991eac9d70664ee70c447c2e249a2c281b 100644 --- a/docs/_build/html/_modules/scipost/models.html +++ b/docs/_build/html/_modules/scipost/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -143,7 +145,7 @@ <span class="kn">from</span> <span class="nn">django_countries.fields</span> <span class="k">import</span> <span class="n">CountryField</span> -<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span> +<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="o">*</span> <span class="n">SCIPOST_DISCIPLINES</span> <span class="o">=</span> <span class="p">(</span> @@ -261,7 +263,8 @@ <span class="p">),</span> <span class="p">)</span> <span class="n">subject_areas_raw_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">)</span> -<span class="c1"># We want a dict of the form {'Phys:AT': 'Atomic...', ...}</span> + +<span class="c1"># Make dict of the form {'Phys:AT': 'Atomic...', ...}</span> <span class="n">subject_areas_dict</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">subject_areas_raw_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span> <span class="n">subject_areas_dict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span><span class="n">subject_areas_raw_dict</span><span class="p">[</span><span class="n">k</span><span class="p">]))</span> @@ -325,8 +328,7 @@ <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">CONTRIBUTOR_STATUS</span><span class="p">)</span> <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span> <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> - <span class="n">default</span><span class="o">=</span><span class="s1">'physics'</span><span class="p">,</span> - <span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Main discipline'</span><span class="p">)</span> + <span class="n">default</span><span class="o">=</span><span class="s1">'physics'</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Main discipline'</span><span class="p">)</span> <span class="n">expertises</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> @@ -345,36 +347,34 @@ <span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"I accept to receive SciPost emails"</span><span class="p">)</span> - <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">', '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> + <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="s1">'</span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span> <span class="k">def</span> <span class="nf">is_currently_available</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">unav_periods</span> <span class="o">=</span> <span class="n">UnavailabilityPeriod</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> - <span class="n">contributor</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> - <span class="n">available</span> <span class="o">=</span> <span class="kc">True</span> + <span class="n">unav_periods</span> <span class="o">=</span> <span class="n">UnavailabilityPeriod</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">contributor</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> + <span class="n">today</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">today</span><span class="p">()</span> <span class="k">for</span> <span class="n">unav</span> <span class="ow">in</span> <span class="n">unav_periods</span><span class="p">:</span> <span class="k">if</span> <span class="n">unav</span><span class="o">.</span><span class="n">start</span> <span class="o"><</span> <span class="n">today</span> <span class="ow">and</span> <span class="n">unav</span><span class="o">.</span><span class="n">end</span> <span class="o">></span> <span class="n">today</span><span class="p">:</span> - <span class="n">available</span> <span class="o">=</span> <span class="kc">False</span> - <span class="k">return</span> <span class="n">available</span> - + <span class="k">return</span> <span class="kc">False</span> + <span class="k">return</span> <span class="kc">True</span> - <span class="k">def</span> <span class="nf">private_info_as_table</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">private_info_as_table</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">'''</span> -<span class="s1"> <table></span> -<span class="s1"> <tr><td>Title: </td><td>&nbsp;</td><td>{{ title }}</td></tr></span> -<span class="s1"> <tr><td>First name: </td><td>&nbsp;</td><td>{{ first_name }}</td></tr></span> -<span class="s1"> <tr><td>Last name: </td><td>&nbsp;</td><td>{{ last_name }}</td></tr></span> -<span class="s1"> <tr><td>Email: </td><td>&nbsp;</td><td>{{ email }}</td></tr></span> -<span class="s1"> <tr><td>ORCID id: </td><td>&nbsp;</td><td>{{ orcid_id }}</td></tr></span> -<span class="s1"> <tr><td>Country of employment: </td><td>&nbsp;</td></span> -<span class="s1"> <td>{{ country_of_employment }}</td></tr></span> -<span class="s1"> <tr><td>Affiliation: </td><td>&nbsp;</td><td>{{ affiliation }}</td></tr></span> -<span class="s1"> <tr><td>Address: </td><td>&nbsp;</td><td>{{ address }}</td></tr></span> -<span class="s1"> <tr><td>Personal web page: </td><td>&nbsp;</td><td>{{ personalwebpage }}</td></tr></span> -<span class="s1"> <tr><td>Accept SciPost emails: </td><td>&nbsp;</td><td>{{ accepts_SciPost_emails }}</td></tr></span> -<span class="s1"> </table></span> +<span class="s1"> <table></span> +<span class="s1"> <tr><td>Title: </td><td>&nbsp;</td><td>{{ title }}</td></tr></span> +<span class="s1"> <tr><td>First name: </td><td>&nbsp;</td><td>{{ first_name }}</td></tr></span> +<span class="s1"> <tr><td>Last name: </td><td>&nbsp;</td><td>{{ last_name }}</td></tr></span> +<span class="s1"> <tr><td>Email: </td><td>&nbsp;</td><td>{{ email }}</td></tr></span> +<span class="s1"> <tr><td>ORCID id: </td><td>&nbsp;</td><td>{{ orcid_id }}</td></tr></span> +<span class="s1"> <tr><td>Country of employment: </td><td>&nbsp;</td></span> +<span class="s1"> <td>{{ country_of_employment }}</td></tr></span> +<span class="s1"> <tr><td>Affiliation: </td><td>&nbsp;</td><td>{{ affiliation }}</td></tr></span> +<span class="s1"> <tr><td>Address: </td><td>&nbsp;</td><td>{{ address }}</td></tr></span> +<span class="s1"> <tr><td>Personal web page: </td><td>&nbsp;</td><td>{{ personalwebpage }}</td></tr></span> +<span class="s1"> <tr><td>Accept SciPost emails: </td><td>&nbsp;</td><td>{{ accepts_SciPost_emails }}</td></tr></span> +<span class="s1"> </table></span> <span class="s1"> '''</span><span class="p">)</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span> <span class="s1">'title'</span><span class="p">:</span> <span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">],</span> @@ -391,21 +391,20 @@ <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> -<div class="viewcode-block" id="Contributor.public_info_as_table"><a class="viewcode-back" href="../../modules/models.html#scipost.models.Contributor.public_info_as_table">[docs]</a> <span class="k">def</span> <span class="nf">public_info_as_table</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Prints out all publicly-accessible info as a table.</span> -<span class="sd"> """</span> +<div class="viewcode-block" id="Contributor.public_info_as_table"><a class="viewcode-back" href="../../modules/models.html#scipost.models.Contributor.public_info_as_table">[docs]</a> <span class="k">def</span> <span class="nf">public_info_as_table</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="sd">"""Prints out all publicly-accessible info as a table."""</span> + <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">'''</span> -<span class="s1"> <table></span> -<span class="s1"> <tr><td>Title: </td><td>&nbsp;</td><td>{{ title }}</td></tr></span> -<span class="s1"> <tr><td>First name: </td><td>&nbsp;</td><td>{{ first_name }}</td></tr></span> -<span class="s1"> <tr><td>Last name: </td><td>&nbsp;</td><td>{{ last_name }}</td></tr></span> -<span class="s1"> <tr><td>ORCID id: </td><td>&nbsp;</td><td>{{ orcid_id }}</td></tr></span> -<span class="s1"> <tr><td>Country of employment: </td><td>&nbsp;</td></span> -<span class="s1"> <td>{{ country_of_employment }}</td></tr></span> -<span class="s1"> <tr><td>Affiliation: </td><td>&nbsp;</td><td>{{ affiliation }}</td></tr></span> -<span class="s1"> <tr><td>Personal web page: </td><td>&nbsp;</td><td>{{ personalwebpage }}</td></tr></span> -<span class="s1"> </table></span> +<span class="s1"> <table></span> +<span class="s1"> <tr><td>Title: </td><td>&nbsp;</td><td>{{ title }}</td></tr></span> +<span class="s1"> <tr><td>First name: </td><td>&nbsp;</td><td>{{ first_name }}</td></tr></span> +<span class="s1"> <tr><td>Last name: </td><td>&nbsp;</td><td>{{ last_name }}</td></tr></span> +<span class="s1"> <tr><td>ORCID id: </td><td>&nbsp;</td><td>{{ orcid_id }}</td></tr></span> +<span class="s1"> <tr><td>Country of employment: </td><td>&nbsp;</td></span> +<span class="s1"> <td>{{ country_of_employment }}</td></tr></span> +<span class="s1"> <tr><td>Affiliation: </td><td>&nbsp;</td><td>{{ affiliation }}</td></tr></span> +<span class="s1"> <tr><td>Personal web page: </td><td>&nbsp;</td><td>{{ personalwebpage }}</td></tr></span> +<span class="s1"> </table></span> <span class="s1"> '''</span><span class="p">)</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span> <span class="s1">'title'</span><span class="p">:</span> <span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">],</span> @@ -426,7 +425,7 @@ <span class="k">def</span> <span class="nf">expertises_as_ul</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">output</span> <span class="o">=</span> <span class="s1">'<ul>'</span> <span class="k">for</span> <span class="n">exp</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expertises</span><span class="p">:</span> - <span class="n">output</span> <span class="o">+=</span> <span class="s1">'<li>'</span> <span class="o">+</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="n">exp</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'</li>'</span> + <span class="n">output</span> <span class="o">+=</span> <span class="s1">'<li></span><span class="si">%s</span><span class="s1"></li>'</span> <span class="o">%</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="n">exp</span><span class="p">]</span> <span class="n">output</span> <span class="o">+=</span> <span class="s1">'</ul>'</span> <span class="k">return</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">output</span><span class="p">)</span> @@ -521,6 +520,31 @@ <span class="p">(</span><span class="s1">'P'</span><span class="p">,</span> <span class="s1">'personal'</span><span class="p">),</span> <span class="p">)</span> +<div class="viewcode-block" id="DraftInvitation"><a class="viewcode-back" href="../../modules/models.html#scipost.models.DraftInvitation">[docs]</a><span class="k">class</span> <span class="nc">DraftInvitation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> Draft of an invitation, filled in by an officer.</span> +<span class="sd"> """</span> + <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span> + <span class="n">first_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span> + <span class="n">last_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span> + <span class="n">email</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">()</span> + <span class="n">invitation_type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">INVITATION_TYPE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">'C'</span><span class="p">)</span> + <span class="n">cited_in_submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">'submissions.Submission'</span><span class="p">,</span> + <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> + <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">cited_in_publication</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">'journals.Publication'</span><span class="p">,</span> + <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> + <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">drafted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> + <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> + <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">date_drafted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span> + <span class="n">processed</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> + + <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">invitation_type</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span></div> + + <div class="viewcode-block" id="RegistrationInvitation"><a class="viewcode-back" href="../../modules/models.html#scipost.models.RegistrationInvitation">[docs]</a><span class="k">class</span> <span class="nc">RegistrationInvitation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Invitation to particular persons for registration</span> @@ -580,88 +604,6 @@ <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">AUTHORSHIP_CLAIM_STATUS</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span></div> - -<span class="c1">#######################</span> -<span class="c1">### Assessments objects</span> -<span class="c1">#######################</span> - - -<span class="c1">### Assessments</span> - -<span class="c1">#ASSESSMENT_CHOICES = (</span> -<span class="c1"># (101, '-'), # Only values between 0 and 100 are kept, anything outside limits is discarded.</span> -<span class="c1"># (100, 'top'), (80, 'high'), (60, 'good'), (40, 'ok'), (20, 'low'), (0, 'poor')</span> -<span class="c1"># )</span> - -<span class="c1">#class Assessment(models.Model):</span> -<span class="c1"># """</span> -<span class="c1"># Base class for all assessments.</span> -<span class="c1"># """</span> -<span class="c1"># rater = models.ForeignKey(Contributor, on_delete=models.CASCADE)</span> -<span class="c1"># submission = models.ForeignKey('submissions.Submission', on_delete=models.CASCADE, blank=True, null=True)</span> -<span class="c1"># comment = models.ForeignKey('comments.Comment', on_delete=models.CASCADE, blank=True, null=True)</span> -<span class="c1"># relevance = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># importance = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># clarity = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># validity = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># rigour = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># originality = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> -<span class="c1"># significance = models.PositiveSmallIntegerField(choices=ASSESSMENT_CHOICES, default=101)</span> - - -<span class="c1">### Opinions</span> - -<span class="c1">#OPINION_CHOICES = (</span> -<span class="c1"># ('ABS', '-'),</span> -<span class="c1"># ('A', 'agree'),</span> -<span class="c1"># ('N', 'not sure'),</span> -<span class="c1"># ('D', 'disagree'),</span> -<span class="c1">#)</span> -<span class="c1">#opinion_choices_dict = dict(OPINION_CHOICES)</span> - -<span class="c1">#class Opinion(models.Model):</span> -<span class="c1"># rater = models.ForeignKey(Contributor, on_delete=models.CASCADE)</span> -<span class="c1"># comment = models.ForeignKey('comments.Comment', on_delete=models.CASCADE)</span> -<span class="c1"># opinion = models.CharField(max_length=3, choices=OPINION_CHOICES, default='ABS')</span> - - -<span class="c1">### AssessmentAggregates</span> - -<span class="c1">#class AssessmentAggregate(models.Model):</span> -<span class="c1"># """</span> -<span class="c1"># Aggregated assessments for an object.</span> -<span class="c1"># """</span> -<span class="c1"># nr = models.PositiveSmallIntegerField(default=0)</span> -<span class="c1"># nr_relevance_ratings = models.IntegerField(default=0)</span> -<span class="c1"># relevance_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_importance_ratings = models.IntegerField(default=0)</span> -<span class="c1"># importance_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_clarity_ratings = models.IntegerField(default=0)</span> -<span class="c1"># clarity_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_validity_ratings = models.IntegerField(default=0)</span> -<span class="c1"># validity_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_rigour_ratings = models.IntegerField(default=0)</span> -<span class="c1"># rigour_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_originality_ratings = models.IntegerField(default=0)</span> -<span class="c1"># originality_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> -<span class="c1"># nr_significance_ratings = models.IntegerField(default=0)</span> -<span class="c1"># significance_rating = models.DecimalField(default=0, max_digits=3, decimal_places=0)</span> - - -<span class="c1">##########</span> -<span class="c1"># Emails #</span> -<span class="c1">##########</span> - -<span class="c1"># class EmailedTo(models.Model):</span> -<span class="c1"># """</span> -<span class="c1"># An email address used for emailing.</span> -<span class="c1"># An instance is created by a method as send_precooked_email</span> -<span class="c1"># if the chosen message hasn't been sent to this address before.</span> -<span class="c1"># Helps prevent multiple emailing with same message.</span> -<span class="c1"># """</span> -<span class="c1"># email = models.EmailField()</span> - - <span class="n">SCIPOST_FROM_ADDRESSES</span> <span class="o">=</span> <span class="p">(</span> <span class="p">(</span><span class="s1">'Admin'</span><span class="p">,</span> <span class="s1">'SciPost Admin <admin@scipost.org>'</span><span class="p">),</span> <span class="p">(</span><span class="s1">'J.-S. Caux'</span><span class="p">,</span> <span class="s1">'J.-S. Caux <jscaux@scipost.org>'</span><span class="p">),</span> @@ -680,7 +622,6 @@ <span class="n">email_text</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span> <span class="n">email_text_html</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span> <span class="n">date_created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span> - <span class="c1">#emailed_to = models.ManyToManyField(EmailedTo, blank=True)</span> <span class="n">emailed_to</span> <span class="o">=</span> <span class="n">ArrayField</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="n">date_last_used</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span> <span class="n">deprecated</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> @@ -769,8 +710,7 @@ <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">' (owner: '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">' '</span> - <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">')'</span><span class="p">)</span> + <span class="k">return</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> (owner: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">)'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span> <span class="k">def</span> <span class="nf">header</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> @@ -839,7 +779,7 @@ <span class="sd"> Team of Contributors, to enable private collaborations.</span> <span class="sd"> """</span> <span class="n">leader</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span> - <span class="n">members</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'team_members'</span><span class="p">)</span> + <span class="n">members</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'team_members'</span><span class="p">)</span> <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span> <span class="n">established</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span> @@ -888,8 +828,7 @@ <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">' (owner: '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">' '</span> - <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">')'</span><span class="p">)</span> + <span class="k">return</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> (owner: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">)'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span> <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">'id'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">'title'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> diff --git a/docs/_build/html/_modules/scipost/views.html b/docs/_build/html/_modules/scipost/views.html index c193238b05712f53316097889d5da40acf5a7738..4cca70f90419dc3f3b005715ed618e5f35d0cf64 100644 --- a/docs/_build/html/_modules/scipost/views.html +++ b/docs/_build/html/_modules/scipost/views.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -141,7 +143,6 @@ <span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span><span class="p">,</span> <span class="n">render</span> <span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span> <span class="kn">from</span> <span class="nn">django.contrib.auth.decorators</span> <span class="k">import</span> <span class="n">login_required</span> -<span class="c1">#from django.contrib.auth.decorators import permission_required # Superseded by guardian</span> <span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span><span class="p">,</span> <span class="n">Group</span><span class="p">,</span> <span class="n">Permission</span> <span class="kn">from</span> <span class="nn">django.contrib.auth.views</span> <span class="k">import</span> <span class="n">password_reset</span><span class="p">,</span> <span class="n">password_reset_confirm</span> <span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="k">import</span> <span class="n">MultipleObjectsReturned</span><span class="p">,</span> <span class="n">ObjectDoesNotExist</span><span class="p">,</span> <span class="n">PermissionDenied</span> @@ -609,8 +610,109 @@ <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/acknowledgement.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> +<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">'scipost.can_draft_registration_invitations'</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +<div class="viewcode-block" id="draft_registration_invitation"><a class="viewcode-back" href="../../modules/views.html#scipost.views.draft_registration_invitation">[docs]</a><span class="k">def</span> <span class="nf">draft_registration_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">):</span> + <span class="sd">"""</span> +<span class="sd"> For officers to prefill registration invitations.</span> +<span class="sd"> This is similar to the registration_invitations method,</span> +<span class="sd"> which is used to complete the invitation process.</span> +<span class="sd"> """</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">''</span> + <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">'POST'</span><span class="p">:</span> + <span class="n">draft_inv_form</span> <span class="o">=</span> <span class="n">DraftInvitationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span> + <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">'contributor'</span><span class="p">:</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span> <span class="s1">'form'</span><span class="p">:</span> <span class="n">draft_inv_form</span><span class="p">})</span> + <span class="k">if</span> <span class="n">draft_inv_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span> + <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_invited</span><span class="p">():</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'DUPLICATE ERROR: '</span> + <span class="s1">'This email address has already been used for an invitation'</span><span class="p">)</span> + <span class="k">elif</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_drafted</span><span class="p">():</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'DUPLICATE ERROR: '</span> + <span class="s1">'This email address has already been used for a draft invitation'</span><span class="p">)</span> + <span class="k">elif</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_taken</span><span class="p">():</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'DUPLICATE ERROR: '</span> + <span class="s1">'This email address is already associated to a Contributor'</span><span class="p">)</span> + <span class="k">elif</span> <span class="p">(</span><span class="n">draft_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'invitation_type'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'F'</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">'scipost.can_invite_Fellows'</span><span class="p">)):</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'You do not have the authorization to send a Fellow-type '</span> + <span class="s1">'invitation. Consider Contributor, or cited (sub/pub). '</span><span class="p">)</span> + <span class="k">elif</span> <span class="p">(</span><span class="n">draft_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'invitation_type'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'R'</span><span class="p">):</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'Referee-type invitations must be made by the Editor-in-charge '</span> + <span class="s1">'at the relevant Submission</span><span class="se">\'</span><span class="s1">s Editorial Page. '</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">Utils</span><span class="o">.</span><span class="n">create_draft_invitation</span><span class="p">()</span> + <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'ack_header'</span><span class="p">:</span> <span class="s1">'Draft invitation saved.'</span><span class="p">,</span> + <span class="s1">'followup_message'</span><span class="p">:</span> <span class="s1">'Return to the '</span><span class="p">,</span> + <span class="s1">'followup_link'</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">'scipost:draft_registration_invitation'</span><span class="p">),</span> + <span class="s1">'followup_link_label'</span><span class="p">:</span> <span class="s1">'drafting page'</span><span class="p">}</span> + <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/acknowledgement.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'The form was not filled validly.'</span> + + <span class="k">else</span><span class="p">:</span> + <span class="n">draft_inv_form</span> <span class="o">=</span> <span class="n">DraftInvitationForm</span><span class="p">()</span> + + <span class="n">sent_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> + <span class="n">sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'F'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'C'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'R'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'ci'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'cp'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + + <span class="n">resp_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> + <span class="n">resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'F'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'C'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'R'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'ci'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'cp'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + <span class="n">nr_resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + + <span class="n">decl_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> + <span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + + <span class="n">names_reg_contributors</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> + <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'user__last_name'</span><span class="p">)</span><span class="o">.</span><span class="n">values_list</span><span class="p">(</span> + <span class="s1">'user__first_name'</span><span class="p">,</span> <span class="s1">'user__last_name'</span><span class="p">)</span> + <span class="n">existing_drafts</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">processed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> + + <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'draft_inv_form'</span><span class="p">:</span> <span class="n">draft_inv_form</span><span class="p">,</span> <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> + <span class="s1">'sent_reg_inv_fellows'</span><span class="p">:</span> <span class="n">sent_reg_inv_fellows</span><span class="p">,</span> + <span class="s1">'nr_sent_reg_inv_fellows'</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_fellows</span><span class="p">,</span> + <span class="s1">'sent_reg_inv_contrib'</span><span class="p">:</span> <span class="n">sent_reg_inv_contrib</span><span class="p">,</span> + <span class="s1">'nr_sent_reg_inv_contrib'</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_contrib</span><span class="p">,</span> + <span class="s1">'sent_reg_inv_ref'</span><span class="p">:</span> <span class="n">sent_reg_inv_ref</span><span class="p">,</span> + <span class="s1">'nr_sent_reg_inv_ref'</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_ref</span><span class="p">,</span> + <span class="s1">'sent_reg_inv_cited_sub'</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_sub</span><span class="p">,</span> + <span class="s1">'nr_sent_reg_inv_cited_sub'</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_sub</span><span class="p">,</span> + <span class="s1">'sent_reg_inv_cited_pub'</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_pub</span><span class="p">,</span> + <span class="s1">'nr_sent_reg_inv_cited_pub'</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_pub</span><span class="p">,</span> + <span class="s1">'resp_reg_inv_fellows'</span><span class="p">:</span> <span class="n">resp_reg_inv_fellows</span><span class="p">,</span> + <span class="s1">'nr_resp_reg_inv_fellows'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_fellows</span><span class="p">,</span> + <span class="s1">'resp_reg_inv_contrib'</span><span class="p">:</span> <span class="n">resp_reg_inv_contrib</span><span class="p">,</span> + <span class="s1">'nr_resp_reg_inv_contrib'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_contrib</span><span class="p">,</span> + <span class="s1">'resp_reg_inv_ref'</span><span class="p">:</span> <span class="n">resp_reg_inv_ref</span><span class="p">,</span> + <span class="s1">'nr_resp_reg_inv_ref'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_ref</span><span class="p">,</span> + <span class="s1">'resp_reg_inv_cited_sub'</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_sub</span><span class="p">,</span> + <span class="s1">'nr_resp_reg_inv_cited_sub'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_sub</span><span class="p">,</span> + <span class="s1">'resp_reg_inv_cited_pub'</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_pub</span><span class="p">,</span> + <span class="s1">'nr_resp_reg_inv_cited_pub'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_pub</span><span class="p">,</span> + <span class="s1">'decl_reg_inv'</span><span class="p">:</span> <span class="n">decl_reg_inv</span><span class="p">,</span> + <span class="s1">'names_reg_contributors'</span><span class="p">:</span> <span class="n">names_reg_contributors</span><span class="p">,</span> + <span class="s1">'existing_drafts'</span><span class="p">:</span> <span class="n">existing_drafts</span><span class="p">,</span> + <span class="p">}</span> + <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/draft_registration_invitation.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div> + + <span class="nd">@permission_required</span><span class="p">(</span><span class="s1">'scipost.can_manage_registration_invitations'</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> -<div class="viewcode-block" id="registration_invitations"><a class="viewcode-back" href="../../modules/views.html#scipost.views.registration_invitations">[docs]</a><span class="k">def</span> <span class="nf">registration_invitations</span><span class="p">(</span><span class="n">request</span><span class="p">):</span> +<div class="viewcode-block" id="registration_invitations"><a class="viewcode-back" href="../../modules/views.html#scipost.views.registration_invitations">[docs]</a><span class="k">def</span> <span class="nf">registration_invitations</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">draft_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <span class="sd">""" Overview and tools for administrators """</span> <span class="c1"># List invitations sent; send new ones</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">''</span> @@ -635,12 +737,35 @@ <span class="k">else</span><span class="p">:</span> <span class="n">Utils</span><span class="o">.</span><span class="n">create_invitation</span><span class="p">()</span> <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_invitation_email</span><span class="p">()</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">draft</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span> + <span class="n">email</span><span class="o">=</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'email'</span><span class="p">])</span> + <span class="n">draft</span><span class="o">.</span><span class="n">processed</span> <span class="o">=</span> <span class="kc">True</span> + <span class="n">draft</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> + <span class="k">except</span> <span class="n">ObjectDoesNotExist</span><span class="p">:</span> + <span class="k">pass</span> + <span class="k">except</span> <span class="n">MultipleObjectsReturned</span><span class="p">:</span> + <span class="c1"># Delete the first invitation</span> + <span class="n">draft_to_delete</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> + <span class="n">email</span><span class="o">=</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">'email'</span><span class="p">])</span><span class="o">.</span><span class="n">first</span><span class="p">()</span> + <span class="n">draft_to_delete</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span> <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="s1">'registration_invitation_sent'</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">'The form was not filled validly.'</span> <span class="k">else</span><span class="p">:</span> - <span class="n">reg_inv_form</span> <span class="o">=</span> <span class="n">RegistrationInvitationForm</span><span class="p">()</span> + <span class="n">initial</span> <span class="o">=</span> <span class="p">{}</span> + <span class="k">if</span> <span class="n">draft_id</span><span class="p">:</span> + <span class="n">draft</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">DraftInvitation</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">draft_id</span><span class="p">)</span> + <span class="n">initial</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'title'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> + <span class="s1">'first_name'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> + <span class="s1">'last_name'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span> + <span class="s1">'email'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> + <span class="s1">'invitation_type'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">invitation_type</span><span class="p">,</span> + <span class="s1">'cited_in_submission'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">cited_in_submission</span><span class="p">,</span> + <span class="s1">'cited_in_publication'</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">cited_in_publication</span><span class="p">,</span> + <span class="p">}</span> + <span class="n">reg_inv_form</span> <span class="o">=</span> <span class="n">RegistrationInvitationForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initial</span><span class="p">)</span> <span class="n">sent_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="n">sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">'F'</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> @@ -671,6 +796,7 @@ <span class="n">names_reg_contributors</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'user__last_name'</span><span class="p">)</span><span class="o">.</span><span class="n">values_list</span><span class="p">(</span> <span class="s1">'user__first_name'</span><span class="p">,</span> <span class="s1">'user__last_name'</span><span class="p">)</span> + <span class="n">existing_drafts</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">processed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'last_name'</span><span class="p">)</span> <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'reg_inv_form'</span><span class="p">:</span> <span class="n">reg_inv_form</span><span class="p">,</span> <span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">'sent_reg_inv_fellows'</span><span class="p">:</span> <span class="n">sent_reg_inv_fellows</span><span class="p">,</span> @@ -695,6 +821,7 @@ <span class="s1">'nr_resp_reg_inv_cited_pub'</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_pub</span><span class="p">,</span> <span class="s1">'decl_reg_inv'</span><span class="p">:</span> <span class="n">decl_reg_inv</span><span class="p">,</span> <span class="s1">'names_reg_contributors'</span><span class="p">:</span> <span class="n">names_reg_contributors</span><span class="p">,</span> + <span class="s1">'existing_drafts'</span><span class="p">:</span> <span class="n">existing_drafts</span><span class="p">,</span> <span class="p">}</span> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/registration_invitations.html'</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div> diff --git a/docs/_build/html/_modules/submissions/models.html b/docs/_build/html/_modules/submissions/models.html index a2ff681c22d9f599d7e8de22e5840d6238dc0f61..cc807b16363c484f8ad273bf2fc2c67d01b938ed 100644 --- a/docs/_build/html/_modules/submissions/models.html +++ b/docs/_build/html/_modules/submissions/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -141,8 +143,10 @@ <span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span> <span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">ChoiceArrayField</span><span class="p">,</span> <span class="n">Contributor</span><span class="p">,</span> <span class="n">title_dict</span><span class="p">,</span> <span class="n">Remark</span> -<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span> <span class="n">subject_areas_dict</span><span class="p">,</span> <span class="n">TITLE_CHOICES</span> -<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_SUBMIT</span><span class="p">,</span> <span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">,</span> <span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span> +<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">SCIPOST_SUBJECT_AREAS</span> +<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">subject_areas_dict</span><span class="p">,</span> <span class="n">TITLE_CHOICES</span> +<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_SUBMIT</span><span class="p">,</span> <span class="n">SCIPOST_JOURNALS_DOMAINS</span> +<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span> <span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">journals_submit_dict</span><span class="p">,</span> <span class="n">journals_domains_dict</span><span class="p">,</span> <span class="n">journals_spec_dict</span> <span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">Publication</span> @@ -159,6 +163,9 @@ <span class="c1"># If revisions required: resubmission creates a new Submission object</span> <span class="p">(</span><span class="s1">'revision_requested'</span><span class="p">,</span> <span class="s1">'Editor-in-charge has requested revision'</span><span class="p">),</span> <span class="p">(</span><span class="s1">'resubmitted'</span><span class="p">,</span> <span class="s1">'Has been resubmitted'</span><span class="p">),</span> + <span class="p">(</span><span class="s1">'resubmitted_and_rejected'</span><span class="p">,</span> <span class="s1">'Has been resubmitted and subsequently rejected'</span><span class="p">),</span> + <span class="p">(</span><span class="s1">'resubmitted_and_rejected_visible'</span><span class="p">,</span> + <span class="s1">'Has been resubmitted and subsequently rejected (still publicly visible)'</span><span class="p">),</span> <span class="c1"># If acceptance/rejection:</span> <span class="p">(</span><span class="s1">'voting_in_preparation'</span><span class="p">,</span> <span class="s1">'Voting in preparation (eligible Fellows being selected)'</span><span class="p">),</span> <span class="p">(</span><span class="s1">'put_to_EC_voting'</span><span class="p">,</span> <span class="s1">'Undergoing voting at the Editorial College'</span><span class="p">),</span> @@ -179,22 +186,37 @@ <span class="s1">'withdrawn'</span><span class="p">,</span> <span class="p">]</span> +<span class="c1"># Submissions which should not appear in search lists</span> <span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">'unassigned'</span><span class="p">,</span> <span class="s1">'assignment_failed'</span><span class="p">,</span> <span class="s1">'resubmitted'</span><span class="p">,</span> + <span class="s1">'resubmitted_rejected'</span><span class="p">,</span> + <span class="s1">'resubmitted_rejected_visible'</span><span class="p">,</span> <span class="s1">'rejected'</span><span class="p">,</span> <span class="s1">'published'</span><span class="p">,</span> <span class="s1">'withdrawn'</span><span class="p">,</span> <span class="p">]</span> +<span class="c1"># Submissions which should not be viewable (except by admins, Fellows and authors)</span> +<span class="n">SUBMISSION_STATUS_PUBLICLY_INVISIBLE</span> <span class="o">=</span> <span class="p">[</span> + <span class="s1">'unassigned'</span><span class="p">,</span> + <span class="s1">'assignment_failed'</span><span class="p">,</span> + <span class="s1">'resubmitted_rejected'</span><span class="p">,</span> + <span class="s1">'rejected'</span><span class="p">,</span> + <span class="s1">'published'</span><span class="p">,</span> + <span class="s1">'withdrawn'</span><span class="p">,</span> +<span class="p">]</span> + + <span class="c1"># SUBMISSION_ACTION_REQUIRED = (</span> <span class="c1"># ('assign_EIC', 'Editor-in-charge to be assigned'),</span> <span class="c1"># # ('Fellow_accepts_or_refuse_assignment', 'Fellow must accept or refuse assignment'),</span> <span class="c1"># ('EIC_runs_refereeing_round', 'Editor-in-charge to run refereeing round (inviting referees)'),</span> <span class="c1"># ('EIC_closes_refereeing_round', 'Editor-in-charge to close refereeing round'),</span> <span class="c1"># ('EIC_invites_author_response', 'Editor-in-charge invites authors to complete their replies'),</span> -<span class="c1"># ('EIC_formulates_editorial_recommendation', 'Editor-in-charge to formulate editorial recommendation'),</span> +<span class="c1"># ('EIC_formulates_editorial_recommendation',</span> +<span class="c1"># 'Editor-in-charge to formulate editorial recommendation'),</span> <span class="c1"># ('EC_ratification', 'Editorial College ratifies editorial recommendation'),</span> <span class="c1"># ('Decision_to_authors', 'Editor-in-charge forwards decision to authors'),</span> <span class="c1"># )</span> @@ -222,8 +244,9 @@ <span class="c1"># specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS)</span> <span class="n">subject_area</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Primary subject area'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">'Phys:QP'</span><span class="p">)</span> - <span class="n">secondary_areas</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span> - <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> + <span class="n">secondary_areas</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span> + <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span> + <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SUBMISSION_STATUS</span><span class="p">)</span> <span class="c1"># set by Editors</span> <span class="n">author_comments</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="n">list_of_changes</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> @@ -372,14 +395,17 @@ <span class="n">nr_ref_invited</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">nr_ref_accepted</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">nr_ref_declined</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> - <span class="n">nr_invited_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> - <span class="n">nr_contrib_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">nr_invited_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> + <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> + <span class="n">nr_contrib_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> + <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">nr_reports_awaiting_vetting</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">nr_reports_refused</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status__lte</span><span class="o">=-</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span> <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<p>Nr referees invited: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_invited</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' ['</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_accepted</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' accepted/ '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_declined</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' declined/ '</span> <span class="o">+</span> - <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_invited</span> <span class="o">-</span> <span class="n">nr_ref_accepted</span> <span class="o">-</span> <span class="n">nr_ref_declined</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' response pending]</p>'</span> <span class="o">+</span> + <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_invited</span> <span class="o">-</span> <span class="n">nr_ref_accepted</span> <span class="o">-</span> <span class="n">nr_ref_declined</span><span class="p">)</span> <span class="o">+</span> + <span class="s1">' response pending]</p>'</span> <span class="o">+</span> <span class="s1">'<p>Nr reports obtained: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_invited_reports_in</span> <span class="o">+</span> <span class="n">nr_contrib_reports_in</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' ['</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_invited_reports_in</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' invited/ '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_contrib_reports_in</span><span class="p">)</span> <span class="o">+</span> @@ -408,7 +434,8 @@ <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">'unassigned'</span><span class="p">:</span> <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">'<p style="color: red">Status: {{ status }}.'</span> <span class="s1">' You can volunteer to become Editor-in-charge by '</span> - <span class="s1">'<a href="/submissions/volunteer_as_EIC/{{ arxiv_identifier_w_vn_nr }}">clicking here</a>.</p>'</span><span class="p">)</span> + <span class="s1">'<a href="/submissions/volunteer_as_EIC/{{ arxiv_identifier_w_vn_nr }}">'</span> + <span class="s1">'clicking here</a>.</p>'</span><span class="p">)</span> <span class="k">else</span><span class="p">:</span> <span class="n">header</span> <span class="o">+=</span> <span class="s1">'<p>Editor-in-charge: {{ EIC }}</p><p>Status: {{ status }}</p>'</span> <span class="n">header</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">refereeing_status_as_p</span><span class="p">()</span> @@ -556,7 +583,8 @@ <span class="s1">'<p>by {{ author_list }}</p>'</span> <span class="s1">'<p> (submitted {{ date }} to {{ to_journal }})</p>'</span> <span class="s1">'<p>Status: {{ status }}</p><p>Manage this Submission from its '</span> - <span class="s1">'<a href="/submissions/editorial_page/{{ arxiv_identifier_w_vn_nr }}">Editorial Page</a>.'</span> + <span class="s1">'<a href="/submissions/editorial_page/{{ arxiv_identifier_w_vn_nr }}">'</span> + <span class="s1">'Editorial Page</a>.'</span> <span class="s1">'</p>'</span> <span class="c1">#'</div></div>'</span> <span class="s1">'</li>'</span><span class="p">)</span> @@ -640,7 +668,8 @@ <span class="k">def</span> <span class="nf">summary_as_tds</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">'first_name'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="s1">'last_name'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span> <span class="s1">'date_invited'</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_invited</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">'%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M'</span><span class="p">)})</span> - <span class="n">output</span> <span class="o">=</span> <span class="s1">'<td>{{ first_name }} {{ last_name }}</td><td>invited <br/>{{ date_invited }}</td><td>'</span> + <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<td>{{ first_name }} {{ last_name }}</td><td>invited <br/>'</span> + <span class="s1">'{{ date_invited }}</td><td>'</span><span class="p">)</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cancelled</span><span class="p">:</span> <span class="n">output</span> <span class="o">+=</span> <span class="s1">'<strong style="color: red;">cancelled</strong>'</span> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> @@ -719,8 +748,9 @@ <span class="n">flagged</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">'date submitted'</span><span class="p">)</span> <span class="n">author</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span> - <span class="n">qualification</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">REFEREE_QUALIFICATION</span><span class="p">,</span> - <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Qualification to referee this: I am "</span><span class="p">)</span> + <span class="n">qualification</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span> + <span class="n">choices</span><span class="o">=</span><span class="n">REFEREE_QUALIFICATION</span><span class="p">,</span> + <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Qualification to referee this: I am "</span><span class="p">)</span> <span class="c1"># Text-based reporting</span> <span class="n">strengths</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span> <span class="n">weaknesses</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span> @@ -731,8 +761,10 @@ <span class="n">significance</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span> <span class="n">originality</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span> <span class="n">clarity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span> - <span class="n">formatting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Quality of paper formatting"</span><span class="p">)</span> - <span class="n">grammar</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Quality of English grammar"</span><span class="p">)</span> + <span class="n">formatting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span> + <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Quality of paper formatting"</span><span class="p">)</span> + <span class="n">grammar</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span> + <span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Quality of English grammar"</span><span class="p">)</span> <span class="c1">#</span> <span class="n">recommendation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">REPORT_REC</span><span class="p">)</span> <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> @@ -861,7 +893,8 @@ <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">'RtoE'</span><span class="p">:</span> <span class="n">output</span> <span class="o">+=</span> <span class="s1">'From Referee '</span> <span class="k">try</span><span class="p">:</span> - <span class="n">output</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">' to you'</span> + <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> + <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">' to you'</span><span class="p">)</span> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> <span class="k">pass</span> <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">'StoE'</span><span class="p">:</span> @@ -887,7 +920,8 @@ <span class="n">verbose_name</span><span class="o">=</span><span class="s1">'optional remarks for the Editorial College'</span><span class="p">)</span> <span class="n">recommendation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">REPORT_REC</span><span class="p">)</span> <span class="c1"># Editorial Fellows who have assessed this recommendation:</span> - <span class="n">eligible_to_vote</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'eligible_to_vote'</span><span class="p">)</span> + <span class="n">eligible_to_vote</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> + <span class="n">related_name</span><span class="o">=</span><span class="s1">'eligible_to_vote'</span><span class="p">)</span> <span class="n">voted_for</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'voted_for'</span><span class="p">)</span> <span class="n">voted_against</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'voted_against'</span><span class="p">)</span> <span class="n">voted_abstain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'voted_abstain'</span><span class="p">)</span> diff --git a/docs/_build/html/_modules/submissions/views.html b/docs/_build/html/_modules/submissions/views.html index 2228df5a9ff1221bb9e543f2029933bde7d6cc52..6e7dc05b44c743742ea38e10f07a793f9471c45f 100644 --- a/docs/_build/html/_modules/submissions/views.html +++ b/docs/_build/html/_modules/submissions/views.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -140,6 +142,7 @@ <span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span> <span class="kn">from</span> <span class="nn">django.contrib.auth.decorators</span> <span class="k">import</span> <span class="n">login_required</span><span class="p">,</span> <span class="n">permission_required</span> <span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span><span class="p">,</span> <span class="n">Group</span><span class="p">,</span> <span class="n">Permission</span> +<span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="k">import</span> <span class="n">PermissionDenied</span> <span class="kn">from</span> <span class="nn">django.core.mail</span> <span class="k">import</span> <span class="n">EmailMessage</span> <span class="kn">from</span> <span class="nn">django.core.urlresolvers</span> <span class="k">import</span> <span class="n">reverse</span> <span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">transaction</span> @@ -200,6 +203,13 @@ <span class="n">previous_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">identifier_without_vn_nr</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">'-arxiv_vn_nr'</span><span class="p">)</span> <span class="k">if</span> <span class="n">previous_submissions</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span> + <span class="k">if</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'rejected'</span><span class="p">,</span> <span class="s1">'rejected_visible'</span><span class="p">,]:</span> + <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<p>This arXiv preprint has previously undergone refereeing '</span> + <span class="s1">'and has been rejected. Resubmission is only possible '</span> + <span class="s1">'if the manuscript has been substantially reworked into '</span> + <span class="s1">'a new arXiv submission with distinct identifier.</p>'</span><span class="p">)</span> + <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">'scipost/error.html'</span><span class="p">,</span> + <span class="p">{</span><span class="s1">'errormessage'</span><span class="p">:</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">errormessage</span><span class="p">)})</span> <span class="c1"># If the Editorial Recommendation hasn't been formulated, ask to wait</span> <span class="k">if</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="s1">'revision_requested'</span><span class="p">:</span> <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'<p>There exists a preprint with this arXiv identifier '</span> @@ -476,6 +486,17 @@ <span class="k">def</span> <span class="nf">submission_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span> <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">is_author</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">()</span> + <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> + <span class="n">is_author</span> <span class="o">=</span> <span class="kc">False</span> + <span class="k">if</span> <span class="p">(</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="n">SUBMISSION_STATUS_PUBLICLY_INVISIBLE</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">'SciPost Administrators'</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">'Editorial Administrators'</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">'Editorial College'</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span> + <span class="ow">and</span> <span class="ow">not</span> <span class="n">is_author</span> + <span class="p">):</span> + <span class="k">raise</span> <span class="n">PermissionDenied</span> <span class="n">other_versions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_wo_vn_nr</span> <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> @@ -1393,6 +1414,12 @@ <span class="k">elif</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span><span class="o">==-</span><span class="mi">3</span><span class="p">:</span> <span class="c1"># Reject</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">'rejected'</span> + <span class="n">previous_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span> + <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_wo_vn_nr</span> + <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> + <span class="k">for</span> <span class="n">sub</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">:</span> + <span class="n">sub</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">'resubmitted_rejected'</span> + <span class="n">sub</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">'submission'</span><span class="p">:</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="p">,</span> diff --git a/docs/_build/html/_modules/theses/models.html b/docs/_build/html/_modules/theses/models.html index c63914aa817c7497f3248c147d92abccde79a193..343bf2461dfa9c725a41d25a37506cedf2b997a1 100644 --- a/docs/_build/html/_modules/theses/models.html +++ b/docs/_build/html/_modules/theses/models.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="../../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 5976ed7ecd27699d44cb180c171db2994e85d846..03085596e5ba0c7d5c936ba55a7f6dd2d2068c1e 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -282,12 +284,12 @@ <dt><a href="modules/models.html#scipost.models.NewsItem.descriptor_full">descriptor_full() (scipost.models.NewsItem method)</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="modules/models.html#scipost.models.NewsItem.descriptor_small">descriptor_small() (scipost.models.NewsItem method)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="modules/models.html#journals.models.Publication.details">details() (journals.models.Publication method)</a> </dt> @@ -296,6 +298,14 @@ <dt><a href="modules/views.html#scipost.views.documentsSearchResults">documentsSearchResults() (in module scipost.views)</a> </dt> + + <dt><a href="modules/views.html#scipost.views.draft_registration_invitation">draft_registration_invitation() (in module scipost.views)</a> + </dt> + + + <dt><a href="modules/models.html#scipost.models.DraftInvitation">DraftInvitation (class in scipost.models)</a> + </dt> + </dl></td> </tr></table> diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index 6ac380fba5f19077ffadef77fe0f57e9085ce780..c27d7498c511a4b6ddc20841f08cf969ad26e8f0 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -34,7 +34,7 @@ href="genindex.html"/> <link rel="search" title="Search" href="search.html"/> <link rel="top" title="SciPost 1.0 documentation" href="#"/> - <link rel="next" title="Models" href="modules/models.html"/> + <link rel="next" title="Production of SciPost Publications" href="howto/production.html"/> <script src="_static/js/modernizr.min.js"></script> @@ -84,8 +84,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -135,8 +137,20 @@ <p>Contents:</p> <div class="toctree-wrapper compound"> <ul> +<li class="toctree-l1"><a class="reference internal" href="howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="dev/maintenance/docs.html">Maintenance of SciPost documentation</a><ul> +<li class="toctree-l2"><a class="reference internal" href="dev/maintenance/docs.html#sphinx-generated-docs">Sphinx-generated docs</a><ul> +<li class="toctree-l3"><a class="reference internal" href="dev/maintenance/docs.html#generating-the-static-html-files">Generating the static html files</a></li> +</ul> +</li> +<li class="toctree-l2"><a class="reference internal" href="dev/maintenance/docs.html#sphinxdoc-generated-docs-viewable-online">Sphinxdoc-generated docs (viewable online)</a><ul> +<li class="toctree-l3"><a class="reference internal" href="dev/maintenance/docs.html#updating-the-docs">Updating the docs:</a></li> +</ul> +</li> +</ul> +</li> </ul> </div> </div> @@ -156,7 +170,7 @@ <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="modules/models.html" class="btn btn-neutral float-right" title="Models" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="howto/production.html" class="btn btn-neutral float-right" title="Production of SciPost Publications" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> </div> diff --git a/docs/_build/html/modules/models.html b/docs/_build/html/modules/models.html index 86f0fb2653cd71d5f01c03f319e981c1515834a4..b07a5315bb8a643068f2ddddc828025251db7fb5 100644 --- a/docs/_build/html/modules/models.html +++ b/docs/_build/html/modules/models.html @@ -35,7 +35,7 @@ <link rel="search" title="Search" href="../search.html"/> <link rel="top" title="SciPost 1.0 documentation" href="../index.html"/> <link rel="next" title="Views" href="views.html"/> - <link rel="prev" title="Welcome to SciPost’s documentation!" href="../index.html"/> + <link rel="prev" title="Production of SciPost Publications" href="../howto/production.html"/> <script src="../_static/js/modernizr.min.js"></script> @@ -85,8 +85,10 @@ <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -172,6 +174,12 @@ username, password, email, first_name and last_name are inherited from User.</p> </dd></dl> +<dl class="class"> +<dt id="scipost.models.DraftInvitation"> +<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">DraftInvitation</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#DraftInvitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.DraftInvitation" title="Permalink to this definition">¶</a></dt> +<dd><p>Draft of an invitation, filled in by an officer.</p> +</dd></dl> + <dl class="class"> <dt id="scipost.models.Graph"> <em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Graph</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Graph"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Graph" title="Permalink to this definition">¶</a></dt> @@ -384,7 +392,7 @@ to and from Referees and Authors becomes an instance of this class.</p> <a href="views.html" class="btn btn-neutral float-right" title="Views" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="../index.html" class="btn btn-neutral" title="Welcome to SciPost’s documentation!" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="../howto/production.html" class="btn btn-neutral" title="Production of SciPost Publications" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> diff --git a/docs/_build/html/modules/views.html b/docs/_build/html/modules/views.html index 3ca5170a024a00fef1239e9a31661a621be43926..2e438cd6a15cc75a86d9cc6a6e4943e293adfbbb 100644 --- a/docs/_build/html/modules/views.html +++ b/docs/_build/html/modules/views.html @@ -34,6 +34,7 @@ href="../genindex.html"/> <link rel="search" title="Search" href="../search.html"/> <link rel="top" title="SciPost 1.0 documentation" href="../index.html"/> + <link rel="next" title="Maintenance of SciPost documentation" href="../dev/maintenance/docs.html"/> <link rel="prev" title="Models" href="models.html"/> @@ -84,8 +85,10 @@ <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="models.html">Models</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> @@ -177,6 +180,14 @@ Naive implementation based on exact match of query. NEEDS UPDATING with e.g. Haystack.</p> </dd></dl> +<dl class="function"> +<dt id="scipost.views.draft_registration_invitation"> +<code class="descclassname">scipost.views.</code><code class="descname">draft_registration_invitation</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#draft_registration_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.draft_registration_invitation" title="Permalink to this definition">¶</a></dt> +<dd><p>For officers to prefill registration invitations. +This is similar to the registration_invitations method, +which is used to complete the invitation process.</p> +</dd></dl> + <dl class="function"> <dt id="scipost.views.email_group_members"> <code class="descclassname">scipost.views.</code><code class="descname">email_group_members</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#email_group_members"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.email_group_members" title="Permalink to this definition">¶</a></dt> @@ -227,7 +238,7 @@ NEEDS UPDATING with e.g. Haystack.</p> <dl class="function"> <dt id="scipost.views.registration_invitations"> -<code class="descclassname">scipost.views.</code><code class="descname">registration_invitations</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#registration_invitations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.registration_invitations" title="Permalink to this definition">¶</a></dt> +<code class="descclassname">scipost.views.</code><code class="descname">registration_invitations</code><span class="sig-paren">(</span><em>request</em>, <em>draft_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#registration_invitations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.registration_invitations" title="Permalink to this definition">¶</a></dt> <dd><p>Overview and tools for administrators</p> </dd></dl> @@ -459,6 +470,8 @@ This is an adapted version of the accept_or_decline_assignment_ack method.</p> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + <a href="../dev/maintenance/docs.html" class="btn btn-neutral float-right" title="Maintenance of SciPost documentation" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="models.html" class="btn btn-neutral" title="Models" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index 1bb1e0db757c291c2a48e29f5a9040f46d02b6c2..d59aa123b677371a5d7f4cc5d8b198e3a3148784 100644 Binary files a/docs/_build/html/objects.inv and b/docs/_build/html/objects.inv differ diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html index 4b2fea650130acc7846179eff77f50587d99802d..db94055e403f6aff48526f6837b6093787d0aba2 100644 --- a/docs/_build/html/py-modindex.html +++ b/docs/_build/html/py-modindex.html @@ -86,8 +86,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html index 7c63216f448fa84986018bcc4e4a17fb0911e669..cca61f696fe9f755fb89b2e67e956c0aa0ffa5d4 100644 --- a/docs/_build/html/search.html +++ b/docs/_build/html/search.html @@ -83,8 +83,10 @@ <ul> +<li class="toctree-l1"><a class="reference internal" href="howto/production.html">Production of SciPost Publications</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> +<li class="toctree-l1"><a class="reference internal" href="dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li> </ul> diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index d8cbf55fd5dddf18f945cb7c894c0db1e262ec0e..c602a340e487acc7297c11ec9def937a9fc13126 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:50,filenames:["index","modules/models","modules/views"],objects:{"commentaries.models":{Commentary:[1,1,1,""]},"commentaries.models.Commentary":{parse_links_into_urls:[1,2,1,""],scipost_url:[1,2,1,""],scipost_url_full:[1,2,1,""]},"commentaries.views":{prefill_using_DOI:[2,3,1,""],prefill_using_identifier:[2,3,1,""]},"comments.models":{Comment:[1,1,1,""]},"journals.models":{Deposit:[1,1,1,""],Issue:[1,1,1,""],Journal:[1,1,1,""],Publication:[1,1,1,""],UnregisteredAuthor:[1,1,1,""],Volume:[1,1,1,""]},"journals.models.Publication":{details:[1,2,1,""]},"journals.views":{add_author:[2,3,1,""],create_citation_list_metadata:[2,3,1,""],create_funding_info_metadata:[2,3,1,""],create_metadata_xml:[2,3,1,""],initiate_publication:[2,3,1,""],metadata_xml_deposit:[2,3,1,""],scipost_physics_accepted:[2,3,1,""],scipost_physics_recent:[2,3,1,""],upload_proofs:[2,3,1,""],validate_publication:[2,3,1,""]},"scipost.models":{AffiliationObject:[1,1,1,""],Arc:[1,1,1,""],AuthorshipClaim:[1,1,1,""],ChoiceArrayField:[1,1,1,""],Contributor:[1,1,1,""],Graph:[1,1,1,""],List:[1,1,1,""],NewsItem:[1,1,1,""],Node:[1,1,1,""],PrecookedEmail:[1,1,1,""],RegistrationInvitation:[1,1,1,""],Remark:[1,1,1,""],SPBMembershipAgreement:[1,1,1,""],SupportingPartner:[1,1,1,""],Team:[1,1,1,""],UnavailabilityPeriod:[1,1,1,""]},"scipost.models.Contributor":{public_info_as_table:[1,2,1,""]},"scipost.models.NewsItem":{descriptor_full:[1,2,1,""],descriptor_small:[1,2,1,""]},"scipost.views":{activation:[2,3,1,""],api_graph:[2,3,1,""],base:[2,3,1,""],claim_authorships:[2,3,1,""],contributor_info:[2,3,1,""],documentsSearchResults:[2,3,1,""],email_group_members:[2,3,1,""],email_particular:[2,3,1,""],get_query:[2,3,1,""],index:[2,3,1,""],invitation:[2,3,1,""],mark_reg_inv_as_declined:[2,3,1,""],normalize_query:[2,3,1,""],personal_page:[2,3,1,""],registration_invitations:[2,3,1,""],registration_invitations_cleanup:[2,3,1,""],remove_registration_invitation:[2,3,1,""],renew_registration_invitation:[2,3,1,""],search:[2,3,1,""],send_precooked_email:[2,3,1,""]},"submissions.models":{EICRecommendation:[1,1,1,""],EditorialAssignment:[1,1,1,""],EditorialCommunication:[1,1,1,""],RefereeInvitation:[1,1,1,""],Report:[1,1,1,""],Submission:[1,1,1,""]},"submissions.models.EditorialAssignment":{header_as_li:[1,2,1,""]},"submissions.views":{assignment_failed:[2,3,1,""],cancel_ref_invitation:[2,3,1,""],close_refereeing_round:[2,3,1,""],communication:[2,3,1,""],editorial_workflow:[2,3,1,""],fix_College_decision:[2,3,1,""],pool:[2,3,1,""],recruit_referee:[2,3,1,""],ref_invitation_reminder:[2,3,1,""],send_refereeing_invitation:[2,3,1,""],submissions:[2,3,1,""],volunteer_as_EIC:[2,3,1,""]},"theses.models":{ThesisLink:[1,1,1,""]},commentaries:{models:[1,0,0,"-"],views:[2,0,0,"-"]},comments:{models:[1,0,0,"-"],views:[2,0,0,"-"]},journals:{models:[1,0,0,"-"],views:[2,0,0,"-"]},scipost:{models:[1,0,0,"-"],views:[2,0,0,"-"]},submissions:{models:[1,0,0,"-"],views:[2,0,0,"-"]},theses:{models:[1,0,0,"-"],views:[2,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"abstract":1,"case":2,"class":1,"function":2,"import":2,"new":1,"public":[1,2],"return":[1,2],"true":2,"while":2,_sre:2,abov:[1,2],accept:[1,2],accept_or_decline_assignment_ack:2,acceptance_d:1,accepted_submiss:1,access:[1,2],accessibl:1,account:2,action:2,activ:2,adapt:2,add_author:2,address:2,adjust:1,admin:1,administr:2,affiliationobject:1,after:2,agreement:1,all:[1,2],allow:[1,2],among:2,ani:2,anoth:2,answer:2,api:2,api_graph:2,appear:2,arc:1,arg:1,arrai:1,arrayfield:1,arrow:1,arxiv:[1,2],arxiv_identifier_w_vn_nr:[1,2],arxiv_identifier_wo_vn_nr:1,arxiv_link:1,arxiv_vn_nr:1,ask:2,assignment_fail:2,associ:2,author:[1,2],author_com:1,author_list:1,authorship:2,authorshipclaim:1,auto:2,automat:2,base:2,base_field:1,becom:[1,2],been:2,befor:2,below:2,between:[1,2],bibtex_entri:1,blurb:1,board:1,both:1,built:2,bulk:2,call:[1,2],can:[1,2],cancel:1,cancel_ref_invit:2,charg:[1,2],choic:1,choicearrayfield:1,citation_list:2,citedbi:1,claim:2,claim_authorship:2,claimant:1,click:2,close_refereeing_round:2,collabor:1,collect:1,colleg:2,combin:2,comment:[1,2],commentari:[1,2],commun:[1,2],compar:2,complet:1,compos:1,comtyp:2,confirm:2,contact:2,contain:[1,2],content:[0,1,2],context:2,contribut:[1,2],contributor:[1,2],contributor_id:2,contributor_info:2,countri:1,creat:[1,2],create_citation_list_metadata:2,create_funding_info_metadata:2,create_metadata_xml:2,crossref:[1,2],current:1,data:2,databas:2,date:1,date_answ:1,date_cr:1,date_invit:1,date_last_remind:1,date_respond:1,date_submit:1,declin:2,defin:1,deni:2,deposit:[1,2],deprec:1,descriptor_ful:1,descriptor_smal:1,desir:2,detail:[1,2],detect:2,determin:1,dictionari:2,digest:2,direct:1,disciplin:1,displai:2,django:1,documentssearchresult:2,doe:2,doi:[1,2],doi_label:1,doi_str:[1,2],domain:1,dure:2,each:1,earlier:1,edadmin:2,edit:1,editor:[1,2],editor_in_charg:1,editori:[1,2],editorial_pag:2,editorial_workflow:2,editorialassign:1,editorialcommun:1,eic:2,eicrecommend:1,email:[1,2],email_address:1,email_group_memb:2,email_particular:2,enabl:1,end:1,entri:2,etc:1,exact:2,explor:1,fellow:2,field:[1,2],fill:2,find:2,findal:2,findterm:2,first_author:1,first_author_unregist:1,first_nam:1,fix_college_decis:2,flag:2,followup_link:1,followup_link_text:1,foreignkei:1,form:2,format:1,formfield:1,formul:2,from:[1,2],fulfil:1,funding_info:2,further:[1,2],gather:2,get_queri:2,given:1,global:2,graph:[1,2],graph_id:2,group:2,handl:2,hasn:2,have:2,haystack:2,header:2,header_as_li:1,headlin:1,here:1,histori:1,html:[1,2],identifi:2,implement:2,in_issu:1,in_journ:1,in_volum:1,index:[0,1,2],individu:[1,2],info:1,inherit:[1,2],initiate_publ:2,instanc:[1,2],instead:2,institut:1,invit:[1,2],invitat:1,invitation_id:2,invitation_kei:1,invited_bi:1,is_curr:1,is_resubmiss:1,isn:2,issn:1,issue:1,journal:[1,2],json:2,keep:2,kei:2,keyword:2,kwarg:1,last_nam:1,latest_act:1,length:1,link:[1,2],list:[1,2],list_of_chang:1,log:2,made:1,main:2,make:2,manuscript:2,mark:2,mark_reg_inv_as_declin:2,match:2,member:2,membership:1,metadata:[1,2],metadata_xml:[1,2],metadata_xml_deposit:2,method:[1,2],model:[],modul:[0,2],most:2,multiplechoicefield:1,must:2,naiv:2,name:[1,2],navbar:2,needs:2,newsitem:1,node:1,none:[1,2],normalize_queri:2,normspac:2,note:1,nr_remind:1,number:[1,2],object:[1,2],occur:2,off:2,once:2,onli:1,open_for_com:1,open_for_report:1,option:2,otherwis:2,out:1,overlap:2,overview:2,page:[0,1,2],paper:2,paper_nr:1,parse_links_into_url:1,particular:1,partner:1,password:1,path:1,pdf:2,pdf_file:1,pend:2,permiss:1,person:[1,2],personal_pag:2,perus:2,physic:2,plain:1,plot:2,point:1,pool:2,popul:2,postgr:1,potenti:2,pre:2,precook:2,precookedemail:1,prefil:2,prefill_using_doi:2,prefill_using_identifi:2,print:1,privat:1,probe:2,process:2,produc:2,product:2,proof:2,provid:[1,2],public_info_as_t:1,publication_d:1,publication_detail:1,publication_id:2,publicli:1,publish:2,python:2,queri:2,query_str:2,quot:2,read:1,rec_id:2,recent:2,recogn:2,recommend:[1,2],recruit_refere:2,ref_invitation_remind:2,refere:[1,2],referee_id:2,refereeinvit:1,referees_flag:1,referees_suggest:1,refusal_reason:1,regist:2,registr:[1,2],registration_invit:2,registration_invitations_cleanup:2,registrationinvit:1,reject:2,relev:2,remark:1,remarks_for_author:1,remarks_for_editor:1,remarks_for_editorial_colleg:1,remov:2,remove_registration_invit:2,renew:[1,2],renew_registration_invit:2,repli:[1,2],report:[1,2],reporting_deadlin:1,repres:1,request:2,requested_chang:1,right:1,round:2,same:1,satisfactori:2,scipost_physics_accept:2,scipost_physics_rec:2,scipost_url:1,scipost_url_ful:1,search:[0,2],search_field:2,secondary_area:1,see:[1,2],select:2,send:2,send_precooked_email:[1,2],send_refereeing_invit:2,sent:2,server:2,set:1,she:2,size:1,skeleton:2,somebodi:2,sourc:[1,2],spbmembershipagr:1,split:2,sre_pattern:2,start:1,start_dat:1,statu:1,store:1,string:2,sub:[1,2],subject:2,subject_area:1,submiss:[1,2],submission_d:1,submission_typ:1,submit:1,submitted_bi:1,submitted_to_journ:1,subunit:1,summari:2,support:1,supportingpartn:1,system:2,take:[1,2],team:[1,2],teams_with_access:1,templat:[1,2],termin:2,test:2,thei:2,them:2,thesi:1,thesislink:[1,2],thi:[1,2],those:2,through:2,thu:1,time:1,titl:1,to_journ:2,todo:2,togeth:2,token:2,tool:2,turn:1,two:1,type:1,unavailabilityperiod:1,undergo:2,unregist:2,unregistered_author_id:2,unregisteredauthor:1,unsollicit:1,until_d:1,updating:2,upload:2,upload_proof:2,upon:2,url:1,use:1,user:[1,2],usernam:1,validate_publ:2,validatepublicationform:2,verif:2,version:[1,2],vetted_bi:1,view:[],volum:1,volunt:2,volunteer_as_eic:2,vote:2,voting_deadlin:1,want:2,well:2,when:2,where:2,which:2,who:2,without:1,word:2,yet:2},titles:["Welcome to SciPost’s documentation!","Models","Views"],titleterms:{document:0,indice:0,model:1,scipost:0,tabl:0,view:2,welcom:0}}) \ No newline at end of file +Search.setIndex({envversion:50,filenames:["dev/maintenance/docs","howto/production","index","modules/models","modules/views"],objects:{"commentaries.models":{Commentary:[3,1,1,""]},"commentaries.models.Commentary":{parse_links_into_urls:[3,2,1,""],scipost_url:[3,2,1,""],scipost_url_full:[3,2,1,""]},"commentaries.views":{prefill_using_DOI:[4,3,1,""],prefill_using_identifier:[4,3,1,""]},"comments.models":{Comment:[3,1,1,""]},"journals.models":{Deposit:[3,1,1,""],Issue:[3,1,1,""],Journal:[3,1,1,""],Publication:[3,1,1,""],UnregisteredAuthor:[3,1,1,""],Volume:[3,1,1,""]},"journals.models.Publication":{details:[3,2,1,""]},"journals.views":{add_author:[4,3,1,""],create_citation_list_metadata:[4,3,1,""],create_funding_info_metadata:[4,3,1,""],create_metadata_xml:[4,3,1,""],initiate_publication:[4,3,1,""],metadata_xml_deposit:[4,3,1,""],scipost_physics_accepted:[4,3,1,""],scipost_physics_recent:[4,3,1,""],upload_proofs:[4,3,1,""],validate_publication:[4,3,1,""]},"scipost.models":{AffiliationObject:[3,1,1,""],Arc:[3,1,1,""],AuthorshipClaim:[3,1,1,""],ChoiceArrayField:[3,1,1,""],Contributor:[3,1,1,""],DraftInvitation:[3,1,1,""],Graph:[3,1,1,""],List:[3,1,1,""],NewsItem:[3,1,1,""],Node:[3,1,1,""],PrecookedEmail:[3,1,1,""],RegistrationInvitation:[3,1,1,""],Remark:[3,1,1,""],SPBMembershipAgreement:[3,1,1,""],SupportingPartner:[3,1,1,""],Team:[3,1,1,""],UnavailabilityPeriod:[3,1,1,""]},"scipost.models.Contributor":{public_info_as_table:[3,2,1,""]},"scipost.models.NewsItem":{descriptor_full:[3,2,1,""],descriptor_small:[3,2,1,""]},"scipost.views":{activation:[4,3,1,""],api_graph:[4,3,1,""],base:[4,3,1,""],claim_authorships:[4,3,1,""],contributor_info:[4,3,1,""],documentsSearchResults:[4,3,1,""],draft_registration_invitation:[4,3,1,""],email_group_members:[4,3,1,""],email_particular:[4,3,1,""],get_query:[4,3,1,""],index:[4,3,1,""],invitation:[4,3,1,""],mark_reg_inv_as_declined:[4,3,1,""],normalize_query:[4,3,1,""],personal_page:[4,3,1,""],registration_invitations:[4,3,1,""],registration_invitations_cleanup:[4,3,1,""],remove_registration_invitation:[4,3,1,""],renew_registration_invitation:[4,3,1,""],search:[4,3,1,""],send_precooked_email:[4,3,1,""]},"submissions.models":{EICRecommendation:[3,1,1,""],EditorialAssignment:[3,1,1,""],EditorialCommunication:[3,1,1,""],RefereeInvitation:[3,1,1,""],Report:[3,1,1,""],Submission:[3,1,1,""]},"submissions.models.EditorialAssignment":{header_as_li:[3,2,1,""]},"submissions.views":{assignment_failed:[4,3,1,""],cancel_ref_invitation:[4,3,1,""],close_refereeing_round:[4,3,1,""],communication:[4,3,1,""],editorial_workflow:[4,3,1,""],fix_College_decision:[4,3,1,""],pool:[4,3,1,""],recruit_referee:[4,3,1,""],ref_invitation_reminder:[4,3,1,""],send_refereeing_invitation:[4,3,1,""],submissions:[4,3,1,""],volunteer_as_EIC:[4,3,1,""]},"theses.models":{ThesisLink:[3,1,1,""]},commentaries:{models:[3,0,0,"-"],views:[4,0,0,"-"]},comments:{models:[3,0,0,"-"],views:[4,0,0,"-"]},journals:{models:[3,0,0,"-"],views:[4,0,0,"-"]},scipost:{models:[3,0,0,"-"],views:[4,0,0,"-"]},submissions:{models:[3,0,0,"-"],views:[4,0,0,"-"]},theses:{models:[3,0,0,"-"],views:[4,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"abstract":3,"case":4,"class":3,"function":4,"import":4,"new":3,"public":[],"return":[3,4],"true":4,"while":4,_sre:4,abov:[3,4],accept:[1,3,4],accept_or_decline_assignment_ack:4,acceptance_d:3,accepted_submiss:3,access:[3,4],accessibl:3,account:4,action:4,activ:4,adapt:4,add_author:4,address:4,adjust:3,admin:3,administr:[1,4],affiliationobject:3,after:4,agreement:3,all:[3,4],allow:[3,4],among:4,ani:4,anoth:4,answer:4,api:4,api_graph:4,appear:4,arc:3,arg:3,arrai:3,arrayfield:3,arrow:3,arxiv:[3,4],arxiv_identifier_w_vn_nr:[3,4],arxiv_identifier_wo_vn_nr:3,arxiv_link:3,arxiv_vn_nr:3,ask:4,assignment_fail:4,associ:4,author:[3,4],author_com:3,author_list:3,authorship:4,authorshipclaim:3,auto:4,automat:4,base:4,base_field:3,becom:[3,4],been:4,befor:4,below:4,between:[3,4],bibtex_entri:3,blurb:3,board:3,both:3,built:4,bulk:4,call:[3,4],can:[3,4],cancel:3,cancel_ref_invit:4,charg:[3,4],choic:3,choicearrayfield:3,citation_list:4,citedbi:3,claim:4,claim_authorship:4,claimant:3,click:4,close_refereeing_round:4,collabor:3,collect:3,colleg:4,combin:4,command:0,comment:[3,4],commentari:[3,4],commun:[3,4],compar:4,complet:[3,4],compos:3,comtyp:4,confirm:4,contact:4,contain:[3,4],content:[2,3,4],context:4,contribut:[3,4],contributor:[3,4],contributor_id:4,contributor_info:4,countri:3,creat:[3,4],create_citation_list_metadata:4,create_funding_info_metadata:4,create_metadata_xml:4,crossref:[3,4],current:3,data:4,databas:4,date:3,date_answ:3,date_cr:3,date_invit:3,date_last_remind:3,date_respond:3,date_submit:3,declin:4,defin:3,deni:4,deposit:[3,4],deprec:3,describ:1,descriptor_ful:3,descriptor_smal:3,desir:4,detail:[3,4],detect:4,determin:3,dictionari:4,digest:4,direct:3,disciplin:3,displai:4,django:3,documentssearchresult:4,doe:4,doi:[3,4],doi_label:3,doi_str:[3,4],domain:3,draft:3,draft_id:4,draft_registration_invit:4,draftinvit:3,dure:4,each:3,earlier:3,edadmin:4,edit:3,editor:[3,4],editor_in_charg:3,editori:[1,3,4],editorial_pag:4,editorial_workflow:4,editorialassign:3,editorialcommun:3,eic:4,eicrecommend:3,email:[3,4],email_address:3,email_group_memb:4,email_particular:4,enabl:3,end:3,entri:4,etc:3,exact:4,explor:3,fellow:4,field:[3,4],fill:[3,4],find:4,findal:4,findterm:4,first_author:3,first_author_unregist:3,first_nam:3,fix_college_decis:4,flag:4,folder:0,followup_link:3,followup_link_text:3,foreignkei:3,form:4,format:3,formfield:3,formul:4,from:[1,3,4],fulfil:3,funding_info:4,further:[3,4],gather:4,get_queri:4,given:3,global:4,graph:[3,4],graph_id:4,group:4,guid:1,handl:4,hasn:4,have:4,haystack:4,header:4,header_as_li:3,headlin:3,here:3,histori:3,html:[],identifi:4,implement:4,in_issu:3,in_journ:3,in_volum:3,index:[2,3,4],individu:[3,4],info:3,inherit:[3,4],initiate_publ:4,instanc:[3,4],instead:4,institut:3,invit:[3,4],invitat:3,invitation_id:4,invitation_kei:3,invited_bi:3,invok:0,is_curr:3,is_resubmiss:3,isn:4,issn:3,issue:3,journal:[3,4],json:4,keep:4,kei:4,keyword:4,kwarg:3,last_nam:3,latest_act:3,length:3,link:[3,4],list:[3,4],list_of_chang:3,log:4,made:3,main:4,make:[0,4],manag:0,manuscript:4,mark:4,mark_reg_inv_as_declin:4,match:4,meant:1,member:4,membership:3,metadata:[3,4],metadata_xml:[3,4],metadata_xml_deposit:4,method:[3,4],model:[],modul:[2,4],most:4,multiplechoicefield:3,must:4,naiv:4,name:[3,4],navbar:4,needs:4,newsitem:3,node:3,none:[3,4],normalize_queri:4,normspac:4,note:3,nr_remind:3,number:[3,4],object:[3,4],occur:4,off:4,offic:[3,4],officer:1,once:4,onli:3,open_for_com:3,open_for_report:3,option:4,otherwis:4,out:3,overlap:4,overview:4,page:[2,3,4],paper:[1,4],paper_nr:3,parse_links_into_url:3,particular:3,partner:3,password:3,path:3,pdf:4,pdf_file:3,pend:4,permiss:3,person:[3,4],personal_pag:4,perus:4,physic:4,plain:3,plot:4,point:3,pool:4,popul:4,post:1,postgr:3,potenti:4,pre:4,precook:4,precookedemail:3,prefil:4,prefill_using_doi:4,prefill_using_identifi:4,print:3,privat:3,probe:4,process:4,produc:4,product:[],project:0,proof:4,provid:[3,4],public_info_as_t:3,publication_d:3,publication_detail:3,publication_id:4,publicli:3,publish:4,python:[0,4],queri:4,query_str:4,quot:4,read:3,rec_id:4,recent:4,recogn:4,recommend:[3,4],recruit_refere:4,ref_invitation_remind:4,refere:[3,4],referee_id:4,refereeinvit:3,referees_flag:3,referees_suggest:3,refusal_reason:3,regist:4,registr:[3,4],registration_invit:4,registration_invitations_cleanup:4,registrationinvit:3,reject:4,relev:4,remark:3,remarks_for_author:3,remarks_for_editor:3,remarks_for_editorial_colleg:3,remov:4,remove_registration_invit:4,renew:[3,4],renew_registration_invit:4,repli:[3,4],report:[3,4],reporting_deadlin:3,repres:3,request:4,requested_chang:3,right:3,round:4,same:3,satisfactori:4,scipost_physics_accept:4,scipost_physics_rec:4,scipost_url:3,scipost_url_ful:3,search:[2,4],search_field:4,secondary_area:3,see:[3,4],select:4,send:4,send_precooked_email:[3,4],send_refereeing_invit:4,sent:4,server:4,set:3,she:4,similar:4,size:3,skeleton:4,slug:0,somebodi:4,sourc:[3,4],spbmembershipagr:3,split:4,sre_pattern:4,start:3,start_dat:3,statu:3,store:3,string:4,sub:[3,4],subject:4,subject_area:3,submiss:[3,4],submission_d:3,submission_typ:3,submit:3,submitted_bi:3,submitted_to_journ:3,subunit:3,summari:4,support:3,supportingpartn:3,system:4,take:[3,4],team:[3,4],teams_with_access:3,templat:[3,4],termin:4,test:4,thei:4,them:4,thesi:3,thesislink:[3,4],thi:[1,3,4],those:4,through:4,thu:3,time:3,titl:3,to_journ:4,todo:4,togeth:4,token:4,tool:4,turn:3,two:3,type:3,unavailabilityperiod:3,undergo:4,unregist:4,unregistered_author_id:4,unregisteredauthor:3,unsollicit:3,until_d:3,updatedoc:0,updating:4,upload:4,upload_proof:4,upon:4,url:3,use:[0,3],user:[3,4],usernam:3,validate_publ:4,validatepublicationform:4,verif:4,version:[3,4],vetted_bi:3,view:[],volum:3,volunt:4,volunteer_as_eic:4,vote:4,voting_deadlin:3,want:4,well:4,when:4,where:4,which:4,who:4,without:3,word:4,workflow:1,yet:4},titles:["Maintenance of SciPost documentation","Production of SciPost Publications","Welcome to SciPost’s documentation!","Models","Views"],titleterms:{"public":1,"static":0,doc:0,document:[0,2],file:0,gener:0,html:0,indice:2,mainten:0,model:3,onlin:0,product:1,scipost:[0,1,2],sphinx:0,sphinxdoc:0,tabl:2,update:0,view:4,viewabl:0,welcom:2}}) \ No newline at end of file diff --git a/docs/contributors/contributors.rst b/docs/contributors/contributors.rst new file mode 100644 index 0000000000000000000000000000000000000000..c732f35bff4dd4dba49d7f0129f3a4e7177af147 --- /dev/null +++ b/docs/contributors/contributors.rst @@ -0,0 +1,8 @@ +For Contributors +================ + + +.. toctree:: + :maxdepth: 2 + + editorial_administrators/editorial_administrators diff --git a/docs/contributors/editorial_administrators/#production.rst# b/docs/contributors/editorial_administrators/#production.rst# new file mode 100644 index 0000000000000000000000000000000000000000..be80d8e9e78b00c5b8934b6ba0fe99f941e9ab32 --- /dev/null +++ b/docs/contributors/editorial_administrators/#production.rst# @@ -0,0 +1,8 @@ +.. Howto for publication production + +Production of SciPost Publications +================================== + +This guide is meant for **Editorial Administrators** and **Production Officers**. It describes the post-acceptance workflow from paper acceptance to publication. + + diff --git a/docs/contributors/editorial_administrators/.#production.rst b/docs/contributors/editorial_administrators/.#production.rst new file mode 120000 index 0000000000000000000000000000000000000000..056404ec50d17d6b0698fdda1bf43a37cff93414 --- /dev/null +++ b/docs/contributors/editorial_administrators/.#production.rst @@ -0,0 +1 @@ +jscaux@MacBook-Pro-7.local.2955 \ No newline at end of file diff --git a/docs/contributors/editorial_administrators/editorial_administrators.rst b/docs/contributors/editorial_administrators/editorial_administrators.rst new file mode 100644 index 0000000000000000000000000000000000000000..03174bbbdd6e1706baabbefc4e254d7cec4db835 --- /dev/null +++ b/docs/contributors/editorial_administrators/editorial_administrators.rst @@ -0,0 +1,8 @@ +Editorial Administrators +======================== + + +.. toctree:: + :maxdepth: 2 + + production diff --git a/docs/contributors/editorial_administrators/production.rst b/docs/contributors/editorial_administrators/production.rst new file mode 100644 index 0000000000000000000000000000000000000000..9dfdf28a313d1309f63eb37aed3e62a3c43bafe1 --- /dev/null +++ b/docs/contributors/editorial_administrators/production.rst @@ -0,0 +1,6 @@ +.. Howto for publication production + +Production of SciPost Publications +================================== + +This guide is meant for **Editorial Administrators** and **Production Officers**. It describes the post-acceptance workflow from paper acceptance to publication. diff --git a/docs/developers/codebase/codebase.rst b/docs/developers/codebase/codebase.rst new file mode 100644 index 0000000000000000000000000000000000000000..936a62247219a43e5cdb921cd6e505c64098f92d --- /dev/null +++ b/docs/developers/codebase/codebase.rst @@ -0,0 +1,9 @@ +SciPost codebase +================ + + +.. toctree:: + :maxdepth: 2 + + modules/models + modules/views diff --git a/docs/modules/models.rst b/docs/developers/codebase/modules/models.rst similarity index 100% rename from docs/modules/models.rst rename to docs/developers/codebase/modules/models.rst diff --git a/docs/modules/views.rst b/docs/developers/codebase/modules/views.rst similarity index 100% rename from docs/modules/views.rst rename to docs/developers/codebase/modules/views.rst diff --git a/docs/developers/developers.rst b/docs/developers/developers.rst new file mode 100644 index 0000000000000000000000000000000000000000..557c2eaf7ba92fea4f507844425a4920b0c464ea --- /dev/null +++ b/docs/developers/developers.rst @@ -0,0 +1,9 @@ +For Developers +============== + + +.. toctree:: + :maxdepth: 2 + + maintenance/maintenance + codebase/codebase diff --git a/docs/developers/maintenance/docs.rst b/docs/developers/maintenance/docs.rst new file mode 100644 index 0000000000000000000000000000000000000000..784ada5758831940930019f828c95c6c354d8de4 --- /dev/null +++ b/docs/developers/maintenance/docs.rst @@ -0,0 +1,22 @@ +Maintenance of SciPost documentation +==================================== + + +Sphinx-generated docs +--------------------- + + +Generating the static html files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the docs folder, invoke ``make html``. + + + +Sphinxdoc-generated docs (viewable online) +------------------------------------------ + +Updating the docs: +~~~~~~~~~~~~~~~~~~ + +Use the management command ``python manage.py updatedoc -b <project-slug>`` with slug scipost. diff --git a/docs/developers/maintenance/maintenance.rst b/docs/developers/maintenance/maintenance.rst new file mode 100644 index 0000000000000000000000000000000000000000..3122094aaccb78ef912ad93b26daff58a6b985b7 --- /dev/null +++ b/docs/developers/maintenance/maintenance.rst @@ -0,0 +1,8 @@ +Maintenance +=========== + + +.. toctree:: + :maxdepth: 2 + + docs diff --git a/docs/index.rst b/docs/index.rst index 1fae5f89bd05e67441af1490d9bb6ec64e4bae1b..5b4a14377165a55f0ee5a0355ad9ec4095e357c9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,10 +9,10 @@ Welcome to SciPost's documentation! Contents: .. toctree:: - :maxdepth: 2 + :maxdepth: 3 - modules/models - modules/views + contributors/contributors + developers/developers Indices and tables diff --git a/scipost/templates/scipost/howto.html b/scipost/templates/scipost/howto.html new file mode 100644 index 0000000000000000000000000000000000000000..f01dfda26dbd2a5a387fb77e4b2463485c38f77a --- /dev/null +++ b/scipost/templates/scipost/howto.html @@ -0,0 +1,25 @@ +{% extends 'scipost/base.html' %} + +{% block pagetitle %}: Howto Guides{% endblock pagetitle %} + +{% block bodysup %} + +{% load scipost_extras %} + + +<section> + <h1>SciPost Howto Guides</h1> + + <ul> + <li> + Post-acceptance: + <ul> + <li><a href="{% url 'scipost:howto_production' %}">production</a></li> + </ul> + </li> + </ul> + +</section> + + +{% endblock bodysup %} diff --git a/scipost/templates/scipost/howto_production.html b/scipost/templates/scipost/howto_production.html new file mode 100644 index 0000000000000000000000000000000000000000..d5fe13f22ab35ee5919adfc486e2f095b9909076 --- /dev/null +++ b/scipost/templates/scipost/howto_production.html @@ -0,0 +1,135 @@ +{% extends 'scipost/base.html' %} + +{% block pagetitle %}: Howto: Production{% endblock pagetitle %} + +{% block bodysup %} + +{% load scipost_extras %} + + +<section> + <h1>SciPost Publications: Production</h1> + <ul><li>Go back to the <a href="{% url 'scipost:howto' %}">Howto Guides</a> Page</li></ul> + + <p>This guide is meant for <strong>Editorial Administrators</strong> and <strong>Production Officers</strong>. It describes the post-acceptance workflow from paper acceptance to publication.</p> + + <p>Version: 2016-12-16</p> + + <hr class="hr12"/> + + <ol> + <li> + <h3>Preparation</h3> + <ol> + <li> + <p>Check the Submission's list of references: if the syle isn’t right (most importantly: DOI missing), ask authors to provide an updated <code>bibliography</code> or <code>.bbl</code> file by email.</p> + </li> + </ol> + </li><!-- Preparation --> + + <li> + <h3>Source retrieval and folder preparation</h3> + + <ol> + <li> + <p>On the SciPost server, navigate to folder <code>[Journal full name]/IN PRODUCTION</code>.</p> + </li> + <li> + <p>Create a folder <code>[journal abbrev. name]_[arxiv identifier]_[first author last name]</code>, e.g. <code>SciPost_Phys_1604.98141v3_Smart</code>.</p> + </li> + <li> + <p>Save the source from arXiv into this folder.</p> + </li> + <li> + <p>NOTE: the file will be named <code>####.#####v#</code>, which is not recognized as a <code>.tar.gz</code> file on a UNIX system.</p> + <p>Rename the file <code>####.####v#.tar.gz</code>. Unzipping it produces the folder <code>####.#####v#</code>.</p> + </li> + <li> + <p>Copy the files in <code>[Journal full name]/v##_production/FILES_TO_COPY_IN_PAPER_DIR</code> to the paper-in-production’s folder. There are 4 files: <code>by.eps, logo_scipost_with_bgd.pdf, SciPost_bibstyle.bst, SciPost.cls</code>.</p> + </p> + </li> + <li> + <p>Copy all the paper’s sources one level down (so from <code>####.#####v#</code> to the current directory).</p> + </li> + <li> + <p>Copy the <code>.tex</code> source to a new file using the name convention <code>[Journal abbrev. name]_####_#####v#_[first author last name].tex</code> (careful: use underscore instead of . between numbers).</p> + </li> + </ol> + + </li><!-- Source retrieval --> + + <li> + <h3>LaTeX file preparation</h3> + + + <ol> + <li> + <h4>Handling references</h4> + </li> + + <li> + <h4>Implementing the SciPost style</h4> + <ol> + <li> + <pre><code> +%%%%%%%% Begin SciPost Production addition + +\usepackage[bitstream-charter]{mathdesign} + +\hypersetup{ +colorlinks, +linkcolor={red!50!black}, +citecolor={blue!50!black}, +urlcolor={blue!80!black} +} + +\urlstyle{sf} + +\fancypagestyle{SPtitlepage}{% +\fancyhf{} +\fancyfoot[C]{\textbf{\thepage}} +\lhead{\raisebox{-1.5mm}[0pt][0pt]{\href{https://scipost.org}{\includegraphics[width=20mm]{logo_scipost_with_bgd.pdf}}}} +\chead{} +\rhead{\small \href{https://scipost.org/SciPostPhys.1.1.???}{SciPost Phys. 1, ??? (2016)}} +\renewcommand{\headrulewidth}{1pt} +} + +\fancypagestyle{SPbulk}{ +\fancyhf{} +\lhead{\raisebox{-1.5mm}[0pt][0pt]{\href{https://scipost.org}{\includegraphics[width=20mm]{logo_scipost_with_bgd.pdf}}}} +\rhead{\small \href{https://scipost.org/SciPostPhys.1.1.???}{SciPost Phys. 1, ??? (2016)}} +\fancyfoot[C]{\textbf{\thepage}} +\renewcommand{\headrulewidth}{1pt} +} + +%%%%%%%% End SciPost Production addition + </code></pre> + </li> + </ol> + </li> + </ol> + </li><!-- Implementing the SciPost style --> + + <li> + <h3>References validation</h3> + </li><!-- References validation --> + + <li> + <h3>Proofs</h3> + </li><!-- Proofs --> + + <li> + <h3>Online publication</h3> + </li><!-- Online publication --> + + <li> + <h3>Metadata preparation and DOI registration with Crossref</h3> + </li><!-- Metadata, DOI --> + + </ol> + + +</section> + + +{% endblock bodysup %}