def preprocess(self, context): if context.account.is_authenticated(): return if context.django_request.is_ajax(): raise dext_exceptions.ViewError(code='common.login_required', message=u'У Вас нет прав для проведения данной операции') return dext_views.Redirect(target_url=self.login_page_url(context.django_request.get_full_path()))
def purchase(context): if not context.lot.state.is_ACTIVE: raise dext_utils_exceptions.ViewError( code='wrong_lot_state', message='Вы не можете приобрести этот лот') if context.lot.seller_id == context.account.id: raise dext_utils_exceptions.ViewError( code='can_not_purchase_own_lot', message='Нельзя приобрести свой лот') if context.account.bank_account.amount < context.lot.price: raise dext_utils_exceptions.ViewError( code='no_money', message='Не хватает средств для приобретения лота') task = logic.purchase_lot(context.account.id, context.lot) return dext_views.AjaxProcessing(status_url=task.status_url)
def create(context): if logic.has_lot(context.account.id, context.good.uid): raise dext_utils_exceptions.ViewError( code='lot_exists', message=u'Вы уже выставили этот предмет на продажу') task = logic.send_good_to_market(seller_id=context.account.id, good=context.good, price=context.form.c.price) return dext_views.AjaxProcessing(status_url=task.status_url)
def new_dialog(context): if logic.has_lot(context.account.id, context.good.uid): raise dext_utils_exceptions.ViewError( code='lot_exists', message=u'Вы уже выставили этот предмет на продажу') return dext_views.Page( 'market/new_dialog.html', content={ 'context': context, 'form': forms.PriceForm(initial={'price': conf.settings.MINIMUM_PRICE}), 'resource': context.resource, 'commission': conf.settings.COMMISSION })