Commit ff839086b58e21c76a11ac63c4c3e67c1d20de8e

Authored by Jailson Dias
1 parent b33feeb3

Form de topic #31

courses/admin.py
1 from django.contrib import admin 1 from django.contrib import admin
2 2
3 -from .models import Category, Course, Module 3 +from .models import Category, Course, Subject,Topic
4 4
5 class CategoryAdmin(admin.ModelAdmin): 5 class CategoryAdmin(admin.ModelAdmin):
6 list_display = ['name', 'slug'] 6 list_display = ['name', 'slug']
@@ -10,10 +10,15 @@ class CourseAdmin(admin.ModelAdmin): @@ -10,10 +10,15 @@ class CourseAdmin(admin.ModelAdmin):
10 list_display = ['name', 'slug'] 10 list_display = ['name', 'slug']
11 search_fields = ['name', 'slug'] 11 search_fields = ['name', 'slug']
12 12
13 -class ModuleAdmin(admin.ModelAdmin): 13 +class SubjectAdmin(admin.ModelAdmin):
  14 + list_display = ['name', 'slug']
  15 + search_fields = ['name', 'slug']
  16 +
  17 +class TopicAdmin(admin.ModelAdmin):
14 list_display = ['name', 'slug'] 18 list_display = ['name', 'slug']
15 search_fields = ['name', 'slug'] 19 search_fields = ['name', 'slug']
16 20
17 admin.site.register(Category, CategoryAdmin) 21 admin.site.register(Category, CategoryAdmin)
18 admin.site.register(Course, CourseAdmin) 22 admin.site.register(Course, CourseAdmin)
19 -admin.site.register(Module, ModuleAdmin)  
20 \ No newline at end of file 23 \ No newline at end of file
  24 +admin.site.register(Subject, SubjectAdmin)
  25 +admin.site.register(Topic, TopicAdmin)
courses/forms.py
1 from django import forms 1 from django import forms
2 from django.utils.translation import ugettext_lazy as _ 2 from django.utils.translation import ugettext_lazy as _
3 -from .models import Category, Course, Subject 3 +from .models import Category, Course, Subject, Topic
4 4
5 class CategoryForm(forms.ModelForm): 5 class CategoryForm(forms.ModelForm):
6 6
@@ -64,3 +64,17 @@ class SubjectForm(forms.ModelForm): @@ -64,3 +64,17 @@ class SubjectForm(forms.ModelForm):
64 'description': _("Subjects's description"), 64 'description': _("Subjects's description"),
65 'visible': _('Is the subject visible?'), 65 'visible': _('Is the subject visible?'),
66 } 66 }
  67 +
  68 +class TopicForm(forms.ModelForm):
  69 +
  70 + class Meta:
  71 + model = Topic
  72 + fields = ('name', 'description',)
  73 + labels = {
  74 + 'name': _('Name'),
  75 + 'description': _('Description'),
  76 + }
  77 + help_texts = {
  78 + 'name': _("Topic's name"),
  79 + 'description': _("Topic's description"),
  80 + }
courses/migrations/0007_topic.py 0 → 100644
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +# -*- coding: utf-8 -*-
  2 +# Generated by Django 1.10 on 2016-09-08 02:51
  3 +from __future__ import unicode_literals
  4 +
  5 +import autoslug.fields
  6 +from django.db import migrations, models
  7 +import django.db.models.deletion
  8 +
  9 +
  10 +class Migration(migrations.Migration):
  11 +
  12 + dependencies = [
  13 + ('courses', '0006_auto_20160907_2259'),
  14 + ]
  15 +
  16 + operations = [
  17 + migrations.CreateModel(
  18 + name='Topic',
  19 + fields=[
  20 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  21 + ('name', models.CharField(max_length=100, verbose_name='Name')),
  22 + ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')),
  23 + ('description', models.TextField(blank=True, verbose_name='Description')),
  24 + ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),
  25 + ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')),
  26 + ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='topics', to='courses.Subject', verbose_name='Subject')),
  27 + ],
  28 + options={
  29 + 'verbose_name': 'Topic',
  30 + 'verbose_name_plural': 'Topics',
  31 + },
  32 + ),
  33 + ]
courses/models.py
@@ -50,7 +50,7 @@ class Subject(models.Model): @@ -50,7 +50,7 @@ class Subject(models.Model):
50 update_date = models.DateTimeField(_('Date of last update'), auto_now=True) 50 update_date = models.DateTimeField(_('Date of last update'), auto_now=True)
51 course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects") 51 course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects")
52 52
53 - 53 +
54 class Meta: 54 class Meta:
55 55
56 verbose_name = _('Subject') 56 verbose_name = _('Subject')
@@ -58,3 +58,21 @@ class Subject(models.Model): @@ -58,3 +58,21 @@ class Subject(models.Model):
58 58
59 def __str__(self): 59 def __str__(self):
60 return self.name 60 return self.name
  61 +
  62 +class Topic(models.Model):
  63 +
  64 + name = models.CharField(_('Name'), max_length = 100)
  65 + slug = AutoSlugField(_("Slug"),populate_from='name',unique=True)
  66 + description = models.TextField(_('Description'), blank = True)
  67 + create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True)
  68 + update_date = models.DateTimeField(_('Date of last update'), auto_now=True)
  69 + subject = models.ForeignKey(Subject, verbose_name = _('Subject'), related_name="topics")
  70 +
  71 +
  72 + class Meta:
  73 +
  74 + verbose_name = _('Topic')
  75 + verbose_name_plural = _('Topics')
  76 +
  77 + def __str__(self):
  78 + return self.name