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,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') |