Example #1
0
    def setUp(self):
        self.url = '/api/bulk/update'
        
        setProjectSimple(project='default')
        
        self.client = Client()

        self.attr_schema  = AS.objects.create(name='Root', description = '', id=nc_id.get(), parent=None)
        
        self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
        self.attr_type2   = Type.objects.create(name='Memo', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='OT1', id=nc_id.get(), description = '', parent=None)
        self.object_type2 = OT.objects.create(name='OT2', id=nc_id.get(), description = '', parent=self.object_type1)

        self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema)

        self.attr1        = ATTR.objects.create(name='Attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
        
        self.aot1         = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema)
        self.aot1         = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema)
        
        #Bulk edit
        self.be_object_type1 = Tree_bulk_edit.objects.create(name=self.object_type1.name, orig_id=self.object_type1.id, parent=None,                 type='object_type', attr_schema=self.attr_schema)
        self.be_object_type2 = Tree_bulk_edit.objects.create(name=self.object_type2.name, orig_id=self.object_type2.id, parent=self.be_object_type1, type='object_type', attr_schema=self.attr_schema)

        self.be_attr_group1  = Tree_bulk_edit.objects.create(name=self.attr_group1.name,  orig_id=self.attr_group1.id, parent=self.be_object_type1, type='attr_group', attr_schema=self.attr_schema)
        self.be_attr_group2  = Tree_bulk_edit.objects.create(name=self.attr_group2.name,  orig_id=self.attr_group2.id, parent=self.be_object_type2, type='attr_group', attr_schema=self.attr_schema)

        self.be_attr1        = Tree_bulk_edit.objects.create(name=self.attr1.name, orig_id=self.attr1.id, parent=self.be_attr_group1, type='attr', attr_schema=self.attr_schema)
        self.be_attr2        = Tree_bulk_edit.objects.create(name=self.attr2.name, orig_id=self.attr2.id, parent=self.be_attr_group2, type='attr', attr_schema=self.attr_schema)
Example #2
0
    def setUp(self):
        self.url = '/api/attr/delete'
        
        self.client       = Client()
                
        self.attr_schema  = AS.objects.create(name='Root', description = '', id=nc_id.get(), parent=None)
        self.attr_schema2 = AS.objects.create(name='DiGi', description = '', id=nc_id.get(), parent=self.attr_schema)
        
        self.attr_type     = Type.objects.create(name='Text', id=nc_id.get())
        self.attr_type2    = Type.objects.create(name='Memo', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='All1', id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='OT2',  id=nc_id.get(), parent=self.object_type1)

        self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema)

        self.attr1        = ATTR.objects.create(name='Attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)

        #reference attribute
        self.attr_type_ref = Type.objects.create(name='Reference', id=9)
        self.attr_type_def = Type_def.objects.create(id=nc_id.get(), type=self.attr_type_ref, schema=self.attr_schema, object_type=self.object_type1)                    
        self.attr_ref      = ATTR.objects.create(name='Reference', id=nc_id.get(), type=self.attr_type_ref, group=self.attr_group2, schema=self.attr_schema, type_def=self.attr_type_def)

        #list attribute
        self.attr_type_list = Type.objects.create(name='List', id=7)
        self.list           = Type_def.objects.create(id=nc_id.get(), type=self.attr_type_list, schema=self.attr_schema, object_type=None, name='List1')                    
        self.list2          = Type_def.objects.create(id=nc_id.get(), type=self.attr_type_list, schema=self.attr_schema, object_type=None, name='List2')                    
        self.attr_list      = ATTR.objects.create(name='Attribute List', id=nc_id.get(), type=self.attr_type_list, group=self.attr_group2, schema=self.attr_schema, type_def=self.list)
        
        self.aot1         = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema)
        self.aot2         = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema)
        self.aot4         = AOT.create(attr=self.attr_ref, options=0, object_type=self.object_type1, schema=self.attr_schema2)
        self.aot5         = AOT.create(attr=self.attr_list, options=0, object_type=self.object_type1, schema=self.attr_schema2)
Example #3
0
    def setUp(self):       
        self.url = '/api/analytic'
        
        setProjectSimple(project='default')
        
        self.client       = Client()
        
        self.attr_schema  = AS.objects.create(name='Root', id=nc_id.get(), parent=None)
        
        self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='OT1',  id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='OT2',  id=nc_id.get(), parent=self.object_type1)
        self.object_type3 = OT.objects.create(name='OT3',  id=nc_id.get(), parent=self.object_type2)

        self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group3  = AG.objects.create(name='DiGi3', id=nc_id.get(), schema=self.attr_schema)

        self.attr1        = ATTR.objects.create(name='Attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
        self.attr3        = ATTR.objects.create(name='Attr3', id=nc_id.get(), type=self.attr_type, group=self.attr_group3, schema=self.attr_schema)

        self.aot1_exist   = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema, id=nc_id.get())
        self.aot2_exist   = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema, id=nc_id.get())
        self.aot3_exist   = AOT.create(attr=self.attr3, options=0, object_type=self.object_type3, schema=self.attr_schema, id=nc_id.get())
Example #4
0
 def setUp(self):
     self.url = '/api/aot/rebind'
             
     setProjectSimple(project='default')
     
     self.client = Client()
     
     self.attr_schema  = AS.objects.create(name='Root', id=nc_id.get(), parent_id=None)
     
     self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
     self.attr_type2   = Type.objects.create(name='Memo', id=nc_id.get())
     
     self.object_type1 = OT.objects.create(name='OT1', id=nc_id.get(), parent=None)
     self.object_type2 = OT.objects.create(name='OT2', id=nc_id.get(), parent=self.object_type1)
     
     self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)
     self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema)
     
     self.attr1        = ATTR.objects.create(name='Attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
     self.attr2        = ATTR.objects.create(name='Attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
     self.attr3        = ATTR.objects.create(name='Attr3', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
     
     self.aot1         = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema)
     self.aot2         = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema)
     
     self.aot_unbind   = AOT.create(attr=self.attr3, options=2, object_type=self.object_type2, schema=self.attr_schema)
Example #5
0
    def test_correct1(self):
        aot31_bind    = AOT.create(attr=self.attr3, options=0, object_type=self.object_type1, schema=self.attr_schema)
        aot32_bind    = AOT.create(attr=self.attr3, options=0, object_type=self.object_type2, schema=self.attr_schema)
    
        response = self.client.get(self.url, {'attr': self.attr3.id })

        self.assertEqual(response.status_code, 200)
        
        self.assertEqual(json.loads(response.content)[0], \
            { \
                'origin': None, \
                'leaf': False, \
                'description': None, \
                'text': self.attr_schema.name, \
                'expanded': True, \
                'type': 'AS', \
                'nc_id': str(self.attr_schema.id), \
                'iconCls': settings.ATTR_SCHEMA_ICON, \
                'attr_schema_name': self.attr_schema.name, \
                'id': 3, \
                'children': [{ \
                    'origin': u'bind', \
                    'leaf': False, \
                    'description': None, \
                    'text': self.object_type1.name, \
                    'expanded': True, \
                    'nc_id': str(self.object_type1.id), \
                    'type': 'OT', \
                    'iconCls': settings.BIND_ICON, \
                    'attr_schema_name': self.attr_schema.name, \
                    'id': 4, \
                    'children': [{ \
                        'origin': u'bind', \
                        'leaf': False, \
                        'description': None, \
                        'text': self.object_type2.name, \
                        'expanded': True, \
                        'nc_id': str(self.object_type2.id), \
                        'type': 'OT', \
                        'iconCls': settings.BIND_ICON, \
                        'attr_schema_name': self.attr_schema.name, \
                        'id': 5, \
                        'children': [{ \
                            'origin': u'bind', \
                            'leaf': True, \
                            'description': None, \
                            'text': self.object_type3.name, \
                            'expanded': False, \
                            'nc_id': str(self.object_type3.id), \
                            'type': 'OT', \
                            'iconCls': settings.BIND_ICON, \
                            'attr_schema_name': self.attr_schema.name, \
                            'id': 6 \
                        }] \
                    }] \
                }] \
            } \
        )
Example #6
0
    def test_unknow_options_multipleOT2(self):
        #unknown options=-1
        AOT.create(attr=self.attr3, options=-1, object_type=self.object_type2, schema=self.attr_schema)
        
        response = self.client.get(self.url, {'attr': self.attr3.id, 'attr_schema': self.attr_schema.id, 'object_types': [self.object_type1.id,self.object_type2.id,] })

        self.assertEqual(response.status_code, 200)
        self.assertEqual(json.loads(response.content)['success'], False)
        self.assertNotEqual(json.loads(response.content)['errors'], None)
Example #7
0
    def test_already_bind(self):
        #already bind
        AOT.create(attr=self.attr3, options=0, object_type=self.object_type2, schema=self.attr_schema)
        
        response = self.client.get(self.url, {'attr': self.attr3.id, 'attr_schema': self.attr_schema.id, 'object_types': [self.object_type2.id,] })

        self.assertEqual(json.loads(response.content)['success'], True)
        self.assertNotEqual(json.loads(response.content)['message'], None)
        
        aot = AOT.objects.get(attr=self.attr3, object_type=self.object_type2, schema=self.attr_schema)
        
        self.assertEqual(aot.options, 0)       
Example #8
0
    def setUp(self):
        self.url = '/api/attr/data'
        
        self.client = Client()

        #AS
        self.attr_schema1 = AS.objects.create(name='Root', id=nc_id.get(), parent=None)
        self.attr_schema2 = AS.objects.create(name='Root', id=nc_id.get(), parent=self.attr_schema1)
        
        #Tag
        self.tag1 = Tag.objects.create(name='Tag1', description=None)
        self.tag2 = Tag.objects.create(name='Tag2', description=None)

        #Type
        self.attr_type1   = Type.objects.create(name='Text', id=nc_id.get())
        self.attr_type2   = Type.objects.create(name='Memo', id=nc_id.get())
        
        #OT
        self.object_type1 = OT.objects.create(name='OT1', id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='OT2', id=nc_id.get(), parent=self.object_type1)

        #AG
        self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema1)
        self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema2)        

        #ATTR
        self.attr11        = ATTR.objects.create(name='Attr11', id=nc_id.get(), type=self.attr_type1,  group=self.attr_group1, schema=self.attr_schema1)
        self.attr12        = ATTR.objects.create(name='Attr12', id=nc_id.get(), type=self.attr_type1,  group=self.attr_group1, schema=self.attr_schema1)
        self.attr21        = ATTR.objects.create(name='Attr21', id=nc_id.get(), type=self.attr_type2, group=self.attr_group2, schema=self.attr_schema2)
        self.attr22        = ATTR.objects.create(name='Attr22', id=nc_id.get(), type=self.attr_type2, group=self.attr_group2, schema=self.attr_schema2)

        #AOT
        self.aot11         = AOT.create(attr=self.attr11, options=0, object_type=self.object_type1, schema=self.attr_schema1)
        self.aot12         = AOT.create(attr=self.attr12, options=0, object_type=self.object_type2, schema=self.attr_schema1)
        self.aot21         = AOT.create(attr=self.attr21, options=0, object_type=self.object_type1, schema=self.attr_schema2)
        self.aot22         = AOT.create(attr=self.attr22, options=0, object_type=self.object_type2, schema=self.attr_schema2)
        
        #обновляем Tag
        prop = Property(obj=self.attr11)
        prop.tag.set(tags=[self.tag1,])
        
        prop = Property(obj=self.attr22)
        prop.tag.set(tags=[self.tag2,])
        
        prop = Property(obj=self.attr21)
        prop.tag.set(tags=[self.tag2, self.tag1,])
        
        prop = Property(obj=self.attr12)
        prop.tag.set(tags=[self.tag1, self.tag2,])
Example #9
0
    def setUp(self):
        self.url = '/api/aot/clone'
        
        self.client       = Client()

        self.attr_schema  = AS.objects.create(name='Root', description = '', id=nc_id.get(), parent=None)
        self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='All', description = '', id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='All', description = '', id=nc_id.get(), parent=self.object_type1)
        
        self.attr_group1  = AG.objects.create(name='DiGi1', description = '', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2  = AG.objects.create(name='DiGi2', description = '', id=nc_id.get(), schema=self.attr_schema)
        
        self.attr1        = ATTR.objects.create(name='Attr1', description = '', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', description = '', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
        
        self.aot1         = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema, id=nc_id.get())
        self.aot2         = AOT.create(attr=self.attr2, options=0, object_type=self.object_type1, schema=self.attr_schema, id=nc_id.get())
Example #10
0
    def setUp(self):
        self.url = '/api/search/index'
        
        self.client = Client()
        
        self.attr_schema  = AS.objects.create(name='Root', id=nc_id.get(), parent=None)
        self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='OT1', description='ot1', id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='OT2', description='ot2', id=nc_id.get(), parent=self.object_type1)

        self.attr_group1  = AG.objects.create(name='AG1',  id=nc_id.get(), schema=self.attr_schema, description='ag1', subgroup='DIGI1')
        self.attr_group2  = AG.objects.create(name='AG2',  id=nc_id.get(), schema=self.attr_schema, description='ag2', subgroup='DIGI2')
        
        self.attr1        = ATTR.objects.create(name='Attr1', description='attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', description='attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)

        self.aot1         = AOT.create(schema=self.attr_schema, object_type=self.object_type1, attr=self.attr1, options=0)
        self.aot2         = AOT.create(schema=self.attr_schema, object_type=self.object_type2, attr=self.attr2, options=0)
Example #11
0
    def setUp(self):
        self.url = '/api/attr/order/index'
        
        self.client = Client()
        
        self.attr_schema = AS.objects.create(name='Root', description = '', id=nc_id.get(), parent_id=None)
        
        self.attr_type   = Type.objects.create(name='Text', id=nc_id.get())
        self.attr_group  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)

        self.object_type = OT.objects.create(name='All1',  id=nc_id.get(), parent=None)
        
        self.attr1       = ATTR.objects.create(order=1, name='Attr1', description = '', id=nc_id.get(), type=self.attr_type, group=self.attr_group, schema=self.attr_schema)
        self.attr2       = ATTR.objects.create(order=2, name='Attr2', description = '', id=nc_id.get(), type=self.attr_type, group=self.attr_group, schema=self.attr_schema)
        self.attr3       = ATTR.objects.create(order=3, name='Attr3', description = '', id=nc_id.get(), type=self.attr_type, group=self.attr_group, schema=self.attr_schema)

        self.aot1         = AOT.create(attr=self.attr1, options=0, object_type=self.object_type, schema=self.attr_schema)
        self.aot2         = AOT.create(attr=self.attr2, options=0, object_type=self.object_type, schema=self.attr_schema)
        self.aot3         = AOT.create(attr=self.attr3, options=0, object_type=self.object_type, schema=self.attr_schema)
Example #12
0
def worker(req):
    """
    функция отвязки атрибута
    """

    schema      = req.params()['attr_schema']
    object_type = req.params()['object_type']
    attr        = req.params()['attr']

    try:
        #получаем связку
        aot = AOT.objects.get(schema=schema, object_type=object_type, attr=attr, options=2)
    except ObjectDoesNotExist:
        #привязка не найдена - создаём её
        AOT.create(schema=schema, object_type=object_type, attr=attr, options=0)
    else:
        #атрибут реально отвязан от данного OT => восстанавливаем наследование BIND
        AOT.delete(schema=schema, object_type=object_type, attr=attr)

    return { "success": True, "message": "Привязка успешно восстановлена"}
Example #13
0
def worker(req):
    """
    функция отвязки атрибута
    """
    error = False
    
    schema       = req.params()['attr_schema']
    object_types = req.params()['object_types']
    attr         = req.params()['attr']
            
    for object_type in object_types:
        if not error:
            #Проверяем - нет ли уже привязки данного атрибута к объектному типу
            try:
                aot = AOT.objects.get(schema=schema, object_type=object_type, attr=attr)
            except ObjectDoesNotExist:
                #привязки нет => создём привязку
                AOT.create(schema=schema, object_type=object_type, attr=attr, options=0)
            except MultipleObjectsReturned:
                error = True
                reason = u"Атрибут привязан к данному OT больше чем 1 раз[ID атрибута: %s, ID OT: %s(ошибка в БД)]" % (attr.attr, object_type.object_type,)
            else:
                if aot.options not in (0,2,):
                    #атрибут уже привязан на данном ОТ - выкинем предупреждение и ничего не будем делать
                    error = True
                    reason = u"Неизвестный тип options = %s(ошибка БД)" % aot.options
                else:                
                    if aot.options == 0:
                        #атрибут уже привязан на данном ОТ - пропускаем его
                        pass
                        
                    #привязка найдена - проверяем её на ORIGIN
                    if aot.options == 2:
                        #атрибут был отвязан - привяжем его снова
                        AOT.bind(schema=schema, object_type=object_type, attr=attr)
                    
    if error:
        return {"success": False, "errors": reason}
    else:
        return {"success": True, "message": "атрибут %s успешно привязан" % str(attr.id)}
                    
Example #14
0
def worker(req):
    """
    функция клонирования привязок
    """
            
    dst_ots = req.params()['object_types']
    src_ot  = req.params()['object_type']
    schema  = req.params()['attr_schema']
    group   = req.params()['attr_group']
    
    for dst_ot in dst_ots:

        #Получаем все BIND/UNBIND атрибуты на данном OT
        aots = AOT.objects.filter(options__in=[0,2], schema=schema, object_type=src_ot)
        
        for aot in aots:
            if aot.attr.group == group:
                #создаём связку
                AOT.create(schema=schema, object_type=dst_ot, attr=aot.attr, options=aot.options)

    return { "success": True, "message": "AOT's успешно клонированы" }
Example #15
0
    def setUp(self):
        self.url = "/api/bulk/index"

        setProjectSimple(project="default")

        self.client = Client()

        self.attr_schema = AS.objects.create(name="Root", description="", id=nc_id.get(), parent=None)

        self.attr_type = Type.objects.create(name="Text", id=nc_id.get())
        self.attr_type2 = Type.objects.create(name="Memo", id=nc_id.get())

        self.object_type1 = OT.objects.create(name="OT1", id=nc_id.get(), description="", parent=None)
        self.object_type2 = OT.objects.create(name="OT2", id=nc_id.get(), description="", parent=self.object_type1)

        self.attr_group1 = AG.objects.create(name="DiGi1", id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2 = AG.objects.create(name="DiGi2", id=nc_id.get(), schema=self.attr_schema)

        self.attr1 = ATTR.objects.create(
            name="Attr1", id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema
        )
        self.attr2 = ATTR.objects.create(
            name="Attr2", id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema
        )

        self.aot1 = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema)
        self.aot1 = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema)

        # Bulk edit
        self.be_object_type1 = Tree_bulk_edit.objects.create(
            name=self.object_type1.name,
            orig_id=self.object_type1.id,
            parent=None,
            type="object_type",
            attr_schema=self.attr_schema,
        )
        self.be_object_type2 = Tree_bulk_edit.objects.create(
            name=self.object_type2.name,
            orig_id=self.object_type2.id,
            parent=self.be_object_type1,
            type="object_type",
            attr_schema=self.attr_schema,
        )

        self.be_attr_group1 = Tree_bulk_edit.objects.create(
            name=self.attr_group1.name,
            orig_id=self.attr_group1.id,
            parent=self.be_object_type1,
            type="attr_group",
            attr_schema=self.attr_schema,
        )
        self.be_attr_group2 = Tree_bulk_edit.objects.create(
            name=self.attr_group2.name,
            orig_id=self.attr_group2.id,
            parent=self.be_object_type2,
            type="attr_group",
            attr_schema=self.attr_schema,
        )

        self.be_attr1 = Tree_bulk_edit.objects.create(
            name=self.attr1.name,
            orig_id=self.attr1.id,
            parent=self.be_attr_group1,
            type="attr",
            attr_schema=self.attr_schema,
        )
        self.be_attr2 = Tree_bulk_edit.objects.create(
            name=self.attr2.name,
            orig_id=self.attr2.id,
            parent=self.be_attr_group2,
            type="attr",
            attr_schema=self.attr_schema,
        )
Example #16
0
    def test_correct5(self):
        AS.objects.all().delete()
        OT.objects.all().delete()
        AG.objects.all().delete()
        ATTR.objects.all().delete()
        AOT.objects.all().delete()
        Type.objects.all().delete()   
    
        self.attr_schema  = AS.objects.create(name='Root', id=nc_id.get(), parent_id=None)
        self.attr_type    = Type.objects.create(name='Text', id=nc_id.get())
        
        self.object_type1 = OT.objects.create(name='OT1',  id=nc_id.get(), parent=None)
        self.object_type2 = OT.objects.create(name='OT2',  id=nc_id.get(), parent=self.object_type1)
        self.object_type3 = OT.objects.create(name='OT3',  id=nc_id.get(), parent=self.object_type1)

        self.attr_group1  = AG.objects.create(name='DiGi1', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group2  = AG.objects.create(name='DiGi2', id=nc_id.get(), schema=self.attr_schema)
        self.attr_group3  = AG.objects.create(name='DiGi3', id=nc_id.get(), schema=self.attr_schema)

        self.attr1        = ATTR.objects.create(name='Attr1', id=nc_id.get(), type=self.attr_type, group=self.attr_group1, schema=self.attr_schema)
        self.attr2        = ATTR.objects.create(name='Attr2', id=nc_id.get(), type=self.attr_type, group=self.attr_group2, schema=self.attr_schema)
        self.attr3        = ATTR.objects.create(name='Attr3', id=nc_id.get(), type=self.attr_type, group=self.attr_group3, schema=self.attr_schema)
        
        self.aot1_exist   = AOT.create(attr=self.attr1, options=0, object_type=self.object_type1, schema=self.attr_schema)
        self.aot2_exist   = AOT.create(attr=self.attr2, options=0, object_type=self.object_type2, schema=self.attr_schema)
        self.aot3_exist   = AOT.create(attr=self.attr3, options=0, object_type=self.object_type3, schema=self.attr_schema)
        
        aot13_bind   = AOT.create(attr=self.attr1, options=0, object_type=self.object_type3, schema=self.attr_schema)
        aot12_bind   = AOT.create(attr=self.attr1, options=0, object_type=self.object_type2, schema=self.attr_schema)
        
        response = self.client.get(self.url, {'attr': self.attr1.id })

        self.assertEqual(response.status_code, 200)
        self.assertEqual(json.loads(response.content)[0], \
            { \
                'origin': None, \
                'leaf': False, \
                'description': None, \
                'text': self.attr_schema.name, \
                'expanded': True, \
                'type': 'AS', \
                'nc_id': str(self.attr_schema.id), \
                'iconCls': settings.ATTR_SCHEMA_ICON, \
                'attr_schema_name': self.attr_schema.name, \
                'id': 26, \
                'children': [{ \
                    'origin': 'bind', \
                    'leaf': False, \
                    'description': None, \
                    'text': self.object_type1.name, \
                    'expanded': True, \
                    'nc_id': str(self.object_type1.id), \
                    'type': 'OT', \
                    'id': 27, \
                    'attr_schema_name': self.attr_schema.name, \
                    'iconCls': settings.BIND_ICON, \
                    'children': [{ \
                        'origin': 'bind', \
                        'leaf': True, \
                        'description': None, \
                        'text': self.object_type3.name, \
                        'expanded': False, \
                        'nc_id': str(self.object_type3.id), \
                        'type': 'OT', \
                        'id': 29, \
                        'attr_schema_name': self.attr_schema.name, \
                        'iconCls': settings.BIND_ICON \
                    },{
                        'origin': 'bind', \
                        'leaf': True, \
                        'description': None, \
                        'text': self.object_type2.name, \
                        'expanded': False, \
                        'nc_id': str(self.object_type2.id), \
                        'type': 'OT', \
                        'id': 28, \
                        'attr_schema_name': self.attr_schema.name, \
                        'iconCls': settings.BIND_ICON \
                    }] \
                }] \
            } \
        )