2012-04-26 03:44:16 +00:00
|
|
|
from django.http import HttpResponseRedirect
|
|
|
|
|
from django.core.urlresolvers import reverse
|
2012-05-01 05:44:50 +00:00
|
|
|
from django.contrib import messages
|
2013-02-24 16:56:03 +01:00
|
|
|
from django.utils.functional import lazy
|
|
|
|
|
from django.views.generic.base import TemplateView
|
|
|
|
|
from django.views.generic import CreateView
|
2012-04-26 03:44:16 +00:00
|
|
|
|
|
|
|
|
from .forms import PinForm
|
2012-07-24 23:26:38 +00:00
|
|
|
from .models import Pin
|
2012-04-26 03:44:16 +00:00
|
|
|
|
|
|
|
|
|
2013-02-24 18:18:22 +01:00
|
|
|
reverse_lazy = lambda name=None, *args: lazy(reverse, str)(name, args=args)
|
2012-04-26 03:44:16 +00:00
|
|
|
|
|
|
|
|
|
2013-02-24 16:56:03 +01:00
|
|
|
class RecentPins(TemplateView):
|
|
|
|
|
template_name = 'pins/recent_pins.html'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class NewPin(CreateView):
|
|
|
|
|
model = Pin
|
|
|
|
|
form_class = PinForm
|
|
|
|
|
success_url = reverse_lazy('pins:recent-pins')
|
|
|
|
|
|
|
|
|
|
def form_valid(self, form):
|
|
|
|
|
form.instance.submitter = self.request.user
|
|
|
|
|
messages.success(self.request, 'New pin successfully added.')
|
|
|
|
|
return super(NewPin, self).form_valid(form)
|
|
|
|
|
|
|
|
|
|
def form_invalid(self, form):
|
|
|
|
|
messages.error(self.request, 'Pin did not pass validation!')
|
|
|
|
|
return super(NewPin, self).form_invalid(form)
|