Skip to content

Commit 0c94100

Browse files
author
James Albert
authored
Merge pull request #1 from miLibris/master
merge fix
2 parents b077a84 + 9cba161 commit 0c94100

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

flask_rest_jsonapi/data_layers/base.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ def __init__(self, kwargs):
3030
3131
:param dict kwargs: information about data layer instance
3232
"""
33+
if kwargs.get('methods') is not None:
34+
self.bound_additional_methods(kwargs['methods'])
35+
kwargs.pop('methods')
36+
3337
kwargs.pop('class', None)
3438

3539
for key, value in kwargs.items():
3640
setattr(self, key, value)
3741

38-
if kwargs.get('methods') is not None:
39-
self.bound_additional_methods()
40-
4142
def create_object(self, data, view_kwargs):
4243
"""Create an object
4344
@@ -310,10 +311,11 @@ def after_delete_relationship(self, obj, updated, json_data, relationship_field,
310311
"""
311312
raise NotImplementedError
312313

313-
def bound_additional_methods(self):
314+
def bound_additional_methods(self, methods):
314315
"""Bound additional methods to current instance
315316
316317
:param class meta: information from Meta class used to configure the data layer instance
317318
"""
318-
for key, value in self.methods.items():
319-
setattr(self, key, types.MethodType(value, self))
319+
for key, value in methods.items():
320+
if key in self.ADDITIONAL_METHODS:
321+
setattr(self, key, types.MethodType(value, self))

flask_rest_jsonapi/data_layers/filtering/alchemy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def __init__(self, model, filter_, resource, schema):
2929
self.schema = schema
3030

3131
def resolve(self):
32-
if 'or' not in self.filter_ and 'and' not in self.filter_:
32+
if 'or' not in self.filter_ and 'and' not in self.filter_ and 'not' not in self.filter_:
3333
if self.val is None and self.field is None:
3434
raise InvalidFilters("Can't find value or field in a filter")
3535

flask_rest_jsonapi/resource.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ def __new__(cls):
3232
.format(cls.__name__))
3333

3434
data_layer_cls = cls.data_layer.get('class', SqlalchemyDataLayer)
35-
cls._data_layer = data_layer_cls(cls.data_layer)
35+
data_layer_kwargs = copy(cls.data_layer)
36+
cls._data_layer = data_layer_cls(data_layer_kwargs)
3637
cls._data_layer.resource = cls
3738

3839
for method in getattr(cls, 'methods', ('GET', 'POST', 'PATCH', 'DELETE')):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from setuptools import setup, find_packages
22

33

4-
__version__ = '0.11.3'
4+
__version__ = '0.11.4'
55

66

77
setup(

0 commit comments

Comments
 (0)