Commit graph

23 commits

Author SHA1 Message Date
Baptiste Jonglez
e626a1cbea Implement security best practices using Flask-Talisman 2021-10-10 22:06:33 +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
Andrew Dickinson
72230448a7
Improve localization on the History page using string replacement (#587) 2021-07-12 22:48:19 +02:00
Glandos
c62965d4bf fix basic deprecation warnings 2021-06-10 00:09:59 +02:00
Glandos
3f4b47276e Set black target to python3.6 2020-11-25 09:25:36 +01:00
Baptiste Jonglez
914482bc76 Use Flask-Babel to localize datetime in the History Page
By formatting datetime on the server, we get nice localized datetime
strings that are adapted to the currently-selected language.  Example:

- English: "Apr 26, 2020, 3:58:54 PM"
- French: "26 avr. 2020 à 15:58:54"
- German: "26.04.2020, 15:58:54"
- Spanish: "26 abr. 2020 15:58:54"
- Indonesian: "26 Apr 2020 15.58.54"
- Chinese: "2020年4月26日 下午3:58:54"

However, there is a downside: time is not adapted to the user timezone.

The solution is to define a timezone on the server: we use the server OS
timezone by default, and it can be customized through the
BABEL_DEFAULT_TIMEZONE setting.  It's still not ideal, because it assumes
that all users are in the same timezone (the one configured on the server).
2020-11-13 21:40:39 +01:00
Glandos
58e5eca270
update to black 20.8b1 (#676)
Some trailing commas were removed because of some black changes.
2020-08-27 22:09:04 +02:00
Glandos
23ed467d37
Replace currencyformat_nc with currency filter (#625) 2020-05-21 21:31:24 +02:00
Glandos
981edd413a
Improve currencies (#604)
- Rename "No Currency" to ISO4217 "XXX"
- Use Babel to render currency symbols and names in currency lists
- Improve i18n in bill lists

Fix #601
Fix #600
2020-05-07 22:56:17 +02:00
dark0dave
f389c56259
Feature/currencies (#541)
Now each project can have a currency, default to None.
Each bill can use a different currency, and a conversion to project default currency is done on settle.

Fix #512
2020-04-29 22:57:08 +02:00
Rémy HUBSCHER
299c64a48c
Add isort support. (#561) 2020-04-21 13:59:41 +02:00
DavidRThrashJr
72653c0d3a
Added support for multiple API versions (#533)
* Added support for multiple API versions

Note that no changes were made to the api, the code was refactored to allow for new versions of the api to be created down the road.

Here's what this would look like:
+-- api/
    +-- v1/
        +-- __init__.py
        +-- resources.py
    +-- v1_1/
        +-- __init__.py
        +-- resources.py
    +-- v2/
        +-- __init__.py
        +-- resources.py
    +-- __init__.py
    +-- common.py

* reformatted using black

/Users/drthrash/PycharmProjects/ihatemoney/ihatemoney/api/v1/resources.py
reformatted /Users/drthrash/PycharmProjects/ihatemoney/ihatemoney/api/common.py
All done!  🍰 

* Applying fix for unused import in init.py

https://stackoverflow.com/questions/31079047/python-pep8-class-in-init-imported-but-not-used

* Formatting changes recommended by black

All done!  🍰 
1 file reformatted, 22 files left unchanged.
2020-02-20 09:35:03 +01:00
f260a2c9e7 Use black to refomat the files. 2019-10-14 21:20:38 +02:00
21c2ef1775 Enhance pytest support, update ProxyFix import. 2019-10-11 20:52:05 +02:00
Brice Maron
fd49599cc7 Arrange navbar items by functions 2019-08-18 21:37:20 +00:00
6ab92ddbac
Add a handler when pages aren't found. (#379)
Fixes #356
2018-09-03 20:54:07 +02:00
665dfd5c44
Remove Sentry, as it's not used anymore on prod. (#380)
Fixes #312.
2018-08-11 00:11:00 +02:00
Alexis Métaireau
633e3543b2 Merge branch 'master' into almet/fix-pbkdf2-check 2018-08-05 14:37:50 +02:00
0livd
b93ea4830d API: Migrate from flask-rest to flask-restful (#315)
The flask-rest custom json encoder is still needed
and thus was added to ihatemoney's utils.

Closes #298
2018-01-25 17:41:28 +01:00
c3b973b15e Do not enforce a check on sha256 hash algorithm.
This makes it inconsistent with our own generated passwords. Only check
that the password has been hashed.

Fixes #310.
2018-01-05 22:59:12 +01:00
Lucas Verney
0453599752 Update installation doc to include doc about production values, fix #266. (#282) 2017-11-01 01:56:05 +01:00
0livd
ec4a099f18 Protect admin endpoints against brute force attacks (#249)
* Protect admin endpoints against brute force attacks

Add a throttling mechanism to prevent a client brute
forcing the authentication form, based on its ip address
Closes #245

* Reset attempt counters if they get memory hungry
2017-08-20 12:37:12 +02:00
3a4282fd75 Absolute imports & some other improvements (#243)
* Use absolute imports and rename package to ihatemoney
* Add a ihatemoney command
* Factorize application creation logic
* Refactor the tests
* Update the wsgi.py module with the new create_app() function
* Fix some styling thanks to Flake8.
* Automate Flake8 check in the CI.
2017-07-07 00:06:56 +02:00