Commit graph

470 commits

Author SHA1 Message Date
JocelynDelalande
18aebb618f
Avoid showcase-guy to point his finger at nothing (#901)
That occured on some screen sizes.
2021-10-30 17:36:42 +02:00
JocelynDelalande
5ab12f41bd
Consistently use questions in bill form (#900)
* Consistently use questions in bill form

* fixup
2021-10-30 17:35:43 +02:00
Glandos
ff4de78b56
Reduce the size of showcase images (#899)
Fixes #875

Original showcase images are kept in another directory, and compressed
in webp in the distributed directory.
Since they won't change so much, let's keep them in git.
2021-10-30 17:30:59 +02:00
Oğuz Ersen
7f5977a738 Translated using Weblate (Turkish)
Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money
2021-10-28 21:41:33 +02:00
Baptiste Jonglez
180f3ef3fb Rebuild translation files 2021-10-26 23:46:27 +02:00
Baptiste Jonglez
68a4aa05e8 Add missing configuration variables (ENABLE_CAPTCHA and LEGAL_LINK) 2021-10-26 23:46:27 +02:00
Baptiste Jonglez
f68263328c Improve performance of balance and statistics computation (see #889) 2021-10-23 17:20:19 +02:00
53c88c3b13
Add a LEGAL_LINK setting. Fixes #761 (#883) 2021-10-21 19:16:32 +02:00
Baptiste
d168e15357 Translated using Weblate (French)
Currently translated at 100.0% (263 of 263 strings)

Co-authored-by: Baptiste <weblate@bitsofnetworks.org>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/fr/
Translation: I Hate Money/I Hate Money
2021-10-21 09:38:52 +02:00
d1297c9c64 Reduce the resolution of showcase pictures by 50%.
Done with `mogrify -quality 75% -resize 50% ihatemoney/static/showcase/*.jpg`.

Before :
```
du -hsc ihatemoney/static/showcase/?.jpg
576K	ihatemoney/static/showcase/1.jpg
512K	ihatemoney/static/showcase/2.jpg
424K	ihatemoney/static/showcase/3.jpg
464K	ihatemoney/static/showcase/4.jpg
464K	ihatemoney/static/showcase/5.jpg
712K	ihatemoney/static/showcase/6.jpg
492K	ihatemoney/static/showcase/7.jpg
592K	ihatemoney/static/showcase/8.jpg
788K	ihatemoney/static/showcase/9.jpg
5.0M	total
```

After :
```
184K	ihatemoney/static/showcase/1.jpg
140K	ihatemoney/static/showcase/2.jpg
136K	ihatemoney/static/showcase/3.jpg
132K	ihatemoney/static/showcase/4.jpg
144K	ihatemoney/static/showcase/5.jpg
208K	ihatemoney/static/showcase/6.jpg
160K	ihatemoney/static/showcase/7.jpg
164K	ihatemoney/static/showcase/8.jpg
224K	ihatemoney/static/showcase/9.jpg
1,5M	total
```

Fixes #875
2021-10-21 09:34:45 +02:00
Baptiste Jonglez
7fdb72cff8 tests: allow to choose project name independently from ID (no change by default) 2021-10-20 23:29:11 +02:00
zorun
97447c96f5
Improve pagination style (#873)
The style for top and bottom pagination was different, and the top part
was confusing.

Also translate bottom pagination text.

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2021-10-20 00:53:50 +02:00
cfbce99f19 Fix Weblate 2021-10-19 23:30:34 +02:00
c81c30ff93
Fix weblate (#867)
* Translated using Weblate (French)

Currently translated at 100.0% (263 of 263 strings)

Translation: I Hate Money/I Hate Money
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/fr/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (263 of 263 strings)

Translation: I Hate Money/I Hate Money
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
2021-10-19 23:26:27 +02:00
Oğuz Ersen
ed0f70d4e7
Translated using Weblate (Turkish)
Currently translated at 100.0% (263 of 263 strings)

Translation: I Hate Money/I Hate Money
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
2021-10-19 23:01:34 +02:00
f09c3355f2
Translated using Weblate (French)
Currently translated at 100.0% (263 of 263 strings)

Translation: I Hate Money/I Hate Money
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/fr/
2021-10-19 23:01:34 +02:00
3fd69f2267
Prepare 5.0 (#866)
* Update changelog.

Based on the work done in #570 and #834 by @Natim and @Glandos.

* Update contributing.rst release instructions.

* Update documentation configuration.

* Update translations

* Update translation strings

* Preparing release 5.0.0

* Back to development: 5.0.1
2021-10-19 23:01:29 +02:00
Weblate (bot)
2542781218
Translated using Weblate (Kannada) (#863)
Currently translated at 26.9% (71 of 263 strings)

Co-authored-by: a-g-rao <athrigrao@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/kn/
Translation: I Hate Money/I Hate Money

Co-authored-by: a-g-rao <athrigrao@gmail.com>
2021-10-19 00:25:07 +02:00
Glandos
7a15051996
Make multiple currency optional (#864)
* Make multiple currency optional
Fixes #848

A description is provided in project settings to make the feature self explanatory.

* I forgot the description.
Let's update translation altogether.

* black format
2021-10-18 23:46:53 +02:00
Weblate (bot)
a7d133bc3a
Translations update from Weblate (#862)
* Translated using Weblate (Turkish)

Currently translated at 100.0% (262 of 262 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money

* Translated using Weblate (Kannada)

Currently translated at 22.8% (60 of 263 strings)

Co-authored-by: a-g-rao <athrigrao@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/kn/
Translation: I Hate Money/I Hate Money

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: a-g-rao <athrigrao@gmail.com>
2021-10-17 13:11:26 +02:00
Weblate (bot)
1b826689e5
Translated using Weblate (Kannada) (#861)
Currently translated at 18.9% (49 of 258 strings)

Co-authored-by: a-g-rao <athrigrao@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/kn/
Translation: I Hate Money/I Hate Money

Co-authored-by: a-g-rao <athrigrao@gmail.com>
2021-10-14 23:48:59 +02:00
Glandos
b44bef33db
regenerate translations (#860) 2021-10-14 22:15:54 +02:00
HarshVT8999
5ea8a66704 Update messages.po 2021-10-14 00:15:36 +02:00
a-g-rao
35820e0486 Translated using Weblate (Kannada)
Currently translated at 16.2% (42 of 258 strings)

Added translation using Weblate (Kannada)

Co-authored-by: a-g-rao <athrigrao@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/kn/
Translation: I Hate Money/I Hate Money
2021-10-14 00:14:52 +02:00
Glandos
e2286676f1 Flash messages must be dimissed manually 2021-10-14 00:09:20 +02:00
Baptiste Jonglez
19b5b13663 demo: create Demo project without currency
This matches the default settings of both the web interface and the API
regarding currencies.
2021-10-14 00:07:41 +02:00
Baptiste Jonglez
ff2a5cc147 Add API test cases related to currencies 2021-10-14 00:07:41 +02:00
Baptiste Jonglez
17b4255d82 API tests: allow to set currency, but don't set any by default 2021-10-14 00:07:41 +02:00
Baptiste Jonglez
421cfbe645 project: set XXX as default default_currency for API backwards compatibility
The new support for currency broke backwards compatibility on the API:

    $ curl -X POST $URL/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@notmyidea.org'
    {"default_currency": ["This field is required."]}

This is a case we were not testing (will be fixed in subsequent commits)

To fix this, simply set default_currency to XXX by default.
2021-10-14 00:07:41 +02:00
Glandos
7d9226745f
Change token path authentication to /PROJECT/join/TOKEN (#843) 2021-10-13 22:00:38 +02:00
HarshVT8999
cb8f6aaafb
Changed Font Size of the Logo (#828)
Co-authored-by: Alexis Métaireau <alexis@notmyidea.org>
2021-10-11 19:30:00 +02:00
2bcc41bdb3
Add optional support for a simple CAPTCHA. (#844)
* Add optional support for a simple CAPTCHA.
* formatting
* add test case
* Flake8

Co-authored-by: Glandos <bugs-github@antipoul.fr>
2021-10-11 17:39:24 +02:00
Baptiste Jonglez
e626a1cbea Implement security best practices using Flask-Talisman 2021-10-10 22:06:33 +02:00
zorun
7554842b1f
Add URL validation to external link to prevent XSS (#846)
Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2021-10-10 18:39:03 +02:00
Glandos
bbe00ebb57
Include project code into project authentication token (#802)
Fix #780 

This a breaking change, the API for authentication is different, as it now requires `project_id`. Token is generated with only the project_id (so it's shorter than before), and signature is done by mixing password with secret key. Thus, it expires on every project code change.
2021-10-10 14:43:40 +02:00
Frank.wu
879936a4c4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (258 of 258 strings)

Co-authored-by: Frank.wu <me@wuzhiping.top>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/zh_Hans/
Translation: I Hate Money/I Hate Money
2021-10-10 11:48:07 +02:00
phlostically
1c1f1ae893 Translated using Weblate (Esperanto)
Currently translated at 86.8% (224 of 258 strings)

Co-authored-by: phlostically <phlostically@mailinator.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/eo/
Translation: I Hate Money/I Hate Money
2021-10-10 11:48:07 +02:00
Christian H
6044947a90 Translated using Weblate (German)
Currently translated at 98.4% (254 of 258 strings)

Co-authored-by: Christian H <sunrisechain@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/de/
Translation: I Hate Money/I Hate Money
2021-10-10 11:48:07 +02:00
Роман Прокопов
bf3a3bce33 Translated using Weblate (Russian)
Currently translated at 81.3% (210 of 258 strings)

Co-authored-by: Роман Прокопов <pochta.romana.iz.vyborga@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/ru/
Translation: I Hate Money/I Hate Money
2021-10-10 11:48:07 +02:00
Daniel Neto
60149cd486 Formatting changes after running make black 2021-09-19 19:04:49 +02:00
Daniel Neto
7bf7db24bd #838: Add decima weight round test cases 2021-09-19 19:04:49 +02:00
Daniel Neto
49abd7fedd Fix #838: Round weight to 2 decimal cases 2021-09-19 19:04:49 +02:00
PPNplus
1842fba115 Translated using Weblate (Thai)
Currently translated at 17.8% (46 of 258 strings)

Added translation using Weblate (Thai)

Co-authored-by: PPNplus <ppnplus@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/th/
Translation: I Hate Money/I Hate Money
2021-09-16 22:02:32 +02:00
Clonewayx
74053fb8fe Translated using Weblate (Czech)
Currently translated at 23.2% (60 of 258 strings)

Co-authored-by: Clonewayx <fillip1@seznam.cz>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/cs/
Translation: I Hate Money/I Hate Money
2021-09-16 22:02:32 +02:00
Baptiste Jonglez
011df29913 Simplify exception checking in import test 2021-09-07 23:15:40 +02:00
Baptiste Jonglez
7ad83c7e79 Add more import test cases related to currencies 2021-09-07 23:15:40 +02:00
zorun
3cbe276a69 Simplify import code
Co-authored-by: Glandos <bugs-github@antipoul.fr>
2021-09-07 23:15:40 +02:00
Baptiste Jonglez
4bf9308908 Add currency to import and export formats 2021-09-07 23:15:40 +02:00
Baptiste Jonglez
6448d0d7df Move CurrencyConverter mocking to the base test class
This mock was already applied to all tests, because it was done statically
in the TestCurrencyConverter class definition.  But it was really not
clear that it's applied everywhere.

Moving this to the setUp() function makes it much clearer.

Also, remove useless redefinition in other tests.
2021-09-07 23:15:40 +02:00
Michał Kowalski
748d30ba87 Translated using Weblate (Polish)
Currently translated at 82.9% (214 of 258 strings)

Co-authored-by: Michał Kowalski <norbertkowalski1994@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/pl/
Translation: I Hate Money/I Hate Money
2021-09-04 16:53:39 +02:00
b933e236ba Update the email template to feel more inclusive. 2021-09-01 22:57:51 +02:00
corny
7b9f9dd423 Translated using Weblate (German)
Currently translated at 98.0% (253 of 258 strings)

Co-authored-by: corny <nico.eckstein+weblate@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/de/
Translation: I Hate Money/I Hate Money
2021-08-20 17:28:52 +02:00
George Thomas
4ebda06f39
"a free software" -> "free software" (#818)
* "a free software" -> "free software"
2021-08-18 08:54:23 +02:00
Eugenia Russell
68478cfb76 Translated using Weblate (Greek)
Currently translated at 50.3% (130 of 258 strings)

Co-authored-by: Eugenia Russell <eugenia.russell2019@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/el/
Translation: I Hate Money/I Hate Money
2021-08-14 21:37:01 +02:00
Oğuz Ersen
6bacae1cd9 Translated using Weblate (Turkish)
Currently translated at 100.0% (258 of 258 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money
2021-07-25 22:27:23 +02:00
ToldYouThat
510154f0d3 Translated using Weblate (Turkish)
Currently translated at 93.0% (240 of 258 strings)

Co-authored-by: ToldYouThat <itoldyouthat@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money
2021-07-25 22:27:23 +02:00
Oğuz Ersen
63a9ba0ae4 Translated using Weblate (Turkish)
Currently translated at 93.0% (240 of 258 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money
2021-07-25 22:27:23 +02:00
Parham
de311b5eab Added translation using Weblate (Persian)
Co-authored-by: Parham <parham.parnian@gmail.com>
2021-07-25 22:27:23 +02:00
Kristoffer Grundström
b97636b5c1 Translated using Weblate (Swedish)
Currently translated at 71.3% (184 of 258 strings)

Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/sv/
Translation: I Hate Money/I Hate Money
2021-07-25 22:27:23 +02:00
Baptiste Jonglez
9217360973 Localize month names in the statistics view 2021-07-20 19:42:14 +02:00
Allan Nordhøy
591c91af49 Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.9% (201 of 258 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/nb_NO/
Translation: I Hate Money/I Hate Money
2021-07-18 23:33:59 +02:00
Kemystra
a6d341e3b4 Translated using Weblate (Malay)
Currently translated at 10.4% (27 of 258 strings)

Added translation using Weblate (Malay)

Co-authored-by: Kemystra <izzmin97@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/ms/
Translation: I Hate Money/I Hate Money
2021-07-18 23:33:59 +02:00
Oleg
0d8d57c5b0 Fix language list scrollable on mobile (#811) 2021-07-18 23:28:27 +02:00
Glandos
81c3b8edc7 Fix unusable LOCALTZ
Fix #803

On some systems, there is no configured local timezone, so LOCALTZ is
a fallback object, that don't fit use case for flask-babel.
Detect this and use 'UTC' instead
2021-07-18 22:48:29 +02:00
Baptiste Jonglez
9444c1099a Display and highlight current language in dropdown list
Currently, we don't display the current language in the list.  This is
confusing because the list changes when switching language.

Now we always display the full list, and we highlight the current
language.
2021-07-18 14:32:09 +02:00
Baptiste
f7245f6c80 Translated using Weblate (French)
Currently translated at 100.0% (258 of 258 strings)

Co-authored-by: Baptiste <weblate@bitsofnetworks.org>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/fr/
Translation: I Hate Money/I Hate Money
2021-07-17 23:53:29 +02:00
Baptiste Jonglez
b1ab7b89c8 Regenerate translations 2021-07-17 17:32:44 +02:00
Baptiste Jonglez
bb047f1596 Add Greek, Esperanto, Italian and Swedish to default languages 2021-07-17 14:28:45 +02:00
Baptiste Jonglez
82f3f067ef Fix layout of history deletion modals 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
c69b8d66eb Use existing form errors to flash error messages
This is nice because we can reuse the translated strings of form error
messages in another context.

Suggested by Glandos.
2021-07-17 13:54:11 +02:00
zorun
439282356c Improve "confirm deletion" behaviour
* add the event listener only once, instead of every time the form is clicked

* use a standard button by default, so that the second state with a
  "danger" button is more visible

* reset confirmation button to original state when losing focus

Co-authored-by: Glandos <bugs-github@antipoul.fr>
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
da49012d58 Add test cases to ensure we can't delete objects with a GET 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
255aacefb3 Fix tests for history deletion 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
95b2cf870b Fix test for project deletion 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
db982572aa History: also ask for private code to confirm deletion
This is the same idea as deleting a project: deleting history is also a
major destructive action.  We reuse the same form as for project deletion
to ask for the private code and provide CSRF validation.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
969029a811 Add CSRF validation to project history deletion 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
2bb6f2b6a7 Rework project deletion to add CSRF validation
It requires reworking the user interface, but it's probably for the best.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
109d7fca17 Add CSRF validation to most disruptive actions
This also switches all such actions to POST requests.

Deleting the project is handled in another commit because it requires more
changes.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
078f9e8b6b Fix invalid HTML 2021-07-14 16:10:13 +02:00
Baptiste Jonglez
2e4bb0ec8c tests: ensure that /tmp/ihatemoney.db does not get overwritten
Most of the tests are using a separate database, but we have a few tests
that are loading default values and are writing to /tmp/ihatemoney.db.

This is annoying because it's also the database used for development:
running the test suite breaks the dev database.

To fix this, always use a separate testing database to avoid interference.
2021-07-14 10:36:39 +02:00
Reza Almanda
686c60e7c5 Translated using Weblate (Indonesian)
Currently translated at 100.0% (235 of 235 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/id/
Translation: I Hate Money/I Hate Money
2021-07-12 23:30:30 +02:00
Andrew Dickinson
72230448a7
Improve localization on the History page using string replacement (#587) 2021-07-12 22:48:19 +02:00
Glandos
2f42afbc69 Translated using Weblate (French)
Currently translated at 100.0% (235 of 235 strings)

Co-authored-by: Glandos <bugs-github@antipoul.fr>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/fr/
Translation: I Hate Money/I Hate Money
2021-07-11 00:25:19 +02:00
phlostically
12167a09bf Translated using Weblate (Esperanto)
Currently translated at 100.0% (235 of 235 strings)

Co-authored-by: phlostically <phlostically@mailinator.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/eo/
Translation: I Hate Money/I Hate Money
2021-07-11 00:25:19 +02:00
Oğuz Ersen
e377bc6443 Translated using Weblate (Turkish)
Currently translated at 100.0% (235 of 235 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/tr/
Translation: I Hate Money/I Hate Money
2021-07-11 00:25:19 +02:00
Glandos
526db044b2 Use "No one" instead of "Noone", that is really too old. 2021-07-10 00:40:06 +02:00
Glandos
ccad5ac859 align translation with existing tokens 2021-07-10 00:40:06 +02:00
Glandos
3f9303d5b5 badges for selectors, and payees in column 2021-07-10 00:40:06 +02:00
Glandos
e9afc539c8 slightly more margin for details 2021-07-10 00:40:06 +02:00
Glandos
c4f98580c1 move extra options to bottom 2021-07-10 00:40:06 +02:00
Glandos
6e2283f915 draft 2021-07-10 00:40:06 +02:00
Baptiste Jonglez
7ceb66f01b Enable CI builds with postgresql and mariadb 2021-07-10 00:39:54 +02:00
Baptiste Jonglez
33aad60352 Clarify that the test config files are not used for all tests... 2021-07-10 00:39:54 +02:00
Baptiste Jonglez
2616bed4ff Fix SQL query in has_multiple_currencies
The previous query was working fine on sqlite and mariadb, but not on
postgresql :

    return self.get_bills_unordered().group_by(Bill.original_currency).count() > 1

    psycopg2.errors.GroupingError: column "bill.id" must appear in the GROUP BY clause or be used in an aggregate function

The failing SQL query was:

    [SQL: SELECT count(*) AS count_1
    FROM (SELECT bill.id AS bill_id, ...
    FROM bill JOIN person ON person.id = bill.payer_id JOIN project ON project.id = person.project_id
    WHERE bill.payer_id = person.id AND person.project_id = project.id AND project.id = %(id_1)s GROUP BY bill.original_currency) AS anon_1]

The problem is that sqlalchemy creates a subquery for postgresql, and the
internal query does not make sense.

GROUP BY is not actually useful, we simply need to count the number of
distinct currencies in the list of bills.
2021-07-10 00:34:43 +02:00
Eugenia Russell
df5d27da50 Translated using Weblate (Greek)
Currently translated at 63.6% (147 of 231 strings)

Co-authored-by: Eugenia Russell <eugenia.russell2019@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/i-hate-money/i-hate-money/el/
Translation: I Hate Money/I Hate Money
2021-07-09 10:05:06 +02:00
Baptiste Jonglez
8b2da3757c Add missing field description from #774 2021-07-09 01:24:29 +02:00
Baptiste Jonglez
42dd2d6f7d Regenerate translation files 2021-07-09 01:20:50 +02:00
Baptiste Jonglez
ec1e6cf26e project edit form: allow empty private code (= no change)
Currently, the private code is mandatory in the edit form, and it's not
clear whether it's meant to **check** for the right private code or to
**change** the private code.

Make the field optional and rename the help message to make it clearer
it's only meant to **change** the private code.

Also change the field type to "password" instead of simple string.
2021-07-09 01:20:50 +02:00
Baptiste Jonglez
856412a70d project forms: Clarify relation between inheriting classes
The save() function is used to create a new project, so it belongs to the
form creation class.

Also clarify overriden form fields.
2021-07-09 01:20:50 +02:00
Baptiste Jonglez
dae7870b12 Fix error message syntax to allow translation extraction 2021-07-07 01:01:00 +02:00