Commit 918fef110d58723554d95a4651ee18a7403dc1da
1 parent
00313983
Exists in
master
and in
3 other branches
added error path for deleting category but still has template to do, subjects, c…
…ategories and markers are now available on website
Showing
5 changed files
with
57 additions
and
11 deletions
Show diff stats
categories/admin.py
1 | 1 | from django.contrib import admin |
2 | +from .models import Category | |
3 | +from .forms import CategoryForm | |
2 | 4 | |
3 | -# Register your models here. | |
5 | +class CategoryAdmin(admin.ModelAdmin): | |
6 | + list_display = ['name', 'description', 'visible', | |
7 | + ] | |
8 | + search_fields = ['name'] | |
9 | + form = CategoryForm | |
10 | + | |
11 | +admin.site.register(Category, CategoryAdmin) | |
4 | 12 | \ No newline at end of file | ... | ... |
categories/views.py
1 | -from django.shortcuts import render | |
1 | +from django.shortcuts import render, get_object_or_404 | |
2 | 2 | from django.views.generic import ListView, CreateView, DeleteView |
3 | 3 | from .models import Category |
4 | 4 | from django.core.urlresolvers import reverse_lazy |
5 | 5 | from rolepermissions.verifications import has_role |
6 | 6 | |
7 | +from django.http import HttpResponse | |
7 | 8 | from django.utils.translation import ugettext_lazy as _ |
8 | 9 | |
9 | 10 | from django.contrib.auth.mixins import LoginRequiredMixin |
... | ... | @@ -11,6 +12,8 @@ from django.contrib.auth.mixins import LoginRequiredMixin |
11 | 12 | from rolepermissions.mixins import HasRoleMixin |
12 | 13 | from .forms import CategoryForm |
13 | 14 | |
15 | +from subjects.models import Subject | |
16 | + | |
14 | 17 | class IndexView(LoginRequiredMixin, ListView): |
15 | 18 | |
16 | 19 | login_url = reverse_lazy("users:login") |
... | ... | @@ -83,15 +86,17 @@ class DeleteCategory(HasRoleMixin, DeleteView): |
83 | 86 | model = Category |
84 | 87 | template_name = 'categories/delete.html' |
85 | 88 | |
86 | - def dispatch(self, *args, **kwargs): | |
89 | + | |
90 | + def delete(self, request, *args, **kwargs): | |
87 | 91 | category = get_object_or_404(Category, slug = self.kwargs.get('slug')) |
88 | - if len(category.subject_set) > 0: | |
89 | - return self.handle_no_permission() | |
92 | + subjects = Subject.objects.filter(category = category) | |
93 | + print("aqui 3") | |
94 | + if len(subjects) > 0: | |
95 | + return HttpResponse(_('There are subjects attched to this category')) | |
96 | + | |
97 | + return super(DeleteCategory, self).delete(self, request, *args, **kwargs) | |
90 | 98 | |
91 | - return super(DeleteCategory, self).dispatch(*args, **kwargs) | |
92 | - | |
93 | 99 | def get_success_url(self): |
94 | - | |
100 | + | |
95 | 101 | return reverse_lazy('categories:index') |
96 | 102 | |
97 | - | ... | ... |
subjects/admin.py
1 | + | |
1 | 2 | from django.contrib import admin |
3 | +from .models import Subject, Marker | |
4 | +from .forms import CreateSubjectForm, CreateMarkerForm | |
5 | + | |
6 | +class SubjectAdmin(admin.ModelAdmin): | |
7 | + list_display = ['name', 'description_brief', 'description', 'init_date', 'end_date', 'visible', 'professor',] | |
8 | + search_fields = ['name'] | |
9 | + form = CreateSubjectForm | |
10 | + | |
11 | + | |
12 | +class MarkerAdmin(admin.ModelAdmin): | |
13 | + list_display = ['name'] | |
14 | + search_fields = ['name'] | |
15 | + form = CreateMarkerForm | |
16 | + | |
17 | +admin.site.register(Subject, SubjectAdmin) | |
18 | +admin.site.register(Marker, MarkerAdmin) | |
2 | 19 | |
3 | -# Register your models here. | ... | ... |
... | ... | @@ -0,0 +1,15 @@ |
1 | +from .models import Subject, Marker | |
2 | +from django import forms | |
3 | +class CreateSubjectForm(forms.ModelForm): | |
4 | + # TODO: Define form fields here | |
5 | + model = Subject | |
6 | + | |
7 | + fields = ('name', 'description_brief', 'description', 'init_date', 'end_date', 'visible', 'markers', 'professor', | |
8 | + 'students', 'category', ) | |
9 | + | |
10 | + | |
11 | +class CreateMarkerForm(forms.ModelForm): | |
12 | + class Meta: | |
13 | + model = Marker | |
14 | + fields = ('name',) | |
15 | + | |
0 | 16 | \ No newline at end of file | ... | ... |
subjects/models.py
... | ... | @@ -10,6 +10,8 @@ from categories.models import Category |
10 | 10 | |
11 | 11 | class Marker(models.Model): |
12 | 12 | name = models.CharField( _("Name"), unique = True,max_length= 200) |
13 | + def __str__(self): | |
14 | + return self.name | |
13 | 15 | |
14 | 16 | class Subject(models.Model): |
15 | 17 | |
... | ... | @@ -39,7 +41,7 @@ class Subject(models.Model): |
39 | 41 | verbose_name_plural = "Subjects" |
40 | 42 | |
41 | 43 | def __str__(self): |
42 | - pass | |
44 | + return self.name | |
43 | 45 | |
44 | 46 | |
45 | 47 | ... | ... |