Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
Conflicts: config/locales/en.yml
This commit is contained in:
commit
b545c5034d
|
@ -70,3 +70,8 @@ kw:
|
|||
undefined image_width ÎÊÌâ
|
||||
bundle exec rake db:migrate:down version=20140725062302
|
||||
bundle exec rake db:migrate:up version=20140725062302
|
||||
|
||||
=================================[2014-07-19]=====================================
|
||||
kw: Mysql2::Error,存储过程,CALL sp_project_status_cursor();
|
||||
bundle exec rake db:migrate:down version=20130828004955
|
||||
bundle exec rake db:migrate:up version=20130828004955
|
||||
|
|
|
@ -20,7 +20,7 @@ class ActivitiesController < ApplicationController
|
|||
before_filter :find_optional_project, :index
|
||||
accept_rss_auth :index
|
||||
helper :Watchers
|
||||
|
||||
helper :project_score
|
||||
def index
|
||||
@days = Setting.activity_days_default.to_i
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ class BidsController < ApplicationController
|
|||
helper :projects
|
||||
helper :words
|
||||
helper :welcome
|
||||
helper :project_score
|
||||
|
||||
def find_project_by_bid_id
|
||||
@bid = Bid.find(params[:id])
|
||||
|
|
|
@ -26,6 +26,7 @@ class BoardsController < ApplicationController
|
|||
helper :sort
|
||||
include SortHelper
|
||||
helper :watchers
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
#modify by nwb
|
||||
|
|
|
@ -27,6 +27,7 @@ class CalendarsController < ApplicationController
|
|||
include QueriesHelper
|
||||
helper :sort
|
||||
include SortHelper
|
||||
helper :project_score
|
||||
|
||||
def show
|
||||
if params[:year] and params[:year].to_i > 1900
|
||||
|
|
|
@ -624,7 +624,9 @@ class CoursesController < ApplicationController
|
|||
"show_course_journals_for_messages" => true
|
||||
}
|
||||
@date_to ||= Date.today + 1
|
||||
@date_from = @date_to - @days-1.years
|
||||
#
|
||||
@date_from = (@date_to - @days) > @course.created_at.to_date ? (@date_to - @days) : @course.created_at.to_date
|
||||
#@date_from = @date_to - @days-1.years
|
||||
@author = (params[:user_id].blank? ? nil : User.active.find(params[:user_id]))
|
||||
# 决定显示所用用户或单个用户活动
|
||||
@activity = Redmine::Activity::Fetcher.new(User.current, :course => @course,
|
||||
|
|
|
@ -26,6 +26,7 @@ class DocumentsController < ApplicationController
|
|||
before_filter :authorize_document
|
||||
|
||||
helper :attachments
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
@sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category'
|
||||
|
|
|
@ -24,6 +24,7 @@ class FilesController < ApplicationController
|
|||
|
||||
helper :sort
|
||||
include SortHelper
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
#sort_init 'filename', 'asc'
|
||||
|
@ -40,7 +41,32 @@ class FilesController < ApplicationController
|
|||
render :layout => !request.xhr?
|
||||
elsif params[:course_id]
|
||||
@isproject = false
|
||||
@containers = [ Course.includes(:attachments).reorder("#{Attachment.table_name}.created_on DESC").find(@course.id)]
|
||||
|
||||
if params[:sort]
|
||||
if params[:sort].include?":"
|
||||
@orderBy = params[:sort].split(":")[0]
|
||||
@orderType = params[:sort].split(":")[1].split(",")[0]
|
||||
else
|
||||
@orderBy = params[:sort].split(",")[0]
|
||||
@orderType = "asc"
|
||||
end
|
||||
end
|
||||
|
||||
if @orderBy=="size"
|
||||
@orderBy="filesize"
|
||||
elsif @orderBy=="field_file_dense"
|
||||
@orderBy="is_public"
|
||||
elsif @orderBy=="attach_type"
|
||||
@orderBy="attachtype"
|
||||
elsif @orderBy=="content_type"
|
||||
@orderBy="attachtype"
|
||||
end
|
||||
|
||||
if @orderBy
|
||||
@containers = [ Course.includes(:attachments).reorder("#{Attachment.table_name}.#{@orderBy} #{@orderType}").find(@course.id)]
|
||||
else
|
||||
@containers = [ Course.includes(:attachments).reorder("#{Attachment.table_name}.created_on desc").find(@course.id)]
|
||||
end
|
||||
render :layout => 'base_courses'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,6 +29,7 @@ class GanttsController < ApplicationController
|
|||
helper :sort
|
||||
include SortHelper
|
||||
include Redmine::Export::PDF
|
||||
helper :project_score
|
||||
|
||||
def show
|
||||
@gantt = Redmine::Helpers::Gantt.new(params)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#added by baiyu
|
||||
class GitUsageController < ApplicationController
|
||||
layout "project_base"
|
||||
def ch_usage
|
||||
|
||||
end
|
||||
|
|
|
@ -26,6 +26,8 @@ class IssueCategoriesController < ApplicationController
|
|||
before_filter :authorize
|
||||
accept_api_auth :index, :show, :create, :update, :destroy
|
||||
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
respond_to do |format|
|
||||
format.html { redirect_to_settings_in_projects }
|
||||
|
|
|
@ -52,6 +52,7 @@ class IssuesController < ApplicationController
|
|||
include IssuesHelper
|
||||
helper :timelog
|
||||
include Redmine::Export::PDF
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
retrieve_query
|
||||
|
|
|
@ -28,6 +28,7 @@ class MessagesController < ApplicationController
|
|||
helper :watchers
|
||||
helper :attachments
|
||||
include AttachmentsHelper
|
||||
helper :project_score
|
||||
|
||||
REPLIES_PER_PAGE = 25 unless const_defined?(:REPLIES_PER_PAGE)
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ class NewsController < ApplicationController
|
|||
|
||||
helper :watchers
|
||||
helper :attachments
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
case params[:format]
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
class NotificationcommentsController < ApplicationController
|
||||
def show
|
||||
|
||||
end
|
||||
# default_search_scope :contestnotifications
|
||||
# model_object Contestnotifications
|
||||
# before_filter :authorize
|
||||
|
@ -20,8 +23,14 @@ class NotificationcommentsController < ApplicationController
|
|||
end
|
||||
|
||||
def destroy
|
||||
@contestnotifications.notificaioncomments.find(params[:notificaioncomment_id]).destroy
|
||||
redirect_to contest_contestnotification_path(@contestnotifications)
|
||||
@contest = Contest.find(params[:contest_id])
|
||||
@contestnotification = Contestnotification.find(params[:contestnotification_id])
|
||||
notificaioncomments = Notificationcomment.find(params[:id])
|
||||
notificaioncomments.destroy if notificaioncomments
|
||||
#@contestnotifications = notificaioncomments.Contestnotification
|
||||
#@contest = @contestnotifications.contest
|
||||
#@contestnotifications.notificaioncomments.find(params[:notificaioncomment_id]).destroy
|
||||
redirect_to contest_contestnotification_path(@contest,@contestnotification)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -75,6 +75,7 @@ class ProjectsController < ApplicationController
|
|||
helper :watchers
|
||||
# helper :watcherlist
|
||||
helper :words
|
||||
helper :project_score
|
||||
### added by william
|
||||
include ActsAsTaggableOn::TagsHelper
|
||||
|
||||
|
@ -493,10 +494,10 @@ class ProjectsController < ApplicationController
|
|||
project_info = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
|
||||
user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id)
|
||||
Rails.logger.debug "UserGrade created: #{user_grades.to_json}"
|
||||
if params[:project][:is_public] == '1'
|
||||
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @project.project_type)
|
||||
#if params[:project][:is_public] == '1'
|
||||
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @project.project_type,:grade => 0)
|
||||
Rails.logger.debug "ProjectStatus created: #{project_status.to_json}"
|
||||
end
|
||||
#end
|
||||
@project.members << m
|
||||
@project.project_infos << project_info
|
||||
#end
|
||||
|
|
|
@ -39,6 +39,7 @@ class RepositoriesController < ApplicationController
|
|||
before_filter :check_hidden_repo, :only => [:show, :stats, :revisions, :revision, :diff ]
|
||||
helper :repositories
|
||||
include RepositoriesHelper
|
||||
helper :project_score
|
||||
#@root_path = RepositoriesHelper::ROOT_PATH
|
||||
|
||||
|
||||
|
@ -205,6 +206,14 @@ class RepositoriesController < ApplicationController
|
|||
@repository.committer_ids = params[:committers].values.inject({}) {|h, c| h[c.first] = c.last; h}
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to settings_project_path(@project, :tab => 'repositories')
|
||||
elsif request.get?
|
||||
respond_to do |format|
|
||||
format.html{
|
||||
render :layout => "project_base"
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -412,7 +421,10 @@ class RepositoriesController < ApplicationController
|
|||
Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}")
|
||||
unless read_fragment(@cache_key)
|
||||
@diff = @repository.diff(@path, @rev, @rev_to)
|
||||
show_error_not_found unless @diff
|
||||
unless @diff
|
||||
show_error_not_found
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
@changeset = @repository.find_changeset_by_name(@rev)
|
||||
|
|
|
@ -156,8 +156,8 @@ class SoftapplicationsController < ApplicationController
|
|||
format.html { redirect_to show_attendingcontest_contest_path(:id => params[:contest_id]), notice: l(:notice_attendingcontest_work_successfully_created) }
|
||||
# format.json { render json: @softapplication, status: :created, location: @softapplication }
|
||||
else
|
||||
format.js { render status: 406 }
|
||||
format.html { render action: "new" }
|
||||
#format.js { render status: 406 }
|
||||
format.html { render action: "contests/show_attendingcontest" }
|
||||
# format.json { render json: @softapplication.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,6 +29,7 @@ class VersionsController < ApplicationController
|
|||
|
||||
helper :custom_fields
|
||||
helper :projects
|
||||
helper :project_score
|
||||
|
||||
def index
|
||||
respond_to do |format|
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
class WelcomeController < ApplicationController
|
||||
include ApplicationHelper
|
||||
include WelcomeHelper
|
||||
|
||||
helper :project_score
|
||||
caches_action :robots
|
||||
# before_filter :fake, :only => [:index, :course]
|
||||
before_filter :entry_select, :only => [:index]
|
||||
|
|
|
@ -44,6 +44,7 @@ class WikiController < ApplicationController
|
|||
include AttachmentsHelper
|
||||
helper :watchers
|
||||
include Redmine::Export::PDF
|
||||
helper :project_score
|
||||
|
||||
# List of pages, sorted alphabetically and by parent (hierarchy)
|
||||
def index
|
||||
|
|
|
@ -53,10 +53,13 @@ module MembersHelper
|
|||
|
||||
# 当前申请加入的成员名单
|
||||
def render_principals_for_applied_members(project)
|
||||
scope = Principal.active.sorted.applied_members(project).like(params[:q])
|
||||
scope = project.applied_projects.map(&:user)
|
||||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page']
|
||||
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
offset ||= principal_pages.offset
|
||||
principals = scope[offset, 10]
|
||||
#principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
#principals = ApplicationController.new.paginateHelper scope,10
|
||||
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
|
||||
|
|
|
@ -1,8 +1,90 @@
|
|||
# encoding: utf-8
|
||||
class ProjectScoreHelper
|
||||
module ProjectScoreHelper
|
||||
#缺陷数量
|
||||
def issue_num project
|
||||
project.issues.count
|
||||
end
|
||||
|
||||
#缺陷留言数量
|
||||
def issue_journal_num project
|
||||
project.issue_changes.count
|
||||
end
|
||||
|
||||
#新闻数量
|
||||
def news_num project
|
||||
project.news.count
|
||||
end
|
||||
|
||||
#文档数量
|
||||
def document_num project
|
||||
project.documents.count
|
||||
end
|
||||
|
||||
#代码提交数量
|
||||
def changesets_num project
|
||||
project.changesets.count
|
||||
end
|
||||
|
||||
#讨论区帖子数量
|
||||
def board_message_num project
|
||||
board_message_count = 0
|
||||
project.boards.each do |board|
|
||||
board_message_count += board.messages_count
|
||||
end
|
||||
board_message_count
|
||||
end
|
||||
|
||||
#缺陷得分
|
||||
def issue_score project
|
||||
i_num = issue_num project
|
||||
i_j_num = issue_journal_num project
|
||||
i_num * 4 + i_j_num
|
||||
end
|
||||
|
||||
# 新闻得分
|
||||
def news_score project
|
||||
n_num = news_num project
|
||||
n_num
|
||||
end
|
||||
|
||||
#文档得分
|
||||
def document_score project
|
||||
d_num = document_num project
|
||||
d_num * 4
|
||||
end
|
||||
|
||||
#代码提交得分
|
||||
def changesets_score project
|
||||
c_num = changesets_num project
|
||||
c_num * 4
|
||||
end
|
||||
|
||||
#讨论区帖子得分
|
||||
def board_message_score project
|
||||
b_m_num = board_message_num project
|
||||
b_m_num * 2
|
||||
end
|
||||
|
||||
#项目得分
|
||||
def project_scores project
|
||||
result = (issue_score project) + (news_score project) + (document_score project) + (changesets_score project) + (board_message_score project)
|
||||
pss = ProjectStatus.where("project_id = '#{project.id}'")
|
||||
if pss.nil? || pss.count == 0
|
||||
ps = ProjectStatus.new
|
||||
ps.grade = result
|
||||
ps.project = project
|
||||
ps.watchers_count = project.watcher_users.count
|
||||
ps.changesets_count = project.changesets.count
|
||||
ps.save
|
||||
else
|
||||
ps = pss.first
|
||||
ps.grade = result
|
||||
if ps.changesets_count.nil? || ps.changesets_count == ""
|
||||
ps.changesets_count = project.changesets.count
|
||||
end
|
||||
ps.save
|
||||
end
|
||||
result
|
||||
end
|
||||
|
||||
end
|
|
@ -337,12 +337,15 @@ module UserScoreHelper
|
|||
:activity => activity, :file => file, :issue => issue, :level => level)
|
||||
end
|
||||
|
||||
#====================================================================================================
|
||||
def get_option_number(user,type,project_id=nil)
|
||||
if project_id.nil?
|
||||
#========================================================================================================
|
||||
#个人得分统计
|
||||
#========================================================================================================
|
||||
#type 1:个人得分、2:个人在项目project中的得分
|
||||
def get_option_number(user,type,project=nil)
|
||||
if project.nil?
|
||||
option_number = OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}'");
|
||||
else
|
||||
option_number = OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}' and project_id = '#{project_id}'");
|
||||
option_number = OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}' and project_id = '#{project.id}'");
|
||||
end
|
||||
|
||||
result = nil
|
||||
|
@ -382,6 +385,7 @@ module UserScoreHelper
|
|||
def update_score(option_number)
|
||||
option_number.total_score = collaboration(option_number) + influence(option_number) + skill(option_number) + active(option_number)
|
||||
option_number.save
|
||||
option_number.total_score
|
||||
end
|
||||
|
||||
#协同得分
|
||||
|
@ -402,16 +406,16 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新发帖数
|
||||
def update_memo_number(user,type)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.memo = Message.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count + Memo.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
|
||||
def update_memo_number(user,type,project=nil)
|
||||
option_number = get_option_number(user,type,project)
|
||||
option_number.memo = memo_num(user,project)#Message.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count + Memo.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
#发帖数
|
||||
def memo_num(user,project=nil)
|
||||
if project.nil?
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id != -1").all.count
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id != -1").all.count #+ Memo.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
|
||||
else
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id = #{project.id}").all.count
|
||||
end
|
||||
|
@ -419,9 +423,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新对缺陷留言数
|
||||
def update_messges_for_issue(user,type)
|
||||
def update_messges_for_issue(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.messages_for_issues = Journal.includes(:user).where("user_id = '#{user.id}' and notes != '' and notes is not null").all.count
|
||||
option_number.messages_for_issues = messges_for_issue_num(user,project)#Journal.includes(:user).where("user_id = '#{user.id}' and notes != '' and notes is not null").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -434,9 +438,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新更改缺陷状态状态次数
|
||||
def update_issues_status(user,type)
|
||||
def update_issues_status(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.issues_status = Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'status_id' and #{User.table_name}.id = '#{user.id}'").count
|
||||
option_number.issues_status = issues_status_num(user,project)#Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'status_id' and #{User.table_name}.id = '#{user.id}'").count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -450,26 +454,31 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新对留言的回复数量
|
||||
def update_replay_for_message(user,type)
|
||||
def update_replay_for_message(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.replay_for_message = JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id}").count
|
||||
option_number.replay_for_message = replay_for_message_num(user,project)#JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id}").count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
def replay_for_message_num(user)
|
||||
JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id}").count
|
||||
def replay_for_message_num(user,project=nil)
|
||||
if project.nil?
|
||||
JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id} and jour_type = 'Project'").count
|
||||
else
|
||||
JournalsForMessage.includes(:user).where("m_parent_id IS NOT NULL and user_id = #{user.id} and jour_type = 'Project' and jour_id = '#{project.id}'").count
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
#更新对帖子的回复数量
|
||||
def update_replay_for_memo(user,type)
|
||||
def update_replay_for_memo(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.replay_for_memo = Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count #+ Memo.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count
|
||||
option_number.replay_for_memo = replay_for_memo_num(user,project)#Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count #+ Memo.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
def replay_for_memo_num(user,project=nil)
|
||||
if project.nil?
|
||||
Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NOT NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id != -1").all.count
|
||||
else
|
||||
Message.includes(:author).joins(:board).where("#{Message.table_name}.parent_id IS NOT NULL and #{Message.table_name}.author_id = '#{user.id}' and #{Board.table_name}.project_id = #{project.id}").all.count
|
||||
end
|
||||
|
@ -487,32 +496,13 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新帖子踩各项数量
|
||||
def update_tread(user,type)
|
||||
def update_tread(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.tread = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0 and user_id = '#{user.id}'").all.count
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 0").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
pts.each do |pt|
|
||||
obj = PraiseTread.find_object_by_type_and_id(pt.praise_tread_object_type, pt.praise_tread_object_id)
|
||||
if obj.nil?
|
||||
next
|
||||
end
|
||||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
option_number.tread_by_one = result.count
|
||||
option_number.tread_by_two = result1.count
|
||||
option_number.tread_by_three = result2.count
|
||||
tread_nums = tread_num(user,project)
|
||||
option_number.tread = tread_nums[:tread]
|
||||
option_number.tread_by_one = tread_nums[:tead_by_one]
|
||||
option_number.tread_by_two = tread_nums[:tread_by_two]
|
||||
option_number.tread_by_three = tread_nums[:tread_by_three]
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -571,31 +561,12 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新帖子顶数量
|
||||
def update_praise(user,type)
|
||||
def update_praise(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
pts = PraiseTread.where("praise_tread_object_type = 'Issue' || praise_tread_object_type = 'Message' and praise_or_tread = 1").all
|
||||
result = []
|
||||
result1 = []
|
||||
result2 = []
|
||||
pts.each do |pt|
|
||||
obj = PraiseTread.find_object_by_type_and_id(pt.praise_tread_object_type, pt.praise_tread_object_id)
|
||||
if obj.nil?
|
||||
next
|
||||
end
|
||||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
if level == 1 && target_user.id = user.id
|
||||
result << pt
|
||||
elsif level == 2 && target_user.id = user.id
|
||||
result1 << pt
|
||||
elsif level == 3 && target_user.id = user.id
|
||||
result2 << pt
|
||||
end
|
||||
end
|
||||
option_number.praise_by_one = result.count
|
||||
option_number.praise_by_two = result1.count
|
||||
option_number.praise_by_three = result2.count
|
||||
praise_nums = praise_num(user,project)
|
||||
option_number.praise_by_one = praise_nums[:praise_by_one]
|
||||
option_number.praise_by_two = praise_nums[:praise_by_two]
|
||||
option_number.praise_by_three = praise_nums[:praise_by_three]
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -635,6 +606,9 @@ module UserScoreHelper
|
|||
if obj.nil?
|
||||
next
|
||||
end
|
||||
#if obj.project.id == -1
|
||||
# next
|
||||
#end
|
||||
target_user = obj.author
|
||||
level = UserLevels.get_level(pt.user)#pt.user.get_level
|
||||
project = pt.project
|
||||
|
@ -652,9 +626,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新提交代码次数
|
||||
def update_changeset(user,type)
|
||||
def update_changeset(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.changeset = Changeset.includes(:user).where("user_id = '#{user.id}'").all.count
|
||||
option_number.changeset = changeset_num(user,project)#Changeset.includes(:user).where("user_id = '#{user.id}'").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -668,9 +642,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新文档提交次数
|
||||
def update_document(user,type)
|
||||
def update_document(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.document = Document.includes(:user).where("user_id = '#{user.id}'").all.count
|
||||
option_number.document = document_num(user,project)#Document.includes(:user).where("user_id = '#{user.id}'").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -684,9 +658,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新附件提交数量
|
||||
def update_attachment(user,type)
|
||||
def update_attachment(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.attachment = Attachment.includes(:author).where("author_id = '#{user.id}'").all.count
|
||||
option_number.attachment = attachment_num(user,project)#Attachment.includes(:author).where("author_id = '#{user.id}'").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -699,9 +673,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新缺陷完成度次数
|
||||
def update_issue_done_ratio(user,type)
|
||||
def update_issue_done_ratio(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.issue_done_ratio = Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count
|
||||
option_number.issue_done_ratio = issue_done_ratio_num(user,project) #Journal.joins(:details, :user).where("#{JournalDetail.table_name}.prop_key = 'done_ratio' and #{User.table_name}.id = '#{user.id}'").count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -715,9 +689,9 @@ module UserScoreHelper
|
|||
end
|
||||
|
||||
#更新发布缺陷次数
|
||||
def update_post_issue(user,type)
|
||||
def update_post_issue(user,type,project=nil)
|
||||
option_number = get_option_number(user,type)
|
||||
option_number.post_issue = Issue.includes(:author).where("author_id = '#{user.id}'").all.count
|
||||
option_number.post_issue = post_issue_num(user,project) #Issue.includes(:author).where("author_id = '#{user.id}'").all.count
|
||||
update_score(option_number)
|
||||
end
|
||||
|
||||
|
@ -727,6 +701,23 @@ module UserScoreHelper
|
|||
else
|
||||
Issue.includes(:author).where("author_id = '#{user.id}' and project_id = '#{project.id}'").all.count
|
||||
end
|
||||
end
|
||||
|
||||
def user_scores(user,type,project=nil)
|
||||
ooption_num = get_option_number(user,type,project)
|
||||
update_memo_number(user,type,project)
|
||||
update_messges_for_issue(user,type,project)
|
||||
update_issues_status(user,type,project)
|
||||
update_replay_for_message(user,type,project)
|
||||
update_replay_for_memo(user,type,project)
|
||||
update_tread(user,type,project)
|
||||
update_praise(user,type,project)
|
||||
update_changeset(user,type,project)
|
||||
update_document(user,type,project)
|
||||
update_attachment(user,type,project)
|
||||
update_issue_done_ratio(user,type,project)
|
||||
update_post_issue(user,type,project)
|
||||
update_score(ooption_num)
|
||||
ooption_num
|
||||
end
|
||||
end
|
||||
|
|
|
@ -193,7 +193,7 @@ class Attachment < ActiveRecord::Base
|
|||
def show_suffix_type
|
||||
suffix = 'other'
|
||||
temp = self.suffix_type.downcase
|
||||
if self.attachmentstype.suffixArr.include?(temp)
|
||||
if self.attachmentstype && self.attachmentstype.suffixArr.include?(temp)
|
||||
suffix = temp
|
||||
end
|
||||
suffix
|
||||
|
|
|
@ -4,6 +4,7 @@ class Notificationcomment < ActiveRecord::Base
|
|||
include Redmine::SafeAttributes
|
||||
belongs_to :notificationcommented, :polymorphic => true#, :counter_cache => true
|
||||
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
|
||||
belongs_to :Contestnotification
|
||||
|
||||
validates_presence_of :notificationcommented, :author, :notificationcomments
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
class ProjectStatus < ActiveRecord::Base
|
||||
attr_accessible :changesets_count, :watchers_count, :project_id, :project_type
|
||||
attr_accessible :changesets_count, :watchers_count, :project_id, :project_type,:grade
|
||||
belongs_to :project
|
||||
belongs_to :watchers
|
||||
belongs_to :changesets
|
||||
|
|
|
@ -11,7 +11,7 @@ class Softapplication < ActiveRecord::Base
|
|||
belongs_to :project
|
||||
has_many :contests, :through => :contesting_softapplications
|
||||
|
||||
validates_length_of :name, :maximum => 125
|
||||
validates_length_of :name, :maximum => 25
|
||||
validates_length_of :application_developers, :maximum => 125
|
||||
validates_length_of :android_min_version_available, :maximum => 125
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<table width="100%" valign="center">
|
||||
<tr>
|
||||
<td ><span style="margin-left:0px"><%= l(:label_task_plural)%>(<%= @homework_list.count%>)</span>
|
||||
<%= link_to "作业打包下载", zipdown_assort_path(obj_class: @bid.class, obj_id: @bid), remote: false, class: "button_submit button_submit_font_white", style: "margin: 5px 10px;line-height: 20px;height: 20px;display: inline-block;" if(is_teacher && @bid.homeworks.count > 0) %>
|
||||
<%= link_to "作业打包下载", zipdown_assort_path(obj_class: @bid.class, obj_id: @bid), class: "button_submit button_submit_font_white", style: "margin: 5px 10px;line-height: 20px;height: 20px;display: inline-block;" if(is_teacher && @bid.homeworks.count > 0) %>
|
||||
</td>
|
||||
<td align="right">
|
||||
<div class="project-search">
|
||||
|
@ -96,7 +96,7 @@
|
|||
<td>
|
||||
<strong>项目得分:
|
||||
<span style="color: <%= homework.project.nil? ? "#727272" : "#EC6300"%>;">
|
||||
<%= homework.project.nil? ? "N/A" : project_score(homework.project) %>
|
||||
<%= homework.project.nil? ? "N/A" : project_scores(homework.project) %>
|
||||
</span>
|
||||
</strong>
|
||||
</td>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<td>
|
||||
<strong>提交文件:
|
||||
<% if is_evaluation || is_teacher%>
|
||||
<%= link_to "打包下载", :controller => "zipdown", :action => "download_user_homework",:homework => homework, :remote => true%>
|
||||
<%= link_to "打包下载", :controller => "zipdown", :action => "download_user_homework",:homework => homework%>
|
||||
<% else %>
|
||||
<span class="required">未开启互评功能作业不允许下载</span>
|
||||
<% end %>
|
||||
|
|
|
@ -69,7 +69,21 @@
|
|||
<td>
|
||||
<table width="580px" border="0">
|
||||
<tr>
|
||||
<td colspan="2" valign="top"><strong><%= link_to_user(notificationcomment.author) if notificationcomment.respond_to?(:author) %> </strong><span class="font_lighter"><%= l(:label_project_newadd) %></span><%= l(:label_comment_plural) %></td>
|
||||
<td colspan="2" valign="top">
|
||||
<strong>
|
||||
<%= link_to_user(notificationcomment.author) if notificationcomment.respond_to?(:author) %>
|
||||
</strong>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_project_newadd) %>
|
||||
</span>
|
||||
<%= l(:label_comment_plural) %>
|
||||
</td>
|
||||
<td>
|
||||
<% if notificationcomment.author==User.current|| User.current.admin? %>
|
||||
<%= link_to(l(:label_bid_respond_delete), contest_contestnotification_notificationcomment_path(@contest, @contestnotification,notificationcomment),
|
||||
:method => :delete,:confirm => l(:text_are_you_sure), :title => l(:button_delete)) %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580px" >
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="content-title-top-avtive">
|
||||
<!-- <h3><%= @author.nil? ? l(:label_activity) : l(:label_user_activity, link_to_user(@author)).html_safe %></h3> -->
|
||||
<p class="subtitle">
|
||||
<%= l(:label_date_from_to, :start => format_date(@date_to - @days), :end => format_date(@date_to-1)) %>
|
||||
<%= l(:label_date_from_to, :start => format_date(@date_from), :end => format_date(@date_to - 1)) %>
|
||||
</p>
|
||||
|
||||
<% @events_by_day.keys.sort.reverse.each do |day| %>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<%= sort_header_tag('field_file_dense', :caption => l(:field_file_dense), :default_order => 'desc', :scope => "col", :id => "vzebra-field_file_dense") %>
|
||||
<%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc', :scope => "col", :id => "vzebra-action") %>
|
||||
<%= sort_header_tag('operation', :caption => "", :scope => "col", :id => "vzebra-children") %>
|
||||
<!-- <%= sort_header_tag('description', :caption => l(:field_description)) %> -->
|
||||
<!-- <%#= sort_header_tag('description', :caption => l(:field_description)) %> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<!-- <td class="created_on"><%#= format_time(file.created_on) %></td> -->
|
||||
<td class="filesize"><%= number_to_human_size(file.filesize) %></td>
|
||||
<td class="attach_type">
|
||||
<span id="attach_type_id_label<%= file.id %>" style="white-space:nowrap;"><%= file.attachmentstype.typeName %></span>
|
||||
<span id="attach_type_id_label<%= file.id %>" style="white-space:nowrap;"><%= file.attachmentstype.typeName unless file.attachmentstype.nil? %></span>
|
||||
<span id="attach_type_id_edit<%= file.id %>" style="white-space:nowrap;">
|
||||
<%= render :partial => 'attachments/course_type_edit', :locals => {:attachmenttypes => attachmenttypes, :attachment => file, :contentype => selContentType} %>
|
||||
</span>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<%= sort_header_tag('field_file_dense', :caption => l(:field_file_dense), :default_order => 'desc', :scope => "col", :id => "vzebra-field_file_dense") %>
|
||||
<%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc', :scope => "col", :id => "vzebra-action") %>
|
||||
<%= sort_header_tag('operation', :caption => "", :scope => "col", :id => "vzebra-children") %>
|
||||
<!-- <%= sort_header_tag('description', :caption => l(:field_description)) %> -->
|
||||
<!-- <%#= sort_header_tag('description', :caption => l(:field_description)) %> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
@ -1,63 +1,80 @@
|
|||
<%= labelled_fields_for :issue, @issue do |f| %>
|
||||
|
||||
<fieldset class="collapsible collapsed" style="padding-left: 50px;">
|
||||
<legend onclick="toggleFieldset(this);" style="font-size:12px;"><strong><%= l(:label_change_properties) %></strong></legend>
|
||||
<div class="splitcontent" style="display: block;">
|
||||
<div class="splitcontentleft">
|
||||
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
|
||||
<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true},
|
||||
:onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %></p>
|
||||
|
||||
<% else %>
|
||||
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'priority_id' %>
|
||||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'assigned_to_id' %>
|
||||
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %></p>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
||||
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
||||
new_project_version_path(@issue.project),
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:label_version_new),
|
||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="splitcontentright">
|
||||
|
||||
<% if @issue.safe_attribute? 'start_date' %>
|
||||
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'due_date' %>
|
||||
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'estimated_hours' %>
|
||||
<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute?('done_ratio') && @issue.leaf? && Issue.use_field_for_done_ratio? %>
|
||||
<p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :required => @issue.required_attribute?('done_ratio') %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<% if @issue.safe_attribute? 'custom_field_values' %>
|
||||
<%= render :partial => 'issues/form_custom_fields' %>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% include_calendar_headers_tags %>
|
||||
<%= labelled_fields_for :issue, @issue do |f| %>
|
||||
|
||||
<fieldset class="collapsible collapsed" style="padding-left: 50px;">
|
||||
<legend onclick="toggleFieldset(this);" style="font-size:12px;"><strong><%= l(:label_change_properties) %></strong></legend>
|
||||
<div class="splitcontent" style="display: block;">
|
||||
<div class="splitcontentleft">
|
||||
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
|
||||
<p><%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true}, :onchange => "updateIssueFrom('#{escape_javascript project_issue_form_path(@project, :id => @issue, :format => 'js')}')" %></p>
|
||||
|
||||
<% else %>
|
||||
<p><label><%= l(:field_status) %></label> <%= h(@issue.status.name) %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'priority_id' %>
|
||||
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'assigned_to_id' %>
|
||||
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %></p>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
|
||||
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version), :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
|
||||
<%= link_to(image_tag('add.png', :style => 'vertical-align: middle;'),
|
||||
new_project_version_path(@issue.project),
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:label_version_new),
|
||||
:tabindex => 200) if User.current.allowed_to?(:manage_versions, @issue.project) %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="splitcontentright">
|
||||
|
||||
<% if @issue.safe_attribute? 'start_date' %>
|
||||
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'due_date' %>
|
||||
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date') if @issue.leaf? %></p>
|
||||
<% end %>
|
||||
|
||||
<% if @issue.safe_attribute? 'estimated_hours' %>
|
||||
<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
function PrecentChange(obj){
|
||||
var _v= obj;
|
||||
if(_v==100)
|
||||
{
|
||||
//alert(3);
|
||||
}
|
||||
else if(_v==0)
|
||||
{
|
||||
//alert(1);
|
||||
}
|
||||
else if(_v!=100&&_v!=0)
|
||||
{
|
||||
// alert(2);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<% if @issue.safe_attribute?('done_ratio') && @issue.leaf? && Issue.use_field_for_done_ratio? %>
|
||||
<p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), {:required => @issue.required_attribute?('done_ratio')},
|
||||
{:onchange => "PrecentChange(this.value)"} %></p>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<% if @issue.safe_attribute? 'custom_field_values' %>
|
||||
<%= render :partial => 'issues/form_custom_fields' %>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% include_calendar_headers_tags %>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
<% @nav_dispaly_project_label = 1
|
||||
@nav_dispaly_forum_label = 1 %>
|
||||
<% #@nav_dispaly_project_label = 1 %>
|
||||
|
@ -62,37 +63,10 @@
|
|||
<%= link_to @project.name, project_path(@project)%>
|
||||
</div>
|
||||
<div>
|
||||
<!-- added by bai 增加项目得分 -->
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
|
||||
<% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
|
||||
<% if @project.project_type == 0 %>
|
||||
<%= l(:label_project_grade)%> :
|
||||
<%= link_to(format("%.2f" , finall_project_score ).to_f, {:controller => 'projects',
|
||||
<%= link_to(format("%.2f" , project_scores(@project) ).to_i, {:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true,
|
||||
:id => @project.id
|
||||
|
|
|
@ -104,6 +104,8 @@
|
|||
<div class="memo-content">
|
||||
<%= textilizable(@topic, :content) %>
|
||||
<%= link_to_attachments @topic, :author => false %>
|
||||
<%# options = {:author => true, :deletable => @topic.author.eql?(User.current)} %>
|
||||
<%#= render :partial => 'attachments/app_link', :locals => {:attachments => @topi.attachments, :options => options} %>
|
||||
</div>
|
||||
<div class="memo-timestamp">
|
||||
<div style="float: left"><%= authoring @topic.created_on, @topic.author %></div>
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
</span>
|
||||
|
||||
<span id='enterprise' style='display:none'>
|
||||
<p style="width:400px;padding-left: 26px;">企业名<%= text_field_tag :enterprise_name, @user.firstname %>
|
||||
<p style="width:400px;padding-left: 26px;"><%= l(:label_company_name)%><%= text_field_tag :enterprise_name, @user.firstname %>
|
||||
</p>
|
||||
</span>
|
||||
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<!-- added by bai -->
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
<div><%= l(:label_code_submit_number) %> * 0.3 = <%= changeset_count %> * 0.3 = <%= format("%.2f" , code_submit_score).to_f %></div>
|
||||
<div><%= l(:label_code_submit_score) %> = <%= format("%.2f" , finall_code_submit_score).to_f %></div>
|
||||
<div><%= l(:label_code_submit_number) %> * 4 = <%= changesets_num(@project) %> * 4 = <%= format("%.2f" , changesets_score(@project)).to_i %></div>
|
||||
<div><%= l(:label_code_submit_score) %> = <%= format("%.2f" , changesets_score(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -1,7 +1,4 @@
|
|||
<!-- added by bai -->
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
<div><%= l(:label_file_number) %> * 0.1 = <%= document_count %> * 0.1 = <%= format("%.2f" , file_score).to_f %></div>
|
||||
<div><%= l(:label_file_score) %> = <%= format("%.2f" , finall_file_score).to_f %></div>
|
||||
<div><%= l(:label_file_number) %> * 4 = <%= document_num(@project) %> * 4 = <%= format("%.2f" , document_score(@project)).to_i %></div>
|
||||
<div><%= l(:label_file_score) %> = <%= format("%.2f" , document_score(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -8,10 +8,13 @@
|
|||
<p style="padding-right: 20px;">
|
||||
<%= f.text_area :description, :rows => 8, :class => 'wiki-edit', :style => "font-size:small;width:490px;margin-left:10px;" %>
|
||||
</p><!--by young-->
|
||||
<p><%= f.text_field :identifier, :required => true, :size => 60, :style => "width:488px;", :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH %>
|
||||
|
||||
<p style="display: none"><%= f.text_field :identifier, :required => true, :size => 60, :style => "width:488px;", :disabled => @project.identifier_frozen?, :maxlength => Project::IDENTIFIER_MAX_LENGTH,
|
||||
value:"#{User.current.id.to_s + '_' +format_time(Time.now).to_s}" %>
|
||||
<% unless @project.identifier_frozen? %>
|
||||
<em class="info"><%= l(:text_length_between, :min => 1, :max => Project::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_project_identifier_info).html_safe %></em>
|
||||
<% end %></p>
|
||||
|
||||
<!-- <p style="margin-left:-10px;"><%#= f.text_field :homepage, :size => 60, :style => "width:488px;margin-left: 10px;" %></p> --> <!-- by huang -->
|
||||
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :is_public, :style => "margin-left:10px;" %></em></p>
|
||||
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :hidden_repo, :style => "margin-left:10px;" %></em></p>
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<!-- added by bai -->
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
<div><%= l(:label_issue_number) %> * 0.2 = <%= issue_count %> * 0.2 = <%= format("%.2f" , issue_score).to_f %></div>
|
||||
<div><%= l(:label_issue_journal_number) %> * 0.1 = <%= issue_journal_count %> * 0.1 = <%= format("%.2f" , issue_journal_score).to_f %></div>
|
||||
<div><%= l(:label_issue_score) %> = <%= format("%.2f" , issue_score).to_f %> + <%= format("%.2f" , issue_journal_score).to_f %>
|
||||
= <%= format("%.2f" , finall_issue_score).to_f %></div>
|
||||
<div><%= l(:label_issue_number) %> * 4 = <%= issue_num(@project) %> * 4 = <%= format("%.2f" , issue_num(@project) * 4).to_i %></div>
|
||||
<div><%= l(:label_issue_journal_number) %> * 1 = <%= issue_journal_num(@project) %> * 1 = <%= format("%.2f" , issue_journal_num(@project)).to_i %></div>
|
||||
<div><%= l(:label_issue_score) %> = <%= format("%.2f" , issue_num(@project) * 4).to_i %> + <%= format("%.2f" , issue_journal_num(@project)).to_i %>
|
||||
= <%= format("%.2f" , issue_score(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -1,7 +1,5 @@
|
|||
<!-- added by bai -->
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
<div><%= l(:label_new_number) %> * 0.1 = <%= new_count %> * 0.1 = <%= format("%.2f" , new_score).to_f %></div>
|
||||
<div><%= l(:label_news_score) %> = <%= format("%.2f" , finall_new_score).to_f %></div>
|
||||
|
||||
<div><%= l(:label_new_number) %> * 1 = <%= news_num(@project) %> * 1 = <%= format("%.2f" , news_score(@project)).to_i %></div>
|
||||
<div><%= l(:label_news_score) %> = <%= format("%.2f" , news_score(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -18,37 +18,37 @@
|
|||
|
||||
<div class="information">
|
||||
<p class="stats">
|
||||
<table style="width: 400px;">
|
||||
<table style="width: 280px;">
|
||||
<tr>
|
||||
<td style="width: 50%;text-align: right;font-size: 17px;">
|
||||
<td style="width: 40%;text-align: right;font-size: 17px;">
|
||||
<strong><%= link_to @project.watcher_users.count, project_watcherlist_path(project)%></strong>
|
||||
</td>
|
||||
<td style="width: 50%;text-align: left">
|
||||
<td style="width: 60%;text-align: left">
|
||||
<%= content_tag('span', l(:label_x_follow_people,:count =>@project.watcher_users.count)) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;text-align: right;font-size: 17px;">
|
||||
<td style="width: 40%;text-align: right;font-size: 17px;">
|
||||
<strong><%= link_to "#{@project.members.count}", project_member_path(@project)%></strong>
|
||||
</td>
|
||||
<td style="width: 50%;text-align: left">
|
||||
<td style="width: 60%;text-align: left">
|
||||
<%= content_tag('span', l(:label_x_current_contributors, :count => @project.users.count)) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;text-align: right;font-size: 17px;color: rgb(17, 102, 153)">
|
||||
<td style="width: 40%;text-align: right;font-size: 17px;color: rgb(17, 102, 153)">
|
||||
<strong><%= content_tag('span', "#{(@project.repository.nil? || @project.repository.changesets[0].nil?) ? '0' : distance_of_time_in_words(Time.now, @project.repository.changesets[0].committed_on)}", :class => "info") %></strong>
|
||||
</td>
|
||||
<td style="width: 50%;text-align: left">
|
||||
<td style="width: 60%;text-align: left">
|
||||
<%= content_tag('span', l(:label_since_last_commits)) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%;text-align: right;font-size: 17px;color: rgb(17, 102, 153)">
|
||||
<td style="width: 40%;text-align: right;font-size: 17px;color: rgb(17, 102, 153)">
|
||||
<% #find_project_repository @project %>
|
||||
<strong><%= content_tag('span', "#{@project.repository.nil? || @project.project_status.nil? ? '0' : @project.project_status.changesets_count }", :class => "info") %></strong>
|
||||
</td>
|
||||
<td style="width: 50%;text-align: left">
|
||||
<td style="width: 60%;text-align: left">
|
||||
<%= content_tag('span', l(:label_commit_on)) %>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -124,37 +124,11 @@
|
|||
|
||||
<!-- added by bai -->
|
||||
<div class="grade">
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
|
||||
<% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
|
||||
<% if @project.project_type !=1 %>
|
||||
<%= l(:label_project_grade)%>:
|
||||
<span >
|
||||
<%= link_to(format("%.2f" , finall_project_score ).to_f,
|
||||
<%= link_to(format("%.2f" , project_scores(@project) ).to_i,
|
||||
{:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true, :id => @project.id}, :style=>"color: #EC6300;") %>
|
||||
|
|
|
@ -1,36 +1,10 @@
|
|||
<!-- added by bai -->
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
|
||||
<% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
|
||||
<%= l(:label_projects_score) %>
|
||||
<div> = <%= l(:label_issue_score) %> + <%= l(:label_news_score) %> + <%= l(:label_file_score) %> +
|
||||
<%= l(:label_code_submit_score) %> + <%= l(:label_topic_score) %></div>
|
||||
<div> = <%= format("%.2f" , finall_issue_score).to_f %> + <%= format("%.2f" , finall_new_score).to_f %> +
|
||||
<%= format("%.2f" , finall_file_score).to_f %> + <%= format("%.2f" , finall_code_submit_score).to_f %> +
|
||||
<%= format("%.2f" , topic_score).to_f %></div>
|
||||
<div> = <%= format("%.2f" , finall_project_score).to_f %></div>
|
||||
<div> = <%= format("%.2f" , issue_score(@project)).to_i %> + <%= format("%.2f" , news_score(@project)).to_i %> +
|
||||
<%= format("%.2f" , document_score(@project)).to_i %> + <%= format("%.2f" , changesets_score(@project)).to_i %> +
|
||||
<%= format("%.2f" , board_message_score(@project)).to_i %></div>
|
||||
<div> = <%= format("%.2f" , project_scores(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -1,10 +1,4 @@
|
|||
<!-- added by bai -->
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
<div><%= l(:label_topic_number) %> * 0.1 = <%= board_message_count %> * 0.1 = <%= topic_score %></div>
|
||||
<div><%= l(:label_topic_score) %> = <%= format("%.2f" , finall_topic_score).to_f %></div>
|
||||
<div><%= l(:label_topic_number) %> * 2 = <%= board_message_num(@project) %> * 2 = <%= board_message_score(@project) %></div>
|
||||
<div><%= l(:label_topic_score) %> = <%= format("%.2f" , board_message_score(@project)).to_i %></div>
|
||||
<!-- end -->
|
|
@ -1,30 +1,4 @@
|
|||
<!-- added by bai -->
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
|
||||
<% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
|
||||
<h3 class="title"><%= l(:label_projects_score) %></h3>
|
||||
<div class="inf_user_image">
|
||||
|
@ -40,7 +14,7 @@
|
|||
<td width="35%">
|
||||
<table>
|
||||
<tr class="info_font"><td><%= l(:label_projects_score) %></td></tr>
|
||||
<tr class="buttons_for_score" style="margin-top:30px;margin-left:144px"><td><span style="color:#ec6300"><%= format("%.2f" , finall_project_score ).to_f %></span></td></tr>
|
||||
<tr class="buttons_for_score" style="margin-top:30px;margin-left:144px"><td><span style="color:#ec6300"><%= format("%.2f" , project_scores(@project) ).to_i %></span></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -51,27 +25,27 @@
|
|||
<ul>
|
||||
<li>
|
||||
<%= link_to l(:label_projects_score), {:controller => 'projects', :action => 'show_projects_score', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_project_score ).to_f %>
|
||||
<%= format("%.2f" , project_scores(@project) ).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_issue_score), {:controller => 'projects', :action => 'issue_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_issue_score).to_f %>
|
||||
<%= format("%.2f" , issue_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_news_score), {:controller => 'projects', :action => 'news_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_new_score).to_f %>
|
||||
<%= format("%.2f" , news_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_file_score), {:controller => 'projects', :action => 'file_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_file_score).to_f %>
|
||||
<%= format("%.2f" , document_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_code_submit_score), {:controller => 'projects', :action => 'code_submit_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_code_submit_score).to_f %>
|
||||
<%= format("%.2f" , changesets_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_topic_score), {:controller => 'projects', :action => 'projects_topic_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_topic_score).to_f %>
|
||||
<%= format("%.2f" , board_message_score(@project)).to_i %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<% @project.repositories.sort.each do |repository| %>
|
||||
<tr class="<%= cycle 'odd', 'even' %>">
|
||||
<td>
|
||||
<%= link_to repository.identifier,
|
||||
<%= link_to repository.identifier,
|
||||
{:controller => 'repositories', :action => 'show',:id => @project, :repository_id => repository.identifier_param} if repository.identifier.present? %>
|
||||
</td>
|
||||
<td align="center"><%= checked_image repository.is_default? %></td>
|
||||
|
@ -25,12 +25,12 @@
|
|||
<%else %>
|
||||
<td><%=h repository.url %></td>
|
||||
<% end %>
|
||||
|
||||
|
||||
<td class="buttons" style="text-align:left">
|
||||
<% if repository.scm_name=="Subversion"%>
|
||||
<%if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<%= link_to(l(:label_user_plural), committers_repository_path(repository),
|
||||
:class => 'icon icon-user') %>
|
||||
:class => 'icon icon-user') %>
|
||||
<%= link_to(l(:button_edit), edit_repository_path(repository),
|
||||
:class => 'icon icon-edit') %>
|
||||
<%= delete_link repository_path(repository) %>
|
||||
|
@ -61,6 +61,6 @@
|
|||
<% end %>
|
||||
<!-- no repository ,new by xianbo-->
|
||||
<% if User.current.allowed_to?(:manage_repository, @project) %>
|
||||
<p><%= l(:label_repository_no) %>
|
||||
<p><%= l(:label_repository_no) %>
|
||||
<%= link_to l(:label_repository_new_repos), newrepo_project_repository_path(@project, :course => course_tag), :class => 'icon icon-add' %></p>
|
||||
<% end %>
|
|
@ -1,30 +1,5 @@
|
|||
<!-- added by bai -->
|
||||
<% issue_count = @project.issues.count %>
|
||||
<% issue_journal_count = @project.issue_changes.count %>
|
||||
<% issue_score = issue_count * 0.2 %>
|
||||
<% issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<% finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<% new_count = @project.news.count %>
|
||||
<% new_score = new_count * 0.1 %>
|
||||
<% finall_new_score = new_score %>
|
||||
|
||||
<% document_count = @project.documents.count %>
|
||||
<% file_score = document_count * 0.1 %>
|
||||
<% finall_file_score = file_score %>
|
||||
|
||||
<% changeset_count = @project.changesets.count %>
|
||||
<% code_submit_score = changeset_count * 0.3 %>
|
||||
<% finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<% board_message_count = 0 %>
|
||||
<% @project.boards.each do |board| %>
|
||||
<% board_message_count += board.messages_count %>
|
||||
<% end %>
|
||||
<% topic_score = board_message_count * 0.1 %>
|
||||
<% finall_topic_score = topic_score %>
|
||||
|
||||
<% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title><%= h html_title %></title>
|
||||
|
@ -56,7 +31,7 @@
|
|||
<td width="35%">
|
||||
<table>
|
||||
<tr class="info_font"><td><%= l(:label_projects_score) %></td></tr>
|
||||
<tr class="buttons_for_score" style="margin-top:30px;margin-left:144px"><td><span style="color:#ec6300"><%= format("%.2f" , finall_project_score ).to_f %></span></td></tr>
|
||||
<tr class="buttons_for_score" style="margin-top:30px;margin-left:144px"><td><span style="color:#ec6300"><%= format("%.2f" , project_scores(@project) ).to_i %></span></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -67,27 +42,27 @@
|
|||
<ul>
|
||||
<li>
|
||||
<%= link_to l(:label_projects_score), {:controller => 'projects', :action => 'show_projects_score', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_project_score ).to_f %>
|
||||
<%= format("%.2f" , project_scores(@project) ).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_issue_score), {:controller => 'projects', :action => 'issue_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_issue_score).to_f %>
|
||||
<%= format("%.2f" , issue_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_news_score), {:controller => 'projects', :action => 'news_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_new_score).to_f %>
|
||||
<%= format("%.2f" , news_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_file_score), {:controller => 'projects', :action => 'file_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_file_score).to_f %>
|
||||
<%= format("%.2f" , document_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_code_submit_score), {:controller => 'projects', :action => 'code_submit_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_code_submit_score).to_f %>
|
||||
<%= format("%.2f" , changesets_score(@project)).to_i %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to l(:label_topic_score), {:controller => 'projects', :action => 'projects_topic_score_index', :remote => true}%> :
|
||||
<%= format("%.2f" , finall_topic_score).to_f %>
|
||||
<%= format("%.2f" , board_message_score(@project)).to_i %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -1,32 +1,34 @@
|
|||
<%= error_messages_for 'repository' %>
|
||||
|
||||
<div class="box tabular">
|
||||
<p>
|
||||
<%= label_tag('repository_scm', l(:label_scm)) %>
|
||||
<!--Modified by tanxianbo-->
|
||||
<%= select_tag('repository_scm',
|
||||
options_for_select(["Subversion"],@repository.class.name.demodulize),
|
||||
:data => {:remote => true, :method => 'get'})%>
|
||||
<!--Ended by tanxianbo-->
|
||||
</p>
|
||||
|
||||
<p><%= f.check_box :is_default, :label => :field_repository_is_default %></p>
|
||||
<p><%= f.text_field :identifier, :required => true, :disabled => @repository.identifier_frozen? %>
|
||||
<% unless @repository.identifier_frozen? %>
|
||||
<em class="info"><%= l(:text_length_between, :min => 1, :max => Repository::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_repository_identifier_info).html_safe %></em>
|
||||
<% end %></p>
|
||||
|
||||
<!--Modified by tanxianbo-->
|
||||
<p><%= f.text_field :url, :size => 60, :required => true, :disabled => !@repository.safe_attribute?('url') %>
|
||||
<em class='info'><%= "#{l(:label_exist_repository_path)}" %></em>
|
||||
</p>
|
||||
<p><%= f.text_field :login, :size => 30 %></p>
|
||||
<p><%= f.password_field :password, :size => 30, :name => 'ignore', :value => ((@repository.new_record? || @repository.password.blank?) ? '' : ('x'*15)),
|
||||
:onfocus => "this.value=''; this.name='repository[password]';",
|
||||
:onchange => "this.name='repository[password]';" %></p>
|
||||
</div>
|
||||
<!--Ended by tanxianbo-->
|
||||
<p>
|
||||
<%= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save)) %>
|
||||
<%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %>
|
||||
</p>
|
||||
<%= error_messages_for 'repository' %>
|
||||
|
||||
<div class="box tabular">
|
||||
<p>
|
||||
<%= label_tag('repository_scm', l(:label_scm)) %>
|
||||
<!--Modified by tanxianbo-->
|
||||
<%= select_tag('repository_scm',
|
||||
options_for_select(["Subversion"],@repository.class.name.demodulize),
|
||||
:data => {:remote => true, :method => 'get'})%>
|
||||
<!--Ended by tanxianbo-->
|
||||
</p>
|
||||
|
||||
<p><%= f.check_box :is_default, :label => :field_repository_is_default %></p>
|
||||
<p style="display: none"><%= f.text_field :identifier, :required => true, :disabled => @repository.identifier_frozen?,
|
||||
value:"#{User.current.id.to_s + '_' +format_time(Time.now).to_s}"%>
|
||||
<% unless @repository.identifier_frozen? %>
|
||||
<em class="info" ><%= l(:text_length_between, :min => 1, :max => Repository::IDENTIFIER_MAX_LENGTH) %> <%= l(:text_repository_identifier_info).html_safe %></em>
|
||||
<% end %></p>
|
||||
|
||||
<!--Modified by tanxianbo-->
|
||||
<p><%= f.text_field :url, :size => 60, :required => true, :disabled => !@repository.safe_attribute?('url'), :id => "url_text_field" %>
|
||||
<em class='info'><%= "#{l(:label_exist_repository_path)}" %></em>
|
||||
</p>
|
||||
<p><%= f.text_field :login, :size => 30 %></p>
|
||||
<p><%= f.password_field :password, :size => 30, :name => 'ignore', :value => ((@repository.new_record? || @repository.password.blank?) ? '' : ('x'*15)),
|
||||
:onfocus => "this.value=''; this.name='repository[password]';",
|
||||
:onchange => "this.name='repository[password]';" %></p>
|
||||
</div>
|
||||
<!--Ended by tanxianbo-->
|
||||
<p>
|
||||
<%#= submit_tag(@repository.new_record? ? l(:button_create) : l(:button_save)) %>
|
||||
<input type="button" class="enterprise" value="<%= @repository.new_record? ? l(:button_create) : l(:button_save) %>" onclick="createVersion();"/>
|
||||
<%= link_to l(:button_cancel), settings_project_path(@project, :tab => 'repositories') %>
|
||||
</p>
|
||||
|
|
|
@ -1,5 +1,23 @@
|
|||
<h3><%= l(:label_repository_new) %></h3>
|
||||
|
||||
<%= labelled_form_for :repository, @repository, :url => project_repositories_path(@project), :html => {:id => 'repository-form'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
<h3><%= l(:label_repository_new) %></h3>
|
||||
<script type="text/javascript">
|
||||
//var re=new RegExp(strRegex);
|
||||
function createVersion(){
|
||||
var re =new RegExp("^(https|http|file|svn)[?:]{1}/{1}/{1}.*$");
|
||||
var strRegex = /^([https|http|file|svn]:){1}.*$/;
|
||||
var name = $("#url_text_field").val();
|
||||
if(name == "")
|
||||
{
|
||||
alert("URL不能为空");
|
||||
return;
|
||||
}
|
||||
else if(!re.test(name))
|
||||
{
|
||||
alert("URL路径不正确");
|
||||
return;
|
||||
}
|
||||
$("#repository-form").submit();
|
||||
}
|
||||
</script>
|
||||
<%= labelled_form_for :repository, @repository, :url => project_repositories_path(@project), :html => {:id => 'repository-form'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<% end %>
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<%= 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>
|
||||
<!-- p style="font-size: 10px; color: red"><%#=l(:label_updated_caution)%></p-->
|
||||
|
||||
</fieldset>
|
||||
</fieldset></br>
|
||||
|
|
|
@ -43,289 +43,295 @@
|
|||
<% (Rails.logger.error "[Error] =========================================================> NameError: uninitialized constant " + e.act_type.to_s; next;) if e.act_type.safe_constantize.nil? %>
|
||||
<% act = e.act %>
|
||||
<% unless act.nil? %>
|
||||
<table width="660" border="0" align="left" style="border-bottom: 1px dashed rgb(204, 204, 204); margin-bottom: 10px;font-size:14px;">
|
||||
<tr>
|
||||
<td colspan="2" valign="top" width="50"><%= image_tag(url_to_avatar(e.user), :class => "avatar") %></td>
|
||||
<td>
|
||||
<table width="580" border="0" class="info-break">
|
||||
<% case e.act_type %>
|
||||
<% when 'JournalsForMessage' %>
|
||||
<% if User.current.login == e.user.try(:login) %>
|
||||
<%# if e.user_id == act.jour.id %>
|
||||
<% if e.act_type == 'JournalsForMessage' || e.act_type == 'Bid' || e.act_type == 'Journal'|| e.act_type == 'Changeset' || e.act_type == 'Message' || e.act_type == 'Principal' || e.act_type == 'News' || e.act_type == 'Issue' || e.act_type == 'Contest'%>
|
||||
<table width="660" border="0" align="left" style="border-bottom: 1px dashed rgb(204, 204, 204); margin-bottom: 10px;font-size:14px;">
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_have_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %><%= l(:label_of_feedback) + l(:label_layouts_feedback) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<%# else %>
|
||||
<!-- <tr><td colspan="2" valign="top" class="font_lighter"><strong><%#= link_to("#{e.user.name}", user_path(e.user_id)) %> 给 <%#= link_to("#{act.at_user.name if act.at_user}", user_path(act.jour.id)) %> 留言了</strong> </td></tr> -->
|
||||
<%# end %>
|
||||
<% else %>
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{e.user.name}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_have_feedback) %><%=
|
||||
link_to("#{e.act.user.name}", user_path(e.act.user.id)) %><%= l(:label_of_feedback) + l(:label_layouts_feedback) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= textilizable act.notes %> </p>
|
||||
<td colspan="2" valign="top" width="50"><%= image_tag(url_to_avatar(e.user), :class => "avatar") %></td>
|
||||
<td>
|
||||
<table width="580" border="0" class="info-break">
|
||||
<% case e.act_type %>
|
||||
<% when 'JournalsForMessage' %>
|
||||
<% if User.current.login == e.user.try(:login) %>
|
||||
<%# if e.user_id == act.jour.id %>
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_have_feedback) %>
|
||||
<%= link_to("#{e.act.user.name}", user_path(e.act.user.id)) %><%= l(:label_of_feedback) + l(:label_layouts_feedback) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<%# else %>
|
||||
<!-- <tr><td colspan="2" valign="top" class="font_lighter"><strong><%#= link_to("#{e.user.name}", user_path(e.user_id)) %> 给 <%#= link_to("#{act.at_user.name if act.at_user}", user_path(act.jour.id)) %> 留言了</strong> </td></tr> -->
|
||||
<%# end %>
|
||||
<% else %>
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{e.user.name}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_have_feedback) %><%=
|
||||
link_to("#{e.act.user.name}", user_path(e.act.user.id)) %><%= l(:label_of_feedback) + l(:label_layouts_feedback) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= textilizable act.notes %> </p>
|
||||
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"><span><%= link_to(l(:label_goto), user_newfeedback_user_path(e.user_id)) %>
|
||||
</span></div>
|
||||
</td>
|
||||
</tr>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"><span><%= link_to(l(:label_goto), user_newfeedback_user_path(e.user_id)) %>
|
||||
</span></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Bid' %>
|
||||
<tr>
|
||||
<% if act.reward_type == 3 && @show_course == 1%>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong> <%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong><span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_homework)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_homework)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</tr>
|
||||
<% when 'Bid' %>
|
||||
<tr>
|
||||
<% if act.reward_type == 3 && @show_course == 1%>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong> <%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong><span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_homework)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_homework)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong> <%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong><span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_call)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_call)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.description.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), respond_path(e.act_id) %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.commit) %></a>
|
||||
</div>
|
||||
</td>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong> <%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong><span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_call)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</tr>
|
||||
<% when 'Journal' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.identifier)) %> <%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.id}: #{act.issue.subject}"), {:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.identifier)) %> <%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.id}: #{act.issue.subject}"), {:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<% if act.notes.nil? %>
|
||||
<% desStr = '' %>
|
||||
<% else %>
|
||||
<% desStr=act.notes.html_safe %>
|
||||
<% end %>
|
||||
<td colspan="2" width="580"><p class="font_description"> <%= desStr %> </p>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_active_call)}##{act.id}:#{act.name}"), respond_path(e.act_id) %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.description.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), respond_path(e.act_id) %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.commit) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Journal' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.identifier)) %> <%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.id}: #{act.issue.subject}"), {:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.identifier)) %> <%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.id}: #{act.issue.subject}"), {:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<% if act.notes.nil? %>
|
||||
<% desStr = '' %>
|
||||
<% else %>
|
||||
<% desStr=act.notes.html_safe %>
|
||||
<% end %>
|
||||
<td colspan="2" width="580"><p class="font_description"> <%= desStr %> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Changeset' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title(act.title), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %></span>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title(act.title), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.long_comments.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= format_time(e.act.committed_on) %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Message' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), {:controller => 'messages', :action => 'show', :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), {:controller => 'messages', :action => 'show', :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= h act.content.truncate(240, omission: '...') %> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Principal' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_user) %></span>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_user) %></span>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580"><p class="font_description"></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'News' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.description.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'news', :action => 'show', :id => act.id} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.comments_count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Issue' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong>
|
||||
<%= link_to("#{l(:label_i)}", user_path(e.user_id)) %>
|
||||
</strong>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_i_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.source_from} (#{act.status}): #{act.tracker.name} #{act.subject}"), {:controller => 'issues', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong>
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
</strong>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.source_from} (#{act.status}): #{act.tracker.name} #{act.subject}"), {:controller => 'issues', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<div class="issue-list-description">
|
||||
<div class="wiki">
|
||||
<%= textilizable act, :description %>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <p class="font_description"> <%#= textilizable(act.description) %> </p> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'issues', :action => 'show', :id => act.id} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.journals.count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Contest' %>
|
||||
<tr>
|
||||
<% if e.user == User.current && @show_contest == 1%>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_contest)}: #{act.name}"), {:controller => 'contests', :action => 'show_contest', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_contest)}: #{act.name}"), {:controller => 'contests', :action => 'show_contest', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580"><p class="font_description"> <%= h act.description %> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
</tr>
|
||||
<% else %>
|
||||
<% f=1 %>
|
||||
<% end %><!-- < % #case end %> -->
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
<% when 'Changeset' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title(act.title), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %></span>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title(act.title), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.long_comments.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= format_time(e.act.committed_on) %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'repositories', :action => 'revision', :id => act.repository.project, :repository_id => act.repository.identifier_param, :rev => act.identifier} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Message' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), {:controller => 'messages', :action => 'show', :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{act.board.name}: #{act.subject}"), {:controller => 'messages', :action => 'show', :board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= h act.content.truncate(240, omission: '...') %> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Principal' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_user) %></span>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_user) %></span>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580"><p class="font_description"></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'News' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580">
|
||||
<p class="font_description"> <%= act.description.html_safe %> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'news', :action => 'show', :id => act.id} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.comments_count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Issue' %>
|
||||
<tr>
|
||||
<% if e.user == User.current %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong>
|
||||
<%= link_to("#{l(:label_i)}", user_path(e.user_id)) %>
|
||||
</strong>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_i_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.source_from} (#{act.status}): #{act.tracker.name} #{act.subject}"), {:controller => 'issues', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong>
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
</strong>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.source_from} (#{act.status}): #{act.tracker.name} #{act.subject}"), {:controller => 'issues', :action => 'show', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580" style="WORD-BREAK: break-all; WORD-WRAP: break-word">
|
||||
<!--
|
||||
<div class="issue-list-description">
|
||||
<div class="wiki">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<%= textilizable act, :description %>
|
||||
<!-- <p class="font_description"> <%#= textilizable(act.description) %> </p> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
<div style="display: inline-block; float: right; margin-top: 0px">
|
||||
<span><%= link_to l(:label_find_all_comments), {:controller => 'issues', :action => 'show', :id => act.id} %></span><a class="font_lighter"><%= l(:label_comments_count, :count => e.act.journals.count) %></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% when 'Contest' %>
|
||||
<tr>
|
||||
<% if e.user == User.current && @show_contest == 1%>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to("#{l(:label_i)}", user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_i_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_contest)}: #{act.name}"), {:controller => 'contests', :action => 'show_contest', :id => act.id} %>
|
||||
</td>
|
||||
<% else %>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to(h(e.user), user_path(e.user_id)) %></strong> <span class="font_lighter"><%= l(:label_new_activity) %></span> <%= link_to format_activity_title("#{l(:label_contest)}: #{act.name}"), {:controller => 'contests', :action => 'show_contest', :id => act.id} %>
|
||||
</td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" width="580"><p class="font_description"> <%= h act.description %> </p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div style="display: inline-block; float: left; margin-top: 0px" width="200" align="right" class="a">
|
||||
<span class="font_lighter"> <%= (l(:label_update_time).to_s << ':' << format_time(e.act.created_on)).to_s %></span>
|
||||
</div>
|
||||
</tr>
|
||||
<% else %>
|
||||
<%# f=1 %>
|
||||
<% end %><!-- < % #case end %> -->
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<% end %>
|
||||
<% end %><!-- < % #unless act.nil? end %> -->
|
||||
|
||||
<% end %><!-- < % #@activity.each do |e| end%> -->
|
||||
|
|
|
@ -92,15 +92,15 @@
|
|||
|
||||
</ul>
|
||||
<ul class="d-p-projectlist">
|
||||
<h1></h1>
|
||||
|
||||
<% if User.current.logged? %>
|
||||
<h1></h1>
|
||||
<p id="errorExplanation">
|
||||
该学校未开设任何课程,您可以查看其他学校课程
|
||||
</p>
|
||||
<h1></h1>
|
||||
<% end %>
|
||||
|
||||
<h1></h1>
|
||||
<% find_all_new_hot_course(9, @school_id).map do |course| %>
|
||||
<li class='<%= cycle("odd", "even") %>' title=<%= course.description.to_s.gsub(/<\/?.*?>/,"") %>>
|
||||
<div class='avatar'>
|
||||
|
@ -169,13 +169,15 @@
|
|||
(<%= link_to "#{files_count}份", course_files_path(course) %>资料)
|
||||
</div>
|
||||
|
||||
<div class='join_course_link'>
|
||||
<% if !course_endTime_timeout?(course) %>
|
||||
<!--
|
||||
<div class='join_course_link'>
|
||||
<%# if !course_endTime_timeout?(course) %>
|
||||
<div>
|
||||
<%= join_in_course(course, User.current) %>
|
||||
<%#= join_in_course(course, User.current) %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%# end %>
|
||||
</div>
|
||||
-->
|
||||
</li>
|
||||
<%end%>
|
||||
<% end; reset_cycle %>
|
||||
|
|
|
@ -79,33 +79,7 @@
|
|||
<span class='font_lighter' title ='<%=project.short_description%>'><%=project.description.truncate(100, omission: '...')%></span>
|
||||
</div>
|
||||
<div >
|
||||
<%# issue_count = project.issues.count %>
|
||||
<%# issue_journal_count = project.issue_changes.count %>
|
||||
<%# issue_score = issue_count * 0.2 %>
|
||||
<%# issue_journal_score = issue_journal_count * 0.1 %>
|
||||
<%# finall_issue_score = issue_score + issue_journal_score %>
|
||||
|
||||
<%# new_count = project.news.count %>
|
||||
<%# new_score = new_count * 0.1 %>
|
||||
<%# finall_new_score = new_score %>
|
||||
|
||||
<%# document_count = project.documents.count %>
|
||||
<%# file_score = document_count * 0.1 %>
|
||||
<%# finall_file_score = file_score %>
|
||||
|
||||
<%# changeset_count = project.changesets.count %>
|
||||
<%# code_submit_score = changeset_count * 0.3 %>
|
||||
<%# finall_code_submit_score = code_submit_score %>
|
||||
|
||||
<%# board_message_count = 0 %>
|
||||
<%# project.boards.each do |board| %>
|
||||
<%# board_message_count += board.messages_count %>
|
||||
<%# end %>
|
||||
<%# topic_score = board_message_count * 0.1 %>
|
||||
<%# finall_topic_score = topic_score %>
|
||||
|
||||
<%# finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
|
||||
<%= content_tag "span", l(:label_project_score)+ ":" + project_score(project),
|
||||
<%= content_tag "span", l(:label_project_score)+ ":" + project_scores(project).to_s,
|
||||
:style => "cursor: pointer; display: inline-block; float: right; color: #ec6300;",
|
||||
:title => "项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度",
|
||||
:class => "tooltip",
|
||||
|
|
|
@ -16,6 +16,9 @@
|
|||
<%= text_area_tag 'content[text]', @text, :cols => 100, :rows => 25,
|
||||
:class => 'wiki-edit', :accesskey => accesskey(:edit) %>
|
||||
|
||||
<!--p style="max-width:680px"><input id="editor02" required="true" /><%#= f.text_area :comments, :required => true, :id => 'editor02' %></p>
|
||||
<script type="text/javascript">var ckeditor=CKEDITOR.replace('editor02');</script-->
|
||||
|
||||
<% if @page.safe_attribute_names.include?('parent_id') && @wiki.pages.any? %>
|
||||
<%= fields_for @page do |fp| %>
|
||||
<p>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1557,7 +1557,7 @@ zh:
|
|||
label_welcome_page_to: 参与了 %{project_count} 个项目!
|
||||
label_repository_path_not_null: 库路径 不能为空字符
|
||||
label_password_not_null: 密码不能设置为空。
|
||||
label_exist_repository_path: 定义已有版本库URL路径,定义格式file:///, http://, https://, svn://
|
||||
label_exist_repository_path: 定义已有版本库URL路径,定义格式file://, http://, https://, svn://
|
||||
label_project_no_activity: 该项目暂无动态!
|
||||
label_course_homework_un: 暂未发布任何作业
|
||||
label_follow_no_requirement: 暂未关注任何需求!
|
||||
|
@ -1975,7 +1975,7 @@ zh:
|
|||
label_upload_softapplication_packets: 上传应用软件包
|
||||
label_upload_softapplication_photo: 上传产品截图
|
||||
label_upload_softapplication_packets_mustpacketed: 作品相关代码及相关说明文件必须打包后以压缩包的形式上传,便于上传和下载 ;
|
||||
label_upload_softapplication_photo_condition: 作品截图需上传0~4张;格式为gif/jpg/png, 每张小于5M
|
||||
label_upload_softapplication_photo_condition: 作品截图最好0~4张(多余图片不会再展示页面上显示);格式为gif/jpg/png, 每张小于5M
|
||||
label_updated_caution: 注意:若编辑参赛作品,则之前上传的软件包和截图都将被删除,请重新上传!
|
||||
label_softapplication_name: 应用名称
|
||||
label_work_name: 作品名称
|
||||
|
@ -2016,6 +2016,7 @@ zh:
|
|||
label_contest_work_list: 参赛作品列表
|
||||
label_attending_contest: 我要参赛
|
||||
label_contest_notification: 竞赛通知
|
||||
label_company_name: 企业名
|
||||
|
||||
label_coursefile_sharingarea: 课程资源共享区
|
||||
label_sort_by_activity: 按动态数排序
|
||||
|
|
|
@ -83,6 +83,10 @@ RedmineApp::Application.routes.draw do
|
|||
end
|
||||
end
|
||||
|
||||
#resources :notificationcomments do
|
||||
#
|
||||
#end
|
||||
|
||||
#resources :contestnotifications, :only => [:index, :show, :edit, :update, :destroy]
|
||||
# match '/contestnotifications/:id/notificationcomments', :to => 'notificationcomments#create', :via => :post
|
||||
# match '/contestnotifications/:id/notificationcomments/:notificationcomment_id', :to => 'notificationcomments#destroy', :via => :delete
|
||||
|
@ -91,7 +95,9 @@ RedmineApp::Application.routes.draw do
|
|||
resources :contests, only: [:index] do
|
||||
resources :contestnotifications do
|
||||
# get 'preview', on: :collection
|
||||
resources :notificationcomments
|
||||
resources :notificationcomments do
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
collection do
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# -*coding:utf-8 -*-
|
||||
class ChangeBoardsName < ActiveRecord::Migration
|
||||
def up
|
||||
boards = Board.where("project_id <> -1 and name like '%课程讨论区%'")
|
||||
boards.each do |board|
|
||||
board.name = "项目讨论区"
|
||||
board.description = "项目讨论区"
|
||||
board.save(:validate => false)
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
boards = Board.where("project_id <> -1 and name like '%项目讨论区%'")
|
||||
boards.each do |board|
|
||||
board.name = " 课程讨论区"
|
||||
board.description = " 课程讨论区"
|
||||
board.save(:validate => false)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20140730024419) do
|
||||
ActiveRecord::Schema.define(:version => 20140801034242) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# -*coding:utf-8 -*-
|
||||
desc "project score Initialize"
|
||||
task :project_score do
|
||||
puts "project_score sync."
|
||||
end
|
||||
|
||||
namespace :project_score do
|
||||
desc "calculating first page"
|
||||
task :calculate => :environment do
|
||||
include ProjectScoreHelper
|
||||
Project.where("project_type != 1").all.each do |project|
|
||||
result = project_scores(project)
|
||||
puts "score of #{project.name} is #{result}"
|
||||
end
|
||||
puts "calculate completed"
|
||||
end
|
||||
end
|
|
@ -16,6 +16,7 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
class CodeReviewController < ApplicationController
|
||||
layout "project_base"
|
||||
unloadable
|
||||
before_filter :find_project, :authorize, :find_user, :find_setting, :find_repository
|
||||
|
||||
|
|
|
@ -1070,10 +1070,10 @@ overflow: hidden;
|
|||
|
||||
.information {
|
||||
margin-top: 20px;
|
||||
margin-left: 607px;
|
||||
margin-left: 690px;
|
||||
float: left;
|
||||
height: auto;
|
||||
width: 300px;
|
||||
width: 280px;
|
||||
font-family: '微软雅黑',helvetica,arial,sans-serif; /*modify by men*/
|
||||
color: rgb(0, 0, 0);
|
||||
font-size: 13px;
|
||||
|
@ -1232,7 +1232,7 @@ p.stats {
|
|||
.licences {
|
||||
float: left;
|
||||
height: 18px;
|
||||
width: 260px;
|
||||
width: 200px;
|
||||
font-size: 13px;
|
||||
font-family: '微软雅黑',helvetica,arial,sans-serif; /*modify by men*/
|
||||
line-height: 18px;
|
||||
|
|
Loading…
Reference in New Issue