Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 2b34a10b744b3553257646618168ca3b860eb151
Author: Bohuslav Kabrda <bkabrda(a)redhat.com>
Date: Thu Jan 24 11:13:06 2013 +0100
Handle removing mock_chroot from copr chroots appropriately
---------------------------------------------------------------
coprs_frontend/coprs/logic/coprs_logic.py | 9 +--------
coprs_frontend/coprs/models.py | 4 +++-
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/coprs_frontend/coprs/logic/coprs_logic.py
b/coprs_frontend/coprs/logic/coprs_logic.py
index c25bd72..615be26 100644
--- a/coprs_frontend/coprs/logic/coprs_logic.py
+++ b/coprs_frontend/coprs/logic/coprs_logic.py
@@ -156,11 +156,4 @@ class CoprsChrootLogic(object):
# delete no more present
for mock_chroot in current_chroots:
if mock_chroot not in new_chroots:
- models.CoprChroot.query.filter(models.CoprChroot.copr_id==copr.id).\
-
filter(models.CoprChroot.mock_chroot_id==mock_chroot.id).\
- delete()
- # TODO: fails because of
- #
http://docs.sqlalchemy.org/en/rel_0_7/orm/session.html#deleting-from-coll...
- # figure out how to overcome it nicely without having to commit the session
- # (deleting the copr_chroot object from copr.copr_chroots doesn't seem to
help)
- db.session.commit()
+ copr.mock_chroots.remove(mock_chroot)
diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py
index 8b99942..f75586f 100644
--- a/coprs_frontend/coprs/models.py
+++ b/coprs_frontend/coprs/models.py
@@ -203,4 +203,6 @@ class CoprChroot(db.Model, Serializer):
mock_chroot_id = db.Column(db.Integer, db.ForeignKey('mock_chroot.id'),
primary_key = True)
mock_chroot = db.relationship('MockChroot', backref =
db.backref('copr_chroots'))
copr_id = db.Column(db.Integer, db.ForeignKey('copr.id'), primary_key =
True)
- copr = db.relationship('Copr', backref = db.backref('copr_chroots'))
+ copr = db.relationship('Copr', backref = db.backref('copr_chroots',
+ single_parent=True,
+
cascade='all,delete,delete-orphan'))