Exemple #1
0
def initBidInfo(request, *args, **kwargs):
    """Init bid info, include bid num, current price, bid min price."""
    initParam = kwargs.get('initParam')
    app = kwargs.get('app')
    bids_len = app.bidding_set.count()
    initParam['bid_num'] = bids_len
    if bids_len:
        max_price = app.bidding_set.filter(status=1).aggregate(Max('price'))
        initParam['current_price'] = max_price.get('price__max')
    else:
        initParam['current_price'] = app.begin_price
    if initParam['current_price']:
        initParam['bid_price'] = initParam['current_price'] + app.minimum_bid
    else:
        initParam['current_price'] = 0
        initParam['bid_price'] = app.minimum_bid
    initParam['begin_bid'] = False
    # current_date = datetime.datetime.combine(datetime.date.today(), datetime.time())
    current_date = datetime.datetime.now()
    if app.status == 2 and app.begin_date and app.end_date:
        if current_date >= app.begin_date:
            if current_date < app.end_date:
                initParam['begin_bid'] = True
            initParam['time_remaining'] = time.mktime(time.strptime(str(app.end_date), '%Y-%m-%d %H:%M:%S'))
        else:
            initParam['time_remaining'] = time.mktime(time.strptime(str(app.begin_date), '%Y-%m-%d %H:%M:%S'))
    elif app.status == 3:
        initParam['time_remaining'] = common.dateBefore(app.end_date)
Exemple #2
0
def tradeAction(request, *args, **kwargs):
    """Query trade status."""
    initParam = {}
    user_id = string.atoi(kwargs.get('user_id'))
    app_id = kwargs.get('app_id')
    action = kwargs.get('action')
    if 'sell' == action and user_id == request.user.id:
        transaction = get_object_or_404(models.Transaction,
                                        app_id=app_id,
                                        seller_id=user_id,
                                        is_active=True)
    elif 'buy' == action and user_id == request.user.id:
        transaction = get_object_or_404(models.Transaction,
                                        app_id=app_id,
                                        buyer_id=user_id)
        if transaction.status == 2:
            token = common.getToken(key='token_length', default=30)
            initParam['pay_url'] = '/'.join([
                common.getHttpHeader(request), 'transaction/buyer-pay',
                str(app_id),
                str(transaction.id), token
            ])
    else:
        raise Http404

    support_user = common.getSystemParam(key='support_user',
                                         default='appswalk')
    support_users = models.User.objects.filter(username=support_user)
    if support_users:
        initParam['support_user'] = support_users[0]
    else:
        log.error(_('Support user account does not exist.'))

    initParam['transaction'] = transaction
    if transaction.status == 2 or transaction.status == 3:
        if transaction.end_time > datetime.datetime.now():
            initParam['time_remaining'] = time.mktime(
                time.strptime(
                    transaction.end_time.strftime('%Y-%m-%d %H:%M:%S'),
                    '%Y-%m-%d %H:%M:%S'))
        else:
            initParam['time_remaining'] = "Deal Closed"
            initParam['paid_expiry'] = True
        if tradeOperation(request,
                          transaction=transaction,
                          initParam=initParam):
            return redirect(request.path)
    elif transaction.status == 4:
        initParam['time_remaining'] = common.dateBefore(transaction.end_time)

        initParam['seller_txn'] = creditViews.getAppraisement(
            user_id=transaction.seller.id, txn_id=transaction.id)
        initParam['buyer_txn'] = creditViews.getAppraisement(
            user_id=transaction.buyer.id, txn_id=transaction.id)
        if creditViews.createAppraisement(request, initParam=initParam):
            return redirect(request.path)

    return render_to_response('transaction/trade_action.html',
                              initParam,
                              context_instance=RequestContext(request))
Exemple #3
0
def tradeAction(request, *args, **kwargs):
    """Query trade status."""
    initParam = {}
    user_id = string.atoi(kwargs.get('user_id'))
    app_id = kwargs.get('app_id')
    action = kwargs.get('action')
    if 'sell' == action and user_id == request.user.id:
        transaction = get_object_or_404(models.Transaction, app_id=app_id, seller_id=user_id, is_active=True)
    elif 'buy' == action and user_id == request.user.id:
        transaction = get_object_or_404(models.Transaction, app_id=app_id, buyer_id=user_id)
        if transaction.status == 2:
            token = common.getToken(key='token_length', default=30)
            initParam['pay_url'] = '/'.join([common.getHttpHeader(request), 'transaction/buyer-pay', str(app_id), str(transaction.id), token])
    else:
        raise Http404

    support_user = common.getSystemParam(key='support_user', default='appswalk')
    support_users = models.User.objects.filter(username=support_user)
    if support_users:
        initParam['support_user'] = support_users[0]
    else:
        log.error(_('Support user account does not exist.'))

    initParam['transaction'] = transaction
    if transaction.status == 2 or transaction.status == 3:
        if transaction.end_time > datetime.datetime.now():
            initParam['time_remaining'] = time.mktime(time.strptime(transaction.end_time.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S'))
        else:
            initParam['time_remaining'] = "Deal Closed"
            initParam['paid_expiry'] = True
        if tradeOperation(request, transaction=transaction, initParam=initParam):
            return redirect(request.path)
    elif transaction.status == 4:
        initParam['time_remaining'] = common.dateBefore(transaction.end_time)

        initParam['seller_txn'] = creditViews.getAppraisement(user_id=transaction.seller.id, txn_id=transaction.id)
        initParam['buyer_txn'] = creditViews.getAppraisement(user_id=transaction.buyer.id, txn_id=transaction.id)
        if creditViews.createAppraisement(request, initParam=initParam):
            return redirect(request.path)

    return render_to_response('transaction/trade_action.html', initParam, context_instance=RequestContext(request))