mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00
Merge pull request #192 from JocelynDelalande/jd-remove-warnings
Warnings hunt !
This commit is contained in:
commit
49615acb1d
8 changed files with 29 additions and 22 deletions
|
@ -29,7 +29,7 @@ def check_project(*args, **kwargs):
|
|||
class ProjectHandler(object):
|
||||
|
||||
def add(self):
|
||||
form = ProjectForm(csrf_enabled=False)
|
||||
form = ProjectForm(meta={'csrf': False})
|
||||
if form.validate():
|
||||
project = form.save()
|
||||
db.session.add(project)
|
||||
|
@ -49,7 +49,7 @@ class ProjectHandler(object):
|
|||
|
||||
@need_auth(check_project, "project")
|
||||
def update(self, project):
|
||||
form = EditProjectForm(csrf_enabled=False)
|
||||
form = EditProjectForm(meta={'csrf': False})
|
||||
if form.validate():
|
||||
form.update(project)
|
||||
db.session.commit()
|
||||
|
@ -69,7 +69,7 @@ class MemberHandler(object):
|
|||
return 200, project.members
|
||||
|
||||
def add(self, project):
|
||||
form = MemberForm(project, csrf_enabled=False)
|
||||
form = MemberForm(project, meta={'csrf': False})
|
||||
if form.validate():
|
||||
member = Person()
|
||||
form.save(project, member)
|
||||
|
@ -78,7 +78,7 @@ class MemberHandler(object):
|
|||
return 400, form.errors
|
||||
|
||||
def update(self, project, member_id):
|
||||
form = MemberForm(project, csrf_enabled=False)
|
||||
form = MemberForm(project, meta={'csrf': False})
|
||||
if form.validate():
|
||||
member = Person.query.get(member_id, project)
|
||||
form.save(project, member)
|
||||
|
@ -104,7 +104,7 @@ class BillHandler(object):
|
|||
return project.get_bills().all()
|
||||
|
||||
def add(self, project):
|
||||
form = get_billform_for(project, True, csrf_enabled=False)
|
||||
form = get_billform_for(project, True, meta={'csrf': False})
|
||||
if form.validate():
|
||||
bill = Bill()
|
||||
form.save(bill, project)
|
||||
|
@ -114,7 +114,7 @@ class BillHandler(object):
|
|||
return 400, form.errors
|
||||
|
||||
def update(self, project, bill_id):
|
||||
form = get_billform_for(project, True, csrf_enabled=False)
|
||||
form = get_billform_for(project, True, meta={'csrf': False})
|
||||
if form.validate():
|
||||
bill = Bill.query.get(project, bill_id)
|
||||
form.save(bill, project)
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
DEBUG = False
|
||||
SQLALCHEMY_DATABASE_URI = 'sqlite:///budget.db'
|
||||
SQLACHEMY_ECHO = DEBUG
|
||||
# Will likely become the default value in flask-sqlalchemy >=3 ; could be removed
|
||||
# then:
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
|
||||
SECRET_KEY = "tralala"
|
||||
|
||||
MAIL_DEFAULT_SENDER = ("Budget manager", "budget@notmyidea.org")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from flask_wtf.form import FlaskForm
|
||||
from wtforms.fields.core import SelectField, SelectMultipleField
|
||||
from wtforms.fields.html5 import DateField, DecimalField
|
||||
from wtforms.fields.simple import PasswordField, SubmitField, TextAreaField, TextField
|
||||
from wtforms.fields.simple import PasswordField, SubmitField, TextAreaField, StringField
|
||||
from wtforms.validators import Email, Required, ValidationError
|
||||
from flask_babel import lazy_gettext as _
|
||||
from flask import request
|
||||
|
@ -38,9 +38,9 @@ class CommaDecimalField(DecimalField):
|
|||
|
||||
|
||||
class EditProjectForm(FlaskForm):
|
||||
name = TextField(_("Project name"), validators=[Required()])
|
||||
password = TextField(_("Private code"), validators=[Required()])
|
||||
contact_email = TextField(_("Email"), validators=[Required(), Email()])
|
||||
name = StringField(_("Project name"), validators=[Required()])
|
||||
password = StringField(_("Private code"), validators=[Required()])
|
||||
contact_email = StringField(_("Email"), validators=[Required(), Email()])
|
||||
|
||||
def save(self):
|
||||
"""Create a new project with the information given by this form.
|
||||
|
@ -62,7 +62,7 @@ class EditProjectForm(FlaskForm):
|
|||
|
||||
|
||||
class ProjectForm(EditProjectForm):
|
||||
id = TextField(_("Project identifier"), validators=[Required()])
|
||||
id = StringField(_("Project identifier"), validators=[Required()])
|
||||
password = PasswordField(_("Private code"), validators=[Required()])
|
||||
submit = SubmitField(_("Create the project"))
|
||||
|
||||
|
@ -78,13 +78,13 @@ class ProjectForm(EditProjectForm):
|
|||
|
||||
|
||||
class AuthenticationForm(FlaskForm):
|
||||
id = TextField(_("Project identifier"), validators=[Required()])
|
||||
id = StringField(_("Project identifier"), validators=[Required()])
|
||||
password = PasswordField(_("Private code"), validators=[Required()])
|
||||
submit = SubmitField(_("Get in"))
|
||||
|
||||
|
||||
class PasswordReminder(FlaskForm):
|
||||
id = TextField(_("Project identifier"), validators=[Required()])
|
||||
id = StringField(_("Project identifier"), validators=[Required()])
|
||||
submit = SubmitField(_("Send me the code by email"))
|
||||
|
||||
def validate_id(form, field):
|
||||
|
@ -94,7 +94,7 @@ class PasswordReminder(FlaskForm):
|
|||
|
||||
class BillForm(FlaskForm):
|
||||
date = DateField(_("Date"), validators=[Required()], default=datetime.now)
|
||||
what = TextField(_("What?"), validators=[Required()])
|
||||
what = StringField(_("What?"), validators=[Required()])
|
||||
payer = SelectField(_("Payer"), validators=[Required()], coerce=int)
|
||||
amount = CommaDecimalField(_("Amount paid"), validators=[Required()])
|
||||
payed_for = SelectMultipleField(_("For whom?"),
|
||||
|
@ -129,7 +129,7 @@ class BillForm(FlaskForm):
|
|||
|
||||
class MemberForm(FlaskForm):
|
||||
|
||||
name = TextField(_("Name"), validators=[Required()])
|
||||
name = StringField(_("Name"), validators=[Required()])
|
||||
weight = CommaDecimalField(_("Weight"), default=1)
|
||||
submit = SubmitField(_("Add"))
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from flask.ext.script import Manager
|
||||
from flask.ext.migrate import Migrate, MigrateCommand
|
||||
from flask_script import Manager
|
||||
from flask_migrate import Migrate, MigrateCommand
|
||||
|
||||
from run import app
|
||||
from models import db
|
||||
|
|
|
@ -5,7 +5,6 @@ try:
|
|||
except ImportError:
|
||||
import unittest # NOQA
|
||||
|
||||
import base64
|
||||
import os
|
||||
import json
|
||||
from collections import defaultdict
|
||||
|
@ -17,6 +16,7 @@ from flask import session
|
|||
|
||||
import run
|
||||
import models
|
||||
import utils
|
||||
|
||||
|
||||
class TestCase(unittest.TestCase):
|
||||
|
@ -759,7 +759,7 @@ class APITestCase(TestCase):
|
|||
|
||||
def get_auth(self, username, password=None):
|
||||
password = password or username
|
||||
base64string = base64.encodestring(
|
||||
base64string = utils.base64_encode(
|
||||
('%s:%s' % (username, password)).encode('utf-8')).decode('utf-8').replace('\n', '')
|
||||
return {"Authorization": "Basic %s" % base64string}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import base64
|
||||
import re
|
||||
import inspect
|
||||
|
||||
|
@ -120,3 +121,6 @@ def list_of_dicts2csv(dict_to_convert):
|
|||
if six.PY3:
|
||||
csv_file = BytesIO(csv_file.getvalue().encode('utf-8'))
|
||||
return csv_file
|
||||
|
||||
# base64 encoding that works with both py2 and py3 and yield no warning
|
||||
base64_encode = base64.encodestring if six.PY2 else base64.encodebytes
|
||||
|
|
|
@ -16,5 +16,4 @@ pygments_style = 'sphinx'
|
|||
sys.path.append(os.path.abspath('_themes'))
|
||||
html_theme_path = ['_themes']
|
||||
html_theme = 'pelican'
|
||||
html_static_path = ['_static']
|
||||
html_theme_options = { 'nosidebar': True }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
flask>=0.11
|
||||
flask-wtf>=0.13
|
||||
flask-sqlalchemy
|
||||
flask-wtf>=0.14
|
||||
flask-sqlalchemy>=2.2,<3.0
|
||||
flask-mail>=0.8
|
||||
Flask-Migrate>=1.8.0
|
||||
flask-babel
|
||||
|
|
Loading…
Reference in a new issue