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,21 +16,24 @@ | ||
16 | display: inline-flex; | 16 | display: inline-flex; |
17 | width: 50%; | 17 | width: 50%; |
18 | margin-bottom: 0px; } | 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 | #most-used-tags-header { | 38 | #most-used-tags-header { |
36 | background: linear-gradient(to right, #0e8999, #6bf0ce); | 39 | background: linear-gradient(to right, #0e8999, #6bf0ce); |
@@ -131,4 +134,7 @@ | @@ -131,4 +134,7 @@ | ||
131 | color: white; | 134 | color: white; |
132 | text-align: center; } | 135 | text-align: center; } |
133 | 136 | ||
137 | +#period-selector { | ||
138 | + display: flex; } | ||
139 | + | ||
134 | /*# sourceMappingURL=general.css.map */ | 140 | /*# sourceMappingURL=general.css.map */ |
dashboards/static/dashboards/css/general.css.map
1 | { | 1 | { |
2 | "version": 3, | 2 | "version": 3, |
3 | -"mappings": "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", | 3 | +"mappings": "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", |
4 | "sources": ["general.sass"], | 4 | "sources": ["general.sass"], |
5 | "names": [], | 5 | "names": [], |
6 | "file": "general.css" | 6 | "file": "general.css" |
dashboards/static/dashboards/css/general.sass
@@ -20,25 +20,26 @@ $title-color: #009688 | @@ -20,25 +20,26 @@ $title-color: #009688 | ||
20 | width: 50% | 20 | width: 50% |
21 | margin-bottom: 0px | 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 | width: 100% | 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,4 +151,10 @@ $title-color: #009688 | ||
150 | height: 20px | 151 | height: 20px |
151 | background: #52b7bd | 152 | background: #52b7bd |
152 | color: white | 153 | color: white |
153 | - text-align: center | ||
154 | \ No newline at end of file | 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 | \ No newline at end of file | 162 | \ No newline at end of file |
@@ -0,0 +1,35 @@ | @@ -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,16 +63,7 @@ | ||
63 | 63 | ||
64 | <article class="report-body"> | 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 | </article> | 67 | </article> |
77 | </section> | 68 | </section> |
78 | {% endblock content %} | 69 | {% endblock content %} |
79 | \ No newline at end of file | 70 | \ No newline at end of file |
dashboards/templates/dashboards/general.html
@@ -7,9 +7,9 @@ | @@ -7,9 +7,9 @@ | ||
7 | {% endblock style %} | 7 | {% endblock style %} |
8 | 8 | ||
9 | {% block javascript %} | 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 | {% endblock javascript %} | 13 | {% endblock javascript %} |
14 | 14 | ||
15 | {% block breadcrumbs %} | 15 | {% block breadcrumbs %} |
@@ -41,92 +41,7 @@ | @@ -41,92 +41,7 @@ | ||
41 | </section> | 41 | </section> |
42 | 42 | ||
43 | <section id="general-report"> | 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 | </section> | 45 | </section> |
131 | 46 | ||
132 | <script type="text/javascript"> | 47 | <script type="text/javascript"> |
@@ -0,0 +1,78 @@ | @@ -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 | \ No newline at end of file | 79 | \ No newline at end of file |
@@ -0,0 +1,52 @@ | @@ -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 @@ | @@ -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 | \ No newline at end of file | 13 | \ No newline at end of file |
dashboards/urls.py
@@ -4,5 +4,7 @@ from . import views | @@ -4,5 +4,7 @@ from . import views | ||
4 | 4 | ||
5 | urlpatterns = [ | 5 | urlpatterns = [ |
6 | url(r'^general/$', views.GeneralView.as_view(), name='view_general'), | 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 | url(r'^categories/$', views.CategoryView.as_view(), name='view_categories'), | 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 | \ No newline at end of file | 11 | \ No newline at end of file |
dashboards/views.py
@@ -45,7 +45,8 @@ class GeneralView(LogMixin, generic.TemplateView): | @@ -45,7 +45,8 @@ class GeneralView(LogMixin, generic.TemplateView): | ||
45 | 45 | ||
46 | self.createLog(actor = self.request.user) | 46 | self.createLog(actor = self.request.user) |
47 | context['months'] = self.get_last_twelve_months() | 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 | return context | 50 | return context |
50 | 51 | ||
51 | def get_last_twelve_months(self): | 52 | def get_last_twelve_months(self): |
@@ -83,6 +84,7 @@ class CategoryView(LogMixin, generic.TemplateView): | @@ -83,6 +84,7 @@ class CategoryView(LogMixin, generic.TemplateView): | ||
83 | self.createLog(actor = self.request.user) | 84 | self.createLog(actor = self.request.user) |
84 | 85 | ||
85 | context['categories'] = self.categories_associated_with_user(self.request.user) | 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 | return context | 89 | return context |
88 | 90 | ||
@@ -91,4 +93,48 @@ class CategoryView(LogMixin, generic.TemplateView): | @@ -91,4 +93,48 @@ class CategoryView(LogMixin, generic.TemplateView): | ||
91 | categories = Category.objects.all() | 93 | categories = Category.objects.all() |
92 | else: | 94 | else: |
93 | categories = Category.objects.filter(coordinators__in = [user]) | 95 | categories = Category.objects.filter(coordinators__in = [user]) |
94 | - return categories | ||
95 | \ No newline at end of file | 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 | \ No newline at end of file | 142 | \ No newline at end of file |