Commit graph

62 commits

Author SHA1 Message Date
lukemelia
3fb15f81a5 Convert context_controller to use RESTful routes (required renaming contexts_controller -> contexts_controller per rails convention).
This change also changes context detail page URLs from /context/my_context to /contexts/my_context

    Add a database index on the projects and contexts tables, user_d + name, to speed the lookup used in urls
    Brought the URLs within various feeds up-to-date
    


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@399 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-14 19:18:07 +00:00
lukemelia
d8ec265ca4 Added some database optimizations, mostly in the form of indices on commonly queried columns
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@396 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-11 05:29:29 +00:00
lukemelia
a65e66168c Consolidate list and index actions in project and context controllers.
Use simply_helpful methods to simplify DOM IDs.
Improve CSS rendering on IE7. (didn't get to test these changes on Safari!)
Make new contexts appear automatically when added with new action on home page.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@384 a4c988fc-2ded-0310-b66e-134b36920a42
2006-12-30 08:51:49 +00:00
lukemelia
1d22f08670 Divide UserController into a UserController and a PreferencesController. Divide FeedController into a FeedController and a FeedlistController. Pull up layout and login filter into ApplicationController and override as needed. Ignored new tmp directories.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@376 a4c988fc-2ded-0310-b66e-134b36920a42
2006-12-13 08:31:48 +00:00
lukemelia
aa41974d4c * Made links work for project and context links that contain an underscore('_') or a dot('.'). I removed urlize() and deurlize() in favor or methods on the models mixed in by the new UrlFriendlyName module.
* Removed tag_object() from application_helper as it was not being used.
* Introduced link_to_context() and link_to_project() helper methods.
* Fixed a javascript syntax error on the context page.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@373 a4c988fc-2ded-0310-b66e-134b36920a42
2006-12-11 04:48:56 +00:00
lukemelia
d7bb7555a0 Upgraded to Rails version to 1-2-pre-release branch revision 5704. Lots of stuff is deprecated in Rails 1.2, so this changeset
also removes deprecated methods. All tests pass (at least on my machine!) and raise no deprecation warnings.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@365 a4c988fc-2ded-0310-b66e-134b36920a42
2006-12-08 07:41:20 +00:00
bsag
9c37b40f3d Gathered up calls to init and init_todos in before_filters, as suggested by <a href="http://www.therailsway.com/2006/11/16/tracks-part-2">Part 2</a> of the RailsWay article series.
There are a couple of test errors that I can't seem to fix. 

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@363 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-26 12:13:48 +00:00
lukemelia
b243e0d393 * After project or context was edited in listing page, it could not be dragged. This is now fixed.
* Added in-place editing of to project and context detail pages



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@356 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-21 04:54:07 +00:00
lukemelia
bb1cfe613a * Replaced select widgets with AutoCompleters for project & context in new item and edit forms. You can now create a new project and/or context on the fly as you're adding an item.
* Rolled Deferred controller, views & helper into Todo.
* Made the show_from field always available on the add new item and edit forms.
* Added validation to Todo to make sure a context is specified.
* Set initial state of Todo to :deferred when show_from is specified (I still need to make handle setting show_from during an edit).
* Created a generic rescue_action in ApplicationController and removed boilerplate rescue code from a few actions in TodoController.
* Made all Todo creation requests use the TodoController, removing duplicate logic from ContextController and ContextController
* Removed unused lightbox-style add item form
* Remove unused update_context and update_project actions
* Updated rails javascripts to the same as our vendor/rails



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@352 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-20 04:31:00 +00:00
bsag
5d51ca84ba Rationalised and streamlined the flash and error notifications, using a method outlined here by Andreas Aderhold:
http://blog.andreasaderhold.com/2006/07/rails-notifications

All flash messages now show up as an overlay on the right hand side of the navigation header, and also fade automatically, so that you don't have to refresh the page. Errors (i.e. validation errors) are shown as close to the originating form as possible.

Two new notify methods (one for controllers, and one for RJS templates) help construct the flash of whatever type you like. e.g.

In controllers:

notify :warning, "This is the message"

In RJS:

notify :warning, "This is the message", 5.0



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@351 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-19 16:52:58 +00:00
lukemelia
c51587e422 * Converted Todo to acts_as_state_machine. It's states are active, deferred, completed, and project_hidden. This replaces the old single inheritance model of Immediate and Deferred. Also renamed todo.completed to todo.completed_at for clarity
* Consolidated toggle_check handling to todo_controller and rjs  
* Introduced user preference to show/hide hidden projects section in sidebar
* Fixed a bug in parse_date_per_user_prefs that was causing due dates to be set in the todo model as Times and not Dates
* Upgraded ARTS plugin
* This changeset includes migrations, so remember to db:migrate.
* Lots of code changes here, so bug reports will be gratefully accepted!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@343 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-15 09:05:07 +00:00
bsag
7fb8140129 Fixed adding of actions with due dates from the context and project pages, which I broke with addition of Chronic parsing. Formerly, the record would be saved, but the page would not update using Ajax.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@341 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-13 12:36:07 +00:00
bsag
a4963a9883 Tinkered a bit with the display of actions in hidden projects. It seems to me that hidden projects are ones that are in some sense 'on hold', so you probably don't want actions in those projects displayed on the home page, or on the context pages (though you still want to be able to view that project to evaluate whether it should be made active, and perhaps queue up more actions in it).
Now actions in hidden projects are hidden on the home page and context pages. Hidden projects are also listed separately in the sidebar (this should perhaps be included in the user preference for showing completed projects in the sidebar). The counts in the sidebar for projects and contexts *include* the hidden project actions, because I haven't fixed that yet. Also, excluding the hidden project actions is done in a really clunky way until I can get my head around the new acts_as_todo_container class.

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@339 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-12 19:12:36 +00:00
lukemelia
99b734a52c My apologies for this large, multi-pronged commit. What's here:
* Introduce Tracks::Config class to wrap environment.rb config settings
* Remove unused admin and index actions from user_controller
* Introduce flash partial and standardize on symbol keys for the flash hash
* Replace usages of render_partial with render :partial

Two new authentication options! These probably need documentation...

* Introduce LDAP authentication option (see configuration in environment.rb.tmpl). Thanks to Jeremy Evans for creating the SimpleLdapAuthenticator plugin. Note: the ldap auth integration test is likely to be fragile. Works for me on OS X with openldap, but your mileage may vary.
* Introduce Open ID authentication option (see configuration in environment.rb.tmpl and http://openid.net for more info). Thanks to East Media for the Open ID Consumer Plugin.
 
In environment.rb, you can enable any combination of the three auth options. If you have more than one selected, users can opt between them via their preferences pages. To play with the Open ID auth, you can get an identity at pip.verisignlabs.com.

Note that there are some new migrations to support the new authentication options, so don't forget to rake migrate!


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@334 a4c988fc-2ded-0310-b66e-134b36920a42
2006-11-05 10:41:59 +00:00
lukemelia
f67e36871c Simplify some find methods in todo_controller using associations. Fix a bug in the RSS and TEXT feeds created by yesterday's change to the project status.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@327 a4c988fc-2ded-0310-b66e-134b36920a42
2006-10-12 05:00:46 +00:00
lukemelia
ba3757f29e Rename new_context and new_project actions to create to fit into the CRUD model, add tests for these methods, too.
Add a plugin to allow executing tests using an in-memory sqlite database. Faster!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@318 a4c988fc-2ded-0310-b66e-134b36920a42
2006-09-16 06:50:22 +00:00
lukemelia
f9a2a6460d Apply Ryan Daigle's patch to fix editing contexts and projects. See #341. Does not resolve ajax loading issue mentioned in the ticket.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@302 a4c988fc-2ded-0310-b66e-134b36920a42
2006-08-03 01:07:13 +00:00
lukemelia
9392d4d696 Unify controller action for destroying an action into the todo controller and lay some groundwork for similar requests coming from different views. Fixes #343.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@300 a4c988fc-2ded-0310-b66e-134b36920a42
2006-08-01 07:03:31 +00:00
lukemelia
1f6a99a27f Fix project and context creation rendering, which was failing because the hash for tracking the number of actions in a project or context had not been defined. Fixes #341.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@299 a4c988fc-2ded-0310-b66e-134b36920a42
2006-07-30 20:09:04 +00:00
lukemelia
c606e646b3 Incorporate Ryan Daigle's patch (thanks Ryan!) to fix errors parsing non-US-style dates on the tickler show_from field. Refactor date parsing calls to use a new method in the base action controller.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@295 a4c988fc-2ded-0310-b66e-134b36920a42
2006-07-28 19:03:34 +00:00
lukemelia
e0e407d99a Optimized ActiveRecord calls to minimize SQL queries, especially on the home page. Also, moved feed page to feed controller.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@294 a4c988fc-2ded-0310-b66e-134b36920a42
2006-07-28 06:55:35 +00:00
lukemelia
1ee651f8bb DRY up code around Immediate and Deferred actions, including controller methods and views
Relocated todo_controller#deferred_update_action to be next to todo_controller#update_action 
Include all non-hidden contexts on the home page, but hide the empty ones. Ground work for supporting the automatic showing of a context with zero items when an item is moved to it.
Added a comment about todo_controller#update_element -- is it used?
Remove unused #list_of method from context, note & project models
Remove unused #list_all method from note model
Methods to lazy load done_todos and not_done_todos for project and context models

Fixes #322



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@282 a4c988fc-2ded-0310-b66e-134b36920a42
2006-07-17 03:40:35 +00:00
lukemelia
d6ac8086d6 Applied changes to context corresponding to yesterday's project changeset: tests, prohibit slashes, introduce RJS, relocate new context form.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@266 a4c988fc-2ded-0310-b66e-134b36920a42
2006-06-20 02:07:18 +00:00
lukemelia
7b984328e3 Exclude user_id from projects, contexts and notes xml. My rationale here is that if tracks is a multi-user application, user_id is always set by authenticated credentials and so there is no valid reason to expose it with the data.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@259 a4c988fc-2ded-0310-b66e-134b36920a42
2006-06-10 06:05:01 +00:00
bsag
f395a37e63 Added the lightbox interface to the project and context pages too, but altered it so that it's activated by a hidden link (using the hotkey Ctrl/Alt Q). The actual link on the page opens the inline form as usual, and is activated by Ctrl/Alt N). So the lightbox is still available, but optional.
For some reason that I really can't figure out, adding an action to the context page results in the badge being incremented by two, but almost identical code on the project page gives the correct count. Baffling, but I'm sure I'm missing something that's staring me in the face.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@252 a4c988fc-2ded-0310-b66e-134b36920a42
2006-06-04 14:02:35 +00:00
lukemelia
463a61f514 This changeset introduces some integrated web service type features that take advantage
of the Rails 1.1 responds_to functionality. It also lays a foundation for future API
enhancements.

Basically, if you request the /projects, contexts/ or notes/ URLs with a client that specifies that it wants XML, Tracks will return XML. See DHH on the Accept header (http://www.loudthinking.com/arc/000572.html).

But there's a wrinkle. The controller actions mapped to these URLs are protected by an authentication filter. In normal use, Tracks redirects an unauthenticated user to the login screen for session-based authentication.

I've added a secondary authentication check that looks for a valid username and password coming from HTTP_BASIC authentication.

To test out the new functionality, try this:

curl -H 'Accept: application/xml' --basic --user YOUR_TRACKS_USERNAME:YOUR_TRACKS_PASSWORD http://localhost:3000/projects/

curl -H 'Accept: application/xml' --basic --user YOUR_TRACKS_USERNAME:YOUR_TRACKS_PASSWORD http://localhost:3000/contexts/

curl -H 'Accept: application/xml' --basic --user YOUR_TRACKS_USERNAME:YOUR_TRACKS_PASSWORD http://localhost:3000/notes/

HTTP_BASIC sends passwords in plain text, so the use of https is encouraged.

I haven't tested this on a shared host yet, but Coda Hale, whose simple_http_auth inspired this solution and provided some copy and paste code for it (thanks, Coda!), has some notes about how to make it work in his plugin readme (http://svn.codahale.com/simple_http_auth/README). To wit, putting the following in .htaccess:

  RewriteRule ^(.*)$ dispatch.fcgi [E=X-HTTP_AUTHORIZATION:%{HTTP:Authorization},QSA,L]

My thinking on this architecture is as follows:

1) Follow the spirit of responds_to and DRY to leverage existing controller code for API functionality
2) Get away from using the user token for API interactions. Let's keep it for feeds, so it's basically a "lite" form of security for read-only feeds.
3) Keep Tracks in shape to adopt the simply_restful plugin being developed alongside Rails Edge

There's no real new functionality in this release that the existing API didn't provide (except for seeing your notes as XML, and somehow I don't think people are clamoring for that), but this work is an important step to being able to implement the types of API features people have been asking for.

While I was at it, I did some refactoring to the login_controller for readability and style.

Finally, I replaced the activity indicator graphic to work with the new navigation background color.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@251 a4c988fc-2ded-0310-b66e-134b36920a42
2006-06-04 07:07:42 +00:00
bsag
eefbb70660 Changed all instances of @response, @request, @session etc. to the new forms or response, request, session etc.
Fixes #266



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@239 a4c988fc-2ded-0310-b66e-134b36920a42
2006-05-13 13:32:39 +00:00
bsag
49cde85039 Applied Luke's session patch (ticket 244) in which the user.id only is stored in the session object, rather than the whole user object. This improves security and also makes the session much smaller and less fragile.
I made a small change to the signup method, because the previous method had broken at some point, and was no longer preventing non-admin users from signing others up. I suspect that this had to do with the cross-database differences in the way that booleans are handled, so I changed the method to use ActiveRecord to find the logged in user (thus automatically translating appropriately between 1/0 and 't'/'f').

The tests concerning users and login also broke with the changes in this patch, so I fixed those, and added some of the new Integration tests.

                                                   


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@215 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-08 17:46:41 +00:00
bsag
e50389788b Moved settings for Tracks from the file settings.yml to the database. Running 'rake migrate' will update your database appropriately, and add the default settings into it. Then you should be able to visit <code>http://0.0.0.0:3000/user/preferences</code> to view and edit your settings. The advantage is that you don't need to mess about with the settings.yml file, and each of the users can have their own settings.
I'm intending this to be the last big change before releasing 1.04. Can people with access to the trunk through subversion check out this changeset and report any bugs?



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@182 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-12 15:18:21 +00:00
bsag
0a1fed570e Changes to notification about whether login session has timed out and changes to improve compatibility with SQLite and PostgreSQL databases:
* Set up notification of the session timing out. If you haven't checked the 'Keep logged in' checkbox at login, a method is run periodically (every 5 minutes) to check whether there is more than 10 minutes remaining on your session. When there's less than 10 minutes left, a red warning box appears dynamically at the top of the page appears to tell you that your session has timed out, and asking you to login again (with a link to the login page). This basically prevents the situation when you return to the browser window after more than an hour has elapsed, and try to add a new item without knowing that your session has timed out.
* Changed the find methods that previously used 'done = 0' or 'done = 1' to test for truth or falsity instead. This means that it's compatible with both MySQL (which uses tinyint 0 or 1 values) and SQLite/SQLite3 and PostgreSQL (which use boolean 't' or 'f' values). By using true or false, ActiveRecord translates the values to the correct format depending on which database adapter is being used. 



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@178 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-15 14:38:57 +00:00
bsag
825bad76a7 Applied Luke Melia's patch to update the todo toggling to use RJS templates (#190).
I also added the following:

* Expanded Luke's patch so that toggling also works on Context and Project pages.
* The 'empty' messages for the uncompleted and completed actions divs now appear and disappear automatically on the context and project pages as you toggle, untoggle, add and delete actions
* At some point, hiding of contexts on the front page broke. It seems that recent updates to Rails changed the way that it interprets tinyint fields: these can now only be tested with true or false, not 0 and 1, and that was why it broke. Also the code for selecting only unhidden contexts on the front page used .hidden? for some reason and not .hide. Fixed now.

A remaining issue is that on the home page, if you add an action to (or uncheck an action to) a context that is not currently shown (because it is hidden, or it has been empty), the record will be changed, but nothing will appear to happen until you refresh. I'd like to test for this situation and put a message up assuring the user that things worked and that they need to refresh.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@175 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-10 06:15:48 +00:00
bsag
d0a542f625 Main changes are to login and session management:
* Added Luke Melia's patch to warn the user when the session has timed out when the user has added or checked off a next action without refreshing the page first. If they check off an item, they are redirected to the login page, then when they return, they are informed that the action has been checked off. If they add an item, they are informed after returning from the login page that the next action hasn't been added. Fixes #163.
  * Made some stylistic changes to login and signup pages to make them tidier, and to fit with the main theme better
  * Fixed bug with deleting items: the sheet which appeared was an alert (with only an 'OK' box, rather than a confirmation (with both an 'OK' and 'Cancel' box). Fixes #189.
  * Added a new feed icon to comply with the new de-facto standard: from [http://www.feedicons.com/ Feed Icons].



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@172 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-08 13:21:24 +00:00
bsag
c58f41775c Quite a few improvements to Ajax handling here:
* Installed the RJS plugin http://www.codyfauser.com/articles/2005/12/05/rjs-templates-plugin-subversion-repository
* Used the RJS templates to update multiple page elements on addition and deletion of actions: the new action gets added, the count 'badge' is updated correctly, and a status area provides helpful information.
* If your data entry triggers validation errors e.g. no description for the next action), the errors are displayed in the status area (not very prettily as yet...)
* The message about the context/project having no uncompleted actions automagically appears/disappears without refreshing the page.

The editing and toggling of actions hasn't been updated yet.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@171 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-04 19:49:15 +00:00
bsag
7d33019265 Changed the instances of :project (referring to flagging whether we are on a project page) for an @on_page = "project" variable. In forms, I send a request parameter @param["on_project_page"] to set @on_page to "project" before rendering the partial.
It works fine except in the following circumstances, which I can't seem to figure out:

* If you edit an action on a project page, it will render with '[P]' link until you refresh
* If you mark an action completed on a project page, it will also render with a '[P]' link until you refresh.

However, adding a new action on a project page renders properly immediately.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@167 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-07 19:06:24 +00:00
bsag
80f3fdbc77 Applied Luke's patch (#164) to decrease the size of the homepage and load the edit forms dynamically when the edit button is clicked. Thanks, Luke!
As a result, I'm going to redo the empty message changes I made in [164], and will see if I can find a more sensible way to implement them. The empty messages still appear (now also in the notes area if that's empty), but you need a refresh after Ajax changes to view or remove them.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@165 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-04 11:43:09 +00:00
bsag
8349e760b3 First stage of cleaning up the messages in project/show which remind you if there are no uncompleted or completed actions, or notes in the current project. The show method checks whether @not_done, @done or @notes is empty, and if it is sets a message which is displayed in the partial.
I've added Scriptaculous calls to the Ajax for adding a new action, or completing a previously not done action removes the appropriate message (as these activities must logically make @not_done and @done non-empty. Similar thing added for project notes.

The next step will be to handle those cases where the last action is completed or deleted, or an unchecked done item refills the not_done actions, which is trickier to pick up. Then I'll repeat for context and todo views.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@164 a4c988fc-2ded-0310-b66e-134b36920a42
2005-11-27 17:56:34 +00:00
bsag
8a342036a1 Updated for Rails 0.14.3
* Fixed unchecking of next actions on context and project pages, so that they now update visually, as well as changing the database.
* For some reason, the completion field was not being saved, which was messing up the completed page. That's fixed now.
* Deletion and editing of items was broken on context/show and project/show. That's fixed now, but if you uncheck a completed item, then attempt to delete or edit an item without a refresh it will fail. I'm not sure what I can do about this.
* Next actions on project and context pages now show the appropriate link to contexts and projects respectively, even when first created by Ajax.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@162 a4c988fc-2ded-0310-b66e-134b36920a42
2005-11-13 11:50:18 +00:00
bsag
a948beefee Fixes #135 (projects page incorrectly referring to context page for Sortable drag and drop code, so changes to project sort order were not sticking after a refresh.
Fixed #142 - the 500 error was being generated on dragging projects and contexts to reorder because the order method was looking for an order view and layout. I've added a :render => nothing statement to order now,and that seems to fix the error.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@158 a4c988fc-2ded-0310-b66e-134b36920a42
2005-10-31 07:52:07 +00:00
bsag
5e4f0f9fe8 Improved the security of the new drag and drop features of the projects and contexts lists by checking that the logged in user owns those items.
Also changed references to Form.focus_first which were defined in the removed file prototype-ex.js to Form.focusFirstElement, which is defined in prototype.js. Fixes #133.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@149 a4c988fc-2ded-0310-b66e-134b36920a42
2005-10-10 21:14:34 +00:00
bsag
5ce97df3f4 Quite a few changes in this revision:
1. The contexts and projects lists are now drag and droppable. In other words, if you visit [tracks_url]/projects or [tracks_url]/contexts, you can grab the 'DRAG' handle with the mouse and drag and drop the projects or contexts into your preferred order. At the same time, this re-orders the 'position' column appropriately, so that changes in order will be reflected on other pages. '''NB''': At the moment, deleting projects and contexts is a bit buggy. The item doesn't disappear, but if you refresh the page it will update appropriately. Also, if you add a new item, you can't drag it until you refresh. I'll try to fix these things. Fixes #115.
2. Fixed typo of 'tomorrow' due date label. Fixes #131
3. I updated the syntax for some of the visual effects to use the new {{{visual_effect(:fade, 'element')}}} syntax. Also removed the javascript files effects2 and prototype-ex, which aren't used now. 


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@148 a4c988fc-2ded-0310-b66e-134b36920a42
2005-10-09 17:51:31 +00:00
nic
91641500a7 Merged tracks-mu-import branch changes r113:130 into the trunk
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@131 a4c988fc-2ded-0310-b66e-134b36920a42
2005-08-08 01:54:05 +00:00
bsag
3f90096bb8 Completed projects no longer appear in the Projects drop down on all the forms. Fixes #66.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@105 a4c988fc-2ded-0310-b66e-134b36920a42
2005-06-12 12:14:30 +00:00
bsag
b4d72cf17a Updated the documents, which are now in doc (CHANGELOG and README_FOR_APP).
Also removed the tabs from all the files, and replaced with spaces (2 per tab).


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@102 a4c988fc-2ded-0310-b66e-134b36920a42
2005-06-11 12:24:19 +00:00
bsag
977ca82306 Fixes #62.
The problem was that project (and context) names were made into URLs via the 'urlize' method which substituted spaces for underscores and downcased the string. This was then converted back to the real project name by the Rails method 'humanize', which substituted spaces for underscores and Capitalized the string (i.e. only the first word was given an initial capital). This meant that visiting /project/show/project_name would fail if the real project name was either 'Project Name' or 'project name'.

I altered 'urlize' to maintain the capitalization that was entered, and created a new method 'deurlize' that just reversed this change (i.e. swapped underscores for spaces, but left capitalization as is).


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@101 a4c988fc-2ded-0310-b66e-134b36920a42
2005-06-07 18:39:51 +00:00
bsag
9f89610fab The dropdowns for contexts and projects are now ordered by the position attribute, so if you move your 'default' context or project to the top of the list in /contexts and /projects, that will be the default option in the dropdown.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@95 a4c988fc-2ded-0310-b66e-134b36920a42
2005-06-04 17:11:59 +00:00
bsag
ed5d72e9e1 Contexts and projects can now be sorted in any order you like. Arrow buttons on the /contexts and /projects pages let you move an item to the top, up, down or to the bottom. For contexts, this affects the order in which they sort on the home page. Fixes #46.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@90 a4c988fc-2ded-0310-b66e-134b36920a42
2005-05-29 09:32:02 +00:00
bsag
8406a482d5 Merged branches/TRY-BSAG-ajax back to the trunk.
...and we're back!


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@86 a4c988fc-2ded-0310-b66e-134b36920a42
2005-05-28 14:08:44 +00:00
bsag
8998c7f520 Added a count of next actions to the /projects page, showing how many uncompleted next actions remain for each project. Fixes #7.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@58 a4c988fc-2ded-0310-b66e-134b36920a42
2005-04-03 15:03:59 +00:00
bsag
0577e850f6 [Contributed by Arnaud Limbourg, ticket:18] A new entry in settings.yml allows you to choose the number of completed actions you want to see on the /todo/list home page. Also sorts by due date (ascending) first, then creation date (descending) on /todo/list, /context/show/[name], and /project/show/[name]
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@57 a4c988fc-2ded-0310-b66e-134b36920a42
2005-04-03 11:45:05 +00:00
bsag
ec69c71564 [Contributed by Nicholas Lee] Changes to the way that URLs are specified which should improve the situation for people using Tracks in a subdirectory.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@54 a4c988fc-2ded-0310-b66e-134b36920a42
2005-03-30 15:35:37 +00:00