Commit 959ec49df2cb3190abfda2652f5f6be46eab706f
1 parent
f93891d7
Exists in
master
and in
2 other branches
modified organization of HTML inside dashboards as well as finished log load methods
Showing
12 changed files
with
277 additions
and
133 deletions
Show diff stats
dashboards/static/dashboards/.sass-cache/d1f4112ca6d0e14bdf64d22b0b14a2322f24cc83/general.sassc
No preview for this file type
dashboards/static/dashboards/css/general.css
... | ... | @@ -16,21 +16,24 @@ |
16 | 16 | display: inline-flex; |
17 | 17 | width: 50%; |
18 | 18 | margin-bottom: 0px; } |
19 | - #general-report-header ul li { | |
20 | - margin-right: 2%; | |
21 | - width: 50%; | |
22 | - color: white; | |
23 | - font-size: 20px; | |
24 | - background-color: #0f8a9a; | |
25 | - width: 100%; | |
26 | - text-align: center; | |
27 | - border-radius: 20px; | |
28 | - height: 30px; } | |
29 | - #general-report-header ul li.selected { | |
30 | - background-color: #4dcfbd; | |
31 | - width: 100%; | |
32 | - text-align: center; | |
33 | - border-radius: 20px; } | |
19 | + #general-report-header ul a { | |
20 | + width: 100%; } | |
21 | + | |
22 | +li.tab-option { | |
23 | + margin-right: 2%; | |
24 | + color: white; | |
25 | + font-size: 20px; | |
26 | + background-color: #0f8a9a; | |
27 | + width: 100%; | |
28 | + text-align: center; | |
29 | + border-radius: 20px; | |
30 | + height: 30px; } | |
31 | + | |
32 | +li.selected { | |
33 | + background-color: #4dcfbd; | |
34 | + width: 100%; | |
35 | + text-align: center; | |
36 | + border-radius: 20px; } | |
34 | 37 | |
35 | 38 | #most-used-tags-header { |
36 | 39 | background: linear-gradient(to right, #0e8999, #6bf0ce); |
... | ... | @@ -131,4 +134,7 @@ |
131 | 134 | color: white; |
132 | 135 | text-align: center; } |
133 | 136 | |
137 | +#period-selector { | |
138 | + display: flex; } | |
139 | + | |
134 | 140 | /*# sourceMappingURL=general.css.map */ | ... | ... |
dashboards/static/dashboards/css/general.css.map
1 | 1 | { |
2 | 2 | "version": 3, |
3 | -"mappings": "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", | |
3 | +"mappings": "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", | |
4 | 4 | "sources": ["general.sass"], |
5 | 5 | "names": [], |
6 | 6 | "file": "general.css" | ... | ... |
dashboards/static/dashboards/css/general.sass
... | ... | @@ -20,25 +20,26 @@ $title-color: #009688 |
20 | 20 | width: 50% |
21 | 21 | margin-bottom: 0px |
22 | 22 | |
23 | - li | |
24 | - margin-right: 2% | |
25 | - width: 50% | |
26 | - color: white | |
27 | - font-size: 20px | |
28 | - background-color: #0f8a9a | |
23 | + a | |
29 | 24 | width: 100% |
30 | - text-align: center | |
31 | - border-radius: 20px | |
32 | - height: 30px | |
33 | 25 | |
26 | + | |
27 | +li.tab-option | |
28 | + margin-right: 2% | |
29 | + color: white | |
30 | + font-size: 20px | |
31 | + background-color: #0f8a9a | |
32 | + width: 100% | |
33 | + text-align: center | |
34 | + border-radius: 20px | |
35 | + height: 30px | |
34 | 36 | |
35 | - li.selected | |
36 | - background-color: #4dcfbd | |
37 | - width: 100% | |
38 | - text-align: center | |
39 | - border-radius: 20px | |
40 | 37 | |
41 | - | |
38 | +li.selected | |
39 | + background-color: #4dcfbd | |
40 | + width: 100% | |
41 | + text-align: center | |
42 | + border-radius: 20px | |
42 | 43 | |
43 | 44 | |
44 | 45 | |
... | ... | @@ -150,4 +151,10 @@ $title-color: #009688 |
150 | 151 | height: 20px |
151 | 152 | background: #52b7bd |
152 | 153 | color: white |
153 | - text-align: center | |
154 | 154 | \ No newline at end of file |
155 | + text-align: center | |
156 | + | |
157 | + | |
158 | +//LOG CLASSES AND ID's | |
159 | + | |
160 | +#period-selector | |
161 | + display: flex | |
155 | 162 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,35 @@ |
1 | +$(document).ready(function(){ | |
2 | + $('#init_date').datetimepicker(); | |
3 | + $('#end_date').datetimepicker({ | |
4 | + useCurrent: false //Important! See issue #1075 | |
5 | + }); | |
6 | + $("#init_date").on("dp.change", function (e) { | |
7 | + $('#end_date').data("DateTimePicker").minDate(e.date); | |
8 | + }); | |
9 | + $("#end_date").on("dp.change", function (e) { | |
10 | + $('#init_date').data("DateTimePicker").maxDate(e.date); | |
11 | + init_date = $("#init_date").data("DateTimePicker").date(); | |
12 | + log.refresh_log_data(init_date, e.date); | |
13 | + }); | |
14 | + | |
15 | + | |
16 | +}); | |
17 | + | |
18 | + | |
19 | + | |
20 | + | |
21 | +var log = { | |
22 | + | |
23 | + refresh_log_data: function(init_date, end_date){ | |
24 | + $.get("/dashboards/get_log_data", {init_date: init_date.format("YYYY-MM-DD HH:mm"), end_date: end_date.format("YYYY-MM-DD HH:mm")}).done(function(data){ | |
25 | + log.render_table("log_body", data); | |
26 | + }) | |
27 | + }, | |
28 | + render_table: function(target_id, data){ | |
29 | + table_body = $('#' + target_id); | |
30 | + | |
31 | + data.forEach(function(datum){ | |
32 | + console.log(datum); | |
33 | + }); | |
34 | + }, | |
35 | +} | ... | ... |
dashboards/templates/dashboards/category.html
... | ... | @@ -63,16 +63,7 @@ |
63 | 63 | |
64 | 64 | <article class="report-body"> |
65 | 65 | |
66 | - <section id="most-used-tags"> | |
67 | - <header id="most-used-tags-header"> | |
68 | - <h4 > | |
69 | - {% trans "most used tags" %} | |
70 | - </h4> | |
71 | - </header> | |
72 | - <div id="most-used-tags-body"> | |
73 | - | |
74 | - </div> | |
75 | - </section> | |
66 | + {% include "dashboards/tags_body.html" %} | |
76 | 67 | </article> |
77 | 68 | </section> |
78 | 69 | {% endblock content %} |
79 | 70 | \ No newline at end of file | ... | ... |
dashboards/templates/dashboards/general.html
... | ... | @@ -7,9 +7,9 @@ |
7 | 7 | {% endblock style %} |
8 | 8 | |
9 | 9 | {% block javascript %} |
10 | - | |
11 | - <script type="text/javascript" src="{% static "analytics/js/charts.js" %}"></script> | |
12 | - <script type="text/javascript" src=" {% static "dashboards/js/behavior.js" %} "></script> | |
10 | + {% for file in javascript_files %} | |
11 | + <script type="text/javascript" src="{% static file %}"></script> | |
12 | + {% endfor %} | |
13 | 13 | {% endblock javascript %} |
14 | 14 | |
15 | 15 | {% block breadcrumbs %} |
... | ... | @@ -41,92 +41,7 @@ |
41 | 41 | </section> |
42 | 42 | |
43 | 43 | <section id="general-report"> |
44 | - <header id="general-report-header"> | |
45 | - <h3>{% trans "Amadeus Report" %}</h3> | |
46 | - | |
47 | - <ul id="report-header-options"> | |
48 | - <li class="selected"> | |
49 | - {% trans "Focus" %} | |
50 | - </li> | |
51 | - <li> | |
52 | - {% trans "Log" %} | |
53 | - </li> | |
54 | - </ul> | |
55 | - </header> | |
56 | - | |
57 | - <article class="report-body"> | |
58 | - | |
59 | - <section id="most-used-tags"> | |
60 | - <header id="most-used-tags-header"> | |
61 | - <h4 > | |
62 | - {% trans "most used tags" %} | |
63 | - </h4> | |
64 | - </header> | |
65 | - <div id="most-used-tags-body"> | |
66 | - | |
67 | - </div> | |
68 | - </section> | |
69 | - <section class="bottom-section"> | |
70 | - <div class="chart left-chart"> | |
71 | - | |
72 | - <h4>{% trans "Most accessed " %}</h4> | |
73 | - <div id="left-data-selector"> | |
74 | - | |
75 | - | |
76 | - <div class="selector" data-url="categories"> | |
77 | - <p> {% trans "Categories" %} </p> | |
78 | - <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
79 | - </div> | |
80 | - | |
81 | - <div class="selector" data-url="subjects"> | |
82 | - <p> {% trans "Subjects" %} </p> | |
83 | - <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
84 | - </div> | |
85 | - | |
86 | - <div class="selector" data-url="resources"> | |
87 | - <p> {% trans "Resource" %} </p> | |
88 | - <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
89 | - </div> | |
90 | - | |
91 | - </div> | |
92 | - | |
93 | - </div> | |
94 | - <div class="chart middle-chart"> | |
95 | - <article> | |
96 | - <h4>{% trans "Most active users" %}</h4> | |
97 | - </article> | |
98 | - | |
99 | - </div> | |
100 | - <div class="chart right-chart"> | |
101 | - <div id="month_selector_div"> | |
102 | - <h4>{% trans "Amount of access in: " %} | |
103 | - <select id="month_selector"> | |
104 | - {% for month in months %} | |
105 | - <option>{{month}}</option> | |
106 | - {% endfor %} | |
107 | - | |
108 | - </select> | |
109 | - </h4> | |
110 | - </div> | |
111 | - | |
112 | - <div id="right-chart-body"> | |
113 | - | |
114 | - </div> | |
115 | - | |
116 | - <div class='input-group date'> | |
117 | - <label>{% trans "Select the begin of the week: " %}</label> | |
118 | - <input type='text' class="datepicker form-control" /> | |
119 | - <span class="input-group-addon"> | |
120 | - <span class="glyphicon glyphicon-calendar"></span> | |
121 | - </span> | |
122 | - </div> | |
123 | - <div id="bottom-right-chart-body"> | |
124 | - | |
125 | - </div> | |
126 | - </div> | |
127 | - </section> | |
128 | - | |
129 | - </article> | |
44 | + {% include child_template %} | |
130 | 45 | </section> |
131 | 46 | |
132 | 47 | <script type="text/javascript"> | ... | ... |
... | ... | @@ -0,0 +1,78 @@ |
1 | +{% load static i18n pagination %} | |
2 | + | |
3 | + <header id="general-report-header"> | |
4 | + <h3>{% trans "Amadeus Report" %}</h3> | |
5 | + | |
6 | + <ul id="report-header-options"> | |
7 | + <li class="tab-option selected"> | |
8 | + {% trans "Focus" %} | |
9 | + </li> | |
10 | + <a href="{% url 'dashboards:view_general_log' %}"><li class="tab-option"> | |
11 | + {% trans "Log" %} | |
12 | + </li></a> | |
13 | + </ul> | |
14 | + </header> | |
15 | + | |
16 | + <article class="report-body"> | |
17 | + {% include "dashboards/tags_body.html" %} | |
18 | + <section class="bottom-section"> | |
19 | + <div class="chart left-chart"> | |
20 | + | |
21 | + <h4>{% trans "Most accessed " %}</h4> | |
22 | + <div id="left-data-selector"> | |
23 | + | |
24 | + | |
25 | + <div class="selector" data-url="categories"> | |
26 | + <p> {% trans "Categories" %} </p> | |
27 | + <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
28 | + </div> | |
29 | + | |
30 | + <div class="selector" data-url="subjects"> | |
31 | + <p> {% trans "Subjects" %} </p> | |
32 | + <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
33 | + </div> | |
34 | + | |
35 | + <div class="selector" data-url="resources"> | |
36 | + <p> {% trans "Resource" %} </p> | |
37 | + <i class="fa fa-2x pull-right fa-angle-right" aria-hidden="true" style=""></i> | |
38 | + </div> | |
39 | + | |
40 | + </div> | |
41 | + | |
42 | + </div> | |
43 | + <div class="chart middle-chart"> | |
44 | + <article> | |
45 | + <h4>{% trans "Most active users" %}</h4> | |
46 | + </article> | |
47 | + | |
48 | + </div> | |
49 | + <div class="chart right-chart"> | |
50 | + <div id="month_selector_div"> | |
51 | + <h4>{% trans "Amount of access in: " %} | |
52 | + <select id="month_selector"> | |
53 | + {% for month in months %} | |
54 | + <option>{{month}}</option> | |
55 | + {% endfor %} | |
56 | + | |
57 | + </select> | |
58 | + </h4> | |
59 | + </div> | |
60 | + | |
61 | + <div id="right-chart-body"> | |
62 | + | |
63 | + </div> | |
64 | + | |
65 | + <div class='input-group date'> | |
66 | + <label>{% trans "Select the begin of the week: " %}</label> | |
67 | + <input type='text' class="datepicker form-control" /> | |
68 | + <span class="input-group-addon"> | |
69 | + <span class="glyphicon glyphicon-calendar"></span> | |
70 | + </span> | |
71 | + </div> | |
72 | + <div id="bottom-right-chart-body"> | |
73 | + | |
74 | + </div> | |
75 | + </div> | |
76 | + </section> | |
77 | + | |
78 | + </article> | |
0 | 79 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,52 @@ |
1 | +{% load static i18n pagination %} | |
2 | +{% load django_bootstrap_breadcrumbs %} | |
3 | + | |
4 | + <section id="general-report"> | |
5 | + <header id="general-report-header"> | |
6 | + <h3>{% trans "Amadeus Report" %}</h3> | |
7 | + | |
8 | + <ul id="report-header-options"> | |
9 | + <a href="{% url 'dashboards:view_general' %}"><li class="tab-option"> | |
10 | + {% trans "Focus" %} | |
11 | + </li></a> | |
12 | + <li class="tab-option selected"> | |
13 | + {% trans "Log" %} | |
14 | + </li> | |
15 | + </ul> | |
16 | + </header> | |
17 | + <div id="period-selector"> | |
18 | + <div class="container"> | |
19 | + <div class='col-md-5'> | |
20 | + <div class="form-group"> | |
21 | + <div class='input-group date' id='init_date'> | |
22 | + <input type='text' class="form-control" /> | |
23 | + <span class="input-group-addon"> | |
24 | + <span class="glyphicon glyphicon-calendar"></span> | |
25 | + </span> | |
26 | + </div> | |
27 | + </div> | |
28 | + </div> | |
29 | + <div class='col-md-5'> | |
30 | + <div class="form-group"> | |
31 | + <div class='input-group date' id='end_date'> | |
32 | + <input type='text' class="form-control" /> | |
33 | + <span class="input-group-addon"> | |
34 | + <span class="glyphicon glyphicon-calendar"></span> | |
35 | + </span> | |
36 | + </div> | |
37 | + </div> | |
38 | + </div> | |
39 | + </div> | |
40 | + | |
41 | + </div> | |
42 | + <article class="report-body"> | |
43 | + | |
44 | + | |
45 | + <div id="counter"></div> | |
46 | + | |
47 | + <section id="log-body"> | |
48 | + | |
49 | + </section> | |
50 | + </article> | |
51 | + </section> | |
52 | + | ... | ... |
... | ... | @@ -0,0 +1,12 @@ |
1 | +{% load static i18n pagination %} | |
2 | + | |
3 | + <section id="most-used-tags"> | |
4 | + <header id="most-used-tags-header"> | |
5 | + <h4 > | |
6 | + {% trans "most used tags" %} | |
7 | + </h4> | |
8 | + </header> | |
9 | + <div id="most-used-tags-body"> | |
10 | + | |
11 | + </div> | |
12 | + </section> | |
0 | 13 | \ No newline at end of file | ... | ... |
dashboards/urls.py
... | ... | @@ -4,5 +4,7 @@ from . import views |
4 | 4 | |
5 | 5 | urlpatterns = [ |
6 | 6 | url(r'^general/$', views.GeneralView.as_view(), name='view_general'), |
7 | + url(r'^general/log/$', views.LogView.as_view(), name='view_general_log'), | |
7 | 8 | url(r'^categories/$', views.CategoryView.as_view(), name='view_categories'), |
9 | + url(r'^get_log_data/$', views.load_log_data, name='load_log_data') | |
8 | 10 | ] |
9 | 11 | \ No newline at end of file | ... | ... |
dashboards/views.py
... | ... | @@ -45,7 +45,8 @@ class GeneralView(LogMixin, generic.TemplateView): |
45 | 45 | |
46 | 46 | self.createLog(actor = self.request.user) |
47 | 47 | context['months'] = self.get_last_twelve_months() |
48 | - | |
48 | + context['child_template'] = "dashboards/general_body.html" | |
49 | + context['javascript_files'] = ["analytics/js/charts.js", "dashboards/js/behavior.js"] | |
49 | 50 | return context |
50 | 51 | |
51 | 52 | def get_last_twelve_months(self): |
... | ... | @@ -83,6 +84,7 @@ class CategoryView(LogMixin, generic.TemplateView): |
83 | 84 | self.createLog(actor = self.request.user) |
84 | 85 | |
85 | 86 | context['categories'] = self.categories_associated_with_user(self.request.user) |
87 | + context['javascript_files'] = ["analytics/js/charts.js", "dashboards/js/behavior.js"] | |
86 | 88 | |
87 | 89 | return context |
88 | 90 | |
... | ... | @@ -91,4 +93,48 @@ class CategoryView(LogMixin, generic.TemplateView): |
91 | 93 | categories = Category.objects.all() |
92 | 94 | else: |
93 | 95 | categories = Category.objects.filter(coordinators__in = [user]) |
94 | - return categories | |
95 | 96 | \ No newline at end of file |
97 | + return categories | |
98 | + | |
99 | +class LogView(LogMixin, generic.TemplateView): | |
100 | + template_name = "dashboards/general.html" | |
101 | + | |
102 | + log_component = "admin_log" | |
103 | + log_action = "view" | |
104 | + log_resource = "admin_log" | |
105 | + log_context = {} | |
106 | + | |
107 | + def dispatch(self, request, *args, **kwargs): | |
108 | + return super(LogView, self).dispatch(request, *args, **kwargs) | |
109 | + | |
110 | + def get_context_data(self, **kwargs): | |
111 | + context = {} | |
112 | + self.createLog(actor = self.request.user) | |
113 | + | |
114 | + context['javascript_files'] = ['dashboards/js/logbehavior.js'] | |
115 | + context['child_template'] = "dashboards/log.html" | |
116 | + return context | |
117 | + | |
118 | + | |
119 | + | |
120 | +def load_log_data(request): | |
121 | + params = request.GET | |
122 | + print(params) | |
123 | + init_date = datetime.strptime(params['init_date'], '%Y-%m-%d %H:%M') | |
124 | + | |
125 | + end_date = datetime.strptime(params['end_date'], '%Y-%m-%d %H:%M') | |
126 | + | |
127 | + if params.get('category'): | |
128 | + print("has category") | |
129 | + logs = Log.objects.filter(datetime__range = (init_date, end_date) ) | |
130 | + logs = parse_log_queryset_to_JSON(logs) | |
131 | + return JsonResponse(logs, safe=False) | |
132 | + | |
133 | + | |
134 | +def parse_log_queryset_to_JSON(logs): | |
135 | + data = [] | |
136 | + for log in logs: | |
137 | + datum = {} | |
138 | + datum['user'] = log.user | |
139 | + | |
140 | + data.append(datum) | |
141 | + return data | |
96 | 142 | \ No newline at end of file | ... | ... |