Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit f209aee7eefa33dcd8798b518962bc93bc93140f
Author: Richard Marko <rmarko(a)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(a)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):