discerner 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 88645173fdadecf73aa691ce4c08988b0ec45edb
4
- data.tar.gz: 992a3eff4bdf48feba80dd6f2361f2012df547c6
3
+ metadata.gz: d003dc673d344a81ba57493c85359cb204d4ec25
4
+ data.tar.gz: e640b76a3ac01c8651a0daf029fbced903dccac4
5
5
  SHA512:
6
- metadata.gz: b6a923211f3551ae3f713cf65c5fcf75437a0b6d9a328bd198fbd11ac094120d6d858fc4e5192e991fc159e138072e4679722baf2870ae92a05b2a3202ca97a6
7
- data.tar.gz: c6fbc44e44cc98dc4a295a8110315cedbfa22a71411ec9efddb177b3c43a29a5cc1ecf2cce9db2d4175a59d32ac36b4bbdb23cf1b8ffe4e180770c7078f76a9b
6
+ metadata.gz: 965d91c637899dd9d029de35bb03181605bccc6ae5bd76c0742a41f179ebb3b0fc2f747d4e0f853d158ffbd685a253c0edae7fab75f55d097733bea966c7ee23
7
+ data.tar.gz: 218fb8fdcc5d94e91bb2056214f86f137749ab79d8f157ebb468abd50b230aed202659a61a4209f3b32f297f7e46ae68124df42a7bb4ba96fb54bf37bcd4880b
@@ -0,0 +1,5 @@
1
+ module Discerner
2
+ class SearchNamespace < ActiveRecord::Base
3
+ include Discerner::Methods::Models::SearchNamespace
4
+ end
5
+ end
@@ -11,14 +11,14 @@
11
11
  %td{colspan: '4'}
12
12
  No qualifying searches found
13
13
  - else
14
- - @discernerSearchCombinationsTemplate = generate_nested_attributes_template(f, :search_combinations, 'search_combination')
14
+ - @discernerSearchCombinationsTemplate = discerner_generate_nested_attributes_template(f, :search_combinations, 'search_combination')
15
15
  = f.fields_for :search_combinations, f.object.search_combinations.ordered_by_display_order do |search_combination|
16
16
  = render partial: 'search_combination_fields', locals: { f: search_combination }
17
17
 
18
18
  %tfoot
19
19
  %tr
20
20
  %td{ colspan: '4', class: 'add_search_combinations_link' }
21
- = link_to_add_fields "Add search", :search_combinations
21
+ = discerner_link_to_add_fields "Add search", :search_combinations
22
22
  .clear
23
23
 
24
24
  :javascript
@@ -13,12 +13,12 @@
13
13
  %tfoot
14
14
  %tr
15
15
  %td{ colspan: '4', class: 'add_search_parameters_link' }
16
- = link_to_add_fields "Add criteria", :search_parameters
16
+ = discerner_link_to_add_fields "Add criteria", :search_parameters
17
17
  .clear
18
18
 
19
19
  :javascript
20
20
  $(function () {
21
- var discernerSearchParametersTemplate = '#{generate_nested_attributes_template(f, :search_parameters, 'search_parameter')}',
21
+ var discernerSearchParametersTemplate = '#{discerner_generate_nested_attributes_template(f, :search_parameters, 'search_parameter')}',
22
22
  parametersUrl = decodeURIComponent('#{values_parameters_url(parameter_id: ':question_id', format: 'json')}'); // used to generate parameter values for list parameters
23
23
 
24
24
  new Discerner.SearchParameter.UI({
@@ -10,7 +10,7 @@
10
10
  %td
11
11
  = search.display_name
12
12
  %td
13
- = format_datetime(search.updated_at)
13
+ = discerner_format_datetime(search.updated_at)
14
14
  %td
15
15
  = link_to 'Open', edit_search_path(search), class: 'show_link icon_link'
16
16
  = link_to 'Export options', export_parameters_path(search), class: 'options_link icon_link' if export_discerner_results?
@@ -6,7 +6,7 @@
6
6
  = f.object.warnings.full_messages.join(', ')
7
7
 
8
8
  - unless f.blank?
9
- - search_combination_id = nested_record_id(f, :search_combination)
9
+ - search_combination_id = discerner_nested_record_id(f, :search_combination)
10
10
  %tr{ id: "#{search_combination_id}", class: "search_combination fields #{'error' if f.object.warnings.any?}" }
11
11
  %td.combined_search_operator
12
12
  %span
@@ -18,5 +18,5 @@
18
18
  -#= f.select(:operator_id, operator_options('search'))
19
19
  = f.select(:combined_search_id, combined_searches_options(@discerner_search), { include_blank: true },{ class: 'search_combinations_combobox_autocompleter' })
20
20
  %td.remove
21
- = link_to_remove_fields 'Remove', f, :search_combinations
21
+ = discerner_link_to_remove_fields 'Remove', f, :search_combinations
22
22
  %td
@@ -1,4 +1,4 @@
1
- - search_parameter_id = nested_record_id(f, :search_parameter)
1
+ - search_parameter_id = discerner_nested_record_id(f, :search_parameter)
2
2
 
3
3
  - if f.object.disabled? && f.object.warnings.any?
4
4
  %tr.error
@@ -29,7 +29,7 @@
29
29
 
30
30
  .div-instruction-bar
31
31
  %td.remove
32
- = link_to_remove_fields 'Remove', f, :search_parameters
32
+ = discerner_link_to_remove_fields 'Remove', f, :search_parameters
33
33
  %td.parameter_values
34
34
  .search_parameter_values
35
35
  %table{ class: 'records' }
@@ -37,11 +37,11 @@
37
37
  = f.fields_for :search_parameter_values, f.object.search_parameter_values.ordered_by_display_order do |search_parameter_value_form|
38
38
  = render partial: 'search_parameter_value_fields', locals: { f: search_parameter_value_form }
39
39
  %span{ class: 'add_header'}
40
- = link_to_add_fields "Add selection", :search_parameter_values, {style: "display:none;"}
40
+ = discerner_link_to_add_fields "Add selection", :search_parameter_values, {style: "display:none;"}
41
41
 
42
42
  :javascript
43
43
  $(function () {
44
- var searchParameterValuesTemplate = '#{generate_nested_attributes_template(f, :search_parameter_values, "search_parameter_value")}',
44
+ var searchParameterValuesTemplate = '#{discerner_generate_nested_attributes_template(f, :search_parameter_values, "search_parameter_value")}',
45
45
  container = $('##{search_parameter_id}'),
46
46
  parametersUrl = decodeURIComponent('#{values_parameters_url(parameter_id: ':question_id', search_parameter_value_id: ':search_parameter_value_id')}'), // used to generate parameter values for combobox parameters
47
47
  searchParameterUI = new Discerner.SearchParameterValue.UI({ container: container, searchParameterValuesTemplate: searchParameterValuesTemplate, parametersUrl: parametersUrl });
@@ -1,4 +1,4 @@
1
- - search_parameter_value_id = nested_record_id(f, :search_parameter_value)
1
+ - search_parameter_value_id = discerner_nested_record_id(f, :search_parameter_value)
2
2
  - if f.object.disabled? && f.object.warnings.any?
3
3
  %tr.error
4
4
  %td
@@ -24,7 +24,7 @@
24
24
  %td.additional_value
25
25
  = f.text_field :additional_value
26
26
  %td.remove
27
- = link_to_remove_fields 'Remove', f, :search_parameter_values
27
+ = discerner_link_to_remove_fields 'Remove', f, :search_parameter_values
28
28
 
29
29
  - else # this part is used for rendering existing parameter values
30
30
  - parameter = f.object.search_parameter.parameter
@@ -39,13 +39,13 @@
39
39
  %span{ class: 'parameter_value_text' }
40
40
  = f.object.parameter_value.name
41
41
  %td{class: "remove", class: "invisible"}
42
- = link_to_remove_fields 'Remove', f, :search_parameter_values
42
+ = discerner_link_to_remove_fields 'Remove', f, :search_parameter_values
43
43
 
44
44
  - when 'combobox'
45
45
  %td.parameter_value
46
46
  = render partial: 'discerner/parameters/values_autocompleter', locals: {parameter: parameter, f: f, search_parameter_value_id: search_parameter_value_id}
47
47
  %td.remove
48
- = link_to_remove_fields 'Remove', f, :search_parameter_values
48
+ = discerner_link_to_remove_fields 'Remove', f, :search_parameter_values
49
49
 
50
50
  - else
51
51
  %td.operator
@@ -58,5 +58,5 @@
58
58
  %td{class: "additional_value #{'invisible' unless f.object.operator && f.object.operator.operator_type == 'range'}"}
59
59
  = f.text_field :additional_value, class: "#{type == 'date' ? 'datepicker' : nil}"
60
60
  %td.remove
61
- = link_to_remove_fields 'Remove', f, :search_parameter_values
61
+ = discerner_link_to_remove_fields 'Remove', f, :search_parameter_values
62
62
 
@@ -0,0 +1,9 @@
1
+ class CreateDiscernerSearchNamespaces < ActiveRecord::Migration
2
+ def change
3
+ create_table :discerner_search_namespaces do |t|
4
+ t.integer :search_id
5
+ t.string :namespace_type
6
+ t.integer :namespace_id
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,37 @@
1
+ class ReplaceNamespaceColumnsWithLabelForSearches < ActiveRecord::Migration
2
+ def up
3
+ add_column :discerner_searches, :label, :string
4
+
5
+ Discerner::Search.transaction do
6
+ Discerner::Search.all.each do |search|
7
+ if !search.namespace_id.blank?
8
+ search.search_namespaces << Discerner::SearchNamespace.create(namespace_type: search.namespace_type, namespace_id: search.namespace_id)
9
+ elsif !search.namespace_type.blank?
10
+ search.label = search.namespace_type
11
+ end
12
+ search.save!
13
+ end
14
+ remove_column :discerner_searches, :namespace_type
15
+ remove_column :discerner_searches, :namespace_id
16
+ end
17
+ end
18
+
19
+ def down
20
+ add_column :discerner_searches, :namespace_id, :integer
21
+ add_column :discerner_searches, :namespace_type, :string
22
+
23
+ Discerner::Search.transaction do
24
+ Discerner::Search.all.each do |search|
25
+ if search.search_namespaces.any?
26
+ search.namespace_id = search.search_namespaces.first.namespace_id
27
+ search.namespace_type = search.search_namespaces.first.namespace_type
28
+ elsif !search.label.blank?
29
+ search.namespace_type = search.label
30
+ end
31
+ search.save!
32
+ end
33
+ end
34
+
35
+ remove_column :discerner_searches, :label
36
+ end
37
+ end
@@ -6,7 +6,7 @@ module Discerner
6
6
  "discerner/dictionaries/#{@discerner_search.dictionary.parameterized_name}/results"
7
7
  end
8
8
 
9
- def generate_nested_attributes_template(f, association, association_prefix = nil )
9
+ def discerner_generate_nested_attributes_template(f, association, association_prefix = nil )
10
10
  if association_prefix.nil?
11
11
  association_prefix = association.to_s.singularize
12
12
  end
@@ -17,22 +17,18 @@ module Discerner
17
17
  escape_javascript(fields)
18
18
  end
19
19
 
20
- def link_to_add_fields(name, association, html_options={})
20
+ def discerner_link_to_add_fields(name, association, html_options={})
21
21
  css_class = html_options[:class] || ' '
22
22
  css_class += "add_#{association.to_s} add add_link icon_link"
23
23
  html_options[:class] = css_class
24
24
  link_to(name, 'javascript:void(0);', html_options)
25
25
  end
26
26
 
27
- def link_to_remove_fields(name, f, association)
27
+ def discerner_link_to_remove_fields(name, f, association)
28
28
  f.hidden_field(:_destroy) + link_to(name, "javascript:void(0);", class: "delete_#{association.to_s} delete_link icon_link")
29
29
  end
30
30
 
31
- def link_to_soft_delete_fields(name, f, association)
32
- f.hidden_field(:soft_delete) + link_to(name, "javascript:void(0);", class: "delete_#{association.to_s} delete_link icon_link")
33
- end
34
-
35
- def nested_record_id(builder, assocation)
31
+ def discerner_nested_record_id(builder, assocation)
36
32
  builder.object.id.nil? ? "new_nested_record" : "#{assocation.to_s.singularize}_#{builder.object.id}"
37
33
  end
38
34
 
@@ -131,11 +127,11 @@ module Discerner
131
127
  link_to "Export options", export_parameters_path(@discerner_search), class: "discerner-button discerner-button-positive"
132
128
  end
133
129
 
134
- def format_datetime(datetime)
130
+ def discerner_format_datetime(datetime)
135
131
  datetime.strftime("%m/%d/%Y %I:%M %p") if datetime
136
132
  end
137
133
 
138
- def format_date(date)
134
+ def discerner_format_date(date)
139
135
  date.strftime("%m/%d/%Y") if date
140
136
  end
141
137
  end
@@ -12,6 +12,7 @@ module Discerner
12
12
  base.send :has_many, :search_combinations, inverse_of: :search
13
13
  base.send :has_many, :combined_searches, through: :search_combinations
14
14
  base.send :has_many, :export_parameters, inverse_of: :search
15
+ base.send :has_many, :search_namespaces, inverse_of: :search
15
16
 
16
17
  # Validations
17
18
  base.send :validates, :dictionary, presence: { message: "for search can't be blank" }
@@ -0,0 +1,12 @@
1
+ module Discerner
2
+ module Methods
3
+ module Models
4
+ module SearchNamespace
5
+ def self.included(base)
6
+ base.send :belongs_to, :search
7
+ base.send :belongs_to, :namespace, polymorphic: true
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module Discerner
2
- VERSION = "2.0.4"
2
+ VERSION = "2.0.5"
3
3
  end
@@ -120,6 +120,7 @@ module Discerner
120
120
  copy_file "models/search_combination.rb", "#{path}/search_combination.rb"
121
121
  copy_file "models/search_parameter_value.rb", "#{path}/search_parameter_value.rb"
122
122
  copy_file "models/search_parameter.rb", "#{path}/search_parameter.rb"
123
+ copy_file "models/search_namespace.rb", "#{path}/search_namespace.rb"
123
124
  copy_file "models/search.rb", "#{path}/search.rb"
124
125
  end
125
126
 
@@ -0,0 +1,5 @@
1
+ module Discerner
2
+ class SearchNamespace < ActiveRecord::Base
3
+ include Discerner::Methods::Models::SearchNamespace
4
+ end
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discerner
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Gurley, Yulia Bushmanova
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-08 00:00:00.000000000 Z
11
+ date: 2014-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -375,6 +375,7 @@ files:
375
375
  - app/models/discerner/parameter_value_category.rb
376
376
  - app/models/discerner/search.rb
377
377
  - app/models/discerner/search_combination.rb
378
+ - app/models/discerner/search_namespace.rb
378
379
  - app/models/discerner/search_parameter.rb
379
380
  - app/models/discerner/search_parameter_value.rb
380
381
  - app/views/discerner/export_parameters/index.html.haml
@@ -434,6 +435,8 @@ files:
434
435
  - db/migrate/20140227191827_remove_blank_parameter_values_from_export_parameters.rb
435
436
  - db/migrate/20140815214547_add_namespace_to_discerner_searches.rb
436
437
  - db/migrate/20140815214629_add_namespace_to_discerner_dictionaries.rb
438
+ - db/migrate/20140915032427_create_discerner_search_namespaces.rb
439
+ - db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
437
440
  - db/seeds.rb
438
441
  - lib/discerner.rb
439
442
  - lib/discerner/engine.rb
@@ -452,6 +455,7 @@ files:
452
455
  - lib/discerner/methods/models/parameter_value_category.rb
453
456
  - lib/discerner/methods/models/search.rb
454
457
  - lib/discerner/methods/models/search_combination.rb
458
+ - lib/discerner/methods/models/search_namespace.rb
455
459
  - lib/discerner/methods/models/search_parameter.rb
456
460
  - lib/discerner/methods/models/search_parameter_value.rb
457
461
  - lib/discerner/methods/models/soft_delete.rb
@@ -480,6 +484,7 @@ files:
480
484
  - lib/generators/discerner/install/templates/models/parameter_value_category.rb
481
485
  - lib/generators/discerner/install/templates/models/search.rb
482
486
  - lib/generators/discerner/install/templates/models/search_combination.rb
487
+ - lib/generators/discerner/install/templates/models/search_namespace.rb
483
488
  - lib/generators/discerner/install/templates/models/search_parameter.rb
484
489
  - lib/generators/discerner/install/templates/models/search_parameter_value.rb
485
490
  - lib/generators/discerner/install/templates/views/layouts/searches.html.erb
@@ -506,7 +511,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
506
511
  version: '0'
507
512
  requirements: []
508
513
  rubyforge_project:
509
- rubygems_version: 2.2.2
514
+ rubygems_version: 2.4.1
510
515
  signing_key:
511
516
  specification_version: 4
512
517
  summary: Rails engine that provides dictionary-based search functionality