def query_soknader(self, facets):
        kwargs = {}

        for facet in facets:
            if facet.name == u"Søker":
                kwargs['sokere'] = self.convert_facet_value_to_list_of_values(facet.values)
            elif facet.name == u"Status":
                kwargs['soknad_states'] = self.convert_facet_value_to_list_of_values(facet.values)
            elif facet.name == u"Tilskuddsordning":
                kwargs['tilskuddsordninger'] = self.convert_facet_value_to_list_of_values(facet.values)
            elif facet.name == u"Saksbehandler":
                kwargs['saksbehandlere'] = self.convert_facet_value_to_list_of_values(facet.values)
            elif facet.name == u"Dato levert":
                kwargs['levert_period_names'] = self.convert_facet_value_to_list_of_values(facet.values)
            else:
                current_app.logger.warn("Ignoring unknown facet: %s" % facet)
        user = get_user_from_auth()
        if is_soker(user):
            # external users can see soknader for all the organisations they are member of
            # and those without any org which they have registered themselves
            organisations = get_organisations_for_person(user["person_id"], request.cookies)
            kwargs['restrict_to_organisations'] = [organisation["id"] for organisation in organisations]
            kwargs['registered_by_person'] = user["person_id"]
            return self.repo.find_soknader(**kwargs)
        elif is_saksbehandler(user) or is_godkjenner(user):
            # saksbehandlere og godkjennere skal ikke se søknadene i status "kladd"
            kwargs['exclude_soknad_states'] = ['Kladd']
            return self.repo.find_soknader(**kwargs)
        else:
            abort(400, message="The following user cannot query soknader: %s" % user)
Пример #2
0
    def output(self, key, data):
        value = super(RapportListe, self).output(key, data)

        # søkar får alltid sjå rapport
        if is_soker(self.user):
            return value
        # saksbehandlar og godkjennar får ikkje sjå rapport når rapport er under arbeid
        elif is_saksbehandler(self.user) or is_godkjenner(self.user):
            return value if data.status is not None and data.status not in [SoknadStateMachine.s_rapport_pabegynt.id, SoknadStateMachine.s_avventer_rapport] else []

        return None
Пример #3
0
    def output(self, key, data):
        value = super(VedtakListe, self).output(key, data)

        # søkar får berre sjå vedtak med vedtaksdato
        if is_soker(self.user):
            return [item for item in value if item.get('vedtaksdato', None) is not None]
        # saksbehandlar og godkjennar får sjå alle vedtak
        elif is_saksbehandler(self.user) or is_godkjenner(self.user):
            return value
        # andre skal ikkje sjå nokon vedtak

        return None
 def get(self, tilskuddsordning_id=None):
     user = get_user_from_auth()
     if tilskuddsordning_id:
         tilskuddsordning = self.get_by_id(tilskuddsordning_id)
         ensure(GET, tilskuddsordning)
         marshalled = marshal(tilskuddsordning, tilskuddsordning_fields)
         if is_administrator(user) or is_saksbehandler(user) or is_godkjenner(user):
             marshalled["vedtatt_belop"] = self.get_vedtatt_belop(tilskuddsordning_id)
         return marshalled
     else:
         if is_soker(user):
             return marshal(self.repo.find_by_where("publisert", True), tilskuddsordning_fields)
         else:
             return marshal(self.repo.find_all(), tilskuddsordning_fields)
Пример #5
0
 def format(self, value):
     sm = SoknadStateMachine()
     state = sm.find_state_by_id(value)
     if is_soker(self.user):
         return state.state_name_soker
     return state.state_name_saksbehandler