Commit graph

4262 commits

Author SHA1 Message Date
bsag
a716eb8aef I don't know quite what went wrong last time, but I discovered that on my set up at least, the version of Rails in the vendor directory was not acting as Rails 1.1. RJS templates didn't work, the 1.1 rake tasks weren't there and it was just really wonky.
So now I've got rid of the svn:externals property on vendor which was supposed to be bringing in the tagged Rails release, and I'm using rake freeze_edge instead to freeze to the 1.1 release.

Seems to be working OK for me now. Note that if you're using this, Ruby 1.8.4 is recommended, and you'll need to delete your old lighttpd.conf in config (if you have one) and let Rails generate a new one for you when you start lighttpd with script/server.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@212 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-30 17:57:16 +00:00
bsag
bd521d0e03 Updated the vendor directory for Rails 1.1. Also got rid of the RJS plugin as it should no longer be needed with Rails 1.1. Javascripts updated.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@211 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-29 19:48:01 +00:00
bsag
99851e1eab Committed Luke's Web service API (#241). Provides a simple API for adding a next action with a given description to a context:
int NewTodo(string username, string token, int context_id, string description)

Thanks, Luke!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@210 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-29 07:17:38 +00:00
bsag
10ed289d28 Made an absolutely minuscule change which eliminates the superfluous blank lines in the text feeds.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@209 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-23 18:56:41 +00:00
bsag
6d4b5f70c0 Committed Luke's spinner patch: ajax actions show a spinner while they are working, next to the date at the top of the page.
One issue is that adding successive actions without refreshing on the home page only triggers the spinner the first time, but deleting actions on the same page without refreshing triggers it each time. I don't have a clue why.

Fixes #192.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@208 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-22 19:13:41 +00:00
bsag
9e5f0a7c3e Added Luke's patch to honour the user's context ordering in the feeds.
Fixes #237.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@207 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-22 18:35:08 +00:00
bsag
d7091d952e The :dependent => true option somehow got dropped from context.rb, so deleting a context which did not delete any next actions belonging to that context as it was supposed to, leading to a NoMethodError.
:dependent is now reinstated - fixes #234. Thanks to umatz for reproducing the bug.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@206 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-22 12:33:27 +00:00
bsag
c18db17054 Added Luke's patch to re-factor the accesskey-hints.js file using JSON notation.
Fixes #223.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@205 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-11 12:19:36 +00:00
eric
0ee4b8f6d1 Commiting to Trunk instead of the 1.0.4 tag, whups.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@204 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-09 19:08:17 +00:00
bsag
512c124955 Updated .htaccess and README_FOR_APP to suggest using fcgid-script instead of fastcgi-script on Debian. Thanks, jmail2!
Fixes #219.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@202 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-04 14:35:06 +00:00
bsag
c1a66cf4a9 Improvements to the init method in todo_controller to avoid an uneccesary SQL query. Thanks Luke!
Fixes #222.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@201 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-04 14:22:04 +00:00
bsag
c506c00cb7 Altered the migrations files to make them more compatible with Postgresql and SQLite as suggested by jmail2:
* booleans now default to false not zero
* datetimes default to 0000-01-01 00:00:00

Fixes #218.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@200 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-04 12:51:23 +00:00
bsag
d25ee6174e Applied Eric and Luke's patch: RSS/TXT feeds now work with sqlite databases. Fixes #217.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@198 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-01 18:45:26 +00:00
bsag
8fb563fcbb * Toggle check works for non root paths (#215 - thanks eric!)
* Toggling or deleting items on todo/list now results in the proper visual behaviour when the page has not been refreshed after adding the action that you are acting on. i.e. previously, if you added an item, then tried to check it as done without refreshing the page, it would not disappear from the context box until you refreshed the page.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@197 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-01 18:07:57 +00:00
bsag
7a97de9c52 Added some new rake tasks to make it easier to update databases from the Tracks 1.03 version to that required for Tracks 1.04.
Documents updated, and the installation instructions are now in an HTML file: installtion.html in the root of the distribution.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@195 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-26 16:26:38 +00:00
bsag
6b09ffa0a8 Added a flash warning to todo/list and project/show/[name] pages when contexts are empty to remind users that you need to add a context before adding any next actions.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@194 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-26 12:02:11 +00:00
bsag
6dd0f51dbd Added Luke's excellent changes to the feeds (#214). There are now loads of choices for feeds (including ones for individual contexts or projects and for actions due today or in the next 7 days). The list is accessed via the feed icon in the main navigation.
Thanks, Luke!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@193 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-26 11:36:25 +00:00
bsag
aa0760f0ef Oops.
Didn't commit the whole tree in [191]. This commit contains all the fixes referred to in the log for [191].



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@192 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-26 11:03:18 +00:00
bsag
e2487c412b Fixed bugs introduced in [190] which broke signup and change password (#213).
Also fixed user functional and unit tests to include new functionality.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@191 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-26 10:58:39 +00:00
bsag
74224084e6 Added the ability to change your own password (linked from user/preferences). This updates 'word' at the same time to a new value.
Tidied some of the CSS for the user and login pages.

Tidied the flash display so that it dynamically shows either the notice, warning or message flash as appropriate.

Note that the login tests are broken for now.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@190 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-19 15:18:46 +00:00
bsag
8e26b58a58 Added code to hide the admin_email field from non-admin users. It should only be set by the admin user, and other users don't need to see it unless they encounter the /login/nosignup page.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@189 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-18 19:38:43 +00:00
bsag
e1a1d7b128 I've re-thought the 'word' column of the users table. It seemed to me that it wasn't really necessary for the user to provide a word when we could just generate a random one for security purposes. It's now constructed when a user is created by encrypting the login + the time now + a random number.
Removed the 'word' field from the signup form.

This also cleverly sidesteps the issue of validating whether password == word, which I couldn't figure out how to do ;-). Fixes #212. If you can't find the answer, change the question...



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@188 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-18 18:37:56 +00:00
bsag
2535ad29c7 Moved the loginhash/salt from the user.preferences to a constant set in config/environment.rb. This keeps it out of the database which is probably a little more secure, and allows upgrading users to set the loginhash to the value that they used before.
Updated README_FOR_APP to let people know that they should edit this value before they start using Tracks.

Fixes #204.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@187 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-18 17:52:43 +00:00
bsag
4800172bb4 Made changes to README_FOR_APP to point out that rake db_schema_import can be used instead of rake migrate with a new, blank database to set it up for use.
Fixes #210.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@186 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-18 11:03:26 +00:00
bsag
dfe9389ece Added Luke Melia's RSS feed patch #140.
Fixes #140.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@185 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-13 19:19:16 +00:00
bsag
7172b64c20 Fixed a problem where nosignup.rhtml wouldn't render when a non-admin user attempted to signup because the admin_email was nil. We now get the admin user's email address, which is what should happen anyway.
Fixes #203.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@184 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-13 19:10:29 +00:00
bsag
62087003f1 Sessions are now stored in the database rather than files in tracks/tmp. tracks/tmp.tmpl is no longer needed. This prevents the file system from becoming littered with file, and should help performance.
You need to run rake migrate to get your database up to schema version 7 to add the necessary session table to your database.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@183 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-12 15:53:42 +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
c8f986a7ec Added clarsen's patch for the login_controller_test to test the new session functionality (#199).
Thanks, clarsen.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@181 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-02 17:37:46 +00:00
bsag
40534435e2 Added a rake task called upgrade_sqlite_db which does the preparatory work of fixing the tables in sqlite/sqlite3 databases created under Tracks 1.03, by exporting and importing the contents and fixing the tables in a new database. Then you can run 'rake migrate' and all should be well with using the version in the trunk.
Please read the full instructions in doc/README_FOR_APP as you need to change a few variables first to set it up for your system.

Should hopefully fix the problems people had in #198.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@180 a4c988fc-2ded-0310-b66e-134b36920a42
2006-02-02 17:19:26 +00:00
bsag
46d357fa69 Seems that RedCloth needs to be treated differently to other gems, and the bare redcloth.rb file needs to go directly into the vendor directory, not in a subdirectory, to work.
Now put in the correct location, and so it works even if you don't have the RedCloth gem installed locally.

Fixes #196.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@179 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-15 18:48:50 +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
a56b4611c8 Some minor fixes and a change to the login system:
* RSS now has correct link for the context (fixes #144)
* Pass a local variable to the _completed.rhtml partial so that the empty box gets the appropriate '...in this project' or '...in this context' description.
* Added a checkbox 'Stay logged in' to the login page. When checked it prevents the session timing out after one hour of inactivity. You will stay logged in (with that browser) until you manually logout. That's useful for people who are using Tracks on a private machine to which only they have access. Addresses #20.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@177 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-14 12:17:39 +00:00
bsag
c392296680 Froze the Rails gems and RedCloth into the vendor directory, so that these will be used instead of any local version of Rails which might be incompatible. Should also mean that you don't need to install RedCloth locally to make Tracks work (I'm not sure whether this also applies to Rails, and don't want to uninstall my local Rails gems to find out!)
Effectively fixes #159.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@176 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-11 22:50:43 +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
7bc8783d03 Applied Lukes patch in #179 to improve the appearance of the staleness highlighting: the text lines up with un-highlighted actions, but there is left padding between the left edge of the highlight and the text. Looks much better.
Thanks, Luke!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@174 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-08 15:07:51 +00:00
bsag
2bd2d1928e Added clarsen's patch to prettify due dates for the range of 2-7 days away. There's a new setting in settings.yml.tmpl which you should add to your settings.yml. If due_style is set to 1, due dates in the 2-7 days away range will have the label, 'Due on Monday' (or whatever the corresponding day of the week it is). If set to 0, the behaviour will be as before (i.e. 'Due in 4 days').
Thanks clarsen!



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@173 a4c988fc-2ded-0310-b66e-134b36920a42
2006-01-08 15:02:23 +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
e5d9a413d5 Updated for Rails 1.0
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@170 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-24 10:57:19 +00:00
bsag
bfbd89bb7d Applied Luke's patch to fix CSS errors in print.css. Also removed text-shadow property on h2 element to get rid of Firefox errors. I've changed the colour to grey (666) with the same red as before on a:hover etc. I think it looks a bit better than white with no text shadow.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@169 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-12 13:59:41 +00:00
bsag
a07ae7b2b3 Applied Luke's patch (#167) for the staleness colouring bug in Apache.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@168 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-07 19:11:44 +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
1424b12834 Stupidly forgot to add the new partials to the repos.
git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@166 a4c988fc-2ded-0310-b66e-134b36920a42
2005-12-04 11:47:16 +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
d7e7e9346d Added a button to the bottom the project/show/[name] fields which allows you to mark the project as completed (if it is currently uncompleted) or uncompleted (if it is currently completed). It redirects you to the projects page so that you can add another project to the list.
For simplicity and flexibility, the button is visible all the time, so that you can complete a project at any time.

Fixes #76.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@163 a4c988fc-2ded-0310-b66e-134b36920a42
2005-11-13 14:25:31 +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
a7c094b38d Fixed a weird problem which appeared using Rails 0.14.2 where loading the home page resulted in an error about nil objects. Traced the problem to self.init and altered the code to avoid it. Similar problems still exist on the completed page, and I'm trying to think of ways to work around them.
Also improved database performance by using eager loading of associations on the todo/list page.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@161 a4c988fc-2ded-0310-b66e-134b36920a42
2005-11-06 18:28:00 +00:00
bsag
d9355432d7 I'm a loon. As perlguy pointed out in #151, Ajax stuff was completely broken in the last revision (on Safari as well as IE6). I could have sworn that I'd tested it, but obviously not.
It turns out that you need to call prototype.js as well as scriptaculous.js, or nothing works at all (scriptaculous then calls the other scripts like control, effect etc.).

Fixes #151.


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@160 a4c988fc-2ded-0310-b66e-134b36920a42
2005-11-02 09:08:24 +00:00