aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/info_request_event.rb16
-rw-r--r--app/models/public_body.rb11
-rw-r--r--app/models/user.rb11
3 files changed, 29 insertions, 9 deletions
diff --git a/app/models/info_request_event.rb b/app/models/info_request_event.rb
index 109a71b84..641b744dd 100644
--- a/app/models/info_request_event.rb
+++ b/app/models/info_request_event.rb
@@ -21,7 +21,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: info_request_event.rb,v 1.57 2008-09-13 18:01:27 francis Exp $
+# $Id: info_request_event.rb,v 1.58 2008-09-13 22:06:58 francis Exp $
class InfoRequestEvent < ActiveRecord::Base
belongs_to :info_request
@@ -63,10 +63,12 @@ class InfoRequestEvent < ActiveRecord::Base
# Full text search indexing
acts_as_xapian :texts => [ :search_text_main, :title ],
- :values => [ [ :created_at, 0, "created_at", :date ],
- [ :described_at_numeric, 1, "described_at", :number ], # XXX using :number for lack of :datetime support in Xapian values
- [ :request, 2, "request_collapse", :string ],
- [ :request_title_collapse, 3, "request_title_collapse", :string ]
+ :values => [
+ [ :created_at, 0, "range_search", :date ], # for QueryParser range searches e.g. 01/01/2008..14/01/2008
+ [ :created_at_numeric, 1, "created_at", :number ], # for sorting
+ [ :described_at_numeric, 2, "described_at", :number ], # XXX using :number for lack of :datetime support in Xapian values
+ [ :request, 3, "request_collapse", :string ],
+ [ :request_title_collapse, 4, "request_title_collapse", :string ]
],
:terms => [ [ :calculated_state, 'S', "status" ],
[ :requested_by, 'B', "requested_by" ],
@@ -113,6 +115,10 @@ class InfoRequestEvent < ActiveRecord::Base
# format it here as no datetime support in Xapian's value ranges
return self.described_at.strftime("%Y%m%d%H%M%S")
end
+ def created_at_numeric
+ # format it here as no datetime support in Xapian's value ranges
+ return self.created_at.strftime("%Y%m%d%H%M%S")
+ end
def search_text_main
text = ''
if self.event_type == 'sent'
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index d5a059e63..c1ec8df0e 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -23,7 +23,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: public_body.rb,v 1.105 2008-09-13 15:35:37 francis Exp $
+# $Id: public_body.rb,v 1.106 2008-09-13 22:06:58 francis Exp $
require 'csv'
require 'set'
@@ -157,8 +157,15 @@ class PublicBody < ActiveRecord::Base
end
acts_as_xapian :texts => [ :name, :short_name ],
- :values => [ [ :created_at, 0, "created_at", :date ] ],
+ :values => [
+ [ :created_at, 0, "range_search", :date ], # for QueryParser range searches e.g. 01/01/2008..14/01/2008
+ [ :created_at_numeric, 1, "created_at", :number ] # for sorting
+ ],
:terms => [ [ :variety, 'V', "variety" ] ]
+ def created_at_numeric
+ # format it here as no datetime support in Xapian's value ranges
+ return self.created_at.strftime("%Y%m%d%H%M%S")
+ end
def variety
"authority"
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 579ab7265..c14913d73 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -22,7 +22,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: user.rb,v 1.67 2008-09-11 10:37:37 francis Exp $
+# $Id: user.rb,v 1.68 2008-09-13 22:06:58 francis Exp $
require 'digest/sha1'
@@ -49,8 +49,15 @@ class User < ActiveRecord::Base
]
acts_as_xapian :texts => [ :name ],
- :values => [ [ :created_at, 0, "created_at", :date ] ],
+ :values => [
+ [ :created_at, 0, "range_search", :date ], # for QueryParser range searches e.g. 01/01/2008..14/01/2008
+ [ :created_at_numeric, 1, "created_at", :number ] # for sorting
+ ],
:terms => [ [ :variety, 'V', "variety" ] ]
+ def created_at_numeric
+ # format it here as no datetime support in Xapian's value ranges
+ return self.created_at.strftime("%Y%m%d%H%M%S")
+ end
def variety
"user"
end