Mercurial > kallithea
comparison pylons_app/model/repo_model.py @ 417:3ed2d46a2ca7
permission refactoring,
Implemented views for default permissions,
fixes #23 user registration is controlled by permission system.
Implemented manual registration option
websetup fills default permissions
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 21 Aug 2010 16:34:37 +0200 |
parents | f5c1eec9f376 |
children | a08f610e545e |
comparison
equal
deleted
inserted
replaced
416:25ab66a26975 | 417:3ed2d46a2ca7 |
---|---|
24 from datetime import datetime | 24 from datetime import datetime |
25 from pylons import app_globals as g | 25 from pylons import app_globals as g |
26 from pylons_app.lib.utils import check_repo | 26 from pylons_app.lib.utils import check_repo |
27 from pylons_app.model.db import Repository, RepoToPerm, User, Permission | 27 from pylons_app.model.db import Repository, RepoToPerm, User, Permission |
28 from pylons_app.model.meta import Session | 28 from pylons_app.model.meta import Session |
29 from pylons_app.model.user_model import UserModel | |
29 import logging | 30 import logging |
30 import os | 31 import os |
31 import shutil | 32 import shutil |
32 import traceback | 33 import traceback |
33 log = logging.getLogger(__name__) | 34 log = logging.getLogger(__name__) |
109 new_repo.user_id = cur_user.user_id | 110 new_repo.user_id = cur_user.user_id |
110 self.sa.add(new_repo) | 111 self.sa.add(new_repo) |
111 | 112 |
112 #create default permission | 113 #create default permission |
113 repo_to_perm = RepoToPerm() | 114 repo_to_perm = RepoToPerm() |
114 default_perm = 'repository.none' if form_data['private'] \ | 115 default = 'repository.read' |
115 else 'repository.read' | 116 for p in UserModel().get_default().user_perms: |
117 if p.permission.permission_name.startswith('repository.'): | |
118 default = p.permission.permission_name | |
119 break | |
120 | |
121 default_perm = 'repository.none' if form_data['private'] else default | |
122 | |
116 repo_to_perm.permission_id = self.sa.query(Permission)\ | 123 repo_to_perm.permission_id = self.sa.query(Permission)\ |
117 .filter(Permission.permission_name == default_perm)\ | 124 .filter(Permission.permission_name == default_perm)\ |
118 .one().permission_id | 125 .one().permission_id |
119 | 126 |
120 repo_to_perm.repository_id = new_repo.repo_id | 127 repo_to_perm.repository_id = new_repo.repo_id |