Commit graph

96 commits

Author SHA1 Message Date
Glandos
e2286676f1 Flash messages must be dimissed manually 2021-10-14 00:09:20 +02:00
Glandos
7d9226745f
Change token path authentication to /PROJECT/join/TOKEN (#843) 2021-10-13 22:00:38 +02:00
2bcc41bdb3
Add optional support for a simple CAPTCHA. (#844)
* Add optional support for a simple CAPTCHA.
* formatting
* add test case
* Flake8

Co-authored-by: Glandos <bugs-github@antipoul.fr>
2021-10-11 17:39:24 +02:00
Glandos
bbe00ebb57
Include project code into project authentication token (#802)
Fix #780 

This a breaking change, the API for authentication is different, as it now requires `project_id`. Token is generated with only the project_id (so it's shorter than before), and signature is done by mixing password with secret key. Thus, it expires on every project code change.
2021-10-10 14:43:40 +02:00
Daniel Neto
49abd7fedd Fix #838: Round weight to 2 decimal cases 2021-09-19 19:04:49 +02:00
b933e236ba Update the email template to feel more inclusive. 2021-09-01 22:57:51 +02:00
Baptiste Jonglez
9217360973 Localize month names in the statistics view 2021-07-20 19:42:14 +02:00
Baptiste Jonglez
9444c1099a Display and highlight current language in dropdown list
Currently, we don't display the current language in the list.  This is
confusing because the list changes when switching language.

Now we always display the full list, and we highlight the current
language.
2021-07-18 14:32:09 +02:00
Baptiste Jonglez
82f3f067ef Fix layout of history deletion modals 2021-07-17 13:54:11 +02:00
zorun
439282356c Improve "confirm deletion" behaviour
* add the event listener only once, instead of every time the form is clicked

* use a standard button by default, so that the second state with a
  "danger" button is more visible

* reset confirmation button to original state when losing focus

Co-authored-by: Glandos <bugs-github@antipoul.fr>
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
db982572aa History: also ask for private code to confirm deletion
This is the same idea as deleting a project: deleting history is also a
major destructive action.  We reuse the same form as for project deletion
to ask for the private code and provide CSRF validation.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
969029a811 Add CSRF validation to project history deletion 2021-07-17 13:54:11 +02:00
Baptiste Jonglez
2bb6f2b6a7 Rework project deletion to add CSRF validation
It requires reworking the user interface, but it's probably for the best.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
109d7fca17 Add CSRF validation to most disruptive actions
This also switches all such actions to POST requests.

Deleting the project is handled in another commit because it requires more
changes.
2021-07-17 13:54:11 +02:00
Baptiste Jonglez
078f9e8b6b Fix invalid HTML 2021-07-14 16:10:13 +02:00
Andrew Dickinson
72230448a7
Improve localization on the History page using string replacement (#587) 2021-07-12 22:48:19 +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
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
958a85148f
Navbar change (#739)
* Changed the navbar element spacing to make it look more even.

* Put history and settings in a submenu

Co-authored-by: Joshua <mckerracher@gmail.com>
2021-04-12 21:23:25 +02:00
Mayank Choudhary
6ec7dd6077
Added a page for downloading mobile application (#688)
Fixes #597 
Fixes #697 

Co-authored-by: Glandos <bugs-github@antipoul.fr>
2020-11-24 22:22:46 +01:00
Baptiste Jonglez
8a5193f443 Localize date in the "Added on" tooltip in the list of bills 2020-11-13 21:40:39 +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
zorun
21c193710c
Improve French translation of email templates (#593)
Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
Co-authored-by: Glandos <bugs-github@antipoul.fr>
2020-07-26 13:16:13 +02:00
Abo7atm
909ac7e9d6
Change mobile link icon to point to Play Store (#597) (#598)
* Change mobile link icon to point to Play Store (#597)

* Link mobile app button to correct page (#597)
2020-07-18 00:54:52 +02:00
Glandos
4c8b90b8cc
Rename see to show (#638) 2020-05-30 14:36:50 +02:00
Rajat Singh
8d041fdba3
fixed bug on tool-tip message (#635)
Fix #634
2020-05-25 09:34:44 +02:00
Rajat Singh
638fc5277c
Fix: Change tool-tip message for access code (#623)
Fix #610
2020-05-24 10:08:11 +02:00
Glandos
23ed467d37
Replace currencyformat_nc with currency filter (#625) 2020-05-21 21:31:24 +02:00
Glandos
e10ea6c776
Add a unified balance table for all sidebar pages (#618) 2020-05-21 20:47:56 +02:00
Glandos
ca7c3d5452
use currency format everywhere (#619)
This should unify the number formats, along with #618
2020-05-10 23:05:48 +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
Jojo144
bd1122cc0e
Integrate illustrations as a showcase (#544)
Integrate some custom graphics, and a whole comics explanation, only in French for now.
Fix #363
2020-05-07 22:34:31 +02:00
zorun
795efd6b58
Fix order of participants in the statistics page (#608)
This fixes #607 and add a test case for this bug.

It also renames participants in test cases to avoid alphabetical ordering.

Inserting participants in alphabetical order is a special case, because ordering by ID will be the same as ordering by name. This is a bad idea in test cases, as #607 has shown.
2020-05-04 23:06:35 +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
zorun
c509896b8c
Add support for different categories of "flash alerts" (#594) 2020-04-26 23:17:48 +02:00
zorun
27cac869d3
Fix missing HTML tag (#583) 2020-04-25 14:03:40 +02:00
Rémy HUBSCHER
741e4023b4
Fix last history string. 2020-04-25 13:04:47 +02:00
Rémy HUBSCHER
db47683e4e
Fix history translations. (#580) 2020-04-25 12:44:06 +02:00
Andrew Dickinson
026a072235
Add Project History Page (#553)
Co-Authored-By: Glandos <bugs-github@antipoul.fr>

All project activity can be tracked, using SQLAlchemy-continuum.
IP addresses can optionally be recorded.
2020-04-20 15:30:27 +02:00
eMerzh
03251c090e
merge settings and import to avoid clutter (#550) 2020-04-08 14:00:24 +02:00
bmatt
a8e74c98df
Bmatticus/feature/112 dashboard sorting (#538)
* Added DataTables for table sorting, pagination, and searching of bill_table for dashboard. Issue #112

* Moved datatables CSS/JS to dashboard to reduce loaded data throughout

* Moved link back to proper place, in head tab, but added if to prevent loading CSS/JS for datatables outside of the dashboard. Also added eye icon to drill into list_billa API to be more consistent with the look and feel of the overall site.

Co-authored-by: bmatt <bmatt@nuc01.attlocal.net>
2020-03-06 23:06:17 +01:00
Glandos
5ec3dc0acc
Align tables in statistics (#535)
* Align tables in statistics

The table in sidebar is now aligned with the one in content, to avoid
redundant informations.
All tables are back to normal on small devices.

* fix test

* run black on tests
2020-02-20 09:43:50 +01:00
zorun
9378694034
Paginate the list of bills (#480)
We display 100 bills on each page.  We only show previous/next buttons (at
the top of the view) and the list of pages (at the bottom) if there are
more than one pages.

This uses built-in pagination support from Flask-SQLAlchemy:

  https://flask-sqlalchemy.palletsprojects.com/en/2.x/api/#flask_sqlalchemy.BaseQuery.paginate
  https://flask-sqlalchemy.palletsprojects.com/en/2.x/api/#flask_sqlalchemy.Pagination
2020-02-20 09:43:00 +01:00
Edwin Smulders
02242f2e12
Initial montly expenses (#526) 2020-02-09 13:03:52 +01:00
DavidRThrashJr
bf691660ee
Update forms.html (#531)
Made the html formatting more readable
2020-02-09 13:01:47 +01:00