diff --git a/amadeus/static/css/base/amadeus.css b/amadeus/static/css/base/amadeus.css index 0b021d4..2fac418 100755 --- a/amadeus/static/css/base/amadeus.css +++ b/amadeus/static/css/base/amadeus.css @@ -468,7 +468,7 @@ ul, li { } /* Icon Topic */ .divMoreActions { - text-align: right; height: 37px; float: right; + text-align: right; height: 30px; float: right; } .divMoreActions > .btn-group { @@ -476,12 +476,10 @@ ul, li { } .moreAccordion { - height: 37px; + height: 30px; } /*.divMoreActions div button {padding-left: 10px; padding-right: 10px; padding-bottom: 10px; margin-bottom: 4px; height: 31px;}*/ -.divMoreActions , .moreAccordion{ - padding-top: 3px; -} + .moreAccordion button{margin-bottom: 0px; margin-top: 8px;} .titleTopic {padding-top: 10px; padding-bottom: 10px;} .titleTopic a h4, .titleTopic h4{color: white;} diff --git a/categories/forms.py b/categories/forms.py index b742a64..fc28e2f 100644 --- a/categories/forms.py +++ b/categories/forms.py @@ -7,5 +7,6 @@ class CategoryForm(forms.ModelForm): fields = ( 'name', 'description', 'visible', 'coordinators', ) widgets = { 'description': forms.Textarea, + 'coordinators' : forms.SelectMultiple, } \ No newline at end of file diff --git a/categories/templates/categories/list.html b/categories/templates/categories/list.html index f635ebf..ad34d9e 100755 --- a/categories/templates/categories/list.html +++ b/categories/templates/categories/list.html @@ -25,6 +25,12 @@ {% if user.is_staff %} + +{% else %} + {% endif %} @@ -39,8 +45,11 @@ {{category.name}} - {% if user.is_staff %} -
+ + + + {% if user.is_staff or user in category.coordinators.all %} +
- - {% else %} - + {% endif %} + + {% if not user.is_staff %} +
+ + - + + +
{% endif %} -
diff --git a/categories/views.py b/categories/views.py index 5923632..c996bad 100644 --- a/categories/views.py +++ b/categories/views.py @@ -4,6 +4,7 @@ from .models import Category from django.core.urlresolvers import reverse_lazy from rolepermissions.verifications import has_role +from django.contrib import messages from django.http import HttpResponse from django.utils.translation import ugettext_lazy as _ @@ -49,15 +50,13 @@ class IndexView(LoginRequiredMixin, ListView): context = super(IndexView, self).get_context_data(**kwargs) list_categories = None categories = self.get_queryset().order_by('name') - if has_role(self.request.user,'system_admin'): - categories = self.get_queryset().order_by('name') + + for category in categories: + print(category.coordinators) + #if self.request.user in category.coordinators: + # print("here") - elif has_role(self.request.user,'professor'): - pass - #list_categories = self.get_queryset().filter(professors__in = [self.request.user]).order_by('name') - # categorys_categories = CourseCategory.objects.filter(course_category__professors__name = self.request.user.name).distinct() - elif has_role(self.request.user, 'student'): - pass + context['title'] = _('Categories') @@ -100,11 +99,20 @@ class CreateCategory(HasRoleMixin, CreateView): def form_valid(self, form): self.object = form.save() + + + #TODO: Implement log calls return super(CreateCategory, self).form_valid(form) + def get_success_url(self): + print(self.object.coordinators) + objeto = self.object.name + messages.success(self.request, _('Category "%s" register successfully!')%(objeto)) + return reverse_lazy('categories:index') -class DeleteCategory(HasRoleMixin, DeleteView): + +class DeleteCategory(DeleteView): login_url = reverse_lazy("users:login") redirect_field_name = 'next' @@ -115,9 +123,11 @@ class DeleteCategory(HasRoleMixin, DeleteView): def delete(self, request, *args, **kwargs): category = get_object_or_404(Category, slug = self.kwargs.get('slug')) subjects = Subject.objects.filter(category = category) - print("aqui 3") + if len(subjects) > 0: - return HttpResponse(_('There are subjects attched to this category')) + #objeto = category + #messages.success(self.request, _('cannot delete Category "%s" ')%(objeto)) + return reverse_lazy('categories:index') return super(DeleteCategory, self).delete(self, request, *args, **kwargs) -- libgit2 0.21.2