mirror of
https://github.com/nikdoof/vapemap.git
synced 2025-12-21 21:59:22 +00:00
Initial Import.
This commit is contained in:
44
app/stores/views/claims.py
Normal file
44
app/stores/views/claims.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from django.views.generic.edit import CreateView
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib import messages
|
||||
from ..forms import ClaimRequestForm
|
||||
from ..models import ClaimRequest
|
||||
|
||||
|
||||
class ClaimCreateView(CreateView):
|
||||
model = ClaimRequest
|
||||
target_model = None
|
||||
form_class = ClaimRequestForm
|
||||
template_name = 'stores/claim_form.html'
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
self.target_obj = self.get_target_object()
|
||||
return super(ClaimCreateView, self).get(request, *args, **kwargs)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
self.target_obj = self.get_target_object()
|
||||
return super(ClaimCreateView, self).post(request, *args, **kwargs)
|
||||
|
||||
def get_target_object(self):
|
||||
obj_slug = self.kwargs.get('slug')
|
||||
return self.target_model.objects.get(slug=obj_slug)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super(ClaimCreateView, self).get_context_data(**kwargs)
|
||||
ctx.update({
|
||||
'target_obj': self.target_obj,
|
||||
})
|
||||
return ctx
|
||||
|
||||
def form_valid(self, form):
|
||||
obj = form.save(commit=False)
|
||||
obj.object_id = self.target_obj.pk
|
||||
obj.object_type = ContentType.objects.get_for_model(self.target_model)
|
||||
obj.user = self.request.user
|
||||
obj.save()
|
||||
messages.success(self.request, 'Your claim request for %s has been successfully submitted for review.' % self.target_obj)
|
||||
return super(ClaimCreateView, self).form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('store-detail', args=[self.target_obj.slug])
|
||||
Reference in New Issue
Block a user