Commit 4f16a4b036bbf347b05b1938e9a9adec533d1ed3
1 parent
a08d5f5b
Exists in
master
and in
5 other branches
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
Showing
22 changed files
with
131 additions
and
463 deletions
Show diff stats
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 | - ] |