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
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
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
e13ceaf351
REST API is now able to list stuff \o/
2011-09-13 18:15:07 +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
e0a40a0c7c
display a flash message when an user is coming back
2011-08-22 23:29:10 +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
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
b941248662
add a demo feature (see #16 )
2011-08-21 03:27:59 +02:00
Alexis Metaireau
03bb52f4c1
Do not loop-redirect on authenticate.
2011-08-21 02:23:53 +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
065fe965a0
Add a set_default argument to the get_billform_for function.
2011-08-10 19:47:06 +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
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
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
10642d9ad1
formatting
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
3c5ac5b782
The bills list now only displays the specific bills of the project.
2011-08-09 18:05:55 +02:00
Alexis Metaireau
769bcbf3f1
Makes the computation working.
2011-07-31 23:55:18 +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
87ea045059
Invite people after project creation.
...
Uses the flask-mail extension.
2011-07-30 15:47:26 +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
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