Esempio n. 1
0
class TipoDeItem(db.Model):
    """ Modelo de Tipo de Item """
    __tablename__ = 'TipoDeItem'

    idTipoDeItem = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    descripcion = db.Column(db.String(150))

    # one to many: Relaciona Fase x Tipo de Item
    faseId = db.Column(db.Integer, db.ForeignKey('Fase.idFase'))

    # one to many: Relaciona Proyecto x Tipo de Item
    proyectoId = db.Column(db.Integer, db.ForeignKey('Proyecto.idProyecto'))

    # one to many: Relaciona Tipo de Item x Item
    listaItem = db.relationship('Item', backref='tipoDeItem', lazy='dynamic')

    # many to many: Relaciona Tipo de Item x Tipo de Atributo
    atributosItem = db.relationship('TipoDeAtributo',
                                    secondary=atributosItem,
                                    backref=db.backref('tipoDeItem',
                                                       lazy='dynamic'))

    def __init__(self, nombre=None, descripcion=None):
        """ constructor de tipo de item """
        self.nombre = nombre
        self.descripcion = descripcion

    def __repr__(self):
        return self.nombre
Esempio n. 2
0
class LineaBase(db.Model):
    """ Modelo de Linea Base"""
    __tablename__ = 'LineaBase'

    idLineaBase = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    descripcion = db.Column(db.String(150))
    estado = db.Column(db.String(20), default='Activo', nullable=False)

    # many to many: Relaciona LineaBase x Item
    itemsLB = db.relationship('Item',
                              secondary=itemsLB,
                              backref=db.backref('lineaBases', lazy='dynamic'))

    # one to many: Relaciona Linea Base x fase
    faseId = db.Column(db.Integer, db.ForeignKey('Fase.idFase'))

    def __init__(self, nombre=None, descripcion=None, fase=None):
        """ constructor de linea base """
        self.nombre = nombre
        self.descripcion = descripcion
        self.Fase = fase

    def __repr__(self):
        return self.nombre
Esempio n. 3
0
class Proyecto(db.Model):
    """ Modelo de Proyecto """
    __tablename__ = 'Proyecto'

    idProyecto = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    descripcion = db.Column(db.String(150))
    presupuesto = db.Column(db.Integer)
    fechaDeCreacion = db.Column(db.DateTime,
                                default=datetime.now(),
                                nullable=False)
    estado = db.Column(db.String(20), default='Pendiente', nullable=False)

    # one to many: Relaciona Proyecto x Fase
    listafases = db.relationship('Fase', backref='Proyecto', lazy='dynamic')

    # many to many: Relaciona Proyecto x User
    users = db.relationship('User',
                            secondary=users,
                            backref=db.backref('proyectos', lazy='dynamic'))

    # one to many: Relaciona Proyecto x Tipo de Item
    listaTipoDeItem = db.relationship('TipoDeItem',
                                      backref='Proyecto',
                                      lazy='dynamic')

    # one to many: Relaciona Proyecto x Ususario(Lider)
    lider = db.Column(db.Integer, db.ForeignKey('User.idUser'))

    def __init__(self,
                 nombre=None,
                 descripcion=None,
                 presupuesto=None,
                 listafases=[None]):
        """ constructor de Proyecto """
        self.nombre = nombre
        self.descripcion = descripcion
        self.presupuesto = presupuesto
        self.listafases = listafases

    def __repr__(self):
        return self.nombre
Esempio n. 4
0
class Fase(db.Model):
    """ Modelo de Fase """
    __tablename__ = 'Fase'

    idFase = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    descripcion = db.Column(db.String(150))
    estado = db.Column(db.String(20), default='Pendiente', nullable=False)
    orden = db.Column(db.Integer, nullable=False)
    fechaDeCreacion = db.Column(db.DateTime,
                                default=datetime.now(),
                                nullable=False)

    # one to many: Relaciona Proyecto x Fase
    proyectoId = db.Column(db.Integer, db.ForeignKey('Proyecto.idProyecto'))

    # one to many: Relaciona Fase x Tipo de Item
    listaTipoDeItem = db.relationship('TipoDeItem',
                                      backref='Fase',
                                      lazy='dynamic')

    # one to many: Relaciona Fase x Item
    listaItem = db.relationship('Item', backref='Fase', lazy='dynamic')

    # one to many: Relaciona Fase x Linea Base
    listaLineaBase = db.relationship('LineaBase',
                                     backref='Fase',
                                     lazy='dynamic')

    def __init__(self, nombre=None, descripcion=None, orden=None):
        """ constructor de fase """
        self.nombre = nombre
        self.descripcion = descripcion
        self.orden = orden

    def __repr__(self):
        return self.nombre
Esempio n. 5
0
class Rol(db.Model):
    """ Modelo de Rol """
    __tablename__ = 'Rol'

    idRol = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    ambito = db.Column(
        db.String(45))  # corresponde al proyecto en el cual se creo
    descripcion = db.Column(db.String(150))

    # many to many: Relaciona Rol x Permiso
    permisos = db.relationship('Permiso',
                               secondary=permisos,
                               backref=db.backref('roles', lazy='dynamic'))

    def __init__(self, nombre=None, descripcion=None):
        """ constructor de Rol """
        self.nombre = nombre
        self.descripcion = descripcion

    def __init__(self, nombre=None, descripcion=None, ambito=None):
        """ constructor de Rol sin permisos """
        self.nombre = nombre
        self.ambito = ambito
        self.descripcion = descripcion

    def __init__(self,
                 nombre=None,
                 descripcion=None,
                 ambito=None,
                 permisos=[None]):
        """ constructor de Rol con permisos"""
        self.nombre = nombre
        self.ambito = ambito
        self.descripcion = descripcion
        self.permisos = permisos

    def __repr__(self):
        return self.nombre
Esempio n. 6
0
class User(db.Model):
    """ Modelo de Usuario """
    __tablename__ = 'User'

    idUser = db.Column(db.Integer, primary_key=True, nullable=False)
    name = db.Column(db.String(15), unique=True, nullable=False)
    passwd = db.Column(db.String(15), nullable=False)
    nombre = db.Column(db.String(45), nullable=False)
    apellido = db.Column(db.String(45), nullable=False)
    email = db.Column(db.String(45))
    telefono = db.Column(db.Integer)
    obs = db.Column(db.String(150))
    estado = db.Column(db.String(20), default='Inactivo', nullable=False)

    # many to many: Relaciona User x Rol
    roles = db.relationship('Rol',
                            secondary=roles,
                            backref=db.backref('users', lazy='dynamic'))

    # one to many: Relaciona User x Proyecto
    listaproyectos = db.relationship('Proyecto',
                                     backref='User',
                                     lazy='dynamic')

    def __init__(self,
                 name=None,
                 passwd=None,
                 nombre=None,
                 apellido=None,
                 email=None,
                 telefono=None,
                 obs=None):
        """ constructor de user """
        self.name = name
        self.passwd = passwd
        self.nombre = nombre
        self.apellido = apellido
        self.email = email
        self.telefono = telefono
        self.obs = obs

    def __init__(self,
                 name=None,
                 passwd=None,
                 nombre=None,
                 apellido=None,
                 email=None,
                 telefono=None,
                 obs=None,
                 roles=[None]):
        """ constructor de user """
        self.name = name
        self.passwd = passwd
        self.nombre = nombre
        self.apellido = apellido
        self.email = email
        self.telefono = telefono
        self.obs = obs
        self.roles = roles

    def __repr__(self):
        return self.name