Commit graph

63 commits

Author SHA1 Message Date
23a4beafae
Fix form error on already existing participant. (#370)
Fixes #350
2018-09-03 20:59:18 +02:00
bfac0c1978
Sort members alphabetically in the new bill form. (#374)
Fixes #333
2018-09-03 20:58:28 +02:00
c34583d079
Add a ihatemoney delete-project command. (#375) 2018-09-03 20:55:44 +02:00
171dd81ed7
Underline actions links on hover. (#377)
Fix #260
2018-09-03 20:55:25 +02:00
6ab92ddbac
Add a handler when pages aren't found. (#379)
Fixes #356
2018-09-03 20:54:07 +02:00
24e0d8348f
Fix double-click when deleting a bill (#349) (#372)
When double-clicking on the delete button, the first click actually
deletes the bill, and the second click does the same action again. But
as the bill is already deleted, it displays a 404 page which can be
misleading.

This fix makes the app trigger a redirect when the bill seem to doesn't
exist, fixing this strange behaviour.
2018-09-03 20:53:37 +02:00
Benjamin Bouvier
22f8d552c3 Fix error escaping; (#388) 2018-09-03 20:52:48 +02:00
bb77fdbe3e
Simplify a JS function. (#371) 2018-09-03 20:49:30 +02:00
2eafb7260c
Add a favicon.ico route and logo. (#381)
Might fix #255
2018-08-11 00:13:53 +02:00
665dfd5c44
Remove Sentry, as it's not used anymore on prod. (#380)
Fixes #312.
2018-08-11 00:11:00 +02:00
9d76144a83 Fix failing tests (#365)
* Remove unwanted space in utils.py

* Fix email validation when sending invites
2018-08-10 23:04:31 +02:00
Alexis Métaireau
67de8c3b35 Remove unwanted space in utils.py 2018-08-05 15:02:04 +02:00
JocelynDelalande
fc9781b8c0 Enhance translation tooling (#360)
* Add a `make update-translations` command

To collect new strings to be translated from code.

Totally cheated on @Glandos commands :-)

Ref #336
Ref https://github.com/spiral-project/ihatemoney/issues/336#issue-322069517

* Document translation process

Fix #336

* Drop noisy location comments from .po files

Fix #339

* Drop .pot header

As it serves no purpose with our translation workflow.
.po header could be removed also, but pybabel has no option for that.

Ref #339
2018-08-05 14:59:39 +02:00
Glandos
c1b5eb1375 Remove strict_slashes for /
I don't know why, but on my setup (nginx + uwsgi), the `strict_slashes` (default to `True`) was causing an infinite loop.
I think it could be safely removed for this route only.
2018-08-05 14:57:55 +02:00
Alexis Métaireau
633e3543b2 Merge branch 'master' into almet/fix-pbkdf2-check 2018-08-05 14:37:50 +02:00
1d0880f3cb
Merge branch 'master' into almet/fix-supervisord-template 2018-07-16 22:58:48 +02:00
JocelynDelalande
c3f8ddd274 Fix Apache conf template, without relying on environment var (#359)
`python-home` is prefered over `python-path`. It will work with or without
a virtualenv.

See http://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIDaemonProcess.html
2018-07-16 22:55:54 +02:00
Adrien CLERC
a5240fb8a3 compile l10n 2018-06-17 09:49:10 +02:00
Adrien CLERC
893db0bf2c fix fr l10n 2018-06-17 09:48:19 +02:00
Adrien CLERC
0a9d16b40a compile translations to MO 2018-05-15 22:05:42 +02:00
Adrien CLERC
1947a5ae78 update fr l10n 2018-05-15 22:05:06 +02:00
Adrien CLERC
fb31868278 update locales from template with pybabel 2018-05-15 21:47:01 +02:00
Adrien CLERC
74f72a46d5 new extraction with pybabel 2018-05-15 21:45:24 +02:00
Jocelyn Delalande
b95ea7f4e6 Add statistics support to API 2018-02-07 00:06:08 +01:00
Jocelyn Delalande
036cd05e57 Move member stats computation to a dedicated method 2018-02-07 00:01:13 +01:00
Jocelyn Delalande
b1a4572e8c Change statistics data structure
Clearer data structure, and simpler template

This commit has a side effect: sidebar now hides disabled members.

IMHO, the disabled members should either be hidden or shown consistently between
sidebar and central table. Previous status was: shown in sidebar (if balance ≠
0) and hidden in central table.
2018-02-07 00:01:13 +01:00
Jocelyn Delalande
389c7b8bcd Remove dead code 2018-02-06 23:59:46 +01:00
Jocelyn Delalande
cf7bd57248 Remove unused CSS odd/even classes
That was forgotten from fe39258630
2018-02-04 13:12:08 +01:00
Jocelyn Delalande
434ee8b852 Display sidebar scroll-bar only if required
This fix a regression from #316 (scrollbar was displayed all the time).

Note that the padding-bottom value is totally empiric, but proved OK on my Fx
and Chrome instances + some responsive tests. There might be finer solutions,
feel free :-).
2018-01-26 16:18:26 +01: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
Richard Coates
830718e1fe Make sidebar scrollable (#316)
* Make sidebar scrollable

Make sidebar scrollable.

* Update CHANGELOG.rst

Fixes #318
2018-01-25 17:34:37 +01:00
230eafdf58 Use Jinja2 strict rendering.
For this I had to create an Jinja2 explicit environment, so I put a
function in `ihatemoney.utils.create_jinja2_env(strict_rendering=False)`.

When using this environment and if `strict_rendering` is activated,
templates using undefined variables will now error out rather than
failing silently.
2018-01-14 18:37:10 +01:00
0504fd82f5 Fix the supervisord template.
The script was relying on the presence of an environment variable, which
is only set when the virtualenv is activated. But a virtualenv does not
have to be activated to work (it's possible to call the python command
directly).

This fixes it by relying on `sys.executable` which should be correct at
all times.

Fixes #306
2018-01-14 15:55:06 +01:00
JocelynDelalande
2019b398f1 manage commands testing (#313)
* Rename manage.ConfigTemplate → manage.GenerateConfig

To be consistent with the CLI name: `generate-config`.

* Add tests for manage.py commands

* Run tests from pip-installed package

To be able to detect packaging-related issues on test runs.

refs #305
2018-01-07 00:27:42 +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
b581865873 Fix the supervisord template.
The script was relying on the presence of an environment variable, which
is only set when the virtualenv is activated. But a virtualenv does not
have to be activated to work (it's possible to call the python command
directly).

This fixes it by relying on `sys.executable` which should be correct at
all times.

Fixes #306
2018-01-05 22:40:28 +01:00
3b2e11ab63 Include all .j2 files in the packaged version.
I've also renamed the templates to *.j2 in order to make things clearer
to others. Having extensions with the name of the locale doesn't seem to
be a good practice, and would need us to add the locales in the MANIFEST
file each time we add one.

Fix #305
2018-01-05 22:06:11 +01:00
donkers
4ab8863eb2 Enable basic auth passthrough for API (#303)
* Enable basic auth passthrough for API

Added the couple of apache configuration lines necessary to get the basic authentication working for the API.

* Revert the addition of "AuthType Basic"

Did some more testing on my server here and I totally agree, don't need "AuthType Basic".
2018-01-05 12:32:46 +01:00
JocelynDelalande
c002cdbf94 Allow to disable/enable member via API (#301)
Disable was already (kind-of) possible via API via DELETE, but not re-enabling.

Kudos to @almet for helping me fixing that damn BooleanField :-)
2017-12-29 18:07:39 +01:00
Jocelyn Delalande
40e5a833a1 Fix tests layout so that API tests are not ran twice
Bad inheritance was causing APITestsCase tests to be ran twice.
2017-12-27 23:27:41 +01:00
JocelynDelalande
2dd7a0740a
Merge pull request #299 from spiral-project/fix-duplicate-member-validation
Fix duplicate member validation
2017-12-27 19:00:09 +01:00
JocelynDelalande
1c9120e68b Silent stderr output during app init for some commands (#293)
Avoid confusing the user for the commands outputing text to the user.

fix #277
2017-12-27 17:28:18 +01:00
9fea0ffe2c Add tests for #294 2017-12-27 17:06:46 +01:00
JocelynDelalande
f2a53eb1e3 Position flash messages with CSS rather than JS (#292)
Visual result is exactly the same, but less black magic :-).
2017-12-27 16:10:29 +01:00
JocelynDelalande
4d359ce11b Fix PUT api/project/:code/members/:id (#297)
* Fix PUT api/project/:code/members/:id

Before that commit, every PUT *must* change the name of the members, so that was :
- no idempotence,
- no ability to change only weight

fix #295

* Remove redundant comment
2017-12-27 15:58:40 +01:00
JocelynDelalande
0189313c1f Remove un-needed sidebar block (#291)
{% block sidebar %} is used by sidebar_table_layout.html and its children, not by
layout.html nor its direct children.

This is dead code removal.
2017-12-23 01:38:12 +01:00
JocelynDelalande
b65ee59b1b Remove API password (#290)
* Remove the password from API GET responses

While keeping it for POST/PUT.

fix #289

* Add a test to check password change via API
2017-12-22 17:39:48 +01:00
JocelynDelalande
5160dac4a5 Replace some CSS by some JS (#288) 2017-12-21 20:35:18 +01:00
0livd
c6f72e112b Use hashed passwords for projects (#286)
- Remove all occurences of clear text project passwords.
- Migrate the database to hash the previously stored passwords.
Closes #232
2017-12-21 13:57:01 +01:00
0livd
8a68ac0d5b Use token based auth in invitation e-mails (#280)
* Use token based auth in invitation e-mails

Invitation e-mails no longer contain the clear
text project password

* Skip invite page after project creation

- Replace ``The project identifier is demo, remember it!``
by ``Invite other people to join this project!``
(linking to the invite page)
- Encourage users to share the project password via other
communication means in the reminder email
2017-12-15 17:10:28 +01:00