Organization.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from app import db
  2. from flask_login import UserMixin, AnonymousUserMixin
  3. from datetime import datetime
  4. organization_resource_table = db.Table('SYORGANIZATION_SYRESOURCE', db.metadata,
  5. db.Column('SYRESOURCE_ID', db.String, db.ForeignKey('SYRESOURCE.ID')),
  6. db.Column('SYORGANIZATION_ID', db.String, db.ForeignKey('SYORGANIZATION.ID')))
  7. class Organization(db.Model, UserMixin):
  8. __tablename__ = 'SYORGANIZATION'
  9. ID = db.Column(db.String(36), primary_key=True)
  10. CREATEDATETIME = db.Column(db.DateTime, index=True, default=datetime.now)
  11. UPDATEDATETIME = db.Column(db.DateTime, index=True, default=datetime.now)
  12. NAME = db.Column(db.String(200))
  13. ADDRESS = db.Column(db.String(200))
  14. CODE = db.Column(db.String(200))
  15. ICONCLS = db.Column(db.String(100))
  16. SEQ = db.Column(db.Integer)
  17. resources = db.relationship('Resource',
  18. secondary=organization_resource_table,
  19. backref=db.backref('organizations', lazy='dynamic'))
  20. SYORGANIZATION_ID = db.Column(db.String, db.ForeignKey('SYORGANIZATION.ID'))
  21. parent = db.relationship('Organization', remote_side=[ID], backref='organization', uselist=False)
  22. def to_json(self):
  23. return {
  24. 'id': self.ID,
  25. 'createdatetime': self.CREATEDATETIME,
  26. 'updatedatetime': self.UPDATEDATETIME,
  27. 'name': self.NAME,
  28. 'address': self.ADDRESS,
  29. 'code': self.CODE,
  30. 'iconCls': self.ICONCLS,
  31. 'seq': self.SEQ,
  32. 'pid': self.get_pid(),
  33. }
  34. def get_pid(self):
  35. if self.parent:
  36. return self.parent.ID
  37. return ''
  38. def get_id(self):
  39. return str(self.ID)
  40. def __repr__(self):
  41. return '<Organization %r>\n' %(self.NAME)