Пример #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
Пример #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
Пример #3
0
class Item(db.Model):
    """ Modelo de Item """
    __tablename__ = 'Item'

    idItem = db.Column(db.Integer, primary_key=True, nullable=False)
    nombre = db.Column(db.String(45), unique=True, nullable=False)
    version = db.Column(db.Integer, nullable=False)
    complejidad = db.Column(db.Integer, nullable=False)
    costo = db.Column(db.Integer, nullable=False)
    estado = db.Column(db.String(20), default='Activo', nullable=False)
    fechaDeModif = db.Column(db.DateTime,
                             default=datetime.now(),
                             nullable=False)

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

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

    # one to one: Relaciona Item x Tipo de Item
    tipoDeItemId = db.Column(db.Integer,
                             db.ForeignKey('TipoDeItem.idTipoDeItem'))

    def __init__(self,
                 nombre=None,
                 version=None,
                 complejidad=None,
                 costo=None,
                 estado=None,
                 fase=None,
                 tipoDeItem=None):
        """ constructor de item """
        self.nombre = nombre
        self.version = version
        self.complejidad = complejidad
        self.costo = costo
        self.estado = estado
        self.Fase = fase
        self.tipoDeItem = tipoDeItem

    def __repr__(self):
        return self.nombre
Пример #4
0
class Relacion(db.Model):
    """ Modelo de Relacion"""
    __tablename__ = 'Relacion'

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

    # one to one: Relaciona Relacion x Item (origen)
    itemOrigen = db.Column(db.Integer, db.ForeignKey('Item.idItem'))

    # one to one: Relaciona Relacion x Item (destino)
    itemDestino = db.Column(db.Integer, db.ForeignKey('Item.idItem'))

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

    def __repr__(self):
        return self.nombre
Пример #5
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
Пример #6
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
Пример #7
0
import os
from datetime import datetime
from sicp import db, app

#------------------------------------------------------------------------------#
# MODELS
#------------------------------------------------------------------------------#

# roles de usuarios
roles = db.Table('roles', \
    db.Column('idUser',db.Integer, db.ForeignKey('User.idUser')),
    db.Column('idRol',db.Integer, db.ForeignKey('Rol.idRol'))
                 )


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',