comparison rhodecode/controllers/admin/settings.py @ 1039:51b70569c330 beta

extended admin rescan to show what repositories was added and what removed fixed found bugs, added expunge to cached getter since it introduce some more problems. Added some relationship to properly clean related objects from database.
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 13 Feb 2011 01:38:39 +0100
parents 405b80e4ccd5
children 3fc9183e05dd
comparison
equal deleted inserted replaced
1038:5554aa9c2480 1039:51b70569c330
103 # url('admin_setting', setting_id=ID) 103 # url('admin_setting', setting_id=ID)
104 if setting_id == 'mapping': 104 if setting_id == 'mapping':
105 rm_obsolete = request.POST.get('destroy', False) 105 rm_obsolete = request.POST.get('destroy', False)
106 log.debug('Rescanning directories with destroy=%s', rm_obsolete) 106 log.debug('Rescanning directories with destroy=%s', rm_obsolete)
107 initial = ScmModel().repo_scan() 107 initial = ScmModel().repo_scan()
108 log.debug('invalidating all repositories')
108 for repo_name in initial.keys(): 109 for repo_name in initial.keys():
109 invalidate_cache('get_repo_cached_%s' % repo_name) 110 invalidate_cache('get_repo_cached_%s' % repo_name)
110 111
111 repo2db_mapper(initial, rm_obsolete) 112 added, removed = repo2db_mapper(initial, rm_obsolete)
112 113
113 h.flash(_('Repositories successfully rescanned'), category='success') 114 h.flash(_('Repositories successfully'
115 ' rescanned added: %s,removed: %s') % (added, removed)
116 , category='success')
114 117
115 if setting_id == 'whoosh': 118 if setting_id == 'whoosh':
116 repo_location = self.get_hg_ui_settings()['paths_root_path'] 119 repo_location = self.get_hg_ui_settings()['paths_root_path']
117 full_index = request.POST.get('full_index', False) 120 full_index = request.POST.get('full_index', False)
118 task = run_task(tasks.whoosh_index, repo_location, full_index) 121 task = run_task(tasks.whoosh_index, repo_location, full_index)