Archived
1
0
Commit Graph

436 Commits

Author SHA1 Message Date
Dan Helfman
d8c58e5f5d Fixed a bug where clicking the link for an updated note in an RSS feed did not properly redirect to that note after login. 2008-07-25 17:05:13 -07:00
Dan Helfman
9d2f0d344d When you invite other people to view or edit your notebook, you can now see the invite link they'll get. 2008-07-18 15:01:09 -07:00
Dan Helfman
f5f54738f3 Can now tab/shift-tab when suggest_pulldown is "open" but invisible. 2008-07-12 14:24:23 -07:00
Dan Helfman
7e519a202f Fixed a bug in which pressing tab/shift-tab when a suggest pulldown was open caused the current text to indent/outdent.
Now, tab/shift-tab only cause indent/outdent when there is no suggest pulldown.
2008-07-12 14:24:00 -07:00
Dan Helfman
1940929090 Wording change. 2008-07-11 17:12:52 -07:00
Dan Helfman
87d57ad7c1 ".. changes have overwritten changes made in another window by" message changed to support blank usernames (demo accounts). 2008-07-11 15:02:28 -07:00
Dan Helfman
a2c9cc2fa9 Display a different revert message if nothing was actually changed. 2008-07-11 14:45:20 -07:00
Dan Helfman
3153492086 Basic note reverting now works. 2008-07-11 14:41:48 -07:00
Dan Helfman
7f1a644a61 Possibly fixed a bug in which the displayed suggestions sometimes did not
reflect the most recent characters typed.
2008-07-07 15:49:01 -07:00
Dan Helfman
6ac620beb0 Fixed a bug in which clicking a note title suggestion from within the link info title field sometimes didn't update the link properly.
This was due to a race condition between the link info pulldown's
onblur/onchange handler and the suggestion onclick handler, both of which
tried to update the link, title, and summary at about the same time.
2008-07-07 15:38:16 -07:00
Dan Helfman
94b53832d5 Fixed bug in which tab/shift-tab for indending/outdenting nested lists no
longer worked, and in the process made it work in IE as well (which it
never has).
2008-07-03 16:56:17 -07:00
Dan Helfman
333e90459d Suggest-as-you-type now works for the search field as well. 2008-06-29 22:26:08 -07:00
Dan Helfman
e2d8fe8ae4 Selecting a suggestion within the link pulldown no longer causes Editor.end_link() to be called. 2008-06-29 20:38:37 -07:00
Dan Helfman
6163ee0f63 Added suggest-as-you-type feature to link pulldown's title field. 2008-06-29 20:32:13 -07:00
Dan Helfman
634b095177 When using custom backspace code in IE, don't require that we're in a
link. This means that if you're at the end of the link but not in link
mode, the custom backspace code is still used.
2008-06-29 15:25:09 -07:00
Dan Helfman
94647c4887 Backspacing at the end of a link in IE no longer ends the link.
Fixed a bug where typing a space within a link in IE caused the space to be added to the end of the link.
2008-06-29 15:19:59 -07:00
Dan Helfman
7e9a5171f3 Factored out some Suggest_pulldown up/down/ handler stuff to separate functions. 2008-06-29 13:53:49 -07:00
Dan Helfman
3951d147b3 Now can use tab and shift-tab in Suggest_pulldown, as alternative to down and up keys. 2008-06-29 13:13:20 -07:00
Dan Helfman
fe139cc749 First pass for suggest-as-you-type for linking. 2008-06-27 16:11:09 -07:00
Dan Helfman
599971ba01 When linking to a note by title, the note resolution is now
case-insensitive instead of case-sensitive.
2008-06-25 20:04:06 -07:00
Dan Helfman
708de3b7e7 Reorganized and renamed some notebook links on the right side of the page. 2008-06-23 12:56:03 -07:00
Dan Helfman
cf7cdefd28 Replaced "add new notebook" link with new notebook button next to
"notebooks" heading.
2008-06-21 22:13:52 -07:00
Dan Helfman
41a85bb41f You can now resize embedded images (small, medium, or large).
Fixed a bug that potentially caused link pulldowns to open in the wrong
location when the page was scrolled past the top.
2008-06-18 17:14:07 -07:00
Dan Helfman
f7626d985c Fixed a bug that caused image files to get deleted if there were multiple images embedded within a single note.
Prevented a link pulldown from auto-opening by hovering if another pulldown is already open.
2008-06-16 16:22:50 -07:00
Dan Helfman
cfc1c18a55 Tweaked the popup positioning code to prevent popups from getting smashed into the right side of the page. Removed (broken) images from downloaded HTML. 2008-06-16 15:07:17 -07:00
Dan Helfman
4bbebc4400 Fixed display of image justification controls IE. Made justification default back to left when unchecking embed checkbox. 2008-06-16 13:42:52 -07:00
Dan Helfman
dbf9dda2a0 Can now left, center, or right justify embedded images. 2008-06-13 23:26:48 -07:00
Dan Helfman
522f8b9330 Implemented support for embedded images within wiki notes. Also added hover support to open link pulldowns. 2008-06-13 15:55:19 -07:00
Dan Helfman
51ccb41fd0 Fix for a bug in which "toolbar/small/undefined_button.png" was being loaded from the login page.
The solution is to bail from update_toolbar() on read-only notebooks.
2008-06-09 13:32:27 -07:00
71a3b29709 When not a member of any groups, show that as an indented div instead of a list item. 2008-06-06 14:49:28 -07:00
a8a6070da0 Implemented controller.users.signup_group_member().
Modified UI code to call this method correctly and display results.
Split generic user signup functionality out into a separate private method.
2008-06-06 14:46:29 -07:00
0e51e461fa New controller.Users.remove_group() method to remove a user's group membership. 2008-06-03 20:19:07 -07:00
32d160d6eb Fleshed out more of the group admin UI. 2008-06-03 16:12:35 -07:00
32e6828c90 Completed basic group user listing. This includes a new group admin settings note. 2008-06-02 19:53:39 -07:00
23f0cbe781 Fixed broken account settings form submission. 2008-06-02 14:19:34 -07:00
cf10cf8c82 Refactored some of the client-side form-handling code to cut down on
special-case hacks.
2008-06-02 14:16:35 -07:00
3f2c51e338 Fixed mouse click handling brokenness introduced by 03b6a15e86e1. Also Beginning to phase out special-case hack for form submission. 2008-05-30 17:10:57 -07:00
79fe7245b6 Removing comma to make IE happy. 2008-05-30 15:48:02 -07:00
3c96f6ba8f Displaying group membership with (non-working) links for each group with admin access. 2008-05-30 15:25:12 -07:00
df3d170362 View groups that you're a member of, with an indicatation if you're an admin of that group.
- modify controller.Users.current() to return the user's groups
    - update test_current() unit tests to expect empty groups list in results
  - modify Main_page, Notebook_rss, Front_page, Tour_page, and Upgrade_page to accept a new groups parameter
    - Main_page should add it as a hidden HTML variable
  - update Wiki.js to read the hidden groups variable and display the groups in account settings
2008-05-28 16:05:38 -07:00
Dan Helfman
694dc2eaba Removed key binding for title button (ctrl-T), since it was interfering
with tab opening in Firefox.
2008-05-27 13:38:10 -07:00
Dan Helfman
ca61369963 Fix for bug where read-write notebooks that the anonymous user had
read-only access to would show up as read-only, even when logged in.
2008-05-20 00:51:23 -07:00
Dan Helfman
02a3544590 Search result now return notes from multiple notebooks.
- change model.Notebook.sql_search_notes() to be a static method
   - take a first_notebook_id argument and a user_id argument
   - join user_notebook on notebook_id and matches on user_notebook.user_id instead of notebook_id
   - order by notebook_id = first_notebook desc, rank instead of just rank
   - include search result for notebooks readable by anonymous user, but only if such a notebook is given as first_notebook_id
 - update code that calls model.Notebook.sql_search_notes()
 - update model.Note.to_dict() to include notebook_id
 - modify Wiki.display_search_results()
   - separate search results for the current notebook and results for all other notebooks
   - indicate which notebook each result is from
   - if there are results in other notebooks but no results in the current notebook, indicate that clearly
   - when you click on a result note link in the current notebook, it should simply open a new note
   - when you click on a result note link in another notebook, it should open in a new window
 - test in IE
 - update unit tests for:
   - controller.Notebooks.search()
   - model.Notebook.sql_search_notes()
   - model.Note.to_dict()
2008-05-19 15:16:25 -07:00
Dan Helfman
8389eae2e5 Expanded workaround for IE iframe positioning bug to include IE 7 and not just 6. 2008-05-18 01:43:20 -07:00
Dan Helfman
99c32fa120 Improved the detection of whether an existing note has been altered.
* Using the browser's tweaked version of the initial HTML, instead of the HTML that we tell the browser to use.
 * Improved normalize_html() function to handle more cases.
 * Added start_dirty flag to Editor() constructor and made use of it for completely new notes.
2008-05-18 01:07:15 -07:00
Dan Helfman
8f08927692 Fixed a bug where the toolbar didn't auto-resize if there were no
notes open.
2008-05-14 08:00:51 +00:00
Dan Helfman
507e8412da New strikethrough toolbar button. 2008-05-14 00:07:02 +00:00
Dan Helfman
c9814075fa Added timed autosave. 2008-05-13 22:52:20 +00:00
Dan Helfman
2a542999c5 * In development mode, disable session filter for static files. This may
prevent some session deadlock errors.
 * Fixed some bugs with the new auto-resizing toolbar:
   * In IE 6/7, when you click on a formatting button such as italics, it
     doesn't visibly depress, because update_toolbar() is causing it to
     unpress until you start typing the italic text. Fixed by only calling
     update_toolbar() in focused_editor() if focused_editor is null.
   * When downing or upping a toolbar button, now calling
     resize_toolbar_button() unconditionally.
2008-05-13 04:02:31 +00:00
Dan Helfman
5d38e917f6 * Created different sizes of toolbar buttons.
* Made the toolbar auto-resize based on browser window size.
2008-05-12 23:27:42 +00:00
Dan Helfman
0323f6bc91 Passing new yearly parameter to main page. 2008-05-08 19:29:11 +00:00
Dan Helfman
a4eecfaa65 No longer showing "settings" link unless you're viewing your wiki.
In account settings note, now showing link to upgrade/downgrade/cancel.
2008-05-08 03:37:24 +00:00
Dan Helfman
18982dc129 Implemented basic user account settings. Now you can change your email
address.
2008-05-08 03:05:35 +00:00
Dan Helfman
668c782781 Bug fix: flag a note as "show on startup". hide it. click the note's title on
the left under "notes". the "show on startup" checkbox for that note is not
checked, even though the note is a startup note.
2008-05-06 20:27:10 +00:00
Dan Helfman
60e07faf79 Made it clearer whether the invitee has accepted a particular invite yet. 2008-05-06 06:23:51 +00:00
Dan Helfman
5a3bb508b2 Fixed brokenness in IE. (Introduced by previous commit.) 2008-05-06 05:52:14 +00:00
Dan Helfman
7ba5351b32 Fixed inability to hide previous note revisions. (This bug was introduced by the previous commit.) 2008-05-06 05:50:49 +00:00
Dan Helfman
9e0177f90c - bug: if you save a note that fails to be saved, e.g. due to being longer than 25k characters in size, then the note still shows up in
recent updates. fixed by making it so that when an error is received by invoker, the error message is displayed but the callback is
  not invoked
- bug: if you get an error when saving a note, the note should not disappear. it should still be present so you can try to save it again    - make invoker not call a callback if there's an error
  - in Wiki.hide_editor(), only close an editor after save_editor() has invoked a provided callback function
  - make sure this doesn't break the note conflict notification error (saved editor should still shutdown)
  - test this in IE
2008-05-06 05:47:31 +00:00
Dan Helfman
97c373561d * Added replace_contents() to model.Note to set the contents without updating the revision or anything else.
* Added new optional previous_revision params to default(), contents() and load_note() in controller.Notebooks.
   These use Html_differ() to generate and return diffs.
 * Updated Wiki.js:
   * provide previous_revision when a revision is opened in a new window/tab
   * call load_note() when two revisions when a revision is clicked in Changes_pulldown
   * update compare_versions() to display a diff instead of opening the two revisions separately
   * update load_editor():
     * update all invocations of load_editor(), including in Editor.js, to accept a new previous_revision argument
     * modify load_editor() to use the previous_revision argument (when supplied) to load a diff
2008-05-03 04:29:23 +00:00
Dan Helfman
ab83f4de6a Bug fix: Opening an old revision should not modify the recent updates list. 2008-04-30 02:51:56 +00:00
Dan Helfman
53bc23f374 UI and font size changes. 2008-04-29 20:53:39 +00:00
Dan Helfman
d8eb591549 Made function not throw in IE when run before the page is fully loaded. 2008-04-29 03:25:19 +00:00
Dan Helfman
1d0867d776 * Renamed existing controller.Notebooks.load_recent_notes method to just recent_notes().
* Implemented new controller.Notebooks.load_recent_updates() method.
 * Added new Wiki.js total_notes_count_updated signal
 * Added "more" and "less" links to "recent updates" table.
 * Updated Wiki.js Recent_notes to support new "more" and "less" links.
 * Commented out unfinished discussion forums unit test.
2008-04-29 00:54:08 +00:00
Dan Helfman
6124532500 * Better support for RSS feeds of notebooks with unicode names.
* Now dynamically altering RSS feed link when notebook is renamed.
2008-04-24 20:32:43 +00:00
Dan Helfman
1d03540f71 New "nothing but notes" mode, allowing you to hide everything on the page
except for your notes and the toolbar.
2008-04-18 23:54:09 +00:00
Dan Helfman
dbc83be740 * Modified tree control down arrows to have some blank space at the top, so as to better align with the right arrows.
* Put all expanders into <div>s, which are then wrapped in <td>s. This makes for better vertical centering, especially in IE.
 * Modified Wiki.js to account for expanders now having yet another parent.
 * Put note tree instructions in a <tr><td> instead of in a <div>, as <div>s alone don't belong in tables.
2008-04-16 06:38:19 +00:00
Dan Helfman
82623d6e1f Removing TODO since there are now note tree instructions displayed when there are zero note tree links. 2008-04-16 01:20:56 +00:00
Dan Helfman
ec526e9e41 Made link pattern case insensitive to match uppercase <A> tags in IE. This
fixes the following bug: When you set a note as a startup note and add its
link to the note tree in IE6, the link isn't added with a visible expander
even if it has child links.
2008-04-16 01:14:37 +00:00
Dan Helfman
4398d07d4c Bug fix: Toggling a note's startup flag didn't add a link to the the note tree
in IE6. Apparently Internet Explorer doesn't support appending rows directly
to tables. Fixed by adding a <tbody> to the table and appending to that
instead of the table itself.
2008-04-16 01:05:12 +00:00
Dan Helfman
a282c8d1e1 Bug fix: Clicking the expander for a link that just got its first child didn't appear to work because of double processing the link
clicked event, which caused it to expand and then immediately collapse.
2008-04-16 00:44:57 +00:00
Dan Helfman
431bf6ace7 Completed recent notes list:
* displaying list of links
  * adding links
  * removing links
  * updating links
  * controller.Notebooks.contents() changes to return recent notes
2008-04-16 00:28:18 +00:00
Dan Helfman
ea4ad4c683 Bug fix: If you opened the link info box on a link to a deleted note, and then
clicked that link, it wouldn't give you a message about the link being in the
trash but would instead just open an empty version of that note.
2008-04-15 20:59:27 +00:00
Dan Helfman
5202629be0 Now clearing messages/pulldowns upon undeletion of a note. 2008-04-15 20:22:06 +00:00
Dan Helfman
efd9755547 Fixed bug where note deletion didn't properly remove the note link from the note tree.
Add a brief paragraph with instructions on how to add a note to the note tree, shown only when there are no notes there.
Added a heading for "recent notes", which should be filled out with links in a subsequent commit.
2008-04-15 19:40:36 +00:00
Dan Helfman
db03f39c06 When all the children of a display note are removed, remove the expander from
that note's entries in the note tree. When a note with no children is updated
so that it has at least one child, add an expander to that note's entries in
the note tree.
2008-04-14 23:54:04 +00:00
Dan Helfman
fbcd767aa9 Note_tree.update_link() now properly updates the list of children links under
an expanded note tree item whenever the editor for that item is saved.

Still todo: Update the presence of the expander as children come and go.
2008-04-14 21:57:48 +00:00
Dan Helfman
fad6abacbd Now when you toggle the "show on startup" flag, the note's link is appropriately added to or removed from the note tree. 2008-04-14 20:28:42 +00:00
Dan Helfman
17cf1bf9a6 Made note tree expander arrows not show while in the trash.
When emptying the trash, the note tree table is cleared.
2008-04-14 20:18:32 +00:00
Dan Helfman
2fd9514a04 When the expander is clicked for a note id that's also a parent/grandparent/etc note, don't expand and just highlight the
containing table.
2008-04-14 20:14:32 +00:00
Dan Helfman
935c6a5031 Improved automatic adding/removing of note tree root notes when notes are deleted/undeleted. 2008-04-13 22:29:50 +00:00
Dan Helfman
0908693946 Changed note tree root link adding to use new note_tree_root_table id. 2008-04-13 22:02:42 +00:00
Dan Helfman
5af010fab7 Fixed bug that caused exception when Note_tree got signal for a note being removed (and it wasn't a startup note). 2008-04-13 21:57:03 +00:00
Dan Helfman
b58ff2450a Note tree links to non-existent notes now work correctly. 2008-04-13 21:25:47 +00:00
Dan Helfman
a3909d05d5 * Added onclick handlers for dynamically loaded note tree links and their
associated expanders.
 * Waged an epic battle against the dark forces of CSS. Did you know that the
   max-height property applies to nearly all HTML elements *except* tables? No?
   Well neither did I until I looked it up, seriously wondered what the W3C
   could have been smoking, and then proceeded to spend the next DAY AND A
   FRICKING HALF making my table have a max-height without breaking any of my
   other intricately arranged CSS. Victory is mine.
2008-04-13 07:28:32 +00:00
Dan Helfman
b6acd92630 Refactored expand_link() to no longer get elements by note id. Since there may
be multiple links with the same note id, this was fragile.
2008-04-12 21:57:29 +00:00
Dan Helfman
0d4bb81943 Clicking an external link or a file link in the note tree now opens with target=_new. 2008-04-12 02:32:11 +00:00
Dan Helfman
eaaf1b3de5 Lots more work on the note tree control. Still not done, and some of the new icons suck. 2008-04-12 00:51:32 +00:00
Dan Helfman
cd98b7c9e6 Now the tree expander arrow only displays if there are actually any links within the note. 2008-04-10 19:40:17 +00:00
Dan Helfman
ae5fbd5837 When the startup status for a note is changed, update the note tree accordingly. 2008-04-10 18:45:52 +00:00
Dan Helfman
0d0e552a09 Reducing indenting of top-level note tree items.
Made "untitled note" the title for note tree links with no titles.
2008-04-10 00:05:03 +00:00
Dan Helfman
a56536ee5e Began implementing note tree control on the left side of the page:
* Added a fixed list of startup links.
  * When link in list is clicked, open corresponding note editor.
  * When a startup note is added/deleted, update the list.

Still much more work to do on this before it's complete.
2008-04-09 23:31:30 +00:00
Dan Helfman
a072cbc5ae When search text field is blurred, redisplay "search" in it. 2008-04-04 06:28:26 +00:00
Dan Helfman
d232826d0b Several cosmetic and layout changes to the wiki editing page. Specifically,
made the header that's on the product pages present at the top of the wiki
page as well. Still need to make links bold when viewing certain pages
(help, contact, etc).
2008-04-04 05:39:40 +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
010cbcf01b Now issuing a *synchronous* save_note() call on page unload. When this call
was done asynchronously, and a Luminotes Firefox window was closed, sometimes
save_note() didn't get called. This didn't occur in IE.
2008-03-29 08:31:34 +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
2cae1faf2d Conditionally quoting download filenames based on detected browser. 2008-03-18 22:22:19 +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
911137b112 The "all notes" note now actually hides when the "hide" button is clicked and
doesn't just reappear.
2008-03-12 01:06:50 +00:00
Dan Helfman
22228f5a2c Resizing browser text now causes wiki notes to resize accordingly. 2008-03-11 23:50:09 +00:00
Dan Helfman
db101b2c2f Don't call ScrollTo for display of messages/errors if the error/message is fully visible within the window. 2008-03-11 10:40:43 +00:00
Dan Helfman
7c51c02928 Show list of all notes on startup if there are no startup notes and the
notebook isn't empty.
2008-03-11 04:52:23 +00:00
Dan Helfman
c0cf5892be No longer popping up a link info box when clicking on a note link. 2008-03-11 00:48:37 +00:00
Dan Helfman
2d55455120 Fixed a bug where, after you highlighted a link and clicked the link button
to unlink it, the link info box popped up.
Actually checking in cache changes that were supposed to be in previous
release.
2008-03-10 23:15:33 +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
50367579c0 Beginning revamp of tour page and screenshots. 2008-03-06 07:21:35 +00:00
Dan Helfman
192d043e29 JavaScript code now tracking editor dirty state and not calling save_note() when editor is clean. 2008-03-05 02:56:58 +00:00
Dan Helfman
0790463b8d Now scrolling vertically to opened errors/messages. 2008-03-03 21:11:01 +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
092f3ff9c6 Removed Wiki.js.Upload_pulldown.shutdown() "force" flag as it's redundant if this.uploading is set accordingly.
Make IE 6 and 7 actually stop uploading a file when the cancel button is clicked.
Ignoring blank filename renames.
2008-02-25 21:56:33 +00:00
Dan Helfman
e7c96cadf5 Using "link.innerHTML =" instead of replaceChildNodes() to set a file link's
title when uploading a file, as this plays more nicely with IE. With
replaceChildNodes(), IE swallows the text cursor and won't give it back.

Also explicitly passing link parameter to Upload_pulldown() constructor, as
editor.find_link_at_cursor() wasn't always working in IE.
2008-02-22 23:03:10 +00:00
Dan Helfman
36b11805c6 Now purging files from the database/filesystem when notes they're linked from
are deleted from the trash. Also displaying a message when deleting a file
manually via the "delete" button.
2008-02-22 21:08:29 +00:00
Dan Helfman
7b8f6bd6e5 Improved error reporting in the controller.Files.upload() method. Now
correctly displays an error to the user when uploading without a filename or
with an invalid file.
2008-02-21 19:39:03 +00:00
Dan Helfman
6a5481f7d6 Fixed updating and display of storage usage when an uploaded file is deleted. 2008-02-21 03:41:37 +00:00
Dan Helfman
e0c65a6ac4 File deletion now works. Still need unit tests. 2008-02-21 00:41:08 +00:00
Dan Helfman
eb18b6020d File renaming works. Unit tests still pending.
File deleting implemented. Testing and unit tests still pending.
Now releasing session lock at top of download() to prevent session deadlocks.
2008-02-20 23:25:13 +00:00
Dan Helfman
fd0e91ea39 Implemented quota enforcement when uploading a file. This occurs in two places:
1. In progress(), around the time when the file starts uploading. This causes
an upload that's too large to bail before the whole file uploads, but the
quota calculation is only an estimate and relies on the client actually
calling progress().

2. In upload(), when the file finishes uploading. This quota calculation is
exact, but only happens after the entire upload completes.
2008-02-20 20:21:54 +00:00
Dan Helfman
3d5baa1e24 * Quota storage calculation now takes uploaded files into account.
* controller.Files.upload() now updates user quota storage.
 * When a file is uploaded, the new storage bytes count is returned to the client and displayed.
2008-02-20 00:57:10 +00:00
Dan Helfman
ddc58449f8 Now displaying a message when the upload is cancelled. 2008-02-19 21:15:09 +00:00
Dan Helfman
8443f7e5cb Once an upload has started, you can no longer close the Upload_pulldown by
clicking somewhere else. You have to click "cancel". This is to prevent
accidental upload cancellations.
2008-02-19 20:48:43 +00:00
Dan Helfman
a34ffe2dc6 controller.Files.upload() now removes file data from disk upon an aborted upload.
Wiki.js Upload_pulldown() now has an update_position() method that's used when the pulldown is already open.
2008-02-19 20:40:19 +00:00
Dan Helfman
ebf123d052 Now you can close an upload / file link pulldown and end a file link. 2008-02-19 20:25:35 +00:00
Dan Helfman
804332b3e2 I hate the web. 2008-02-19 00:47:59 +00:00
Dan Helfman
b80ad248f9 Fixed to make progress bar and download link work properly in IE 6 and 7. 2008-02-18 23:44:17 +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
90c83ad1e5 New File_link_pulldown, not yet complete. 2008-02-05 19:45:11 +00:00
Dan Helfman
04f86f05a6 Rewrote controller.Files.upload_file() not to use a CherryPy-2.1-style file upload filter.
Now releasing session lock before streaming the file to prevent session deadlock in the event of a cancelled upload.
2008-02-04 20:06:02 +00:00
Dan Helfman
362a125b1b Working "cancel" button during upload. 2008-02-01 22:44:01 +00:00
Dan Helfman
e56503903b Factored out file upload methods from Notebooks to new Files controller.
Changed file link insertion code to reuse existing link creation code.
2008-02-01 19:17:10 +00:00
Dan Helfman
0cf2b5bda7 Initial work on UI and controller for file uploading:
* new toolbar button for attaching a file
 * button opens new Upload_pulldown() for uploading a file
 * began controller.Notebooks.upload_file() to process the upload
2008-01-31 21:52:32 +00:00
Dan Helfman
c4a313bf08 Completed conversion of checkbox and radio button text to use HTML <label> tag. 2008-01-26 19:32:22 +00:00
Dan Helfman
329397a681 Converted "share this notebook" access choice radio buttons to use HTML <label> tag. 2008-01-26 00:37:38 +00:00
Dan Helfman
cb0e9137c9 Fixed several race conditions between save_note() and other note-mutating controller methods. 2008-01-22 23:29:16 +00:00
Dan Helfman
e4c6fa052a * bug: occasionally, undeleted notes don't leave the trash (but change to having non-trash buttons when undeleted).
repro:
    1. delete a note
    2. go to the trash
    3. click undelete, and then *very quickly*, click the name of the notebook
    4. when the notebook loads, it won't have the undeleted note
    5. go back to the trash. the deleted note will be there, with non-trash note buttons
  this seems to be a race between undelete_editor_via_trash() and save_editor(), which is invoked upon page close. solution: don't
  allow save_editor() to call save_note() if editor.closed is set
2008-01-18 21:29:11 +00:00
Dan Helfman
948c1cd059 The quota nag message now has an link to /upgrade. 2008-01-11 09:02:14 +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
08cd7057f3 Fixed bug that prevented you from opening a note with a title that looked
like an external URL.
2008-01-08 23:33:25 +00:00
Dan Helfman
8e87239e6f Display all redeemed invites sent to the same email address, instead of just displaying one invite per email address. 2008-01-06 22:22:46 +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
1b830c06a1 Add username on conflicting revision to change notification message. 2008-01-04 21:50:11 +00:00
Dan Helfman
762de24bca Fixed bug that prevented loading notes to compare conflicting versions. 2008-01-04 21:43:54 +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
405081e27a Fix for note summary sometimes showing up with literal HTML tags. 2007-12-30 21:55:25 +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
60f8838b1d Preventing "x invitations have been sent message." from disappearing as soon as it's displayed. 2007-12-13 23:02:33 +00:00
Dan Helfman
a501d5fcce UI for invite revocation. 2007-12-13 22:29:57 +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
02444c81cc Adding some emphasis to remark within "share this notebook". 2007-12-11 05:52:33 +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
8b030b1a87 Sigh. 2007-12-05 22:55:23 +00:00
Dan Helfman
69889b5a29 Fix for bug where you'd see "&amp;" in notebook rename field. 2007-12-05 22:52:37 +00:00
Dan Helfman
c750862263 Whoops, didn't mean to checkin the commenting out of these lines. 2007-12-03 21:36:25 +00:00
Dan Helfman
83b3fb5baa Refactored Wiki.toggle_button to work mostly correctly, as the previous revision broke it. 2007-11-30 01:43:06 +00:00
Dan Helfman
d9b36fa613 * Fixed note focusing in Safari.
* Fixed note state detection (bold, italic, etc.) in Safari.
2007-11-30 01:00:03 +00:00
Dan Helfman
2e178f08be Resizing all iframes whenever the window resizes. 2007-11-29 20:15:37 +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
079f7e6f98 Fixed bug where clicking "all notes" in an empty notebook didn't show a message that the notebook is empty. 2007-11-18 23:06:51 +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
8fe52cef50 Now showing "notebook has been moved to the trash" message even if the notebook we've been redirected to has notes in it.
Also saving the focused note (if any) when deleting a notebook.
2007-11-17 04:39:33 +00:00
Dan Helfman
f7d2bd4885 Making IE happy by removing commas. 2007-11-17 04:31:19 +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
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
dfaba35d79 Refactored JavaScript total notes count and empty message display code so when
you create a new notebook, it says "This notebook is empty."
2007-11-15 22:40:16 +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
e04a2a8a11 ctrl-n shouldn't work if the notebook isn't read-write. 2007-11-12 11:26:10 +00:00
Dan Helfman
46b888f514 Restoring code in Wiki.js so that clear_messages() clears both errors and messages. 2007-11-12 10:48:37 +00:00
Dan Helfman
21ec98ea2e Add permalink to each note on blog page. 2007-11-11 21:37:30 +00:00
Dan Helfman
6bc242395c You can now press ctrl-n to open a new note even if no note is focused. 2007-11-09 20:07:32 +00:00
Dan Helfman
650de327a5 Whoops, forgot a parameter. 2007-11-09 06:54:45 +00:00
Dan Helfman
9d7c38c396 Revamped positioning of new editors and messages so that they show up
immediately after the editor you're working on instead of at the bottom of the
page. Also, if you undo a note's deletion, it'll show up right back where it
was amonst the notes.
2007-11-09 06:49:26 +00:00
Dan Helfman
9cee493141 Bug fix: If you click on a link that has a destination note with a different
title than the link itself, then the destination note title won't show up in
the link info box. It'll instead incorrectly show the link title.
2007-11-08 21:51:13 +00:00
Dan Helfman
1d89b83cf0 "No matching notes" is now orange instead of red. 2007-11-04 18:27:28 +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
8c498e2c0b Prevent progress bar from flashing in Firefox everytime you press a key within an editor. 2007-10-31 21:03:06 +00:00
Dan Helfman
6ad00cecf6 Fixed incorrect arguments passed to create_editor(), which, among other things, caused hiding "all notes" to yield an error message. 2007-10-31 06:41:23 +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
22ce1728f4 Adding a blank note stub box thingy at the bottom of the notes. When you hover
over it, you see its outline. When you click on it, a new blank note is
created.

Also, now creating a blank now closes open pulldowns/messages.
2007-10-27 03:22:34 +00:00
Dan Helfman
a8117f3c2f No longer auto-hiding blank editors unless they are the blank_editor_id. In
other words, if you have an existing note and you nuke all of its contents,
then navigate to another note, the blank note won't just disappear.
2007-10-26 21:01:22 +00:00
Dan Helfman
c23515d249 Switching to new image-based buttons on the toolbar. Also preloading those images for great premature optimization. 2007-10-25 23:19:57 +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
8dabd65291 Fix for bug where loading the link pulldown title can overwrite something the user has typed/pasted. 2007-10-22 21:44:17 +00:00
Dan Helfman
c4e523a52d Shouldn't include search results note in "all notes" list. 2007-10-22 20:57:26 +00:00
Dan Helfman
9ef2eb9954 Update "all notes" note dynamically as notes as created, deleted, undeleted, renamed, etc. 2007-10-22 20:52:04 +00:00
Dan Helfman
6fe4b1f38e alert() warning message for Safari/Opera user agents in read-write mode. 2007-10-19 21:07:22 +00:00
Dan Helfman
cfaf607a7a Briefly highlight the all notes link when you hide a note. 2007-10-19 20:38:38 +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
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
6786f9801a No longer asking the server for revisions for a note that hasn't been saved yet. 2007-10-11 11:29:42 +00:00
Dan Helfman
1875f1ed00 Fix for case where revisions list doesn't yet exist. 2007-10-11 10:07:27 +00:00
Dan Helfman
43c6f54e9f Merged revisions 401-446 via svnmerge from
svn+ssh://torsion.org/home/luminotes/repos/luminotes/branches/postgres

................
  r402 | witten | 2007-10-04 00:48:49 -0700 (Thu, 04 Oct 2007) | 3 lines

  Initialized merge tracking via "svnmerge" with revisions "1-401" from
  svn+ssh://torsion.org/home/luminotes/repos/luminotes/trunk
................
  r404 | witten | 2007-10-04 01:17:07 -0700 (Thu, 04 Oct 2007) | 2 lines

  Beginning a conversion from bsddb to postgres.
................
  r405 | witten | 2007-10-04 01:18:58 -0700 (Thu, 04 Oct 2007) | 9 lines

  Merged revisions 402-404 via svnmerge from
  svn+ssh://torsion.org/home/luminotes/repos/luminotes/trunk

  ........
    r403 | witten | 2007-10-04 01:14:45 -0700 (Thu, 04 Oct 2007) | 2 lines

    Yay, no more stupid deprecation warnings from simplejson about the sre module.
  ........
................
  r406 | witten | 2007-10-04 15:34:39 -0700 (Thu, 04 Oct 2007) | 4 lines

   * Switched back to Python 2.4 because many Python modules in Debian are not packaged to work with Python 2.5
   * Began removal of all references to Scheduler, @async, yield, and so on.
   * Converted Database.py to support PostgreSQL and updated its unit tests accordingly.
................
  r407 | witten | 2007-10-04 16:34:01 -0700 (Thu, 04 Oct 2007) | 2 lines

  All unit tests for the new model classes now pass.
................
  r409 | witten | 2007-10-05 00:53:56 -0700 (Fri, 05 Oct 2007) | 2 lines

  Reordering some columns and adding some indices.
................
  r410 | witten | 2007-10-05 16:08:37 -0700 (Fri, 05 Oct 2007) | 4 lines

  Now adding trash notebooks to user_notebook table. Also switching db
  conversion/verification tools back to require Python 2.5, since they still use
  the old Scheduler, which requires 2.5 generator features.
................
  r411 | witten | 2007-10-06 16:26:56 -0700 (Sat, 06 Oct 2007) | 2 lines

  Lots more unit tests passing. Most of the recent work was on controller.Users and related stuff.
................
  r412 | witten | 2007-10-07 01:52:12 -0700 (Sun, 07 Oct 2007) | 2 lines

  controller.Users unit tests now finally pass!
................
  r413 | witten | 2007-10-07 02:14:10 -0700 (Sun, 07 Oct 2007) | 3 lines

  Got controller.Root unit tests passing.
  Moved fake sql_* function shenanigans from Test_users.py to Test_controller.py, for use by other controller unit tests.
................
  r414 | witten | 2007-10-08 23:11:11 -0700 (Mon, 08 Oct 2007) | 2 lines

  All unit tests pass! Fuck yeah!
................
  r415 | witten | 2007-10-08 23:13:07 -0700 (Mon, 08 Oct 2007) | 2 lines

  Removing all references to Scheduler from luminotes.py
................
  r416 | witten | 2007-10-08 23:54:51 -0700 (Mon, 08 Oct 2007) | 3 lines

  Converted deleted_from to deleted_from_id in a few more places.
  Fixed bug in Users.contents().
................
  r417 | witten | 2007-10-09 00:11:59 -0700 (Tue, 09 Oct 2007) | 3 lines

  Typo fix in Note sql method.
  Adding autocommit flag to Database.next_id() method.
................
  r418 | witten | 2007-10-09 00:13:19 -0700 (Tue, 09 Oct 2007) | 2 lines

  Updating unit test for new auto commit flag.
................
  r419 | witten | 2007-10-09 00:14:09 -0700 (Tue, 09 Oct 2007) | 2 lines

  Removing debugging print.
................
  r420 | witten | 2007-10-09 00:20:55 -0700 (Tue, 09 Oct 2007) | 2 lines

  More sql fixes. I really need some funtional tests that hit the database and exercise the SQL.
................
  r421 | witten | 2007-10-09 00:51:34 -0700 (Tue, 09 Oct 2007) | 3 lines

  Fixed controller.Database handling of tuple as an Object_type.
  Made SQL for user storage calculation better at handling null values and also more succinct.
................
  r422 | witten | 2007-10-09 13:32:16 -0700 (Tue, 09 Oct 2007) | 2 lines

  Converting Wiki.js to trash_id notebook member instead of trash object.
................
  r423 | witten | 2007-10-09 13:42:10 -0700 (Tue, 09 Oct 2007) | 2 lines

  No longer displaying "download as html" on the front page, as people see "download" and think they're downloading the software.
................
  r424 | witten | 2007-10-09 14:24:40 -0700 (Tue, 09 Oct 2007) | 2 lines

  Notebooks.contents() now returns notebooks with correct read-write status.
................
  r425 | witten | 2007-10-09 14:32:25 -0700 (Tue, 09 Oct 2007) | 2 lines

  Fixed reporting of validation errors to the user. Now says "The blah is missing." instead of just "is missing"
................
  r426 | witten | 2007-10-09 17:05:22 -0700 (Tue, 09 Oct 2007) | 2 lines

  No longer redirecting to trash notebook upon login.
................
  r427 | witten | 2007-10-09 17:20:33 -0700 (Tue, 09 Oct 2007) | 2 lines

  Made controller.Database use a connection pool.
................
  r429 | witten | 2007-10-09 20:13:30 -0700 (Tue, 09 Oct 2007) | 2 lines

  Converted initdb.py and updatedb.py to Postgres from bsddb.
................
  r430 | witten | 2007-10-09 20:37:14 -0700 (Tue, 09 Oct 2007) | 2 lines

  Changing error message to remove underscores from variable names.
................
  r431 | witten | 2007-10-10 13:23:30 -0700 (Wed, 10 Oct 2007) | 2 lines

  Removing unused note_title parameter from Wiki.create_editor().
................
  r432 | witten | 2007-10-10 13:25:16 -0700 (Wed, 10 Oct 2007) | 2 lines

  Revision regular expression now supports timezone notation.
................
  r433 | witten | 2007-10-10 14:43:47 -0700 (Wed, 10 Oct 2007) | 2 lines

  Finished implementing ranked ordering for startup notes. (However, there's no way to change the rank from the client yet.)
................
  r434 | witten | 2007-10-10 16:25:19 -0700 (Wed, 10 Oct 2007) | 4 lines

  More strict access checking. Fixed oversight in Postgres DB conversion where,
  in certain controller.Notebook methods, access was only checked at the
  notebook level, not at the note level as well.
................
  r435 | witten | 2007-10-10 17:45:18 -0700 (Wed, 10 Oct 2007) | 3 lines

  Now loading revisions on demand from client when the "changes" button is clicked. Also caching
  loading revisions so subsequent clicks don't have to reload.
................
  r436 | witten | 2007-10-10 21:31:20 -0700 (Wed, 10 Oct 2007) | 2 lines

  Tweaking some of the error handling in Expose and Root so that unhandled errors give a generic error message to the client.
................
  r437 | witten | 2007-10-10 21:33:49 -0700 (Wed, 10 Oct 2007) | 2 lines

  The release script no longer runs initdb.py, because the default database is no longer a single file included in the tarball.
................
  r438 | witten | 2007-10-10 21:40:11 -0700 (Wed, 10 Oct 2007) | 2 lines

  Updated install instructuctions to include use of initdb.py.
................
  r439 | witten | 2007-10-10 21:56:42 -0700 (Wed, 10 Oct 2007) | 3 lines

  Made initdb.py only nuke (drop tables/views) when given a command-line flag.
  Also made install directions more correct.
................
  r440 | witten | 2007-10-10 21:58:48 -0700 (Wed, 10 Oct 2007) | 2 lines

  IE 6 doesn't like commas.
................
  r441 | witten | 2007-10-10 22:08:50 -0700 (Wed, 10 Oct 2007) | 4 lines

  load your notebook. without clicking on "changes", edit a note that has previous revisions. click on "changes". it'll only show
  the most recent revision. fixed by not appending to changes as a result of a save unless the client-side revisions list cache has
  something in it
................
  r442 | witten | 2007-10-10 23:30:41 -0700 (Wed, 10 Oct 2007) | 2 lines

  Forgot to actually save off the new revision as editor.revision.
................
  r443 | witten | 2007-10-11 01:35:54 -0700 (Thu, 11 Oct 2007) | 13 lines

  More intelligent datetime handling:
    * convertdb.py assumes old bsddb database timestamps are Pacific, and then
      converts them to UTC before inserting them into the new PostgreSQL
      database.
    * No longer using naked timezoneless datetime objects in model/controller
      code, except in unit tests that need compatability with pysqlite. Now
      using UTC everwhere.
    * Asking PostgreSQL to give us all timestamps back in UTC.
    * New dependency on python-tz (pytz) package, noted in INSTALL doc.
    * Client now responsible for converting UTC timestamps to local time for
      display.
................
  r444 | witten | 2007-10-11 01:46:09 -0700 (Thu, 11 Oct 2007) | 2 lines

  Tweak to prevent potential race in IE.
................
  r445 | witten | 2007-10-11 01:49:58 -0700 (Thu, 11 Oct 2007) | 2 lines

  Got JavaScript "unit" tests passing again.
................
  r446 | witten | 2007-10-11 01:53:58 -0700 (Thu, 11 Oct 2007) | 2 lines

  Noting that js tests require the Luminotes server on localhost.
................
2007-10-11 09:03:43 +00:00
Dan Helfman
76e036eab6 Made a demo that you can get to without signing up or entering any information. 2007-09-28 23:54:19 +00:00
Dan Helfman
31750d0040 Removed the word "used" from quota report in the client. 2007-09-28 20:42:27 +00:00
Dan Helfman
5d860300f1 Removed search options button because:
1. It's confusing. People think you click it to perform the search, then are surprised when it doesn't do that.
  2. Now that the search results are displayed more clearly, there's really no need for a titles-only search option.
2007-09-28 20:31:20 +00:00
Dan Helfman
776765031d "New note" toolbar button now correctly presses and depresses. 2007-09-28 19:40:00 +00:00
Dan Helfman
9673d84c3f "Please check your inbox" message is now an orange message box instead of a red error box. 2007-09-27 22:40:18 +00:00