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