Commit dab6a0e80837f7387d39f39a6bedf935f2522464
Exists in
master
and in
5 other branches
Merge branch 'master' of https://github.com/amadeusproject/amadeuslms
Showing
16 changed files
with
530 additions
and
151 deletions
Show diff stats
amadeus/settings.py
... | ... | @@ -0,0 +1,178 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"POT-Creation-Date: 2016-09-16 02:41-0300\n" | |
12 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
15 | +"Language: \n" | |
16 | +"MIME-Version: 1.0\n" | |
17 | +"Content-Type: text/plain; charset=UTF-8\n" | |
18 | +"Content-Transfer-Encoding: 8bit\n" | |
19 | + | |
20 | +#: app/templates/app/base.html:10 | |
21 | +msgid "The Project" | |
22 | +msgstr "" | |
23 | + | |
24 | +#: app/templates/app/base.html:11 | |
25 | +msgid "CCTE Group" | |
26 | +msgstr "" | |
27 | + | |
28 | +#: app/templates/app/base.html:14 | |
29 | +msgid "Hi" | |
30 | +msgstr "" | |
31 | + | |
32 | +#: app/templates/app/base.html:16 | |
33 | +msgid "See Profile" | |
34 | +msgstr "" | |
35 | + | |
36 | +#: app/templates/app/base.html:17 | |
37 | +msgid "Settings" | |
38 | +msgstr "" | |
39 | + | |
40 | +#: app/templates/app/base.html:18 | |
41 | +msgid "Logout" | |
42 | +msgstr "" | |
43 | + | |
44 | +#: app/templates/app/index.html:6 | |
45 | +msgid "You have:" | |
46 | +msgstr "" | |
47 | + | |
48 | +#: app/templates/app/index.html:10 app/templates/home.html:88 | |
49 | +msgid "Pending Tasks" | |
50 | +msgstr "" | |
51 | + | |
52 | +#: app/templates/app/index.html:14 | |
53 | +msgid "Users Online" | |
54 | +msgstr "" | |
55 | + | |
56 | +#: app/templates/app/index.html:20 | |
57 | +msgid "You can:" | |
58 | +msgstr "" | |
59 | + | |
60 | +#: app/templates/app/index.html:24 app/templates/home_professor.html:25 | |
61 | +msgid "Create Course" | |
62 | +msgstr "" | |
63 | + | |
64 | +#: app/templates/app/index.html:29 app/templates/home.html:93 | |
65 | +msgid "Manage Users" | |
66 | +msgstr "" | |
67 | + | |
68 | +#: app/templates/app/index.html:33 app/templates/home.html:96 | |
69 | +msgid "Manage Courses" | |
70 | +msgstr "" | |
71 | + | |
72 | +#: app/templates/app/index.html:37 | |
73 | +msgid "Gerenciar Categorias" | |
74 | +msgstr "" | |
75 | + | |
76 | +#: app/templates/app/index.html:45 | |
77 | +msgid "Your course(s):" | |
78 | +msgstr "" | |
79 | + | |
80 | +#: app/templates/app/index.html:46 | |
81 | +msgid "No courses subscribed yet" | |
82 | +msgstr "" | |
83 | + | |
84 | +#: app/templates/app/index.html:56 | |
85 | +msgid "Search course:" | |
86 | +msgstr "" | |
87 | + | |
88 | +#: app/templates/app/index.html:62 | |
89 | +msgid "Search" | |
90 | +msgstr "" | |
91 | + | |
92 | +#: app/templates/app/index.html:67 | |
93 | +msgid "Most popular keywords:" | |
94 | +msgstr "" | |
95 | + | |
96 | +#: app/templates/home.html:86 | |
97 | +msgid "Home" | |
98 | +msgstr "" | |
99 | + | |
100 | +#: app/templates/home.html:87 app/templates/home_student.html:25 | |
101 | +msgid "Profile" | |
102 | +msgstr "" | |
103 | + | |
104 | +#: app/templates/home.html:90 | |
105 | +msgid "My courses" | |
106 | +msgstr "" | |
107 | + | |
108 | +#: app/templates/home.html:105 app/templates/home_professor.html:33 | |
109 | +msgid "Courses" | |
110 | +msgstr "" | |
111 | + | |
112 | +#: app/templates/home.html:131 | |
113 | +msgid "No pending tasks at the moment." | |
114 | +msgstr "" | |
115 | + | |
116 | +#: app/templates/home_admin_content.html:10 | |
117 | +msgid "Students" | |
118 | +msgstr "" | |
119 | + | |
120 | +#: app/templates/home_admin_content.html:11 | |
121 | +msgid "Beginning" | |
122 | +msgstr "" | |
123 | + | |
124 | +#: app/templates/home_admin_content.html:12 | |
125 | +msgid "End" | |
126 | +msgstr "" | |
127 | + | |
128 | +#: app/templates/home_admin_content.html:15 | |
129 | +msgid "Edit" | |
130 | +msgstr "" | |
131 | + | |
132 | +#: app/templates/home_professor.html:20 app/templates/home_student.html:21 | |
133 | +msgid "Menu" | |
134 | +msgstr "" | |
135 | + | |
136 | +#: app/templates/home_professor.html:24 | |
137 | +msgid "Pending tasks" | |
138 | +msgstr "" | |
139 | + | |
140 | +#: app/templates/home_professor.html:26 | |
141 | +msgid "Manage Course" | |
142 | +msgstr "" | |
143 | + | |
144 | +#: app/templates/home_professor.html:43 | |
145 | +msgid "Students:" | |
146 | +msgstr "" | |
147 | + | |
148 | +#: app/templates/home_professor.html:44 | |
149 | +msgid "Beginning:" | |
150 | +msgstr "" | |
151 | + | |
152 | +#: app/templates/home_professor.html:45 | |
153 | +msgid "End:" | |
154 | +msgstr "" | |
155 | + | |
156 | +#: app/templates/home_professor.html:52 | |
157 | +msgid "You didn't create any course yet." | |
158 | +msgstr "" | |
159 | + | |
160 | +#: app/templates/home_professor.html:58 app/templates/home_student.html:73 | |
161 | +msgid "Goals" | |
162 | +msgstr "" | |
163 | + | |
164 | +#: app/templates/home_student.html:26 | |
165 | +msgid "My Courses" | |
166 | +msgstr "" | |
167 | + | |
168 | +#: app/templates/home_student.html:27 | |
169 | +msgid "Google accounts" | |
170 | +msgstr "" | |
171 | + | |
172 | +#: app/templates/home_student.html:34 | |
173 | +msgid "Notifications" | |
174 | +msgstr "" | |
175 | + | |
176 | +#: app/templates/home_student.html:76 | |
177 | +msgid "Favorites" | |
178 | +msgstr "" | ... | ... |
app/templates/home_admin_content.html
... | ... | @@ -12,6 +12,6 @@ |
12 | 12 | <li>{% trans 'End' %}: {{ course.end_date }}</li> |
13 | 13 | </ul> |
14 | 14 | </div> |
15 | - <button type="button" class="btn btn-outline-info">{% trans 'Edit' %}</button> | |
15 | + <a href="{% url 'course:update' course.slug %}" class="btn btn-outline-info">{% trans 'Edit' %}</a> | |
16 | 16 | </div> |
17 | 17 | {% endfor %} |
18 | 18 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,66 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"POT-Creation-Date: 2016-09-16 02:41-0300\n" | |
12 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
15 | +"Language: \n" | |
16 | +"MIME-Version: 1.0\n" | |
17 | +"Content-Type: text/plain; charset=UTF-8\n" | |
18 | +"Content-Transfer-Encoding: 8bit\n" | |
19 | + | |
20 | +#: core/templates/base.html:97 | |
21 | +msgid "Log out" | |
22 | +msgstr "" | |
23 | + | |
24 | +#: core/templates/index.html:38 | |
25 | +msgid "Username" | |
26 | +msgstr "" | |
27 | + | |
28 | +#: core/templates/index.html:44 | |
29 | +msgid "Password" | |
30 | +msgstr "" | |
31 | + | |
32 | +#: core/templates/index.html:52 | |
33 | +msgid "Remember Email" | |
34 | +msgstr "" | |
35 | + | |
36 | +#: core/templates/index.html:61 | |
37 | +msgid "Guest" | |
38 | +msgstr "" | |
39 | + | |
40 | +#: core/templates/index.html:64 core/templates/register_user.html:71 | |
41 | +msgid "Login" | |
42 | +msgstr "" | |
43 | + | |
44 | +#: core/templates/index.html:73 | |
45 | +msgid "Sign Up" | |
46 | +msgstr "" | |
47 | + | |
48 | +#: core/templates/register_user.html:29 | |
49 | +msgid "User Register" | |
50 | +msgstr "" | |
51 | + | |
52 | +#: core/templates/register_user.html:68 | |
53 | +msgid "Save" | |
54 | +msgstr "" | |
55 | + | |
56 | +#: core/templates/remember_password.html:27 | |
57 | +msgid "E-mail" | |
58 | +msgstr "" | |
59 | + | |
60 | +#: core/templates/remember_password.html:31 | |
61 | +msgid "Registration" | |
62 | +msgstr "" | |
63 | + | |
64 | +#: core/templates/remember_password.html:35 | |
65 | +msgid "Send" | |
66 | +msgstr "" | ... | ... |
core/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-09-20 21:15 | |
2 | +# Generated by Django 1.10 on 2016-09-22 05:46 | |
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 | |
... | ... | @@ -12,6 +13,7 @@ class Migration(migrations.Migration): |
12 | 13 | initial = True |
13 | 14 | |
14 | 15 | dependencies = [ |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 17 | ] |
16 | 18 | |
17 | 19 | operations = [ |
... | ... | @@ -23,18 +25,19 @@ class Migration(migrations.Migration): |
23 | 25 | ('created_date', models.DateField(auto_now_add=True, verbose_name='Created Date')), |
24 | 26 | ], |
25 | 27 | options={ |
26 | - 'verbose_name_plural': 'Actions', | |
27 | 28 | 'verbose_name': 'Action', |
29 | + 'verbose_name_plural': 'Actions', | |
28 | 30 | }, |
29 | 31 | ), |
30 | 32 | migrations.CreateModel( |
31 | 33 | name='Action_Resource', |
32 | 34 | fields=[ |
33 | 35 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
36 | + ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action', verbose_name='Action_Applied')), | |
34 | 37 | ], |
35 | 38 | options={ |
36 | - 'verbose_name_plural': 'Action_Resources', | |
37 | 39 | 'verbose_name': 'Action_Resource', |
40 | + 'verbose_name_plural': 'Action_Resources', | |
38 | 41 | }, |
39 | 42 | ), |
40 | 43 | migrations.CreateModel( |
... | ... | @@ -42,10 +45,12 @@ class Migration(migrations.Migration): |
42 | 45 | fields=[ |
43 | 46 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
44 | 47 | ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), |
48 | + ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')), | |
49 | + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Actor')), | |
45 | 50 | ], |
46 | 51 | options={ |
47 | - 'verbose_name_plural': 'Logs', | |
48 | 52 | 'verbose_name': 'Log', |
53 | + 'verbose_name_plural': 'Logs', | |
49 | 54 | }, |
50 | 55 | ), |
51 | 56 | migrations.CreateModel( |
... | ... | @@ -56,10 +61,12 @@ class Migration(migrations.Migration): |
56 | 61 | ('read', models.BooleanField(default=False, verbose_name='Read')), |
57 | 62 | ('datetime', models.DateTimeField(auto_now_add=True, verbose_name='Date and Time of action')), |
58 | 63 | ('action_resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Action_Resource', verbose_name='Action_Resource')), |
64 | + ('actor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notification_Performer', to=settings.AUTH_USER_MODEL, verbose_name='Perfomer')), | |
65 | + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notification_Actor', to=settings.AUTH_USER_MODEL, verbose_name='User')), | |
59 | 66 | ], |
60 | 67 | options={ |
61 | - 'verbose_name_plural': 'Notifications', | |
62 | 68 | 'verbose_name': 'Notification', |
69 | + 'verbose_name_plural': 'Notifications', | |
63 | 70 | }, |
64 | 71 | ), |
65 | 72 | migrations.CreateModel( |
... | ... | @@ -72,8 +79,13 @@ class Migration(migrations.Migration): |
72 | 79 | ('url', models.CharField(default='', max_length=100, verbose_name='URL')), |
73 | 80 | ], |
74 | 81 | options={ |
75 | - 'verbose_name_plural': 'Resources', | |
76 | 82 | 'verbose_name': 'Resource', |
83 | + 'verbose_name_plural': 'Resources', | |
77 | 84 | }, |
78 | 85 | ), |
86 | + migrations.AddField( | |
87 | + model_name='action_resource', | |
88 | + name='resource', | |
89 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Resource', verbose_name='Resource'), | |
90 | + ), | |
79 | 91 | ] | ... | ... |
core/migrations/0002_auto_20160920_1815.py
... | ... | @@ -1,50 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-09-20 21:15 | |
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 | - ('core', '0001_initial'), | |
16 | - migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
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/templates/register_user.html
... | ... | @@ -45,7 +45,7 @@ |
45 | 45 | </span> |
46 | 46 | </div> |
47 | 47 | {% else %} |
48 | - {% render_field field class='form-control input-sm' %} | |
48 | + {% render_field field class='form-control' %} | |
49 | 49 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
50 | 50 | {% endif %} |
51 | 51 | </div> |
... | ... | @@ -68,7 +68,7 @@ |
68 | 68 | <input type="submit" value="{% trans 'Save' %}" class="btn btn-sm btn-success" /> |
69 | 69 | </div> |
70 | 70 | <div class="col-md-offset-3 col-md-2 col-sm-2 col-xs-2"> |
71 | - <a href="{% url 'core:home' %}" class="btn btn-sm btn-success" >{% trans 'Login' %}</a> | |
71 | + <a href="{% url 'core:home' %}" class="btn btn-sm btn-success" >{% trans 'Register' %}</a> | |
72 | 72 | </div> |
73 | 73 | |
74 | 74 | </form> | ... | ... |
... | ... | @@ -0,0 +1,229 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"POT-Creation-Date: 2016-09-16 02:41-0300\n" | |
12 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
15 | +"Language: \n" | |
16 | +"MIME-Version: 1.0\n" | |
17 | +"Content-Type: text/plain; charset=UTF-8\n" | |
18 | +"Content-Transfer-Encoding: 8bit\n" | |
19 | + | |
20 | +#: courses/templates/category/create.html:8 | |
21 | +#: courses/templates/category/delete.html:7 | |
22 | +#: courses/templates/category/index.html:7 | |
23 | +#: courses/templates/category/update.html:8 | |
24 | +#: courses/templates/category/view.html:7 | |
25 | +#: courses/templates/course/create.html:8 | |
26 | +#: courses/templates/course/delete.html:7 courses/templates/course/home.html:8 | |
27 | +#: courses/templates/course/update.html:8 | |
28 | +#: courses/templates/course/view.html:39 | |
29 | +#: courses/templates/subject/index.html:8 | |
30 | +msgid "Home" | |
31 | +msgstr "" | |
32 | + | |
33 | +#: courses/templates/category/create.html:9 | |
34 | +#: courses/templates/category/delete.html:18 | |
35 | +#: courses/templates/category/index.html:18 | |
36 | +#: courses/templates/category/view.html:18 | |
37 | +msgid "Create Category" | |
38 | +msgstr "" | |
39 | + | |
40 | +#: courses/templates/category/create.html:16 | |
41 | +#: courses/templates/category/delete.html:15 | |
42 | +#: courses/templates/category/index.html:15 | |
43 | +#: courses/templates/category/update.html:16 | |
44 | +#: courses/templates/category/view.html:15 | |
45 | +msgid "Categories" | |
46 | +msgstr "" | |
47 | + | |
48 | +#: courses/templates/category/create.html:26 | |
49 | +#: courses/templates/category/update.html:26 | |
50 | +#: courses/templates/course/create.html:26 | |
51 | +#: courses/templates/course/update.html:32 | |
52 | +msgid "All fields are required" | |
53 | +msgstr "" | |
54 | + | |
55 | +#: courses/templates/category/create.html:51 | |
56 | +#: courses/templates/category/update.html:51 | |
57 | +#: courses/templates/course/create.html:51 | |
58 | +#: courses/templates/course/update.html:57 | |
59 | +msgid "Save" | |
60 | +msgstr "" | |
61 | + | |
62 | +#: courses/templates/category/delete.html:8 | |
63 | +#: courses/templates/category/index.html:8 | |
64 | +msgid "Manage Categories" | |
65 | +msgstr "" | |
66 | + | |
67 | +#: courses/templates/category/delete.html:26 | |
68 | +#: courses/templates/subject/delete.html:11 | |
69 | +msgid "Are you sure you want to delete the category" | |
70 | +msgstr "" | |
71 | + | |
72 | +#: courses/templates/category/delete.html:27 | |
73 | +#: courses/templates/course/delete.html:28 | |
74 | +#: courses/templates/subject/delete.html:12 | |
75 | +msgid "Yes" | |
76 | +msgstr "" | |
77 | + | |
78 | +#: courses/templates/category/delete.html:28 | |
79 | +#: courses/templates/course/delete.html:29 | |
80 | +#: courses/templates/subject/delete.html:13 | |
81 | +msgid "No" | |
82 | +msgstr "" | |
83 | + | |
84 | +#: courses/templates/category/index.html:38 | |
85 | +msgid "Name" | |
86 | +msgstr "" | |
87 | + | |
88 | +#: courses/templates/category/index.html:39 | |
89 | +msgid "Slug" | |
90 | +msgstr "" | |
91 | + | |
92 | +#: courses/templates/category/index.html:40 | |
93 | +msgid "Actions" | |
94 | +msgstr "" | |
95 | + | |
96 | +#: courses/templates/category/index.html:59 | |
97 | +msgid "No categories found" | |
98 | +msgstr "" | |
99 | + | |
100 | +#: courses/templates/category/update.html:9 | |
101 | +#: courses/templates/category/view.html:21 | |
102 | +msgid "Edit Category" | |
103 | +msgstr "" | |
104 | + | |
105 | +#: courses/templates/category/view.html:24 | |
106 | +msgid "Remove Category" | |
107 | +msgstr "" | |
108 | + | |
109 | +#: courses/templates/category/view.html:32 | |
110 | +msgid "Name:" | |
111 | +msgstr "" | |
112 | + | |
113 | +#: courses/templates/category/view.html:33 | |
114 | +msgid "Slug:" | |
115 | +msgstr "" | |
116 | + | |
117 | +#: courses/templates/course/create.html:9 | |
118 | +#: courses/templates/course/delete.html:18 | |
119 | +#: courses/templates/course/filtered.html:11 | |
120 | +#: courses/templates/course/index.html:19 | |
121 | +msgid "Create Course" | |
122 | +msgstr "" | |
123 | + | |
124 | +#: courses/templates/course/create.html:16 | |
125 | +#: courses/templates/course/delete.html:15 | |
126 | +#: courses/templates/course/filtered.html:8 | |
127 | +#: courses/templates/course/home.html:16 | |
128 | +#: courses/templates/course/index.html:16 | |
129 | +#: courses/templates/course/update.html:16 | |
130 | +#: courses/templates/course/view.html:48 | |
131 | +msgid "Courses" | |
132 | +msgstr "" | |
133 | + | |
134 | +#: courses/templates/course/delete.html:27 | |
135 | +msgid "Are you sure you want to delete the couse" | |
136 | +msgstr "" | |
137 | + | |
138 | +#: courses/templates/course/filtered.html:19 | |
139 | +#: courses/templates/course/index.html:27 | |
140 | +msgid "Categories:" | |
141 | +msgstr "" | |
142 | + | |
143 | +#: courses/templates/course/home.html:9 | |
144 | +msgid "Home Course" | |
145 | +msgstr "" | |
146 | + | |
147 | +#: courses/templates/course/index.html:81 | |
148 | +msgid "students tops" | |
149 | +msgstr "" | |
150 | + | |
151 | +#: courses/templates/course/index.html:87 | |
152 | +msgid "Subscribe Period:" | |
153 | +msgstr "" | |
154 | + | |
155 | +#: courses/templates/course/index.html:89 | |
156 | +msgid "Period:" | |
157 | +msgstr "" | |
158 | + | |
159 | +#: courses/templates/course/index.html:105 | |
160 | +msgid "No courses found" | |
161 | +msgstr "" | |
162 | + | |
163 | +#: courses/templates/course/update.html:9 | |
164 | +msgid "Edit Course" | |
165 | +msgstr "" | |
166 | + | |
167 | +#: courses/templates/course/update.html:19 | |
168 | +msgid "Manage Modules" | |
169 | +msgstr "" | |
170 | + | |
171 | +#: courses/templates/course/update.html:22 | |
172 | +msgid "Participants" | |
173 | +msgstr "" | |
174 | + | |
175 | +#: courses/templates/course/view.html:40 | |
176 | +msgid "Profile" | |
177 | +msgstr "" | |
178 | + | |
179 | +#: courses/templates/course/view.html:62 | |
180 | +msgid "Subjects" | |
181 | +msgstr "" | |
182 | + | |
183 | +#: courses/templates/course/view.html:85 | |
184 | +msgid "Professor" | |
185 | +msgstr "" | |
186 | + | |
187 | +#: courses/templates/course/view.html:88 | |
188 | +msgid "Description" | |
189 | +msgstr "" | |
190 | + | |
191 | +#: courses/templates/course/view.html:110 | |
192 | +#: courses/templates/subject/index.html:78 | |
193 | +msgid "Pending Stuffs" | |
194 | +msgstr "" | |
195 | + | |
196 | +#: courses/templates/course/view.html:113 | |
197 | +msgid "No pending tasks at the moment." | |
198 | +msgstr "" | |
199 | + | |
200 | +#: courses/templates/subject/create.html:20 | |
201 | +#: courses/templates/topic/create.html:20 | |
202 | +msgid "Create" | |
203 | +msgstr "" | |
204 | + | |
205 | +#: courses/templates/subject/form_view_teacher.html:10 | |
206 | +#: courses/templates/subject/index.html:47 | |
207 | +msgid "edit" | |
208 | +msgstr "" | |
209 | + | |
210 | +#: courses/templates/subject/index.html:10 | |
211 | +msgid "Manage Subjects" | |
212 | +msgstr "" | |
213 | + | |
214 | +#: courses/templates/subject/index.html:34 | |
215 | +msgid "Create Subject" | |
216 | +msgstr "" | |
217 | + | |
218 | +#: courses/templates/subject/index.html:52 | |
219 | +msgid "delete" | |
220 | +msgstr "" | |
221 | + | |
222 | +#: courses/templates/subject/index.html:71 | |
223 | +msgid "Create Topic" | |
224 | +msgstr "" | |
225 | + | |
226 | +#: courses/templates/subject/update.html:20 | |
227 | +#: courses/templates/topic/update.html:20 | |
228 | +msgid "Update" | |
229 | +msgstr "" | ... | ... |
courses/migrations/0001_initial.py
1 | 1 | # -*- coding: utf-8 -*- |
2 | -# Generated by Django 1.10 on 2016-09-20 21:15 | |
2 | +# Generated by Django 1.10 on 2016-09-22 05:46 | |
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 | |
... | ... | @@ -12,6 +13,7 @@ class Migration(migrations.Migration): |
12 | 13 | initial = True |
13 | 14 | |
14 | 15 | dependencies = [ |
16 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |
15 | 17 | ('core', '0001_initial'), |
16 | 18 | ] |
17 | 19 | |
... | ... | @@ -22,6 +24,7 @@ class Migration(migrations.Migration): |
22 | 24 | ('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')), |
23 | 25 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
24 | 26 | ('limit_date', models.DateTimeField(verbose_name='Deliver Date')), |
27 | + ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='student')), | |
25 | 28 | ], |
26 | 29 | bases=('core.resource',), |
27 | 30 | ), |
... | ... | @@ -53,11 +56,14 @@ class Migration(migrations.Migration): |
53 | 56 | ('init_date', models.DateField(verbose_name='Begin of Course Date')), |
54 | 57 | ('end_date', models.DateField(verbose_name='End of Course Date')), |
55 | 58 | ('image', models.ImageField(blank=True, upload_to='courses/', verbose_name='Image')), |
59 | + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Category', verbose_name='Category')), | |
60 | + ('professors', models.ManyToManyField(related_name='courses', to=settings.AUTH_USER_MODEL, verbose_name='Professors')), | |
61 | + ('students', models.ManyToManyField(related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students')), | |
56 | 62 | ], |
57 | 63 | options={ |
58 | 64 | 'verbose_name_plural': 'Courses', |
59 | - 'verbose_name': 'Course', | |
60 | 65 | 'ordering': ('create_date', 'name'), |
66 | + 'verbose_name': 'Course', | |
61 | 67 | }, |
62 | 68 | ), |
63 | 69 | migrations.CreateModel( |
... | ... | @@ -65,6 +71,7 @@ class Migration(migrations.Migration): |
65 | 71 | fields=[ |
66 | 72 | ('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')), |
67 | 73 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
74 | + ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='student')), | |
68 | 75 | ], |
69 | 76 | bases=('core.resource',), |
70 | 77 | ), |
... | ... | @@ -80,11 +87,13 @@ class Migration(migrations.Migration): |
80 | 87 | ('end_date', models.DateField(verbose_name='End of Subject Date')), |
81 | 88 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
82 | 89 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
90 | + ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course')), | |
91 | + ('professors', models.ManyToManyField(related_name='subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors')), | |
83 | 92 | ], |
84 | 93 | options={ |
85 | 94 | 'verbose_name_plural': 'Subjects', |
86 | - 'verbose_name': 'Subject', | |
87 | 95 | 'ordering': ('create_date', 'name'), |
96 | + 'verbose_name': 'Subject', | |
88 | 97 | }, |
89 | 98 | ), |
90 | 99 | migrations.CreateModel( |
... | ... | @@ -97,11 +106,23 @@ class Migration(migrations.Migration): |
97 | 106 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Creation Date')), |
98 | 107 | ('update_date', models.DateTimeField(auto_now=True, verbose_name='Date of last update')), |
99 | 108 | ('visible', models.BooleanField(default=False, verbose_name='Visible')), |
109 | + ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Owner')), | |
110 | + ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Subject', verbose_name='Subject')), | |
100 | 111 | ], |
101 | 112 | options={ |
102 | 113 | 'verbose_name_plural': 'Topics', |
103 | - 'verbose_name': 'Topic', | |
104 | 114 | 'ordering': ('create_date', 'name'), |
115 | + 'verbose_name': 'Topic', | |
105 | 116 | }, |
106 | 117 | ), |
118 | + migrations.AddField( | |
119 | + model_name='material', | |
120 | + name='topic', | |
121 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Topic', verbose_name='Topic'), | |
122 | + ), | |
123 | + migrations.AddField( | |
124 | + model_name='activity', | |
125 | + name='topic', | |
126 | + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Topic', verbose_name='Topic'), | |
127 | + ), | |
107 | 128 | ] | ... | ... |
courses/migrations/0002_auto_20160920_1815.py
... | ... | @@ -1,75 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -# Generated by Django 1.10 on 2016-09-20 21:15 | |
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='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='subject', | |
32 | - name='course', | |
33 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subjects', to='courses.Course', verbose_name='Course'), | |
34 | - ), | |
35 | - migrations.AddField( | |
36 | - model_name='subject', | |
37 | - name='professors', | |
38 | - field=models.ManyToManyField(related_name='subjects', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
39 | - ), | |
40 | - migrations.AddField( | |
41 | - model_name='material', | |
42 | - name='student', | |
43 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='student'), | |
44 | - ), | |
45 | - migrations.AddField( | |
46 | - model_name='material', | |
47 | - name='topic', | |
48 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Topic', verbose_name='Topic'), | |
49 | - ), | |
50 | - migrations.AddField( | |
51 | - model_name='course', | |
52 | - name='category', | |
53 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Category', verbose_name='Category'), | |
54 | - ), | |
55 | - migrations.AddField( | |
56 | - model_name='course', | |
57 | - name='professors', | |
58 | - field=models.ManyToManyField(related_name='courses', to=settings.AUTH_USER_MODEL, verbose_name='Professors'), | |
59 | - ), | |
60 | - migrations.AddField( | |
61 | - model_name='course', | |
62 | - name='students', | |
63 | - field=models.ManyToManyField(related_name='courses_student', to=settings.AUTH_USER_MODEL, verbose_name='Students'), | |
64 | - ), | |
65 | - migrations.AddField( | |
66 | - model_name='activity', | |
67 | - name='student', | |
68 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='student'), | |
69 | - ), | |
70 | - migrations.AddField( | |
71 | - model_name='activity', | |
72 | - name='topic', | |
73 | - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Topic', verbose_name='Topic'), | |
74 | - ), | |
75 | - ] |
courses/templates/course/update.html
1 | 1 | {% extends 'course/view.html' %} |
2 | 2 | |
3 | 3 | {% load static i18n %} |
4 | -{% load widget_tweaks %} | |
4 | +{% load widget_tweaks django_bootstrap_breadcrumbs %} | |
5 | 5 | |
6 | 6 | {% block breadcrumbs %} |
7 | - <ol class="breadcrumb"> | |
8 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | |
9 | - <li class="active">{% trans 'Edit Course' %}</li> | |
10 | - </ol> | |
7 | + {{ block.super }} | |
8 | + {% breadcrumb 'Update' 'course:update' %} | |
11 | 9 | {% endblock %} |
12 | 10 | {% block content %} |
13 | 11 | ... | ... |
forum/migrations/__init__.py
users/admin.py
... | ... | @@ -5,6 +5,6 @@ from .forms import UserForm |
5 | 5 | class UserAdmin(admin.ModelAdmin): |
6 | 6 | list_display = ['username', 'name', 'email', 'is_staff', 'is_active'] |
7 | 7 | search_fields = ['username', 'name', 'email'] |
8 | - form = UserForm | |
8 | + # form = UserForm | |
9 | 9 | |
10 | 10 | admin.site.register(User, UserAdmin) |
11 | 11 | \ No newline at end of file | ... | ... |
users/migrations/0001_initial.py
users/templates/users/edit_profile.html
... | ... | @@ -31,7 +31,7 @@ |
31 | 31 | <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput"> |
32 | 32 | <label for="{{ field.auto_id }}">{{ field.label }}</label> |
33 | 33 | {% if field.auto_id == 'id_birth_date' %} |
34 | - {% render_field field class='form-control input-sm' type='date' %} | |
34 | + <input type="date" class="form-control"name="{{field.name}}" value="{% if field.value.year %}{{field.value|date:'Y-m-d'}}{% else %}{{field.value}}{% endif %}" min="{{now|date:'Y-m-d'}}" id="{{ field.auto_id }}"> | |
35 | 35 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
36 | 36 | {% elif field.auto_id == 'id_image' %} |
37 | 37 | {% render_field field class='form-control input-sm' %} |
... | ... | @@ -50,7 +50,7 @@ |
50 | 50 | </label> |
51 | 51 | </div> |
52 | 52 | {% else %} |
53 | - {% render_field field class='form-control input-sm' %} | |
53 | + {% render_field field class='form-control' %} | |
54 | 54 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
55 | 55 | {% endif %} |
56 | 56 | {% if field.errors.length > 0 %} | ... | ... |
users/templates/users/update.html
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | </div> |
25 | 25 | {% endfor %} |
26 | 26 | {% endif %} |
27 | - | |
27 | + | |
28 | 28 | <div class="card"> |
29 | 29 | <div class="card-content"> |
30 | 30 | <div class="card-body"> |
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput"> |
35 | 35 | <label for="{{ field.auto_id }}">{{ field.label }}</label> |
36 | 36 | {% if field.auto_id == 'id_birth_date' %} |
37 | - {% render_field field class='form-control input-sm' type='date' %} | |
37 | + <input type="date" class="form-control"name="{{field.name}}" value="{% if field.value.year %}{{field.value|date:'Y-m-d'}}{% else %}{{field.value}}{% endif %}" min="{{now|date:'Y-m-d'}}" id="{{ field.auto_id }}"> | |
38 | 38 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
39 | 39 | {% elif field.auto_id == 'id_image' %} |
40 | 40 | {% render_field field class='form-control input-sm' %} |
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | </label> |
54 | 54 | </div> |
55 | 55 | {% else %} |
56 | - {% render_field field class='form-control input-sm' %} | |
56 | + {% render_field field class='form-control' %} | |
57 | 57 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
58 | 58 | {% endif %} |
59 | 59 | {% if field.errors.length > 0 %} | ... | ... |