On a related note, a fair amount of javascript has changed, so please do try it out on your favorite browser and add any other cross-browser issues to the Trac.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@434 a4c988fc-2ded-0310-b66e-134b36920a42
* Cleaned up the _item partial, moving logic into todo_helper methods.
* Patched the unobtrusive_javascript plugin to avoid overflow of the session storage. I've submitted this patch by email to Luke Redpath, and hopefully, the plugin will incorporate this or similar functionality in the future.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@433 a4c988fc-2ded-0310-b66e-134b36920a42
Introduce unobtrusive_javascript plugin to start to beautify our html and reduce the size of our html pages. See http://www.ujs4rails.com/ for more info.
Implement unobtrusive_javascript for contexts listing page and project detail page.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@430 a4c988fc-2ded-0310-b66e-134b36920a42
<http://blog.evanweaver.com/articles/2006/06/02/has_many_polymorphs>
Also removed chronic because it is not currently used.
* Tags are entered separated by commas, so tags with spaces are allowed
* When you edit an action, whatever is submitted in the tags text field replaces existing tags: if you submit an empty field, tags are removed from the action
* Clicking on a tag shows a page listing all the actions with that tag (/todo/tag/tag+name)
Todo:
* Tests
* RESTful routes for Tags (if it makes sense for tags - I haven't decided)
* If you remove tags for an action, it removes the entries from the Taggings table, but it can leave an orphan Tag if there are no more Taggings for that Tag. One problem is that another user might have an identically-named Tag, so we don't want to remove their Tag, just because we have finished with it. I'm not sure how to arrange this yet.
Don't forget to rake db:migrate. There is also a change in config/environment.rb.tmpl, so remember to copy the changes to your copy.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@425 a4c988fc-2ded-0310-b66e-134b36920a42
Changes include:
* Update the URL on the Feeds page to use /contexts.rss or /contexts.txt instead of FeedController? link
* Add created_at and updated_at timestamps to contexts table to support ATOM feeds
Notes:
* This will break previous context listing feed subscriptions.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@423 a4c988fc-2ded-0310-b66e-134b36920a42
Also fixed a couple of ajax bugs with the badge_count on the Project detail page. Updated Selenium tests for regression testing of these bugs.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@421 a4c988fc-2ded-0310-b66e-134b36920a42
Changes include:
* Add assert_xml_select method for testing RSS and ATOM results (Thanks, Jamis! http://weblog.jamisbuck.org/2007/1/4/assert_xml_select)
* Add resource_feeder plugin for generating RSS and ATOM feeds
* Update the URL on the Feeds page to use /projects.rss or /projects.txt instead of FeedController link
* Add created_at and updated_at timestamps to project table to support ATOM feeds
* Added new filter to login_system "login_or_feed_token_required" to allow RSS, ATOM or text requests with token-based authentication
Notes:
* This will break previous project listing feed subscriptions.
* RSS, ATOM & text feeds are available via session or HTTP_BASIC authentication, or by passing the user's token on the url; HTML and XML results are only available via session or HTTP_BASIC authentication
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@415 a4c988fc-2ded-0310-b66e-134b36920a42
Also fixed a recently introduced bug that caused projects or contexts with numbers in the name to fail to resolve properly by URL
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@401 a4c988fc-2ded-0310-b66e-134b36920a42
Made a start on tagging support. You can add tags via the action forms (just single word tags, separated by a space so far), update tags via the edit form (same limitations), and also search for all actions with a particular tag:
/todo/tag/[tag_name]
Tests for tagging are a bit rudimentary at the moment, and you can't as yet use tags consisting of multiple words, or search for conjunctions of tags (e.g. foo+bar), but I'm hoping to add these. Also no validation, so don't try anything funny!
I'm also planning on letting the user create custom links to /todo/tag pages, so that you can use a tag for inbox, someday/maybe, today, a meta-project, priority, or whatever you like.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@400 a4c988fc-2ded-0310-b66e-134b36920a42
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
This change also changes project detail page URLs from /project/my_project to /projects/my_project
Benefits include
* built-in enforcement of proper HTTP methods
* simple named routes (e.g. project_url(project) instead of { :controller => "project", :action => "show", :url_friendly_name => project.url_friendly_name })
* built-in routes for formats like .js and .xml
Also fixed a http basic authentication bug that I introduced a couple of days ago
Add a database index on the users table, login column, to speed authentication
Made more use of simply_helpful dom_id() method and simplified _project_listing.rhtml
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@398 a4c988fc-2ded-0310-b66e-134b36920a42
The bold state changes once the ajax operation is complete.
Project status changes now also show a flash notice when the ajax operation completes.
Add a selenium test to confirm this behavior.
Fixed a bug where hiding a project would make deferred items hidden. Now we leave them deferred.
Added a little breathing room between the project status options.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@395 a4c988fc-2ded-0310-b66e-134b36920a42
Added this validation to Contexts as well.
Introduced a new plugin to hold extra validations. The first one is validates_does_not_contain, which
DRYs up and cleans up the validations used to prohibit slashes and commas in Project and Context names.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@394 a4c988fc-2ded-0310-b66e-134b36920a42
A new Data controller lets you export in a number of different formats: YAML, CSV and XML. All actions produce the appropriate format file for download.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@393 a4c988fc-2ded-0310-b66e-134b36920a42
Made all dates and times stored in UTC in the database and presented according to the User's preferred time zone.
Cleaned up old unused preference methods in UserController
Restored keyboard shortcuts for date field interaction
Aliased preference in User model to prefs for brevity
Don't forget to rake db:migrate for this update!
All tests pass, but there were a lot of little changes involved in this feature. Please help me test it thoroughly if you're using the trunk.
Fixes#349
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@392 a4c988fc-2ded-0310-b66e-134b36920a42
Note that I'm currently only able to successfully run Seleniunm tests on Firefox (Mac & PC). I'm not successful on Safari or IE7.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@388 a4c988fc-2ded-0310-b66e-134b36920a42