objects views updated

This commit is contained in:
Serghei Mihai 2015-01-27 11:34:20 +01:00
parent b94039e0e8
commit 953e780e27
1 changed files with 27 additions and 9 deletions

View File

@ -1,11 +1,12 @@
from datetime import datetime
from django.conf import settings
from django.core.urlresolvers import reverse
from django.views.generic import CreateView, UpdateView, DeleteView, \
ListView, TemplateView
from django.views.generic.list import MultipleObjectMixin
from django.contrib.syndication.views import Feed
from django.utils.feedgenerator import Atom1Feed
from django.utils.http import urlencode
import models
from .forms import AnnounceForm, CategoryForm
@ -19,27 +20,40 @@ homepage = HomepageView.as_view()
class AnnounceCreateView(CreateView):
form_class = AnnounceForm
template_name = 'corbo/announce_form.html'
success_url = '..'
def get_success_url(self):
"""
redirect to the category page of the new created announce
"""
return reverse('manage') + '?' + urlencode({'category': self.object.category.id})
add_announce = AnnounceCreateView.as_view()
class AnnounceEditView(UpdateView):
model = models.Announce
form_class = AnnounceForm
success_url = '../..'
def get_success_url(self):
return self.request.META['HTTP_REFERER'] or \
reverse('manage') + '?' + urlencode({'category': self.object.category.id})
edit_announce = AnnounceEditView.as_view()
class AnnounceDeleteView(DeleteView):
success_url = '../..'
model = models.Announce
def get_success_url(self):
return self.request.META['HTTP_REFERER'] or \
reverse('manage') + '?' + urlencode({'category': self.object.category.id})
delete_announce = AnnounceDeleteView.as_view()
class CategoryCreateView(CreateView):
form_class = CategoryForm
template_name = 'corbo/category_form.html'
success_url = '..'
def get_success_url(self):
return reverse('manage')
def form_valid(self, form):
form.save()
@ -50,18 +64,22 @@ add_category = CategoryCreateView.as_view()
class CategoryEditView(UpdateView):
form_class = CategoryForm
model = models.Category
success_url = '../..'
def get_success_url(self):
return self.request.META['HTTP_REFERER'] or \
reverse('manage') + '?' + urlencode({'category': self.object.id})
edit_category = CategoryEditView.as_view()
class DeleteView(DeleteView):
model = models.Category
success_url = '../..'
def get_success_url(self):
return reverse('manage')
delete_category = DeleteView.as_view()
class ManageView(ListView, MultipleObjectMixin):
class ManageView(ListView):
paginate_by = settings.ANNOUNCES_PER_PAGE
template_name = 'corbo/manage.html'
model = models.Announce