Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
commit f209aee7eefa33dcd8798b518962bc93bc93140f Author: Richard Marko rmarko@fedoraproject.org Date: Mon Jan 20 16:23:12 2014 +0100
1054472 - Fix deleting multiple SRPMs
Adds Action.data column and fills it with SRPM list rather than mis-using 255 long new_value column.
Signed-off-by: Richard Marko rmarko@fedoraproject.org
backend/actions.py | 2 +- .../versions/294405dfc7c0_add_action_data_fiel.py | 24 ++++++++++++++++++++ coprs_frontend/coprs/logic/builds_logic.py | 2 +- coprs_frontend/coprs/models.py | 2 + .../test_views/test_coprs_ns/test_coprs_builds.py | 2 +- 5 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/backend/actions.py b/backend/actions.py index 11451cc..2568459 100644 --- a/backend/actions.py +++ b/backend/actions.py @@ -38,7 +38,7 @@ class Action(object): project = self.data['old_value'] packages = map(lambda x: os.path.basename(x).replace('.src.rpm', ''), - self.data['new_value'].split()) + self.data['data'].split())
path = os.path.join(self.destdir, project)
diff --git a/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py b/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py new file mode 100644 index 0000000..6463cf5 --- /dev/null +++ b/coprs_frontend/alembic/versions/294405dfc7c0_add_action_data_fiel.py @@ -0,0 +1,24 @@ +"""add Action.data field + +Revision ID: 294405dfc7c0 +Revises: 3a415c6392bc +Create Date: 2014-01-20 15:43:09.986912 + +""" + +# revision identifiers, used by Alembic. +revision = '294405dfc7c0' +down_revision = '3a415c6392bc' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + """ Add 'data' colum to action table. """ + op.add_column('action', sa.Column('data', sa.Text())) + + +def downgrade(): + """ Drop 'data' colum from action table. """ + op.drop_column('action', 'data') diff --git a/coprs_frontend/coprs/logic/builds_logic.py b/coprs_frontend/coprs/logic/builds_logic.py index 4881ab6..7721b30 100644 --- a/coprs_frontend/coprs/logic/builds_logic.py +++ b/coprs_frontend/coprs/logic/builds_logic.py @@ -138,7 +138,7 @@ class BuildsLogic(object): object_id=build.id, old_value='{0}/{1}'.format(build.copr.owner.name, build.copr.name), - new_value=build.pkgs, + data=build.pkgs, created_on=int(time.time()))
db.session.add(action) diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index 4352661..527461b 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -379,6 +379,8 @@ class Action(db.Model, Serializer): # old and new values of the changed property old_value = db.Column(db.String(255)) new_value = db.Column(db.String(255)) + # additional data + data = db.Column(db.Text) # result of the action, see helpers.BackendResultEnum result = db.Column(db.Integer, default=helpers.BackendResultEnum('waiting')) # optional message from the backend/whatever diff --git a/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py b/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py index c690833..83c2754 100644 --- a/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py +++ b/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py @@ -79,7 +79,7 @@ class TestCoprDeleteBuild(CoprsTestCase): act = self.models.Action.query.first() assert act.object_type == 'build' assert act.old_value == 'user1/foocopr' - assert act.new_value == pkgs + assert act.data == pkgs
@TransactionDecorator('u2') def test_copr_build_non_submitter_cannot_delete_build(self, f_users, f_coprs, f_mock_chroots, f_builds, f_db):
copr-commits@lists.fedorahosted.org