Commit graph

5026 commits

Author SHA1 Message Date
bsag
4c7f3409a0 # Added time zone setting to environment.rb.tmpl. It's commented out by default, but if your server is set to a different time zone than the local machine on which you access Tracks, you can set your local time zone here to have all of the dates adjusted. This setting is global for all users, and is an interim measure until I can get per-user time zone settings working. Fixes #238.
# Added config/environment.rb.tmpl and set svn:ignore on environment.rb so that your personal setting for SALT and ENV['TZ'] isn't committed to the public repository if you have commit access. You need to copy the changes in environment.rb.tmpl to your environment.rb if you already have an installation, or copy environment.rb.tmpl to environment.rb if it's a new installation. Fixes #235.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@226 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-17 10:27:48 +00:00
bsag
330133ef03 The previous commit assigned the accesskey 'n' to the notes page, which was already assigned to create a new note. I've changed it to 'o'.
I also realised that I was making things much more difficult than they needed to be when checking whether the current page matched a particular link, so I altered the navigation_link method to simplify it.




git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@225 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-16 21:49:53 +00:00
bsag
959c2c2f53 The current page is now marked in the navigation bar at the top with a black bottom border and black text (as when the link is hovered over). I've also added accesskeys for the notes page (alt/ctrl n) and the preferences page (alt/ctrl u for user preferences).
Fixes #231



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@224 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-16 18:39:00 +00:00
bsag
7a9a19a563 Changed the completed box on the home, context and project pages so that it presents the same format as that on the 'done' page: the actions context and project (if it has one) is presented in brackets after the description.
Fixes #254.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@223 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-15 15:08:44 +00:00
bsag
5a331c0a66 Fixed a regression in the trunk in which a fresh installation (with no users) generated an error on visiting /signup, because @user was nil.
My changes to signup are a little verbose, but they work.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@222 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-15 14:50:13 +00:00
bsag
e1cb2b0f29 Added iCal subscription links.
The feeds page now lists iCal links alongside each RSS and TXT feed link. Copying your chosen link and pasting it in to the text box that appears in iCal when you choose Calendar > Subscribe.. Name your calendar as you wish, but make sure that you get it to refresh periodically and that the 'Remove Todo items' checkbox is UNCHECKED (obviously ;-) ). Then your Tracks next actions should appear as todo items in iCal, with proper due dates assigned, and notes in the notes field. The todos should update periodically in iCal as you add, delete or complete items in Tracks, but the subscription is read-only from iCal's end. However, it does allow you read access on the move if you sync iCal with your Palm or mobile phone.

I don't have Sunbird or any other iCal compatible calendar, but it should work with any of those too, as it follows the [http://www.ietf.org/rfc/rfc2445.txt iCalendar] standard format.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@221 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-14 17:07:29 +00:00
bsag
a2120f6ee1 Setting no_completed in the user preferences to zero now removes the completed items box completely from the home page and from the individual context and project pages.
Fixes #251.
 


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@220 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-11 17:19:30 +00:00
bsag
95e0fd3590 Added Luke's patch for moving an action between contexts when you edit the context. If you change the context of a next action by editing it, the action moves immediately between contexts when you hit update (by the magic of Ajax), rather than requiring you to refresh as happened previously.
Fixes #245.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@219 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-11 12:40:10 +00:00
bsag
51a490f2c7 test/fixtures/notes.yml didn't have all the required fields, so if rake load_fixtures was used to load the example contents, the notes page would generate errors.
Fixes #249.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@218 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-09 11:14:24 +00:00
bsag
edaacf3d4f Fixed the notes page so that it doesn't raise an error if there are no notes. It shows a message that there are no notes, and that you can add notes from the project pages.
Fixes #247.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@217 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-09 11:03:18 +00:00
bsag
a80a7a4be0 A 'Add users' link is added to the navigation bar (only when an admin is logged in), which takes the user to /signup.
Fixes #248.
 #248.
  #248.
   


git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@216 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-09 10:42:59 +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
654bec2239 Added Luke's patch to fix the expand/collapse icons, which were formerly not working after an Ajax action had been performed without a refresh. This works properly now. Fixes #230.
I also modified the context pages slightly so that it only shows the last n completed actions in that project, where n is the number of completed actions user preference (no_completed). I'll do the same for projects. It prevents the context and project individual pages getting unmanageably long when you've been using it for a while.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@214 a4c988fc-2ded-0310-b66e-134b36920a42
2006-04-01 15:30:31 +00:00
bsag
9723645dcd Fixes #243.
The 'done' page was generating errors (a regression in the trunk since the tagging of 1.04). I think that the main problem was the code to find the done items, but while I was at it I simplified the completed() and completed_archive() methods by using the Rails Time::Calculation methods x.day.ago and x.week.ago.

Works OK for me now.



git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@213 a4c988fc-2ded-0310-b66e-134b36920a42
2006-03-31 13:24:22 +00:00
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