Ejemplo n.º 1
0
    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()))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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
        })