Exemple #1
0
def validate_parametric_role(name, param1, param2, constraints=None):
    """
    Check if the parameters passed on creation of a new (parametric) role
    are allowed in the application domain.  
    """
    for (role_name, model_name_1, model_name_2) in constraints:
        ct_1 = get_ctype_from_model_label(model_name_1)
        ct_2 = get_ctype_from_model_label(model_name_2)
        param1_ct = ContentType.objects.get_for_model(param1)
        param2_ct = ContentType.objects.get_for_model(param2)
        if name == role_name and ct_1 == param1_ct and ct_2 == param2_ct:
            # parameters are of the right type for the role
            return True
    return False
Exemple #2
0
def validate_parametric_role(name, param1, param2, constraints=None):
    """
    Check if the parameters passed on creation of a new (parametric) role
    are allowed in the application domain.  
    """
    for (role_name, model_name_1, model_name_2) in constraints:
        ct_1 = get_ctype_from_model_label(model_name_1)
        ct_2 = get_ctype_from_model_label(model_name_2)
        param1_ct = ContentType.objects.get_for_model(param1)
        param2_ct = ContentType.objects.get_for_model(param2)
        if name == role_name and ct_1 == param1_ct and ct_2 == param2_ct:
            # parameters are of the right type for the role
            return True
    return False
Exemple #3
0
 def order(self):
     order_ct = get_ctype_from_model_label("gas.GASSupplierOrder")
     GASSupplierOrder = order_ct.model_class()
     if self.content_type_1 == order_ct:
         try:
             order = GASSupplierOrder.objects.get(pk=self.obj_id_1)
             return order
         except GASSupplierOrder.DoesNotExist:
             return None
     elif self.content_type_2 == order_ct:
         try:
             order = GASSupplierOrder.objects.get(pk=self.obj_id_2)
             return order
         except GASSupplierOrder.DoesNotExist:
             return None
     else:
         return None
Exemple #4
0
 def supplier(self):
     supplier_ct = get_ctype_from_model_label("supplier.Supplier")
     Supplier = supplier_ct.model_class()
     if self.content_type_1 == supplier_ct:
         try:
             supplier = Supplier.objects.get(pk=self.obj_id_1)
             return supplier
         except Supplier.DoesNotExist:
             return None
     elif self.content_type_2 == supplier_ct:
         try:
             supplier = Supplier.objects.get(pk=self.obj_id_2)
             return supplier
         except Supplier.DoesNotExist:
             return None
     else:
         return None
Exemple #5
0
 def gas(self):
     gas_ct = get_ctype_from_model_label("gas.GAS")
     GAS = gas_ct.model_class()
     if self.content_type_1 == gas_ct:
         try:
             gas = GAS.objects.get(pk=self.obj_id_2)
             return gas
         except GAS.DoesNotExist:
             return None
     elif self.content_type_2 == gas_ct:
         try:
             gas = GAS.objects.get(pk=self.obj_id_2)
             return gas
         except GAS.DoesNotExist:
             return None
     else:
         return None
Exemple #6
0
 def order(self):
     order_ct = get_ctype_from_model_label('gas.GASSupplierOrder')
     GASSupplierOrder = order_ct.model_class()
     if  self.content_type_1 == order_ct:
         try:
             order = GASSupplierOrder.objects.get(pk=self.obj_id_1)
             return order
         except GASSupplierOrder.DoesNotExist:
             return None    
     elif self.content_type_2 == order_ct:
         try:
             order = GASSupplierOrder.objects.get(pk=self.obj_id_2)
             return order
         except GASSupplierOrder.DoesNotExist:
             return None
     else:
         return None
Exemple #7
0
 def supplier(self):
     supplier_ct = get_ctype_from_model_label('supplier.Supplier')
     Supplier = supplier_ct.model_class()
     if  self.content_type_1 == supplier_ct:
         try:
             supplier = Supplier.objects.get(pk=self.obj_id_1)
             return supplier
         except Supplier.DoesNotExist:
             return None    
     elif self.content_type_2 == supplier_ct:
         try:
             supplier = Supplier.objects.get(pk=self.obj_id_2)
             return supplier
         except Supplier.DoesNotExist:
             return None
     else:
         return None
Exemple #8
0
 def gas(self):
     gas_ct = get_ctype_from_model_label('gas.GAS')
     GAS = gas_ct.model_class()
     if  self.content_type_1 == gas_ct:
         try:
             gas = GAS.objects.get(pk=self.obj_id_2)
             return gas
         except GAS.DoesNotExist:
             return None    
     elif self.content_type_2 == gas_ct:
         try:
             gas = GAS.objects.get(pk=self.obj_id_2)
             return gas
         except GAS.DoesNotExist:
             return None
     else:
         return None
Exemple #9
0
 def testModelNotExisting(self):
     '''Return None if the label points to a non existing model'''
     ct = get_ctype_from_model_label('auth.Foo')
     self.assertIsNone(ct)
Exemple #10
0
 def testMalformedLabel(self):
     '''Return None if the label is malformed'''
     ct = get_ctype_from_model_label('auth:User')
     self.assertIsNone(ct)
Exemple #11
0
 def testOK(self):
     '''Verify the right ContentType is returned if the model label is good'''
     user_ct = ContentType.objects.get_for_model(User)
     ct = get_ctype_from_model_label('auth.User')
     self.assertEqual(ct, user_ct)
Exemple #12
0
 def testModelNotExisting(self):
     '''Return None if the label points to a non existing model'''
     ct = get_ctype_from_model_label('auth.Foo')
     self.assertIsNone(ct)
Exemple #13
0
 def testMalformedLabel(self):
     '''Return None if the label is malformed'''
     ct = get_ctype_from_model_label('auth:User')
     self.assertIsNone(ct)
Exemple #14
0
 def testOK(self):
     '''Verify the right ContentType is returned if the model label is good'''
     user_ct = ContentType.objects.get_for_model(User)
     ct = get_ctype_from_model_label('auth.User')
     self.assertEqual(ct, user_ct)