aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-02-07Add statistics support to APIJocelyn Delalande4-0/+69
2018-02-07Move member stats computation to a dedicated methodJocelyn Delalande2-14/+21
2018-02-07Change statistics data structureJocelyn Delalande3-35/+35
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-06Remove dead codeJocelyn Delalande1-1/+1
2018-02-04Remove unused CSS odd/even classesJocelyn Delalande3-3/+3
That was forgotten from fe39258630e55d4a3e1297a01a1c8fd39bad3a4e
2018-01-26Display sidebar scroll-bar only if requiredJocelyn Delalande1-1/+2
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-25API: Migrate from flask-rest to flask-restful (#315)0livd6-94/+126
The flask-rest custom json encoder is still needed and thus was added to ihatemoney's utils. Closes #298
2018-01-25Make sidebar scrollable (#316)Richard Coates2-0/+2
* Make sidebar scrollable Make sidebar scrollable. * Update CHANGELOG.rst Fixes #318
2018-01-14Use Jinja2 strict rendering.Alexis Métaireau3-12/+24
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-14Fix the supervisord template.Alexis Métaireau2-2/+4
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-07Merge pull request #308 from ↵JocelynDelalande13-18/+58
spiral-project/almet/fix-template-inclusion-packaging Include all .j2 files in the packaged version.
2018-01-07Update the CHANGELOG.Alexis Métaireau1-1/+1
2018-01-07Merge branch 'almet/fix-template-inclusion-packaging' of ↵Alexis Métaireau4-6/+43
github.com:spiral-project/ihatemoney into almet/fix-template-inclusion-packaging
2018-01-07Add a changelog entryAlexis Métaireau1-1/+4
2018-01-07manage commands testing (#313)JocelynDelalande4-6/+43
* 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-05Do not enforce a check on sha256 hash algorithm.Alexis Métaireau2-1/+2
This makes it inconsistent with our own generated passwords. Only check that the password has been hashed. Fixes #310.
2018-01-05Fix the supervisord template.Alexis Métaireau3-3/+8
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-05Include all .j2 files in the packaged version.Alexis Métaireau8-11/+11
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-05Enable basic auth passthrough for API (#303)donkers1-0/+1
* 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".
2017-12-29Allow to disable/enable member via API (#301)JocelynDelalande2-1/+38
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-27Fix tests layout so that API tests are not ran twiceJocelyn Delalande1-6/+5
Bad inheritance was causing APITestsCase tests to be ran twice.
2017-12-27Back to development: 2.1Jocelyn Delalande2-1/+7
2017-12-27Preparing release 2.0Jocelyn Delalande2-2/+2
2017-12-27Add missing entry to ChangeLogJocelyn Delalande1-0/+1
2017-12-27Merge pull request #299 from spiral-project/fix-duplicate-member-validationJocelynDelalande2-2/+8
Fix duplicate member validation
2017-12-27Silent stderr output during app init for some commands (#293)JocelynDelalande1-0/+12
Avoid confusing the user for the commands outputing text to the user. fix #277
2017-12-27Require flask-rest 1.3 minimum.Alexis Métaireau1-1/+1
Fixes #294
2017-12-27Add tests for #294Alexis Métaireau1-1/+7
2017-12-27Position flash messages with CSS rather than JS (#292)JocelynDelalande2-6/+11
Visual result is exactly the same, but less black magic :-).
2017-12-27 Fix PUT api/project/:code/members/:id (#297)JocelynDelalande3-3/+17
* 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-23Remove un-needed sidebar block (#291)JocelynDelalande1-1/+0
{% 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-22Remove API password (#290)JocelynDelalande3-7/+18
* 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-21Replace some CSS by some JS (#288)JocelynDelalande2-14/+3
2017-12-21Use hashed passwords for projects (#286)0livd8-31/+75
- Remove all occurences of clear text project passwords. - Migrate the database to hash the previously stored passwords. Closes #232
2017-12-21Add missing properties in API docs (#287)JocelynDelalande1-13/+19
* Mention weights in API doc Because this is reality :-) * Mention balance property in API doc Still because this is reality.
2017-12-15Use token based auth in invitation e-mails (#280)0livd13-57/+98
* 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-11-11Fix some typos using codespell (#285)Alexandre Avenel5-6/+6
2017-11-02Add a database revision makefile recipe (#281)0livd1-0/+4
2017-11-01Print out when pip is missing.Alexis Métaireau1-1/+1
2017-11-01Merge pull request #279 from JocelynDelalande/jd-upgrade-docJocelynDelalande4-0/+82
Add an upgrade guide
2017-11-01Add an upgrade guideJocelyn Delalande4-0/+82
fix #274
2017-11-01Parse requirements.txt in setup.py. Fix #273 (#284)Alexis Metaireau2-24/+16
2017-11-01Add some information about Yunohost in the documentation. (#283)Alexis Metaireau1-0/+9
2017-11-01Update installation doc to include doc about production values, fix #266. (#282)Lucas Verney2-6/+28
2017-10-26Use token based auth to reset passwords (#269)0livd15-16/+156
Send a mail containing a password reset token link instead of sending a clear text password. Ref #232
2017-10-25Add a DockerFile (#272)0livd4-1/+93
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-23Make authentication logic simpler and safer (#270)0livd3-38/+30
* 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-23Fix Travis-CI integration (#276)Alexis Metaireau2-7/+13
Use tox-travis to solve the current issues with Travis-CI
2017-10-23Enhance install process by generating config files from templates (#275)JocelynDelalande12-119/+197
* 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-09-07Do not import the whole werkzeug pkg (#271)0livd1-4/+4