Switch to unified view

a/Allura/allura/controllers/rest.py b/Allura/allura/controllers/rest.py
...
...
84
        consumer = consumer_token.consumer
84
        consumer = consumer_token.consumer
85
        try:
85
        try:
86
            self.server.verify_request(req, consumer, access_token.as_token())
86
            self.server.verify_request(req, consumer, access_token.as_token())
87
        except:
87
        except:
88
            log.error('Invalid signature')
88
            log.error('Invalid signature')
89
            raise exc.HTTPForbidden 
89
            raise exc.HTTPForbidden
90
        return access_token
90
        return access_token
91
91
92
    @expose()
92
    @expose()
93
    def request_token(self, **kw):
93
    def request_token(self, **kw):
94
        req = oauth.Request.from_request(
94
        req = oauth.Request.from_request(
...
...
126
            log.error('Invalid token %s', oauth_token)
126
            log.error('Invalid token %s', oauth_token)
127
            raise exc.HTTPForbidden
127
            raise exc.HTTPForbidden
128
        return dict(
128
        return dict(
129
            oauth_token=oauth_token,
129
            oauth_token=oauth_token,
130
            consumer=rtok.consumer_token)
130
            consumer=rtok.consumer_token)
131
    
131
132
    @expose('jinja:allura:templates/oauth_authorize_ok.html')
132
    @expose('jinja:allura:templates/oauth_authorize_ok.html')
133
    def do_authorize(self, yes=None, no=None, oauth_token=None):
133
    def do_authorize(self, yes=None, no=None, oauth_token=None):
134
        security.require_authenticated()
134
        security.require_authenticated()
135
        rtok = M.OAuthRequestToken.query.get(api_key=oauth_token)
135
        rtok = M.OAuthRequestToken.query.get(api_key=oauth_token)
136
        if no:
136
        if no:
...
...
146
        else:
146
        else:
147
            url = rtok.callback + '?'
147
            url = rtok.callback + '?'
148
        url+='oauth_token=%s&oauth_verifier=%s' % (
148
        url+='oauth_token=%s&oauth_verifier=%s' % (
149
            rtok.api_key, rtok.validation_pin)
149
            rtok.api_key, rtok.validation_pin)
150
        redirect(url)
150
        redirect(url)
151
        
151
152
    @expose()
152
    @expose()
153
    def access_token(self, **kw):
153
    def access_token(self, **kw):
154
        req = oauth.Request.from_request(
154
        req = oauth.Request.from_request(
155
            request.method,
155
            request.method,
156
            request.url.split('?')[0],
156
            request.url.split('?')[0],
...
...
207
    def _lookup(self, name, *remainder):
207
    def _lookup(self, name, *remainder):
208
        if not name:
208
        if not name:
209
            return self, ()
209
            return self, ()
210
        if not h.re_path_portion.match(name):
210
        if not h.re_path_portion.match(name):
211
            raise exc.HTTPNotFound, name
211
            raise exc.HTTPNotFound, name
212
        subproject = M.Project.query.get(shortname=c.project.shortname + '/' + name, deleted=False)
212
        subproject = M.Project.query.get(shortname=c.project.shortname + '/' + name,
213
                                         neighborhood_id=c.project.neighborhood_id,
214
                                         deleted=False)
213
        if subproject:
215
        if subproject:
214
            c.project = subproject
216
            c.project = subproject
215
            c.app = None
217
            c.app = None
216
            return ProjectRestController(), remainder
218
            return ProjectRestController(), remainder
217
        app = c.project.app_instance(name)
219
        app = c.project.app_instance(name)