Commit bfb98dad89c02682732251a24d49ae6a30671305
Exists in
master
and in
3 other branches
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 | 16 | from braces import views |
17 | 17 | from subjects.models import Subject |
18 | 18 | |
19 | +from log.mixins import LogMixin | |
20 | + | |
19 | 21 | class IndexView(LoginRequiredMixin, ListView): |
20 | 22 | |
21 | 23 | login_url = reverse_lazy("users:login") |
... | ... | @@ -57,7 +59,11 @@ class IndexView(LoginRequiredMixin, ListView): |
57 | 59 | |
58 | 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 | 68 | allowed_rules = ['system_admin'] |
63 | 69 | login_url = reverse_lazy('users:login') |
... | ... | @@ -68,6 +74,7 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): |
68 | 74 | |
69 | 75 | def get_initial(self): |
70 | 76 | initial = super(CreateCategory, self).get_initial() |
77 | + | |
71 | 78 | if self.kwargs.get('slug'): |
72 | 79 | category = get_object_or_404(Category, slug = self.kwargs['slug']) |
73 | 80 | initial = initial.copy() |
... | ... | @@ -76,6 +83,13 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): |
76 | 83 | initial['name'] = category.name |
77 | 84 | initial['visible'] = category.visible |
78 | 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 | 93 | return initial |
80 | 94 | |
81 | 95 | |
... | ... | @@ -93,7 +107,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): |
93 | 107 | def form_valid(self, form): |
94 | 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 | 116 | #TODO: Implement log calls |
99 | 117 | return super(CreateCategory, self).form_valid(form) |
... | ... | @@ -105,7 +123,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): |
105 | 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 | 132 | login_url = reverse_lazy("users:login") |
111 | 133 | redirect_field_name = 'next' |
... | ... | @@ -125,11 +147,22 @@ class DeleteCategory(DeleteView): |
125 | 147 | return super(DeleteCategory, self).delete(self, request, *args, **kwargs) |
126 | 148 | |
127 | 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 | 156 | messages.success(self.request, _('Category removed successfully!')) |
129 | 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 | 166 | model = Category |
134 | 167 | form_class = CategoryForm |
135 | 168 | template_name = 'categories/update.html' |
... | ... | @@ -139,6 +172,12 @@ class UpdateCategory(UpdateView): |
139 | 172 | |
140 | 173 | |
141 | 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 | 181 | objeto = self.object.name |
143 | 182 | messages.success(self.request, _('Category "%s" updated successfully!')%(objeto)) |
144 | 183 | return reverse_lazy('categories:index') | ... | ... |