SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 59f316d6 authored by Jorran de Wit's avatar Jorran de Wit
Browse files

Merge branch 'dev_JSC_20181028_profilesupdate' of...

Merge branch 'dev_JSC_20181028_profilesupdate' of bitbucket.org:scipostdev/scipost_v1 into dev_JSC_20181028_profilesupdate
parents 3f231067 5055125a
No related branches found
No related tags found
No related merge requests found
{% load bootstrap %}
{% load profiles_extras %}
<script>
$(document).ready(function() {
$("#id_A_text").keyup(function() {
......@@ -78,7 +80,7 @@
</div>
<hr/>
{% endif %}
<div class="card-deck">
<div class="card-columns">
<div class="card">
<div class="card-header">
Publications
......@@ -115,6 +117,25 @@
</ul>
</div>
</div>
<div class="card">
<div class="card-header">
Profiles
</div>
<div class="card-body">
<ul>
{% get_profiles topic.slug as profiles %}
{% for profile in profiles %}
{% if profile.contributor %}
<li><a href="{{ profile.contributor.get_absolute_url }}">{{ profile }}</a></li>
{% else %}
<li>{{ profile }}</li>
{% endif %}
{% empty %}
<li>No Profile found</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
</div>
......@@ -3,12 +3,16 @@ __license__ = "AGPL v3"
from django.db import models
from django.shortcuts import get_object_or_404
from scipost.behaviors import orcid_validator
from scipost.constants import (
TITLE_CHOICES, SCIPOST_DISCIPLINES, DISCIPLINE_PHYSICS, SCIPOST_SUBJECT_AREAS)
from scipost.fields import ChoiceArrayField
from ontology.models import Topic
from journals.models import PublicationAuthorsTable
from .managers import ProfileQuerySet
......@@ -81,3 +85,19 @@ class ProfileEmail(models.Model):
def __str__(self):
return self.email
def get_profiles(slug):
"""
Returns a list of Profiles for which there exists at least one
Publication/Submission object carrying this Topic.
"""
topic = get_object_or_404(Topic, slug=slug)
publications = PublicationAuthorsTable.objects.filter(publication__topics__in=[topic,])
cont_id_list = [tbl.contributor.id for tbl in publications.all() \
if tbl.contributor is not None]
unreg_id_list = [tbl.unregistered_author.id for tbl in publications.all() \
if tbl.unregistered_author is not None]
print (unreg_id_list)
return Profile.objects.filter(models.Q(contributor__id__in=cont_id_list) |
models.Q(unregisteredauthor__id__in=unreg_id_list))
__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django import template
from ..models import get_profiles as profiles_get_profiles
register = template.Library()
@register.simple_tag
def get_profiles(slug):
return profiles_get_profiles(slug)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment