ux: fix bug where saving empty issue tracker form was causing
exception, fixes: #4278
This commit is contained in:
parent
1d5cbade82
commit
ea04026aa4
2 changed files with 19 additions and 10 deletions
|
|
@ -397,19 +397,20 @@ class SettingsController(BaseController):
|
|||
settings_model = IssueTrackerSettingsModel()
|
||||
|
||||
form = IssueTrackerPatternsForm()().to_python(request.POST)
|
||||
for uid in form['delete_patterns']:
|
||||
settings_model.delete_entries(uid)
|
||||
if form:
|
||||
for uid in form.get('delete_patterns', []):
|
||||
settings_model.delete_entries(uid)
|
||||
|
||||
for pattern in form['patterns']:
|
||||
for setting, value, type_ in pattern:
|
||||
sett = settings_model.create_or_update_setting(
|
||||
setting, value, type_)
|
||||
Session().add(sett)
|
||||
for pattern in form.get('patterns', []):
|
||||
for setting, value, type_ in pattern:
|
||||
sett = settings_model.create_or_update_setting(
|
||||
setting, value, type_)
|
||||
Session().add(sett)
|
||||
|
||||
Session().commit()
|
||||
Session().commit()
|
||||
|
||||
SettingsModel().invalidate_settings_cache()
|
||||
h.flash(_('Updated issue tracker entries'), category='success')
|
||||
SettingsModel().invalidate_settings_cache()
|
||||
h.flash(_('Updated issue tracker entries'), category='success')
|
||||
return redirect(url('admin_settings_issuetracker'))
|
||||
|
||||
@HasPermissionAllDecorator('hg.admin')
|
||||
|
|
|
|||
|
|
@ -494,6 +494,14 @@ class TestAdminSettingsIssueTracker:
|
|||
response = self.app.get(url('admin_settings_issuetracker'))
|
||||
assert response.status_code == 200
|
||||
|
||||
def test_add_empty_issuetracker_pattern(
|
||||
self, request, autologin_user, csrf_token):
|
||||
post_url = url('admin_settings_issuetracker_save')
|
||||
post_data = {
|
||||
'csrf_token': csrf_token
|
||||
}
|
||||
self.app.post(post_url, post_data, status=302)
|
||||
|
||||
def test_add_issuetracker_pattern(
|
||||
self, request, autologin_user, csrf_token):
|
||||
pattern = 'issuetracker_pat'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue