Commit 6e69b2da88682ee3e6cdbcc85cc0ed6d2c2465c5

Authored by Zambom
1 parent d9558c49

Adding file link log

Showing 2 changed files with 89 additions and 7 deletions   Show diff stats
file_link/views.py
... ... @@ -9,6 +9,8 @@ from django.contrib.auth.mixins import LoginRequiredMixin
9 9  
10 10 from amadeus.permissions import has_subject_permissions, has_resource_permissions
11 11  
  12 +from log.mixins import LogMixin
  13 +
12 14 from topics.models import Topic
13 15  
14 16 from pendencies.forms import PendenciesForm
... ... @@ -16,7 +18,12 @@ from pendencies.forms import PendenciesForm
16 18 from .forms import FileLinkForm
17 19 from .models import FileLink
18 20  
19   -class DownloadFile(LoginRequiredMixin, generic.DetailView):
  21 +class DownloadFile(LoginRequiredMixin, LogMixin, generic.DetailView):
  22 + log_component = 'resources'
  23 + log_action = 'view'
  24 + log_resource = 'file_link'
  25 + log_context = {}
  26 +
20 27 login_url = reverse_lazy("users:login")
21 28 redirect_field_name = 'next'
22 29  
... ... @@ -46,10 +53,30 @@ class DownloadFile(LoginRequiredMixin, generic.DetailView):
46 53 response['Content-Disposition'] = 'attachment; filename=%s' % file_link.name
47 54 response['Content-Transfer-Encoding'] = 'binary'
48 55 response['Content-Length'] = str(path.getsize(file_link.file_content.path))
  56 +
  57 + self.log_context['category_id'] = file_link.topic.subject.category.id
  58 + self.log_context['category_name'] = file_link.topic.subject.category.name
  59 + self.log_context['category_slug'] = file_link.topic.subject.category.slug
  60 + self.log_context['subject_id'] = file_link.topic.subject.id
  61 + self.log_context['subject_name'] = file_link.topic.subject.name
  62 + self.log_context['subject_slug'] = file_link.topic.subject.slug
  63 + self.log_context['topic_id'] = file_link.topic.id
  64 + self.log_context['topic_name'] = file_link.topic.name
  65 + self.log_context['topic_slug'] = file_link.topic.slug
  66 + self.log_context['file_link_id'] = file_link.id
  67 + self.log_context['file_link_name'] = file_link.name
  68 + self.log_context['file_link_slug'] = file_link.slug
  69 +
  70 + super(DownloadFile, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
49 71  
50 72 return response
51 73  
52   -class CreateView(LoginRequiredMixin, generic.edit.CreateView):
  74 +class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
  75 + log_component = 'resources'
  76 + log_action = 'create'
  77 + log_resource = 'file_link'
  78 + log_context = {}
  79 +
53 80 login_url = reverse_lazy("users:login")
54 81 redirect_field_name = 'next'
55 82  
... ... @@ -127,6 +154,21 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
127 154 if not pend_form.action == "":
128 155 pend_form.save()
129 156  
  157 + self.log_context['category_id'] = self.object.topic.subject.category.id
  158 + self.log_context['category_name'] = self.object.topic.subject.category.name
  159 + self.log_context['category_slug'] = self.object.topic.subject.category.slug
  160 + self.log_context['subject_id'] = self.object.topic.subject.id
  161 + self.log_context['subject_name'] = self.object.topic.subject.name
  162 + self.log_context['subject_slug'] = self.object.topic.subject.slug
  163 + self.log_context['topic_id'] = self.object.topic.id
  164 + self.log_context['topic_name'] = self.object.topic.name
  165 + self.log_context['topic_slug'] = self.object.topic.slug
  166 + self.log_context['file_link_id'] = self.object.id
  167 + self.log_context['file_link_name'] = self.object.name
  168 + self.log_context['file_link_slug'] = self.object.slug
  169 +
  170 + super(CreateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  171 +
130 172 return redirect(self.get_success_url())
131 173  
132 174 def get_context_data(self, **kwargs):
... ... @@ -147,7 +189,12 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
147 189  
148 190 return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
149 191  
150   -class UpdateView(LoginRequiredMixin, generic.UpdateView):
  192 +class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
  193 + log_component = 'resources'
  194 + log_action = 'update'
  195 + log_resource = 'file_link'
  196 + log_context = {}
  197 +
151 198 login_url = reverse_lazy("users:login")
152 199 redirect_field_name = 'next'
153 200  
... ... @@ -221,6 +268,21 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
221 268 if not pend_form.action == "":
222 269 pend_form.save()
223 270  
  271 + self.log_context['category_id'] = self.object.topic.subject.category.id
  272 + self.log_context['category_name'] = self.object.topic.subject.category.name
  273 + self.log_context['category_slug'] = self.object.topic.subject.category.slug
  274 + self.log_context['subject_id'] = self.object.topic.subject.id
  275 + self.log_context['subject_name'] = self.object.topic.subject.name
  276 + self.log_context['subject_slug'] = self.object.topic.subject.slug
  277 + self.log_context['topic_id'] = self.object.topic.id
  278 + self.log_context['topic_name'] = self.object.topic.name
  279 + self.log_context['topic_slug'] = self.object.topic.slug
  280 + self.log_context['file_link_id'] = self.object.id
  281 + self.log_context['file_link_name'] = self.object.name
  282 + self.log_context['file_link_slug'] = self.object.slug
  283 +
  284 + super(UpdateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  285 +
224 286 return redirect(self.get_success_url())
225 287  
226 288 def get_context_data(self, **kwargs):
... ... @@ -241,7 +303,12 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
241 303  
242 304 return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
243 305  
244   -class DeleteView(LoginRequiredMixin, generic.DeleteView):
  306 +class DeleteView(LoginRequiredMixin, LogMixin, generic.DeleteView):
  307 + log_component = 'resources'
  308 + log_action = 'delete'
  309 + log_resource = 'file_link'
  310 + log_context = {}
  311 +
245 312 login_url = reverse_lazy("users:login")
246 313 redirect_field_name = 'next'
247 314  
... ... @@ -261,4 +328,19 @@ class DeleteView(LoginRequiredMixin, generic.DeleteView):
261 328 def get_success_url(self):
262 329 messages.success(self.request, _('The File Link "%s" was removed successfully from virtual environment "%s"!')%(self.object.name, self.object.topic.subject.name))
263 330  
  331 + self.log_context['category_id'] = self.object.topic.subject.category.id
  332 + self.log_context['category_name'] = self.object.topic.subject.category.name
  333 + self.log_context['category_slug'] = self.object.topic.subject.category.slug
  334 + self.log_context['subject_id'] = self.object.topic.subject.id
  335 + self.log_context['subject_name'] = self.object.topic.subject.name
  336 + self.log_context['subject_slug'] = self.object.topic.subject.slug
  337 + self.log_context['topic_id'] = self.object.topic.id
  338 + self.log_context['topic_name'] = self.object.topic.name
  339 + self.log_context['topic_slug'] = self.object.topic.slug
  340 + self.log_context['file_link_id'] = self.object.id
  341 + self.log_context['file_link_name'] = self.object.name
  342 + self.log_context['file_link_slug'] = self.object.slug
  343 +
  344 + super(DeleteView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  345 +
264 346 return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
265 347 \ No newline at end of file
... ...
students_group/views.py
... ... @@ -53,7 +53,7 @@ class IndexView(LoginRequiredMixin, generic.ListView):
53 53 class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
54 54 log_component = 'students_group'
55 55 log_action = 'create'
56   - log_resource = 'students group'
  56 + log_resource = 'students_group'
57 57 log_context = {}
58 58  
59 59 login_url = reverse_lazy("users:login")
... ... @@ -144,7 +144,7 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
144 144 class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
145 145 log_component = 'students_group'
146 146 log_action = 'update'
147   - log_resource = 'students group'
  147 + log_resource = 'students_group'
148 148 log_context = {}
149 149  
150 150 login_url = reverse_lazy("users:login")
... ... @@ -196,7 +196,7 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
196 196 class DeleteView(LoginRequiredMixin, LogMixin, generic.DeleteView):
197 197 log_component = 'students_group'
198 198 log_action = 'delete'
199   - log_resource = 'students group'
  199 + log_resource = 'students_group'
200 200 log_context = {}
201 201  
202 202 login_url = reverse_lazy("users:login")
... ...