Commit graph

1147 commits

Author SHA1 Message Date
Baptiste Jonglez
7e6776403f Update dependencies for Flask 2 compatibility 2021-07-14 11:22:03 +02:00
Baptiste Jonglez
48cc73b756 CI: Add variant with minimal versions of all dependencies 2021-07-14 11:22:03 +02:00
Baptiste Jonglez
d557119762 Don't constrain the version of psycopg2 2021-07-14 11:22:03 +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
Glandos
31a9ed29f6 bump pymysql upper bound 2021-07-12 23:42:31 +02:00
dependabot[bot]
288bde2ad8 Bump sphinx from 4.0.3 to 4.1.0
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.0.3 to 4.1.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.0.3...v4.1.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 23:31:15 +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
98c30f0914 bump minimal WTForms version 2021-07-10 10:22:16 +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
dependabot[bot]
f7ae02546e Bump sphinx from 4.0.2 to 4.0.3
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.0.2...v4.0.3)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-07 22:35:21 +02:00
Baptiste Jonglez
dae7870b12 Fix error message syntax to allow translation extraction 2021-07-07 01:01:00 +02:00
Glandos
07b86bc580
Rework currency switching (#661)
Co-authored-by: Alexis Métaireau <alexis@notmyidea.org>

Currency switching is both simpler and less powerful. This was done primarily for users, to have a clear and logical understanding, but the code is also simpler. The main change is that it is now forbidden to switch a project to "no currency" if bills don't share the same currency.

Also, tests assume that projects are created without currency, as in the web UI.
2021-07-06 21:51:32 +02:00
Glandos
fec5a82b0c
Create SECURITY.md 2021-07-06 21:41:49 +02:00
Baptiste Jonglez
def6dba825 Replace MySQL by MariaDB in all documentation / README / changelog
Also document the new requirement for MariaDB >= 10.3.2

Fixes: #632
Fixes: #743
2021-07-05 08:52:13 +02:00
Baptiste Jonglez
477fc20cd4 Update Jinja dependency to >= 3.0
This is necessary since c62965d4bf ("fix basic deprecation warnings")
2021-07-04 12:52:21 +02:00
Glandos
25c42d36eb
Update README.rst
Badge to GitHub Actions instead of the dead Travis
2021-06-26 23:05:29 +02:00
Glandos
f9756cc87d
Update and rename python-package.yml to test-docs.yml 2021-06-26 23:03:32 +02:00
Eugenia Russell
6f662e9dae Translated using Weblate (Greek)
Currently translated at 63.2% (146 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-06-24 23:00:00 +02:00
Glandos
27c5a5f102
Run Lint & Docs 2021-06-23 22:58:24 +02:00
Glandos
45f672b3cd
First test of github actions 2021-06-23 22:49:55 +02:00
Glandos
27d95f2d01 fix flake8 2021-06-10 00:09:59 +02:00
Glandos
c62965d4bf fix basic deprecation warnings 2021-06-10 00:09:59 +02:00
Glandos
44fa1af375 change method to find login_throttler
that was triggering a lot of deprecation warnings due to
iterating over all known objects.
2021-06-10 00:09:59 +02:00
Glandos
69a1ad6685 Adapt code for https://github.com/wtforms/wtforms/pull/568 2021-06-09 23:38:05 +02:00
Glandos
6c43ffaac4 Adapt code for https://github.com/wtforms/wtforms/pull/288 2021-06-09 23:38:05 +02:00
Glandos
901522e8e7 Upgrade WTForms to <2.4 2021-06-09 23:38:05 +02:00
dependabot[bot]
7f695ca25a Update jinja2 requirement from ~=2.11 to >=2.11,<4.0
Updates the requirements on [jinja2](https://github.com/pallets/jinja) to permit the latest version.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.11.0...3.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 23:22:12 +02:00
Glandos
859aa8fb1e
Fix test for generate_hash_password (#766)
Use the function that check password instead of just checking the output length. This length can be variable and will change with Werkzeug 2
2021-06-07 23:11:38 +02:00
dependabot[bot]
3894f1568a Update flask-migrate requirement from <3,>=2.5.3 to >=2.5.3,<4
Updates the requirements on [flask-migrate](https://github.com/miguelgrinberg/flask-migrate) to permit the latest version.
- [Release notes](https://github.com/miguelgrinberg/flask-migrate/releases)
- [Changelog](https://github.com/miguelgrinberg/Flask-Migrate/blob/main/CHANGES.md)
- [Commits](https://github.com/miguelgrinberg/flask-migrate/compare/v2.5.3...v3.0.1)

---
updated-dependencies:
- dependency-name: flask-migrate
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-06 15:26:01 +02:00
Glandos
74e222f1a1 remove usage of Flask-Script
Use flask.cli instead with compatibility layer for existing commands,
such as "runserver".
2021-06-06 15:13:21 +02:00
dependabot[bot]
eff871e83c Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0
Updates the requirements on [itsdangerous](https://github.com/pallets/itsdangerous) to permit the latest version.
- [Release notes](https://github.com/pallets/itsdangerous/releases)
- [Changelog](https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/itsdangerous/compare/1.1.0...2.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-03 23:11:48 +02:00
dependabot[bot]
63fe3ed45b Update flask requirement from ~=1.1 to >=1.1,<3.0
Updates the requirements on [flask](https://github.com/pallets/flask) to permit the latest version.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/1.1.0...2.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-03 22:54:30 +02:00
dependabot[bot]
9f029d52ca Bump sphinx from 3.5.3 to 4.0.2
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 3.5.3 to 4.0.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/commits/v4.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-03 22:45:14 +02:00