def fetch_soknader(self, facets): url = ExternalResourceHelper.sak_root_uri + '/queries/' # "søker" facet can require extra processing if its type is 'free' soker_facet = SoknaderResource.find_facet(facets, u'Søker') if soker_facet and SoknaderResource.facet_type_equals(soker_facet, 'free'): new_values = self.create_correct_query_values(soker_facet) if new_values is not None and len(new_values) > 0: soker_facet.values = new_values else: # no organisations have been found if new_values is empty, # then the search is not supposed to return anything return [] response = ExternalResourceHelper.post_to_ext(url, {"type": "soknad", "filters": [facet.to_json() for facet in facets]}) soknader = json.loads(response.content) ExternalResourceHelper.load_organisations(soknader) ExternalResourceHelper.load_persons(soknader) return soknader
def get(self, soknad_id=None): if soknad_id: soknad = self.soknad_resource.get(soknad_id) ExternalResourceHelper.load_organisation(soknad) ExternalResourceHelper.load_persons([soknad]) ExternalResourceHelper.load_users([soknad]) return output_pdf(soknad, 200, template=u"pdf/soknad.html") # return output_csv(soknad, 200, fieldname_mapping=get_fieldname_mapping(), fields_to_ignore=get_fields_to_ignore()) else: parser = RequestParser() parser.add_argument("id", type=int, action="append", required=True) args = parser.parse_args() soknader = self.soknad_resource.get() soknader = [s for s in soknader if s["id"] in args["id"]] ExternalResourceHelper.load_organisations(soknader) ExternalResourceHelper.load_persons(soknader) ExternalResourceHelper.load_users(soknader) return output_csv( soknader, 200, fieldname_mapping=get_fieldname_mapping(), fields_to_ignore=get_fields_to_ignore() )