contour 2.7.0 → 3.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +1 -29
  4. data/app/assets/stylesheets/glyphicon-overrides.scss +13 -0
  5. data/app/assets/stylesheets/opensans.scss +20 -0
  6. data/app/controllers/contour/registrations_controller.rb +1 -10
  7. data/app/controllers/contour/sessions_controller.rb +8 -41
  8. data/app/views/contour/layouts/_menu.html.erb +0 -2
  9. data/app/views/contour/sessions/new.html.erb +32 -46
  10. data/config/routes.rb +0 -5
  11. data/contour.gemspec +0 -3
  12. data/lib/contour.rb +2 -14
  13. data/lib/contour/fixes.rb +0 -3
  14. data/lib/contour/version.rb +3 -3
  15. data/lib/generators/contour/install/install_generator.rb +0 -4
  16. data/lib/generators/contour/install/templates/README +0 -4
  17. data/lib/generators/contour/install/templates/contour.rb +2 -12
  18. data/test/controllers/passwords_controller_test.rb +0 -9
  19. data/test/controllers/registrations_controller_test.rb +0 -14
  20. data/test/controllers/sessions_controller_test.rb +0 -12
  21. data/test/dummy/app/models/user.rb +0 -3
  22. data/test/dummy/config/initializers/contour.rb +2 -12
  23. data/test/dummy/db/development.sqlite3 +0 -0
  24. data/test/dummy/db/migrate/20111203203123_devise_create_users.rb +1 -1
  25. data/test/dummy/db/schema.rb +4 -12
  26. data/test/dummy/db/test.sqlite3 +0 -0
  27. data/test/dummy/test/fixtures/users.yml +1 -1
  28. data/test/models/user_test.rb +0 -4
  29. metadata +5 -71
  30. data/app/assets/stylesheets/glyphicon-overrides.scss.erb +0 -13
  31. data/app/assets/stylesheets/opensans.css.erb +0 -20
  32. data/app/controllers/contour/authentications_controller.rb +0 -57
  33. data/app/models/authentication.rb +0 -4
  34. data/app/models/concerns/contour_authenticatable.rb +0 -12
  35. data/app/models/concerns/contourable.rb +0 -19
  36. data/app/views/contour/authentications/_add_remove_table.html.erb +0 -31
  37. data/app/views/contour/authentications/_authentications.html.erb +0 -3
  38. data/app/views/contour/authentications/_menu.html.erb +0 -10
  39. data/app/views/contour/authentications/destroy.js.erb +0 -1
  40. data/app/views/contour/authentications/index.html.erb +0 -6
  41. data/app/views/contour/layouts/_latest_news.html.erb +0 -17
  42. data/lib/contour/fixes/devise-with-rails-4-2.rb +0 -17
  43. data/lib/contour/fixes/omniauth.rb +0 -110
  44. data/lib/contour/fixes/sass-rails.rb +0 -8
  45. data/lib/generators/contour/install/templates/omniauth.rb +0 -33
  46. data/test/controllers/authentications_controller_test.rb +0 -57
  47. data/test/dummy/config/initializers/omniauth.rb +0 -33
  48. data/test/dummy/db/migrate/20111203203307_create_authentications.rb +0 -11
  49. data/test/dummy/test/fixtures/authentications.yml +0 -16
  50. data/test/models/authentication_test.rb +0 -11
@@ -21,18 +21,6 @@ class Contour::SessionsControllerTest < ActionController::TestCase
21
21
  assert_response :success
22
22
  end
23
23
 
24
- test "should do a graceful redirect to ldap with primary email" do
25
- post :create, user: { email: users(:valid).email, password: '' }
26
-
27
- assert_redirected_to '/auth/ldap'
28
- end
29
-
30
- test "should do a graceful redirect to google_apps through secondary email" do
31
- post :create, user: { email: 'test@gmail.com', password: '' }
32
-
33
- assert_redirected_to '/auth/google_apps'
34
- end
35
-
36
24
  test "should not login invalid credentials" do
37
25
  post :create, user: { email: '', password: '' }
38
26
 
@@ -7,9 +7,6 @@ class User < ActiveRecord::Base
7
7
  devise :database_authenticatable, :registerable, :timeoutable,
8
8
  :recoverable, :rememberable, :trackable, :validatable
9
9
 
10
- # Concerns
11
- include Contourable
12
-
13
10
  # # Setup accessible (or protected) attributes for your model
14
11
  # attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name, :last_name
15
12
 
@@ -21,15 +21,11 @@ Contour.setup do |config|
21
21
  # [
22
22
  # {
23
23
  # name: 'Login', display: 'not_signed_in', path: 'new_user_session_path', position: 'right', condition: 'true',
24
- # links: [{ name: 'Sign Up', path: 'new_user_registration_path' },
25
- # { divider: true },
26
- # { authentications: true }]
24
+ # links: [{ name: 'Sign Up', path: 'new_user_registration_path' }]
27
25
  # },
28
26
  # {
29
27
  # name: 'current_user.email', eval: true, display: 'signed_in', position: 'right', condition: 'true',
30
- # links: [{ name: 'Authentications', path: 'authentications_path', condition: 'not PROVIDERS.blank?' },
31
- # { divider: true },
32
- # { name: 'Logout', path: 'destroy_user_session_path' }]
28
+ # links: [{ name: 'Logout', path: 'destroy_user_session_path' }]
33
29
  # },
34
30
  # {
35
31
  # name: 'Home', display: 'always', path: 'root_path', position: 'left', condition: 'true', image: '', image_options: {},
@@ -46,12 +42,6 @@ Contour.setup do |config|
46
42
  # position: 'left'
47
43
  # }
48
44
 
49
- # Enter an address of a valid RSS Feed if you would like to see news on the sign in page.
50
- # config.news_feed = ''
51
-
52
- # Enter the max number of items you want to see in the news feed.
53
- # config.news_feed_items = 5
54
-
55
45
  # The following three parameters can be set as strings, which will rotate through the colors on a daily basis, selecting an index using (YearDay % ArraySize)
56
46
 
57
47
  # A string or array of strings that represent a CSS color code for generic link color
@@ -42,7 +42,7 @@ class DeviseCreateUsers < ActiveRecord::Migration
42
42
  # t.string :authentication_token
43
43
 
44
44
 
45
- t.timestamps
45
+ t.timestamps null: false
46
46
  end
47
47
 
48
48
  add_index :users, :email, unique: true
@@ -11,17 +11,9 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20111203203307) do
14
+ ActiveRecord::Schema.define(version: 20111203203123) do
15
15
 
16
- create_table "authentications", force: true do |t|
17
- t.integer "user_id"
18
- t.string "provider"
19
- t.string "uid"
20
- t.datetime "created_at"
21
- t.datetime "updated_at"
22
- end
23
-
24
- create_table "users", force: true do |t|
16
+ create_table "users", force: :cascade do |t|
25
17
  t.string "first_name"
26
18
  t.string "last_name"
27
19
  t.string "status", default: "pending", null: false
@@ -36,8 +28,8 @@ ActiveRecord::Schema.define(version: 20111203203307) do
36
28
  t.datetime "last_sign_in_at"
37
29
  t.string "current_sign_in_ip"
38
30
  t.string "last_sign_in_ip"
39
- t.datetime "created_at"
40
- t.datetime "updated_at"
31
+ t.datetime "created_at", null: false
32
+ t.datetime "updated_at", null: false
41
33
  end
42
34
 
43
35
  add_index "users", ["email"], name: "index_users_on_email", unique: true
Binary file
@@ -95,4 +95,4 @@ pending:
95
95
  # failed_attempts: 0
96
96
  # unlock_token: UnlockTokenFour
97
97
  # locked_at: 2011-02-23
98
- # authentication_token: MyString
98
+ # authentication_token: MyString
@@ -6,8 +6,4 @@ class UserTest < ActiveSupport::TestCase
6
6
  test "should get reverse name" do
7
7
  assert_equal 'LastName, FirstName', users(:valid).reverse_name
8
8
  end
9
-
10
- test "should apply omniauth" do
11
- assert_not_nil users(:valid).apply_omniauth({'info' => {'email' => 'Email', 'first_name' => 'FirstName', 'last_name' => 'LastName'}})
12
- end
13
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contour
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 3.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Remo Mueller
@@ -66,48 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 3.4.1
69
- - !ruby/object:Gem::Dependency
70
- name: omniauth
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 1.2.1
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 1.2.1
83
- - !ruby/object:Gem::Dependency
84
- name: omniauth-ldap
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 1.0.4
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 1.0.4
97
- - !ruby/object:Gem::Dependency
98
- name: omniauth-openid
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 1.0.1
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 1.0.1
111
69
  - !ruby/object:Gem::Dependency
112
70
  name: bootstrap-sass
113
71
  requirement: !ruby/object:Gem::Requirement
@@ -232,11 +190,10 @@ files:
232
190
  - app/assets/stylesheets/contour.scss
233
191
  - app/assets/stylesheets/contour/about.scss
234
192
  - app/assets/stylesheets/datepicker.scss
235
- - app/assets/stylesheets/glyphicon-overrides.scss.erb
193
+ - app/assets/stylesheets/glyphicon-overrides.scss
236
194
  - app/assets/stylesheets/jquery-ui-1.10.0.custom.scss
237
- - app/assets/stylesheets/opensans.css.erb
195
+ - app/assets/stylesheets/opensans.scss
238
196
  - app/assets/stylesheets/typeahead.js-bootstrap.scss
239
- - app/controllers/contour/authentications_controller.rb
240
197
  - app/controllers/contour/confirmations_controller.rb
241
198
  - app/controllers/contour/passwords_controller.rb
242
199
  - app/controllers/contour/registrations_controller.rb
@@ -244,17 +201,8 @@ files:
244
201
  - app/controllers/contour/sessions_controller.rb
245
202
  - app/controllers/contour/unlocks_controller.rb
246
203
  - app/helpers/contour_helper.rb
247
- - app/models/authentication.rb
248
- - app/models/concerns/contour_authenticatable.rb
249
- - app/models/concerns/contourable.rb
250
204
  - app/views/contour/_links.html.erb
251
- - app/views/contour/authentications/_add_remove_table.html.erb
252
- - app/views/contour/authentications/_authentications.html.erb
253
- - app/views/contour/authentications/_menu.html.erb
254
- - app/views/contour/authentications/destroy.js.erb
255
- - app/views/contour/authentications/index.html.erb
256
205
  - app/views/contour/confirmations/new.html.erb
257
- - app/views/contour/layouts/_latest_news.html.erb
258
206
  - app/views/contour/layouts/_menu.html.erb
259
207
  - app/views/contour/layouts/_per_page.html.erb
260
208
  - app/views/contour/layouts/application.html.erb
@@ -292,16 +240,12 @@ files:
292
240
  - lib/contour.rb
293
241
  - lib/contour/engine.rb
294
242
  - lib/contour/fixes.rb
295
- - lib/contour/fixes/devise-with-rails-4-2.rb
296
243
  - lib/contour/fixes/devise.rb
297
- - lib/contour/fixes/omniauth.rb
298
244
  - lib/contour/fixes/rack.rb
299
- - lib/contour/fixes/sass-rails.rb
300
245
  - lib/contour/version.rb
301
246
  - lib/generators/contour/install/install_generator.rb
302
247
  - lib/generators/contour/install/templates/README
303
248
  - lib/generators/contour/install/templates/contour.rb
304
- - lib/generators/contour/install/templates/omniauth.rb
305
249
  - lib/generators/contour/scaffold/USAGE
306
250
  - lib/generators/contour/scaffold/scaffold_generator.rb
307
251
  - lib/generators/contour/scaffold/templates/_form.html.erb
@@ -312,7 +256,6 @@ files:
312
256
  - lib/generators/contour/scaffold/templates/new.html.erb
313
257
  - lib/generators/contour/scaffold/templates/show.html.erb
314
258
  - test/contour_test.rb
315
- - test/controllers/authentications_controller_test.rb
316
259
  - test/controllers/passwords_controller_test.rb
317
260
  - test/controllers/registrations_controller_test.rb
318
261
  - test/controllers/sessions_controller_test.rb
@@ -341,7 +284,6 @@ files:
341
284
  - test/dummy/config/initializers/filter_parameter_logging.rb
342
285
  - test/dummy/config/initializers/inflections.rb
343
286
  - test/dummy/config/initializers/mime_types.rb
344
- - test/dummy/config/initializers/omniauth.rb
345
287
  - test/dummy/config/initializers/secret_token.rb
346
288
  - test/dummy/config/initializers/session_store.rb
347
289
  - test/dummy/config/initializers/wrap_parameters.rb
@@ -349,7 +291,6 @@ files:
349
291
  - test/dummy/config/routes.rb
350
292
  - test/dummy/db/development.sqlite3
351
293
  - test/dummy/db/migrate/20111203203123_devise_create_users.rb
352
- - test/dummy/db/migrate/20111203203307_create_authentications.rb
353
294
  - test/dummy/db/schema.rb
354
295
  - test/dummy/db/test.sqlite3
355
296
  - test/dummy/public/404.html
@@ -357,11 +298,9 @@ files:
357
298
  - test/dummy/public/500.html
358
299
  - test/dummy/public/favicon.ico
359
300
  - test/dummy/script/rails
360
- - test/dummy/test/fixtures/authentications.yml
361
301
  - test/dummy/test/fixtures/users.yml
362
302
  - test/helpers/contour_helper_test.rb
363
303
  - test/integration/navigation_test.rb
364
- - test/models/authentication_test.rb
365
304
  - test/models/user_test.rb
366
305
  - test/test_helper.rb
367
306
  homepage: https://github.com/remomueller
@@ -379,9 +318,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
379
318
  version: '0'
380
319
  required_rubygems_version: !ruby/object:Gem::Requirement
381
320
  requirements:
382
- - - ">="
321
+ - - ">"
383
322
  - !ruby/object:Gem::Version
384
- version: '0'
323
+ version: 1.3.1
385
324
  requirements: []
386
325
  rubyforge_project:
387
326
  rubygems_version: 2.4.5
@@ -390,7 +329,6 @@ specification_version: 4
390
329
  summary: Basic Rails framework files and assets for layout and authentication
391
330
  test_files:
392
331
  - test/contour_test.rb
393
- - test/controllers/authentications_controller_test.rb
394
332
  - test/controllers/passwords_controller_test.rb
395
333
  - test/controllers/registrations_controller_test.rb
396
334
  - test/controllers/sessions_controller_test.rb
@@ -417,7 +355,6 @@ test_files:
417
355
  - test/dummy/config/initializers/filter_parameter_logging.rb
418
356
  - test/dummy/config/initializers/inflections.rb
419
357
  - test/dummy/config/initializers/mime_types.rb
420
- - test/dummy/config/initializers/omniauth.rb
421
358
  - test/dummy/config/initializers/secret_token.rb
422
359
  - test/dummy/config/initializers/session_store.rb
423
360
  - test/dummy/config/initializers/wrap_parameters.rb
@@ -426,7 +363,6 @@ test_files:
426
363
  - test/dummy/config.ru
427
364
  - test/dummy/db/development.sqlite3
428
365
  - test/dummy/db/migrate/20111203203123_devise_create_users.rb
429
- - test/dummy/db/migrate/20111203203307_create_authentications.rb
430
366
  - test/dummy/db/schema.rb
431
367
  - test/dummy/db/test.sqlite3
432
368
  - test/dummy/public/404.html
@@ -435,10 +371,8 @@ test_files:
435
371
  - test/dummy/public/favicon.ico
436
372
  - test/dummy/Rakefile
437
373
  - test/dummy/script/rails
438
- - test/dummy/test/fixtures/authentications.yml
439
374
  - test/dummy/test/fixtures/users.yml
440
375
  - test/helpers/contour_helper_test.rb
441
376
  - test/integration/navigation_test.rb
442
- - test/models/authentication_test.rb
443
377
  - test/models/user_test.rb
444
378
  - test/test_helper.rb
@@ -1,13 +0,0 @@
1
- @font-face {
2
- font-family: 'Glyphicons Halflings Contour';
3
- src:url('bootstrap/glyphicons-halflings-regular<%= asset_path('bootstrap/glyphicons-halflings-regular.eot').split('glyphicons-halflings-regular').last %>');
4
-
5
- src:url('bootstrap/glyphicons-halflings-regular<%= asset_path('bootstrap/glyphicons-halflings-regular.eot').split('glyphicons-halflings-regular').last %>?#iefix') format('embedded-opentype'),
6
- url('bootstrap/glyphicons-halflings-regular<%= asset_path('bootstrap/glyphicons-halflings-regular.woff').split('glyphicons-halflings-regular').last %>') format('woff'),
7
- url('bootstrap/glyphicons-halflings-regular<%= asset_path('bootstrap/glyphicons-halflings-regular.ttf').split('glyphicons-halflings-regular').last %>') format('truetype'),
8
- url('bootstrap/glyphicons-halflings-regular<%= asset_path('bootstrap/glyphicons-halflings-regular.svg').split('glyphicons-halflings-regular').last %>#glyphicons_halflingsregular') format('svg');
9
- }
10
-
11
- .glyphicon {
12
- font-family: 'Glyphicons Halflings Contour';
13
- }
@@ -1,20 +0,0 @@
1
- @font-face {
2
- font-family: 'Open Sans';
3
- font-style: normal;
4
- font-weight: 300;
5
- src:url('opensans/OpenSans-Light<%= asset_path('opensans/OpenSans-Light.ttf').split('OpenSans-Light').last %>') format('truetype');
6
- }
7
-
8
- @font-face {
9
- font-family: 'Open Sans';
10
- font-style: normal;
11
- font-weight: 400;
12
- src:url('opensans/OpenSans-Regular<%= asset_path('opensans/OpenSans-Regular.ttf').split('OpenSans-Regular').last %>') format('truetype');
13
- }
14
-
15
- @font-face {
16
- font-family: 'Open Sans';
17
- font-style: normal;
18
- font-weight: 700;
19
- src:url('opensans/OpenSans-Bold<%= asset_path('opensans/OpenSans-Bold.ttf').split('OpenSans-Bold').last %>') format('truetype');
20
- }
@@ -1,57 +0,0 @@
1
- class Contour::AuthenticationsController < ApplicationController
2
- skip_before_action :verify_authenticity_token, only: :create
3
-
4
- def index
5
- end
6
-
7
- def passthru
8
- render file: "#{Rails.root}/public/404", formats: [:html], status: 404, layout: false
9
- end
10
-
11
- def failure
12
- redirect_to new_user_session_path, alert: params[:message].blank? ? nil : params[:message].humanize
13
- end
14
-
15
- def create
16
- omniauth = request.env["omniauth.auth"]
17
- if omniauth
18
- omniauth['uid'] = omniauth['info']['email'] if omniauth['provider'] == 'google_apps' and omniauth['info']
19
- authentication = Authentication.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])
20
- omniauth['info']['email'] = omniauth['extra']['raw_info']['email'] if omniauth['info'] and omniauth['info']['email'].blank? and omniauth['extra'] and omniauth['extra']['raw_info']
21
- if authentication
22
- logger.info "Existing authentication found."
23
- session["user_return_to"] = request.env["action_dispatch.request.unsigned_session_cookie"]["user_return_to"] if request.env and request.env["action_dispatch.request.unsigned_session_cookie"] and request.env["action_dispatch.request.unsigned_session_cookie"]["user_return_to"] and session["user_return_to"].blank?
24
- flash[:notice] = "Signed in successfully." if authentication.user.active_for_authentication?
25
- sign_in_and_redirect(:user, authentication.user)
26
- elsif current_user
27
- logger.info "Logged in user found, creating associated authentication."
28
- current_user.authentications.create!( provider: omniauth['provider'], uid: omniauth['uid'] )
29
- redirect_to authentications_path, notice: "Authentication successful."
30
- else
31
- logger.info "Creating new user with new authentication."
32
- user = User.new(params[:user])
33
- user.apply_omniauth(omniauth)
34
- user.password = Devise.friendly_token[0,20] if user.password.blank?
35
- if user.save
36
- session["user_return_to"] = request.env["action_dispatch.request.unsigned_session_cookie"]["user_return_to"] if request.env and request.env["action_dispatch.request.unsigned_session_cookie"] and request.env["action_dispatch.request.unsigned_session_cookie"]["user_return_to"] and session["user_return_to"].blank?
37
- flash[:notice] = "Signed in successfully." if user.active_for_authentication?
38
- sign_in_and_redirect(:user, user)
39
- else
40
- session[:omniauth] = omniauth.except('extra')
41
- redirect_to new_user_registration_path
42
- end
43
- end
44
- else
45
- redirect_to authentications_path, alert: 'Authentication not successful.'
46
- end
47
- end
48
-
49
- def destroy
50
- @authentication = current_user.authentications.find(params[:id])
51
- @authentication.destroy
52
- respond_to do |format|
53
- format.html { redirect_to authentications_path, notice: 'Successfully removed authentication.' }
54
- format.js
55
- end
56
- end
57
- end
@@ -1,4 +0,0 @@
1
- class Authentication < ActiveRecord::Base
2
- # Concerns
3
- include ContourAuthenticatable
4
- end
@@ -1,12 +0,0 @@
1
- module ContourAuthenticatable
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- belongs_to :user
6
- end
7
-
8
- def provider_name
9
- OmniAuth.config.camelizations[provider.to_s.downcase] || provider.to_s.titleize
10
- end
11
-
12
- end
@@ -1,19 +0,0 @@
1
- module Contourable
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- has_many :authentications
6
- end
7
-
8
- def apply_omniauth(omniauth)
9
- unless omniauth['info'].blank?
10
- self.email = omniauth['info']['email'] if email.blank?
11
- end
12
- self.password = Devise.friendly_token[0,20] if self.password.blank?
13
- authentications.build( provider: omniauth['provider'], uid: omniauth['uid'] )
14
- end
15
-
16
- def password_required?
17
- (authentications.empty? || !password.blank?) && super
18
- end
19
- end
@@ -1,31 +0,0 @@
1
- <% if current_user %>
2
- <table class="table table-striped" style="table-layout:fixed">
3
- <thead>
4
- <tr>
5
- <th></th>
6
- <th>Provider</th>
7
- <th>User ID</th>
8
- <th>Actions</th>
9
- </tr>
10
- </thead>
11
-
12
- <% PROVIDERS.each do |provider| %>
13
- <% url_params = (provider == :google_apps) ? '?domain=gmail.com' : '' %>
14
- <% provider_name = OmniAuth.config.camelizations[provider.to_s.downcase] || provider.to_s.titleize %>
15
- <% image_name = provider.to_s.downcase %>
16
- <% authentication = current_user.authentications.find_by_provider(provider.to_s.downcase) %>
17
- <tr>
18
- <td><%= image_tag "contour/#{image_name}_32.png", height: '32px' %></td>
19
- <td><%= provider_name %></td>
20
- <td><%= authentication.uid if authentication %></td>
21
- <td>
22
- <% if authentication %>
23
- <%= link_to 'Remove', authentication, remote: true, method: :delete, class: 'btn btn-xs btn-danger-inverse', data: { confirm: 'Are you sure you want to remove this authentication option?' } %>
24
- <% else %>
25
- <%= link_to 'Add', "#{request.script_name}/#{OmniAuth.config.path_prefix.split('/').last.to_s}/#{provider.to_s.downcase}#{url_params}", class: 'btn btn-xs btn-default' %>
26
- <% end %>
27
- </td>
28
- </tr>
29
- <% end %>
30
- </table>
31
- <% end %>