Commit 862dbc1299dd86ed24311cad4b5405c284825b1c
1 parent
0fd772dc
Exists in
master
and in
5 other branches
Template e procedimento de criar topic issues #28 e #35
Showing
10 changed files
with
69 additions
and
384 deletions
Show diff stats
courses/templates/module/create.html
@@ -1,80 +0,0 @@ | @@ -1,80 +0,0 @@ | ||
1 | -{% extends 'app/base.html' %} | ||
2 | - | ||
3 | -{% load static i18n %} | ||
4 | -{% load widget_tweaks %} | ||
5 | - | ||
6 | -{% block breadcrumbs %} | ||
7 | - <ol class="breadcrumb"> | ||
8 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
9 | - <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
10 | - <li class="active">{% trans 'Create Module' %}</li> | ||
11 | - </ol> | ||
12 | -{% endblock %} | ||
13 | - | ||
14 | -{% block sidebar %} | ||
15 | - <div class="list-group"> | ||
16 | - <a href="{% url 'course:manage' %}" class="list-group-item"> | ||
17 | - {% trans 'Courses' %} | ||
18 | - </a> | ||
19 | - <a href="{% url 'course:create' %}" class="list-group-item"> | ||
20 | - {% trans 'Create Course' %} | ||
21 | - </a> | ||
22 | - <a href="{% url 'course:view' course.slug %}" class="list-group-item active"> | ||
23 | - {% trans 'Course Info' %} | ||
24 | - </a> | ||
25 | - <a href="{% url 'course:update' course.slug %}" class="list-group-item"> | ||
26 | - {% trans 'Edit Course' %} | ||
27 | - </a> | ||
28 | - <a href="{% url 'course:manage_mods' course.slug %}" class="list-group-item"> | ||
29 | - {% trans 'Manage Modules' %} | ||
30 | - </a> | ||
31 | - <a href="" class="list-group-item"> | ||
32 | - {% trans 'Participants' %} | ||
33 | - </a> | ||
34 | - <a href="" class="list-group-item"> | ||
35 | - {% trans 'Course avaliations' %} | ||
36 | - </a> | ||
37 | - <a href="" class="list-group-item"> | ||
38 | - {% trans 'Duplicate Course' %} | ||
39 | - </a> | ||
40 | - <a href="" class="list-group-item"> | ||
41 | - {% trans 'Delete Course' %} | ||
42 | - </a> | ||
43 | - </div> | ||
44 | - | ||
45 | -{% endblock %} | ||
46 | - | ||
47 | -{% block content %} | ||
48 | - <div class="alert alert-info alert-dismissible" role="alert"> | ||
49 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
50 | - <span aria-hidden="true">×</span> | ||
51 | - </button> | ||
52 | - <p>{% trans 'All fields are required' %}</p> | ||
53 | - </div> | ||
54 | - | ||
55 | - <form method="post" action="" enctype="multipart/form-data"> | ||
56 | - {% csrf_token %} | ||
57 | - {% for field in form %} | ||
58 | - <div class="form-group{% if form.has_error %} has-error {% endif %}"> | ||
59 | - <label for="{{ field.auto_id }}">{{ field.label }}</label> | ||
60 | - {% render_field field class='form-control input-sm' %} | ||
61 | - <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | ||
62 | - {% if field.errors.length > 0 %} | ||
63 | - <div class="alert alert-danger alert-dismissible" role="alert"> | ||
64 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
65 | - <span aria-hidden="true">×</span> | ||
66 | - </button> | ||
67 | - <ul> | ||
68 | - {% for error in field.errors %} | ||
69 | - <li>{{ error }}</li> | ||
70 | - {% endfor %} | ||
71 | - </ul> | ||
72 | - </div> | ||
73 | - </div> | ||
74 | - {% endif %} | ||
75 | - </div> | ||
76 | - {% endfor %} | ||
77 | - <input type="submit" value="{% trans 'Save' %}" class="btn btn-sm btn-success" /> | ||
78 | - </form> | ||
79 | - <br clear="all" /> | ||
80 | -{% endblock %} |
courses/templates/module/delete.html
@@ -1,53 +0,0 @@ | @@ -1,53 +0,0 @@ | ||
1 | -{% extends 'app/base.html' %} | ||
2 | - | ||
3 | -{% load static i18n %} | ||
4 | - | ||
5 | -{% block breadcrumbs %} | ||
6 | - <ol class="breadcrumb"> | ||
7 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
8 | - <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
9 | - <li class="active">{% trans 'Manage Modules' %}</li> | ||
10 | - </ol> | ||
11 | -{% endblock %} | ||
12 | - | ||
13 | -{% block sidebar %} | ||
14 | - <div class="list-group"> | ||
15 | - <a href="{% url 'course:manage' %}" class="list-group-item"> | ||
16 | - {% trans 'Courses' %} | ||
17 | - </a> | ||
18 | - <a href="{% url 'course:create' %}" class="list-group-item"> | ||
19 | - {% trans 'Create Course' %} | ||
20 | - </a> | ||
21 | - <a href="{% url 'course:view' course.slug %}" class="list-group-item active"> | ||
22 | - {% trans 'Course Info' %} | ||
23 | - </a> | ||
24 | - <a href="{% url 'course:update' course.slug %}" class="list-group-item"> | ||
25 | - {% trans 'Edit Course' %} | ||
26 | - </a> | ||
27 | - <a href="{% url 'course:manage_mods' course.slug %}" class="list-group-item"> | ||
28 | - {% trans 'Manage Modules' %} | ||
29 | - </a> | ||
30 | - <a href="" class="list-group-item"> | ||
31 | - {% trans 'Participants' %} | ||
32 | - </a> | ||
33 | - <a href="" class="list-group-item"> | ||
34 | - {% trans 'Course avaliations' %} | ||
35 | - </a> | ||
36 | - <a href="" class="list-group-item"> | ||
37 | - {% trans 'Duplicate Course' %} | ||
38 | - </a> | ||
39 | - <a href="" class="list-group-item"> | ||
40 | - {% trans 'Delete Course' %} | ||
41 | - </a> | ||
42 | - </div> | ||
43 | - | ||
44 | -{% endblock %} | ||
45 | - | ||
46 | -{% block content %} | ||
47 | - <form action="" method="post"> | ||
48 | - {% csrf_token %} | ||
49 | - <p>{% trans 'Are you sure you want to delete the module' %} "{{ object }}"?</p> | ||
50 | - <input type="submit" class="btn btn-success btn-sm" value="{% trans 'Yes' %}" /> | ||
51 | - <a href="{% url 'course:manage' %}" class="btn btn-danger btn-sm">{% trans 'No' %}</a> | ||
52 | - </form> | ||
53 | -{% endblock %} |
courses/templates/module/index.html
@@ -1,128 +0,0 @@ | @@ -1,128 +0,0 @@ | ||
1 | -{% extends 'app/base.html' %} | ||
2 | - | ||
3 | -{% load static i18n permission_tags %} | ||
4 | - | ||
5 | -{% block breadcrumbs %} | ||
6 | - <ol class="breadcrumb"> | ||
7 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
8 | - <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
9 | - <li class="active">{% trans 'Manage Modules' %}</li> | ||
10 | - </ol> | ||
11 | -{% endblock %} | ||
12 | - | ||
13 | -{% block sidebar %} | ||
14 | - <div class="list-group"> | ||
15 | - <a href="{% url 'course:manage' %}" class="list-group-item"> | ||
16 | - {% trans 'Courses' %} | ||
17 | - </a> | ||
18 | - <a href="{% url 'course:view' course.slug %}" class="list-group-item active"> | ||
19 | - {% trans 'Course Info' %} | ||
20 | - </a> | ||
21 | - <a href="{% url 'course:manage_mods' course.slug %}" class="list-group-item"> | ||
22 | - {% trans 'Manage Modules' %} | ||
23 | - </a> | ||
24 | - {% if user|has_role:'professor, system_admin' %} | ||
25 | - <a href="{% url 'course:create' %}" class="list-group-item"> | ||
26 | - {% trans 'Create Course' %} | ||
27 | - </a> | ||
28 | - <a href="{% url 'course:update' course.slug %}" class="list-group-item"> | ||
29 | - {% trans 'Edit Course' %} | ||
30 | - </a> | ||
31 | - <a href="" class="list-group-item"> | ||
32 | - {% trans 'Participants' %} | ||
33 | - </a> | ||
34 | - <a href="" class="list-group-item"> | ||
35 | - {% trans 'Course avaliations' %} | ||
36 | - </a> | ||
37 | - <a href="" class="list-group-item"> | ||
38 | - {% trans 'Duplicate Course' %} | ||
39 | - </a> | ||
40 | - <a href="" class="list-group-item"> | ||
41 | - {% trans 'Delete Course' %} | ||
42 | - </a> | ||
43 | - {% endif %} | ||
44 | - </div> | ||
45 | - | ||
46 | -{% endblock %} | ||
47 | - | ||
48 | -{% block content %} | ||
49 | - {% if messages %} | ||
50 | - {% for message in messages %} | ||
51 | - <div class="alert alert-success alert-dismissible" role="alert"> | ||
52 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
53 | - <span aria-hidden="true">×</span> | ||
54 | - </button> | ||
55 | - <p>{{ message }}</p> | ||
56 | - </div> | ||
57 | - {% endfor %} | ||
58 | - {% endif %} | ||
59 | - | ||
60 | - <div class="row well well-inverse"> | ||
61 | - <div class="col-md-2"> | ||
62 | - <img src="{{ course.image.url }}" class="img-responsive" /> | ||
63 | - </div> | ||
64 | - <div class="col-md-10"> | ||
65 | - <div class="row"> | ||
66 | - <div class="col-md-12"> | ||
67 | - {% if user|has_role:'professor, system_admin' %} | ||
68 | - <div class="pull-right"> | ||
69 | - <a href="{% url 'course:create_mods' course.slug %}" class="btn btn-sm btn-success"> | ||
70 | - {% trans 'Create Module' %} | ||
71 | - </a> | ||
72 | - </div> | ||
73 | - {% endif %} | ||
74 | - <h4> | ||
75 | - <a href="{% url 'course:view' course.slug %}"> | ||
76 | - {{ course }} | ||
77 | - </a> | ||
78 | - </h4> | ||
79 | - <span class="label label-info">{{ course.category }}</span> | ||
80 | - <span class="label label-warning">{{ course.max_students }} {% trans 'students maximum' %}</span> | ||
81 | - </div> | ||
82 | - <div class="col-md-12"> | ||
83 | - <strong>{% trans 'Period:' %} </strong> <em>de</em> <u>{{ course.init_date }}</u> <em>até</em> <u>{{ course.end_date }}</u> | ||
84 | - </div> | ||
85 | - </div> | ||
86 | - </div> | ||
87 | - </div> | ||
88 | - | ||
89 | - {% if modules|length > 0 %} | ||
90 | - <div class="panel panel-default"> | ||
91 | - <div class="panel-heading"> | ||
92 | - <h3 class="panel-title">{% trans 'Modules' %}</h3> | ||
93 | - </div> | ||
94 | - <div class="panel-body"> | ||
95 | - <ul class="list-group"> | ||
96 | - {% for module in modules %} | ||
97 | - <li class="list-group-item"> | ||
98 | - <div class="media"> | ||
99 | - <div class="col-sm-10"> | ||
100 | - <div class="media-body"> | ||
101 | - <h4 class="media-heading">{{ module }}</h4> | ||
102 | - <p>{{ module.description|linebreaks }}</p> | ||
103 | - </div> | ||
104 | - </div> | ||
105 | - <div class="col-sm-2" style="padding-top: 10px"> | ||
106 | - {% if module.visible %} | ||
107 | - <span class="label label-success">{% trans 'Visible' %}</span> | ||
108 | - {% else %} | ||
109 | - <span class="label label-danger">{% trans 'Invisible' %}</span> | ||
110 | - {% endif %} | ||
111 | - <a href="{% url 'course:update_mods' course.slug module.slug %}" class="btn btn-sm btn-primary" style="margin-top: 10px"> | ||
112 | - <span class="glyphicon glyphicon-edit"></span> | ||
113 | - </a> | ||
114 | - <a href="{% url 'course:delete_mods' course.slug module.slug %}" class="btn btn-sm btn-danger" style="margin-top: 10px"> | ||
115 | - <span class="glyphicon glyphicon-trash"></span> | ||
116 | - </a> | ||
117 | - </div> | ||
118 | - </div> | ||
119 | - </li> | ||
120 | - {% endfor %} | ||
121 | - </ul> | ||
122 | - </div> | ||
123 | - </div> | ||
124 | - {% else %} | ||
125 | - {% trans 'No modules found' %} | ||
126 | - {% endif %} | ||
127 | - | ||
128 | -{% endblock %} |
courses/templates/module/update.html
@@ -1,80 +0,0 @@ | @@ -1,80 +0,0 @@ | ||
1 | -{% extends 'app/base.html' %} | ||
2 | - | ||
3 | -{% load static i18n %} | ||
4 | -{% load widget_tweaks %} | ||
5 | - | ||
6 | -{% block breadcrumbs %} | ||
7 | - <ol class="breadcrumb"> | ||
8 | - <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li> | ||
9 | - <li><a href="{% url 'course:view' course.slug %}">{{ course }}</a></li> | ||
10 | - <li class="active">{% trans 'Edit Module' %}</li> | ||
11 | - </ol> | ||
12 | -{% endblock %} | ||
13 | - | ||
14 | -{% block sidebar %} | ||
15 | - <div class="list-group"> | ||
16 | - <a href="{% url 'course:manage' %}" class="list-group-item"> | ||
17 | - {% trans 'Courses' %} | ||
18 | - </a> | ||
19 | - <a href="{% url 'course:create' %}" class="list-group-item"> | ||
20 | - {% trans 'Create Course' %} | ||
21 | - </a> | ||
22 | - <a href="{% url 'course:view' course.slug %}" class="list-group-item active"> | ||
23 | - {% trans 'Course Info' %} | ||
24 | - </a> | ||
25 | - <a href="{% url 'course:update' course.slug %}" class="list-group-item"> | ||
26 | - {% trans 'Edit Course' %} | ||
27 | - </a> | ||
28 | - <a href="{% url 'course:manage_mods' course.slug %}" class="list-group-item"> | ||
29 | - {% trans 'Manage Modules' %} | ||
30 | - </a> | ||
31 | - <a href="" class="list-group-item"> | ||
32 | - {% trans 'Participants' %} | ||
33 | - </a> | ||
34 | - <a href="" class="list-group-item"> | ||
35 | - {% trans 'Course avaliations' %} | ||
36 | - </a> | ||
37 | - <a href="" class="list-group-item"> | ||
38 | - {% trans 'Duplicate Course' %} | ||
39 | - </a> | ||
40 | - <a href="" class="list-group-item"> | ||
41 | - {% trans 'Delete Course' %} | ||
42 | - </a> | ||
43 | - </div> | ||
44 | - | ||
45 | -{% endblock %} | ||
46 | - | ||
47 | -{% block content %} | ||
48 | - <div class="alert alert-info alert-dismissible" role="alert"> | ||
49 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
50 | - <span aria-hidden="true">×</span> | ||
51 | - </button> | ||
52 | - <p>{% trans 'All fields are required' %}</p> | ||
53 | - </div> | ||
54 | - | ||
55 | - <form method="post" action="" enctype="multipart/form-data"> | ||
56 | - {% csrf_token %} | ||
57 | - {% for field in form %} | ||
58 | - <div class="form-group{% if form.has_error %} has-error {% endif %}"> | ||
59 | - <label for="{{ field.auto_id }}">{{ field.label }}</label> | ||
60 | - {% render_field field class='form-control input-sm' %} | ||
61 | - <span id="helpBlock" class="help-block">{{ field.help_text }}</span> | ||
62 | - {% if field.errors.length > 0 %} | ||
63 | - <div class="alert alert-danger alert-dismissible" role="alert"> | ||
64 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
65 | - <span aria-hidden="true">×</span> | ||
66 | - </button> | ||
67 | - <ul> | ||
68 | - {% for error in field.errors %} | ||
69 | - <li>{{ error }}</li> | ||
70 | - {% endfor %} | ||
71 | - </ul> | ||
72 | - </div> | ||
73 | - </div> | ||
74 | - {% endif %} | ||
75 | - </div> | ||
76 | - {% endfor %} | ||
77 | - <input type="submit" value="{% trans 'Save' %}" class="btn btn-sm btn-success" /> | ||
78 | - </form> | ||
79 | - <br clear="all" /> | ||
80 | -{% endblock %} |
courses/templates/subject/form_view_student.html
courses/templates/subject/form_view_teacher.html
courses/templates/subject/index.html
@@ -35,7 +35,7 @@ | @@ -35,7 +35,7 @@ | ||
35 | </div> | 35 | </div> |
36 | <div class="panel-body"> | 36 | <div class="panel-body"> |
37 | <p> | 37 | <p> |
38 | - {{subject.description}} | 38 | + {{subject.description|linebreaks}} |
39 | </p> | 39 | </p> |
40 | </div> | 40 | </div> |
41 | </div> | 41 | </div> |
@@ -47,13 +47,14 @@ | @@ -47,13 +47,14 @@ | ||
47 | {% endif %} | 47 | {% endif %} |
48 | {% endfor %} | 48 | {% endfor %} |
49 | 49 | ||
50 | + <a name="create_topic" class="btn btn-primary btn-md btn-block" href="{% url 'course:create_topic' subject.slug %}">{% trans "Create Topic" %}</a> | ||
50 | {% endblock %} | 51 | {% endblock %} |
51 | 52 | ||
52 | {% block rightbar %} | 53 | {% block rightbar %} |
53 | 54 | ||
54 | <div class="panel panel-warning"> | 55 | <div class="panel panel-warning"> |
55 | <div class="panel-heading"> | 56 | <div class="panel-heading"> |
56 | - <h3 class="panel-title">Pending Stuffs</h3> | 57 | + <h3 class="panel-title">{% trans "Pending Stuffs" %}</h3> |
57 | </div> | 58 | </div> |
58 | <div class="panel-body"> | 59 | <div class="panel-body"> |
59 | 60 |
@@ -0,0 +1,25 @@ | @@ -0,0 +1,25 @@ | ||
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 | + {% for field in form %} | ||
12 | + <div class="form-group {% if field.errors %} has-error{% endif %}"> | ||
13 | + <label for="{{ field.auto_id }}" class="control-label label-static"> {{ field.label }}</label> | ||
14 | + | ||
15 | + {% render_field field class='form-control' placeholder=field.label%} | ||
16 | + </div> | ||
17 | + {% endfor %} | ||
18 | + <div class="col-lg-offset-4 col-lg-4"> | ||
19 | + <button type="submite" class="btn btn-raised btn-primary btn-lg btn-block">{% trans 'Create' %}</button> | ||
20 | + | ||
21 | + </div> | ||
22 | + </form> | ||
23 | + </div> | ||
24 | + </div> | ||
25 | +{% endblock content %} |
courses/urls.py
@@ -15,6 +15,7 @@ urlpatterns = [ | @@ -15,6 +15,7 @@ urlpatterns = [ | ||
15 | url(r'^categories/(?P<slug>[\w_-]+)/$', views.ViewCat.as_view(), name='view_cat'), | 15 | url(r'^categories/(?P<slug>[\w_-]+)/$', views.ViewCat.as_view(), name='view_cat'), |
16 | url(r'^categories/delete/(?P<slug>[\w_-]+)/$', views.DeleteCatView.as_view(), name='delete_cat'), | 16 | url(r'^categories/delete/(?P<slug>[\w_-]+)/$', views.DeleteCatView.as_view(), name='delete_cat'), |
17 | url(r'^course/(?P<slug>[\w_-]+)/subjects/$', views.SubjectsView.as_view(), name='view_subject'), | 17 | url(r'^course/(?P<slug>[\w_-]+)/subjects/$', views.SubjectsView.as_view(), name='view_subject'), |
18 | + url(r'^course/(?P<slug>[\w_-]+)/topics/create/$', views.CreateTopicView.as_view(), name='create_topic'), | ||
18 | # url(r'^course/(?P<slug>[\w_-]+)/modules/create/$', views.CreateModView.as_view(), name='create_mods'), | 19 | # url(r'^course/(?P<slug>[\w_-]+)/modules/create/$', views.CreateModView.as_view(), name='create_mods'), |
19 | # url(r'^course/(?P<slug_course>[\w_-]+)/modules/edit/(?P<slug>[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'), | 20 | # url(r'^course/(?P<slug_course>[\w_-]+)/modules/edit/(?P<slug>[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'), |
20 | # url(r'^course/(?P<slug_course>[\w_-]+)/modules/delete/(?P<slug>[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'), | 21 | # url(r'^course/(?P<slug_course>[\w_-]+)/modules/delete/(?P<slug>[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'), |
courses/views.py
@@ -9,7 +9,7 @@ from django.core.urlresolvers import reverse_lazy | @@ -9,7 +9,7 @@ from django.core.urlresolvers import reverse_lazy | ||
9 | from django.utils.translation import ugettext_lazy as _ | 9 | from django.utils.translation import ugettext_lazy as _ |
10 | from slugify import slugify | 10 | from slugify import slugify |
11 | 11 | ||
12 | -from .forms import CourseForm, CategoryForm, SubjectForm | 12 | +from .forms import CourseForm, CategoryForm, SubjectForm,TopicForm |
13 | from .models import Course, Subject, Category | 13 | from .models import Course, Subject, Category |
14 | 14 | ||
15 | 15 | ||
@@ -193,7 +193,6 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): | @@ -193,7 +193,6 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): | ||
193 | template_name = 'subject/index.html' | 193 | template_name = 'subject/index.html' |
194 | context_object_name = 'subjects' | 194 | context_object_name = 'subjects' |
195 | model = Subject | 195 | model = Subject |
196 | - # paginate_by = 5 | ||
197 | 196 | ||
198 | def get_queryset(self): | 197 | def get_queryset(self): |
199 | subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | 198 | subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) |
@@ -201,50 +200,50 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): | @@ -201,50 +200,50 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): | ||
201 | return course.subjects.filter(visible=True) | 200 | return course.subjects.filter(visible=True) |
202 | 201 | ||
203 | def get_context_data(self, **kwargs): | 202 | def get_context_data(self, **kwargs): |
204 | - # print ("Deu Certo") | ||
205 | subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | 203 | subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) |
206 | - # print (course) | ||
207 | - # print (course.slug) | ||
208 | - # print (course.subjects.filter(visible=True)) | ||
209 | context = super(SubjectsView, self).get_context_data(**kwargs) | 204 | context = super(SubjectsView, self).get_context_data(**kwargs) |
210 | context['course'] = subject.course | 205 | context['course'] = subject.course |
211 | context['subject'] = subject | 206 | context['subject'] = subject |
212 | context['topics'] = subject.topics.all() | 207 | context['topics'] = subject.topics.all() |
213 | - # print (context) | ||
214 | return context | 208 | return context |
215 | 209 | ||
216 | -# class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): | ||
217 | -# | ||
218 | -# allowed_roles = ['professor', 'system_admin'] | ||
219 | -# login_url = reverse_lazy("core:home") | ||
220 | -# redirect_field_name = 'next' | ||
221 | -# template_name = 'module/create.html' | ||
222 | -# form_class = SubjectForm | ||
223 | -# | ||
224 | -# def get_success_url(self): | ||
225 | -# return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) | ||
226 | -# | ||
227 | -# def get_context_data(self, **kwargs): | ||
228 | -# course = get_object_or_404(Course, slug = self.kwargs.get('slug')) | ||
229 | -# context = super(CreateModView, self).get_context_data(**kwargs) | ||
230 | -# context['course'] = course | ||
231 | -# | ||
232 | -# return context | ||
233 | -# | ||
234 | -# def form_valid(self, form): | ||
235 | -# course = get_object_or_404(Course, slug = self.kwargs.get('slug')) | ||
236 | -# | ||
237 | -# self.object = form.save(commit = False) | ||
238 | -# self.object.slug = slugify(self.object.name) | ||
239 | -# self.object.course = course | ||
240 | -# self.object.save() | ||
241 | -# | ||
242 | -# return super(CreateModView, self).form_valid(form) | ||
243 | -# | ||
244 | -# def render_to_response(self, context, **response_kwargs): | ||
245 | -# messages.success(self.request, _('Module created successfully!')) | ||
246 | -# | ||
247 | -# return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) | 210 | +class CreateTopicView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): |
211 | + | ||
212 | + allowed_roles = ['professor', 'system_admin','student'] | ||
213 | + login_url = reverse_lazy("core:home") | ||
214 | + redirect_field_name = 'next' | ||
215 | + template_name = 'topic/create.html' | ||
216 | + form_class = TopicForm | ||
217 | + | ||
218 | + def get_success_url(self): | ||
219 | + return reverse_lazy('course:view_subject', kwargs={'slug' : self.object.subject.slug}) | ||
220 | + | ||
221 | + def get_context_data(self, **kwargs): | ||
222 | + context = super(CreateTopicView, self).get_context_data(**kwargs) | ||
223 | + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | ||
224 | + context['course'] = subject.course | ||
225 | + context['subject'] = subject | ||
226 | + context['subjects'] = subject.course.subjects.filter(visible=True) | ||
227 | + | ||
228 | + return context | ||
229 | + | ||
230 | + def form_valid(self, form): | ||
231 | + print ("aqui") | ||
232 | + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | ||
233 | + | ||
234 | + print ("aqui") | ||
235 | + self.object = form.save(commit = False) | ||
236 | + self.object.subject = subject | ||
237 | + print ("aqui") | ||
238 | + print (self.object) | ||
239 | + self.object.save() | ||
240 | + | ||
241 | + return super(CreateTopicView, self).form_valid(form) | ||
242 | + | ||
243 | + def render_to_response(self, context, **response_kwargs): | ||
244 | + messages.success(self.request, _('Module created successfully!')) | ||
245 | + | ||
246 | + return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) | ||
248 | # | 247 | # |
249 | # class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | 248 | # class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): |
250 | # | 249 | # |