예제 #1
0
 def test_delete_type_and_version(self):
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)
     type = self.createType()
     delete_type_and_version(str(type.id))
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)
예제 #2
0
 def createTypeVersion(self):
     countTypeVersion = len(TypeVersion.objects())
     typeVersion = TypeVersion(nbVersions=1,
                               isDeleted=False,
                               current=FAKE_ID).save()
     self.assertEquals(len(TypeVersion.objects()), countTypeVersion + 1)
     return typeVersion
 def test_delete_type_and_version(self):
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)
     type = self.createType()
     delete_type_and_version(str(type.id))
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)
예제 #4
0
파일: views.py 프로젝트: ztrautt/MDCS-1.5
def manage_types(request):
    if request.user.is_authenticated() and request.user.is_staff:
        template = loader.get_template('admin/manage_uploads.html')

        currentTypeVersions = []
        for type_version in TypeVersion.objects():
            currentTypeVersions.append(type_version.current)

        currentTypes = dict()
        for type_version in currentTypeVersions:
            type = Type.objects.get(pk=type_version)
            typeVersions = TypeVersion.objects.get(pk=type.typeVersion)
            currentTypes[type] = typeVersions.isDeleted

        context = RequestContext(
            request, {
                'objects': currentTypes,
                'objectType': "Type",
                'buckets': Bucket.objects
            })
        request.session['currentYear'] = currentYear()
        return HttpResponse(template.render(context))
    else:
        if 'loggedOut' in request.session:
            del request.session['loggedOut']
        request.session['next'] = '/'
        return redirect('/login')
예제 #5
0
def compose_build_template(request):
    template = loader.get_template('compose/compose_build_template.html')
    # 1) user types: list of ids
    userTypes = []
    for user_type in Type.objects(user=str(request.user.id)):
        userTypes.append(user_type)
    # 2) buckets: label -> list of type that are not deleted
    # 3) nobuckets: list of types that are not assigned to a specific bucket
    bucketsTypes = dict()
    nobucketsTypes = []

    buckets = Bucket.objects

    for type_version in TypeVersion.objects():
        if type_version.isDeleted == False:
            hasBucket = False
            for bucket in buckets:
                if str(type_version.id) in bucket.types:
                    if bucket not in bucketsTypes.keys():
                        bucketsTypes[bucket] = []
                    bucketsTypes[bucket].append(
                        Type.objects.get(pk=type_version.current))
                    hasBucket = True
            if hasBucket == False:
                nobucketsTypes.append(
                    Type.objects.get(pk=type_version.current))

    context = RequestContext(
        request, {
            'bucketsTypes': bucketsTypes,
            'nobucketsTypes': nobucketsTypes,
            'userTypes': userTypes,
        })

    return HttpResponse(template.render(context))
예제 #6
0
파일: views.py 프로젝트: hzhao1230/nanomine
def compose_build_template(request):
    template = loader.get_template('compose/compose_build_template.html')
    # 1) user types: list of ids
    userTypes = []
    for user_type in Type.objects(user=str(request.user.id)):
        userTypes.append(user_type)
    # 2) buckets: label -> list of type that are not deleted
    # 3) nobuckets: list of types that are not assigned to a specific bucket
    bucketsTypes = dict()
    nobucketsTypes = []

    buckets = Bucket.objects

    for type_version in TypeVersion.objects():
        if type_version.isDeleted == False:
            hasBucket = False
            for bucket in buckets:
                if str(type_version.id) in bucket.types:
                    if bucket not in bucketsTypes.keys():
                        bucketsTypes[bucket] = []
                    bucketsTypes[bucket].append(Type.objects.get(pk=type_version.current))
                    hasBucket = True
            if hasBucket == False:
                nobucketsTypes.append(Type.objects.get(pk=type_version.current))

    context = RequestContext(request, {
       'bucketsTypes': bucketsTypes,
       'nobucketsTypes': nobucketsTypes,
       'userTypes': userTypes,
    })

    return HttpResponse(template.render(context))
예제 #7
0
파일: views.py 프로젝트: WardLT/MDCS
def manage_types(request):
    if request.user.is_authenticated() and request.user.is_staff:
        template = loader.get_template('admin/manage_uploads.html')
    
        currentTypeVersions = []
        for type_version in TypeVersion.objects():
            currentTypeVersions.append(type_version.current)
        
        currentTypes = dict()
        for type_version in currentTypeVersions:
            type = Type.objects.get(pk=type_version)
            typeVersions = TypeVersion.objects.get(pk=type.typeVersion)
            currentTypes[type] = typeVersions.isDeleted
    
        context = RequestContext(request, {
            'objects':currentTypes,
            'objectType': "Type",
            'buckets': Bucket.objects
            
        })
        request.session['currentYear'] = currentYear()
        return HttpResponse(template.render(context))
    else:
        if 'loggedOut' in request.session:
            del request.session['loggedOut']
        request.session['next'] = '/'
        return redirect('/login')
예제 #8
0
 def test_delete_object_type(self):
     type = self.createType()
     url = '/dashboard/delete_object'
     data = {'objectID': type.id, 'objectType': 'Type'}
     r = self.doRequestPostAdminClientLogged(url=url, data=data)
     self.assertEquals(0, len(Type.objects()))
     self.assertEquals(0, len(TypeVersion.objects()))
 def test_delete_object_type(self):
     type = self.createType()
     url = '/dashboard/delete_object'
     data = {'objectID': type.id, 'objectType': 'Type'}
     r = self.doRequestPostAdminClientLogged(url=url, data=data)
     self.assertEquals(0, len(Type.objects()))
     self.assertEquals(0, len(TypeVersion.objects()))
 def test_delete_type_with_dependencies(self):
     type = self.createType()
     Type(title='testType', filename='filename', content='content', hash='hash', dependencies=[str(type.id)]).save()
     Template(title='testTemplate', filename='filename', content='content', hash='hash', dependencies=[str(type.id)]).save()
     listDependencies = delete_type(str(type.id))
     self.assertEquals(len(Type.objects()), 2)
     self.assertEquals(len(TypeVersion.objects()), 1)
     self.assertEquals(listDependencies, 'testType, testTemplate')
예제 #11
0
 def test_delete_type_with_dependencies(self):
     type = self.createType()
     Type(title='testType',
          filename='filename',
          content='content',
          hash='hash',
          dependencies=[str(type.id)]).save()
     Template(title='testTemplate',
              filename='filename',
              content='content',
              hash='hash',
              dependencies=[str(type.id)]).save()
     listDependencies = delete_type(str(type.id))
     self.assertEquals(len(Type.objects()), 2)
     self.assertEquals(len(TypeVersion.objects()), 1)
     self.assertEquals(listDependencies, 'testType, testTemplate')
예제 #12
0
파일: views.py 프로젝트: ztrautt/MDCS-1.5
def compose_build_template(request):
    template = loader.get_template('compose_build_template.html')
    request.session['currentYear'] = currentYear()
    if request.user.is_authenticated():

        # 1) user types: list of ids
        userTypes = []
        for user_type in Type.objects(user=request.user.id):
            userTypes.append(user_type)

        # 2) buckets: label -> list of type that are not deleted
        # 3) nobuckets: list of types that are not assigned to a specific bucket
        bucketsTypes = dict()
        nobucketsTypes = []

        buckets = Bucket.objects

        for type_version in TypeVersion.objects():
            if type_version.isDeleted == False:
                hasBucket = False
                for bucket in buckets:
                    if str(type_version.id) in bucket.types:
                        if bucket not in bucketsTypes.keys():
                            bucketsTypes[bucket] = []
                        bucketsTypes[bucket].append(
                            Type.objects.get(pk=type_version.current))
                        hasBucket = True
                if hasBucket == False:
                    nobucketsTypes.append(
                        Type.objects.get(pk=type_version.current))

        context = RequestContext(
            request, {
                'bucketsTypes': bucketsTypes,
                'nobucketsTypes': nobucketsTypes,
                'userTypes': userTypes,
            })

        return HttpResponse(template.render(context))
    else:
        if 'loggedOut' in request.session:
            del request.session['loggedOut']
        request.session['next'] = '/compose/build-template'
        return redirect('/login')
예제 #13
0
파일: views.py 프로젝트: hzhao1230/NanoMine
def manage_types(request):
    template = loader.get_template('admin/manage_uploads.html')

    currentTypeVersions = []
    for type_version in TypeVersion.objects():
        currentTypeVersions.append(type_version.current)

    currentTypes = dict()
    for type_version in currentTypeVersions:
        type = Type.objects.get(pk=type_version)
        typeVersions = TypeVersion.objects.get(pk=type.typeVersion)
        currentTypes[type] = typeVersions.isDeleted

    context = RequestContext(request, {
        'objects': currentTypes,
        'objectType': "Type",
        'buckets': Bucket.objects
    })
    return HttpResponse(template.render(context))
예제 #14
0
파일: views.py 프로젝트: hzhao1230/nanomine
def manage_types(request):
    template = loader.get_template('admin/manage_uploads.html')

    currentTypeVersions = []
    for type_version in TypeVersion.objects():
        currentTypeVersions.append(type_version.current)

    currentTypes = dict()
    for type_version in currentTypeVersions:
        type = Type.objects.get(pk=type_version)
        typeVersions = TypeVersion.objects.get(pk=type.typeVersion)
        currentTypes[type] = typeVersions.isDeleted

    context = RequestContext(request, {
        'objects':currentTypes,
        'objectType': "Type",
        'buckets': Bucket.objects

    })
    return HttpResponse(template.render(context))
예제 #15
0
파일: views.py 프로젝트: WardLT/MDCS
def compose_build_template(request):
    template = loader.get_template('compose_build_template.html')
    request.session['currentYear'] = currentYear()
    if request.user.is_authenticated():
               
        # 1) user types: list of ids
        userTypes = []
        for user_type in Type.objects(user=request.user.id):
            userTypes.append(user_type)
                       
        # 2) buckets: label -> list of type that are not deleted
        # 3) nobuckets: list of types that are not assigned to a specific bucket
        bucketsTypes = dict()        
        nobucketsTypes = []
        
        buckets = Bucket.objects
        
        for type_version in TypeVersion.objects():
            if type_version.isDeleted == False:
                hasBucket = False
                for bucket in buckets:
                    if str(type_version.id) in bucket.types:
                        if bucket not in bucketsTypes.keys():
                            bucketsTypes[bucket] = []
                        bucketsTypes[bucket].append(Type.objects.get(pk=type_version.current))
                        hasBucket = True
                if hasBucket == False:
                    nobucketsTypes.append(Type.objects.get(pk=type_version.current))
        
        context = RequestContext(request, {
           'bucketsTypes': bucketsTypes,
           'nobucketsTypes': nobucketsTypes,
           'userTypes': userTypes,
        })
        
        return HttpResponse(template.render(context))
    else:
        if 'loggedOut' in request.session:
            del request.session['loggedOut']
        request.session['next'] = '/compose/build-template'
        return redirect('/login')
예제 #16
0
def save_object(request):
    print 'BEGIN def save_object(request)'

    objectName = None
    objectFilename = None
    objectContent = None
    objectType = None
    objectFlat = None
    objectApiurl = None

    if ('uploadObjectValid' in request.session
            and request.session['uploadObjectValid'] == True
            and 'uploadObjectName' in request.session
            and request.session['uploadObjectName'] is not None
            and 'uploadObjectFilename' in request.session
            and request.session['uploadObjectFilename'] is not None
            and 'uploadObjectContent' in request.session
            and request.session['uploadObjectContent'] is not None
            and 'uploadObjectType' in request.session
            and request.session['uploadObjectType'] is not None):
        objectName = request.session['uploadObjectName']
        objectFilename = request.session['uploadObjectFilename']
        objectContent = request.session['uploadObjectContent']
        objectType = request.session['uploadObjectType']
        if 'uploadObjectFlat' in request.session and request.session[
                'uploadObjectFlat'] is not None:
            objectFlat = request.session['uploadObjectFlat']
        else:
            objectFlat = None
        if 'uploadObjectAPIurl' in request.session and request.session[
                'uploadObjectAPIurl'] is not None:
            objectApiurl = request.session['uploadObjectAPIurl']
        else:
            objectApiurl = None
        if 'uploadDependencies' in request.session and request.session[
                'uploadDependencies'] is not None:
            dependencies = request.session['uploadDependencies']
        else:
            dependencies = None

        hash = XSDhash.get_hash(objectContent)
        # save the object
        if objectType == "Template":
            objectVersions = TemplateVersion(nbVersions=1,
                                             isDeleted=False).save()
            object = Template(title=objectName,
                              filename=objectFilename,
                              content=objectContent,
                              version=1,
                              templateVersion=str(objectVersions.id),
                              hash=hash).save()
            #We add default exporters
            try:
                exporters = Exporter.objects.filter(available_for_all=True)
                object.exporters = exporters
            except:
                pass
        elif objectType == "Type":
            objectVersions = TypeVersion(nbVersions=1, isDeleted=False).save()
            object = Type(title=objectName,
                          filename=objectFilename,
                          content=objectContent,
                          version=1,
                          typeVersion=str(objectVersions.id),
                          hash=hash).save()
            buckets = request.POST.getlist('buckets[]')
            for bucket_id in buckets:
                bucket = Bucket.objects.get(pk=bucket_id)
                bucket.types.append(str(objectVersions.id))
                bucket.save()

        objectVersions.versions = [str(object.id)]
        objectVersions.current = str(object.id)
        objectVersions.save()
        object.save()

        if objectFlat is not None and objectApiurl is not None and dependencies is not None:
            MetaSchema(schemaId=str(object.id),
                       flat_content=objectFlat,
                       api_content=objectApiurl).save()
            object.dependencies = dependencies
            object.save()

        clear_object(request)
    else:
        response_dict = {'errors': 'True'}
        return HttpResponse(json.dumps(response_dict),
                            content_type='application/javascript')

    return HttpResponse(json.dumps({}), content_type='application/javascript')
 def test_delete_type_no_dependencies(self):
     type = self.createType()
     delete_type(str(type.id))
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)
예제 #18
0
 def test_delete_type_no_dependencies(self):
     type = self.createType()
     delete_type(str(type.id))
     self.assertEquals(len(Type.objects()), 0)
     self.assertEquals(len(TypeVersion.objects()), 0)