# HG changeset patch # User Marcin Kuzminski # Date 2013-05-17 18:58:31 # Node ID 2b2f5e6c45b0219298e0e69105da79b895aaaa05 # Parent d11ecf2f63278b725c7b60c8fd5f96012041fa14 fix required repo_type param on repo edit form diff --git a/rhodecode/controllers/admin/repos.py b/rhodecode/controllers/admin/repos.py --- a/rhodecode/controllers/admin/repos.py +++ b/rhodecode/controllers/admin/repos.py @@ -254,11 +254,15 @@ class ReposController(BaseRepoController choices, c.landing_revs = ScmModel().get_repo_landing_revs(repo_name) c.landing_revs_choices = choices repo = Repository.get_by_repo_name(repo_name) - _form = RepoForm(edit=True, old_data={'repo_name': repo_name, - 'repo_group': repo.group.get_dict() \ - if repo.group else {}}, + old_data = { + 'repo_name': repo_name, + 'repo_group': repo.group.get_dict() if repo.group else {}, + 'repo_type': repo.repo_type, + } + _form = RepoForm(edit=True, old_data=old_data, repo_groups=c.repo_groups_choices, landing_revs=c.landing_revs_choices)() + try: form_result = _form.to_python(dict(request.POST)) repo = repo_model.update(repo_name, **form_result) diff --git a/rhodecode/model/forms.py b/rhodecode/model/forms.py --- a/rhodecode/model/forms.py +++ b/rhodecode/model/forms.py @@ -184,7 +184,8 @@ def RepoForm(edit=False, old_data={}, su v.SlugifyName()) repo_group = All(v.CanWriteGroup(old_data), v.OneOf(repo_groups, hideList=True)) - repo_type = v.OneOf(supported_backends) + repo_type = v.OneOf(supported_backends, required=False, + if_missing=old_data.get('repo_type')) repo_description = v.UnicodeString(strip=True, min=1, not_empty=False) repo_private = v.StringBoolean(if_missing=False) repo_landing_rev = v.OneOf(landing_revs, hideList=True)