Merge remote-tracking branch 'origin/develop' into szzh
This commit is contained in:
commit
2e0e8e6a8e
|
@ -111,8 +111,7 @@ class AccountController < ApplicationController
|
||||||
user_params = params[:user] || {}
|
user_params = params[:user] || {}
|
||||||
@user = User.new
|
@user = User.new
|
||||||
@user.safe_attributes = user_params
|
@user.safe_attributes = user_params
|
||||||
#这里判断
|
if params[:identity] == "2" # 2 企业
|
||||||
if params[:identity] == "2"
|
|
||||||
@user.firstname = params[:enterprise_name]
|
@user.firstname = params[:enterprise_name]
|
||||||
@user.lastname = l(:field_enterprise)
|
@user.lastname = l(:field_enterprise)
|
||||||
end
|
end
|
||||||
|
@ -132,16 +131,6 @@ class AccountController < ApplicationController
|
||||||
@user.login = params[:user][:login]
|
@user.login = params[:user][:login]
|
||||||
unless user_params[:identity_url].present? && user_params[:password].blank? && user_params[:password_confirmation].blank?
|
unless user_params[:identity_url].present? && user_params[:password].blank? && user_params[:password_confirmation].blank?
|
||||||
@user.password, @user.password_confirmation = user_params[:password], user_params[:password_confirmation]
|
@user.password, @user.password_confirmation = user_params[:password], user_params[:password_confirmation]
|
||||||
# system "htpasswd -mb "+@root_path+"user.passwd "+params[:user][:login]+" "+user_params[:password]
|
|
||||||
# system "echo -e '\n"+params[:user][:login]+"-write:"+
|
|
||||||
# " "+params[:user][:login]+"' >> "+@root_path+"group.passwd"
|
|
||||||
# system "mkdir "+@root_path+"htdocs/"+params[:user][:login]
|
|
||||||
#
|
|
||||||
# system "echo -e 'Allow from all \n Order Deny,Allow \n "+
|
|
||||||
# "<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> \n"+
|
|
||||||
# "Require group "+params[:user][:login]+"-write \n "+
|
|
||||||
# "</Limit> \n ' >>"+
|
|
||||||
# @root_path+"htdocs/"+params[:user][:login]+"/.htaccess"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
case Setting.self_registration
|
case Setting.self_registration
|
||||||
|
@ -183,6 +172,33 @@ class AccountController < ApplicationController
|
||||||
redirect_to signin_path
|
redirect_to signin_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def valid_ajax
|
||||||
|
req = Hash.new(false)
|
||||||
|
req[:message] = ''
|
||||||
|
|
||||||
|
valid_attr = params[:valid]
|
||||||
|
valid_value = params[:value]
|
||||||
|
|
||||||
|
faker = User.new
|
||||||
|
|
||||||
|
if valid_attr.eql?('login')
|
||||||
|
faker.login = valid_value
|
||||||
|
faker.valid?
|
||||||
|
req[:valid] = faker.errors[:login].blank?
|
||||||
|
req[:message] = faker.errors[:login]
|
||||||
|
end
|
||||||
|
|
||||||
|
if valid_attr.eql?('mail')
|
||||||
|
faker.mail = valid_value
|
||||||
|
faker.valid?
|
||||||
|
req[:valid] = faker.errors[:mail].blank?
|
||||||
|
req[:message] = faker.errors[:mail]
|
||||||
|
end
|
||||||
|
|
||||||
|
req[:message] = l(:modal_valid_passing) if req[:message].blank?
|
||||||
|
render :json => req
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def authenticate_user
|
def authenticate_user
|
||||||
|
|
|
@ -702,7 +702,10 @@ class BidsController < ApplicationController
|
||||||
redirect_to respond_path(@bid)
|
redirect_to respond_path(@bid)
|
||||||
else
|
else
|
||||||
@bid.safe_attributes = params[:bid]
|
@bid.safe_attributes = params[:bid]
|
||||||
render :action => 'new_bid'
|
@homework = @bid
|
||||||
|
@project = Project.find_by_id(params[:course_id])
|
||||||
|
@project_id = @project.id
|
||||||
|
render file: 'projects/new_homework', layout: 'base_courses'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ class ContestsController < ApplicationController
|
||||||
menu_item :respond
|
menu_item :respond
|
||||||
menu_item :project, :only => :show_project
|
menu_item :project, :only => :show_project
|
||||||
menu_item :application, :only => :show_softapplication
|
menu_item :application, :only => :show_softapplication
|
||||||
before_filter :find_contest, :only => [:show_contest, :show_project, :show_softapplication, :create,:destroy,:more,:back,:add,:add_softapplication,:new,:show_results, :set_reward,
|
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,
|
||||||
: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
|
||||||
|
@ -252,6 +253,7 @@ class ContestsController < ApplicationController
|
||||||
############
|
############
|
||||||
##显示参赛的应用
|
##显示参赛的应用
|
||||||
def show_softapplication
|
def show_softapplication
|
||||||
|
|
||||||
# @membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
# @membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
||||||
# @option = []
|
# @option = []
|
||||||
|
|
||||||
|
@ -288,6 +290,66 @@ class ContestsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
###我要参赛
|
||||||
|
def show_attendingcontest
|
||||||
|
##取出参赛项目
|
||||||
|
@membership = User.current.memberships.all(:conditions => Project.visible_condition(User.current))
|
||||||
|
@option = []
|
||||||
|
# @contesting_project_count = @contesting_project_all.count
|
||||||
|
# @contesting_project_pages = Paginator.new @contesting_project_count, per_page_option, params['page']
|
||||||
|
@membership.each do |membership|
|
||||||
|
unless(membership.project.project_type==1)
|
||||||
|
membership.member_roles.each{|role|
|
||||||
|
if(role.role_id == 3)
|
||||||
|
@option << membership.project
|
||||||
|
end
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@user = @contest.author
|
||||||
|
@contesting_project = @contest.contesting_projects.all
|
||||||
|
if params[:student_id].present?
|
||||||
|
@temp = []
|
||||||
|
@contesting_project.each do |pro|
|
||||||
|
if pro.project && pro.project.project_status
|
||||||
|
if /#{params[:student_id]}/ =~ pro.user.user_extensions.student_id
|
||||||
|
@temp << pro
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@temp
|
||||||
|
end
|
||||||
|
@contesting_project = @temp
|
||||||
|
else
|
||||||
|
|
||||||
|
@temp = []
|
||||||
|
@contesting_project.each do |pro|
|
||||||
|
if pro.project && pro.project.project_status
|
||||||
|
@temp << pro
|
||||||
|
end
|
||||||
|
@temp
|
||||||
|
end
|
||||||
|
if @temp.size > 0
|
||||||
|
@contesting_project = @temp.sort {|a,b| b.project.project_status.grade <=> a.project.project_status.grade}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
##取出参赛应用
|
||||||
|
@softapplication = Softapplication.all
|
||||||
|
@contesting_softapplication = @contest.contesting_softapplications.reverse
|
||||||
|
@contesting_softapplication = paginateHelper @contesting_softapplication, 10
|
||||||
|
|
||||||
|
|
||||||
|
##引用base_newcontest整体样式
|
||||||
|
@contest = Contest.find_by_id(params[:id])
|
||||||
|
respond_to do |format|
|
||||||
|
format.html {
|
||||||
|
render :layout => 'base_newcontest'
|
||||||
|
}
|
||||||
|
format.api
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
###end
|
||||||
###添加已创建的参赛项目
|
###添加已创建的参赛项目
|
||||||
def add
|
def add
|
||||||
project = Project.find(params[:contest])
|
project = Project.find(params[:contest])
|
||||||
|
|
|
@ -46,8 +46,21 @@ class SchoolController < ApplicationController
|
||||||
@provinces.each do |p|
|
@provinces.each do |p|
|
||||||
options << "<option value = '#{p.province}' >#{p.province}</option>"
|
options << "<option value = '#{p.province}' >#{p.province}</option>"
|
||||||
end
|
end
|
||||||
|
@school = School.all
|
||||||
|
|
||||||
|
|
||||||
|
options_s = ""
|
||||||
|
|
||||||
|
@school.each do |s|
|
||||||
|
#options << "<option value=#{s.id}>#{s.name}</option>"
|
||||||
|
options_s << "<li style = 'width: 33%; float: left'><a id=#{s.id} onclick='test(this.id, this.text)'>#{s.name}</a></li>"
|
||||||
|
end
|
||||||
|
res = Hash.new
|
||||||
|
res[:text] = options
|
||||||
|
res[:text_s] = options_s
|
||||||
|
|
||||||
|
render :json => res
|
||||||
|
|
||||||
render :text => options
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -79,8 +92,11 @@ class SchoolController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_school
|
def search_school
|
||||||
|
if params[:province].nil? or params[:province] == "0"
|
||||||
|
@school = School.where("name LIKE '%"+params[:key_word]+"%'");
|
||||||
|
else
|
||||||
@school = School.where("province = ? AND name LIKE '%"+params[:key_word]+"%'", params[:province]);
|
@school = School.where("province = ? AND name LIKE '%"+params[:key_word]+"%'", params[:province]);
|
||||||
|
end
|
||||||
options = ""
|
options = ""
|
||||||
@school.each do |s|
|
@school.each do |s|
|
||||||
options << "<li style = 'width: 33%; float: left'><a id=#{s.id} onclick='test(this.id)'>#{s.name}</a></li>"
|
options << "<li style = 'width: 33%; float: left'><a id=#{s.id} onclick='test(this.id)'>#{s.name}</a></li>"
|
||||||
|
|
|
@ -106,11 +106,13 @@ class SoftapplicationsController < ApplicationController
|
||||||
@softapplication.save_attachments(params[:attachments])
|
@softapplication.save_attachments(params[:attachments])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @softapplication.save
|
if @softapplication.save
|
||||||
|
format.js
|
||||||
format.html { redirect_to @softapplication, notice: 'Softapplication was successfully created.' }
|
format.html { redirect_to @softapplication, notice: 'Softapplication was successfully created.' }
|
||||||
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.html { render action: "new" }
|
format.html { render action: "new" }
|
||||||
format.json { render json: @softapplication.errors, status: :unprocessable_entity }
|
# format.json { render json: @softapplication.errors, status: :unprocessable_entity }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -38,6 +38,7 @@ class UsersController < ApplicationController
|
||||||
:user_homeworks, :destroy_membership, :user_activities, :user_projects, :user_newfeedback, :user_comments,
|
:user_homeworks, :destroy_membership, :user_activities, :user_projects, :user_newfeedback, :user_comments,
|
||||||
:watch_bids, :watch_contests, :info, :watch_projects, :show_score, :topic_score_index, :project_score_index,
|
:watch_bids, :watch_contests, :info, :watch_projects, :show_score, :topic_score_index, :project_score_index,
|
||||||
:activity_score_index, :influence_score_index, :score_index]
|
:activity_score_index, :influence_score_index, :score_index]
|
||||||
|
before_filter :auth_user_extension, only: :show
|
||||||
accept_api_auth :index, :show, :create, :update, :destroy,:tag_save
|
accept_api_auth :index, :show, :create, :update, :destroy,:tag_save
|
||||||
|
|
||||||
#william
|
#william
|
||||||
|
@ -743,4 +744,12 @@ class UsersController < ApplicationController
|
||||||
def setting_layout(default_base='base_users')
|
def setting_layout(default_base='base_users')
|
||||||
User.current.admin? ? 'base_admin' : default_base
|
User.current.admin? ? 'base_admin' : default_base
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# 必填自己的工作单位,其实就是学校
|
||||||
|
def auth_user_extension
|
||||||
|
if @user == User.current && @user.user_extensions.school.nil?
|
||||||
|
flash[:error] = l(:error_complete_occupation)
|
||||||
|
redirect_to my_account_path
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
class School < ActiveRecord::Base
|
class School < ActiveRecord::Base
|
||||||
attr_accessible :name, :province
|
attr_accessible :name, :province
|
||||||
has_many :courses
|
has_many :courses
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
self.name.to_s
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -278,7 +278,7 @@
|
||||||
|
|
||||||
|
|
||||||
<% if @user.auth_source_id.nil? %>
|
<% if @user.auth_source_id.nil? %>
|
||||||
<p><%= f.text_field :login, :size => 25, :required => true %>
|
<p><%= f.text_field :login, :size => 25, :required => true %><span id="valid_user_login"></span>
|
||||||
<em class="info"><%= l(:label_max_number) %></em></p>
|
<em class="info"><%= l(:label_max_number) %></em></p>
|
||||||
<p><%= f.password_field :password, :size => 25, :required => true %>
|
<p><%= f.password_field :password, :size => 25, :required => true %>
|
||||||
<em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
|
<em class="info"><%= l(:text_caracters_minimum, :count => Setting.password_min_length) %></em></p>
|
||||||
|
@ -294,7 +294,7 @@
|
||||||
<td class="info" style="width: 10px">
|
<td class="info" style="width: 10px">
|
||||||
<%= text_field_tag :enterprise_name %></td></tr></table></p>
|
<%= text_field_tag :enterprise_name %></td></tr></table></p>
|
||||||
</span>
|
</span>
|
||||||
<p><%= f.text_field :mail, :required => true %></p>
|
<p><%= f.text_field :mail, :required => true %><span id="valid_user_mail"></span></p>
|
||||||
<p>
|
<p>
|
||||||
<em class="info"><%="#{l(:label_mail_attention)} "%></em></p>
|
<em class="info"><%="#{l(:label_mail_attention)} "%></em></p>
|
||||||
<p><%= f.select :language, lang_options_for_select , :required => true %></p>
|
<p><%= f.select :language, lang_options_for_select , :required => true %></p>
|
||||||
|
@ -368,3 +368,36 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var $login = $('#user_login')
|
||||||
|
var $mail = $('#user_mail')
|
||||||
|
|
||||||
|
jQuery(document).ready(function() {
|
||||||
|
$login.blur(function(event) {
|
||||||
|
var $parent = $(this).parent();
|
||||||
|
if ( $(this).is('#user_login')) {
|
||||||
|
$.get('<%=account_valid_ajax_path%>?valid=login&value='+this.value, function(data) {
|
||||||
|
if (data.valid) {
|
||||||
|
$('#valid_user_login').html('<span class="green">'+data.message+"</span>");
|
||||||
|
}else{
|
||||||
|
$('#valid_user_login').html('<span class="red">'+data.message+"</span>");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
$mail.blur(function(event) {
|
||||||
|
var $parent = $(this).parent();
|
||||||
|
if ( $(this).is('#user_mail')) {
|
||||||
|
$.get('<%=account_valid_ajax_path%>?valid=mail&value='+this.value, function(data) {
|
||||||
|
if (data.valid) {
|
||||||
|
$('#valid_user_mail').html('<span class="green">'+data.message+"</span>");
|
||||||
|
}else{
|
||||||
|
$('#valid_user_mail').html('<span class="red">'+data.message+"</span>");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
|
@ -18,9 +18,14 @@
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="font_lighter"><%= l(:label_contest_project, :count => contest.contesting_projects.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.contesting_projects.count, show_project_contest_path(contest), :target => "_blank") %></span></strong>)</span>
|
<td class="font_lighter">
|
||||||
<span class="font_lighter"><%= l(:label_contest_softapplication, :count => contest.contesting_softapplications.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.contesting_softapplications.count, show_softapplication_contest_path(contest), :target => "_blank") %></span></strong>)</span>
|
<!-- <span class="font_lighter"><%= l(:label_contest_project, :count => contest.contesting_projects.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.contesting_projects.count, show_project_contest_path(contest), :target => "_blank") %></span></strong>)</span>
|
||||||
|
<span class="font_lighter"><%= l(:label_contest_softapplication, :count => contest.contesting_softapplications.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.contesting_softapplications.count, show_softapplication_contest_path(contest), :target => "_blank") %></span></strong>)</span> -->
|
||||||
|
<% if contest.id == 2 or contest.id == 3 or contest.id == 6 %>
|
||||||
|
<%= l(:label_contest_work, :count => contest.contesting_projects.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.projects.where('is_public=1').count, show_attendingcontest_contest_path(contest), :target => "_blank") %></span></strong>)
|
||||||
|
<% else %>
|
||||||
|
<%= l(:label_contest_work, :count => contest.contesting_softapplications.count) %>(<strong><span style="font-size: 17px"><%= link_to(contest.contesting_softapplications.count, show_attendingcontest_contest_path(contest), :target => "_blank") %></span></strong>)
|
||||||
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,246 @@
|
||||||
|
<style>
|
||||||
|
input[type="submit"].contest_btn {
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 60px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 18px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: rgb(0, 0, 0);
|
||||||
|
background: url("/images/button/bg103.jpg") no-repeat scroll left top transparent;
|
||||||
|
padding: 0px 0px 4px 0px;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid rgb(148, 148, 148);
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
margin-top: -10px;
|
||||||
|
/*margin-right: -4px;*/
|
||||||
|
}
|
||||||
|
input[type="button"].contest_btn {
|
||||||
|
width: 60px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 18px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: rgb(0, 0, 0);
|
||||||
|
background: url("/images/button/bg103.jpg") no-repeat scroll left top transparent;
|
||||||
|
padding: 0px 0px 4px 0px;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid rgb(148, 148, 148);
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
margin-top: -10px;
|
||||||
|
margin-right: -2px;
|
||||||
|
}
|
||||||
|
textarea:focus {
|
||||||
|
border: #d5dee9 1px solid;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script type="text/javascript" language="javascript">
|
||||||
|
function clearInfo(id, content) {
|
||||||
|
var text = $('#' + id);
|
||||||
|
if (text.val() == content) {
|
||||||
|
$('#' + id).val('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showInfo(id, content) {
|
||||||
|
var text = $('#' + id);
|
||||||
|
if (text.val() == '') {
|
||||||
|
$('#' + id).val(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function cancel() {
|
||||||
|
$("#put-bid-form").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
function cancel() {
|
||||||
|
$("#put-project-form").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!--参赛步骤-->
|
||||||
|
<div style="padding-left: 17px; padding-bottom: 15px">
|
||||||
|
温馨提示:如果您希望在我们平台托管参赛数据和代码,请按下面参赛步骤参赛!
|
||||||
|
</div>
|
||||||
|
<% if User.current.logged? %>
|
||||||
|
|
||||||
|
<div style="padding-bottom: 10px; line-height: 25px">
|
||||||
|
<div style="padding-left: 17px; font-size: 15px">
|
||||||
|
<strong>参赛步骤:</strong>
|
||||||
|
</div>
|
||||||
|
<div style="padding-left: 82px; ">
|
||||||
|
<span style="padding-top: 50px">步骤1:</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 style="font-size: 12px; color: grey">(先点击“新建参赛作品”,然后刷新页面,再继续步骤2。)</span>
|
||||||
|
</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 id="put-project-form" style="display: none; padding-left: 83px; width: 70%">
|
||||||
|
<%= form_for Softapplication.new, :remote=>true, :url => softapplications_path, :complete => '$("#put-bid-form").hide();' do |f| %>
|
||||||
|
<fieldset class="contes-new-box", style="padding-left: 36px">
|
||||||
|
|
||||||
|
<tr style="width:700px; margin-left: -10px">
|
||||||
|
<span><%= l(:label_softapplication_name) %></span>
|
||||||
|
<span class="contest-star"> * </span>: <td ><%= f.text_field :name, :required => true, :size => 60, :style => "width:400px;" %></td>
|
||||||
|
</tr></ br>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<tr style="width:800px;">
|
||||||
|
<span><%= l(:label_softapplication_version_available) %></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>
|
||||||
|
|
||||||
|
</tr></ br>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<tr style="width:800px;">
|
||||||
|
<span><%= l(:label_softapplication_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>
|
||||||
|
|
||||||
|
</tr></ br>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<tr style="width:800px;">
|
||||||
|
<span><%= l(:label_softapplication_description) %></span>
|
||||||
|
<span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :description, :required => true, :size => 60, :style => "width:400px;" %></td>
|
||||||
|
|
||||||
|
</tr></ br>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<tr style="width:800px;">
|
||||||
|
<span><%= l(:label_softapplication_developers) %></span>
|
||||||
|
<span class="contest-star"> * </span>: <td style="width: 100px"><%= f.text_field :application_developers, :required => true, :size => 60, :style => "width:400px;" %></td>
|
||||||
|
|
||||||
|
</tr></ br>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<fieldset style="width: 500px", style="padding-top: 10px">
|
||||||
|
<legend>
|
||||||
|
上传应用软件包和应用截图
|
||||||
|
</legend>
|
||||||
|
<%= render_flash_messages %>
|
||||||
|
<p id="put-bid-form-partial">
|
||||||
|
<%= render :partial => 'attachments/form' %>
|
||||||
|
</p>
|
||||||
|
<p style="font-size: 10px">
|
||||||
|
1、<%= l(:label_upload_softapplication_packets_mustpacketed)%>
|
||||||
|
<br>
|
||||||
|
2、<%= l(:label_upload_softapplication_photo_condition)%>
|
||||||
|
</p>
|
||||||
|
<p style="font-size: 10px; color: red">
|
||||||
|
<%= l(:label_updated_caution)%>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
</fieldset></br>
|
||||||
|
<div class="align-center", style="padding-top: -3px; padding-bottom: 8px">
|
||||||
|
<%= submit_tag l(:button_create), :onclick => "cancel();" %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</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 %>
|
||||||
|
|
||||||
|
<div class="underline-contests_three"></div>
|
||||||
|
|
||||||
|
<!--参赛作品列表,通过判断,竞赛的id为2,3,6的显示参赛作品为提交的项目,否则显示参赛的应用-->
|
||||||
|
|
||||||
|
<% if @contest.id == 2 or @contest.id == 3 or @contest.id == 6 %>
|
||||||
|
|
||||||
|
<% @contesting_project.sort.reverse.each do |c_project|%>
|
||||||
|
<% if c_project.project %>
|
||||||
|
<div style="padding-left: 18px">
|
||||||
|
<div style="font-size: 15px">
|
||||||
|
<tr>
|
||||||
|
<td><strong>参赛作品: </strong></td>
|
||||||
|
<td> <%= link_to(c_project.project.name, project_path(c_project.project), :target => '_blank') %> </td>
|
||||||
|
</tr></br>
|
||||||
|
</div>
|
||||||
|
<div style="padding-left: 68px">
|
||||||
|
<tr>
|
||||||
|
<td>简介:</td>
|
||||||
|
<td> <%= c_project.project.description.truncate(90, omission: '...') %> </td>
|
||||||
|
</tr></br>
|
||||||
|
</div>
|
||||||
|
<div style="padding-left: 68px; padding-bottom: 8px">
|
||||||
|
<tr>
|
||||||
|
<td>发布时间:</td>
|
||||||
|
<td> <%= format_time c_project.created_at%> </td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="underline-contests_three"></div>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<% @contesting_softapplication.each do |c_softapplication|%>
|
||||||
|
<% if c_softapplication.softapplication %>
|
||||||
|
<div style="padding-left: 18px">
|
||||||
|
<div style="font-size: 15px">
|
||||||
|
<tr>
|
||||||
|
<td><strong>参赛作品: </strong></td>
|
||||||
|
<td> <%= link_to(c_softapplication.softapplication.name, softapplication_path(c_softapplication.softapplication), :target => '_blank') %> </td>
|
||||||
|
</tr></br>
|
||||||
|
</div>
|
||||||
|
<div style="padding-left: 68px">
|
||||||
|
<tr>
|
||||||
|
<td>简介:</td>
|
||||||
|
<td> <%= c_softapplication.softapplication.description.truncate(90, omission: '...') %> </td>
|
||||||
|
</tr></br>
|
||||||
|
</div>
|
||||||
|
<div style="padding-left: 68px; padding-bottom: 8px">
|
||||||
|
<tr>
|
||||||
|
<td>发布时间:</td>
|
||||||
|
<td> <%= format_time c_softapplication.created_at %> </td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<div class="underline-contests_three"></div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="pagination">
|
||||||
|
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false %>
|
||||||
|
</div>
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding-left: 8px"><%=link_to request.host()+"/softapplications", :controller=>'softapplications', :action=>'index' %></td>
|
<td style="padding-left: 8px"><%=link_to request.host()+"/softapplications", :controller=>'softapplications', :action=>'index' %></td>
|
||||||
<td ><%=link_to l(:field_homepage), home_path %> >
|
<td ><%=link_to l(:field_homepage), home_path %> >
|
||||||
<%=link_to l(:label_contest_softapplication), :controller=>'softapplications', :action=>'index' %>
|
<%=link_to l(:label_contest_work), :controller=>'softapplications', :action=>'index' %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
|
|
||||||
<% unless @course.teacher.user_extensions.nil?%>
|
<% unless @course.teacher.user_extensions.nil?%>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" style="padding-left: 8px;"><%= l(:label_teacher_work_unit) %> :</td><td class="font_lighter_sidebar"><%= @course.teacher.user_extensions.occupation %></td>
|
<td valign="top" style="padding-left: 8px;"><%= l(:label_teacher_work_unit) %> :</td><td class="font_lighter_sidebar"><%= @course.teacher.user_extensions.school %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% else %>
|
<% else %>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -99,18 +99,25 @@
|
||||||
<!-- <td class="font_index">
|
<!-- <td class="font_index">
|
||||||
<%=link_to "#{@contest.join_in_competitions.count}",:controller => "contests",:action => "show_participator" %>
|
<%=link_to "#{@contest.join_in_competitions.count}",:controller => "contests",:action => "show_participator" %>
|
||||||
</td> -->
|
</td> -->
|
||||||
|
<!--关注人数-->
|
||||||
<td class="font_index">
|
<td class="font_index">
|
||||||
<%=link_to "#{@contest.projects.where('is_public=1').count}", :controller => 'contests', :action => 'show_project' %>
|
<!-- <%=link_to "#{@contest.projects.where('is_public=1').count}", :controller => 'contests', :action => 'show_project' %> -->
|
||||||
|
<%=link_to "#{@contest.watcher_users.count}", :controller => 'contests', :action => 'show_project' %>
|
||||||
</td>
|
</td>
|
||||||
|
<!--参赛作品数量-->
|
||||||
<td class="font_index">
|
<td class="font_index">
|
||||||
<%=link_to "#{@contest.contesting_softapplications.count}", :controller => 'contests', :action => 'show_softapplication' %>
|
<% if @contest.id == 2 or @contest.id == 3 or @contest.id == 6 %>
|
||||||
|
<%=link_to "#{@contest.projects.where('is_public=1').count}" %>
|
||||||
|
<% else %>
|
||||||
|
<%=link_to "#{@contest.contesting_softapplications.count}", :controller => 'contests', :action => 'show_attendingcontest' %>
|
||||||
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="font_aram">
|
<tr class="font_aram">
|
||||||
<!-- <td align="center" width="70px"> <%= l(:label_participate) %></td> -->
|
<!-- <td align="center" width="70px"> <%= l(:label_participate) %></td> -->
|
||||||
<td align="center" width="70px"> <%= l(:label_contest_project) %></td>
|
<td align="center" width="70px"> <%= l(:label_contest_watchers) %></td>
|
||||||
<td align="center" width="70px"> <%= l(:label_contest_application) %></td>
|
<td align="center" width="70px"> <%= l(:label_contest_work) %></td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -178,9 +185,9 @@
|
||||||
<div class="user_underline"></div>
|
<div class="user_underline"></div>
|
||||||
<div class="font_title_left">
|
<div class="font_title_left">
|
||||||
<strong><%= l(:label_x_followers, :count => @contest.watcher_users.count) %></strong>
|
<strong><%= l(:label_x_followers, :count => @contest.watcher_users.count) %></strong>
|
||||||
<% if show_more_fans?(@contest) %>
|
<!-- <% if show_more_fans?(@contest) %>
|
||||||
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;"><%= link_to l(:label_more), :controller => 'contests', :action => 'show_contest_user'%></span>
|
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;"><%= link_to l(:label_more), :controller => 'contests', :action => 'show_contest_user'%></span>
|
||||||
<% end %>
|
<% end %> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="left_wf">
|
<div class="left_wf">
|
||||||
<table>
|
<table>
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(
|
$(document).ready(
|
||||||
function () {
|
function () {
|
||||||
|
@ -19,17 +17,13 @@
|
||||||
data: 'text',
|
data: 'text',
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
|
|
||||||
|
$("#province").val(value)
|
||||||
$("#schoollist").html(data);
|
$("#schoollist").html(data);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,60 +72,47 @@
|
||||||
|
|
||||||
<!-- added by bai 增加账户里的性别-->
|
<!-- added by bai 增加账户里的性别-->
|
||||||
<span id='gender' style='display:none'>
|
<span id='gender' style='display:none'>
|
||||||
<% unless @user.user_extensions.nil? %>
|
<% if @user.user_extensions.nil? %>
|
||||||
<% if @user.user_extensions.gender == 0 %>
|
|
||||||
<p style="width:400px;padding-left: 26px;">
|
<p style="width:400px;padding-left: 26px;">
|
||||||
<%= l(:label_gender) %> <%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1'>#{l(:label_gender_female)}</option>".html_safe ,:class =>'gender' %>
|
<%= l(:label_gender) %>
|
||||||
|
<%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1'>#{l(:label_gender_female)}</option>".html_safe, :class => 'gender' %>
|
||||||
|
</p>
|
||||||
|
<% else %>
|
||||||
|
<% if @user.user_extensions.gender == 0 %><!-- label_gender_male -->
|
||||||
|
<p style="width:400px;padding-left: 26px;">
|
||||||
|
<%= l(:label_gender) %>
|
||||||
|
<%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1'>#{l(:label_gender_female)}</option>".html_safe, :class => 'gender' %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<% else %>
|
<% else %>
|
||||||
<p style="width:400px;padding-left: 26px;">
|
<p style="width:400px;padding-left: 26px;">
|
||||||
<%= l(:label_gender) %> <%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1' selected='selected'>#{l(:label_gender_female)}</option>".html_safe ,:class =>'gender' %>
|
<%= l(:label_gender) %>
|
||||||
</p>
|
<%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1' selected='selected'>#{l(:label_gender_female)}</option>".html_safe, :class => 'gender' %>
|
||||||
|
|
||||||
<% end %>
|
|
||||||
<% else %>
|
|
||||||
<p style="width:400px;padding-left: 26px;"><%= l(:label_gender) %> <%= select_tag 'gender', "<option value = '0'>#{l(:label_gender_male)}</option><option value = '1'>#{l(:label_gender_female)}</option>".html_safe ,:class =>'gender' %></p>
|
|
||||||
</p>
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<!-- added by bai 单位-->
|
|
||||||
<!--<% unless @user.user_extensions.nil?%>
|
|
||||||
<p style="width:400px;padding-left: 26px;"><%= l(:field_occupation)%> <span class="required">*</span><%= text_field_tag "occupation", @user.user_extensions.occupation, :class => 'occupation' %>
|
|
||||||
</p>
|
|
||||||
<%else%>
|
|
||||||
<p style="width:400px;padding-left: 26px;"><%= l(:field_occupation)%><span class="required">*</span><%= text_field_tag "occupation", nil, :class => 'occupation' %>
|
|
||||||
</p>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
-->
|
</span>
|
||||||
|
|
||||||
<!-- added by Wen -->
|
<!-- added by Wen -->
|
||||||
|
|
||||||
|
|
||||||
<p style="padding-left: 26px;">
|
<p style="padding-left: 26px;">
|
||||||
<% unless User.current.user_extensions.school.nil? %>
|
<% if User.current.user_extensions.school.nil? %>
|
||||||
|
|
||||||
<%= l(:field_occupation) %> <span class="required">*</span>
|
|
||||||
|
|
||||||
<input id="province" name="province" type="text" value="<%=User.current.user_extensions.school.province%>" readonly />
|
|
||||||
<input id="occupation" name="occupation" type="hidden" value="<%=User.current.user_extensions.school.id%>" />
|
|
||||||
<input id="occupation_name" type="text" value="<%=User.current.user_extensions.school.name%>" readonly />
|
|
||||||
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<%= l(:field_occupation) %> <span class="required">*</span>
|
<%= l(:field_occupation) %> <span class="required">*</span>
|
||||||
<input id="province" name="province" type="text" value="请单击选择省份及学校" readonly>
|
<input id="province" name="province" type="text" value="请单击选择省份及学校" readonly>
|
||||||
<input id="occupation" name="occupation" type="hidden"/>
|
<input id="occupation" name="occupation" type="hidden"/>
|
||||||
<input id="occupation_name" type="text" readonly/>
|
<input id="occupation_name" type="text" readonly/>
|
||||||
|
<% else %>
|
||||||
|
<%= l(:field_occupation) %> <span class="required">*</span>
|
||||||
|
<input id="province" name="province" type="text" value="<%= User.current.user_extensions.school.province %>" readonly/>
|
||||||
|
<input id="occupation" name="occupation" type="hidden" value="<%= User.current.user_extensions.school.id %>"/>
|
||||||
|
<input id="occupation_name" type="text" value="<%= User.current.user_extensions.school.name %>" readonly/>
|
||||||
<% end %>
|
<% end %>
|
||||||
<!-- <input id="occupation" readonly />-->
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div id="WOpenWindow">
|
<div id="WOpenWindow">
|
||||||
<a class="modal_close" href="#"></a>
|
<a class="modal_close" href="#"></a>
|
||||||
|
|
||||||
<h2>学校列表</h2>
|
<h2>学校列表</h2>
|
||||||
|
|
||||||
<div class="pcontent">
|
<div class="pcontent">
|
||||||
<ul id="provincelist" class="school_list">
|
<ul id="provincelist" class="school_list">
|
||||||
<% @ss = School.find_by_sql("select distinct province from schools") %>
|
<% @ss = School.find_by_sql("select distinct province from schools") %>
|
||||||
|
@ -149,37 +130,165 @@
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function test(id, name) {
|
function test(id, name) {
|
||||||
//$("#occupation").html("<option value='"+id+"'>"+name+"</option>");
|
//$("#occupation").html("<option value='"+id+"'>"+name+"</option>");
|
||||||
$("#occupation").val(id);
|
$("#occupation").val(id);
|
||||||
$("#occupation_name").val(name);
|
$("#occupation_name").val(name);
|
||||||
|
|
||||||
$("#lean_overlay").hide();
|
$("#lean_overlay").hide();
|
||||||
$("#WOpenWindow").hide();
|
$("#WOpenWindow").hide();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- added by bai 增加了地区 -->
|
<!-- added by bai 增加了地区 -->
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<!-- end -->
|
<!-- end -->
|
||||||
|
|
||||||
<p style="width:357px;padding-left: 26px;">
|
<p style="width:357px;padding-left: 26px;">
|
||||||
<%= f.text_field :mail, :required => true %>
|
<%= f.text_field :mail, :required => true %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="width:426px;padding-left:26px;">
|
<p style="width:426px;padding-left:26px;">
|
||||||
<%= f.select :language, :Chinese简体中文 => :zh, :English => :en%>
|
<%= f.select :language, :Chinese => :zh, :English => :en %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<% province = User.current.user_extensions.location %>
|
||||||
|
<% city = User.current.user_extensions.location_city %>
|
||||||
|
<% identity = User.current.user_extensions.identity %>
|
||||||
|
<% title = User.current.user_extensions.technical_title %>
|
||||||
|
<script type="text/javascript" language="javascript">
|
||||||
|
$().ready(function () {
|
||||||
|
var province = "<%= "#{province}" %>"
|
||||||
|
var city = "<%= "#{city}" %>"
|
||||||
|
init_province_and_city(document.getElementById('userProvince'), province, document.getElementById('userCity'), city);
|
||||||
|
var identity = "<%= "#{identity}" %>"
|
||||||
|
var title = "<%= "#{title}" %>"
|
||||||
|
init_identity_and_title(document.getElementById('userIdentity'), identity, document.getElementById('userTechnical_title'), title);
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p style="width:400px;padding-left: 26px;"><%= l(:label_location) %>
|
||||||
|
<select onchange="showcity(this.value, document.getElementById('userCity'));" name="province" id="userProvince" class="location">
|
||||||
|
<option value="">--请选择省份--</option>
|
||||||
|
<option value="北京">北京</option>
|
||||||
|
<option value="上海">上海</option>
|
||||||
|
<option value="广东">广东</option>
|
||||||
|
<option value="江苏">江苏</option>
|
||||||
|
<option value="浙江">浙江</option>
|
||||||
|
<option value="重庆">重庆</option>
|
||||||
|
<option value="安徽">安徽</option>
|
||||||
|
<option value="福建">福建</option>
|
||||||
|
<option value="甘肃">甘肃</option>
|
||||||
|
<option value="广西">广西</option>
|
||||||
|
<option value="贵州">贵州</option>
|
||||||
|
<option value="海南">海南</option>
|
||||||
|
<option value="河北">河北</option>
|
||||||
|
<option value="黑龙江">黑龙江</option>
|
||||||
|
<option value="河南">河南</option>
|
||||||
|
<option value="湖北">湖北</option>
|
||||||
|
<option value="湖南">湖南</option>
|
||||||
|
<option value="江西">江西</option>
|
||||||
|
<option value="吉林">吉林</option>
|
||||||
|
<option value="辽宁">辽宁</option>
|
||||||
|
<option value="内蒙古">内蒙古</option>
|
||||||
|
<option value="宁夏">宁夏</option>
|
||||||
|
<option value="青海">青海</option>
|
||||||
|
<option value="山东">山东</option>
|
||||||
|
<option value="山西">山西</option>
|
||||||
|
<option value="陕西">陕西</option>
|
||||||
|
<option value="四川">四川</option>
|
||||||
|
<option value="天津">天津</option>
|
||||||
|
<option value="新疆">新疆</option>
|
||||||
|
<option value="西藏">西藏</option>
|
||||||
|
<option value="云南">云南</option>
|
||||||
|
<option value="香港">香港特别行政区</option>
|
||||||
|
<option value="澳门">澳门特别行政区</option>
|
||||||
|
<option value="台湾">台湾</option>
|
||||||
|
<option value="海外">海外</option>
|
||||||
|
</select>
|
||||||
|
<select name="city" id="userCity" class="location"></select>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<% unless @user.user_extensions.identity == 2 %>
|
||||||
|
<p style="width:400px;padding-left: 26px;">
|
||||||
|
<%= l(:label_identity) %>
|
||||||
|
<select onchange="showtechnical_title(this.value, document.getElementById('userTechnical_title'));" name="identity" id="userIdentity" class="location">
|
||||||
|
<option value=""><%= l(:label_account_identity_choose) %></option>
|
||||||
|
<option value="0"><%= l(:label_account_identity_teacher) %></option>
|
||||||
|
<option value="1"><%= l(:label_account_identity_student) %></option>
|
||||||
|
<option value="3"><%= l(:label_account_identity_developer) %></option>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<span id='technical_title' style='display:none'>
|
||||||
|
<select name="technical_title" id="userTechnical_title"></select>
|
||||||
|
</span>
|
||||||
|
<span id='no' style='display:none'>
|
||||||
|
<!-- modified by fq -->
|
||||||
|
<% unless User.current.user_extensions.student_id.nil? %>
|
||||||
|
<%= text_field_tag :no, User.current.user_extensions.student_id, :placeholder => "请输入学号" %>
|
||||||
|
<% else %>
|
||||||
|
<%= text_field_tag :no, nil, :placeholder => "请输入学号" %></span>
|
||||||
|
<% end %>
|
||||||
|
<!-- end -->
|
||||||
|
</span>
|
||||||
|
<% else %>
|
||||||
|
<span style="display:none">
|
||||||
|
<select onchange="showtechnical_title(this.value, document.getElementById('userTechnical_title'));" name="identity" id="userIdentity" class="location">
|
||||||
|
<option value=""><%= l(:label_account_identity_choose) %></option>
|
||||||
|
<option value="0"><%= l(:label_account_identity_teacher) %></option>
|
||||||
|
<option value="1"><%= l(:label_account_identity_student) %></option>
|
||||||
|
<option value="2"><%= l(:label_account_identity_enterprise) %></option>
|
||||||
|
<option value="3"><%= l(:label_account_identity_developer) %></option>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<% if Setting.openid? %>
|
||||||
|
<p> <%= f.text_field :identity_url %> </p>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% @user.custom_field_values.select(&:editable?).each do |value| %>
|
||||||
|
<p> <%= custom_field_tag_with_label :user, value %> </p>
|
||||||
|
<% end %>
|
||||||
|
<%= call_hook(:view_my_account, :user => @user, :form => f) %>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="collapsible collapsed" style="width:800px;margin-left: 10px;">
|
||||||
|
<legend onclick="toggleFieldset(this);">
|
||||||
|
<%= l(:field_mail_notification) %>
|
||||||
|
</legend>
|
||||||
|
<div style="padding-left: 26px;"> <!-- modified by ming -->
|
||||||
|
<p style="width:380px;">
|
||||||
|
<%= render :partial => 'users/mail_notifications' %>
|
||||||
|
</p></div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<!-- added by william -->
|
||||||
|
<fieldset class="collapsible collapsed" style="width:800px;margin-left: 10px;display: none">
|
||||||
|
<legend onclick="toggleFieldset(this);">
|
||||||
|
<%= l(:label_user_extensions) %>
|
||||||
|
</legend>
|
||||||
|
<div>
|
||||||
|
<%= render :partial => 'users/user_extensions' %></div>
|
||||||
|
</fieldset>
|
||||||
|
<!-- end -->
|
||||||
|
<%= submit_tag l(:button_save) %>
|
||||||
|
</fieldset>
|
||||||
|
<% end %>
|
||||||
|
<% html_title(l(:label_my_account)) -%>
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript">
|
<script type="text/javascript" language="javascript">
|
||||||
function showcity(province, cityField) {
|
function showcity(province, cityField) {
|
||||||
switch (province) {
|
switch (province) {
|
||||||
|
@ -368,95 +477,30 @@ function showcity(province, cityField) {
|
||||||
}
|
}
|
||||||
function init_province_and_city(pField, province, cField, city) {
|
function init_province_and_city(pField, province, cField, city) {
|
||||||
for (var i = 0; i < pField.options.length; i++) {
|
for (var i = 0; i < pField.options.length; i++) {
|
||||||
if (pField.options[i].value==province)
|
if (pField.options[i].value == province) {
|
||||||
{
|
|
||||||
pField.selectedIndex = i;
|
pField.selectedIndex = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
showcity(province, cField);
|
showcity(province, cField);
|
||||||
for (var i = 0; i < cField.options.length; i++) {
|
for (var i = 0; i < cField.options.length; i++) {
|
||||||
if (cField.options[i].value==city)
|
if (cField.options[i].value == city) {
|
||||||
{
|
|
||||||
cField.selectedIndex = i;
|
cField.selectedIndex = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function init_identity_and_title(pField, identity, cField, title) {
|
function init_identity_and_title(pField, identity, cField, title) {
|
||||||
for (var i = 0; i < pField.options.length; i++) {
|
for (var i = 0; i < pField.options.length; i++) {
|
||||||
if (pField.options[i].value==identity)
|
if (pField.options[i].value == identity) {
|
||||||
{
|
|
||||||
pField.selectedIndex = i;
|
pField.selectedIndex = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
showtechnical_title(identity, cField);
|
showtechnical_title(identity, cField);
|
||||||
for (var i = 0; i < cField.options.length; i++) {
|
for (var i = 0; i < cField.options.length; i++) {
|
||||||
if (cField.options[i].value==title)
|
if (cField.options[i].value == title) {
|
||||||
{
|
|
||||||
cField.selectedIndex = i;
|
cField.selectedIndex = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
<% province = User.current.user_extensions.location %>
|
|
||||||
<% city = User.current.user_extensions.location_city %>
|
|
||||||
<% identity = User.current.user_extensions.identity %>
|
|
||||||
<% title = User.current.user_extensions.technical_title %>
|
|
||||||
<script type="text/javascript" language="javascript">
|
|
||||||
$().ready(function(){
|
|
||||||
var province = "<%= "#{province}" %>"
|
|
||||||
var city = "<%= "#{city}" %>"
|
|
||||||
init_province_and_city(document.getElementById('userProvince'),province, document.getElementById('userCity'),city);
|
|
||||||
var identity = "<%= "#{identity}" %>"
|
|
||||||
var title = "<%= "#{title}" %>"
|
|
||||||
init_identity_and_title(document.getElementById('userIdentity'),identity, document.getElementById('userTechnical_title'),title);
|
|
||||||
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<p style="width:400px;padding-left: 26px;"><%= l(:label_location) %>
|
|
||||||
<select onchange="showcity(this.value, document.getElementById('userCity'));" name="province" id="userProvince" class="location">
|
|
||||||
<option value="">--请选择省份--</option>
|
|
||||||
<option value="北京">北京</option>
|
|
||||||
<option value="上海">上海</option>
|
|
||||||
<option value="广东">广东</option>
|
|
||||||
<option value="江苏">江苏</option>
|
|
||||||
<option value="浙江">浙江</option>
|
|
||||||
<option value="重庆">重庆</option>
|
|
||||||
<option value="安徽">安徽</option>
|
|
||||||
<option value="福建">福建</option>
|
|
||||||
<option value="甘肃">甘肃</option>
|
|
||||||
<option value="广西">广西</option>
|
|
||||||
<option value="贵州">贵州</option>
|
|
||||||
<option value="海南">海南</option>
|
|
||||||
<option value="河北">河北</option>
|
|
||||||
<option value="黑龙江">黑龙江</option>
|
|
||||||
<option value="河南">河南</option>
|
|
||||||
<option value="湖北">湖北</option>
|
|
||||||
<option value="湖南">湖南</option>
|
|
||||||
<option value="江西">江西</option>
|
|
||||||
<option value="吉林">吉林</option>
|
|
||||||
<option value="辽宁">辽宁</option>
|
|
||||||
<option value="内蒙古">内蒙古</option>
|
|
||||||
<option value="宁夏">宁夏</option>
|
|
||||||
<option value="青海">青海</option>
|
|
||||||
<option value="山东">山东</option>
|
|
||||||
<option value="山西">山西</option>
|
|
||||||
<option value="陕西">陕西</option>
|
|
||||||
<option value="四川">四川</option>
|
|
||||||
<option value="天津">天津</option>
|
|
||||||
<option value="新疆">新疆</option>
|
|
||||||
<option value="西藏">西藏</option>
|
|
||||||
<option value="云南">云南</option>
|
|
||||||
<option value="香港">香港特别行政区</option>
|
|
||||||
<option value="澳门">澳门特别行政区</option>
|
|
||||||
<option value="台湾">台湾</option>
|
|
||||||
<option value="海外">海外</option>
|
|
||||||
</select>
|
|
||||||
<select name="city" id="userCity" class="location"></select></p>
|
|
||||||
<!-- end -->
|
|
||||||
|
|
||||||
<!-- added by bai 增加职称-->
|
|
||||||
<script type="text/javascript" language="javascript">
|
|
||||||
function showtechnical_title(identity, technical_titleField) {
|
function showtechnical_title(identity, technical_titleField) {
|
||||||
switch (identity) {
|
switch (identity) {
|
||||||
|
|
||||||
|
@ -510,95 +554,3 @@ $().ready(function(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<!-- end -->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<% unless @user.user_extensions.identity == 2 %>
|
|
||||||
<p style="width:400px;padding-left: 26px;"><%= l(:label_identity) %>
|
|
||||||
<td class="info" style="width: 10px">
|
|
||||||
<select onchange="showtechnical_title(this.value, document.getElementById('userTechnical_title'));" name="identity" id="userIdentity" class="location">
|
|
||||||
<option value=""><%= l(:label_account_identity_choose) %></option>
|
|
||||||
<option value="0"><%= l(:label_account_identity_teacher) %></option>
|
|
||||||
<option value="1"><%= l(:label_account_identity_student) %></option>
|
|
||||||
<option value="3"><%= l(:label_account_identity_developer) %></option>
|
|
||||||
|
|
||||||
</select></td>
|
|
||||||
<span id = 'technical_title' style = 'display:none'>
|
|
||||||
<select name="technical_title" id="userTechnical_title"></select></span>
|
|
||||||
<span id = 'no' style = 'display:none'>
|
|
||||||
|
|
||||||
<!-- modified by fq -->
|
|
||||||
<% unless User.current.user_extensions.student_id.nil? %>
|
|
||||||
<%= text_field_tag :no, User.current.user_extensions.student_id, :placeholder => "请输入学号" %></span>
|
|
||||||
<!-- <input name="no" id="no" value=<%= "#{User.current.user_extensions.student_id}" %> placeholder="请输入学号"></span> -->
|
|
||||||
<% else %>
|
|
||||||
<%= text_field_tag :no, nil, :placeholder => "请输入学号" %></span>
|
|
||||||
<!-- <input name="no" id="no" placeholder="请输入学号"></span> -->
|
|
||||||
<% end %>
|
|
||||||
<!-- end -->
|
|
||||||
</td></tr></table></p>
|
|
||||||
<% else %>
|
|
||||||
<span style="display:none">
|
|
||||||
<select onchange="showtechnical_title(this.value, document.getElementById('userTechnical_title'));" name="identity" id="userIdentity" class="location">
|
|
||||||
<option value=""><%= l(:label_account_identity_choose) %></option>
|
|
||||||
<option value="0"><%= l(:label_account_identity_teacher) %></option>
|
|
||||||
<option value="1"><%= l(:label_account_identity_student) %></option>
|
|
||||||
<option value="2"><%= l(:label_account_identity_enterprise) %></option>
|
|
||||||
<option value="3"><%= l(:label_account_identity_developer) %></option>
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
<!-- end -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<% if Setting.openid? %>
|
|
||||||
<p>
|
|
||||||
<%= f.text_field :identity_url %>
|
|
||||||
</p></div>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% @user.custom_field_values.select(&:editable?).each do |value| %>
|
|
||||||
<p>
|
|
||||||
<%= custom_field_tag_with_label :user, value %>
|
|
||||||
</p>
|
|
||||||
<% end %>
|
|
||||||
<%= call_hook(:view_my_account, :user => @user, :form => f) %>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset class="collapsible collapsed" style="width:800px;margin-left: 10px;">
|
|
||||||
<legend onclick="toggleFieldset(this);">
|
|
||||||
<%= l(:field_mail_notification)%>
|
|
||||||
</legend>
|
|
||||||
<div style="padding-left: 26px;"> <!-- modified by ming -->
|
|
||||||
<p style="width:380px;>
|
|
||||||
<%= render :partial => 'users/mail_notifications' %>
|
|
||||||
</p></div>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<!-- <fieldset class="collapsible collapsed" style="width:800px;margin-left: 10px;">
|
|
||||||
<legend onclick="toggleFieldset(this);">
|
|
||||||
<%= l(:label_preferences)%>
|
|
||||||
</legend>
|
|
||||||
<div style="padding-left: 26px;">
|
|
||||||
<%= render :partial => 'users/preferences' %></div>
|
|
||||||
</fieldset> -->
|
|
||||||
<!-- added by william -->
|
|
||||||
<fieldset class="collapsible collapsed" style="width:800px;margin-left: 10px;display: none">
|
|
||||||
<legend onclick="toggleFieldset(this);">
|
|
||||||
<%= l(:label_user_extensions)%>
|
|
||||||
</legend>
|
|
||||||
<div>
|
|
||||||
<%= render :partial => 'users/user_extensions' %></div>
|
|
||||||
</fieldset>
|
|
||||||
<!-- end -->
|
|
||||||
<%= submit_tag l(:button_save) %>
|
|
||||||
</fieldset>
|
|
||||||
<% end %>
|
|
||||||
<% html_title(l(:label_my_account)) -%>
|
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
<% @admin = @project.project_infos%>
|
<% @admin = @project.project_infos%>
|
||||||
<%if @admin&&@admin.first&&@admin.first.user&&@admin.first.user.user_extensions%>
|
<%if @admin&&@admin.first&&@admin.first.user&&@admin.first.user.user_extensions%>
|
||||||
<!-- <%= @admin.first.user.user_extensions.occupation %> -->
|
<!-- <%= @admin.first.user.user_extensions.occupation %> -->
|
||||||
<% unless @project.course_extra.school.nil? %>
|
<%# unless @project.course_extra.school.nil? %>
|
||||||
<%= @project.course_extra.school.name %>
|
<%= @project.course_extra.teacher.user_extensions.school.try(:name) %>
|
||||||
<% end %>
|
<%# end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
<p >
|
<p >
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
<td><%=h @repository.url %></td>
|
<td><%=h @repository.url %></td>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% if @repositories.size >1 %>
|
|
||||||
<p style=" word-wrap: break-word; word-break: break-all">
|
<p style=" word-wrap: break-word; word-break: break-all">
|
||||||
(<%= l(:label_all_revisions) %><%= @repositories.sort.collect {|repo|
|
(<%= l(:label_all_revisions) %><%= @repositories.sort.collect {|repo|
|
||||||
link_to h(repo.name),
|
link_to h(repo.name),
|
||||||
|
@ -21,7 +20,6 @@
|
||||||
:id => @project, :repository_id => repo.identifier_param, :rev => nil, :path => nil},
|
:id => @project, :repository_id => repo.identifier_param, :rev => nil, :path => nil},
|
||||||
:class => 'repository' + (repo == @repository ? ' selected' : '')
|
:class => 'repository' + (repo == @repository ? ' selected' : '')
|
||||||
}.join(' | ').html_safe %>)</p>
|
}.join(' | ').html_safe %>)</p>
|
||||||
<% else %>
|
|
||||||
<h3>项目代码请设置好正确的编码方式(utf-8),否则中文会出现乱码</h3>
|
<h3>项目代码请设置好正确的编码方式(utf-8),否则中文会出现乱码</h3>
|
||||||
<h3>建立版本库文件夹,打开命令行执行如下:</h3>
|
<h3>建立版本库文件夹,打开命令行执行如下:</h3>
|
||||||
<div class="repos_explain">
|
<div class="repos_explain">
|
||||||
|
@ -29,6 +27,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 remote add origin <%= @repos_url%></p>
|
<p>git remote add origin <%= @repos_url%></p>
|
||||||
|
<p>git config http.postBuffer 524288000 #设置本地post缓存为500MB</p>
|
||||||
<p>git push -u origin master:master</p>
|
<p>git push -u origin master:master</p>
|
||||||
</div>
|
</div>
|
||||||
<h3>已经有本地库,还没有配置远程地址,打开命令行执行如下:</h3>
|
<h3>已经有本地库,还没有配置远程地址,打开命令行执行如下:</h3>
|
||||||
|
@ -36,6 +35,7 @@
|
||||||
<p>git remote add origin <%= @repos_url%></p>
|
<p>git remote add origin <%= @repos_url%></p>
|
||||||
<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 push -u origin master:matser</p>
|
<p>git push -u origin master:matser</p>
|
||||||
</div>
|
</div>
|
||||||
</h3>
|
</h3>
|
||||||
|
@ -44,10 +44,10 @@
|
||||||
<p>git remote add trustie <%= @repos_url%></p>
|
<p>git remote add trustie <%= @repos_url%></p>
|
||||||
<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 push -u trustie master:matser</p>
|
<p>git push -u trustie master:matser</p>
|
||||||
<p><%= link_to "李海提供", user_path(646)%></p>
|
<p><%= link_to "李海提供", user_path(646)%></p>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
|
||||||
</h3>
|
</h3>
|
||||||
<% if !@entries.nil? && authorize_for('repositories', 'browse') %>
|
<% if !@entries.nil? && authorize_for('repositories', 'browse') %>
|
||||||
<%= render :partial => 'dir_list' %>
|
<%= render :partial => 'dir_list' %>
|
||||||
|
|
|
@ -4,12 +4,17 @@
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#province").html("<option value='0' selected = true style='display: none;'></option>");
|
$("#province").html("<option value='0' selected = true style='display: none;'></option>");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type :"POST",
|
type :"POST",
|
||||||
url :'/school/get_province',
|
url :'/school/get_province',
|
||||||
data :'text',
|
data: "send",
|
||||||
success: function(data){
|
success: function(data, textStatus){
|
||||||
$("#province").append(data);
|
|
||||||
|
$("#province").append(data.text);
|
||||||
|
$("#schoollist").html(data.text_s);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
alert('新建参赛作品成功!');
|
|
@ -14,10 +14,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="avatar-4"; style="float: left; margin-top: 7px "><%= image_tag('/images/app1.png')%></div>
|
<div class="avatar-4"; style="float: left; margin-top: 7px "><%= image_tag('/images/app1.png')%></div>
|
||||||
<div style="float: left; width: 600px; padding-top: 6px; margin-left: 8px"><%= softapplication.description.truncate(95, omission: '...') %></div>
|
<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; ">
|
<div style="float: left; width: 200px; margin-left: 70px; margin-top: -3px; line-height: 0.5em ">
|
||||||
<%contest = softapplication.contests.first%>
|
<%contest = softapplication.contests.first%>
|
||||||
<p>所属竞赛:<%= contest ? link_to(contest.name.truncate(10, omission: '...'), show_softapplication_contest_path(contest), title: contest.name.to_s ) : '尚未加入竞赛'%></p>
|
<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(5, omission: '...') %></p>
|
<p>所属类别:<%= softapplication.app_type_name.truncate(10, omission: '...') %></p>
|
||||||
<p>系统支持:<%= softapplication.android_min_version_available %></p>
|
<p>系统支持:<%= softapplication.android_min_version_available %></p>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding-left: 53px">
|
<div style="padding-left: 53px">
|
||||||
|
@ -36,4 +36,4 @@
|
||||||
|
|
||||||
<div class="pagination"><%= pagination_links_full @softapplication_pages, @softapplication_count, :per_page_links => false %></div>
|
<div class="pagination"><%= pagination_links_full @softapplication_pages, @softapplication_count, :per_page_links => false %></div>
|
||||||
|
|
||||||
<% html_title l(:label_softapplication_list)%>
|
<% html_title l(:label_contest_work_list)%>
|
|
@ -27,7 +27,7 @@
|
||||||
<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">所属类别:<%= @softapplication.app_type_name %></td>
|
||||||
<% contest = @softapplication.contests.first %>
|
<% contest = @softapplication.contests.first %>
|
||||||
<td style="width: 240px; word-wrap: break-word; word-break: break-all">所属竞赛:<%= contest ? link_to(contest.name, show_softapplication_contest_path(contest)) : '尚未加入竞赛'%></td>
|
<td style="width: 240px; word-wrap: break-word; word-break: break-all">所属竞赛:<%= contest ? link_to(contest.name, show_attendingcontest_contest_path(contest)) : '尚未加入竞赛'%></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding-left: 40px">发布人员:<%= @softapplication.user.name %></td>
|
<td style="padding-left: 40px">发布人员:<%= @softapplication.user.name %></td>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding-left: 40px">
|
<td style="padding-left: 40px">
|
||||||
<span>应用下载:</span>
|
<span>作品下载:</span>
|
||||||
<span>
|
<span>
|
||||||
<% options = {:author => true, :deletable => @softapplication.user.eql?(User.current) } %><%= render :partial => 'attachments/app_link', :locals => {:attachments => @app_items, :options => options} %>
|
<% options = {:author => true, :deletable => @softapplication.user.eql?(User.current) } %><%= render :partial => 'attachments/app_link', :locals => {:attachments => @app_items, :options => options} %>
|
||||||
</span>
|
</span>
|
||||||
|
@ -56,13 +56,13 @@
|
||||||
<div class="underline-contests_one"></div>
|
<div class="underline-contests_one"></div>
|
||||||
|
|
||||||
<div style="height: auto; padding-bottom: 10px">
|
<div style="height: auto; padding-bottom: 10px">
|
||||||
<strong><div style="font-size: 15px;">应用简介:</div></strong>
|
<strong><div style="font-size: 15px;">作品简介:</div></strong>
|
||||||
<div style="padding-top: 5px"><%= @softapplication.description %></div>
|
<div style="padding-top: 5px"><%= @softapplication.description %></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="underline-contests_one"></div>
|
<div class="underline-contests_one"></div>
|
||||||
|
|
||||||
<div style="height: auto; padding-bottom: 10px">
|
<div style="height: auto; padding-bottom: 10px">
|
||||||
<div style="font-size: 15px;"><strong>应用得分:</strong></div>
|
<div style="font-size: 15px;"><strong>作品得分:</strong></div>
|
||||||
<!-- <div>打分总人数:<%= @softapplication.raters(:quality).count%></div> -->
|
<!-- <div>打分总人数:<%= @softapplication.raters(:quality).count%></div> -->
|
||||||
<div style="overflow: hidden">
|
<div style="overflow: hidden">
|
||||||
<div style="margin-left: 15%; float: left">
|
<div style="margin-left: 15%; float: left">
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
<div class="underline-contests_one"></div>
|
<div class="underline-contests_one"></div>
|
||||||
|
|
||||||
<div style="height: auto; padding-bottom: 10px">
|
<div style="height: auto; padding-bottom: 10px">
|
||||||
<strong><div style="font-size: 15px">软件截图:</div></strong>
|
<strong><div style="font-size: 15px">作品截图:</div></strong>
|
||||||
<div class="softapplication-img" style="padding-top: 5px">
|
<div class="softapplication-img" style="padding-top: 5px">
|
||||||
<% @image_results.take(4).each do |attachment| %>
|
<% @image_results.take(4).each do |attachment| %>
|
||||||
<%= link_to_attachment_img attachment, :class => "soft-application", :download => "true" %>
|
<%= link_to_attachment_img attachment, :class => "soft-application", :download => "true" %>
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div style="height: 50px">
|
<div style="height: 50px">
|
||||||
<div style="font-size: 15px"><strong>软件评论:</strong></div>
|
<div style="font-size: 15px"><strong>作品评论:</strong></div>
|
||||||
<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">评分: <%= rating_for @softapplication, dimension: :quality, class: 'rateable div_inline' %><span style="font-size: 11px">(您可以重新打分,打分结果以最后一次打分为主!)</span></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<h3>test</h3>
|
<h3>test</h3>
|
||||||
|
|
||||||
|
|
||||||
<% users = User.all%>
|
<% user = User.find(1)%>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>id</th><th>name</th><th>C</th><th>I</th><th>S</th><th>filecount</th><th>issuecount</th><th>level</th><th>attachconut</th>
|
<th>id</th><th>name</th><th>C</th><th>I</th><th>S</th><th>filecount</th><th>issuecount</th><th>level</th><th>attachconut</th>
|
||||||
</tr>
|
</tr>
|
||||||
<% users.each do |user| %>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
<td><%= calculate_attachments(user) %></td>
|
<td><%= calculate_attachments(user) %></td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<p>
|
<p>
|
||||||
<%= label_tag "user_mail_notification", l(:description_user_mail_notification), :class => "hidden-for-sighted" %>
|
<%= label_tag "user_mail_notification", l(:description_user_mail_notification), :class => "hidden-for-sighted_bak" %>
|
||||||
<%= select_tag(
|
<%= select_tag(
|
||||||
'user[mail_notification]',
|
'user[mail_notification]',
|
||||||
options_for_select(
|
options_for_select(
|
||||||
|
|
|
@ -244,7 +244,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pagination" style="float:left;">
|
<div class="pagination" style="float:left;">
|
||||||
<ul> <%= pagination_links_full @info_pages %> <ul>
|
<ul> <%= pagination_links_full @info_pages %> </ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% else %>
|
<% else %>
|
||||||
|
|
|
@ -152,7 +152,11 @@
|
||||||
<div style="float: left; margin-left: 12px; margin-top: 10px; margin-bottom: -4px; width: 380px;">
|
<div style="float: left; margin-left: 12px; margin-top: 10px; margin-bottom: -4px; width: 380px;">
|
||||||
<!-- <%= link_to(contest.name, contest.event_url, :class => "d-g-blue d-p-project-name", :title => "#{contest.name}", :target => "_blank") %> -->
|
<!-- <%= link_to(contest.name, contest.event_url, :class => "d-g-blue d-p-project-name", :title => "#{contest.name}", :target => "_blank") %> -->
|
||||||
<%= link_to(contest.name, show_contest_contest_path(contest.id), :class => "d-g-blue d-p-project-name", :title => "#{contest.name}", :target => "_blank") %>
|
<%= link_to(contest.name, show_contest_contest_path(contest.id), :class => "d-g-blue d-p-project-name", :title => "#{contest.name}", :target => "_blank") %>
|
||||||
<span class="font_lighter">(<span style="font-size: 17px"><%= link_to("含#{contest.contesting_softapplications.count}个app", show_softapplication_contest_path(contest), :target => "_blank") %></span>)</span>
|
<% 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>
|
||||||
|
<% 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>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='text_nowrap' style="float: left;margin:5px; margin-left: 12px; margin-bottom: 2px; width: 380px;">
|
<div class='text_nowrap' style="float: left;margin:5px; margin-left: 12px; margin-bottom: 2px; width: 380px;">
|
||||||
|
@ -201,7 +205,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="J_Slide" class="d-p-index-box d-p-index-hotproject">
|
<div id="J_Slide" class="d-p-index-box d-p-index-hotproject">
|
||||||
<h3 style="margin-left: 5px; color: #e8770d;"><strong>最新参赛应用</strong></h3>
|
<h3 style="margin-left: 5px; color: #e8770d;"><strong>最新参赛作品</strong></h3>
|
||||||
<span style="margin-top: -20px;float: right; display: block;"><%= link_to "更多>>", {:controller => 'softapplications', :action => 'index', :host => Setting.contest_domain}, :target => "_blank" %></span>
|
<span style="margin-top: -20px;float: right; display: block;"><%= link_to "更多>>", {:controller => 'softapplications', :action => 'index', :host => Setting.contest_domain}, :target => "_blank" %></span>
|
||||||
<div class="d-p-projectlist-box">
|
<div class="d-p-projectlist-box">
|
||||||
<% if Softapplication.count > 0%>
|
<% if Softapplication.count > 0%>
|
||||||
|
|
|
@ -1607,3 +1607,5 @@ en:
|
||||||
label_activity_time: publish date
|
label_activity_time: publish date
|
||||||
|
|
||||||
|
|
||||||
|
# ajax异步验证
|
||||||
|
modal_valid_passing: can be used.
|
||||||
|
|
|
@ -190,6 +190,8 @@ zh:
|
||||||
notice_issue_done_ratios_updated: 问题完成度已更新。
|
notice_issue_done_ratios_updated: 问题完成度已更新。
|
||||||
notice_gantt_chart_truncated: "这个表是截断的因为它超过了可以显示的最大数量(%{max})"
|
notice_gantt_chart_truncated: "这个表是截断的因为它超过了可以显示的最大数量(%{max})"
|
||||||
|
|
||||||
|
error_complete_occupation: "请您填写工作单位,否则本系统的部分功能将无法正常使用。"
|
||||||
|
|
||||||
error_can_t_load_default_data: "无法载入默认设置:%{value}"
|
error_can_t_load_default_data: "无法载入默认设置:%{value}"
|
||||||
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
||||||
error_scm_command_failed: "访问版本库时发生错误:%{value}"
|
error_scm_command_failed: "访问版本库时发生错误:%{value}"
|
||||||
|
@ -1844,8 +1846,9 @@ zh:
|
||||||
label_contest_project: 参赛项目
|
label_contest_project: 参赛项目
|
||||||
label_contest_softapplication: 参赛应用
|
label_contest_softapplication: 参赛应用
|
||||||
label_contest_response: 用户反馈
|
label_contest_response: 用户反馈
|
||||||
label_contest_watchers: 关注人员
|
label_contest_watchers: 关注人数
|
||||||
label_contest_application: 参赛应用
|
label_contest_application: 参赛应用
|
||||||
|
label_contest_work: 参赛作品
|
||||||
button_contesting_as_project: 我要参赛(新建项目)
|
button_contesting_as_project: 我要参赛(新建项目)
|
||||||
button_contesting_as_application: 我要参赛(发布应用)
|
button_contesting_as_application: 我要参赛(发布应用)
|
||||||
label_release_softapplication: 发布应用
|
label_release_softapplication: 发布应用
|
||||||
|
@ -1874,6 +1877,8 @@ zh:
|
||||||
label_edit_softapplication: 修改应用
|
label_edit_softapplication: 修改应用
|
||||||
label_contest_delete: 删除竞赛
|
label_contest_delete: 删除竞赛
|
||||||
label_softapplication_list: 应用列表
|
label_softapplication_list: 应用列表
|
||||||
|
label_contest_work_list: 参赛作品列表
|
||||||
|
label_attending_contest: 我要参赛
|
||||||
|
|
||||||
label_coursefile_sharingarea: 课程资源共享区
|
label_coursefile_sharingarea: 课程资源共享区
|
||||||
label_sort_by_activity: 按动态数排序
|
label_sort_by_activity: 按动态数排序
|
||||||
|
@ -1888,3 +1893,6 @@ zh:
|
||||||
label_contest_settings: 配置竞赛
|
label_contest_settings: 配置竞赛
|
||||||
label_contest_delete: 删除竞赛
|
label_contest_delete: 删除竞赛
|
||||||
|
|
||||||
|
# ajax异步验证
|
||||||
|
modal_valid_passing: 可以使用
|
||||||
|
|
|
@ -71,6 +71,7 @@ RedmineApp::Application.routes.draw do
|
||||||
match 'show_contest' , via: :get
|
match 'show_contest' , via: :get
|
||||||
match 'show_project' , via: :get
|
match 'show_project' , via: :get
|
||||||
match 'show_softapplication' , via: :get
|
match 'show_softapplication' , via: :get
|
||||||
|
match 'show_attendingcontest' , via: :get
|
||||||
match 'show_participator' , via: :get
|
match 'show_participator' , via: :get
|
||||||
match 'add' , via: [:get, :post]
|
match 'add' , via: [:get, :post]
|
||||||
match 'add_softapplication' , via: [:get, :post]
|
match 'add_softapplication' , via: [:get, :post]
|
||||||
|
@ -126,6 +127,7 @@ RedmineApp::Application.routes.draw do
|
||||||
match 'account/register', :to => 'account#register', :via => [:get, :post], :as => 'register'
|
match 'account/register', :to => 'account#register', :via => [:get, :post], :as => 'register'
|
||||||
match 'account/lost_password', :to => 'account#lost_password', :via => [:get, :post], :as => 'lost_password'
|
match 'account/lost_password', :to => 'account#lost_password', :via => [:get, :post], :as => 'lost_password'
|
||||||
match 'account/activate', :to => 'account#activate', :via => :get
|
match 'account/activate', :to => 'account#activate', :via => :get
|
||||||
|
match 'account/valid_ajax', :to => 'account#valid_ajax', :via => :get
|
||||||
|
|
||||||
match '/news/preview', :controller => 'previews', :action => 'news', :as => 'preview_news', :via => [:get, :post, :put]
|
match '/news/preview', :controller => 'previews', :action => 'news', :as => 'preview_news', :via => [:get, :post, :put]
|
||||||
match '/issues/preview/new/:project_id', :to => 'previews#issue', :as => 'preview_new_issue', :via => [:get, :post, :put]
|
match '/issues/preview/new/:project_id', :to => 'previews#issue', :as => 'preview_new_issue', :via => [:get, :post, :put]
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class DropUserScores < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
drop_table :user_scores
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,8 @@
|
||||||
|
class CreateUserLevels < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :user_levels do |t|
|
||||||
|
t.integer :user_id
|
||||||
|
t.integer :level
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,11 @@
|
||||||
|
class CreateUserScores < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :user_scores do |t|
|
||||||
|
t.integer :user_id
|
||||||
|
t.integer :collaboration
|
||||||
|
t.integer :influence
|
||||||
|
t.integer :skill
|
||||||
|
t.integer :activity
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
14
db/schema.rb
14
db/schema.rb
|
@ -863,6 +863,11 @@ ActiveRecord::Schema.define(:version => 20140509020307) do
|
||||||
add_index "user_grades", ["project_id"], :name => "index_user_grades_on_project_id"
|
add_index "user_grades", ["project_id"], :name => "index_user_grades_on_project_id"
|
||||||
add_index "user_grades", ["user_id"], :name => "index_user_grades_on_user_id"
|
add_index "user_grades", ["user_id"], :name => "index_user_grades_on_user_id"
|
||||||
|
|
||||||
|
create_table "user_levels", :force => true do |t|
|
||||||
|
t.integer "user_id"
|
||||||
|
t.integer "level"
|
||||||
|
end
|
||||||
|
|
||||||
create_table "user_preferences", :force => true do |t|
|
create_table "user_preferences", :force => true do |t|
|
||||||
t.integer "user_id", :default => 0, :null => false
|
t.integer "user_id", :default => 0, :null => false
|
||||||
t.text "others"
|
t.text "others"
|
||||||
|
@ -873,16 +878,11 @@ ActiveRecord::Schema.define(:version => 20140509020307) do
|
||||||
add_index "user_preferences", ["user_id"], :name => "index_user_preferences_on_user_id"
|
add_index "user_preferences", ["user_id"], :name => "index_user_preferences_on_user_id"
|
||||||
|
|
||||||
create_table "user_scores", :force => true do |t|
|
create_table "user_scores", :force => true do |t|
|
||||||
t.integer "user_id", :null => false
|
t.integer "user_id"
|
||||||
t.integer "collaboration"
|
t.integer "collaboration"
|
||||||
t.integer "influence"
|
t.integer "influence"
|
||||||
t.integer "skill"
|
t.integer "skill"
|
||||||
t.integer "active"
|
t.integer "activity"
|
||||||
t.datetime "created_at", :null => false
|
|
||||||
t.datetime "updated_at", :null => false
|
|
||||||
t.integer "level"
|
|
||||||
t.integer "file"
|
|
||||||
t.integer "issue"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "user_statuses", :force => true do |t|
|
create_table "user_statuses", :force => true do |t|
|
||||||
|
|
|
@ -279,8 +279,10 @@ end
|
||||||
###new add by linchun
|
###new add by linchun
|
||||||
Redmine::MenuManager.map :contest_menu do |menu|
|
Redmine::MenuManager.map :contest_menu do |menu|
|
||||||
menu.push :respond, :show_contest_contest_path, :caption => :label_user_response
|
menu.push :respond, :show_contest_contest_path, :caption => :label_user_response
|
||||||
menu.push :project, :show_project_contest_path, :caption => :label_contest_project
|
#menu.push :project, :show_project_contest_path, :caption => :label_contest_project
|
||||||
menu.push :application, :show_softapplication_contest_path, :caption => :label_contest_application
|
#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 :attendingcontest, :show_attendingcontest_contest_path, :caption => :label_attendin,g_contest
|
||||||
# menu.push :result, { :controller => 'bids', :action => 'show_results' },
|
# menu.push :result, { :controller => 'bids', :action => 'show_results' },
|
||||||
# :caption => :label_bidding_results,:if => Proc.new{ |p| User.current.id == p }
|
# :caption => :label_bidding_results,:if => Proc.new{ |p| User.current.id == p }
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
/* TODO: base/common/page 准备封装一些基本样式组合调用 参考YUI
|
/* TODO: base/common/page 准备封装一些基本样式组合调用 参考YUI
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
span[id^=valid_user]{
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
.red{
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
.green{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
.border_box {
|
.border_box {
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
|
|
Loading…
Reference in New Issue