Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MyzooppaController < ApplicationController
- before_filter :login_required
- def contact_user
- if logged_in?
- @user = User.find( params[ :id ] )
- if request.post?
- UserNotifier.deliver_message( current_user, @user, params[ 'message' ] )
- end
- end
- end
- def index
- @user = User.find( current_user.id )
- @ads = Ad.paginate( :all,
- :conditions => [ '(ads.resource_type <> "Video" or videos.status = 10) AND ads.user_id = ?',
- current_user.id ],
- :page => params[ :page ],
- :per_page => 5,
- :order => "ads.created_at DESC",
- :include => :comments,
- :joins => <<-EOF
- LEFT JOIN videos ON ads.resource_type = "Video" AND videos.id = ads.resource_id
- LEFT JOIN images ON ads.resource_type = "Image" AND images.id = ads.resource_id
- LEFT JOIN concepts ON ads.resource_type = "Concept" AND concepts.id = ads.resource_id
- EOF
- )
- if request.xhr?
- show_works
- end
- end
- def on_air
- @user = User.find( current_user.id )
- @ads = Ad.paginate( :all,
- :conditions => [
- "(ads.resource_type <> 'Video' or videos.status = 10) AND ads.user_id = ? AND contests.end_date >= ?",
- current_user.id, Time.now ],
- :page => params[ :page ],
- :per_page => 5,
- :order => "ads.created_at DESC",
- :include => [ :contest, :comments ],
- :joins => <<-EOF
- LEFT JOIN videos ON ads.resource_type = "Video" AND videos.id = ads.resource_id
- LEFT JOIN images ON ads.resource_type = "Image" AND images.id = ads.resource_id
- LEFT JOIN concepts ON ads.resource_type = "Concept" AND concepts.id = ads.resource_id
- EOF
- )
- @type = 'On air'
- show_works
- end
- def archive
- @user = User.find( current_user.id )
- @ads = Ad.paginate( :all,
- :conditions => [
- "(ads.resource_type <> 'Video' or videos.status = 10) AND ads.user_id = ? AND contests.end_date < ?",
- current_user.id, Time.now ],
- :page => params[ :page ],
- :per_page => 5,
- :order => "ads.created_at DESC",
- :include => [ :contest, :comments ],
- :joins => <<-EOF
- LEFT JOIN videos ON ads.resource_type = "Video" AND videos.id = ads.resource_id
- LEFT JOIN images ON ads.resource_type = "Image" AND images.id = ads.resource_id
- LEFT JOIN concepts ON ads.resource_type = "Concept" AND concepts.id = ads.resource_id
- EOF
- )
- @type = 'Archive'
- show_works
- end
- def show_works
- respond_to do |format|
- format.js do
- render :update do |page|
- page.insert_html :bottom, 'latest_works', :partial => 'latest_works', :locals => { :ads => @ads }
- end
- end
- format.html do
- render :action => 'index'
- end
- end
- end
- def edit
- @user = User.find( current_user.id )
- @provinces = Province.find(:all)
- @jobs = Job.find(:all)
- @studies = Study.find(:all)
- @interests = Interest.find(:all)
- if request.post?
- if params[ :user ]
- @user.interest_ids = params[ :user ][ :interest_ids ] ||= []
- @user.email = params[ :user ][ :email ]
- @user.first_name = params[ :user ][:first_name]
- @user.last_name = params[ :user ][:last_name]
- @user.mobile = params[ :user ][:mobile]
- @user.province_id = params[ :user ][:province_id]
- @user.birthdate = "#{params[ :user ]['birthdate(1i)']}-#{params[ :user ]['birthdate(2i)']}-#{params[ :user ]['birthdate(3i)']}"
- @user.job_id = params[ :user ][:job_id]
- @user.study_id = params[ :user ][:study_id]
- @user.about_me = params[ :user ][:about_me]
- @user.url = params[ :user ][ :url ]
- @user.country = params[ :user ][ :country ]
- @user.sex = params[ :user ][ :sex ]
- @user.newsletter = params[ :user ][ :newsletter ]
- @user.image = params[ :user ][ :image ]
- @user.password = params[ :user ][ :password ] unless params[ :user ][ :password ].strip.blank?
- @user.password_confirmation = params[ :user ][ :password_confirmation ] unless params[ :user ][ :password_confirmation ].strip.blank?
- # Controllo se l'utente � la prima volta che posta che inserisce tutti i dati
- check_if_profile_completed(@user)
- if @user.save
- flash[ :notice ] = "[NOTICE] User succesfully updated".t
- redirect_to :action => 'edit' # Uso un redirect altrimenti non ricarica i dati correttamente, NON usare render
- else
- render :action => 'edit'
- end
- end
- end
- end
- def bank
- @user = User.find( current_user.id )
- end
- def convert
- if request.xhr?
- if MoneyTransaction.convertible?(current_user)
- conversion = current_user.money_transactions.convert(current_user)
- if conversion
- current_user.update_credits
- end
- end
- else
- render :nothing => true, :status => 500
- end
- end
- def invite
- @user = User.find( current_user.id )
- if request.xhr? and request.post? and params[ :email ]
- @sent, @errors = Invite.send_invites( current_user, params[ :email ] )
- render :update do |page|
- page.replace_html 'invite_form', :partial => 'invite_form'
- end
- end
- end
- private
- def check_if_profile_completed(user)
- unless user.profile_completed?
- unless (
- @user.first_name.blank? ||
- @user.last_name.blank? ||
- @user.mobile.blank? ||
- @user.province_id.blank? ||
- @user.birthdate.blank? ||
- @user.job_id.blank? ||
- @user.study_id.blank? ||
- @user.about_me.blank? ||
- @user.country.blank?
- )
- then
- @user.profile_completed = true
- @user.money_transactions.create :amount => 40, :description => "[MYZOOPPA] Profilo completato".t
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment