示例#1
0
class SharingStation(db.Model):
    __tablename__ = 'sharing_station'
    id = db.Column(db.Integer(), primary_key=True)

    created = db.Column(db.DateTime())
    updated = db.Column(db.DateTime())
    active = db.Column(db.Integer())

    name = db.Column(db.String(255))
    slug = db.Column(db.String(255))
    external_id = db.Column(db.String(255))

    vehicle_free = db.Column(db.Integer())
    vehicle_all = db.Column(db.Integer())
    station_type = db.Column(
        db.Integer()
    )  # 1 Fahrrad 2 Lastenrad 3 Fahrradanhänger 4 PKW 5 Transporter 6 Fahrradbox

    lat = db.Column(db.Numeric(precision=10, scale=7))
    lon = db.Column(db.Numeric(precision=10, scale=7))

    vehicle = db.relationship("Vehicle",
                              backref="SharingStation",
                              lazy='dynamic')

    sharing_provider_id = db.Column(db.Integer,
                                    db.ForeignKey('sharing_provider.id'))

    def __init__(self):
        pass

    def __repr__(self):
        return '<Region %r>' % self.name
示例#2
0
class Region(db.Model):
  __tablename__ = 'region'
  
  id = db.Column(db.Integer(), primary_key=True)
  name = db.Column(db.String(255))
  slug = db.Column(db.String(255), unique=True)
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  osm_id = db.Column(db.Integer())
  geo_json = db.Column(db.Text())
  rgs = db.Column(db.String(255))
  region_level = db.Column(db.Integer())
  postalcode = db.Column(db.String(255))
  
  lat = db.Column(db.Numeric(precision=10,scale=7))
  lon = db.Column(db.Numeric(precision=10,scale=7))
  
  region_parent_id = db.Column(db.Integer, db.ForeignKey('region.id'))
  region_parent = db.relationship("Region", backref="region_children", remote_side=[id])
  service_sites = db.relationship("ServiceSite", backref="region", lazy='dynamic')
  # hosts as defined in Host
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<Hoster %r>' % self.name
示例#3
0
class Operation(db.Model):
    __tablename__ = 'Operation'
    id = db.Column(db.Integer(), primary_key=True)
    clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True)
    history_id = db.Column(db.Integer(), db.ForeignKey('History.id'))
    hospital_id = db.Column(db.Integer(), db.ForeignKey('HistoryEvent.id'))
    history_event_id = db.Column(db.Integer(),
                                 db.ForeignKey('HistoryEvent.id'))
    patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id'))
    doctor_surgeon_id = db.Column(db.Integer(), db.ForeignKey('Doctor.id'))
    doctor_assistant_id = db.Column(db.Integer(), db.ForeignKey('Doctor.id'))
    #operation_order_id = db.Column(db.Integer())
    operation_order = db.Column(db.Integer())
    time_begin = db.Column(db.DateTime())
    time_end = db.Column(db.DateTime())
    duration_min = db.Column(db.Integer())  # Длительность в минутах

    # Получить список операций для истории болезни
    @staticmethod
    def get_operations(history):

        operations = history.operations
        if operations:
            items = []
            for operation in operations:
                doctor = Doctor.get(operation.doctor_surgeon_id)
                item = {}
                item["date"] = operation.time_begin
                item["doctor_surgeon"] = doctor.fio
                items.append(item)

            return items
示例#4
0
class Region(db.Model):
  __tablename__ = 'region'
  
  id = db.Column(db.Integer(), primary_key=True)
  name = db.Column(db.String(255))
  slug = db.Column(db.String(255), unique=True)
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  osm_id = db.Column(db.Integer())
  geo_json = db.Column(db.Text())
  rgs = db.Column(db.String(255))
  region_level = db.Column(db.Integer())
  postalcode = db.Column(db.String(255))
  fulltext = db.Column(db.String(255))
  
  lat = db.Column(db.Numeric(precision=10,scale=7))
  lon = db.Column(db.Numeric(precision=10,scale=7))
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<Hoster %r>' % self.name
示例#5
0
class Visualisation(db.Model):
  __tablename__ = 'visualisation'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  name = db.Column(db.Text())
  identifier = db.Column(db.String(128), unique=True)
  descr = db.Column(db.Text())
  data = db.Column(db.Text())
示例#6
0
class User(db.Model):
    id = db.Column(db.Integer(), primary_key=True, index=True, nullable=False)
    username = db.Column(db.String(40), index=True, nullable=False)
    feature = db.Column(db.String(200), nullable=True)

    def __repr__(self):
        return '<User %r>' % (self.username)
示例#7
0
class Role(db.Model, RoleMixin, Repopulatable):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __repr__(self):
        return '<Role %r>' % self.name
示例#8
0
class Suggestion(db.Model):
  __tablename__ = 'suggestion'
  id = db.Column(db.Integer(), primary_key=True)
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  type = db.Column(db.String(128))
  suggestion = db.Column(db.Text())
示例#9
0
class Address(db.Model, SpamsubMixin):
    """ Address table """
    address = db.Column(db.String(250),
                        nullable=False,
                        unique=True,
                        index=True)
    count = db.Column(db.Integer(), default=1)

    def __init__(self, address):
        self.address = address

    @classmethod
    def exists(self, address):
        """ Check if an address exists, increment counter if it does """
        exsts = self.query.filter_by(address=address).first()
        if exsts:
            exsts.count += 1
            db.session.add(exsts)
            db.session.commit()
            return True
        return False

    @classmethod
    def top(self, number=3):
        """ Return top spammers """
        return [{
            "x": each.address,
            "y": each.count
        } for each in self.query.order_by(self.count.desc()).limit(
            number).all()]
class User(db.Model, UserMixin):
    """
    User for RRVS
    """
    __tablename__="users"
    __table_args__ = {'schema':'users'}

    id = db.Column(db.Integer(), primary_key=True)
    authenticated = db.Column(db.Boolean, default=False)
    password = ''

    def is_active(self):
        """True, as all users are active."""
        return True

    def get_id(self):
        """Return the taskid to satisfy Flask-Login's requirements."""
        return self.id

    def is_authenticated(self):
        """Return True if the user is authenticated."""
        return self.authenticated

    def is_anonymous(self):
        """False, as anonymous users aren't supported."""
        return False
    roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic'))
示例#11
0
class Role(db.Model):
    __tablename__ = 'Role'
    id = db.Column(db.Integer(), primary_key=True)
    description = db.Column(db.String(100), unique=True)
    permissions = db.Column(db.String(10), index=True)
    is_admin = db.Column(db.Boolean(), index=True)

    @staticmethod
    def insert_roles():
        roles = {
            'Ведение справочников': {
                'permission': 'REF_W',
                'is_admin': False
            },
            'Просмотр справочников': {
                'permission': 'REF_R',
                'is_admin': False
            },
            'Ведение истории болезни': {
                'permission': 'HIST_W',
                'is_admin': False
            },
            'Чтение истории болезни': {
                'permission': 'HIST_R',
                'is_admin': False
            },
            'Отчеты просмотр': {
                'permission': 'REP_R',
                'is_admin': False
            },
            'Отчеты выгрузка': {
                'permission': 'REP_D',
                'is_admin': False
            },
            'Анализ данных просмотр': {
                'permission': 'DATA_R',
                'is_admin': False
            },
            'Анализ данных выгрузка': {
                'permission': 'DATA_D',
                'is_admin': False
            },
            'Администрирование': {
                'permission': 'ADMIN',
                'is_admin': True
            }
        }
        for (k, v) in roles.items():
            role = Role.query.filter_by(description=k).first()
            if role:
                continue
            role = Role(description=k,
                        permissions=v['permission'],
                        is_admin=v['is_admin'])
            try:
                db.session.add(role)
                db.session.commit()
            except Exception:
                db.session.rollback()
示例#12
0
class User(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    firstName = db.Column(db.String(26), nullable=False)
    lastName = db.Column(db.String(26), nullable=False)
    age = db.Column(db.Integer(), nullable=False)

    @staticmethod
    def getAttributesAsList():
        return ['id', 'firstName', 'lastName', 'age']

    def asDict(self):
        return {
            'id': self.id,
            'firstName': self.firstName,
            'lastName': self.lastName,
            'age': self.age
        }
示例#13
0
class ServiceGroup(db.Model):
  __tablename__ = 'service_group'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  name = db.Column(db.Text())
  
  services = db.relationship("Service", backref="ServiceGroup", lazy='dynamic')
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<ServiceGroup %r>' % self.name
示例#14
0
class TrafficItem(db.Model):
  __tablename__ = 'traffic_item'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  name = db.Column(db.String(255))
  slug = db.Column(db.String(255))
  external_id = db.Column(db.String(255))
  
  item_type = db.Column(db.Integer()) # 1 Baustelle 2 Auto-Parkplatz 3 Fahrrad-Ständer 4 Verkehrszählung 5 Sperranhänger
  raw_status = db.Column(db.Integer()) # 1 komplett roh, 2 verarbeitet
  is_meta = db.Column(db.Integer())
  
  zoom_from = db.Column(db.Integer())
  zoom_till = db.Column(db.Integer())
  
  lat = db.Column(db.Numeric(precision=10,scale=7))
  lon = db.Column(db.Numeric(precision=10,scale=7))
  
  area = db.Column(db.Text())
  
  traffic_item_provider_id = db.Column(db.Integer, db.ForeignKey('traffic_item_provider.id'))
  traffic_item_meta = db.relationship("TrafficItemMeta", backref="TrafficItem", lazy='dynamic')
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<TrafficItem %r>' % self.name
示例#15
0
class TrafficItemMeta(db.Model):
  __tablename__ = 'traffic_item_meta'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  key = db.Column(db.String(255))
  value = db.Column(db.String(255))
  
  traffic_item_id = db.Column(db.Integer, db.ForeignKey('traffic_item.id'))
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<TrafficItemMeta %r>' % self.name
示例#16
0
class Vehicle(db.Model):
    __tablename__ = 'vehicle'
    id = db.Column(db.Integer(), primary_key=True)
    created = db.Column(db.DateTime())
    updated = db.Column(db.DateTime())
    active = db.Column(db.Integer())

    sharing_station_id = db.Column(db.Integer,
                                   db.ForeignKey('sharing_station.id'))

    name = db.Column(db.String(255))
    external_id = db.Column(db.String(255))

    def __init__(self):
        pass

    def __repr__(self):
        return '<Procedure %r>' % self.name
示例#17
0
class Role(db.Model, RoleMixin):
  __tablename__ = 'role'

  id = db.Column(db.Integer(), primary_key=True)
  name = db.Column(db.String(120), unique=True)
  description = db.Column(db.String(255))
  
  def __repr__(self):
    return '<Role %r>' % self.name
class Role(db.Model, RoleMixin):
    """
    Role for database
    """
    __tablename__="roles"
    __table_args__ = {'schema':'users'}

    id = db.Column(db.Integer(), primary_key=True)
    name = ''
示例#19
0
class TreeSuggest(db.Model):
  __tablename__ = 'tree_suggest'
  
  id = db.Column(db.Integer(), primary_key=True)
  
  tree_id = db.Column(db.Integer(), db.ForeignKey('tree.id'))
  field = db.Column(db.String(255))
  value = db.Column(db.String(255))
  created_at = db.Column(db.DateTime())
  
  ip = db.Column(db.String(15))
  hostname = db.Column(db.String(255))
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<TreeSuggest %r>' % self.id
示例#20
0
class Role(db.Model, RoleMixin):
    """
    Roles for authorization.
    """
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __str__(self):
        return self.name
示例#21
0
class User(db.Model, UserMixin):
  __tablename__ = 'user'

  id = db.Column(db.Integer, primary_key=True)
  sex = db.Column(db.Integer())
  firstname = db.Column(db.String(255))
  lastname = db.Column(db.String(255))
  
  email = db.Column(db.String(255))
  
  roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic'))
示例#22
0
class ServiceSite(db.Model):
  __tablename__ = 'service_site'
  
  id = db.Column(db.Integer(), primary_key=True)
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  url = db.Column(db.Text())
  quality = db.Column(db.String(255)) # 'offline', 'mail', 'online'
  quality_show = db.Column(db.Integer())
  
  host_id = db.Column(db.Integer, db.ForeignKey('host.id'))
  region_id = db.Column(db.Integer, db.ForeignKey('region.id'))
  service_id = db.Column(db.Integer, db.ForeignKey('service.id'))
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<ServiceSite %r>' % self.name
示例#23
0
class ConstructionSite(db.Model):
    __tablename__ = 'construction_site'

    id = db.Column(db.Integer(), primary_key=True)
    title = db.Column(db.String(255))

    descr = db.Column(db.Text())  # Allg. Beschreibung
    reason = db.Column(db.Text())  # Begründung für Baustelle
    type = db.Column(db.Text())  # Art der Verkehrseinschränkung
    constructor = db.Column(db.Text())  # Bauherr
    execution = db.Column(db.Text())  # Ausführendes Bauunternehmen
    location_descr = db.Column(db.Text())  # Ort
    restriction = db.Column(db.Text())  # Einschränkungen

    area = db.Column(db.Text())  # GeoJSON

    lat = db.Column(db.Numeric(precision=10, scale=7))
    lon = db.Column(db.Numeric(precision=10, scale=7))

    external_id = db.Column(
        db.String(255))  # Externe ID (innerhalb der Source einzigartig)
    external_url = db.Column(db.Text())  # Externe URL

    begin = db.Column(db.DateTime())  # Start der Baumaßnahme
    end = db.Column(db.DateTime())  # Ende der Baumaßnahme

    created_at = db.Column(db.DateTime())
    updated_at = db.Column(db.DateTime())

    source_id = db.Column(db.Integer())  # Quelle

    licence_name = db.Column(db.Text())
    licence_url = db.Column(db.Text())
    licence_owner = db.Column(db.Text())

    def __init__(self):
        pass

    def __repr__(self):
        return '<ConstructionSite %r>' % self.id
示例#24
0
class Service(db.Model):
  __tablename__ = 'service'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  name = db.Column(db.Text())
  fa_icon = db.Column(db.String(64))
  descr_short = db.Column(db.Text())
  descr = db.Column(db.Text())
  make_ssl_test = db.Column(db.Integer())
  
  service_group_id = db.Column(db.Integer, db.ForeignKey('service_group.id'))
  service_sites = db.relationship("ServiceSite", backref="Service", lazy='dynamic')
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<Service %r>' % self.name
示例#25
0
class Tree(db.Model):
  __tablename__ = 'tree'
  
  id = db.Column(db.Integer(), primary_key=True)
  
  type = db.Column(db.Integer())
  public = db.Column(db.Integer())
  author = db.Column(db.String(255))
  email = db.Column(db.String(255))
  
  ip = db.Column(db.String(15))
  hostname = db.Column(db.String(255))
  
  address = db.Column(db.String(255))
  postalcode = db.Column(db.String(255))
  city = db.Column(db.String(255))
  
  picture = db.Column(db.Integer())
  descr = db.Column(db.Text())
  
  lat = db.Column(db.Numeric(precision=10,scale=7))
  lng = db.Column(db.Numeric(precision=10,scale=7))
  
  external_id = db.Column(db.String(255))
  created_at = db.Column(db.DateTime())
  updated_at = db.Column(db.DateTime())
  
  tree_type_old = db.Column(db.String(255))
  tree_type_new = db.Column(db.String(255))
  chop_reason = db.Column(db.String(255))
  source = db.Column(db.String(255))
  
  tree_suggest = db.relationship('TreeSuggest', backref='tree', lazy='dynamic')
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<Tree %r>' % self.id
示例#26
0
class OperationLog(db.Model):
    __tablename__ = 'OperationLog'
    id = db.Column(db.Integer(), primary_key=True)
    clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True)
    history_id = db.Column(db.Integer(), db.ForeignKey('History.id'))
    patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id'))
    operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id'))
    operation_step_id = db.Column(db.Integer(),
                                  db.ForeignKey('OperationStep.id'))
    time_begin = db.Column(db.DateTime())
    time_end = db.Column(db.DateTime())
    duration_min = db.Column(db.Integer())  # Длительность в минутах
示例#27
0
class Counter(db.Model, SpamsubMixin):
    """ Counter table """
    count = db.Column(db.Integer(), nullable=False, unique=True, index=True)

    def __init__(self, count):
        self.count = count

    @validates('count')
    def validate_count(self, key, count):
        try:
            assert count >= 0
        except AssertionError:
            count = 0
        return count
示例#28
0
class Host(db.Model):
  __tablename__ = 'host'
  
  id = db.Column(db.Integer(), primary_key=True)
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  host = db.Column(db.String(255))
  type = db.Column(db.String(255))
  ip = db.Column(db.Text())
  reverse_hostname = db.Column(db.Text())
  ssl_result = db.Column(db.Integer())
  
  service_sites = db.relationship("ServiceSite", backref="host", lazy='dynamic')
  ssl_tests = db.relationship("SslTest", backref="Host", lazy='dynamic')
  regions = db.relationship('Region', secondary=hosts_regions, backref=db.backref('hosts', lazy='dynamic'))
  
  def __init__(self):
    pass

  def __repr__(self):
    return '<Host %r>' % self.host
示例#29
0
class TrafficItemProvider(db.Model):
  __tablename__ = 'traffic_item_provider'
  id = db.Column(db.Integer(), primary_key=True)
  
  created = db.Column(db.DateTime())
  updated = db.Column(db.DateTime())
  active = db.Column(db.Integer())
  
  name = db.Column(db.String(255))
  slug = db.Column(db.String(255))
  descr_short = db.Column(db.Text())
  descr = db.Column(db.Text())
  external_id = db.Column(db.String(255))
  
  email = db.Column(db.String(255))
  website = db.Column(db.String(255))
  licence = db.Column(db.Text())
  
  street = db.Column(db.String(255))
  postalcode = db.Column(db.String(5))
  city = db.Column(db.String(255))
  
  traffic_item = db.relationship("TrafficItem", backref="TrafficItemProvider", lazy='dynamic')
示例#30
0
class OperationComp(db.Model):
    __tablename__ = 'OperationComp'
    id = db.Column(db.Integer(), primary_key=True)
    clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True)
    history_id = db.Column(db.Integer(), db.ForeignKey('History.id'))
    patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id'))
    operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id'))
    complication_id = db.Column(db.Integer(), db.ForeignKey('Complication.id'))
    date_begin = db.Column(db.Date())