From bc49fac021682c83e0271cce27dbccf479d133aa Mon Sep 17 00:00:00 2001 From: Felipe Henrique de Almeida Bormann Date: Wed, 28 Dec 2016 16:53:39 -0300 Subject: [PATCH] update view complete and cycle has success message at the end --- categories/templates/categories/list.html | 2 +- categories/templates/categories/update.html | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ categories/urls.py | 1 + categories/views.py | 17 ++++++++++++++++- 4 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 categories/templates/categories/update.html diff --git a/categories/templates/categories/list.html b/categories/templates/categories/list.html index 4b28c9d..6485804 100755 --- a/categories/templates/categories/list.html +++ b/categories/templates/categories/list.html @@ -61,7 +61,7 @@
  • {% trans 'Replicate' %}
  • {% endif %} -
  • {% trans 'Edit' %}
  • +
  • {% trans 'Edit' %}
  •  {% trans 'Remove' %}
  • diff --git a/categories/templates/categories/update.html b/categories/templates/categories/update.html new file mode 100644 index 0000000..3c44ce3 --- /dev/null +++ b/categories/templates/categories/update.html @@ -0,0 +1,68 @@ +{% extends 'categories/home.html' %} + +{% load static i18n %} +{% load widget_tweaks django_bootstrap_breadcrumbs %} + +{% block breadcrumbs %} + {{ block.super }} + {% breadcrumb 'Update' 'categories:update' category.slug %} +{% endblock %} + +{% block content %} +
    +
    +
    +
    + {% csrf_token %} + {% for field in form %} +
    + {% if field.auto_id != 'id_public' %} + + {% endif %} + {% if field.auto_id == 'id_init_register_date' or field.auto_id == 'id_end_register_date' or field.auto_id == 'id_init_date' or field.auto_id == 'id_end_date'%} + + {% elif field.auto_id == 'id_public' %} +
    + +
    + {% elif field.auto_id == 'id_description' %} + {% render_field field class='form-control text_wysiwyg' %} + {% else %} + {% render_field field class='form-control' %} + {% endif %} + {{ field.help_text }} + {% if field.errors %} +
    +
    + +
    + {% endif %} +
    + {% endfor %} +
    + +
    +
    +
    +
    +
    +
    +
    + +{% endblock %} \ No newline at end of file diff --git a/categories/urls.py b/categories/urls.py index 6f60213..fc1d512 100644 --- a/categories/urls.py +++ b/categories/urls.py @@ -6,4 +6,5 @@ urlpatterns = [ url(r'^create/$', views.CreateCategory.as_view(), name='create'), url(r'^delete/(?P[\w_-]+)/$', views.DeleteCategory.as_view(), name='delete'), url(r'^replicate/(?P[\w_-]+)/$', views.CreateCategory.as_view(), name='replicate'), + url(r'^update/(?P[\w_-]+)/$', views.UpdateCategory.as_view(), name='update'), ] \ No newline at end of file diff --git a/categories/views.py b/categories/views.py index 56a8ec2..9b91ffa 100644 --- a/categories/views.py +++ b/categories/views.py @@ -1,5 +1,5 @@ from django.shortcuts import render, get_object_or_404 -from django.views.generic import ListView, CreateView, DeleteView +from django.views.generic import ListView, CreateView, DeleteView, UpdateView from .models import Category from django.core.urlresolvers import reverse_lazy from rolepermissions.verifications import has_role @@ -127,3 +127,18 @@ class DeleteCategory(DeleteView): return reverse_lazy('categories:index') + +class UpdateCategory(UpdateView): + model = Category + form_class = CategoryForm + template_name = 'categories/update.html' + + login_url = reverse_lazy("users:login") + redirect_field_name = 'next' + + + def get_success_url(self): + messages.success(self.request, _('Category "%s" updated successfully!')%(objeto)) + return reverse_lazy('categories:index') + + -- libgit2 0.21.2