Commit ff839086b58e21c76a11ac63c4c3e67c1d20de8e

Authored by Jailson Dias
1 parent b33feeb3

Form de topic #31

courses/admin.py
1 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 5 class CategoryAdmin(admin.ModelAdmin):
6 6 list_display = ['name', 'slug']
... ... @@ -10,10 +10,15 @@ class CourseAdmin(admin.ModelAdmin):
10 10 list_display = ['name', 'slug']
11 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 18 list_display = ['name', 'slug']
15 19 search_fields = ['name', 'slug']
16 20  
17 21 admin.site.register(Category, CategoryAdmin)
18 22 admin.site.register(Course, CourseAdmin)
19   -admin.site.register(Module, ModuleAdmin)
20 23 \ No newline at end of file
  24 +admin.site.register(Subject, SubjectAdmin)
  25 +admin.site.register(Topic, TopicAdmin)
... ...
courses/forms.py
1 1 from django import forms
2 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 5 class CategoryForm(forms.ModelForm):
6 6  
... ... @@ -64,3 +64,17 @@ class SubjectForm(forms.ModelForm):
64 64 'description': _("Subjects's description"),
65 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 @@
  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 50 update_date = models.DateTimeField(_('Date of last update'), auto_now=True)
51 51 course = models.ForeignKey(Course, verbose_name = _('Course'), related_name="subjects")
52 52  
53   -
  53 +
54 54 class Meta:
55 55  
56 56 verbose_name = _('Subject')
... ... @@ -58,3 +58,21 @@ class Subject(models.Model):
58 58  
59 59 def __str__(self):
60 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
... ...