# HG changeset patch # User Marcin Kuzminski # Date 1339003161 -7200 # Node ID e2af60e480ce170837c3738071a80c1222e9ef6c # Parent e87c6aa9c5e77a27846a187aaef2a1cde9eb9c59 Removed hardcoded hooks names from settings. Added helper for getting repos_location diff -r e87c6aa9c5e7 -r e2af60e480ce rhodecode/controllers/admin/settings.py --- a/rhodecode/controllers/admin/settings.py Wed Jun 06 18:03:53 2012 +0200 +++ b/rhodecode/controllers/admin/settings.py Wed Jun 06 19:19:21 2012 +0200 @@ -174,7 +174,8 @@ application_form = ApplicationUiSettingsForm()() try: form_result = application_form.to_python(dict(request.POST)) - + # fix namespaces for hooks + _f = lambda s: s.replace('.', '_') try: hgsettings1 = self.sa.query(RhodeCodeUi)\ @@ -187,28 +188,28 @@ #HOOKS hgsettings3 = self.sa.query(RhodeCodeUi)\ - .filter(RhodeCodeUi.ui_key == 'changegroup.update').one() - hgsettings3.ui_active = \ - bool(form_result['hooks_changegroup_update']) + .filter(RhodeCodeUi.ui_key == RhodeCodeUi.HOOK_UPDATE)\ + .one() + hgsettings3.ui_active = bool(form_result[_f('hooks_%s' % + RhodeCodeUi.HOOK_UPDATE)]) hgsettings4 = self.sa.query(RhodeCodeUi)\ - .filter(RhodeCodeUi.ui_key == - 'changegroup.repo_size').one() - hgsettings4.ui_active = \ - bool(form_result['hooks_changegroup_repo_size']) + .filter(RhodeCodeUi.ui_key == RhodeCodeUi.HOOK_REPO_SIZE)\ + .one() + hgsettings4.ui_active = bool(form_result[_f('hooks_%s' % + RhodeCodeUi.HOOK_REPO_SIZE)]) hgsettings5 = self.sa.query(RhodeCodeUi)\ - .filter(RhodeCodeUi.ui_key == - 'pretxnchangegroup.push_logger').one() - hgsettings5.ui_active = \ - bool(form_result['hooks_pretxnchangegroup' - '_push_logger']) + .filter(RhodeCodeUi.ui_key == RhodeCodeUi.HOOK_PUSH)\ + .one() + hgsettings5.ui_active = bool(form_result[_f('hooks_%s' % + RhodeCodeUi.HOOK_PUSH)]) hgsettings6 = self.sa.query(RhodeCodeUi)\ - .filter(RhodeCodeUi.ui_key == - 'preoutgoing.pull_logger').one() - hgsettings6.ui_active = \ - bool(form_result['hooks_preoutgoing_pull_logger']) + .filter(RhodeCodeUi.ui_key == RhodeCodeUi.HOOK_PULL)\ + .one() + hgsettings6.ui_active = bool(form_result[_f('hooks_%s' % + RhodeCodeUi.HOOK_PULL)]) self.sa.add(hgsettings1) self.sa.add(hgsettings2) diff -r e87c6aa9c5e7 -r e2af60e480ce rhodecode/model/db.py --- a/rhodecode/model/db.py Wed Jun 06 18:03:53 2012 +0200 +++ b/rhodecode/model/db.py Wed Jun 06 19:19:21 2012 +0200 @@ -269,6 +269,10 @@ return q.all() @classmethod + def get_repos_location(cls): + return cls.get_by_key('/').one().ui_value + + @classmethod def create_or_update_hook(cls, key, val): new_ui = cls.get_by_key(key).scalar() or cls() new_ui.ui_section = 'hooks'