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

Source Code for Module sapproject.models.proyecto

 1  from base import * 
 2  from sqlalchemy.orm import relationship, backref 
 3  from sqlalchemy import Sequence 
 4   
5 -class Proyecto(Base):
6 """ 7 Clase que crea la tabla Proyecto 8 """ 9 __tablename__ = 'proyecto' 10 id = Column(Integer, Sequence('proyecto_id_seq'), primary_key=True) 11 nombre = Column(Text, nullable=False, unique=True) 12 descripcion = Column(Text) 13 fechainicio = Column(Date, nullable=False) 14 fechafin = Column(Date, nullable=False) 15 estado = Column(Text, nullable=False) 16 nfases = Column(Integer) 17 complejidadtotal = Column(Integer) 18 observaciones = Column(Text) 19 usuarios = relationship("ProyectoUsuario", backref="proyecto") 20 # roles 21 # usuarios 22 usuarios_x_rol = relationship("ProyectoUsuarioRol") 23
24 - def __init__(self, nombre, descripcion, fechainicio, fechafin, estado,observaciones):
25 """ 26 Metodo de instancia constructor que inicializa los parametros del objeto proyecto 27 @type self: proyecto 28 @param self: referencia al objeto que llama el metodo en este caso proyecto. 29 @type nombre: Text 30 @param nombre: campo que almacenara el nombre del proyecto. 31 @type descripcion: Text 32 @param descripcion: campo que almacenara la descripcion del proyecto. 33 @type fechainicio: Date 34 @param fechainicio: campo que almacenara la fecha de inicio del proyecto. 35 @type fechafin: Text 36 @param fechafin: campo que almacenara la fecha de fin del proyecto. 37 @type estado: Text 38 @param estado: campo que almacenara el estado del proyecto. 39 @type observaciones: Text 40 @param observaciones: campo que almacenara observaciones sobre el proyecto. 41 """ 42 self.nombre = nombre 43 self.descripcion = descripcion 44 self.fechainicio = fechainicio 45 self.fechafin = fechafin 46 self.estado = estado 47 self.observaciones = observaciones
48
49 - def eliminar_dependencias(self):
50 """ 51 Metodo de instancia que elimina todas los relaciones de un registro de la tabla Proyectos 52 para que pueda ser eliminado. 53 @type self: proyecto 54 @param self: referencia al objeto que llama el metodo en este caso proyecto. 55 """ 56 # En tabla proyectousuario 57 for u in self.usuarios: 58 DBSession.delete(u) 59 # En tabla proyectousuariorol 60 for ur in self.usuarios_x_rol: 61 DBSession.delete(ur)
62