Commit 8efbd63d0ee9e569f56533fe2a07e9857ce67f7a

Authored by Matheus Lins
1 parent ee830676

create forms delivery material

courses/forms.py
1 1 from django import forms
2 2 from django.utils.translation import ugettext_lazy as _
3   -from .models import CourseCategory, Course, Subject, Topic, ActivityFile, Activity
  3 +from .models import CourseCategory, Course, Subject, Topic, ActivityFile, Activity, FileMaterial, LinkMaterial
4 4 from s3direct.widgets import S3DirectWidget
5 5  
6 6  
... ... @@ -188,3 +188,13 @@ class ActivityForm(forms.ModelForm):
188 188 class Meta:
189 189 model = Activity
190 190 fields = ['topic', 'limit_date', 'students','all_students']
  191 +
  192 +class FileMaterialForm(forms.ModelForm):
  193 + class Meta:
  194 + model = FileMaterial
  195 + fields = ['material', 'file', 'name']
  196 +
  197 +class LinkMaterialForm(forms.ModelForm):
  198 + class Meta:
  199 + model = LinkMaterial
  200 + fields = ['material', 'name', 'description','url']
... ...
courses/migrations/0006_auto_20161017_0117.py 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +# -*- coding: utf-8 -*-
  2 +# Generated by Django 1.10 on 2016-10-17 04:17
  3 +from __future__ import unicode_literals
  4 +
  5 +from django.db import migrations
  6 +
  7 +
  8 +class Migration(migrations.Migration):
  9 +
  10 + dependencies = [
  11 + ('core', '0002_mymetype'),
  12 + ('courses', '0005_file'),
  13 + ]
  14 +
  15 + operations = [
  16 + migrations.RemoveField(
  17 + model_name='file',
  18 + name='material_ptr',
  19 + ),
  20 + migrations.RemoveField(
  21 + model_name='file',
  22 + name='typ',
  23 + ),
  24 + migrations.DeleteModel(
  25 + name='File',
  26 + ),
  27 + ]
... ...
courses/migrations/0007_filematerial_linkmaterial.py 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +# -*- coding: utf-8 -*-
  2 +# Generated by Django 1.10 on 2016-10-17 04:55
  3 +from __future__ import unicode_literals
  4 +
  5 +from django.db import migrations, models
  6 +import django.db.models.deletion
  7 +
  8 +
  9 +class Migration(migrations.Migration):
  10 +
  11 + dependencies = [
  12 + ('courses', '0006_auto_20161017_0117'),
  13 + ]
  14 +
  15 + operations = [
  16 + migrations.CreateModel(
  17 + name='FileMaterial',
  18 + fields=[
  19 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  20 + ('file', models.FileField(upload_to='uploads/%Y/%m/%d')),
  21 + ('name', models.CharField(max_length=100)),
  22 + ('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material')),
  23 + ],
  24 + ),
  25 + migrations.CreateModel(
  26 + name='LinkMaterial',
  27 + fields=[
  28 + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  29 + ('name', models.CharField(max_length=100)),
  30 + ('description', models.TextField()),
  31 + ('url', models.URLField(max_length=300, verbose_name='Link')),
  32 + ('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material')),
  33 + ],
  34 + ),
  35 + ]
... ...
courses/models.py
... ... @@ -114,6 +114,17 @@ class Material(Resource):
114 114 topic = models.ForeignKey(Topic, verbose_name = _('Topic'), related_name='materials')
115 115 students = models.ManyToManyField(User, verbose_name = _('Students'), related_name='materials')
116 116 all_students = models.BooleanField(_('All Students'), default=False)
  117 +
  118 +class FileMaterial(models.Model):
  119 + material = models.ForeignKey(Material, verbose_name = _('Material'), related_name='material_file')
  120 + file = models.FileField(upload_to='uploads/%Y/%m/%d')
  121 + name = models.CharField(max_length=100)
  122 +
  123 +class LinkMaterial(models.Model):
  124 + material = models.ForeignKey(Material, verbose_name = _('Material'), related_name='material_link')
  125 + name = models.CharField(max_length=100)
  126 + description = models.TextField()
  127 + url = models.URLField('Link', max_length=300)
117 128  
118 129 """
119 130 It is a category for each subject.
... ...