Package sapproject :: Package models :: Module usuario
[hide private]
[frames] | no frames]

Source Code for Module sapproject.models.usuario

 1  from base import * 
 2  from sqlalchemy.orm import relationship 
 3  from sqlalchemy import Sequence 
 4   
5 -class Usuario(Base):
6 """ 7 Clase que crea la tabla Usuario 8 """ 9 __tablename__ = 'usuario' 10 id = Column(Integer, Sequence('usuario_id_seq'), primary_key=True) 11 ci = Column(Integer, nullable=False, unique=True) 12 nombres = Column(Text, nullable=False) 13 apellidos = Column(Text, nullable=False) 14 email = Column(Text) 15 telefono = Column(Integer) 16 direccion = Column(Text) 17 observaciones = Column(Text) 18 nick = Column(Text, nullable=False, unique=True) 19 password = Column(Text, nullable=False) 20 sexo = Column(Text, nullable=False) 21 fechanac = Column(Text, nullable=False) 22 # roles 23 # proyectos 24 roles_x_proyecto = relationship("ProyectoUsuarioRol") 25
26 - def __init__(self, ci, nombres, apellidos, nick, password, email, telefono, direccion, observaciones, sexo, fechanac):
27 """ 28 Metodo de instancia constructor que inicializa los parametros del objeto usuario 29 @type self: usuario 30 @param self: referencia al objeto que llama el metodo en este caso usuario. 31 @type ci: Integer 32 @param ci: campo que almacenara la cedula del usuario. 33 @type nombres: Text 34 @param nombres: campo que almacenara los nombres del usuario. 35 @type apellidos: Text 36 @param apellidos: campo que almacenara los apellidos del usuario. 37 @type email: Text 38 @param email: campo que almacenara el correo electronico del usuario. 39 @type telefono: Integer 40 @param telefono: campo que almacenara el telefono del usuario. 41 @type direccion: Text 42 @param direccion: campo que almacenara la direccion del usuario. 43 @type observaciones: Text 44 @param observaciones: campo que almacenara alguna observacion sobre el usuario. 45 @type nick: Text 46 @param nick: campo que almacenara el nombre de usuario del usuario en el sistema. 47 @type password: Text 48 @param password: campo que almacenara la contrasenha del usuario en el sistema. 49 @type sexo: Text 50 @param sexo: campo que almacenara el sexo del usuario. 51 @type fechanac: Date 52 @param nick: campo que almacenara la fecha de nacimiento del usuario. 53 """ 54 self.ci = ci 55 self.nombres = nombres 56 self.apellidos = apellidos 57 self.nick = nick 58 self.password = password 59 self.email = email 60 self.telefono = telefono 61 self.direccion = direccion 62 self.observaciones =observaciones 63 self.sexo = sexo 64 self.fechanac = fechanac
65
66 - def eliminar_dependencias(self):
67 """ 68 Metodo de instancia que elimina todas los relaciones de un registro de la tabla Usuarios 69 para que pueda ser eliminado. 70 @type self: usuario 71 @param self: referencia al objeto que llama el metodo en este caso usuario. 72 """ 73 # En tabla proyectousuario 74 for p in self.proyectos: 75 DBSession.delete(p) 76 # En tabla rolusuario 77 for r in self.roles: 78 DBSession.delete(r) 79 # En tabla proyectousuariorol 80 for ur in self.roles_x_proyecto: 81 DBSession.delete(ur)
82
83 -def groupfinder(userid, request):
84 usuario = DBSession.query(Usuario).filter_by(nick=userid).first() 85 if usuario is None: 86 return None 87 return ['admin']
88