1 from base import *
2 from sqlalchemy.orm import relationship, backref
3 from sqlalchemy import Sequence
4
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
21
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
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
57 for u in self.usuarios:
58 DBSession.delete(u)
59
60 for ur in self.usuarios_x_rol:
61 DBSession.delete(ur)
62