예제 #1
0
def charge(request):
	try:
		DB_STR = request.registry.settings['sqlalchemy.url']
		dbCon = DBCon(DB_STR)
		request_params = request.params
		amount = int(float(request_params.get('amount'))*100)
		user_id = request_params.get('user_id')
		deal_id = request_params.get('deal_id')
		qry = "select * from users u join user_deals ud on u.id = ud.user_id where ud.status = 'claimed' and u.id = %s and ud.deal_id = %s" %(user_id, deal_id)		
		user = dbCon.fetch_one(qry)		
		stripe.api_key = request.registry.settings['stripe.api_key']
		charge_id = chargeStripeCustomer(user['customer_id'], user['card_id'], amount)

		qry = "update user_deals set status = 'close' where user_id = %s and deal_id = %s" %(user_id, deal_id)
		dbCon.update(qry)

		return {
			'status': 'success',
			'data': {
				'charge_id': charge_id
			}
		}
	except:	
		traceback.print_exc()	
		return {
			'status': 'error',
			'data': {
				'msg': "server side error"
			}
		}
예제 #2
0
def createOwner(request):
    try:
        DB_STR = request.registry.settings['sqlalchemy.url']
        dbCon = DBCon(DB_STR)
        request_params = request.params
        phone = request_params.get('phone')
        password = request_params.get('password')
        if not (password and phone):
            return {
                'status': 'error',
                'data': {
                    'msg': "empty phone/password not allowed"
                }
            }
        qry = "select * from restaurant_owners where phone = '%s'" % (phone)
        owner = dbCon.fetch_one(qry)
        if owner and str(owner['password']) == str(password):
            return {'status': 'success', 'data': {'owner_id': owner['id']}}
        elif owner:
            return {'status': 'error', 'data': {'msg': "wrong password"}}
        else:
            qry = "insert into restaurant_owners values (null, '%s', '%s')" % (
                password, phone)
            owner_id = dbCon.insert(qry)
            return {'status': 'success', 'data': {'owner_id': owner['id']}}
    except:
        return {'status': 'error', 'data': {'msg': "server side error"}}
예제 #3
0
def create(request):
	try:
		DB_STR = request.registry.settings['sqlalchemy.url']
		dbCon = DBCon(DB_STR)
		request_params = request.params
		name = request_params['name']
		phone = request_params['phone']
		token = request_params['token']
		if not (phone and token):
			return {
				'status': 'error',
				'data': {
					'msg': "empty phone/token not allowed"
					}
			}
		device_token = request_params.get('device_token')
		if not device_token:
			device_token = ''
		phone = phone.replace('-','').replace('+','')
		if len(phone) == 10:
			phone = '91' + phone
		qry = "select * from users where phone = '%s'" %(phone)
		user = dbCon.fetch_one(qry)
		if user:
			return {
				'status': 'success',
				'data': {
					'user_id': user['id']
				}
			}
		stripe.api_key = request.registry.settings['stripe.api_key']	
		customer_id, card_id = createStripeCustomer(token)
		if not (phone and token):
			return {
				'status': 'error',
				'data': {
					'msg': "empty phone not allowed"
					}
			}		
		qry = "insert into users values (null, '%s', '%s', '%s', '%s', '%s')" %(name, device_token, phone, card_id, customer_id)
		print qry
		user_id = dbCon.insert(qry)
		print user_id
		return {
			'status': 'success',
			'data': {
				'user_id': user_id
			}
		}
	except:	
		traceback.print_exc()	
		return {
			'status': 'error',
			'data': {
				'msg': "server side error"
			}
		}
예제 #4
0
def createOwner(request):
	try:
		DB_STR = request.registry.settings['sqlalchemy.url']
		dbCon = DBCon(DB_STR)
		request_params = request.params
		phone = request_params.get('phone')
		password = request_params.get('password')
		if not (password and phone):
			return {
				'status': 'error',
				'data': {
					'msg': "empty phone/password not allowed"
					}
			}
		qry = "select * from restaurant_owners where phone = '%s'" %(phone)
		owner = dbCon.fetch_one(qry)		
		if owner and str(owner['password']) == str(password):
			return {
				'status': 'success',
				'data': {
					'owner_id': owner['id']
				}
			}
		elif owner:
			return {
				'status': 'error',
				'data': {
					'msg': "wrong password"
					}
			}
		else:
			qry = "insert into restaurant_owners values (null, '%s', '%s')" %(password, phone)
			owner_id = dbCon.insert(qry)
			return {
				'status': 'success',
				'data': {
					'owner_id': owner['id']
				}
			}
	except:			
		return {
			'status': 'error',
			'data': {
				'msg': "server side error"
			}
		}
예제 #5
0
def create(request):
    try:
        DB_STR = request.registry.settings['sqlalchemy.url']
        dbCon = DBCon(DB_STR)
        request_params = request.params
        name = request_params['name']
        phone = request_params['phone']
        token = request_params['token']
        if not (phone and token):
            return {
                'status': 'error',
                'data': {
                    'msg': "empty phone/token not allowed"
                }
            }
        device_token = request_params.get('device_token')
        if not device_token:
            device_token = ''
        phone = phone.replace('-', '').replace('+', '')
        if len(phone) == 10:
            phone = '91' + phone
        qry = "select * from users where phone = '%s'" % (phone)
        user = dbCon.fetch_one(qry)
        if user:
            return {'status': 'success', 'data': {'user_id': user['id']}}
        stripe.api_key = request.registry.settings['stripe.api_key']
        customer_id, card_id = createStripeCustomer(token)
        if not (phone and token):
            return {
                'status': 'error',
                'data': {
                    'msg': "empty phone not allowed"
                }
            }
        qry = "insert into users values (null, '%s', '%s', '%s', '%s', '%s')" % (
            name, device_token, phone, card_id, customer_id)
        print qry
        user_id = dbCon.insert(qry)
        print user_id
        return {'status': 'success', 'data': {'user_id': user_id}}
    except:
        traceback.print_exc()
        return {'status': 'error', 'data': {'msg': "server side error"}}
예제 #6
0
def charge(request):
    try:
        DB_STR = request.registry.settings['sqlalchemy.url']
        dbCon = DBCon(DB_STR)
        request_params = request.params
        amount = int(float(request_params.get('amount')) * 100)
        user_id = request_params.get('user_id')
        deal_id = request_params.get('deal_id')
        qry = "select * from users u join user_deals ud on u.id = ud.user_id where ud.status = 'claimed' and u.id = %s and ud.deal_id = %s" % (
            user_id, deal_id)
        user = dbCon.fetch_one(qry)
        stripe.api_key = request.registry.settings['stripe.api_key']
        charge_id = chargeStripeCustomer(user['customer_id'], user['card_id'],
                                         amount)

        qry = "update user_deals set status = 'close' where user_id = %s and deal_id = %s" % (
            user_id, deal_id)
        dbCon.update(qry)

        return {'status': 'success', 'data': {'charge_id': charge_id}}
    except:
        traceback.print_exc()
        return {'status': 'error', 'data': {'msg': "server side error"}}