From b645a1aa1e45bbfc0f5727c285b6979b91d68768 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 19 May 2015 14:25:10 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E7=A7=81=E6=9C=89=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=88=97=E8=A1=A8=E9=9D=9E=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E4=B8=8D=E8=83=BD=E9=80=9A=E8=BF=87URL?= =?UTF-8?q?=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 12 ++++++++---- db/schema.rb | 9 ++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 06a157c0f..f8d08c7f5 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -417,10 +417,14 @@ class ProjectsController < ApplicationController @members = @project.member_principals.includes(:roles, :principal).all.sort end else - roles = Role.find_all_givable - @subPage_title = l :label_member_list - @members = @project.member_principals.includes(:roles, :principal).joins("LEFT JOIN #{OptionNumber.table_name} ON #{OptionNumber.table_name}.user_id = #{Member.table_name}.user_id and #{OptionNumber.table_name}.score_type = 2 AND #{Member.table_name}.project_id = #{OptionNumber.table_name}.project_id").order("#{OptionNumber.table_name}.total_score DESC").all - @applied_members = appied_project_members(@project, @members) + if !@project.is_public? && !User.current.member_of?(@project) && !User.current.admin? + render_403 + else + roles = Role.find_all_givable + @subPage_title = l :label_member_list + @members = @project.member_principals.includes(:roles, :principal).joins("LEFT JOIN #{OptionNumber.table_name} ON #{OptionNumber.table_name}.user_id = #{Member.table_name}.user_id and #{OptionNumber.table_name}.score_type = 2 AND #{Member.table_name}.project_id = #{OptionNumber.table_name}.project_id").order("#{OptionNumber.table_name}.total_score DESC").all + @applied_members = appied_project_members(@project, @members) + end end @members = paginateHelper @members render :layout => 'base_courses' if @project.project_type == 1 diff --git a/db/schema.rb b/db/schema.rb index 601963956..e3828b0be 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -541,7 +541,6 @@ ActiveRecord::Schema.define(:version => 20150514133640) do t.integer "is_teacher_score", :default => 0 end - add_index "homework_attaches", ["bid_id"], :name => "bid_id" add_index "homework_attaches", ["bid_id"], :name => "index_homework_attaches_on_bid_id" create_table "homework_evaluations", :force => true do |t| @@ -556,9 +555,7 @@ ActiveRecord::Schema.define(:version => 20150514133640) do t.integer "bid_id" end - add_index "homework_for_courses", ["bid_id"], :name => "bid_id" add_index "homework_for_courses", ["bid_id"], :name => "index_homework_for_courses_on_bid_id" - add_index "homework_for_courses", ["course_id"], :name => "course_id" add_index "homework_for_courses", ["course_id"], :name => "index_homework_for_courses_on_course_id" create_table "homework_users", :force => true do |t| @@ -1163,14 +1160,12 @@ ActiveRecord::Schema.define(:version => 20150514133640) do create_table "students_for_courses", :force => true do |t| t.integer "student_id" t.integer "course_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "student_idCopy" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "students_for_courses", ["course_id"], :name => "index_students_for_courses_on_course_id" add_index "students_for_courses", ["student_id"], :name => "index_students_for_courses_on_student_id" - add_index "students_for_courses", ["student_id"], :name => "student_id" create_table "taggings", :force => true do |t| t.integer "tag_id" From 085b86bbbec4a55f19a0f4874f33047dffd525e4 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Tue, 19 May 2015 15:23:13 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug#2585:IE11.0?= =?UTF-8?q?=E4=B8=AD--=E8=AF=BE=E7=A8=8B--=E5=AD=A6=E7=94=9F=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=9A=E5=AF=BC=E5=87=BA=E5=88=97=E8=A1=A8=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=8D=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index d616daadc..be69b1777 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -342,10 +342,15 @@ class CoursesController < ApplicationController def export_course_member_excel @all_members = student_homework_score(0,0,0,"desc") + filename="#{@course.teacher.lastname.to_s + @course.teacher.firstname.to_s }_#{@course.name}_#{@course.time.to_s + @course.term}#{l(:excel_member_list)}"; + # 如果是ie11 需要转码 + if(/rv\:11\.0/.match(request.env["HTTP_USER_AGENT"]) != nil) + filename= URI::encode(filename) + end respond_to do |format| format.xls { send_data(member_to_xls(@all_members,@course.course_groups), :type => "text/excel;charset=utf-8; header=present", - :filename => "#{@course.teacher.lastname.to_s + @course.teacher.firstname.to_s }_#{@course.name}_#{@course.time.to_s + @course.term}#{l(:excel_member_list)}.xls") + :filename => "#{filename}.xls") } end end From 196c3b48b1d5ee5361dd17378302c863c43ebcf8 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 19 May 2015 16:11:22 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=BA=93=E5=8C=BA?= =?UTF-8?q?=E5=88=86=E2=80=9C=E5=BC=95=E5=85=A5=E6=88=91=E7=9A=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E2=80=9D=E5=92=8C=E2=80=9C=E5=BC=95=E5=85=A5=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=85=B6=E5=AE=83=E9=A1=B9=E7=9B=AE=E2=80=9D=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E5=BB=BA=E9=A1=B9=E7=9B=AE=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/issues_controller.rb | 11 +++-------- app/controllers/projects_controller.rb | 12 +++++++----- app/views/files/_project_file_list.html.erb | 12 ++++++++---- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index b6035ca51..8acca7f81 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -84,15 +84,10 @@ class IssuesController < ApplicationController @issue_pages = Paginator.new @issue_count, @limit, params['page'] @offset ||= @issue_pages.offset @issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version], - :order => sort_clause, - :offset => @offset, - :limit => @limit) + :order => sort_clause, + :offset => @offset, + :limit => @limit) @issue_count_by_group = @query.issue_count_by_group - - - - - respond_to do |format| format.js format.html { render :template => 'issues/index', :layout => @project_base_tag }#by young diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index f8d08c7f5..c79d0862f 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -31,7 +31,7 @@ class ProjectsController < ApplicationController before_filter :authorize, :only => [:show, :settings, :edit, :sort_project_members, :update, :modules, :close, :reopen,:view_homework_attaches,:course] before_filter :authorize_global, :only => [:new, :create,:view_homework_attaches] before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy, :calendar] - before_filter :file, :statistics, :watcherlist + before_filter :file, :statistics #:watcherlist # 除非项目内人员,不可查看成员, TODO: 完了写报表里去 before_filter :memberAccess, only: :member @@ -681,10 +681,12 @@ class ProjectsController < ApplicationController end def watcherlist - if !@project.is_public? && !User.current.member_of?(@project) && !User.current.admin? - render_403 - else - @users -= watched.watcher_users if @watched + unless @project.nil? + if !@project.is_public? && !User.current.member_of?(@project) && !User.current.admin? + render_403 + else + @users -= watched.watcher_users if @watched + end end end diff --git a/app/views/files/_project_file_list.html.erb b/app/views/files/_project_file_list.html.erb index 1042be584..d32d2319f 100644 --- a/app/views/files/_project_file_list.html.erb +++ b/app/views/files/_project_file_list.html.erb @@ -20,12 +20,16 @@
<%= link_to_attachment file, :download => true,:text => truncate(file.filename,length: 35, omission: '...'), :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "c_dblue f_14 f_b f_l" %> <% if User.current.logged? %> - <%= link_to(l(:label_slected_to_other_project),quote_resource_show_project_project_file_path(project,file),:class => "f_l re_select",:remote => true) if has_project?(User.current,file) %> - <% if authority_pubilic_for_files(project, file) %> + <% if (manage_allowed || file.author_id == User.current.id) && project_contains_attachment?(project,file) %> + <%= link_to(l(:label_slected_to_other_project),quote_resource_show_project_project_file_path(project,file),:class => "f_l re_select",:remote => true) if has_project?(User.current,file) %> + <% else %> + <%= link_to(l(:label_slected_to_project),quote_resource_show_project_project_file_path(project,file),:class => "f_l re_select",:remote => true) if has_project?(User.current,file) %> + <% end %> + <% if authority_pubilic_for_files(project, file) %> - <%= link_to (file.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"f_l re_open",:method => :post %> + <%= link_to (file.is_public? ? "公开":"私有"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"f_l re_open",:method => :post %> - <% end %> + <% end %> <% end %>
From c711e29cd58b954083b831a34f7823e8a7747a3d Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 20 May 2015 09:35:42 +0800 Subject: [PATCH 04/12] =?UTF-8?q?1=E3=80=81=E9=A1=B9=E7=9B=AE=E6=88=90?= =?UTF-8?q?=E5=91=98=E5=8F=AF=E4=BB=A5=E6=9F=A5=E7=9C=8B=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=A7=81=E6=9C=89issue=E3=80=82=202=E3=80=81=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E8=A7=81=E5=92=8C=E5=8F=AF=E8=A7=81issue?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E7=9B=AE=E7=BB=9F=E8=AE=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/issues/index.html.erb | 4 ++-- app/views/issues/new.html.erb | 2 -- app/views/projects/_development_group.html.erb | 4 ++-- app/views/projects/_research_team.html.erb | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/views/issues/index.html.erb b/app/views/issues/index.html.erb index 5307b3bf6..3abc7101c 100644 --- a/app/views/issues/index.html.erb +++ b/app/views/issues/index.html.erb @@ -66,8 +66,8 @@
<%# end %> -

<%= l(:label_issues_sum) %>:<%= @project.issues.count %> - <%= l(:lable_issues_undo) %>:<%= @project.issues.where('status_id in (1,2,4,6)').count %> +

<%= l(:label_issues_sum) %>:<%= @project.issues.visible.all.count %> + <%= l(:lable_issues_undo) %>:<%= @project.issues.where('status_id in (1,2,4,6)').visible.all.count %>

diff --git a/app/views/issues/new.html.erb b/app/views/issues/new.html.erb index 62e6947a7..137e203ef 100644 --- a/app/views/issues/new.html.erb +++ b/app/views/issues/new.html.erb @@ -2,7 +2,6 @@

<%= l(:label_issue_new) %>

<%= call_hook(:view_issues_new_top, {:issue => @issue}) %> - <%= labelled_form_for @issue, :url => project_issues_path(@project), :html => {:id => 'issue-form', :multipart => true} do |f| %> <%= error_messages_for 'issue' %> @@ -16,7 +15,6 @@ <%#= preview_link preview_new_issue_path(:project_id => @project), 'issue-form', 'preview', {:class => "blue_btn fl ml10"} %> <% end %> -
<% content_for :header_tags do %> diff --git a/app/views/projects/_development_group.html.erb b/app/views/projects/_development_group.html.erb index 7f79fc5f1..676761831 100644 --- a/app/views/projects/_development_group.html.erb +++ b/app/views/projects/_development_group.html.erb @@ -8,8 +8,8 @@ <% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>