diff --git a/courses/forms.py b/courses/forms.py index 35f3caf..826f15b 100644 --- a/courses/forms.py +++ b/courses/forms.py @@ -1,6 +1,6 @@ from django import forms from django.utils.translation import ugettext_lazy as _ -from .models import CourseCategory, Course, Subject, Topic, ActivityFile, Activity +from .models import CourseCategory, Course, Subject, Topic, ActivityFile, Activity, FileMaterial, LinkMaterial from s3direct.widgets import S3DirectWidget @@ -188,3 +188,13 @@ class ActivityForm(forms.ModelForm): class Meta: model = Activity fields = ['topic', 'limit_date', 'students','all_students'] + +class FileMaterialForm(forms.ModelForm): + class Meta: + model = FileMaterial + fields = ['material', 'file', 'name'] + +class LinkMaterialForm(forms.ModelForm): + class Meta: + model = LinkMaterial + fields = ['material', 'name', 'description','url'] diff --git a/courses/migrations/0006_auto_20161017_0117.py b/courses/migrations/0006_auto_20161017_0117.py new file mode 100644 index 0000000..ac44462 --- /dev/null +++ b/courses/migrations/0006_auto_20161017_0117.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2016-10-17 04:17 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0002_mymetype'), + ('courses', '0005_file'), + ] + + operations = [ + migrations.RemoveField( + model_name='file', + name='material_ptr', + ), + migrations.RemoveField( + model_name='file', + name='typ', + ), + migrations.DeleteModel( + name='File', + ), + ] diff --git a/courses/migrations/0007_filematerial_linkmaterial.py b/courses/migrations/0007_filematerial_linkmaterial.py new file mode 100644 index 0000000..05b13f9 --- /dev/null +++ b/courses/migrations/0007_filematerial_linkmaterial.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2016-10-17 04:55 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('courses', '0006_auto_20161017_0117'), + ] + + operations = [ + migrations.CreateModel( + name='FileMaterial', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.FileField(upload_to='uploads/%Y/%m/%d')), + ('name', models.CharField(max_length=100)), + ('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material')), + ], + ), + migrations.CreateModel( + name='LinkMaterial', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('description', models.TextField()), + ('url', models.URLField(max_length=300, verbose_name='Link')), + ('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material')), + ], + ), + ] diff --git a/courses/models.py b/courses/models.py index a80bb2c..3ed8ef9 100644 --- a/courses/models.py +++ b/courses/models.py @@ -114,6 +114,17 @@ class Material(Resource): topic = models.ForeignKey(Topic, verbose_name = _('Topic'), related_name='materials') students = models.ManyToManyField(User, verbose_name = _('Students'), related_name='materials') all_students = models.BooleanField(_('All Students'), default=False) + +class FileMaterial(models.Model): + material = models.ForeignKey(Material, verbose_name = _('Material'), related_name='material_file') + file = models.FileField(upload_to='uploads/%Y/%m/%d') + name = models.CharField(max_length=100) + +class LinkMaterial(models.Model): + material = models.ForeignKey(Material, verbose_name = _('Material'), related_name='material_link') + name = models.CharField(max_length=100) + description = models.TextField() + url = models.URLField('Link', max_length=300) """ It is a category for each subject. -- libgit2 0.21.2