예제 #1
0
def index():
    menu = 'societe'
    submenu = 'entreprise'
    context = 'frais'
    title_page = 'Parametre - Frais'

    search = False
    q = request.args.get('q')
    if q:
        search = True
    try:
        page = int(request.args.get('page', 1))
    except ValueError:
        page = 1

    datas = Frais.query()
    pagination = Pagination(css_framework='bootstrap3', page=page, total=datas.count(), search=search, record_name='frais')

    if datas.count() > 10:
        if page == 1:
            offset = 0
        else:
            page -= 1
            offset = page * 10
        datas = datas.fetch(limit=10, offset=offset)

    return render_template('frais/index.html', **locals())
예제 #2
0
def edit(projet_id, frais_projet_id=None):

    projet = Projet.get_by_id(projet_id)
    if frais_projet_id:
        frais_projet = FraisProjet.get_by_id(frais_projet_id)
        form = FormFraisProjet(obj=frais_projet)
        form.frais_id.data = frais_projet.frais_id.get().key.id()
        if frais_projet.frais_id.get().factu:
            form.facturable.data = '1'
        else:
            form.facturable.data = '2'
    else:
        frais_projet = FraisProjet()
        form = FormFraisProjet()

    form.frais_id.choices = [(0, 'Selectionnez un frais')]
    for frais in Frais.query():
        form.frais_id.choices.append((frais.key.id(), frais.libelle))

    if form.frais_id.data:
        frais = Frais.get_by_id(int(form.frais_id.data))
        list_factu = {}
        if frais.nfactu:
            list_factu[2] = 'Non Facturable'
        if frais.factu:
            list_factu[1] = 'Facturable'

    success = False
    if form.validate_on_submit():

        frais_projet.projet_id = projet.key

        frais = Frais.get_by_id(int(form.frais_id.data))
        frais_projet.frais_id = frais.key

        if form.facturable.data == '2':
            frais_projet.facturable = False
        if form.facturable.data == '1':
            frais_projet.facturable = True

        frais_projet.montant = form.montant.data
        frais_projet.put()

        success = True

    return render_template('frais/frais_projet_edit.html', **locals())
예제 #3
0
def facturations(frais_id = None):
    data = {}
    data['fact'] = 0
    data['nfact'] = 0
    if frais_id:
        frais = Frais.get_by_id(frais_id)
        if frais.factu:
            data['fact'] = 1
        if frais.nfactu:
            data['nfact'] = 1
    resp = jsonify(data)
    return resp
예제 #4
0
def delete(frais_id):
    fraiss = Frais.get_by_id(frais_id)

    frais_projet = FraisProjet.query(
        FraisProjet.frais_id == fraiss.key
    ).count()

    if frais_projet:
        flash('Impossible de supprimer cet element', 'danger')
    else:
        fraiss.key.delete()
        flash('Suppression reussie', 'success')
    return redirect(url_for('frais.index'))
예제 #5
0
def edit(frais_id=None):

    if frais_id:
        fraiss = Frais.get_by_id(frais_id)
        form = FormFrais(obj=fraiss)
    else:
        fraiss = Frais()
        form = FormFrais()

    success = False
    if form.validate_on_submit():

        fraiss.libelle = form.libelle.data
        fraiss.factu = form.factu.data
        fraiss.nfactu = form.nfactu.data
        fraiss.put()

        flash('Enregistement effectue avec succes', 'success')
        success = True

    return render_template('frais/edit.html', **locals())