Skip to content

Commit 0867c76

Browse files
committed
- Updated the depricated deliver method
- Fix the test cases config for data cleaner and import users - Fix the test cases for User and Newsletter controller - Rename the newsletter type constant - Fix the user form
1 parent 97b6e04 commit 0867c76

21 files changed

+223
-229
lines changed

app/controllers/light/newsletters_controller.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class NewslettersController < ApplicationController
77
:show, :edit, :update, :destroy, :web_version]
88

99
def index
10-
type = params[:type].present? ? params[:type] : Newsletter::VALID_NEWSLETTER_TYPES[:MONTHLY]
10+
type = params[:type].present? ? params[:type] : Newsletter::NEWSLETTER_TYPES[:MONTHLY]
1111
@newsletters = Newsletter.where(newsletter_type: type).order_by([:sent_on, :desc])
1212
end
1313

@@ -64,13 +64,13 @@ def send_newsletter
6464
type = @newsletter.newsletter_type
6565

6666
case type
67-
when Newsletter::VALID_NEWSLETTER_TYPES[:OPT_IN]
67+
when Newsletter::NEWSLETTER_TYPES[:OPT_IN]
6868
Light::OptInWorker.perform_async(@newsletter.id.to_s)
6969
flash[:notice] = 'Sent Opt-In newsletter successfully'
70-
when Newsletter::VALID_NEWSLETTER_TYPES[:OPT_OUT]
70+
when Newsletter::NEWSLETTER_TYPES[:OPT_OUT]
7171
Light::OptOutWorker.perform_async(@newsletter.id.to_s)
7272
flash[:notice] = 'Sent Opt-Out newsletter successfully'
73-
when Newsletter::VALID_NEWSLETTER_TYPES[:MONTHLY]
73+
when Newsletter::NEWSLETTER_TYPES[:MONTHLY]
7474
Light::UserWorker.perform_async(@newsletter.id.to_s)
7575
flash[:notice] = 'Sent Monthly newsletter successfully'
7676
else
@@ -87,7 +87,7 @@ def send_test_mail
8787
emails = params[:email][:email_id].split(',')
8888
unless emails.empty?
8989
if @newsletter
90-
Light::UserMailer.welcome_message(emails, @newsletter, 'test_user_dummy_id').deliver
90+
Light::UserMailer.welcome_message(emails, @newsletter, 'test_user_dummy_id').deliver_now
9191
flash[:notice] = 'You will receive newsletter on the given email ids shortly.'
9292
redirect_to newsletters_path(type: @newsletter.newsletter_type)
9393
else

app/controllers/light/users_controller.rb

+8-10
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def create
2525
@user = Light::User.new(users_params)
2626
@user.sent_on = Array.new
2727
if @user.save
28-
@user.update(source: 'Manual', sent_on: Array.new, sidekiq_status: 'new user' )
28+
@user.update(source: 'Manual', sent_on: Array.new, sidekiq_status: 'new user')
2929
flash[:success] = 'User created successfully'
3030
redirect_to users_path
3131
else
@@ -43,13 +43,13 @@ def unsubscribe
4343
)
4444
@message = 'Unsubscribed successfully!!'
4545
else
46-
@message = response_message('unsubscribed')
46+
@message = response_message('Unsubscribed')
4747
end
4848
end
4949

5050
def subscribe
5151
if @user.present? && @user.sidekiq_status == 'Unsubscribed'
52-
@user.update(
52+
@user.update_attributes(
5353
is_subscribed: true,
5454
sidekiq_status: 'Subscribed',
5555
subscribed_at: DateTime.now,
@@ -58,7 +58,7 @@ def subscribe
5858
)
5959
@message = 'Subscribed successfully!!'
6060
else
61-
@message = response_message('subscribed')
61+
@message = response_message('Subscribed')
6262
end
6363
end
6464

@@ -85,8 +85,7 @@ def destroy
8585
end
8686

8787
def remove
88-
if @user.present?
89-
@user.destroy
88+
if @user.present? && @user.destroy
9089
@message = 'We have removed you from our database!'
9190
else
9291
@message = 'No user with this token exists!'
@@ -104,7 +103,7 @@ def import
104103

105104
def auto_opt_in
106105
@user = Light::User.new
107-
@newsletters = Light::Newsletter.all.desc(:sent_on)
106+
@newsletters = Light::Newsletter.all.desc(:sent_on)
108107
end
109108

110109
def opt_in
@@ -132,7 +131,6 @@ def opt_in
132131
end
133132

134133
def thank_you
135-
136134
end
137135

138136
private
@@ -150,10 +148,10 @@ def dummy_token?
150148

151149
def response_message(status)
152150
if dummy_token?
153-
"#{status.capitalize} successfully!!"
151+
"#{status} successfully!!"
154152
elsif @user.nil?
155153
'Hey, it seems request you are trying to access is invalid. If you have any ' +
156-
'concerns about our newsletters subscription, kindly get in touch with ' +
154+
"concerns about our newsletter's subscription, kindly get in touch with " +
157155
"<a href='mailto:[email protected]' class='email'>[email protected]</a>"
158156
else
159157
"You have already #{status}!!"

app/models/light/newsletter.rb

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class Newsletter
44
include Mongoid::Slug
55
include Mongoid::Paperclip
66

7-
VALID_NEWSLETTER_TYPES = {
7+
NEWSLETTER_TYPES = {
88
MONTHLY: 'Monthly Newsletter',
99
OPT_IN: 'Opt-In Letter',
1010
OPT_OUT: 'Opt-Out Letter'
@@ -14,15 +14,15 @@ class Newsletter
1414
field :content, type: String
1515
field :sent_on, type: Date
1616
field :users_count, type: Integer, default: 0
17-
field :newsletter_type, type: String, default: VALID_NEWSLETTER_TYPES[:MONTHLY]
17+
field :newsletter_type, type: String, default: NEWSLETTER_TYPES[:MONTHLY]
1818

1919
validates :content, :subject, :newsletter_type, presence: true
2020
validates :subject, uniqueness: true
21-
validates :newsletter_type, inclusion: {in: VALID_NEWSLETTER_TYPES.values}
21+
validates :newsletter_type, inclusion: {in: NEWSLETTER_TYPES.values}
2222

23-
scope :opt_in_letters, -> { where(newsletter_type: VALID_NEWSLETTER_TYPES[:OPT_IN]) }
24-
scope :opt_out_letters, -> { where(newsletter_type: VALID_NEWSLETTER_TYPES[:OPT_OUT]) }
25-
scope :monthly_letters, -> { where(newsletter_type: VALID_NEWSLETTER_TYPES[:MONTHLY]) }
23+
scope :opt_in_letters, -> { where(newsletter_type: NEWSLETTER_TYPES[:OPT_IN]) }
24+
scope :opt_out_letters, -> { where(newsletter_type: NEWSLETTER_TYPES[:OPT_OUT]) }
25+
scope :monthly_letters, -> { where(newsletter_type: NEWSLETTER_TYPES[:MONTHLY]) }
2626

2727
has_mongoid_attached_file :photo,styles: {original: ['1920x1680>', :png],small: ['240x200!', :png]}
2828
validates_attachment_content_type :photo, content_type: ['image/jpg', 'image/jpeg', 'image/png', 'application/pdf']
@@ -34,11 +34,11 @@ def get_image
3434
end
3535

3636
def opt_in?
37-
newsletter_type.eql?(VALID_NEWSLETTER_TYPES[:OPT_IN])
37+
newsletter_type.eql?(NEWSLETTER_TYPES[:OPT_IN])
3838
end
3939

4040
def opt_out?
41-
newsletter_type.eql?(VALID_NEWSLETTER_TYPES[:OPT_OUT])
41+
newsletter_type.eql?(NEWSLETTER_TYPES[:OPT_OUT])
4242
end
4343
end
4444
end

app/views/light/newsletters/_form.html.haml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
= "Please Replace unsubscribe link with #{LIGHT_HOST_URL}/unsubscribe/<%= @user_id %>"
66
%br
77
= news.input :subject, :label => "Subject", :input_html => { :class => 'span8', :placeholder => 'Enter subject here...' }
8-
= news.input :newsletter_type, collection: Light::Newsletter::VALID_NEWSLETTER_TYPES.values ,
8+
= news.input :newsletter_type, collection: Light::Newsletter::NEWSLETTER_TYPES.values ,
99
:label => "Type"
1010
= news.text_area :content, :placeholder => "Input here..", :class => "redactor", :rows => 20, :cols => 40
1111
= news.button :submit, class: "btn btn-primary"
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
= render 'top_navbar'
22

33
%table.table
4-
-count=3
5-
-@newsletters.each do |newsletter|
6-
-if count > 2
7-
-count=0
4+
- count = 3
5+
- @newsletters.each do |newsletter|
6+
- if count > 2
7+
- count = 0
88
%tr
99
%td
1010
%center
@@ -14,13 +14,13 @@
1414
= image_tag newsletter.get_image
1515
%div.cap
1616
%h4
17-
= newsletter.sent_on.strftime("%B %Y")
17+
= newsletter.sent_on.strftime('%B %Y')
1818
= "(#{newsletter.users_count} users)"
1919
%center
2020
%hr
21-
= link_to "", edit_newsletter_path(newsletter), class: "btn btn-lg icon-edit", data: { no_turbolink: true }
22-
= link_to "", newsletter_path(newsletter), method: :delete, class: 'btn btn-lg icon-trash', :data => { :confirm => 'Are you sure, you want to delete newsletter?'}
23-
= link_to "Send Mail", send_newsletter_path(newsletter), method: :post, :class => 'btn btn-mini btn-danger', :data => { :confirm => 'Are you sure ?'}
24-
= link_to "Test Mail", test_mail_newsletter_path(newsletter), :class => 'btn btn-mini btn-success'
25-
-count+=1
21+
= link_to '', edit_newsletter_path(newsletter), class: 'btn btn-lg icon-edit', data: { no_turbolink: true }
22+
= link_to '', newsletter_path(newsletter), method: :delete, class: 'btn btn-lg icon-trash', :data => { :confirm => 'Are you sure, you want to delete newsletter?'}
23+
= link_to 'Send Mail', send_newsletter_path(newsletter), method: :post, :class => 'btn btn-mini btn-danger', :data => { :confirm => 'Are you sure ?'}
24+
= link_to 'Test Mail', test_mail_newsletter_path(newsletter), :class => 'btn btn-mini btn-success'
25+
- count += 1
2626

Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
= nav_bar :brand => 'Newsletters', :responsive => true, :static => :top, :fluid => :true do
22
= menu_group do
3-
= menu_item "Add Newsletter", new_newsletter_path
4-
= menu_item "Opt in letters", newsletters_path(type: "Opt-In Letter")
5-
= menu_item "Opt out letters", newsletters_path(type: "Opt-Out Letter")
6-
= drop_down "Add Users" do
7-
= menu_item "Add Manually", new_user_path
8-
= menu_item "Import Opt-in Users", users_import_path
9-
= menu_item "Google Spreadsheets", spreadsheets_path
3+
= menu_item 'Add Newsletter', new_newsletter_path
4+
= menu_item 'Opt in letters', newsletters_path(type: 'Opt-In Letter')
5+
= menu_item 'Opt out letters', newsletters_path(type: 'Opt-Out Letter')
6+
= drop_down 'Add Users' do
7+
= menu_item 'Add Manually', new_user_path
8+
= menu_item 'Import Opt-in Users', users_import_path
9+
= menu_item 'Google Spreadsheets', spreadsheets_path
1010

11-
= menu_item "Show Users", users_path, ({:method => 'get'} if params[:controller] == 'light/users' && params[:action].in?(['new', 'create']))
11+
= menu_item 'Show Users', users_path, ({:method => 'get'} if params[:controller] == 'light/users' && params[:action].in?(['new', 'create']))
1212
%br
1313

1414
:javascript
1515
$(document).ready(function() {
16-
$(".nav").find(".active").removeClass("active");
16+
$('.nav').find('.active').removeClass('active');
1717
$('a[href="' + location.pathname + location.search + '"]').closest('li').addClass('active');
1818
});
+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
= render 'top_navbar'
22
%h2.text-center
33
= @newsletter.subject
4-
= link_to "", edit_newsletter_path(@newsletter), class: "icon-edit pull-right", data: { no_turbolink: true }
4+
= link_to '', edit_newsletter_path(@newsletter), class: 'icon-edit pull-right', data: { no_turbolink: true }
55
= raw @newsletter.content
66
%center
7-
= link_to "Send Mail", send_newsletter_path(@newsletter),
7+
= link_to 'Send Mail', send_newsletter_path(@newsletter),
88
:class => 'btn btn-danger', :data => { :confirm => 'Are you sure ?'}, method: :post
9-
= link_to "Send Test Mail", test_mail_newsletter_path(@newsletter), :class => "btn btn-success"
9+
= link_to 'Send Test Mail', test_mail_newsletter_path(@newsletter), :class => 'btn btn-success'

app/views/light/users/_form.html.haml

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
= simple_form_for (@user), html: {role: 'form', class: 'form-horizontal'} do |f|
66
= f.input :email_id, input_html:{class: 'span3'}
77
= f.input :username, input_html:{class: 'span3'}
8-
= f.input :is_subscribed, :as => :select, input_html:{class: 'span3'}
8+
= f.label 'Subscribed'
9+
.make-switch{"data-on" => "success", "data-off" => "warning", "data-on-label" => "True", "data-off-label" => "False"}
10+
= f.check_box :is_subscribed, {}, 'true', 'false'
911
= f.input :joined_on, input_html: { 'data-behaviour' => 'datepicker'}, input_html:{class: 'span3'}
1012
= f.input :source, input_html:{class: 'span3'}
1113
= f.button :submit, class: "btn btn-success controls"

app/views/light/users/edit.html.haml

+6-7
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66
%td
77
= f.input :email_id, input_html:{class: 'span3'}
88
= f.input :username, input_html:{class: 'span3'}
9-
= f.input :is_subscribed, :as => :select, input_html:{class: 'span3'}
10-
= f.input :joined_on, input_html: { 'data-behaviour' => 'datepicker'}, input_html:{class: 'span3'}
9+
= f.label 'Subscribed'
10+
.make-switch{'data-on': 'success', 'data-off': 'warning', 'data-on-label': 'True', 'data-off-label': 'False'}
11+
= f.check_box :is_subscribed, {}, 'true', 'false'
12+
%br
13+
%br
14+
= f.input :joined_on, input_html: {type: 'date', class: 'date-picker', value: @user.joined_on.try(:strftime, '%Y-%m-%d')}
1115
= f.input :source, input_html:{class: 'span3'}
1216
= f.button :submit, class: "btn btn-success controls"
1317

14-
:javascript
15-
$('[data-behaviour~=datepicker]').datepicker({
16-
format: 'yyyy-mm-dd'
17-
})
18-
1918

app/workers/light/enqueue.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ class Enqueue
55

66
def perform(email)
77
date = Date.today.strftime("%Y%m")
8-
news = Light::Newsletter.where(newsletter_type: Light::Newsletter::VALID_NEWSLETTER_TYPES[:MONTHLY]).
8+
news = Light::Newsletter.where(newsletter_type: Light::Newsletter::NEWSLETTER_TYPES[:MONTHLY]).
99
order_by([:sent_on, :desc]).first
10-
Light::UserMailer.welcome_message(email, news, 'test_user_dummy_id').deliver if news
10+
Light::UserMailer.welcome_message(email, news, 'test_user_dummy_id').deliver_now if news
1111
end
1212
end
1313
end

app/workers/light/hard_worker.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def perform(user_ids, newsletter_id, date, status = nil)
88
user_ids.each do |id|
99
user = Light::User.where(id: id, :sent_on.nin => [date]).first
1010
if user.present?
11-
Light::UserMailer.welcome_message(user.email_id, newsletter, user.token).deliver
11+
Light::UserMailer.welcome_message(user.email_id, newsletter, user.token).deliver_now
1212
sent_on = user.sent_on << date
1313
if status.present? && status.include?('Opt in')
1414
user.update_attributes(

app/workers/light/import_worker.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def perform(rows, email_id, source = 'Business Card')
2121
) if email.present? or name.present?
2222
csv << [email, row[0], user.errors.messages] if user.present? and user.errors.present?
2323
end
24-
UserMailer.import_contacts_update(email_id, file_path).deliver
24+
UserMailer.import_contacts_update(email_id, file_path).deliver_now
2525
end
2626
end
2727
end

app/workers/light/opt_in_worker.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class OptInWorker
44
sidekiq_options :queue => :lightair
55

66
def perform(newsletter_id)
7-
date = Date.today.strftime("%Y%m")
7+
date = Date.today.strftime('%Y%m')
88
users = Light::User.get_new_users
99
number_of_opt_in_users = users.count
1010
number_of_opt_in_users_count = number_of_opt_in_users
@@ -16,12 +16,12 @@ def perform(newsletter_id)
1616
user_ids = users.limit(users_in_batch).skip(users_in_batch*current_batch).collect { |user| user.id.to_s }
1717
current_batch += 1
1818
number_of_opt_in_users -= users_in_batch
19-
Light::HardWorker.perform_async(user_ids, newsletter.id.to_s, date, "Opt in mail sent")
19+
Light::HardWorker.perform_async(user_ids, newsletter.id.to_s, date, 'Opt in mail sent')
2020
end
2121
opt_in_count = newsletter.users_count + number_of_opt_in_users_count
2222
newsletter.update_attribute(:users_count, opt_in_count)
2323
else
24-
logger.info = "No newsletter present"
24+
logger.info = 'No newsletter present'
2525
end
2626
end
2727
end

app/workers/light/opt_out_worker.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class OptOutWorker
44
sidekiq_options :queue => :lightair
55

66
def perform(newsletter_id)
7-
date = Date.today.strftime("%Y%m")
7+
date = Date.today.strftime('%Y%m')
88
users = Light::User.get_new_users
99
number_of_opt_out_users = users.count
1010
number_of_opt_out_users_count = number_of_opt_out_users

app/workers/light/user_worker.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def perform(newsletter_id)
1212
users_in_batch = 250
1313
newsletter = Light::Newsletter.where(id: newsletter_id).first
1414

15-
#newsletter = Light::Newsletter.where(newsletter_type: Light::Newsletter::VALID_NEWSLETTER_TYPES[:OPT_IN]).
15+
#newsletter = Light::Newsletter.where(newsletter_type: Light::Newsletter::NEWSLETTER_TYPES[:OPT_IN]).
1616
# order_by([:sent_on, :desc]).first
1717
if newsletter
1818
while number_of_subscribed_users > 0

config/routes.rb

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
Light::Engine.routes.draw do
22
mount RedactorRails::Engine => '/redactor_rails'
33
get '/users/subscribe', to: 'users#subscribe', as: 'subscribe'
4-
get '/users/remove', to: 'users#remove', as: 'remove'
4+
get '/users/unsubscribe', to: 'users#unsubscribe', as: 'unsubscribe'
5+
delete '/users/remove', to: 'users#remove', as: 'remove'
56

67
get '/auth/:provider/callback', to: 'spreadsheets#new', as: 'google_spreadsheet'
78
get '/auth/failure', to: 'spreadsheets#failure'
89

910
match 'users/import', to: 'users#import', via: [:get, :post]
1011
resources :newsletters do
1112
member do
12-
get 'test' , to: 'newsletters#test_mail' , as: 'test_mail'
13-
post 'send' , to: 'newsletters#send_newsletter', as: 'send'
14-
post 'sendtest' , to: 'newsletters#send_test_mail', as: 'send_test_mail'
13+
get 'test', to: 'newsletters#test_mail', as: 'test_mail'
14+
post 'send', to: 'newsletters#send_newsletter', as: 'send'
15+
post 'sendtest', to: 'newsletters#send_test_mail', as: 'send_test_mail'
1516
end
1617
end
1718

0 commit comments

Comments
 (0)