Commit graph

52 commits

Author SHA1 Message Date
Alexis Métaireau
5e51808b00 Back to development: 4.1 2019-01-24 13:20:07 +01:00
Alexis Métaireau
c31622b553 Preparing release 4.0 2019-01-24 13:19:00 +01:00
Alexis Métaireau
a4d613984e Prepare release 2019-01-24 13:12:09 +01:00
d55b996170
Do not allow negative weights on users (Fixes #362) (#366) 2019-01-03 13:29:56 +01:00
Byron Ullauri
04adfe4155 Provide basic math operations on bills (#413)
* allow basic math ops in amount field for bills form
* docs: changing compile-translations to build-translations
2019-01-03 10:03:13 +01:00
620596e32c
Add CORS to the API. Fix #404 (#407) 2018-12-25 18:13:58 +01:00
0livd
6ca99a340c Document database migrations
Closes #390
2018-12-25 17:40:06 +01:00
Jocelyn Delalande
04ad5de811 Back to development: 3.1 2018-11-25 19:52:24 +01:00
Jocelyn Delalande
1c8fde40c2 Preparing release 3.0 2018-11-25 19:47:06 +01:00
Jocelyn Delalande
5bd839e176 Add missing Change Log entries and group them
As there is a lot of stuff in « fixed », might be a bit clearer to group them
loosely.

Clean room for next release :-).
2018-10-13 00:57:39 +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
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
Alexis Métaireau
08bcf702b8 Merge branch 'master' into almet/fix-supervisord-template 2018-08-05 14:27:30 +02:00
Alexis Métaireau
9ece687eb0 Update the changelog entry 2018-08-05 14:14:55 +02:00
JocelynDelalande
9caf213e1d Document MySQL setup (#357)
PyMySQL is more difficult to install since its version 0.9 since it now depends
on *cryptography* lib, which in turns depends on OpenSSL and Python dev files.

See https://github.com/PyMySQL/PyMySQL/issues/697
2018-07-17 00:22:23 +02:00
Jocelyn Delalande
026c1ec4aa Add missing ChangeLog entry 2018-07-16 23:00:31 +02:00
Adrien CLERC
26d1e03877 Add changelog entry 2018-06-19 22:35:23 +02:00
Jocelyn Delalande
c3b2af3df3 Back to development: 2.1.1 2018-02-16 23:21:36 +01:00
Jocelyn Delalande
131fe8a8b4 Add missing CHANGELOG and CONTRIBUTORS entries for v2.1 2018-02-16 23:17:45 +01:00
Jocelyn Delalande
b95ea7f4e6 Add statistics support to API 2018-02-07 00:06:08 +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
c24ee6f1c4 Update the CHANGELOG. 2018-01-07 22:46:07 +01:00
f1e2a2d84c Add a changelog entry 2018-01-07 21:43:35 +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
Jocelyn Delalande
8fdf6407eb Back to development: 2.1 2017-12-27 19:10:00 +01:00
Jocelyn Delalande
b9d1a9c450 Preparing release 2.0 2017-12-27 19:09:05 +01:00
Jocelyn Delalande
d00f99b7ef Add missing entry to ChangeLog 2017-12-27 19:04:47 +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
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
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
Jocelyn Delalande
59fc6e0d78 Add an upgrade guide
fix #274
2017-11-01 21:51:47 +01:00
0livd
b94bad829c Use token based auth to reset passwords (#269)
Send a mail containing a password reset
token link instead of sending a clear text
password.

Ref #232
2017-10-26 19:46:34 +02:00
0livd
b4961f646a Add a DockerFile (#272)
Can be used to deploy the latest version from
PyPI in a production environment or from the
master branch in a dev environment.
2017-10-25 23:37:55 +02:00
0livd
293735eca7 Make authentication logic simpler and safer (#270)
* Fixed exposed password in session

The project password was set in clear text
in the session cookie. The cookie payload is
only base64 encoded so it must not be used to
store private information. The password is
simply replaced by a boolean.

* Simplify authentication logic
2017-10-23 23:03:44 +02:00
JocelynDelalande
e3285bef36 Enhance install process by generating config files from templates (#275)
* Add a command to generate configuration examples

Config files are generated from templates (which remplace previous example files).

- solve the issue of hard-to-explain configuration examples
- ease pkg path seeking (avoid it, actually)
- add working defaults for sqlite and unix socket paths (instead of
  /replace/me/path/example)
- move settings comments from default_settings.py to ihatemoney.cfg.j2, as it is
  the one that will be facing user.

* Use generate-config command  in install doc

Also follow the new working defaults of templates for socket and db path.

* Fix doc settings table

On the long term, plaintext tables might destroy humanity.

* Mention templates dir URL in documentation

As requested by @almet
2017-10-23 18:05:50 +02:00
JocelynDelalande
6ccf86919e Normalize changelog (#265)
* Fix RST markup

This was formatted as markdown while this is a .rst

* Mention Issue/PR numbers in ChangeLog

* Rephrase changelog entries to be more succint

And clearer, IMHO.

* Move changes to Changed section.

* Remove redundant entry
2017-09-06 15:01:44 +02:00
0livd
7a918c9349 Enhance the dashboard. (#262)
* Update to a more flexible admin authentication
* Admin can now access any project
* Add delete and edit options in the dashboard
* Add a link to the dashboard in the nav bar

This is a rework of the changes proposed by @Olivd, so they can apply on top of
the latest master without trouble. All credit goes to him for the code.
2017-09-04 15:44:20 +02:00
0livd
2ec4fb589f Add a statistics tab (#257) 2017-08-21 23:51:32 +02:00
0livd
603ac10d6e Turn the WSGI file into a python module (#240)
* Turn the WSGI file into a python module

* Update conf files to use the new wsgi module

Apache and gunicorn now use the same entrypoint

* Update Changelog
2017-06-28 00:04:47 +02:00
0livd
2ad4ef5466 Remove unused option in the setup script (#239)
Additionnal files to be distributed along
with the sources are already specified in
the MANIFEST.in file thus the package_data
entry in the setup script can be safely removed
2017-06-27 23:11:52 +02:00
0livd
a836085448 Use a hashed password for ADMIN_PASSWORD (#236)
* Use a hashed password for ADMIN_PASSWORD

A generate_password_hash manage.py command is provided
Fixes #233

* Print a console warning for users using a clear text ADMIN_PASSWORD

* Reword ADMIN_PASSWORD doc

* Update changelog

* Update CHANGELOG.rst

- say it out loud
- bump to 2.0 (that's the logic of semantic versioning while introducing breaking changes)

* Bump to 2.0 (breaking change)

* Update hashed password warning message

* Mention the generate password hash in the Changelog
2017-06-27 00:16:32 +02:00
Jocelyn Delalande
9dd6a6d18f Back to development: 1.1 2017-06-20 23:00:28 +02:00
Jocelyn Delalande
6f5297660e Preparing release 1.0 2017-06-20 22:46:58 +02:00
JocelynDelalande
d803ddce04 Prepare changelog & contrib list for v1.0 (#222) 2017-06-20 22:33:43 +02:00
Jocelyn Delalande
deff0f8bc3 Back to development: 0.10 2017-04-04 16:04:41 +02:00
Jocelyn Delalande
788c16c497 Preparing release 0.9 2017-04-04 16:04:11 +02:00