- <%= l(:label_task_plural)%>(<%= @homework_list.count%>)
+ <%= l(:label_task_plural)%>(<%= @homework_list.count%>)
+ <%= link_to "作业打包下载", zipdown_assort_path(obj_class: @bid.class, obj_id: @bid), remote: false, class: "button_submit button_submit_font_white", style: "margin: 5px 10px;line-height: 20px;height: 20px;display: inline-block;" if(
+ User.current.admin? ||
+ !(User.current.roles_for_project(@bid.courses.first).map(&:id) & ([7,9])).empty? ) ||
+ (Rails.env.development?) %>
+
<%= text_field_tag 'student_id', params[:student_id], :size => 30 %>
@@ -14,10 +19,6 @@
<% end %>
<% display_id = im_watching_student_id? @bid%>
-<%= link_to "作业打包下载", zipdown_assort_path(obj_class: @bid.class, obj_id: @bid), remote: false, class: "button_submit button_submit_font_white", style: "margin: 5px 10px;display: inline-block;" if(
- User.current.admin? ||
- !(User.current.roles_for_project(@bid.courses.first).map(&:id) & ([7,9])).empty? ) ||
- (Rails.env.development?) %>
<% @homework_list.each do |homework|%>
<% if homework.attachments.any?%>
diff --git a/app/views/bids/show_project.html.erb b/app/views/bids/show_project.html.erb
index d5676c3c8..c14d2e14c 100644
--- a/app/views/bids/show_project.html.erb
+++ b/app/views/bids/show_project.html.erb
@@ -32,18 +32,16 @@
<%= select_tag 'bid', options_for_select(select_option_helper(@option)), :name => 'bid', :class => 'grayline' %>
-
+
-
<%= link_to '创建项目', new_project_path(course: 0, project_type: 0), :target => '_blank' %>
-
- <% if @bid.reward_type == 3 %>
+ <% if @bid.reward_type == Bid::Homework %>
<%= f.text_area :bid_message, :id => "bid_message", :required => true, :rows => 4, :cols => 40, :placeholder => l(:label_bid_reason_homework), :style => "resize: none;", :class => 'noline' %>
diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb
index 6aef01e1d..f4857bd22 100644
--- a/app/views/issues/_attributes.html.erb
+++ b/app/views/issues/_attributes.html.erb
@@ -2,7 +2,7 @@
<%= l(:label_change_properties) %>
-
+
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
<%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true},
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 653b5ae5d..433e8aae6 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -12,6 +12,7 @@
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<%= javascript_heads %>
<%= heads_for_theme %>
+ <%= hubspot_head %>
<%= call_hook :view_layouts_base_html_head %>
<%= yield :header_tags -%>
diff --git a/app/views/members/create.js.erb b/app/views/members/create.js.erb
index 88089f843..3607ce448 100644
--- a/app/views/members/create.js.erb
+++ b/app/views/members/create.js.erb
@@ -2,12 +2,12 @@ $('#tab-content-members').html('<%= escape_javascript(render :partial => 'projec
hideOnLoad();
<%if !@applied_members%>
-<% if @members.present? && @members.all? {|m| m.valid? } %>
- <% @members.each do |member| %>
- $("#member-<%= member.id %>").effect("highlight");
+ <% if @members.present? && @members.all? {|m| m.valid? } %>
+ <% @members.each do |member| %>
+ $("#member-<%= member.id %>").effect("highlight");
+ <% end %>
+ <% else %>
+ <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
+ alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
<% end %>
-<% else %>
- <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
- alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
<% end %>
-<%end%>
diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb
index 541a71f51..a64038424 100644
--- a/app/views/projects/_project.html.erb
+++ b/app/views/projects/_project.html.erb
@@ -41,9 +41,10 @@
-
+
<%= content_tag('span', link_to("#{@project.homeworks.count}", homework_project_path(@project)), :class => "info") %><%= content_tag('span', l(:label_x_task, :count => @project.homeworks.count)) %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 303e50b93..d84cfb664 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1168,6 +1168,7 @@ en:
label_tags_issue_description: issue description
label_tags_all_objects: all objects
label_apply_project: Apply Project
+ label_apply_project_waiting: "Application has been submitted, please wait for administrator review."
label_unapply_project: Unsubscribe
#fq
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 77a6a005e..1e1c560aa 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -483,7 +483,7 @@ zh:
label_project_latest: 最近的项目
label_issue: 问题
label_issue_new: 新建问题
- label_issue_plural: 缺陷 #问题 #nyan
+ label_issue_plural: 缺陷
label_issue_view_all: 查看所有问题
label_issues_by: "按 %{value} 分组显示问题"
label_issue_added: 问题已添加
@@ -757,7 +757,7 @@ zh:
label_sort_higher: 上移
label_sort_lower: 下移
label_sort_lowest: 置底
- label_roadmap: 里程碑 #版本路线图 #nyan
+ label_roadmap: 里程碑 #版本路线图
label_roadmap_due_in: "截止日期到 %{value}"
label_roadmap_overdue: "%{value} 延期"
label_roadmap_no_issues: 该版本没有问题
@@ -1260,9 +1260,9 @@ zh:
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 合计
label_create_time: 创建时间 #Customer added!Added by nie
- label_comment_time: 留言时间 #nyan
- label_activity_time: 发布时间 #nyan
- label_update_time: 更新时间 #nyan
+ label_comment_time: 留言时间
+ label_activity_time: 发布时间
+ label_update_time: 更新时间
label_current_contributors: 位当前贡献者
label_commit_limit: 作业提交时间已过!
label_commit_ar: 作业提交截止时间快到了!
@@ -1330,6 +1330,7 @@ zh:
label_tags_issue_description: 问题描述
label_tags_all_objects: 所有
label_apply_project: 申请加入
+ label_apply_project_waiting: 已处理申请,请等待管理员审核
label_unapply_project: 取消申请
#fq
From 2681c3ce88dceae22ff037819d03f6d82c1ab416 Mon Sep 17 00:00:00 2001
From: yanxd
Date: Thu, 22 May 2014 16:12:42 +0800
Subject: [PATCH 17/22] ...
---
.../hubspot/messenger-theme-flat.css | 462 ++++++++++++++++++
1 file changed, 462 insertions(+)
create mode 100644 public/stylesheets/hubspot/messenger-theme-flat.css
diff --git a/public/stylesheets/hubspot/messenger-theme-flat.css b/public/stylesheets/hubspot/messenger-theme-flat.css
new file mode 100644
index 000000000..df8d35aeb
--- /dev/null
+++ b/public/stylesheets/hubspot/messenger-theme-flat.css
@@ -0,0 +1,462 @@
+@-webkit-keyframes ui-spinner-rotate-right {
+ /* line 64, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 65, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 66, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 67, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(360deg);
+ }
+
+ /* line 68, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-webkit-keyframes ui-spinner-rotate-left {
+ /* line 72, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 73, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 74, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 75, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 76, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-right {
+ /* line 80, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 81, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 82, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 83, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(360deg);
+ }
+
+ /* line 84, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-left {
+ /* line 88, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 89, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 90, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 91, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 92, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-right {
+ /* line 96, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 97, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(180deg);
+ }
+
+ /* line 98, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 99, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(360deg);
+ }
+
+ /* line 100, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-left {
+ /* line 104, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 105, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(0deg);
+ }
+
+ /* line 106, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 107, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(180deg);
+ }
+
+ /* line 108, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+/* line 116, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner {
+ position: relative;
+ border-radius: 100%;
+}
+/* line 120, ../../src/sass/messenger-spinner.scss */
+ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
+ display: block;
+}
+/* line 124, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side {
+ width: 50%;
+ height: 100%;
+ overflow: hidden;
+ position: absolute;
+}
+/* line 130, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ border-radius: 999px;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ -webkit-animation-iteration-count: infinite;
+ -moz-animation-iteration-count: infinite;
+ -ms-animation-iteration-count: infinite;
+ -o-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-timing-function: linear;
+ -moz-animation-timing-function: linear;
+ -ms-animation-timing-function: linear;
+ -o-animation-timing-function: linear;
+ animation-timing-function: linear;
+}
+/* line 140, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left {
+ left: 0;
+}
+/* line 143, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
+ left: 100%;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-left;
+ -moz-animation-name: ui-spinner-rotate-left;
+ -ms-animation-name: ui-spinner-rotate-left;
+ -o-animation-name: ui-spinner-rotate-left;
+ animation-name: ui-spinner-rotate-left;
+ -webkit-transform-origin: 0 50%;
+ -moz-transform-origin: 0 50%;
+ -ms-transform-origin: 0 50%;
+ -o-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+/* line 152, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right {
+ left: 50%;
+}
+/* line 155, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
+ left: -100%;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-right;
+ -moz-animation-name: ui-spinner-rotate-right;
+ -ms-animation-name: ui-spinner-rotate-right;
+ -o-animation-name: ui-spinner-rotate-right;
+ animation-name: ui-spinner-rotate-right;
+ -webkit-transform-origin: 100% 50%;
+ -moz-transform-origin: 100% 50%;
+ -ms-transform-origin: 100% 50%;
+ -o-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+
+/* line 15, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ background: #404040;
+}
+/* line 20, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat.messenger-empty {
+ display: none;
+}
+/* line 23, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message {
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ -ms-border-radius: 0px;
+ -o-border-radius: 0px;
+ border-radius: 0px;
+ position: relative;
+ border: 0px;
+ margin-bottom: 0px;
+ font-size: 13px;
+ background: transparent;
+ color: #f0f0f0;
+ font-weight: 500;
+ padding: 10px 30px 13px 65px;
+}
+/* line 35, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ color: #888888;
+ opacity: 1;
+ font-weight: bold;
+ display: block;
+ font-size: 20px;
+ line-height: 20px;
+ padding: 8px 10px 7px 7px;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+/* line 51, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close:hover {
+ color: #bbbbbb;
+}
+/* line 54, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close:active {
+ color: #777777;
+}
+/* line 57, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions {
+ float: none;
+ margin-top: 10px;
+}
+/* line 61, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ text-decoration: none;
+ color: #aaaaaa;
+ background: #2e2e2e;
+ display: inline-block;
+ padding: 10px;
+ margin-right: 10px;
+ padding: 4px 11px 6px;
+ text-transform: capitalize;
+}
+/* line 72, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a:hover {
+ color: #f0f0f0;
+ background: #2e2e2e;
+}
+/* line 76, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a:active {
+ background: #292929;
+ color: #aaaaaa;
+}
+/* line 80, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase {
+ display: none;
+}
+/* line 83, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-message-inner:before {
+ -webkit-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%;
+ position: absolute;
+ left: 17px;
+ display: block;
+ content: " ";
+ top: 50%;
+ margin-top: -8px;
+ height: 13px;
+ width: 13px;
+ z-index: 20;
+}
+/* line 95, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before {
+ background: #5fca4a;
+}
+/* line 98, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before {
+ background: #61c4b8;
+}
+/* line 103, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before {
+ background: #dd6a45;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 20s;
+ -moz-animation-duration: 20s;
+ -ms-animation-duration: 20s;
+ -o-animation-duration: 20s;
+ animation-duration: 20s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
+ content: "";
+ background: #292929;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 600s;
+ -moz-animation-duration: 600s;
+ -ms-animation-duration: 600s;
+ -o-animation-duration: 600s;
+ animation-duration: 600s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
+ content: "";
+ background: #292929;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 114, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message {
+ -webkit-border-radius: 4px 4px 0px 0px;
+ -moz-border-radius: 4px 4px 0px 0px;
+ -ms-border-radius: 4px 4px 0px 0px;
+ -o-border-radius: 4px 4px 0px 0px;
+ border-radius: 4px 4px 0px 0px;
+ -webkit-box-shadow: inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 48px 0px 0px #292929;
+ box-shadow: inset 48px 0px 0px #292929;
+}
+/* line 118, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message {
+ -webkit-border-radius: 0px 0px 4px 4px;
+ -moz-border-radius: 0px 0px 4px 4px;
+ -ms-border-radius: 0px 0px 4px 4px;
+ -o-border-radius: 0px 0px 4px 4px;
+ border-radius: 0px 0px 4px 4px;
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+}
+/* line 122, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 48px 0px 0px #292929;
+ box-shadow: inset 48px 0px 0px #292929;
+}
+/* line 126, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-spinner {
+ display: block;
+ position: absolute;
+ left: 7px;
+ top: 50%;
+ margin-top: -18px;
+ z-index: 999;
+ height: 32px;
+ width: 32px;
+ z-index: 10;
+}
From 65c3bb5eb151e922be882931cd30457061a11657 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Thu, 22 May 2014 16:37:39 +0800
Subject: [PATCH 18/22] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E8=AF=84=E5=88=86=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA=E4=BF=9D?=
=?UTF-8?q?=E7=95=992=E4=BD=8D=E6=9C=89=E6=95=88=E6=95=B0=E5=AD=97=202.?=
=?UTF-8?q?=E4=BA=92=E8=AF=84=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E6=9C=80?=
=?UTF-8?q?=E7=BB=88=E8=AF=84=E5=88=86=E6=95=B0=E5=80=BC=203.=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E4=BA=92=E8=AF=84=E6=8C=89=E9=92=AE=EF=BC=8C=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E6=9F=A5=E7=9C=8B=E5=AD=A6=E5=8F=B7=E3=80=81=E6=8C=89?=
=?UTF-8?q?=E5=AD=A6=E5=8F=B7=E6=8E=92=E5=BA=8F=E7=AD=89=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E7=9A=84=E6=9D=A1=E4=BB=B6=204.=E4=BF=AE=E6=94=B9=E4=BA=92?=
=?UTF-8?q?=E8=AF=84=E7=95=8C=E9=9D=A2=E4=BD=9C=E4=B8=9A=E4=B8=8B=E8=BD=BD?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=98=BE=E7=A4=BA=EF=BC=8C=E5=8F=96=E6=B6=88?=
=?UTF-8?q?=E6=8F=8F=E8=BF=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/courses_helper.rb | 11 ++++
app/models/homework_user.rb | 2 +-
app/models/user.rb | 2 +-
app/views/bids/_homework_list.html.erb | 56 ++++++++++++--------
app/views/homework_attach/_app_link.html.erb | 12 +++++
app/views/homework_attach/show.html.erb | 41 ++++++++++----
6 files changed, 91 insertions(+), 33 deletions(-)
create mode 100644 app/views/homework_attach/_app_link.html.erb
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index 97cca617e..45ebaf247 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -136,4 +136,15 @@ module CoursesHelper
def find_by_extra_from_project extra
Course.find_by_extra(try(extra))
end
+ #判断制定用户是不是当前课程的老师
+ def is_course_teacher user,project
+ is_teacher = false
+ searchTeacherAndAssistant(project).each do |teacher|
+ if user == teacher
+ is_teacher = true
+ break
+ end
+ end
+ is_teacher
+ end
end
diff --git a/app/models/homework_user.rb b/app/models/homework_user.rb
index da7e65afb..0adef62c4 100644
--- a/app/models/homework_user.rb
+++ b/app/models/homework_user.rb
@@ -2,5 +2,5 @@ class HomeworkUser < ActiveRecord::Base
attr_accessible :homework_attach_id, :user_id
belongs_to :homework_attach
- has_one :user
+ belongs_to :user
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 8017ed5f8..c96e38595 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -73,7 +73,7 @@ class User < Principal
['none', :label_user_mail_option_none]
]
- has_one :homework_user
+ belongs_to :homework_user
has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)},
:after_remove => Proc.new {|user, group| group.user_removed(user)}
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 35c414699..d720429fb 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -1,4 +1,5 @@
+<% is_teacher = is_course_teacher User.current,@bid.courses.first.project %>
<%= form_tag(:controller => 'bids', :action => "show_project", :method => :get) do %>
@@ -6,8 +7,10 @@
<%= l(:label_task_plural)%>(<%= @homework_list.count%>)
- <%= text_field_tag 'student_id', params[:student_id], :size => 30 %>
- <%= submit_tag l(:label_search_by_student_id), :class => "small", :name => nil %>
+ <% if is_teacher %>
+ <%= text_field_tag 'student_id', params[:student_id], :size => 30 %>
+ <%= submit_tag l(:label_search_by_student_id), :class => "small", :name => nil %>
+ <% end %>
@@ -25,16 +28,25 @@
<%= image_tag(url_to_avatar(homework.user), :class => "avatar")%>
- 作业 :
- <% filename = "" %>
- <% homework.attachments.map do |attachment| %>
- <% filename = attachment.filename %>
- <% if homework.attachments.count > 1%>
- <% filename += "等#{homework.attachments.count}个文件" %>
+
+
+ 作业 :
+ <% attachments = homework.attachments.map %>
+ <% for attachment in attachments %>
+ <% if attachments.count > 1 && attachment != attachments.first %>
+
+ <% for item in 1..7 %>
+
+ <% end %>
+ <% end %>
+ <%= link_to_attachment attachment , :download => true -%>
<% end %>
- <% break %>
- <% end %>
- <%= link_to filename , homework_attach_path(homework)%>
+
+
+ <% if display_id %>
+ <%= link_to "互评>>" , homework_attach_path(homework)%>
+ <% end %>
+
@@ -48,7 +60,7 @@
<% sum = sum + star_reates.stars %>
<% end %>
<% stars_reates_count = stars_reates.count == 0 ? 1 : stars_reates.count %>
- <%= sum * 1.0 / stars_reates_count %>
+ <%= format("%.2f", sum * 1.0 / stars_reates_count) %>
<% if Time.parse(@bid.deadline.to_s) < Time.parse(homework.attachments[0].created_on.to_s) %>
@@ -58,20 +70,20 @@
- <% if display_id %>
- <%= l(:label_bidding_user_studentcode) %> : <%= homework.user.user_extensions.student_id%>
- <% end %>
+ <% if display_id %>
+ <%= l(:label_bidding_user_studentcode) %> : <%= homework.user.user_extensions.student_id%>
+ <% end %>
- <% if (User.current == homework.user) || (!Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.roles&Role.where('id = ? or id = ? or id =?',3,7, 9)).size >0) %>
-
- <% options = {:author => true, :deletable => attach_delete(homework)} %>
- <%= render :partial => 'attachments/links',
- :locals => {:attachments => homework.attachments, :options => options} %>
-
- <% end %>
+ <% if (User.current == homework.user) || (!Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.roles&Role.where('id = ? or id = ? or id =?',3,7, 9)).size >0) %>
+
+ <% options = {:author => true, :deletable => attach_delete(homework)} %>
+ <%= render :partial => 'attachments/links',
+ :locals => {:attachments => homework.attachments, :options => options} %>
+
+ <% end %>
diff --git a/app/views/homework_attach/_app_link.html.erb b/app/views/homework_attach/_app_link.html.erb
new file mode 100644
index 000000000..8adf5220e
--- /dev/null
+++ b/app/views/homework_attach/_app_link.html.erb
@@ -0,0 +1,12 @@
+
+<% for attachment in attachments %>
+ <% if attachments.count > 1 && attachment != attachments.first%>
+
+ <% end %>
+ <%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%>
+ <% if attachment.is_text? %>
+ <%= link_to image_tag('magnifier.png'),
+ :controller => 'attachments', :action => 'show',
+ :id => attachment, :filename => attachment.filename %>
+ <% end %>
+ <% end -%>
diff --git a/app/views/homework_attach/show.html.erb b/app/views/homework_attach/show.html.erb
index 1400176c2..d7c1e8eb0 100644
--- a/app/views/homework_attach/show.html.erb
+++ b/app/views/homework_attach/show.html.erb
@@ -18,7 +18,9 @@
作业基础信息<%=@count %>
- 发布人员:<%= link_to @homework.user, user_path(@homework.user)%>
+
+ 发布人员:<%= link_to @homework.user, user_path(@homework.user)%>
+
发布时间:<%=format_time @homework.created_at %>
@@ -26,9 +28,11 @@
作业下载:
<% options = {:author => true } %>
- <%= render :partial => 'attachments/app_link', :locals => {:attachments => @homework.attachments, :options => options} %>
+ <%= render :partial => 'app_link', :locals => {:attachments => @homework.attachments, :options => options} %>
+
+
+ 所属任务:<%= link_to(@homework.bid.name, project_for_bid_path(@homework.bid))%>
-
所属任务:<%= link_to(@homework.bid.name, project_for_bid_path(@homework.bid))%>
@@ -49,7 +53,7 @@
- 作业描述:
+ 作业描述:
<% @homework.attachments.map do |attachment| %>
<% if attachment.description != nil && attachment.description != "" %>
@@ -67,16 +71,20 @@
-
作业得分:
+
+ 作业得分:
+
得分比例
<% 100.step(20,-20) do |star| %>
-
+
-
<%= @stars_status_map["star#{(star/20).to_s}".to_sym] %>
@@ -85,7 +93,11 @@
-
最终得分
+
最终得分
+
+ <%= @homework.average(:quality).try(:avg).try(:round, 2).to_s %>
+ 分
+
<%= rating_for @homework, :static => true, dimension: :quality, class: 'rateable div_inline' %>
@@ -102,6 +114,18 @@
+
+
作业评论:
评分:
@@ -121,5 +145,4 @@
<%= render :partial => 'showjour', :locals => {:jour => @jours} %>
-<%#= link_to '返回竞赛页面', show_softapplication_contest_path(@softapplication.contest) %>
From 9c75b701f4b601888ac49ad22f0b460a32fbab7e Mon Sep 17 00:00:00 2001
From: nwb
Date: Thu, 22 May 2014 18:59:09 +0800
Subject: [PATCH 19/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9BUG?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/projects_controller.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 5d270401a..82a94614f 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -800,7 +800,7 @@ class ProjectsController < ApplicationController
end
def appied_project_members (project, members)
- users = AppliedProject.where(:project_id => project.id).
+ users = AppliedProject.where(:project_id => project.id)
memberlist = []
users.each do |user|
members.each do |member|
From 62f9ed052bc739018a96d3f1dcccb9b50cd14368 Mon Sep 17 00:00:00 2001
From: yanxd
Date: Thu, 22 May 2014 19:58:13 +0800
Subject: [PATCH 20/22] issues#655
---
ReadMe.txt | 9 +++
app/controllers/my_controller.rb | 89 ++++----------------------
app/helpers/bids_helper.rb | 10 +--
app/models/user.rb | 6 +-
app/models/user_extensions.rb | 2 +
app/views/bids/_homework_list.html.erb | 2 +-
app/views/my/account.html.erb | 2 +
app/views/users/_course_form.html.erb | 2 +-
8 files changed, 40 insertions(+), 82 deletions(-)
diff --git a/ReadMe.txt b/ReadMe.txt
index f891d6b75..e7444a6c5 100644
--- a/ReadMe.txt
+++ b/ReadMe.txt
@@ -1,3 +1,12 @@
+patch:
+ûIJ֣issues#655
+Ϊķ
+alias
+ ֮ǰʾ ֮
+name firstname+lastname login
+nickname xxx login
+realname xxx firstname+lastname
+================================================================================
app/models/setting.rb :165
# fixed domain url in development. tantantan's bug
if Rails.env.development?
diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb
index c469c72ee..0723cf169 100644
--- a/app/controllers/my_controller.rb
+++ b/app/controllers/my_controller.rb
@@ -50,95 +50,34 @@ class MyController < ApplicationController
def account
@user = User.current
@pref = @user.pref
-
-
-
- # if @user.user_extensions.nil?
- # se = UserExtebsions.new
- # se.user_id = @user.id
- # se.occupation = params[:occupation]
- # se.save
- # else
- # # = @user.user_extensions
- # end
- # @occupation = UserExtensions.occupation
- # @occupation.save
-
if request.post?
@user.safe_attributes = params[:user]
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
unless @user.user_extensions.nil?
if @user.user_extensions.identity == 2
- @user.firstname = params[:enterprise_name]
+ @user.firstname = params[:enterprise_name]
end
end
-
-
- # # UserExtensions.create(:user_id => @user.id, :occupation => params[:occupation])
- # else
- # ue = @user.user_extensions
- # ue.occupation = params[:occupation]
- # ue.save
- # end
-
- # added by bai
- if @user.user_extensions.nil?
- se = UserExtensions.new
- se.user_id = @user.id
- if params[:occupation]
- se.school_id = params[:occupation]
- end
-
- se.gender = params[:gender]
-
- if params[:province] && params[:city]
- se.location = params[:province]
- se.location_city = params[:city]
- end
- if params[:identity]
- se.identity = params[:identity].to_i
- end
- if params[:technical_title]
- se.technical_title = params[:technical_title]
- end
- if params[:no]
- se.student_id = params[:no]
- end
- se.save
- else
- se = @user.user_extensions
- if params[:occupation]
- se.school_id = params[:occupation]
- end
-
- se.gender = params[:gender]
-
- if params[:province] && params[:city]
- se.location = params[:province]
- se.location_city = params[:city]
- end
-
- if params[:identity]
- se.identity= params[:identity].to_i
- end
- if params[:technical_title]
- se.technical_title = params[:technical_title]
- end
- if params[:no]
- se.student_id = params[:no]
- end
- se.save
- end
- # end
-
- if @user.save
+
+ @se = @user.user_extensions ||= UserExtensions.new
+ @se.school_id = params[:occupation] if params[:occupation]
+ @se.gender = params[:gender]
+ @se.location = params[:province] if params[:province]
+ @se.location_city = params[:city] if params[:city]
+ @se.identity = params[:identity].to_i if params[:identity]
+ @se.technical_title = params[:technical_title] if params[:technical_title]
+ @se.student_id = params[:no] if params[:no]
+
+ if @user.save && @se.save
@user.pref.save
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
set_language_if_valid @user.language
flash[:notice] = l(:notice_account_updated)
redirect_to user_path(@user)
return
+ else
+ @user
end
end
end
diff --git a/app/helpers/bids_helper.rb b/app/helpers/bids_helper.rb
index 38b32e692..76203fdd7 100644
--- a/app/helpers/bids_helper.rb
+++ b/app/helpers/bids_helper.rb
@@ -126,17 +126,19 @@ module BidsHelper
@users.count
end
+ # 查看学号
def im_watching_student_id? bid
people = []
people << bid.author
case bid.reward_type # 天煞的bid分了三用途,里面各种hasmany还不定能用!
- when 1
- when 2
+ when Bid::Enterprise
+ when Bid::Contest
bid.join_in_contests.each do |jic|
people << jic.user
end
- when 3
- people += bid.courses.first.users.to_a
+ when Bid::Homework
+ # people += bid.courses.first.users.to_a
+ people += searchTeacherAndAssistant(bid.courses.first).to_a
else
raise 'bids_helper: unknow bid type' # 出了错看这里!不知道的抛异常,省的找不到出错的地方!
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 8017ed5f8..0fe9e7320 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -359,7 +359,7 @@ class User < Principal
end
# Return user's full name for display
- def name(formatter = nil)
+ def realname(formatter = nil)
f = self.class.name_formatter(formatter)
if formatter
eval('"' + f[:string] + '"')
@@ -368,6 +368,10 @@ class User < Principal
end
end
+ def name(formatter = nil)
+ login
+ end
+
def active?
self.status == STATUS_ACTIVE
end
diff --git a/app/models/user_extensions.rb b/app/models/user_extensions.rb
index 7b35b16b4..b21f0ad36 100644
--- a/app/models/user_extensions.rb
+++ b/app/models/user_extensions.rb
@@ -7,6 +7,8 @@
3 开发者
=end
class UserExtensions < ActiveRecord::Base
+ validate :school, presence: true
+
belongs_to :user
belongs_to :school, :class_name => 'School', :foreign_key => :school_id
attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 1381df74a..e414d9b08 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -39,7 +39,7 @@
- 发布人: <%= link_to homework.user, user_path(homework.user)%>
+ 发布人: <%= link_to (display_id ? homework.user.realname : homework.user ), user_path(homework.user)%>
作业评分:
diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb
index f9b4e9ac3..0418697c3 100644
--- a/app/views/my/account.html.erb
+++ b/app/views/my/account.html.erb
@@ -33,6 +33,8 @@
<%= l(:label_my_account) %>
+<%= error_messages_for 'user' %>
+<%= error_messages_for 'se' %>
diff --git a/app/views/users/_course_form.html.erb b/app/views/users/_course_form.html.erb
index 058c92d4e..13ab819dc 100644
--- a/app/views/users/_course_form.html.erb
+++ b/app/views/users/_course_form.html.erb
@@ -41,7 +41,7 @@
<% @course = Course.find_by_extra(membership.project.identifier) %>
<% unless (@course.nil? || @course.teacher.nil? || @course.teacher.name.nil?) %>
<%= l(:label_main_teacher) %>
- : <%= link_to(@course.teacher.name, user_path(@course.teacher)) %>
+ : <%= link_to(@course.teacher.realname, user_path(@course.teacher)) %>
<%= l(:label_course_term) %>
: <%= @course.time %><%= @course.term %>
<% end %>
From 71bbc50542d2ab074f30bc1ca8d16b37969e847e Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Thu, 22 May 2014 20:01:26 +0800
Subject: [PATCH 21/22] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E7=95=99=E8=A8=80=E7=9A=84=E5=88=86=E9=A1=B5=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_attach_controller.rb | 12 ++++++------
app/views/homework_attach/addjours.js.erb | 2 +-
app/views/homework_attach/show.html.erb | 10 +++++++++-
3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/app/controllers/homework_attach_controller.rb b/app/controllers/homework_attach_controller.rb
index c3ac15197..8eae8b855 100644
--- a/app/controllers/homework_attach_controller.rb
+++ b/app/controllers/homework_attach_controller.rb
@@ -101,8 +101,8 @@ class HomeworkAttachController < ApplicationController
@stars_status_map["star#{star_status.stars.to_i}".to_sym] =
percent_m.to_s + "%"
end
- @jours = @homework.journals_for_messages.order("created_on DESC")
@limit = 10
+ @jours = @homework.journals_for_messages.order("created_on DESC")
@feedback_count = @jours.count
@feedback_pages = Paginator.new @feedback_count, @limit, params['page']
@offset ||= @feedback_pages.offset
@@ -129,11 +129,11 @@ class HomeworkAttachController < ApplicationController
@homework = HomeworkAttach.find(params[:jour_id])
@homework.addjours User.current.id, params[:new_form][:user_message],0
@jours = @homework.journals_for_messages.order("created_on DESC")
- #@limit = 10
- #@feedback_count = @jours.count
- #@feedback_pages = Paginator.new @feedback_count, @limit, params['page']
- #@offset ||= @feedback_pages.offset
- #@jour = @jours[@offset, @limit]
+ @limit = 10
+ @feedback_count = @jours.count
+ @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @offset ||= @feedback_pages.offset
+ @jour = @jours[@offset, @limit]
respond_to do |format|
format.js
end
diff --git a/app/views/homework_attach/addjours.js.erb b/app/views/homework_attach/addjours.js.erb
index e0f32581e..e463237e5 100644
--- a/app/views/homework_attach/addjours.js.erb
+++ b/app/views/homework_attach/addjours.js.erb
@@ -1,4 +1,4 @@
-$('#message').html('<%= escape_javascript(render(:partial => 'showjour', :locals => {:jour =>@jours, :state => false} )) %>');
+$('#message').html('<%= escape_javascript(render(:partial => 'showjour', :locals => {:jour =>@jour, :state => false} )) %>');
$('#pre_show').html('<%= escape_javascript(render(:partial => 'pre_show', :locals => {:content => nil})) %>');
$('#new_form_user_message').val("");
$('#new_form_reference_user_id').val("");
\ No newline at end of file
diff --git a/app/views/homework_attach/show.html.erb b/app/views/homework_attach/show.html.erb
index d7c1e8eb0..f2c37d9ac 100644
--- a/app/views/homework_attach/show.html.erb
+++ b/app/views/homework_attach/show.html.erb
@@ -142,7 +142,15 @@
- <%= render :partial => 'showjour', :locals => {:jour => @jours} %>
+ <%= render :partial => 'showjour', :locals => {:jour => @jour} %>
+
+
+
+
From 6b5fda1c786e6ad1010e792fa037bdc76ca5c933 Mon Sep 17 00:00:00 2001
From: yanxd
Date: Fri, 23 May 2014 09:18:17 +0800
Subject: [PATCH 22/22] read txt attachment
---
app/controllers/attachments_controller.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb
index ed27d9388..2f642f544 100644
--- a/app/controllers/attachments_controller.rb
+++ b/app/controllers/attachments_controller.rb
@@ -209,7 +209,7 @@ private
end
def read_authorize
- if @attachment.container_type == "HomeworkAttach"
+ if @attachment.container_type == "HomeworkAttach" || @attachment.container_type == 'Bid'
true
#User.current.allowed_to?(:view_homework_attaches, @attachment.project) ? true : deny_access
else