Mercurial > kallithea
diff rhodecode/controllers/admin/repos.py @ 708:b9bbc0d6e9f3 beta
added cache reset, stats reset, and delete into repository settings in admin.
Some small template fixes
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 18 Nov 2010 01:55:51 +0100 |
parents | cb0d9ce6ac5c |
children | cda88b3eb09c |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Thu Nov 18 01:03:00 2010 +0100 +++ b/rhodecode/controllers/admin/repos.py Thu Nov 18 01:55:51 2010 +0100 @@ -207,6 +207,35 @@ raise HTTPInternalServerError() @HasPermissionAllDecorator('hg.admin') + def repo_stats(self, repo_name): + """ + DELETE an existing repository statistics + :param repo_name: + """ + + try: + repo_model = RepoModel() + repo_model.delete_stats(repo_name) + except Exception, e: + h.flash(_('An error occured during deletion of repository stats'), + category='error') + return redirect(url('edit_repo', repo_name=repo_name)) + + @HasPermissionAllDecorator('hg.admin') + def repo_cache(self, repo_name): + """ + INVALIDATE exisitings repository cache + :param repo_name: + """ + + try: + ScmModel().mark_for_invalidation(repo_name) + except Exception, e: + h.flash(_('An error occured during cache invalidation'), + category='error') + return redirect(url('edit_repo', repo_name=repo_name)) + + @HasPermissionAllDecorator('hg.admin') def show(self, repo_name, format='html'): """GET /repos/repo_name: Show a specific item""" # url('repo', repo_name=ID) @@ -217,6 +246,18 @@ # url('edit_repo', repo_name=ID) repo_model = RepoModel() c.repo_info = repo = repo_model.get(repo_name) + if repo.stats: + last_rev = repo.stats.stat_on_revision + else: + last_rev = 0 + c.stats_revision = last_rev + c.repo_last_rev = ScmModel().get(repo_name).revisions[-1] + if last_rev == 0: + c.stats_percentage = 0 + else: + c.stats_percentage = '%.2f' % ((float((last_rev)) / c.repo_last_rev) * 100) + + if not repo: h.flash(_('%s repository is not mapped to db perhaps' ' it was created or renamed from the filesystem'