Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 086d232426800ac326083b601be05e057ec6b00a
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Sep 21 14:41:12 2015 +0200
add group model
---------------------------------------------------------------
.../versions/3f4966a9cc0_add_group_table.py | 30 ++++++++++++++++++++
frontend/coprs_frontend/coprs/models.py | 15 ++++++++++
2 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py
b/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py
new file mode 100644
index 0000000..c468158
--- /dev/null
+++ b/frontend/coprs_frontend/alembic/versions/3f4966a9cc0_add_group_table.py
@@ -0,0 +1,30 @@
+"""Add group table
+
+Revision ID: 3f4966a9cc0
+Revises: 3b4cfc666d14
+Create Date: 2015-09-24 10:14:06.291886
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '3f4966a9cc0'
+down_revision = '3b4cfc666d14'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+ ### commands auto generated by Alembic ###
+ op.create_table('group',
+ sa.Column('id', sa.Integer(), nullable=False),
+ sa.Column('name', sa.String(length=127), nullable=True),
+ sa.Column('fas_name', sa.String(length=127), nullable=True),
+ sa.PrimaryKeyConstraint('id')
+ ### end Alembic commands ###
+
+
+def downgrade():
+ ### commands auto generated by Alembic - please adjust! ###
+ op.drop_table('group')
+ ### end Alembic commands ###
diff --git a/frontend/coprs_frontend/coprs/models.py
b/frontend/coprs_frontend/coprs/models.py
index 63ef2bd..3f8e834 100644
--- a/frontend/coprs_frontend/coprs/models.py
+++ b/frontend/coprs_frontend/coprs/models.py
@@ -160,6 +160,8 @@ class Copr(db.Model, helpers.Serializer):
# relations
owner_id = db.Column(db.Integer, db.ForeignKey("user.id"))
owner = db.relationship("User", backref=db.backref("coprs"))
+ group_id = db.Column(db.Integer, db.ForeignKey("group.id"))
+ group = db.relationship("Group", backref=db.backref("groups"))
mock_chroots = association_proxy("copr_chroots", "mock_chroot")
# enable networking for the builds by default
@@ -853,3 +855,16 @@ class CounterStat(db.Model, helpers.Serializer):
counter = db.Column(db.Integer, default=0, server_default="0")
+class Group(db.Model, helpers.Serializer):
+ """
+ Represents FAS groups and their aliases in Copr
+ """
+ id = db.Column(db.Integer, primary_key=True)
+ name = db.Column(db.String(127))
+ fas_name = db.Column(db.String(127))
+
+ def __str__(self):
+ return self.__unicode__()
+
+ def __unicode__(self):
+ return "{0} ({1})".format(self.name, self.fas_name)