def edit(data_id=None): if data_id: data = Users.objects.get(id=data_id) form = FormUser(obj=data) form.id.data = data_id if request.method == 'GET': if data.categorie: form.categorie.data = [] for cat in data.categorie: form.categorie.data.append(str(cat.id)) if data.appareil: form.appareil.data = [] for cat in data.appareil: form.appareil.data.append(str(cat.id)) else: data = Users() form = FormUser() compte = Comptes.objects().get(id=session.get('compte_id')) form.categorie.choices = [('', 'Aucune categorie')] categorie = Categories.objects(Q(type_cat=1) & Q(compte=compte)) for choice in categorie: form.categorie.choices.append((str(choice.id), choice.name)) form.appareil.choices = [('', 'Tous les magasins')] appareil = PointDeVente.objects(compte=compte) for choice in appareil: form.appareil.choices.append((str(choice.id), choice.name)) if data.admin_compte and request.method == 'POST': del form.categorie del form.appareil if form.validate_on_submit(): data.first_name = form.first_name.data data.last_name = form.last_name.data data.email = form.email.data data.phone = form.phone.data data.compte = compte new = False if not data.id: data.activated = False data.pin = "0000" new = True data.appareil = [] if form.appareil and form.appareil.data: magasin = PointDeVente.objects().get(id=form.appareil.data) data.appareil.appent(magasin) data.categorie = [] if form.categorie and form.categorie.data: categorie = Categories.objects().get(id=form.categorie.data) data.categorie.appent(categorie) data.save() if new: token = generate_confirmation_token(data.email) confirm_url = url_for('home_user.confirm_email', user_id=data.id, token=token, _external=True) # Design de l'email a faire html = render_template('template_mail/user/activate.html', **locals()) msg = Message() msg.recipients = [data.email] msg.subject = data.full_name( ) + ', veuillez confirmer votre adresse e-mail' msg.sender = (data.email, '*****@*****.**') msg.html = html flash('Enregistrement avec succes.', 'success') return redirect(url_for('user.index')) list_roles = global_role return render_template('user/edit.html', **locals())