Commit graph

235 commits

Author SHA1 Message Date
lukemelia
0e53ea5890 Fixed #523 (updating context in tickler does not move todo on screen)
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@583 a4c988fc-2ded-0310-b66e-134b36920a42
2007-09-10 04:17:01 +00:00
lukemelia
d29fb230f0 exclude the init filter from running for the toggle_check and toggle_star. Speeds up request as described by lrbalt in #546.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@577 a4c988fc-2ded-0310-b66e-134b36920a42
2007-08-19 04:22:36 +00:00
lukemelia
4775184403 Apply James Kebinger's patch to reduce the size of the projects listing HTML. Thanks, James. Closes #509
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@576 a4c988fc-2ded-0310-b66e-134b36920a42
2007-08-14 06:57:27 +00:00
lukemelia
30c23fc560 Introduce current_user and prefs accessors that replace the @user and @prefs variables that were being used in most places.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@575 a4c988fc-2ded-0310-b66e-134b36920a42
2007-07-30 05:29:18 +00:00
lukemelia
ad5fbc7147 Fix a bug where the limit parameter was not respected in the TodosController. This bug affected the Last 15 Actions feed.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@574 a4c988fc-2ded-0310-b66e-134b36920a42
2007-07-25 03:54:26 +00:00
lukemelia
64321f5c46 Create a named route for the preferences page and use it. Rename "crypt_token" to "generate_token".
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@569 a4c988fc-2ded-0310-b66e-134b36920a42
2007-07-17 04:47:35 +00:00
lukemelia
08e5d6069d Rename the word field in the User model to token throughout the application and in the database. It fits better semantically with the way the field is used.
Note: this changeset requires a "rake db:migrate"



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@568 a4c988fc-2ded-0310-b66e-134b36920a42
2007-07-17 03:50:13 +00:00
lukemelia
16b9c2947b This changeset adds real "remember me" functionality. The checkbox on the login page "Stay logged in" previously prevented an inactive session from expiring. Now, it also functions to remember that a user is logged in across browser sessions (i.e. a user exits the browser, and reopens it).
I've also ensured that all tests (including selenium tests) are passing on my machine.

This changeset should be back to stable and usable.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@561 a4c988fc-2ded-0310-b66e-134b36920a42
2007-07-08 06:41:10 +00:00
lukemelia
4160cf0ab3 Applied James Kebinger's patch to remove the password from the logs emitted by LoginController. Closes #521. Thanks, James!
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@552 a4c988fc-2ded-0310-b66e-134b36920a42
2007-06-08 04:01:11 +00:00
lukemelia
1cce7f076c This changeset is larger than I prefer, and may be unstable with databases besides mysql.
Also, for developers: two new gems are required for running tests: zentest and flexmock.

I applied James Kebinger's patch to add starred actions. These are implemented behind the scenes as a tag, so you can see all starred actions the way you would look at actions for any tag. Closes #387. Thanks, James!  
Tests now rely the ZenTest gem. Thanks Ryan Davis & Eric Hodel.
I improved test coverage of a few models and created a test for the new helper methods to support the stars. (Helper method tests are made possible by ZenTest. The helper tests use mock objects to isolate them, courtesy of flexmock. Thanks, Jim Weirich!)
Modified a few selenium tests to work properly with mysql.
Upgraded the has_many_polymorphs plugin.
Add rails_rcov plugin to get test coverage numbers more easily.
Convert toggle_check action to correspond to a PUT instead of a POST (follows CRUD<->HTTP mapping better).

I'm having some issues running tests with sqlite3 that I haven't been able to figure out. I'll work on it, but wanted to check in so I can check out and work from the beach this weekend.

Happy holiday weekend to those of you in the U.S.!




git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@544 a4c988fc-2ded-0310-b66e-134b36920a42
2007-05-25 19:01:08 +00:00
lukemelia
bd51916561 Added an XML representation of an indvidual context and context.
Updated some HTTP error status codes to play better with ActiveResource.
Added date_field_tag helper method and make it format the date properly.
Used beginning_of_day() instead of to_date().to_time().
Verified all tests pass on Win32.

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@542 a4c988fc-2ded-0310-b66e-134b36920a42
2007-05-21 06:12:55 +00:00
bsag
3175f8fc24 Tickler actions are now displayed in their context container, as on the home page. Accordingly, only the project link ([P]) is now shown after the action description, as on the home page.
Fixes #499.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@538 a4c988fc-2ded-0310-b66e-134b36920a42
2007-05-06 11:38:16 +00:00
lukemelia
274cdba18c Fixed #484. There was a bug preventing validation errors from appearing when editing todos. In addition, todos now have their state updated before loading the tickler page.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@536 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-18 03:23:33 +00:00
lukemelia
bd9045c04f Fixed #490 (in mobile view make todos per page configurable via preference).
Don't forget to rake db:migrate for this!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@534 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-16 03:15:24 +00:00
lukemelia
14f2067a1e Fix #498 (cannot login using mobile interface) by introducing a login page specialized for mobile devices. To support this, I added named routes for the login paths and pulled up the mobile content negotiation code to the ApplicationController.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@531 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-16 02:19:20 +00:00
lukemelia
2ff03c573e Cleaned up some more unnecessary ActiveRecord calls in the ProjectsController and ContextsController.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@529 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-11 06:04:17 +00:00
lukemelia
472db2f586 Remove a couple of unnecessary queries that were slowing down rendering of the projects and contexts listing pages and eating up too much memory.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@528 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-11 05:04:31 +00:00
bsag
a4ed53f148 Added lrbalt's patch to display the deferred actions and completed actions with a particular tag on the /todo/tag/[tag_name] page. Only active, deferred and completed actions with the selected tag are shown on the page now.
Thanks lrbalt!

Fixes #447


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@526 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-08 15:13:24 +00:00
lukemelia
2d73602d98 Added ability to sort projects alphabetically on the project listing page. Closes #461 (Ability to alphabetically sort projects as an alternative to drag/drop)
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@524 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-06 05:45:21 +00:00
lukemelia
c89d8f0012 Fixed #491 (broken: Actions completed in the last 7 days). Thanks for the bug report, SK.
Also, removed some junk from the data_controller test output.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@520 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-02 05:09:07 +00:00
lukemelia
179d194fb2 Apply James Kebinger's patch to fix #492 (broken: csv export of notes). Thanks SK for
the bug report and James for the patch!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@518 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-02 04:29:48 +00:00
lukemelia
ba0b52ff1a Merged mobile_controller into the todos_controller. The lightweight mobile HTML is
arguably just another representation of the same resources, so it seems to fit
the RESTful Rails paradigm to use an extension (.m) to switch on in the
respond_to stanza.

I needed some hackery to make this work. See my note in todos_controller for
a full explanation.
 
I also added a route to get to the mobile view by using 'domain.com/m'

Created some selenium tests for the mobile view, too. 

In optimizing the data access for the mobile view, I ran into "a bug in rails
pagination":http://dev.rubyonrails.org/ticket/7885" and integrated a nice
pagination plugin from the Err the Blog guys
("will_paginate":http://errtheblog.com/post/929) to work around the issue.

NOTE that this changeset includes a new line in environment.rb.tmpl (at
the bottom). Be sure to copy this into your environment.rb file. 

These changes fix #489 (cannot edit action using mobile interface).
Thanks for the bug report, lrbalt!

In the name of consistency, I made the argument to the block for all
respond_to calls 'format' (instead of the formerly cool 'wants').

Lastly, I added a link to the project's new contribute page to the footer of
the main web UI. Help us join the Mac on Intel world. :-)



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@517 a4c988fc-2ded-0310-b66e-134b36920a42
2007-04-02 04:18:19 +00:00
lukemelia
06f14dd3b9 And here's the copy step.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@501 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-30 04:36:52 +00:00
lukemelia
c34d9faa38 Arg. Branching never seems to "just work". Going to delete and recopy. Here's the delete step.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@500 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-30 04:36:14 +00:00
lukemelia
8e719d9e9a Added message to contexts page when no contexts exist. Fixes #476.
Also tweaked a couple of selenium login tests to make them work properly if run alone.
 


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@488 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-28 05:08:55 +00:00
lukemelia
704d39add1 Blanking out a project name when editing a todo will now remove the todo from the project.
Also fixed the reference to test/selenium_helper.rb in the test/environment.rb to be pathed more reliably.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@487 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-28 04:45:39 +00:00
lukemelia
02de36876e Refactor cached notes count code based on advice fro the ruby-nyc list. Thanks all!
Refactor out some finds to use automatically scopred finds on assication extensions.
Refactor out some error handling for very unusual cases.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@486 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-27 04:49:44 +00:00
lukemelia
5d63400fca Added number of notes to project listing page. Fixes #128.
Interested in feedback on this... Which is higher value: the simplicity of only showing the number of actions or the utility of showing the number of notes as well?
 


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@485 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-25 04:26:39 +00:00
lukemelia
5a878b3e84 A few minor changes and bug fixes:
* On first user signup, the user no longer needs to login and after signing up. They are automatically logged in.
 * The Projects page was showing the name of the last project listed in the new project form. It is now appropriately blank.
 * When trying to create a new action, an error was occurring trying to update tags if the action failed to save. We now only try to update tags if the action saved. I wonder if we should be using some sort of ActiveRecord transaction here. If anyone knows about this, please contact me.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@481 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-22 04:37:20 +00:00
lukemelia
38b2e336a8 Implemented a feature that give a project and optional default context. When set,
this context will be pre-populated when creating an action from the project's page.
When creating an action from the home page, the context will be auto-selected when
the project is selected if the context field has not yet been entered.

This implementation is a combination of the great patch submitted by James Kebinger
(thanks James!) and some of my modifications and additions.

Don't forget to rake db:migrate.

Fixes #162, originally suggested by Rolf one year ago!

Also in this commit:

 * Tweaked selenium tags test
 * Tweaked formatting of next/previous project HTML
 * Implemented Null Object pattern for context to support
   a Project having no default context
 * Removed tickler.rhtml, no longer in use
 * applying z-index values to project sortable list items (otherwise context
   autocomplete was appearing below next list item)
 * Swapped order of project and context in new action form (setting default context
   makes more sense this way)
 * Removed CSS width of for form elements, so form could be used in content area
   without being too narrow
   


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@480 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-21 07:12:14 +00:00
bsag
1bf617f8f1 Actions on the /todos/tag page are now displayed by context, as on the home page. If you don't have any incomplete actions with the specified tag, you'll get a message, but at the moment I can't seem to handle the error that occurs when the tag itself does not exist, so you get kicked back to the index page with a generic server error.
Fixes #447.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@478 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-19 09:14:55 +00:00
lukemelia
106d5ee448 Made TodosController more RESTful and use it to fulfill all feeds, eliminating the need for the FeedController and it's helper and views. Also added an ATOM feed (not linked in the UI anywhere, just substitute .atom for .rss).
I also ran rcov on unit tests and added tests to improve test coverage, uncovering a couple of bugs along the way.

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@476 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-18 00:38:05 +00:00
lukemelia
84357b67d5 Apply Trevor Lovett's patch (#364)
"I kick off a lot of small projects, and I often want to add actions right when I create the project. This is a simple tweak that provides a check box that allows you to immediately go to the project page after creating a new project."

Thanks, Trevor. Sorry it took so long!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@474 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-10 04:10:53 +00:00
lukemelia
3e177ad67b Apply James Kebinger's patch to improve the initial state of the projects page when a user does not yet have any projectes.
Thanks, James!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@472 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-10 03:23:59 +00:00
lukemelia
85885f9b9b Add next-previous links to project detail pages. Closes #379
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@470 a4c988fc-2ded-0310-b66e-134b36920a42
2007-03-06 13:18:31 +00:00
lukemelia
1bada8f5a3 Introduced separation of projects by state (Active, Hidden, Completed) on the main Projects page. There are still some Ajax corner cases to work out, but it's perfectly usable. Closes #460.
I also refactored change password code.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@464 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-28 05:36:10 +00:00
bsag
9c0a572c56 Clicking the 'Done' button in the nav bar no longer results in a 500 error.
Fixes #456

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@458 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-24 10:50:21 +00:00
lukemelia
4f9cd61619 Some tweaks to the Open ID authentication support (which I've been using very happily, BTW). It now respects the "Keep me logged in" checkbox on the login page. It also cookies your openid url for less typing on future visits to the login page.
Also, we try to avoid calling store_location on expiry if the triggering url was an ajax request (like one of the periodically executing javascripts). Storing the location doesn't make sense in that case.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@457 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-24 08:04:23 +00:00
lukemelia
dae9a4b1b4 Fix problem that caused an empty project text feed. Fixes #444.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@456 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-24 02:23:59 +00:00
lukemelia
42f560957f DRY up the feed_controller with a filter.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@455 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-23 13:54:38 +00:00
lukemelia
139051f55f Tweak the context_listing/edit_then_delete test to run more reliably
More adjustments to the time zone calculations. Fixes #450
Add context and project finders as Association Extensions on the User model to simplify controllers and address the feed bug identified by Ryan. Fixes #446 and #444
Replaced usages of "uncompleted" with "incomplete"



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@454 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-23 13:38:36 +00:00
lukemelia
9e3f686f84 Added feed for active projects with no next actions. Closes #423.
Refactored ProjectsController#index and ContextsController#index to simplify them.
Tweak the taggings fixtures to fix broken tests.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@451 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-22 05:15:52 +00:00
lukemelia
10417aca20 Improve and clean up the Ajax interactions involved in deleting projects and contexts from their listing pages.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@449 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-21 14:12:54 +00:00
bsag
341e1fa603 Altered /todo/tag so that it only finds active actions, not completed ones.
Fixes #448

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@447 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-20 20:05:34 +00:00
lukemelia
48e9bcc33f Removed timezone adjustments from date parsing. It doesn't make sense to adjust a date, only a time. Thanks to the commenters on ticket #427.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@444 a4c988fc-2ded-0310-b66e-134b36920a42
2007-02-17 07:03:56 +00:00
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
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
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