Mercurial > kallithea
comparison pylons_app/controllers/admin/settings.py @ 381:55377fdc1fc6
cleared global application settings.
Made it much more extensible by keeping it key/value in the database.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 01 Aug 2010 18:36:00 +0200 |
parents | ca54622e39a1 |
children | 3bcf9529d221 |
comparison
equal
deleted
inserted
replaced
380:ca54622e39a1 | 381:55377fdc1fc6 |
---|---|
30 from pylons_app.lib import helpers as h | 30 from pylons_app.lib import helpers as h |
31 from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator, \ | 31 from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator, \ |
32 HasPermissionAnyDecorator | 32 HasPermissionAnyDecorator |
33 from pylons_app.lib.base import BaseController, render | 33 from pylons_app.lib.base import BaseController, render |
34 from pylons_app.lib.utils import repo2db_mapper, invalidate_cache, \ | 34 from pylons_app.lib.utils import repo2db_mapper, invalidate_cache, \ |
35 set_hg_app_config | 35 set_hg_app_config, get_hg_settings |
36 from pylons_app.model.db import User, UserLog, HgAppSettings | 36 from pylons_app.model.db import User, UserLog, HgAppSettings |
37 from pylons_app.model.forms import UserForm, ApplicationSettingsForm | 37 from pylons_app.model.forms import UserForm, ApplicationSettingsForm |
38 from pylons_app.model.hg_model import HgModel | 38 from pylons_app.model.hg_model import HgModel |
39 from pylons_app.model.user_model import UserModel | 39 from pylons_app.model.user_model import UserModel |
40 import formencode | 40 import formencode |
62 @HasPermissionAllDecorator('hg.admin') | 62 @HasPermissionAllDecorator('hg.admin') |
63 def index(self, format='html'): | 63 def index(self, format='html'): |
64 """GET /admin/settings: All items in the collection""" | 64 """GET /admin/settings: All items in the collection""" |
65 # url('admin_settings') | 65 # url('admin_settings') |
66 | 66 |
67 hgsettings = self.sa.query(HgAppSettings).scalar() | 67 defaults = get_hg_settings() |
68 defaults = hgsettings.__dict__ if hgsettings else {} | 68 |
69 return htmlfill.render( | 69 return htmlfill.render( |
70 render('admin/settings/settings.html'), | 70 render('admin/settings/settings.html'), |
71 defaults=defaults, | 71 defaults=defaults, |
72 encoding="UTF-8", | 72 encoding="UTF-8", |
73 force_defaults=False | 73 force_defaults=False |
104 if setting_id == 'global': | 104 if setting_id == 'global': |
105 | 105 |
106 application_form = ApplicationSettingsForm()() | 106 application_form = ApplicationSettingsForm()() |
107 try: | 107 try: |
108 form_result = application_form.to_python(dict(request.POST)) | 108 form_result = application_form.to_python(dict(request.POST)) |
109 title = form_result['app_title'] | |
110 realm = form_result['app_auth_realm'] | |
111 | 109 |
112 try: | 110 try: |
113 hgsettings = self.sa.query(HgAppSettings).get(1) | 111 hgsettings1 = self.sa.query(HgAppSettings).filter(HgAppSettings.app_settings_name == 'title').one() |
114 hgsettings.app_auth_realm = realm | 112 hgsettings1.app_settings_value = form_result['hg_app_title'] |
115 hgsettings.app_title = title | 113 |
116 | 114 hgsettings2 = self.sa.query(HgAppSettings).filter(HgAppSettings.app_settings_name == 'realm').one() |
117 self.sa.add(hgsettings) | 115 hgsettings2.app_settings_value = form_result['hg_app_realm'] |
116 | |
117 | |
118 self.sa.add(hgsettings1) | |
119 self.sa.add(hgsettings2) | |
118 self.sa.commit() | 120 self.sa.commit() |
119 set_hg_app_config(config) | 121 set_hg_app_config(config) |
120 h.flash(_('Updated application settings'), | 122 h.flash(_('Updated application settings'), |
121 category='success') | 123 category='success') |
122 | 124 |
123 except: | 125 except: |
124 log.error(traceback.format_exc()) | 126 log.error(traceback.format_exc()) |
125 h.flash(_('error occured during chaning application settings'), | 127 h.flash(_('error occured during updating application settings'), |
126 category='error') | 128 category='error') |
127 | 129 |
128 self.sa.rollback() | 130 self.sa.rollback() |
129 | 131 |
130 | 132 |