예제 #1
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def editUser(userid):
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    user = dbs.query(model.User).get(userid)
    dbs.close()
    return template('admin_includes/addUser', user=user, text='Editar')
예제 #2
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def addUser():
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    renewPass = True
    if request.forms.id:
        userI = dbs.query(model.User).get(request.forms.id)
        if not request.forms.password:
            renewPass = False
    else:
        userI = model.User()

    salt = uuid.uuid4().hex
    hashed_password = hashlib.sha1(request.forms.password + salt).hexdigest()
    userI.Username = request.forms.name
    userI.Email = request.forms.email

    if renewPass:
        userI.Password = hashed_password
        userI.Hash = salt

    userI.Credit = request.forms.credits

    userI.IsAdmin = False
    dbs.add(userI)
    dbs.commit()
    dbs.close()
    redirect('/admin/users/ok')
예제 #3
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def editUser(userid):
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	user = dbs.query(model.User).get(userid)
	dbs.close()
	return template('admin_includes/addUser', user=user, text='Editar')
예제 #4
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def addUser():
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	renewPass = True
	if request.forms.id :
		userI = dbs.query(model.User).get(request.forms.id)
		if not request.forms.password :
			renewPass = False
	else:
		userI = model.User()
	
	salt = uuid.uuid4().hex
	hashed_password = hashlib.sha1(request.forms.password + salt).hexdigest()
	userI.Username = request.forms.name
	userI.Email = request.forms.email
	
	if renewPass :
		userI.Password = hashed_password
		userI.Hash = salt
	
	userI.Credit = request.forms.credits
	
	userI.IsAdmin = False
	dbs.add(userI)
	dbs.commit()
	dbs.close()
	redirect('/admin/users/ok')
예제 #5
0
def buy(leadId):
	user = login.checkSession()
	dbs = model.Session()
	T = model.Transaction()
	T.User_Id = user.Id
	T.Lead_Id =  leadId
	dbs.add(T)
	
	cLog = model.CreditsLogs()
	cLog.User = user.Id
	cLog.Type = 'Buy'
	cLog.Date = datetime.now()
	cLog.Quantity = 1
	dbs.add(cLog)
	
	if user.Credit > 0:
		user.Credit = user.Credit - 1 
	else :
		return 'no'
	
	dbs.add(user)
	dbs.commit()
	
	dbs.close()
	redirect('/leads')
예제 #6
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def userList(status=None):
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	userList = dbs.query(model.User).filter(model.User.IsAdmin != True).all()
	dbs.close()
	
	return template('admin_includes/userList', content=userList, stats=status, user=user)
예제 #7
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def deleteLead(uId):
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    User = dbs.query(model.User).get(uId)
    dbs.delete(User)
    dbs.commit()
    dbs.close()
    redirect('/admin/users')
예제 #8
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def deleteLead(uId):
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	User = dbs.query(model.User).get(uId)
	dbs.delete(User)
	dbs.commit()
	dbs.close()
	redirect('/admin/users')
예제 #9
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def deleteLead(leadId):
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    Lead = dbs.query(model.Lead).get(leadId)
    dbs.delete(Lead)
    dbs.commit()
    dbs.close()
    redirect('/admin/leads')
예제 #10
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def deleteLead(leadId):
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	Lead = dbs.query(model.Lead).get(leadId)
	dbs.delete(Lead)
	dbs.commit()
	dbs.close()
	redirect('/admin/leads')
예제 #11
0
def addCredits():
    user = login.checkSession()
    qty = request.forms.quantity
    if qty:
        payload = {}
        payload['success'] = True
        #TO DO send email
        return payload
    else:
        return template('user_includes/addCredits', user=user)
예제 #12
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def userList(status=None):
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    userList = dbs.query(model.User).filter(model.User.IsAdmin != True).all()
    dbs.close()

    return template('admin_includes/userList',
                    content=userList,
                    stats=status,
                    user=user)
예제 #13
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def removeUser(userid):
	user = login.checkSession()
	login.checkIsAdmin()
	dbs = model.Session()
	userI = dbs.query(model.User).get(userid)
	dbs.delete(userI)
	dbs.commit()
	dbs.close()
	payload = {}
	payload['success'] = True
	return payload
예제 #14
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def removeUser(userid):
    user = login.checkSession()
    login.checkIsAdmin()
    dbs = model.Session()
    userI = dbs.query(model.User).get(userid)
    dbs.delete(userI)
    dbs.commit()
    dbs.close()
    payload = {}
    payload['success'] = True
    return payload
예제 #15
0
def detail(idL):
    dbs = model.Session()
    user = login.checkSession()
    lead = dbs.query(model.Lead).filter(model.Lead.Id == idL).first()

    if lead.Users:
        lead.Users[0].Id == user.Id
    else:
        lead = None

    dbs.close()
    return template('user_includes/leadDetail', content=lead, user=user)
예제 #16
0
def buy(leadId):
    user = login.checkSession()
    dbs = model.Session()
    lead = dbs.query(model.Lead).filter(model.Lead.Id == leadId).first()

    totalTransactions = 0
    maxBuyers = lead.MaxBuyers
    canBuy = False

    #Load the transactions for the lead
    if lead.Users:
        totalTransactions = len(lead.Users)
        #lead.Users[0].Id == user.Id

    #Check if can I buy the Lead
    if totalTransactions < maxBuyers:
        canBuy = True

    #Check if the current user have credits
    if user.Credit > 0:
        user.Credit = user.Credit - 1
    else:
        return 'No tienes suficientes Creditos para comprar'  #TO DO Page: you don't have enought credits

    if canBuy:
        #save Transactions
        T = model.Transaction()
        T.User_Id = user.Id
        T.Lead_Id = leadId
        dbs.add(T)

        # Save the log
        cLog = model.CreditsLogs()
        cLog.User = user.Id
        cLog.Type = 'Buy'
        cLog.Date = datetime.now()
        cLog.Quantity = 1
        dbs.add(cLog)

        #Save User
        dbs.add(user)
        dbs.commit()
        dbs.close()
        redirect('/lead/detail/' + leadId)

    else:

        return str(lead.MaxBuyers) + ' Total Compras:' + str(totalTransactions)
    '''
예제 #17
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def addUser():
    # template con form
    user = login.checkSession()
    login.checkIsAdmin()
    return template('admin_includes/addUser', user=None, text='')
예제 #18
0
def leadList(filter='all'):
    #dbs = model.Session()
    #leadList = dbs.query(model.Lead).all()
    #dbs.close()
    user = login.checkSession()
    return template('user_includes/home_user', content=filter, user=user)
예제 #19
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def admin() :
	user = login.checkSession()
	login.checkIsAdmin()
	redirect('/admin/users')
예제 #20
0
def leadList():
	dbs = model.Session()

	page = request.forms.page
	qtype = request.forms.qtype
	query = request.forms.query
	rp = request.forms.rp
	sortname = request.forms.sortname
	sortorder = request.forms.sortorder
	user = login.checkSession()

	
	if int(page) == 1:
		first = 0
		last = int(rp) * int(page)
	else:
		first = (int(rp) * int(page) ) - int(rp)
		last = int(rp) + (int(rp) * int(page))
		
	# SORT ORDER
	if sortname == 'name':
		sortname = model.Lead.Name
	elif sortname == 'date':
		sortname = model.Lead.Date
	elif sortname == 'brand':
		sortname = model.Lead.Brand
	elif sortname == 'price':
		sortname = model.Lead.Price
	elif sortname == 'fuell':
		sortname = model.Lead.Fuel
	elif sortname == 'id':
		sortname = model.Lead.Id
	else :
		sortname = model.Lead.Date
	
	#ORDER BY
	if sortorder == 'asc':	
		if query :
			leadList = dbs.query(model.Lead).order_by(sortname.asc()).filter(model.Lead.Brand.like('%'+query+'%'))
		else:
			leadList = dbs.query(model.Lead).order_by(sortname.asc())
	else:
		if query :
			leadList = dbs.query(model.Lead).order_by(sortname.desc()).filter(model.Lead.Brand.like('%'+query+'%'))
		else:
			leadList = dbs.query(model.Lead).order_by(sortname.desc())
	total = leadList.count()	
	leadList = leadList.order_by(model.Lead.Id)[first:last]
	leads = []

	for lead in leadList :
		leadItem = {}
		leadItem['cell'] = {}
		leadItem['id']  = lead.Id
		leadItem['cell']['name']  = 'XXXXXXXXXXX'
		leadItem['cell']['phone']  = 'XXXXXXXXXXX'
		leadItem['cell']['email']  = 'XXXXXXXXXXX'
		leadItem['cell']['id']  = lead.Id
		leadItem['cell']['price']  = lead.Price
		leadItem['cell']['brand']  = lead.Brand
		leadItem['cell']['fuell']  = lead.Fuel
		
		leadItem['cell']['model']  = lead.Model
		leadItem['cell']['comments']  = lead.Comments
		leadItem['cell']['type']  = lead.Type
		
		
		
		status = ''
		
		if not lead.Users:
		  status = '<a href="/buy/'+str(lead.Id)+'" class="btn-mini btn-inverse btn"><i class="icon-shopping-cart icon-white"></i> Comprar</a>'
		else: 
			if lead.Users[0].Id == user.Id:
				status = '<a href="#" class="btn-mini btn-success btn"><i class="icon-zoom-in icon-white"></i> Ver Lead</a>'
				leadItem['cell']['name']  = lead.Name
				leadItem['cell']['phone']  = lead.Phone
				leadItem['cell']['email']  = lead.Email
			else :
				status = '<a href="#" class="btn-mini btn-danger disabled btn">Vendido</a>'
			
		leadItem['cell']['year'] = lead.Year
		leadItem['cell']['date'] = lead.Date.strftime("%d-%m-%Y %H:%M")
		leadItem['cell']['action'] =  status
		leads.append(leadItem)
		
	json_dict = {
	'page': page,
	'total': total,
	'rows': leads
	}
	dbs.close
	return  json.dumps(json_dict)
	
	'''
예제 #21
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def admin():
    user = login.checkSession()
    login.checkIsAdmin()
    redirect('/admin/users')
예제 #22
0
def leadList(filter=''):
    dbs = model.Session()

    page = request.forms.page
    qtype = request.forms.qtype
    query = request.forms.query
    rp = request.forms.rp
    sortname = request.forms.sortname
    sortorder = request.forms.sortorder
    user = login.checkSession()

    if int(page) == 1:
        first = 0
        last = int(rp) * int(page)
    else:
        first = (int(rp) * int(page)) - int(rp)
        last = int(rp) + (int(rp) * int(page))

    # SORT ORDER
    if sortname == 'name':
        sortname = model.Lead.Name
    if sortname == 'model':
        sortname = model.Lead.Model
    elif sortname == 'date':
        sortname = model.Lead.Date
    elif sortname == 'brand':
        sortname = model.Lead.Brand
    elif sortname == 'price':
        sortname = model.Lead.Price
    elif sortname == 'type':
        sortname = model.Lead.Type
    elif sortname == 'fuell':
        sortname = model.Lead.Fuel
    elif sortname == 'id':
        sortname = model.Lead.Id
    else:
        sortname = model.Lead.Date

    # SORT ORDER
    if qtype == 'name':
        qtype = model.Lead.Name
    if qtype == 'model':
        qtype = model.Lead.Model
    elif qtype == 'date':
        qtype = model.Lead.Date
    elif qtype == 'brand':
        qtype = model.Lead.Brand
    elif qtype == 'price':
        qtype = model.Lead.Price
    elif qtype == 'type':
        qtype = model.Lead.Type
    elif qtype == 'fuell':
        qtype = model.Lead.Fuel
    elif qtype == 'id':
        qtype = model.Lead.Id
    else:
        qtype = model.Lead.Date

    #ORDER BY
    if sortorder == 'asc':
        if query:

            if filter == 'my':
                leadList = dbs.query(model.Lead).order_by(
                    sortname.asc()).filter(
                        and_(model.Lead.Users.any(Id=user.Id)),
                        (qtype.like('%' + query + '%')))
            else:
                leadList = dbs.query(model.Lead).order_by(
                    sortname.asc()).filter(qtype.like('%' + query + '%'))

        else:
            if filter == 'my':
                leadList = dbs.query(model.Lead).order_by(
                    sortname.asc()).filter(model.Lead.Users.any(Id=user.Id))
            else:
                leadList = dbs.query(model.Lead).order_by(sortname.asc())

    else:
        if query:

            if filter == 'my':
                leadList = dbs.query(model.Lead).order_by(
                    sortname.desc()).filter(
                        and_(model.Lead.Users.any(Id=user.Id)),
                        (qtype.like('%' + query + '%')))
            else:
                leadList = dbs.query(model.Lead).order_by(
                    sortname.desc()).filter(qtype.like('%' + query + '%'))

        else:
            if filter == 'my':
                leadList = dbs.query(model.Lead).order_by(
                    sortname.desc()).filter(model.Lead.Users.any(Id=user.Id))
            else:
                leadList = dbs.query(model.Lead).order_by(sortname.desc())

    total = leadList.count()
    leadList = leadList.order_by(model.Lead.Id)[first:last]
    leads = []

    for lead in leadList:
        leadItem = {}
        leadItem['cell'] = {}
        leadItem['id'] = lead.Id
        leadItem['cell']['name'] = 'XXXXXX'
        leadItem['cell']['phone'] = 'XXXXXX'
        leadItem['cell']['email'] = 'XXXXXX'
        leadItem['cell']['id'] = lead.Id
        leadItem['cell']['price'] = lead.Price
        leadItem['cell']['brand'] = lead.Brand  #MaxBuyers #Brand
        leadItem['cell']['fuell'] = lead.Fuel
        leadItem['cell']['model'] = lead.Model
        leadItem['cell']['comments'] = lead.Comments
        leadItem['cell']['type'] = lead.Type

        status = ''

        if not lead.Users:
            status = '<a onclick="confirmBuy(\'' + str(
                lead.Id
            ) + '\', \'' + str(
                lead.Brand
            ) + '\')" href="javascript:;" class="btn-mini btn-success btn"><i class="icon-ok icon-white"></i> Obtener</a>'
        else:
            if (lead.MaxBuyers > len(lead.Users)):
                haveLead = False
                for u in lead.Users:
                    if u.Id == user.Id:
                        haveLead = True
                        break

                if haveLead:
                    status = '<a href="/lead/detail/' + str(
                        lead.Id
                    ) + '" class="btn-mini btn-info btn"><i class="icon-zoom-in icon-white"></i> Ver Info</a>'
                    leadItem['cell']['name'] = lead.Name
                    leadItem['cell']['phone'] = lead.Phone
                    leadItem['cell']['email'] = lead.Email

                else:
                    status = '<a onclick="confirmBuy(\'' + str(
                        lead.Id
                    ) + '\', \'' + str(
                        lead.Brand
                    ) + '\')" href="javascript:;" class="btn-mini btn-success btn"><i class="icon-ok icon-white"></i> Obtener</a>'

                #if lead.Users[0].Id == user.Id:

            else:
                haveLead = False
                for u in lead.Users:
                    if u.Id == user.Id:
                        haveLead = True
                        break
                if haveLead:
                    status = '<a href="/lead/detail/' + str(
                        lead.Id
                    ) + '" class="btn-mini btn-info btn"><i class="icon-zoom-in icon-white"></i> Ver Info</a>'
                    leadItem['cell']['name'] = lead.Name
                    leadItem['cell']['phone'] = lead.Phone
                    leadItem['cell']['email'] = lead.Email

                else:
                    status = '<a href="#" class="btn-mini btn-danger disabled btn">No Disponible</a>'

        leadItem['cell']['year'] = lead.Year
        if (lead.Date.date() == datetime.today().date()):
            leadItem['cell']['date'] = '<b>Hoy a las ' + lead.Date.strftime(
                "%H:%M") + '</b>'

        else:
            leadItem['cell']['date'] = lead.Date.strftime("%d-%m-%Y %H:%M")

        leadItem['cell']['action'] = status
        leads.append(leadItem)

    json_dict = {'page': page, 'total': total, 'rows': leads}
    dbs.close
    return json.dumps(json_dict)
    '''
예제 #23
0
def leadList(filter='all'):
	#dbs = model.Session()
	#leadList = dbs.query(model.Lead).all()
	#dbs.close()
	user = login.checkSession()
	return template('user_includes/home_user', content=filter, user=user)
예제 #24
0
def userHome():
    user = login.checkSession()
    return template('user_includes/home_user', user=user)
예제 #25
0
파일: admin.py 프로젝트: Pirata21/motor-tip
def addUser():
	# template con form
	user = login.checkSession()
	login.checkIsAdmin()
	return template('admin_includes/addUser', user=None, text='')
예제 #26
0
def userHome():
	user = login.checkSession()
	return template('user_includes/home_user', user=user)