20313728d2
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. |
||
---|---|---|
config | ||
controller | ||
model | ||
static | ||
tools | ||
view | ||
COPYING | ||
INSTALL | ||
README | ||
luminotes.py |
README
Luminotes is a personal wiki notebook for organizing your notes and ideas. For more information, see: http://luminotes.com/ If you'd like to actually install the Luminotes server, see the INSTALL file. Enjoy! Luminotes Copyright (C) 2007 Dan Helfman This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. See the COPYING file for more information. Also note that MochiKit has its own separate license. See static/js/MochiKit_LICENSE.