|  |  | class OrgDocumentCommentsController < ApplicationController
 | 
						
						
						
							|  |  |   before_filter :find_organization, :only => [:new, :create, :show, :index]
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   layout 'base_org'
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def new
 | 
						
						
						
							|  |  |      @org_document_comment = OrgDocumentComment.new
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def create
 | 
						
						
						
							|  |  |     @org_document_comment = OrgDocumentComment.new(:organization_id => @organization.id, :creator_id => User.current.id)
 | 
						
						
						
							|  |  |     @org_document_comment.title = params[:org_document_comment][:title]
 | 
						
						
						
							|  |  |     @org_document_comment.content = params[:org_document_comment][:content]
 | 
						
						
						
							|  |  |     if params[:field_id]
 | 
						
						
						
							|  |  |       @org_document_comment.org_subfield_id = params[:field_id].to_i
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |     if @org_document_comment.save
 | 
						
						
						
							|  |  |       flash.keep[:notice] = l(:notice_successful_create)
 | 
						
						
						
							|  |  |       EditorOfDocument.create(:editor_id => User.current.id, :org_document_comment_id => @org_document_comment.id, :created_at => @org_document_comment.updated_at)
 | 
						
						
						
							|  |  |       if params[:field_id]
 | 
						
						
						
							|  |  |         redirect_to organization_path(@organization, :org_subfield_id => params[:field_id])
 | 
						
						
						
							|  |  |       else
 | 
						
						
						
							|  |  |         redirect_to organization_org_document_comments_path(@organization)
 | 
						
						
						
							|  |  |       end
 | 
						
						
						
							|  |  |     else
 | 
						
						
						
							|  |  |       redirect_to new_org_document_comment_path(:organization_id => @organization.id)
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  |   def show
 | 
						
						
						
							|  |  |     @document = OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def index
 | 
						
						
						
							|  |  |     if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization)
 | 
						
						
						
							|  |  |       @documents = @organization.org_document_comments.where("parent_id is null").order("created_at desc")
 | 
						
						
						
							|  |  |     else
 | 
						
						
						
							|  |  |       render_403
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  |   def update
 | 
						
						
						
							|  |  |     @org_document =  OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |     @org_document.update_attributes(:title => params[:org_document_comment][:title], :content => params[:org_document_comment][:content])
 | 
						
						
						
							|  |  |     if @org_document.parent.nil?
 | 
						
						
						
							|  |  |       act  = OrgActivity.where("org_act_type='OrgDocumentComment' and org_act_id =?", @org_document.id).first
 | 
						
						
						
							|  |  |       act.update_attributes(:updated_at => @org_document.updated_at)
 | 
						
						
						
							|  |  |       EditorOfDocument.create(:editor_id => User.current.id, :org_document_comment_id => @org_document.id, :created_at => Time.now)
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |     respond_to do |format|
 | 
						
						
						
							|  |  |       format.html {
 | 
						
						
						
							|  |  |         if params[:flag].to_i == 0
 | 
						
						
						
							|  |  |           redirect_to organization_org_document_comments_path(:organization_id => @org_document.organization.id)
 | 
						
						
						
							|  |  |         else
 | 
						
						
						
							|  |  |           if params[:flag].to_i == 1
 | 
						
						
						
							|  |  |             redirect_to org_document_comment_path(@org_document.root.id, :organization_id => @org_document.organization.id)
 | 
						
						
						
							|  |  |           else
 | 
						
						
						
							|  |  |             redirect_to organization_path(@org_document.organization.id, :org_subfield_id => params[:org_subfield_id])
 | 
						
						
						
							|  |  |           end
 | 
						
						
						
							|  |  |         end
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def edit
 | 
						
						
						
							|  |  |     @org_document = OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |     @flag = params[:flag]
 | 
						
						
						
							|  |  |     @organization = Organization.find(params[:organization_id])
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def add_reply
 | 
						
						
						
							|  |  |     @document = OrgDocumentComment.find(params[:id]).root
 | 
						
						
						
							|  |  |     @act = OrgActivity.find(params[:id])
 | 
						
						
						
							|  |  |     @comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id])
 | 
						
						
						
							|  |  |     @comment.content = params[:org_content]
 | 
						
						
						
							|  |  |     @document.children << @comment
 | 
						
						
						
							|  |  |     @document.save
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def add_reply_in_doc
 | 
						
						
						
							|  |  |     @document = OrgDocumentComment.find(params[:id]).root
 | 
						
						
						
							|  |  |     @comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id])
 | 
						
						
						
							|  |  |     @comment.content = params[:org_comment][:org_content]
 | 
						
						
						
							|  |  |     @document.children << @comment
 | 
						
						
						
							|  |  |     @document.save
 | 
						
						
						
							|  |  |     respond_to do |format|
 | 
						
						
						
							|  |  |       format.html {redirect_to org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id)}
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def find_organization
 | 
						
						
						
							|  |  |     @organization = Organization.find(params[:organization_id])
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def destroy
 | 
						
						
						
							|  |  |     @org_document_comment = OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |     org = @org_document_comment.organization
 | 
						
						
						
							|  |  |     if @org_document_comment.id == org.home_id
 | 
						
						
						
							|  |  |       org.update_attributes(:home_id => nil)
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |     if @org_document_comment.destroy
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |     respond_to do |format|
 | 
						
						
						
							|  |  |       format.js
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def delete_reply
 | 
						
						
						
							|  |  |     @org_document_comment = OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |     @document = @org_document_comment.root
 | 
						
						
						
							|  |  |     org = @org_document_comment.organization
 | 
						
						
						
							|  |  |     @org_document_comment.destroy
 | 
						
						
						
							|  |  |     respond_to do |format|
 | 
						
						
						
							|  |  |       format.html {redirect_to org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id)}
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  |   def quote
 | 
						
						
						
							|  |  |     @org_comment = OrgDocumentComment.find(params[:id])
 | 
						
						
						
							|  |  |     @subject = @org_comment.content
 | 
						
						
						
							|  |  |     @subject = "RE: #{@subject}" unless @subject.starts_with?('RE:')
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     @content = "> #{ll(Setting.default_language, :text_user_wrote, User.find(@org_comment.creator_id).realname)}\n> "
 | 
						
						
						
							|  |  |     @temp = OrgDocumentComment.new
 | 
						
						
						
							|  |  |     #@course_id = params[:course_id]
 | 
						
						
						
							|  |  |     @temp.content = "<blockquote>#{ll(Setting.default_language, :text_user_wrote, User.find(@org_comment.creator_id).realname)} <br/>#{@org_comment.content.html_safe}</blockquote>".html_safe
 | 
						
						
						
							|  |  |     respond_to do | format|
 | 
						
						
						
							|  |  |       format.js
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   def reply
 | 
						
						
						
							|  |  |     @document = OrgDocumentComment.find(params[:id]).root
 | 
						
						
						
							|  |  |     @quote = params[:quote][:quote]
 | 
						
						
						
							|  |  |     @org_document = OrgDocumentComment.new(:creator_id => User.current.id, :reply_id => params[:id])
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     # params[:blog_comment][:sticky] = params[:blog_comment][:sticky] || 0
 | 
						
						
						
							|  |  |     # params[:blog_comment][:locked] =  params[:blog_comment][:locked] || 0
 | 
						
						
						
							|  |  |     @org_document.title = params[:org_document_comment][:title]
 | 
						
						
						
							|  |  |     @org_document.content = params[:org_document_comment][:content]
 | 
						
						
						
							|  |  |     @org_document.content = @quote + @org_document.content
 | 
						
						
						
							|  |  |     #@org_document.title = "RE: #{@article.title}" unless params[:blog_comment][:title]
 | 
						
						
						
							|  |  |     @document.children << @org_document
 | 
						
						
						
							|  |  |     # @user_activity_id = params[:user_activity_id]
 | 
						
						
						
							|  |  |     # user_activity = UserActivity.where("act_type='BlogComment' and act_id =#{@article.id}").first
 | 
						
						
						
							|  |  |     # if user_activity
 | 
						
						
						
							|  |  |     #   user_activity.updated_at = Time.now
 | 
						
						
						
							|  |  |     #   user_activity.save
 | 
						
						
						
							|  |  |     # end
 | 
						
						
						
							|  |  |     # attachments = Attachment.attach_files(@org_document, params[:attachments])
 | 
						
						
						
							|  |  |     # render_attachment_warning_if_needed(@org_document)
 | 
						
						
						
							|  |  |     #@article.save
 | 
						
						
						
							|  |  |     # redirect_to user_blogs_path(:user_id=>params[:user_id])
 | 
						
						
						
							|  |  |     respond_to do |format|
 | 
						
						
						
							|  |  |       format.html {
 | 
						
						
						
							|  |  |         # if params[:course_id] #如果呆了course_id过来了,那么这是要跳到课程大纲去的
 | 
						
						
						
							|  |  |         #   redirect_to syllabus_course_path(:id=>params[:course_id])
 | 
						
						
						
							|  |  |         # else
 | 
						
						
						
							|  |  |         redirect_to org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id)
 | 
						
						
						
							|  |  |         # end
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       format.js
 | 
						
						
						
							|  |  |     end
 | 
						
						
						
							|  |  |   end
 | 
						
						
						
							|  |  | end
 |