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 @@ -42,11 +42,13 @@ from rhodecode.lib.base import BaseContr from rhodecode.lib.utils import invalidate_cache, action_logger, repo_name_slug from rhodecode.lib.helpers import get_token from rhodecode.model.meta import Session -from rhodecode.model.db import User, Repository, UserFollowing, RepoGroup +from rhodecode.model.db import User, Repository, UserFollowing, RepoGroup,\ + RhodeCodeSetting from rhodecode.model.forms import RepoForm from rhodecode.model.scm import ScmModel from rhodecode.model.repo import RepoModel from rhodecode.lib.compat import json +from sqlalchemy.sql.expression import func log = logging.getLogger(__name__) @@ -95,6 +97,7 @@ class ReposController(BaseController): return redirect(url('repos')) + ##override defaults for exact repo info here git/hg etc choices, c.landing_revs = ScmModel().get_repo_landing_revs(c.repo_info) c.landing_revs_choices = choices @@ -134,7 +137,7 @@ class ReposController(BaseController): # url('repos') c.repos_list = Repository.query()\ - .order_by(Repository.repo_name)\ + .order_by(func.lower(Repository.repo_name))\ .all() repos_data = [] @@ -156,7 +159,7 @@ class ReposController(BaseController): for repo in c.repos_list: repos_data.append({ "menu": quick_menu(repo.repo_name), - "raw_name": repo.repo_name, + "raw_name": repo.repo_name.lower(), "name": repo_lnk(repo.repo_name, repo.repo_type, repo.private, repo.fork), "desc": repo.description, @@ -237,7 +240,15 @@ class ReposController(BaseController): new_repo = request.GET.get('repo', '') c.new_repo = repo_name_slug(new_repo) self.__load_defaults() - return render('admin/repos/repo_add.html') + ## apply the defaults from defaults page + defaults = RhodeCodeSetting.get_default_repo_settings(strip_prefix=True) + return htmlfill.render( + render('admin/repos/repo_add.html'), + defaults=defaults, + errors={}, + prefix_error=False, + encoding="UTF-8" + ) @HasPermissionAllDecorator('hg.admin') def update(self, repo_name): @@ -261,7 +272,7 @@ class ReposController(BaseController): landing_revs=c.landing_revs_choices)() try: form_result = _form.to_python(dict(request.POST)) - repo = repo_model.update(repo_name, form_result) + repo = repo_model.update(repo_name, **form_result) invalidate_cache('get_repo_cached_%s' % repo_name) h.flash(_('Repository %s updated successfully') % repo_name, category='success')