diff --git a/amadeus/static/js/goals_reports.js b/amadeus/static/js/goals_reports.js index c99a4fe..e61be1b 100644 --- a/amadeus/static/js/goals_reports.js +++ b/amadeus/static/js/goals_reports.js @@ -40,6 +40,60 @@ function getAnswered() { }); } + + var url = container.find('.answ_log_url').val(); + var log_input = container.find('.answ_log_id'); + + if (typeof(url) != 'undefined') { + $.ajax({ + url: url, + data: {'action': 'open'}, + dataType: 'json', + success: function (data) { + log_input.val(data.log_id); + }, + error: function (data) { + console.log(data); + } + }); + } + + var unan_url = container.find('.unan_log_url').val(); + var unan_log_id = container.find('.unan_log_id').val(); + + if (typeof(unan_url) != 'undefined' && unan_log_id != "") { + $.ajax({ + url: unan_url, + data: {'action': 'close', 'log_id': unan_log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.unan_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + }); + } + + var hist_url = container.find('.hist_log_url').val(); + var hist_log_id = container.find('.hist_log_id').val(); + + if (typeof(hist_url) != 'undefined' && hist_log_id != "") { + $.ajax({ + url: hist_url, + data: {'action': 'close', 'log_id': hist_log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.hist_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + }); + } + container.find('.answered_link').addClass('active'); container.find('.answered').show(); @@ -103,6 +157,59 @@ function getUnanswered() { }); } + var url = container.find('.answ_log_url').val(); + var log_id = container.find('.answ_log_id').val(); + + if (typeof(url) != 'undefined' && log_id != "") { + $.ajax({ + url: url, + data: {'action': 'close', 'log_id': log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.answ_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + }); + } + + var unan_url = container.find('.unan_log_url').val(); + var unan_log_input = container.find('.unan_log_id'); + + if (typeof(unan_url) != 'undefined') { + $.ajax({ + url: unan_url, + data: {'action': 'open'}, + dataType: 'json', + success: function (data) { + unan_log_input.val(data.log_id); + }, + error: function (data) { + console.log(data); + } + }); + } + + var hist_url = container.find('.hist_log_url').val(); + var hist_log_id = container.find('.hist_log_id').val(); + + if (typeof(hist_url) != 'undefined' && hist_log_id != "") { + $.ajax({ + url: hist_url, + data: {'action': 'close', 'log_id': hist_log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.hist_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + }); + } + container.find('.answered_link').removeClass('active'); container.find('.answered').hide(); @@ -153,6 +260,60 @@ function getHistory() { }); } + var url = container.find('.answ_log_url').val(); + var log_id = container.find('.answ_log_id').val(); + + if (typeof(url) != 'undefined' && log_id != "") { + $.ajax({ + url: url, + data: {'action': 'close', 'log_id': log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.answ_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + }); + } + + var unan_url = container.find('.unan_log_url').val(); + var unan_log_id = container.find('.unan_log_id').val(); + + if (typeof(unan_url) != 'undefined' && unan_log_id != "") { + $.ajax({ + url: unan_url, + data: {'action': 'close', 'log_id': unan_log_id}, + dataType: 'json', + success: function (data) { + console.log(data.message); + container.find('.unan_log_id').val(""); + }, + error: function (data) { + console.log(data); + } + + }); + } + + var hist_url = container.find('.hist_log_url').val(); + var hist_log_input = container.find('.hist_log_id'); + + if (typeof(hist_url) != 'undefined') { + $.ajax({ + url: hist_url, + data: {'action': 'open'}, + dataType: 'json', + success: function (data) { + hist_log_input.val(data.log_id); + }, + error: function (data) { + console.log(data); + } + }); + } + container.find('.answered_link').removeClass('active'); container.find('.answered').hide(); diff --git a/amadeus/static/js/pendencies.js b/amadeus/static/js/pendencies.js index 34eabc2..404f134 100644 --- a/amadeus/static/js/pendencies.js +++ b/amadeus/static/js/pendencies.js @@ -172,6 +172,7 @@ function getPendencies(panel_id) { dataType: 'json', success: function (data) { console.log(data.message); + list.parent().parent().find('.hist_log_id').val(""); }, error: function (data) { console.log(data); @@ -244,6 +245,7 @@ function getHistory(panel_id) { dataType: 'json', success: function (data) { console.log(data.message); + container.find('.view_log_id').val(""); }, error: function (data) { console.log(data); diff --git a/goals/templates/goals/reports.html b/goals/templates/goals/reports.html index 1cdef92..f030d24 100644 --- a/goals/templates/goals/reports.html +++ b/goals/templates/goals/reports.html @@ -61,14 +61,23 @@
+ + +
+ + +
+ + +
diff --git a/goals/urls.py b/goals/urls.py index 3daac48..3917bec 100644 --- a/goals/urls.py +++ b/goals/urls.py @@ -15,4 +15,5 @@ urlpatterns = [ url(r'^answered_report/(?P[\w_-]+)/$', views.AnsweredReport.as_view(), name = 'answered_report'), url(r'^unanswered_report/(?P[\w_-]+)/$', views.UnansweredReport.as_view(), name = 'unanswered_report'), url(r'^history_report/(?P[\w_-]+)/$', views.HistoryReport.as_view(), name = 'history_report'), + url(r'^view_log/(?P[\w_-]+)/(?P[\w_-]+)/$', views.reports_log, name = 'reports_log'), ] diff --git a/goals/views.py b/goals/views.py index 53b2e65..95917b2 100644 --- a/goals/views.py +++ b/goals/views.py @@ -5,6 +5,7 @@ from django.core.urlresolvers import reverse, reverse_lazy from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.mixins import LoginRequiredMixin from django.forms import formset_factory, modelformset_factory +from django.http import JsonResponse from log.models import Log from log.mixins import LogMixin @@ -155,7 +156,7 @@ class HistoryReport(LoginRequiredMixin, generic.ListView): slug = self.kwargs.get('slug', '') goal = get_object_or_404(Goals, slug = slug) - rows = Log.objects.filter(context__contains = {"goals_id": goal.id}) + rows = Log.objects.filter(context__contains = {"goals_id": goal.id}).exclude(action = 'view_reports') return rows @@ -929,4 +930,36 @@ class DeleteView(LoginRequiredMixin, LogMixin, generic.DeleteView): super(DeleteView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) - return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) \ No newline at end of file + return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) + +@log_decorator_ajax('resources', 'view_reports', 'goals') +def reports_log(request, goal, report): + action = request.GET.get('action') + + if action == 'open': + goals = get_object_or_404(Goals, slug = goal) + + log_context = {} + log_context['category_id'] = goals.topic.subject.category.id + log_context['category_name'] = goals.topic.subject.category.name + log_context['category_slug'] = goals.topic.subject.category.slug + log_context['subject_id'] = goals.topic.subject.id + log_context['subject_name'] = goals.topic.subject.name + log_context['subject_slug'] = goals.topic.subject.slug + log_context['topic_id'] = goals.topic.id + log_context['topic_name'] = goals.topic.name + log_context['topic_slug'] = goals.topic.slug + log_context['goals_id'] = goals.id + log_context['goals_name'] = goals.name + log_context['goals_slug'] = goals.slug + log_context['goals_report'] = report + log_context['timestamp_start'] = str(int(time.time())) + log_context['timestamp_end'] = '-1' + + request.log_context = log_context + + log_id = Log.objects.latest('id').id + + return JsonResponse({'message': 'ok', 'log_id': log_id}) + + return JsonResponse({'message': 'ok'}) \ No newline at end of file -- libgit2 0.21.2