def create_vedtaksbrev_from_template(soknad, organisation, vedtak):
    saksbehandler = get_user_by_id(soknad.saksbehandler_id,request.cookies)
    godkjenner =get_user_by_id(soknad.tilskuddsordning.godkjenner_id,request.cookies)
    person = get_person(soknad.person_id,request.cookies)

    tekst_orgnr_eller_fnr, orgnr_eller_fnr = get_organisasjonsnummer_or_foedselsnummer_values(organisation,
                                                                                              soknad.person_id)
    vedtaksbrev = {
        u'vedtak': u'Tilsagn' if vedtak.vedtatt_belop is not None and vedtak.vedtatt_belop > 0 else u"Avslag",
        u'vedtatt_belop': "%s,00" % vedtak.vedtatt_belop if vedtak.vedtatt_belop is not None else "",
        u'vedtaksdato': vedtaksbrev_datestr(vedtak.vedtaksdato) if vedtak.vedtaksdato is not None else "",
        u'saksbehandler': saksbehandler['profile']['full_name'],
        u'vedtatt_av': godkjenner['profile']['full_name'] + (',' + soknad.tilskuddsordning.godkjenner_tittel) if soknad.tilskuddsordning.godkjenner_tittel is not None else "",
        u'rapportfrist': vedtaksbrev_datestr(vedtak.rapportfrist) if vedtak.rapportfrist is not None else u"Ingen",
        u'saksnummer': soknad.id,
        u'tilskuddsordning_navn': soknad.tilskuddsordning.navn if soknad.tilskuddsordning.navn is not None else "",
        u'organisasjon_navn': organisation['name'] if organisation['name'] is not None else "",
        u'kontaktperson': person['first_name'] if person['first_name'] is not None else "" + ' ' + person.last_name if person.last_name is not None else "",
        u'tekst_orgnr_eller_fnr': tekst_orgnr_eller_fnr,
        u'orgnr_eller_fnr': orgnr_eller_fnr,
        u'kontonummer': soknad.kontonummer if soknad.kontonummer is not None else "",
        u'prosjektnavn': soknad.prosjektnavn if soknad.prosjektnavn is not None else "",
        u'innsendt': vedtaksbrev_datestr(soknad.levert_dato) if soknad.levert_dato is not None else "",
        u'merk_folgende': vedtak.vedtakstekst if vedtak.vedtakstekst is not None else "",
        u'andre_opplysninger': vedtak.andre_opplysninger if vedtak.andre_opplysninger is not None else "",
        u'husk_ogsa': soknad.tilskuddsordning.husk_ogsa if soknad.tilskuddsordning.husk_ogsa is not None else "",
        u'tilsagn': True if vedtak.vedtatt_belop is not None and vedtak.vedtatt_belop > 0 else False
    }

    message = render_template(u'pdf/vedtak.html', **vedtaksbrev)
    pdf = create_pdf(message)
    return pdf.getvalue(), pdf.len
def get_ansvarlige_saksbehandlere(soknad):
    ansvarlige_saksbehandlere = soknad.tilskuddsordning.saksbehandlere

    saksbehandlere = []
    for ansvarlig_saksbehandler in ansvarlige_saksbehandlere:
        user = get_user_by_id(ansvarlig_saksbehandler.saksbehandler_id, request.cookies)
        if user is not None:
            saksbehandlere.append(user)
    return saksbehandlere
def send_notification_email_to_godkjenner_for_tilskuddsordning(tilskuddsordning, saksbehandler):
    godkjenner = get_user_by_id(tilskuddsordning.godkjenner_id, request.cookies)

    def get_godkjenner_tilskuddsordning_filter():
        facets = [
            AnyOfFacet(name="Tilskuddsordning",
                       values=SoknaderFilterResource.transfrom_to_facet_values(
                           [tilskuddsordning],
                           "navn"
                       )),
            AnyOfFacet(name="Status",
                       values=SoknaderFilterResource.transfrom_to_facet_values(
                           [SoknadStateMachine.s_til_vedtak.id, SoknadStateMachine.s_til_klagevedtak.id]
                       ))
        ]

        return [facet.to_json() for facet in facets]

    if godkjenner is None:
        current_app.logger.warn(u"Kunne ikke sende epost til godkjenner %s, "
                                u"ingen godkjenner satt for denne tilskuddsordningen '%s'!"
                                % (tilskuddsordning.godkjenner_id, tilskuddsordning.id))
        return False, 'Tilskuddsordningen mangler godkjenner.'
    else:
        filter_str = json.dumps(get_godkjenner_tilskuddsordning_filter())
        encoded_filter = LZString().compressToBase64(filter_str)
        encoded_filter = urllib.quote_plus(encoded_filter)

        message = render_template(GK_VARSEL_FOR_TILSKUDDSORDNING_TEMPLATE,
                                  filter=encoded_filter,
                                  saksbehandler=saksbehandler['profile']['full_name'],
                                  tilskuddsordning_navn=tilskuddsordning.navn)
        if godkjenner['profile']['email'] is not None:
            celery_app.send_task('celery_tasks.email_tasks.send_email_task',
                                 queue='email',
                                 kwargs={'subject': u'Tilskuddsordning "%s"' % tilskuddsordning.navn,
                                         'sender': u'*****@*****.**',
                                         'recipients': [godkjenner['profile']['email']],
                                         'body': message})
            return True, None
        else:
            current_app.logger.warn(u"Kunne ikke sende epost til godkjenner %s, "
                                    u"igen epost er satt!" % godkjenner['id'])
            return False, 'Godkjenner mangler epostadresse.'
def send_email_to_saksbehandler_on_action_lever_rapport(soknad):
    saksbehandler = get_user_by_id(soknad.saksbehandler_id, request.cookies)

    message = render_template(SB_RAPPORT_LEVERT_TEMPLATE, soknad_id=soknad.id, rapport_id=soknad.rapport[0].id)

    if saksbehandler is None:
        current_app.logger.warn(u"Kunne ikke sende epost til saksbehandler %s ved levering av rapport, "
                                u"ingen saksbehandler satt for denne søknaden '%s'!"
                                % (soknad.id, soknad.id))
    else:
        if saksbehandler['profile']['email'] is not None:
            celery_app.send_task('celery_tasks.email_tasks.send_email_task',
                                 queue='email',
                                 kwargs={'subject': u'Ny rapport mottatt',
                                         'sender': u'*****@*****.**',
                                         'recipients': [saksbehandler['profile']['email']],
                                         'body': message})
        else:
            current_app.logger.warn(u"Kunne ikke sende epost til saksbehandler %s ved levering av rapport til søknad %s, "
                                    u"igen epost er satt!"
                                    % (saksbehandler['id'], soknad.id))