##// END OF EJS Templates
Added handy methods to Repository model for fetching groups with parents
marcink -
r1155:37a9421f beta
parent child Browse files
Show More
@@ -44,7 +44,9 b''
44 # MA 02110-1301, USA.
44 # MA 02110-1301, USA.
45
45
46 import logging
46 import logging
47
47 from rhodecode.model import meta
48 from rhodecode.model import meta
49
48 log = logging.getLogger(__name__)
50 log = logging.getLogger(__name__)
49
51
50 def init_model(engine):
52 def init_model(engine):
@@ -54,7 +56,7 b' def init_model(engine):'
54
56
55 :param engine: engine to bind to
57 :param engine: engine to bind to
56 """
58 """
57 log.info("initializing db models for %s", engine)
59 log.info("initializing db for %s", engine)
58 meta.Base.metadata.bind = engine
60 meta.Base.metadata.bind = engine
59
61
60 class BaseModel(object):
62 class BaseModel(object):
@@ -211,10 +211,29 b' class Repository(Base):'
211 return Session.query(cls).filter(cls.repo_name == repo_name).one()
211 return Session.query(cls).filter(cls.repo_name == repo_name).one()
212
212
213 @property
213 @property
214 def just_name(self):
215 return self.repo_name.split('/')[-1]
216
217 @property
218 def groups_with_parents(self):
219 groups = []
220 if self.group is None:
221 return groups
222
223 cur_gr = self.group
224 groups.insert(0, cur_gr)
225 while 1:
226 gr = getattr(cur_gr, 'parent_group', None)
227 cur_gr = cur_gr.parent_group
228 if gr is None:
229 break
230 groups.insert(0, gr)
231
232 return groups
233
234 @property
214 def groups_and_repo(self):
235 def groups_and_repo(self):
215 just_name = self.repo_name.split('/')[-1]
236 return self.groups_with_parents, self.just_name
216
217 return self.group, just_name
218
237
219
238
220 class Group(Base):
239 class Group(Base):
General Comments 0
You need to be logged in to leave comments. Login now