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 |