Exemple #1
0
def find_employees():
    first_name = request.args.get('first_name')
    last_name = request.args.get('last_name')
    orderCriteria = request.args.get('order_by')
    queryBuilder = EmployeeQueryBuilder()
    query = queryBuilder \
        .first_name(first_name) \
        .last_name(last_name) \
        .order_by_last_name(orderCriteria == 'last_name') \
        .build()
    employeeRepo = BaseRepo()
    customers = employeeRepo.find_all(query)
    return customers
Exemple #2
0
def find_customers():
    first_name = request.args.get('first_name')
    last_name = request.args.get('last_name')
    orderCriteria = request.args.get('order_by')
    queryBuilder = CustomerQueryBuilder()
    query = queryBuilder \
        .first_name(first_name) \
        .last_name(last_name) \
        .order_by_credit_limit(orderCriteria == 'credit_limit') \
        .build()
    customerRepo = BaseRepo()
    customers = customerRepo.find_all(query)
    return customers
    def tilbake_til_innstilling(cls, soknad, data):
        if data is None or data.get('vedtak_id') is None or data.get('vedtak_id') == "":
            abort(400, __error__=['Vedtak id ikke satt'])

        vedtak = cls.get_vedtak_for_oppdatering(soknad, data.get('vedtak_id'))

        validator = BaseValidator(data)
        validator.validate_le_max_length("intern_merknad", 600, "merknad")
        if validator.has_errors():
            abort(400, __error__=validator.errors)

        BaseRepo.update_model(vedtak, 'intern_merknad', data)

        return vedtak
Exemple #4
0
def find_orders():
    cust_first_name = request.args.get('first_name')
    cust_last_name = request.args.get('last_name')
    orderCriteria = request.args.get('order_by')
    queryBuilder = OrderQueryBuilder()
    query = queryBuilder \
        .cust_first_name(cust_first_name) \
        .cust_last_name(cust_last_name) \
        .order_by_date(orderCriteria == 'date') \
        .order_by_cust_last_name(orderCriteria == 'last_name') \
        .build()
    orderRepo = BaseRepo()
    customers = orderRepo.find_all(query)
    return customers
    def fatt_vedtak(cls, soknad, data):
        if data is None or data.get('vedtak_id') is None or data.get('vedtak_id') == "":
            abort(400, __error__=['Vedtak id ikke satt'])

        vedtak = cls.get_vedtak_for_oppdatering(soknad, data.get('vedtak_id'))

        validator = BaseValidator(data)
        validator.validate_le_max_length("intern_merknad", 600, "merknad")
        validator.validate_is_positive_integer("vedtatt_belop", "vedtatt beløp", requires_value=True)
        if validator.has_errors():
            abort(400, __error__=validator.errors)

        BaseRepo.update_model(vedtak, 'vedtatt_belop', data)
        BaseRepo.update_model(vedtak, 'intern_merknad', data)

        return vedtak
def rediger_rapportfrist_action_strategy(soknad, action, data):
    if data is None:
        abort(400, __error__=['Data mangler'])
    vedtak = VedtakUtils.get_vedtak_for_oppdatering(soknad, data.get('vedtak_id'), False)
    if vedtak is None:
        abort(400, __error__=['Kan ikke finne vedtak'])

    validator = BaseValidator(data)
    validator.validate_le_max_length("endre_rapportfrist_arsak", 150, "aarsak til rapportfrist")
    validator.validate_is_defined("rapportfrist")

    BaseRepo.update_model(vedtak, 'endre_rapportfrist_arsak', data)
    BaseRepo.update_model(vedtak, 'rapportfrist', data)

    if validator.has_errors():
        abort(400, __error__=validator.errors)

    # dersom rapport er levert, settes den tilbake til påbegynt
    if soknad.status == SoknadStateMachine.s_rapport_levert.id:
        soknad.status = action.get_end_state().id

    SoknadRepo.save(soknad)
def til_vedtak_action_strategy(soknad, action, data):
    if data is None:
        abort(400, __error__=['Data mangler'])
    vedtak = VedtakUtils.get_vedtak_for_oppdatering(soknad, data.get('vedtak_id'))
    if vedtak is None:
        vedtak = Vedtak()
        soknad.vedtak.append(vedtak)

    validator = BaseValidator(data)
    validator.validate_le_max_length("intern_merknad", 600, "merknad")
    validator.validate_le_max_length("vedtakstekst", 1000, "vedtakstekst")
    validator.validate_le_max_length("andre_opplysninger", 1000, "andre_opplysninger")
    validator.validate_is_positive_integer("innstilt_belop", "innstilt beløp", requires_value=True)
    validator.validate_is_defined("tilskuddsordning_type", label="Rapport og utbetaling")

    if not data.get('saveOnly'):
        validator.validate_is_defined("vedtakstekst")
        innstilt_belop = data.get('innstilt_belop')
        if isinstance(innstilt_belop, basestring) and innstilt_belop.isdigit():
            innstilt_belop = int(innstilt_belop)
        if data.get('tilskuddsordning_type') != KREVER_IKKE_RAPPORT and not innstilt_belop == 0:
            validator.validate_is_defined("rapportfrist")
        soknad.status = action.get_end_state().id

    if validator.has_errors():
        abort(400, __error__=validator.errors)

    BaseRepo.update_model(vedtak, 'innstilt_belop', data)
    BaseRepo.update_model(vedtak, 'intern_merknad', data)
    BaseRepo.update_model(vedtak, 'tilskuddsordning_type', data)

    if data.get('behandlet_av_formannskapet'):
        BaseRepo.update_model(vedtak, 'behandlet_av_formannskapet', data)

    if vedtak.tilskuddsordning_type == KREVER_IKKE_RAPPORT:
        vedtak.rapportfrist = None
    else:
        BaseRepo.update_model(vedtak, 'rapportfrist', data)

    BaseRepo.update_model(vedtak, 'vedtakstekst', data)
    BaseRepo.update_model(vedtak, 'andre_opplysninger', data)

    # setter vedtatt belop slik at det blir default verdi for godkjenner (han kan overstyre den)
    vedtak.vedtatt_belop = vedtak.innstilt_belop

    SoknadRepo.save(soknad)