From ec8fe2326b209d580922876e9b1d32cbe98646b7 Mon Sep 17 00:00:00 2001 From: Jocelyn Delande Date: Sat, 22 Aug 2015 01:19:27 +0200 Subject: Added member edit form --- budget/forms.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'budget/forms.py') diff --git a/budget/forms.py b/budget/forms.py index 918e82a..7d6eb51 100644 --- a/budget/forms.py +++ b/budget/forms.py @@ -155,16 +155,18 @@ class MemberForm(Form): 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): @@ -175,6 +177,10 @@ class MemberForm(Form): return person + def fill(self, member): + self.name.data = member.name + self.weight.data = member.weight + class InviteForm(Form): emails = TextAreaField(_("People to notify")) -- cgit v1.1