This commit is contained in:
z9hang 2014-05-20 18:07:25 +08:00
commit 45339e53d8
27 changed files with 539 additions and 271 deletions

View File

@ -5,7 +5,7 @@ class ContestsController < ApplicationController
menu_item :project, :only => :show_project menu_item :project, :only => :show_project
menu_item :application, :only => :show_softapplication menu_item :application, :only => :show_softapplication
menu_item :attendingcontest, :only => :show_attendingcontest menu_item :attendingcontest, :only => :show_attendingcontest
before_filter :find_contest, :only => [:show_contest, :show_project, :show_softapplication, :show_attendingcontest, :create,:destroy,:more,:back,:add,:add_softapplication,:new,:show_results, :set_reward, 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,
:show_contest_project, :show_contest_user, :join_in_contest, :unjoin_in_contest, :new_join,:show_participator, :settings] :show_contest_project, :show_contest_user, :join_in_contest, :unjoin_in_contest, :new_join,:show_participator, :settings]
# added by fq # added by fq
@ -335,7 +335,12 @@ class ContestsController < ApplicationController
end end
##取出参赛应用 ##取出参赛应用
@softapplication = Softapplication.all @softapplication = Softapplication.all
@contesting_softapplication = @contest.contesting_softapplications.reverse @contesting_softapplication = @contest.contesting_softapplications.
joins("LEFT JOIN softapplications ON contesting_softapplications.softapplication_id=softapplications.id").
joins("LEFT JOIN (
SELECT * FROM seems_rateable_cached_ratings WHERE cacheable_type='Softapplication' AND DIMENSION = 'quality') AS cached
ON cached.cacheable_id=softapplications.id").
order("cached.avg").reverse_order
@contesting_softapplication = paginateHelper @contesting_softapplication, 10 @contesting_softapplication = paginateHelper @contesting_softapplication, 10
@ -350,6 +355,44 @@ class ContestsController < ApplicationController
end end
###end ###end
def set_reward_project
@c_p = nil
@contesting_project_id = nil
if params[:set_reward_project][:reward]&&((User.current.id==@contest.author_id)||User.current.admin)
# @bid_id = params[:id]
@contesting_project_id = params[:set_reward_project][:c_id]
@c_p = ContestingProject.find_by_id(@contesting_project_id)
# 把字段存进表中
@c_p.update_reward(params[:set_reward_project][:reward].to_s)
end
respond_to do |format|
format.js
end
end
def set_reward_softapplication
@c_sa = nil
@contesting_softapplication_id = nil
if params[:set_reward_softapplication][:reward]&&((User.current.id==@contest.author_id)||User.current.admin)
# @bid_id = params[:id]
@contesting_softapplication_id = params[:set_reward_softapplication][:c_id]
@c_sa = ContestingSoftapplication.find_by_id(@contesting_softapplication_id)
# 把字段存进表中
@c_sa.update_reward(params[:set_reward_softapplication][:reward].to_s)
end
respond_to do |format|
format.js
end
end
###添加已创建的参赛项目 ###添加已创建的参赛项目
def add def add
project = Project.find(params[:contest]) project = Project.find(params[:contest])

View File

@ -100,14 +100,34 @@ class SoftapplicationsController < ApplicationController
# POST /softapplications # POST /softapplications
# POST /softapplications.json # POST /softapplications.json
# def create
# @softapplication = Softapplication.new(params[:softapplication])
# @softapplication.user = User.current
# @softapplication.save_attachments(params[:attachments])
# respond_to do |format|
# if @softapplication.save
# format.js
# format.html { redirect_to @softapplication, notice: 'Softapplication was successfully created.' }
# # format.json { render json: @softapplication, status: :created, location: @softapplication }
# else
# format.js { render status: 406 }
# format.html { render action: "new" }
# # format.json { render json: @softapplication.errors, status: :unprocessable_entity }
# end
# end
# end
#new changed created function
def create def create
@softapplication = Softapplication.new(params[:softapplication]) @softapplication = Softapplication.new(params[:softapplication])
@softapplication.user = User.current @softapplication.user = User.current
@softapplication.save_attachments(params[:attachments]) @softapplication.save_attachments(params[:attachments])
respond_to do |format| respond_to do |format|
if @softapplication.save if @softapplication.save
ContestingSoftapplication.create(:contest_id => params[:contest_id], :softapplication_id => @softapplication.id)
format.js format.js
format.html { redirect_to @softapplication, notice: 'Softapplication was successfully created.' } format.html { redirect_to show_attendingcontest_contest_path(:id => params[:contest_id]) }
# format.json { render json: @softapplication, status: :created, location: @softapplication } # format.json { render json: @softapplication, status: :created, location: @softapplication }
else else
format.js { render status: 406 } format.js { render status: 406 }
@ -115,8 +135,13 @@ class SoftapplicationsController < ApplicationController
# format.json { render json: @softapplication.errors, status: :unprocessable_entity } # format.json { render json: @softapplication.errors, status: :unprocessable_entity }
end end
end end
end #关联新建的参赛作品
# @contesting_softapplication = paginateHelper @contest.contesting_softapplications
end
# PUT /softapplications/1 # PUT /softapplications/1
# PUT /softapplications/1.json # PUT /softapplications/1.json
def update def update

View File

@ -182,11 +182,27 @@ module ApplicationHelper
end end
def thumbnail_tag(attachment) def thumbnail_tag(attachment)
link_to image_tag(thumbnail_path(attachment)), imagepath = named_attachment_path(attachment, attachment.filename)
named_attachment_path(attachment, attachment.filename), link_to image_tag(imagepath),
imagepath ,
:title => attachment.filename :title => attachment.filename
end end
# 图片缩略图链接
def thumbnail_small_tag(attachment)
imagesize = attachment.thumbnail(:size => "200*200")
imagepath = named_attachment_path(attachment, attachment.filename)
if imagesize
link_to image_tag(imagesize),
imagepath,
:title => attachment.filename
else
link_to image_tag(imagepath , height: '200', width: '250'),
imagepath,
:title => attachment.filename
end
end
def toggle_link(name, id, options={}) def toggle_link(name, id, options={})
onclick = "$('##{id}').toggle(); " onclick = "$('##{id}').toggle(); "
onclick << (options[:focus] ? "$('##{options[:focus]}').focus(); " : "this.blur(); ") onclick << (options[:focus] ? "$('##{options[:focus]}').focus(); " : "this.blur(); ")

View File

@ -92,6 +92,10 @@ module ContestsHelper
c_project.get_reward c_project.get_reward
end end
def get_prize(c_softapplication)
c_softapplication.get_reward
end
def count_contest_project def count_contest_project
contests = Contest.find(:id) contests = Contest.find(:id)
@projects = [] @projects = []

View File

@ -34,4 +34,8 @@ module OpenSourceProjectsHelper
def get_open_source_projects_by_tag(tag_name) def get_open_source_projects_by_tag(tag_name)
OpenSourceProject.tagged_with(tag_name).order('created_at desc') OpenSourceProject.tagged_with(tag_name).order('created_at desc')
end end
def show_origin(url)
end
end end

View File

@ -228,7 +228,6 @@ class Attachment < ActiveRecord::Base
end end
size = 100 unless size > 0 size = 100 unless size > 0
target = File.join(self.class.thumbnails_storage_path, "#{id}_#{digest}_#{size}.thumb") target = File.join(self.class.thumbnails_storage_path, "#{id}_#{digest}_#{size}.thumb")
begin begin
Redmine::Thumbnail.generate(self.diskfile, target, size) Redmine::Thumbnail.generate(self.diskfile, target, size)
rescue => e rescue => e

View File

@ -12,4 +12,17 @@ class ContestingSoftapplication < ActiveRecord::Base
:softapplication_id => softapplication_id, :description => description) :softapplication_id => softapplication_id, :description => description)
end end
def self.create_work_contesting(contest_id, softapplication_id)
self.create(:user_id => User.current.id, :contest_id => contest_id,
:softapplication_id => softapplication_id)
end
def update_reward(which)
self.update_attribute(:reward,which)
end
def get_reward
self.reward
end
end end

View File

@ -1,5 +1,5 @@
class Softapplication < ActiveRecord::Base class Softapplication < ActiveRecord::Base
attr_accessible :android_min_version_available, :app_type_id, :app_type_name, :description, :name, :user_id, :contest_id, :application_developers attr_accessible :android_min_version_available, :app_type_id, :app_type_name, :description, :name, :user_id, :contest_id, :application_developers, :deposit_project_url
acts_as_attachable acts_as_attachable
seems_rateable :allow_update => true, :dimensions => :quality seems_rateable :allow_update => true, :dimensions => :quality

View File

@ -33,7 +33,7 @@
<% if images.any? %> <% if images.any? %>
<div class="thumbnails"> <div class="thumbnails">
<% images.each do |attachment| %> <% images.each do |attachment| %>
<div><%= thumbnail_tag(attachment) %></div> <div><%= thumbnail_small_tag(attachment) %></div>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

View File

@ -1,15 +1,14 @@
$('#reward_result_<%= @contesting_project_id %>').html('<%= j( $('#reward_result_<%= @contesting_project_id %>').html('<%= j(
if get_prize(@b_p).nil? or get_prize(@b_p) == "" if get_prize(@c_p).nil? or get_prize(@c_p) == ""
if @contest.deadline < Date.today if @contest.deadline < Date.today
puts '未评奖' puts '未评奖'
end end
else else
case get_prize(@b_p) case get_prize(@c_p)
when '-1' when '-1'
image_tag("/images/bid/special_reward.png") image_tag("/images/bid/special_reward.png")
when '1'
when '0' when '0'
image_tag("/images/bid/first_reward.png") image_tag("/images/bid/first_reward.png")
when '1' when '1'

View File

@ -0,0 +1,30 @@
$('#reward_result_<%= @contesting_softapplication_id %>').html('<%= j(
if get_prize(@c_sa).nil? or get_prize(@c_sa) == ""
if @contest.deadline < Date.today
puts '未评奖'
end
else
case get_prize(@c_sa)
when '-1'
image_tag("/images/bid/special_reward.png")
when '0'
image_tag("/images/bid/first_reward.png")
when '1'
image_tag("/images/bid/second_reward.png")
when '2'
image_tag("/images/bid/third_reward.png")
when '3'
image_tag("/images/bid/forth_reward.png")
when '4'
image_tag("/images/bid/fifth_reward.png")
when '5'
image_tag("/images/bid/qualified.png")
end
end
)
%>')
$('#<%= @contesting_softapplication_id %>').hide()

View File

@ -61,41 +61,39 @@
</script> </script>
<!--参赛步骤--> <!--参赛步骤-->
<div style="padding-left: 17px; padding-bottom: 15px"> <div style="padding-left: 17px; padding-bottom: 10px; color: grey">
温馨提示:如果您希望在我们平台托管参赛数据和代码,请按下面参赛步骤参赛 温馨提示:如果您准备参加竞赛,请点击下面的"新建参赛作品"
</div> </div>
<% if User.current.logged? %> <% if User.current.logged? %>
<div style="padding-bottom: 10px; line-height: 25px"> <div style="padding-bottom: 10px; line-height: 15px">
<div style="padding-left: 17px; font-size: 15px"> <div style="padding-left: 82px; font-size: 14px">
<strong>参赛步骤:</strong> <span><strong>参加竞赛:</strong></span>
<span><%= link_to '新建参赛作品', "javascript:void(0);", onclick: "$('#put-project-form').toggle();" %></span>
</div> </div>
<div style="padding-left: 82px; "> <!-- <div style="padding-left: 82px; ">
<span style="padding-top: 50px">步骤1</span> <span style="padding-top: 50px">步骤1</span>
<span><%#= link_to '新建参赛作品', new_softapplication_path(:target=>'_blank'), :target=>'_blank' %></span> <span><%#= link_to '新建参赛作品', new_softapplication_path(:target=>'_blank'), :target=>'_blank' %></span>
<span><%= link_to '新建参赛作品', "javascript:void(0);", onclick: "$('#put-project-form').toggle();" %></span> <span><%= link_to '新建参赛作品', "javascript:void(0);", onclick: "$('#put-project-form').toggle();" %></span>
<span style="font-size: 12px; color: grey">先点击“新建参赛作品”然后刷新页面再继续步骤2。</span> <span style="font-size: 12px; color: grey">先点击“新建参赛作品”然后刷新页面再继续步骤2。</span>
</div> </div> -->
<div style="padding-left: 82px; ">
<span style="padding-top: 50px">步骤2</span>
<span><%= link_to '关联参赛作品', "javascript:void(0);", onclick: "$('#put-bid-form').toggle();" %></span>
</div>
</div> </div>
<!--点击新建参赛作品弹出框--> <!--点击新建参赛作品弹出框新建参赛作品并关联到竞赛中-->
<div id="put-project-form" style="display: none; padding-left: 83px; width: 70%"> <div id="put-project-form" style="display: none; padding-left: 83px; width: 88%">
<%= form_for Softapplication.new, :remote=>true, :url => softapplications_path, :complete => '$("#put-bid-form").hide();' do |f| %> <%= form_for Softapplication.new, :url => softapplications_path do |f| %>
<fieldset style="padding-left: 36px" class="contes-new-box"> <fieldset class="contes-new-box", style="padding-left: 36px; line-height: 10px">
<%= hidden_field_tag 'contest_id', @contest.id %>
<tr style="width:700px; margin-left: -10px"> <tr style="width:700px; margin-left: -10px;">
<span><%= l(:label_softapplication_name) %></span> <span><%= l(:label_work_name) %></span>
<span class="contest-star"> * </span>: <td ><%= f.text_field :name, :required => true, :size => 60, :style => "width:400px;" %></td> <span class="contest-star"> * </span>: <td ><%= f.text_field :name, :required => true, :size => 60, :style => "width:400px;" %></td>
</tr><br/> </tr><br/>
<br /> <br />
<br /> <br />
<tr style="width:800px;"> <tr style="width:800px;">
<span><%= l(:label_softapplication_version_available) %></span> <span><%= l(:label_running_platform) %></span>
<span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :android_min_version_available, :required => true, :size => 60, :style => "width:400px;" %></td> <span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :android_min_version_available, :required => true, :size => 60, :style => "width:400px;" %></td>
</tr><br/> </tr><br/>
@ -103,7 +101,7 @@
<br /> <br />
<tr style="width:800px;"> <tr style="width:800px;">
<span><%= l(:label_softapplication_type) %></span> <span><%= l(:label_work_type) %></span>
<span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :app_type_name, :required => true, :size => 60, :style => "width:400px;" %></td> <span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :app_type_name, :required => true, :size => 60, :style => "width:400px;" %></td>
@ -112,9 +110,9 @@
<br /> <br />
<tr style="width:800px;"> <tr style="width:800px;">
<span><%= l(:label_softapplication_description) %></span> <span><%= l(:label_work_description) %></span>
<span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :description, :required => true, :size => 60, :style => "width:400px;" %></td> <span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :description, :required => true, :size => 60, :style => "width:400px;" %></td>
<span style="font-size: 10px">(125个汉字以内)</span>
</tr><br/> </tr><br/>
<br /> <br />
<br /> <br />
@ -129,53 +127,32 @@
<fieldset style="width: 500px; padding-top: 10px"> <fieldset style="width: 500px; padding-top: 10px">
<legend> <legend>
上传应用软件包和应用截图 上传作品软件包和作品截图
</legend> </legend>
<%= render_flash_messages %> <%= render_flash_messages %>
<p id="put-bid-form-partial"> <p id="put-bid-form-partial">
<%= render :partial => 'attachments/form' %> <%= render :partial => 'attachments/form' %>
</p> </p>
<p style="font-size: 10px"> <p style="font-size: 11px">
1、<%= l(:label_upload_softapplication_packets_mustpacketed)%> 1、<%= l(:label_upload_softapplication_packets_mustpacketed)%> <br />
<br> <br>
2、<%= l(:label_upload_softapplication_photo_condition)%> 2、<%= l(:label_upload_softapplication_photo_condition)%>
</p> </p>
<p style="font-size: 10px; color: red"> <p style="font-size: 11px; color: red">
<%= l(:label_updated_caution)%> <%= l(:label_updated_caution)%>
</p> </p>
</fieldset> </fieldset>
</fieldset></br> </fieldset></br>
<div class="align-center" style="padding-top: -3px; padding-bottom: 8px"> <div class="align-center" style="padding-top: -3px; padding-bottom: 8px">
<%= submit_tag l(:button_create), :onclick => "cancel();" %> <%= submit_tag l(:button_create) %>
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "cancel();",
:type => 'button', :class => "enterprise", :onmouseout => "this.style.backgroundPosition = 'left top'",
:onmouseover => "this.style.backgroundPosition = 'left -30px'" %>
</div> </div>
<% end %> <% end %>
</div> </div>
<!--点击关联参赛作品后弹出关联框-->
<div id="put-bid-form" style="display: none; padding-left: 83px; width: 70%">
<%= form_for "contest_for_save", :remote=>true, :url => {:controller => 'contests', :action => 'add_softapplication'}, :update => "contesting_softapplication_list", :complete => '$("#put-bid-form").hide();' do |f| %>
<table id="contesting_table" border="0" width="102%" style="margin-left: -3px;">
<!--该table为点击关联参赛作品后弹出的-->
<tr style="padding-left: 50px">
<%= select_tag 'contest', options_for_select(select_option_app_helper(@softapplication)), :name => 'contest', :class => 'grayline' %>
</tr>
<tr>
<td><%= f.text_area :contest_message, :id => "contest_message", :required => true, :rows => 2, :cols => 40, :placeholder => l(:label_bid_reason), :style => "resize: none;", :class => 'noline'%></td>
</tr>
<tr>
<td align="right"> <%= submit_tag l(:button_add), :name => nil , :class => "enterprise",
:onmouseout => "this.style.backgroundPosition = 'left top'",
:onmouseover => "this.style.backgroundPosition = 'left -30px'"%>
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "cancel();",
:type => 'button', :class => "enterprise", :onmouseout => "this.style.backgroundPosition = 'left top'",
:onmouseover => "this.style.backgroundPosition = 'left -30px'" %> </td>
</tr>
</table>
<% end %>
</div>
<% end %> <% end %>
@ -189,10 +166,63 @@
<% if c_project.project %> <% if c_project.project %>
<div style="padding-left: 18px"> <div style="padding-left: 18px">
<div style="font-size: 15px"> <div style="font-size: 15px">
<tr> <div>
<td><strong>参赛作品: </strong></td> <div><strong>参赛作品: <%= link_to(c_project.project.name, project_path(c_project.project), :target => '_blank') %> </strong>
<td> <%= link_to(c_project.project.name, project_path(c_project.project), :target => '_blank') %> </td> <div style="float: right">
</tr></br> <td style="color: #ec6300;" align="right" valign="0.1em" width="16%">
<strong>
<span id="reward_result_<%=c_project.id%>"> <!-- 调用js进行刷新 -->
<% if get_prize(c_project).nil? or get_prize(c_project) == "" %>
<% if @contest.deadline < Date.today %>
<span style="color: red"><%= l(:label_noawards)%></span>
<% else%>
<span style="color: red"><%= l(:label_noawards_current)%></span>
<% end %>
<% else %>
<% case get_prize(c_project) %>
<% when '-1' %>
<%= image_tag("/images/bid/special_reward.png")%>
<% when '0' %>
<%= image_tag("/images/bid/first_reward.png")%>
<% when '1' %>
<%= image_tag("/images/bid/second_reward.png")%>
<% when '2' %>
<%= image_tag("/images/bid/third_reward.png")%>
<% when '3' %>
<%= image_tag("/images/bid/forth_reward.png")%>
<% when '4' %>
<%= image_tag("/images/bid/fifth_reward.png")%>
<% when '5' %>
<%= image_tag("/images/bid/qualified.png")%>
<% end %>
<% end %>
</span>
</strong>
</td>
<!-- 评价显隐控制按钮-->
<% if ((User.current.id == @contest.author_id) && (@contest.deadline > Date.today))||User.current.admin %>
<td valign="top" align="right" width="10%">
<span> <%= toggle_link '评奖', c_project.id.to_s %></span>
<!-- 评价应标项目的表单 -->
<span style="display: none; vertical-align: top " id = '<%= c_project.id %>'>
<%= form_for "set_reward_project",:remote=>true,:url=>set_reward_project_contest_path do |f| %>
<%= f.text_field :c_id,:style => "display:none",:value => c_project.id,:size=>"0" %>
<%= f.select :reward,"<option value = '-1'>#{l(:label_special_reward)}</option>
<option value = '0'>#{l(:label_first_reward)}</option>
<option value = '1'>#{l(:label_second_reward)}</option>
<option value = '2'>三等奖</option>
<option value = '3'>四等奖</option>
<option value = '4'>五等奖</option>
<option value = '5'>#{l(:label_comfort_reward)}</option>".html_safe %>
<%= f.submit "提交",:class=>"submit" %>
<% end %>
</span>
</td>
<% end %>
</div>
</div>
</div></br>
</div> </div>
<div style="padding-left: 68px"> <div style="padding-left: 68px">
<tr> <tr>
@ -201,11 +231,12 @@
</tr></br> </tr></br>
</div> </div>
<div style="padding-left: 68px; padding-bottom: 8px"> <div style="padding-left: 68px; padding-bottom: 8px">
<tr> <span><strong>参赛时间:</strong><%= format_time c_project.created_at%></span>
<td>发布时间:</td> <span style="padding-left: 240px"><strong>参赛代表:</strong><%= c_project.user.name %></span>
<td> <%= format_time c_project.created_at%> </td> </div>
<div style="padding-left: 68px">
</tr>
</div> </div>
</div> </div>
<% end %> <% end %>
@ -221,18 +252,75 @@
<td> <%= link_to(c_softapplication.softapplication.name, softapplication_path(c_softapplication.softapplication), :target => '_blank') %> </td> <td> <%= link_to(c_softapplication.softapplication.name, softapplication_path(c_softapplication.softapplication), :target => '_blank') %> </td>
</tr></br> </tr></br>
</div> </div>
<div style="padding-left: 68px">
<div style="padding-left: 68px; padding-top: 5px">
<tr> <tr>
<td>简介:</td> <td><strong>简介:</strong></td>
<td> <%= c_softapplication.softapplication.description.truncate(90, omission: '...') %> </td> <td> <%= c_softapplication.softapplication.description.truncate(90, omission: '...') %> </td>
</tr></br> </tr></br>
</div> </div>
<div style="padding-left: 68px; padding-bottom: 8px">
<tr>
<td>发布时间:</td>
<td> <%= format_time c_softapplication.created_at %> </td>
</tr> <div style="padding-left: 68px; pading-bottom: 8px">
<span><strong>参赛时间:</strong><%= format_time c_softapplication.created_at %></span>
<span style="padding-left: 240px"><strong>参赛代表:</strong><%= c_softapplication.softapplication.user.name %></span>
</div>
<!--获奖及教师评奖-->
<div style="padding-left: 18px; padding-bottom: 5px">
<span style="padding-left: 50px"><strong>最终得分:</strong></span><span style="color: red"><%= c_softapplication.softapplication.average(:quality).try(:avg).try(:round, 2).to_i.to_s%>分</span>
<span style="padding-left: 334px">
<td>
<strong>
<span id="reward_result_<%=c_softapplication.id%>" > <!-- 调用js进行刷新 -->
<% if get_prize(c_softapplication).nil? or get_prize(c_softapplication) == "" %>
<% if @contest.deadline < Date.today %>
<span style="color: red"><%= l(:label_noawards)%></span>
<% else%>
<span style="color: red"><%= l(:label_noawards_current)%></span>
<% end %>
<% else %>
<% case get_prize(c_softapplication) %>
<% when '-1' %>
<%= image_tag("/images/bid/special_reward.png")%>
<% when '0' %>
<%= image_tag("/images/bid/first_reward.png")%>
<% when '1' %>
<%= image_tag("/images/bid/second_reward.png")%>
<% when '2' %>
<%= image_tag("/images/bid/third_reward.png")%>
<% when '3' %>
<%= image_tag("/images/bid/forth_reward.png")%>
<% when '4' %>
<%= image_tag("/images/bid/fifth_reward.png")%>
<% when '5' %>
<%= image_tag("/images/bid/qualified.png")%>
<% end %>
<% end %>
</span>
</strong>
</td>
<!-- 评价显隐控制按钮-->
<% if ((User.current.id == @contest.author_id) && (@contest.deadline > Date.today))||User.current.admin %>
<div style="valign="top" align="right" width="10%"">
<span style="padding-right: 5px; padding-top: 1px"> <%= toggle_link '评奖', c_softapplication.id.to_s %></span>
<!-- 评价应标项目的表单 -->
<span style="display: none; vertical-align: top " id = '<%= c_softapplication.id %>'>
<%= form_for "set_reward_softapplication",:remote=>true,:url=>set_reward_softapplication_contest_path do |f| %>
<%= f.text_field :c_id,:style => "display:none",:value => c_softapplication.id,:size=>"0" %>
<%= f.select :reward,"<option value = '-1'>#{l(:label_special_reward)}</option>
<option value = '0'>#{l(:label_first_reward)}</option>
<option value = '1'>#{l(:label_second_reward)}</option>
<option value = '2'>三等奖</option>
<option value = '3'>四等奖</option>
<option value = '4'>五等奖</option>
<option value = '5'>#{l(:label_comfort_reward)}</option>".html_safe %>
<%= f.submit "提交",:class=>"submit" %>
<% end %>
</span>
</div>
<% end %>
</span>
</div> </div>
</div> </div>
<% end %> <% end %>

View File

@ -140,7 +140,7 @@
<!--info--> <!--info-->
<div class="inf_user_context"> <div class="inf_user_context">
<table style="font-family:微软雅黑"> <table>
<!-- addedby bai 教师姓名加超链接、加入开课时间、结课时间与课时 --> <!-- addedby bai 教师姓名加超链接、加入开课时间、结课时间与课时 -->
<tr> <tr>
@ -266,5 +266,7 @@
</div> </div>
</div> </div>
<%= call_hook :view_layouts_base_body_bottom %> <%= call_hook :view_layouts_base_body_bottom %>
</div>
</body> </body>
</html> </html>

View File

@ -110,8 +110,7 @@
<%= link_to image_tag(url_to_avatar(reply.author), :class => "avatar"), user_path(reply.author) %> <%= link_to image_tag(url_to_avatar(reply.author), :class => "avatar"), user_path(reply.author) %>
</td> </td>
<td class="comments"> <td class="comments">
<div class="reply_content" ><%=h reply.content.html_safe %></div> <div class="reply_content" ><%=h sanitize(reply.content.html_safe) %></div>
<!-- <div class="wiki">< %=h reply.content.html_safe %></div> -->
<p> <p>
<% if reply.attachments.any?%> <% if reply.attachments.any?%>
<% options = {:author => true, :deletable => reply.deleted_attach_able_by?(User.current) } %> <% options = {:author => true, :deletable => reply.deleted_attach_able_by?(User.current) } %>
@ -140,3 +139,11 @@
<hr/> <hr/>
</div> </div>
<% end %> <% end %>
<script type="text/javascript">
jQuery(document).ready(function($) {
transpotUrl('.lz');
transpotUrl('.replies');
});
</script>

View File

@ -185,3 +185,9 @@
<% end %> <% end %>
<% html_title @topic.subject %> <% html_title @topic.subject %>
<script type="text/javascript">
jQuery(document).ready(function($) {
transpotUrl('#content');
});
</script>

View File

@ -1,6 +1,5 @@
<!-- added by huang -->
<% <%
if @project.project_type == 1 if @project.project_type == Project::ProjectType_course
btn_tips = l(:label_news_notice) btn_tips = l(:label_news_notice)
label_tips = l(:label_course_news) label_tips = l(:label_course_news)
else else
@ -8,27 +7,28 @@
label_tips = l(:label_news) label_tips = l(:label_news)
end end
%> %>
<% if @project && User.current.allowed_to?(:manage_news, @project) %>
<div class="content-title-top"> <span style="font-size: 16px; border-bottom:1px solid #f0f0f0; margin-right: 15px;">
<%= link_to(btn_tips, <%= label_tips %>
</span>
<%= link_to(btn_tips,
new_project_news_path(@project), new_project_news_path(@project),
:class => 'icon icon-add', :class => 'icon icon-add',
:onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %> :onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %>
</div>
<div id="add-news" class="add_frame" style="display:none;"> <% if @project && User.current.allowed_to?(:manage_news, @project) %>
<div id="add-news" class="add_frame" style="display:none;">
<%= labelled_form_for @news, :url => project_news_index_path(@project), <%= labelled_form_for @news, :url => project_news_index_path(@project),
:html => { :id => 'news-form', :multipart => true } do |f| %> :html => {:id => 'news-form', :multipart => true} do |f| %>
<%= render :partial => 'news/form', :locals => { :f => f } %> <%= render :partial => 'news/form', :locals => {:f => f} %>
<%= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit --> | <%= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit --> |
<%= preview_link preview_news_path(:project_id => @project), 'news-form' ,target='preview',{:class => 'whiteButton m3p10'}%> | <%= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()' ,:class => 'whiteButton m3p10' %> |
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'whiteButton m3p10' %>
<% end if @project %> <% end if @project %>
<div id="preview" class="wiki"></div> <div id="preview" class="wiki"></div>
</div> </div>
<% end %> <% end %>
<!--add by huang :list news-->
<h3 style="font-weight:400; margin-left:0px; margin-top:-12px; margin-left:-5px; border-bottom:1px solid #f0f0f0"><%=label_tips%></h3>
<div> <div>
<% if @newss.empty? %> <% if @newss.empty? %>
<p class="nodata"> <p class="nodata">
@ -39,28 +39,35 @@
<table class="content-text-list"> <table class="content-text-list">
<tr> <tr>
<td colspan="2" valign="top" width="50" ><%= link_to image_tag(url_to_avatar(news.author), :class => "avatar"), user_path(news.author) %></td> <td colspan="2" valign="top" width="50"><%= link_to image_tag(url_to_avatar(news.author), :class => "avatar"), user_path(news.author) %></td>
<td> <td>
<table width="580px" border="0"> <table width="580px" border="0">
<% if @project.project_type == 1 %> <% if @project.project_type == 1 %>
<tr> <tr>
<td colspan="2" valign="top"><strong><%= link_to_user(news.author)if news.respond_to?(:author) %></strong><span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_notice)%></span><span><%= link_to h(news.title), news_path(news) %></span> <td colspan="2" valign="top">
<span style="float: right"><%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> </span></td> <strong><%= link_to_user(news.author) if news.respond_to?(:author) %></strong><span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_notice) %></span><span><%= link_to h(news.title), news_path(news) %></span>
<span style="float: right"><%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> </span>
</td>
</tr> </tr>
<% else %> <% else %>
<tr> <tr>
<td colspan="2" valign="top"><strong><%= link_to_user(news.author)if news.respond_to?(:author) %></strong><span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_newshare)%></span><span> <%= link_to h(news.title), news_path(news) %></span> <td colspan="2" valign="top">
<span style="float: right" class='delete_icon'> <%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> </span></td> <strong><%= link_to_user(news.author) if news.respond_to?(:author) %></strong><span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_newshare) %></span><span> <%= link_to h(news.title), news_path(news) %></span>
<span style="float: right" class='delete_icon'> <%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> </span>
</td>
</tr> </tr>
<% end %> <% end %>
<tr> <tr>
<td colspan="2" width="580px" ><span class="font_description"><%= textilizable(news, :description) %></span></td> <td colspan="2" width="580px">
<span class="font_description"><%= textilizable(news, :description) %></span></td>
</tr> </tr>
<tr> <tr>
<td align="left"><span class="font_lighter"> <%= l :label_update_time %>&nbsp;<%= format_time(news.created_on) %></span></td> <td align="left"><span class="font_lighter"> <%= l :label_update_time %>
<td width="350" align="right" class="a"><%= link_to l(:label_project_newother),news_path(news)%><%= "(#{l(:label_x_comments, :count => news.comments_count)})" if news.comments_count >= 0 %></td> &nbsp;<%= format_time(news.created_on) %></span></td>
<td width="350" align="right" class="a"><%= link_to l(:label_project_newother), news_path(news) %><%= "(#{l(:label_x_comments, :count => news.comments_count)})" if news.comments_count >= 0 %></td>
</tr> </tr>
</table></td> </table>
</td>
</tr> </tr>
</table> </table>
<% end %> <% end %>
@ -85,14 +92,15 @@
<% html_title(l(:label_news_plural)) -%> <% html_title(l(:label_news_plural)) -%>
</div> </div>
<script type='text/javascript'> <script type='text/javascript'>
$(document).ready(function($) { $(document).ready(function ($) {
$('.content-text-list').each(function(){ $('.content-text-list').each(function () {
$(this).find('.delete_icon').hide(); $(this).find('.delete_icon').hide();
$(this).mouseenter(function(event) { $(this).mouseenter(function (event) {
$(this).find('.delete_icon').show(); $(this).find('.delete_icon').show();
}); });
$(this).mouseleave(function(event) { $(this).mouseleave(function (event) {
$(this).find('.delete_icon').hide(); $(this).find('.delete_icon').hide();
}); });
}); });

View File

@ -45,7 +45,7 @@
<%= content_tag('span', l(:label_x_data,:count => files_count)) %> <%= content_tag('span', l(:label_x_data,:count => files_count)) %>
</p> </p>
<p class="stats"> <p class="stats">
<%= content_tag('span', link_to("#{@project.members.count}", member_project_path(@project)), :class => "info") %> <%= content_tag('span', "#{@project.members.count}", :class => "info") %>
<%= content_tag('span', l(:label_x_member, :count => @project.members.count)) %> <%= content_tag('span', l(:label_x_member, :count => @project.members.count)) %>
</p> </p>

View File

@ -36,7 +36,7 @@
<p>git add .</p> <p>git add .</p>
<p>git commit -m "first commit"</p> <p>git commit -m "first commit"</p>
<p>git config http.postBuffer 524288000 #设置本地post缓存为500MB</p> <p>git config http.postBuffer 524288000 #设置本地post缓存为500MB</p>
<p>git push -u origin master:matser</p> <p>git push -u origin master:master</p>
</div> </div>
</h3> </h3>
<h3>从网上获取别人的开源版本库转交到trustie网站上打开命令行执行如下</h3> <h3>从网上获取别人的开源版本库转交到trustie网站上打开命令行执行如下</h3>
@ -45,7 +45,7 @@
<p>git add .</p> <p>git add .</p>
<p>git commit -m "first commit"</p> <p>git commit -m "first commit"</p>
<p>git config http.postBuffer 524288000 #设置本地post缓存为500MB</p> <p>git config http.postBuffer 524288000 #设置本地post缓存为500MB</p>
<p>git push -u trustie master:matser</p> <p>git push -u trustie master:master</p>
<p><%= link_to "李海提供", user_path(646)%></p> <p><%= link_to "李海提供", user_path(646)%></p>
</div> </div>
</h3> </h3>

View File

@ -10,7 +10,6 @@
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
<!-- <%= image_tag(url_to_avatar(@user), :class => "avatar2") %> -->
<div style="height: auto; padding-bottom: 10px"> <div style="height: auto; padding-bottom: 10px">
<tr> <tr>
<td colspan="2" valign="top" width="320" > <td colspan="2" valign="top" width="320" >
@ -47,6 +46,13 @@
<td style="padding-left: 40px">平均评分: <%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></td> <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>发布时间:<%=format_time @softapplication.created_at %></td>
</tr> </tr>
<tr>
<td style="padding-left: 40px">
<% unless @softapplication.deposit_project_url.nil? %>
<%= textilizable ("托管项目网址: " + @softapplication.deposit_project_url) %>
<% end %>
</td>
</tr>
</table> </table>
@ -80,13 +86,14 @@
<% end %> <% end %>
</div> </div>
</div> </div>
<div style="float: left; padding-left: 100px; padding-top:35px "> <div style="float: left; padding-left: 100px; padding-top:35px " align="center">
<div style="padding-left: 25px;">最终得分</div> <div>最终得分</div>
<div style="padding-top: 3px"><%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></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>
<div style="float: left; padding-left: 100px; padding-top:35px "> <div style="float: left; padding-left: 100px; padding-top:35px;" align="center">
<div>打分总人数</div> <div>打分总人数</div>
<div style="padding-left: 28px; padding-top: 1px; font-size: 25px; color: blue"><strong><%= @softapplication.raters(:quality).count%></strong></div> <div style="padding-top: 1px; font-size: 25px; color: blue; alignment-baseline: "><strong><%= @softapplication.raters(:quality).count%></strong></div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,56 +1,59 @@
<div class="content_frame"> <div class="content_frame">
<ul class="user_project_sort"> <ul class="user_project_sort">
<% for membership in memberships %> <% for membership in memberships %>
<li> <li>
<table width="660" border="0" align="center" style="border-bottom: 1px dashed rgb(204, 204, 204); margin-bottom: 10px;font-size:14px;"> <table width="660" border="0" align="center" style="border-bottom: 1px dashed rgb(204, 204, 204); margin-bottom: 10px;font-size:14px;">
<tr> <tr>
<td colspan="2" valign="top" width="50" ><%= image_tag(url_to_avatar(membership.project), :class => 'avatar') %></td> <td colspan="2" valign="top" width="50"><%= image_tag(url_to_avatar(membership.project), :class => 'avatar') %></td>
<td> <td>
<table width="580" border="0"> <table width="580" border="0">
<tr> <tr>
<td colspan="2" valign="top"> <td colspan="2" valign="top">
<span><%= link_to_project(membership.project) %></span> <span><%= link_to_project(membership.project) %></span>
<!--added by huang for: filter by roles-->
<span style="float: right"> <span style="float: right">
<%=render :partial => 'courses/set_course_time', :locals => {:project => membership.project} %> <%= render :partial => 'courses/set_course_time', :locals => {:project => membership.project} %>
<% if User.current == @user %> <% if User.current == @user %>
<% (membership.roles).each do |role| %> <% (membership.roles).each do |role| %>
<% unless (role == Role.find(9) || role == Role.find(3)) %> <% unless (role == Role.find(9) || role == Role.find(3)) %>
<%= join_in_course(membership.project, User.current)%>&nbsp;&nbsp;&nbsp;&nbsp; <%= join_in_course(membership.project, User.current) %>&nbsp;&nbsp;&nbsp;&nbsp;
<% end %> <% end %>
<% end %> <% end %>
<% else %> <% else %>
<% end %> <% end %>
<!--end--> <%= l(:label_x_base_courses_member, :count => membership.project.members.count) %>
<%= l(:label_x_base_courses_member, :count => membership.project.members.count) %>(<%= link_to "#{membership.project.members.count}", project_member_path(membership.project), :course =>'1' %>)&nbsp;&nbsp; (<%= "#{membership.project.members.count}" %>)&nbsp;&nbsp;
<%= l(:label_homework) %> (<span class=""><%= link_to (membership.project.homeworks.count), {:controller => 'projects', :action => 'homework', :id => membership.project.identifier} %></span>) <%= l(:label_homework) %>
(<span class=""><%= link_to (membership.project.homeworks.count), {:controller => 'projects', :action => 'homework', :id => membership.project.identifier} %></span>)
&nbsp;&nbsp; &nbsp;&nbsp;
<%= l(:label_course_news)%> (<span style="color: #ed8924"><%= link_to (membership.project.news.count), {:controller => 'news', :action => 'index', :project_id => membership.project.identifier} %></span>) <%= l(:label_course_news) %>
(<span style="color: #ed8924"><%= link_to (membership.project.news.count), {:controller => 'news', :action => 'index', :project_id => membership.project.identifier} %></span>)
</span></td> </span></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" width="580" > <td colspan="2" width="580">
<p class="font_description"> <p class="font_description">
<%= membership.project.description %> <%= membership.project.description %>
</p></td> </p></td>
</tr> </tr>
<tr><td> <tr>
<td>
<!-- added by bai --> <% @course = Course.find_by_extra(membership.project.identifier) %>
<% @course = Course.find_by_extra(membership.project.identifier)%>
<% unless (@course.nil? || @course.teacher.nil? || @course.teacher.name.nil?) %> <% unless (@course.nil? || @course.teacher.nil? || @course.teacher.name.nil?) %>
<span class="font-lighter" style="float: left"><%= l(:label_main_teacher) %> : <%= link_to(@course.teacher.name, user_path(@course.teacher)) %></span> <span class="font-lighter" style="float: left"><%= l(:label_main_teacher) %>
<span style="float: right; padding-left: 8px" ><%= l(:label_course_term) %> : <%= @course.time %><%= @course.term %></span> : <%= link_to(@course.teacher.name, user_path(@course.teacher)) %></span>
<!-- <span class="font_lighter" style="float: right"><%= l(:label_create_time) %> <%= format_time(membership.created_on) %></span> --> <span style="float: right; padding-left: 8px"><%= l(:label_course_term) %>
: <%= @course.time %><%= @course.term %></span>
<% end %> <% end %>
</td></tr> </td>
</table></td> </tr>
</table>
</td>
</tr> </tr>
</table> </table>
</li> </li>
<% end %> <% end %>
</ul> </ul>
</div> </div>
<%= call_hook :view_account_left_bottom, :user => @user %> <%= call_hook :view_account_left_bottom, :user => @user %>

View File

@ -120,21 +120,7 @@
<span class="font_welcome_trustie"><%= l(:label_welcome_trustie) %><%= l(:label_welcome_trustie_contest) %></span> <span class="font_welcome_tdescription">, <%= l(:label_welcome_trustie_contest_description) %></span> <span class="font_welcome_trustie"><%= l(:label_welcome_trustie) %><%= l(:label_welcome_trustie_contest) %></span> <span class="font_welcome_tdescription">, <%= l(:label_welcome_trustie_contest_description) %></span>
</div> </div>
<!--网站状态-->
<!-- <div class="contest_count">
<tr>
<td>竞赛总量:</td>
<td></td>
</tr><br>
<tr>
<td>竞赛总人数:</td>
<td></td>
</tr><br />
<tr>
<td>竞赛项目或应用总数:</td>
<td></td>
</tr>
</div> -->
<!--搜索框--> <!--搜索框-->
<div id="J_Slide" class="d-p-index-box d-p-index-hotproject" style="float: right;"> <div id="J_Slide" class="d-p-index-box d-p-index-hotproject" style="float: right;">
<%= form_tag({controller: 'contests', action: 'index'}, method: :get) do %> <%= form_tag({controller: 'contests', action: 'index'}, method: :get) do %>
@ -160,7 +146,7 @@
<% find_all_hot_contest.map do |contest| break if(contest == find_all_hot_contest[5]) %> <% find_all_hot_contest.map do |contest| break if(contest == find_all_hot_contest[5]) %>
<li style="position:relative;height:6em;" class='<%= cycle("odd", "even") %>'> <li style="position:relative;height:6em;" class='<%= cycle("odd", "even") %>'>
<div class="avatar-4"; style="float: left; margin-top: 7px"> <div class="avatar-4" style="float: left; margin-top: 7px">
<%= image_tag('/images/contest1.png')%> <%= image_tag('/images/contest1.png')%>
</div> </div>
@ -170,7 +156,7 @@
<% if contest.id == 2 or contest.id == 3 or contest.id == 6 %> <% if contest.id == 2 or contest.id == 3 or contest.id == 6 %>
<span class="font_lighter">(<span style="font-size: 13px"><%= link_to("含#{contest.projects.where('is_public=1').count}个作品", show_attendingcontest_contest_path(contest), :target => "_blank") %></span>)</span> <span class="font_lighter">(<span style="font-size: 13px"><%= link_to("含#{contest.projects.where('is_public=1').count}个作品", show_attendingcontest_contest_path(contest), :target => "_blank") %></span>)</span>
<% else %> <% else %>
<span class="font_lighter">(<span style="font-size: 13px"><%= link_to("含#{contest.contesting_softapplications.count}个app", show_attendingcontest_contest_path(contest), :target => "_blank") %></span>)</span> <span class="font_lighter">(<span style="font-size: 13px"><%= link_to("含#{contest.contesting_softapplications.count}个作品", show_attendingcontest_contest_path(contest), :target => "_blank") %></span>)</span>
<% end %> <% end %>
</div> </div>
@ -192,7 +178,7 @@
<div id="J_Slide" class="d-p-index-box d-p-index-hotproject" style="float: right;"> <div id="J_Slide" class="d-p-index-box d-p-index-hotproject" style="float: right;">
<h3 style="padding-bottom:px ;margin-left: 5px; color: #e8770d;"> <h3 style="margin-left: 5px; color: #e8770d;">
<strong>问题和反馈动态</strong> <strong>问题和反馈动态</strong>
<%= link_to "我要提问" , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> <%= link_to "我要提问" , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
<%= link_to "我要反馈" , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> <%= link_to "我要反馈" , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
@ -207,11 +193,11 @@
<%= 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;" %> <%= 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;" %>
</span> </span>
<br> <br>
<span style="margin-left: 24px; color: rgb(172, 174, 177); white-space: nowrap; font-size 9pt !important;;"><%= l(:field_updated_on) %><%=time_tag_welcome(topic_last_time topic)%>前</span> <span style="margin-left: 24px; color: rgb(172, 174, 177); white-space: nowrap; font-size: 9pt !important;;"><%= l(:field_updated_on) %><%=time_tag_welcome(topic_last_time topic)%>前</span>
<span style="margin-left: 8px; margin-bottom: 0px; color: rgb(172, 174, 177) !important; white-space: nowrap;"> <span style="margin-left: 8px; margin-bottom: 0px; color: rgb(172, 174, 177) !important; white-space: nowrap;">
由&nbsp;<%= link_to topic.author ? topic.author : 'Anonymous', user_path(topic.author_id), :style => "font-size: 9pt !important; color: rgb(17, 102, 173);" %>&nbsp;发表 由&nbsp;<%= link_to topic.author ? topic.author : 'Anonymous', user_path(topic.author_id), :style => "font-size: 9pt !important; color: rgb(17, 102, 173);" %>&nbsp;发表
</span> </span>
<span style="float: right; color: rgb(172, 174, 177); white-space: nowrap; font-size 9pt !important;;">回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url %>)</span> <span style="float: right; color: rgb(172, 174, 177); white-space: nowrap; font-size: 9pt !important;;">回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url %>)</span>
</div> </div>
</li> </li>
<% end %> <% end %>
@ -228,7 +214,7 @@
<% find_all_hot_softapplication.map do |softapplication| break if(softapplication == find_all_hot_softapplication[5]) %> <% find_all_hot_softapplication.map do |softapplication| break if(softapplication == find_all_hot_softapplication[5]) %>
<li style="position:relative;height:6em;" class='<%= cycle("odd", "even") %>'> <li style="position:relative;height:6em;" class='<%= cycle("odd", "even") %>'>
<div class="avatar-4"; style="float: left; margin-top: 7px"> <div class="avatar-4" style="float: left; margin-top: 7px">
<%= image_tag('/images/app1.png')%> <%= image_tag('/images/app1.png')%>
</div> </div>
@ -237,7 +223,7 @@
</div> </div>
<div class='text_nowrap' style="float: left;margin:5px; margin-left: 10px; margin-bottom:1px; width: 380px;"> <div class='text_nowrap' style="float: left;margin:5px; margin-left: 10px; margin-bottom:1px; width: 380px;">
<span class='font_lighter' title =<%=softapplication.description.to_s%>><%=softapplication.description.truncate(50, omission: '...')%></span> <span class='font_lighter' title =<%=softapplication.description.to_s%>><%=softapplication.description.to_s.truncate(50, omission: '...')%></span>
</div><br /> </div><br />
<div style="padding-left: 55px; clear: left;"> <div style="padding-left: 55px; clear: left;">

View File

@ -1859,15 +1859,20 @@ zh:
label_release_softapplication: 发布应用 label_release_softapplication: 发布应用
label_upload_softapplication_packets: 上传应用软件包 label_upload_softapplication_packets: 上传应用软件包
label_upload_softapplication_photo: 上传产品截图 label_upload_softapplication_photo: 上传产品截图
label_upload_softapplication_packets_mustpacketed: 应用软件作品必须打包后以压缩包的形式上传,便于上传和下载 label_upload_softapplication_packets_mustpacketed: 作品相关代码及相关说明文件必须打包后以压缩包的形式上传,便于上传和下载
label_upload_softapplication_photo_condition: 应用软件截图需上传4张格式为gif/jpg/png 尺寸480*800, 每张小于2M label_upload_softapplication_photo_condition: 作品截图需上传0~4张格式为gif/jpg/png 每张小于5M
label_updated_caution: 注意:若修改应用,则之前上传的软件包和截图都将被删除,请重新上传! label_updated_caution: 注意:若参赛作品,则之前上传的软件包和截图都将被删除,请重新上传!
label_softapplication_name: 应用名称 label_softapplication_name: 应用名称
label_work_name: 作品名称
label_softapplication_description: 应用简介 label_softapplication_description: 应用简介
label_work_description: 作品简介
label_softapplication_type: 应用分类 label_softapplication_type: 应用分类
label_work_type: 作品分类
label_softapplication_version_available: 适配版本 label_softapplication_version_available: 适配版本
label_running_platform: 运行平台
label_softapplication_developer: 上传人员 label_softapplication_developer: 上传人员
label_softapplication_developers: 开发人员 label_softapplication_developers: 开发人员
label_work_deposit_project_url: 托管项目网址
label_softapplication_name_condition: 25个汉字以内50个字符 label_softapplication_name_condition: 25个汉字以内50个字符
label_user_login_softapplication_board: 您还没有登录,请登录后参与应用评价。 label_user_login_softapplication_board: 您还没有登录,请登录后参与应用评价。
label_contest_description_no: 暂无描述。 label_contest_description_no: 暂无描述。
@ -1897,6 +1902,7 @@ zh:
label_relation_files: 关联已有资源 label_relation_files: 关联已有资源
label_contest_settings: 配置竞赛 label_contest_settings: 配置竞赛
label_contest_delete: 删除竞赛 label_contest_delete: 删除竞赛
label_noawards_current: 暂未评奖
# ajax异步验证 # ajax异步验证
modal_valid_passing: 可以使用 modal_valid_passing: 可以使用

View File

@ -82,6 +82,8 @@ RedmineApp::Application.routes.draw do
match 'show_softapplication' , via: :get match 'show_softapplication' , via: :get
match 'show_attendingcontest' , via: :get match 'show_attendingcontest' , via: :get
match 'show_participator' , via: :get match 'show_participator' , via: :get
match 'set_reward_project' , via: [:get, :post]
match 'set_reward_softapplication' , via: [:get, :post]
match 'add' , via: [:get, :post] match 'add' , via: [:get, :post]
match 'add_softapplication' , via: [:get, :post] match 'add_softapplication' , via: [:get, :post]
match 'create' , via: :post match 'create' , via: :post

View File

@ -0,0 +1,5 @@
class AddDepositProjectUrlToSoftapplications < ActiveRecord::Migration
def change
add_column :softapplications, :deposit_project_url, :string
end
end

View File

@ -0,0 +1,7 @@
class AddAuthorToRelativeMemo < ActiveRecord::Migration
def change
add_column :relative_memos, :username, :string
add_column :relative_memos, :userhomeurl, :string
add_column :relative_memos, :date_collected, :date
end
end

View File

@ -609,6 +609,14 @@ function toggleAndSettingWordsVal(parent_widget, text_widget, value){
text_widget.val(value) text_widget.val(value)
parent_widget.slideToggle(400) parent_widget.slideToggle(400)
} }
function transpotUrl (scope) {
$(scope).each(function(){
var tmpContent = $(this).html();
tmpContent = tmpContent.replace(/(^|[^\"\'])(http|ftp|mms|rstp|news|https)(\:\/\/[^<\s\+,]+)/gi,"$1<a href='$2$3' target='_blank'>$2$3<\/a>");
// tmpContent = tmpContent.replace(/(^|[^\/])(www\.[^<\s\+,]+)/gi,"$1<a href='http:\/\/$2' style='color:blue' target='_blank'>$2</a>");
$(this).html(tmpContent);
});
}
$(document).ready(setupAjaxIndicator); $(document).ready(setupAjaxIndicator);
$(document).ready(hideOnLoad); $(document).ready(hideOnLoad);