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)
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))
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))