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 %}
+
+ - {% trans "My subjects" %}
+ - {% trans "all subjects" %}
+
{% 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