blacklight_advanced_search 1.0.0pre5 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +2 -2
- data/VERSION +1 -1
- data/lib/blacklight_advanced_search/controller.rb +24 -7
- metadata +72 -44
data/README.rdoc
CHANGED
@@ -3,8 +3,8 @@ This is an advanced search plugin for Blacklight ( http://www.projectblacklight.
|
|
3
3
|
== Pre-requisites:
|
4
4
|
* The Blacklight plugin ( http://github.com/projectblacklight/blacklight )
|
5
5
|
* NOTE: Blacklight 3.x is required for current version of Advanced Search plugin
|
6
|
-
* advanced search plugin 0.
|
7
|
-
* Older tagged versions of Advanced Search may work with older BL.
|
6
|
+
* advanced search plugin latest 0.X.X version will work with Blacklight 2.9/Rails2.
|
7
|
+
* Older tagged versions of Advanced Search may work with even older BL.
|
8
8
|
|
9
9
|
|
10
10
|
== Installation:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.0
|
@@ -51,24 +51,39 @@ module BlacklightAdvancedSearch::Controller
|
|
51
51
|
# BlacklightAdvancedSearch init code will add it to CatalogController
|
52
52
|
# if it's configured to do so. You can of course add it yourself
|
53
53
|
# manually too.
|
54
|
+
#
|
55
|
+
# Note: For syntactically invalid input, we'll just skip the adv
|
56
|
+
# parse and send it straight to solr same as if advanced_parse_q
|
57
|
+
# were not being used.
|
54
58
|
def add_advanced_parse_q_to_solr(solr_parameters, req_params = params)
|
55
|
-
debugger
|
56
59
|
unless req_params[:q].blank?
|
57
60
|
field_def = Blacklight.search_field_def_for_key( req_params[:search_field]) ||
|
58
61
|
Blacklight.default_search_field
|
59
62
|
|
63
|
+
|
60
64
|
# If the individual field has advanced_parse_q suppressed, punt
|
61
65
|
return if field_def[:advanced_parse_q] == false
|
62
66
|
|
63
67
|
solr_direct_params = field_def[:solr_parameters] || {}
|
64
68
|
solr_local_params = field_def[:solr_local_parameters] || {}
|
65
69
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
70
|
+
# See if we can parse it, if we can't, we're going to give up
|
71
|
+
# and just allow basic search, perhaps with a warning.
|
72
|
+
begin
|
73
|
+
adv_search_params = ParsingNesting::Tree.parse(req_params[:q]).to_single_query_params( solr_local_params )
|
74
|
+
|
75
|
+
deep_merge!(solr_parameters, solr_direct_params)
|
76
|
+
|
77
|
+
deep_merge!(
|
78
|
+
solr_parameters,
|
79
|
+
adv_search_params
|
80
|
+
)
|
81
|
+
rescue Parslet::UnconsumedInput => e
|
82
|
+
# do nothing, don't merge our input in, keep basic search
|
83
|
+
# optional TODO, display error message in flash here, but hard to
|
84
|
+
# display a good one.
|
85
|
+
return
|
86
|
+
end
|
72
87
|
end
|
73
88
|
end
|
74
89
|
|
@@ -97,6 +112,8 @@ module BlacklightAdvancedSearch::Controller
|
|
97
112
|
end
|
98
113
|
|
99
114
|
|
115
|
+
|
116
|
+
|
100
117
|
end
|
101
118
|
|
102
119
|
|
metadata
CHANGED
@@ -1,58 +1,77 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight_advanced_search
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Jonathan Rochkind
|
9
14
|
- Chris Beer
|
10
15
|
autorequire:
|
11
16
|
bindir: bin
|
12
17
|
cert_chain: []
|
13
|
-
|
18
|
+
|
19
|
+
date: 2011-09-12 00:00:00 -04:00
|
14
20
|
default_executable:
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
17
23
|
name: rails
|
18
|
-
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
26
|
none: false
|
20
|
-
requirements:
|
27
|
+
requirements:
|
21
28
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 7
|
31
|
+
segments:
|
32
|
+
- 3
|
33
|
+
- 0
|
34
|
+
version: "3.0"
|
24
35
|
type: :runtime
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
28
38
|
name: blacklight
|
29
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
41
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
version: "0"
|
35
49
|
type: :runtime
|
36
|
-
|
37
|
-
|
38
|
-
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
39
52
|
name: parslet
|
40
|
-
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
55
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
46
63
|
type: :runtime
|
47
|
-
|
48
|
-
version_requirements: *2156043200
|
64
|
+
version_requirements: *id003
|
49
65
|
description:
|
50
|
-
email:
|
66
|
+
email:
|
51
67
|
- blacklight-development@googlegroups.com
|
52
68
|
executables: []
|
69
|
+
|
53
70
|
extensions: []
|
71
|
+
|
54
72
|
extra_rdoc_files: []
|
55
|
-
|
73
|
+
|
74
|
+
files:
|
56
75
|
- .gitignore
|
57
76
|
- LICENSE
|
58
77
|
- README.rdoc
|
@@ -101,29 +120,38 @@ files:
|
|
101
120
|
has_rdoc: true
|
102
121
|
homepage: http://projectblacklight.org/
|
103
122
|
licenses: []
|
123
|
+
|
104
124
|
post_install_message:
|
105
125
|
rdoc_options: []
|
106
|
-
|
126
|
+
|
127
|
+
require_paths:
|
107
128
|
- lib
|
108
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
109
130
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
|
114
|
-
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
135
|
+
segments:
|
136
|
+
- 0
|
137
|
+
version: "0"
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
139
|
none: false
|
116
|
-
requirements:
|
117
|
-
- -
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
146
|
+
version: "0"
|
120
147
|
requirements: []
|
148
|
+
|
121
149
|
rubyforge_project: blacklight
|
122
150
|
rubygems_version: 1.6.2
|
123
151
|
signing_key:
|
124
152
|
specification_version: 3
|
125
153
|
summary: Blacklight Advanced Search plugin
|
126
|
-
test_files:
|
154
|
+
test_files:
|
127
155
|
- spec/lib/filter_parser_spec.rb
|
128
156
|
- spec/parsing_nesting/build_tree_spec.rb
|
129
157
|
- spec/parsing_nesting/consuming_spec.rb
|