def _lookup(self, pname, *remainder): pname = unquote(pname) if not h.re_path_portion.match(pname): raise exc.HTTPNotFound, pname project = M.Project.query.get(shortname=self.prefix + pname, neighborhood_id=self.neighborhood._id) if project is None: project = self.neighborhood.neighborhood_project c.project = project return ProjectController()._lookup(pname, *remainder) if project.database_configured == False: if remainder == ('user_icon', ): redirect(g.forge_static('images/user.png')) elif c.user.username == pname: log.info('Configuring %s database for access to %r', pname, remainder) project.configure_project(is_user_project=True) else: raise exc.HTTPNotFound, pname c.project = project if project is None or (project.deleted and not has_access(c.project, 'update')()): raise exc.HTTPNotFound, pname if project.neighborhood.name != self.neighborhood_name: redirect(project.url()) return ProjectController(), remainder
def resources(self): yield ew.JSLink('js/jquery.tag.editor.js') yield ew.CSSScript(''' input.label_edit{ float: left; } .tagEditor{ margin: 4px 0; padding: 0; float: left; } .tagEditor li, .removable{ display: inline; background-image: url('%s'); background-color: #eef; background-position: right center; background-repeat: no-repeat; list-style-type: none; padding: 0 18px 0 6px; margin: 0 4px; cursor: pointer; -moz-border-radius: 5px; -webkit-border-radius: 5px; } .tagEditor li:hover{ background-color: #ebebeb; }''' % g.forge_static('images/minus_small.png')) yield onready(''' $('input.label_edit').tagEditor({ confirmRemoval: false, completeOnSeparator: true, completeOnBlur: true }); ''')
def _lookup(self, pname, *remainder): pname = unquote(pname) if not h.re_path_portion.match(pname): raise exc.HTTPNotFound, pname project = M.Project.query.get(shortname=self.prefix + pname, neighborhood_id=self.neighborhood._id) if project is None: project = self.neighborhood.neighborhood_project c.project = project return ProjectController()._lookup(pname, *remainder) if project.database_configured == False: if remainder == ('user_icon',): redirect(g.forge_static('images/user.png')) elif c.user.username == pname: log.info('Configuring %s database for access to %r', pname, remainder) project.configure_project(is_user_project=True) else: raise exc.HTTPNotFound, pname c.project = project if project is None or (project.deleted and not has_access(c.project, 'update')()): raise exc.HTTPNotFound, pname if project.neighborhood.name != self.neighborhood_name: redirect(project.url()) return ProjectController(), remainder
def user_icon(self, **kw): try: return self.icon() except exc.HTTPNotFound: redirect(g.forge_static('images/user.png'))