This commit is contained in:
sw 2014-10-15 17:39:12 +08:00
commit 208940dd86
7 changed files with 22 additions and 25 deletions

View File

@ -256,16 +256,19 @@ class ApplicationController < ActionController::Base
end
def authorize_attachment_download(ctrl = params[:controller], action = params[:action], global = false)
if @attachment.container_type == "Memo"
allowed = User.current.allowed_to?(:memos_attachments_download,nil,:global => true)
elsif @attachment.container_type == "Message" && !@project.nil?
allowed = User.current.allowed_to?(:projects_attachments_download,@project,:global => false)
elsif @attachment.container_type == "Message" && !@course.nil?
allowed = User.current.allowed_to?(:course_attachments_download, @course, :global => false)
elsif @attachment.container_type == "contest"
return true
else
return true
case @attachment.container_type
when "Memo"
allowed = User.current.allowed_to?(:memos_attachments_download,nil,:global => true)
when "Message"
if @project
allowed = User.current.allowed_to?(:projects_attachments_download,@project,:global => false)
elsif @course
allowed = User.current.allowed_to?(:course_attachments_download, @course, :global => false)
end
when "contest"
return true
else
return true
end
if allowed

View File

@ -61,7 +61,7 @@ class AttachmentsController < ApplicationController
def download
# modify by nwb
# 下载添加权限设置
candown = false
candown = false
if (@attachment.container.has_attribute?(:project) || @attachment.container.has_attribute?(:project_id)) && @attachment.container.project
project = @attachment.container.project
candown= User.current.member_of?(project) || (project.is_public && @attachment.is_public == 1)

View File

@ -402,13 +402,8 @@ class Attachment < ActiveRecord::Base
# Finds an attachment that matches the given token and that has no container
def self.find_by_token(token)
if token.to_s =~ /^(\d+)\.([0-9a-f]+)$/
attachment_id, attachment_digest = $1, $2
attachment = Attachment.where(:id => attachment_id, :digest => attachment_digest).first
if attachment && attachment.container.nil?
attachment
end
end
attachment = find_by_token_only(token)
attachment if attachment.container.nil?
end
# Finds an attachment that matches the given token
@ -416,9 +411,6 @@ class Attachment < ActiveRecord::Base
if token.to_s =~ /^(\d+)\.([0-9a-f]+)$/
attachment_id, attachment_digest = $1, $2
attachment = Attachment.where(:id => attachment_id, :digest => attachment_digest).first
if attachment
attachment
end
end
end

View File

@ -11,3 +11,4 @@
<%= javascript_tag "$('#course_name').focus();" %>
</div>
<% end %>
<% html_title(l(:label_course_new)) -%>

View File

@ -10,8 +10,8 @@
<%= @organize.description.html_safe unless @organize.nil?%>
</p>
<div id="logo_link">
<% unless @companys.nil?%>
<% @companys.each do |company| %>
<% unless @companies.nil?%>
<% @companies.each do |company| %>
<span class="footer_logo_link"><%= link_to image_tag(url_to_avatar(company),:size=>"100x30",:alt=>company.name),company.url, :target => "_blank" %></span>
<% end %>
<% end %>

View File

@ -98,4 +98,4 @@
</ul>
</div>
<% html_title(l(:label_school_all)) -%>

View File

@ -68,4 +68,5 @@
$("#IE_resource_sum_css").children(".line_block").css("width","45%");
}
});
</script>
</script>
<% html_title(l(:label_stores_index)) -%>