lib/multiauth/views_helper.rb in multiauth-0.1.1 vs lib/multiauth/views_helper.rb in multiauth-0.1.2

- old
+ new

@@ -1,11 +1,11 @@ module Multiauth module ViewsHelper - def multiauth_box(url = nil) + def multiauth_box(resource_name, url = nil) url = session_path(resource_name) if !url - form_for(resource, :as => resource_name, :url => url, :html => {:id => "openid"}) do |f| + form_for(resource_name, :url => url, :html => {:id => "openid"}) do |f| %@<div id="nojsopenid">#{f.text_field(:identity_url, :id => "identity_url")}#{f.submit('Sign in')}</div>@+ render(:partial => "multiauth/box") end end @@ -13,16 +13,21 @@ javascript_include_tag('multiauth')+ stylesheet_link_tag('multiauth') end def multiauth_providers + mapping = request.env["devise.mapping"] providers = Multiauth::PROVIDERS - if !devise_mapping.oauthable? - providers.delete("Facebook") - providers.delete("Github") - else + if mapping && mapping.oauthable? providers.delete("Facebook") if !resource_class.oauth_providers.include?(:facebook) providers.delete("Github") if !resource_class.oauth_providers.include?(:github) + else + providers.delete("Facebook") + providers.delete("Github") + end + + if user_signed_in? + providers["Twitter"][:url] = '/users/connect/twitter' end providers end end