diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index db547061f..bd017757a 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -355,7 +355,7 @@ module CoursesHelper
# 课程time+term简写(2014.春/2014.秋)国际化输出
def get_course_term course
strterm = course.try(:term).to_s
- if !(User.current.language == 'zh')
+ if !(User.current.language == 'zh'||User.current.language == '')
strterm == '春季学期' ? strterm = 'spring term' : strterm = 'autumn term'
str = ( course.try(:time).to_s << '.' << strterm )
str[0..-6]
@@ -369,7 +369,7 @@ module CoursesHelper
# 课程term(春季学期/秋季学期)国际化输出
def get_course_term_locales course
str = course.try(:term).to_s
- if !(User.current.language == 'zh')
+ if !(User.current.language == 'zh'||User.current.language == '')
str == '春季学期' ? str = ' ' + 'spring term' : str = ' ' + 'autumn term'
end
return str
diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb
index 1d9408e86..d5449e44d 100644
--- a/app/views/boards/_project_show.html.erb
+++ b/app/views/boards/_project_show.html.erb
@@ -24,10 +24,6 @@
-
-
<%= h @board.name %>
-
-
<% if !User.current.logged? %>
<% if @project.project_type == 1 %>
@@ -39,62 +35,52 @@
<% end %>
-
-
- 共有
- <%= link_to @topic_count,:controller => 'boards',:action => 'index' %>
- 个贴子
-
- <% 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),
- :class => 'icon icon-add',
- :onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %>
-
- <% end %>
-
-
- <% if @topics.any? %>
- <% @topics.each do |topic| %>
-
-
-
- <%= link_to image_tag(url_to_avatar(topic.author), :class => "avatar"), user_path(topic.author) %>
- |
-
-
-
-
- <%= link_to h(topic.subject.truncate(40,ommision:'...')), board_message_path(@board, topic),title:topic.subject.to_s %>
- |
-
-
-
- <%= link_to (topic.replies_count), board_message_path(@board, topic) %> |
-
-
- 回答 |
-
-
- |
-
-
-
- <%= authoring topic.created_on, topic.author %>
|
-
-
- |
-
-
- <% end %>
-
+
+
+
+
+
<%= h @board.name %>
+
+
+
项目讨论区共有<%= @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),
+ :class => 'problem_new_btn fl',
+ :onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %>
+ <% end %>
+
+
+
+ <% if @topics.any? %>
+ <% @topics.each do |topic| %>
+
+
+ <%= link_to image_tag(url_to_avatar(topic.author), :class => "problem_pic talk_pic fl"), user_path(topic.author) %>
+
+
+
+ <%= 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.replies_count), board_message_path(@board, topic), :style =>"color:#fff;" %>
+
+
+ <% end %>
+
+ <%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
+
<% else %>
<%= l(:label_no_data) %>
<% end %>
+
+
<% other_formats_links do |f| %>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 3098a5cda..bb145f1e4 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -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) %>(
+ <%= link_to "#{@project.attachments.count}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %>)
+
diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb
index b0a593180..01465188c 100644
--- a/app/views/messages/_project_show.html.erb
+++ b/app/views/messages/_project_show.html.erb
@@ -57,6 +57,9 @@
+
+
<%= h @board.name %>
+
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index cf37867b5..f0f953f11 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -329,10 +329,7 @@ en:
permission_notificationcomment_contestnotifications: Add the notice of contest comments
permission_upload_attachments: Uploading resource
- project_module_issue_tracking: Issue tracking
- project_module_time_tracking: Time tracking
- project_module_files: Files
- project_module_boards: Forums
+
# edit by meng
lable_hot_course: Hot Courses
label_course_join_student: Join a course
@@ -896,7 +893,7 @@ en:
text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s)?'
text_issues_destroy_descendants_confirmation: "This will also delete %{count} subtask(s)."
text_time_entries_destroy_confirmation: 'Are you sure you want to delete the selected time entr(y/ies)?'
- text_select_project_modules: 'Select modules to enable for this project:'
+
text_default_administrator_account_changed: Default administrator account changed
text_file_repository_writable: Attachments directory writable
text_plugin_assets_writable: Plugin assets directory writable
diff --git a/config/locales/projects/en.yml b/config/locales/projects/en.yml
index 56177bea3..d3743a247 100644
--- a/config/locales/projects/en.yml
+++ b/config/locales/projects/en.yml
@@ -66,6 +66,20 @@ en:
label_expend_information: More Information
+ #
+ # 项目托管平台
+ #
+ # 问题跟踪
+ #
+
+
+ #
+ # 项目托管平台
+ #
+ # 项目讨论区
+ #
+
+
#
# 项目托管平台
#
@@ -77,6 +91,14 @@ en:
label_repository_plural: Repositories
enumeration_activities: Activities
+ text_select_project_modules: "Select modules to enable for this project:"
+ project_module_issue_tracking: Issue tracking
+ project_module_time_tracking: Time tracking
+ project_module_course: 课程
+ project_module_files: Files
+ project_module_boards: Forums
+
+
#
# 项目托管平台
#
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index c70392171..2e6c06366 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -79,7 +79,10 @@ zh:
text_select_project_modules: '请选择此项目可以使用的模块:'
-
+ project_module_issue_tracking: 问题跟踪
+ project_moule_boards_show: 项目论坛
+ project_module_time_tracking: 时间跟踪
+ project_module_course: 课程
#
# 项目托管平台
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 45d6a9d20..a66182668 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -350,17 +350,9 @@ zh:
permission_contest_attachments_download: 竞赛附件下载
permission_upload_attachments: 资源上传
- project_module_issue_tracking: 问题跟踪
- project_moule_boards_show: 项目论坛
- project_module_time_tracking: 时间跟踪
-
-
- project_module_course: 课程
-
-
label_user: 用户
label_user_plural: 用户列表
@@ -1276,7 +1268,6 @@ zh:
label_followers: 关注
label_delete_confirm: 确认删除?
- label_more_tags: 更多
label_tags_bid: 需求名称
label_tags_course_name: 课程名称
label_tags_bid_description: 需求描述
diff --git a/public/assets/kindeditor/plugins/image/image.js b/public/assets/kindeditor/plugins/image/image.js
index 69029eda5..fd7f5a501 100644
--- a/public/assets/kindeditor/plugins/image/image.js
+++ b/public/assets/kindeditor/plugins/image/image.js
@@ -215,7 +215,51 @@ KindEditor.plugin('image', function(K) {
}
});
uploadbutton.fileBox.change(function(e) {
- localUrlBox.val(uploadbutton.fileBox.val());
+ //localUrlBox.val(uploadbutton.fileBox.val());
+ if (dialog.isLoading) {
+ return;
+ }
+ // insert local image
+ if (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {
+ if (uploadbutton.fileBox.val() == '') {
+ alert(self.lang('pleaseSelectFile'));
+ return;
+ }
+ dialog.showLoading(self.lang('uploadLoading'));
+ uploadbutton.submit();
+ localUrlBox.val('');
+ return;
+ }
+ // insert remote image
+ var url = K.trim(urlBox.val()),
+ width = widthBox.val(),
+ height = heightBox.val(),
+ title = titleBox.val(),
+ align = '';
+ alignBox.each(function() {
+ if (this.checked) {
+ align = this.value;
+ return false;
+ }
+ });
+ if (url == 'http://' || K.invalidUrl(url)) {
+ alert(self.lang('invalidUrl'));
+ urlBox[0].focus();
+ return;
+ }
+ if (!/^\d*$/.test(width)) {
+ alert(self.lang('invalidWidth'));
+ widthBox[0].focus();
+ return;
+ }
+ if (!/^\d*$/.test(height)) {
+ alert(self.lang('invalidHeight'));
+ heightBox[0].focus();
+ return;
+ }
+ clickFn.call(self, url, title, width, height, 0, align);
+
+
});
if (allowFileManager) {
viewServerBtn.click(function(e) {
diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css
index 5786c5758..6d50d8bd2 100644
--- a/public/stylesheets/application.css
+++ b/public/stylesheets/application.css
@@ -70,14 +70,14 @@ a:hover.subnav_green{ background:#14ad5a;}
/*简介*/
.project_intro{ width:220px; padding:10px; background:#fff; padding-top:5px; color:#6d6d6d;}
-.course_description{max-height: 105px;overflow:hidden;}
+.course_description{max-height: 110px;overflow:hidden;}
.course_description_none{max-height: none;}
.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;}
.lg-foot:hover{ color:#787b7e;}
/*右侧内容--动态*/
-
-.project_r_h{ height:40px; background:#eaeaea; margin-bottom: 5px;}
-.project_h2{ background:#64bdd9; color:#fff; height:30px; width:90px; text-align:center; font-weight:normal; padding-top:3px; font-size:16px; padding-top:9px;}
+/*右侧内容--动态*/
+.project_r_h{height:40px; background:#eaeaea; margin-bottom:10px;}
+.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
a.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
@@ -100,42 +100,124 @@ a:hover.more{ color:#64bdd9;}
.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
.box_close:hover{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
/*邮件邀请*/
-.box_main{ width:345px; margin:0 auto;padding-left:28px;}
-.box_h3{ color:#15bccf; text-align:center; font-size:16px;margin-right:40px;}
+.box_main{ width:345px; margin:0 auto;}
+.box_main02{ width:390px; margin:15px auto;}
+.box_h3{ color:#15bccf; text-align:center; font-size:16px;}
.box_p{ color:#404040; margin-bottom:5px;}
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;}
.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
-.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff !important; height:26px; padding-top:8px; margin-bottom:10px;}
+.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
.btn_free:hover{ background:#d63502;}
/*成员邀请*/
-.invi_search{ width:345px; margin:0 auto;}
+.invi_search{ margin-left:50px;}
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
-.rolebox{ margin-left: -40px;}
+.rolebox{ margin:10px 0;}
/*问题跟踪*/
.problem_top{ margin:10px 0 ;}
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
.problem_search_btn:hover{ background:#3da1c1; border:1px solid #3da1c1;}
-.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; width:60px; height:22px; text-align:center; padding-top:2px;}
-.problem_new_btn:hover{ background:#ff7143; color:#fff;}
-.problem_p{ color:#535252; margin-right: 8px;}
+.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143 !important; width:60px; height:19px; font-size:12px; text-align:center; padding-top:4px;margin-top:-2px;}
+.problem_new_btn:hover{ background:#ff7143; color:#fff !important;}
+.problem_p{ color:#535252; margin-top:5px;}
.problem_p span{ color:#ff3e00;}
-.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;}
+.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;}
+.problem_pic:hover{border:1px solid #64bdd9;}
+.problem_txt{ width:610px; margin-left:10px; color:#777777;}
+.problem_name{ color:#ff5722 !important;}
+.problem_line{margin-top:5px;}
+.problem_name:hover{ color:#d33503;}
+.problem_tit{ color:#0781b4 !important; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.problem_tit:hover{ color:#09658c !important; }
+.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
+/****翻页***/
+.wlist{}
+.wlist a{ float:right; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;}
+.wlist_l a{ float:left; margin-right:3px; margin-left:0px;}
+.wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;}
+.wlist_select a { background-color:#48aac9; color:#fff;}
+/****讨论区***/
+.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;}
+.talk_top span{ color:#ff7143;}
+.talk_txt{ width:460px; margin-left:10px; color:#676868;}
+.talk_up{ color:#f63c00;}
+.talk_pic{width:32px; height:32px; padding:2px;}
+.talk_btn{ background:#64bdd9; width:50px; height:22px; color:#fff; text-align:center; margin-top:9px; padding-top:2px;}
+.talk_btn:hover{ background:#2a9dc1;}
+/****讨论区内页***/
+.mt0{ margin-top:0px;}
+.talk_info{ color:#7d7d7d; margin-left:50px; margin-top:10px;}
+.talk_edit{ color:#426e9a; margin-right:5px;}
+.talk_edit:hover{ color:#ff5722;}
+.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;}
+.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px;}
+/****新建讨论***/
+.talk_new{ padding-left:15px; color:#4c4c4c;}
+.c_red{ color:#F00;}
+.talk_input{ border:1px solid #64bdd9; height:22px; width:595px; margin-bottom:10px;}
+.talk_text{ border:1px solid #64bdd9; height:100px;width:595px; margin-bottom:10px;}
+.talk_new ul li{ }
+.view_span{font-weight:normal; color:#999;}
+.sb{width:70px; height:26px; color:#606060;}
+.ml60{ margin-left:60px;}
+.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; height:28px; width:50px; text-align:center; margin-left:10px; margin-top:10px;}
+.blue_btn:hover{ background:#329cbd;}
+.grey_btn{ background:#d9d9d9; color:#656565;}
+.grey_btn:hover{ background:#717171; color:#fff;}
+/****资源库***/
+.f_l{ float:left;}
+.f_r{ float:right;}
+.resource a{ text-align:center;}
+.b_lblue{ background:#64bdd9;}
+.b_dblue{ background:#55a1b9; cursor:pointer;}
+.f_b{ font-weight: bold;}
+.c_blue{ color:#64bdd9;}
+a.c_dblue{ color: #3ca5c6;}
+a:hover.c_dblue{ color: #0781b4;}
+.c_grey{ color:#999999;}
+.c_grey02{ color:#666666;}
+.f_14{ font-size:14px;}
+.c_dblue{ color:#3e6d8e;}
+.w90{width:90px;}
+.ml10{margin-left:10px;}
+.resource{ width:670px;}
+.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;}
+.re_top input{ float:left;}
+.re_search{ margin-top:7px; margin-left:5px;}
+.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;}
+.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px; }
+a.re_fabu { display:block; width:90px; height:35px; font-size:14px; color:#fff; text-align:center; padding-top:5px; }
+a:hover.re_fabu{background:#55a1b9;}
+.re_con{ margin:5px; width:665px;}
+.re_con_top{color:#494949; }
+.re_con_top span{ color:#999999; font-weight:bold;}
+a.re_select{ display:block; width:88px; height:22px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;}
+a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
+.re_open{display:block; width:46px; height:22px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;}
+a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
+a.re_de{ color:#6883b6; margin-left:15px;}
+.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
+
+.upload_con { }
+.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;}
+.upload_box{ width:430px; height:80px;}
+a.upload_btn02{ display:block; float:left; margin-top:15px; width:80px; height:30px; text-align: center; color:#fff; font-size:14px; background:#15bccf; margin-right:15px;}
+a:hover.upload_btn02{ background:#55a1b9;}
+a.upload_btn_grey{background:#a3a3a3;}
+a:hover.upload_btn_grey{background:#8a8a8a;}
+.upload_btn{width:80px; height:26px;}
+.upload_check{ margin-top:4px;}
+/****其他未更新页面***/
+.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}
+.newproblem{}
+
-/****标签(和资源库的tag样式一致)***/
-.project_Label{ width:220px; padding:10px; background:#fff; margin-top:0px; padding-top:5px;}
-a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
-.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
-.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
-.re_tag{ width: auto; padding:0 5px; height:22px; border:1px solid #f8df8c; background:#fffce6; margin-right:10px; }
-.re_tag a{ color:#0d90c3;}
-.tag_h span,.tag_h a{ margin-bottom:0px;}
/*企业版样式*/
.content_syqy{ width:940px; height:400px; border:1px;}
.content_syqy .list{ font-size:14px; font-weight:normal; margin-left:10px; font-weight:bold; padding-top:10px}
@@ -1414,8 +1496,8 @@ input#openid_url { background: url(../images/openid-bg.gif) no-repeat; backgroun
.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
/***** Links *****/
-a, a:link, a:visited{ color: #169 ; text-decoration: none; }
-a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
+a, a:link, a:visited{ color: #0781B4 ; text-decoration: none; }
+a:hover, a:active{ color: #09658c;}
a img{ border: 0; }
a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
@@ -3086,3 +3168,4 @@ input[class~='m3p10'], .m3p10 {
}
*/
+