witten
/
luminotes
Archived
1
0
Fork 0
Commit Graph

114 Commits

Author SHA1 Message Date
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 05279d2c8e Only owners of a notebook should get a list of its invites. 2007-12-12 06:15:15 +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
Dan Helfman af3bf3c51c Improving error reporting and completing 1.0.2. 2007-11-28 19:17:13 +00:00
Dan Helfman 0152b49475 Refactored the way note summaries are created in the link pulldown window. 2007-11-27 21:28:25 +00:00
Dan Helfman 45f94aa188 Deleting a notebook forever now updates the user's storage usage accordingly. 2007-11-19 22:03:04 +00:00
Dan Helfman bffe9e2f3b Exclude deleted notebooks in various places. 2007-11-17 23:57:30 +00:00
Dan Helfman 517e4d4925 Add strongly expire to default(). 2007-11-17 23:45:18 +00:00
Dan Helfman eec5ef6411 Implemented delete forever for notebooks. And unit tests! 2007-11-17 23:29:22 +00:00
Dan Helfman 7bd83199a1 Almost done with notebook deletion/undeletion. Just need to implement delete forever. 2007-11-17 22:55:13 +00:00
Dan Helfman cdd971780e Began work on notebook deletion and subsequent undo/undeletion.
Changed schema slightly to support this.
Added a schema delta file and wrote an UPGRADE doc with info on how to upgrade schemas.
2007-11-17 04:21:48 +00:00
Dan Helfman fc2ab3800b Fixing broken unit tests due to rename change. 2007-11-16 00:35:24 +00:00
Dan Helfman c1b4a58f65 Adding a new notebook now puts you directly into renaming it. 2007-11-15 23:46:30 +00:00
Dan Helfman 3b2462eff3 Not allowing "trash" as a new name when you rename a notebook.
Not allowing renaming of the actual trash notebook.
Not showing "add new notebook" link when anonymous user.
2007-11-15 22:55:57 +00:00
Dan Helfman b22c784d39 Can now create and rename notebooks. Still need to implement deletion and some other niceties. 2007-11-15 01:30:45 +00:00
Dan Helfman ebd427d667 Make privacy policy accessible from sane URL. 2007-11-13 00:59:19 +00:00
Dan Helfman c31856b40b Added some code to support Google's conversion tracking. 2007-11-12 10:51:31 +00:00
Dan Helfman f2721be076 Basic rss feed for blog. 2007-11-10 03:57:27 +00:00
Dan Helfman 44a1cb79c2 Added basic multipage navigation to blog.
Made name of notebook link at the top of the page better for "special" Luminotes notebooks.
2007-11-10 01:46:56 +00:00
Dan Helfman 3b7a5422ac Fixing blog and guide not showing user correctly. 2007-11-07 00:23:58 +00:00
Dan Helfman 7552157865 Handy way to load the user's guide. 2007-11-06 22:42:53 +00:00
Dan Helfman 2831d56db5 Email address is now completely optional during signup. 2007-11-04 19:09:48 +00:00
Dan Helfman 88dd396feb Fix for: I get "that note is in the trash" error when clicking on an old
revision of a note that's not in the trash. This is because that particular
revision of the note represents when the note used to be in the trash (because
it was previously deleted).
2007-11-03 08:15:39 +00:00
Dan Helfman 37e886f27c Revamped searching to use PostgreSQL's tsearch2 full-text searching. 2007-11-02 20:19:53 +00:00
Dan Helfman f7de4c9e94 Now emailing tracebacks to support email address. 2007-10-31 23:33:09 +00:00
Dan Helfman ad58956f34 Some early work in support of a reverse chronological order view of a notebook, useful for a blog. 2007-10-30 23:05:46 +00:00
Dan Helfman 84283f524e If you click on a link for a note that's in the trash, you just get a message telling you so, with a button to undelete the note. 2007-10-22 23:17:56 +00:00
Dan Helfman 28835e5850 Strip newlines before comparing contents of a note to see if it's been altered. 2007-10-22 21:20:20 +00:00
Dan Helfman 27a6a06c91 Display a realtime count of total notes next to the "all notes" link. 2007-10-19 20:24:16 +00:00
Dan Helfman d7ee122efb * Altered password reset URL path to start with /r/
* Made notes in the main notebook accessable by title at root URLs. So you can get to the "sign up" note at the /sign_up URL.
2007-10-17 07:53:42 +00:00
Dan Helfman 218fe3995c Bug fix. Repro: Try making a link to a note that doesn't exist yet, then click
on the link. Delete the new note. Then go back to the first message, and click
after the link, so the link's pulldown shows. You'll get this error message:
"Sorry, you don't have access to do that."

The fix was to look for the cases when the deleted note is either in the trash
or deleted "forever", and then return None for the note value (instead of just
raising an Access_error).
2007-10-17 01:47:46 +00:00
Dan Helfman 613ee8a217 Completely revamped the way the main page and the notes on it are loaded by
the client. Previously, the main page would load as mostly blank, then the
client would immediately issue two async json calls to load the user and
notebook data, including startup notes. Now, the main page loads with the note
data actually as part of the page. If JavaScript is off, then you see all the
notes displayed, including startup notes and any designated note. If
JavaScript is on, then those "static" notes are instantly hidden and their
contents are loaded into iframes for editing/display.

The real upshot is that Luminotes in read-only mode is now more useful when
JavaScript is off, and actually displays notes and their contents. This is
very useful for search engine indexing.

Updated all Python unit tests. Still have to get to JavaScript unit tests,
what few their are.
2007-10-16 21:37:12 +00:00
Dan Helfman 322134cba6 Password reset now stores and uses a revision timestamp, which helps when testing for expiry. 2007-10-11 20:18:20 +00:00
Dan Helfman bbebad528e Renaming new_model to model, now that the old bsddb model is out of the way. 2007-10-11 19:49:00 +00:00
Dan Helfman 17ad869635 Old model no longer needed now that all databases are convered to PostgreSQL. 2007-10-11 19:45:46 +00:00