Example #1
0
	def post(self, request, *args, **kwargs):
		self.object = self.get_object()
		self.orderform = GoaOrderForm(request.POST)
		self.formfieldsupdate()
		if self.orderform.is_valid():
			return self.form_valid(self.orderform)
		else:
			return self.form_invalid(self.orderform)
Example #2
0
	def get_object(self, **kwargs):
		try:
			self.goaobj = self.queryset.get(pk=self.kwargs['ads'])
		except ObjectDoesNotExist:
			raise Http404
		else:
			self.queryset.filter(pk=self.kwargs['ads']).update(views=(self.goaobj.views + 1))
			self.orderform = GoaOrderForm()
			self.formfieldsupdate()
			return self.goaobj
Example #3
0
class DetailsView(DetailView):
	context_object_name = 'ad'
	queryset = GoaModel.objects.all().prefetch_related('category', 'currency_price', 'regions', 'goauser')
	template_name = 'detail.html'
	sendorder = False
	valuta = Currency.objects.get(english=u'Any currency')
	goaregion = GoaRegion.objects.get(english=u'All regions')
	def get(self, request, *args, **kwargs):
		if 'addbookmark' in request.GET:
			if not 'bookmarks' in request.session:
				request.session['bookmarks'] = [request.GET['addbookmark']]
			else:
				if request.GET['addbookmark'] not in request.session['bookmarks']:
					request.session['bookmarks'].append(request.GET['addbookmark'])
		if 'currency' in request.GET:
		    self.valuta = Currency.objects.get(english=request.GET['currency'])
		    request.session['valuta'] = self.valuta.english
		if 'region' in request.GET:
		    self.goaregion = GoaRegion.objects.get(english=request.GET['region'])
		    request.session['goaregion'] = self.goaregion.english
		return super(DetailsView, self).get(request, *args, **kwargs)
	def post(self, request, *args, **kwargs):
		self.object = self.get_object()
		self.orderform = GoaOrderForm(request.POST)
		self.formfieldsupdate()
		if self.orderform.is_valid():
			return self.form_valid(self.orderform)
		else:
			return self.form_invalid(self.orderform)
	def form_valid(self, form):
		send_mail(form.cleaned_data['orderheader'], message_pass.order % {'name':self.goaobj.goauser.name, 'adheader':self.goaobj.header, 'email':form.cleaned_data['senderemail'], 'text':form.cleaned_data['textorder']}, from_email, [self.goaobj.goauser.email], html_message=message_pass.orderhtml % {'name':self.goaobj.goauser.name, 'adheader':self.goaobj.header, 'email':form.cleaned_data['senderemail'], 'text':form.cleaned_data['textorder']})
		return redirect(reverse('loturlsendorder', kwargs={'goacategory':self.kwargs['goacategory'], 'goasubcategory':self.kwargs['goasubcategory'], 'ads':self.kwargs['ads'], 'transcription':self.kwargs['transcription']}))
	def form_invalid(self, form):
		return self.render_to_response(self.get_context_data())
	def get_object(self, **kwargs):
		try:
			self.goaobj = self.queryset.get(pk=self.kwargs['ads'])
		except ObjectDoesNotExist:
			raise Http404
		else:
			self.queryset.filter(pk=self.kwargs['ads']).update(views=(self.goaobj.views + 1))
			self.orderform = GoaOrderForm()
			self.formfieldsupdate()
			return self.goaobj
	def formfieldsupdate(self):
		self.orderform.fields['orderheader'].widget.attrs.update({'value':_(u'Вопрос о лоте «%s»') % self.goaobj.header})
	def similar_ads(self):
		keywords = self.goaobj.keywords
		adv = self.queryset.exclude(pk=self.kwargs['ads']).filter(Q(header__icontains=keywords) | Q(keywords__icontains=keywords), sub_category=self.goaobj.sub_category).order_by('-my_exp_date_time')
		return adv.filter(language=get_language())
	def get_context_data(self, **kwargs):
		context = super(DetailsView, self).get_context_data(**kwargs)
		if self.kwargs.get('goacategory', False):
			context['category'] = GoaCategory.objects.get(transcription=self.kwargs.get('goacategory'))
		else:
			context['category'] = False
		if self.kwargs.get('goasubcategory', False):
			context['goasubcategory'] = GoaSubCategory.objects.filter(name_subcategory__transcription=self.kwargs.get('goacategory')).get(transcription=self.kwargs.get('goasubcategory'))
		else:
			context['goasubcategory'] = False
		context['ct'] = menu_category(self.request, self.kwargs.get('goacategory', False))
		context['orderform'] = self.orderform
		context['sendorder'] = self.sendorder
		context['adv'] = self.similar_ads()
		context['seotitle'] = self.goaobj.title if self.goaobj.title else self.goaobj.header
		context['regions'] = GoaRegion.objects.all()
		context['currency'] = Currency.objects.all()
		if u'valuta' in self.request.session:
		    context['valuta'] = Currency.objects.get(english=self.request.session['valuta'])
		else:
		    context['valuta'] = Currency.objects.get(english=u'Any currency')
		if u'goaregion' in self.request.session:
		    context['goaregion'] = GoaRegion.objects.get(english=self.request.session['goaregion'])
		else:
		    context['goaregion'] = GoaRegion.objects.get(english=u'All regions')
		return context
	def render_to_response(self, context, **response_kwargs):
		return render(self.request, self.template_name, context, context_instance=RequestContext(self.request, processors=[footer_category, isauthusergoa, countbookmarks, lengs, headsearchform]))