Mercurial > kallithea
comparison pylons_app/controllers/admin/settings.py @ 348:e8fc875467bd
implemented manual repo rescann and remapping
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 14 Jul 2010 16:51:19 +0200 |
parents | 51362853ac3b |
children | 664a5b8c551a |
comparison
equal
deleted
inserted
replaced
347:40bccabf4574 | 348:e8fc875467bd |
---|---|
21 Created on July 14, 2010 | 21 Created on July 14, 2010 |
22 settings controller for pylons | 22 settings controller for pylons |
23 @author: marcink | 23 @author: marcink |
24 """ | 24 """ |
25 from formencode import htmlfill | 25 from formencode import htmlfill |
26 from pylons import request, session, tmpl_context as c, url | 26 from pylons import request, session, tmpl_context as c, url, app_globals as g |
27 from pylons.controllers.util import abort, redirect | 27 from pylons.controllers.util import abort, redirect |
28 from pylons.i18n.translation import _ | 28 from pylons.i18n.translation import _ |
29 from pylons_app.lib import helpers as h | 29 from pylons_app.lib import helpers as h |
30 from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator | 30 from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator |
31 from pylons_app.lib.base import BaseController, render | 31 from pylons_app.lib.base import BaseController, render |
32 from pylons_app.lib.utils import repo2db_mapper, invalidate_cache | |
32 from pylons_app.model.db import User, UserLog | 33 from pylons_app.model.db import User, UserLog |
33 from pylons_app.model.forms import UserForm | 34 from pylons_app.model.forms import UserForm |
35 from pylons_app.model.hg_model import HgModel | |
34 from pylons_app.model.user_model import UserModel | 36 from pylons_app.model.user_model import UserModel |
35 import formencode | 37 import formencode |
36 import logging | 38 import logging |
37 | 39 |
38 log = logging.getLogger(__name__) | 40 log = logging.getLogger(__name__) |
72 # <input type="hidden" name="_method" value="PUT" /> | 74 # <input type="hidden" name="_method" value="PUT" /> |
73 # Or using helpers: | 75 # Or using helpers: |
74 # h.form(url('admin_setting', id=ID), | 76 # h.form(url('admin_setting', id=ID), |
75 # method='put') | 77 # method='put') |
76 # url('admin_setting', id=ID) | 78 # url('admin_setting', id=ID) |
79 if id == 'mapping': | |
80 rm_obsolete = request.POST.get('destroy', False) | |
81 log.debug('Rescanning directories with destroy=%s', rm_obsolete) | |
82 | |
83 initial = HgModel.repo_scan(g.paths[0][0], g.paths[0][1], g.baseui) | |
84 repo2db_mapper(initial, rm_obsolete) | |
85 invalidate_cache('cached_repo_list') | |
86 | |
87 | |
88 return redirect(url('admin_settings')) | |
89 | |
90 | |
91 | |
92 | |
77 | 93 |
78 def delete(self, id): | 94 def delete(self, id): |
79 """DELETE /admin/settings/id: Delete an existing item""" | 95 """DELETE /admin/settings/id: Delete an existing item""" |
80 # Forms posted to this method should contain a hidden field: | 96 # Forms posted to this method should contain a hidden field: |
81 # <input type="hidden" name="_method" value="DELETE" /> | 97 # <input type="hidden" name="_method" value="DELETE" /> |