mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-01 10:42:24 +02:00
Trim member usernames. Fixes #353
(cherry picked from commit 82d94a7490
)
This commit is contained in:
parent
fe08133064
commit
be8b01a493
2 changed files with 18 additions and 2 deletions
|
@ -17,6 +17,13 @@ from ihatemoney.models import Project, Person
|
|||
from ihatemoney.utils import slugify, eval_arithmetic_expression
|
||||
|
||||
|
||||
def strip_filter(string):
|
||||
try:
|
||||
return string.strip()
|
||||
except Exception:
|
||||
return string
|
||||
|
||||
|
||||
def get_billform_for(project, set_default=True, **kwargs):
|
||||
"""Return an instance of BillForm configured for a particular project.
|
||||
|
||||
|
@ -170,7 +177,7 @@ class BillForm(FlaskForm):
|
|||
|
||||
|
||||
class MemberForm(FlaskForm):
|
||||
name = StringField(_("Name"), validators=[DataRequired()])
|
||||
name = StringField(_("Name"), validators=[DataRequired()], filters=[strip_filter, ])
|
||||
|
||||
weight_validators = [NumberRange(min=0.1, message=_("Weights should be positive"))]
|
||||
weight = CommaDecimalField(_("Weight"), default=1,
|
||||
|
|
|
@ -632,6 +632,16 @@ class BudgetTestCase(IhatemoneyTestCase):
|
|||
balance = models.Project.query.get("raclette").balance
|
||||
self.assertEqual(set(balance.values()), set([6, -6]))
|
||||
|
||||
def test_trimmed_members(self):
|
||||
self.post_project("raclette")
|
||||
|
||||
# Add two times the same person (with a space at the end).
|
||||
self.client.post("/raclette/members/add", data={'name': 'alexis'})
|
||||
self.client.post("/raclette/members/add", data={'name': 'alexis '})
|
||||
members = models.Project.query.get("raclette").members
|
||||
|
||||
self.assertEqual(len(members), 1)
|
||||
|
||||
def test_weighted_members_list(self):
|
||||
self.post_project("raclette")
|
||||
|
||||
|
@ -1220,7 +1230,6 @@ class APITestCase(IhatemoneyTestCase):
|
|||
self.assertEqual(False, json.loads(req.data.decode('utf-8'))["activated"])
|
||||
|
||||
# re-activate the user
|
||||
|
||||
req = self.client.put("/api/projects/raclette/members/1", data={
|
||||
"name": "Fred",
|
||||
"activated": True,
|
||||
|
|
Loading…
Reference in a new issue