georgia 0.7.3 → 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -9
- data/app/assets/javascripts/georgia/ckeditor/config.js +0 -2
- data/app/controllers/georgia/dashboard_controller.rb +4 -2
- data/app/mailers/georgia/notifier.rb +0 -2
- data/app/models/acts_as_taggable_on/tag.rb +9 -0
- data/app/models/ckeditor/asset.rb +6 -3
- data/app/models/georgia/page.rb +6 -1
- data/config/routes.rb +0 -12
- data/lib/georgia.rb +2 -2
- data/lib/georgia/engine.rb +0 -10
- data/lib/georgia/indexer.rb +25 -7
- data/lib/georgia/indexer/extensions/solr_adapter/acts_as_taggable_on_tag.rb +21 -0
- data/lib/georgia/indexer/extensions/solr_adapter/ckeditor_asset.rb +46 -0
- data/lib/georgia/indexer/extensions/solr_adapter/georgia_page.rb +75 -0
- data/lib/georgia/indexer/extensions/tire_adapter/acts_as_taggable_on_tag.rb +24 -0
- data/lib/georgia/indexer/extensions/tire_adapter/ckeditor_asset.rb +41 -0
- data/lib/georgia/indexer/extensions/tire_adapter/georgia_page.rb +55 -0
- data/lib/georgia/indexer/solr_adapter.rb +9 -16
- data/lib/georgia/indexer/tire_adapter.rb +8 -14
- data/lib/georgia/version.rb +1 -1
- metadata +17 -89
- data/app/assets/javascripts/georgia/components/tables/messages.js.coffee +0 -59
- data/app/controllers/georgia/messages_controller.rb +0 -66
- data/app/controllers/messages_controller.rb +0 -29
- data/app/decorators/georgia/message_decorator.rb +0 -21
- data/app/decorators/georgia/messages_decorator.rb +0 -4
- data/app/helpers/georgia/messages_helper.rb +0 -9
- data/app/models/georgia/message.rb +0 -30
- data/app/presenters/georgia/message_actions_presenter.rb +0 -51
- data/app/views/georgia/header/_messages.html.erb +0 -3
- data/app/views/georgia/messages/_message.html.erb +0 -26
- data/app/views/georgia/messages/destroy.js.erb +0 -3
- data/app/views/georgia/messages/search.html.erb +0 -58
- data/app/views/georgia/messages/show.html.erb +0 -46
- data/app/views/messages/create.js.erb +0 -0
- data/app/workers/spam_worker.rb +0 -12
- data/lib/georgia/indexer/adapter.rb +0 -10
- data/lib/georgia/indexer/solr/acts_as_taggable_on/tag.rb +0 -17
- data/lib/georgia/indexer/solr/ckeditor/asset.rb +0 -43
- data/lib/georgia/indexer/solr/georgia/message.rb +0 -31
- data/lib/georgia/indexer/solr/georgia/page.rb +0 -71
- data/lib/georgia/indexer/tire/ckeditor/asset.rb +0 -38
- data/lib/georgia/indexer/tire/georgia/message.rb +0 -41
- data/lib/georgia/indexer/tire/georgia/page.rb +0 -54
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module Georgia
|
4
|
+
module Indexer
|
5
|
+
class TireAdapter
|
6
|
+
module GeorgiaPageExtension
|
7
|
+
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
|
10
|
+
included do
|
11
|
+
|
12
|
+
include ::Tire::Model::Search
|
13
|
+
include ::Tire::Model::Callbacks
|
14
|
+
|
15
|
+
def to_indexed_json
|
16
|
+
keywords = current_revision.present? ? current_revision.contents.map(&:keyword_list).flatten.uniq.join(', ') : ""
|
17
|
+
tags = tag_list.join(', ')
|
18
|
+
class_name = self.class.name
|
19
|
+
|
20
|
+
indexed_hash = {
|
21
|
+
title: title,
|
22
|
+
text: text,
|
23
|
+
excerpt: excerpt,
|
24
|
+
keywords: keywords,
|
25
|
+
url: url,
|
26
|
+
template: template,
|
27
|
+
tags: tags,
|
28
|
+
tag_list: tag_list,
|
29
|
+
publish_state: publish_state,
|
30
|
+
class_name: class_name,
|
31
|
+
updated_at: updated_at.strftime('%F'),
|
32
|
+
revision_id: revision_id
|
33
|
+
}
|
34
|
+
indexed_hash.to_json
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.search model, params
|
38
|
+
model.tire.search(page: (params[:page] || 1), per_page: (params[:per] || 25)) do
|
39
|
+
if params[:query].present?
|
40
|
+
query do
|
41
|
+
boolean do
|
42
|
+
must { string params[:query], default_operator: "AND" }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
sort { by (params[:o] || :updated_at), (params[:dir] || :desc) }
|
46
|
+
end
|
47
|
+
end.results
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -1,23 +1,16 @@
|
|
1
1
|
require 'sunspot_rails'
|
2
|
-
|
3
|
-
require 'georgia/indexer/solr/georgia/message'
|
4
|
-
require 'georgia/indexer/solr/ckeditor/asset'
|
5
|
-
require 'georgia/indexer/solr/acts_as_taggable_on/tag'
|
2
|
+
Dir[File.join(File.dirname(__FILE__), 'extensions', 'solr_adapter', '*.rb')].each {|file| require file }
|
6
3
|
|
7
|
-
module Georgia
|
8
|
-
|
4
|
+
module Georgia
|
5
|
+
module Indexer
|
6
|
+
class SolrAdapter
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
# Delegate search_index to the model
|
9
|
+
# Search method is taken by Sunspot
|
10
|
+
def search model, params
|
11
|
+
model.search_index model, params
|
12
|
+
end
|
15
13
|
|
16
|
-
def extend_models
|
17
|
-
::Georgia::Page.send(:extend, Georgia::Indexer::Solr::Georgia::Page)
|
18
|
-
::Georgia::Message.send(:extend, Georgia::Indexer::Solr::Georgia::Message)
|
19
|
-
::Ckeditor::Asset.send(:extend, Georgia::Indexer::Solr::Ckeditor::Asset)
|
20
|
-
::ActsAsTaggableOn::Tag.send(:extend, Georgia::Indexer::Solr::ActsAsTaggableOn::Tag)
|
21
14
|
end
|
22
15
|
end
|
23
16
|
end
|
@@ -1,21 +1,15 @@
|
|
1
1
|
require 'tire'
|
2
|
-
|
3
|
-
require 'georgia/indexer/tire/georgia/message'
|
4
|
-
require 'georgia/indexer/tire/ckeditor/asset'
|
2
|
+
Dir[File.join(File.dirname(__FILE__), 'extensions', 'tire_adapter', '*.rb')].each {|file| require file }
|
5
3
|
|
6
|
-
module Georgia
|
7
|
-
|
4
|
+
module Georgia
|
5
|
+
module Indexer
|
6
|
+
class TireAdapter
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
private
|
8
|
+
# Delegate search to the model
|
9
|
+
def search model, params
|
10
|
+
model.search model, params
|
11
|
+
end
|
14
12
|
|
15
|
-
def extend_models
|
16
|
-
::Georgia::Page.send(:extend, Georgia::Indexer::Tire::Georgia::Page)
|
17
|
-
::Georgia::Message.send(:extend, Georgia::Indexer::Tire::Georgia::Message)
|
18
|
-
::Ckeditor::Asset.send(:extend, Georgia::Indexer::Tire::Ckeditor::Asset)
|
19
13
|
end
|
20
14
|
end
|
21
15
|
end
|
data/lib/georgia/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: georgia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mathieu Gagné
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.2.
|
19
|
+
version: 3.2.6
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.2.
|
26
|
+
version: 3.2.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jquery-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: ckeditor
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - '
|
171
|
+
- - '='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 4.0.8
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - '
|
178
|
+
- - '='
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
180
|
+
version: 4.0.8
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: carrierwave
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -346,20 +346,6 @@ dependencies:
|
|
346
346
|
- - '>'
|
347
347
|
- !ruby/object:Gem::Version
|
348
348
|
version: '1'
|
349
|
-
- !ruby/object:Gem::Dependency
|
350
|
-
name: cloudfiles
|
351
|
-
requirement: !ruby/object:Gem::Requirement
|
352
|
-
requirements:
|
353
|
-
- - '>='
|
354
|
-
- !ruby/object:Gem::Version
|
355
|
-
version: '0'
|
356
|
-
type: :runtime
|
357
|
-
prerelease: false
|
358
|
-
version_requirements: !ruby/object:Gem::Requirement
|
359
|
-
requirements:
|
360
|
-
- - '>='
|
361
|
-
- !ruby/object:Gem::Version
|
362
|
-
version: '0'
|
363
349
|
- !ruby/object:Gem::Dependency
|
364
350
|
name: mousetrap-rails
|
365
351
|
requirement: !ruby/object:Gem::Requirement
|
@@ -388,20 +374,6 @@ dependencies:
|
|
388
374
|
- - '>='
|
389
375
|
- !ruby/object:Gem::Version
|
390
376
|
version: '0'
|
391
|
-
- !ruby/object:Gem::Dependency
|
392
|
-
name: sendgrid
|
393
|
-
requirement: !ruby/object:Gem::Requirement
|
394
|
-
requirements:
|
395
|
-
- - '>='
|
396
|
-
- !ruby/object:Gem::Version
|
397
|
-
version: '0'
|
398
|
-
type: :runtime
|
399
|
-
prerelease: false
|
400
|
-
version_requirements: !ruby/object:Gem::Requirement
|
401
|
-
requirements:
|
402
|
-
- - '>='
|
403
|
-
- !ruby/object:Gem::Version
|
404
|
-
version: '0'
|
405
377
|
- !ruby/object:Gem::Dependency
|
406
378
|
name: routing_concerns
|
407
379
|
requirement: !ruby/object:Gem::Requirement
|
@@ -416,34 +388,6 @@ dependencies:
|
|
416
388
|
- - '>='
|
417
389
|
- !ruby/object:Gem::Version
|
418
390
|
version: '0'
|
419
|
-
- !ruby/object:Gem::Dependency
|
420
|
-
name: rakismet
|
421
|
-
requirement: !ruby/object:Gem::Requirement
|
422
|
-
requirements:
|
423
|
-
- - '>='
|
424
|
-
- !ruby/object:Gem::Version
|
425
|
-
version: '0'
|
426
|
-
type: :runtime
|
427
|
-
prerelease: false
|
428
|
-
version_requirements: !ruby/object:Gem::Requirement
|
429
|
-
requirements:
|
430
|
-
- - '>='
|
431
|
-
- !ruby/object:Gem::Version
|
432
|
-
version: '0'
|
433
|
-
- !ruby/object:Gem::Dependency
|
434
|
-
name: sidekiq
|
435
|
-
requirement: !ruby/object:Gem::Requirement
|
436
|
-
requirements:
|
437
|
-
- - '>='
|
438
|
-
- !ruby/object:Gem::Version
|
439
|
-
version: '0'
|
440
|
-
type: :runtime
|
441
|
-
prerelease: false
|
442
|
-
version_requirements: !ruby/object:Gem::Requirement
|
443
|
-
requirements:
|
444
|
-
- - '>='
|
445
|
-
- !ruby/object:Gem::Version
|
446
|
-
version: '0'
|
447
391
|
description: This is simply the best CMS in town. User authentication, widgets, slideshows,
|
448
392
|
easy UI with drag and drop, publishing system, versioning, etc.
|
449
393
|
email:
|
@@ -460,7 +404,6 @@ files:
|
|
460
404
|
- app/assets/javascripts/georgia/components/tags.js.coffee
|
461
405
|
- app/assets/javascripts/georgia/components/media-library.js.coffee
|
462
406
|
- app/assets/javascripts/georgia/components/flash.js.coffee
|
463
|
-
- app/assets/javascripts/georgia/components/tables/messages.js.coffee
|
464
407
|
- app/assets/javascripts/georgia/components/tables/media.js.coffee
|
465
408
|
- app/assets/javascripts/georgia/components/tables/pages.js.coffee
|
466
409
|
- app/assets/javascripts/georgia/components/tables/checkbox.js.coffee
|
@@ -586,9 +529,7 @@ files:
|
|
586
529
|
- app/decorators/georgia/pages_decorator.rb
|
587
530
|
- app/decorators/georgia/application_decorator.rb
|
588
531
|
- app/decorators/georgia/revision_decorator.rb
|
589
|
-
- app/decorators/georgia/message_decorator.rb
|
590
532
|
- app/decorators/georgia/links_decorator.rb
|
591
|
-
- app/decorators/georgia/messages_decorator.rb
|
592
533
|
- app/decorators/ckeditor/assets_decorator.rb
|
593
534
|
- app/decorators/ckeditor/asset_decorator.rb
|
594
535
|
- app/decorators/ckeditor/pictures_decorator.rb
|
@@ -614,10 +555,10 @@ files:
|
|
614
555
|
- app/models/georgia/menu.rb
|
615
556
|
- app/models/georgia/slide.rb
|
616
557
|
- app/models/georgia/ui_section.rb
|
617
|
-
- app/models/georgia/message.rb
|
618
558
|
- app/models/georgia/revision.rb
|
619
559
|
- app/models/georgia/status.rb
|
620
560
|
- app/models/ability.rb
|
561
|
+
- app/models/acts_as_taggable_on/tag.rb
|
621
562
|
- app/models/ckeditor/attachment_file.rb
|
622
563
|
- app/models/ckeditor/picture.rb
|
623
564
|
- app/models/ckeditor/asset.rb
|
@@ -636,19 +577,15 @@ files:
|
|
636
577
|
- app/controllers/georgia/links_controller.rb
|
637
578
|
- app/controllers/georgia/slides_controller.rb
|
638
579
|
- app/controllers/georgia/pages_controller.rb
|
639
|
-
- app/controllers/georgia/messages_controller.rb
|
640
580
|
- app/controllers/georgia/widgets_controller.rb
|
641
|
-
- app/controllers/messages_controller.rb
|
642
581
|
- app/views/menus/_dropdown_link.html.erb
|
643
582
|
- app/views/menus/_link.html.erb
|
644
583
|
- app/views/menus/_menu.html.erb
|
645
584
|
- app/views/menus/_dropdown_group.html.erb
|
646
585
|
- app/views/menus/_dropdown_menu.html.erb
|
647
|
-
- app/views/messages/create.js.erb
|
648
586
|
- app/views/georgia/api/media/pictures.html.erb
|
649
587
|
- app/views/georgia/header/_pages.html.erb
|
650
588
|
- app/views/georgia/header/_dashboard.html.erb
|
651
|
-
- app/views/georgia/header/_messages.html.erb
|
652
589
|
- app/views/georgia/header/_media.html.erb
|
653
590
|
- app/views/georgia/header/_widgets.html.erb
|
654
591
|
- app/views/georgia/header/_users.html.erb
|
@@ -662,10 +599,6 @@ files:
|
|
662
599
|
- app/views/georgia/dashboard/show.html.erb
|
663
600
|
- app/views/georgia/dashboard/panels/_messages.html.erb
|
664
601
|
- app/views/georgia/dashboard/panels/_reviews.html.erb
|
665
|
-
- app/views/georgia/messages/_message.html.erb
|
666
|
-
- app/views/georgia/messages/destroy.js.erb
|
667
|
-
- app/views/georgia/messages/show.html.erb
|
668
|
-
- app/views/georgia/messages/search.html.erb
|
669
602
|
- app/views/georgia/users/_user.html.erb
|
670
603
|
- app/views/georgia/users/edit.html.erb
|
671
604
|
- app/views/georgia/users/_form.html.erb
|
@@ -721,7 +654,6 @@ files:
|
|
721
654
|
- app/views/layouts/georgia/application.html.erb
|
722
655
|
- app/views/layouts/georgia/_footer.html.erb
|
723
656
|
- app/views/layouts/georgia/_sidebar.html.erb
|
724
|
-
- app/workers/spam_worker.rb
|
725
657
|
- app/policies/georgia/revision_policy.rb
|
726
658
|
- app/policies/georgia/policy.rb
|
727
659
|
- app/mailers/georgia/notifier.rb
|
@@ -739,7 +671,6 @@ files:
|
|
739
671
|
- app/presenters/georgia/active_facet_presenter.rb
|
740
672
|
- app/presenters/georgia/portlet.rb
|
741
673
|
- app/presenters/georgia/warning_message.rb
|
742
|
-
- app/presenters/georgia/message_actions_presenter.rb
|
743
674
|
- app/presenters/georgia/subpage_portlet.rb
|
744
675
|
- app/presenters/georgia/pagination_presenter.rb
|
745
676
|
- app/helpers/georgia/states_helper.rb
|
@@ -747,7 +678,6 @@ files:
|
|
747
678
|
- app/helpers/georgia/pages_helper.rb
|
748
679
|
- app/helpers/georgia/pagination_helper.rb
|
749
680
|
- app/helpers/georgia/meta_tags_helper.rb
|
750
|
-
- app/helpers/georgia/messages_helper.rb
|
751
681
|
- app/helpers/georgia/devise_helper.rb
|
752
682
|
- app/helpers/georgia/ui_helper.rb
|
753
683
|
- app/helpers/georgia/sidebar_helper.rb
|
@@ -805,14 +735,12 @@ files:
|
|
805
735
|
- lib/georgia/assets.rb
|
806
736
|
- lib/georgia/indexer/tire_adapter.rb
|
807
737
|
- lib/georgia/indexer/solr_adapter.rb
|
808
|
-
- lib/georgia/indexer/
|
809
|
-
- lib/georgia/indexer/
|
810
|
-
- lib/georgia/indexer/
|
811
|
-
- lib/georgia/indexer/
|
812
|
-
- lib/georgia/indexer/
|
813
|
-
- lib/georgia/indexer/
|
814
|
-
- lib/georgia/indexer/solr/ckeditor/asset.rb
|
815
|
-
- lib/georgia/indexer/adapter.rb
|
738
|
+
- lib/georgia/indexer/extensions/solr_adapter/georgia_page.rb
|
739
|
+
- lib/georgia/indexer/extensions/solr_adapter/ckeditor_asset.rb
|
740
|
+
- lib/georgia/indexer/extensions/solr_adapter/acts_as_taggable_on_tag.rb
|
741
|
+
- lib/georgia/indexer/extensions/tire_adapter/georgia_page.rb
|
742
|
+
- lib/georgia/indexer/extensions/tire_adapter/ckeditor_asset.rb
|
743
|
+
- lib/georgia/indexer/extensions/tire_adapter/acts_as_taggable_on_tag.rb
|
816
744
|
- MIT-LICENSE
|
817
745
|
- Rakefile
|
818
746
|
- README.md
|
@@ -1,59 +0,0 @@
|
|
1
|
-
class @MessagesTable
|
2
|
-
|
3
|
-
constructor: (element) ->
|
4
|
-
@element = $(element)
|
5
|
-
@checkboxes = @element.find("input:checkbox")
|
6
|
-
@deleteBtn = @element.find('.js-delete')
|
7
|
-
@spamBtn = @element.find('.js-spam')
|
8
|
-
@hamBtn = @element.find('.js-ham')
|
9
|
-
@setBindings()
|
10
|
-
|
11
|
-
setBindings: () =>
|
12
|
-
@checkboxes.on('change', @update)
|
13
|
-
@deleteBtn.on('click', @delete)
|
14
|
-
@spamBtn.on('click', @spam)
|
15
|
-
@hamBtn.on('click', @ham)
|
16
|
-
|
17
|
-
update: () =>
|
18
|
-
if @getChecked().length then @enableActions() else @disableActions()
|
19
|
-
|
20
|
-
delete: (event) =>
|
21
|
-
@stopEvent(event)
|
22
|
-
$.ajax(
|
23
|
-
url: "/admin/messages/#{@getIds()}"
|
24
|
-
type: 'DELETE'
|
25
|
-
)
|
26
|
-
|
27
|
-
spam: (event) ->
|
28
|
-
@stopEvent(event)
|
29
|
-
# TODO: send event to controller
|
30
|
-
|
31
|
-
ham: (event) ->
|
32
|
-
@stopEvent(event)
|
33
|
-
# TODO: send event to controller
|
34
|
-
|
35
|
-
enableActions: () =>
|
36
|
-
@spamBtn.removeClass('disabled').addClass('btn-warning')
|
37
|
-
@hamBtn.removeClass('disabled').addClass('btn-warning')
|
38
|
-
@deleteBtn.removeClass('disabled').addClass('btn-danger')
|
39
|
-
|
40
|
-
disableActions: () =>
|
41
|
-
@spamBtn.addClass('disabled').removeClass('btn-warning')
|
42
|
-
@hamBtn.addClass('disabled').removeClass('btn-warning')
|
43
|
-
@deleteBtn.addClass('disabled').removeClass('btn-danger')
|
44
|
-
|
45
|
-
stopEvent: (event) ->
|
46
|
-
event.stopPropagation()
|
47
|
-
event.preventDefault()
|
48
|
-
|
49
|
-
getChecked: () => @element.find("input:checkbox:checked[data-checkbox='child']")
|
50
|
-
getId: (c) => $(c).data('id')
|
51
|
-
getIds: () => $.map(@getChecked(), (c) => @getId(c))
|
52
|
-
|
53
|
-
$.fn.actsAsMessagesTable = () ->
|
54
|
-
@each ->
|
55
|
-
new MessagesTable($(this))
|
56
|
-
|
57
|
-
jQuery ->
|
58
|
-
$("table.messages.js-checkboxable").each ->
|
59
|
-
$(this).actsAsMessagesTable()
|
@@ -1,66 +0,0 @@
|
|
1
|
-
module Georgia
|
2
|
-
class MessagesController < ApplicationController
|
3
|
-
|
4
|
-
load_and_authorize_resource class: Georgia::Message
|
5
|
-
|
6
|
-
before_filter :prepare_search, only: [:search, :show, :spam, :ham]
|
7
|
-
|
8
|
-
|
9
|
-
def index
|
10
|
-
redirect_to action: :search
|
11
|
-
end
|
12
|
-
|
13
|
-
def search
|
14
|
-
end
|
15
|
-
|
16
|
-
# Destroy multiple assets
|
17
|
-
def destroy
|
18
|
-
ids = params[:id].split(',')
|
19
|
-
if @messages = Message.destroy(ids)
|
20
|
-
render layout: false
|
21
|
-
else
|
22
|
-
head :internal_server_error
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def destroy_all_spam
|
27
|
-
if Message.spam.destroy_all
|
28
|
-
redirect_to :back, notice: 'All spam messages have been successfully deleted.'
|
29
|
-
else
|
30
|
-
redirect_to :back, alert: 'Oups. Something went wrong.'
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def show
|
35
|
-
@message = Message.find(params[:id]).decorate
|
36
|
-
end
|
37
|
-
|
38
|
-
def spam
|
39
|
-
@message = Message.find(params[:id])
|
40
|
-
if @message.spam!
|
41
|
-
@message.update_attribute(:spam, true)
|
42
|
-
redirect_to :back, notice: 'Message successfully marked as spam.'
|
43
|
-
else
|
44
|
-
redirect_to :back, alert: 'Oups. Something went wrong.'
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def ham
|
49
|
-
@message = Message.find(params[:id])
|
50
|
-
if @message.ham! == false
|
51
|
-
@message.update_attribute(:spam, false)
|
52
|
-
redirect_to :back, notice: 'Message successfully marked as ham.'
|
53
|
-
else
|
54
|
-
redirect_to :back, alert: 'Oups. Something went wrong.'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
def prepare_search
|
61
|
-
@results = Georgia::Indexer.adapter.search(Georgia::Message, params)
|
62
|
-
@messages = Georgia::MessageDecorator.decorate_collection(@results)
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
end
|