diff --git a/app/api/mobile/apis/comments.rb b/app/api/mobile/apis/comments.rb
index 75932d60f..2e84fe5a9 100644
--- a/app/api/mobile/apis/comments.rb
+++ b/app/api/mobile/apis/comments.rb
@@ -2,6 +2,7 @@
module Mobile
module Apis
class Comments < Grape::API
+ include ApplicationHelper
resource :comments do
desc '课程通知评论'
params do
@@ -82,8 +83,8 @@ module Mobile
memo: {:subject => params[:subject],:content => '该贴来自手机App意见反馈'},
}
cs = CommentService.new
- memo = cs.create_feedback cs_params, current_user
- raise "commit failed #{memo.errors.full_messages}" if memo.new_record?
+ memo,message = cs.create_feedback cs_params, current_user
+ raise message if memo.new_record?
present :status, 0
end
diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb
index 2f7092d9a..64157ea42 100644
--- a/app/controllers/forums_controller.rb
+++ b/app/controllers/forums_controller.rb
@@ -20,7 +20,7 @@ class ForumsController < ApplicationController
#@memo.author_id = User.current.id
#@forum = @memo.forum
cs = CommentService.new
- @memo = cs.create_feedback params,User.current
+ @memo,message = cs.create_feedback params,User.current
respond_to do |format|
if !@memo.new_record?
format.html { redirect_to forum_path(@memo.forum) }
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 44e5fd8a3..e9a27cf44 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -340,6 +340,7 @@ class ProjectsController < ApplicationController
@is_zhuce =false
flash[:notice] = l(:notice_email_sent, :value => email)
else
+ flash[:error] = l(:notice_registed_success, :value => email)
@is_zhuce = true
end
respond_to do |format|
diff --git a/app/helpers/api_helper.rb b/app/helpers/api_helper.rb
index c865a500b..afdc306a4 100644
--- a/app/helpers/api_helper.rb
+++ b/app/helpers/api_helper.rb
@@ -60,4 +60,8 @@ module ApiHelper
end
[count,is_teacher]
end
+
+ def get_user_language user
+ (user.language.nil? || user.language == "") ? 'zh':user.language
+ end
end
\ No newline at end of file
diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb
index b9e658bb5..02bc3d8b3 100644
--- a/app/helpers/watchers_helper.rb
+++ b/app/helpers/watchers_helper.rb
@@ -43,7 +43,7 @@ module WatchersHelper
)
method = watched ? 'delete' : 'post'
- link_to text, url, :remote => true, :method => method, :class => css
+ link_to text, url, :remote => true, :method => method, :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 22px; line-height: 21px;padding-top:1px; background: none repeat scroll 0% 0% #64BDD9; TES"
end
############## added by linchun
@@ -278,11 +278,11 @@ module WatchersHelper
)
method = applied ? 'delete' : 'post'
- link_to text, url, :remote => true, :method => method ,:class=>css
+ link_to text, url, :remote => true, :method => method ,:style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 21px; line-height: 22px;padding-top:1px; background: none repeat scroll 0% 0% #64BDD9; TES"
end
def exit_project_link(project)
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
- :remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 22px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES" )
+ :remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 21px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES;padding-top:1px;" )
end
end
diff --git a/app/services/comment_service.rb b/app/services/comment_service.rb
index e74cc902b..f75e14b85 100644
--- a/app/services/comment_service.rb
+++ b/app/services/comment_service.rb
@@ -1,4 +1,6 @@
class CommentService
+ include ApiHelper
+ include Redmine::I18n
#评论
def news_comments params,current_user
@news = News.find(params[:id])
@@ -84,7 +86,8 @@ class CommentService
@memo.forum_id = "1"
@memo.author_id = current_user.id
@memo.save
- @memo
+ message = "#{l(:label_commit_failed,:locale => get_user_language(current_user))}: #{@memo.errors.full_messages}" if @memo.new_record?
+ [@memo,message]
end
#课程留言列表
diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb
index dc6cf8119..c689d699d 100644
--- a/app/services/courses_service.rb
+++ b/app/services/courses_service.rb
@@ -38,7 +38,7 @@ class CoursesService
if name.blank?
raise 'sumbit empty'
end
- @courses = courses_all.visible
+ @courses = courses_all.visible(current_user)
if params[:name].present?
@courses_all = @courses.like(params[:name])
else
@@ -346,7 +346,7 @@ class CoursesService
membership = @user.coursememberships.all(:conditions => Course.visible_condition(current_user))
end
if membership.nil? || membership.count == 0
- raise l(:label_no_courses,:locale => current_user.language.nil? ? 'zh':current_user.language)
+ raise l(:label_no_courses,:locale => get_user_language(current_user))
end
membership.sort! {|older, newer| newer.created_on <=> older.created_on }
result = []
@@ -355,19 +355,19 @@ class CoursesService
latest_course_dynamics = []
latest_news = course.news.order("created_on desc").first
unless latest_news.nil?
- latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => get_user_language(current_user))}
end
latest_message = course.journals_for_messages.order("created_on desc").first
unless latest_message.nil?
- latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
end
latest_attachment = course.attachments.order("created_on desc").first
unless latest_attachment.nil?
- latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => get_user_language(current_user))}
end
latest_bid = course.homeworks.order('updated_on DESC').first
unless latest_bid.nil?
- latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
end
#每个作业中的最新留言
messages = []
@@ -382,7 +382,7 @@ class CoursesService
end
latest_bid_message = messages.first
unless latest_bid_message.nil?
- 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)}
+ latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
end
#每个作业中学生最后提交的作业
homeworks = []
@@ -397,7 +397,7 @@ class CoursesService
end
latest_homework_attach = homeworks.first
unless latest_homework_attach.nil?
- latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
end
latest_course_dynamics.sort!{|order,newer| newer[:time] <=> order[:time]}
latest_course_dynamic = latest_course_dynamics.first
diff --git a/app/services/users_service.rb b/app/services/users_service.rb
index f75a84c5b..39ca37d26 100644
--- a/app/services/users_service.rb
+++ b/app/services/users_service.rb
@@ -193,7 +193,6 @@ class UsersService
@current_user.save
#raise @current_user.errors.full_message
#return @current_user
-
else
raise 'wrong password'
end
diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb
index d5449e44d..7ddd37ad6 100644
--- a/app/views/boards/_project_show.html.erb
+++ b/app/views/boards/_project_show.html.erb
@@ -44,7 +44,7 @@
项目讨论区共有<%= @topic_count %>个帖子
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
-
<%= link_to l(:label_message_new), new_board_message_path(@board),
+ <%= link_to l(:label_message_new), new_board_message_path(@board),
:class => 'problem_new_btn fl',
:onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %>
<% end %>
@@ -61,14 +61,14 @@
<%= link_to h(topic.subject), board_message_path(@board, topic), title:topic.subject.to_s, :class =>"problem_tit fl" %>
<% if topic.sticky? %>
- 置顶
+ 置顶
<% end %>
- 由<%= link_to topic.author, user_path(topic.author), :class =>"problem_name" %>
- 添加于<%= format_time topic.created_on %>
+ 由<%= link_to topic.author, user_path(topic.author), :class =>"problem_name" %>
+ 添加于<%= format_time topic.created_on %>
-
+
回复<%= link_to (topic.replies_count), board_message_path(@board, topic), :style =>"color:#fff;" %>
diff --git a/app/views/issues/_action_menu.html.erb b/app/views/issues/_action_menu.html.erb
index 61cea920c..bcd7b30c5 100644
--- a/app/views/issues/_action_menu.html.erb
+++ b/app/views/issues/_action_menu.html.erb
@@ -12,7 +12,7 @@
<% end %>
-<%= watcher_link(@issue, User.current) %>
+
<%= link_to l(:button_copy), project_copy_issue_path(@project, @issue), :class => 'icon icon-copy' if User.current.allowed_to?(:add_issues, @project) %>
<%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'icon icon-del' if User.current.allowed_to?(:delete_issues, @project) %>
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 42171d595..38afc672d 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -1,181 +1,181 @@
-
-
<%= l(:label_issue_plural) %>
-
-<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
-<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
-
-<%= render :partial => 'action_menu' %>
-
-
- <%= issue_heading(@issue) %>
-
-
-
-
-
- <% if @prev_issue_id || @next_issue_id %>
-
- <%= link_to_if @prev_issue_id,
- "\xc2\xab #{l(:label_previous)}",
- (@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
- :title => "##{@prev_issue_id}" %> |
- <% if @issue_position && @issue_count %>
- <%= l(:label_item_position, :position => @issue_position, :count => @issue_count) %> |
- <% end %>
- <%= link_to_if @next_issue_id,
- "#{l(:label_next)} \xc2\xbb",
- (@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
- :title => "##{@next_issue_id}" %>
-
- <% end %>
-
-
-
-
-<%= render_issue_subject_with_tree(@issue) %>
-
-
-
-
- <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>
-
-
-
- <%= authoring @issue.created_on, @issue.author %>.
- <% if @issue.created_on != @issue.updated_on %>
- <%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>.
- <% end %>
-
-
-
- <%= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
-
-
-<%= issue_fields_rows do |rows|
- rows.left l(:field_status), h(@issue.status.name), :class => 'status'
- rows.left l(:field_priority), h(@issue.priority.name), :class => 'priority'
-
- unless @issue.disabled_core_fields.include?('assigned_to_id')
- #modified by nie
- #modified by huang
- rows.left l(:field_assigned_to), (image_tag url_to_avatar(@issue.assigned_to(@user)), :class => 'avatar').to_s.html_safe + (@issue.assigned_to ? link_to_user(@issue.assigned_to) : "-"), :class => 'assigned-to'
- end
- # end huang
- unless @issue.disabled_core_fields.include?('category_id')
- rows.left l(:field_category), h(@issue.category ? @issue.category.name : "-"), :class => 'category'
- end
- unless @issue.disabled_core_fields.include?('fixed_version_id')
- rows.left l(:field_fixed_version), (@issue.fixed_version ? link_to_version(@issue.fixed_version) : "-"), :class => 'fixed-version'
- end
-
- unless @issue.disabled_core_fields.include?('start_date')
- rows.right l(:field_start_date), format_date(@issue.start_date), :class => 'start-date'
- end
- unless @issue.disabled_core_fields.include?('due_date')
- rows.right l(:field_due_date), format_date(@issue.due_date), :class => 'due-date'
- end
- unless @issue.disabled_core_fields.include?('done_ratio')
- rows.right l(:field_done_ratio), progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%"), :class => 'progress'
- end
- unless @issue.disabled_core_fields.include?('estimated_hours')
- unless @issue.estimated_hours.nil?
- rows.right l(:field_estimated_hours), l_hours(@issue.estimated_hours), :class => 'estimated-hours'
- end
- end
- if User.current.allowed_to?(:view_time_entries, @project)
- rows.right l(:label_spent_time), (@issue.total_spent_hours > 0 ? link_to(l_hours(@issue.total_spent_hours), project_issue_time_entries_path(@project, @issue)) : "-"), :class => 'spent-time'
- end
-end %>
-<%= render_custom_fields_rows(@issue) %>
-<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
-
-
-<% if @issue.description? || @issue.attachments.any? -%>
-
-<% if @issue.description? %>
-
-
- <%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
-
-
-
<%=l(:field_description)%>
-
- <%= textilizable @issue, :description, :attachments => @issue.attachments %>
-
-
-<% end %>
-<%= link_to_attachments @issue, :thumbnails => true %>
-<% end -%>
-
-<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
-
-<% if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
-
-
-
-
- <%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
-
-
-
<%=l(:label_subtask_plural)%>
-<%= render_descendants_tree(@issue) unless @issue.leaf? %>
-
-<% end %>
-
-<% if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>
-
-
-<%= render :partial => 'relations' %>
-
-<% end %>
-
-
-
-<% if @changesets.present? %>
-
-
<%=l(:label_associated_revisions)%>
-<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
-
-<% end %>
-
-<% if @journals.present? %>
-
-
<%=l(:label_history)%>
-<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
-
-<% end %>
-
-
-
-<%= render :partial => 'action_menu' %>
-
-
-<% if @issue.editable? %>
-
-
<%= l(:button_update) %>
- <%= render :partial => 'edit' %>
-
-<% end %>
-
-<% other_formats_links do |f| %>
- <%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
- <%= f.link_to 'PDF' %>
-<% end %>
-
-
-<% content_for :sidebar do %>
- <%= render :partial => 'issues/sidebar' %>
-
- <% if User.current.allowed_to?(:add_issue_watchers, @project) ||
- (@issue.watchers.present? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
-
- <%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
-
- <% end %>
-<% end %>
-
-<% content_for :header_tags do %>
- <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
-<% end %>
-
-<%= context_menu issues_context_menu_path %>
+
+
<%= l(:label_issue_plural) %>
+
+<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
+<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
+
+<%= render :partial => 'action_menu' %>
+
+
+ <%= issue_heading(@issue) %>
+
+
+
+
+
+ <% if @prev_issue_id || @next_issue_id %>
+
+ <%= link_to_if @prev_issue_id,
+ "\xc2\xab #{l(:label_previous)}",
+ (@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
+ :title => "##{@prev_issue_id}" %> |
+ <% if @issue_position && @issue_count %>
+ <%= l(:label_item_position, :position => @issue_position, :count => @issue_count) %> |
+ <% end %>
+ <%= link_to_if @next_issue_id,
+ "#{l(:label_next)} \xc2\xbb",
+ (@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
+ :title => "##{@next_issue_id}" %>
+
+ <% end %>
+
+
+
+
+<%= render_issue_subject_with_tree(@issue) %>
+
+
+
+
+ <%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>
+
+
+
+ <%= authoring @issue.created_on, @issue.author %>.
+ <% if @issue.created_on != @issue.updated_on %>
+ <%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>.
+ <% end %>
+
+
+
+ <%= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
+
+
+<%= issue_fields_rows do |rows|
+ rows.left l(:field_status), h(@issue.status.name), :class => 'status'
+ rows.left l(:field_priority), h(@issue.priority.name), :class => 'priority'
+
+ unless @issue.disabled_core_fields.include?('assigned_to_id')
+ #modified by nie
+ #modified by huang
+ rows.left l(:field_assigned_to), (image_tag url_to_avatar(@issue.assigned_to(@user)), :class => 'avatar').to_s.html_safe + (@issue.assigned_to ? link_to_user(@issue.assigned_to) : "-"), :class => 'assigned-to'
+ end
+ # end huang
+ unless @issue.disabled_core_fields.include?('category_id')
+ rows.left l(:field_category), h(@issue.category ? @issue.category.name : "-"), :class => 'category'
+ end
+ unless @issue.disabled_core_fields.include?('fixed_version_id')
+ rows.left l(:field_fixed_version), (@issue.fixed_version ? link_to_version(@issue.fixed_version) : "-"), :class => 'fixed-version'
+ end
+
+ unless @issue.disabled_core_fields.include?('start_date')
+ rows.right l(:field_start_date), format_date(@issue.start_date), :class => 'start-date'
+ end
+ unless @issue.disabled_core_fields.include?('due_date')
+ rows.right l(:field_due_date), format_date(@issue.due_date), :class => 'due-date'
+ end
+ unless @issue.disabled_core_fields.include?('done_ratio')
+ rows.right l(:field_done_ratio), progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%"), :class => 'progress'
+ end
+ unless @issue.disabled_core_fields.include?('estimated_hours')
+ unless @issue.estimated_hours.nil?
+ rows.right l(:field_estimated_hours), l_hours(@issue.estimated_hours), :class => 'estimated-hours'
+ end
+ end
+ if User.current.allowed_to?(:view_time_entries, @project)
+ rows.right l(:label_spent_time), (@issue.total_spent_hours > 0 ? link_to(l_hours(@issue.total_spent_hours), project_issue_time_entries_path(@project, @issue)) : "-"), :class => 'spent-time'
+ end
+end %>
+<%= render_custom_fields_rows(@issue) %>
+<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
+
+
+<% if @issue.description? || @issue.attachments.any? -%>
+
+<% if @issue.description? %>
+
+
+ <%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
+
+
+
<%=l(:field_description)%>
+
+ <%= textilizable @issue, :description, :attachments => @issue.attachments %>
+
+
+<% end %>
+<%= link_to_attachments @issue, :thumbnails => true %>
+<% end -%>
+
+<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
+
+<% if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
+
+
+
+
+ <%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
+
+
+
<%=l(:label_subtask_plural)%>
+<%= render_descendants_tree(@issue) unless @issue.leaf? %>
+
+<% end %>
+
+<% if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>
+
+
+<%= render :partial => 'relations' %>
+
+<% end %>
+
+
+
+<% if @changesets.present? %>
+
+
<%=l(:label_associated_revisions)%>
+<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
+
+<% end %>
+
+<% if @journals.present? %>
+
+
<%=l(:label_history)%>
+<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
+
+<% end %>
+
+
+
+<%= render :partial => 'action_menu' %>
+
+
+<% if @issue.editable? %>
+
+
<%= l(:button_update) %>
+ <%= render :partial => 'edit' %>
+
+<% end %>
+
+<% other_formats_links do |f| %>
+ <%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
+ <%= f.link_to 'PDF' %>
+<% end %>
+
+
+<% content_for :sidebar do %>
+ <%= render :partial => 'issues/sidebar' %>
+
+ <% if User.current.allowed_to?(:add_issue_watchers, @project) ||
+ (@issue.watchers.present? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
+
+ <%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
+
+ <% end %>
+<% end %>
+
+<% content_for :header_tags do %>
+ <%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
+<% end %>
+
+<%= context_menu issues_context_menu_path %>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 07aee32c4..308d471fa 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -93,7 +93,7 @@
<%= image_tag(url_to_avatar(@project), :style => 'width:61px; height:61px;') %>
- ID:<%= @project.id %>
+ 项目ID:<%= @project.id %>
@@ -126,7 +126,8 @@
<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :style => "color:#3CA5C6;font-weight:bold" %>)
|
<%= l(:project_module_attachments) %>()
+ <% attaments_num = @project.attachments.count+Attachment.where(["`container_type` = 'Version' and `container_id` in (?)",@project.versions.map{ |v| v.id}]).all.count %>
+ <%= link_to "#{attaments_num}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %>)
@@ -170,8 +171,8 @@
<% unless @project.enabled_modules.where("name = 'files'").empty? %>
<%= link_to l(:project_module_files), project_files_path(@project), :style => "color:#3CA5C6" %>
- <% unless @project.attachments.count == 0 %>
-
(<%= @project.attachments.count %>)
+ <% unless attaments_num == 0 %>
+
(<%= attaments_num %>)
<% end %>
<% if User.current.member_of?(@project) %>
<%= link_to "+"+l(:label_upload_files), project_files_path(@project,:flag => true),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:16px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %>
diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb
index c5be3f4fd..c24ab84e7 100644
--- a/app/views/layouts/mailer.html.erb
+++ b/app/views/layouts/mailer.html.erb
@@ -41,7 +41,8 @@ a:hover.mail_reply{ background:#06a9bc; text-decoration:none;}
-
<%= l(:mail_issue_greetings)%>
+
+
<%= yield %>
diff --git a/app/views/projects/invite_members_by_mail.html.erb b/app/views/projects/invite_members_by_mail.html.erb
index 63f69e120..c222bece1 100644
--- a/app/views/projects/invite_members_by_mail.html.erb
+++ b/app/views/projects/invite_members_by_mail.html.erb
@@ -45,6 +45,7 @@
+
<%= l(:label_invite_new_user)%>
<%= l(:label_invite_email_tips)%>
@@ -62,5 +63,6 @@
<%#= submit_tag '免费发送', :style => "display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;" %>
<% end %>
+
\ No newline at end of file
diff --git a/app/views/tags/_project_tag.html.erb b/app/views/tags/_project_tag.html.erb
index 8694d69ca..d10506d0d 100644
--- a/app/views/tags/_project_tag.html.erb
+++ b/app/views/tags/_project_tag.html.erb
@@ -1,32 +1,30 @@
-