Commit 9480ac712e653ed16b65db10ff3dbd5b4f794eec
1 parent
1aaa6fa7
Exists in
master
and in
29 other branches
[pluginize-solr] Moving solr_save calls on add_category methods
Showing
4 changed files
with
37 additions
and
20 deletions
Show diff stats
app/models/article.rb
... | ... | @@ -142,7 +142,6 @@ class Article < ActiveRecord::Base |
142 | 142 | else |
143 | 143 | ArticleCategorization.add_category_to_article(c, self) |
144 | 144 | self.categories(reload) |
145 | - self.solr_save | |
146 | 145 | end |
147 | 146 | end |
148 | 147 | |
... | ... | @@ -160,7 +159,6 @@ class Article < ActiveRecord::Base |
160 | 159 | ArticleCategorization.add_category_to_article(item, self) |
161 | 160 | end |
162 | 161 | self.categories(true) |
163 | - self.solr_save | |
164 | 162 | pending_categorizations.clear |
165 | 163 | end |
166 | 164 | |
... | ... | @@ -630,23 +628,6 @@ class Article < ActiveRecord::Base |
630 | 628 | img.nil? ? '' : img.attributes['src'] |
631 | 629 | end |
632 | 630 | |
633 | - private | |
634 | - | |
635 | - # FIXME: workaround for development env. | |
636 | - # Subclasses aren't (re)loaded, and acts_as_solr | |
637 | - # depends on subclasses method to search | |
638 | - # see http://stackoverflow.com/questions/4138957/activerecordsubclassnotfound-error-when-using-sti-in-rails/4139245 | |
639 | - UploadedFile | |
640 | - TextArticle | |
641 | - TinyMceArticle | |
642 | - TextileArticle | |
643 | - Folder | |
644 | - EnterpriseHomepage | |
645 | - Gallery | |
646 | - Blog | |
647 | - Forum | |
648 | - Event | |
649 | - | |
650 | 631 | delegate :region, :region_id, :environment, :environment_id, :to => :profile, :allow_nil => true |
651 | 632 | |
652 | 633 | private | ... | ... |
app/models/profile.rb
plugins/solr/lib/ext/article.rb
... | ... | @@ -38,6 +38,20 @@ class Article |
38 | 38 | solr_save |
39 | 39 | end |
40 | 40 | |
41 | + def add_category_with_solr_save(c, reload=false) | |
42 | + add_category_without_solr_save(c, reload) | |
43 | + if !new_record? | |
44 | + self.solr_save | |
45 | + end | |
46 | + end | |
47 | + alias_method_chain :add_category, :solr_save | |
48 | + | |
49 | + def create_pending_categorizations_with_solr_save | |
50 | + create_pending_categorizations_without_solr_save | |
51 | + self.solr_save | |
52 | + end | |
53 | + alias_method_chain :create_pending_categorizations, :solr_save | |
54 | + | |
41 | 55 | private |
42 | 56 | |
43 | 57 | def self.solr_plugin_f_type_proc(klass) |
... | ... | @@ -81,4 +95,19 @@ class Article |
81 | 95 | def solr_plugin_name_sortable |
82 | 96 | name |
83 | 97 | end |
98 | + | |
99 | + # FIXME: workaround for development env. | |
100 | + # Subclasses aren't (re)loaded, and acts_as_solr | |
101 | + # depends on subclasses method to search | |
102 | + # see http://stackoverflow.com/questions/4138957/activerecordsubclassnotfound-error-when-using-sti-in-rails/4139245 | |
103 | + UploadedFile | |
104 | + TextArticle | |
105 | + TinyMceArticle | |
106 | + TextileArticle | |
107 | + Folder | |
108 | + EnterpriseHomepage | |
109 | + Gallery | |
110 | + Blog | |
111 | + Forum | |
112 | + Event | |
84 | 113 | end | ... | ... |
plugins/solr/lib/ext/profile.rb
... | ... | @@ -44,6 +44,14 @@ class Profile |
44 | 44 | self.solr_plugin_extra_index_methods.push(block) if block_given? |
45 | 45 | end |
46 | 46 | |
47 | + def add_category_with_solr_save(c, reload=false) | |
48 | + add_category_without_solr_save(c, reload) | |
49 | + if !new_record? | |
50 | + self.solr_save | |
51 | + end | |
52 | + end | |
53 | + alias_method_chain :add_category, :solr_save | |
54 | + | |
47 | 55 | private |
48 | 56 | |
49 | 57 | def self.solr_plugin_f_categories_label_proc(environment) | ... | ... |