1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ihatemoney_ynh.git synced 2024-09-03 19:26:15 +02:00
Commit graph

255 commits

Author SHA1 Message Date
Alexis Metaireau
97132ce88a Fix some problems related to postgresql and models 2011-10-13 21:27:56 +02:00
Alexis Metaireau
b7ba8e43c4 Coerce the payer choice to int, default is unicode. Fix #33 2011-10-13 21:24:23 +02:00
Alexis Metaireau
fdb75316d6 Coerce the payer choice to int, default is unicode 2011-10-13 20:20:11 +02:00
Alexis Metaireau
5245a1a6c7 Do not prompt the user with a 'prompt()' in javascript when deleting members. Fix #29 2011-10-08 17:13:36 +02:00
Alexis Metaireau
7d9fde0460 Round the balance. Fix #1 2011-10-08 16:43:46 +02:00
Alexis Metaireau
75209aeed0 Add a password recovery feature. Fix #32 2011-10-08 15:52:12 +02:00
Alexis Metaireau
1338653bd2 iclude the edit_project template 2011-10-08 15:12:29 +02:00
Alexis Metaireau
19ae3ab3b2 merge with master 2011-10-08 13:45:05 +02:00
Alexis Metaireau
48bc551853 Complete the REST API + Tests. Fix #27 2011-10-08 13:27:30 +02:00
Arnaud Bos
402dbce153 Merge mistake, my bad
- Restore ProjectForm.password as a PasswordField and not TextField
2011-09-18 23:50:14 +02:00
Arnaud Bos
681f22f3e4 Merge branch 'master' into auth-forms-usability 2011-09-18 23:39:10 +02:00
Alexis Metaireau
20ab40690d Provide a way to edit a project. Fix #17 2011-09-14 22:03:18 +02:00
Alexis Metaireau
5721be1d15 Fix #26. Footer is now relative 2011-09-14 18:22:26 +02:00
Alexis Metaireau
7bf3492961 Merge branch 'master' of github.com:ametaireau/budget-manager 2011-09-14 14:52:17 +02:00
Alexis Metaireau
1b8258a521 Add a test for #23 2011-09-14 14:50:54 +02:00
Arnaud Bos
6212b643ec Simplified #30 fix. 2011-09-14 02:19:10 +02:00
Arnaud Bos
34ccb3546d Validate authentication form if given identifier is null. Fix #30. 2011-09-14 02:07:26 +02:00
Arnaud Bos
89e1bbe134 Make the identifier clearer to the end-user.
- Send an email to the user with the summary of the created project
  containing a reminder of the identifier, password and a link.

- Add flash message with the identifier in the /invite page/

- Add a small note containing the identifier in the upper right corner
  of the project main page.
2011-09-14 01:16:25 +02:00
Alexis Metaireau
b0d41291af API: Create and Update support 2011-09-13 22:58:53 +02:00
Alexis Metaireau
8528526f0b API: set the mimetype on the response 2011-09-13 19:24:48 +02:00
Alexis Metaireau
e13ceaf351 REST API is now able to list stuff \o/ 2011-09-13 18:15:07 +02:00
Alexis Metaireau
a60b0c2b48 add mimetype support to the rest API utils 2011-09-13 11:52:11 +02:00
Alexis Metaireau
d2e2260e52 Add a serialization mechanism 2011-09-13 11:27:36 +02:00
Alexis Metaireau
ef3d761fc7 Add Handlers for members and bills. 2011-09-11 23:00:32 +02:00
Alexis Metaireau
4bb96b28de API first draft: utils. (related to #27)
Introduces the "rest" module, with reusable utils for flask applications (will be packaged as a flask extension later on).
2011-09-11 22:11:36 +02:00
Arnaud Bos
88cd2f8675 Fix #24 on Authentication and New project forms usability.
- Do not display anymore the identifier field in home.

- Let the user enter the id if the slug generated from project name already exists as a project id.

- Moved get_billform_for from 'utils' to 'forms', to avoid issue (was 'from forms import ...' into utils,
  and 'from utils import ...' into forms, which causeed an error).
2011-09-11 05:30:28 +02:00
Alexis Metaireau
ef353d643c Refactor the application to use blueprints.
This allows to isolate some behavior in the context of the web application so
the API and the web application can behave in different ways.
2011-09-09 21:21:37 +02:00
Alexis Metaireau
45dc6edacb Move some logic to the models and add comments. 2011-09-09 19:57:28 +02:00
Alexis Metaireau
801802836a Start working on archive management 2011-09-09 19:14:19 +02:00
Alexis Metaireau
0303ab4db7 Add a way to reactivate an user, make the add project non obstrusive 2011-08-25 18:25:58 +02:00
Alexis Metaireau
3f8cabd5a8 change the color of the font in the main page 2011-08-25 18:25:10 +02:00
Alexis Metaireau
1ccfa8a07d don't display delete link if the user is deactivated 2011-08-22 23:30:48 +02:00
Alexis Metaireau
e0a40a0c7c display a flash message when an user is coming back 2011-08-22 23:29:10 +02:00
Alexis Metaireau
e97d460a4a iterate also on deactivated people, show them if they owe or should receive money 2011-08-22 23:26:49 +02:00
Alexis Metaireau
5550e18cfd Add missing tests. Fixes #14 and #22. 2011-08-22 23:19:00 +02:00
Alexis Metaireau
9eab5be9a3 RequestRedirect uses a HTTP 301. We need 303.
This is mainly because 301 is cacheable whereas 303 (See other) isn't.
The redirect response given by the app when trying to connect to a project
(via /project_name) while not authenticated was to permanently redirect to
/authenticate.

Once authenticated, the browser was redirected to the /project_name, that was
cached, leading to an endless loop.

303 see other allows to solve this problem.
2011-08-21 22:35:01 +02:00
Alexis Metaireau
63777c16bc authentication dance 2011-08-21 22:20:50 +02:00
Alexis Metaireau
16fcfd284e Add a flash message + the name of the site when sending invitations 2011-08-21 21:55:47 +02:00
Alexis Metaireau
929833cc04 put back stuff in the wrong place for now 2011-08-21 21:21:52 +02:00
Alexis Metaireau
ab44f253cd style the send invitations page 2011-08-21 21:16:32 +02:00
Alexis Metaireau
35ea308a26 Fix a weird behavior with tests and databases.
Now all the database during the tests is in memory, created for each test and cleared at the end of the test.
2011-08-21 20:54:20 +02:00
Alexis Metaireau
63a6491001 some more design fixes 2011-08-21 15:09:20 +02:00
Alexis Metaireau
a90959ba70 include bootstrap.css in the files to avoid weird changes in the future, Add a mention about the freedom of the project. Fixes #16 2011-08-21 14:57:05 +02:00
Alexis Metaireau
b941248662 add a demo feature (see #16) 2011-08-21 03:27:59 +02:00
Alexis Metaireau
5be9b2a0ce wording 2011-08-21 03:19:20 +02:00
Alexis Metaireau
85549cc98d graph some stuff from the spiral website 2011-08-21 03:16:54 +02:00
Alexis Metaireau
a6825cdcb7 styling & usability 2011-08-21 02:37:15 +02:00
Alexis Metaireau
03bb52f4c1 Do not loop-redirect on authenticate. 2011-08-21 02:23:53 +02:00
Alexis Metaireau
d584391929 minor styling changes (homepage) 2011-08-21 02:23:48 +02:00
Alexis Metaireau
2fdc86136d minor changes to the homepage 2011-08-21 01:50:35 +02:00
Alexis Metaireau
7d60bee0ef Re-design (Fixes #19) 2011-08-21 01:42:10 +02:00
Alexis Metaireau
95fb9bbbfd Add the project to the local context even if it is already in session. 2011-08-20 00:28:58 +02:00
Alexis Metaireau
3c4d87ae52 forgot to commit changes to web.py 2011-08-20 00:24:00 +02:00
Alexis Metaireau
28a3abf96d No need anymore to pass the project_id to the urls.
The project is now directly added to the context local g object, and injected on the fly into the urls that need it.

This commits also add ideas found while reading the flask documentation. The project can be enhanced in many ways, some ideas are stated there.
2011-08-19 23:44:54 +02:00
Alexis Metaireau
402d756bf1 Make flash messages go away after 2 seconds. 2011-08-10 23:55:07 +02:00
Alexis Metaireau
065fe965a0 Add a set_default argument to the get_billform_for function. 2011-08-10 19:47:06 +02:00
Alexis Metaireau
67350e7acc Add some simple javascript for usability.
* Ask confirmation before deleting an user
* Display the form when clicking on the add bill button
* Only show the delete button (for users) on mouse over.
2011-08-10 19:23:54 +02:00
Alexis Metaireau
822058b251 Add some more tests about membership. (#14)
Fixes #15 as invalid: deactivated users are not listed on the bill form or on the balance.
2011-08-10 17:49:35 +02:00
Alexis Metaireau
683c7ee0b8 Add tests about project creation and member add.
See #14
2011-08-10 17:07:23 +02:00
Frédéric Sureau
325b098345 Margin added between the add bill button and the bill list. 2011-08-10 13:16:46 +02:00
Frédéric Sureau
8a79f2d00c The delete bill feature has been fixed. #6 2011-08-10 13:05:01 +02:00
Frédéric Sureau
922bf769f9 It is now possible to edit existing bills. 2011-08-10 12:59:30 +02:00
Frédéric Sureau
af2ca220a7 Automatically select all members of the 'payed for' field when adding a bill. 2011-08-10 10:48:14 +02:00
Frédéric Sureau
7ee2e74969 Changed 'for' value of checkboxes labels when adding a bill. This is now possible to check the correct box when you click on the label. 2011-08-10 10:28:41 +02:00
Alexis Metaireau
98f9d96a27 Fixes various typos. 2011-08-10 01:05:25 +02:00
Alexis Metaireau
5c44e495b7 get ready for production, baby :) 2011-08-10 00:53:15 +02:00
Alexis Metaireau
8050defa8f remove the debug route for production 2011-08-10 00:47:50 +02:00
Alexis Metaireau
0b180a7e9a use checkboxes rather than select multiple. Fixes #10 2011-08-10 00:20:16 +02:00
Alexis Metaireau
04fa8d5b02 Styling stuff. Fixes #9 (Adds a menu) 2011-08-09 23:49:44 +02:00
Alexis Metaireau
10642d9ad1 formatting 2011-08-09 23:49:44 +02:00
Alexis Metaireau
cdc6f2e1c4 Add tests to make test that invitations are sent.
Fixes #7
2011-08-09 23:49:44 +02:00
Alexis Metaireau
bdbc6361b9 fixes authentication (#9) 2011-08-09 23:49:44 +02:00
Alexis Metaireau
78914962ed Add tests about sending notifications. #7 2011-08-09 23:49:44 +02:00
Alexis Metaireau
4b08af56f8 Do not redirect users to the creation form when they are trying to log in.
Fixes #9
2011-08-09 23:49:44 +02:00
Frédéric Sureau
0e5bab13af Users are deleted when no bill is assigned to them. Fixes #5 2011-08-09 19:34:46 +02:00
Frédéric Sureau
cb05727ec3 We now are able to set the date when adding a bill. 2011-08-09 18:28:48 +02:00
Frédéric Sureau
3c5ac5b782 The bills list now only displays the specific bills of the project. 2011-08-09 18:05:55 +02:00
Frédéric Sureau
efb9d8942c Corrected typo on home page 2011-08-09 17:26:57 +02:00
Frédéric Sureau
1c33248e72 Updated header label in the bills list. 2011-08-05 17:05:33 +02:00
Frédéric Sureau
e6def5587a Changed password field type in authentication form. 2011-08-05 16:44:31 +02:00
Frédéric Sureau
410c4596df Error display changed. 2011-08-05 16:42:43 +02:00
Frédéric Sureau
4e24edd5c9 Submit button label changed in project creation form 2011-08-05 16:12:02 +02:00
Frédéric Sureau
f4da4d9a33 Changing submit buttons display 2011-08-05 16:10:21 +02:00
Alexis Metaireau
769bcbf3f1 Makes the computation working. 2011-07-31 23:55:18 +02:00
Alexis Metaireau
548101d8bb Some more theming and fixes. 2011-07-31 23:55:02 +02:00
Alexis Metaireau
37be0f4fa1 Theming.
Uses uni-form to style forms and add a macro to ease this.
Of course, the overall thing has to be reworked, but having this in place will
help us to have something easier to change when we will really care about design.

All the form templates can now be defined in templates/forms.html and be called
thansk to {{ forms.name_of_the_form(form) }}.

I've done some styling, but that's really not my thing, feel free to modify it.
2011-07-31 16:33:29 +02:00
Alexis Metaireau
3417a5a7d4 List the projects in session into the home page.
This allows easier access when people don't remembre the name / url of their projects.
2011-07-31 00:53:12 +02:00
Alexis Metaireau
2df6e11f05 Adding a bill is now working properly 2011-07-31 00:41:28 +02:00
Alexis Metaireau
ea136b506b List existing sessions on the home.
Also factorize the code to display errors in forms.
2011-07-30 15:47:51 +02:00
Alexis Metaireau
87ea045059 Invite people after project creation.
Uses the flask-mail extension.
2011-07-30 15:47:26 +02:00
Alexis Metaireau
e214b39b44 Fixes an unwanted error "user already exists".
Doing a query with an AND SQL statement needs to be done with multiple "filter" callswith SQLAlchemy.

Here, we want to be sure that the username is not used AND that the project is the same than the eventual users that would match. The previous version of the code returned an user with the same name, even if the user wasn't in the right group.
2011-07-30 01:51:13 +02:00
Alexis Metaireau
ab305ccbc6 Put back the old version of authenticate.
(Fred, is there a reason why you're using form.id.validate()? Doesn't seem to be defined in here.

Also properly deletes the session using session.clear rather than session = None.
As session is an observable object, if it is updated to None, the session will *not* be invalided at the end of the request. Instead, you have to call clear() which will clear its members so the cookie will be updated accordingly at the end of the request.
2011-07-30 01:32:55 +02:00
Alexis Metaireau
0fc95cefb4 Add templates to add a member. 2011-07-30 01:31:56 +02:00
Alexis Metaireau
fcf33e9fdb Uses blueprint classes rather than floats. 2011-07-30 01:31:14 +02:00
Frédéric Sureau
e9b9a06779 Adding bill works 2011-07-29 17:14:33 +02:00
Frédéric Sureau
8dd2091f31 Homepage created and project authentication refactored 2011-07-29 15:44:15 +02:00
Frédéric Sureau
c7f9df9859 Check project id before authentication 2011-07-26 16:03:00 +02:00
Alexis Metaireau
a3b49a231f Manage users creation 2011-07-23 20:36:13 +02:00
Alexis Metaireau
f09d86a06c Project creation. 2011-07-23 19:11:24 +02:00
Alexis Metaireau
5e63a5034b Split the logic into different python modules:
* web.py contains the controllers (also called views) + url definitions
* models.py contains the models
* forms.py contains the forms
* utils.py contains a set of utility fonctions to ease the dev. process
2011-07-23 18:45:40 +02:00
Alexis Metaireau
4fcaf7d7ec Kick-start multiple projects support.
This commit adds:
* support for projects (creation not yet finished)
* an authentication mechanism
* bugs (basically all the features are not working anymore)
2011-07-23 15:54:23 +02:00
Alexis Metaireau
54de7abf23 add a delete feature 2011-03-18 19:44:40 +00:00
Alexis Metaireau
03ce000e9a fix typos 2011-03-12 20:57:22 +00:00
Alexis Metaireau
dce104a183 add a confirmation button 2011-03-10 20:12:52 +00:00
Alexis Metaireau
de708ce3ef reshape the folder structure. Add conf files 2011-03-10 17:32:53 +00:00