...
This commit is contained in:
parent
e460896fa2
commit
fd25c5ed30
|
@ -9,30 +9,40 @@ class StoresController < ApplicationController
|
|||
# include ActsAsTaggableOn::TagsHelper
|
||||
LIMIT = 20 unless const_defined?(:LIMIT)
|
||||
def index
|
||||
#Document HomeworkAttach Issue Message News Version WikiPage
|
||||
@projects_attach = project_classification(0).take(LIMIT)
|
||||
@courses_attach = project_classification(1).take(LIMIT)
|
||||
# @projects_attach = Attachment.includes(:projects).where("projects.project_type=?", 0).
|
||||
# reorder("#{Attachment.table_name}.created_on DESC").
|
||||
# limit(LIMIT)
|
||||
|
||||
@projects_attach = Attachment.includes(:attach_project).where("projects.project_type=?", 0).
|
||||
reorder("#{Attachment.table_name}.created_on DESC").
|
||||
limit(LIMIT)
|
||||
|
||||
@courses_attach = Attachment.includes(:attach_project).where("projects.project_type=?", 1).
|
||||
reorder("#{Attachment.table_name}.created_on DESC").
|
||||
limit(LIMIT)
|
||||
# @courses_attach = Attachment.includes(:projects).where("projects.project_type=?", 1).
|
||||
# reorder("#{Attachment.table_name}.created_on DESC").
|
||||
# limit(LIMIT)
|
||||
@homeworks_attach = Attachment.where("container_type = 'HomeworkAttach'").
|
||||
reorder("created_on DESC").
|
||||
limit(LIMIT)
|
||||
@memos_attach = Attachment.where("container_type = 'Memo'").
|
||||
reorder("created_on DESC").
|
||||
limit(LIMIT)
|
||||
@attach_array = Array.new
|
||||
@attach_array.push(@projects_attach, @courses_attach, @homeworks_attach, @memos_attach)
|
||||
end
|
||||
|
||||
private
|
||||
#Document HomeworkAttach Issue Message News Version WikiPage
|
||||
|
||||
def project_classification project_type=0
|
||||
#Document HomeworkAttach Issue Message News Version WikiPage
|
||||
doc_attach = Attachment.joins(str_join_table("documents")).where("projects.project_type=#{project_type}")
|
||||
issue_attach = Attachment.joins(str_join_table("issues")).where("projects.project_type=#{project_type}")
|
||||
mess_attach = Attachment.joins(str_join_table("messages")).where("projects.project_type=#{project_type}")
|
||||
pro_attach = Attachment.joins("LEFT JOIN projects ON attachments.container_id = projects.id").where("projects.project_type=#{project_type}")
|
||||
doc_attach = join_tools_project "documents", project_type
|
||||
issue_attach = join_tools_project "issues", project_type
|
||||
mess_attach = []#join_tools_project "messages", project_type
|
||||
news_attach = join_tools_project "news", project_type
|
||||
vers_attach = join_tools_project "versions", project_type
|
||||
wiki_attach = []#join_tools_project "wiki_pages", project_type
|
||||
|
||||
pro_attach+doc_attach+issue_attach+mess_attach+news_attach+vers_attach+wiki_attach
|
||||
end
|
||||
def join_tools_project tableName, project_type=0
|
||||
Attachment.joins(str_join_table(tableName)).where("projects.project_type=#{project_type}")
|
||||
end
|
||||
|
||||
def str_join_table tableName
|
||||
|
|
|
@ -20,7 +20,7 @@ require "fileutils"
|
|||
|
||||
class Attachment < ActiveRecord::Base
|
||||
belongs_to :container, :polymorphic => true
|
||||
belongs_to :attach_project, foreign_key: 'container_id', conditions: "#{Attachment.table_name}.container_type = 'Project'"
|
||||
belongs_to :projects, foreign_key: 'container_id', conditions: "attachments.container_type = 'Project'"
|
||||
belongs_to :author, :class_name => "User", :foreign_key => "author_id"
|
||||
|
||||
validates_presence_of :filename, :author
|
||||
|
|
Loading…
Reference in New Issue