Skip to content

Commit b115472

Browse files
committed
lint: options
1 parent 461d580 commit b115472

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

easy/controller/meta.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,8 @@ class CrudAPI(CrudModel, ABC):
2525
def __init__(self, service=None): # type: ignore
2626
# Critical to set __Meta
2727
self.service = service
28-
if self.service:
29-
self.model = self.service.model
3028

31-
_model_opts: ModelOptions = ModelOptions.get_model_options(self.__class__)
29+
_model_opts: ModelOptions = ModelOptions.get_model_options(self.Meta)
3230
if self.model and _model_opts:
3331
ModelOptions.set_model_meta(self.model, _model_opts)
3432

@@ -40,8 +38,8 @@ def __init__(self, service=None): # type: ignore
4038
class CrudApiMetaclass(ABCMeta):
4139
def __new__(mcs, name: str, bases: Tuple[Type[Any], ...], attrs: dict) -> Any:
4240
# Get configs from Meta
43-
_temp_cls: Type = super().__new__(mcs, name, (object,), attrs)
44-
model_opts: ModelOptions = ModelOptions.get_model_options(_temp_cls)
41+
attrs_meta = attrs.get("Meta", None)
42+
model_opts: ModelOptions = ModelOptions.get_model_options(attrs_meta)
4543

4644
# Get all attrs from parents excluding private ones
4745
def is_private_attrs(attr_name: str) -> Optional[Match[str]]:

easy/controller/meta_conf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from typing import Any, List, Optional, Type, Union
1+
from typing import Any, Dict, List, Optional, Type, Union
22

33
from django.db import models
44

5-
META_ATTRIBUTE_NAME: str = "__EASY_API_META__"
5+
META_ATTRIBUTE_NAME: str = "_easy_api_meta_"
66

77
GENERATE_CRUD_ATTR: str = "generate_crud"
88
GENERATE_CRUD_ATTR_DEFAULT = True
@@ -24,7 +24,7 @@
2424

2525

2626
class ModelOptions:
27-
def __init__(self, options: object = None):
27+
def __init__(self, options: Dict = None):
2828
"""
2929
Configuration reader
3030
"""
@@ -49,8 +49,8 @@ def __init__(self, options: object = None):
4949
)
5050

5151
@classmethod
52-
def get_model_options(cls, klass: Type) -> Any:
53-
return ModelOptions(getattr(klass, "Meta", None))
52+
def get_model_options(cls, meta: Dict) -> Any:
53+
return ModelOptions(meta)
5454

5555
@classmethod
5656
def set_model_meta(

easy/domain/orm.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414

1515
class CrudModel(object):
16+
Meta: Dict = {}
17+
1618
def __init__(self, model: Any):
1719
self.model = model
1820

@@ -58,7 +60,7 @@ def __init__(self, model: Type[models.Model]):
5860
and ((_field not in exclude_list) if exclude_list else True)
5961
)
6062
)
61-
super().__init__(model)
63+
super().__init__(self.model)
6264

6365
def _separate_payload(self, payload: Dict) -> Tuple[Dict, Dict]:
6466
m2m_fields = {}

easy/permissions/adminsite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def has_permission(
2424
model: models.Model = cast(models.Model, getattr(controller, "model", None))
2525
if model:
2626
app: str = model._meta.app_label
27-
model_name = model.__name__.lower()
27+
model_name = model._meta.model_name
2828
if request.method in ("GET", "OPTIONS"):
2929
has_perm = user.has_perm(f"{app}.view_{model_name}") # type: ignore
3030

0 commit comments

Comments
 (0)