Commit 43fbc10d56eba97ef79df9aa7a44c7f55bcda878
Exists in
master
and in
5 other branches
merging pull request on my local with migrations modifications
Showing
37 changed files
with
593 additions
and
396 deletions
Show diff stats
app/locale/pt_BR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid "" | @@ -8,7 +8,7 @@ msgid "" | ||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: PACKAGE VERSION\n" | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
10 | "Report-Msgid-Bugs-To: \n" | 10 | "Report-Msgid-Bugs-To: \n" |
11 | -"POT-Creation-Date: 2016-10-26 14:47-0300\n" | 11 | +"POT-Creation-Date: 2016-11-16 11:52-0300\n" |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -18,134 +18,239 @@ msgstr "" | @@ -18,134 +18,239 @@ msgstr "" | ||
18 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
19 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" | 19 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
20 | 20 | ||
21 | -#: app/templates/home.html:69 app/templates/home_professor.html:20 | ||
22 | -#: app/templates/home_student.html:21 | 21 | +#: .\forms.py:16 |
22 | +msgid "A host name. Example: smtp.gmail.com" | ||
23 | +msgstr "O nome do host. Exemplo: smtp.gmail.com" | ||
24 | + | ||
25 | +#: .\forms.py:17 | ||
26 | +msgid "A port number" | ||
27 | +msgstr "O Número da porta" | ||
28 | + | ||
29 | +#: .\forms.py:18 | ||
30 | +msgid "Your host username" | ||
31 | +msgstr "" | ||
32 | + | ||
33 | +#: .\forms.py:19 | ||
34 | +msgid "Your host password" | ||
35 | +msgstr "A senha do seu host" | ||
36 | + | ||
37 | +#: .\models.py:8 | ||
38 | +msgid "No" | ||
39 | +msgstr "Não" | ||
40 | + | ||
41 | +#: .\models.py:9 | ||
42 | +msgid "TLS, if available" | ||
43 | +msgstr "TLS, se disponível" | ||
44 | + | ||
45 | +#: .\models.py:14 | ||
46 | +msgid "Description" | ||
47 | +msgstr "Descrição" | ||
48 | + | ||
49 | +#: .\models.py:15 | ||
50 | +msgid "E-mail Host" | ||
51 | +msgstr "E-mail do Host" | ||
52 | + | ||
53 | +#: .\models.py:16 | ||
54 | +msgid "Email Port" | ||
55 | +msgstr "Porta do E-mail" | ||
56 | + | ||
57 | +#: .\models.py:17 | ||
58 | +msgid "Email host username" | ||
59 | +msgstr "Nome de usuário do E-mail do Host" | ||
60 | + | ||
61 | +#: .\models.py:18 | ||
62 | +msgid "Email host password" | ||
63 | +msgstr "Senha de E-mail do Host" | ||
64 | + | ||
65 | +#: .\models.py:19 | ||
66 | +msgid "Use safe conection" | ||
67 | +msgstr "Use uma conexão segura" | ||
68 | + | ||
69 | +#: .\models.py:20 | ||
70 | +msgid "Default from email" | ||
71 | +msgstr "Padrão do E-mail" | ||
72 | + | ||
73 | +#: .\models.py:23 | ||
74 | +msgid "Amadeus SMTP setting" | ||
75 | +msgstr "Configuração SMTP do Amadeus" | ||
76 | + | ||
77 | +#: .\models.py:24 | ||
78 | +msgid "Amadeus SMTP settings" | ||
79 | +msgstr "Configurações SMTP do Amadeus" | ||
80 | + | ||
81 | +#: .\templates\admin_settings.html:23 .\templates\admin_settings.html:29 | ||
82 | +msgid "System" | ||
83 | +msgstr "Sistema" | ||
84 | + | ||
85 | +#: .\templates\admin_settings.html:26 .\templates\admin_settings.html:31 | ||
86 | +msgid "Mail Sender" | ||
87 | +msgstr "Remetente do E-mail" | ||
88 | + | ||
89 | +#: .\templates\admin_settings.html:35 | ||
90 | +msgid "Security" | ||
91 | +msgstr "Segurança" | ||
92 | + | ||
93 | +#: .\templates\admin_settings.html:49 | ||
94 | +msgid "General" | ||
95 | +msgstr "Geral" | ||
96 | + | ||
97 | +#: .\templates\admin_settings.html:71 | ||
98 | +msgid "Outgoing Server (SMTP)" | ||
99 | +msgstr "Servidor de saída (SMTP)" | ||
100 | + | ||
101 | +#: .\templates\admin_settings.html:74 .\templates\home.html:100 | ||
102 | +msgid "Settings" | ||
103 | +msgstr "Configurações" | ||
104 | + | ||
105 | +#: .\templates\admin_settings.html:126 | ||
106 | +msgid "Default:" | ||
107 | +msgstr "Padrão:" | ||
108 | + | ||
109 | +#: .\templates\admin_settings.html:147 | ||
110 | +msgid "Security and authentication" | ||
111 | +msgstr "Segurança e autenticação" | ||
112 | + | ||
113 | +#: .\templates\admin_settings.html:246 .\templates\admin_settings.html:263 | ||
114 | +msgid "Save changes" | ||
115 | +msgstr "Salvar mudanças" | ||
116 | + | ||
117 | +#: .\templates\admin_settings.html:260 | ||
118 | +msgid "Allow users self-enroll." | ||
119 | +msgstr "Permitir que os usuários possam se inscrever" | ||
120 | + | ||
121 | +#: .\templates\home.html:77 | ||
23 | msgid "Menu" | 122 | msgid "Menu" |
24 | msgstr "Menu" | 123 | msgstr "Menu" |
25 | 124 | ||
26 | -#: app/templates/home.html:73 | ||
27 | -msgid "Home" | ||
28 | -msgstr "Início" | ||
29 | - | ||
30 | -#: app/templates/home.html:74 app/templates/home_student.html:25 | ||
31 | -msgid "Profile" | ||
32 | -msgstr "Perfil" | 125 | +#: .\templates\home.html:82 .\templates\home.html:109 |
126 | +#: .\templates\home_professor.html:22 | ||
127 | +msgid "Courses" | ||
128 | +msgstr "Cursos" | ||
33 | 129 | ||
34 | -#: app/templates/home.html:76 | ||
35 | -#, fuzzy | ||
36 | -#| msgid "My Courses" | ||
37 | -msgid "My courses" | 130 | +#: .\templates\home.html:85 |
131 | +msgid "My Courses" | ||
38 | msgstr "Meus Cursos" | 132 | msgstr "Meus Cursos" |
39 | 133 | ||
40 | -#: app/templates/home.html:78 app/templates/home_student.html:27 | ||
41 | -#, fuzzy | ||
42 | -#| msgid "Courses" | 134 | +#: .\templates\home.html:86 |
43 | msgid "All Courses" | 135 | msgid "All Courses" |
44 | -msgstr "Cursos" | 136 | +msgstr "Todos Cursos" |
45 | 137 | ||
46 | -#: app/templates/home.html:80 | 138 | +#: .\templates\home.html:88 |
139 | +msgid "List Category" | ||
140 | +msgstr "Listar Categorias" | ||
141 | + | ||
142 | +#: .\templates\home.html:89 | ||
143 | +msgid "Create Course" | ||
144 | +msgstr "Criar Curso" | ||
145 | + | ||
146 | +#: .\templates\home.html:90 | ||
47 | #, fuzzy | 147 | #, fuzzy |
48 | -#| msgid "Manage Course" | ||
49 | -msgid "Manage Users" | ||
50 | -msgstr "Gerenciar Usuários" | 148 | +#| msgid "Create Course" |
149 | +msgid "Create Category" | ||
150 | +msgstr "Criar Curso" | ||
51 | 151 | ||
52 | -#: app/templates/home.html:84 | 152 | +#: .\templates\home.html:99 |
53 | #, fuzzy | 153 | #, fuzzy |
54 | #| msgid "Manage Course" | 154 | #| msgid "Manage Course" |
55 | -msgid "Manage Courses" | ||
56 | -msgstr "Gerenciar Cursos" | ||
57 | - | ||
58 | -#: app/templates/home.html:101 app/templates/home_professor.html:34 | ||
59 | -msgid "Courses" | ||
60 | -msgstr "Cursos" | 155 | +msgid "Manage Users" |
156 | +msgstr "Gerenciar Usuários" | ||
61 | 157 | ||
62 | -#: app/templates/home_admin_content.html:10 | 158 | +#: .\templates\home_admin_content.html:10 |
63 | #, fuzzy | 159 | #, fuzzy |
64 | #| msgid "Students:" | 160 | #| msgid "Students:" |
65 | msgid "Students" | 161 | msgid "Students" |
66 | msgstr "Alunos" | 162 | msgstr "Alunos" |
67 | 163 | ||
68 | -#: app/templates/home_admin_content.html:11 | 164 | +#: .\templates\home_admin_content.html:11 |
69 | #, fuzzy | 165 | #, fuzzy |
70 | #| msgid "Beginning:" | 166 | #| msgid "Beginning:" |
71 | msgid "Beginning" | 167 | msgid "Beginning" |
72 | -msgstr "Começo" | 168 | +msgstr "Início" |
73 | 169 | ||
74 | -#: app/templates/home_admin_content.html:12 | 170 | +#: .\templates\home_admin_content.html:12 |
75 | #, fuzzy | 171 | #, fuzzy |
76 | #| msgid "End:" | 172 | #| msgid "End:" |
77 | msgid "End" | 173 | msgid "End" |
78 | msgstr "Fim:" | 174 | msgstr "Fim:" |
79 | 175 | ||
80 | -#: app/templates/home_admin_content.html:15 | 176 | +#: .\templates\home_admin_content.html:15 |
81 | msgid "Edit" | 177 | msgid "Edit" |
82 | msgstr "Editar" | 178 | msgstr "Editar" |
83 | 179 | ||
84 | -#: app/templates/home_professor.html:24 | ||
85 | -msgid "Pending tasks" | ||
86 | -msgstr "Tarefas Pendentes" | ||
87 | - | ||
88 | -#: app/templates/home_professor.html:25 | ||
89 | -msgid "Create Course" | ||
90 | -msgstr "Criar Curso" | ||
91 | - | ||
92 | -#: app/templates/home_professor.html:26 | ||
93 | -msgid "Manage Course" | ||
94 | -msgstr "Gerenciar Curso" | ||
95 | - | ||
96 | -#: app/templates/home_professor.html:44 | 180 | +#: .\templates\home_professor.html:32 |
97 | msgid "Students:" | 181 | msgid "Students:" |
98 | msgstr "Alunos" | 182 | msgstr "Alunos" |
99 | 183 | ||
100 | -#: app/templates/home_professor.html:45 | 184 | +#: .\templates\home_professor.html:33 |
101 | msgid "Beginning:" | 185 | msgid "Beginning:" |
102 | -msgstr "Começo" | 186 | +msgstr "Início" |
103 | 187 | ||
104 | -#: app/templates/home_professor.html:46 | 188 | +#: .\templates\home_professor.html:34 |
105 | msgid "End:" | 189 | msgid "End:" |
106 | msgstr "Fim:" | 190 | msgstr "Fim:" |
107 | 191 | ||
108 | -#: app/templates/home_professor.html:53 | 192 | +#: .\templates\home_professor.html:41 |
109 | msgid "You didn't create any course yet." | 193 | msgid "You didn't create any course yet." |
110 | msgstr "Você não criou nenhum curso ainda." | 194 | msgstr "Você não criou nenhum curso ainda." |
111 | 195 | ||
112 | -#: app/templates/home_student.html:26 | ||
113 | -msgid "My Courses" | ||
114 | -msgstr "Meus Cursos" | ||
115 | - | ||
116 | -#: app/templates/home_student.html:28 | ||
117 | -msgid "Google accounts" | ||
118 | -msgstr "Contas do Google" | ||
119 | - | ||
120 | -#: app/templates/home_student.html:35 | 196 | +#: .\templates\home_student.html:22 |
121 | msgid "Notifications" | 197 | msgid "Notifications" |
122 | msgstr "Notificações" | 198 | msgstr "Notificações" |
123 | 199 | ||
124 | -#: app/templates/home_student.html:48 | 200 | +#: .\templates\home_student.html:35 |
125 | msgid "His course has notified a new activity!" | 201 | msgid "His course has notified a new activity!" |
126 | msgstr "Seu curso tem uma nova atividade!" | 202 | msgstr "Seu curso tem uma nova atividade!" |
127 | 203 | ||
128 | -#: app/templates/home_student.html:51 app/templates/home_student.html:59 | ||
129 | -#: app/templates/home_student.html:67 | 204 | +#: .\templates\home_student.html:38 .\templates\home_student.html:46 |
205 | +#: .\templates\home_student.html:54 | ||
130 | msgid "Go" | 206 | msgid "Go" |
131 | msgstr "Ir" | 207 | msgstr "Ir" |
132 | 208 | ||
133 | -#: app/templates/home_student.html:56 | 209 | +#: .\templates\home_student.html:43 |
134 | msgid "His teacher has notified a new material!" | 210 | msgid "His teacher has notified a new material!" |
135 | msgstr "Seu professor adicionou um novo material!" | 211 | msgstr "Seu professor adicionou um novo material!" |
136 | 212 | ||
137 | -#: app/templates/home_student.html:64 | 213 | +#: .\templates\home_student.html:51 |
138 | msgid "You have a new guardian!" | 214 | msgid "You have a new guardian!" |
139 | msgstr "Você tem um novo tutor!" | 215 | msgstr "Você tem um novo tutor!" |
140 | 216 | ||
141 | -#: app/templates/home_teacher_student_content.html:14 | 217 | +#: .\templates\home_teacher_student_content.html:14 |
142 | msgid "at" | 218 | msgid "at" |
143 | msgstr "em" | 219 | msgstr "em" |
144 | 220 | ||
145 | -#: app/templates/home_teacher_student_content.html:15 | 221 | +#: .\templates\home_teacher_student_content.html:15 |
146 | msgid "ago" | 222 | msgid "ago" |
147 | msgstr "atrás" | 223 | msgstr "atrás" |
148 | 224 | ||
225 | +#: .\views.py:72 | ||
226 | +msgid "Changes saved." | ||
227 | +msgstr "Mudanças salvas" | ||
228 | + | ||
229 | +#, fuzzy | ||
230 | +#~| msgid "My Courses" | ||
231 | +#~ msgid "My courses" | ||
232 | +#~ msgstr "Meus Cursos" | ||
233 | + | ||
234 | +#~ msgid "Home" | ||
235 | +#~ msgstr "Início" | ||
236 | + | ||
237 | +#~ msgid "Profile" | ||
238 | +#~ msgstr "Perfil" | ||
239 | + | ||
240 | +#, fuzzy | ||
241 | +#~| msgid "Manage Course" | ||
242 | +#~ msgid "Manage Courses" | ||
243 | +#~ msgstr "Gerenciar Cursos" | ||
244 | + | ||
245 | +#~ msgid "Pending tasks" | ||
246 | +#~ msgstr "Tarefas Pendentes" | ||
247 | + | ||
248 | +#~ msgid "Manage Course" | ||
249 | +#~ msgstr "Gerenciar Curso" | ||
250 | + | ||
251 | +#~ msgid "Google accounts" | ||
252 | +#~ msgstr "Contas do Google" | ||
253 | + | ||
149 | #~ msgid "The Project" | 254 | #~ msgid "The Project" |
150 | #~ msgstr "O projeto" | 255 | #~ msgstr "O projeto" |
151 | 256 | ||
@@ -160,9 +265,6 @@ msgstr "atrás" | @@ -160,9 +265,6 @@ msgstr "atrás" | ||
160 | #~ msgid "See Profile" | 265 | #~ msgid "See Profile" |
161 | #~ msgstr "Perfil" | 266 | #~ msgstr "Perfil" |
162 | 267 | ||
163 | -#~ msgid "Settings" | ||
164 | -#~ msgstr "Configurações" | ||
165 | - | ||
166 | #~ msgid "Logout" | 268 | #~ msgid "Logout" |
167 | #~ msgstr "Sair" | 269 | #~ msgstr "Sair" |
168 | 270 |
app/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | # Generated by Django 1.10 on 2016-11-16 20:53 | 2 | # Generated by Django 1.10 on 2016-11-16 20:53 |
3 | + | ||
3 | from __future__ import unicode_literals | 4 | from __future__ import unicode_literals |
4 | 5 | ||
5 | from django.db import migrations, models | 6 | from django.db import migrations, models |
app/templates/home.html
@@ -82,8 +82,8 @@ | @@ -82,8 +82,8 @@ | ||
82 | <a href="#menu_courses" class="accordion" data-toggle="collapse">{% trans 'Courses' %}<span class="pull-right glyphicon glyphicon-chevron-down"></span></a> | 82 | <a href="#menu_courses" class="accordion" data-toggle="collapse">{% trans 'Courses' %}<span class="pull-right glyphicon glyphicon-chevron-down"></span></a> |
83 | <div id="menu_courses" class="collapse"> | 83 | <div id="menu_courses" class="collapse"> |
84 | <ul class="nav nav-pill nav-stacked accordion_list"> | 84 | <ul class="nav nav-pill nav-stacked accordion_list"> |
85 | - <li><a href="{% url 'course:manage' %}">{% trans 'My courses' %}</a></li> | ||
86 | - <li><a href="{% url 'course:all_courses' %}">{% trans 'All Courses' %}</a></li> | 85 | + <li><a href="{% url 'course:manage' %}"> {% trans 'My Courses' %} </a></li> |
86 | + <li><a href="{% url 'course:all_courses' %}"> {% trans 'All Courses' %} </a></li> | ||
87 | {% if user|has_role:'system_admin' or user|has_role:'professor'%} | 87 | {% if user|has_role:'system_admin' or user|has_role:'professor'%} |
88 | <li><a href="{% url 'course:manage_cat' %}">{% trans 'List Category' %}</a></li> | 88 | <li><a href="{% url 'course:manage_cat' %}">{% trans 'List Category' %}</a></li> |
89 | <li><a href="{% url 'course:create' %}">{% trans 'Create Course' %}</a></li> | 89 | <li><a href="{% url 'course:create' %}">{% trans 'Create Course' %}</a></li> |
core/migrations/0001_initial.py
courses/migrations/0001_initial.py
courses/templates/subject/form_view_teacher.html
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | {% professor_subject topic.subject user as dropdown_topic %} | 21 | {% professor_subject topic.subject user as dropdown_topic %} |
22 | {% if dropdown_topic %} | 22 | {% if dropdown_topic %} |
23 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> | 23 | <ul class="dropdown-menu pull-right" aria-labelledby="moreActions"> |
24 | - <li><a href="" data-toggle="modal" data-target="#myModal4"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> | 24 | + <li><a href="{% url 'course:replicate_topic' topic.slug %}"><i class="fa fa-files-o fa-fw" aria-hidden="true"></i> {% trans "Replicate" %}</a></li> |
25 | <li><a href="javascript:show_editation('{{topic.slug}}')"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> | 25 | <li><a href="javascript:show_editation('{{topic.slug}}')"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> {% trans "Edit" %}</a></li> |
26 | <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeTopic"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> | 26 | <li><a href="javascript:void(0)" data-toggle="modal" data-target="#removeTopic"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans "Remove" %}</a></li> |
27 | </ul> | 27 | </ul> |
courses/templates/subject/replicate.html
@@ -2,61 +2,51 @@ | @@ -2,61 +2,51 @@ | ||
2 | 2 | ||
3 | {% load static i18n permission_tags widget_tweaks %} | 3 | {% load static i18n permission_tags widget_tweaks %} |
4 | 4 | ||
5 | -{% block breadcrumbs %} | ||
6 | - <ol class="breadcrumb"> | ||
7 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
8 | - <li class="active">{% trans 'Replicate Subject' %}</li> | ||
9 | - </ol> | ||
10 | -{% endblock %} | ||
11 | - | ||
12 | {% block content %} | 5 | {% block content %} |
13 | -<div class="panel panel-default"> | 6 | + |
7 | + <div class="panel panel-default"> | ||
14 | <div class="panel-body"> | 8 | <div class="panel-body"> |
15 | <form class="form-group " method="post" action=""> | 9 | <form class="form-group " method="post" action=""> |
16 | {% csrf_token %} | 10 | {% csrf_token %} |
17 | 11 | ||
18 | <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> | 12 | <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> |
19 | - <label for="{{ id_name }}" class="control-label label-static"> {% trans 'Name' %}</label> | ||
20 | - <input class="form-control" id="id_name" maxlength="100" name="name" type="text" required="True" value="{{subject.name}}"> | ||
21 | - <span class="help-block">{% trans 'Subject name' %}</span> | 13 | + <label for="id_name" class="control-label label-static"> {% trans 'Name'%}</label> |
14 | + <textarea class="form-control" id="id_name" maxlength="100" rows="1" name="name" placeholder="Name" type="text" required >{{subject.name}}</textarea> | ||
22 | 15 | ||
16 | + <span class="help-block">{% trans 'Subject name'%}</span> | ||
23 | </div> | 17 | </div> |
24 | 18 | ||
25 | - <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> | ||
26 | - <label for="{{ id_description }}" class="control-label label-static"> {% trans 'Description' %} </label> | ||
27 | - <textarea class="form-control" id="id_description" name="description" type="text" required="">{{subject.description}}</textarea> | ||
28 | - <span class="help-block">{% trans 'Subject Description' %}</span> | 19 | + <div class="form-group"> |
20 | + <label for="id_description" class="control-label label-static"> {% trans 'Description'%}</label> | ||
21 | + <textarea class="form-control" id="id_description" name="description" placeholder="Description" type="text" >{{subject.description}}</textarea> | ||
29 | 22 | ||
23 | + <span class="help-block">{% trans 'Subject description'%}</span> | ||
30 | </div> | 24 | </div> |
31 | 25 | ||
32 | - <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> | ||
33 | - <label for="{{ id_init_date }}" class="control-label label-static"> {% trans 'Init date' %}</label> | ||
34 | - <input type="text" class="form-control date-picker" name="{{field.name}}" value="{{field.value|date:'SHORT_DA E_FORMAT'}}" min="{{now|date:'SHORT_DATE_FORMAT'}}"> | ||
35 | - <span class="help-block">{% trans 'Subject init date' %}</span> | 26 | + <div class="form-group"> |
27 | + <label for="id_init_date" class="control-label label-static"> {% trans 'Init date'%}</label> | ||
28 | + <input type="text" class="form-control date-picker" name="init_date" value="{{field.value|date:'SHORT_DATE_FORMAT'}}" min="{{now|date:'SHORT_DATE_FORMAT'}}"> | ||
36 | 29 | ||
30 | + <span class="help-block">{% trans 'Init date'%}</span> | ||
37 | </div> | 31 | </div> |
38 | 32 | ||
39 | - <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> | ||
40 | - <label for="{{ id_end_date }}" class="control-label label-static"> {% trans 'End date' %}</label> | ||
41 | - <input type="text" class="form-control date-picker" name="{{field.name}}" value="{{field.value|date:'SHORT_DA E_FORMAT'}}" min="{{now|date:'SHORT_DATE_FORMAT'}}"> | ||
42 | - <span class="help-block">{% trans 'Subject end date' %}</span> | ||
43 | - | ||
44 | - </div> | ||
45 | - <div class="form-group {% if subject.name.errors %} has-error{% endif %}"> | ||
46 | - <label for="{{ id_visible }}" class="control-label label-static"> {% trans 'Visible?' %} </label> | ||
47 | - <input type="checkbox" class="form-control" id="id_visible" name="visible" required="true"/> | ||
48 | - <span class="help-block">{% trans 'Is it visible?' %}</span> | 33 | + <div class="form-group"> |
34 | + <label for="id_end_date" class="control-label label-static"> {% trans 'End date'%}</label> | ||
35 | + <input type="text" class="form-control date-picker" name="end_date" value="{{field.value|date:'SHORT_DATE_FORMAT'}}" min="{{now|date:'SHORT_DATE_FORMAT'}}"> | ||
49 | 36 | ||
37 | + <span class="help-block">{% trans 'End date'%}</span> | ||
50 | </div> | 38 | </div> |
51 | 39 | ||
40 | + <div class="form-group"> | ||
41 | + <label for="id_visible" class="control-label label-static"> {% trans 'Visible'%}</label> | ||
42 | + <input class="form-control" id="id_visible" name="visible" type="checkbox"/> | ||
52 | 43 | ||
44 | + <span class="help-block">{% trans 'Is it visible?'%}</span> | ||
53 | </div> | 45 | </div> |
54 | - | ||
55 | <div class="col-lg-offset-4 col-lg-4"> | 46 | <div class="col-lg-offset-4 col-lg-4"> |
56 | - <button type="submit" class="btn btn-raised btn-primary btn-lg btn-block">{% trans 'Replicate' %}</button> | 47 | + <button type="submite" class="btn btn-raised btn-primary btn-lg btn-block">{% trans 'Replicate' %}</button> |
57 | </div> | 48 | </div> |
58 | </form> | 49 | </form> |
59 | - | ||
60 | </div> | 50 | </div> |
61 | </div> | 51 | </div> |
62 | 52 | ||
@@ -70,4 +60,4 @@ | @@ -70,4 +60,4 @@ | ||
70 | $('#id_description').summernote({height: 300}); | 60 | $('#id_description').summernote({height: 300}); |
71 | }); | 61 | }); |
72 | </script> | 62 | </script> |
73 | -{% endblock %} | ||
74 | \ No newline at end of file | 63 | \ No newline at end of file |
64 | +{% endblock content %} |
@@ -0,0 +1,38 @@ | @@ -0,0 +1,38 @@ | ||
1 | +{% extends 'subject/index.html' %} | ||
2 | + | ||
3 | +{% load static i18n permission_tags widget_tweaks %} | ||
4 | + | ||
5 | +{% block content %} | ||
6 | + | ||
7 | + <div class="panel panel-default"> | ||
8 | + <div class="panel-body"> | ||
9 | + <form class="form-group " method="post" action=""> | ||
10 | + {% csrf_token %} | ||
11 | + | ||
12 | + <div class="form-group {% if topic.name.errors %} has-error{% endif %}"> | ||
13 | + <label for="id_name" class="control-label label-static"> {% trans 'Name'%}</label> | ||
14 | + <textarea class="form-control" id="id_name" maxlength="100" rows="1" name="name" placeholder="Name" type="text" required >{{topic.name}}</textarea> | ||
15 | + | ||
16 | + <span class="help-block">{% trans 'Topic name'%}</span> | ||
17 | + </div> | ||
18 | + <div class="form-group {% if topic.description.errors %} has-error{% endif %}"> | ||
19 | + <label for="id_description" class="control-label label-static"> {% trans 'Description'%}</label> | ||
20 | + <textarea class="form-control" id="id_description" name="description" placeholder="Description" type="text"> {{topic.description}}</textarea> | ||
21 | + | ||
22 | + <span class="help-block">{% trans 'Topic description'%}</span> | ||
23 | + </div> | ||
24 | + | ||
25 | + <div class="col-lg-offset-4 col-lg-4"> | ||
26 | + <button type="submit" class="btn btn-raised btn-primary btn-lg btn-block">{% trans 'Create' %}</button> | ||
27 | + | ||
28 | + </div> | ||
29 | + </form> | ||
30 | + </div> | ||
31 | + </div> | ||
32 | + | ||
33 | + <script type="text/javascript"> | ||
34 | + $(document).ready(function() { | ||
35 | + $('#id_description').summernote({height: 300}); | ||
36 | + }); | ||
37 | + </script> | ||
38 | +{% endblock content %} |
courses/templates/topic/replicate_topic.html
@@ -1,38 +0,0 @@ | @@ -1,38 +0,0 @@ | ||
1 | -{% extends 'subject/index.html' %} | ||
2 | - | ||
3 | -{% load static i18n permission_tags widget_tweaks %} | ||
4 | - | ||
5 | -{% block content %} | ||
6 | - | ||
7 | - <div class="panel panel-default"> | ||
8 | - <div class="panel-body"> | ||
9 | - <form class="form-group " method="post" action=""> | ||
10 | - {% csrf_token %} | ||
11 | - | ||
12 | - <div class="form-group {% if topic.name.errors %} has-error{% endif %}"> | ||
13 | - <label for="id_name" class="control-label label-static"> {% trans 'Name'%}</label> | ||
14 | - <input class="form-control" id="id_name" maxlength="100" name="name" placeholder="Name" type="text" value={{topic.name}} required /> | ||
15 | - | ||
16 | - <span class="help-block">{% trans 'Topic name'%}</span> | ||
17 | - </div> | ||
18 | - <div class="form-group {% if topic.description.errors %} has-error{% endif %}"> | ||
19 | - <label for="id_description" class="control-label label-static"> {% trans 'Description'%}</label> | ||
20 | - <textarea class="form-control" id="id_description" name="description" placeholder="Description" type="text"> {{topic.description}}</textarea> | ||
21 | - | ||
22 | - <span class="help-block">{% trans 'Topic description'%}</span> | ||
23 | - </div> | ||
24 | - | ||
25 | - <div class="col-lg-offset-4 col-lg-4"> | ||
26 | - <button type="submit" class="btn btn-raised btn-primary btn-lg btn-block">{% trans 'Create' %}</button> | ||
27 | - | ||
28 | - </div> | ||
29 | - </form> | ||
30 | - </div> | ||
31 | - </div> | ||
32 | - | ||
33 | - <script type="text/javascript"> | ||
34 | - $(document).ready(function() { | ||
35 | - $('#id_description').summernote({height: 300}); | ||
36 | - }); | ||
37 | - </script> | ||
38 | -{% endblock content %} |
courses/urls.py
@@ -6,7 +6,6 @@ urlpatterns = [ | @@ -6,7 +6,6 @@ urlpatterns = [ | ||
6 | url(r'^all-courses/$', views.AllCoursesView.as_view(), name='all_courses'), | 6 | url(r'^all-courses/$', views.AllCoursesView.as_view(), name='all_courses'), |
7 | url(r'^create/$', views.CreateCourseView.as_view(), name='create'), | 7 | url(r'^create/$', views.CreateCourseView.as_view(), name='create'), |
8 | url(r'^replicate_course/(?P<slug>[\w_-]+)/$', views.ReplicateCourseView.as_view(), name='replicate_course'), | 8 | url(r'^replicate_course/(?P<slug>[\w_-]+)/$', views.ReplicateCourseView.as_view(), name='replicate_course'), |
9 | - url(r'^replicate_subject/(?P<slug>[\w_-]+)/$', views.ReplicateSubjectView.as_view(), name='replicate_subject'), | ||
10 | url(r'^edit/(?P<slug>[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), | 9 | url(r'^edit/(?P<slug>[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), |
11 | url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), | 10 | url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), |
12 | url(r'^subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_course, name='subscribe'), | 11 | url(r'^subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_course, name='subscribe'), |
@@ -19,10 +18,11 @@ urlpatterns = [ | @@ -19,10 +18,11 @@ urlpatterns = [ | ||
19 | url(r'^subjects/create/(?P<slug>[\w_-]+)/$', views.CreateSubjectView.as_view(), name='create_subject'), | 18 | url(r'^subjects/create/(?P<slug>[\w_-]+)/$', views.CreateSubjectView.as_view(), name='create_subject'), |
20 | url(r'^subjects/update/(?P<slug>[\w_-]+)/$', views.UpdateSubjectView.as_view(), name='update_subject'), | 19 | url(r'^subjects/update/(?P<slug>[\w_-]+)/$', views.UpdateSubjectView.as_view(), name='update_subject'), |
21 | url(r'^subjects/delete/(?P<slug>[\w_-]+)/$', views.DeleteSubjectView.as_view(), name='delete_subject'), | 20 | url(r'^subjects/delete/(?P<slug>[\w_-]+)/$', views.DeleteSubjectView.as_view(), name='delete_subject'), |
21 | + url(r'^subjects/replicate/(?P<slug>[\w_-]+)/$', views.ReplicateSubjectView.as_view(), name='replicate_subject'), | ||
22 | url(r'^subjects/subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_subject, name='subscribe_subject'), | 22 | url(r'^subjects/subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_subject, name='subscribe_subject'), |
23 | url(r'^topics/create/(?P<slug>[\w_-]+)/$', views.CreateTopicView.as_view(), name='create_topic'), | 23 | url(r'^topics/create/(?P<slug>[\w_-]+)/$', views.CreateTopicView.as_view(), name='create_topic'), |
24 | url(r'^topics/update/(?P<slug>[\w_-]+)/$', views.UpdateTopicView.as_view(), name='update_topic'), | 24 | url(r'^topics/update/(?P<slug>[\w_-]+)/$', views.UpdateTopicView.as_view(), name='update_topic'), |
25 | - url(r'^topics/update/(?P<slug>[\w_-]+)/$', views.DeleteTopic.as_view(), name='delete_topic'), | 25 | + url(r'^topics/delete/(?P<slug>[\w_-]+)/$', views.DeleteTopic.as_view(), name='delete_topic'), |
26 | url(r'^topics/replicate/(?P<slug>[\w_-]+)/$', views.ReplicateTopicView.as_view(), name='replicate_topic'), | 26 | url(r'^topics/replicate/(?P<slug>[\w_-]+)/$', views.ReplicateTopicView.as_view(), name='replicate_topic'), |
27 | url(r'^topics/(?P<slug>[\w_-]+)/$', views.TopicsView.as_view(), name='view_topic'), | 27 | url(r'^topics/(?P<slug>[\w_-]+)/$', views.TopicsView.as_view(), name='view_topic'), |
28 | url(r'^subjects/categories$',views.IndexSubjectCategoryView.as_view(), name='subject_category_index'), | 28 | url(r'^subjects/categories$',views.IndexSubjectCategoryView.as_view(), name='subject_category_index'), |
courses/views.py
@@ -561,39 +561,6 @@ class SubjectsView(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -561,39 +561,6 @@ class SubjectsView(LoginRequiredMixin, LogMixin, generic.ListView): | ||
561 | context['files'] = TopicFile.objects.filter(students__name = self.request.user.name) | 561 | context['files'] = TopicFile.objects.filter(students__name = self.request.user.name) |
562 | return context | 562 | return context |
563 | 563 | ||
564 | -class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin,generic.edit.CreateView): | ||
565 | - | ||
566 | - allowed_roles = ['professor', 'system_admin'] | ||
567 | - login_url = reverse_lazy("core:home") | ||
568 | - redirect_field_name = 'next' | ||
569 | - template_name = 'subject/replicate.html' | ||
570 | - form_class = SubjectForm | ||
571 | - success_url = reverse_lazy('course:view') | ||
572 | - | ||
573 | - def get_context_data(self, **kwargs): | ||
574 | - context = super(ReplicateSubjectView, self).get_context_data(**kwargs) | ||
575 | - subject = get_object_or_404(Subject, slug=self.kwargs.get('slug')) | ||
576 | - | ||
577 | - if has_role(self.request.user,'system_admin'): | ||
578 | - subjects = Subject.objects.all() | ||
579 | - context['subjects'] = subjects | ||
580 | - elif has_role(self.request.user,'professor'): | ||
581 | - subject = self.request.user.professors_subjects.all() | ||
582 | - categorys_subjects = CategorySubject.objects.all() | ||
583 | - | ||
584 | - context['subject'] = subject | ||
585 | - context['categorys_subjects'] = categorys_subjects | ||
586 | - context['title'] = _("Replicate Subject") | ||
587 | - context['now'] = date.today() | ||
588 | - return context | ||
589 | - | ||
590 | - def form_valid(self, form): | ||
591 | - self.object = form.save() | ||
592 | - | ||
593 | - return super(ReplicateSubjectView, self).form_valid(form) | ||
594 | - | ||
595 | - def get_success_url(self): | ||
596 | - return reverse_lazy('course:view', kwargs={'slug' : self.object.slug}) | ||
597 | 564 | ||
598 | class UploadMaterialView(LoginRequiredMixin, generic.edit.CreateView): | 565 | class UploadMaterialView(LoginRequiredMixin, generic.edit.CreateView): |
599 | login_url = reverse_lazy("core:home") | 566 | login_url = reverse_lazy("core:home") |
@@ -1017,13 +984,13 @@ class TopicViewSet(viewsets.ModelViewSet): | @@ -1017,13 +984,13 @@ class TopicViewSet(viewsets.ModelViewSet): | ||
1017 | class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin,generic.edit.CreateView): | 984 | class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin,generic.edit.CreateView): |
1018 | log_component = "course" | 985 | log_component = "course" |
1019 | log_resource = "topic" | 986 | log_resource = "topic" |
1020 | - log_action = "create" | 987 | + log_action = "replicate" |
1021 | log_context = {} | 988 | log_context = {} |
1022 | 989 | ||
1023 | allowed_roles = ['professor', 'system_admin'] | 990 | allowed_roles = ['professor', 'system_admin'] |
1024 | login_url = reverse_lazy("core:home") | 991 | login_url = reverse_lazy("core:home") |
1025 | - model = Topic | ||
1026 | - template_name = 'topic/replicate_topic.html' | 992 | + redirect_field_name = 'next' |
993 | + template_name = 'topic/replicate.html' | ||
1027 | form_class = TopicForm | 994 | form_class = TopicForm |
1028 | 995 | ||
1029 | def get_success_url(self): | 996 | def get_success_url(self): |
@@ -1032,21 +999,23 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | @@ -1032,21 +999,23 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | ||
1032 | def get_context_data(self, **kwargs): | 999 | def get_context_data(self, **kwargs): |
1033 | context = super(ReplicateTopicView, self).get_context_data(**kwargs) | 1000 | context = super(ReplicateTopicView, self).get_context_data(**kwargs) |
1034 | topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) | 1001 | topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) |
1035 | - subject = topic.subject | 1002 | + subject = Subject.objects.get(pk = topic.subject_id) |
1036 | context['course'] = subject.course | 1003 | context['course'] = subject.course |
1037 | context['subject'] = subject | 1004 | context['subject'] = subject |
1038 | context['subjects'] = subject.course.subjects.all() | 1005 | context['subjects'] = subject.course.subjects.all() |
1039 | context['topic'] = topic | 1006 | context['topic'] = topic |
1040 | return context | 1007 | return context |
1041 | 1008 | ||
1042 | - | ||
1043 | def form_valid(self, form): | 1009 | def form_valid(self, form): |
1044 | - self.object.subject = self.object.subject.id | 1010 | + topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) |
1011 | + subject = Subject.objects.get(pk = topic.subject_id) | ||
1012 | + | ||
1045 | self.object = form.save(commit = False) | 1013 | self.object = form.save(commit = False) |
1014 | + self.object.topic = topic | ||
1015 | + self.object.subject = subject | ||
1046 | self.object.owner = self.request.user | 1016 | self.object.owner = self.request.user |
1047 | self.object.save() | 1017 | self.object.save() |
1048 | - | ||
1049 | - action = super(ReplicateTopicView, self).createorRetrieveAction("replicate Topic") | 1018 | + action = super(ReplicateTopicView, self).createorRetrieveAction("create Topic") |
1050 | super(ReplicateTopicView, self).createNotification("Topic "+ self.object.name + " was created", | 1019 | super(ReplicateTopicView, self).createNotification("Topic "+ self.object.name + " was created", |
1051 | resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), | 1020 | resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), |
1052 | actor=self.request.user, users = self.object.subject.course.students.all() ) | 1021 | actor=self.request.user, users = self.object.subject.course.students.all() ) |
@@ -1066,3 +1035,55 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | @@ -1066,3 +1035,55 @@ class ReplicateTopicView (LoginRequiredMixin, HasRoleMixin, LogMixin, Notificati | ||
1066 | super(ReplicateTopicView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 1035 | super(ReplicateTopicView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
1067 | 1036 | ||
1068 | return super(ReplicateTopicView, self).form_valid(form) | 1037 | return super(ReplicateTopicView, self).form_valid(form) |
1038 | + | ||
1039 | +class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin, generic.edit.CreateView): | ||
1040 | + log_component = "course" | ||
1041 | + log_resource = "subject" | ||
1042 | + log_action = "replicate" | ||
1043 | + log_context = {} | ||
1044 | + | ||
1045 | + allowed_roles = ['professor', 'system_admin'] | ||
1046 | + login_url = reverse_lazy("core:home") | ||
1047 | + redirect_field_name = 'next' | ||
1048 | + template_name = 'subject/replicate.html' | ||
1049 | + form_class = SubjectForm | ||
1050 | + | ||
1051 | + def get_success_url(self): | ||
1052 | + return reverse_lazy('course:view_subject', kwargs={'slug' : self.object.slug}) | ||
1053 | + | ||
1054 | + def get_context_data(self, **kwargs): | ||
1055 | + context = super(ReplicateSubjectView, self).get_context_data(**kwargs) | ||
1056 | + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | ||
1057 | + course = Course.objects.get(pk=subject.course_id) | ||
1058 | + context['course'] = course | ||
1059 | + context['subjects'] = course.subjects.filter(Q(visible=True) | Q(professors__in=[self.request.user])) | ||
1060 | + context['subject'] = subject | ||
1061 | + if (has_role(self.request.user,'system_admin')): | ||
1062 | + context['subjects'] = course.subjects.all() | ||
1063 | + return context | ||
1064 | + | ||
1065 | + def form_valid(self, form): | ||
1066 | + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | ||
1067 | + course = Course.objects.get(pk=subject.course_id) | ||
1068 | + | ||
1069 | + self.object = form.save(commit = False) | ||
1070 | + self.object.course = course | ||
1071 | + self.object.save() | ||
1072 | + self.object.professors.add(self.request.user) | ||
1073 | + if self.object.visible: | ||
1074 | + super(ReplicateSubjectView, self).createNotification( " created subject " + self.object.name, resource_name=self.object.name, | ||
1075 | + resource_slug = self.object.slug, actor=self.request.user, users= self.object.course.students.all(), | ||
1076 | + resource_link = reverse('course:view_subject', args=[self.object.slug])) | ||
1077 | + | ||
1078 | + self.log_context['subject_id'] = self.object.id | ||
1079 | + self.log_context['subject_name'] = self.object.name | ||
1080 | + self.log_context['subject_slug'] = self.object.slug | ||
1081 | + self.log_context['course_id'] = course.id | ||
1082 | + self.log_context['course_name'] = course.name | ||
1083 | + self.log_context['course_slug'] = course.slug | ||
1084 | + self.log_context['course_category_id'] = course.category.id | ||
1085 | + self.log_context['course_category_name'] = course.category.name | ||
1086 | + | ||
1087 | + super(ReplicateSubjectView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | ||
1088 | + | ||
1089 | + return super(ReplicateSubjectView, self).form_valid(form) |
exam/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | + | ||
2 | # Generated by Django 1.10 on 2016-11-16 20:53 | 3 | # Generated by Django 1.10 on 2016-11-16 20:53 |
4 | + | ||
3 | from __future__ import unicode_literals | 5 | from __future__ import unicode_literals |
4 | 6 | ||
5 | from django.conf import settings | 7 | from django.conf import settings |
@@ -39,8 +41,8 @@ class Migration(migrations.Migration): | @@ -39,8 +41,8 @@ class Migration(migrations.Migration): | ||
39 | ('answer', models.ManyToManyField(related_name='student_answer', to='exam.Answer', verbose_name='Answers Students')), | 41 | ('answer', models.ManyToManyField(related_name='student_answer', to='exam.Answer', verbose_name='Answers Students')), |
40 | ], | 42 | ], |
41 | options={ | 43 | options={ |
42 | - 'verbose_name': 'Answer Stundent', | ||
43 | 'verbose_name_plural': 'Answers Student', | 44 | 'verbose_name_plural': 'Answers Student', |
45 | + 'verbose_name': 'Answer Stundent', | ||
44 | }, | 46 | }, |
45 | ), | 47 | ), |
46 | migrations.CreateModel( | 48 | migrations.CreateModel( |
@@ -51,8 +53,8 @@ class Migration(migrations.Migration): | @@ -51,8 +53,8 @@ class Migration(migrations.Migration): | ||
51 | ('exibe', models.BooleanField(default=False, verbose_name='Exibe?')), | 53 | ('exibe', models.BooleanField(default=False, verbose_name='Exibe?')), |
52 | ], | 54 | ], |
53 | options={ | 55 | options={ |
54 | - 'verbose_name': 'Exam', | ||
55 | 'verbose_name_plural': 'Exams', | 56 | 'verbose_name_plural': 'Exams', |
57 | + 'verbose_name': 'Exam', | ||
56 | }, | 58 | }, |
57 | bases=('courses.activity',), | 59 | bases=('courses.activity',), |
58 | ), | 60 | ), |
exercise/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | # Generated by Django 1.10 on 2016-11-16 20:53 | 2 | # Generated by Django 1.10 on 2016-11-16 20:53 |
3 | + | ||
3 | from __future__ import unicode_literals | 4 | from __future__ import unicode_literals |
4 | 5 | ||
5 | from django.db import migrations, models | 6 | from django.db import migrations, models |
@@ -0,0 +1,83 @@ | @@ -0,0 +1,83 @@ | ||
1 | +BBBB BBBBBBBBBBBBB BBBB BBBBBB | ||
2 | +XXXXXXXXX XXXXXX XXXXXXXXXXX | ||
3 | +XXXX XXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
4 | + XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
5 | + XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
6 | + XXXX XXXXXXXXXXXXXXXXXXXXX | ||
7 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
8 | + XXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX gettext(u'Create a New Exercise') XXXXX | ||
9 | + XXXXXX | ||
10 | + XXXX XXXXXXXXXXXXXXXXXXX | ||
11 | + XXXX XXXX XXX | ||
12 | + XXXXX XXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
13 | + BBBBBBBBBB | ||
14 | + BB BBBBBBBB | ||
15 | + BBB BBBBBBB BB BBBBBBBB | ||
16 | + XXXX XXXXXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX | ||
17 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX | ||
18 | + XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
19 | + XXXXXXXXX | ||
20 | + XXXXXXX | ||
21 | + XXXXXX | ||
22 | + BBBBBB | ||
23 | + BBBBB | ||
24 | + BBB BBBBB BB BBBB | ||
25 | + XXXX XXXXX XXXXXXXXXXXXXX | ||
26 | + BB BBBBBBBBBBBBBBBBBBBB | ||
27 | + XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
28 | + BBBBB | ||
29 | + BBBBBBBBBBBB BBBBB BBBBBBBBBBBBBBBBBBB BBBBBBBBB | ||
30 | + BB BBBBBBBBBBBB | ||
31 | + XXXX XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXX | ||
32 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX | ||
33 | + XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
34 | + XXXXXXXXX | ||
35 | + XXXX | ||
36 | + BBB BBBBB BB BBBBBBBBBBBB | ||
37 | + XXXXXXXXX | ||
38 | + BBBBBB | ||
39 | + XXXXX | ||
40 | + XXXXXX | ||
41 | + BBBBB | ||
42 | + XXXXXX | ||
43 | + BBBBBB | ||
44 | + XXXX XXXXXXXXXXXXXXXXXXX | ||
45 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXX X XXXXXXXXXXXXXXXXXXXXX gettext(u'Cancel') XXXXXXXXX | ||
46 | + XXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXX gettext(u'Submit') XXXXXXXXX | ||
47 | + XXXXXX | ||
48 | + XXXX XXXX XXXX XXX | ||
49 | + XXXXXX | ||
50 | + XXXXXX | ||
51 | + XXXXXX | ||
52 | +XXXXXX | ||
53 | +XXXX XXXXXXXX XXX | ||
54 | +XXXXXXX XXXXXBBBBBB BBBBBBBBBBBBBBBBBXXXXXXXXXXX | ||
55 | +XXXXXXX XXXXXXXXXXXXXXXXXXXXXXX | ||
56 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X | ||
57 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
58 | + XXX XXXX X XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
59 | + XXXXXXXX | ||
60 | + XXXX XBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBXX | ||
61 | + XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
62 | + XXXXX XXXXX | ||
63 | + XXXXXX XXXXXX | ||
64 | + XXXXXXXXXXXX XXXXXX | ||
65 | + XXXXXXXXXXXX XXXXXX | ||
66 | + XXXXXXXX XXXXXXXXXXXXXX X | ||
67 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
68 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
69 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
70 | + XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXX | ||
71 | + XX | ||
72 | + XXXXXX XXXXXXXXXXXXXXX | ||
73 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
74 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
75 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
76 | + XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXX X XXXXX XXXXXXX | ||
77 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
78 | + XXXXXXXXXXXXXXXXXXX XX X XXXXXXXXXXXXXXXXXXX XX XXXXXX | ||
79 | + X | ||
80 | + XXX | ||
81 | + XXXXXXXXXXXXXXXXXXXXXXX | ||
82 | + XXX | ||
83 | +XXXXXXXXX |
@@ -0,0 +1,66 @@ | @@ -0,0 +1,66 @@ | ||
1 | +BBBB BBBBBB BBBBBBBBBBBBB BBBB | ||
2 | + | ||
3 | +XXXX XXXXX XXXXXX XXXX XXX | ||
4 | +XXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXBBBBBB BBBBBBBBBBBBBBBBBBXX | ||
5 | + | ||
6 | +XXXX XXXXXXXXXXXXXXXXXXXX | ||
7 | + XXXX XXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXX | ||
8 | + XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
9 | + XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
10 | + XXXX XXXXXXXXXXXXXXXXXXXXX | ||
11 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
12 | + XXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX gettext(u'Delete Exercise') XXXXX | ||
13 | + XXXXXX | ||
14 | + XXXX XXXXXXXXXXXXXXXXXXX | ||
15 | + XXXX XXXX XXX | ||
16 | + XXXXX XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
17 | + BBBBBBBBBB | ||
18 | + XXXXXXXXXX | ||
19 | + XXXX XXXXXXXXXXXXXXXXXX | ||
20 | + gettext(u'Are you sure to delete the exercise ') XXXXXXXXXXXXXXXXXXX XXXX XX X | ||
21 | + XXXXXX | ||
22 | + XXXX XXXXXXXXXXXXXXXXXXX | ||
23 | + XXXX XXXXXXXXXXXXXXXXXX | ||
24 | + XXXXXXX XXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX gettext(u'Close') XXXXXXXXX | ||
25 | + XXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXX gettext(u'Delete') XXXXXXXXX | ||
26 | + XXXXXX | ||
27 | + XXXXXX | ||
28 | + XXXXXXXXXXX | ||
29 | + XXXXXXX | ||
30 | + XXXX XXXX XXXX XXX | ||
31 | + XXXXXX | ||
32 | + XXXXXX | ||
33 | + XXXXXX | ||
34 | + XXXXXX | ||
35 | +XXXXXX | ||
36 | + XXXXXXX XXXXXBBBBBB BBBBBBBBBBBBBBBBXXXXXXXXXXX | ||
37 | + XXXXXXX XXXXXXXXXXXXXXXXXXXXXXX | ||
38 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X | ||
39 | + XXX XXXX X XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
40 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
41 | + XXXXXXXX | ||
42 | + XXXX XBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBXX | ||
43 | + XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
44 | + XXXXX XXXXX | ||
45 | + XXXXXX XXXXXX | ||
46 | + XXXXXXXXXXXX XXXXXX | ||
47 | + XXXXXXXXXXXX XXXXXX | ||
48 | + XXXXXXXX XXXXXXXXXXXXXX X | ||
49 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
50 | + XXXXXXXXXXXXXXXXXXXXXXXXX | ||
51 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
52 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
53 | + XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXX | ||
54 | + XX | ||
55 | + XXXXXX XXXXXXXXXXXXXXX | ||
56 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
57 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
58 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
59 | + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
60 | + XXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XX XXXXXXXXXX | ||
61 | + X | ||
62 | + XXX | ||
63 | + XXXXXXXXXXXXXXXXXXXXXXX | ||
64 | + XXX | ||
65 | + XXXXXXXXX | ||
66 | +XXXX XXXXXXXX XXX |
@@ -0,0 +1,7 @@ | @@ -0,0 +1,7 @@ | ||
1 | +BBBB BBBBBB BBBB BBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBB | ||
2 | +XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
3 | + BBB BBBBBBBB BB BBBBBBBBB | ||
4 | + XXX XXXXXXXXXXXXXXXXXXXXXXXX XX X XXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
5 | + XXX XX X XXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
6 | + BBBBBB | ||
7 | +XXXXXX |
files/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | + | ||
2 | # Generated by Django 1.10 on 2016-11-16 20:54 | 3 | # Generated by Django 1.10 on 2016-11-16 20:54 |
4 | + | ||
3 | from __future__ import unicode_literals | 5 | from __future__ import unicode_literals |
4 | 6 | ||
5 | from django.conf import settings | 7 | from django.conf import settings |
@@ -16,6 +18,7 @@ class Migration(migrations.Migration): | @@ -16,6 +18,7 @@ class Migration(migrations.Migration): | ||
16 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), | 18 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
17 | ('courses', '0001_initial'), | 19 | ('courses', '0001_initial'), |
18 | ('core', '0001_initial'), | 20 | ('core', '0001_initial'), |
21 | + ('courses', '0001_initial'), | ||
19 | ] | 22 | ] |
20 | 23 | ||
21 | operations = [ | 24 | operations = [ |
forum/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | + | ||
2 | # Generated by Django 1.10 on 2016-11-16 20:54 | 3 | # Generated by Django 1.10 on 2016-11-16 20:54 |
4 | + | ||
3 | from __future__ import unicode_literals | 5 | from __future__ import unicode_literals |
4 | 6 | ||
5 | from django.conf import settings | 7 | from django.conf import settings |
@@ -26,8 +28,8 @@ class Migration(migrations.Migration): | @@ -26,8 +28,8 @@ class Migration(migrations.Migration): | ||
26 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')), | 28 | ('create_date', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')), |
27 | ], | 29 | ], |
28 | options={ | 30 | options={ |
29 | - 'verbose_name': 'Forum', | ||
30 | 'verbose_name_plural': 'Foruns', | 31 | 'verbose_name_plural': 'Foruns', |
32 | + 'verbose_name': 'Forum', | ||
31 | }, | 33 | }, |
32 | bases=('courses.activity',), | 34 | bases=('courses.activity',), |
33 | ), | 35 | ), |
@@ -42,8 +44,8 @@ class Migration(migrations.Migration): | @@ -42,8 +44,8 @@ class Migration(migrations.Migration): | ||
42 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')), | 44 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')), |
43 | ], | 45 | ], |
44 | options={ | 46 | options={ |
45 | - 'verbose_name': 'Post', | ||
46 | 'verbose_name_plural': 'Posts', | 47 | 'verbose_name_plural': 'Posts', |
48 | + 'verbose_name': 'Post', | ||
47 | }, | 49 | }, |
48 | ), | 50 | ), |
49 | migrations.CreateModel( | 51 | migrations.CreateModel( |
@@ -57,8 +59,8 @@ class Migration(migrations.Migration): | @@ -57,8 +59,8 @@ class Migration(migrations.Migration): | ||
57 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')), | 59 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')), |
58 | ], | 60 | ], |
59 | options={ | 61 | options={ |
60 | - 'verbose_name': 'Post Answer', | ||
61 | 'verbose_name_plural': 'Post Answers', | 62 | 'verbose_name_plural': 'Post Answers', |
63 | + 'verbose_name': 'Post Answer', | ||
62 | }, | 64 | }, |
63 | ), | 65 | ), |
64 | ] | 66 | ] |
links/locale/pt_BR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid "" | @@ -8,7 +8,7 @@ msgid "" | ||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: PACKAGE VERSION\n" | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
10 | "Report-Msgid-Bugs-To: \n" | 10 | "Report-Msgid-Bugs-To: \n" |
11 | -"POT-Creation-Date: 2016-10-27 23:54-0300\n" | 11 | +"POT-Creation-Date: 2016-11-16 13:43-0300\n" |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -18,46 +18,79 @@ msgstr "" | @@ -18,46 +18,79 @@ msgstr "" | ||
18 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
19 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" | 19 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
20 | 20 | ||
21 | -#: .\forms.py:16 .\forms.py:22 | 21 | +#: .\forms.py:14 .\forms.py:16 .\forms.py:29 .\forms.py:31 |
22 | msgid "Invalid url!" | 22 | msgid "Invalid url!" |
23 | msgstr "Url inválida!" | 23 | msgstr "Url inválida!" |
24 | 24 | ||
25 | -#: .\templates\links\create_link.html:9 | 25 | +#: .\models.py:8 |
26 | +msgid "Link_URL" | ||
27 | +msgstr "URL" | ||
28 | + | ||
29 | +#: .\models.py:9 | ||
30 | +msgid "Description" | ||
31 | +msgstr "Descrição" | ||
32 | + | ||
33 | +#: .\templates\links\create_link.html:8 | ||
26 | msgid "Create a New Link" | 34 | msgid "Create a New Link" |
27 | msgstr "Criar um novo link" | 35 | msgstr "Criar um novo link" |
28 | 36 | ||
29 | -#: .\templates\links\create_link.html:46 .\templates\links\delete_link.html:15 | ||
30 | -#: .\templates\links\update_link.html:25 | 37 | +#: .\templates\links\create_link.html:35 .\templates\links\update_link.html:39 |
31 | msgid "Cancel" | 38 | msgid "Cancel" |
32 | msgstr "Cancelar" | 39 | msgstr "Cancelar" |
33 | 40 | ||
34 | -#: .\templates\links\delete_link.html:11 | ||
35 | -msgid "Do you really want to delete this link?" | ||
36 | -msgstr "Você realmente deseja apagar este link?" | 41 | +#: .\templates\links\create_link.html:36 .\templates\links\update_link.html:40 |
42 | +msgid "Submit" | ||
43 | +msgstr "Enviar" | ||
37 | 44 | ||
38 | -#: .\templates\links\delete_link.html:16 | ||
39 | -msgid "Confirm" | ||
40 | -msgstr "Confirmar" | 45 | +#: .\templates\links\create_link.html:61 |
46 | +#, fuzzy | ||
47 | +#| msgid "Link created successfully!" | ||
48 | +msgid "Link successfully created!" | ||
49 | +msgstr "Link criado com sucesso!" | ||
41 | 50 | ||
42 | -#: .\templates\links\update_link.html:8 | ||
43 | -msgid "Links" | ||
44 | -msgstr "Links" | 51 | +#: .\templates\links\create_link.html:68 .\templates\links\update_link.html:73 |
52 | +msgid "Invalid link, insert a valid one!" | ||
53 | +msgstr "Link inválido, insira um válido! " | ||
45 | 54 | ||
46 | -#: .\templates\links\update_link.html:13 | ||
47 | -msgid "Name" | ||
48 | -msgstr "Nome" | 55 | +#: .\templates\links\delete_link.html:12 |
56 | +msgid "Delete Link" | ||
57 | +msgstr "Apagar Link" | ||
49 | 58 | ||
50 | -#: .\templates\links\update_link.html:17 | ||
51 | -msgid "URL" | ||
52 | -msgstr "URL" | 59 | +#: .\templates\links\delete_link.html:20 |
60 | +#, fuzzy | ||
61 | +#| msgid "Do you really want to delete this link?" | ||
62 | +msgid "Are you sure to delete the link " | ||
63 | +msgstr "Você realmente deseja apagar o link " | ||
53 | 64 | ||
54 | -#: .\templates\links\update_link.html:21 | ||
55 | -msgid "Description" | ||
56 | -msgstr "Descrição" | 65 | +#: .\templates\links\delete_link.html:24 |
66 | +msgid "Close" | ||
67 | +msgstr "Fechar" | ||
57 | 68 | ||
58 | -#: .\templates\links\update_link.html:26 | ||
59 | -msgid "Submit" | ||
60 | -msgstr "Enviar" | 69 | +#: .\templates\links\delete_link.html:25 |
70 | +msgid "Delete" | ||
71 | +msgstr "Apagar" | ||
72 | + | ||
73 | +#: .\templates\links\delete_link.html:56 | ||
74 | +#, fuzzy | ||
75 | +#| msgid "Link created successfully!" | ||
76 | +msgid "Link successfully deleted!" | ||
77 | +msgstr "Link criado com sucesso!" | ||
78 | + | ||
79 | +#: .\templates\links\delete_link.html:63 | ||
80 | +msgid "Error when trying to delete." | ||
81 | +msgstr "Erro ao tentar apagar." | ||
82 | + | ||
83 | +#: .\templates\links\update_link.html:8 | ||
84 | +#, fuzzy | ||
85 | +#| msgid "Link" | ||
86 | +msgid "Edit Link" | ||
87 | +msgstr "Link" | ||
88 | + | ||
89 | +#: .\templates\links\update_link.html:66 | ||
90 | +#, fuzzy | ||
91 | +#| msgid "Link deleted Successfully!" | ||
92 | +msgid "Link Sucessfully Updated!" | ||
93 | +msgstr "Link apagado com sucesso!" | ||
61 | 94 | ||
62 | #: .\templates\links\view_link.html:8 | 95 | #: .\templates\links\view_link.html:8 |
63 | msgid "Link" | 96 | msgid "Link" |
@@ -67,14 +100,17 @@ msgstr "Link" | @@ -67,14 +100,17 @@ msgstr "Link" | ||
67 | msgid "Read more" | 100 | msgid "Read more" |
68 | msgstr "Ler mais" | 101 | msgstr "Ler mais" |
69 | 102 | ||
70 | -#: .\views.py:28 | ||
71 | -msgid "Link created successfully!" | ||
72 | -msgstr "Link criado com sucesso!" | 103 | +#~ msgid "Confirm" |
104 | +#~ msgstr "Confirmar" | ||
73 | 105 | ||
74 | -#: .\views.py:50 | ||
75 | -msgid "Link deleted Successfully!" | ||
76 | -msgstr "Link apagado com sucesso!" | 106 | +#~ msgid "Links" |
107 | +#~ msgstr "Links" | ||
108 | + | ||
109 | +#~ msgid "Name" | ||
110 | +#~ msgstr "Nome" | ||
111 | + | ||
112 | +#~ msgid "URL" | ||
113 | +#~ msgstr "URL" | ||
77 | 114 | ||
78 | -#: .\views.py:69 | ||
79 | -msgid "Link updated successfully!" | ||
80 | -msgstr "Link atualizado com sucesso!" | 115 | +#~ msgid "Link updated successfully!" |
116 | +#~ msgstr "Link atualizado com sucesso!" |
links/migrations/0001_initial.py
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | + | ||
2 | # Generated by Django 1.10 on 2016-11-16 20:54 | 3 | # Generated by Django 1.10 on 2016-11-16 20:54 |
3 | from __future__ import unicode_literals | 4 | from __future__ import unicode_literals |
4 | 5 | ||
@@ -24,8 +25,8 @@ class Migration(migrations.Migration): | @@ -24,8 +25,8 @@ class Migration(migrations.Migration): | ||
24 | ('image', models.ImageField(blank=True, upload_to='links/')), | 25 | ('image', models.ImageField(blank=True, upload_to='links/')), |
25 | ], | 26 | ], |
26 | options={ | 27 | options={ |
27 | - 'verbose_name': 'Link', | ||
28 | 'verbose_name_plural': 'Links', | 28 | 'verbose_name_plural': 'Links', |
29 | + 'verbose_name': 'Link', | ||
29 | }, | 30 | }, |
30 | bases=('courses.material',), | 31 | bases=('courses.material',), |
31 | ), | 32 | ), |
@@ -0,0 +1,25 @@ | @@ -0,0 +1,25 @@ | ||
1 | +# -*- coding: utf-8 -*- | ||
2 | +# Generated by Django 1.10 on 2016-11-16 21:04 | ||
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.AlterField( | ||
16 | + model_name='link', | ||
17 | + name='link_description', | ||
18 | + field=models.CharField(max_length=200, verbose_name='Description'), | ||
19 | + ), | ||
20 | + migrations.AlterField( | ||
21 | + model_name='link', | ||
22 | + name='link_url', | ||
23 | + field=models.URLField(verbose_name='Link_URL'), | ||
24 | + ), | ||
25 | + ] |
links/models.py
1 | from django.db import models | 1 | from django.db import models |
2 | from courses.models import Material | 2 | from courses.models import Material |
3 | from autoslug.fields import AutoSlugField | 3 | from autoslug.fields import AutoSlugField |
4 | +from django.utils.translation import ugettext_lazy as _ | ||
5 | + | ||
4 | # Create your models here. | 6 | # Create your models here. |
5 | class Link(Material): | 7 | class Link(Material): |
6 | - link_url = models.URLField() | ||
7 | - link_description = models.CharField(max_length=200) | 8 | + link_url = models.URLField(verbose_name = _("Link_URL")) |
9 | + link_description = models.CharField(_('Description'),max_length=200) | ||
8 | image = models.ImageField(upload_to = 'links/',blank = True) | 10 | image = models.ImageField(upload_to = 'links/',blank = True) |
9 | class Meta: | 11 | class Meta: |
10 | verbose_name = 'Link' | 12 | verbose_name = 'Link' |
links/templates/links/create_link.html
@@ -58,14 +58,14 @@ | @@ -58,14 +58,14 @@ | ||
58 | $('#requisicoes_ajax').empty(); | 58 | $('#requisicoes_ajax').empty(); |
59 | $('#list-topic{{ topic.id }}-links').append(data); | 59 | $('#list-topic{{ topic.id }}-links').append(data); |
60 | $('#list-topic{{ topic.id }}-links-edit').append(data); | 60 | $('#list-topic{{ topic.id }}-links-edit').append(data); |
61 | - alertify.alert('Link successfully created!') | 61 | + alertify.success(" {% trans 'Link successfully created!' %} "); |
62 | }, | 62 | }, |
63 | error: function(data){ | 63 | error: function(data){ |
64 | $("div.modal-backdrop.fade.in").remove(); | 64 | $("div.modal-backdrop.fade.in").remove(); |
65 | $('#requisicoes_ajax').empty(); | 65 | $('#requisicoes_ajax').empty(); |
66 | $('#requisicoes_ajax').append(data.responseText); | 66 | $('#requisicoes_ajax').append(data.responseText); |
67 | $('#createLinksModal').modal('show'); | 67 | $('#createLinksModal').modal('show'); |
68 | - alertify.alert('Invalid link, insert a valid one!'); | 68 | + alertify.error("{% trans 'Invalid link, insert a valid one!' %}"); |
69 | } | 69 | } |
70 | }); | 70 | }); |
71 | event.preventDefault(); | 71 | event.preventDefault(); |
links/templates/links/create_link.html.py
@@ -1,68 +0,0 @@ | @@ -1,68 +0,0 @@ | ||
1 | -BBBB BBBBBBBBBBBBB BBBB | ||
2 | - | ||
3 | -XXXXXXXXX XXXXXX XXXXXXX | ||
4 | -XXXX XXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
5 | - XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
6 | - XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
7 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
8 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
9 | - XXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX gettext(u'Create a New Link') XXXXX | ||
10 | - XXXXXX | ||
11 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
12 | - XXXX XXXX XXX | ||
13 | - XXXXX XXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
14 | - BBBBBBBBBB | ||
15 | - BB BBBBBBBB | ||
16 | - BBB BBBBBBB BB BBBBBBBB | ||
17 | - XXXX XXXXXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX | ||
18 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX | ||
19 | - XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
20 | - XXXXXXXXX | ||
21 | - XXXXXXX | ||
22 | - XXXXXX | ||
23 | - BBBBBB | ||
24 | - BBBBB | ||
25 | - BBB BBBBB BB BBBB | ||
26 | - BB BBBBBBBBBBBBBBBBBBBB | ||
27 | - XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
28 | - BBBB | ||
29 | - XXXXXX XXXXXXXXXXXXXXX | ||
30 | - BBBBB | ||
31 | - BBBBBBBBBBBB BBBBB BBBBBBBBBBBBBBBBBBBB | ||
32 | - BBBBBB | ||
33 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
34 | - XX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX gettext(u'Cancel') XXXX | ||
35 | - XXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXX XXXXXXXX XXXXXXXXXXX | ||
36 | - XXXXXX | ||
37 | - XXXX XXXX XXXX XXX | ||
38 | - XXXXXX | ||
39 | - XXXXXX | ||
40 | - XXXXXX | ||
41 | -XXXXXX | ||
42 | -XXXX XXXXXXXX XXX | ||
43 | - | ||
44 | - | ||
45 | -XXXXXXX XXXXXXXXXXXXXXXXXXXXXXX | ||
46 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X | ||
47 | - XXX XXXX X XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
48 | - XXXXXXXX | ||
49 | - XXXX XBBB BBBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBXX | ||
50 | - XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
51 | - XXXXX XXXXX | ||
52 | - XXXXXX XXXXXX | ||
53 | - XXXXXXXXXXXX XXXXXX | ||
54 | - XXXXXXXXXXXX XXXXXX | ||
55 | - XXXXXXXX XXXXXXXXXXXXXX X | ||
56 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
57 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
58 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
59 | - XX | ||
60 | - XXXXXX XXXXXXXXXXXXXXX | ||
61 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
62 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
63 | - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
64 | - X | ||
65 | - XXX | ||
66 | - XXXXXXXXXXXXXXXXXXXXXXX | ||
67 | - XXX | ||
68 | -XXXXXXXXX |
links/templates/links/delete_link.html
@@ -53,14 +53,14 @@ | @@ -53,14 +53,14 @@ | ||
53 | $('#link_{{ link.slug }}').remove(); | 53 | $('#link_{{ link.slug }}').remove(); |
54 | $('#link_edit_icon_{{ link.slug }}').remove(); | 54 | $('#link_edit_icon_{{ link.slug }}').remove(); |
55 | $('#link_edit_{{ link.slug }}').remove(); | 55 | $('#link_edit_{{ link.slug }}').remove(); |
56 | - alertify.alert('Link successfully deleted!') | 56 | + alertify.success(" {% trans 'Link successfully deleted!' %} "); |
57 | }, | 57 | }, |
58 | error: function(data){ | 58 | error: function(data){ |
59 | $("div.modal-backdrop.fade.in").remove(); | 59 | $("div.modal-backdrop.fade.in").remove(); |
60 | $('#requisicoes_ajax').empty(); | 60 | $('#requisicoes_ajax').empty(); |
61 | $('#requisicoes_ajax').append(data.responseText); | 61 | $('#requisicoes_ajax').append(data.responseText); |
62 | $('#linkDeleteModal').modal('show'); | 62 | $('#linkDeleteModal').modal('show'); |
63 | - alertify.alert('Error when trying to delete.'); | 63 | + alertify.error(" {% trans 'Error when trying to delete.' %} "); |
64 | } | 64 | } |
65 | }); | 65 | }); |
66 | event.preventDefault(); | 66 | event.preventDefault(); |
links/templates/links/delete_link.html.py
@@ -1,22 +0,0 @@ | @@ -1,22 +0,0 @@ | ||
1 | -BBBB BBBBBBBBBBBBB BBBB | ||
2 | -XXXX XXXXX XXXXXX XXXX XXX | ||
3 | -XXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
4 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
5 | - XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
6 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
7 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
8 | - XXX XXXXXXXXXXXXXXXXXXXXXXXXX | ||
9 | - XXXXXX | ||
10 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
11 | - XXX gettext(u'Do you really want to delete this link?') XXXX | ||
12 | - XXXXXX | ||
13 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
14 | - XXXX XXX | ||
15 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX gettext(u'Cancel') XXXXXXXXX | ||
16 | - XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX gettext(u'Confirm') XXXXXXXXXXXXX | ||
17 | - | ||
18 | - XXXXXX | ||
19 | - XXXXXX | ||
20 | - XXXXXX | ||
21 | -XXXXXX | ||
22 | -XXXX XXX XXX |
links/templates/links/render_link.html.py
@@ -1 +0,0 @@ | @@ -1 +0,0 @@ | ||
1 | -XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBB BBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBBXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
links/templates/links/update_link.html
@@ -63,14 +63,14 @@ | @@ -63,14 +63,14 @@ | ||
63 | $('#requisicoes_ajax').empty(); | 63 | $('#requisicoes_ajax').empty(); |
64 | $('#link_edit_{{ link.slug }}').replaceWith(data); | 64 | $('#link_edit_{{ link.slug }}').replaceWith(data); |
65 | $('#link_{{ link.slug }}').replaceWith(data); | 65 | $('#link_{{ link.slug }}').replaceWith(data); |
66 | - alertify.alert("Sucessfully Updated!") | 66 | + alertify.success(" {% trans 'Link Sucessfully Updated!' %} "); |
67 | }, | 67 | }, |
68 | error: function(data){ | 68 | error: function(data){ |
69 | $("div.modal-backdrop.fade.in").remove(); | 69 | $("div.modal-backdrop.fade.in").remove(); |
70 | $('#requisicoes_ajax').empty(); | 70 | $('#requisicoes_ajax').empty(); |
71 | $('#requisicoes_ajax').append(data.responseText); | 71 | $('#requisicoes_ajax').append(data.responseText); |
72 | $('#linksModalEdit').modal(); | 72 | $('#linksModalEdit').modal(); |
73 | - alertify.alert('Invalid link, insert a valid one!'); | 73 | + alertify.error("{% trans 'Invalid link, insert a valid one!' %}"); |
74 | } | 74 | } |
75 | }); | 75 | }); |
76 | event.preventDefault(); | 76 | event.preventDefault(); |
links/templates/links/update_link.html.py
@@ -1,33 +0,0 @@ | @@ -1,33 +0,0 @@ | ||
1 | -BBBB BBBBBBBBBBBBB BBBB | ||
2 | -XXXX XXXXX XXXX XXXXXXX | ||
3 | -XXXX XXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
4 | - XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
5 | - XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
6 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
7 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
8 | - XXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX gettext(u'Links') XXXXX | ||
9 | - XXXXXX | ||
10 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
11 | - XXXX XXXX XXX | ||
12 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
13 | - XXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX gettext(u'Name') XXXXXXXX | ||
14 | - XXXXXX XXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX | ||
15 | - XXXXXX | ||
16 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
17 | - XXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX gettext(u'URL') XXXXXXXX | ||
18 | - XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX | ||
19 | - XXXXXX | ||
20 | - XXXX XXXXXXXXXXXXXXXXX XXXXXXXXXX | ||
21 | - XXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX gettext(u'Descrição') XXXXXXXX | ||
22 | - XXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX | ||
23 | - XXXXXX | ||
24 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
25 | - XX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX gettext(u'Cancel') XXXX | ||
26 | - XX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXX gettext(u'Submit') XXXX | ||
27 | - XXXXXX | ||
28 | - XXXX XXXX XXXX XXX | ||
29 | - XXXXXX | ||
30 | - XXXXXX | ||
31 | - XXXXXX | ||
32 | -XXXXXX | ||
33 | -XXXX XXXXXXXX XXX |
links/templates/links/view_link.html.py
@@ -1,32 +0,0 @@ | @@ -1,32 +0,0 @@ | ||
1 | -BBBB BBBBBB BBBB BBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBB | ||
2 | -XXXXXXXXX XXXX XXXXXXX | ||
3 | -XXXX XXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
4 | - XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX | ||
5 | - XXXX XXXXXXXXXXXXXXXXXXXXXX | ||
6 | - XXXX XXXXXXXXXXXXXXXXXXXXX | ||
7 | - XXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
8 | - XXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX gettext(u'Link') XXXXX | ||
9 | - XXXXXX | ||
10 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
11 | - XXXX XXXX XXX | ||
12 | - XXXXXXXX XXXXXXXXXXX XXXXXXXX XXXXXXXXXXXX | ||
13 | - XXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX | ||
14 | - XXXX XXXXXXXXXXXXXXXXXXX | ||
15 | - XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
16 | - XX XXXXXXXXXXXXXXXXXX XXXXXXXXXXX | ||
17 | - XX XXXXXXX XXXXXXXXXX XXXXXXXXXXXXX gettext(u'Read more') XXXX | ||
18 | - XXXXXX | ||
19 | - XXXXXXXXXX | ||
20 | - XXXX XXXX XXXX XXX | ||
21 | - XXXXXX | ||
22 | - XXXXXX | ||
23 | - XXXXXX | ||
24 | -XXXXXX | ||
25 | - | ||
26 | -XXXX XXXXX X XXXXX XX XXXXXXXXXXXXXXXX | ||
27 | - | ||
28 | -XXXXXX | ||
29 | -XXXX XXXXXXXX XXX | ||
30 | -XXXXXXX XXXXXXXXXXXXXXXXXXXXXXX | ||
31 | -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | ||
32 | -XXXXXXXXX |
poll/migrations/0001_initial.py
@@ -25,9 +25,9 @@ class Migration(migrations.Migration): | @@ -25,9 +25,9 @@ class Migration(migrations.Migration): | ||
25 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), | 25 | ('order', models.PositiveSmallIntegerField(verbose_name='Order')), |
26 | ], | 26 | ], |
27 | options={ | 27 | options={ |
28 | - 'verbose_name': 'Answer', | ||
29 | 'verbose_name_plural': 'Answers', | 28 | 'verbose_name_plural': 'Answers', |
30 | 'ordering': ('order',), | 29 | 'ordering': ('order',), |
30 | + 'verbose_name': 'Answer', | ||
31 | }, | 31 | }, |
32 | ), | 32 | ), |
33 | migrations.CreateModel( | 33 | migrations.CreateModel( |
@@ -39,8 +39,8 @@ class Migration(migrations.Migration): | @@ -39,8 +39,8 @@ class Migration(migrations.Migration): | ||
39 | ('answer', models.ManyToManyField(related_name='answers_stundet', to='poll.Answer', verbose_name='Answers Students')), | 39 | ('answer', models.ManyToManyField(related_name='answers_stundet', to='poll.Answer', verbose_name='Answers Students')), |
40 | ], | 40 | ], |
41 | options={ | 41 | options={ |
42 | - 'verbose_name': 'Answer Stundent', | ||
43 | 'verbose_name_plural': 'Answers Student', | 42 | 'verbose_name_plural': 'Answers Student', |
43 | + 'verbose_name': 'Answer Stundent', | ||
44 | }, | 44 | }, |
45 | ), | 45 | ), |
46 | migrations.CreateModel( | 46 | migrations.CreateModel( |
@@ -49,8 +49,8 @@ class Migration(migrations.Migration): | @@ -49,8 +49,8 @@ class Migration(migrations.Migration): | ||
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')), | 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')), |
50 | ], | 50 | ], |
51 | options={ | 51 | options={ |
52 | - 'verbose_name': 'Poll', | ||
53 | 'verbose_name_plural': 'Polls', | 52 | 'verbose_name_plural': 'Polls', |
53 | + 'verbose_name': 'Poll', | ||
54 | }, | 54 | }, |
55 | bases=('courses.activity',), | 55 | bases=('courses.activity',), |
56 | ), | 56 | ), |
users/migrations/0001_initial.py
@@ -46,8 +46,8 @@ class Migration(migrations.Migration): | @@ -46,8 +46,8 @@ class Migration(migrations.Migration): | ||
46 | ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), | 46 | ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), |
47 | ], | 47 | ], |
48 | options={ | 48 | options={ |
49 | - 'verbose_name': 'User', | ||
50 | 'verbose_name_plural': 'Users', | 49 | 'verbose_name_plural': 'Users', |
50 | + 'verbose_name': 'User', | ||
51 | }, | 51 | }, |
52 | managers=[ | 52 | managers=[ |
53 | ('objects', django.contrib.auth.models.UserManager()), | 53 | ('objects', django.contrib.auth.models.UserManager()), |