diff --git a/README b/README
index 28cf4e46..5cce7ac7 100644
--- a/README
+++ b/README
@@ -8,12 +8,10 @@
* Mailing list: http://lists.rousette.org.uk/mailman/listinfo/tracks-discuss
* Original developer: bsag (http://www.rousette.org.uk/)
* Contributors: http://dev.rousette.org.uk/wiki/Tracks/Contributing/Contributors
-* Version: 1.6
+* Version: 1.7RC
* Copyright: (cc) 2004-2008 rousette.org.uk.
* License: GNU GPL
-**An important note for version 1.6: OpenID support is broken in this release. The fix isn't trivial because of changes to the `ruby-openid` gem, so we wanted to get this version out now and fix OpenID for the next release. If you depend on OpenID integration, we recommend waiting until the next release.**
-
All the documentation for Tracks can be found within the /doc directory. It contains a manual in HTML (manual.html) or PDF format (manual.pdf), and this includes full instructions for both new installations and upgrades from older installations of Tracks. The instructions might appear long and intimidatingly complex, but that is mostly because of the number of different platforms supported, and the different configurations which can be used (e.g. running Tracks on your local computer or on a remote server). If you choose the appropriate section for your situation (installation vs. upgrade), and use the easiest (recommended) method, you should find the instructions easy to follow. If you encounter problems, try searching the wiki, forum or mailing list (URLs above), and ask a question if you cannot find a solution to your problem.
For those upgrading, change notes are available in /doc/CHANGELOG. If you are thinking about contributing towards the development of Tracks, please read /doc/README_DEVELOPERS for general information, or /doc/tracks_api_wrapper.rb for information on Tracks' API.
@@ -21,3 +19,4 @@ For those upgrading, change notes are available in /doc/CHANGELOG. If you are th
While fully usable for everyday use, Tracks is still a work in progress. Make sure that you take sensible precautions and back up all your data frequently, taking particular care when you are upgrading.
Enjoy being productive!
+
diff --git a/app/controllers/integrations_controller.rb b/app/controllers/integrations_controller.rb
index 1b071c1e..26f5f99d 100644
--- a/app/controllers/integrations_controller.rb
+++ b/app/controllers/integrations_controller.rb
@@ -1,5 +1,7 @@
class IntegrationsController < ApplicationController
+ skip_before_filter :login_required, :only => :search_plugin
+
def index
@page_title = 'TRACKS::Integrations'
end
@@ -22,4 +24,12 @@ class IntegrationsController < ApplicationController
context = current_user.contexts.find params[:context_id]
render :partial => 'applescript2', :locals => { :context => context }
end
+
+ def search_plugin
+ @icon_data = [File.open(RAILS_ROOT + '/public/images/done.png').read].
+ pack('m').gsub(/\n/, '')
+
+ render :layout => false
+ end
+
end
diff --git a/app/controllers/login_controller.rb b/app/controllers/login_controller.rb
index 8dc6a3bd..91cfc261 100644
--- a/app/controllers/login_controller.rb
+++ b/app/controllers/login_controller.rb
@@ -96,7 +96,7 @@ class LoginController < ApplicationController
session['noexpiry'] ||= params['user_noexpiry']
authenticate_with_open_id do |result, identity_url|
if result.successful?
- if @user = User.find_by_identity_url(identity_url)
+ if @user = User.find_by_open_id_url(identity_url)
session['user_id'] = @user.id
msg = (should_expire_sessions?) ? "will expire after 1 hour of inactivity." : "will not expire."
notify :notice, "Login successful: session #{msg}"
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index bad67adb..98f45cb9 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -154,7 +154,7 @@ class UsersController < ApplicationController
# error. If info is nil, it means that the user cancelled
# the verification.
@user.auth_type = 'open_id'
- @user.identity_url = identity_url
+ @user.open_id_url = identity_url
if @user.save
notify :notice, "You have successfully verified #{identity_url} as your identity and set your authentication type to Open ID."
else
diff --git a/app/models/user.rb b/app/models/user.rb
index 0330cead..6c0302cc 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -116,11 +116,11 @@ class User < ActiveRecord::Base
validates_confirmation_of :password
validates_length_of :login, :within => 3..80
validates_uniqueness_of :login, :on => :create
- validates_presence_of :identity_url, :if => :using_openid?
+ validates_presence_of :open_id_url, :if => :using_openid?
before_create :crypt_password, :generate_token
before_update :crypt_password
- before_save :normalize_identity_url
+ before_save :normalize_open_id_url
#for will_paginate plugin
cattr_accessor :per_page
@@ -145,9 +145,9 @@ class User < ActiveRecord::Base
return nil
end
- def self.find_by_identity_url(raw_identity_url)
- normalized_identity_url = OpenIdAuthentication.normalize_url(raw_identity_url)
- find(:first, :conditions => ['identity_url = ?', normalized_identity_url])
+ def self.find_by_open_id_url(raw_identity_url)
+ normalized_open_id_url = OpenIdAuthentication.normalize_url(raw_identity_url)
+ find(:first, :conditions => ['open_id_url = ?', normalized_open_id_url])
end
def self.no_users_yet?
@@ -235,8 +235,8 @@ protected
crypted_password == sha1(pass)
end
- def normalize_identity_url
- return if identity_url.nil?
- self.identity_url = OpenIdAuthentication.normalize_url(identity_url)
+ def normalize_open_id_url
+ return if open_id_url.nil?
+ self.open_id_url = OpenIdAuthentication.normalize_url(open_id_url)
end
end
diff --git a/app/views/integrations/search_plugin.rxml b/app/views/integrations/search_plugin.rxml
new file mode 100644
index 00000000..f0c8b256
--- /dev/null
+++ b/app/views/integrations/search_plugin.rxml
@@ -0,0 +1,14 @@
+xml.instruct!
+
+xml.OpenSearchDescription 'xmlns' => "http://a9.com/-/spec/opensearch/1.1/" do
+
+ xml.ShortName Tracks
+ xml.Description 'Search in Tracks'
+ xml.InputEncoding 'UTF-8'
+ xml.Image("data:image/x-icon;base64," + @icon_data,
+ 'width' => '16', 'height' => '16')
+ xml.Url 'type' => 'text/html', 'method' => 'GET',
+ 'template' => url_for(:controller => 'search', :action => 'results',
+ :only_path => false) + '?search={searchTerms}'
+end
+
diff --git a/app/views/layouts/standard.html.erb b/app/views/layouts/standard.html.erb
index 82a9dc75..ba511e16 100644
--- a/app/views/layouts/standard.html.erb
+++ b/app/views/layouts/standard.html.erb
@@ -19,6 +19,9 @@
<%= auto_discovery_link_tag(:rss, {:controller => "todos", :action => "index", :format => 'rss', :token => "#{current_user.token}"}, {:title => "RSS feed of next actions"}) %>
+