def delete(frais_projet_id): frais = FraisProjet.get_by_id(frais_projet_id) projet_id = frais.projet_id.get().key.id() frais_tache = DetailFrais.query( DetailFrais.frais_projet_id == frais.key ) if frais_tache.count(): flash('Impossible de supprimer', 'danger') else: flash('Enregistrement effectue avec succes', 'success') frais.key.delete() return redirect(url_for('frais_projet.index', projet_id=projet_id))
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())
def edit(tache_id, detail_frais_id=None): tache = Tache.get_by_id(tache_id) if detail_frais_id: detail_frais = DetailFrais.get_by_id(detail_frais_id) form = FormFraisTache(obj=detail_frais) form.frais_projet_id.data = detail_frais.frais_projet_id.get().key.id() if detail_frais.detail_fdt: form.detail_fdt.data = detail_frais.detail_fdt.get().key.id() else: detail_frais = DetailFrais() form = FormFraisTache() form.frais_projet_id.choices = [(0, 'Selectionnez le frais applique')] for frais in FraisProjet.query(FraisProjet.projet_id == tache.projet_id): form.frais_projet_id.choices.append((frais.key.id(), frais.frais_id.get().libelle)) day = datetime.date.today().strftime('%d/%m/%Y') dt = datetime.datetime.strptime(day, '%d/%m/%Y') start = dt - timedelta(days=dt.weekday()) end = start + timedelta(days=6) temps = Temps.query( Temps.tache_id == tache.key, Temps.date_start == start, Temps.date_end == end ).get() form.detail_fdt.choices = [(0, 'Selectionnez la FDT concernee')] if temps: for frais in DetailTemps.query(DetailTemps.temps_id == temps.key): form.detail_fdt.choices.append((frais.key.id(), frais.description)) success = False if form.validate_on_submit(): detail_frais.date = function.date_convert(form.date.data) detail_frais.montant = form.montant.data detail_frais.description = form.description.data frais_projet = FraisProjet.get_by_id(form.frais_projet_id.data) detail_frais.frais_projet_id = frais_projet.key if form.detail_fdt.data: details_DFT = DetailTemps.get_by_id(form.detail_fdt.data) detail_frais.detail_fdt = details_DFT.key if temps: detail_frais.temps_id = temps.key else: temps = Temps() temps.user_id = tache.user_id temps.date_start = function.date_convert(start) temps.date_end = function.date_convert(end) temps.tache_id = tache.key time = temps.put() detail_frais.temps_id = time detail_frais.put() flash('Enregistrement effectue avec succes', 'success') success = True return render_template('frais/frais_tache_edit.html', **locals())