comparison pylons_app/model/repo_model.py @ 299:d303aacb3349

repos crud controllers - change id into repo_name for compatability, added ajax repo perm user function variuos html fixes, permissions forms and managment fixes. Added permission fetching for each request in AuthUser instance
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 28 Jun 2010 13:54:47 +0200
parents 15e96b5a2685
children cec5cbc956c0
comparison
equal deleted inserted replaced
298:15e96b5a2685 299:d303aacb3349
102 new_repo.user_id = cur_user.user_id 102 new_repo.user_id = cur_user.user_id
103 self.sa.add(new_repo) 103 self.sa.add(new_repo)
104 104
105 #create default permission 105 #create default permission
106 repo2perm = Repo2Perm() 106 repo2perm = Repo2Perm()
107 default_perm = 'repository.none' if form_data['private'] \
108 else 'repository.read'
107 repo2perm.permission_id = self.sa.query(Permission)\ 109 repo2perm.permission_id = self.sa.query(Permission)\
108 .filter(Permission.permission_name == 'repository.read')\ 110 .filter(Permission.permission_name == default_perm)\
109 .one().permission_id 111 .one().permission_id
110 112
111 repo2perm.repository = repo_name 113 repo2perm.repository = repo_name
112 repo2perm.user_id = self.sa.query(User)\ 114 repo2perm.user_id = self.sa.query(User)\
113 .filter(User.username == 'default').one().user_id 115 .filter(User.username == 'default').one().user_id
128 self.__delete_repo(repo.repo_name) 130 self.__delete_repo(repo.repo_name)
129 except: 131 except:
130 log.error(traceback.format_exc()) 132 log.error(traceback.format_exc())
131 self.sa.rollback() 133 self.sa.rollback()
132 raise 134 raise
133 135 def delete_perm_user(self, form_data, repo_name):
136 try:
137 r2p = self.sa.query(Repo2Perm).filter(Repo2Perm.repository == repo_name)\
138 .filter(Repo2Perm.user_id == form_data['user_id']).delete()
139 self.sa.commit()
140 except:
141 log.error(traceback.format_exc())
142 self.sa.rollback()
143 raise
144
134 def __create_repo(self, repo_name): 145 def __create_repo(self, repo_name):
135 repo_path = os.path.join(g.base_path, repo_name) 146 repo_path = os.path.join(g.base_path, repo_name)
136 if check_repo(repo_name, g.base_path): 147 if check_repo(repo_name, g.base_path):
137 log.info('creating repo %s in %s', repo_name, repo_path) 148 log.info('creating repo %s in %s', repo_name, repo_path)
138 from vcs.backends.hg import MercurialRepository 149 from vcs.backends.hg import MercurialRepository