Mercurial > kallithea
changeset 376:7fbf81447c6c
Fixes #18, removing user, who owns some repositories
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 30 Jul 2010 22:12:06 +0200 |
parents | 3e55d9981c0e |
children | bd8b25ad058d |
files | pylons_app/controllers/admin/repos.py pylons_app/model/hg_model.py |
diffstat | 2 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/pylons_app/controllers/admin/repos.py Wed Jul 28 23:38:06 2010 +0200 +++ b/pylons_app/controllers/admin/repos.py Fri Jul 30 22:12:06 2010 +0200 @@ -24,6 +24,7 @@ """ from formencode import htmlfill from operator import itemgetter +from paste.httpexceptions import HTTPInternalServerError from pylons import request, response, session, tmpl_context as c, url from pylons.controllers.util import abort, redirect from pylons.i18n.translation import _ @@ -31,13 +32,13 @@ from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator from pylons_app.lib.base import BaseController, render from pylons_app.lib.utils import invalidate_cache +from pylons_app.model.db import User from pylons_app.model.forms import RepoForm from pylons_app.model.hg_model import HgModel from pylons_app.model.repo_model import RepoModel import formencode import logging import traceback -from paste.httpexceptions import HTTPInternalServerError log = logging.getLogger(__name__) @@ -196,7 +197,13 @@ return redirect(url('repos')) defaults = c.repo_info.__dict__ - defaults.update({'user':c.repo_info.user.username}) + if c.repo_info.user: + defaults.update({'user':c.repo_info.user.username}) + else: + replacement_user = self.sa.query(User)\ + .filter(User.admin == True).first().username + defaults.update({'user':replacement_user}) + c.users_array = repo_model.get_users_js() for p in c.repo_info.repo2perm:
--- a/pylons_app/model/hg_model.py Wed Jul 28 23:38:06 2010 +0200 +++ b/pylons_app/model/hg_model.py Fri Jul 30 22:12:06 2010 +0200 @@ -28,7 +28,7 @@ from pylons.i18n.translation import _ from pylons_app.lib.auth import HasRepoPermissionAny from pylons_app.model import meta -from pylons_app.model.db import Repository +from pylons_app.model.db import Repository, User from sqlalchemy.orm import joinedload from vcs.exceptions import RepositoryError, VCSError import logging @@ -134,7 +134,11 @@ log.info('Adding db instance to cached list') repos_list[name].dbrepo = dbrepo repos_list[name].description = dbrepo.description - repos_list[name].contact = dbrepo.user.full_contact + if dbrepo.user: + repos_list[name].contact = dbrepo.user.full_contact + else: + repos_list[name].contact = sa.query(User)\ + .filter(User.admin == True).first().full_contact except OSError: continue meta.Session.remove()