Ver código fonte

Fixed validator issues

Vsevolod Levitan 1 ano atrás
pai
commit
b19190718d

+ 2 - 0
src/models/abstract_reference.py

@@ -8,6 +8,8 @@ class abstract_reference(ABC):
     __id: uuid.UUID
     __name:str = ""
     __error: error_proxy = error_proxy()
+
+    __vtor = validator()
     
     def __init__(self, name: str = None) -> None:
         self.name = name

+ 7 - 5
src/models/company_model.py

@@ -13,18 +13,20 @@ class company_model (abstract_reference):
     # Форма собственности
     __property_type = ""
 
+    __vtor = validator()
+
 
     def __init__(self, data: settings):
         """
         Args:
             data (settings): Объект настроек с данными организации
         """
-        validator.check_type(data, settings)
+        self.__vtor.check_type(data, settings)
         
-        self.__tax_id = settings.tax_id
-        self.__bank_id = settings.bank_id
-        self.__bank_account_id = settings.bank_account_id
-        self.__property_type = settings.property_type
+        self.__tax_id = data.tax_id
+        self.__bank_id = data.bank_id
+        self.__bank_account_id = data.bank_account_id
+        self.__property_type = data.property_type
 
     @property
     def tax_id(self):

+ 4 - 2
src/models/measurement_unit_model.py

@@ -8,6 +8,8 @@ class measurement_unit_model (abstract_reference):
     # Базовый коэффициент
     __base_coefficient = None
 
+    __vtor = validator()
+
     def __init__(self, base_coefficient = 1, base_measurement=None):
         """
         Args:
@@ -15,8 +17,8 @@ class measurement_unit_model (abstract_reference):
             base_coefficint (number): Базовый коэффициент
         """
 
-        validator.check_type_any(base_measurement, measurement_unit_model, None)
-        validator.check_number(base_measurement)
+        self.__vtor.check_type_any(base_measurement, measurement_unit_model, None)
+        self.__vtor.check_number(base_coefficient)
 
         self.__base_measurement_unit = base_measurement
         self.__base_coefficient = base_coefficient

+ 6 - 4
src/models/nomenclature_model.py

@@ -11,6 +11,8 @@ class nomenclature_model(abstract_reference):
     # Группа номенклатуры
     __nomenclature_group = None
 
+    __vtor = validator()
+
 
     def __init__(self, full_name, measurement_unit, nomenclature_group):
         """
@@ -20,10 +22,10 @@ class nomenclature_model(abstract_reference):
             nomenclature_group (nomenclature_group_model): Группа номенклатуры
         """
 
-        validator.check_type(full_name, str)
-        validator.check_length_less(full_name, 256)
-        validator.check_type(measurement_unit, measurement_unit_model)
-        validator.check_type(nomenclature_group, nomenclature_group_model)
+        self.__vtor.check_type(full_name, str)
+        self.__vtor.check_length_less(full_name, 256)
+        self.__vtor.check_type(measurement_unit, measurement_unit_model)
+        self.__vtor.check_type(nomenclature_group, nomenclature_group_model)
 
         self.__full_name = full_name
         self.__measurement_unit = measurement_unit

+ 4 - 2
src/validation/validator.py

@@ -29,8 +29,10 @@ class validator:
         """
 
         flag = False
-        for type in types:
-            if isinstance(value, type):
+        for t in types:
+            if t is None:
+                t = type(None)
+            if isinstance(value, t):
                 flag = True
                 break