From eddb3ce9c1659226d05ca1b959d0c31cd216f93a Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Fri, 13 Feb 2009 12:02:48 +1100 Subject: [PATCH] [views] Don't create bundles with no name Check to see that we have a valid name before creating. Signed-off-by: Jeremy Kerr --- apps/patchwork/tests/bundles.py | 22 ++++++++++++++++++++++ apps/patchwork/utils.py | 6 +++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/apps/patchwork/tests/bundles.py b/apps/patchwork/tests/bundles.py index 1346cd8..d9c0bed 100644 --- a/apps/patchwork/tests/bundles.py +++ b/apps/patchwork/tests/bundles.py @@ -155,6 +155,28 @@ class BundleCreateFromListTest(BundleTestBase): self.failUnlessEqual(bundle.patches.count(), 1) self.failUnlessEqual(bundle.patches.all()[0], patch) + def testCreateNonEmptyBundleEmptyName(self): + newbundlename = 'testbundle-new' + patch = self.patches[0] + + n_bundles = Bundle.objects.count() + + params = {'form': 'patchlistform', + 'bundle_name': '', + 'action': 'Create', + 'project': defaults.project.id, + 'patch_id:%d' % patch.id: 'checked'} + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + self.assertContains(response, 'No bundle name was specified', + status_code = 200) + + # test that no new bundles are present + self.failUnlessEqual(n_bundles, Bundle.objects.count()) + class BundleCreateFromPatchTest(BundleTestBase): def testCreateNonEmptyBundle(self): newbundlename = 'testbundle-new' diff --git a/apps/patchwork/utils.py b/apps/patchwork/utils.py index 5bd6925..3737e89 100644 --- a/apps/patchwork/utils.py +++ b/apps/patchwork/utils.py @@ -97,8 +97,12 @@ def set_bundle(user, project, action, data, patches, context): # set up the bundle bundle = None if action == 'create': + bundle_name = data['bundle_name'].strip() + if not bundle_name: + return ['No bundle name was specified'] + bundle = Bundle(owner = user, project = project, - name = data['bundle_name']) + name = bundle_name) bundle.save() context.add_message("Bundle %s created" % bundle.name) -- 2.39.2