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

exceptionHandle
ganyiang 11 years ago
commit 44d24d038f

@ -5,7 +5,8 @@ class ContestsController < ApplicationController
menu_item :project, :only => :show_project
menu_item :application, :only => :show_softapplication
menu_item :attendingcontest, :only => :show_attendingcontest
before_filter :find_contest, :only => [:show_contest, :show_project, :show_softapplication, :show_attendingcontest, :set_reward_project, :set_reward_softapplication, :create,:destroy,:more,:back,:add,:add_softapplication,:new,:show_results, :set_reward,
menu_item :contestnotification, :only => :show_notification
before_filter :find_contest, :only => [:show_contest, :show_project, :show_softapplication, :show_attendingcontest, :show_notification, :set_reward_project, :set_reward_softapplication, :create,:destroy,:more,:back,:add,:add_softapplication,:new,:show_results, :set_reward,
:show_contest_project, :show_contest_user, :join_in_contest, :unjoin_in_contest, :new_join,:show_participator, :settings]
# added by fq
@ -355,6 +356,17 @@ class ContestsController < ApplicationController
end
###end
def show_notification
@contest = Contest.find_by_id(params[:id])
respond_to do |format|
format.html {
render :layout => 'base_newcontest'
}
format.api
end
end
def set_reward_project
@c_p = nil

@ -47,7 +47,7 @@ class SoftapplicationsController < ApplicationController
def show
@softapplication = Softapplication.find(params[:id])
@project = Project.find_by_identifier(@softapplication.deposit_project)
@project = @softapplication.project
# 打分统计
stars_reates = @softapplication.
rates(:quality)
@ -142,13 +142,16 @@ class SoftapplicationsController < ApplicationController
def create
@softapplication = Softapplication.new(params[:softapplication])
@softapplication.user = User.current
@softapplication.deposit_project = params[:project]
#@softapplication.deposit_project = params[:project]
@softapplication.project = Project.find_by_id(params[:project])
@softapplication.save_attachments(params[:attachments])
respond_to do |format|
if @softapplication.save
ContestingSoftapplication.create(:contest_id => params[:contest_id], :softapplication_id => @softapplication.id)
#ProjectingSoftapplication.create_softapplication_projecting(:project_id => params[:project_id], :softapplication_id => @softapplication.id)
#ProjectingSoftapplication.create_softapplication_projecting(@project.id, softapplication.id)
format.html { redirect_to show_attendingcontest_contest_path(:id => params[:contest_id]), notice: l(:notice_attendingcontest_work_successfully_created) }
# format.json { render json: @softapplication, status: :created, location: @softapplication }
else
@ -170,7 +173,8 @@ class SoftapplicationsController < ApplicationController
# @softapplication = Softapplication.find(params[:id])
@softapplication.attachments.map{|attach| attach.destroy }
@softapplication.save_attachments(params[:attachments])
@softapplication.deposit_project = params[:project]
#@softapplication.deposit_project = params[:project]
@softapplication.project = Project.find_by_id(params[:project])
respond_to do |format|
if @softapplication.update_attributes(params[:softapplication])
format.html { redirect_to @softapplication, notice: l(:notice_softapplication_was_successfully_updated) }

@ -745,7 +745,7 @@ module ApplicationHelper
tmp = Hash.new
tmp={"" => ""}
option.each do |project|
tmp[project.name] = project.identifier
tmp[project.name] = project.id
end
tmp
end

@ -6,10 +6,11 @@ class Softapplication < ActiveRecord::Base
has_many :journals_for_messages, :as => :jour, :dependent => :destroy
has_many :contesting_softapplications, :dependent => :destroy
has_many :projecting_softapplications, :dependent => :destroy
#has_many :projecting_softapplications, :dependent => :destroy
belongs_to :user
belongs_to :project
has_many :contests, :through => :contesting_softapplications
belongs_to :project
def add_jour(user, notes, reference_user_id = 0, options = {})
if options.count == 0

@ -4,7 +4,7 @@
<div style="padding-left: 18px">
<div style="font-size: 15px">
<tr>
<td><strong>应用软件:</strong></td>
<td><strong><%=l(:label_softapplication)%>:</strong></td>
<td>
<%= link_to(c_softapplication.softapplication.name, softapplication_path(c_softapplication.softapplication), :target => '_blank') %>
</td>
@ -12,7 +12,7 @@
</div>
<div style="padding-left: 68px">
<tr>
<td>简介:</td>
<td><%=l(:label_profile)%>:</td>
<td>
<%= c_softapplication.softapplication.description.truncate(90, omission: '...') %>
</td>
@ -20,7 +20,7 @@
</div>
<div style="padding-left: 68px; padding-bottom: 8px">
<tr>
<td>发布时间</td>
<td><%=l(:label_activity_time)%></td>
<td>
<%=format_time c_softapplication.created_at %>
</td>

@ -45,7 +45,7 @@
</table>
<!-- end -->
<% else %>
<div style="font-size: 14px;margin:10px;">
<div style="font-size: 14px;margin:10px;padding-left: 13px">
<%= l(:label_user_login_tips) %>
<%= link_to l(:label_user_login_new), signin_path %>
</div>

@ -36,7 +36,7 @@
}
</style>
<h3 class="title">请输入竞赛密码</h3>
<h3 class="title"><%=l(:label_please_input_password)%></h3>
<%= form_tag( join_in_contest_contests_path(id: contest.id),
:remote => true,

@ -1,4 +1,4 @@
$('#contesting_project_list').html('<%= escape_javascript(render(:partial => 'project_list', :locals => {:contesting_project => @contesting_project})) %>');
$("#project_id").val("请选择项目");
$("#project_id").val("<%= l(:label_please_select_project) %>");
$("#contest_message").val( "<%= l(:label_bid_reason) %>" );
$("#put-bid-form").hide();

@ -1,4 +1,4 @@
$('#contesting_softapplication_list').html('<%= escape_javascript(render(:partial => 'softapplication_list', :locals => {:contesting_softapplication => @contesting_softapplication})) %>');
$("#softapplication_id").val("请选择参赛应用");
$("#softapplication_id").val("<%= l(:label_please_select_contestingsoftapplication) %>");
$("#contest_message").val( "<%= l(:label_bid_reason) %>" );
$("#put-bid-form").hide();

File diff suppressed because it is too large Load Diff

@ -68,7 +68,7 @@
<td>
<p>
<div class="font_lighter" style="font-size: 13px;">
<%= link_to '创建项目', new_project_path(course: 0, project_type: 0), :target=>'_blank'%> <!--跳转到project的new.html.erb-->
<%= link_to l(:label_create_new_projects), new_project_path(course: 0, project_type: 0), :target=>'_blank'%> <!--跳转到project的new.html.erb-->
</div>
</p>
</td>

@ -68,7 +68,7 @@
<td>
<p>
<div class="font_lighter" style="font-size: 13px;">
<%= link_to '发布应用', new_softapplication_path(:target=>'_blank'), :target=>'_blank' %>
<%= link_to l(:label_release_softapplication), new_softapplication_path(:target=>'_blank'), :target=>'_blank' %>
</div>
</p>
</td>

@ -65,7 +65,7 @@
<fieldset style="width: 500px">
<legend>上传作品软件包和作品截图</legend>
<legend><%=l(:label_upload_softworkpacket_photo)%></legend>
<%= render_flash_messages %>
<p id="put-bid-form-partial">
<%= render :partial => 'attachments/form' %>

@ -16,13 +16,13 @@
<div style="float: left; width: 600px; padding-top: 6px; margin-left: 8px"><%= softapplication.description.truncate(95, omission: '...') %></div>
<div style="float: left; width: 200px; margin-left: 70px; margin-top: -3px; line-height: 0.5em ">
<%contest = softapplication.contests.first%>
<p>所属竞赛<%= contest ? link_to(contest.name.truncate(14, omission: '...'), show_attendingcontest_contest_path(contest), title: contest.name.to_s ) : '尚未加入竞赛'%></p>
<p>所属类别<%= softapplication.app_type_name.truncate(10, omission: '...') %></p>
<p>系统支持<%= softapplication.android_min_version_available %></p>
<p><%=l(:label_attendingcontestwork_belongs_contest)%><%= contest ? link_to(contest.name.truncate(14, omission: '...'), show_attendingcontest_contest_path(contest), title: contest.name.to_s ) : '尚未加入竞赛'%></p>
<p><%=l(:label_attendingcontestwork_belongs_type)%><%= softapplication.app_type_name.truncate(10, omission: '...') %></p>
<p><%=l(:label_attendingcontestwork_adaptive_system)%><%= softapplication.android_min_version_available %></p>
</div>
<div style="padding-left: 53px">
<span>开发人员<%= softapplication.application_developers %></span>
<span style="padding-left: 50px">发布时间<%=format_time softapplication.created_at %></span>
<span><%=l(:label_attendingcontestwork_developers)%><%= softapplication.application_developers %></span>
<span style="padding-left: 50px"><%=l(:label_attendingcontestwork_release_time)%><%=format_time softapplication.created_at %></span>
</div>
<div style="border-left: 1px solid #d9d8d8; border-bottom: 1px solid #d9d8d8; margin-left: 50px; padding-bottom: 10px; margin-bottom: 20px; width: 66%"></div>
<div class="underline-contests_one" style="margin-top: -7px"></div>

@ -16,38 +16,35 @@
</td>
</tr>
<tr>
<td style="width: 570px; padding-left:40px; word-wrap: break-word; word-break: break-all">所属类别<%= @softapplication.app_type_name %></td>
<td style="width: 570px; padding-left:40px; word-wrap: break-word; word-break: break-all"><%=l(:label_attendingcontestwork_belongs_type)%><%= @softapplication.app_type_name %></td>
<% contest = @softapplication.contests.first %>
<td style="width: 240px; word-wrap: break-word; word-break: break-all">所属竞赛<%= contest ? link_to(contest.name, show_attendingcontest_contest_path(contest)) : '尚未加入竞赛' %></td>
<td style="width: 240px; word-wrap: break-word; word-break: break-all"><%=l(:label_attendingcontestwork_belongs_contest)%><%= contest ? link_to(contest.name, show_attendingcontest_contest_path(contest)) : '尚未加入竞赛' %></td>
</tr>
<tr>
<td style="padding-left: 40px">发布人员<%= @softapplication.user.name %></td>
<td>系统支持<%= @softapplication.android_min_version_available %></td>
<td style="padding-left: 40px"><%=l(:label_attendingcontestwork_release_person)%><%= @softapplication.user.name %></td>
<td><%=l(:label_attendingcontestwork_adaptive_system)%><%= @softapplication.android_min_version_available %></td>
</tr>
<tr>
<td style="padding-left: 40px">
<span>作品下载</span>
<span><%=l(:label_attendingcontestwork_download)%></span>
<span>
<% options = {:author => true, :deletable => @softapplication.user.eql?(User.current)} %><%= render :partial => 'attachments/app_link', :locals => {:attachments => @app_items, :options => options} %>
</span>
</td>
<td>开发人员<%= @softapplication.application_developers %></td>
<td><%=l(:label_attendingcontestwork_developers)%><%= @softapplication.application_developers %></td>
</tr>
<tr>
<td style="padding-left: 40px">平均评分: <%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></td>
<td>发布时间<%=format_time @softapplication.created_at %></td>
<td style="padding-left: 40px"><%=l(:label_attendingcontestwork_average_scores)%>: <%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></td>
<td><%=l(:label_attendingcontestwork_release_time)%><%=format_time @softapplication.created_at %></td>
</tr>
<tr>
<td style="padding-left: 40px">
<% if (@softapplication.deposit_project != "nil" && @softapplication.deposit_project != "") %>
<%#= textilizable ("托管项目: " + @project.name) %>
托管项目:<%= link_to "#@project", project_path(@project.id) %>
<% end %>
<% if @project %>
<%=l(:label_attendingcontestwork_deposit_project)%><%= link_to "#@project", project_path(@project) %>
<% end %>
</td>
</tr>
</table>
</td>
</tr>
@ -56,7 +53,7 @@
<div style="height: auto; padding-bottom: 10px">
<strong>
<div style="font-size: 15px;">作品简介</div>
<div style="font-size: 15px;"><%=l(:label_work_description)%></div>
</strong>
<div style="padding-top: 5px"><%= @softapplication.description %></div>
@ -64,11 +61,11 @@
<div class="underline-contests_one"></div>
<div style="height: auto; padding-bottom: 10px">
<div style="font-size: 15px;"><strong>作品得分</strong></div>
<div style="font-size: 15px;"><strong><%=l(:label_work_scores)%></strong></div>
<!-- <div>打分总人数:<%= @softapplication.raters(:quality).count %></div> -->
<div style="overflow: hidden">
<div style="margin-left: 15%; float: left">
<div style="padding-left: 45px; padding-bottom: 5px">得分比例</div>
<div style="padding-left: 45px; padding-bottom: 5px"><%=l(:label_work_scores_proportion)%></div>
<div>
<% 100.step(20, -20) do |star| %>
<div data-kls="Softapplication" data-id="2" data-dimension="quality" data-average="3.25" class="rateable div_inline jDisabled" style="height: 20px; width: 115px; overflow: hidden; z-index: 1; position: relative;">
@ -83,14 +80,12 @@
</div>
</div>
<div style="float: left; padding-left: 100px; padding-top:35px " align="center">
<div>最终得分</div>
<div style="padding-top: 1px; font-size: 15px; color: blue"><%= @softapplication.average(:quality).try(:avg).try(:round, 2).to_i.to_s %>
</div>
<div><%=l(:label_final_scores)%></div>
<div style="padding-top: 1px; font-size: 15px; color: blue"><%= @softapplication.average(:quality).try(:avg).try(:round, 2).to_i.to_s %>分</div>
<div><%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></div>
</div>
<div style="float: left; padding-left: 100px; padding-top:35px;" align="center">
<div>打分总人数</div>
<div><%=l(:label_rating_person_amount)%></div>
<div style="padding-top: 1px; font-size: 25px; color: blue;">
<strong><%= @softapplication.raters(:quality).count %></strong></div>
</div>
@ -100,7 +95,7 @@
<div style="height: auto; padding-bottom: 10px">
<strong>
<div style="font-size: 15px">作品截图</div>
<div style="font-size: 15px"><%=l(:label_work_photo)%></div>
</strong>
<div class="softapplication-img" >
@ -119,10 +114,10 @@
<div class="underline-contests_one"></div>
<div style="height: 50px">
<div style="font-size: 15px"><strong>作品评论</strong></div>
<div style="font-size: 15px"><strong><%=l(:label_work_comment)%></strong></div>
<% if (User.current.logged? and User.current.id != @softapplication.user_id) %>
<div style="padding-left: 210px">评分: <%= rating_for @softapplication, dimension: :quality, class: 'rateable div_inline' %>
<span style="font-size: 11px">(您可以重新打分,打分结果以最后一次打分为主!)</span></div>
<div style="padding-left: 210px"><%=l(:label_work_rating)%>: <%= rating_for @softapplication, dimension: :quality, class: 'rateable div_inline' %>
<span style="font-size: 11px">(<%=l(:label_attendingcontestwork_sorting_intimation)%>)</span></div>
<% end %>
</div>

@ -187,7 +187,7 @@
<div class="d-p-projectlist-box">
<ul class="d-p-projectlist">
<% find_new_forum_topics(11).each do |topic|%>
<li class="message-brief-intro" style="min-height: 60px; line-height:2em; ">
<li class="message-brief-intro" style="height: auto; line-height:2em; padding-bottom: 1px ">
<div style="display: inline-block; width: 100%;">
<span class="memo_activity text_nowrap" style="color:gray; display: inline-block; margin-bottom:6px; background: url('/images/list-icon.png') no-repeat scroll ;background-position: left center;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%= link_to '['+topic.forum.name + ']',forum_path(topic.forum),:class => 'memo_Bar_title' %><%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;" %>

@ -1722,6 +1722,8 @@ zh:
label_first_reward: 一等奖
label_second_reward: 二等奖
label_third_reward: 三等奖
label_fourth_reward: 四等奖
label_fifth_reward: 五等奖
label_excellence_reward: 优秀奖
label_comfort_reward: 入围奖
label_course_settings: 课程设置
@ -1878,8 +1880,14 @@ zh:
label_work_name: 作品名称
label_softapplication_description: 应用简介
label_work_description: 作品简介
label_work_scores: 作品得分
label_work_rating: 评分
label_work_tishi: 您可以重新打分,打分结果以最后一次打分为主!
label_work_scores_proportion: 得分比例
label_softapplication_type: 应用分类
label_work_type: 作品分类
label_work_photo: 作品截图
label_work_comment: 作品评论
label_softapplication_version_available: 适配版本
label_running_platform: 运行平台
label_softapplication_developer: 上传人员
@ -1894,6 +1902,8 @@ zh:
label_button_ok: 确定
label_tags_contest: 竞赛标签
label_tags_contest: 竞赛名称
label_final_scores: 最终得分
label_rating_person_amount: 打分总人数
label_tags_contest_description: 竞赛描述
label_release_add_contest_succeed: 该应用发布并添加成功.
label_add_contest_succeed_fail: 添加失败,该应用已参赛.
@ -1904,6 +1914,7 @@ zh:
label_softapplication_list: 应用列表
label_contest_work_list: 参赛作品列表
label_attending_contest: 我要参赛
label_contest_notification: 竞赛通知
label_coursefile_sharingarea: 课程资源共享区
label_sort_by_activity: 按动态数排序
@ -1918,10 +1929,40 @@ zh:
label_contest_settings: 配置竞赛
label_contest_delete: 删除竞赛
label_noawards_current: 暂未评奖
label_softapplication: 应用软件
label_attending_contest: 参加竞赛
label_new_attendingcontest_work: 新建参赛作品
label_workname_lengthlimit: 25个汉字以内
label_workdescription_lengthlimit: 125个汉字以内
label_please_input_password: 请输入竞赛密码
label_please_select_project: 请选择项目
label_upload_softworkpacket_photo: 上传作品软件包和作品截图
label_reward: 评奖
label_please_select_contestingsoftapplication: 请选择参赛应用
label_attendingcontest_time: 参赛时间
label_attendingcontest_spoksman: 参赛代表
label_wellmeaning_intimation_contentone: 温馨提示:如果您准备参加竞赛,请点击下面的"新建参赛作品"
label_wellmeaning_intimation_contenttwo: 若您已完成开发,且只希望发布您的作品,“托管项目”一项可以不选;
label_wellmeaning_intimation_contentthree: 若您希望托管竞赛数据和代码以及保留开发和提交代码的轨迹,请从“托管项目”中选择一项您已创建好的项目作为该参赛作品的托管项目,若您还没有创建项目,请点击右边的“创建项目”,然后回到本页再选择。
notice_account_updated: 帐号更新成功
notice_attendingcontest_work_successfully_created: 恭喜您,参赛作品创建成功!
notice_softapplication_was_successfully_updated: 恭喜您,参赛作品更新成功!
label_attendingcontestwork_belongs_contest: 所属竞赛
label_attendingcontestwork_belongs_type: 所属类别
label_attendingcontestwork_release_person: 发布人员
label_attendingcontestwork_adaptive_system: 系统支持
label_attendingcontestwork_download: 作品下载
label_attendingcontestwork_developers: 开发人员
label_attendingcontestwork_average_scores: 平均评分
label_attendingcontestwork_release_time: 发布时间
label_attendingcontestwork_deposit_project: 托管项目
label_attendingcontestwork_sorting_intimation: 您可以重新打分,打分结果以最后一次打分为主!
#end
# ajax异步验证
modal_valid_passing: 可以使用
label_bug: 漏洞

@ -83,6 +83,7 @@ RedmineApp::Application.routes.draw do
match 'show_project' , via: :get
match 'show_softapplication' , via: :get
match 'show_attendingcontest' , via: :get
match 'show_notification' , via: :get
match 'show_participator' , via: :get
match 'set_reward_project' , via: [:get, :post]
match 'set_reward_softapplication' , via: [:get, :post]

@ -0,0 +1,7 @@
class CreateProjectingSoftapplications < ActiveRecord::Migration
def up
end
def down
end
end

@ -0,0 +1,5 @@
class AddProjectToSoftapplication < ActiveRecord::Migration
def change
add_column :softapplications, :project_id, :integer
end
end

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20140519074133) do
ActiveRecord::Schema.define(:version => 20140526104509) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@ -28,6 +28,11 @@ ActiveRecord::Schema.define(:version => 20140519074133) do
t.datetime "updated_at", :null => false
end
create_table "applied_projects", :force => true do |t|
t.integer "project_id", :null => false
t.integer "user_id", :null => false
end
create_table "apply_project_masters", :force => true do |t|
t.integer "user_id"
t.string "apply_type"
@ -798,6 +803,7 @@ ActiveRecord::Schema.define(:version => 20140519074133) do
t.string "application_developers"
t.string "deposit_project_url"
t.string "deposit_project"
t.integer "project_id"
end
create_table "students_for_courses", :force => true do |t|

File diff suppressed because it is too large Load Diff

@ -287,6 +287,7 @@ Redmine::MenuManager.map :contest_menu do |menu|
#menu.push :project, :show_project_contest_path, :caption => :label_contest_project
#menu.push :application, :show_softapplication_contest_path, :caption => :label_contest_application
menu.push :attendingcontest, {:controller => 'contests', :action => 'show_attendingcontest'}, :caption => :label_attending_contest
menu.push :contestnotification, {:controller => 'contests', :action => 'show_notification'}, :caption => :label_contest_notification
# menu.push :attendingcontest, :show_attendingcontest_contest_path, :caption => :label_attendin,g_contest
# menu.push :result, { :controller => 'bids', :action => 'show_results' },
# :caption => :label_bidding_results,:if => Proc.new{ |p| User.current.id == p }

Loading…
Cancel
Save