Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into master2
Browse files Browse the repository at this point in the history
  • Loading branch information
lyschoening committed Jun 22, 2016
2 parents 4d69134 + bdbabb3 commit af3f521
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
3 changes: 3 additions & 0 deletions flask_potion/contrib/principals/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ def convert(method, needs, map, path=()):
if isinstance(imported_need, HybridItemNeed):
imported_need = imported_need.extend(field)
options.add(imported_need)

elif role == 'user' and value in ["$id", "$uri"]:
options.add(HybridItemNeed('id', self.resource))
else:
options.add(RoleNeed(need))

Expand Down
2 changes: 1 addition & 1 deletion flask_potion/contrib/principals/needs.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def extend(self, field):

def __call__(self, item):
if self.method == 'id':
return UserNeed(self.resource.item_get_id(item))
return UserNeed(get_value(item, self.resource.manager.id_attribute, None))
return ItemNeed(self.method, get_value(item, self.resource.manager.id_attribute, None), self.type)

def __eq__(self, other):
Expand Down
4 changes: 3 additions & 1 deletion tests/contrib/principals/test_manager_principals.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ class UserResource(PrincipalResource):
class Meta:
model = self.USER
permissions = {
'create': 'admin'
'create': 'admin',
'update': 'user:$uri'
}

self.api.add_resource(BookStoreResource)
Expand All @@ -246,6 +247,7 @@ class Meta:
self.mock_user = {'id': 1, 'roles': ['admin']}

self.assert200(self.client.post('/user', data={'name': 'Admin'}))
self.assert200(self.client.patch('/user/1', data={'name': 'Other'}))

for i, store in enumerate([
{
Expand Down

0 comments on commit af3f521

Please sign in to comment.