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)
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 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')
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))
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))
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')
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')
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')
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))
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))
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')
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)