Projet

Général

Profil

0001-xxx.patch

Frédéric Péters, 27 juillet 2015 18:44

Télécharger (2,7 ko)

Voir les différences:

Subject: [PATCH] xxx

 wcs/api.py           |  2 +-
 wcs/forms/root.py    | 16 ++++++++++++++--
 wcs/qommon/errors.py |  3 +++
 3 files changed, 18 insertions(+), 3 deletions(-)
wcs/api.py
92 92
        if users:
93 93
            user = users[0]
94 94
        else:
95
            raise AccessForbiddenError('unknown NameID')
95
            raise UnknownNameIdAccessForbiddenError('unknown NameID')
96 96

  
97 97
    return user
98 98

  
wcs/forms/root.py
1203 1203

  
1204 1204
    def json(self):
1205 1205
        from wcs.api import is_url_signed, get_user_from_api_query_string
1206
        user = get_user_from_api_query_string() or get_request().user
1206
        try:
1207
            user = get_user_from_api_query_string() or get_request().user
1208
        except errors.UnknownNameIdAccessForbiddenError:
1209
            # if authenticating the user via the query string failed, return
1210
            # results for the anonymous case; user is set to 'False' as a
1211
            # signed URL with a None user is considered like an appropriate
1212
            # webservice call.
1213
            user = False
1207 1214
        list_all_forms = (user and user.is_admin) or (is_url_signed() and user is None)
1208 1215

  
1209 1216
        list_forms = []
......
1293 1300

  
1294 1301
    def categories_json(self):
1295 1302
        from wcs.api import get_user_from_api_query_string
1296
        user = get_user_from_api_query_string() or get_request().user
1303
        try:
1304
            user = get_user_from_api_query_string() or get_request().user
1305
        except errors.UnknownNameIdAccessForbiddenError:
1306
            # the name id was unknown, return the categories for anonymous
1307
            # users.
1308
            user = None
1297 1309
        list_categories = []
1298 1310
        charset = get_publisher().site_charset
1299 1311
        categories = self.get_categories(user)
wcs/qommon/errors.py
39 39
                    location_hint = self.location_hint)
40 40

  
41 41

  
42
class UnknownNameIdAccessForbiddenError(AccessForbiddenError):
43
    pass
44

  
42 45
class AccessUnauthorizedError(AccessForbiddenError):
43 46
    def render(self):
44 47
        session = quixote.get_session()
45
-