Commit 4f16a4b036bbf347b05b1938e9a9adec533d1ed3

Authored by fbormann
1 parent a08d5f5b

modifying courses model and it's fields, I had to rewrite some code because it w…

…ouldn't work and I've also changed the migrations, all of us will have to erase our database indeed
app/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:53
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 from django.db import migrations, models 5 from django.db import migrations, models
@@ -23,11 +23,11 @@ class Migration(migrations.Migration): @@ -23,11 +23,11 @@ class Migration(migrations.Migration):
23 ('username', models.CharField(max_length=30, verbose_name='Email host username')), 23 ('username', models.CharField(max_length=30, verbose_name='Email host username')),
24 ('password', models.CharField(blank=True, max_length=30, verbose_name='Email host password')), 24 ('password', models.CharField(blank=True, max_length=30, verbose_name='Email host password')),
25 ('safe_conection', models.IntegerField(choices=[(0, 'No'), (1, 'TLS, if available'), (2, 'TLS'), (3, 'SSL')], default=0, verbose_name='Use safe conection')), 25 ('safe_conection', models.IntegerField(choices=[(0, 'No'), (1, 'TLS, if available'), (2, 'TLS'), (3, 'SSL')], default=0, verbose_name='Use safe conection')),
26 - ('default_from_email', models.EmailField(blank=True, max_length=254, verbose_name='Default from email')), 26 + ('default_from_email', models.EmailField(max_length=254, verbose_name='Default from email')),
27 ], 27 ],
28 options={ 28 options={
29 - 'verbose_name': 'Amadeus SMTP setting',  
30 'verbose_name_plural': 'Amadeus SMTP settings', 29 'verbose_name_plural': 'Amadeus SMTP settings',
  30 + 'verbose_name': 'Amadeus SMTP setting',
31 }, 31 },
32 ), 32 ),
33 ] 33 ]
app/migrations/0002_auto_20161115_2054.py
@@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 23:54  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.db import migrations, models  
6 -  
7 -  
8 -class Migration(migrations.Migration):  
9 -  
10 - dependencies = [  
11 - ('app', '0001_initial'),  
12 - ]  
13 -  
14 - operations = [  
15 - migrations.AlterField(  
16 - model_name='emailbackend',  
17 - name='default_from_email',  
18 - field=models.EmailField(max_length=254, verbose_name='Default from email'),  
19 - ),  
20 - ]  
core/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:53
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 import autoslug.fields 5 import autoslug.fields
  6 +from django.conf import settings
6 import django.contrib.postgres.fields.jsonb 7 import django.contrib.postgres.fields.jsonb
7 from django.db import migrations, models 8 from django.db import migrations, models
8 import django.db.models.deletion 9 import django.db.models.deletion
@@ -13,6 +14,7 @@ class Migration(migrations.Migration): @@ -13,6 +14,7 @@ class Migration(migrations.Migration):
13 initial = True 14 initial = True
14 15
15 dependencies = [ 16 dependencies = [
  17 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16 ] 18 ]
17 19
18 operations = [ 20 operations = [
@@ -25,18 +27,19 @@ class Migration(migrations.Migration): @@ -25,18 +27,19 @@ class Migration(migrations.Migration):
25 ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created Date')), 27 ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created Date')),
26 ], 28 ],
27 options={ 29 options={
28 - 'verbose_name': 'Action',  
29 'verbose_name_plural': 'Actions', 30 'verbose_name_plural': 'Actions',
  31 + 'verbose_name': 'Action',
30 }, 32 },
31 ), 33 ),
32 migrations.CreateModel( 34 migrations.CreateModel(
33 name='Action_Resource', 35 name='Action_Resource',
34 fields=[ 36 fields=[
35 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 37 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  38 + ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied')),
36 ], 39 ],
37 options={ 40 options={
38 - 'verbose_name': 'Action_Resource',  
39 'verbose_name_plural': 'Action_Resources', 41 'verbose_name_plural': 'Action_Resources',
  42 + 'verbose_name': 'Action_Resource',
40 }, 43 },
41 ), 44 ),
42 migrations.CreateModel( 45 migrations.CreateModel(
@@ -46,10 +49,12 @@ class Migration(migrations.Migration): @@ -46,10 +49,12 @@ class Migration(migrations.Migration):
46 ('component', models.TextField(verbose_name='Component (Module / App)')), 49 ('component', models.TextField(verbose_name='Component (Module / App)')),
47 ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), 50 ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')),
48 ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), 51 ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')),
  52 + ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')),
  53 + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')),
49 ], 54 ],
50 options={ 55 options={
51 - 'verbose_name': 'Log',  
52 'verbose_name_plural': 'Logs', 56 'verbose_name_plural': 'Logs',
  57 + 'verbose_name': 'Log',
53 }, 58 },
54 ), 59 ),
55 migrations.CreateModel( 60 migrations.CreateModel(
@@ -60,8 +65,8 @@ class Migration(migrations.Migration): @@ -60,8 +65,8 @@ class Migration(migrations.Migration):
60 ('icon', models.CharField(max_length=50, unique=True, verbose_name='Icon')), 65 ('icon', models.CharField(max_length=50, unique=True, verbose_name='Icon')),
61 ], 66 ],
62 options={ 67 options={
63 - 'verbose_name': 'Amadeus Mime Type',  
64 'verbose_name_plural': 'Amadeus Mime Types', 68 'verbose_name_plural': 'Amadeus Mime Types',
  69 + 'verbose_name': 'Amadeus Mime Type',
65 }, 70 },
66 ), 71 ),
67 migrations.CreateModel( 72 migrations.CreateModel(
@@ -72,10 +77,12 @@ class Migration(migrations.Migration): @@ -72,10 +77,12 @@ class Migration(migrations.Migration):
72 ('read', models.BooleanField(default=False, verbose_name='Read')), 77 ('read', models.BooleanField(default=False, verbose_name='Read')),
73 ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), 78 ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')),
74 ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')), 79 ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')),
  80 + ('actor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Performer')),
  81 + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User')),
75 ], 82 ],
76 options={ 83 options={
77 - 'verbose_name': 'Notification',  
78 'verbose_name_plural': 'Notifications', 84 'verbose_name_plural': 'Notifications',
  85 + 'verbose_name': 'Notification',
79 }, 86 },
80 ), 87 ),
81 migrations.CreateModel( 88 migrations.CreateModel(
@@ -88,8 +95,13 @@ class Migration(migrations.Migration): @@ -88,8 +95,13 @@ class Migration(migrations.Migration):
88 ('url', models.CharField(default='', max_length=100, verbose_name='URL')), 95 ('url', models.CharField(default='', max_length=100, verbose_name='URL')),
89 ], 96 ],
90 options={ 97 options={
91 - 'verbose_name': 'Resource',  
92 'verbose_name_plural': 'Resources', 98 'verbose_name_plural': 'Resources',
  99 + 'verbose_name': 'Resource',
93 }, 100 },
94 ), 101 ),
  102 + migrations.AddField(
  103 + model_name='action_resource',
  104 + name='resource',
  105 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'),
  106 + ),
95 ] 107 ]
core/migrations/0002_auto_20161115_1936.py
@@ -1,50 +0,0 @@ @@ -1,50 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -import django.db.models.deletion  
8 -  
9 -  
10 -class Migration(migrations.Migration):  
11 -  
12 - initial = True  
13 -  
14 - dependencies = [  
15 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
16 - ('core', '0001_initial'),  
17 - ]  
18 -  
19 - operations = [  
20 - migrations.AddField(  
21 - model_name='notification',  
22 - name='actor',  
23 - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Performer'),  
24 - ),  
25 - migrations.AddField(  
26 - model_name='notification',  
27 - name='user',  
28 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User'),  
29 - ),  
30 - migrations.AddField(  
31 - model_name='log',  
32 - name='action_resource',  
33 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource'),  
34 - ),  
35 - migrations.AddField(  
36 - model_name='log',  
37 - name='user',  
38 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor'),  
39 - ),  
40 - migrations.AddField(  
41 - model_name='action_resource',  
42 - name='action',  
43 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied'),  
44 - ),  
45 - migrations.AddField(  
46 - model_name='action_resource',  
47 - name='resource',  
48 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'),  
49 - ),  
50 - ]  
courses/forms.py
@@ -18,64 +18,30 @@ class CategoryCourseForm(forms.ModelForm): @@ -18,64 +18,30 @@ class CategoryCourseForm(forms.ModelForm):
18 18
19 19
20 class CourseForm(forms.ModelForm): 20 class CourseForm(forms.ModelForm):
21 - def clean_end_register_date(self):  
22 - init_register_date = self.cleaned_data['init_register_date']  
23 - end_register_date = self.cleaned_data['end_register_date']  
24 -  
25 - if init_register_date and end_register_date and end_register_date < init_register_date:  
26 - raise forms.ValidationError(_('The end date may not be before the start date.'))  
27 - return end_register_date  
28 -  
29 - def clean_init_date(self):  
30 - end_register_date = self.cleaned_data['end_register_date']  
31 - init_date = self.cleaned_data['init_date']  
32 -  
33 - if end_register_date and init_date and init_date <= end_register_date:  
34 - raise forms.ValidationError(_('The course start date must be after the end of registration.'))  
35 - return init_date  
36 -  
37 - def clean_end_date(self):  
38 - init_date = self.cleaned_data['init_date']  
39 - end_date = self.cleaned_data['end_date']  
40 -  
41 - if init_date and end_date and end_date < init_date:  
42 - raise forms.ValidationError(_('The end date may not be before the start date.'))  
43 - return end_date 21 +
44 22
45 23
46 class Meta: 24 class Meta:
47 model = Course 25 model = Course
48 - fields = ('name', 'objectivies', 'content', 'max_students', 'init_register_date', 'end_register_date',  
49 - 'init_date', 'end_date', 'category', 'coordenator','public') 26 + fields = ('name', 'description',
  27 + 'category', 'coordenator','public')
50 labels = { 28 labels = {
51 'name': _('Name'), 29 'name': _('Name'),
52 - 'objectivies': _('Objectives'),  
53 'content': _('Content'), 30 'content': _('Content'),
54 - 'max_students': _('Number of studets maximum'),  
55 - 'init_register_date': _('Course registration start date'),  
56 - 'end_register_date': _('Course registration end date'),  
57 - 'init_date': _('Course start date'),  
58 - 'end_date': _('Course end date'),  
59 'category': _('Category'), 31 'category': _('Category'),
60 'coordenator': _('Coordenator'), 32 'coordenator': _('Coordenator'),
61 'public':_('Public'), 33 'public':_('Public'),
62 } 34 }
63 help_texts = { 35 help_texts = {
64 'name': _('Course name'), 36 'name': _('Course name'),
65 - 'objectivies': _('Course objective'),  
66 'content': _('Course modules'), 37 'content': _('Course modules'),
67 - 'max_students': _('Max number of students that a class can have'),  
68 - 'init_register_date': _('Date that starts the registration period of the course (dd/mm/yyyy)'),  
69 - 'end_register_date': _('Date that ends the registration period of the course (dd/mm/yyyy)'),  
70 - 'init_date': _('Date that the course starts (dd/mm/yyyy)'),  
71 - 'end_date': _('Date that the course ends (dd/mm/yyyy)'),  
72 'category': _('CourseCategory which the course belongs'), 38 'category': _('CourseCategory which the course belongs'),
73 'coordenator': _('Course Coordenator'), 39 'coordenator': _('Course Coordenator'),
74 'public':_('To define if the course can be accessed by people not registered'), 40 'public':_('To define if the course can be accessed by people not registered'),
75 } 41 }
76 42
77 widgets = { 43 widgets = {
78 - 'ategoy': forms.Select(), 44 + 'category': forms.Select(),
79 'coordenator': forms.Select(), 45 'coordenator': forms.Select(),
80 'content': SummernoteWidget(), 46 'content': SummernoteWidget(),
81 'objectivies': SummernoteWidget(), 47 'objectivies': SummernoteWidget(),
@@ -83,70 +49,31 @@ class CourseForm(forms.ModelForm): @@ -83,70 +49,31 @@ class CourseForm(forms.ModelForm):
83 49
84 class UpdateCourseForm(CourseForm): 50 class UpdateCourseForm(CourseForm):
85 51
86 - def clean_end_register_date(self):  
87 - init_register_date = self.cleaned_data['init_register_date']  
88 - end_register_date = self.cleaned_data['end_register_date']  
89 -  
90 - if init_register_date and end_register_date and end_register_date < init_register_date:  
91 - raise forms.ValidationError(_('The end date may not be before the start date.'))  
92 - return end_register_date  
93 -  
94 - def clean_init_date(self):  
95 - end_register_date = self.cleaned_data['end_register_date']  
96 - init_date = self.cleaned_data['init_date']  
97 -  
98 - if end_register_date and init_date and init_date <= end_register_date:  
99 - raise forms.ValidationError(_('The course start date must be after the end of registration.'))  
100 - return init_date  
101 -  
102 - def clean_end_date(self):  
103 - init_date = self.cleaned_data['init_date']  
104 - end_date = self.cleaned_data['end_date']  
105 -  
106 - if init_date and end_date and end_date < init_date:  
107 - raise forms.ValidationError(_('The end date may not be before the start date.'))  
108 - return end_date  
109 -  
110 def __init__(self, *args, **kwargs): 52 def __init__(self, *args, **kwargs):
111 super(UpdateCourseForm, self).__init__(*args, **kwargs) 53 super(UpdateCourseForm, self).__init__(*args, **kwargs)
112 - self.fields["students"].required = False  
113 54
114 class Meta: 55 class Meta:
115 model = Course 56 model = Course
116 - fields = ('name', 'objectivies', 'content', 'max_students', 'init_register_date', 'end_register_date',  
117 - 'init_date', 'end_date', 'category','students', 'coordenator','public') 57 + fields = ('name', 'description',
  58 + 'category', 'coordenator','public')
118 labels = { 59 labels = {
119 'name': _('Name'), 60 'name': _('Name'),
120 - 'objectivies': _('Objectives'),  
121 - 'content': _('Content'),  
122 - 'max_students': _('Number of studets maximum'),  
123 - 'init_register_date': _('Course registration start date'),  
124 - 'end_register_date': _('Course registration end date'),  
125 - 'init_date': _('Course start date'),  
126 - 'end_date': _('Course end date'), 61 + 'description': _('Description'),
127 'category': _('Category'), 62 'category': _('Category'),
128 'coordenator': _('Coordenator'), 63 'coordenator': _('Coordenator'),
129 - 'students': _('Student'),  
130 'public':_('Public'), 64 'public':_('Public'),
131 } 65 }
132 help_texts = { 66 help_texts = {
133 'name': _('Course name'), 67 'name': _('Course name'),
134 - 'objectivies': _('Course objective'),  
135 - 'content': _('Course modules'),  
136 - 'max_students': _('Max number of students that a class can have'),  
137 - 'init_register_date': _('Date that starts the registration period of the course (dd/mm/yyyy)'),  
138 - 'end_register_date': _('Date that ends the registration period of the course (dd/mm/yyyy)'),  
139 - 'init_date': _('Date that the course starts (dd/mm/yyyy)'),  
140 - 'end_date': _('Date that the course ends (dd/mm/yyyy)'), 68 + 'description': _('Description about the course'),
141 'category': _('CourseCategory which the course belongs'), 69 'category': _('CourseCategory which the course belongs'),
142 'coordenator': _('Course Coordenator'), 70 'coordenator': _('Course Coordenator'),
143 - 'students': _("Course's Students"),  
144 'public':_('To define if the course can be accessed by people not registered'), 71 'public':_('To define if the course can be accessed by people not registered'),
145 } 72 }
146 widgets = { 73 widgets = {
147 - 'categoy': forms.Select(), 74 + 'category': forms.Select(),
148 'coordenator': forms.Select(), 75 'coordenator': forms.Select(),
149 - 'content': SummernoteWidget(), 76 + 'description': SummernoteWidget(),
150 'objectivies': SummernoteWidget(), 77 'objectivies': SummernoteWidget(),
151 } 78 }
152 79
courses/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:52
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 import autoslug.fields 5 import autoslug.fields
  6 +from django.conf import settings
6 from django.db import migrations, models 7 from django.db import migrations, models
7 import django.db.models.deletion 8 import django.db.models.deletion
8 import s3direct.fields 9 import s3direct.fields
@@ -13,7 +14,8 @@ class Migration(migrations.Migration): @@ -13,7 +14,8 @@ class Migration(migrations.Migration):
13 initial = True 14 initial = True
14 15
15 dependencies = [ 16 dependencies = [
16 - ('core', '0001_initial'), 17 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  18 + ('core', '__first__'),
17 ] 19 ]
18 20
19 operations = [ 21 operations = [
@@ -23,6 +25,7 @@ class Migration(migrations.Migration): @@ -23,6 +25,7 @@ class Migration(migrations.Migration):
23 ('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')), 25 ('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')),
24 ('limit_date', models.DateField(verbose_name='Deliver Date')), 26 ('limit_date', models.DateField(verbose_name='Deliver Date')),
25 ('all_students', models.BooleanField(default=False, verbose_name='All Students')), 27 ('all_students', models.BooleanField(default=False, verbose_name='All Students')),
  28 + ('students', models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
26 ], 29 ],
27 bases=('core.resource',), 30 bases=('core.resource',),
28 ), 31 ),
@@ -32,10 +35,11 @@ class Migration(migrations.Migration): @@ -32,10 +35,11 @@ class Migration(migrations.Migration):
32 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 35 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
33 ('pdf', s3direct.fields.S3DirectField()), 36 ('pdf', s3direct.fields.S3DirectField()),
34 ('name', models.CharField(max_length=100)), 37 ('name', models.CharField(max_length=100)),
  38 + ('diet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity')),
35 ], 39 ],
36 options={ 40 options={
37 - 'verbose_name': 'Activity File',  
38 'verbose_name_plural': 'Activitys Files', 41 'verbose_name_plural': 'Activitys Files',
  42 + 'verbose_name': 'Activity File',
39 }, 43 },
40 ), 44 ),
41 migrations.CreateModel( 45 migrations.CreateModel(
@@ -47,8 +51,8 @@ class Migration(migrations.Migration): @@ -47,8 +51,8 @@ class Migration(migrations.Migration):
47 ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), 51 ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),
48 ], 52 ],
49 options={ 53 options={
50 - 'verbose_name': 'Category',  
51 'verbose_name_plural': 'Categories', 54 'verbose_name_plural': 'Categories',
  55 + 'verbose_name': 'Category',
52 }, 56 },
53 ), 57 ),
54 migrations.CreateModel( 58 migrations.CreateModel(
@@ -57,20 +61,13 @@ class Migration(migrations.Migration): @@ -57,20 +61,13 @@ class Migration(migrations.Migration):
57 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 61 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
58 ('name', models.CharField(max_length=100, verbose_name='Name')), 62 ('name', models.CharField(max_length=100, verbose_name='Name')),
59 ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), 63 ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')),
60 - ('objectivies', models.TextField(blank=True, verbose_name='Objectivies')),  
61 - ('content', models.TextField(blank=True, verbose_name='Content')),  
62 - ('max_students', models.PositiveIntegerField(blank=True, verbose_name='Maximum Students')),  
63 - ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),  
64 - ('init_register_date', models.DateField(verbose_name='Register Date (Begin)')),  
65 - ('end_register_date', models.DateField(verbose_name='Register Date (End)')),  
66 - ('init_date', models.DateField(verbose_name='Begin of Course Date')),  
67 - ('end_date', models.DateField(verbose_name='End of Course Date')), 64 + ('description', models.TextField(blank=True, verbose_name='Content')),
68 ('public', models.BooleanField(default=False, verbose_name='Public')), 65 ('public', models.BooleanField(default=False, verbose_name='Public')),
69 ], 66 ],
70 options={ 67 options={
71 - 'verbose_name': 'Course', 68 + 'ordering': ('name',),
72 'verbose_name_plural': 'Courses', 69 'verbose_name_plural': 'Courses',
73 - 'ordering': ('create_date', 'name'), 70 + 'verbose_name': 'Course',
74 }, 71 },
75 ), 72 ),
76 migrations.CreateModel( 73 migrations.CreateModel(
@@ -82,8 +79,8 @@ class Migration(migrations.Migration): @@ -82,8 +79,8 @@ class Migration(migrations.Migration):
82 ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), 79 ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')),
83 ], 80 ],
84 options={ 81 options={
85 - 'verbose_name': 'Category',  
86 'verbose_name_plural': 'Categories', 82 'verbose_name_plural': 'Categories',
  83 + 'verbose_name': 'Category',
87 }, 84 },
88 ), 85 ),
89 migrations.CreateModel( 86 migrations.CreateModel(
@@ -108,6 +105,7 @@ class Migration(migrations.Migration): @@ -108,6 +105,7 @@ class Migration(migrations.Migration):
108 fields=[ 105 fields=[
109 ('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')), 106 ('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')),
110 ('all_students', models.BooleanField(default=False, verbose_name='All Students')), 107 ('all_students', models.BooleanField(default=False, verbose_name='All Students')),
  108 + ('students', models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
111 ], 109 ],
112 bases=('core.resource',), 110 bases=('core.resource',),
113 ), 111 ),
@@ -125,11 +123,13 @@ class Migration(migrations.Migration): @@ -125,11 +123,13 @@ class Migration(migrations.Migration):
125 ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), 123 ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')),
126 ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category')), 124 ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category')),
127 ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')), 125 ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')),
  126 + ('professors', models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors')),
  127 + ('students', models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students')),
128 ], 128 ],
129 options={ 129 options={
130 - 'verbose_name': 'Subject',  
131 - 'verbose_name_plural': 'Subjects',  
132 'ordering': ('create_date', 'name'), 130 'ordering': ('create_date', 'name'),
  131 + 'verbose_name_plural': 'Subjects',
  132 + 'verbose_name': 'Subject',
133 }, 133 },
134 ), 134 ),
135 migrations.CreateModel( 135 migrations.CreateModel(
@@ -142,8 +142,8 @@ class Migration(migrations.Migration): @@ -142,8 +142,8 @@ class Migration(migrations.Migration):
142 ('subjects', models.ManyToManyField(to='courses.Subject')), 142 ('subjects', models.ManyToManyField(to='courses.Subject')),
143 ], 143 ],
144 options={ 144 options={
145 - 'verbose_name': 'subject category',  
146 'verbose_name_plural': 'subject categories', 145 'verbose_name_plural': 'subject categories',
  146 + 'verbose_name': 'subject category',
147 }, 147 },
148 ), 148 ),
149 migrations.CreateModel( 149 migrations.CreateModel(
@@ -159,9 +159,39 @@ class Migration(migrations.Migration): @@ -159,9 +159,39 @@ class Migration(migrations.Migration):
159 ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')), 159 ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')),
160 ], 160 ],
161 options={ 161 options={
162 - 'verbose_name': 'Topic',  
163 - 'verbose_name_plural': 'Topics',  
164 'ordering': ('create_date', 'name'), 162 'ordering': ('create_date', 'name'),
  163 + 'verbose_name_plural': 'Topics',
  164 + 'verbose_name': 'Topic',
165 }, 165 },
166 ), 166 ),
  167 + migrations.AddField(
  168 + model_name='material',
  169 + name='topic',
  170 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'),
  171 + ),
  172 + migrations.AddField(
  173 + model_name='linkmaterial',
  174 + name='material',
  175 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'),
  176 + ),
  177 + migrations.AddField(
  178 + model_name='filematerial',
  179 + name='material',
  180 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'),
  181 + ),
  182 + migrations.AddField(
  183 + model_name='course',
  184 + name='category',
  185 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'),
  186 + ),
  187 + migrations.AddField(
  188 + model_name='course',
  189 + name='coordenator',
  190 + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'),
  191 + ),
  192 + migrations.AddField(
  193 + model_name='activity',
  194 + name='topic',
  195 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'),
  196 + ),
167 ] 197 ]
courses/migrations/0002_auto_20161115_1936.py
@@ -1,85 +0,0 @@ @@ -1,85 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -import django.db.models.deletion  
8 -  
9 -  
10 -class Migration(migrations.Migration):  
11 -  
12 - initial = True  
13 -  
14 - dependencies = [  
15 - ('courses', '0001_initial'),  
16 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
17 - ]  
18 -  
19 - operations = [  
20 - migrations.AddField(  
21 - model_name='subject',  
22 - name='professors',  
23 - field=models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'),  
24 - ),  
25 - migrations.AddField(  
26 - model_name='subject',  
27 - name='students',  
28 - field=models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'),  
29 - ),  
30 - migrations.AddField(  
31 - model_name='material',  
32 - name='students',  
33 - field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'),  
34 - ),  
35 - migrations.AddField(  
36 - model_name='material',  
37 - name='topic',  
38 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'),  
39 - ),  
40 - migrations.AddField(  
41 - model_name='linkmaterial',  
42 - name='material',  
43 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'),  
44 - ),  
45 - migrations.AddField(  
46 - model_name='filematerial',  
47 - name='material',  
48 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'),  
49 - ),  
50 - migrations.AddField(  
51 - model_name='course',  
52 - name='category',  
53 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'),  
54 - ),  
55 - migrations.AddField(  
56 - model_name='course',  
57 - name='coordenator',  
58 - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'),  
59 - ),  
60 - migrations.AddField(  
61 - model_name='course',  
62 - name='professors',  
63 - field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'),  
64 - ),  
65 - migrations.AddField(  
66 - model_name='course',  
67 - name='students',  
68 - field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'),  
69 - ),  
70 - migrations.AddField(  
71 - model_name='activityfile',  
72 - name='diet',  
73 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity'),  
74 - ),  
75 - migrations.AddField(  
76 - model_name='activity',  
77 - name='students',  
78 - field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'),  
79 - ),  
80 - migrations.AddField(  
81 - model_name='activity',  
82 - name='topic',  
83 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'),  
84 - ),  
85 - ]  
courses/models.py
@@ -38,22 +38,13 @@ class Course(models.Model): @@ -38,22 +38,13 @@ class Course(models.Model):
38 38
39 name = models.CharField(_('Name'), max_length = 100) 39 name = models.CharField(_('Name'), max_length = 100)
40 slug = AutoSlugField(_("Slug"),populate_from='name',unique=True) 40 slug = AutoSlugField(_("Slug"),populate_from='name',unique=True)
41 - objectivies = models.TextField(_('Objectivies'), blank = True)  
42 - content = models.TextField(_('Content'), blank = True)  
43 - max_students = models.PositiveIntegerField(_('Maximum Students'), blank = True)  
44 - create_date = models.DateTimeField(_('Creation Date'), auto_now_add = True)  
45 - init_register_date = models.DateField(_('Register Date (Begin)'))  
46 - end_register_date = models.DateField(_('Register Date (End)'))  
47 - init_date = models.DateField(_('Begin of Course Date'))  
48 - end_date = models.DateField(_('End of Course Date')) 41 + description = models.TextField(_('Content'), blank = True)
49 category = models.ForeignKey(CourseCategory, verbose_name = _('Category'), related_name='course_category') 42 category = models.ForeignKey(CourseCategory, verbose_name = _('Category'), related_name='course_category')
50 coordenator = models.ForeignKey(User, verbose_name = _('Coordenator'), related_name ='course_coordenator', null = True) 43 coordenator = models.ForeignKey(User, verbose_name = _('Coordenator'), related_name ='course_coordenator', null = True)
51 - professors = models.ManyToManyField(User,verbose_name=_('Professors'), related_name='courses_professors')  
52 - students = models.ManyToManyField(User,verbose_name=_('Students'), related_name='courses_student', blank = True)  
53 public = models.BooleanField(_('Public'), default=False) 44 public = models.BooleanField(_('Public'), default=False)
54 45
55 class Meta: 46 class Meta:
56 - ordering = ('create_date','name') 47 + ordering = ('name',)
57 verbose_name = _('Course') 48 verbose_name = _('Course')
58 verbose_name_plural = _('Courses') 49 verbose_name_plural = _('Courses')
59 50
courses/templates/course/course_card.html
@@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
59 <div class="modal-dialog" role="document"> 59 <div class="modal-dialog" role="document">
60 <div class="modal-content"> 60 <div class="modal-content">
61 <div class="modal-header"> 61 <div class="modal-header">
62 - <h4 class="modal-title">{% trans 'Repicate Course' %}</h4> 62 + <h4 class="modal-title">{% trans 'Replicate Course' %}</h4>
63 </div> 63 </div>
64 <div class="modal-body"> 64 <div class="modal-body">
65 <section> 65 <section>
exam/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:53
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
  5 +from django.conf import settings
5 from django.db import migrations, models 6 from django.db import migrations, models
6 import django.db.models.deletion 7 import django.db.models.deletion
7 8
@@ -12,6 +13,7 @@ class Migration(migrations.Migration): @@ -12,6 +13,7 @@ class Migration(migrations.Migration):
12 13
13 dependencies = [ 14 dependencies = [
14 ('courses', '0001_initial'), 15 ('courses', '0001_initial'),
  16 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15 ] 17 ]
16 18
17 operations = [ 19 operations = [
@@ -23,9 +25,9 @@ class Migration(migrations.Migration): @@ -23,9 +25,9 @@ class Migration(migrations.Migration):
23 ('order', models.PositiveSmallIntegerField(verbose_name='Order')), 25 ('order', models.PositiveSmallIntegerField(verbose_name='Order')),
24 ], 26 ],
25 options={ 27 options={
  28 + 'ordering': ('order',),
26 'verbose_name': 'Answer', 29 'verbose_name': 'Answer',
27 'verbose_name_plural': 'Answers', 30 'verbose_name_plural': 'Answers',
28 - 'ordering': ('order',),  
29 }, 31 },
30 ), 32 ),
31 migrations.CreateModel( 33 migrations.CreateModel(
@@ -59,4 +61,14 @@ class Migration(migrations.Migration): @@ -59,4 +61,14 @@ class Migration(migrations.Migration):
59 name='exam', 61 name='exam',
60 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_exam', to='exam.Exam', verbose_name='Exam'), 62 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_exam', to='exam.Exam', verbose_name='Exam'),
61 ), 63 ),
  64 + migrations.AddField(
  65 + model_name='answersstudent',
  66 + name='student',
  67 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student', to=settings.AUTH_USER_MODEL, verbose_name='Student'),
  68 + ),
  69 + migrations.AddField(
  70 + model_name='answer',
  71 + name='exam',
  72 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='exam.Exam', verbose_name='Answers'),
  73 + ),
62 ] 74 ]
exam/migrations/0002_auto_20161115_1936.py
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -import django.db.models.deletion  
8 -  
9 -  
10 -class Migration(migrations.Migration):  
11 -  
12 - initial = True  
13 -  
14 - dependencies = [  
15 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
16 - ('exam', '0001_initial'),  
17 - ]  
18 -  
19 - operations = [  
20 - migrations.AddField(  
21 - model_name='answersstudent',  
22 - name='student',  
23 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student', to=settings.AUTH_USER_MODEL, verbose_name='Student'),  
24 - ),  
25 - migrations.AddField(  
26 - model_name='answer',  
27 - name='exam',  
28 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='exam.Exam', verbose_name='Answers'),  
29 - ),  
30 - ]  
exercise/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:53
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 from django.db import migrations, models 5 from django.db import migrations, models
files/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:54
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
  5 +from django.conf import settings
5 from django.db import migrations, models 6 from django.db import migrations, models
6 import django.db.models.deletion 7 import django.db.models.deletion
7 import files.models 8 import files.models
@@ -12,6 +13,7 @@ class Migration(migrations.Migration): @@ -12,6 +13,7 @@ class Migration(migrations.Migration):
12 initial = True 13 initial = True
13 14
14 dependencies = [ 15 dependencies = [
  16 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15 ('courses', '0001_initial'), 17 ('courses', '0001_initial'),
16 ('core', '0001_initial'), 18 ('core', '0001_initial'),
17 ] 19 ]
@@ -24,11 +26,12 @@ class Migration(migrations.Migration): @@ -24,11 +26,12 @@ class Migration(migrations.Migration):
24 ('description', models.TextField(blank=True, verbose_name='Description')), 26 ('description', models.TextField(blank=True, verbose_name='Description')),
25 ('file_url', models.FileField(upload_to=files.models.file_path, verbose_name='File')), 27 ('file_url', models.FileField(upload_to=files.models.file_path, verbose_name='File')),
26 ('file_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='topic_files', to='core.MimeType', verbose_name='Type file')), 28 ('file_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='topic_files', to='core.MimeType', verbose_name='Type file')),
  29 + ('professor', models.ManyToManyField(related_name='file_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors')),
27 ], 30 ],
28 options={ 31 options={
29 - 'verbose_name': 'File',  
30 - 'verbose_name_plural': 'Files',  
31 'ordering': ('-id',), 32 'ordering': ('-id',),
  33 + 'verbose_name_plural': 'Files',
  34 + 'verbose_name': 'File',
32 }, 35 },
33 bases=('courses.material',), 36 bases=('courses.material',),
34 ), 37 ),
files/migrations/0002_topicfile_professor.py
@@ -1,24 +0,0 @@ @@ -1,24 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -  
8 -  
9 -class Migration(migrations.Migration):  
10 -  
11 - initial = True  
12 -  
13 - dependencies = [  
14 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
15 - ('files', '0001_initial'),  
16 - ]  
17 -  
18 - operations = [  
19 - migrations.AddField(  
20 - model_name='topicfile',  
21 - name='professor',  
22 - field=models.ManyToManyField(related_name='file_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'),  
23 - ),  
24 - ]  
forum/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:54
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
  5 +from django.conf import settings
5 from django.db import migrations, models 6 from django.db import migrations, models
6 import django.db.models.deletion 7 import django.db.models.deletion
7 8
@@ -11,6 +12,7 @@ class Migration(migrations.Migration): @@ -11,6 +12,7 @@ class Migration(migrations.Migration):
11 initial = True 12 initial = True
12 13
13 dependencies = [ 14 dependencies = [
  15 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14 ('courses', '0001_initial'), 16 ('courses', '0001_initial'),
15 ] 17 ]
16 18
@@ -36,6 +38,8 @@ class Migration(migrations.Migration): @@ -36,6 +38,8 @@ class Migration(migrations.Migration):
36 ('message', models.TextField(verbose_name='Post message')), 38 ('message', models.TextField(verbose_name='Post message')),
37 ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')), 39 ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')),
38 ('post_date', models.DateTimeField(auto_now_add=True, verbose_name='Post Date')), 40 ('post_date', models.DateTimeField(auto_now_add=True, verbose_name='Post Date')),
  41 + ('forum', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum')),
  42 + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')),
39 ], 43 ],
40 options={ 44 options={
41 'verbose_name': 'Post', 45 'verbose_name': 'Post',
@@ -50,6 +54,7 @@ class Migration(migrations.Migration): @@ -50,6 +54,7 @@ class Migration(migrations.Migration):
50 ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')), 54 ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')),
51 ('answer_date', models.DateTimeField(auto_now_add=True, verbose_name='Answer Date')), 55 ('answer_date', models.DateTimeField(auto_now_add=True, verbose_name='Answer Date')),
52 ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Post', verbose_name='Post')), 56 ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Post', verbose_name='Post')),
  57 + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')),
53 ], 58 ],
54 options={ 59 options={
55 'verbose_name': 'Post Answer', 60 'verbose_name': 'Post Answer',
forum/migrations/0002_auto_20161115_1936.py
@@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -import django.db.models.deletion  
8 -  
9 -  
10 -class Migration(migrations.Migration):  
11 -  
12 - initial = True  
13 -  
14 - dependencies = [  
15 - ('forum', '0001_initial'),  
16 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
17 - ]  
18 -  
19 - operations = [  
20 - migrations.AddField(  
21 - model_name='postanswer',  
22 - name='user',  
23 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'),  
24 - ),  
25 - migrations.AddField(  
26 - model_name='post',  
27 - name='forum',  
28 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forum.Forum', verbose_name='Forum'),  
29 - ),  
30 - migrations.AddField(  
31 - model_name='post',  
32 - name='user',  
33 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor'),  
34 - ),  
35 - ]  
links/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:54
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 from django.db import migrations, models 5 from django.db import migrations, models
poll/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:54
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
  5 +from django.conf import settings
5 from django.db import migrations, models 6 from django.db import migrations, models
6 import django.db.models.deletion 7 import django.db.models.deletion
7 8
@@ -11,6 +12,7 @@ class Migration(migrations.Migration): @@ -11,6 +12,7 @@ class Migration(migrations.Migration):
11 initial = True 12 initial = True
12 13
13 dependencies = [ 14 dependencies = [
  15 + migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14 ('courses', '0001_initial'), 16 ('courses', '0001_initial'),
15 ] 17 ]
16 18
@@ -57,4 +59,14 @@ class Migration(migrations.Migration): @@ -57,4 +59,14 @@ class Migration(migrations.Migration):
57 name='poll', 59 name='poll',
58 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundet', to='poll.Poll', verbose_name='Poll'), 60 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundet', to='poll.Poll', verbose_name='Poll'),
59 ), 61 ),
  62 + migrations.AddField(
  63 + model_name='answersstudent',
  64 + name='student',
  65 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundent', to=settings.AUTH_USER_MODEL, verbose_name='Student'),
  66 + ),
  67 + migrations.AddField(
  68 + model_name='answer',
  69 + name='poll',
  70 + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='poll.Poll', verbose_name='Answers'),
  71 + ),
60 ] 72 ]
poll/migrations/0002_auto_20161115_1936.py
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:36  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.conf import settings  
6 -from django.db import migrations, models  
7 -import django.db.models.deletion  
8 -  
9 -  
10 -class Migration(migrations.Migration):  
11 -  
12 - initial = True  
13 -  
14 - dependencies = [  
15 - migrations.swappable_dependency(settings.AUTH_USER_MODEL),  
16 - ('poll', '0001_initial'),  
17 - ]  
18 -  
19 - operations = [  
20 - migrations.AddField(  
21 - model_name='answersstudent',  
22 - name='student',  
23 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers_stundent', to=settings.AUTH_USER_MODEL, verbose_name='Student'),  
24 - ),  
25 - migrations.AddField(  
26 - model_name='answer',  
27 - name='poll',  
28 - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='poll.Poll', verbose_name='Answers'),  
29 - ),  
30 - ]  
users/migrations/0001_initial.py
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 -# Generated by Django 1.10 on 2016-11-15 22:36 2 +# Generated by Django 1.10 on 2016-11-16 20:54
3 from __future__ import unicode_literals 3 from __future__ import unicode_literals
4 4
5 import django.contrib.auth.models 5 import django.contrib.auth.models
@@ -30,14 +30,14 @@ class Migration(migrations.Migration): @@ -30,14 +30,14 @@ class Migration(migrations.Migration):
30 ('city', models.CharField(blank=True, max_length=90, verbose_name='City')), 30 ('city', models.CharField(blank=True, max_length=90, verbose_name='City')),
31 ('state', models.CharField(blank=True, max_length=30, verbose_name='State')), 31 ('state', models.CharField(blank=True, max_length=30, verbose_name='State')),
32 ('gender', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Gender')), 32 ('gender', models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Gender')),
33 - ('image', models.ImageField(blank=True, null=True, upload_to='users/', verbose_name='Image')),  
34 - ('birth_date', models.DateField(verbose_name='Birth Date')), 33 + ('image', models.ImageField(blank=True, null=True, upload_to='users/', verbose_name='Photo')),
  34 + ('birth_date', models.DateField(null=True, verbose_name='Birth Date')),
35 ('phone', models.CharField(blank=True, max_length=30, verbose_name='Phone')), 35 ('phone', models.CharField(blank=True, max_length=30, verbose_name='Phone')),
36 - ('cpf', models.CharField(max_length=15, verbose_name='Cpf')), 36 + ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
37 ('type_profile', models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student')], default=2, null=True, verbose_name='Type')), 37 ('type_profile', models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student')], default=2, null=True, verbose_name='Type')),
38 ('titration', models.CharField(blank=True, max_length=50, null=True, verbose_name='Titration')), 38 ('titration', models.CharField(blank=True, max_length=50, null=True, verbose_name='Titration')),
39 ('year_titration', models.CharField(blank=True, max_length=4, null=True, verbose_name='Year of titration')), 39 ('year_titration', models.CharField(blank=True, max_length=4, null=True, verbose_name='Year of titration')),
40 - ('institution', models.CharField(blank=True, max_length=50, null=True, verbose_name='Institution where he had titration')), 40 + ('institution', models.CharField(blank=True, max_length=50, null=True, verbose_name='Institution')),
41 ('curriculum', models.FileField(blank=True, null=True, upload_to='users/curriculum/', verbose_name='Curriculum')), 41 ('curriculum', models.FileField(blank=True, null=True, upload_to='users/curriculum/', verbose_name='Curriculum')),
42 ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')), 42 ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')),
43 ('is_staff', models.BooleanField(default=False, verbose_name='Administrador')), 43 ('is_staff', models.BooleanField(default=False, verbose_name='Administrador')),
users/migrations/0002_auto_20161115_1941.py
@@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 22:41  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.db import migrations, models  
6 -  
7 -  
8 -class Migration(migrations.Migration):  
9 -  
10 - dependencies = [  
11 - ('users', '0001_initial'),  
12 - ]  
13 -  
14 - operations = [  
15 - migrations.AlterField(  
16 - model_name='user',  
17 - name='birth_date',  
18 - field=models.DateField(null=True, verbose_name='Birth Date'),  
19 - ),  
20 - ]  
users/migrations/0003_auto_20161115_2054.py
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -# -*- coding: utf-8 -*-  
2 -# Generated by Django 1.10 on 2016-11-15 23:54  
3 -from __future__ import unicode_literals  
4 -  
5 -from django.db import migrations, models  
6 -  
7 -  
8 -class Migration(migrations.Migration):  
9 -  
10 - dependencies = [  
11 - ('users', '0002_auto_20161115_1941'),  
12 - ]  
13 -  
14 - operations = [  
15 - migrations.AlterField(  
16 - model_name='user',  
17 - name='cpf',  
18 - field=models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF'),  
19 - ),  
20 - migrations.AlterField(  
21 - model_name='user',  
22 - name='image',  
23 - field=models.ImageField(blank=True, null=True, upload_to='users/', verbose_name='Photo'),  
24 - ),  
25 - migrations.AlterField(  
26 - model_name='user',  
27 - name='institution',  
28 - field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Institution'),  
29 - ),  
30 - ]