diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb index b9f45356a..66aa70dfa 100644 --- a/app/views/projects/_project.html.erb +++ b/app/views/projects/_project.html.erb @@ -126,7 +126,7 @@
<% if @project.project_type !=1 %> - <%= l(:label_project_grade)%>: + <%= l(:label_project_score)%>: <%= link_to(format("%.2f" , red_project_scores(@project) ).to_i, {:controller => 'projects', diff --git a/app/views/projects/invite_members_by_mail.html.erb b/app/views/projects/invite_members_by_mail.html.erb index 0e3acbb28..2e4ff0d65 100644 --- a/app/views/projects/invite_members_by_mail.html.erb +++ b/app/views/projects/invite_members_by_mail.html.erb @@ -1,68 +1,90 @@ - -
-

<%= l(:label_invite_join)%>

-
-
-
- -
-
-
-
-

<%= l(:label_invite_new_user)%>

-

- <%= l(:label_invite_email_tips)%> -

-
- <%= render :partial => 'regested', locals: { :isregisted => false} %> -
- <%= form_tag('send_mail_to_member', :controller => 'projects',:action => 'send_mail_to_member', method: 'get') do %> - - <%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onblur => "verifyAddress();" %> -
-
- - <%= l(:label_send_email)%> - - <%#= submit_tag '免费发送', :style => "display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;" %> - <% end %> -
-
+ + + + + +
+

<%= l(:label_invite_join)%>

+
+
+
+ +
+
+
+
+

<%= l(:label_invite_new_user)%>

+

+ <%= l(:label_invite_email_tips)%> +

+
+ <%= render :partial => 'regested', locals: { :isregisted => false} %> +
+ <%= form_tag('send_mail_to_member', :controller => 'projects',:action => 'send_mail_to_member', method: 'get') do %> + +
+ <%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyAddress(this);" %> +
+
+
+ + <%= l(:label_send_email)%> + + <%#= 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/config/locales/en.yml b/config/locales/en.yml index 910eb0f98..dd4601685 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -337,7 +337,6 @@ en: label_work_description_lengthlimit: less than 500 characters label_create_new_projects: Create a project label_work_scores_people: The total number of users given scores - label_project_grade: Score # Personal signature tips @@ -629,8 +628,7 @@ en: label_preview: Preview label_feed_plural: Feeds label_changes_details: Details of all changes - label_issue_tracking: Issue tracking - + label_overall_spent_time: Overall spent time label_f_hour: "%{value} hour" label_f_hour_plural: "%{value} hours" @@ -937,11 +935,7 @@ en: default_issue_status_rejected: Rejected default_doc_category_user: User documentation default_doc_category_tech: Technical documentation - default_priority_low: Low - default_priority_normal: Normal - default_priority_high: High - default_priority_urgent: Urgent - default_priority_immediate: Immediate + default_activity_design: Design default_activity_development: Development @@ -1529,12 +1523,12 @@ en: label_project_notice: release the notice - label_no_file_uploaded: No file uploaded + label_forum_new: New forum label_memo_new_from_forum: Release memo bale_edit_notice: Edit - label_user_grade: Individual score + label_course_term: Semester label_comment_time: Comment time diff --git a/config/locales/projects/en.yml b/config/locales/projects/en.yml index 8c8ab7bc4..4cc070aac 100644 --- a/config/locales/projects/en.yml +++ b/config/locales/projects/en.yml @@ -45,7 +45,7 @@ en: label_invite_new_user: "Send e-mail to invite new user" label_invite_trustie_user: "Invite the Trustie registered user" - label_issue_tracking: Issue Tracking + label_issue_tracking: Issues label_release_issue: New Issue project_module_boards: Forums @@ -106,11 +106,11 @@ en: # 资源库(附件)公用 label_relation_files: Select an existing resource label_search_by_keyword: "Search by keywords" - label_files_filter: "Files Filter:" + label_files_filter: "Filter Files:" attachment_all: "All" - attachment_browse: "Attachment Content Browse" - attachment_sufix_browse: "Attachment Type Browse" + attachment_browse: "By Attachment Content " + attachment_sufix_browse: "By Attachment Type " label_unknow_type: Unknow type field_filename: File @@ -130,7 +130,7 @@ en: label_max_size: Maximum size label_optional_description: Description - label_file_count: "%{count} files were uploaded successfully" + label_file_count: "files were uploaded successfully" # # 项目托管平台 @@ -140,6 +140,14 @@ en: # + # 问题优先级 + default_priority_low: Low + default_priority_normal: Normal + default_priority_high: High + default_priority_urgent: Urgent + default_priority_immediate: Immediate + + # # 项目托管平台 # @@ -192,7 +200,7 @@ en: label_input_email: Please input email address label_invite_trustie_user: "Invite Trustie registered users" - label_invite_trustie_user_tips: "Please enter the Trustie user name" + label_invite_trustie_user_tips: "Type to find users" label_invite_project: "invites you to join the project" label_invite_success: Successful invitation label_invite_members: Invite diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index 1d56a2b5f..ae9384f3a 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -136,6 +136,7 @@ zh: label_max_size: 最大文件大小 label_optional_description: 可选的描述 + label_file_count: "个文件已上传" text_are_you_sure_all: 您确定要删除所有文件吗 # @@ -146,7 +147,11 @@ zh: # - + default_priority_low: 低 + default_priority_normal: 普通 + default_priority_high: 高 + default_priority_urgent: 紧急 + default_priority_immediate: 立刻 # diff --git a/config/locales/users/en.yml b/config/locales/users/en.yml index ed10c69ee..c68087efa 100644 --- a/config/locales/users/en.yml +++ b/config/locales/users/en.yml @@ -25,7 +25,8 @@ en: # 左边栏 # label_user_edit: Edit information - + label_user_grade: Individual score + label_user_score: Individual synthetic score label_user_score_of_influence: Influence score label_user_score_of_collaboration: Collaborative score diff --git a/config/locales/users/zh.yml b/config/locales/users/zh.yml index c6f7e4142..26cf61e28 100644 --- a/config/locales/users/zh.yml +++ b/config/locales/users/zh.yml @@ -34,7 +34,8 @@ zh: # 左边栏 # label_user_edit: "修改资料" - + label_user_grade: 个人得分 + label_user_score: 个人综合得分 # 用户身份在/my的修改资料下 label_user_score_of_collaboration: 协同得分 diff --git a/config/locales/zh.yml b/config/locales/zh.yml index f3879421a..32c28d5ef 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -91,14 +91,7 @@ zh: field_course_un: 暂未填写 #end field_summary: 摘要 - field_is_required: 必填 - field_firstname: 名字 - firstname_empty: 名字不能为空 - field_firstname_eg: '(例:张三丰,请填写[三丰])' - field_lastname: 姓氏 - lastname_empty: 姓氏不能为空 - enterprise_empty: 企业名不能为空 - field_lastname_eg: '(例:张三丰,请填写[张])' + @@ -1005,11 +998,7 @@ zh: default_issue_status_rejected: 已拒绝 default_doc_category_user: 用户文档 default_doc_category_tech: 技术文档 - default_priority_low: 低 - default_priority_normal: 普通 - default_priority_high: 高 - default_priority_urgent: 紧急 - default_priority_immediate: 立刻 + default_activity_design: 设计 default_activity_development: 开发 @@ -1708,8 +1697,6 @@ zh: label_school_not_fount: 没有符合的高校信息 - label_project_grade: 项目得分 - label_user_grade: 个人得分 label_system_grade: 系统评分 label_ta: 助教 @@ -1999,7 +1986,7 @@ zh: label_poll_proportion: 比例 label_poll_valid_commit: 本题有效填写人次 label_poll_result: 问卷调查_问卷统计 - label_answer: 答案: + label_answer: "答案:" label_poll_answer_valid_result: 以上为有效问答题答案! label_poll_republish_success: 取消成功 label_answer_total: 总计: @@ -2031,7 +2018,6 @@ zh: label_end_time: 截止时间 label_send_email: 确定发送 - label_input_email: 请输入邮箱地址 diff --git a/lib/redmine/configuration.rb b/lib/redmine/configuration.rb index ba8e91294..cbe4f929f 100644 --- a/lib/redmine/configuration.rb +++ b/lib/redmine/configuration.rb @@ -22,7 +22,7 @@ module Redmine @defaults = { 'email_delivery' => nil, 'max_concurrent_ajax_uploads' => 2, - 'pic_types' => "bmp,jpeg,jpg,png,gif" + 'pic_types' => "bmp,jpeg,jpg,png,gif,BMP,JPEG,JPG,PNG,GIF" } @config = nil diff --git a/public/javascripts/jQuery.autoMail.js b/public/javascripts/jQuery.autoMail.js new file mode 100644 index 000000000..1750914fd --- /dev/null +++ b/public/javascripts/jQuery.autoMail.js @@ -0,0 +1,153 @@ +/** +* 2015-01-11 +* edit by meng +*/ +(function($){ + $.fn.mailAutoComplete = function(options){ + var defaults = { + boxClass: "mailListBox", //外部box样式 + listClass: "mailListDefault", //默认的列表样式 + focusClass: "mailListFocus", //列表选中样式 + markCalss: "mailListHlignt", //高亮样式 + zIndex: 1, + autoClass: true,//是否使用插件自带class样式 + mailArr: ["qq.com","gmail.com","126.com","163.com","hotmail.com","live.com","sohu.com","sina.com","sina.cn","139.cn","189.cn"], //邮件数组 + textHint: false, //文字提示的自动显示与隐藏 + hintText: "", + focusColor: "#333" + //blurColor: "#999 + }; + var settings = $.extend({}, defaults, options || {}); + //页面装载CSS样式 + if(settings.autoClass && $("#mailListAppendCss").size() === 0){ + $('').appendTo($("head")); + } + var cb = settings.boxClass, cl = settings.listClass, cf = settings.focusClass, cm = settings.markCalss; //插件的class变量 + var z = settings.zIndex, newArr = mailArr = settings.mailArr, hint = settings.textHint, text = settings.hintText, fc = settings.focusColor, bc = settings.blurColor; + //创建邮件内部列表内容 + $.createHtml = function(str, arr, cur){ + var mailHtml = ""; + if($.isArray(arr)){ + $.each(arr, function(i, n){ + if(i === cur){ + mailHtml += '
'+str+'@'+arr[i]+'
'; + }else{ + mailHtml += '
'+str+'@'+arr[i]+'
'; + } + }); + } + return mailHtml; + }; + //一些全局变量 + var index = -1, s; + $(this).each(function(){ + var that = $(this), i = $(".justForJs").size(); + if(i > 0){ //只绑定一个文本框 + return; + } + var w = that.outerWidth(), h = that.outerHeight(); //获取当前对象(即文本框)的宽高 + //样式的初始化 + that.wrap('') + .before('
'); + var x = $("#mailListBox_" + i), liveValue; //列表框对象 + that.focus(function(){ + //父标签的层级 + $(this).css("color", fc).parent().css("z-index", z); + //提示文字的显示与隐藏 + if(hint && text){ + var focus_v = $.trim($(this).val()); + if(focus_v === text){ + $(this).val(""); + } + } + //键盘事件 + $(this).keyup(function(e){ + s = v = $.trim($(this).val()); + if(/@/.test(v)){ + s = v.replace(/@.*/, ""); + } + if(v.length > 0){ + //如果按键是上下键 + if(e.keyCode === 38){ + //向上 + if(index <= 0){ + index = newArr.length; + } + index--; + }else if(e.keyCode === 40){ + //向下 + if(index >= newArr.length - 1){ + index = -1; + } + index++; + }else if(e.keyCode === 13){ + //回车 + if(index > -1 && index < newArr.length){ + //如果当前有激活列表 + $(this).val($("#mailList_"+index).text()); + } + }else{ + if(/@/.test(v)){ + index = -1; + //获得@后面的值 + //s = v.replace(/@.*/, ""); + //创建新匹配数组 + var site = v.replace(/.*@/, ""); + newArr = $.map(mailArr, function(n){ + var reg = new RegExp(site); + if(reg.test(n)){ + return n; + } + }); + }else{ + newArr = mailArr; + } + } + x.html($.createHtml(s, newArr, index)).css("left", 0); + if(e.keyCode === 13){ + //回车 + if(index > -1 && index < newArr.length){ + //如果当前有激活列表 + x.css("left", "-6000px"); + } + } + }else{ + x.css("left", "-6000px"); + } + }).blur(function(){ + if(hint && text){ + var blur_v = $.trim($(this).val()); + if(blur_v === ""){ + $(this).val(text); + } + } + $(this).css("color", bc).unbind("keyup").parent().css("z-index",0); + x.css("left", "-6000px"); + + }).keydown(function(event){ + if(event.keyCode == 13){ + return false; + } + }); + //鼠标经过列表项事件 + //鼠标经过 + $(".mailHover").live("mouseover", function(){ + index = Number($(this).attr("id").split("_")[1]); + liveValue = $("#mailList_"+index).text(); + x.children("." + cf).removeClass(cf).addClass(cl); + $(this).addClass(cf).removeClass(cl); + }); + $(".mailHover").live("click", function(){ + $("#mail").val($(this).html()); + }); + + + }); + + x.bind("mousedown", function(){ + that.val(liveValue); + }); + }); +}; + +})(jQuery); \ No newline at end of file