mirror of https://github.com/interlegis/sapl.git
Marcio Mazza
10 years ago
3 changed files with 71 additions and 40 deletions
@ -1,13 +0,0 @@ |
|||||
from django.conf.urls import url |
|
||||
|
|
||||
from comissoes.views import ( |
|
||||
ComissaoListView, ComissaoDetailView, ComissaoUpdateView) |
|
||||
|
|
||||
|
|
||||
urlpatterns = [ |
|
||||
url(r'^$', ComissaoListView.as_view(), name='comissao_list'), |
|
||||
url(r'^(?P<pk>\d+)$', ComissaoDetailView.as_view(), |
|
||||
name='comissao_detail'), |
|
||||
url(r'^(?P<pk>\d+)/edit$', ComissaoUpdateView.as_view(), |
|
||||
name='comissao_update'), |
|
||||
] |
|
@ -1,47 +1,89 @@ |
|||||
from braces.views import FormMessagesMixin |
from braces.views import FormMessagesMixin |
||||
from django.core.urlresolvers import reverse_lazy |
from django.conf.urls import url |
||||
|
from django.core.urlresolvers import reverse, reverse_lazy |
||||
from django.utils.translation import ugettext as _ |
from django.utils.translation import ugettext as _ |
||||
from django.views.generic import ( |
from django.views.generic import ( |
||||
CreateView, DeleteView, ListView, UpdateView, DetailView) |
CreateView, DeleteView, ListView, UpdateView, DetailView) |
||||
|
|
||||
from .forms import ComissaoForm |
from .forms import ComissaoForm |
||||
from .models import Comissao |
|
||||
|
|
||||
|
|
||||
class BaseMixin(object): |
class Crud(object): |
||||
|
|
||||
@property |
def __init__(self, model_form, create_title): |
||||
def title(self): |
|
||||
return self.get_object() |
|
||||
|
|
||||
help_url = '/comissoes/ajuda' |
self.model_form = model_form |
||||
|
self.create_title = create_title |
||||
|
|
||||
|
self.model = model_form._meta.model |
||||
|
|
||||
class ComissaoListView(BaseMixin, ListView): |
# urls names |
||||
model = Comissao |
self.namespace = self.model._meta.model_name |
||||
title = Comissao._meta.verbose_name_plural |
|
||||
|
|
||||
|
list_url_name = 'list' |
||||
|
create_url_name = 'create' |
||||
|
detail_url_name = 'detail' |
||||
|
update_url_name = 'update' |
||||
|
delete_url_name = 'delete' |
||||
|
|
||||
class ComissaoDetailView(BaseMixin, DetailView): |
def with_namespace(url_name): |
||||
model = Comissao |
return '%s:%s' % (self.namespace, url_name) |
||||
|
|
||||
|
class BaseMixin(object): |
||||
|
|
||||
class ComissaoCreateView(BaseMixin, CreateView): |
@property |
||||
model = Comissao |
def title(self): |
||||
success_url = reverse_lazy('comissao_list') |
return self.get_object() |
||||
title = _('Nova Comissão') |
|
||||
|
|
||||
|
help_url = '/comissoes/ajuda' # FIXME |
||||
|
|
||||
class ComissaoUpdateView(BaseMixin, FormMessagesMixin, UpdateView): |
class CrudListView(BaseMixin, ListView): |
||||
model = Comissao |
model = self.model |
||||
form_class = ComissaoForm |
title = model._meta.verbose_name_plural |
||||
success_url = reverse_lazy('comissao_list') |
|
||||
form_invalid_message = u"Something went wrong, post was not saved" |
|
||||
|
|
||||
def get_form_valid_message(self): |
class CrudCreateView(BaseMixin, CreateView): |
||||
return u"{0} updated successfully!".format(self.object) |
model = self.model |
||||
|
form_class = ComissaoForm |
||||
|
title = self.create_title |
||||
|
|
||||
|
def get_success_url(self): |
||||
|
return reverse(with_namespace(detail_url_name), |
||||
|
args=(self.object.id,)) |
||||
|
|
||||
class ComissaoDeleteView(BaseMixin, DeleteView): |
class CrudDetailView(BaseMixin, DetailView): |
||||
model = Comissao |
model = self.model |
||||
success_url = reverse_lazy('comissao_list') |
|
||||
|
class CrudUpdateView(BaseMixin, FormMessagesMixin, UpdateView): |
||||
|
model = self.model |
||||
|
form_class = ComissaoForm |
||||
|
success_url = reverse_lazy('comissao_list') |
||||
|
form_invalid_message = u"Something went wrong, post was not saved" |
||||
|
|
||||
|
def get_form_valid_message(self): |
||||
|
return u"{0} updated successfully!".format(self.object) |
||||
|
|
||||
|
class CrudDeleteView(BaseMixin, DeleteView): |
||||
|
model = self.model |
||||
|
success_url = reverse_lazy('comissao_list') |
||||
|
|
||||
|
self.CrudListView = CrudListView |
||||
|
self.CrudCreateView = CrudCreateView |
||||
|
self.CrudDetailView = CrudDetailView |
||||
|
self.CrudUpdateView = CrudUpdateView |
||||
|
self.CrudDeleteView = CrudDeleteView |
||||
|
|
||||
|
self.urls = [ |
||||
|
url(r'^$', |
||||
|
CrudListView.as_view(), name=list_url_name), |
||||
|
url(r'^create$', |
||||
|
CrudCreateView.as_view(), name=create_url_name), |
||||
|
url(r'^(?P<pk>\d+)$', |
||||
|
CrudDetailView.as_view(), name=detail_url_name), |
||||
|
url(r'^(?P<pk>\d+)/edit$', |
||||
|
CrudUpdateView.as_view(), name=update_url_name), |
||||
|
url(r'^(?P<pk>\d+)/delete$', |
||||
|
CrudDeleteView.as_view(), name=delete_url_name), |
||||
|
], 'comissao', 'comissao' |
||||
|
|
||||
|
|
||||
|
comissao_crud = Crud(ComissaoForm, _('Nova Comissão')) |
||||
|
Loading…
Reference in new issue