Commit graph

2482 commits

Author SHA1 Message Date
lukemelia
468ad81122 Improve OpenId authentication in cases of delegated OpenID (see http://simonwillison.net/2006/Dec/19/openid/ for background on this).
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@437 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-13 05:28:51 +00:00
bsag
da7408387d Added to todo controller tests to test adding and removing tags from a todo, and also finding todos tagged with a tag.
Also added a Selenium test for finding todos tagged with a tag.

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@436 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-10 19:11:22 +00:00
lukemelia
08290efdf5 Fixed #436 (Show from not working). While debugging this issue, I renamed a lot of usages of "item" to "todo" to make the code easier to understand.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@435 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-08 05:47:14 +00:00
lukemelia
d012a3ab71 Fixes bug #435 introduced in the last changeset that prevented actions from being marked complete in Safari (how unproductive!).
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
2007-02-06 13:43:16 +00:00
lukemelia
3070d280ea * Apply unobtrusive javascript principles to _item partial, and reduce the amount of inline javascript throughout the app by a lot.
* 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
2007-02-06 05:42:40 +00:00
lukemelia
87e08a10e8 Reduced the amount of inline javascript for each todo item rendered by half.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@432 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-05 07:23:49 +00:00
lukemelia
3374679bac Optimize the number of SQL queries fired off on the home page load by eager loading tags.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@431 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-05 05:17:38 +00:00
lukemelia
6814c29626 Created shared partial for footer to share between layouts.
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
2007-02-05 04:25:10 +00:00
lukemelia
572dcdf42e Fixes #195. Thanks, Tommi!
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@429 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 18:37:30 +00:00
lukemelia
fb986c6603 Fixes #399 (Bullets do not display in standalone notes)
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@428 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 17:34:24 +00:00
bsag
1b86ccb82c Made the sort order of actions on the home page consistent with that on the context and project pages. Actions with the nearest due date (or the most overdue) appear at the top, followed by actions with no due date which are sorted by creation date with the newest at the bottom.
Fixes #428



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@427 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 16:34:17 +00:00
bsag
eeebfff5cc Fixed the tab order of fields in the action edit form. Fixes #425.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@426 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 16:20:30 +00:00
bsag
d0666038f2 Removed acts_as_taggable because it is deprecated and replaced with has_many_polymorphs:
<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
2007-02-04 15:33:24 +00:00
lukemelia
6fce959bf8 Remove a file that's not necessary with the last changeset.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@424 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 05:56:11 +00:00
lukemelia
fcab16a5c2 The contexts controller gets more RESTy. It now supports XML, RSS, ATOM, HTML and plain text views of the contexts list.
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
2007-02-04 05:12:19 +00:00
lukemelia
6045a7a986 Fixes #432: Could not successfully set project to None while editing a Todo.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@422 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-04 04:16:50 +00:00
lukemelia
eb1709b053 Eliminated rails deprecation warnings originating from todo_list. The last warning left is from the acts_as_taggable plugin.
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
2007-02-02 06:50:19 +00:00
lukemelia
f828d4b3ff updated to r66 of acts_as_state_machine plugin. This eliminates some rails deprecation warnings
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@420 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-02 06:01:23 +00:00
lukemelia
77c620d7c4 prepare to update acts_as_state_machine
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@419 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-02 05:58:52 +00:00
lukemelia
c72a72fe31 replace deprecated assertions
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@418 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-02 05:58:21 +00:00
lukemelia
59f5cea7b8 upgrade to memory_test_fix r171
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@417 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-02 05:01:12 +00:00
lukemelia
0da21e3b96 prepare to update memory_test_fix plugin
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@416 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-02 04:58:05 +00:00
lukemelia
d9d5ff4d06 The projects controller gets more RESTy. It now supports XML, RSS, ATOM, HTML and plain text views of the projects list.
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
2007-02-01 05:32:05 +00:00
lukemelia
fda7788237 updated simply_helpful to latest version
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@414 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-31 06:19:16 +00:00
lukemelia
a1df3eb6a1 preparing to update simply_helpful to latest version
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@413 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-31 06:17:52 +00:00
lukemelia
ef2d93542e Make the UsersController more RESTy. It now supports retrieving a list of users or a particular as XML (available to admins only).
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@412 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-31 05:36:33 +00:00
lukemelia
b1b03b2c8a Restore functionality for creating an admin user on first run. Fixes #429.
Also improved the messaging in this situation.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@411 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-30 05:55:17 +00:00
lukemelia
ddc6d57c17 Make the UsersController more RESTful by moving actions that act on the Users resource from LoginController to UsersController.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@410 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-27 08:28:52 +00:00
lukemelia
109a1847fb Made the Users Controller RESTful. This obviated the need for the currently functionality of the AdminController, so I removed it and consolidated tests.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@409 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-26 06:37:44 +00:00
lukemelia
707b8cdf86 Add smoke tests for feeds. Fix bug in all projects feed.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@408 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-26 05:24:31 +00:00
lukemelia
f364b039d7 Adjust the routing and name for the periodically executed check for deferred items.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@407 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-25 13:59:40 +00:00
lukemelia
fedf029764 Make Todo routes RESTful.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@406 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-25 07:07:10 +00:00
lukemelia
b2ce323f3a Upgrade to rails 1.2.1
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@405 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-25 04:19:22 +00:00
lukemelia
498b5700be prepare to upgrade to Rails 1.2.1
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@404 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-25 03:56:17 +00:00
lukemelia
828ad592e2 Make the NotesController user RESTful routes.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@403 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-15 07:50:54 +00:00
lukemelia
bb4b726650 Resolve conflicting migrations
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@402 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-14 23:37:56 +00:00
lukemelia
ce2a9e2279 Minor refactor to preare for arRESTing NoteController.
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
2007-01-14 19:33:11 +00:00
bsag
36fcfe5c59 Support for tagging of actions!
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
2007-01-14 19:29:01 +00:00
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
8b62e4c784 Convert project_controller to use RESTful routes (required renaming project_controller -> projects_controller per rails convention).
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
2007-01-12 13:46:45 +00:00
lukemelia
e9e6c33599 On login page, focus the first field on page load for easier logging in.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@397 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-12 02:36:11 +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
ead9a4cfe9 Add a bold state to emphasize the project status on the project detail page.
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
2007-01-10 07:01:26 +00:00
lukemelia
f73401a850 Fix #422 by validating that project names do not contain commas. Thanks for the bug report, Stephen!
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
2007-01-10 04:55:39 +00:00
bsag
12aa6cee41 Started adding facility for importing and exporting data - only export is available at the moment.
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
2007-01-07 15:19:33 +00:00
lukemelia
2329cb8e1e Introduced user preference for time zone (migration, model and prefs forms)
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
2007-01-06 10:06:33 +00:00
lukemelia
9a444be3fe Update to Edge Rails tag rel_1-2-0_RC2
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@391 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-06 06:30:26 +00:00
lukemelia
cdde8d9ca7 Prepare to update to Rails 1.2 RC2
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@390 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-06 06:26:52 +00:00
lukemelia
bf22f7d49c rename a few selenium tests
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@389 a4c988fc-2ded-0310-b66e-134b36920a42
2007-01-02 02:21:45 +00:00
lukemelia
10a4ead296 Reorganize Selenium tests into Test Suites and continue work on Ajax interactions for deferred actions section of Project Page.
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
2007-01-02 02:18:11 +00:00