aboutsummaryrefslogtreecommitdiff
path: root/budget/forms.py
diff options
context:
space:
mode:
authorAlexis Metaireau <alexis@notmyidea.org>2016-06-17 10:06:19 +0200
committerGitHub <noreply@github.com>2016-06-17 10:06:19 +0200
commit5084cafe6bcd266bd1e676fc6921a7dba3c48a57 (patch)
tree7c2d5f915a5f37d086e31b61cb71fd20dbf4b385 /budget/forms.py
parent789196721584ca4800e4236eee36955e78761346 (diff)
parentc49a355eb082cff208806f785d52567ddd043c03 (diff)
downloadihatemoney-mirror-5084cafe6bcd266bd1e676fc6921a7dba3c48a57.zip
ihatemoney-mirror-5084cafe6bcd266bd1e676fc6921a7dba3c48a57.tar.gz
ihatemoney-mirror-5084cafe6bcd266bd1e676fc6921a7dba3c48a57.tar.bz2
Merge pull request #131 from JocelynDelalande/members-weights
Added Members weights handling
Diffstat (limited to 'budget/forms.py')
-rw-r--r--budget/forms.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/budget/forms.py b/budget/forms.py
index 2dde57d..7d6eb51 100644
--- a/budget/forms.py
+++ b/budget/forms.py
@@ -152,27 +152,35 @@ class BillForm(Form):
class MemberForm(Form):
name = TextField(_("Name"), validators=[Required()])
+ weight = CommaDecimalField(_("Weight"), default=1)
submit = SubmitField(_("Add"))
- def __init__(self, project, *args, **kwargs):
+ def __init__(self, project, edit=False, *args, **kwargs):
super(MemberForm, self).__init__(*args, **kwargs)
self.project = project
+ self.edit = edit
def validate_name(form, field):
if field.data == form.name.default:
raise ValidationError(_("User name incorrect"))
- if Person.query.filter(Person.name == field.data)\
- .filter(Person.project == form.project)\
- .filter(Person.activated == True).all():
+ if (not form.edit and Person.query.filter(
+ Person.name == field.data,
+ Person.project == form.project,
+ Person.activated == True).all()):
raise ValidationError(_("This project already have this member"))
def save(self, project, person):
# if the user is already bound to the project, just reactivate him
person.name = self.name.data
person.project = project
+ person.weight = self.weight.data
return person
+ def fill(self, member):
+ self.name.data = member.name
+ self.weight.data = member.weight
+
class InviteForm(Form):
emails = TextAreaField(_("People to notify"))