summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/patchwork/forms.py5
-rw-r--r--apps/patchwork/utils.py3
2 files changed, 7 insertions, 1 deletions
diff --git a/apps/patchwork/forms.py b/apps/patchwork/forms.py
index d5e51a2..8219769 100644
--- a/apps/patchwork/forms.py
+++ b/apps/patchwork/forms.py
@@ -58,11 +58,14 @@ class LoginForm(forms.Form):
password = forms.CharField(widget = forms.PasswordInput)
class BundleForm(forms.ModelForm):
+ name = forms.RegexField(regex = r'^[^/]+$', max_length=50, label=u'Name',
+ error_messages = {'invalid': 'Bundle names can\'t contain slashes'})
+
class Meta:
model = Bundle
fields = ['name', 'public']
-class CreateBundleForm(forms.ModelForm):
+class CreateBundleForm(BundleForm):
def __init__(self, *args, **kwargs):
super(CreateBundleForm, self).__init__(*args, **kwargs)
diff --git a/apps/patchwork/utils.py b/apps/patchwork/utils.py
index 1771167..f48e7a5 100644
--- a/apps/patchwork/utils.py
+++ b/apps/patchwork/utils.py
@@ -105,6 +105,9 @@ def set_bundle(user, project, action, data, patches, context):
bundle = None
if action == 'create':
bundle_name = data['bundle_name'].strip()
+ if '/' in bundle_name:
+ return ['Bundle names can\'t contain slashes']
+
if not bundle_name:
return ['No bundle name was specified']