diff --git a/pdf_file/templates/pdf_file/relatorios.html b/pdf_file/templates/pdf_file/relatorios.html index 649ef17..39ce64c 100644 --- a/pdf_file/templates/pdf_file/relatorios.html +++ b/pdf_file/templates/pdf_file/relatorios.html @@ -34,7 +34,7 @@ array_n_did.push([input,"{{data_json.1}}","{{data_json.2}}", "{{data_json.3}}"]); {% endfor%} var json_n_did = {"data":array_n_did}; - var column_n_did = [{"string":' {% trans "Send message" %}'},{"string":'{% trans "User" %}'},{"string":'{% trans "Group" %}'},{"string":"Action don't realized"}]; + var column_n_did = [{"string":' {% trans "Send message" %}'},{"string":'{% trans "User" %}'},{"string":'{% trans "Group" %}'},{"string":"{% trans "Action don't realized" %}"}]; @@ -138,6 +138,7 @@ table.draw(data_table, options); } } + var table = new google.visualization.Table(document.getElementById('table_div')); google.visualization.events.addListener(table, 'sort', function(e) {ordenar(e)}); table.draw(data_table, options); @@ -205,13 +206,13 @@ -
+
- -
+
+
+
    @@ -231,44 +233,14 @@
- - - +


{% endblock %} diff --git a/pdf_file/templates/pdf_file/send_message.html b/pdf_file/templates/pdf_file/send_message.html new file mode 100644 index 0000000..8c48540 --- /dev/null +++ b/pdf_file/templates/pdf_file/send_message.html @@ -0,0 +1,112 @@ + + {% load widget_tweaks i18n %} + + + + \ No newline at end of file diff --git a/pdf_file/urls.py b/pdf_file/urls.py index 585e67e..67700a3 100644 --- a/pdf_file/urls.py +++ b/pdf_file/urls.py @@ -4,10 +4,10 @@ from django.contrib.auth import views as auth_views from . import views urlpatterns = [ - url(r'^create/(?P[\w_-]+)/$', views.PDFFileCreateView.as_view(), name='create'), - url(r'^update/(?P[\w_-]+)/(?P[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'), - url(r'^delete/(?P[\w_-]+)/$', views.DeleteView.as_view(), name = 'delete'), - url(r'^view/(?P[\w_-]+)/$', views.ViewPDFFile.as_view(), name = 'view'), - url(r'^chart/(?P[\w_-]+)/$', views.StatisticsView.as_view(), name = 'get_chart'), - url(r'^send-message/(?P[\w_-]+)/$', views.sendMessage, name = 'send_message'), + url(r'^create/(?P[\w_-]+)/$', views.PDFFileCreateView.as_view(), name='create'), + url(r'^update/(?P[\w_-]+)/(?P[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'), + url(r'^delete/(?P[\w_-]+)/$', views.DeleteView.as_view(), name = 'delete'), + url(r'^view/(?P[\w_-]+)/$', views.ViewPDFFile.as_view(), name = 'view'), + url(r'^chart/(?P[\w_-]+)/$', views.StatisticsView.as_view(), name = 'get_chart'), + url(r'^send-message/(?P[\w_-]+)/$', views.SendMessage.as_view(), name = 'send_message'), ] diff --git a/pdf_file/views.py b/pdf_file/views.py index 259acc0..fdf57ec 100644 --- a/pdf_file/views.py +++ b/pdf_file/views.py @@ -19,6 +19,10 @@ from topics.models import Topic, Resource from .models import PDFFile from pendencies.forms import PendenciesForm +from chat.models import Conversation, TalkMessages +from users.models import User +from subjects.models import Subject +from webpage.forms import FormModalMessage class ViewPDFFile(LoginRequiredMixin, LogMixin, generic.TemplateView): @@ -154,9 +158,6 @@ class PDFFileCreateView(LoginRequiredMixin, LogMixin , generic.CreateView): if not self.object.topic.visible and not self.object.topic.repository: self.object.visible = False - if form.cleaned_data["all_students"]: - self.object.students.add(*self.object.topic.subject.students.all()) - self.object.save() pend_form = pendencies_form.save(commit = False) @@ -412,6 +413,8 @@ class StatisticsView(LoginRequiredMixin, LogMixin, generic.DetailView): context["init_date"] = start_date context["end_date"] = end_date alunos = pdf_file.students.all() + if pdf_file.all_students : + alunos = pdf_file.topic.subject.students.all() vis_ou = Log.objects.filter(context__contains={'pdffile_id':pdf_file.id},resource="pdffile",action="view",user_email__in=(aluno.email for aluno in alunos), datetime__range=(start_date,end_date + datetime.timedelta(minutes = 1))) did,n_did,history = str(_("Realized")),str(_("Unrealized")),str(_("Historic")) @@ -454,19 +457,42 @@ class StatisticsView(LoginRequiredMixin, LogMixin, generic.DetailView): context["history_table"] = history return context +class SendMessage(LoginRequiredMixin, LogMixin, generic.edit.FormView): + log_component = 'resources' + log_action = 'send' + log_resource = 'pdffile' + log_context = {} + + login_url = reverse_lazy("users:login") + redirect_field_name = 'next' + + template_name = 'pdf_file/send_message.html' + form_class = FormModalMessage + + def dispatch(self, request, *args, **kwargs): + slug = self.kwargs.get('slug', '') + pdf_file = get_object_or_404(PDFFile, slug = slug) + self.pdf_file = pdf_file + + if not has_subject_permissions(request.user, pdf_file.topic.subject): + return redirect(reverse_lazy('subjects:home')) + + return super(SendMessage, self).dispatch(request, *args, **kwargs) + + def form_valid(self, form): + message = form.cleaned_data.get('comment') + image = form.cleaned_data.get("image") + users = (self.request.POST.get('users[]','')).split(",") + user = self.request.user + subject = self.pdf_file.topic.subject + for u in users: + to_user = User.objects.get(email=u) + talk, create = Conversation.objects.get_or_create(user_one=user,user_two=to_user) + created = TalkMessages.objects.create(text=message,talk=talk,user=user,subject=subject,image=image) + return JsonResponse({"message":"ok"}) + + def get_context_data(self, **kwargs): + context = super(SendMessage,self).get_context_data() + context["pdf_file"] = get_object_or_404(PDFFile, slug=self.kwargs.get('slug', '')) + return context -from chat.models import Conversation, TalkMessages -from users.models import User -from subjects.models import Subject -def sendMessage(request, slug): - message = request.GET.get('message','') - users = request.GET.getlist('users[]','') - user = request.user - subject = get_object_or_404(Subject,slug = slug) - - for u in users: - to_user = User.objects.get(email=u) - talk, create = Conversation.objects.get_or_create(user_one=user,user_two=to_user) - created = TalkMessages.objects.create(text=message,talk=talk,user=user,subject=subject) - - return JsonResponse({"message":"ok"}) -- libgit2 0.21.2