Dan Helfman
6fb7038229
* Implemented all unit tests for new thumbnail() and related methods.
...
* Changed default thumbnail size to ( 125, 125 ) instead of ( 75, 75 ).
2008-04-02 05:34:50 +00:00
Dan Helfman
03f015f99a
* Propsetting a bunch of svn:ignores.
...
* Added a bunch of thumbnail-related methods to controller.Files.
* Modified Files.download() method to redirect to image preview if
requested.
* Implemented image preview to popup full image in a separate window.
* Added empty stubs for relevant unit tests. Still to-do.
* Added new dependency on python-imaging package (PIL).
* Updated file info popup to include clickable thumbnail.
2008-04-01 21:54:43 +00:00
Dan Helfman
276bb9b5bc
Fixing unit test to account for new Html_cleaner tag stripping behavior.
2008-04-01 21:32:01 +00:00
Dan Helfman
3fc9a74591
Additional unit tests for purging file links that have a quote_filename parameter.
2008-03-27 03:48:13 +00:00
Dan Helfman
afe8c1227c
Fixed a bug in which Files.purge_unused() deleted the file for a file link
...
that had a quote_filename parameter.
2008-03-27 02:50:16 +00:00
Dan Helfman
c452408106
Finished remake of signup page. You can now click "signup" for non-free accounts even if you're not logged in.
2008-03-24 22:33:00 +00:00
Dan Helfman
e9d2ea28d1
Began redesign of upgrade/pricing page.
2008-03-22 04:01:21 +00:00
Dan Helfman
2cae1faf2d
Conditionally quoting download filenames based on detected browser.
2008-03-18 22:22:19 +00:00
Dan Helfman
39a9cba457
Fixed a bug that prevented the upload of filenames with special characters
...
in them. In other words, I made controller.Files work better with unicode.
2008-03-18 20:40:39 +00:00
Dan Helfman
49a4c3c72d
Completed unit tests for notebook movement methods.
2008-03-17 22:37:37 +00:00
Dan Helfman
f3b0d563c1
Fixed database transaction leak by wrapping every exposed database-using
...
controller method with a new @end_transaction() decorator. This
decorator is responsible for rolling back unfinished transactions.
2008-03-17 21:17:00 +00:00
Dan Helfman
94a51889f9
Added ability to reorder notebooks on the right side of the page.
...
Need to complete unit tests for controller.Notebooks.move_up() and move_down().
2008-03-15 03:04:59 +00:00
Dan Helfman
68fe84b707
Adding missing unit tests for controller.Root.tour().
2008-03-13 20:45:45 +00:00
Dan Helfman
2b0a9af3e3
Client code now only calls save_note() on the server when necessary, and
...
takes startup flag into account.
Fixed unit test for database cache.
2008-03-07 23:14:39 +00:00
Dan Helfman
21ccc97826
Now using memcached in various places to improve performance. If the Python
...
cmemcache module is not importable, then memcached simply won't be used.
2008-03-05 00:34:58 +00:00
Dan Helfman
3af5af18c5
Changed controller.Users.logout() to not be a JSON method so just hitting the
...
"/users/logout" URL will log you out and redirect you the front page.
Made front page prettier and better at explaining Luminotes (hopefully). The
front page is no longer a wiki, but is instead a mostly static page.
2008-03-01 00:26:06 +00:00
Dan Helfman
dcd40eaa45
Tweaked controller.Files.download() to better handle filenames with weird characters.
2008-02-24 01:01:50 +00:00
Dan Helfman
bb8442bb03
All unit tests passing again.
2008-02-23 23:57:05 +00:00
Dan Helfman
b7e1b26d3b
Unit tests for controller.Files are done!
2008-02-23 23:16:39 +00:00
Dan Helfman
3ed4145ed3
Yet more controller.Files unit tests.
2008-02-23 22:59:36 +00:00
Dan Helfman
4150811d9e
Many more controller.Files unit tests.
2008-02-23 22:17:02 +00:00
Dan Helfman
7b76d6371b
Additional unit tests.
2008-02-23 08:59:39 +00:00
Dan Helfman
3f5d5d2a89
Implemented several unit tests for controller.Files.
2008-02-23 08:14:19 +00:00
Dan Helfman
731dc52623
More work on file uploading. Unit tests need to be fixed.
2008-02-18 20:08:07 +00:00
Dan Helfman
1398e89f96
Wrote initial unit tests for new Files controller. A few more still needed.
2008-02-06 01:34:12 +00:00
Dan Helfman
ffd2d15175
Now, if you delete a notebook and the only remaining notebook is read-only,
...
then a new read-write notebook is created for you automatically. This fixes a
bug where you could delete a notebook and have only a read-only notebook
remaining, thereby having no way to add a new notebook.
2008-01-24 22:02:02 +00:00
Dan Helfman
4fd44700e1
Now tracking conversions for subscriptions.
...
Notes in the trash can no longer be edited. They must be undeleted first.
2008-01-22 20:29:29 +00:00
Dan Helfman
76d5f48fa2
Wrote unit tests for controller.Users.paypal_notify() and thanks() methods.
...
Changed some wording on the thank you page.
2008-01-15 00:36:19 +00:00
Dan Helfman
8f00cceb94
Made upgrade page dynamically generated on the server instead of static html.
...
This allows things like only displaying subscription buttons if you're logged in.
2008-01-10 08:33:19 +00:00
Dan Helfman
7bdc228d09
A user can now revoke their own access. Protecting users from the own
...
stupidity proved too complex and fragile. So now they have the full power to
shoot themselves in the foot.
A user can no longer, however, redeem an invite that they send to themself.
2008-01-06 21:59:22 +00:00
Dan Helfman
2bcbc17172
Feature to preview notebook as viewer or collaborator, so you can see what it
...
will look like to people you share it with.
Hopefully fixed broken demo conversion detection.
2008-01-06 00:12:18 +00:00
Dan Helfman
980ad74e79
When redirected to a note in the main notebook as a result of accessing, for
...
instance, the "/upgrade" URL, your no longer appear to get logged out.
2008-01-05 00:42:50 +00:00
Dan Helfman
9fb0951c16
Unit test for one user saving a note that was created by a different user.
2008-01-04 22:58:20 +00:00
Dan Helfman
5520fe5892
* make a User_revision object containing a revision timestamp, user_id, username
...
* change controller.Notebooks.load_note_revisions() to select and return User_revision objects
* change controller.Notebooks.save_note() to use User_revision objects for new_revision and previous_revision as well
* update client to deal with new load_note_revisions() return values (make sure all uses of revisions_list are updated)
* update client to deal with new new_revision/previous_revision
* update changes pulldown to show username along with each timestamp
* update model.Invite to load redeemed_username along with redeemed_user_id
* display the redeemed username next to each email address in the "share this notebook" note
2008-01-04 04:45:43 +00:00
Dan Helfman
a354eadcbb
When saving a model.Notebook or model.Note to the database, set the user_id field based on the current user.
2008-01-01 01:44:54 +00:00
Dan Helfman
d0d87731d2
* Preventing a user from revoking their own access.
...
* More unit tests for revoking access.
2007-12-30 01:20:38 +00:00
Dan Helfman
05876e2d7e
Another unit test for sending invites.
2007-12-29 20:00:42 +00:00
Dan Helfman
bb1bbb26e1
Unit tests for controller.Users.redeem_invite().
2007-12-28 06:36:57 +00:00
Dan Helfman
f00809955c
* Users.signup(), Users.login(), and Root.default() now support optional invite_id parameter.
...
* Modified Wiki.js to include invite_id parameter when necessary.
* Increased storage quota (and price) for premium rate plan.
* Added a note displayed when redeeming an invite, with links to signup and login.
2007-12-27 22:16:47 +00:00
Dan Helfman
8372b03373
Began work on invite redeeming.
2007-12-18 00:05:13 +00:00
Dan Helfman
4a5aeaed98
Implemented server-side portion of revoke_invite(), so now the UI for revoking invites functions properly.
2007-12-14 01:53:12 +00:00
Dan Helfman
f9b4d41a15
model.Invite.sql_load_similar() should not require from_user_id to be the same.
...
This way, when there are multiple notebook owners, they can get each others' similar invites.
2007-12-13 23:17:24 +00:00
Dan Helfman
36c5ff5b08
Display of current invites now updates when you add new invites.
...
This means that controller.Users.send_invites() now returns a list of current invites.
Added a "new!" to the share link.
2007-12-13 20:26:32 +00:00
Dan Helfman
225167035d
* model.Invite now has a to_dict() method, like other model classes do.
...
* Initial invites are now returned through Main_page() and displayed (but not
yet updated) within the "share this notebook" note.
2007-12-12 00:52:34 +00:00
Dan Helfman
a4a6667642
Demo accounts cannot share their notebook anymore (but free accounts can).
2007-12-11 06:28:56 +00:00
Dan Helfman
52c111895a
Non-paying users can now invite people to their notebook, but only as viewers.
...
Paying users can invite them as viewers, collaborators, or owners.
2007-12-11 02:58:31 +00:00
Dan Helfman
5554b1df17
* Started a static upgrade HTML file with rate plans.
...
* Fixed Invite.sql_update() to have SQL params in proper order.
* Fixed bug where email addresses containing "-" were considered invalid.
* Made UI for inviting other people to your notebook.
* Tweaked the rate plans and added a new one.
2007-12-11 01:15:03 +00:00
Dan Helfman
a615f65d29
Made send_invites() update any similar invites that have already been sent.
2007-12-06 22:05:00 +00:00
Dan Helfman
32fd09b3f7
* Implemented controller.Users.send_invites().
...
* Added some SQL indices to invite table.
2007-12-06 01:32:20 +00:00
Dan Helfman
1cb12f6ae4
Making various notebook/user functions support the new "owner" access flag.
2007-12-04 21:28:03 +00:00