Commit bfb98dad89c02682732251a24d49ae6a30671305

Authored by Felipe Henrique de Almeida Bormann
2 parents 3699b36b 3638ec18

Merge branch 'refactoring' of https://github.com/amadeusproject/amadeuslms into refactoring

Showing 1 changed file with 42 additions and 3 deletions   Show diff stats
categories/views.py
@@ -16,6 +16,8 @@ from .forms import CategoryForm @@ -16,6 +16,8 @@ from .forms import CategoryForm
16 from braces import views 16 from braces import views
17 from subjects.models import Subject 17 from subjects.models import Subject
18 18
  19 +from log.mixins import LogMixin
  20 +
19 class IndexView(LoginRequiredMixin, ListView): 21 class IndexView(LoginRequiredMixin, ListView):
20 22
21 login_url = reverse_lazy("users:login") 23 login_url = reverse_lazy("users:login")
@@ -57,7 +59,11 @@ class IndexView(LoginRequiredMixin, ListView): @@ -57,7 +59,11 @@ class IndexView(LoginRequiredMixin, ListView):
57 59
58 return context 60 return context
59 61
60 -class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): 62 +class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, LogMixin, CreateView):
  63 + log_component = 'category'
  64 + log_action = 'create'
  65 + log_resource = 'category'
  66 + log_context = {}
61 67
62 allowed_rules = ['system_admin'] 68 allowed_rules = ['system_admin']
63 login_url = reverse_lazy('users:login') 69 login_url = reverse_lazy('users:login')
@@ -68,6 +74,7 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): @@ -68,6 +74,7 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
68 74
69 def get_initial(self): 75 def get_initial(self):
70 initial = super(CreateCategory, self).get_initial() 76 initial = super(CreateCategory, self).get_initial()
  77 +
71 if self.kwargs.get('slug'): 78 if self.kwargs.get('slug'):
72 category = get_object_or_404(Category, slug = self.kwargs['slug']) 79 category = get_object_or_404(Category, slug = self.kwargs['slug'])
73 initial = initial.copy() 80 initial = initial.copy()
@@ -76,6 +83,13 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): @@ -76,6 +83,13 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
76 initial['name'] = category.name 83 initial['name'] = category.name
77 initial['visible'] = category.visible 84 initial['visible'] = category.visible
78 #initial['coordinators'] = category.coordinators 85 #initial['coordinators'] = category.coordinators
  86 +
  87 + self.log_action = 'replicate'
  88 +
  89 + self.log_context['replicated_category_id'] = category.id
  90 + self.log_context['replicated_category_name'] = category.name
  91 + self.log_context['replicated_category_slug'] = category.slug
  92 +
79 return initial 93 return initial
80 94
81 95
@@ -93,7 +107,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): @@ -93,7 +107,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
93 def form_valid(self, form): 107 def form_valid(self, form):
94 self.object = form.save() 108 self.object = form.save()
95 109
  110 + self.log_context['category_id'] = self.object.id
  111 + self.log_context['category_name'] = self.object.name
  112 + self.log_context['category_slug'] = self.object.slug
96 113
  114 + super(CreateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
97 115
98 #TODO: Implement log calls 116 #TODO: Implement log calls
99 return super(CreateCategory, self).form_valid(form) 117 return super(CreateCategory, self).form_valid(form)
@@ -105,7 +123,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): @@ -105,7 +123,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
105 return reverse_lazy('categories:index') 123 return reverse_lazy('categories:index')
106 124
107 125
108 -class DeleteCategory(DeleteView): 126 +class DeleteCategory(LogMixin, DeleteView):
  127 + log_component = 'category'
  128 + log_action = 'delete'
  129 + log_resource = 'category'
  130 + log_context = {}
109 131
110 login_url = reverse_lazy("users:login") 132 login_url = reverse_lazy("users:login")
111 redirect_field_name = 'next' 133 redirect_field_name = 'next'
@@ -125,11 +147,22 @@ class DeleteCategory(DeleteView): @@ -125,11 +147,22 @@ class DeleteCategory(DeleteView):
125 return super(DeleteCategory, self).delete(self, request, *args, **kwargs) 147 return super(DeleteCategory, self).delete(self, request, *args, **kwargs)
126 148
127 def get_success_url(self): 149 def get_success_url(self):
  150 + self.log_context['category_id'] = self.object.id
  151 + self.log_context['category_name'] = self.object.name
  152 + self.log_context['category_slug'] = self.object.slug
  153 +
  154 + super(DeleteCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  155 +
128 messages.success(self.request, _('Category removed successfully!')) 156 messages.success(self.request, _('Category removed successfully!'))
129 return reverse_lazy('categories:index') 157 return reverse_lazy('categories:index')
130 158
131 159
132 -class UpdateCategory(UpdateView): 160 +class UpdateCategory(LogMixin, UpdateView):
  161 + log_component = 'category'
  162 + log_action = 'update'
  163 + log_resource = 'category'
  164 + log_context = {}
  165 +
133 model = Category 166 model = Category
134 form_class = CategoryForm 167 form_class = CategoryForm
135 template_name = 'categories/update.html' 168 template_name = 'categories/update.html'
@@ -139,6 +172,12 @@ class UpdateCategory(UpdateView): @@ -139,6 +172,12 @@ class UpdateCategory(UpdateView):
139 172
140 173
141 def get_success_url(self): 174 def get_success_url(self):
  175 + self.log_context['category_id'] = self.object.id
  176 + self.log_context['category_name'] = self.object.name
  177 + self.log_context['category_slug'] = self.object.slug
  178 +
  179 + super(UpdateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  180 +
142 objeto = self.object.name 181 objeto = self.object.name
143 messages.success(self.request, _('Category "%s" updated successfully!')%(objeto)) 182 messages.success(self.request, _('Category "%s" updated successfully!')%(objeto))
144 return reverse_lazy('categories:index') 183 return reverse_lazy('categories:index')