Commit ae7d3735ec8b5e941b79020434acaef4d5bf2423
1 parent
5139a8ed
Exists in
dev
improving admin dashboard pages for users and scientific programs
Showing
5 changed files
with
51 additions
and
8 deletions
Show diff stats
src/core/pyros_django/dashboard/templates/dashboard/user_detail.html
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | 2 | ||
3 | {% block content %} | 3 | {% block content %} |
4 | {% load tags %} | 4 | {% load tags %} |
5 | - | 5 | + <a href="{% url "users" %}" class="btn btn-info" role="button">Return to list of users</a> |
6 | <h1>Name : {{ user.first_name }} {{ user.last_name }}</h1> | 6 | <h1>Name : {{ user.first_name }} {{ user.last_name }}</h1> |
7 | <br> <br> | 7 | <br> <br> |
8 | <p><strong>Email : </strong> {{user.email }}</p> | 8 | <p><strong>Email : </strong> {{user.email }}</p> |
@@ -20,8 +20,20 @@ | @@ -20,8 +20,20 @@ | ||
20 | <p><strong>Put validation beginning : </strong>{{ user.putvalid_beg }}</p> | 20 | <p><strong>Put validation beginning : </strong>{{ user.putvalid_beg }}</p> |
21 | <p><strong>Put validation end : </strong>{{ user.putvalid_end }}</p> | 21 | <p><strong>Put validation end : </strong>{{ user.putvalid_end }}</p> |
22 | <p><strong>Quota : </strong>{{ user.quota }}</p> | 22 | <p><strong>Quota : </strong>{{ user.quota }}</p> |
23 | - <p><strong>Scientific Program : </strong> {% for area in user.scientific_programs.all %}{{ area }} </p> | 23 | + <p><strong>Scientific Program : </strong> <table class="table table-bordered table-hover table-striped tablesorter" style="font-family: 'Montserra', sans-serif;"> |
24 | + <thead> | ||
25 | + <tr> | ||
26 | + <th>Name <i class="fa fa-sort"></i></th> | ||
27 | + </tr> | ||
28 | + </thead> | ||
29 | + <tbody> | ||
30 | + {% for sp in user.scientific_programs.all %} | ||
31 | + <tr> | ||
32 | + <td> <a href="{% url "detail_scientific_program" sp.pk %}">{{ sp }} </a></td> | ||
33 | + </tr> | ||
24 | {% endfor %} | 34 | {% endfor %} |
35 | + </tbody> | ||
36 | + </table></p> | ||
25 | {% if USER_LEVEL >= 5 %} | 37 | {% if USER_LEVEL >= 5 %} |
26 | <a href="{% url "user-edit" user.pk %}" class="btn btn-info" role="button">Edit</a> | 38 | <a href="{% url "user-edit" user.pk %}" class="btn btn-info" role="button">Edit</a> |
27 | {% if not is_last_user or not user.is_superuser%} | 39 | {% if not is_last_user or not user.is_superuser%} |
src/core/pyros_django/dashboard/templates/dashboard/users_management.html
1 | {% extends "base.html" %} | 1 | {% extends "base.html" %} |
2 | - | 2 | +{% load tags %} |
3 | {% block title %} | 3 | {% block title %} |
4 | PYROS USERS MANAGEMENT | 4 | PYROS USERS MANAGEMENT |
5 | {% endblock %} | 5 | {% endblock %} |
@@ -17,12 +17,37 @@ | @@ -17,12 +17,37 @@ | ||
17 | <div id="div_users"class="row"> | 17 | <div id="div_users"class="row"> |
18 | <h3>Current list of Users </h3> | 18 | <h3>Current list of Users </h3> |
19 | <div class="table-responsive"> | 19 | <div class="table-responsive"> |
20 | - <table | ||
21 | - class="table table-bordered table-hover table-striped tablesorter" style="font-family: 'Montserra', sans-serif;"> | 20 | + <table class="table table-bordered table-hover table-striped tablesorter" style="font-family: 'Montserra', sans-serif;"> |
21 | + <thead> | ||
22 | + <tr> | ||
23 | + <th>Name <i class="fa fa-sort"></i></th> | ||
24 | + <th colspan="{{ nb_of_scientific_program }}">Scientific program</th> | ||
25 | + <th>Laboratory </th> | ||
26 | + <th>Quota </th> | ||
27 | + </tr> | ||
28 | + </thead> | ||
22 | <tbody> | 29 | <tbody> |
23 | {% for field in instance %} | 30 | {% for field in instance %} |
24 | <tr> | 31 | <tr> |
25 | <td> <a href="{% url "user-detail" field.pk %}"> {{ field.username }} </a></td> | 32 | <td> <a href="{% url "user-detail" field.pk %}"> {{ field.username }} </a></td> |
33 | + | ||
34 | + {% for sp in field.scientific_programs.all %} | ||
35 | + | ||
36 | + {% if forloop.last and forloop.counter < nb_of_scientific_program %} | ||
37 | + {% comment "" %} | ||
38 | + we need to fill the remaining colspan size | ||
39 | + {% endcomment %} | ||
40 | + <td colspan="{{ forloop.counter0 | add:negative_nb_scientific_program|abs}}"> | ||
41 | + | ||
42 | + {% else %} | ||
43 | + <td> | ||
44 | + {% endif %} | ||
45 | + <a href="{% url "detail_scientific_program" sp.pk %}"> {{ sp }} </a> </td> | ||
46 | + {% endfor %} | ||
47 | + | ||
48 | + </td> | ||
49 | + <td> {{ field.laboratory }} </td> | ||
50 | + <td> {{ field.quota}} </td> | ||
26 | </tr> | 51 | </tr> |
27 | {% endfor %} | 52 | {% endfor %} |
28 | </tbody> | 53 | </tbody> |
src/core/pyros_django/dashboard/templatetags/tags.py
@@ -80,4 +80,8 @@ def get_level(name): | @@ -80,4 +80,8 @@ def get_level(name): | ||
80 | elif name == "USER_LEVEL_SYSADMIN": | 80 | elif name == "USER_LEVEL_SYSADMIN": |
81 | return (7) | 81 | return (7) |
82 | else : | 82 | else : |
83 | - return (0) | ||
84 | \ No newline at end of file | 83 | \ No newline at end of file |
84 | + return (0) | ||
85 | + | ||
86 | +@register.filter(name='abs') | ||
87 | +def abs_filter(value): | ||
88 | + return abs(value) | ||
85 | \ No newline at end of file | 89 | \ No newline at end of file |
src/core/pyros_django/dashboard/views.py
@@ -165,7 +165,9 @@ def retrieve_main_icon(request): | @@ -165,7 +165,9 @@ def retrieve_main_icon(request): | ||
165 | @level_required(6) | 165 | @level_required(6) |
166 | def users(request): | 166 | def users(request): |
167 | instance = PyrosUser.objects.order_by("-id") | 167 | instance = PyrosUser.objects.order_by("-id") |
168 | - return render(request, 'dashboard/users_management.html', {'instance': instance}) # return the initial view (the users management's one) | 168 | + nb_of_scientific_program = ScientificProgram.objects.count() |
169 | + negative_nb_scientific_program = -nb_of_scientific_program | ||
170 | + return render(request, 'dashboard/users_management.html', {'instance': instance,"nb_of_scientific_program": nb_of_scientific_program,"negative_nb_scientific_program":negative_nb_scientific_program}) # return the initial view (the users management's one) | ||
169 | 171 | ||
170 | @login_required | 172 | @login_required |
171 | @level_required(2) | 173 | @level_required(2) |
src/core/pyros_django/scientific_program/templates/scientific_program/scientific_program_detail.html
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | </thead> | 14 | </thead> |
15 | <tbody> | 15 | <tbody> |
16 | {% for user in scientific_program.pyros_users.all %} | 16 | {% for user in scientific_program.pyros_users.all %} |
17 | - <tr><td>{{ user.username }}</td></tr> | 17 | + <tr><td><a href=" {% url 'user-detail' user.pk %}" >{{ user.username }} </a> </td></tr> |
18 | {% endfor %} | 18 | {% endfor %} |
19 | </tbody> | 19 | </tbody> |
20 | </table></p> | 20 | </table></p> |