Commit 0249cc79 authored by ikoalaz's avatar ikoalaz
Browse files

Merge remote-tracking branch 'origin/improvexpo' into improvexpo

parents b4a55aad ec6a4842
......@@ -5,6 +5,7 @@
# This file is part of debexpo - https://alioth.debian.org/projects/debexpo/
#
# Copyright © 2008 Jonny Lamb <jonny@debian.org>
# Copyright © 2012 Nicolas Dandrimont <nicolas.dandrimont@crans.org>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
......@@ -31,36 +32,35 @@
Holds package_comments table model.
"""
__author__ = 'Jonny Lamb'
__copyright__ = 'Copyright © 2008 Jonny Lamb'
__authors__ = 'Jonny Lamb, Nicolas Dandrimont'
__copyright__ = 'Copyright © 2008 Jonny Lamb, Copyright © 2012 Nicolas Dandrimont'
__license__ = 'MIT'
import sqlalchemy as sa
from sqlalchemy import orm
from sqlalchemy.ext.declarative import declarative_base
from debexpo.model import meta, OrmObject
from debexpo.model.users import User
from debexpo.model.package_versions import PackageVersion
t_package_comments = sa.Table('package_comments', meta.metadata,
sa.Column('id', sa.types.Integer, primary_key=True),
sa.Column('user_id', sa.types.Integer, sa.ForeignKey('users.id')),
sa.Column('package_version_id', sa.types.Integer, sa.ForeignKey('package_versions.id')),
sa.Column('parent_id', sa.types.Integer, sa.ForeignKey('package_comments.id'), nullable=True),
sa.Column('text', sa.types.Text, nullable=False),
sa.Column('time', sa.types.DateTime, nullable=False),
sa.Column('start', sa.types.Integer, nullable=True),
sa.Column('stop', sa.types.Integer, nullable=True),
sa.Column('index', sa.types.Integer, default=0),
sa.Column('style', sa.types.String(10), default='info'),
sa.Column('file', sa.types.String(100), nullable=True),
sa.Column('score', sa.types.Integer, default=0)
)
Base = declarative_base(metadata = meta.metadata)
class PackageComment(OrmObject):
foreign = ['package_version', 'user']
orm.mapper(PackageComment, t_package_comments, properties={
'package_version': orm.relation(PackageVersion, backref='package_comments'),
'user': orm.relation(User, backref='package_comments'),
})
class PackageComment(Base):
__tablename__ = 'package_comments'
id = sa.Column(sa.types.Integer, primary_key=True)
user_id = sa.Column(sa.types.Integer, sa.ForeignKey('users.id'))
package_version_id = sa.Column(sa.types.Integer, sa.ForeignKey('package_versions.id'))
parent_id = sa.Column(sa.types.Integer, sa.ForeignKey('package_comments.id'))
text = sa.Column(sa.types.Text, nullable=False)
time = sa.Column(sa.types.DateTime, nullable=False)
start = sa.Column(sa.types.Integer, nullable=True)
stop = sa.Column(sa.types.Integer, nullable=True)
index = sa.Column(sa.types.Integer, default=0)
style = sa.Column(sa.types.String(10), default='info')
file = sa.Column(sa.types.String(100), nullable=True)
score = sa.Column(sa.types.Integer, default=0)
children = orm.relationship(
'PackageComment',
backref=orm.backref('parent', remote_side=[id]),
)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment