OpenIrekia v4.0.0
Copyright 2009-2013 eFaber, S.L. Copyright 2009-2013 Ejie, S.A. Copyrigth 2009-2013 Dirección de Gobierno Abierto y Comunicación en Internet;
Gobernu Irekirako eta Interneteko Komunikaziorako Zuzendaritza; Lehendakaritza. Gobierno Vasco – Eusko Jaurlaritza
Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto sean aprobadas por la Comisión Europea– versiones posteriores de la EUPL (la Licencia); Solo podrá usarse esta obra si se respeta la Licencia. Puede obtenerse una copia de la Licencia en: ec.europa.eu/idabc/eupl Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, el programa distribuido con arreglo a la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Véase la Licencia en el idioma concreto que rige los permisos y limitaciones que establece la Licencia
http://open.irekia.net, openirekia@efaber.net
# File app/controllers/twitter_sessions_controller.rb, line 24 def create request_token = oauth.authentication_request_token(:oauth_callback => finalize_twitter_session_url) session['rtoken'] = request_token.token session['rsecret'] = request_token.secret session[:return_to] = params[:return_to] || request.env['HTTP_REFERER'] || root_path redirect_to request_token.authorize_url end
# File app/controllers/twitter_sessions_controller.rb, line 34 def finalize access_token = oauth.authorize(session['rtoken'], session['rsecret'], :oauth_verifier => params[:oauth_verifier]) session['rtoken'] = nil session['rsecret'] = nil profile = oauth.info session[:return_to] = nil if profile.has_key?("errors") logger.info "Error al hacer login con Twitter: #{profile.inspect}" flash[:error] = "Ha sido imposible completar el login. Por favor, inténtelo más tarde" return_to = session[:return_to] session[:return_to] = nil redirect_to session[:return_to] || request.env['HTTP_REFERER'] || root_path and return end profile_attrs = {:atoken => access_token.token, :asecret => access_token.secret, :name => profile['name'], :screen_name => profile['screen_name'], :raw_location => profile['location'], :url => "http://www.twitter.com/#{profile['screen_name']}"} user = Person.find_or_initialize_by_screen_name(profile['screen_name']) if user.new_record? user.update_attributes(profile_attrs.merge({:status => "aprobado"})) self.current_user = user # flash[:notice] = t('session.Has_entrado', :name => current_user.name) redirect_back_or_default(root_path) and return else user.update_attributes(profile_attrs) if user.status.eql?("pendiente") render :template => "/sessions/waiting_for_approval" and return elsif user.status.eql?("vetado") || user.status.eql?("eliminado") flash[:notice] = "Este usuario ha sido eliminado" redirect_to root_path and return else self.current_user = user flash[:notice] = t('session.Has_entrado', :name => current_user.name) redirect_back_or_default(root_path) and return end session[:return_to] = nil end end