Commit e2727664800acb476884f698a5272c0da1f3fd3b

Authored by Gustavo Bernardo
2 parents 8e6837b7 31ac7340

Merge branch 'dev' of https://github.com/amadeusproject/amadeuslms into dev

courses/templates/category/create.html
... ... @@ -37,6 +37,18 @@
37 37 </ul>
38 38 </div>
39 39 </div>
  40 +
  41 + <div class="panel panel-primary navigation">
  42 + <div class="panel-heading">
  43 + <h3 class="panel-title">Category</h3>
  44 + </div>
  45 + <div class="panel-body">
  46 + <ul class="nav nav-pills nav-stacked">
  47 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  48 + <li><a href="{% url 'course:manage_cat' %}">List Category</a></li>
  49 + </ul>
  50 + </div>
  51 + </div>
40 52 {% endif %}
41 53  
42 54 {% endblock %}
... ...
courses/templates/category/index.html
1 1 {% extends 'app/base.html' %}
2 2  
3 3 {% load static i18n %}
  4 +{% load static i18n permission_tags %}
  5 +{% load widget_tweaks %}
4 6  
5 7 {% block breadcrumbs %}
6 8 <ol class="breadcrumb">
... ... @@ -10,14 +12,45 @@
10 12 {% endblock %}
11 13  
12 14 {% block sidebar %}
13   - <div class="list-group">
14   - <a href="{% url 'course:manage_cat' %}" class="list-group-item active">
15   - {% trans 'Categories' %}
16   - </a>
17   - <a href="{% url 'course:create_cat' %}" class="list-group-item">
18   - {% trans 'Create Category' %}
19   - </a>
  15 + <div class="panel panel-primary navigation">
  16 + <div class="panel-heading">
  17 + <h5>{% trans 'Menu' %}</h5>
  18 + </div>
  19 + <div class="panel-body">
  20 + <ul class="nav nav-pills nav-stacked">
  21 + <li><a href="{% url 'users:profile' %}">{% trans 'Profile' %}</a></li>
  22 + <li><a href="{% url 'course:manage' %}">{% trans 'My Courses' %}</a></li>
  23 + </ul>
  24 + </div>
  25 + </div>
  26 +
  27 + {% if user|has_role:'professor, system_admin' %}
  28 +
  29 + <div class="panel panel-primary navigation">
  30 + <div class="panel-heading">
  31 + <h3 class="panel-title">Actions</h3>
  32 + </div>
  33 + <div class="panel-body">
  34 + <ul class="nav nav-pills nav-stacked">
  35 + <li><a href="javascript:void(0)">Replicate Course</a></li>
  36 + <li><a href="{% url 'course:create' %}">Create Course</a></li>
  37 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  38 + </ul>
  39 + </div>
  40 + </div>
  41 +
  42 + <div class="panel panel-primary navigation">
  43 + <div class="panel-heading">
  44 + <h3 class="panel-title">Category</h3>
  45 + </div>
  46 + <div class="panel-body">
  47 + <ul class="nav nav-pills nav-stacked">
  48 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  49 + <li><a href="{% url 'course:manage_cat' %}">List Category</a></li>
  50 + </ul>
  51 + </div>
20 52 </div>
  53 +{% endif %}
21 54 {% endblock %}
22 55  
23 56 {% block content %}
... ...
courses/templates/category/update.html
1 1 {% extends 'app/base.html' %}
2 2  
3 3 {% load static i18n %}
  4 +{% load static i18n permission_tags %}
4 5 {% load widget_tweaks %}
5 6  
6 7 {% block breadcrumbs %}
... ... @@ -11,43 +12,84 @@
11 12 {% endblock %}
12 13  
13 14 {% block sidebar %}
14   - <div class="list-group">
15   - <a href="{% url 'course:manage_cat' %}" class="list-group-item">
16   - {% trans 'Categories' %}
17   - </a>
  15 + <div class="panel panel-primary navigation">
  16 + <div class="panel-heading">
  17 + <h5>{% trans 'Menu' %}</h5>
  18 + </div>
  19 + <div class="panel-body">
  20 + <ul class="nav nav-pills nav-stacked">
  21 + <li><a href="{% url 'users:profile' %}">{% trans 'Profile' %}</a></li>
  22 + <li><a href="{% url 'course:manage' %}">{% trans 'My Courses' %}</a></li>
  23 + </ul>
  24 + </div>
  25 + </div>
  26 +
  27 +{% if user|has_role:'professor, system_admin' %}
  28 +
  29 + <div class="panel panel-primary navigation">
  30 + <div class="panel-heading">
  31 + <h3 class="panel-title">Actions</h3>
  32 + </div>
  33 + <div class="panel-body">
  34 + <ul class="nav nav-pills nav-stacked">
  35 + <li><a href="javascript:void(0)">Replicate Course</a></li>
  36 + <li><a href="{% url 'course:create' %}">Create Course</a></li>
  37 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  38 + </ul>
  39 + </div>
  40 + </div>
  41 + <div class="panel panel-primary navigation">
  42 + <div class="panel-heading">
  43 + <h3 class="panel-title">Category</h3>
  44 + </div>
  45 + <div class="panel-body">
  46 + <ul class="nav nav-pills nav-stacked">
  47 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  48 + <li><a href="{% url 'course:manage_cat' %}">List Category</a></li>
  49 + </ul>
  50 + </div>
18 51 </div>
  52 +{% endif %}
19 53 {% endblock %}
20 54  
21 55 {% block content %}
22   - <div class="alert alert-info alert-dismissible" role="alert">
23   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
24   - <span aria-hidden="true">&times;</span>
25   - </button>
26   - <p>{% trans 'All fields are required' %}</p>
27   - </div>
28   -
29   - <form method="post" action="">
30   - {% csrf_token %}
31   - {% for field in form %}
32   - <div class="form-group {% if form.has_error %}has-error{% endif %}">
33   - <label for="{{ field.auto_id }}">{{ field.label }}</label>
34   - {% render_field field class='form-control input-sm' %}
  56 + {% if messages %}
  57 + {% for message in messages %}
  58 + <div class="alert alert-success alert-dismissible" role="alert">
  59 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  60 + <span aria-hidden="true">&times;</span>
  61 + </button>
  62 + <p>{{ message }}</p>
35 63 </div>
36   - <span id="helpBlock" class="help-block">{{ field.help_text }}</span>
37   - {% if field.errors.length > 0 %}
38   - <div class="alert alert-danger alert-dismissible" role="alert">
39   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
40   - <span aria-hidden="true">&times;</span>
41   - </button>
42   - <ul>
43   - {% for error in field.errors %}
44   - <li>{{ error }}</li>
45   - {% endfor %}
46   - </ul>
47   - </div>
48   - </div>
49   - {% endif %}
50 64 {% endfor %}
51   - <input type="submit" value="{% trans 'Save' %}" class="btn btn-sm btn-success" />
52   - </form>
  65 + {% endif %}
  66 + <div class="card card-content">
  67 + <div class="card-body">
  68 + <form method="post" action="">
  69 + {% csrf_token %}
  70 + {% for field in form %}
  71 + <div class="form-group {% if form.has_error %}has-error{% endif %}">
  72 + <label for="{{ field.auto_id }}">{{ field.label }}</label>
  73 + {% render_field field class='form-control input-sm' %}
  74 + </div>
  75 + {% if field.errors.length > 0 %}
  76 + <div class="alert alert-danger alert-dismissible" role="alert">
  77 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  78 + <span aria-hidden="true">&times;</span>
  79 + </button>
  80 + <ul>
  81 + {% for error in field.errors %}
  82 + <li>{{ error }}</li>
  83 + {% endfor %}
  84 + </ul>
  85 + </div>
  86 + </div>
  87 + {% endif %}
  88 + {% endfor %}
  89 + <div class="row text-center">
  90 + <input type="submit" value="{% trans 'Save' %}" class="btn btn-sm btn-success" />
  91 + </div>
  92 + </form>
  93 + </div>
  94 + </div>
53 95 {% endblock %}
... ...
courses/templates/category/view.html
1 1 {% extends 'app/base.html' %}
2 2  
  3 +{% load static i18n permission_tags %}
  4 +{% load widget_tweaks %}
3 5 {% load static i18n %}
4 6  
  7 +
5 8 {% block breadcrumbs %}
6 9 <ol class="breadcrumb">
7 10 <li><a href="{% url 'app:index' %}">{% trans 'Home' %}</a></li>
... ... @@ -10,27 +13,57 @@
10 13 {% endblock %}
11 14  
12 15 {% block sidebar %}
13   - <div class="list-group">
14   - <a href="{% url 'course:manage_cat' %}" class="list-group-item">
15   - {% trans 'Categories' %}
16   - </a>
17   - <a href="{% url 'course:create_cat' %}" class="list-group-item">
18   - {% trans 'Create Category' %}
19   - </a>
20   - <a href="" class="list-group-item">
21   - {% trans 'Edit Category' %}
22   - </a>
23   - <a href="" class="list-group-item">
24   - {% trans 'Remove Category' %}
25   - </a>
26   - </div>
  16 + <div class="panel panel-primary navigation">
  17 + <div class="panel-heading">
  18 + <h5>{% trans 'Menu' %}</h5>
  19 + </div>
  20 + <div class="panel-body">
  21 + <ul class="nav nav-pills nav-stacked">
  22 + <li><a href="{% url 'users:profile' %}">{% trans 'Profile' %}</a></li>
  23 + <li><a href="{% url 'course:manage' %}">{% trans 'My Courses' %}</a></li>
  24 + </ul>
  25 + </div>
  26 + </div>
  27 + {% if user|has_role:'professor, system_admin' %}
  28 +
  29 + <div class="panel panel-primary navigation">
  30 + <div class="panel-heading">
  31 + <h3 class="panel-title">Actions</h3>
  32 + </div>
  33 + <div class="panel-body">
  34 + <ul class="nav nav-pills nav-stacked">
  35 + <li><a href="javascript:void(0)">Replicate Course</a></li>
  36 + <li><a href="{% url 'course:create' %}">Create Course</a></li>
  37 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  38 + </ul>
  39 + </div>
  40 + </div>
  41 +
  42 + <div class="panel panel-primary navigation">
  43 + <div class="panel-heading">
  44 + <h3 class="panel-title">Category</h3>
  45 + </div>
  46 + <div class="panel-body">
  47 + <ul class="nav nav-pills nav-stacked">
  48 + <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  49 + <li><a href="{% url 'course:manage_cat' %}">List Category</a></li>
  50 + <li><a href="{% url 'course:delete_cat' category.slug %}">Remove Category</a></li>
  51 + <li><a href="{% url 'course:update_cat' category.slug %}">Update Category</a></li>
  52 + </ul>
  53 + </div>
  54 + </div>
  55 + {% endif %}
27 56 {% endblock %}
28 57  
29 58 {% block content %}
30   - <div class="row">
31   - <div class="col-sm-12">
32   - <p><b>{% trans 'Name:' %} </b> {{ category }}</p>
33   - <p><b>{% trans 'Slug:' %} </b> {{ category.slug }}</p>
  59 + <div class="card card-content">
  60 + <div class="card-body">
  61 + <div class="row">
  62 + <div class="col-sm-12">
  63 + <p><b>{% trans 'Name:' %} </b> {{ category }}</p>
  64 + <p><b>{% trans 'Slug:' %} </b> {{ category.slug }}</p>
  65 + </div>
  66 + </div>
34 67 </div>
35 68 </div>
36 69 {% endblock %}
... ...
courses/templates/course/index.html
... ... @@ -33,7 +33,18 @@
33 33 <ul class="nav nav-pills nav-stacked">
34 34 <li><a href="javascript:void(0)">Replicate Course</a></li>
35 35 <li><a href="{% url 'course:create' %}">Create Course</a></li>
  36 + </ul>
  37 + </div>
  38 + </div>
  39 +
  40 + <div class="panel panel-primary navigation">
  41 + <div class="panel-heading">
  42 + <h3 class="panel-title">Category</h3>
  43 + </div>
  44 + <div class="panel-body">
  45 + <ul class="nav nav-pills nav-stacked">
36 46 <li><a href="{% url 'course:create_cat' %}">Create Category</a></li>
  47 + <li><a href="{% url 'course:manage_cat' %}">List Category</a></li>
37 48 </ul>
38 49 </div>
39 50 </div>
... ...
courses/views.py
... ... @@ -10,6 +10,7 @@ from django.utils.translation import ugettext_lazy as _
10 10 from rolepermissions.verifications import has_role
11 11 from django.db.models import Q
12 12 from rolepermissions.verifications import has_object_permission
  13 +from django.http import HttpResponseRedirect
13 14  
14 15 from .forms import CourseForm, UpdateCourseForm, CategoryCourseForm, SubjectForm,TopicForm,ActivityForm
15 16 from .models import Course, Subject, CourseCategory,Topic, SubjectCategory,Activity
... ... @@ -215,6 +216,10 @@ class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
215 216 form_class = CategoryCourseForm
216 217 success_url = reverse_lazy('course:manage_cat')
217 218  
  219 + def get_success_url(self):
  220 + messages.success(self.request, _('Category created successfully!'))
  221 + return reverse_lazy('course:manage_cat')
  222 +
218 223 class UpdateCatView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
219 224  
220 225 allowed_roles = ['professor', 'system_admin']
... ... @@ -223,7 +228,10 @@ class UpdateCatView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
223 228 template_name = 'category/update.html'
224 229 model = CourseCategory
225 230 form_class = CategoryCourseForm
226   - success_url = reverse_lazy('course:manage_cat')
  231 +
  232 + def get_success_url(self):
  233 + messages.success(self.request, _('Category updated successfully!'))
  234 + return reverse_lazy('course:update_cat', kwargs={'slug' : self.object.slug})
227 235  
228 236 class ViewCat(LoginRequiredMixin, generic.DetailView):
229 237 login_url = reverse_lazy("core:home")
... ... @@ -239,12 +247,10 @@ class DeleteCatView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
239 247 redirect_field_name = 'next'
240 248 model = CourseCategory
241 249 template_name = 'category/delete.html'
242   - success_url = reverse_lazy('course:manage_cat')
243 250  
244   - def render_to_response(self, context, **response_kwargs):
  251 + def get_success_url(self):
245 252 messages.success(self.request, _('Category deleted successfully!'))
246   -
247   - return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine)
  253 + return reverse_lazy('course:manage_cat')
248 254  
249 255 class SubjectsView(LoginRequiredMixin, generic.ListView):
250 256  
... ...