def index(projet_id): menu = 'projet' submenu = 'projet' context = 'frais' title_page = 'Projets - Frais' search = False q = request.args.get('q') if q: search = True try: page = int(request.args.get('page', 1)) except ValueError: page = 1 projet = Projet.get_by_id(projet_id) datas = FraisProjet.query(FraisProjet.projet_id == projet.key) pagination = Pagination(css_framework='bootstrap3', page=page, total=datas.count(), search=search, record_name='Projets') 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/frais_projet.html', **locals())
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())