Fix conflict methods
This commit is contained in:
parent
87dab3df57
commit
8a188cf6bd
@ -50,21 +50,21 @@ class ApplicationController < ActionController::Base
|
|||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def session
|
def user_session
|
||||||
Session.find_by_key(session_key)
|
Session.find_by_key(session_key)
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_user
|
def current_user
|
||||||
session.user if current_user?
|
user_session.user if user_present?
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_user?
|
def user_present?
|
||||||
!session.nil? and !session.user.nil?
|
!user_session.nil? and !user_session.user.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_locale
|
def set_locale
|
||||||
unless session.nil?
|
unless user_session.nil?
|
||||||
I18n.locale = session.user.lang
|
I18n.locale = user_session.user.lang
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ class LastFmController < ApplicationController
|
|||||||
|
|
||||||
def connect
|
def connect
|
||||||
unless params[:sid].nil? or params[:token].nil?
|
unless params[:sid].nil? or params[:token].nil?
|
||||||
if current_user?
|
if user_present?
|
||||||
lastfm_api_session = LastFM::Auth.get_session(token: params[:token], api_sig: true)
|
lastfm_api_session = LastFM::Auth.get_session(token: params[:token], api_sig: true)
|
||||||
user = current_user
|
user = current_user
|
||||||
user.lastfm_key = lastfm_api_session["session"]['key']
|
user.lastfm_key = lastfm_api_session["session"]['key']
|
||||||
@ -23,17 +23,16 @@ class LastFmController < ApplicationController
|
|||||||
|
|
||||||
def getinfo
|
def getinfo
|
||||||
@res = {}
|
@res = {}
|
||||||
user = User.find_by_vkid(params[:mid])
|
unless current_user.lastfm_key.nil?
|
||||||
unless user.lastfm_key.nil?
|
|
||||||
render json: {
|
render json: {
|
||||||
connected: true,
|
connected: true,
|
||||||
username: user.lastfm_username
|
username: current_user.lastfm_username
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
render json: {
|
render json: {
|
||||||
connected: false,
|
connected: false,
|
||||||
lastfm_login_url: "http://www.last.fm/api/auth?api_key=#{LastFM.api_key}"+
|
lastfm_login_url: "http://www.last.fm/api/auth?api_key=#{LastFM.api_key}"+
|
||||||
"&cb=http://#{request.host}:#{request.port.to_s}/lastfm/connect/?sid=#{user.session.key}"
|
"&cb=http://#{request.host}:#{request.port.to_s}/lastfm/connect/?sid=#{user_session.key}"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -43,7 +42,7 @@ class LastFmController < ApplicationController
|
|||||||
if params[:artist].nil? or params[:album].nil? or params[:name].nil?
|
if params[:artist].nil? or params[:album].nil? or params[:name].nil?
|
||||||
return render json: { status: 'bad params' }, status: 403
|
return render json: { status: 'bad params' }, status: 403
|
||||||
end
|
end
|
||||||
if !current_user? or (current_user.lastfm_key.nil? or current_user.lastfm_key == "")
|
if !user_present? or (current_user.lastfm_key.nil? or current_user.lastfm_key == "")
|
||||||
return render json: {status: 'lastfm account is not connected' }
|
return render json: {status: 'lastfm account is not connected' }
|
||||||
end
|
end
|
||||||
r = LastFM::Track.update_now_playing(
|
r = LastFM::Track.update_now_playing(
|
||||||
@ -62,10 +61,10 @@ class LastFmController < ApplicationController
|
|||||||
if params[:artist].nil? or params[:album].nil? or params[:name].nil?
|
if params[:artist].nil? or params[:album].nil? or params[:name].nil?
|
||||||
return render json: { status: 'bad params' }, status: 403
|
return render json: { status: 'bad params' }, status: 403
|
||||||
end
|
end
|
||||||
if current_user? and track = Track.find_by_id(params[:id])
|
if user_present? and track = Track.find_by_id(params[:id])
|
||||||
Scrobble.create(user: current_user, track: track, scrobbled_at: DateTime.now)
|
Scrobble.create(user: current_user, track: track, scrobbled_at: DateTime.now)
|
||||||
end
|
end
|
||||||
if !current_user? or (current_user.lastfm_key.nil? or current_user.lastfm_key == "")
|
if !user_present? or (current_user.lastfm_key.nil? or current_user.lastfm_key == "")
|
||||||
return render json: { status: 'lastfm account is not connected' }
|
return render json: { status: 'lastfm account is not connected' }
|
||||||
end
|
end
|
||||||
r = LastFM::Track.scrobble(
|
r = LastFM::Track.scrobble(
|
||||||
|
@ -3,9 +3,13 @@ class UserController < ApplicationController
|
|||||||
|
|
||||||
def auth
|
def auth
|
||||||
@res = {status: 'hello', newbie: false}
|
@res = {status: 'hello', newbie: false}
|
||||||
user = User.find_by_vkid(params[:mid])
|
user = current_user
|
||||||
if user.nil?
|
if user.nil?
|
||||||
user = User.new(vkid: params[:mid], lang: 'ru').save
|
user = User.find_or_create_by_vkid(params[:mid].to_i)
|
||||||
|
if user.lang.nil?
|
||||||
|
user.lang = "ru"
|
||||||
|
user.save
|
||||||
|
end
|
||||||
@res[:newbie] = true
|
@res[:newbie] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -25,7 +29,7 @@ class UserController < ApplicationController
|
|||||||
def update
|
def update
|
||||||
allowed_params = [:name, :email, :lang, :show, :lastfm_username, :lastfm_key]
|
allowed_params = [:name, :email, :lang, :show, :lastfm_username, :lastfm_key]
|
||||||
|
|
||||||
user = User.find_by_vkid(params[:mid])
|
user = current_user
|
||||||
unless params[:params].nil?
|
unless params[:params].nil?
|
||||||
update_params = {}
|
update_params = {}
|
||||||
params[:params] = params[:params].each{ |k, v| update_params[k.to_sym] = v }
|
params[:params] = params[:params].each{ |k, v| update_params[k.to_sym] = v }
|
||||||
@ -71,7 +75,7 @@ class UserController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def set_first_favorites
|
def set_first_favorites
|
||||||
return render json: { status: "unauthorized" } unless current_user?
|
return render json: { status: "unauthorized" } unless user_present?
|
||||||
return render json: { status: "already imported" } unless current_user.favorites.empty?
|
return render json: { status: "already imported" } unless current_user.favorites.empty?
|
||||||
|
|
||||||
artists = {}
|
artists = {}
|
||||||
|
@ -2,4 +2,6 @@ class User < ActiveRecord::Base
|
|||||||
bitmask :music, :as => [:album, :single, :live, :bootleg, :soundtrack]
|
bitmask :music, :as => [:album, :single, :live, :bootleg, :soundtrack]
|
||||||
has_one :session
|
has_one :session
|
||||||
has_many :favorites
|
has_many :favorites
|
||||||
|
|
||||||
|
validates_uniqueness_of :vkid
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user