def view_paper(id): """ Gibt Dokumenten-Detailseite aus """ result = db.get_paper(search_params = {'_id': ObjectId(id)}, deref = {'values': ['body', 'mainFile', 'auxiliaryFile', 'subordinatedPaper', 'superordinatedPaper']}) if len(result) == 0: abort(404) result = result[0] result['numberOfFiles'] = 0 if 'mainFile' in result: result['numberOfFiles'] += 1 if 'auxiliaryFile' in result: result['numberOfFiles'] += len(result['auxiliaryFile']) result['consultation'] = db.get_consultation(search_params = {'paper': DBRef('paper', ObjectId(id))}) for consultation_id in range(len(result['consultation'])): agendaItem_result = db.get_agendaItem(search_params = {'consultation': DBRef('consultation', result['consultation'][consultation_id]['_id'])}) if len(agendaItem_result): result['consultation'][consultation_id]['agendaItem'] = agendaItem_result[0] meeting_result = db.get_meeting(search_params = {'agendaItem': DBRef('agendaItem', result['consultation'][consultation_id]['agendaItem']['_id'])}) if len(meeting_result): result['consultation'][consultation_id]['agendaItem']['meeting'] = meeting_result[0] """references=[identifier], get_attachments=True, get_consultations=True, get_thumbnails=True)""" return render_template('paper_details.html', paper=result)
def oparl_file_data(params): data = db.get_file(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data = oparl_file_layout(data[0], params) # Get Backrefs for Meeting data['meeting'] = [] meeting = db.get_meeting(search_params={'invitation': DBRef('file', ObjectId(params['_id']))}) if len(meeting): data['meeting'].append("%s/oparl/meeting/%s%s" % (app.config['api_url'], meeting[0]['_id'], generate_postfix(params))) meeting = db.get_meeting(search_params={'resultsProtocol': DBRef('file', ObjectId(params['_id']))}) if len(meeting): data['meeting'].append("%s/oparl/meeting/%s%s" % (app.config['api_url'], meeting[0]['_id'], generate_postfix(params))) meeting = db.get_meeting(search_params={'verbatimProtocol': DBRef('file', ObjectId(params['_id']))}) if len(meeting): data['meeting'].append("%s/oparl/meeting/%s%s" % (app.config['api_url'], meeting[0]['_id'], generate_postfix(params))) meeting = db.get_meeting(search_params={'verbatimProtocol': DBRef('auxiliaryFile', ObjectId(params['_id']))}) for single_meeting in meeting: data['meeting'].append("%s/oparl/meeting/%s%s" % (app.config['api_url'], single_meeting['_id'], generate_postfix(params))) if len(data['meeting']) == 0: del data['meeting'] # Get Backrefs for AgendaItem data['agendaItem'] = [] agendaItem = db.get_agendaItem(search_params={'resolutionFile': DBRef('file', ObjectId(params['_id']))}) if len(agendaItem): data['agendaItem'].append("%s/oparl/agendaItem/%s%s" % (app.config['api_url'], agendaItem[0]['_id'], generate_postfix(params))) agendaItem = db.get_agendaItem(search_params={'auxiliaryFile': DBRef('file', ObjectId(params['_id']))}) for single_agendaItem in agendaItem: data['agendaItem'].append("%s/oparl/agendaItem/%s%s" % (app.config['api_url'], single_agendaItem['_id'], generate_postfix(params))) if len(data['agendaItem']) == 0: del data['agendaItem'] # Get Backrefs for Paper data['paper'] = [] paper = db.get_agendaItem(search_params={'mainFile': DBRef('file', ObjectId(params['_id']))}) if len(paper): data['paper'].append("%s/oparl/paper/%s%s" % (app.config['api_url'], paper[0]['_id'], generate_postfix(params))) paper = db.get_agendaItem(search_params={'auxiliaryFile': DBRef('file', ObjectId(params['_id']))}) for single_paper in paper: data['paper'].append("%s/oparl/paper/%s%s" % (app.config['api_url'], single_paper['_id'], generate_postfix(params))) if len(data['paper']) == 0: del data['paper'] return data elif len(data) == 0: abort(404)
def oparl_consultation_data(params): data = db.get_consultation(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data = oparl_consultation_layout(data[0], params) agendaItem = db.get_agendaItem(search_params={'consultation': DBRef('consultation', ObjectId(params['_id']))}) if len(agendaItem): data['agendaItem'] = "%s/oparl/agendaItem/%s%s" % (app.config['api_url'], agendaItem[0]['_id'], generate_postfix(params)) return data elif len(data) == 0: abort(404)
def oparl_agendaItem_data(params): data = db.get_agendaItem(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data = oparl_agendaItem_layout(data[0], params) meeting = db.get_meeting(search_params={'agendaItem': DBRef('agendaItem', ObjectId(params['_id']))}) if len(meeting): data['meeting'] = "%s/oparl/meeting/%s%s" % (app.config['api_url'], meeting[0]['_id'], generate_postfix(params)) return data elif len(data) == 0: abort(404)
def file_show(file_id): """ Anzeigen eines Files """ result = db.get_file(search_params = {'_id': ObjectId(file_id)}, deref = {'values': ['body']}) if len(result) == 0: abort(404) # add meeting usage = [] meeting_invitation = db.get_meeting(search_params = {'invitation': DBRef('file', ObjectId(file_id))}) for item in meeting_invitation: usage.append({ 'data': item, 'type': 'meeting', 'function': 'invitation'}) meeting_resultsProtocol = db.get_meeting(search_params = {'resultsProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_resultsProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'resultsProtocol'}) meeting_verbatimProtocol = db.get_meeting(search_params = {'verbatimProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_verbatimProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'verbatimProtocol'}) meeting_auxiliaryFile = db.get_meeting(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in meeting_auxiliaryFile: usage.append({ 'data': item, 'type': 'meeting', 'function': 'auxiliaryFile'}) # add agendaItem agendaItem_resolutionFile = db.get_agendaItem(search_params = {'resolutionFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_resolutionFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'resolutionFile'}) agendaItem_auxiliaryFile = db.get_agendaItem(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_auxiliaryFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'auxiliaryFile'}) # add paper paper_mainFile = db.get_paper(search_params = {'mainFile': DBRef('file', ObjectId(file_id))}) for item in paper_mainFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'mainFile'}) paper_auxiliaryFile = db.get_paper(search_params = {'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in paper_auxiliaryFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'auxiliaryFile'}) if len(usage): result[0]['usage'] = usage return render_template('file_details.html', file=result[0])
def oparl_agendaItem_data(params): data = db.get_agendaItem(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: data[0]['body'] = generate_single_url(params=params, type='body', id=data[0]['body'].id) data[0]['meeting'] = generate_single_backref_url(params=params, get='get_meeting', type='meeting', reverse_type='agendaItem', id=params['_id']) data[0]['consultation'] = generate_single_url(params=params, type='consultation', id=data[0]['consultation'].id) data[0]['@type'] = 'OParlAgendaItem' data[0]['@id'] = data[0]['_id'] return data[0] elif len(data) == 0: abort(404)
def view_paper(id): """ Gibt Dokumenten-Detailseite aus """ result = db.get_paper(search_params={'_id': ObjectId(id)}, deref={ 'values': [ 'body', 'mainFile', 'auxiliaryFile', 'relatedPaper', 'subordinatedPaper', 'superordinatedPaper' ] }) if len(result) == 0: abort(404) result = result[0] result['numberOfFiles'] = 0 if 'mainFile' in result: result['numberOfFiles'] += 1 if 'auxiliaryFile' in result: result['numberOfFiles'] += len(result['auxiliaryFile']) result['consultation'] = db.get_consultation( search_params={'paper': DBRef('paper', ObjectId(id))}) for consultation_id in range(len(result['consultation'])): agendaItem_result = db.get_agendaItem( search_params={ 'consultation': DBRef('consultation', result['consultation'][consultation_id] ['_id']) }) if len(agendaItem_result): result['consultation'][consultation_id][ 'agendaItem'] = agendaItem_result[0] meeting_result = db.get_meeting( search_params={ 'agendaItem': DBRef( 'agendaItem', result['consultation'][consultation_id] ['agendaItem']['_id']) }) if len(meeting_result): result['consultation'][consultation_id]['agendaItem'][ 'meeting'] = meeting_result[0] return render_template('paper_details.html', paper=result)
def file_show(file_id): """ Anzeigen eines Files """ result = db.get_file(search_params={'_id': ObjectId(file_id)}, deref={'values': ['body']}) if len(result) == 0: abort(404) # add meeting usage = [] meeting_invitation = db.get_meeting( search_params={'invitation': DBRef('file', ObjectId(file_id))}) for item in meeting_invitation: usage.append({ 'data': item, 'type': 'meeting', 'function': 'invitation' }) meeting_resultsProtocol = db.get_meeting( search_params={'resultsProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_resultsProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'resultsProtocol' }) meeting_verbatimProtocol = db.get_meeting( search_params={'verbatimProtocol': DBRef('file', ObjectId(file_id))}) for item in meeting_verbatimProtocol: usage.append({ 'data': item, 'type': 'meeting', 'function': 'verbatimProtocol' }) meeting_auxiliaryFile = db.get_meeting( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in meeting_auxiliaryFile: usage.append({ 'data': item, 'type': 'meeting', 'function': 'auxiliaryFile' }) # add agendaItem agendaItem_resolutionFile = db.get_agendaItem( search_params={'resolutionFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_resolutionFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'resolutionFile' }) agendaItem_auxiliaryFile = db.get_agendaItem( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in agendaItem_auxiliaryFile: usage.append({ 'data': item, 'type': 'agendaItem', 'function': 'auxiliaryFile' }) # add paper paper_mainFile = db.get_paper( search_params={'mainFile': DBRef('file', ObjectId(file_id))}) for item in paper_mainFile: usage.append({'data': item, 'type': 'paper', 'function': 'mainFile'}) paper_auxiliaryFile = db.get_paper( search_params={'auxiliaryFile': DBRef('file', ObjectId(file_id))}) for item in paper_auxiliaryFile: usage.append({ 'data': item, 'type': 'paper', 'function': 'auxiliaryFile' }) if len(usage): result[0]['usage'] = usage return render_template('file_details.html', file=result[0])
def oparl_agendaItems_data(params): return db.get_agendaItem(agendaItem_list = True, add_prefix = "%s/oparl/agendaitem/" % app.config['api_url'], add_postfix=generate_postfix(params))
def oparl_body_agendaItem_data(params): data = db.get_agendaItem(agendaItem_list = True, search_params = {'body': DBRef('body', ObjectId(params['body_id']))}, add_prefix = "%s/oparl/agendaItem/" % app.config['api_url'], add_postfix = generate_postfix(params)) return data
def oparl_agendaItem_data(params): data = db.get_agendaItem(search_params={'_id': ObjectId(params['_id'])}) if len(data) == 1: return oparl_agendaItem_layout(data[0], params) elif len(data) == 0: abort(404)