From 4f16a4b036bbf347b05b1938e9a9adec533d1ed3 Mon Sep 17 00:00:00 2001 From: fbormann Date: Wed, 16 Nov 2016 17:56:14 -0300 Subject: [PATCH] modifying courses model and it's fields, I had to rewrite some code because it wouldn't work and I've also changed the migrations, all of us will have to erase our database indeed --- app/migrations/0001_initial.py | 6 +++--- app/migrations/0002_auto_20161115_2054.py | 20 -------------------- core/migrations/0001_initial.py | 26 +++++++++++++++++++------- core/migrations/0002_auto_20161115_1936.py | 50 -------------------------------------------------- courses/forms.py | 93 ++++++++++----------------------------------------------------------------------------------- courses/migrations/0001_initial.py | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- courses/migrations/0002_auto_20161115_1936.py | 85 ------------------------------------------------------------------------------------- courses/models.py | 13 ++----------- courses/templates/course/course_card.html | 2 +- exam/migrations/0001_initial.py | 16 ++++++++++++++-- exam/migrations/0002_auto_20161115_1936.py | 30 ------------------------------ exercise/migrations/0001_initial.py | 2 +- files/migrations/0001_initial.py | 9 ++++++--- files/migrations/0002_topicfile_professor.py | 24 ------------------------ forum/migrations/0001_initial.py | 7 ++++++- forum/migrations/0002_auto_20161115_1936.py | 35 ----------------------------------- links/migrations/0001_initial.py | 2 +- poll/migrations/0001_initial.py | 14 +++++++++++++- poll/migrations/0002_auto_20161115_1936.py | 30 ------------------------------ users/migrations/0001_initial.py | 10 +++++----- users/migrations/0002_auto_20161115_1941.py | 20 -------------------- users/migrations/0003_auto_20161115_2054.py | 30 ------------------------------ 22 files changed, 131 insertions(+), 463 deletions(-) delete mode 100644 app/migrations/0002_auto_20161115_2054.py delete mode 100644 core/migrations/0002_auto_20161115_1936.py delete mode 100644 courses/migrations/0002_auto_20161115_1936.py delete mode 100644 exam/migrations/0002_auto_20161115_1936.py delete mode 100644 files/migrations/0002_topicfile_professor.py delete mode 100644 forum/migrations/0002_auto_20161115_1936.py delete mode 100644 poll/migrations/0002_auto_20161115_1936.py delete mode 100644 users/migrations/0002_auto_20161115_1941.py delete mode 100644 users/migrations/0003_auto_20161115_2054.py diff --git a/app/migrations/0001_initial.py b/app/migrations/0001_initial.py index 16d951c..9246ea1 100644 --- a/app/migrations/0001_initial.py +++ b/app/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 22:36 +# Generated by Django 1.10 on 2016-11-16 20:53 from __future__ import unicode_literals from django.db import migrations, models @@ -23,11 +23,11 @@ class Migration(migrations.Migration): ('username', models.CharField(max_length=30, verbose_name='Email host username')), ('password', models.CharField(blank=True, max_length=30, verbose_name='Email host password')), ('safe_conection', models.IntegerField(choices=[(0, 'No'), (1, 'TLS, if available'), (2, 'TLS'), (3, 'SSL')], default=0, verbose_name='Use safe conection')), - ('default_from_email', models.EmailField(blank=True, max_length=254, verbose_name='Default from email')), + ('default_from_email', models.EmailField(max_length=254, verbose_name='Default from email')), ], options={ - 'verbose_name': 'Amadeus SMTP setting', 'verbose_name_plural': 'Amadeus SMTP settings', + 'verbose_name': 'Amadeus SMTP setting', }, ), ] diff --git a/app/migrations/0002_auto_20161115_2054.py b/app/migrations/0002_auto_20161115_2054.py deleted file mode 100644 index 0a8a21f..0000000 --- a/app/migrations/0002_auto_20161115_2054.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 23:54 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('app', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='emailbackend', - name='default_from_email', - field=models.EmailField(max_length=254, verbose_name='Default from email'), - ), - ] diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py index f2fc78f..7672898 100644 --- a/core/migrations/0001_initial.py +++ b/core/migrations/0001_initial.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 22:36 +# Generated by Django 1.10 on 2016-11-16 20:53 from __future__ import unicode_literals import autoslug.fields +from django.conf import settings import django.contrib.postgres.fields.jsonb from django.db import migrations, models import django.db.models.deletion @@ -13,6 +14,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ @@ -25,18 +27,19 @@ class Migration(migrations.Migration): ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created Date')), ], options={ - 'verbose_name': 'Action', 'verbose_name_plural': 'Actions', + 'verbose_name': 'Action', }, ), migrations.CreateModel( name='Action_Resource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied')), ], options={ - 'verbose_name': 'Action_Resource', 'verbose_name_plural': 'Action_Resources', + 'verbose_name': 'Action_Resource', }, ), migrations.CreateModel( @@ -46,10 +49,12 @@ class Migration(migrations.Migration): ('component', models.TextField(verbose_name='Component (Module / App)')), ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), + ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')), ], options={ - 'verbose_name': 'Log', 'verbose_name_plural': 'Logs', + 'verbose_name': 'Log', }, ), migrations.CreateModel( @@ -60,8 +65,8 @@ class Migration(migrations.Migration): ('icon', models.CharField(max_length=50, unique=True, verbose_name='Icon')), ], options={ - 'verbose_name': 'Amadeus Mime Type', 'verbose_name_plural': 'Amadeus Mime Types', + 'verbose_name': 'Amadeus Mime Type', }, ), migrations.CreateModel( @@ -72,10 +77,12 @@ class Migration(migrations.Migration): ('read', models.BooleanField(default=False, verbose_name='Read')), ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')), + ('actor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Performer')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ - 'verbose_name': 'Notification', 'verbose_name_plural': 'Notifications', + 'verbose_name': 'Notification', }, ), migrations.CreateModel( @@ -88,8 +95,13 @@ class Migration(migrations.Migration): ('url', models.CharField(default='', max_length=100, verbose_name='URL')), ], options={ - 'verbose_name': 'Resource', 'verbose_name_plural': 'Resources', + 'verbose_name': 'Resource', }, ), + migrations.AddField( + model_name='action_resource', + name='resource', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'), + ), ] diff --git a/core/migrations/0002_auto_20161115_1936.py b/core/migrations/0002_auto_20161115_1936.py deleted file mode 100644 index 084112a..0000000 --- a/core/migrations/0002_auto_20161115_1936.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 22:36 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('core', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='notification', - name='actor', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Performer'), - ), - migrations.AddField( - model_name='notification', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User'), - ), - migrations.AddField( - model_name='log', - name='action_resource', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource'), - ), - migrations.AddField( - model_name='log', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor'), - ), - migrations.AddField( - model_name='action_resource', - name='action', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied'), - ), - migrations.AddField( - model_name='action_resource', - name='resource', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'), - ), - ] diff --git a/courses/forms.py b/courses/forms.py index 6084e1e..ab0d19e 100644 --- a/courses/forms.py +++ b/courses/forms.py @@ -18,64 +18,30 @@ class CategoryCourseForm(forms.ModelForm): class CourseForm(forms.ModelForm): - def clean_end_register_date(self): - init_register_date = self.cleaned_data['init_register_date'] - end_register_date = self.cleaned_data['end_register_date'] - - if init_register_date and end_register_date and end_register_date < init_register_date: - raise forms.ValidationError(_('The end date may not be before the start date.')) - return end_register_date - - def clean_init_date(self): - end_register_date = self.cleaned_data['end_register_date'] - init_date = self.cleaned_data['init_date'] - - if end_register_date and init_date and init_date <= end_register_date: - raise forms.ValidationError(_('The course start date must be after the end of registration.')) - return init_date - - def clean_end_date(self): - init_date = self.cleaned_data['init_date'] - end_date = self.cleaned_data['end_date'] - - if init_date and end_date and end_date < init_date: - raise forms.ValidationError(_('The end date may not be before the start date.')) - return end_date + class Meta: model = Course - fields = ('name', 'objectivies', 'content', 'max_students', 'init_register_date', 'end_register_date', - 'init_date', 'end_date', 'category', 'coordenator','public') + fields = ('name', 'description', + 'category', 'coordenator','public') labels = { 'name': _('Name'), - 'objectivies': _('Objectives'), 'content': _('Content'), - 'max_students': _('Number of studets maximum'), - 'init_register_date': _('Course registration start date'), - 'end_register_date': _('Course registration end date'), - 'init_date': _('Course start date'), - 'end_date': _('Course end date'), 'category': _('Category'), 'coordenator': _('Coordenator'), 'public':_('Public'), } help_texts = { 'name': _('Course name'), - 'objectivies': _('Course objective'), 'content': _('Course modules'), - 'max_students': _('Max number of students that a class can have'), - 'init_register_date': _('Date that starts the registration period of the course (dd/mm/yyyy)'), - 'end_register_date': _('Date that ends the registration period of the course (dd/mm/yyyy)'), - 'init_date': _('Date that the course starts (dd/mm/yyyy)'), - 'end_date': _('Date that the course ends (dd/mm/yyyy)'), 'category': _('CourseCategory which the course belongs'), 'coordenator': _('Course Coordenator'), 'public':_('To define if the course can be accessed by people not registered'), } widgets = { - 'ategoy': forms.Select(), + 'category': forms.Select(), 'coordenator': forms.Select(), 'content': SummernoteWidget(), 'objectivies': SummernoteWidget(), @@ -83,70 +49,31 @@ class CourseForm(forms.ModelForm): class UpdateCourseForm(CourseForm): - def clean_end_register_date(self): - init_register_date = self.cleaned_data['init_register_date'] - end_register_date = self.cleaned_data['end_register_date'] - - if init_register_date and end_register_date and end_register_date < init_register_date: - raise forms.ValidationError(_('The end date may not be before the start date.')) - return end_register_date - - def clean_init_date(self): - end_register_date = self.cleaned_data['end_register_date'] - init_date = self.cleaned_data['init_date'] - - if end_register_date and init_date and init_date <= end_register_date: - raise forms.ValidationError(_('The course start date must be after the end of registration.')) - return init_date - - def clean_end_date(self): - init_date = self.cleaned_data['init_date'] - end_date = self.cleaned_data['end_date'] - - if init_date and end_date and end_date < init_date: - raise forms.ValidationError(_('The end date may not be before the start date.')) - return end_date - def __init__(self, *args, **kwargs): super(UpdateCourseForm, self).__init__(*args, **kwargs) - self.fields["students"].required = False class Meta: model = Course - fields = ('name', 'objectivies', 'content', 'max_students', 'init_register_date', 'end_register_date', - 'init_date', 'end_date', 'category','students', 'coordenator','public') + fields = ('name', 'description', + 'category', 'coordenator','public') labels = { 'name': _('Name'), - 'objectivies': _('Objectives'), - 'content': _('Content'), - 'max_students': _('Number of studets maximum'), - 'init_register_date': _('Course registration start date'), - 'end_register_date': _('Course registration end date'), - 'init_date': _('Course start date'), - 'end_date': _('Course end date'), + 'description': _('Description'), 'category': _('Category'), 'coordenator': _('Coordenator'), - 'students': _('Student'), 'public':_('Public'), } help_texts = { 'name': _('Course name'), - 'objectivies': _('Course objective'), - 'content': _('Course modules'), - 'max_students': _('Max number of students that a class can have'), - 'init_register_date': _('Date that starts the registration period of the course (dd/mm/yyyy)'), - 'end_register_date': _('Date that ends the registration period of the course (dd/mm/yyyy)'), - 'init_date': _('Date that the course starts (dd/mm/yyyy)'), - 'end_date': _('Date that the course ends (dd/mm/yyyy)'), + 'description': _('Description about the course'), 'category': _('CourseCategory which the course belongs'), 'coordenator': _('Course Coordenator'), - 'students': _("Course's Students"), 'public':_('To define if the course can be accessed by people not registered'), } widgets = { - 'categoy': forms.Select(), + 'category': forms.Select(), 'coordenator': forms.Select(), - 'content': SummernoteWidget(), + 'description': SummernoteWidget(), 'objectivies': SummernoteWidget(), } diff --git a/courses/migrations/0001_initial.py b/courses/migrations/0001_initial.py index d1a8c9f..a65b898 100644 --- a/courses/migrations/0001_initial.py +++ b/courses/migrations/0001_initial.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 22:36 +# Generated by Django 1.10 on 2016-11-16 20:52 from __future__ import unicode_literals import autoslug.fields +from django.conf import settings from django.db import migrations, models import django.db.models.deletion import s3direct.fields @@ -13,7 +14,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('core', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('core', '__first__'), ] operations = [ @@ -23,6 +25,7 @@ class Migration(migrations.Migration): ('resource_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Resource')), ('limit_date', models.DateField(verbose_name='Deliver Date')), ('all_students', models.BooleanField(default=False, verbose_name='All Students')), + ('students', models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students')), ], bases=('core.resource',), ), @@ -32,10 +35,11 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('pdf', s3direct.fields.S3DirectField()), ('name', models.CharField(max_length=100)), + ('diet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity')), ], options={ - 'verbose_name': 'Activity File', 'verbose_name_plural': 'Activitys Files', + 'verbose_name': 'Activity File', }, ), migrations.CreateModel( @@ -47,8 +51,8 @@ class Migration(migrations.Migration): ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), ], options={ - 'verbose_name': 'Category', 'verbose_name_plural': 'Categories', + 'verbose_name': 'Category', }, ), migrations.CreateModel( @@ -57,20 +61,13 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='Name')), ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), - ('objectivies', models.TextField(blank=True, verbose_name='Objectivies')), - ('content', models.TextField(blank=True, verbose_name='Content')), - ('max_students', models.PositiveIntegerField(blank=True, verbose_name='Maximum Students')), - ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), - ('init_register_date', models.DateField(verbose_name='Register Date (Begin)')), - ('end_register_date', models.DateField(verbose_name='Register Date (End)')), - ('init_date', models.DateField(verbose_name='Begin of Course Date')), - ('end_date', models.DateField(verbose_name='End of Course Date')), + ('description', models.TextField(blank=True, verbose_name='Content')), ('public', models.BooleanField(default=False, verbose_name='Public')), ], options={ - 'verbose_name': 'Course', + 'ordering': ('name',), 'verbose_name_plural': 'Courses', - 'ordering': ('create_date', 'name'), + 'verbose_name': 'Course', }, ), migrations.CreateModel( @@ -82,8 +79,8 @@ class Migration(migrations.Migration): ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), ], options={ - 'verbose_name': 'Category', 'verbose_name_plural': 'Categories', + 'verbose_name': 'Category', }, ), migrations.CreateModel( @@ -108,6 +105,7 @@ class Migration(migrations.Migration): fields=[ ('resource_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Resource')), ('all_students', models.BooleanField(default=False, verbose_name='All Students')), + ('students', models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students')), ], bases=('core.resource',), ), @@ -125,11 +123,13 @@ class Migration(migrations.Migration): ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category')), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')), + ('professors', models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors')), + ('students', models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students')), ], options={ - 'verbose_name': 'Subject', - 'verbose_name_plural': 'Subjects', 'ordering': ('create_date', 'name'), + 'verbose_name_plural': 'Subjects', + 'verbose_name': 'Subject', }, ), migrations.CreateModel( @@ -142,8 +142,8 @@ class Migration(migrations.Migration): ('subjects', models.ManyToManyField(to='courses.Subject')), ], options={ - 'verbose_name': 'subject category', 'verbose_name_plural': 'subject categories', + 'verbose_name': 'subject category', }, ), migrations.CreateModel( @@ -159,9 +159,39 @@ class Migration(migrations.Migration): ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')), ], options={ - 'verbose_name': 'Topic', - 'verbose_name_plural': 'Topics', 'ordering': ('create_date', 'name'), + 'verbose_name_plural': 'Topics', + 'verbose_name': 'Topic', }, ), + migrations.AddField( + model_name='material', + name='topic', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), + ), + migrations.AddField( + model_name='linkmaterial', + name='material', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), + ), + migrations.AddField( + model_name='filematerial', + name='material', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), + ), + migrations.AddField( + model_name='course', + name='category', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), + ), + migrations.AddField( + model_name='course', + name='coordenator', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), + ), + migrations.AddField( + model_name='activity', + name='topic', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), + ), ] diff --git a/courses/migrations/0002_auto_20161115_1936.py b/courses/migrations/0002_auto_20161115_1936.py deleted file mode 100644 index f3dfad1..0000000 --- a/courses/migrations/0002_auto_20161115_1936.py +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-11-15 22:36 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('courses', '0001_initial'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AddField( - model_name='subject', - name='professors', - field=models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), - ), - migrations.AddField( - model_name='subject', - name='students', - field=models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), - ), - migrations.AddField( - model_name='material', - name='students', - field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'), - ), - migrations.AddField( - model_name='material', - name='topic', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), - ), - migrations.AddField( - model_name='linkmaterial', - name='material', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), - ), - migrations.AddField( - model_name='filematerial', - name='material', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), - ), - migrations.AddField( - model_name='course', - name='category', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), - ), - migrations.AddField( - model_name='course', - name='coordenator', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), - ), - migrations.AddField( - model_name='course', - name='professors', - field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), - ), - migrations.AddField( - model_name='course', - name='students', - field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), - ), - migrations.AddField( - model_name='activityfile', - name='diet', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity'), - ), - migrations.AddField( - model_name='activity', - name='students', - field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'), - ), - migrations.AddField( - model_name='activity', - name='topic', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), - ), - ] diff --git a/courses/models.py b/courses/models.py index ecee6df..0ebb727 100644 --- a/courses/models.py +++ b/courses/models.py @@ -38,22 +38,13 @@ class Course(models.Model): name = models.CharField(_('Name'), max_length = 100) slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) - objectivies = models.TextField(_('Objectivies'), blank = True) - content = models.TextField(_('Content'), blank = True) - max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True) - create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True) - init_register_date = models.DateField(_('Register Date (Begin)')) - end_register_date = models.DateField(_('Register Date (End)')) - init_date = models.DateField(_('Begin of Course Date')) - end_date = models.DateField(_('End of Course Date')) + description = models.TextField(_('Content'), blank = True) category = models.ForeignKey(CourseCategory, verbose_name = _('Category'), related_name='course_category') coordenator = models.ForeignKey(User, verbose_name = _('Coordenator'), related_name ='course_coordenator', null = True) - professors = models.ManyToManyField(User,verbose_name=_('Professors'), related_name='courses_professors') - students = models.ManyToManyField(User,verbose_name=_('Students'), related_name='courses_student', blank = True) public = models.BooleanField(_('Public'), default=False) class Meta: - ordering = ('create_date','name') + ordering = ('name',) verbose_name = _('Course') verbose_name_plural = _('Courses') diff --git a/courses/templates/course/course_card.html b/courses/templates/course/course_card.html index 6ca659e..3891f38 100644 --- a/courses/templates/course/course_card.html +++ b/courses/templates/course/course_card.html @@ -59,7 +59,7 @@