Skip to content
Extraits de code Groupes Projets
aspects_controller.rb 3,32 ko
Newer Older
  • Learn to ignore specific revisions
  • Raphael's avatar
    Raphael a validé
    #   Copyright (c) 2010, Diaspora Inc.  This file is
    
    Raphael's avatar
    Raphael a validé
    #   licensed under the Affero General Public License version 3 or later.  See
    
    Raphael's avatar
    Raphael a validé
    #   the COPYRIGHT file.
    
    Raphael's avatar
    Raphael a validé
    class AspectsController < ApplicationController
    
      before_filter :authenticate_user!
    
    
      respond_to :html
      respond_to :json, :only => :show
    
    
        @posts = current_user.visible_posts(:by_members_of => :all).paginate :page => params[:page], :per_page => 15, :order => 'created_at DESC'
    
    Raphael's avatar
    Raphael a validé
        @aspect = :all
    
    
        @fb_access_url = MiniFB.oauth_url(FB_APP_ID, APP_CONFIG[:pod_url] + "services/create",
                                          :scope=>MiniFB.scopes.join(","))
    
    Stephen Caudill's avatar
    Stephen Caudill a validé
        @aspect = current_user.aspect(params[:aspect])
        if @aspect.valid?
          flash[:notice] = I18n.t('aspects.create.success')
    
          respond_with @aspect
    
    Stephen Caudill's avatar
    Stephen Caudill a validé
        else
    
          flash[:error] = I18n.t('aspects.create.failure')
    
          redirect_to aspects_manage_path
    
    Stephen Caudill's avatar
    Stephen Caudill a validé
        end
    
    Raphael's avatar
    Raphael a validé
        @aspect = Aspect.new
    
        @aspect = current_user.aspect_by_id params[:id]
    
    danielvincent's avatar
    danielvincent a validé
    
        begin
          current_user.drop_aspect @aspect
    
    Jeffry Degrande's avatar
    Jeffry Degrande a validé
          flash[:notice] = I18n.t 'aspects.destroy.success',:name => @aspect.name
    
    danielvincent's avatar
    danielvincent a validé
        rescue RuntimeError => e 
          flash[:error] = e.message
        end
    
        respond_with :location => aspects_manage_path
    
        @aspect = current_user.aspect_by_id params[:id]
        unless @aspect
          render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404
        else
          @friends = @aspect.people
          @posts   = current_user.visible_posts( :by_members_of => @aspect ).paginate :per_page => 15, :order => 'created_at DESC'
          respond_with @aspect
        end
    
       # @fb_access_url = MiniFB.oauth_url(FB_APP_ID, APP_CONFIG[:pod_url] + "services/create",
        #                                  :scope=>MiniFB.scopes.join(","))
    
    danielvincent's avatar
    danielvincent a validé
        @posts = current_user.visible_posts(:person_id => current_user.person.id, :public => true).paginate :page => params[:page], :per_page => 15, :order => 'created_at DESC'
    
    
        respond_with @aspect
      end
    
    Raphael's avatar
    Raphael a validé
    
    
        @remote_requests = current_user.requests_for_me
    
        @aspect = current_user.aspect_by_id(params[:id])
    
    
        data = clean_hash(params[:aspect])
        @aspect.update_attributes( data )
    
    Jeffry Degrande's avatar
    Jeffry Degrande a validé
        flash[:notice] = I18n.t 'aspects.update.success',:name => @aspect.name
    
        respond_with @aspect
    
    Raphael's avatar
    Raphael a validé
      def move_friends
        params[:moves].each{ |move|
          move = move[1]
          unless current_user.move_friend(move)
    
    Jeffry Degrande's avatar
    Jeffry Degrande a validé
            flash[:error] = I18n.t 'aspects.move_friends.failure', :real_name => Person.find_by_id( move[:friend_id] ).real_name
    
            redirect_to aspects_manage_path
    
    Jeffry Degrande's avatar
    Jeffry Degrande a validé
        flash[:notice] = I18n.t 'aspects.move_friends.success'
    
        redirect_to aspects_manage_path
    
        unless current_user.move_friend( :friend_id => params[:friend_id], :from => params[:from], :to => params[:to][:to])
    
          flash[:error] = I18n.t 'aspects.move_friend.error',:inspect => params.inspect
    
        if aspect = current_user.aspect_by_id(params[:to][:to])
    
    Raphael's avatar
    Raphael a validé
          flash[:notice] = I18n.t 'aspects.move_friend.success'
    
          render :nothing => true
    
    Raphael's avatar
    Raphael a validé
          flash[:notice] = I18n.t 'aspects.move_friend.failure'
    
          render aspects_manage_path
    
    
      private
      def clean_hash(params)
        return {
          :name => params[:name]
        }
      end