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