From 10371e8bddb4f4ec12f16d7256c8eea25fa175b5 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 00:27:34 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/files_controller.rb | 46 +++++++ app/models/attachment.rb | 1 + app/models/organization.rb | 2 + .../files/_upload_org_new_files.html.erb | 26 ++++ app/views/files/create.js.erb | 125 ++++++++++-------- app/views/layouts/base_org_newstyle.html.erb | 18 ++- config/routes.rb | 8 ++ 7 files changed, 167 insertions(+), 59 deletions(-) create mode 100644 app/views/files/_upload_org_new_files.html.erb diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index 69b356b5a..8db287b0e 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -623,6 +623,52 @@ class FilesController < ApplicationController @attachtype = 0 @contenttype = 0 + respond_to do |format| + format.js + # format.html { + # redirect_to org_subfield_files_url(@org_subfield) + # } + end + elsif @organization + @addTag=false + attachments = Attachment.attach_filesex(@organization, params[:attachments], params[:org_attachment_type]) + + if params[:org_attachment_type] && params[:org_attachment_type].is_a?(Array) + params[:org_attachment_type].each do |type| + tag_name = get_tag_name_by_type_number type + if !attachments.empty? && attachments[:files] && tag_name != "" + attachments[:files].each do |attachment| + attachment.tag_list.add(tag_name) + attachment.save + end + end + end + else + if params[:org_attachment_type] && params[:org_attachment_type] != "5" + tag_name = get_tag_name_by_type_number params[:org_attachment_type] + if !attachments.empty? && attachments[:files] && tag_name != "" + attachments[:files].each do |attachment| + attachment.tag_list.add(tag_name) + attachment.save + end + end + end + end + + # TODO: 临时用 nyan + sort_init 'created_on', 'desc' + sort_update 'created_on' => "#{Attachment.table_name}.created_on", + 'filename' => "#{Attachment.table_name}.filename", + 'size' => "#{Attachment.table_name}.filesize", + 'downloads' => "#{Attachment.table_name}.downloads" + + @containers = [Organization.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@organization.id)] + + show_attachments @containers + @tag_list = attachment_tag_list @all_attachments + @attachtype = 0 + @contenttype = 0 + respond_to do |format| format.js # format.html { diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 881621c3a..754bd4dee 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -23,6 +23,7 @@ class Attachment < ActiveRecord::Base belongs_to :project, foreign_key: 'container_id', conditions: "attachments.container_type = 'Project'" belongs_to :course, foreign_key: 'container_id', conditions: "attachments.container_type = 'Course'" belongs_to :org_subfield, foreign_key: 'container_id', conditions: "attachements.container_type = 'OrgSubfield'" + belongs_to :organization, foreign_key: 'container_id', conditions: "attachements.container_type = 'Organization'" belongs_to :softapplication, foreign_key: 'container_id', conditions: "attachments.container_type = 'Softapplication'" belongs_to :author, :class_name => "User", :foreign_key => "author_id" belongs_to :attachmentstype, :foreign_key => "attachtype",:primary_key => "id" diff --git a/app/models/organization.rb b/app/models/organization.rb index 248783a26..427cd4c10 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -8,6 +8,8 @@ class Organization < ActiveRecord::Base has_many :org_courses, :dependent => :destroy has_many :org_subfields, :dependent => :destroy has_many :users, :through => :org_members + has_many :files + acts_as_attachable validates_uniqueness_of :name after_create :save_as_org_activity, :add_default_subfields diff --git a/app/views/files/_upload_org_new_files.html.erb b/app/views/files/_upload_org_new_files.html.erb new file mode 100644 index 000000000..43b189b65 --- /dev/null +++ b/app/views/files/_upload_org_new_files.html.erb @@ -0,0 +1,26 @@ + +
+
+

<%= l(:label_upload_files)%>

+
+ <%= error_messages_for 'attachment' %> + + <%= form_tag(organization_files_path(org, :in_org => params[:in_org]), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %> + + <%= render :partial => 'files/org_subfield_upload_attachment_list', :locals => {:container => org}%> +
+ <%= l(:button_cancel)%> + <%= l(:button_confirm)%> + <% end %> +
+ +
+ +
+ + \ No newline at end of file diff --git a/app/views/files/create.js.erb b/app/views/files/create.js.erb index 1d66c2955..5150a1dc3 100644 --- a/app/views/files/create.js.erb +++ b/app/views/files/create.js.erb @@ -1,71 +1,84 @@ <% if @addTag%> - <% if @obj_flag == '3'%> - $('#tags_show_issue').html('<%= escape_javascript(render :partial => 'tags/tag_name', +<% if @obj_flag == '3'%> +$('#tags_show_issue').html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - //$('#put-tag-form-issue').hide(); - $('#name-issue').val(""); - <% elsif @obj_flag == '6'%> - $("#tags_show-<%=@obj.class%>-<%=@obj.id%>").empty(); - $("#tags_show-<%=@obj.class%>-<%=@obj.id%>").html('<%= escape_javascript(render :partial => 'tags/tag_name', +//$('#put-tag-form-issue').hide(); +$('#name-issue').val(""); +<% elsif @obj_flag == '6'%> +$("#tags_show-<%=@obj.class%>-<%=@obj.id%>").empty(); +$("#tags_show-<%=@obj.class%>-<%=@obj.id%>").html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - $("#put-tag-form- <%=@obj.class%>- <%=@obj.id%>").hide(); - $("#put-tag-form-<%=@obj.class%>-<%=@obj.id%> #name").val(""); - <% else %> - $('#tags_show').html('<%= escape_javascript(render :partial => 'tags/tag_name', +$("#put-tag-form- <%=@obj.class%>- <%=@obj.id%>").hide(); +$("#put-tag-form-<%=@obj.class%>-<%=@obj.id%> #name").val(""); +<% else %> +$('#tags_show').html('<%= escape_javascript(render :partial => 'tags/tag_name', :locals => {:obj => @obj,:non_list_all => false,:object_flag => @obj_flag}) %>'); - $('#tags_show').html('<%=render_attachments_tag_save(@project, nil)%>'); - $('#put-tag-form #name').val(""); - //$('#put-tag-form').hide(); - <% end %> +$('#tags_show').html('<%=render_attachments_tag_save(@project, nil)%>'); +$('#put-tag-form #name').val(""); +//$('#put-tag-form').hide(); +<% end %> <% else %> $("#attachments_fields").children().remove(); $("#upload_file_count").text("未上传文件"); $('#upload_file_div').slideToggle('slow'); - <% if @project %> - hideModal(); - <% if @in_project_toolbar %> - window.location.href = '<%= project_files_path(@project) %>' - <% else %> +<% if @project %> +hideModal(); +<% if @in_project_toolbar %> +window.location.href = '<%= project_files_path(@project) %>' +<% else %> - $("#resource_list").html('<%= j(render partial:"project_file", locals: {project: @project}) %>'); - $("#project_files_count_info").html("<%= @all_attachments.count %>"); - $("#project_files_count_nav").html("(<%= @all_attachments.count %>)") - // 添加文件上传成功提示 - <% unless params[:attachments].nil? %> - var div = $('
文件上传成功!
'); - $("#course_list").prepend(div); - setTimeout( function(){div.remove();},3000) - <% end %> - <% end %> - <%elsif @course%> - hideModal(); - <%if @in_course_toolbar %> - window.location.href='<%= course_files_path(@course)%>' - <%else%> - $("#resource_list").html('<%= j(render partial: "course_file" ,locals: {course: @course}) %>'); - $("#courses_files_count_info").html("<%= @all_attachments.count%>"); - $("#courses_files_count_nav").html("(<%= @all_attachments.count%>)") - // 添加文件上传成功提示, - <% unless params[:attachments].nil? %> - var div = $('
文件上传成功!
'); - $("#course_list").prepend(div); - setTimeout( function(){div.remove();},3000) - <% end %> - <%end%> - <% elsif @org_subfield %> - <% if params[:in_org] %> - window.location.href = '<%= org_subfield_files_path @org_subfield %>'; - <%else %> - hideModal(); - $("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); - // 添加文件上传成功提示, - <% unless params[:attachments].nil? %> +$("#resource_list").html('<%= j(render partial:"project_file", locals: {project: @project}) %>'); +$("#project_files_count_info").html("<%= @all_attachments.count %>"); +$("#project_files_count_nav").html("(<%= @all_attachments.count %>)") +// 添加文件上传成功提示 +<% unless params[:attachments].nil? %> +var div = $('
文件上传成功!
'); +$("#course_list").prepend(div); +setTimeout( function(){div.remove();},3000) +<% end %> +<% end %> +<%elsif @course%> +hideModal(); +<%if @in_course_toolbar %> +window.location.href='<%= course_files_path(@course)%>' +<%else%> +$("#resource_list").html('<%= j(render partial: "course_file" ,locals: {course: @course}) %>'); +$("#courses_files_count_info").html("<%= @all_attachments.count%>"); +$("#courses_files_count_nav").html("(<%= @all_attachments.count%>)") +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> +var div = $('
文件上传成功!
'); +$("#course_list").prepend(div); +setTimeout( function(){div.remove();},3000) +<% end %> +<%end%> +<% elsif @org_subfield %> +<% if params[:in_org] %> +window.location.href = '<%= org_subfield_files_path @org_subfield %>'; +<%else %> +hideModal(); +$("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> +// var div = $('
文件上传成功!
'); +// $("#org_subfield_list").prepend(div); +// setTimeout( function(){div.remove();},3000); +<% end %> +<% end %> +<% elsif @organization %> //组织单独处理 +<% if params[:in_org] %> +window.location.href = '<%= organization_files_path @organization %>'; +<%else %> +hideModal(); +$("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); +// 添加文件上传成功提示, +<% unless params[:attachments].nil? %> // var div = $('
文件上传成功!
'); // $("#org_subfield_list").prepend(div); // setTimeout( function(){div.remove();},3000); - <% end %> - <% end %> - <% end %> +<% end %> +<% end %> +<% end %> <% end %> $(document).ready(img_thumbnails); diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index b1656cf37..697113081 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -9,8 +9,8 @@ <%= favicon %> <%= javascript_heads %> <%= heads_for_theme %> - <%= stylesheet_link_tag 'org_new_style' %> - <%= javascript_include_tag 'org' %> + <%= stylesheet_link_tag 'org_new_style','jquery/jquery-ui-1.9.2' %> + <%= javascript_include_tag 'cookie','project', 'organization','header','prettify','select_list_move','org'%> <%= javascript_include_tag 'attachments' %> <%= call_hook :view_layouts_base_html_head %> @@ -59,13 +59,25 @@ + +
- + <%# 登录 %> <%= render :partial => 'organizations/org_logined_header' %>
diff --git a/config/routes.rb b/config/routes.rb index 56194bd20..c6b3d9da3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -46,6 +46,14 @@ RedmineApp::Application.routes.draw do end end resources :organizations do + resource :files do + member do + + end + collection do + + end + end resources :org_document_comments do member do From 4cca29059268e976487474b6e0c55e0b4ceb8643 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 09:33:50 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=BC=96=E8=BE=91500?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8500?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 7 ++++++- app/views/admin/homework.html.erb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 1ea109ff1..81e4d7bfb 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -41,7 +41,12 @@ class OrganizationsController < ApplicationController end def edit - @organization = Organization.find(params[:id]) + # @organization = Organization.find(params[:id]) + begin + @organization = Organization.where("id =?", params[:id]) + ensure + render_404 + end end def destroy diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb index 7260d68ff..e21307485 100644 --- a/app/views/admin/homework.html.erb +++ b/app/views/admin/homework.html.erb @@ -35,7 +35,7 @@ <%=@count %> - <%=link_to(homework.name, student_work_index_path(:homework => homework.id))%> + <%=link_to(homework.try(:name), student_work_index_path(:homework => homework.id))%> <%= link_to(homework.course.name, course_path(homework.course.id)) %> From ac1b3338c53df9a14a731cae9d52c62c15f03c11 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 20:10:28 +0800 Subject: [PATCH 3/7] =?UTF-8?q?logo=E5=9B=BE=E6=A0=87=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/files_controller.rb | 30 +++++-------------- .../files/_upload_org_new_files.html.erb | 6 ++-- app/views/files/create.js.erb | 13 ++------ 3 files changed, 12 insertions(+), 37 deletions(-) diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index 8db287b0e..cf94da8d9 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -629,32 +629,16 @@ class FilesController < ApplicationController # redirect_to org_subfield_files_url(@org_subfield) # } end - elsif @organization + # 组织添加附件,为了修改图片 + elsif params[:organization_id] + @organization = Organization.find(params[:organization_id]) @addTag=false - attachments = Attachment.attach_filesex(@organization, params[:attachments], params[:org_attachment_type]) - - if params[:org_attachment_type] && params[:org_attachment_type].is_a?(Array) - params[:org_attachment_type].each do |type| - tag_name = get_tag_name_by_type_number type - if !attachments.empty? && attachments[:files] && tag_name != "" - attachments[:files].each do |attachment| - attachment.tag_list.add(tag_name) - attachment.save - end - end - end + # atttchment_type = 0为logo 1为banner + if params[:logo] + attachments = Attachment.attach_filesex(@organization, params[:attachments], false) else - if params[:org_attachment_type] && params[:org_attachment_type] != "5" - tag_name = get_tag_name_by_type_number params[:org_attachment_type] - if !attachments.empty? && attachments[:files] && tag_name != "" - attachments[:files].each do |attachment| - attachment.tag_list.add(tag_name) - attachment.save - end - end - end + attachments = Attachment.attach_filesex(@organization, params[:attachments], true) end - # TODO: 临时用 nyan sort_init 'created_on', 'desc' sort_update 'created_on' => "#{Attachment.table_name}.created_on", diff --git a/app/views/files/_upload_org_new_files.html.erb b/app/views/files/_upload_org_new_files.html.erb index 43b189b65..111354c1a 100644 --- a/app/views/files/_upload_org_new_files.html.erb +++ b/app/views/files/_upload_org_new_files.html.erb @@ -1,11 +1,11 @@ -
-

<%= l(:label_upload_files)%>

+

更换Logo

+

尺寸最好55*33

<%= error_messages_for 'attachment' %> - <%= form_tag(organization_files_path(org, :in_org => params[:in_org]), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %> + <%= form_tag(organization_files_path(org, :in_org => params[:in_org], :logo => true), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %> <%= render :partial => 'files/org_subfield_upload_attachment_list', :locals => {:container => org}%>
diff --git a/app/views/files/create.js.erb b/app/views/files/create.js.erb index 5150a1dc3..38308be12 100644 --- a/app/views/files/create.js.erb +++ b/app/views/files/create.js.erb @@ -66,18 +66,9 @@ $("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_ <% end %> <% end %> <% elsif @organization %> //组织单独处理 -<% if params[:in_org] %> -window.location.href = '<%= organization_files_path @organization %>'; -<%else %> hideModal(); -$("#resource_list").html('<%= j(render partial: "subfield_files" ,locals: {org_subfield: @org_subfield}) %>'); -// 添加文件上传成功提示, -<% unless params[:attachments].nil? %> -// var div = $('
文件上传成功!
'); -// $("#org_subfield_list").prepend(div); -// setTimeout( function(){div.remove();},3000); -<% end %> -<% end %> +window.location.href = '<%= organization_path @organization %>'; + <% end %> <% end %> $(document).ready(img_thumbnails); From 0459856a2c18414a53b87735d4da0c246752aa8f Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 21:30:32 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=B8=8A=E7=BA=BFlogo=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 2 +- app/controllers/organizations_controller.rb | 4 ++++ app/views/layouts/base_org_newstyle.html.erb | 9 ++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 9853b4dc1..c1f9cf750 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -608,7 +608,7 @@ private @attachment.container.board.course) @course = @attachment.container.board.course else - unless @attachment.container_type == 'Bid' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' + unless @attachment.container_type == 'Bid' || @attachment.container_type == 'Organization' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' @project = @attachment.project end end diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index dd86d6ccd..ab97b5b1b 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -78,6 +78,10 @@ class OrganizationsController < ApplicationController # 组织新类型 show_mode:判断标准 1为新类型,0为旧 if @organization.show_mode == 1 && params[:org_subfield_id].nil? && params[:list] .nil? if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) + # REDO:时间紧,暂时先这样 + @org_logo_attchment = Attachment.where("container_id =? and container_type =? and attachtype =?", @organization, "Organization", 0).order("created_on desc").first + @org_banner_attchment = Attachment.where("container_id =? and container_type =? and attachtype =?", @organization, "Organization", 1).order("created_on desc").first + @subfield_content = @organization.org_subfields.order("priority") @organization = Organization.find(params[:id]) # 统计访问量 diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index d670acaa5..f2426d9f1 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -77,7 +77,14 @@
- + <%# 登录 %> <%= render :partial => 'organizations/org_logined_header' %>
From 86aecd21b9612f2850030942dbbf93fa84acedf3 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 1 Apr 2016 23:56:05 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 8 ++- .../_org_upload_attachment_list.html.erb | 34 +++++++++ .../files/_upload_org_new_files.html.erb | 3 +- app/views/layouts/base_org_newstyle.html.erb | 30 +++++--- config/locales/zh.yml | 1 + public/images/org_new_style/default-img.jpg | Bin 4207 -> 21203 bytes public/images/org_new_style/default-img2.jpg | Bin 0 -> 21630 bytes public/images/org_new_style/default-img2.png | Bin 19771 -> 0 bytes public/stylesheets/org_new_style.css | 67 ++++++++++++++++++ 9 files changed, 128 insertions(+), 15 deletions(-) create mode 100644 app/views/files/_org_upload_attachment_list.html.erb create mode 100644 public/images/org_new_style/default-img2.jpg delete mode 100644 public/images/org_new_style/default-img2.png diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index c1f9cf750..173e5fabc 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -608,7 +608,7 @@ private @attachment.container.board.course) @course = @attachment.container.board.course else - unless @attachment.container_type == 'Bid' || @attachment.container_type == 'Organization' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' + unless @attachment.container_type == 'Bid'|| @attachment.container_type == 'Organization' || @attachment.container_type == 'HomeworkAttach' || @attachment.container_type == 'Memo' || @attachment.container_type == 'Softapplication' || @attachment.container_type == 'PhoneAppVersion' || @attachment.container_type == 'StudentWorksScore'|| @attachment.container_type == 'StudentWork' @project = @attachment.project end end @@ -660,8 +660,10 @@ private end def has_login - unless @attachment && @attachment.container_type == "PhoneAppVersion" - render_403 if !User.current.logged? && !(@attachment.container_type == 'OrgSubfield' && @attachment.container.organization.allow_guest_download) && !(@attachment.container_type == 'OrgDocumentComment' && @attachment.container.organization.allow_guest_download) + unless@attachment.container_type == "Organization" + unless @attachment && @attachment.container_type == "PhoneAppVersion" + render_403 if !User.current.logged? && !(@attachment.container_type == 'OrgSubfield' && @attachment.container.organization.allow_guest_download) && !(@attachment.container_type == 'OrgDocumentComment' && @attachment.container.organization.allow_guest_download) + end end end end diff --git a/app/views/files/_org_upload_attachment_list.html.erb b/app/views/files/_org_upload_attachment_list.html.erb new file mode 100644 index 000000000..973aeddd6 --- /dev/null +++ b/app/views/files/_org_upload_attachment_list.html.erb @@ -0,0 +1,34 @@ + + + <%= file_field_tag 'attachments[dummy][file]', + :id => "_file#{container.id}", + :class => ie8? ? '':'file_selector', + :multiple => true, + :onchange => "addInputFiles_board(this, '#{container.id}','"+"submit_resource"+"');", + :style => ie8? ? '': 'display:none', + :data => { + :max_file_size => Setting.attachment_max_size.to_i.kilobytes, + :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), + :max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i, + :upload_path => uploads_path(:format => 'js'), + :description_placeholder => l(:label_optional_description), + :field_is_public => l(:field_is_public), + :are_you_sure => l(:text_are_you_sure), + :file_count => l(:label_file_count), + :delete_all_files => l(:text_are_you_sure_all), + :lebel_file_uploding => l(:lebel_file_uploding), + :containerid => "#{container.id}" + } %> + + + + + <%= l(:label_no_file_uploaded)%> + +(<%= l(:label_max_size) %>:<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>) +

建议上传高度不超过52px的图片

+
+
+ + +
\ No newline at end of file diff --git a/app/views/files/_upload_org_new_files.html.erb b/app/views/files/_upload_org_new_files.html.erb index 111354c1a..cd460e328 100644 --- a/app/views/files/_upload_org_new_files.html.erb +++ b/app/views/files/_upload_org_new_files.html.erb @@ -2,12 +2,11 @@

更换Logo

-

尺寸最好55*33

<%= error_messages_for 'attachment' %> <%= form_tag(organization_files_path(org, :in_org => params[:in_org], :logo => true), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %> - <%= render :partial => 'files/org_subfield_upload_attachment_list', :locals => {:container => org}%> + <%= render :partial => 'files/org_upload_attachment_list', :locals => {:container => org}%>
<%= l(:button_cancel)%> <%= l(:button_confirm)%> diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index f2426d9f1..38fb49d8d 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -12,7 +12,7 @@ <%= stylesheet_link_tag 'org_new_style','jquery/jquery-ui-1.9.2' %> <%= javascript_include_tag 'cookie','project', 'organization','header','prettify','select_list_move','org'%> <%= javascript_include_tag 'attachments' %> - <%= call_hook :view_layouts_base_html_head %> + <%#= call_hook :view_layouts_base_html_head %> <%= yield :header_tags -%> @@ -77,14 +77,24 @@
- + <% if User.current.admin_of_org?(@organization) %> + + <% else %> + <% if @org_logo_attchment.blank? %> + + <% else %> + + <% end %> + + <% end %> + <%# 登录 %> <%= render :partial => 'organizations/org_logined_header' %>
@@ -382,7 +392,7 @@ - + <%#= call_hook :view_layouts_base_body_bottom %> diff --git a/config/locales/zh.yml b/config/locales/zh.yml index d36117556..e67ca806d 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -679,6 +679,7 @@ zh: label_repository: 版本库 label_course_repository: 代码库 label_browse: 上传文件 + label_browse_org: 上传图片 label_branch: 分支 label_tag: 标签 label_revision: 修订 diff --git a/public/images/org_new_style/default-img.jpg b/public/images/org_new_style/default-img.jpg index e345ca3d747cace8fb2cb5a5391d00c5d823e7ce..e9aead6edd9283ef66654f148be66757488c0611 100644 GIT binary patch literal 21203 zcmeHucU)7;v-qacdl3;ObO=&HFCx8*AS8fTAqfx(Nk~Ewd%2eA6-C4@3MftCsvwAp z1rfUff?WYCRxDT$$=j3A^m?y+zVE$1-tWhOoHIK+vpYLGyXTylIl^1QHkEYmG)61{ z{{BQD2>_4<0EGc42+fBlR3CgFmeCN#!0Rsf!}sCQ5LWJk5gxTZ7@^Zd;Y97^LwHOd zydT2GLwHFjG#CeQmoD0863>F)$2tXo>&kgnUAVf}$B1l{XXdngf zfCNA^mB$GR^C2Ux`g?m4c#sHz2aiuJqK-h5nO_KjFo+)(q(tR#`B2gjNNr7{^QaJB z4q;|0pM&5#A*>pcfWUBo5avPwA*_MGabkG9h(-*%AuuhGMT0bm%p6)G4S~->cvVU= z9m1GN5MGhOpr=Ck288vQ$%zaIe}S-SB0ZW1=MWkx(C5>s@esCzuq>Ax>IvZq&{AaM zhQKjHU_Lz!$_aocn=_Zoh>PbFjHxCBlB1&o!H=HGr1SY^A<@)?XfBQ5$xh@%v*rRI z9y7uPlo8z$ppxxKj&^otR_0Ls1INEs4p99&fXuC!;=>ftoT1b&58?)S2XX9N035oY zZq^UtVzvTM`3C?RcLs6#y8%#G4#1IXL&l?y*h@U0&vCM_NKH*OXV9tUh(ZUB-x3T^ z{xdM7KXatN0o@V2=&{ksOg;foDwWM-CvyorPBfKHF#Fkv|6|4>VhxdFd?-DZ&ZV

`>q5Vv3_Yj8lqVo?YbOtP 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 literal 4207 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

M?yePDmV^@A4r8sNdr>BaR?qw1t*d5u)qls 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 diff --git a/public/stylesheets/org_new_style.css b/public/stylesheets/org_new_style.css index 442ca9ce3..8fca32cb1 100644 --- a/public/stylesheets/org_new_style.css +++ b/public/stylesheets/org_new_style.css @@ -192,6 +192,73 @@ a:hover.more-btn-center{ background:#29146f; color:#fff;} .note-box p{display:block; width:515px; color:#888; font-size:12px; line-height:2.5;} .right-info2{background:url(../images/org_new_style/icons.png) no-repeat -41px -540px ; width:15px; line-height:1.9; height:16px; padding-left:20px; color:#888; margin-top:5px;} +.upload_con h2 { + display: block; + background: #eaeaea; + font-size: 14px; + color: #343333; + height: 31px; + width: auto; + margin-top: 25px; + padding-left: 20px; + padding-top: 5px; +} +a.blue_btn { + background: #64bdd9; + color: #fff; + font-size: 14px; + font-weight: normal; + padding: 2px 8px; + text-align: center; + cursor: pointer; +} +a.grey_btn { + background: #d9d9d9; + color: #656565; + font-size: 14px; + font-weight: normal; + text-align: center; + margin-left: 10px; + margin-bottom: 10px; + padding: 2px 10px; +} +span.add_attachment { + font-size: 80%; + line-height: 2.5em; +} +.c_dark { + color: #2d2d2d; +} +.upload_filename { + background: url(../images/pic_file.png) 0 -20px no-repeat; + color: #7f7f7f; + width: 270px; + border: none; + padding-left: 20px; + margin-right: 10px; + margin-bottom: 5px; + white-space: nowrap; + text-overflow: ellipsis; +} +.profiler-results.profiler-left { + left: 0px; +} +.profiler-results { + z-index: 2147483643; + position: fixed; + top: 0px; +} + +.filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;} +.ajax-waiting input.upload_filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} +.ajax-loading input.upload_filename {background:url(../images/loading.gif) no-repeat 0px 50%;} +div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } +.upload_filename{ background: url(../images/pic_file.png) 0 -20px no-repeat;color: #7f7f7f;width: 270px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;} +.evaluation{position: relative;} +.evaluation_submit{position: absolute;right: 0px;bottom: 0px;} +.student_work_search{background-color: #64bdd9;color: white !important;padding: 2px 7px;margin-left: 10px;cursor: pointer; } + + From 0dc7b1f621de1861e330ccef1bab2d24d26a1582 Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 2 Apr 2016 00:00:36 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_org_newstyle.html.erb | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 38fb49d8d..1cafa4e3e 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -77,7 +77,7 @@

- <% if User.current.admin_of_org?(@organization) %> + - <% else %> - <% if @org_logo_attchment.blank? %> - - <% else %> - - <% end %> - <% end %> <%# 登录 %> <%= render :partial => 'organizations/org_logined_header' %> From 0bcd2ddcf8df1525049d6c23a03fe0272a381dee Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 2 Apr 2016 00:02:09 +0800 Subject: [PATCH 7/7] 0 --- app/views/layouts/base_org_newstyle.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/base_org_newstyle.html.erb b/app/views/layouts/base_org_newstyle.html.erb index 1cafa4e3e..9ae752f6c 100644 --- a/app/views/layouts/base_org_newstyle.html.erb +++ b/app/views/layouts/base_org_newstyle.html.erb @@ -77,7 +77,7 @@