Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A quick-fix to allow migrating the database. Untested #146

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ labman_ud/collected_static/
# Test database files
*.db
*.sqlite3
**/.idea/workspace.xml **/.idea/tasks.xml
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 28 additions & 26 deletions labman_ud/charts/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -612,18 +612,19 @@ def publications_egonetwork(request, author_slug):
####################################################################################################

def publications_by_author(request, author_slug):
publications = {}
# Publications dict Ordered
publications = OrderedDict()

author = get_object_or_404(Person, slug=author_slug)

publication_ids = PublicationAuthor.objects.filter(author=author.id).values('publication_id')
_publications = Publication.objects.select_related('journalarticle', 'journalarticle__parent_journal').filter(id__in=publication_ids)

min_year = _publications.aggregate(Min('year'))
max_year = _publications.aggregate(Max('year'))
_publications = Publication.objects.select_related('journalarticle', 'journalarticle__parent_journal')\
.filter(id__in=publication_ids)

# If is not provided a minimum year, the program will pick the last 7 years as min day
min_year = _publications.aggregate(Min('year')).get('year__min', False)
max_year = datetime.date.today().year
min_year = min_year.get('year__min')

# At least 7 years must be provided (even if they're 0) to
# have a nice graph in nvd3. Otherwise, years are repeated in
# people who published lately
Expand All @@ -632,16 +633,14 @@ def publications_by_author(request, author_slug):
else:
min_year = max_year - 7

years = []

for year in range(min_year, max_year + 1):
years.append(year)

# Generating the range of years
years = range(min_year, max_year + 1)
# Initializing the publication dicts
for publication_type in PUBLICATION_TYPES:
publications[publication_type] = {}
for year in range(min_year, max_year + 1):
publications[publication_type] = OrderedDict()
for year in years:
publications[publication_type][year] = 0

# Filling with slug data
for publication in _publications:
pub_type = publication.child_type
if pub_type == 'JournalArticle':
Expand Down Expand Up @@ -1199,31 +1198,34 @@ def position_distribution(request, organization_slug=None):
for year in range(start_year, end_year + 1):
position_distribution_sets[year][position_slug].add(job.person.full_name)

# Defining the total persons across the years
max_persons = 0
years = range(min_year, actual_year + 1)

for year in range(min_year, actual_year + 1):
for year in years:
total_year = 0

for position in position_list:
position_slug = slugify(position)
total_year = total_year + len(position_distribution_sets[year][position_slug])
position_distribution[year][position_slug] = len(position_distribution_sets[year][position_slug])

if (total_year > max_persons):
if total_year > max_persons:
max_persons = total_year

position_distribution_array = []

position_distribution_array.append(['Year'])

# Creating the position array list
position_distribution_array = list()
# Creating the table indices list to specify the data types
position_distribution_array.append(list())
# Appending the Type of the year
position_distribution_array[0].append({'label': 'Year', 'type': 'string'})
# Filling position data types
for position in position_list:
position_distribution_array[0].append(position)

for year in range(min_year, actual_year + 1):
position_distribution_array[0].append({'label': position.encode('utf-8'), 'type': 'number'})
# Filling data into the table
for year in years:
array_row = [str(year)]
for position in position_list:
array_row.append(position_distribution[year][slugify(position)])

# Inserting
position_distribution_array.append(array_row)

return_dict = {
Expand Down
14 changes: 0 additions & 14 deletions labman_ud/entities/persons/templates/members/awards.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,3 @@
</div>

{% endblock %}



{% block people_scripts %}

<script>
$('.member_biography').removeClass('btn-primary');
$('.member_biography').addClass('btn-default');

$('.member_awards').removeClass('btn-default');
$('.member_awards').addClass('btn-primary');
</script>

{% endblock %}
10 changes: 5 additions & 5 deletions labman_ud/entities/persons/templates/members/info.html
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,14 @@ <h4>Profiles</h4>

<div class="centered">
{% if display_bio %}
<a href="{% url 'member_info' member.slug %}" class="btn btn-primary general-member-button member_biography">
<a href="{% url 'member_info' member.slug %}" class="btn {% if current_page == 'info' %}btn-primary{% else %}btn-default{% endif %} general-member-button member_biography">
<i class="fa fa-user fa-large"></i>&emsp;Biography
</a>
{% endif %}

{% if number_of_projects %}
<div class="btn-group">
<a href="{% url 'member_projects' member.slug %}" class="btn btn-default general-member-button member_projects">
<a href="{% url 'member_projects' member.slug %}" class="btn {% if current_page == "projects" %}btn-primary{% else %}btn-default{% endif %} general-member-button member_projects">
<i class="fa fa-gears fa-large"></i>&emsp;
{{ number_of_projects }} project{{ number_of_projects|pluralize }}
</a>
Expand All @@ -133,7 +133,7 @@ <h4>Profiles</h4>

{% if number_of_publications %}
<div class="btn-group">
<a href="{% url 'member_publications' member.slug %}" class="btn btn-default general-member-button member_publications">
<a href="{% url 'member_publications' member.slug %}" class="btn {% if current_page == 'publications' %}btn-primary{% else %}btn-default{% endif %} general-member-button member_publications">
<i class="fa fa-file-text-o fa-large"></i>
&emsp;{{ number_of_publications }} publication{{ number_of_publications|pluralize }}
</a>
Expand Down Expand Up @@ -197,13 +197,13 @@ <h4>Profiles</h4>
{% endif %}

{% if has_awards %}
<a href="{% url 'member_awards' member.slug %}" class="btn btn-default general-member-button member_awards">
<a href="{% url 'member_awards' member.slug %}" class="btn {% if current_page == "awards" %}btn-primary{% else %}btn-default{% endif %} general-member-button member_awards">
<i class="fa fa-trophy fa-large"></i>&emsp;Awards
</a>
{% endif %}

{% if has_news %}
<a href="{% url 'member_news' member.slug %}" class="btn btn-default general-member-button member_news">
<a href="{% url 'member_news' member.slug %}" class="btn {% if current_page == "news" %}btn-primary{% else %}btn-default{% endif %} general-member-button member_news">
<i class="fa fa-calendar fa-large"></i>&emsp;News
</a>
{% endif %}
Expand Down
8 changes: 0 additions & 8 deletions labman_ud/entities/persons/templates/members/news.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,6 @@

{% block people_scripts %}

<script>
$('.member_biography').removeClass('btn-primary');
$('.member_biography').addClass('btn-default');

$('.member_news').removeClass('btn-default');
$('.member_news').addClass('btn-primary');
</script>

<script src="{% static 'js/bootstrap-table.min.js' %}"></script>

<script>
Expand Down
8 changes: 0 additions & 8 deletions labman_ud/entities/persons/templates/members/projects.html
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,6 @@

{% block people_scripts %}

<script>
$('.member_biography').removeClass('btn-primary');
$('.member_biography').addClass('btn-default');

$('.member_projects').removeClass('btn-default');
$('.member_projects').addClass('btn-primary');
</script>

<script>
{% for role_name, project_list in projects.items %}
{% for role in roles %}
Expand Down
14 changes: 0 additions & 14 deletions labman_ud/entities/persons/templates/members/publications.html
Original file line number Diff line number Diff line change
Expand Up @@ -152,17 +152,3 @@
</div>

{% endblock %}



{% block people_scripts %}

<script>
$('.member_biography').removeClass('btn-primary');
$('.member_biography').addClass('btn-default');

$('.member_publications').removeClass('btn-default');
$('.member_publications').addClass('btn-primary');
</script>

{% endblock %}
6 changes: 6 additions & 0 deletions labman_ud/entities/persons/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ def person_index(request, query_string=None):
'persons': persons,
'persons_length': persons_length,
'query_string': query_string,
'current_page': 'info',
}

return render(request, "persons/index.html", return_dict)
Expand Down Expand Up @@ -286,6 +287,7 @@ def member_info(request, person_slug):
'web_title': member.full_name,
'member': member,
'units': units,
'current_page': 'info',
}

data_dict = __get_job_data(member)
Expand Down Expand Up @@ -342,6 +344,7 @@ def member_projects(request, person_slug, role_slug=None):
'projects': projects,
'roles': Role.objects.all(),
'web_title': u'%s - Projects' % member.full_name,
'current_page': 'projects',
}

data_dict = __get_job_data(member)
Expand Down Expand Up @@ -461,6 +464,7 @@ def member_publications(request, person_slug, publication_type_slug=None):
'publications': publications,
'thesis': all_thesis,
'web_title': u'%s - Publications' % member.full_name,
'current_page': 'publications',
}

data_dict = __get_job_data(member)
Expand Down Expand Up @@ -516,6 +520,7 @@ def member_news(request, person_slug):
'web_title': u'%s - News' % member.full_name,
'member': member,
'news': news,
'current_page': 'news',
}
data_dict = __get_job_data(member)
return_dict.update(data_dict)
Expand All @@ -542,6 +547,7 @@ def member_awards(request, person_slug):
'web_title': u'%s - Awards' % member.full_name,
'member': member,
'awards': awards,
'current_page': 'awards',
}
data_dict = __get_job_data(member)
return_dict.update(data_dict)
Expand Down
14 changes: 8 additions & 6 deletions labman_ud/entities/projects/templates/projects/info.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,14 @@
</a>

{% if not is_internal %}
<a id="project_funding" href="{% url 'project_funding_details' project.slug %}">
<i class="fa fa-money"></i>
<span class="hidden-xs hidden-sm">
Funding
</span>
</a>
{% if not project.private_funding_details %}
<a id="project_funding" href="{% url 'project_funding_details' project.slug %}">
<i class="fa fa-money"></i>
<span class="hidden-xs hidden-sm">
Funding
</span>
</a>
{% endif %}
{% endif %}

{% if not project.private_participant_details %}
Expand Down
19 changes: 11 additions & 8 deletions labman_ud/entities/publications/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,8 @@
from entities.utils.models import Tag
from entities.publications.models import Publication

PUBLICATION_TYPES = (())
types = Publication.objects.all().values_list('child_type', flat=True).order_by('child_type').distinct()
for choice in types:
PUBLICATION_TYPES = PUBLICATION_TYPES + ((choice, choice),)


class CommaSeparatedStringField(forms.Field):

def __init__(self, *args, **kwargs):
self.token = kwargs.pop('token', ', ')
super(CommaSeparatedStringField, self).__init__(*args, **kwargs)
Expand All @@ -29,6 +23,7 @@ def clean(self, value):
self.run_validators(value)
return value


# Create your forms here.

### PublicationSearchForm
Expand All @@ -42,7 +37,7 @@ class PublicationSearchForm(forms.Form):
'type': 'text',
'placeholder': 'Publication title or author name',
})
, required=False)
, required=False)

from_year = forms.CharField(
max_length=4, required=False)
Expand All @@ -57,7 +52,7 @@ class PublicationSearchForm(forms.Form):
max_length=2, required=False)

publication_types = forms.MultipleChoiceField(
choices=PUBLICATION_TYPES, required=False)
choices=(()), required=False)

tags = CommaSeparatedStringField(
required=False)
Expand All @@ -66,6 +61,14 @@ class PublicationSearchForm(forms.Form):
editor_field_count = forms.CharField(widget=forms.HiddenInput())

def __init__(self, *args, **kwargs):
publication_types_tuple = (())
types = Publication.objects.all().values_list('child_type', flat=True).order_by('child_type').distinct()
for choice in types:
publication_types_tuple = publication_types_tuple + ((choice, choice),)

self.publication_types = forms.MultipleChoiceField(
choices=publication_types_tuple, required=False)

extra_editor_fields = kwargs.pop('extra_editor', 1)
extra_author_fields = kwargs.pop('extra_author', 1)

Expand Down
Loading