Merge branch 'develop' of 10.0.47.245:/home/trustie2 into develop

This commit is contained in:
yanxd 2013-10-31 10:58:20 +08:00
commit 0b04b28024
13 changed files with 135 additions and 40 deletions

View File

@ -1,14 +1,15 @@
# fq
class BidsController < ApplicationController
#Added by young
menu_item l(:label_homework), :only => [:edit, :udpate]
menu_item :respond
menu_item :project, :only => [:show_project,:show_results]
menu_item :homework_respond, :only => :homework_respond
menu_item :homework_statistics, :only => :homework_statistics
#Ended by young
before_filter :find_bid, :only => [:show, :show_project, :create,:destroy,:more,:back,:add,:new,:show_results,:set_reward, :add_homework, :fork, :create_fork,
before_filter :find_bid, :only => [:show, :show_project, :create, :destroy, :more, :back, :add,:new,:show_results,:set_reward, :add_homework, :fork, :create_fork,
:show_course, :show_bid_project, :show_bid_user]
before_filter :require_login,:only => [:set_reward]
before_filter :require_login,:only => [:set_reward, :destroy, :add, :new, ]
helper :watchers
helper :attachments
@ -77,7 +78,6 @@ class BidsController < ApplicationController
end
#end
end
#huang
def contest
@ -380,7 +380,19 @@ class BidsController < ApplicationController
bid_message = params[:bid_for_save][:bid_message]
if BidingProject.where("project_id = ? and bid_id = ?", project.id, @bid.id).size == 0
if BidingProject.cerate_bidding(@bid.id, project.id, bid_message)
flash[:notice] = l(:label_bidding_succeed)
# added by bai type ==1 需求type==2 竞赛, type==3 作业
if @bid.reward_type == 1
flash[:notice] = l(:label_bidding_succeed)
elsif @bid.reward_type == 2
flash[:notice] = l(:label_bidding_contest_succeed)
else @bid.reward_type == 3
flash[:notice] = l(:label_bidding_homework_succeed)
end
# end
end
else
if @bid.reward_type == 3
@ -571,7 +583,31 @@ class BidsController < ApplicationController
render :action => 'new_bid'
end
end
def edit
@project_id = params[:project_id]
@bid = Bid.find(params[:bid_id])
respond_to do |format|
format.html {
@project = Project.find(params[:project_id])
@user= User.find(User.current.id)
render :layout => 'base_courses'
}
end
end
def update
@bid = Bid.find(params[:id])
if @bid.update_attributes(params[:bid])
flash[:notice] = l(:label_update_homework_succeed)
@project = Project.find(params[:course_id])
redirect_to project_homework_path(@project)
else
@bid.safe_attributes = params[:bid]
render :action => 'edit'
end
end
def add_homework
# homework = HomeworkAttach.create(:bid_id => @bid.id, :user_id => User.current.id)
# homework.save_attachments(params[:attachments] || (params[:bid] && params[:bid][:uploads]))

View File

@ -61,7 +61,10 @@ class Bid < ActiveRecord::Base
safe_attributes 'name',
'description',
'budget',
'deadline'
'deadline',
'homework_type',
'reward_type'
# safe_attributes 'name',
# 'description',

View File

@ -8,14 +8,21 @@
<table width="100%" border="0">
<tr>
<td colspan="2" valign="top"><strong><span><%= link_to(bid.author.lastname+bid.author.firstname, user_path(bid.author), :class => 'bid_user') %>: &nbsp;<%= link_to(bid.name, respond_path(bid), :class => 'bid_path') %></span>
<span style="float: right"><%= link_to(
l(:button_delete),
{:action => 'homework_destroy', :controller=>'bids', :course_id => bid.id},
:method => :post,
:data => {:confirm => l(:text_are_you_sure)},
:class => 'icon icon-del'
) if (User.current.admin?||User.current.id==bid.author_id)&&(bid.homework_type == 1)%></span></td>
<span style="float: right">
<% if (User.current.admin?||User.current.id==bid.author_id)&&(bid.homework_type == 1)%>
<%= link_to(
l(:button_edit),
{:action => 'edit', :controller=>'bids', :project_id =>@project.id, :bid_id => bid.id},
:class => 'icon icon-edit'
) %>
<%= link_to(
l(:button_delete),
{:action => 'homework_destroy', :controller=>'bids', :course_id => bid.id},
:method => :post,
:data => {:confirm => l(:text_are_you_sure)},
:class => 'icon icon-del'
) %></span></td>
<% end %>
</strong></td>
</tr>
<tr>
@ -59,5 +66,4 @@
<ul>
<%= pagination_links_full bid_pages %>
<ul>
</div>
<!--end-->
</div>

View File

@ -0,0 +1,41 @@
<!-- fq -->
<script type="text/javascript" language="javascript">
function show(id, id_t, label_reward, label_money, label_credit, label_content) {
var text = $('#' + id);
var text_t = $('#' + id_t);
if (text.val() == 0) {
text_t.attr("placeholder", label_reward);
}
if (text.val() == 1) {
text_t.attr("placeholder", label_money);
}
if (text.val() == 3) {
text_t.attr("placeholder", label_credit);
}
if (text.val() == 2) {
text_t.attr("placeholder", label_content);
}
return content;
}
</script>
<%= error_messages_for 'bid' %>
<!--[form:project]-->
<p><%= l(:label_homeworks_form_new_description) %></p>
<p><%= f.text_field :name, :required => true, :size => 60, :style => "width:490px;", :maxlength => Bid::NAME_LENGTH_LIMIT %></p>
<p style="margin-left:-10px;padding-right: 20px;"><%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;", :maxlength => Bid::DESCRIPTION_LENGTH_LIMIT %></p>
<!-- <p><%= select_tag 'bid_reward_type', "<option value = '0'>#{l(:label_choose_reward)}</option><option value = '1'>#{l(:label_money)}</option><option value = '3'>#{l(:label_bids_credit)}</option><option value = '2'>#{l(:label_reward_1)}</option>".html_safe,
:onChange => "show('bid_reward_type', 'bid_budget', '"+l(:label_bids_reward_what)+"','"+l(:label_bids_new_money)+"','"+l(:label_bids_new_credit)+"','"+l(:label_bids_new_content)+"')" %>
<%= f.text_field :budget, :required => true, :size => 60, :style => "width:350px;", :placeholder => l(:label_bids_reward_what) %>
</p> -->
<p><%= f.text_field :deadline, :required => true, :size => 60, :style => "width:150px;" %><%= calendar_for('bid_deadline')%>
</p>
<p><%= f.select :homework_type, homework_type_option %>
</p>
<p><%= hidden_field_tag 'course_id', @project_id %>
</p>
<fieldset><legend><%= l(:label_attachment_plural) %></legend>
<p><%= render :partial => 'attachments/form', :locals => {:container => @homework} %></p>
</fieldset>

View File

@ -0,0 +1,9 @@
<h3>修改作业</h3>
<%= labelled_form_for @bid do |f| %>
<div class="box tabular">
<%= render :partial => 'homework_form', :locals => { :f => f } %>
<%= submit_tag l(:button_create) %>
<%= javascript_tag "$('#bid_name').focus();" %>
<% end %>
</div>

View File

@ -2,7 +2,9 @@
<div class="welcome_logo">
<%=link_to image_tag("/images/logo.png",weight:"36px", height: "36px"), home_path %>
</div>
<div id="account">
<%= render_menu :account_menu -%>
</div>
<%= content_tag('div', "#{link_to(l(:label_layouts_feedback)+'(' + User.current.count_new_jour.to_s + ')', feedback_path(User.current))}".html_safe, :id => 'loggedas') if User.current.logged? %>
<%= content_tag('div', "#{l(:label_logged_as)} #{link_to_user(User.current, :format => :username)}".html_safe, :id => 'loggedas') if User.current.logged? %>

View File

@ -14,6 +14,9 @@
<div id="top-menu" style="background-color: #15bccf;height:40px;margin-top: 10px;margin-bottom: 10px;">
<div class="welcome_logo">
<%=link_to image_tag("/images/logo.png",weight:"36px", height: "36px"), home_path %>
</div>
<div id="account">
<%= render_menu :account_menu -%>
</div>
<%= content_tag('div', "#{link_to(l(:label_layouts_feedback)+'(' + User.current.count_new_jour.to_s + ')', feedback_path(User.current))}".html_safe, :id => 'loggedas') if User.current.logged? %>

View File

@ -1,8 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title><%= h html_title %></title>
<meta charset="utf-8">
<meta name="description" content="<%= Redmine::Info.app_name %>" />
<meta name="keywords" content="issue,bug,tracker" />
<%= csrf_meta_tag %>
@ -190,9 +189,7 @@
</li>
<!-- <li><%= link_to(l(:label_course_repository), {:controller => 'repositories', :action => 'show', :id => @project, :repository_id => nil, :path => nil, :rev => nil, :course => 1 })%></li> -->
<% if User.current.logged? && (User.current.admin? || (!Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @project.id).first.roles&Role.where('id = ? or id = ?', 3, 7)).size >0))%>
<li>
<%= link_to l(:label_course_settings), {:controller => 'projects', :action => 'settings', :id => @project}, :class => link_class(:settings)%>
</li>
</ul>
<% end %>
</div>

View File

@ -11,13 +11,6 @@
<!-- <%= toggle_link l(:label_new_call), 'put-bid-form', {:focus => 'project_id'} %> -->
<!-- </div> -->
<% end %></td>
<td align="right">
<div class="project-search">
<%= text_field_tag 'name', params[:name], :size => 30 %>
<%= submit_tag l(:label_search), :class => "small", :name => nil %>
</div></td>
</tr></table>
</div>

View File

@ -1,4 +1,5 @@
<!--add by huang-->
<p>温馨提示:项目可以是一次作业,也可以是别人或者自己创建的一项小工程~</p>
<% if @user == User.current %>
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new', :course => 0, :project_type => @project_type}, :class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
<% end %>

View File

@ -560,7 +560,7 @@ zh:
label_assigned_to_me_issues: 指派给我的问题
label_last_login: 最后登录
label_registered_on: 注册于
label_activity:
label_activity: # modified by bai
label_overall_activity: 活动概览
label_user_activity: "%{value} 的活动"
label_new: 新建
@ -606,7 +606,7 @@ zh:
label_settings: 配置
label_overview: 项目动态
label_course_overview: "课程动态"
label_question_student: 学生反馈 #huang
label_question_student: 作业交流 #bai
label_homework_commit: 提交作业 #huang
label_homework_info: 作业情况 #huang
label_course_news: 课程通知
@ -1279,7 +1279,7 @@ zh:
field_add: 添加于 %{time} 之前
button_more: 更多
label_user_response: 用户反馈
label_student_response: 学生反馈
label_student_response: 留言讨论区 # modified by bai
label_bidding_project: 参与项目
label_homework_project: 已提交作业 #huang
button_bidding: 我要参加
@ -1298,6 +1298,8 @@ zh:
label_wrong_budget: 错误的金额格式
label_wrong_date: 时间格式错误,请输入正确的时间 yyyy-mm-dd
label_bidding_succeed: 应标成功
label_bidding_contest_succeed: 竞赛提交成功 #added by bai
label_bidding_homework_succeed: 作业提交成功 #added by bai
label_bidding_fail: 应标失败,该项目已经应标
label_bidding_homework_fail: 作业提交失败,该作业已经被提交!
@ -1338,7 +1340,7 @@ zh:
label_investment_budget: 投资预算:
label_investment_time_limit: 投资时限:
label_my_respond: 我要反馈:
label_my_question: 有疑问请在此处提出!
label_my_question: 请在此处留下您的意见或者问题~ # modified by bai
label_respond_requirement: 对需求进行了反馈
label_question_requirement: 对作业提出了问题!
label_deadline: 投资时限yyyy-mm-dd
@ -1498,7 +1500,7 @@ zh:
label_newfeedback_quote: 回复
label_newfeedback_delete: 删除
label_user_all_activity: 所有动态
label_user_activity_myself: 只看自己
label_user_activity_myself: 我的动态 # modified by bai
label_my_honework_no_homework: 暂无任何作业!
label_user_all_respond: 所有反馈
label_layouts_feedback: 留言
@ -1659,4 +1661,5 @@ zh:
label_watch_no_projects: 没有关注任何项目
label_has_watched_project: 关注的项目
label_project_take: 参与的项目
label_peoject_take_in: 加入了项目:
label_peoject_take_in: 加入了项目:
label_update_homework_succeed: 作业更新成功

View File

@ -132,7 +132,7 @@ RedmineApp::Application.routes.draw do
post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue'
delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue'
resources :bids, :only=>[:edit,:update]
resources :projects do
member do
get 'settings(/:tab)', :action => 'settings', :as => 'settings'
@ -147,7 +147,6 @@ RedmineApp::Application.routes.draw do
get 'new_homework', :action => 'new_homework', :as => 'new_homework'
#get 'news', :action => 'news', :as => 'news'
#end
post 'modules'
post 'archive'
post 'unarchive'
@ -156,7 +155,7 @@ RedmineApp::Application.routes.draw do
match 'copy', :via => [:get, :post]
end
#by young
match '/member', :controller => 'projects', :action => 'member', :as => 'member', :via => :get
match '/file', :controller => 'projects', :action => 'file', :as => 'file', :via => :get
@ -398,6 +397,8 @@ RedmineApp::Application.routes.draw do
get 'autocomplete_for_new_user'
end
end
match 'workflows', :controller => 'workflows', :action => 'index', :via => :get
match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post]

View File

@ -254,7 +254,7 @@ end
Redmine::MenuManager.map :account_menu do |menu|
menu.push :login, :signin_path, :if => Proc.new { !User.current.logged? }
menu.push :register, :register_path, :if => Proc.new { !User.current.logged? && Setting.self_registration? }
menu.push :my_account, { :controller => 'my', :action => 'account' }, :if => Proc.new { User.current.logged? }
# menu.push :my_account, { :controller => 'my', :action => 'account' }, :if => Proc.new { User.current.logged? }
menu.push :logout, :signout_path, :html => {:method => 'post'}, :if => Proc.new { User.current.logged? }
end
########fq
@ -324,7 +324,7 @@ Redmine::MenuManager.map :course_menu do |menu|
# menu.push :news, { :controller => 'news', :action => 'index' }, :param => :project_id, :caption => :label_news_plural
# menu.push :files, { :controller => 'files', :action => 'index' }, :caption => :label_file_new, :param => :project_id
menu.push :repository, { :controller => 'repositories', :action => 'show', :repository_id => nil, :path => nil, :rev => nil, :course => 1 }
menu.push :settings, { :controller => 'projects', :action => 'settings', :course => 1 }, :last => true
# menu.push :settings, { :controller => 'projects', :action => 'settings', :course => 1 }, :last => true
end
Redmine::MenuManager.map :user_menu do |menu|