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
Пример #2
0
    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
          });
        ''')
Пример #3
0
    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
          });
        ''')
Пример #4
0
 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
Пример #5
0
 def user_icon(self, **kw):
     try:
         return self.icon()
     except exc.HTTPNotFound:
         redirect(g.forge_static('images/user.png'))
Пример #6
0
 def user_icon(self, **kw):
     try:
         return self.icon()
     except exc.HTTPNotFound:
         redirect(g.forge_static('images/user.png'))