|
- class ArticleHomepagesController < ApplicationController
- before_filter :find_article_homepage, :only => [:show, :edit, :update, :destroy]
-
- def new
- @article = ArticleHomepage.new
- respond_to do |format|
- format.html {render :layout=>'static_base'}
- end
- end
-
- def create
- if User.current.logged?
- @article = ArticleHomepage.new
- @article.user = User.current
- @article.homepage_id = User.current.homepage.id
- @article.title = params[:article_homepage][:title]
- @article.content = params[:article_homepage][:content]
- @article.save_attachments_containers(params[:attachments], User.current, true)
- if @article.save
- if params[:set_homepage]
- User.current.homepage.update_attribute(:article_id, @article.id)
- end
- redirect_to user_homepages_path(:user_id => User.current.id)
- end
- else
- redirect_to signin_path
- end
- end
-
- def show
- @user = User.find params[:user_id]
- respond_to do |format|
- format.html {render :layout => 'clear_base'}
- end
- end
-
- def edit
- if User.current.admin? || User.current.id == @article.user_id
- respond_to do |format|
- format.html { render :layout => 'static_base' }
- end
- else
- render_403
- end
- end
-
- def update
- if User.current.logged?
- @article.title = params[:article_homepage][:title]
- @article.content = params[:article_homepage][:content]
- if params[:set_homepage]
- User.current.homepage.update_attribute(:article_id, @article.id)
- else
- if User.current.homepage.article_id == @article.id
- User.current.homepage.update_attribute(:article_id, nil)
- end
- end
- if @article.save
- Attachment.attach_files(@article, params[:attachments])
- redirect_to user_homepages_path(:user_id => User.current.id)
- end
- else
- redirect_to signin_path
- end
- end
-
- def destroy
- if @article
- if @article.homepage.article_id == @article.id
- @article.homepage.update_attribute(:article_id, nil)
- end
- @article.destroy
- redirect_to user_homepages_path(:user_id => User.current.id)
- end
- end
-
- private
- def find_article_homepage
- @article = ArticleHomepage.find params[:id]
- end
- end
|