Skip to content

Commit

Permalink
Fine tuning of additional features
Browse files Browse the repository at this point in the history
  • Loading branch information
Pbasnal committed Jul 15, 2014
1 parent 3608608 commit 6595647
Show file tree
Hide file tree
Showing 14 changed files with 81 additions and 49 deletions.
5 changes: 2 additions & 3 deletions app/controllers/spreadsheets_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,8 @@ def edit
def update
spreadsheet = Spreadsheet.find(params['id'])
@worksheet = worksheets(spreadsheet)
User.add_users_from_worksheet(@worksheet)

redirect_to users_path
@fails = User.add_users_from_worksheet(@worksheet, 2)
#redirect_to users_path(fails: User.add_users_from_worksheet(@worksheet))
end

def destroy
Expand Down
6 changes: 5 additions & 1 deletion app/controllers/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ def show
end

def new
@user = User.new
if params[:user]

else
@user = User.new
end
end

def create
Expand Down
20 changes: 16 additions & 4 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ class User
field :source, type: String

validates :email_id, presence: true
validates_format_of :email_id, with: /\A[a-z0-9]+([\w.+-]*[a-z0-9])*@([a-z]+[\w-]*\.)+[a-z]+\Z/i, on: :create
validates :username, presence: true
validates :is_subscribed, presence: true
validates :joined_on, presence: true
Expand All @@ -17,11 +18,22 @@ class User
belongs_to :newsletter, counter_cache: :users_count

def self.add_users_from_worksheet(worksheet, column = 1)
fails = []

worksheet.rows.count.times do |i|
User.create(email_id: worksheet[i + 1, column],
is_subscribed: true,
joined_on: Date.today,
source: 'Google Spreadsheet')
user = User.new(
email_id: worksheet[i + 1, column],
username: worksheet[i + 1, column],
is_subscribed: true,
joined_on: Date.today,
source: 'Google Spreadsheet')

if user.save
else
fails << worksheet[i + 1, column]
end
end
fails.delete_at(0)
fails
end
end
18 changes: 11 additions & 7 deletions app/views/layouts/application.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,16 @@
%li.active
%a{href: "#{home_index_path}"}
%h4 Home
%li
%a{href: "#{newsletters_path}"}
%h4 Newsletters
%li
%a{href: "#{new_newsletter_path}"}
%h4 Add Newsletter
%li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown"}
%h4
Newsletters
%span.caret
%ul.dropdown-menu{role: "menu", "aria-labelledby" => "dropdownMenu" }
%li
%a{role: "menuitem", tabindex: "1", href: "#{newsletters_path}"} Show Newsletters
%li
%a{role: "menuitem", tabindex: "2", href: "#{new_newsletter_path}"} Add Newsletter
%li
%a{href: "#{users_path}"}
%h4 Show Users
Expand All @@ -30,7 +34,7 @@
%h4
Add Users
%span.caret
%ul.dropdown-menu{role: "menu", "aria-labelledby" => "dropdownMenu1" }
%ul.dropdown-menu{role: "menu", "aria-labelledby" => "dropdownMenu" }
%li
%a{role: "menuitem", tabindex: "-1", href: "#{new_user_path}"}Add Manually
%li
Expand Down
35 changes: 35 additions & 0 deletions app/views/spreadsheets/update.html.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
%table.table.table-striped
%tr
%td{colspan: 3}
%center
%strong REPORT
%br
Following Email Ids were not added to database as they didn't satisfy our validations criteria.
%table.table.table-striped
%tr
%td It should start with
%td An alphabet or a number
%tr
%td It can contain
%td '_'
%tr
%td These Characters are not allowed
%td '.' '+' '-'
%tr
%td It should end with
%td An alphabet or a number

%tr
%td
%strong #
%td
%strong User Email Id
- index = 0
- @fails.each do |user|
%tr
%td
=index
-index = index + 1
%td
= user
%tr
7 changes: 6 additions & 1 deletion app/views/users/index.html.haml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
%table.table.table-striped
%table.table.table-striped
%tr
%td{colspan: 3}
%center
%strong
User's Email Id
- @users.each do |user|
%tr
%td
Expand Down
2 changes: 1 addition & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
resources :newsletters
resources :home
resources :user_mailer
get '/auth/:provider/callback', to: 'spreadsheets#new'
get '/auth/:provider/callback', to: 'spreadsheets#new', as: 'google_spreadsheet'
get '/auth/failure', to: 'spreadsheets#failure'
resources :users, :newsletters, :home, :spreadsheets

Expand Down
27 changes: 1 addition & 26 deletions spec/controllers/spreadsheets_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,6 @@
require 'vcr'

RSpec.describe SpreadsheetsController, :type => :controller do
context 'GET User Permission' do
context 'User accepts' do
it 'redirects to new ' do
VCR.use_cassette 'controllers/api-permissions-denied' do
=begin
data = {
name: 'google',
scope: 'userinfo.profile,userinfo.email,drive,https://spreadsheets.google.com/feeds',
prompt: 'consent',
access_type: 'offline',
redirect_uri: 'http://localhost:8080/auth/google/callback'
}
RestClient.get 'https://accounts.google.com/o/oauth2/auth',
name: 'google',
scope: 'userinfo.profile,userinfo.email,drive,https://spreadsheets.google.com/feeds',
prompt: 'consent',
access_type: 'offline',
redirect_uri: 'http://localhost:8080/auth/google/callback'
=end
end

end
end
end

context 'GET Index' do
it 'it renders the index template' do
get :index
Expand Down Expand Up @@ -130,7 +105,7 @@
it 'updates the spreadsheet' do
VCR.use_cassette 'controllers/api-update-with-data', record: :new_episodes do
post :update, id: sheet
expect(response).to redirect_to users_path
expect(response).to render_template(:update)
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion spec/helpers/home_helper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
# end
# end
RSpec.describe HomeHelper, :type => :helper do
pending "add some examples to (or delete) #{__FILE__}"

end
2 changes: 1 addition & 1 deletion spec/helpers/newsletters_helper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
# end
# end
RSpec.describe NewslettersHelper, :type => :helper do
pending "add some examples to (or delete) #{__FILE__}"

end
2 changes: 1 addition & 1 deletion spec/helpers/spreadsheets_helper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
# end
# end
RSpec.describe SpreadsheetsHelper, :type => :helper do
pending "add some examples to (or delete) #{__FILE__}"

end
1 change: 0 additions & 1 deletion spec/helpers/users_helper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,4 @@
# end
# end
RSpec.describe UsersHelper, :type => :helper do
pending "add some examples to (or delete) #{__FILE__}"
end
1 change: 0 additions & 1 deletion spec/mailers/user_mailer_spec.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
require "rails_helper"

RSpec.describe UserMailer, :type => :mailer do
pending "add some examples to (or delete) #{__FILE__}"

before(:each) do
ActionMailer::Base.delivery_method = :test
Expand Down
2 changes: 1 addition & 1 deletion spec/models/spreadsheet_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require 'rails_helper'

RSpec.describe Spreadsheet, :type => :model do
pending "add some examples to (or delete) #{__FILE__}"

end

0 comments on commit 6595647

Please sign in to comment.