1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from app import db
- from flask_login import UserMixin, AnonymousUserMixin
- from datetime import datetime
- from flask import jsonify
- class Resource(db.Model, UserMixin):
- __tablename__ = 'SYRESOURCE'
- ID = db.Column(db.String(36), primary_key=True)
- CREATEDATETIME = db.Column(db.DateTime, index=True, default=datetime.now)
- UPDATEDATETIME = db.Column(db.DateTime, index=True, default=datetime.now)
- NAME = db.Column(db.String(100))
- URL = db.Column(db.String(200))
- DESCRIPTION = db.Column(db.String(200))
- ICONCLS = db.Column(db.String(100))
- SEQ = db.Column(db.Integer)
- TARGET = db.Column(db.String(100))
- SYRESOURCETYPE_ID = db.Column(db.String, db.ForeignKey('SYRESOURCETYPE.ID'))
- SYRESOURCE_ID = db.Column(db.String, db.ForeignKey('SYRESOURCE.ID'))
- parent = db.relationship('Resource', remote_side=[ID], backref='resource', uselist=False)
- def get_id(self):
- return str(self.ID)
- def to_json(self):
- return {
- 'id': self.ID,
- 'createdatetime': self.CREATEDATETIME,
- 'updatedatetime': self.UPDATEDATETIME,
- 'name': self.NAME,
- 'url': self.URL,
- 'description': self.DESCRIPTION,
- 'iconCls': self.ICONCLS,
- 'seq': self.SEQ,
- 'target': self.TARGET,
- 'pid': self.get_pid(),
- 'syresourcetype': self.get_type_json()
- }
- def to_menu_json(self):
- return {
- 'id': self.ID,
- 'iconCls': self.ICONCLS,
- 'pid': self.get_pid(),
- 'state': 'open',
- 'checked': False,
- 'attributes': {
- 'target': self.TARGET,
- 'url': self.URL
- },
- 'text': self.NAME
- }
- def get_pid(self):
- if self.parent:
- return self.parent.ID
- return ''
- def get_type_json(self):
- if self.type:
- return self.type.to_json()
- return {}
- def __repr__(self):
- return '<Resource name:%r url:%r>\n' %(self.NAME, self.URL)
|