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')
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')
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')
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')
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)
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')
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')
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)
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
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)
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) '''
def addUser(): # template con form user = login.checkSession() login.checkIsAdmin() return template('admin_includes/addUser', user=None, text='')
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)
def admin() : user = login.checkSession() login.checkIsAdmin() redirect('/admin/users')
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) '''
def admin(): user = login.checkSession() login.checkIsAdmin() redirect('/admin/users')
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) '''
def userHome(): user = login.checkSession() return template('user_includes/home_user', user=user)