Class: WcoEmail::EmailFiltersController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- WcoEmail::EmailFiltersController
- Defined in:
- app/controllers/wco_email/email_filters_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #edit2 ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #new2 ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 6 def create :create, WcoEmail::EmailFilter @email_filter = WcoEmail::EmailFilter.new ## conditions, skip_conditions aren't wired for aject yet. (params[:email_filter][:actions_attributes]||[]).each do |_key, attrs| type, id = attrs.delete(:aject).split(' ') attrs[:aject_type] = type attrs[:aject_id] = id end flag = @email_filter.update_attributes( params[:email_filter].permit! ) if flag flash[:notice] = 'Success' redirect_to action: :show, id: @email_filter.id else flash[:alert] = "No luck: #{@email_filter.errors..join(', ')}." redirect_to request.referrer end end |
#destroy ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 29 def destroy :destroy, WcoEmail::EmailFilter if params[:id] @email_filter = WcoEmail::EmailFilter.find params[:id] flag = @email_filter.destroy elsif params[:ids] flag = WcoEmail::EmailFilter.find( params[:ids] ).map { |ef| ef.destroy } end if flag flash[:notice] = 'Success' else flash[:alert] = 'Error' end redirect_to request.referrer end |
#edit ⇒ Object
47 48 49 50 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 47 def edit @email_filter = WcoEmail::EmailFilter.find params[:id] :edit, @email_filter end |
#edit2 ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 51 def edit2 @email_filter = WcoEmail::EmailFilter.find( params[:id] ) :edit, @email_filter @email_filter.conditions.build @email_filter.skip_conditions.build @email_filter.actions.build @aject_options = { 'none' => [ [nil,nil] ], 'Wco::Tag' => Wco::Tag.all.map { |t| [t.slug, "Wco::Tag #{t.id}" ] }, 'WcoEmail::EmailTemplate' => WcoEmail::EmailTemplate.all.map { |t| [ t.slug, "WcoEmail::EmailTemplate #{t.id}" ] }, 'WcoEmail::EmailActionTemplate' => WcoEmail::EmailActionTemplate.all.map { |t| [ t.slug, "WcoEmail::EmailActionTemplate #{t.id}" ] }, 'Wco::OfficeActionTemplate' => Wco::OfficeActionTemplate.all.map { |t| [ t.slug, "Wco::OfficeActionTemplate #{t.id}" ] }, } end |
#index ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 69 def index :index, WcoEmail::EmailFilter.new @email_filter = WcoEmail::EmailFilter.new @email_filters = WcoEmail::EmailFilter.all.includes( :email_template, :conversations ) if params[:q] @email_filters = @email_filters.where( from_exact: /#{params[:q]}/i ) else @email_filters = @email_filters.active end @email_filters = @email_filters.page( params[WcoEmail::EmailFilter::PAGE_PARAM_NAME] ).per( current_profile.per_page ) end |
#new ⇒ Object
84 85 86 87 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 84 def new @email_filter = WcoEmail::EmailFilter.new :new, @email_filter end |
#new2 ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 88 def new2 @email_filter = WcoEmail::EmailFilter.new :new, @email_filter @email_filter.conditions.build @email_filter.skip_conditions.build @email_filter.actions.build @aject_options = { 'none' => [ [nil,nil] ], 'Wco::Tag' => Wco::Tag.all.map { |t| [t.slug, "Wco::Tag #{t.id}" ] }, 'WcoEmail::EmailTemplate' => WcoEmail::EmailTemplate.all.map { |t| [ t.slug, "WcoEmail::EmailTemplate #{t.id}" ] }, 'Wco::OfficeActionTemplate' => Wco::OfficeActionTemplate.all.map { |t| [ t.slug, "Wco::OfficeActionTemplate #{t.id}" ] }, } end |
#show ⇒ Object
104 105 106 107 108 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 104 def show @email_filter = WcoEmail::EmailFilter.find params[:id] :show, @email_filter @conversations = @email_filter.conversations.page( params[WcoEmail::Conversation::PAGE_PARAM_NAME] ).per( current_profile.per_page ) end |
#update ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'app/controllers/wco_email/email_filters_controller.rb', line 110 def update @email_filter = WcoEmail::EmailFilter.find params[:id] :update, @email_filter ## conditions, skip_conditions aren't wired for aject yet. (params[:email_filter][:actions_attributes]||[]).each do |_key, attrs| type, id = attrs.delete(:aject).split(' ') attrs[:aject_type] = type attrs[:aject_id] = id end flag = @email_filter.update_attributes( params[:email_filter].permit! ) if flag flash[:notice] = 'Success' redirect_to request.referrer else flash[:alert] = "No luck: #{@email_filter.errors..join(', ')}." redirect_to request.referrer end end |