Commit bf9838af2c2d0971e3d00e736fd0756e30b0ffd8
1 parent
e4873697
Exists in
master
and in
5 other branches
model and tamplatetags exercises
Showing
26 changed files
with
285 additions
and
454 deletions
Show diff stats
app/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-11-03 22:03 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.db import migrations, models |
... | ... | @@ -26,8 +26,8 @@ class Migration(migrations.Migration): |
26 | 26 | ('default_from_email', models.EmailField(blank=True, max_length=254, verbose_name='Default from email')), |
27 | 27 | ], |
28 | 28 | options={ |
29 | - 'verbose_name_plural': 'Amadeus SMTP settings', | |
30 | 29 | 'verbose_name': 'Amadeus SMTP setting', |
30 | + 'verbose_name_plural': 'Amadeus SMTP settings', | |
31 | 31 | }, |
32 | 32 | ), |
33 | 33 | ] | ... | ... |
core/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | import autoslug.fields |
6 | +from django.conf import settings | |
7 | +import django.contrib.postgres.fields.jsonb | |
6 | 8 | from django.db import migrations, models |
7 | 9 | import django.db.models.deletion |
8 | 10 | |
... | ... | @@ -12,6 +14,7 @@ class Migration(migrations.Migration): |
12 | 14 | initial = True |
13 | 15 | |
14 | 16 | dependencies = [ |
17 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 18 | ] |
16 | 19 | |
17 | 20 | operations = [ |
... | ... | @@ -24,29 +27,34 @@ class Migration(migrations.Migration): |
24 | 27 | ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')), |
25 | 28 | ], |
26 | 29 | options={ |
27 | - 'verbose_name_plural': 'Actions', | |
28 | 30 | 'verbose_name': 'Action', |
31 | + 'verbose_name_plural': 'Actions', | |
29 | 32 | }, |
30 | 33 | ), |
31 | 34 | migrations.CreateModel( |
32 | 35 | name='Action_Resource', |
33 | 36 | fields=[ |
34 | 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')), | |
35 | 39 | ], |
36 | 40 | options={ |
37 | - 'verbose_name_plural': 'Action_Resources', | |
38 | 41 | 'verbose_name': 'Action_Resource', |
42 | + 'verbose_name_plural': 'Action_Resources', | |
39 | 43 | }, |
40 | 44 | ), |
41 | 45 | migrations.CreateModel( |
42 | 46 | name='Log', |
43 | 47 | fields=[ |
44 | 48 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
49 | + ('component', models.TextField(verbose_name='Component (Module / App)')), | |
50 | + ('context', django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context')), | |
45 | 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')), | |
46 | 54 | ], |
47 | 55 | options={ |
48 | - 'verbose_name_plural': 'Logs', | |
49 | 56 | 'verbose_name': 'Log', |
57 | + 'verbose_name_plural': 'Logs', | |
50 | 58 | }, |
51 | 59 | ), |
52 | 60 | migrations.CreateModel( |
... | ... | @@ -57,8 +65,8 @@ class Migration(migrations.Migration): |
57 | 65 | ('icon', models.CharField(max_length=50, unique=True, verbose_name='Icon')), |
58 | 66 | ], |
59 | 67 | options={ |
60 | - 'verbose_name_plural': 'Amadeus Mime Types', | |
61 | 68 | 'verbose_name': 'Amadeus Mime Type', |
69 | + 'verbose_name_plural': 'Amadeus Mime Types', | |
62 | 70 | }, |
63 | 71 | ), |
64 | 72 | migrations.CreateModel( |
... | ... | @@ -69,10 +77,12 @@ class Migration(migrations.Migration): |
69 | 77 | ('read', models.BooleanField(default=False, verbose_name='Read')), |
70 | 78 | ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), |
71 | 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='Perfomer')), | |
81 | + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User')), | |
72 | 82 | ], |
73 | 83 | options={ |
74 | - 'verbose_name_plural': 'Notifications', | |
75 | 84 | 'verbose_name': 'Notification', |
85 | + 'verbose_name_plural': 'Notifications', | |
76 | 86 | }, |
77 | 87 | ), |
78 | 88 | migrations.CreateModel( |
... | ... | @@ -85,8 +95,13 @@ class Migration(migrations.Migration): |
85 | 95 | ('url', models.CharField(default='', max_length=100, verbose_name='URL')), |
86 | 96 | ], |
87 | 97 | options={ |
88 | - 'verbose_name_plural': 'Resources', | |
89 | 98 | 'verbose_name': 'Resource', |
99 | + 'verbose_name_plural': 'Resources', | |
90 | 100 | }, |
91 | 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 | + ), | |
92 | 107 | ] | ... | ... |
core/migrations/0002_auto_20161024_1559.py
... | ... | @@ -1,50 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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='Perfomer'), | |
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 | - ] |
core/migrations/0003_auto_20161101_1457.py
... | ... | @@ -1,26 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-01 17:57 | |
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 | - ('core', '0002_auto_20161024_1559'), | |
12 | - ] | |
13 | - | |
14 | - operations = [ | |
15 | - migrations.AddField( | |
16 | - model_name='log', | |
17 | - name='component', | |
18 | - field=models.TextField(default='', verbose_name='Component (Module / App)'), | |
19 | - preserve_default=False, | |
20 | - ), | |
21 | - migrations.AddField( | |
22 | - model_name='log', | |
23 | - name='context', | |
24 | - field=models.TextField(blank=True, verbose_name='Context'), | |
25 | - ), | |
26 | - ] |
core/migrations/0004_auto_20161110_1215.py
... | ... | @@ -1,21 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-10 15:15 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -import django.contrib.postgres.fields.jsonb | |
6 | -from django.db import migrations | |
7 | - | |
8 | - | |
9 | -class Migration(migrations.Migration): | |
10 | - | |
11 | - dependencies = [ | |
12 | - ('core', '0003_auto_20161101_1457'), | |
13 | - ] | |
14 | - | |
15 | - operations = [ | |
16 | - migrations.AlterField( | |
17 | - model_name='log', | |
18 | - name='context', | |
19 | - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='Context'), | |
20 | - ), | |
21 | - ] |
courses/admin.py
1 | 1 | from django.contrib import admin |
2 | 2 | |
3 | -from .models import CourseCategory, Course, Subject,Topic, Activity, Material, CategorySubject | |
3 | +from .models import CourseCategory, Course, Subject, Topic, Activity, Material, CategorySubject, Exercise | |
4 | 4 | |
5 | 5 | class CategoryAdmin(admin.ModelAdmin): |
6 | - list_display = ['name', 'slug'] | |
7 | - search_fields = ['name', 'slug'] | |
6 | + list_display = ['name', 'slug'] | |
7 | + search_fields = ['name', 'slug'] | |
8 | 8 | |
9 | 9 | class CategorySubjectAdmin(admin.ModelAdmin): |
10 | - list_display = ['name', 'slug'] | |
11 | - search_fields = ['name', 'slug'] | |
10 | + list_display = ['name', 'slug'] | |
11 | + search_fields = ['name', 'slug'] | |
12 | 12 | |
13 | 13 | class CourseAdmin(admin.ModelAdmin): |
14 | - list_display = ['name', 'slug'] | |
15 | - search_fields = ['name', 'slug'] | |
14 | + list_display = ['name', 'slug'] | |
15 | + search_fields = ['name', 'slug'] | |
16 | 16 | |
17 | 17 | class SubjectAdmin(admin.ModelAdmin): |
18 | - list_display = ['name', 'slug'] | |
19 | - search_fields = ['name', 'slug'] | |
18 | + list_display = ['name', 'slug'] | |
19 | + search_fields = ['name', 'slug'] | |
20 | 20 | |
21 | 21 | class TopicAdmin(admin.ModelAdmin): |
22 | - list_display = ['name', 'slug'] | |
23 | - search_fields = ['name', 'slug'] | |
22 | + list_display = ['name', 'slug'] | |
23 | + search_fields = ['name', 'slug'] | |
24 | 24 | |
25 | 25 | class ActivityAdmin(admin.ModelAdmin): |
26 | - list_display = ['name', 'slug'] | |
27 | - search_fields = ['name', 'slug'] | |
26 | + list_display = ['name', 'slug'] | |
27 | + search_fields = ['name', 'slug'] | |
28 | 28 | |
29 | 29 | class MaterialAdmin(admin.ModelAdmin): |
30 | - list_display = ['name', 'slug'] | |
31 | - search_fields = ['name', 'slug'] | |
30 | + list_display = ['name', 'slug'] | |
31 | + search_fields = ['name', 'slug'] | |
32 | 32 | |
33 | 33 | admin.site.register(CourseCategory, CategoryAdmin) |
34 | 34 | admin.site.register(Course, CourseAdmin) |
35 | 35 | admin.site.register(Subject, SubjectAdmin) |
36 | 36 | admin.site.register(Topic, TopicAdmin) |
37 | -admin.site.register(Activity,ActivityAdmin) | |
38 | -admin.site.register(Material,MaterialAdmin) | |
37 | +admin.site.register(Activity, ActivityAdmin) | |
38 | +admin.site.register(Material, MaterialAdmin) | |
39 | 39 | admin.site.register(CategorySubject, CategorySubjectAdmin) | ... | ... |
courses/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | import autoslug.fields |
6 | +from django.conf import settings | |
6 | 7 | from django.db import migrations, models |
7 | 8 | import django.db.models.deletion |
8 | 9 | import s3direct.fields |
... | ... | @@ -14,6 +15,7 @@ class Migration(migrations.Migration): |
14 | 15 | |
15 | 16 | dependencies = [ |
16 | 17 | ('core', '0001_initial'), |
18 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | 19 | ] |
18 | 20 | |
19 | 21 | operations = [ |
... | ... | @@ -23,6 +25,7 @@ class Migration(migrations.Migration): |
23 | 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 | 26 | ('limit_date', models.DateField(verbose_name='Deliver Date')), |
25 | 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 | 30 | bases=('core.resource',), |
28 | 31 | ), |
... | ... | @@ -32,10 +35,11 @@ class Migration(migrations.Migration): |
32 | 35 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
33 | 36 | ('pdf', s3direct.fields.S3DirectField()), |
34 | 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 | 40 | options={ |
37 | - 'verbose_name_plural': 'Activitys Files', | |
38 | 41 | 'verbose_name': 'Activity File', |
42 | + 'verbose_name_plural': 'Activitys Files', | |
39 | 43 | }, |
40 | 44 | ), |
41 | 45 | migrations.CreateModel( |
... | ... | @@ -47,8 +51,8 @@ class Migration(migrations.Migration): |
47 | 51 | ('create_date', models.DateField(auto_now_add=True, verbose_name='Creation Date')), |
48 | 52 | ], |
49 | 53 | options={ |
50 | - 'verbose_name_plural': 'Categories', | |
51 | 54 | 'verbose_name': 'Category', |
55 | + 'verbose_name_plural': 'Categories', | |
52 | 56 | }, |
53 | 57 | ), |
54 | 58 | migrations.CreateModel( |
... | ... | @@ -65,13 +69,12 @@ class Migration(migrations.Migration): |
65 | 69 | ('end_register_date', models.DateField(verbose_name='Register Date (End)')), |
66 | 70 | ('init_date', models.DateField(verbose_name='Begin of Course Date')), |
67 | 71 | ('end_date', models.DateField(verbose_name='End of Course Date')), |
68 | - ('image', models.ImageField(blank=True, upload_to='courses/', verbose_name='Image')), | |
69 | 72 | ('public', models.BooleanField(default=False, verbose_name='Public')), |
70 | 73 | ], |
71 | 74 | options={ |
72 | - 'ordering': ('create_date', 'name'), | |
73 | - 'verbose_name_plural': 'Courses', | |
74 | 75 | 'verbose_name': 'Course', |
76 | + 'verbose_name_plural': 'Courses', | |
77 | + 'ordering': ('create_date', 'name'), | |
75 | 78 | }, |
76 | 79 | ), |
77 | 80 | migrations.CreateModel( |
... | ... | @@ -83,8 +86,8 @@ class Migration(migrations.Migration): |
83 | 86 | ('create_date', models.DateField(auto_now_add=True, verbose_name='Creation Date')), |
84 | 87 | ], |
85 | 88 | options={ |
86 | - 'verbose_name_plural': 'Categories', | |
87 | 89 | 'verbose_name': 'Category', |
90 | + 'verbose_name_plural': 'Categories', | |
88 | 91 | }, |
89 | 92 | ), |
90 | 93 | migrations.CreateModel( |
... | ... | @@ -109,6 +112,7 @@ class Migration(migrations.Migration): |
109 | 112 | fields=[ |
110 | 113 | ('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')), |
111 | 114 | ('all_students', models.BooleanField(default=False, verbose_name='All Students')), |
115 | + ('students', models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students')), | |
112 | 116 | ], |
113 | 117 | bases=('core.resource',), |
114 | 118 | ), |
... | ... | @@ -124,11 +128,15 @@ class Migration(migrations.Migration): |
124 | 128 | ('end_date', models.DateField(verbose_name='End of Subject Date')), |
125 | 129 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
126 | 130 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
131 | + ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category')), | |
132 | + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')), | |
133 | + ('professors', models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors')), | |
134 | + ('students', models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students')), | |
127 | 135 | ], |
128 | 136 | options={ |
129 | - 'ordering': ('create_date', 'name'), | |
130 | - 'verbose_name_plural': 'Subjects', | |
131 | 137 | 'verbose_name': 'Subject', |
138 | + 'verbose_name_plural': 'Subjects', | |
139 | + 'ordering': ('create_date', 'name'), | |
132 | 140 | }, |
133 | 141 | ), |
134 | 142 | migrations.CreateModel( |
... | ... | @@ -138,10 +146,11 @@ class Migration(migrations.Migration): |
138 | 146 | ('name', models.CharField(max_length=100, verbose_name='Name')), |
139 | 147 | ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True, verbose_name='Slug')), |
140 | 148 | ('description', models.TextField(blank=True, verbose_name='Description')), |
149 | + ('subjects', models.ManyToManyField(to='courses.Subject')), | |
141 | 150 | ], |
142 | 151 | options={ |
143 | - 'verbose_name_plural': 'subject categories', | |
144 | 152 | 'verbose_name': 'subject category', |
153 | + 'verbose_name_plural': 'subject categories', | |
145 | 154 | }, |
146 | 155 | ), |
147 | 156 | migrations.CreateModel( |
... | ... | @@ -154,11 +163,53 @@ class Migration(migrations.Migration): |
154 | 163 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
155 | 164 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
156 | 165 | ('visible', models.BooleanField(default=False, verbose_name='Visible')), |
166 | + ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner')), | |
167 | + ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')), | |
157 | 168 | ], |
158 | 169 | options={ |
159 | - 'ordering': ('create_date', 'name'), | |
160 | - 'verbose_name_plural': 'Topics', | |
161 | 170 | 'verbose_name': 'Topic', |
171 | + 'verbose_name_plural': 'Topics', | |
172 | + 'ordering': ('create_date', 'name'), | |
162 | 173 | }, |
163 | 174 | ), |
175 | + migrations.AddField( | |
176 | + model_name='material', | |
177 | + name='topic', | |
178 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), | |
179 | + ), | |
180 | + migrations.AddField( | |
181 | + model_name='linkmaterial', | |
182 | + name='material', | |
183 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), | |
184 | + ), | |
185 | + migrations.AddField( | |
186 | + model_name='filematerial', | |
187 | + name='material', | |
188 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), | |
189 | + ), | |
190 | + migrations.AddField( | |
191 | + model_name='course', | |
192 | + name='category', | |
193 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), | |
194 | + ), | |
195 | + migrations.AddField( | |
196 | + model_name='course', | |
197 | + name='coordenator', | |
198 | + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), | |
199 | + ), | |
200 | + migrations.AddField( | |
201 | + model_name='course', | |
202 | + name='professors', | |
203 | + field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
204 | + ), | |
205 | + migrations.AddField( | |
206 | + model_name='course', | |
207 | + name='students', | |
208 | + field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
209 | + ), | |
210 | + migrations.AddField( | |
211 | + model_name='activity', | |
212 | + name='topic', | |
213 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), | |
214 | + ), | |
164 | 215 | ] | ... | ... |
courses/migrations/0002_auto_20161024_1559.py
... | ... | @@ -1,105 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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 | - ('courses', '0001_initial'), | |
17 | - ] | |
18 | - | |
19 | - operations = [ | |
20 | - migrations.AddField( | |
21 | - model_name='topic', | |
22 | - name='owner', | |
23 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner'), | |
24 | - ), | |
25 | - migrations.AddField( | |
26 | - model_name='topic', | |
27 | - name='subject', | |
28 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject'), | |
29 | - ), | |
30 | - migrations.AddField( | |
31 | - model_name='subjectcategory', | |
32 | - name='subjects', | |
33 | - field=models.ManyToManyField(to='courses.Subject'), | |
34 | - ), | |
35 | - migrations.AddField( | |
36 | - model_name='subject', | |
37 | - name='category', | |
38 | - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subject_category', to='courses.CategorySubject', verbose_name='Category'), | |
39 | - ), | |
40 | - migrations.AddField( | |
41 | - model_name='subject', | |
42 | - name='course', | |
43 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course'), | |
44 | - ), | |
45 | - migrations.AddField( | |
46 | - model_name='subject', | |
47 | - name='professors', | |
48 | - field=models.ManyToManyField(related_name='professors_subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
49 | - ), | |
50 | - migrations.AddField( | |
51 | - model_name='subject', | |
52 | - name='students', | |
53 | - field=models.ManyToManyField(blank=True, related_name='subject_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
54 | - ), | |
55 | - migrations.AddField( | |
56 | - model_name='material', | |
57 | - name='students', | |
58 | - field=models.ManyToManyField(related_name='materials', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
59 | - ), | |
60 | - migrations.AddField( | |
61 | - model_name='material', | |
62 | - name='topic', | |
63 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='courses.Topic', verbose_name='Topic'), | |
64 | - ), | |
65 | - migrations.AddField( | |
66 | - model_name='linkmaterial', | |
67 | - name='material', | |
68 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_link', to='courses.Material', verbose_name='Material'), | |
69 | - ), | |
70 | - migrations.AddField( | |
71 | - model_name='filematerial', | |
72 | - name='material', | |
73 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_file', to='courses.Material', verbose_name='Material'), | |
74 | - ), | |
75 | - migrations.AddField( | |
76 | - model_name='course', | |
77 | - name='category', | |
78 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_category', to='courses.CourseCategory', verbose_name='Category'), | |
79 | - ), | |
80 | - migrations.AddField( | |
81 | - model_name='course', | |
82 | - name='professors', | |
83 | - field=models.ManyToManyField(related_name='courses_professors', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
84 | - ), | |
85 | - migrations.AddField( | |
86 | - model_name='course', | |
87 | - name='students', | |
88 | - field=models.ManyToManyField(blank=True, related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
89 | - ), | |
90 | - migrations.AddField( | |
91 | - model_name='activityfile', | |
92 | - name='diet', | |
93 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='courses.Activity'), | |
94 | - ), | |
95 | - migrations.AddField( | |
96 | - model_name='activity', | |
97 | - name='students', | |
98 | - field=models.ManyToManyField(related_name='activities', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
99 | - ), | |
100 | - migrations.AddField( | |
101 | - model_name='activity', | |
102 | - name='topic', | |
103 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='courses.Topic', verbose_name='Topic'), | |
104 | - ), | |
105 | - ] |
... | ... | @@ -0,0 +1,25 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +# Generated by Django 1.10 on 2016-11-13 19:30 | |
3 | +from __future__ import unicode_literals | |
4 | + | |
5 | +from django.db import migrations, models | |
6 | +import django.db.models.deletion | |
7 | + | |
8 | + | |
9 | +class Migration(migrations.Migration): | |
10 | + | |
11 | + dependencies = [ | |
12 | + ('courses', '0001_initial'), | |
13 | + ] | |
14 | + | |
15 | + operations = [ | |
16 | + migrations.CreateModel( | |
17 | + name='Exercise', | |
18 | + fields=[ | |
19 | + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | |
20 | + ('file', models.FileField(upload_to='uploads/%Y/%m/%d')), | |
21 | + ('name', models.CharField(max_length=100)), | |
22 | + ('exercise', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='material_exercise', to='courses.Material', verbose_name='Material')), | |
23 | + ], | |
24 | + ), | |
25 | + ] | ... | ... |
courses/migrations/0003_remove_course_image.py
... | ... | @@ -1,19 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-06 12:35 | |
3 | -from __future__ import unicode_literals | |
4 | - | |
5 | -from django.db import migrations | |
6 | - | |
7 | - | |
8 | -class Migration(migrations.Migration): | |
9 | - | |
10 | - dependencies = [ | |
11 | - ('courses', '0002_auto_20161024_1559'), | |
12 | - ] | |
13 | - | |
14 | - operations = [ | |
15 | - migrations.RemoveField( | |
16 | - model_name='course', | |
17 | - name='image', | |
18 | - ), | |
19 | - ] |
courses/migrations/0004_course_coordenator.py
... | ... | @@ -1,23 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-11-08 15:00 | |
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 | - dependencies = [ | |
13 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
14 | - ('courses', '0003_remove_course_image'), | |
15 | - ] | |
16 | - | |
17 | - operations = [ | |
18 | - migrations.AddField( | |
19 | - model_name='course', | |
20 | - name='coordenator', | |
21 | - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='course_coordenator', to=settings.AUTH_USER_MODEL, verbose_name='Coordenator'), | |
22 | - ), | |
23 | - ] |
courses/models.py
... | ... | @@ -157,6 +157,14 @@ class LinkMaterial(models.Model): |
157 | 157 | name = models.CharField(max_length=100) |
158 | 158 | description = models.TextField() |
159 | 159 | url = models.URLField('Link', max_length=300) |
160 | +""" | |
161 | +It represents the Exercises inside topic. | |
162 | +""" | |
163 | + | |
164 | +class Exercise(models.Model): | |
165 | + exercise = models.ForeignKey(Material, verbose_name = _('Material'), related_name='material_exercise') | |
166 | + file = models.FileField(upload_to='uploads/%Y/%m/%d') | |
167 | + name = models.CharField(max_length=100) | |
160 | 168 | |
161 | 169 | """ |
162 | 170 | It is a category for each subject. | ... | ... |
courses/templates/subject/form_view_student.html
1 | - {% load static i18n list_topic_foruns permission_tags widget_tweaks professor_access%} | |
1 | +{% load static i18n list_topic_foruns permission_tags widget_tweaks professor_access%} | |
2 | +{% professor_subject topic.subject user as professor_links %} | |
2 | 3 | |
3 | - | |
4 | - {% block javascript %} | |
5 | - <script type="text/javascript" src="{% static 'js/forum.js' %}"></script> | |
6 | - <script src="{% static 'js/file.js' %}"></script> | |
7 | - <script type="text/javascript" src="{% static 'js/material.js' %}"></script> | |
8 | - <script type = "text/javascript" src="{% static 'links.js' %}"></script> | |
9 | - {% endblock %} | |
4 | + {% block javascript %} | |
5 | + <script type="text/javascript" src="{% static 'js/forum.js' %}"></script> | |
6 | + <script src="{% static 'js/file.js' %}"></script> | |
7 | + <script type="text/javascript" src="{% static 'js/material.js' %}"></script> | |
8 | + <script type = "text/javascript" src="{% static 'links.js' %}"></script> | |
9 | + {% endblock %} | |
10 | 10 | <div class="cards-detail"> |
11 | 11 | <div class="panel-group accordion ui-accordion ui-widget ui-helper-reset ui-sortable" role="tablist" aria-multiselectable="false"> |
12 | 12 | <div class="group"><div class="panel panel-default"> |
... | ... | @@ -34,16 +34,65 @@ |
34 | 34 | </div> |
35 | 35 | </div> |
36 | 36 | </div> |
37 | + | |
38 | + {% if not professor_links %} | |
39 | + <div class="row"> | |
40 | + <div class="col-xs-4 col-md-4"> | |
41 | + <div class="resource_inline"> | |
42 | + <h4>{% trans 'Material' %}</h4> | |
43 | + </div> | |
44 | + <div class="presentation_{{topic.slug}}"> | |
45 | + {# materiais do tópico no modo de visualização #} | |
46 | + <ul> | |
47 | + {% list_topic_file request topic %} | |
48 | + {% list_topic_link request topic%} | |
49 | + </ul> | |
50 | + </div> | |
51 | + </div> | |
52 | + {# avaliações d topico #} | |
53 | + <div class="col-xs-4 col-md-4"> | |
54 | + <div class="resource_inline"> | |
55 | + <h4>{% trans 'Activities' %}</h4> | |
56 | + </div> | |
57 | + <div class="presentation_{{topic.slug}}"> | |
58 | + | |
59 | + {# avaliações do tópico no modo de visualização #} | |
60 | + <ul> | |
61 | + {% list_topic_poll request topic %} | |
62 | + {% list_topic_foruns request topic %} | |
63 | + </ul> | |
64 | + </div> | |
65 | + </div> | |
66 | + <div class="col-xs-4 col-md-4"> | |
67 | + <div class="resource_inline"> | |
68 | + <h4>{% trans 'Exercises' %}</h4> | |
69 | + </div> | |
70 | + <div class="presentation_{{topic.slug}}"> | |
71 | + {# exercício do tópico no modo de visualização #} | |
72 | + <ul> | |
73 | + {% list_topic_poll request topic %} | |
74 | + {% list_topic_foruns request topic %} | |
75 | + </ul> | |
76 | + </div> | |
77 | + <div class="editation editation_{{topic.slug}}"> | |
78 | + {# exercício do tópico no modo de edição #} | |
79 | + <ul> | |
80 | + {% list_topic_file_edit request topic %} | |
81 | + {% list_topic_link_edit request topic%} | |
82 | + </ul> | |
83 | + </div> | |
84 | + </div> | |
85 | + {% include "exercise/create_exercise.html" %} | |
86 | + </div> | |
87 | + {% endif %} | |
88 | + | |
37 | 89 | </div> |
38 | 90 | |
39 | 91 | </div> |
40 | 92 | |
41 | - {% professor_subject topic.subject user as professor_links %} | |
42 | - {% if professor_links%} | |
93 | + {% if professor_links %} | |
43 | 94 | {% include "links/create_link.html" %} |
44 | 95 | {% include "links/delete_link.html" %} |
45 | - {% else %} | |
46 | - {% include "exercise/create_exercise.html" %} | |
47 | 96 | {% endif %} |
48 | 97 | |
49 | 98 | ... | ... |
... | ... | @@ -0,0 +1,27 @@ |
1 | +from django import template | |
2 | +from .models import Exercise | |
3 | + | |
4 | +register = template.Library() | |
5 | + | |
6 | + | |
7 | +@register.inclusion_tag('subject/form_view_student.html') | |
8 | +def list_topic_exercise(request, exercise): | |
9 | + context = { | |
10 | + 'request': request, | |
11 | + } | |
12 | + | |
13 | + context['exercises'] = Exercise.objects.filter(exercise = exercise) | |
14 | + | |
15 | + return context | |
16 | + | |
17 | + | |
18 | +@register.inclusion_tag('topic/list_file_edit.html') | |
19 | +def list_topic_exercise_edit(request, exercise): | |
20 | + context = { | |
21 | + 'request': request, | |
22 | + } | |
23 | + | |
24 | + context['exercises'] = Exercise.objects.filter(exercise = exercise) | |
25 | + context['exercise'] = exercise | |
26 | + | |
27 | + return context | ... | ... |
courses/templatetags/list_topic_foruns.py
... | ... | @@ -11,6 +11,7 @@ register = template.Library() |
11 | 11 | Template tag to load all the foruns of a post |
12 | 12 | """ |
13 | 13 | |
14 | + | |
14 | 15 | @register.inclusion_tag('topic/list_topic_foruns.html') |
15 | 16 | def list_topic_foruns(request, topic): |
16 | 17 | context = { |
... | ... | @@ -21,6 +22,7 @@ def list_topic_foruns(request, topic): |
21 | 22 | |
22 | 23 | return context |
23 | 24 | |
25 | + | |
24 | 26 | @register.inclusion_tag('subject/poll_item_actions.html') |
25 | 27 | def list_topic_poll(request, topic): |
26 | 28 | context = { |
... | ... | @@ -44,6 +46,7 @@ def list_topic_poll_teacher(request, topic): |
44 | 46 | |
45 | 47 | return context |
46 | 48 | |
49 | + | |
47 | 50 | @register.inclusion_tag('topic/list_file.html') |
48 | 51 | def list_topic_file(request, topic): |
49 | 52 | context = { |
... | ... | @@ -55,6 +58,7 @@ def list_topic_file(request, topic): |
55 | 58 | |
56 | 59 | return context |
57 | 60 | |
61 | + | |
58 | 62 | @register.inclusion_tag('topic/list_file_edit.html') |
59 | 63 | def list_topic_file_edit(request, topic): |
60 | 64 | context = { |
... | ... | @@ -66,6 +70,7 @@ def list_topic_file_edit(request, topic): |
66 | 70 | |
67 | 71 | return context |
68 | 72 | |
73 | + | |
69 | 74 | @register.inclusion_tag('topic/link_topic_list_edit.html') |
70 | 75 | def list_topic_link_edit(request,topic): |
71 | 76 | context = { |
... | ... | @@ -75,6 +80,7 @@ def list_topic_link_edit(request,topic): |
75 | 80 | context['topic'] = topic |
76 | 81 | return context |
77 | 82 | |
83 | + | |
78 | 84 | @register.inclusion_tag('topic/link_topic_list.html') |
79 | 85 | def list_topic_link(request,topic): |
80 | 86 | context = { | ... | ... |
exam/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | +from django.conf import settings | |
5 | 6 | from django.db import migrations, models |
6 | 7 | import django.db.models.deletion |
7 | 8 | |
... | ... | @@ -12,6 +13,7 @@ class Migration(migrations.Migration): |
12 | 13 | |
13 | 14 | dependencies = [ |
14 | 15 | ('courses', '0001_initial'), |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 17 | ] |
16 | 18 | |
17 | 19 | operations = [ |
... | ... | @@ -23,9 +25,9 @@ class Migration(migrations.Migration): |
23 | 25 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), |
24 | 26 | ], |
25 | 27 | options={ |
26 | - 'ordering': ('order',), | |
27 | - 'verbose_name_plural': 'Answers', | |
28 | 28 | 'verbose_name': 'Answer', |
29 | + 'verbose_name_plural': 'Answers', | |
30 | + 'ordering': ('order',), | |
29 | 31 | }, |
30 | 32 | ), |
31 | 33 | migrations.CreateModel( |
... | ... | @@ -37,8 +39,8 @@ class Migration(migrations.Migration): |
37 | 39 | ('answer', models.ManyToManyField(related_name='student_answer', to='exam.Answer', verbose_name='Answers Students')), |
38 | 40 | ], |
39 | 41 | options={ |
40 | - 'verbose_name_plural': 'Answers Student', | |
41 | 42 | 'verbose_name': 'Answer Stundent', |
43 | + 'verbose_name_plural': 'Answers Student', | |
42 | 44 | }, |
43 | 45 | ), |
44 | 46 | migrations.CreateModel( |
... | ... | @@ -49,8 +51,8 @@ class Migration(migrations.Migration): |
49 | 51 | ('exibe', models.BooleanField(default=False, verbose_name='Exibe?')), |
50 | 52 | ], |
51 | 53 | options={ |
52 | - 'verbose_name_plural': 'Exams', | |
53 | 54 | 'verbose_name': 'Exam', |
55 | + 'verbose_name_plural': 'Exams', | |
54 | 56 | }, |
55 | 57 | bases=('courses.activity',), |
56 | 58 | ), |
... | ... | @@ -59,4 +61,14 @@ class Migration(migrations.Migration): |
59 | 61 | name='exam', |
60 | 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_20161024_1559.py
... | ... | @@ -1,30 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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 | - ] |
files/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | +from django.conf import settings | |
5 | 6 | from django.db import migrations, models |
6 | 7 | import django.db.models.deletion |
7 | 8 | import files.models |
... | ... | @@ -12,8 +13,9 @@ class Migration(migrations.Migration): |
12 | 13 | initial = True |
13 | 14 | |
14 | 15 | dependencies = [ |
15 | - ('core', '0001_initial'), | |
16 | 16 | ('courses', '0001_initial'), |
17 | + ('core', '0001_initial'), | |
18 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
17 | 19 | ] |
18 | 20 | |
19 | 21 | operations = [ |
... | ... | @@ -24,11 +26,12 @@ class Migration(migrations.Migration): |
24 | 26 | ('description', models.TextField(blank=True, verbose_name='Description')), |
25 | 27 | ('file_url', models.FileField(upload_to=files.models.file_path, verbose_name='File')), |
26 | 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 | 31 | options={ |
29 | - 'ordering': ('-id',), | |
30 | - 'verbose_name_plural': 'Files', | |
31 | 32 | 'verbose_name': 'File', |
33 | + 'verbose_name_plural': 'Files', | |
34 | + 'ordering': ('-id',), | |
32 | 35 | }, |
33 | 36 | bases=('courses.material',), |
34 | 37 | ), | ... | ... |
files/migrations/0002_topicfile_professor.py
... | ... | @@ -1,24 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | +from django.conf import settings | |
5 | 6 | from django.db import migrations, models |
6 | 7 | import django.db.models.deletion |
7 | 8 | |
... | ... | @@ -12,6 +13,7 @@ class Migration(migrations.Migration): |
12 | 13 | |
13 | 14 | dependencies = [ |
14 | 15 | ('courses', '0001_initial'), |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 17 | ] |
16 | 18 | |
17 | 19 | operations = [ |
... | ... | @@ -24,8 +26,8 @@ class Migration(migrations.Migration): |
24 | 26 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')), |
25 | 27 | ], |
26 | 28 | options={ |
27 | - 'verbose_name_plural': 'Foruns', | |
28 | 29 | 'verbose_name': 'Forum', |
30 | + 'verbose_name_plural': 'Foruns', | |
29 | 31 | }, |
30 | 32 | bases=('courses.activity',), |
31 | 33 | ), |
... | ... | @@ -36,10 +38,12 @@ class Migration(migrations.Migration): |
36 | 38 | ('message', models.TextField(verbose_name='Post message')), |
37 | 39 | ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')), |
38 | 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 | 44 | options={ |
41 | - 'verbose_name_plural': 'Posts', | |
42 | 45 | 'verbose_name': 'Post', |
46 | + 'verbose_name_plural': 'Posts', | |
43 | 47 | }, |
44 | 48 | ), |
45 | 49 | migrations.CreateModel( |
... | ... | @@ -50,10 +54,11 @@ class Migration(migrations.Migration): |
50 | 54 | ('modification_date', models.DateTimeField(auto_now=True, verbose_name='Modification Date')), |
51 | 55 | ('answer_date', models.DateTimeField(auto_now_add=True, verbose_name='Answer Date')), |
52 | 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 | 59 | options={ |
55 | - 'verbose_name_plural': 'Post Answers', | |
56 | 60 | 'verbose_name': 'Post Answer', |
61 | + 'verbose_name_plural': 'Post Answers', | |
57 | 62 | }, |
58 | 63 | ), |
59 | 64 | ] | ... | ... |
forum/migrations/0002_auto_20161024_1559.py
... | ... | @@ -1,35 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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 | - ('forum', '0001_initial'), | |
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 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | 5 | from django.db import migrations, models |
... | ... | @@ -21,10 +21,11 @@ class Migration(migrations.Migration): |
21 | 21 | ('material_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='courses.Material')), |
22 | 22 | ('link_url', models.URLField()), |
23 | 23 | ('link_description', models.CharField(max_length=200)), |
24 | + ('image', models.ImageField(blank=True, upload_to='links/')), | |
24 | 25 | ], |
25 | 26 | options={ |
26 | - 'verbose_name_plural': 'Links', | |
27 | 27 | 'verbose_name': 'Link', |
28 | + 'verbose_name_plural': 'Links', | |
28 | 29 | }, |
29 | 30 | bases=('courses.material',), |
30 | 31 | ), | ... | ... |
links/migrations/0002_link_image.py
... | ... | @@ -1,20 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-28 18:34 | |
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 | - ('links', '0001_initial'), | |
12 | - ] | |
13 | - | |
14 | - operations = [ | |
15 | - migrations.AddField( | |
16 | - model_name='link', | |
17 | - name='image', | |
18 | - field=models.ImageField(blank=True, upload_to='links/'), | |
19 | - ), | |
20 | - ] |
poll/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
2 | +# Generated by Django 1.10 on 2016-11-13 17:47 | |
3 | 3 | from __future__ import unicode_literals |
4 | 4 | |
5 | +from django.conf import settings | |
5 | 6 | from django.db import migrations, models |
6 | 7 | import django.db.models.deletion |
7 | 8 | |
... | ... | @@ -12,6 +13,7 @@ class Migration(migrations.Migration): |
12 | 13 | |
13 | 14 | dependencies = [ |
14 | 15 | ('courses', '0001_initial'), |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 17 | ] |
16 | 18 | |
17 | 19 | operations = [ |
... | ... | @@ -23,9 +25,9 @@ class Migration(migrations.Migration): |
23 | 25 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), |
24 | 26 | ], |
25 | 27 | options={ |
26 | - 'ordering': ('order',), | |
27 | - 'verbose_name_plural': 'Answers', | |
28 | 28 | 'verbose_name': 'Answer', |
29 | + 'verbose_name_plural': 'Answers', | |
30 | + 'ordering': ('order',), | |
29 | 31 | }, |
30 | 32 | ), |
31 | 33 | migrations.CreateModel( |
... | ... | @@ -37,8 +39,8 @@ class Migration(migrations.Migration): |
37 | 39 | ('answer', models.ManyToManyField(related_name='answers_stundet', to='poll.Answer', verbose_name='Answers Students')), |
38 | 40 | ], |
39 | 41 | options={ |
40 | - 'verbose_name_plural': 'Answers Student', | |
41 | 42 | 'verbose_name': 'Answer Stundent', |
43 | + 'verbose_name_plural': 'Answers Student', | |
42 | 44 | }, |
43 | 45 | ), |
44 | 46 | migrations.CreateModel( |
... | ... | @@ -47,8 +49,8 @@ class Migration(migrations.Migration): |
47 | 49 | ('activity_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='courses.Activity')), |
48 | 50 | ], |
49 | 51 | options={ |
50 | - 'verbose_name_plural': 'Polls', | |
51 | 52 | 'verbose_name': 'Poll', |
53 | + 'verbose_name_plural': 'Polls', | |
52 | 54 | }, |
53 | 55 | bases=('courses.activity',), |
54 | 56 | ), |
... | ... | @@ -57,4 +59,14 @@ class Migration(migrations.Migration): |
57 | 59 | name='poll', |
58 | 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_20161024_1559.py
... | ... | @@ -1,30 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-10-24 18:59 | |
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 | - ] |