applications: force parameters name to be slug with underscores (#79674)
gitea/hobo/pipeline/head This commit looks good
Details
gitea/hobo/pipeline/head This commit looks good
Details
This commit is contained in:
parent
2ba5fa23f2
commit
d9d6bb4e1d
|
@ -486,6 +486,7 @@ class AddParameterView(CreateView):
|
|||
|
||||
def form_valid(self, form):
|
||||
form.instance.application = self.application
|
||||
form.instance.name = slugify(form.cleaned_data['name']).replace('-', '_')
|
||||
return super().form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
|
@ -500,6 +501,10 @@ class EditParameterView(UpdateView):
|
|||
model = Parameter
|
||||
fields = ['label', 'name', 'default_value']
|
||||
|
||||
def form_valid(self, form):
|
||||
form.instance.name = slugify(form.cleaned_data['name']).replace('-', '_')
|
||||
return super().form_valid(form)
|
||||
|
||||
def get_queryset(self):
|
||||
return (
|
||||
super()
|
||||
|
|
|
@ -1382,6 +1382,21 @@ def test_create_application_parameters(app, admin_user, settings):
|
|||
resp = resp.form.submit().follow()
|
||||
assert not Parameter.objects.filter(name='app_foo').exists()
|
||||
|
||||
# check name is slugified
|
||||
resp = resp.click('add')
|
||||
resp.form['label'] = 'Foo'
|
||||
resp.form['name'] = 'app-foo bar'
|
||||
resp.form['default_value'] = 'xxx'
|
||||
resp = resp.form.submit().follow()
|
||||
assert Parameter.objects.all().count() == 1
|
||||
assert Parameter.objects.filter(name='app_foo_bar').exists()
|
||||
|
||||
resp = resp.click(href=resp.pyquery('.app-parameters--list li a:not(.delete)').attr.href)
|
||||
resp.form['name'] = 'app-foo bar'
|
||||
resp = resp.form.submit().follow()
|
||||
assert Parameter.objects.all().count() == 1
|
||||
assert Parameter.objects.filter(name='app_foo_bar').exists()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def app_bundle_parameters():
|
||||
|
|
Loading…
Reference in New Issue