Example #1
0
def my_profile_resources(request):
    template = loader.get_template('profile/my_profile_resources.html')
    if 'template' in request.GET:
        template_name = request.GET['template']
        if template_name == 'all':
            context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id)}),
            })
        else :
            if template_name == 'datacollection':
                templateNamesQuery = list(chain(Template.objects.filter(title=template_name).values_list('id'), Template.objects.filter(title='repository').values_list('id'), Template.objects.filter(title='database').values_list('id'), Template.objects.filter(title='projectarchive').values_list('id')))
            else :
                templateNamesQuery = Template.objects.filter(title=template_name).values_list('id')
            templateNames = []
            for templateQuery in templateNamesQuery:
                templateNames.append(str(templateQuery))

            context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id), 'schema':{"$in" : templateNames}}), 'template': template_name
            })
    else :
        context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id)}),
        })
    return HttpResponse(template.render(context))
Example #2
0
def dashboard_records(request):
    template = loader.get_template('dashboard/my_dashboard_my_records.html')
    query = {}
    # ispublished = request.GET.get('ispublished', None)
    #If ispublished not None, check if we want publish or unpublish records
    # if ispublished:
    #     ispublished = ispublished == 'true'
    #     query['ispublished'] = ispublished
    query['iduser'] = str(request.user.id)
    userXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
    #Add user_form for change owner
    owner = UserProfile.objects.get(user=User.objects.get(id=request.user.id))

    user_form = UserForm(request.user)
    context = RequestContext(request, {'XMLdatas': userXmlData,
                                       # 'ispublished': ispublished,
                                       'user_form': user_form,
                                       'myGroup': dataGroup.objects.filter(owner=owner.id),
                                       'otherGroup': owner.get_group()
    })
    #If the user is an admin, we get records for other users
    if request.user.is_staff:
        #Get user name for admin
        usernames = dict((str(x.id), x.username) for x in User.objects.all())
        query['iduser'] = {"$ne": str(request.user.id)}
        otherUsersXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
        context.update({'OtherUsersXMLdatas': otherUsersXmlData, 'usernames': usernames})

    return HttpResponse(template.render(context))
Example #3
0
def my_profile_resources(request):
    template = loader.get_template('profile/my_profile_resources.html')
    if 'template' in request.GET:
        template_name = request.GET['template']
        if template_name == 'all':
            context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id)}),
            })
        else :
            if template_name == 'datacollection':
                templateNamesQuery = list(chain(Template.objects.filter(title=template_name).values_list('id'), Template.objects.filter(title='repository').values_list('id'), Template.objects.filter(title='database').values_list('id'), Template.objects.filter(title='projectarchive').values_list('id')))
            else :
                templateNamesQuery = Template.objects.filter(title=template_name).values_list('id')
            templateNames = []
            for templateQuery in templateNamesQuery:
                templateNames.append(str(templateQuery))

            context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id), 'schema':{"$in" : templateNames}}), 'template': template_name
            })
    else :
        context = RequestContext(request, {
                'XMLdatas': XMLdata.find({'iduser' : str(request.user.id)}),
        })
    return HttpResponse(template.render(context))
Example #4
0
def dashboard_records(request):
    template = loader.get_template('dashboard/my_dashboard_my_records.html')
    query = {}
    # ispublished = request.GET.get('ispublished', None)
    #If ispublished not None, check if we want publish or unpublish records
    # if ispublished:
    #     ispublished = ispublished == 'true'
    #     query['ispublished'] = ispublished
    query['iduser'] = str(request.user.id)
    userXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
    # Get all the templates
    #templates_used = Template.find()
    templates_used = sorted(Template.find(query), key=lambda data: data['content'], reverse=True)
    #Add user_form for change owner
    user_form = UserForm(request.user)
    otherUsers = User.objects.all()
    #otherUXMLdatas = sorted(XMLdata.objects(user=str(userId)).distinct(field='title'), key=lambda data: data['lastmodificationdate'], reverse=True)
    idotherUsers = User.objects.only('_id')
    otherUXMLdatas = [] # sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
    otherUsersTemplates = []
    otherUXMLd =[]
    usernames = []
#    for idotherUser in idotherUsers:
#        otherUXMLdata = Template.objects(user = str(idotherUser)).distinct(field ='title')
#        otherUXMLdatas.append(otherUXMLdata)

    #otherXMLdatas = XMLdata.objects(user = (str()))
    context = RequestContext(request, {'XMLdatas': userXmlData,
                                       # 'ispublished': ispublished,
                                       'user_form': user_form,
                                       'Templates': templates_used,
                                       'OtherUsersXMLdatas': otherUXMLdatas,
                                       'OtherUsers': otherUsers,
                                       'IdotherUsers':idotherUsers,
                                       'OtherUXMLd' : otherUXMLd,
                                       'usernames' : usernames,
                                       'totaldocs_user' : len(userXmlData),
                                       'totaldocs_other_users' : len(otherUXMLdatas)
    })
    #If the user is an admin, we get records for other users
    if request.user.is_staff:
        #Get user name for admin
        usernames = dict((str(x.id), x.username) for x in User.objects.all())
        query['iduser'] = {"$ne": str(request.user.id)}
        otherUsersXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
        context.update({'OtherUsersXMLdatas': otherUsersXmlData, 'usernames': usernames, 'totaldocs_other_users': len(otherUsersXmlData)})

        i = None
        for elem in context['OtherUsersXMLdatas']:
            i = context['OtherUsersXMLdatas'].index(elem)
            j = 0
            for k,v in context['usernames'].items():
                if j == i:
                    other_users.append((k,v))

    return HttpResponse(template.render(context))
def dashboard_resources(request):
    template = loader.get_template('dashboard/my_dashboard_my_records.html')
    query = {}
    context = RequestContext(request, {})
    ispublished = request.GET.get('ispublished', None)
    template_name = request.GET.get('template', None)
    query['iduser'] = str(request.user.id)
    #If ispublished not None, check if we want publish or unpublish records
    if ispublished:
        ispublished = ispublished == 'true'
        query['ispublished'] = ispublished
    if template_name:
        context.update({'template': template_name})
        if template_name == 'datacollection':
            templateNamesQuery = list(chain(Template.objects.filter(title=template_name).values_list('id'),
                                            Template.objects.filter(title='repository').values_list('id'),
                                            Template.objects.filter(title='database').values_list('id'),
                                            Template.objects.filter(title='projectarchive').values_list('id')))
        else :
            templateNamesQuery = Template.objects.filter(title=template_name).values_list('id')
        templateNames = []
        for templateQuery in templateNamesQuery:
            templateNames.append(str(templateQuery))

        query['schema'] = {"$in" : templateNames}

    userXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
    #Add user_form for change owner
    user_form = UserForm(request.user)
    context.update({'XMLdatas': userXmlData, 'ispublished': ispublished, 'user_form': user_form})

    #If the user is an admin, we get records for other users
    if request.user.is_staff:
        #Get user name for admin
        usernames = dict((str(x.id), x.username) for x in User.objects.all())
        query['iduser'] = {"$ne": str(request.user.id)}
        otherUsersXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)
        context.update({'OtherUsersXMLdatas': otherUsersXmlData, 'usernames': usernames})

    #Get new version of records
    listIds = [str(x['_id']) for x in userXmlData]
    if request.user.is_staff:
        listIdsOtherUsers = [str(x['_id']) for x in otherUsersXmlData]
        listIds = list(set(listIds).union(set(listIdsOtherUsers)))

    drafts = FormData.objects(xml_data_id__in=listIds, isNewVersionOfRecord=True).all()
    XMLdatasDrafts = dict()
    for draft in drafts:
        XMLdatasDrafts[draft.xml_data_id] = draft.id
    context.update({'XMLdatasDrafts': XMLdatasDrafts})

    #Add Status enum
    context.update({'Status': Status})

    return HttpResponse(template.render(context))
 def change_status_case_active(self, ispublished):
     id = self.createXMLData(ispublished=ispublished)
     XMLdata.change_status(id, Status.INACTIVE)
     list_xmldata = XMLdata.find({'_id': ObjectId(id)})
     self.assertEquals(Status.INACTIVE, list_xmldata[0]['status'])
     self.assertEquals(Status.INACTIVE, list_xmldata[0]['content']['Resource']['@status'])
     XMLdata.change_status(id, Status.ACTIVE, ispublished)
     list_xmldata = XMLdata.find({'_id': ObjectId(id)})
     self.assertEquals(Status.ACTIVE, list_xmldata[0]['status'])
     self.assertEquals(Status.ACTIVE, list_xmldata[0]['content']['Resource']['@status'])
     if ispublished:
         self.assertNotEquals(None, list_xmldata[0].get('oai_datestamp', None))
     else:
         self.assertEquals(None, list_xmldata[0].get('oai_datestamp', None))
Example #7
0
 def test_get_record_deleted(self):
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     self.dump_oai_my_set()
     self.dump_xmldata()
     template = Template.objects(filename='Software.xsd').get()
     dataSoft = XMLdata.find({
         'schema': str(template.id),
         'status': {
             '$ne': Status.DELETED
         }
     })
     if len(dataSoft) > 0:
         xmlDataId = dataSoft[0]['_id']
         identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER,
                                       xmlDataId)
         data = {
             'verb': 'GetRecord',
             'identifier': identifier,
             'metadataPrefix': 'oai_soft'
         }
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         #Check attribute status='deleted' of header doesn't exist
         self.checkTagExist(r.text, 'GetRecord')
         self.checkTagExist(r.text, 'record')
         #Delete one record
         XMLdata.delete(xmlDataId)
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         #Check attribute status='deleted' of header does exist
         self.checkTagExist(r.text, 'GetRecord')
Example #8
0
 def change_status_case_active(self, ispublished):
     id = self.createXMLData(ispublished=ispublished)
     XMLdata.change_status(id, Status.INACTIVE)
     list_xmldata = XMLdata.find({'_id': ObjectId(id)})
     self.assertEquals(Status.INACTIVE, list_xmldata[0]['status'])
     self.assertEquals(Status.INACTIVE,
                       list_xmldata[0]['content']['Resource']['@status'])
     XMLdata.change_status(id, Status.ACTIVE, ispublished)
     list_xmldata = XMLdata.find({'_id': ObjectId(id)})
     self.assertEquals(Status.ACTIVE, list_xmldata[0]['status'])
     self.assertEquals(Status.ACTIVE,
                       list_xmldata[0]['content']['Resource']['@status'])
     if ispublished:
         self.assertNotEquals(None,
                              list_xmldata[0].get('oai_datestamp', None))
     else:
         self.assertEquals(None, list_xmldata[0].get('oai_datestamp', None))
 def test_get_record_no_templ_xslt(self):
     self.dump_oai_my_set()
     self.dump_xmldata()
     self.dump_oai_my_metadata_format()
     idXMLdata = str(XMLdata.find({'title': 'MGI Code Catalog.xml'})[0]['_id'])
     identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER, idXMLdata)
     data = {'verb': 'GetRecord', 'identifier': identifier, 'metadataPrefix': 'oai_dc'}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     self.checkTagErrorCode(r.text, DISSEMINATE_FORMAT)
 def test_get_record_no_templ_xslt(self):
     self.dump_oai_my_set()
     self.dump_xmldata()
     self.dump_oai_my_metadata_format()
     idXMLdata = str(XMLdata.find({'title': 'MGI Code Catalog.xml'})[0]['_id'])
     identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER, idXMLdata)
     data = {'verb': 'GetRecord', 'identifier': identifier, 'metadataPrefix': 'oai_dc'}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     self.checkTagErrorCode(r.text, DISSEMINATE_FORMAT)
 def test_list_metadataformat_with_identifier(self):
     self.dump_xmldata()
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     idXMLdata = str(XMLdata.find({'title':'MPInterfaces.xml'})[0]['_id'])
     identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER, idXMLdata)
     data = {'verb': 'ListMetadataFormats', 'identifier': identifier}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     self.checkTagExist(r.text, 'ListMetadataFormats')
     self.checkTagExist(r.text, 'metadataFormat')
 def test_list_metadataformat_with_identifier(self):
     self.dump_xmldata()
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     idXMLdata = str(XMLdata.find({'title':'MPInterfaces.xml'})[0]['_id'])
     identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER, idXMLdata)
     data = {'verb': 'ListMetadataFormats', 'identifier': identifier}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     self.checkTagExist(r.text, 'ListMetadataFormats')
     self.checkTagExist(r.text, 'metadataFormat')
Example #13
0
def dashboard_resources(request):
    template = loader.get_template('dashboard/my_dashboard_my_resources.html')
    if 'template' in request.GET:
        template_name = request.GET['template']

        if template_name == 'datacollection':
            templateNamesQuery = list(chain(Template.objects.filter(title=template_name).values_list('id'), Template.objects.filter(title='repository').values_list('id'), Template.objects.filter(title='database').values_list('id'), Template.objects.filter(title='projectarchive').values_list('id')))
        else :
            templateNamesQuery = Template.objects.filter(title=template_name).values_list('id')
        templateNames = []
        for templateQuery in templateNamesQuery:
            templateNames.append(str(templateQuery))


        if 'ispublished' in request.GET:
            ispublished = request.GET['ispublished']
            context = RequestContext(request, {
                'XMLdatas': sorted(XMLdata.find({'iduser' : str(request.user.id), 'schema':{"$in" : templateNames}, 'ispublished': ispublished=='true'}), key=lambda data: data['lastmodificationdate'], reverse=True),
                'template': template_name,
                'ispublished': ispublished,
             })
        else:
            context = RequestContext(request, {
                'XMLdatas': sorted(XMLdata.find({'iduser' : str(request.user.id), 'schema':{"$in" : templateNames}}), key=lambda data: data['lastmodificationdate'], reverse=True),
                'template': template_name,
            })
    else:
        if 'ispublished' in request.GET:
            ispublished = request.GET['ispublished']
            context = RequestContext(request, {
                    'XMLdatas': sorted(XMLdata.find({'iduser' : str(request.user.id), 'ispublished': ispublished=='true'}), key=lambda data: data['lastmodificationdate'], reverse=True),
                    'ispublished': ispublished,
            })
        else:
            context = RequestContext(request, {
                    'XMLdatas': sorted(XMLdata.find({'iduser' : str(request.user.id)}), key=lambda data: data['lastmodificationdate'], reverse=True),
            })
    return HttpResponse(template.render(context))
Example #14
0
def dashboard_otherusers_records(request):
    template = loader.get_template('dashboard/my_dashboard_otherusersrecords.html')
    query = {}
    iduser = request.GET['iduser']

    query['iduser'] = str(iduser)
    userXmlData = sorted(XMLdata.find(query), key=lambda data: data['lastmodificationdate'], reverse=True)

    templates_used = sorted(Template.find(query), key=lambda data: data['content'], reverse=True)
    user_form = UserForm(request.user)

    context = RequestContext(request, {'XMLdatass': userXmlData,
                                       # 'ispublished': ispublished,
                                       'user_formm': user_form,
                                       'Templatess': templates_used
    })

    return HttpResponse(template.render(context))
Example #15
0
def query_local_id(request):
    # extract filters
    query = {}
    query['ispublished'] = True
    query['content.Resource.@localid'] = request.GET[request.GET.keys()[0]]

    # run query
    result = XMLdata.find(query)
    # generate response
    template = loader.get_template(
        'explore/explore_detail_results_keyword.html')
    if len(result) == 0:
        context = RequestContext(request, {})
    else:
        context = get_detail_result(request=request,
                                    xmlString=result[0],
                                    title=None)
    return HttpResponse(template.render(context))
 def list_test_deleted(self, verb):
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     self.dump_oai_my_set()
     self.dump_xmldata()
     data = {'verb': verb, 'metadataPrefix': 'oai_soft'}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     #Check attribute status='deleted' of header doesn't exist
     self.checkTagExist(r.text, verb)
     #Delete one record
     template = Template.objects(filename='Software.xsd').get()
     dataSoft = XMLdata.find({'schema': str(template.id), 'status': {'$ne': Status.DELETED}})
     if len(dataSoft) > 0:
         XMLdata.update(dataSoft[0]['_id'], {'status': Status.DELETED})
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         self.checkTagExist(r.text, verb)
         #Check attribute status='deleted' of header does exist
         self.checkTagWithParamExist(r.text, 'header', 'status="deleted"')
Example #17
0
 def list_test_deleted(self, verb):
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     self.dump_oai_my_set()
     self.dump_xmldata()
     data = {'verb': verb, 'metadataPrefix': 'oai_soft'}
     r = self.doRequestServer(data=data)
     self.isStatusOK(r.status_code)
     #Check attribute status='deleted' of header doesn't exist
     self.checkTagExist(r.text, verb)
     #Delete one record
     template = Template.objects(filename='Software.xsd').get()
     dataSoft = XMLdata.find({
         'schema': str(template.id),
         'status': {
             '$ne': Status.DELETED
         }
     })
     if len(dataSoft) > 0:
         XMLdata.delete(dataSoft[0]['_id'])
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         self.checkTagExist(r.text, verb)
 def test_get_record_deleted(self):
     self.dump_oai_templ_mf_xslt()
     self.dump_oai_my_metadata_format()
     self.dump_oai_my_set()
     self.dump_xmldata()
     template = Template.objects(filename='Software.xsd').get()
     dataSoft = XMLdata.find({'schema': str(template.id), 'status': {'$ne': Status.DELETED}})
     if len(dataSoft) > 0:
         xmlDataId = dataSoft[0]['_id']
         identifier = '%s:%s:id/%s' % (OAI_SCHEME, OAI_REPO_IDENTIFIER, xmlDataId)
         data = {'verb': 'GetRecord', 'identifier': identifier, 'metadataPrefix': 'oai_soft'}
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         #Check attribute status='deleted' of header doesn't exist
         self.checkTagExist(r.text, 'GetRecord')
         self.checkTagExist(r.text, 'record')
         #Delete one record
         XMLdata.update(xmlDataId, {'status': Status.DELETED})
         r = self.doRequestServer(data=data)
         self.isStatusOK(r.status_code)
         #Check attribute status='deleted' of header does exist
         self.checkTagExist(r.text, 'GetRecord')
         # Only for NMRR
         self.checkTagWithParamExist(r.text, 'header', 'status="deleted"')
Example #19
0
def dashboard_resources(request):
    template = loader.get_template('dashboard/my_dashboard_my_records.html')
    query = {}
    context = RequestContext(request, {})
    ispublished = request.GET.get('ispublished', None)
    role_name_list = request.GET.getlist('role', ['all'])

    role_name = ''
    for role in role_name_list:
        role_name += role + ','
    context.update({'roles': role_name[:-1]})

    query['iduser'] = str(request.user.id)

    if ispublished:
        ispublished = ispublished == 'true'
        query['ispublished'] = ispublished

    if not (len(role_name_list) == 1 and role_name_list[0] == 'all'):
        query['$or'] = [{
            "content.Resource.role.@xsi:type": role
        } for role in role_name_list]

    userXmlData = sorted(XMLdata.find(query),
                         key=lambda data: data['lastmodificationdate'],
                         reverse=True)
    #Add user_form for change owner
    user_form = UserForm(request.user)
    context.update({
        'XMLdatas': userXmlData,
        'ispublished': ispublished,
        'user_form': user_form
    })

    #If the user is an admin, we get records for other users
    if request.user.is_staff:
        #Get user name for admin
        usernames = dict((str(x.id), x.username) for x in User.objects.all())
        query['iduser'] = {"$ne": str(request.user.id)}
        otherUsersXmlData = sorted(
            XMLdata.find(query),
            key=lambda data: data['lastmodificationdate'],
            reverse=True)
        context.update({
            'OtherUsersXMLdatas': otherUsersXmlData,
            'usernames': usernames
        })

    #Get new version of records
    listIds = [str(x['_id']) for x in userXmlData]
    if request.user.is_staff:
        listIdsOtherUsers = [str(x['_id']) for x in otherUsersXmlData]
        listIds = list(set(listIds).union(set(listIdsOtherUsers)))

    drafts = FormData.objects(xml_data_id__in=listIds,
                              isNewVersionOfRecord=True).all()
    XMLdatasDrafts = dict()
    for draft in drafts:
        XMLdatasDrafts[draft.xml_data_id] = draft.id
    context.update({'XMLdatasDrafts': XMLdatasDrafts})

    #Add Status enum
    context.update({'Status': Status})

    return HttpResponse(template.render(context))
def dashboard_resources(request):
    template = loader.get_template('dashboard/my_dashboard_my_records.html')
    query = {}
    context = RequestContext(request, {})
    ispublished = request.GET.get('ispublished', None)
    template_name = request.GET.get('template', None)
    query['iduser'] = str(request.user.id)
    #If ispublished not None, check if we want publish or unpublish records
    if ispublished:
        ispublished = ispublished == 'true'
        query['ispublished'] = ispublished
    if template_name:
        context.update({'template': template_name})
        if template_name == 'datacollection':
            templateNamesQuery = list(
                chain(
                    Template.objects.filter(
                        title=template_name).values_list('id'),
                    Template.objects.filter(
                        title='repository').values_list('id'),
                    Template.objects.filter(
                        title='database').values_list('id'),
                    Template.objects.filter(
                        title='projectarchive').values_list('id')))
        else:
            templateNamesQuery = Template.objects.filter(
                title=template_name).values_list('id')
        templateNames = []
        for templateQuery in templateNamesQuery:
            templateNames.append(str(templateQuery))

        query['schema'] = {"$in": templateNames}

    userXmlData = sorted(XMLdata.find(query),
                         key=lambda data: data['lastmodificationdate'],
                         reverse=True)
    #Add user_form for change owner
    user_form = UserForm(request.user)
    context.update({
        'XMLdatas': userXmlData,
        'ispublished': ispublished,
        'user_form': user_form
    })

    #If the user is an admin, we get records for other users
    if request.user.is_staff:
        #Get user name for admin
        usernames = dict((str(x.id), x.username) for x in User.objects.all())
        query['iduser'] = {"$ne": str(request.user.id)}
        otherUsersXmlData = sorted(
            XMLdata.find(query),
            key=lambda data: data['lastmodificationdate'],
            reverse=True)
        context.update({
            'OtherUsersXMLdatas': otherUsersXmlData,
            'usernames': usernames
        })

    #Get new version of records
    listIds = [str(x['_id']) for x in userXmlData]
    if request.user.is_staff:
        listIdsOtherUsers = [str(x['_id']) for x in otherUsersXmlData]
        listIds = list(set(listIds).union(set(listIdsOtherUsers)))

    drafts = FormData.objects(xml_data_id__in=listIds,
                              isNewVersionOfRecord=True).all()
    XMLdatasDrafts = dict()
    for draft in drafts:
        XMLdatasDrafts[draft.xml_data_id] = draft.id
    context.update({'XMLdatasDrafts': XMLdatasDrafts})

    #Add Status enum
    context.update({'Status': Status})

    return HttpResponse(template.render(context))
def getListTemplateDependenciesRecord(object_id):
    from mgi.models import XMLdata
    return XMLdata.find({'schema': str(object_id)})
Example #22
0
def getListTemplateDependenciesRecord(object_id):
    from mgi.models import XMLdata
    return XMLdata.find({'schema': str(object_id)})
Example #23
0
 def test_getListNameFromDependencies_XMLdata(self):
     self.createXMLData(schemaID='test')
     self.assertEquals(
         'test',
         getListNameFromDependencies(XMLdata.find({'schema': 'test'})))