diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 052df384e..f83580fba 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -180,6 +180,7 @@ class ProjectsController < ApplicationController @project = Project.new @project.safe_attributes = params[:project] @project.organization_id = params[:organization_id] + @project.user_id = User.current.id if validate_parent_id && @project.save @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') # Add current user as a project member if he is not admin @@ -347,16 +348,27 @@ class ProjectsController < ApplicationController end #发送邮件邀请新用户 def invite_members_by_mail - @is_zhuce =false - respond_to do |format| - format.html - format.js + if User.current.member_of?(@project) || User.current.admin? + @is_zhuce = false + respond_to do |format| + format.html + format.js + end + else + render_403 end end # 邀请Trustie注册用户 def invite_members - @member ||= @project.members.new + if User.current.member_of?(@project) || User.current.admin? + @member ||= @project.members.new + respond_to do |format| + format.html + end + else + render_403 + end end def edit diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index c0d3d2f83..09cc5d59d 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -382,7 +382,7 @@ class CoursesService end latest_bid_message = messages.first unless latest_bid_message.nil? - latest_course_dynamics << {:type => 2,:time => latest_bid_message.created_on,:message => '最近更新了留言'}#l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)} + latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => '最近更新了作业'}#l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)} end #每个作业中学生最后提交的作业 homeworks = [] diff --git a/app/views/admin/mobile_version.html.erb b/app/views/admin/mobile_version.html.erb index cc6490f90..2a03ac003 100644 --- a/app/views/admin/mobile_version.html.erb +++ b/app/views/admin/mobile_version.html.erb @@ -36,7 +36,7 @@ <% end %> -<% if @versions.first.attachments.any?%> +<% if !@versions.first.nil? && @versions.first.attachments.any?%> <% options = {:author => true, :deletable => true } %> <%= render :partial => 'attachments/links', :locals => {:attachments => @versions.first.attachments, :options => options, :is_float => true} %> <% end %> diff --git a/app/views/documents/index.html.erb b/app/views/documents/index.html.erb index e0c39eb33..73a3a6f2a 100644 --- a/app/views/documents/index.html.erb +++ b/app/views/documents/index.html.erb @@ -28,7 +28,7 @@ <% if @grouped.empty? %> -

+

<%= l(:label_no_data) %>

<% end %> diff --git a/app/views/files/new.html.erb b/app/views/files/new.html.erb index be9bcd722..fad22b192 100644 --- a/app/views/files/new.html.erb +++ b/app/views/files/new.html.erb @@ -1,5 +1,5 @@
-

<%=l(:label_attachment_new)%>

+

<%= l(:label_course_file) %>

<%= error_messages_for 'attachment' %> @@ -8,11 +8,10 @@ <% if @versions.any? %>

-<%= select_tag "version_id", content_tag('option', '') + - options_from_collection_for_select(@versions, "id", "name") %>

+ <%= select_tag "version_id", content_tag('option', '') + options_from_collection_for_select(@versions, "id", "name") %>

<% end %> -

<%= render :partial => 'attachments/form' %>

+

<%= render :partial => 'attachments/form' %>

<%= submit_tag l(:button_add) %> <% end %> diff --git a/app/views/issues/_newissue_index.html.erb b/app/views/issues/_newissue_index.html.erb index b89ba41a2..4b282aa8f 100644 --- a/app/views/issues/_newissue_index.html.erb +++ b/app/views/issues/_newissue_index.html.erb @@ -2,7 +2,7 @@

问题跟踪

- <% if @project.enabled_modules.where("name = 'issue_tracking'").count > 0 %> + <% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %> <% if User.current.member_of?(@project) %> <%= link_to l(:label_issue_new), {:controller => 'issues', :action => 'new', :copy_from => nil}, :param => :project_id, :caption => :label_issue_new, diff --git a/app/views/kaminari/_gap.html.erb b/app/views/kaminari/_gap.html.erb index a45dfdaa0..01b6cc640 100644 --- a/app/views/kaminari/_gap.html.erb +++ b/app/views/kaminari/_gap.html.erb @@ -5,4 +5,6 @@ per_page: number of items to fetch per page remote: data-remote -%> - + +<%= raw(t 'views.pagination.truncate') %> + \ No newline at end of file diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb index 262aa2f69..8d39b6926 100644 --- a/app/views/layouts/base_projects.html.erb +++ b/app/views/layouts/base_projects.html.erb @@ -112,11 +112,11 @@
<% if @project.project_type == 0 %> <%= l(:label_project_score)%> : - <%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects', - :action => 'show_projects_score', - :remote => true, - :id => @project.id }, - :style => "color: #EC6300;")%> + <%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects', + :action => 'show_projects_score', + :remote => true, + :id => @project.id }, + :style => "color: #EC6300;") %> <% end %>
@@ -137,33 +137,48 @@ + <% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %> + + <% end%> + <% unless @project.enabled_modules.where("name = 'boards'").empty? %> + <% end%> + <% unless @project.enabled_modules.where("name = 'files'").empty? %> + <% end%> + <% unless @project.enabled_modules.where("name = 'repository'").empty? %> + <% end %>
-<%= paginate @events_pages, :window => 3%> \ No newline at end of file +<%= paginate @events_pages, :left => 3, :right => 3%> \ No newline at end of file diff --git a/config/initializers/kaminari_config.rb b/config/initializers/kaminari_config.rb index 5505662f3..1f07c0af5 100644 --- a/config/initializers/kaminari_config.rb +++ b/config/initializers/kaminari_config.rb @@ -23,7 +23,7 @@ Kaminari.configure do |config| # config.default_per_page = 25 # config.max_per_page = nil - config.window = 2 + config.window = 0 # config.outer_window = 3 # config.left = 2 # config.right = 2 diff --git a/config/locales/en.yml b/config/locales/en.yml index c594a7a10..b9ddaa206 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -383,9 +383,7 @@ en: # steam the student label_current_group: Current group # DTS Test tool - project_module_dts: DTS Test tool label_module_share: DTS Test tool - field_dts_test: DTS Test tool label_user_plural: Users diff --git a/config/locales/zh.yml b/config/locales/zh.yml index f7a2c6780..925c0a309 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -522,14 +522,12 @@ zh: project_module_time_tracking: 时间跟踪 project_module_news: 新闻 project_module_documents: 文档 - project_module_files: 作品下载 project_module_wiki: Wiki project_module_calendar: 日历 project_module_gantt: 甘特图 project_module_course: 课程 - project_module_dts: DTS测试工具 label_module_share: DTS测试工具 project_module_code_review: 代码审查 label_user: 用户 @@ -1945,8 +1943,6 @@ zh: label_course_brief_introduction: 课程简介 field_teacher_name: 教 师 - field_dts_test: DTS测试工具 - label_newbie_faq: '新手指引 & 问答' label_hot_project: '热门项目' label_borad_project: 项目讨论区 diff --git a/db/migrate/20150311013036_add_project_create_info_to_forge_activities.rb b/db/migrate/20150311013036_add_project_create_info_to_forge_activities.rb new file mode 100644 index 000000000..9476db117 --- /dev/null +++ b/db/migrate/20150311013036_add_project_create_info_to_forge_activities.rb @@ -0,0 +1,21 @@ +# Time 2015-03-11 14:25:45 +# Author lizanle +# Description 给每个项目添加一条初始创建信息,如果有menber,最早加进来的就算创始人,并给projects表的更新创建人 +class AddProjectCreateInfoToForgeActivities < ActiveRecord::Migration + def change + Project.all.each do |e| + user = e.members.order("members.created_on asc").first + next if user.nil? + execute("insert into forge_activities(forge_act_id, + forge_act_type, + project_id, + user_id, + created_at, + updated_at) + values(#{e.id},'ProjectCreateInfo',#{e.id},#{user.user_id}, + '#{user.created_on.to_s.gsub("+0800","").to_datetime.strftime("%Y-%m-%d %H:%M:%S")}', + '#{user.created_on.to_s.gsub("+0800","").to_datetime.strftime("%Y-%m-%d %H:%M:%S")}')") + execute("update projects set user_id=#{user.user_id} where id =#{e.id}") + end + end +end