Commit c490d4482629d47b1b1a8d3ab10b63733dfd7b79
1 parent
7f3cbd4f
Exists in
master
and in
3 other branches
fixed coordinators on subject and improved accordion, still has failures and thi…
…ngs to work on, added other improvements in functionality
Showing
6 changed files
with
76 additions
and
15 deletions
Show diff stats
amadeus/static/css/base/amadeus.css
... | ... | @@ -92,17 +92,17 @@ |
92 | 92 | height: 30px; |
93 | 93 | } |
94 | 94 | |
95 | -.core-subjects-options > li{ | |
95 | +.core-subjects-options li{ | |
96 | 96 | float:left; |
97 | 97 | padding: 10px; |
98 | 98 | background-color: #FFFFFF; |
99 | 99 | margin: 1px; |
100 | 100 | |
101 | - border-bottom: 4px; | |
101 | + border-bottom: 10px; | |
102 | 102 | border-bottom-style: solid; |
103 | 103 | } |
104 | 104 | |
105 | -.core-subjects-options > li.active{ | |
105 | +.core-subjects-options li.active{ | |
106 | 106 | border-bottom-color: green; |
107 | 107 | } |
108 | 108 | ... | ... |
categories/views.py
... | ... | @@ -56,10 +56,8 @@ class IndexView(views.SuperuserRequiredMixin, LoginRequiredMixin, ListView): |
56 | 56 | |
57 | 57 | def get_context_data(self, **kwargs): |
58 | 58 | context = super(IndexView, self).get_context_data(**kwargs) |
59 | - list_categories = None | |
60 | - categories = self.get_queryset().order_by('name') | |
61 | - | |
62 | 59 | |
60 | + categories = self.get_queryset().order_by('name') | |
63 | 61 | context['categories'] = categories |
64 | 62 | |
65 | 63 | return context | ... | ... |
subjects/templates/subjects/list.html
... | ... | @@ -22,8 +22,14 @@ |
22 | 22 | {% endif %} |
23 | 23 | <div id="core-subjects-options-div"> |
24 | 24 | <ul class="core-subjects-options"> |
25 | - <li class="active">{% trans "My subjects" %}</li> | |
26 | - <li>{% trans "all subjects" %}</li> | |
25 | + {% if all %} | |
26 | + <a href="{% url 'subjects:index' %}"><li >{% trans "My subjects" %}</li></a> | |
27 | + <a href="{% url 'subjects:index' 'all' %}" ><li class="active">{% trans "all subjects" %}</li></a> | |
28 | + {% else %} | |
29 | + <a href="{% url 'subjects:index' %}"><li class="active">{% trans "My subjects" %}</li></a> | |
30 | + <a href="{% url 'subjects:index' 'all' %}" ><li>{% trans "all subjects" %}</li></a> | |
31 | + {% endif %} | |
32 | + | |
27 | 33 | </ul> |
28 | 34 | </div> |
29 | 35 | |
... | ... | @@ -70,10 +76,10 @@ |
70 | 76 | </div> |
71 | 77 | </div> |
72 | 78 | </div> |
73 | - <div id="{{category.slug}}" class="panel-collapse collapse category-panel-content"> | |
79 | + <div id="{{category.slug}}" class="panel-collapse panel-body collapse category-panel-content"> | |
74 | 80 | <input type="hidden" class="log_url" value="{% url 'categories:view_log' category.id %}" /> |
75 | 81 | <input type="hidden" class="log_id" value="" /> |
76 | - {% if coordinators %} | |
82 | + {% if category.coordinators.all|length > 0 %} | |
77 | 83 | <h4> {% trans "Coordinator(s): " %} |
78 | 84 | {% for coordinator in category.coordinators.all %} |
79 | 85 | {{coordinator.social_name}} |
... | ... | @@ -85,12 +91,21 @@ |
85 | 91 | |
86 | 92 | |
87 | 93 | {{category.description|safe}} |
94 | + | |
95 | + | |
96 | + | |
88 | 97 | {% if user in category.coordinators.all %} |
89 | 98 | <a href="{% url 'subjects:create' category.slug %}"><button class="create-subject-btn"> {% trans "create new subject" %} </button></a> |
90 | 99 | {% endif %} |
91 | - | |
100 | + <div class="panel-group" id="subject-accordion" role="tablist" aria-multiselectable="true"> | |
101 | + {% for subject in category.subjects %} | |
102 | + {% include "subjects/subject_card.html" %} | |
103 | + {% endfor %} | |
104 | + </div> | |
105 | + | |
106 | + | |
92 | 107 | </div> |
93 | - | |
108 | + | |
94 | 109 | |
95 | 110 | {% comment %} |
96 | 111 | <div id="{{category.slug}}" class="panel-collapse collapse"> | ... | ... |
... | ... | @@ -0,0 +1,34 @@ |
1 | +{% load static i18n permission_tags %} | |
2 | + <div class="panel panel-info"> | |
3 | + <div class="panel-heading"> | |
4 | + <div class="row"> | |
5 | + <div class="col-md-12 category-header"> | |
6 | + <h4 class="panel-title"> | |
7 | + <a class="category-course-link pull-left" data-parent="#subject-accordion" data-toggle="collapse" href="#{{subject.slug}}"> | |
8 | + <button class="btn btn-default btn-xs text-center cat-selector"><i class="fa fa-angle-right fa-2x" aria-hidden="true"></i></button> {{subject.name}} | |
9 | + </a> | |
10 | + </h4> | |
11 | + | |
12 | + <div class="col-md-5 pull-right category-card-items"> | |
13 | + <a href="" ><i class="fa fa-list" aria-hidden="true"></i></a> | |
14 | + <a href=""><i class="fa fa-envelope-o" aria-hidden="true"></i></a> | |
15 | + <a href=""><i class="fa fa-exclamation-triangle" aria-hidden="true"></i></a> | |
16 | + <a href=""><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | |
17 | + </div> | |
18 | + | |
19 | + </div> | |
20 | + </div> | |
21 | + </div> | |
22 | + | |
23 | + <div id="{{subject.slug}}" class="panel-collapse collapse category-panel-content"> | |
24 | + <p>{{subject.init_date}}</p> | |
25 | + <p>{{subject.end_date}}</p> | |
26 | + | |
27 | + <p>{{subject.description_brief|safe}}</p> | |
28 | + | |
29 | + | |
30 | + | |
31 | + | |
32 | +</div> | |
33 | + | |
34 | +</div> | |
0 | 35 | \ No newline at end of file | ... | ... |
subjects/urls.py
... | ... | @@ -3,5 +3,6 @@ from . import views |
3 | 3 | |
4 | 4 | urlpatterns = [ |
5 | 5 | url(r'^$', views.IndexView.as_view(), name='index'), |
6 | + url(r'^(?P<option>[\w_-]+)/$', views.IndexView.as_view(), name='index'), | |
6 | 7 | url(r'^create/(?P<slug>[\w_-]+)/$', views.SubjectCreateView.as_view(), name='create'), |
7 | 8 | ] |
8 | 9 | \ No newline at end of file | ... | ... |
subjects/views.py
... | ... | @@ -61,11 +61,24 @@ class IndexView(LoginRequiredMixin, ListView): |
61 | 61 | if self.request.user.is_staff: |
62 | 62 | categories = self.get_queryset().order_by('name') |
63 | 63 | else: |
64 | - categories = self.get_queryset().order_by('name').filter(visible=True) | |
64 | + if self.kwargs.get('option'): | |
65 | + categories = self.get_queryset().order_by('name').filter(visible=True) | |
66 | + context['all'] = True | |
67 | + for category in categories: | |
68 | + category.subjects = Subject.objects.all().filter(category= category) | |
69 | + else: | |
70 | + context['all'] = False | |
71 | + categories = self.get_queryset().filter(visible=True) | |
72 | + for category in categories: | |
73 | + category.subjects = Subject.objects.all().filter(category= category) | |
74 | + | |
75 | + categories = [category for category in categories if category.subjects.count() > 0 and self.request.user in category.coordinators.all()] | |
76 | + #So I remove all categories that doesn't have the possibility for the user to be on | |
77 | + | |
65 | 78 | |
79 | + #print(categories[1].subject_set) | |
66 | 80 | #Settings subjects for template use |
67 | - for category in categories: | |
68 | - category.subjects = Subject.objects.all().filter(category= category) | |
81 | + | |
69 | 82 | |
70 | 83 | |
71 | 84 | context['categories'] = categories | ... | ... |