witten
/
luminotes
Archived
1
0
Fork 0
Commit Graph

116 Commits

Author SHA1 Message Date
Dan Helfman 20313728d2 Several changes to handle the case where a note is changed out from under you, due to being saved
from a different window:
 * Made controller.notebooks responsible for preventing unmodified notes from being saved, instead
   of model.Notebook handling this task.
 * Created a revision validator for passing revisions as arguments to exposed methods.
 * controller.Notebooks.save_note() now requires a previous_revision parameter, used to determine
   whether the note has been modified in the particular window it's being saved from.
 * save_note() returns a new previous_revision value, so the client can determine whether a save
   has occurred from another window.
 * controller.Notebooks.undelete_note() fixed to quietly bail if the note to undelete isn't
   actually deleted, which can happen if it was undeleted in another window.
 * Editor() now responsible for making revisions list if it doesn't exist
 * No longer giving an "undo" message when the user deletes an empty note.
 * On the client side, detecting whether the previous_revision as reported by save_note() looks
   correct, and if not, alerting the user about the conflict. Also displaying a "compare versions"
   button that opens both the current version and the previous version.
2007-08-23 23:56:42 +00:00
Dan Helfman 2dcd3e1483 Fixed broken revisions list under "changes" button.
I really need client-side Javascript unit tests to catch exactly these sorts of regressions.
2007-08-23 07:00:18 +00:00
Dan Helfman 094323ee58 Fixed broken deletion undo. 2007-08-23 06:45:42 +00:00
Dan Helfman d1b8a2201b Hack to prevent Firefox from erasing spaces before links that happen to be at the end of list items.
I hate the web.
2007-08-22 21:09:15 +00:00
Dan Helfman f9b355277c When there's an error, remove all empty editors. This prevents a bug where
empty editor frames stay displayed but never load if there's a network
connectivity problem.
2007-08-21 21:25:59 +00:00
Dan Helfman e6b5054e50 Yet another rewrite of the Firefox link creation code, because the previous
version wouldn't work immediately after a title element. Ugh.

One caveat: When you start a link, the cursor disappears until you start
typing the link's title.
2007-08-21 19:28:07 +00:00
Dan Helfman ab07f03911 Fixing broken regular expression which was greedily eating nearly entire
contents of notes. Unit tests for this is really necessary.
2007-08-21 05:53:56 +00:00
Dan Helfman f6418a1d50 Greatly simplified Firefox link creation code, thereby fixing an intermittent
bug where hitting ctrl-L to start a link after a space would occasionally not
work.
2007-08-20 23:14:16 +00:00
Dan Helfman 824882a1d8 Factored out hardcoded support email address from various places.
Now it's configurable in the common settings.
2007-08-20 20:28:17 +00:00
Dan Helfman 082697fe5a More title tags for various links. 2007-08-20 20:10:19 +00:00
Dan Helfman 22767f1cc9 Added some explanitory title tags to various pulldown options. 2007-08-20 20:02:42 +00:00
Dan Helfman e0e144a200 Fix for broken inheritance, which incidentally cause a link's pulldown not to
show up more than once because the pulldown's derived shutdown() method wasn't
being invoked the first time.
2007-08-20 19:51:02 +00:00
Dan Helfman f4428c65ba Selecting all text in link pulldown's title field only on focus not, not every click. 2007-08-20 18:43:45 +00:00
Dan Helfman 59fdcd2340 Forgot to svn add password reset tool. 2007-08-18 02:16:30 +00:00
Dan Helfman 13318ee807 * Wrote really basic password reset utility for the admin.
* Changed python2.4 bang line to python2.5 in tools/ directory.
 * Added some warnings about stopping the server before running various
   tools.
2007-08-18 02:12:56 +00:00
Dan Helfman 7973d87a7d * Turned "search:" label into a search button that, when clicked, displays a
pulldown with "titles only" and "everything" radio buttons, defaulting to
   "titles only".
 * Wiki javascript code for submitting a search now sends a new titles_only
   parameter according to what the user has selected in the search pulldown.
 * controller.Notebooks.search() now takes a new titles_only boolean argument,
   which does exactly what you would expect.
2007-08-17 22:26:02 +00:00
Dan Helfman 5a4ec1911b Display "there are no notes here" when showing an empty trash. 2007-08-16 23:27:29 +00:00
Dan Helfman faaa4b6fdd Got external links working!
* Altered Html_cleaner to allow link targets.
 * Modified Wiki.load_editor(), Wiki.resolve_link(), and Link_pulldown() to
   support external links with "_new" targets.
 * Modified Editor.mouse_clicked() to explicitly open a new window for external links clicked in
   read-write editors, because the browser won't open clicked link by itself unless they're in
   read-only iframes.
 * Removed a duplicate Editor.contents() function.
 * Increased Link_pulldown title field size to 30 characters.
2007-08-16 22:27:58 +00:00
Dan Helfman a6182dffeb Autoselect title field text in link pulldowns when clicked. 2007-08-16 20:17:14 +00:00
Dan Helfman 8f8f0a2262 In Link_pulldown's constructor, if the note has no destination note id set,
try loading the note from the server by title.
2007-08-16 20:11:01 +00:00
Dan Helfman a849935b1d Bugfix that prevented undo from working. 2007-08-16 19:55:11 +00:00
Dan Helfman 3424e6ad12 Some refactoring of the new link resolving and launching code, because, well,
it was just plain broken:

 * Setting link hrefs is no longer done in quite so many places to prevent
   conflicts. Still could be more centralized though.
 * Editor is no longer responsible for tracking note titles. It now issues
   signals for title changes, and Wiki takes care of tracking titles for all
   open editors.
 * A few places in Editor weren't making use of the new link_title()
   convenience function. Now they are.
 * They way Wiki was associating link pulldowns with their links was
   completely broken, because Javascript Arrays can't use DOM objects as keys.
   At least not if you want them to work. Now just setting a "pulldown" member
   on each link node directly.
 * Moved some of the "if you click a link and the target editor is already
   open, just highlight it" logic out of Editor and into Wiki. (Both
   load_note() and resolve_link(), unfortunately.)
 * Made Link_pulldown.title_field_changed just rely on resolve_link() instead
   of doing all the link resolving itself.
2007-08-16 01:29:18 +00:00
Dan Helfman e87eee87c8 Protection for a lack of an href. 2007-08-15 20:46:37 +00:00
Dan Helfman 8e819b7c01 Work-around for bug in IE where positions of iframe contents are not only
relative to the iframe itself, but also relative to how far the user has
scrolled.
2007-08-15 20:35:02 +00:00
Dan Helfman 52fd0d154a * Implemented a link_title() convenience function to get the link title from a link, either from
it's query string "title=" arg or from the actual contained title.
 * Made use of this new function in various places where title-grabbing was being done manually.
 * Made Editor.mouse_clicked() highlight and bail if there's already an open editor with a matching
   title. (Previously, it only did this matching by id.)
 * Wiki.load_editor() now looks to an open Link_pulldown's title field for the note's title, if
   available.
 * Link_pulldown formats "title=" query string args with MochiKit's queryString() to escape spaces
   and such.
 * Updated NOTE_LINK_PATTERN in wiki download view (untested currently).
2007-08-15 00:18:30 +00:00
Dan Helfman 429dc44370 Fixed a bug where Link_pulldown.display_preview() didn't correctly support either a DOM node or a string for its contents argument.
Also no strip()ing the scraped contents text so removing the note title works better.
2007-08-14 20:56:13 +00:00
Dan Helfman cae5d2272d When loading and parsing a note for display in an editor, there's now an optional link argument so
that the link clicked to launch the editor can be updated with the new editor's assigned id.

Also, the link pulldown init code now also examines already open notes when displaying a link title
and contents before asking the server for that information.
2007-08-14 20:34:31 +00:00
Dan Helfman 69caeaf655 Code mostly related to manipulating wiki links, plus a new link pulldown:
* Implemented a new controller.Notebooks.lookup_note_id() method to get only a note's id given its title.
 * Added some new link resolution code to Editor and Wiki, to fill in a link's id according to its destination note.
 * Factored out some of the link finding code into a common Editor.find_link_at_cursor() method.
 * Factored out query parsing into a common parse_query() function, which operates on a link node.
 * Added new Link_pulldown class-thingy to represent the little pulldown you see when the cursor's on a link.
 * Refactored Pulldown's positioning code to support offset positioning (needed for elements within an iframe).
2007-08-14 04:13:49 +00:00
Dan Helfman ec9cd1066c No longer moving any iframes when displaying search results that are already
open, as that causes the iframe contents to revert to as they were when the
iframe was loaded.
2007-08-11 21:49:33 +00:00
Dan Helfman d5345304cc Forgot to actually set the notebook_id within Editor. 2007-08-11 21:34:56 +00:00
Dan Helfman dbbc93a830 Tweaks to CSS for downloaded HTML version of wiki. 2007-08-10 20:17:40 +00:00
Dan Helfman 7a26017a28 Update the toolbar state everytime the mouse is clicked in case the cursor has moved. 2007-08-10 19:32:12 +00:00
Dan Helfman ea64cc97a2 If you undelete a note via undo, now it's indicated in the options pulldown that it's a startup note. 2007-08-10 19:19:47 +00:00
Dan Helfman 3de7d59d64 No longer hiding any editors when you click a link in a note in the middle of the page. 2007-08-10 19:07:00 +00:00
Dan Helfman 3002bea65c Increasing padding within note frames a bit. 2007-08-10 19:06:01 +00:00
Dan Helfman 40bd2de13c Some SSL clarifications to the INSTALL document, and added directions for installing prereqs on Debian. 2007-08-10 01:12:33 +00:00
Dan Helfman 8189ec78ac Added export to release.sh. 2007-08-09 19:45:46 +00:00
Dan Helfman 8fd463e22d More docstrings. 2007-08-09 19:44:26 +00:00
Dan Helfman a866c617ec More API documentation on the controllers. 2007-08-09 19:06:01 +00:00
Dan Helfman 3dd4af0534 Making the source code link an actual external link. 2007-08-08 20:18:55 +00:00
Dan Helfman 00e4c69df3 Simple shell script to tar up a release file. 2007-08-08 20:12:15 +00:00
Dan Helfman 4a89afebbf New "contact us" and "faq" pages. Modified navigation accordingly. 2007-08-07 23:31:20 +00:00
Dan Helfman 2871c18721 Changed /about/contact links to mailto links, and improved CSS of 404 / uh oh pages. 2007-08-07 20:29:37 +00:00
Dan Helfman f2eac9cb1f Implemented a basic trash, including undo upon note deletion and undeletion from the trash:
* model.Note has a deleted_from member to indicate the notebook id it was deleted from (if any)
 * controller.Notebooks sets the deleted_from member and makes all deleted notes startup notes in the trash
 * new controller.Notebooks.undelete_note() method
 * split up the idea of UI messages into errors and informational messages, with separate CSS
 * updated Editor and Wiki UI code to deal with new deleted_from variable
 * added "undelete" button when viewing a deleted note, and "delete" changes to "delete forever"
 * added a "trash" link to the notebook links
 * reorganized responsibilities for displaying notebook/user links among Wiki.populate() and Wiki.display_user()
 * when deleting messages in a notebook with a trash, displaying "The note has been moved to the trash"...
   with a working undo button!
 * tweaked focusing logic in display_search_results(), which has been renamed to display_loaded_notes()
2007-08-07 01:48:43 +00:00
Dan Helfman c02d27e841 CSS tweaks involving:
* line height (increasing)
 * font size (switching to % instead of em)
 * note width (in IE)

These changes were made to improve readability.
2007-08-06 00:51:04 +00:00
Dan Helfman 1c72e5a87f Fix to recognize and rewrite note links that have target="_top", such as those for "try it out" and "login". 2007-08-03 22:44:29 +00:00
Dan Helfman 1796ccca71 Schema evolution: Adding a trash member to those Notebooks that don't have it. 2007-08-03 21:55:02 +00:00
Dan Helfman 4e28620348 * Added a trash Notebook to model.Notebook.
* Made sure the trash is not exposed by the read-only notebook view.
 * Modified model.User.check_access() to consider read-write access to a
   notebook to be sufficient for access to that notebook's trash.
 * Modified controller.Users so new users are created with a notebook that
   has a trash.
 * Changed controller.Notebooks so deleted notes go to the trash (if any).
2007-08-03 21:12:17 +00:00
Dan Helfman 4356336f6b Updated unit tests for redirect upon non-http / request when logged in.
Also updated INSTALL with info about Apache configuration.
2007-08-03 19:43:16 +00:00
Dan Helfman ccb81d18ee Checking the start of the requested URL to determine whether it was an https
request simply didn't work. Apache doesn't forward that information. So
instead, I'm now using a hacky work-around that looks at the proxy IP to
determine whether it was an http or https request.

Still need to fix unit tests for this.
2007-08-03 19:29:20 +00:00