Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
6edbb3c7ed
|
@ -2,6 +2,7 @@
|
|||
module Mobile
|
||||
module Apis
|
||||
class Comments < Grape::API
|
||||
include ApplicationHelper
|
||||
resource :comments do
|
||||
desc '课程通知评论'
|
||||
params do
|
||||
|
@ -82,8 +83,8 @@ module Mobile
|
|||
memo: {:subject => params[:subject],:content => '该贴来自手机App意见反馈'},
|
||||
}
|
||||
cs = CommentService.new
|
||||
memo = cs.create_feedback cs_params, current_user
|
||||
raise "commit failed #{memo.errors.full_messages}" if memo.new_record?
|
||||
memo,message = cs.create_feedback cs_params, current_user
|
||||
raise message if memo.new_record?
|
||||
present :status, 0
|
||||
end
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ module Mobile
|
|||
desc "用户搜索"
|
||||
params do
|
||||
requires :name, type: String, desc: '用户名关键字'
|
||||
requires :search_by, type: String,desc: '搜索依据:0 昵称,1 用户名,2 邮箱'
|
||||
requires :search_by, type: String,desc: '搜索依据:0 昵称,1 用户名,2 邮箱,3 昵称和姓名'
|
||||
end
|
||||
get 'search/search_user' do
|
||||
us = UsersService.new
|
||||
|
|
|
@ -15,6 +15,8 @@ module Mobile
|
|||
course_dynamic_expose :type
|
||||
course_dynamic_expose :count
|
||||
course_dynamic_expose :course_name
|
||||
course_dynamic_expose :course_term
|
||||
course_dynamic_expose :course_time
|
||||
course_dynamic_expose :course_id
|
||||
course_dynamic_expose :course_img_url
|
||||
course_dynamic_expose :message
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
class DiscussDemosController < ApplicationController
|
||||
def index
|
||||
|
||||
@discuss_demo_list = DiscussDemo.where("body is not null").order("created_at desc").page(params[:page] || 1).per(10)
|
||||
end
|
||||
|
||||
|
@ -24,7 +25,12 @@ class DiscussDemosController < ApplicationController
|
|||
end
|
||||
|
||||
def destroy
|
||||
DiscussDemo.delete_all(["id = ?",params[:id]])
|
||||
asset = Kindeditor::Asset.find_by_owner_id(params[:id])
|
||||
filepath = File.join(Rails.root,"public","files","uploads",
|
||||
asset[:created_at].to_s.gsub("+0800","").to_datetime.strftime("%Y%m").to_s,
|
||||
asset[:asset].to_s)
|
||||
File.delete(filepath) if File.exist?filepath
|
||||
DiscussDemo.destroy(params[:id])
|
||||
redirect_to :controller=> 'discuss_demos',:action => 'index'
|
||||
end
|
||||
|
||||
|
|
|
@ -91,6 +91,7 @@ class DocumentsController < ApplicationController
|
|||
|
||||
def update
|
||||
@document.safe_attributes = params[:document]
|
||||
@document.save_attachments(params[:attachments])
|
||||
if request.put? and @document.save
|
||||
flash[:notice] = l(:notice_successful_update)
|
||||
redirect_to document_url(@document)
|
||||
|
|
|
@ -20,7 +20,7 @@ class ForumsController < ApplicationController
|
|||
#@memo.author_id = User.current.id
|
||||
#@forum = @memo.forum
|
||||
cs = CommentService.new
|
||||
@memo = cs.create_feedback params,User.current
|
||||
@memo,message = cs.create_feedback params,User.current
|
||||
respond_to do |format|
|
||||
if !@memo.new_record?
|
||||
format.html { redirect_to forum_path(@memo.forum) }
|
||||
|
|
|
@ -109,7 +109,7 @@ class MembersController < ApplicationController
|
|||
end
|
||||
if params[:flag]
|
||||
unless members.present? && members.all? {|m| m.valid? }
|
||||
flash[:error] = members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ')
|
||||
flash[:error] = members.empty? ? l(:label_user_role_null) :members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ')
|
||||
else
|
||||
flash[:notice] = l(:label_invite_success)
|
||||
end
|
||||
|
|
|
@ -340,6 +340,7 @@ class ProjectsController < ApplicationController
|
|||
@is_zhuce =false
|
||||
flash[:notice] = l(:notice_email_sent, :value => email)
|
||||
else
|
||||
flash[:error] = l(:notice_registed_success, :value => email)
|
||||
@is_zhuce = true
|
||||
end
|
||||
respond_to do |format|
|
||||
|
|
|
@ -20,7 +20,7 @@ class WelcomeController < ApplicationController
|
|||
include WelcomeHelper
|
||||
helper :project_score
|
||||
caches_action :robots
|
||||
before_filter :find_first_page, :only => [:index]
|
||||
#before_filter :find_first_page, :only => [:index]
|
||||
# before_filter :fake, :only => [:index, :course]
|
||||
before_filter :entry_select, :only => [:index]
|
||||
|
||||
|
|
|
@ -60,4 +60,8 @@ module ApiHelper
|
|||
end
|
||||
[count,is_teacher]
|
||||
end
|
||||
|
||||
def get_user_language user
|
||||
(user.language.nil? || user.language == "") ? 'zh':user.language
|
||||
end
|
||||
end
|
|
@ -43,7 +43,7 @@ module WatchersHelper
|
|||
)
|
||||
method = watched ? 'delete' : 'post'
|
||||
|
||||
link_to text, url, :remote => true, :method => method, :class => css
|
||||
link_to text, url, :remote => true, :method => method, :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 22px; line-height: 21px;padding-top:1px; background: none repeat scroll 0% 0% #64BDD9; TES"
|
||||
end
|
||||
|
||||
############## added by linchun
|
||||
|
@ -278,11 +278,11 @@ module WatchersHelper
|
|||
)
|
||||
method = applied ? 'delete' : 'post'
|
||||
|
||||
link_to text, url, :remote => true, :method => method ,:class=>css
|
||||
link_to text, url, :remote => true, :method => method ,:style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 21px; line-height: 22px;padding-top:1px; background: none repeat scroll 0% 0% #64BDD9; TES"
|
||||
end
|
||||
|
||||
def exit_project_link(project)
|
||||
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
|
||||
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 22px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES" )
|
||||
:remote => true, :confirm => l(:lable_sure_exit_project), :style => "color: #fff; display:block; padding: 0px 5px; margin-right: 10px; height: 21px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES;padding-top:1px;" )
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class DiscussDemo < ActiveRecord::Base
|
||||
attr_accessible :title, :body
|
||||
has_many_kindeditor_assets :attachments, :dependent => :destroy
|
||||
has_many_kindeditor_assets :assets, :dependent => :destroy
|
||||
end
|
||||
|
|
|
@ -214,6 +214,8 @@ class User < Principal
|
|||
where(" LOWER(login) LIKE '#{pattern}' ")
|
||||
elsif type == "1"
|
||||
where(" LOWER(concat(lastname, firstname)) LIKE '#{pattern}' ")
|
||||
elsif type == "3"
|
||||
where(" LOWER(concat(lastname, firstname,login)) LIKE '#{pattern}' ")
|
||||
else
|
||||
where(" LOWER(mail) LIKE '#{pattern}' ")
|
||||
end
|
||||
|
|
|
@ -32,40 +32,42 @@ class UserExtensions < ActiveRecord::Base
|
|||
def get_brief_introduction
|
||||
return self.brief_introduction
|
||||
end
|
||||
|
||||
|
||||
|
||||
# added by meng
|
||||
def show_identity
|
||||
if self.identity == 0
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '教师'
|
||||
else
|
||||
user_identity = 'Teacher'
|
||||
end
|
||||
elsif self.identity == 1
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '学生'
|
||||
else
|
||||
user_identity = 'Student'
|
||||
end
|
||||
elsif self.identity == 2
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '企业'
|
||||
else
|
||||
user_identity = 'Enterprise'
|
||||
end
|
||||
elsif self.identity == 3
|
||||
if User.current.language == 'zh'
|
||||
user_identity = '开发者'
|
||||
else
|
||||
user_identity = 'Developer'
|
||||
if User.current.language == 'zh'||User.current.language == ''
|
||||
case self.identity
|
||||
when 0
|
||||
user_identity = l(:label_account_identity_teacher)
|
||||
when 1
|
||||
user_identity = l(:label_account_identity_student)
|
||||
when 2
|
||||
user_identity = l(:label_account_identity_enterprise)
|
||||
when 3
|
||||
user_identity = l(:label_account_identity_developer)
|
||||
else
|
||||
user_identity = ''
|
||||
end
|
||||
else
|
||||
user_identity = ''
|
||||
case self.identity
|
||||
when 0
|
||||
user_identity = l(:label_account_identity_teacher)
|
||||
when 1
|
||||
user_identity = l(:label_account_identity_student)
|
||||
when 2
|
||||
user_identity = l(:label_account_identity_enterprise)
|
||||
when 3
|
||||
user_identity = l(:label_account_identity_developer)
|
||||
else
|
||||
user_identity = ''
|
||||
end
|
||||
end
|
||||
return user_identity
|
||||
end
|
||||
# end
|
||||
|
||||
# end
|
||||
|
||||
|
||||
def self.introduction(user, message)
|
||||
unless user.user_extensions.nil?
|
||||
info = user.user_extensions
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
class CommentService
|
||||
include ApiHelper
|
||||
include Redmine::I18n
|
||||
#评论
|
||||
def news_comments params,current_user
|
||||
@news = News.find(params[:id])
|
||||
|
@ -84,7 +86,8 @@ class CommentService
|
|||
@memo.forum_id = "1"
|
||||
@memo.author_id = current_user.id
|
||||
@memo.save
|
||||
@memo
|
||||
message = "#{l(:label_commit_failed,:locale => get_user_language(current_user))}: #{@memo.errors.full_messages}" if @memo.new_record?
|
||||
[@memo,message]
|
||||
end
|
||||
|
||||
#课程留言列表
|
||||
|
|
|
@ -38,7 +38,7 @@ class CoursesService
|
|||
if name.blank?
|
||||
raise 'sumbit empty'
|
||||
end
|
||||
@courses = courses_all.visible
|
||||
@courses = courses_all.visible(current_user)
|
||||
if params[:name].present?
|
||||
@courses_all = @courses.like(params[:name])
|
||||
else
|
||||
|
@ -346,7 +346,7 @@ class CoursesService
|
|||
membership = @user.coursememberships.all(:conditions => Course.visible_condition(current_user))
|
||||
end
|
||||
if membership.nil? || membership.count == 0
|
||||
raise l(:label_no_courses,:locale => current_user.language.nil? ? 'zh':current_user.language)
|
||||
raise l(:label_no_courses,:locale => get_user_language(current_user))
|
||||
end
|
||||
membership.sort! {|older, newer| newer.created_on <=> older.created_on }
|
||||
result = []
|
||||
|
@ -355,19 +355,19 @@ class CoursesService
|
|||
latest_course_dynamics = []
|
||||
latest_news = course.news.order("created_on desc").first
|
||||
unless latest_news.nil?
|
||||
latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => get_user_language(current_user))}
|
||||
end
|
||||
latest_message = course.journals_for_messages.order("created_on desc").first
|
||||
unless latest_message.nil?
|
||||
latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
|
||||
end
|
||||
latest_attachment = course.attachments.order("created_on desc").first
|
||||
unless latest_attachment.nil?
|
||||
latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => get_user_language(current_user))}
|
||||
end
|
||||
latest_bid = course.homeworks.order('updated_on DESC').first
|
||||
unless latest_bid.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
|
||||
end
|
||||
#每个作业中的最新留言
|
||||
messages = []
|
||||
|
@ -382,7 +382,7 @@ class CoursesService
|
|||
end
|
||||
latest_bid_message = messages.first
|
||||
unless latest_bid_message.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
|
||||
end
|
||||
#每个作业中学生最后提交的作业
|
||||
homeworks = []
|
||||
|
@ -397,12 +397,12 @@ class CoursesService
|
|||
end
|
||||
latest_homework_attach = homeworks.first
|
||||
unless latest_homework_attach.nil?
|
||||
latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
||||
latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
|
||||
end
|
||||
latest_course_dynamics.sort!{|order,newer| newer[:time] <=> order[:time]}
|
||||
latest_course_dynamic = latest_course_dynamics.first
|
||||
unless latest_course_dynamic.nil?
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => latest_course_dynamic[:type],:update_time => latest_course_dynamic[:time],:message => latest_course_dynamic[:message],:count => nil}
|
||||
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:course_time => course.time,:course_term => course.term,:type => latest_course_dynamic[:type],:update_time => latest_course_dynamic[:time],:message => latest_course_dynamic[:message],:count => nil}
|
||||
end
|
||||
end
|
||||
result.sort!{|order,newer| newer[:update_time] <=> order[:update_time]}
|
||||
|
|
|
@ -193,7 +193,6 @@ class UsersService
|
|||
@current_user.save
|
||||
#raise @current_user.errors.full_message
|
||||
#return @current_user
|
||||
|
||||
else
|
||||
raise 'wrong password'
|
||||
end
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<span class="add_attachment" style="font-weight:normal;">
|
||||
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||
<%= button_tag "浏览", :type=>"button", :onclick=>"_file.click()",:onmouseover => 'this.focus()' %>
|
||||
<%= button_tag l(:button_browse), :type=>"button", :onclick=>"_file.click()",:onmouseover => 'this.focus()' %>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => '_file',
|
||||
:class => 'file_selector',
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<span class="add_attachment">
|
||||
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||
<%= button_tag "浏览", :type=>"button", :onclick=>"_file.click()" %>
|
||||
<%= button_tag l(:button_browse), :type=>"button", :onclick=>"_file.click()" %>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => '_file',
|
||||
:class => 'file_selector',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
$('#attachments_<%= j params[:attachment_id] %>').remove();
|
||||
var count=$('#attachments_fields>span').length;
|
||||
if(count<=0){
|
||||
$("#upload_file_count").text("未上传文件");
|
||||
$("#upload_file_count").text(<%= l(:label_no_file_uploaded)%>);
|
||||
$(".remove_all").remove();
|
||||
}else{
|
||||
$("#upload_file_count").html("已上传"+"<span id=\"count\">"+count+"</span>"+"个文件");
|
||||
|
|
|
@ -24,10 +24,6 @@
|
|||
</div>
|
||||
|
||||
<!--display the board-->
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
|
||||
<% if !User.current.logged? %>
|
||||
<div style="font-size: 14px;margin:20px;">
|
||||
<% if @project.project_type == 1 %>
|
||||
|
@ -39,62 +35,52 @@
|
|||
<hr/>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="borad-setitle">
|
||||
<span class="borad-topic-count">
|
||||
共有
|
||||
<%= link_to @topic_count,:controller => 'boards',:action => 'index' %>
|
||||
个贴子
|
||||
</span>
|
||||
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
|
||||
<span>
|
||||
<%= link_to l(:label_message_new),
|
||||
new_board_message_path(@board),
|
||||
:class => 'icon icon-add',
|
||||
:onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div style="width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<% if @topics.any? %>
|
||||
<% @topics.each do |topic| %>
|
||||
<table class="content-text-list">
|
||||
<tr>
|
||||
<td colspan="2" valign="top" width="50">
|
||||
<%= link_to image_tag(url_to_avatar(topic.author), :class => "avatar"), user_path(topic.author) %>
|
||||
</td>
|
||||
<td>
|
||||
<table width="640px" border="0">
|
||||
<tr>
|
||||
<td valign="top" width="500px" class=" <%= topic.sticky? ? 'sticky' : '' %>
|
||||
<%= topic.locked? ? 'locked' : '' %>">
|
||||
<%= link_to h(topic.subject.truncate(40,ommision:'...')), board_message_path(@board, topic),title:topic.subject.to_s %>
|
||||
</td>
|
||||
<td align="right" rowspan="3">
|
||||
<table class="borad-count">
|
||||
<tr>
|
||||
<td align="center" class="borad-count-digit"><%= link_to (topic.replies_count), board_message_path(@board, topic) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">回答</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" colspan="2">
|
||||
<span class="font_lighter"><%= authoring topic.created_on, topic.author %><br/></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<% end %>
|
||||
<div class="pagination">
|
||||
<%= pagination_links_full @topic_pages, @topic_count %>
|
||||
</div>
|
||||
|
||||
<!-- 内容显示部分 -->
|
||||
<div class="project_right">
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
<div class="talk_top">
|
||||
<div class="fl">项目讨论区共有<span><%= @topic_count %></span>个帖子 </div>
|
||||
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
|
||||
<span><%= link_to l(:label_message_new), new_board_message_path(@board),
|
||||
:class => 'problem_new_btn fl',
|
||||
:onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %></span>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!-- 帖子内容显示 -->
|
||||
<% if @topics.any? %>
|
||||
<% @topics.each do |topic| %>
|
||||
<div class="problem_main">
|
||||
<a>
|
||||
<%= link_to image_tag(url_to_avatar(topic.author), :class => "problem_pic talk_pic fl"), user_path(topic.author) %>
|
||||
</a>
|
||||
<div class="talk_txt fl">
|
||||
<div>
|
||||
<span><%= link_to h(topic.subject), board_message_path(@board, topic), title:topic.subject.to_s, :class =>"problem_tit fl" %></span>
|
||||
<% if topic.sticky? %>
|
||||
<span class="talk_up">置顶</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="problem_line">
|
||||
<span>由<%= link_to topic.author, user_path(topic.author), :class =>"problem_name" %></span>
|
||||
<span>添加于<%= format_time topic.created_on %></span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="talk_btn fr">回复<%= link_to (topic.replies_count), board_message_path(@board, topic), :style =>"color:#fff;" %></span>
|
||||
<div class="cl"></div>
|
||||
</div><!--讨论主类容 end-->
|
||||
<% end %>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
||||
</ul>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
||||
<!--讨论主类容 end-->
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
<%= wikitoolbar_for 'document_description' %>
|
||||
|
||||
<% if @document.new_record? %>
|
||||
|
||||
<div class="box tabular">
|
||||
<p><label><%=l(:label_attachment_plural)%></label><%= render :partial => 'attachments/form', :locals => {:container => @document} %></p>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<h3><%=l(:label_document)%></h3>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%=l(:label_document_plural)%></h2>
|
||||
</div>
|
||||
|
||||
<%= labelled_form_for @document do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
<table>
|
||||
<tr>
|
||||
<% if versions.any? %>
|
||||
<td><p><%= l(:field_version) %></p></td>
|
||||
<td><p style="padding-left: 50px;"><%= l(:field_version) %></p></td>
|
||||
<td>
|
||||
<%= select_tag "version_id", content_tag('option', '') +
|
||||
options_from_collection_for_select(versions, "id", "name"), {style: 'width:100px'} %>
|
||||
options_from_collection_for_select(versions, "id", "name"), {style: 'width:230px'} %>
|
||||
</td>
|
||||
<% if attachmenttypes.any? %>
|
||||
<td><%= l(:attachment_type) %></label></td>
|
||||
|
@ -31,14 +31,10 @@
|
|||
<% end %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<p style="padding-left: 54px;"> <%=l(:label_attachment_plural)%></label><%= render :partial => 'attachments/form', locals: {project: project} %></p>
|
||||
</p>
|
||||
|
||||
<p><%=l(:label_attachment_plural)%></label><%= render :partial => 'attachments/form', locals: {project: project} %></p>
|
||||
</div>
|
||||
<%= submit_tag l(:button_add) %>
|
||||
<% end %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<% attachmenttypes = @project.attachmenttypes %>
|
||||
<% sufixtypes = @project.contenttypes %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2">资源共享区</h2>
|
||||
<h2 class="project_h2"><%= l(:lable_file_sharingarea) %></h2>
|
||||
</div>
|
||||
|
||||
<div class="content-title-top">
|
||||
|
@ -16,12 +16,12 @@
|
|||
</div>
|
||||
<div id="relation_file_div" class="relation_file_div hidden">
|
||||
<fieldset>
|
||||
<legend>搜索</legend>
|
||||
<legend><%= l(:label_search)%></legend>
|
||||
<%= form_tag(
|
||||
attachments_autocomplete_path(:format => 'js'),
|
||||
:remote => true,
|
||||
:method => :post) do %>
|
||||
<%= label_tag(:attach_search, "按关键字搜索:") %>
|
||||
<%= label_tag(:attach_search, l(:label_search_by_keyword)) %>
|
||||
<%= text_field_tag(:attach_search) %>
|
||||
<%#= submit_tag("Search") %>
|
||||
<% end -%>
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<tr>
|
||||
<%= sort_header_tag('filename', :caption => l(:field_filename), :scope => "col", :id => "vzebra-adventure",:class => "tableth") %>
|
||||
<%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc', :scope => "col", :id => "vzebra-children",:class => "tableth") %>
|
||||
<%= sort_header_tag('attach_type', :caption => l(:attachment_browse), :default_order => 'desc', :scope => "col", :id => "vzebra-attachmenttype",:class => "tableth") %>
|
||||
<%= content_tag('th', l(:attachment_sufix_browse), id: 'vzebra-contenttype', class: 'tableth', style: 'color: black')%>
|
||||
<%= sort_header_tag('attach_type', :caption => l(:field_filecontenttype), :default_order => 'desc', :scope => "col", :id => "vzebra-attachmenttype",:class => "tableth") %>
|
||||
<%= content_tag('th', l(:field_filetype), id: 'vzebra-contenttype', class: 'tableth', style: 'color: black')%>
|
||||
<%= sort_header_tag('field_file_dense', :caption => l(:field_file_dense), :default_order => 'desc', :scope => "col", :id => "vzebra-field_file_dense",:class => "tableth") %>
|
||||
<%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc', :scope => "col", :id => "vzebra-action",:class => "tableth") %>
|
||||
<%= sort_header_tag('operation', :caption => "", :scope => "col", :id => "vzebra-children",:class => "tableth") %>
|
||||
|
@ -73,7 +73,7 @@
|
|||
<div class="tags_gradint"></div>
|
||||
</div>
|
||||
<div class="read-more hidden">
|
||||
<a href="javascript:void(0);" onclick="readmore(this);"> 更多 </a>
|
||||
<a href="javascript:void(0);" onclick="readmore(this);"> <%= l(:button_more)%> </a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
<tr>
|
||||
<%= sort_header_tag('filename', :caption => l(:field_filename), :scope => "col", :id => "vzebra-adventure" ,:class => "tableth") %>
|
||||
<%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc', :scope => "col", :id => "vzebra-children",:class => "tableth") %>
|
||||
<%= sort_header_tag('attach_type', :caption => l(:attachment_browse), :default_order => 'desc', :scope => "col", :id => "vzebra-attachmenttype",:class => "tableth") %>
|
||||
<%= content_tag('th', l(:attachment_sufix_browse), id: 'vzebra-contenttype', class: 'tableth', style: 'color: black')%>
|
||||
<%= sort_header_tag('attach_type', :caption => l(:field_filecontenttype), :default_order => 'desc', :scope => "col", :id => "vzebra-attachmenttype",:class => "tableth") %>
|
||||
<%= content_tag('th', l(:field_filetype), id: 'vzebra-contenttype', class: 'tableth', style: 'color: black')%>
|
||||
<%= sort_header_tag('field_file_dense', :caption => l(:field_file_dense), :default_order => 'desc', :scope => "col", :id => "vzebra-field_file_dense",:class => "tableth") %>
|
||||
<%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc', :scope => "col", :id => "vzebra-action",:class => "tableth") %>
|
||||
<%= sort_header_tag('operation', :caption => "", :scope => "col", :id => "vzebra-children",:class => "tableth") %>
|
||||
|
@ -76,7 +76,7 @@
|
|||
<div class="tags_gradint"></div>
|
||||
</div>
|
||||
<div class="read-more hidden">
|
||||
<a href="javascript:void(0);" onclick="readmore(this);"> 更多 </a>
|
||||
<a href="javascript:void(0);" onclick="readmore(this);"> <%= l(:button_more)%> </a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<% end %>
|
||||
|
||||
<%= watcher_link(@issue, User.current) %>
|
||||
|
||||
<%= link_to l(:button_copy), project_copy_issue_path(@project, @issue), :class => 'icon icon-copy' if User.current.allowed_to?(:add_issues, @project) %>
|
||||
<%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'icon icon-del' if User.current.allowed_to?(:delete_issues, @project) %>
|
||||
</div>
|
||||
|
|
|
@ -1,139 +0,0 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2">问题跟踪</h2>
|
||||
</div>
|
||||
<div class="problem_top">
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<span>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to l(:label_issue_new), {:controller => 'issues', :action => 'new', :copy_from => nil}, :param => :project_id, :caption => :label_issue_new,
|
||||
:html => {:accesskey => Redmine::AccessKeys.key_for(:new_issue)}, :class => 'icon icon-add' %>
|
||||
<% end %>
|
||||
<%= link_to l(:label_query), '#', :class => 'icon icon-help',
|
||||
:onclick => '$("#custom_query").slideToggle(400); ' if true || User.current.logged? %>
|
||||
</span>
|
||||
<% end %>
|
||||
<span class="problem_p fr">问题总数:<span><%= @project.issues.count %></span> 未解决:<span><%= @project.issues.where('status_id in (1,2,4,6)').count %></span></span>
|
||||
</div>
|
||||
<div class="contextual">
|
||||
<% if !@query.new_record? && @query.editable_by?(User.current) %>
|
||||
<%= link_to l(:button_edit), edit_query_path(@query), :class => 'icon icon-edit' %>
|
||||
<%= delete_link query_path(@query) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% html_title(@query.new_record? ? l(:label_issue_plural) : @query.name) %>
|
||||
<div style="clear:right; ">
|
||||
<%= form_tag({:controller => 'issues', :action => 'index', :project_id => @project}, :method => :get, :id => 'query_form', :class => 'query_form') do %>
|
||||
<%= hidden_field_tag 'set_filter', '1' %>
|
||||
|
||||
<div id="custom_query" class="custom_query" style="display: <%= !params[:utf8].blank? ? 'block' : 'none' %>;">
|
||||
<span>---<%= l :label_query_new %>---</span>
|
||||
|
||||
<div id="query_form_content" class="hide-when-print">
|
||||
<fieldset id="filters" class="collapsible <%= @query.new_record? ? "" : "collapsed" %>">
|
||||
<legend onclick="toggleFieldset(this);">
|
||||
<%= l(:label_issue_query_condition) %>
|
||||
</legend>
|
||||
<div style="<%= @query.new_record? ? "" : "display: none;" %>">
|
||||
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!--
|
||||
<fieldset class="collapsible collapsed">
|
||||
<legend onclick="toggleFieldset(this);">
|
||||
<%= l(:label_options) %>
|
||||
</legend>
|
||||
<div style="display: none;">
|
||||
<table>
|
||||
<tr>
|
||||
<td><%= l(:field_column_names) %></td>
|
||||
<td><%= render_query_columns_selection(@query) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for='group_by'><%= l(:field_group_by) %></label></td>
|
||||
<td><%= select_tag('group_by', options_for_select([[]] + @query.groupable_columns.collect { |c| [c.caption, c.name.to_s] }, @query.group_by)) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><%= l(:button_show) %></td>
|
||||
<td><%= available_block_columns_tags(@query) %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</fieldset>
|
||||
-->
|
||||
<div class="buttons hide-when-print">
|
||||
<%= link_to_function l(:label_issue_query), 'submit_query_form("query_form")', :class => 'icon icon-checked' %>
|
||||
<%= link_to l(:label_issue_cancel_query), {:set_filter => 1, :project_id => @project}, :class => 'icon icon-reload' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= error_messages_for 'query' %>
|
||||
|
||||
<% if @query.valid? %>
|
||||
<% if @issues.empty? %>
|
||||
<p class="nodata">
|
||||
<%= l(:label_no_data) %>
|
||||
</p>
|
||||
<% else %>
|
||||
<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
|
||||
<div class="pagination">
|
||||
<ul><%= pagination_links_full @issue_pages, @issue_count %></ul>
|
||||
</div>
|
||||
<% end %>
|
||||
<div style="float: right; padding-top: 30px">
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => params.merge(:key => User.current.rss_key) %>
|
||||
<%= f.link_to 'CSV', :url => params, :onclick => "showModal('csv-export-options', '330px'); return false;" %>
|
||||
<%= f.link_to 'PDF', :url => params %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="csv-export-options" style="display:none;">
|
||||
<h3 class="title"><%= l(:label_export_options, :export_format => 'CSV') %></h3>
|
||||
<%= form_tag(params.merge({:format => 'csv', :page => nil}), :method => :get, :id => 'csv-export-form') do %>
|
||||
<p>
|
||||
<label>
|
||||
<%= radio_button_tag 'columns', 'all' %>
|
||||
<%= l(:description_all_columns) %>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>
|
||||
<%= check_box_tag 'description', '1', @query.has_column?(:description) %>
|
||||
<%= l(:field_description) %>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p class="buttons">
|
||||
<%= submit_tag l(:button_export), :name => nil, :onclick => "hideModal(this);" %>
|
||||
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "hideModal(this);", :type => 'button' %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= call_hook(:view_issues_index_bottom, {:issues => @issues, :project => @project, :query => @query}) %>
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<%= render :partial => 'issues/sidebar' %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom,
|
||||
{:query_id => @query, :format => 'atom',
|
||||
:page => nil, :key => User.current.rss_key},
|
||||
:title => l(:label_issue_plural)) %>
|
||||
<%= auto_discovery_link_tag(:atom,
|
||||
{:controller => 'journals', :action => 'index',
|
||||
:query_id => @query, :format => 'atom',
|
||||
:page => nil, :key => User.current.rss_key},
|
||||
:title => l(:label_changes_details)) %>
|
||||
<% end %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
|
@ -1 +1,139 @@
|
|||
<%= render :partial => 'issues/newissue_index' %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2">问题跟踪</h2>
|
||||
</div>
|
||||
<div class="problem_top">
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<span>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to l(:label_issue_new), {:controller => 'issues', :action => 'new', :copy_from => nil}, :param => :project_id, :caption => :label_issue_new,
|
||||
:html => {:accesskey => Redmine::AccessKeys.key_for(:new_issue)}, :class => 'icon icon-add' %>
|
||||
<% end %>
|
||||
<%= link_to l(:label_query), '#', :class => 'icon icon-help',
|
||||
:onclick => '$("#custom_query").slideToggle(400); ' if true || User.current.logged? %>
|
||||
</span>
|
||||
<% end %>
|
||||
<span class="problem_p fr">问题总数:<span><%= @project.issues.count %></span> 未解决:<span><%= @project.issues.where('status_id in (1,2,4,6)').count %></span></span>
|
||||
</div>
|
||||
<div class="contextual">
|
||||
<% if !@query.new_record? && @query.editable_by?(User.current) %>
|
||||
<%= link_to l(:button_edit), edit_query_path(@query), :class => 'icon icon-edit' %>
|
||||
<%= delete_link query_path(@query) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% html_title(@query.new_record? ? l(:label_issue_plural) : @query.name) %>
|
||||
<div style="clear:right; ">
|
||||
<%= form_tag({:controller => 'issues', :action => 'index', :project_id => @project}, :method => :get, :id => 'query_form', :class => 'query_form') do %>
|
||||
<%= hidden_field_tag 'set_filter', '1' %>
|
||||
|
||||
<div id="custom_query" class="custom_query" style="display: <%= !params[:utf8].blank? ? 'block' : 'none' %>;">
|
||||
<span>---<%= l :label_query_new %>---</span>
|
||||
|
||||
<div id="query_form_content" class="hide-when-print">
|
||||
<fieldset id="filters" class="collapsible <%= @query.new_record? ? "" : "collapsed" %>">
|
||||
<legend onclick="toggleFieldset(this);">
|
||||
<%= l(:label_issue_query_condition) %>
|
||||
</legend>
|
||||
<div style="<%= @query.new_record? ? "" : "display: none;" %>">
|
||||
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!--
|
||||
<fieldset class="collapsible collapsed">
|
||||
<legend onclick="toggleFieldset(this);">
|
||||
<%= l(:label_options) %>
|
||||
</legend>
|
||||
<div style="display: none;">
|
||||
<table>
|
||||
<tr>
|
||||
<td><%= l(:field_column_names) %></td>
|
||||
<td><%= render_query_columns_selection(@query) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for='group_by'><%= l(:field_group_by) %></label></td>
|
||||
<td><%= select_tag('group_by', options_for_select([[]] + @query.groupable_columns.collect { |c| [c.caption, c.name.to_s] }, @query.group_by)) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><%= l(:button_show) %></td>
|
||||
<td><%= available_block_columns_tags(@query) %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</fieldset>
|
||||
-->
|
||||
<div class="buttons hide-when-print">
|
||||
<%= link_to_function l(:label_issue_query), 'submit_query_form("query_form")', :class => 'icon icon-checked' %>
|
||||
<%= link_to l(:label_issue_cancel_query), {:set_filter => 1, :project_id => @project}, :class => 'icon icon-reload' %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= error_messages_for 'query' %>
|
||||
|
||||
<% if @query.valid? %>
|
||||
<% if @issues.empty? %>
|
||||
<p class="nodata">
|
||||
<%= l(:label_no_data) %>
|
||||
</p>
|
||||
<% else %>
|
||||
<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
|
||||
<div class="pagination">
|
||||
<ul><%= pagination_links_full @issue_pages, @issue_count %></ul>
|
||||
</div>
|
||||
<% end %>
|
||||
<div style="float: right; padding-top: 30px">
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => params.merge(:key => User.current.rss_key) %>
|
||||
<%= f.link_to 'CSV', :url => params, :onclick => "showModal('csv-export-options', '330px'); return false;" %>
|
||||
<%= f.link_to 'PDF', :url => params %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="csv-export-options" style="display:none;">
|
||||
<h3 class="title"><%= l(:label_export_options, :export_format => 'CSV') %></h3>
|
||||
<%= form_tag(params.merge({:format => 'csv', :page => nil}), :method => :get, :id => 'csv-export-form') do %>
|
||||
<p>
|
||||
<label>
|
||||
<%= radio_button_tag 'columns', 'all' %>
|
||||
<%= l(:description_all_columns) %>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label>
|
||||
<%= check_box_tag 'description', '1', @query.has_column?(:description) %>
|
||||
<%= l(:field_description) %>
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<p class="buttons">
|
||||
<%= submit_tag l(:button_export), :name => nil, :onclick => "hideModal(this);" %>
|
||||
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "hideModal(this);", :type => 'button' %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= call_hook(:view_issues_index_bottom, {:issues => @issues, :project => @project, :query => @query}) %>
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<%= render :partial => 'issues/sidebar' %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom,
|
||||
{:query_id => @query, :format => 'atom',
|
||||
:page => nil, :key => User.current.rss_key},
|
||||
:title => l(:label_issue_plural)) %>
|
||||
<%= auto_discovery_link_tag(:atom,
|
||||
{:controller => 'journals', :action => 'index',
|
||||
:query_id => @query, :format => 'atom',
|
||||
:page => nil, :key => User.current.rss_key},
|
||||
:title => l(:label_changes_details)) %>
|
||||
<% end %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
$('#content').html('<%= escape_javascript(render :partial => 'issues/newissue_index') %>');
|
|
@ -1,181 +1,181 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_issue_plural) %></h2>
|
||||
</div>
|
||||
<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
|
||||
<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
|
||||
|
||||
<%= render :partial => 'action_menu' %>
|
||||
|
||||
<h3>
|
||||
<%= issue_heading(@issue) %>
|
||||
</h3>
|
||||
|
||||
<style type="text/css"></style>
|
||||
|
||||
<div class="<%= @issue.css_classes %> details">
|
||||
<% if @prev_issue_id || @next_issue_id %>
|
||||
<div class="next-prev-links contextual">
|
||||
<%= link_to_if @prev_issue_id,
|
||||
"\xc2\xab #{l(:label_previous)}",
|
||||
(@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
|
||||
:title => "##{@prev_issue_id}" %> |
|
||||
<% if @issue_position && @issue_count %>
|
||||
<span class="position"><%= l(:label_item_position, :position => @issue_position, :count => @issue_count) %></span> |
|
||||
<% end %>
|
||||
<%= link_to_if @next_issue_id,
|
||||
"#{l(:label_next)} \xc2\xbb",
|
||||
(@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
|
||||
:title => "##{@next_issue_id}" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- <%#= avatar(@issue.author, :size => "50") %> -->
|
||||
|
||||
<div class="subject" style="word-wrap: break-word;">
|
||||
<%= render_issue_subject_with_tree(@issue) %>
|
||||
</div>
|
||||
|
||||
<!-- 顶和踩 在这里添加 -->
|
||||
<span id="praise_tread" style="float: right">
|
||||
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>
|
||||
</span>
|
||||
|
||||
<p class="author">
|
||||
<%= authoring @issue.created_on, @issue.author %>.
|
||||
<% if @issue.created_on != @issue.updated_on %>
|
||||
<%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>.
|
||||
<% end %>
|
||||
</p>
|
||||
<!-- added by william -for tag -->
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
|
||||
</div>
|
||||
<table class="attributes">
|
||||
<%= issue_fields_rows do |rows|
|
||||
rows.left l(:field_status), h(@issue.status.name), :class => 'status'
|
||||
rows.left l(:field_priority), h(@issue.priority.name), :class => 'priority'
|
||||
|
||||
unless @issue.disabled_core_fields.include?('assigned_to_id')
|
||||
#modified by nie
|
||||
#modified by huang
|
||||
rows.left l(:field_assigned_to), (image_tag url_to_avatar(@issue.assigned_to(@user)), :class => 'avatar').to_s.html_safe + (@issue.assigned_to ? link_to_user(@issue.assigned_to) : "-"), :class => 'assigned-to'
|
||||
end
|
||||
# end huang
|
||||
unless @issue.disabled_core_fields.include?('category_id')
|
||||
rows.left l(:field_category), h(@issue.category ? @issue.category.name : "-"), :class => 'category'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('fixed_version_id')
|
||||
rows.left l(:field_fixed_version), (@issue.fixed_version ? link_to_version(@issue.fixed_version) : "-"), :class => 'fixed-version'
|
||||
end
|
||||
|
||||
unless @issue.disabled_core_fields.include?('start_date')
|
||||
rows.right l(:field_start_date), format_date(@issue.start_date), :class => 'start-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('due_date')
|
||||
rows.right l(:field_due_date), format_date(@issue.due_date), :class => 'due-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('done_ratio')
|
||||
rows.right l(:field_done_ratio), progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%"), :class => 'progress'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('estimated_hours')
|
||||
unless @issue.estimated_hours.nil?
|
||||
rows.right l(:field_estimated_hours), l_hours(@issue.estimated_hours), :class => 'estimated-hours'
|
||||
end
|
||||
end
|
||||
if User.current.allowed_to?(:view_time_entries, @project)
|
||||
rows.right l(:label_spent_time), (@issue.total_spent_hours > 0 ? link_to(l_hours(@issue.total_spent_hours), project_issue_time_entries_path(@project, @issue)) : "-"), :class => 'spent-time'
|
||||
end
|
||||
end %>
|
||||
<%= render_custom_fields_rows(@issue) %>
|
||||
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
|
||||
</table>
|
||||
woca
|
||||
<% if @issue.description? || @issue.attachments.any? -%>
|
||||
<hr />
|
||||
<% if @issue.description? %>
|
||||
<div class="description">
|
||||
<div class="contextual">
|
||||
<%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
||||
</div>
|
||||
|
||||
<p><strong><%=l(:field_description)%></strong></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @issue, :description, :attachments => @issue.attachments %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= link_to_attachments @issue, :thumbnails => true %>
|
||||
<% end -%>
|
||||
|
||||
<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
|
||||
|
||||
<% if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||
<hr />
|
||||
|
||||
<div id="issue_tree">
|
||||
<div class="contextual">
|
||||
<%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||
</div>
|
||||
|
||||
<p><strong><%=l(:label_subtask_plural)%></strong></p>
|
||||
<%= render_descendants_tree(@issue) unless @issue.leaf? %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>
|
||||
<hr />
|
||||
<div id="relations">
|
||||
<%= render :partial => 'relations' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% if @changesets.present? %>
|
||||
<div id="issue-changesets">
|
||||
<h3><%=l(:label_associated_revisions)%></h3>
|
||||
<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @journals.present? %>
|
||||
<div id="history">
|
||||
<h3><%=l(:label_history)%></h3>
|
||||
<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<div style="clear: both;"></div>
|
||||
<%= render :partial => 'action_menu' %>
|
||||
|
||||
<div style="clear: both;"></div>
|
||||
<% if @issue.editable? %>
|
||||
<div id="update">
|
||||
<h3><%= l(:button_update) %></h3>
|
||||
<%= render :partial => 'edit' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
||||
<%= f.link_to 'PDF' %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<%= render :partial => 'issues/sidebar' %>
|
||||
|
||||
<% if User.current.allowed_to?(:add_issue_watchers, @project) ||
|
||||
(@issue.watchers.present? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
|
||||
<div id="watchers">
|
||||
<%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
|
||||
<% end %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_issue_plural) %></h2>
|
||||
</div>
|
||||
<%# html_title "#{@issue.tracker.name} ##{@issue.id}: #{@issue.subject}" %>
|
||||
<% html_title "#{@issue.tracker.name} #{@issue.source_from}'#'#{@issue.project_index}: #{@issue.subject}" %>
|
||||
|
||||
<%= render :partial => 'action_menu' %>
|
||||
|
||||
<h3>
|
||||
<%= issue_heading(@issue) %>
|
||||
</h3>
|
||||
|
||||
<style type="text/css"></style>
|
||||
|
||||
<div class="<%= @issue.css_classes %> details">
|
||||
<% if @prev_issue_id || @next_issue_id %>
|
||||
<div class="next-prev-links contextual">
|
||||
<%= link_to_if @prev_issue_id,
|
||||
"\xc2\xab #{l(:label_previous)}",
|
||||
(@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
|
||||
:title => "##{@prev_issue_id}" %> |
|
||||
<% if @issue_position && @issue_count %>
|
||||
<span class="position"><%= l(:label_item_position, :position => @issue_position, :count => @issue_count) %></span> |
|
||||
<% end %>
|
||||
<%= link_to_if @next_issue_id,
|
||||
"#{l(:label_next)} \xc2\xbb",
|
||||
(@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
|
||||
:title => "##{@next_issue_id}" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<!-- <%#= avatar(@issue.author, :size => "50") %> -->
|
||||
|
||||
<div class="subject" style="word-wrap: break-word;">
|
||||
<%= render_issue_subject_with_tree(@issue) %>
|
||||
</div>
|
||||
|
||||
<!-- 顶和踩 在这里添加 -->
|
||||
<span id="praise_tread" style="float: right">
|
||||
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>
|
||||
</span>
|
||||
|
||||
<p class="author">
|
||||
<%= authoring @issue.created_on, @issue.author %>.
|
||||
<% if @issue.created_on != @issue.updated_on %>
|
||||
<%= l(:label_updated_time, time_tag(@issue.updated_on)).html_safe %>.
|
||||
<% end %>
|
||||
</p>
|
||||
<!-- added by william -for tag -->
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/tag', :locals => {:obj => @issue,:object_flag => "3" }%>
|
||||
</div>
|
||||
<table class="attributes">
|
||||
<%= issue_fields_rows do |rows|
|
||||
rows.left l(:field_status), h(@issue.status.name), :class => 'status'
|
||||
rows.left l(:field_priority), h(@issue.priority.name), :class => 'priority'
|
||||
|
||||
unless @issue.disabled_core_fields.include?('assigned_to_id')
|
||||
#modified by nie
|
||||
#modified by huang
|
||||
rows.left l(:field_assigned_to), (image_tag url_to_avatar(@issue.assigned_to(@user)), :class => 'avatar').to_s.html_safe + (@issue.assigned_to ? link_to_user(@issue.assigned_to) : "-"), :class => 'assigned-to'
|
||||
end
|
||||
# end huang
|
||||
unless @issue.disabled_core_fields.include?('category_id')
|
||||
rows.left l(:field_category), h(@issue.category ? @issue.category.name : "-"), :class => 'category'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('fixed_version_id')
|
||||
rows.left l(:field_fixed_version), (@issue.fixed_version ? link_to_version(@issue.fixed_version) : "-"), :class => 'fixed-version'
|
||||
end
|
||||
|
||||
unless @issue.disabled_core_fields.include?('start_date')
|
||||
rows.right l(:field_start_date), format_date(@issue.start_date), :class => 'start-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('due_date')
|
||||
rows.right l(:field_due_date), format_date(@issue.due_date), :class => 'due-date'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('done_ratio')
|
||||
rows.right l(:field_done_ratio), progress_bar(@issue.done_ratio, :width => '80px', :legend => "#{@issue.done_ratio}%"), :class => 'progress'
|
||||
end
|
||||
unless @issue.disabled_core_fields.include?('estimated_hours')
|
||||
unless @issue.estimated_hours.nil?
|
||||
rows.right l(:field_estimated_hours), l_hours(@issue.estimated_hours), :class => 'estimated-hours'
|
||||
end
|
||||
end
|
||||
if User.current.allowed_to?(:view_time_entries, @project)
|
||||
rows.right l(:label_spent_time), (@issue.total_spent_hours > 0 ? link_to(l_hours(@issue.total_spent_hours), project_issue_time_entries_path(@project, @issue)) : "-"), :class => 'spent-time'
|
||||
end
|
||||
end %>
|
||||
<%= render_custom_fields_rows(@issue) %>
|
||||
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
|
||||
</table>
|
||||
|
||||
<% if @issue.description? || @issue.attachments.any? -%>
|
||||
<hr />
|
||||
<% if @issue.description? %>
|
||||
<div class="description">
|
||||
<div class="contextual">
|
||||
<%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
||||
</div>
|
||||
|
||||
<p><strong><%=l(:field_description)%></strong></p>
|
||||
<div class="wiki">
|
||||
<%= textilizable @issue, :description, :attachments => @issue.attachments %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= link_to_attachments @issue, :thumbnails => true %>
|
||||
<% end -%>
|
||||
|
||||
<%= call_hook(:view_issues_show_description_bottom, :issue => @issue) %>
|
||||
|
||||
<% if false # !@issue.leaf? || User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||
<hr />
|
||||
|
||||
<div id="issue_tree">
|
||||
<div class="contextual">
|
||||
<%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||
</div>
|
||||
|
||||
<p><strong><%=l(:label_subtask_plural)%></strong></p>
|
||||
<%= render_descendants_tree(@issue) unless @issue.leaf? %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @relations.present? || User.current.allowed_to?(:manage_issue_relations, @project) %>
|
||||
<hr />
|
||||
<div id="relations">
|
||||
<%= render :partial => 'relations' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% if @changesets.present? %>
|
||||
<div id="issue-changesets">
|
||||
<h3><%=l(:label_associated_revisions)%></h3>
|
||||
<%= render :partial => 'changesets', :locals => { :changesets => @changesets} %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @journals.present? %>
|
||||
<div id="history">
|
||||
<h3><%=l(:label_history)%></h3>
|
||||
<%= render :partial => 'history', :locals => { :issue => @issue, :journals => @journals } %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<div style="clear: both;"></div>
|
||||
<%= render :partial => 'action_menu' %>
|
||||
|
||||
<div style="clear: both;"></div>
|
||||
<% if @issue.editable? %>
|
||||
<div id="update">
|
||||
<h3><%= l(:button_update) %></h3>
|
||||
<%= render :partial => 'edit' %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
||||
<%= f.link_to 'PDF' %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<%= render :partial => 'issues/sidebar' %>
|
||||
|
||||
<% if User.current.allowed_to?(:add_issue_watchers, @project) ||
|
||||
(@issue.watchers.present? && User.current.allowed_to?(:view_issue_watchers, @project)) %>
|
||||
<div id="watchers">
|
||||
<%= render :partial => 'watchers/watchers', :locals => {:watched => @issue} %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
|
||||
<% end %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
||||
|
|
|
@ -194,7 +194,7 @@
|
|||
</strong>
|
||||
<% if show_more_fans?(@bid) %>
|
||||
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;">
|
||||
<%= link_to l(:label_more), :controller => 'bids', :action => 'show_bid_user'%>
|
||||
<%= link_to l(:button_more), :controller => 'bids', :action => 'show_bid_user'%>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -217,7 +217,7 @@
|
|||
</strong>
|
||||
<% if show_more_bid_project?(@bid) %>
|
||||
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;">
|
||||
<%= link_to l(:label_more), :controller => 'bids', :action => 'show_project'%>
|
||||
<%= link_to l(:button_more), :controller => 'bids', :action => 'show_project'%>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -244,7 +244,7 @@
|
|||
</strong>
|
||||
<% if show_more_participate?(@bid) %>
|
||||
<span style="font-size: 12px; display: inline; float: right;" >
|
||||
<%= link_to l(:label_more), :controller => "bids", :action => "show_participator"%>
|
||||
<%= link_to l(:button_more), :controller => "bids", :action => "show_participator"%>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -215,7 +215,7 @@
|
|||
<%= l(:label_x_followers, :count => @contest.watcher_users.count) %>
|
||||
</strong>
|
||||
<% if show_more_fans?(@contest) %>
|
||||
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;"><%= link_to l(:label_more), show_contest_user_contest_path(@contest) %></span>
|
||||
<span style="display:inline-block; font-size: 12px; float:right; margin-bottom: -4px;"><%= link_to l(:button_more), show_contest_user_contest_path(@contest) %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="left_wf">
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<%= image_tag(url_to_avatar(@project), :style => 'width:61px; height:61px;') %>
|
||||
</div>
|
||||
<div class="pr_info_id fl mb5">
|
||||
ID:<%= @project.id %>
|
||||
<%= l(:label_project_id)%><%= @project.id %>
|
||||
</div>
|
||||
<!--关注、申请加入/退出项目-->
|
||||
<div id="join_exit_project_div">
|
||||
|
@ -126,7 +126,9 @@
|
|||
<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
<span>| </span>
|
||||
<%= l(:project_module_attachments) %>(<span class="info_foot_num" >
|
||||
<%= link_to "#{@project.attachments.count}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></a>)</div>
|
||||
<% attaments_num = @project.attachments.count+Attachment.where(["`container_type` = 'Version' and `container_id` in (?)",@project.versions.map{ |v| v.id}]).all.count %>
|
||||
<%= link_to "#{attaments_num}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--项目信息 end-->
|
||||
|
||||
|
@ -168,9 +170,9 @@
|
|||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'files'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_course_file), project_files_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.attachments.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.attachments.count %>)</span>
|
||||
<%= link_to l(:project_module_files), project_files_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless attaments_num == 0 %>
|
||||
<span class="subnav_num">(<%= attaments_num %>)</span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_upload_files), project_files_path(@project,:flag => true),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:16px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
|
@ -187,7 +189,7 @@
|
|||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="subNav subNav_jiantou"><%= l(:label_more) %></div>
|
||||
<div class="subNav subNav_jiantou"><%= l(:label_project_more) %></div>
|
||||
<ul class="navContent" style="padding-left: 0px">
|
||||
<%= render 'projects/tools_expand' %>
|
||||
</ul>
|
||||
|
|
|
@ -258,10 +258,10 @@
|
|||
<% else %>
|
||||
<tr>
|
||||
<td style=" float: right" width="70px" >
|
||||
<%= l(:label_identity)%>:
|
||||
<span style="float: right"><%= l(:label_identity)%>:</span>
|
||||
</td>
|
||||
<td class="font_lighter_sidebar" style="padding-left: 0px" width="170px">
|
||||
<%= l(:label_account_student) %>
|
||||
<%= l(:label_account_identity_student) %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -269,10 +269,10 @@
|
|||
<% elsif @user.user_extensions.identity == 3 %>
|
||||
<tr>
|
||||
<td style=" float: right" width="70px" >
|
||||
<%= l(:label_identity)%>:
|
||||
<span style="float: right"><%= l(:label_identity)%>:</span>
|
||||
</td>
|
||||
<td class="font_lighter_sidebar" style="padding-left: 0px" width="170px">
|
||||
<%= l(:label_account_developer) %>
|
||||
<%= l(:label_account_identity_developer) %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
@ -295,7 +295,7 @@
|
|||
</strong>
|
||||
<% if show_more_watchers?(@user) %>
|
||||
<div style="font-size: 11px; display: inline; float: right; margin-top: 5px; margin-right: 20px" >
|
||||
<%= link_to l(:label_more), :controller => "users", :action => "user_watchlist"%>
|
||||
<%= link_to l(:button_more), :controller => "users", :action => "user_watchlist"%>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
@ -319,7 +319,7 @@
|
|||
</strong>
|
||||
<% if show_more_fans?(@user) %>
|
||||
<div style="font-size: 11px; display: inline; float: right; margin-top: 5px; margin-right: 20px" >
|
||||
<%= link_to l(:label_more), :controller => "users", :action => "user_fanslist"%>
|
||||
<%= link_to l(:button_more), :controller => "users", :action => "user_fanslist"%>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -41,7 +41,8 @@ a:hover.mail_reply{ background:#06a9bc; text-decoration:none;}
|
|||
<div class="container" style="margin:0; padding:0; border:0;">
|
||||
<div class="mail" style="width:600px; margin:20px; height:auto; color:#4b4b4b; font-size:14px; margin:0; padding:0; border:0;">
|
||||
<div class="mail_head" style="margin:0; padding:0; border:0;">
|
||||
<p><%= l(:mail_issue_greetings)%></p>
|
||||
|
||||
|
||||
</div><!--mail_head end-->
|
||||
<%= yield %>
|
||||
</div>
|
||||
|
|
|
@ -57,6 +57,9 @@
|
|||
</style>
|
||||
|
||||
<div class="lz">
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
<!-- 在这里添加赞和踩-->
|
||||
<span id="praise_tread" style="float: right">
|
||||
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="well">
|
||||
<% next if member.new_record? %>
|
||||
<% unless member.created_on.nil? %>
|
||||
<%= content_tag "p", "#{format_date(member.created_on)}#{l(:label_member_since)}", :class => "float_right member_since" %>
|
||||
<%= content_tag "p", (User.current.language == ""|| User.current.language == "zh")?("#{format_date(member.created_on)}"+" "+"#{l(:label_member_since)}"):("#{l(:label_member_since)}"+" "+"#{format_date(member.created_on)}"), :class => "float_right member_since" %>
|
||||
<% end %>
|
||||
<%= member.user.nil? ? '' : (image_tag(url_to_avatar(member.user), :class => 'avatar')) %>
|
||||
<%= content_tag "div", link_to(member.user.name, user_path(member.user)), :class => "nomargin avatar_name" %>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<% unless @project.enabled_modules.where("name = 'dts'").empty? %>
|
||||
<%= link_to l(:label_module_share) ,share_show_path(@project) %>
|
||||
<%= link_to l(:project_module_dts) ,share_show_path(@project) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="box_main">
|
||||
<div style="padding-left: 20px;">
|
||||
<h3 class="box_h3"><%= l(:label_invite_new_user)%></h3>
|
||||
<p class="box_p">
|
||||
<%= l(:label_invite_email_tips)%>
|
||||
|
@ -62,5 +63,6 @@
|
|||
</a>
|
||||
<%#= submit_tag '免费发送', :style => "display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -17,7 +17,7 @@
|
|||
<tr>
|
||||
<td colspan="2" width="580px" ><p class="font_description">
|
||||
<% unless user.memberships.empty? %>
|
||||
<%= l(:label_contribute_to, :project_count => "#{user.memberships.count}") %>
|
||||
<%= l(:label_contribute_to, :count => user.memberships.count) %>
|
||||
<% for member in user.memberships %>
|
||||
<%= link_to_project(member.project) %><%= (user.memberships.last == member) ? '' : ',' %>
|
||||
<% end %>
|
||||
|
@ -25,7 +25,7 @@
|
|||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" align="right" class="font_lighter"><%= l(:label_user_joinin) %><%= format_date(user.created_on) %>
|
||||
<td width="200" align="right" class="font_lighter"><%= l(:label_user_joinin) %> <%= format_date(user.created_on) %>
|
||||
</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
|
|
|
@ -1,32 +1,30 @@
|
|||
<div id="tags_show">
|
||||
<div id="tags_show" style="float: left;">
|
||||
<%= render :partial => "tags/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %>
|
||||
</div>
|
||||
<div style="float: left;">
|
||||
<% if User.current.logged? %>
|
||||
<span> <%= toggle_link (l(:label_add_tag)), 'put-tag-form', {:focus => 'tags_name'} %> </span>
|
||||
<% end %>
|
||||
|
||||
<div id="put-tag-form" style="display: none;text-align: center">
|
||||
<%= form_for "tag_for_save",:remote=>true,:url=>tag_path,
|
||||
:update => "tags_show",
|
||||
:complete => '$("#put-tag-form").slideUp();' do |f| %>
|
||||
<table>
|
||||
:update => "tags_show",
|
||||
:complete => '$("#put-tag-form").slideUp();' do |f| %>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<%= f.text_field :name ,:id => "tags_name",:size=>"20",
|
||||
:require=>true,
|
||||
:maxlength => Setting.tags_max_length,
|
||||
:minlength=>Setting.tags_min_length %>
|
||||
:require=>true,
|
||||
:maxlength => Setting.tags_max_length,
|
||||
:minlength=>Setting.tags_min_length %>
|
||||
</td>
|
||||
|
||||
<%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%>
|
||||
|
||||
|
||||
<%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%>
|
||||
|
||||
<td style="margin-left: 5px">
|
||||
<td style="margin-left: 5px" vertical-valign="middle" >
|
||||
<a href="#" onclick='$("#tags_name").parent().submit();' type="button" class="submit f_l"></a>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -24,19 +24,19 @@
|
|||
|
||||
<%= file.description %>
|
||||
<div class="c9 gray-color">
|
||||
<%= l('label_attachment_category')%>
|
||||
<%= l('attachment.category')%>
|
||||
<%=result_come_from file%>
|
||||
</div>
|
||||
<span class="gray blue-color">
|
||||
<%= l('label_attachment_download_num')%>
|
||||
<%= l('attachment.download_num')%>
|
||||
<%= file.downloads%>|
|
||||
<%= l('label_attachment_size')%>
|
||||
<%= l('attachment.size')%>
|
||||
<%= number_to_human_size(file.filesize) %>|
|
||||
<%= l('label_attachment_sharer')%>
|
||||
<%= l('attachment.sharer')%>
|
||||
<a class="gray" >
|
||||
<%= link_to file.author, user_path(file.author), target: "_blank" unless file.author.blank? %>
|
||||
</a>|
|
||||
<%= l('label_attachment_upload_time')%>
|
||||
<%= l('attachment.upload_time')%>
|
||||
<%= format_time(file.created_on) %>
|
||||
</span>
|
||||
<div style="display: none"></div>
|
||||
|
|
|
@ -31,7 +31,12 @@
|
|||
<!-- 用来显示三大对象的主页中的tag 故是全部显示 -->
|
||||
<% if @tags.size > 0 %>
|
||||
<% @tags.each do |tag| %>
|
||||
<div id="tag">
|
||||
<!--项目暂时单独出来,后面重构-->
|
||||
<% if object_flag == '2' %>
|
||||
<span class="re_tag f_l">
|
||||
<%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %></span>
|
||||
<% else %>
|
||||
<div id="tag">
|
||||
<span class="tag_show">
|
||||
<%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %>
|
||||
<!-- 对用户主页 是本人 ,对项目,需求,问题是管理员 -->
|
||||
|
@ -43,13 +48,6 @@
|
|||
:taggable_id => obj.id, :taggable_type => object_flag %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% when '2' %>
|
||||
<% if (ProjectInfo.find_by_project_id(obj.id)).try(:user_id) == User.current.id %>
|
||||
<span class='del'>
|
||||
<%= link_to 'x', :controller => "tags", :action => "remove_tag", :remote => true, :tag_name => tag,
|
||||
:taggable_id => obj.id, :taggable_type => object_flag %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% when '3' %>
|
||||
<% if (ProjectInfo.find_by_project_id(obj.project_id)).try(:user_id) == User.current.id %>
|
||||
<span class='del'>
|
||||
|
@ -101,6 +99,7 @@
|
|||
<% end %>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
|
@ -16,8 +16,8 @@
|
|||
<div class="menu">
|
||||
<%= link_to "#{l(:label_course_new)}", new_course_path, class: 'icon icon-add' if @user == User.current %>
|
||||
<ul>
|
||||
<li mode='doing' class="on"><%= l(:label_course_doing)%></li>
|
||||
<li mode='end'><%= l(:label_course_done)%></li>
|
||||
<li mode='doing' class="on"><%= l('user.courses.doing')%></li>
|
||||
<li mode='end'><%= l('user.courses.done')%></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
</span>
|
||||
<% end %>
|
||||
<%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
|
||||
(<%= link_to l(:label_project_member_amount, :count=>projectCount(project)), project_member_path(project) ,:course =>'0' %>)
|
||||
(<%= link_to l(:label_project_member_amount, :count => projectCount(project)), project_member_path(project) ,:course =>'0' %>)
|
||||
</div>
|
||||
<div style=" float: left;margin:5px; margin-left: 10px; width: 380px;min-height: 42px;">
|
||||
<span class='font_lighter' title ='<%= project.short_description%>'> <%=project.description.truncate(90, omission: '...')%> </span>
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
<div class="forum-topic" style="height: 25px; width: 98%; margin-left: 2px;">
|
||||
<h3 style="color: rgb(21, 188, 207);"><strong> <%= l(:lable_bar_active)%> </strong> <%= link_to l(:label_my_question) , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
|
||||
<%= link_to l(:label_my_feedback) , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> </h3>
|
||||
<span style="margin-top: -30px;float: right; display: block;"> <%= link_to l(:label_more), forums_path %> </span>
|
||||
<span style="margin-top: -30px;float: right; display: block;"> <%= link_to l(:button_more), forums_path %> </span>
|
||||
</div>
|
||||
<div class="welcome-box-list-new memo_activity">
|
||||
<% topics = find_new_forum_topics(12) %>
|
||||
|
|
|
@ -138,10 +138,7 @@ en:
|
|||
circular_dependency: "This relation would create a circular dependency"
|
||||
cant_link_an_issue_with_a_descendant: "An issue cannot be linked to one of its subtasks"
|
||||
|
||||
attachment_all: "All"
|
||||
attachment_browse: "Attachment Content Browse"
|
||||
attachment_sufix_browse: "Attachment Type Browse"
|
||||
attachment_type: "Attachment Type"
|
||||
|
||||
general_text_No: 'No'
|
||||
general_text_Yes: 'Yes'
|
||||
general_text_no: 'no'
|
||||
|
@ -166,7 +163,6 @@ en:
|
|||
label_requirement: Calls
|
||||
label_forum: Forum
|
||||
label_contest: Contest
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -189,7 +185,7 @@ en:
|
|||
|
||||
text_are_you_sure: Are you sure? #js 提示
|
||||
|
||||
|
||||
label_no_data: No data to display
|
||||
# 项目、课程、用户公用
|
||||
label_settings: Settings
|
||||
label_information_plural: Information
|
||||
|
@ -206,11 +202,12 @@ en:
|
|||
button_cancel: Cancel
|
||||
label_submit: Submit
|
||||
button_project_tags_add: Add
|
||||
label_more: "More>>"
|
||||
button_download: Download
|
||||
button_more: "More»"
|
||||
button_delete: Delete
|
||||
|
||||
|
||||
button_unfollow: Unfollow
|
||||
button_follow: Follow
|
||||
button_browse: Browse
|
||||
|
||||
|
||||
#
|
||||
|
|
|
@ -147,10 +147,7 @@ zh:
|
|||
cant_link_an_issue_with_a_descendant: "问题不能关联到它的子任务"
|
||||
groupname_repeat: "该班名已存在"
|
||||
|
||||
attachment_all: "全部"
|
||||
attachment_sufix_browse: "文件类型"
|
||||
attachment_browse: "内容类型"
|
||||
attachment_type: '分类'
|
||||
|
||||
general_text_No: '否'
|
||||
general_text_Yes: '是'
|
||||
general_text_no: '否'
|
||||
|
@ -190,7 +187,10 @@ zh:
|
|||
|
||||
|
||||
text_are_you_sure: 您确定要删除吗? #js 提示
|
||||
|
||||
|
||||
|
||||
|
||||
label_no_data: 没有任何数据可供显示
|
||||
# 项目、课程、用户公用
|
||||
label_settings: 配置
|
||||
label_information_plural: 信息
|
||||
|
@ -207,10 +207,14 @@ zh:
|
|||
button_cancel: 取消
|
||||
label_submit: 提交
|
||||
button_project_tags_add: 增加
|
||||
label_more: "更多>>"
|
||||
button_download: 下载
|
||||
button_more: 更多
|
||||
button_more: "更多»"
|
||||
button_delete: 删除
|
||||
button_unfollow: 取消关注
|
||||
button_follow: 关注
|
||||
button_watch: 跟踪
|
||||
button_unwatch: 取消跟踪
|
||||
button_browse: 浏览
|
||||
|
||||
|
||||
#
|
||||
|
|
|
@ -2,3 +2,13 @@ en:
|
|||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
|
||||
#
|
||||
# 竞赛托管平台
|
||||
#
|
||||
# 主页
|
||||
#
|
||||
label_current_hot_contest: Latest Hot Competition
|
||||
label_current_attendingcontest_work: Latest Competition Work
|
||||
label_issue_feedback_activities: Question&Feedback
|
||||
label_more_information: More...
|
||||
label_release_time: Release-time
|
|
@ -3,4 +3,15 @@
|
|||
# by tsechingho (http://github.com/tsechingho)
|
||||
zh:
|
||||
# Text direction: Left-to-Right (ltr) or Right-to-Left (rtl)
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
|
||||
#
|
||||
# 竞赛托管平台
|
||||
#
|
||||
# 主页
|
||||
#
|
||||
label_current_hot_contest: 最新热门竞赛
|
||||
label_current_attendingcontest_work: 最新参赛作品
|
||||
label_issue_feedback_activities: 问题和反馈动态
|
||||
label_more_information: 更多>>
|
||||
label_release_time: 发布时间
|
||||
|
|
|
@ -71,10 +71,9 @@ en:
|
|||
|
||||
field_summary: Summary
|
||||
field_job_category: Job category # added by bai
|
||||
field_filename: File
|
||||
field_file_dense: File Dense
|
||||
field_filesize: Size
|
||||
field_downloads: Downloads
|
||||
|
||||
|
||||
|
||||
field_author: Author
|
||||
field_created_on: Created
|
||||
field_closed_on: Closed
|
||||
|
@ -108,7 +107,6 @@ en:
|
|||
field_last_login_on: Last connection
|
||||
|
||||
field_effective_date: Date
|
||||
field_version: Version
|
||||
field_type: Type
|
||||
field_host: Host
|
||||
field_port: Port
|
||||
|
@ -340,8 +338,7 @@ en:
|
|||
label_create_new_projects: Create a project
|
||||
label_work_scores_people: The total number of users given scores
|
||||
label_project_grade: Score
|
||||
label_user_for_project_grade: Score
|
||||
label_relation_files: Select an existing resource
|
||||
|
||||
# Personal signature tips
|
||||
|
||||
|
||||
|
@ -478,13 +475,11 @@ en:
|
|||
label_text: Long text
|
||||
label_attribute: Attribute
|
||||
label_attribute_plural: Attributes
|
||||
label_no_data: No data to display
|
||||
label_change_status: Change status
|
||||
label_history: History
|
||||
label_attachment: Files
|
||||
label_attachment_new: New file
|
||||
label_attachment_delete: Delete file
|
||||
label_attachment_plural: Files
|
||||
|
||||
label_file_added: File added
|
||||
label_report: Report
|
||||
label_report_plural: Reports
|
||||
|
@ -614,12 +609,10 @@ en:
|
|||
label_latest_revision_plural: Latest revisions
|
||||
label_view_revisions: View revisions
|
||||
label_view_all_revisions: View all revisions
|
||||
label_max_size: Maximum size
|
||||
label_sort_highest: Move to top
|
||||
label_sort_higher: Move up
|
||||
label_sort_lower: Move down
|
||||
label_sort_lowest: Move to bottom
|
||||
label_roadmap: Roadmap
|
||||
label_roadmap_due_in: "Due in %{value}"
|
||||
label_roadmap_overdue: "%{value} late"
|
||||
label_roadmap_no_issues: No issues for this version
|
||||
|
@ -724,7 +717,6 @@ en:
|
|||
label_plugins: Plugins
|
||||
label_ldap_authentication: LDAP authentication
|
||||
label_downloads_abbr: D/L
|
||||
label_optional_description: Optional description
|
||||
label_add_another_file: Add another file
|
||||
label_preferences: Preferences
|
||||
label_chronological_order: In chronological order
|
||||
|
@ -794,7 +786,7 @@ en:
|
|||
label_cross_project_hierarchy: With project hierarchy
|
||||
label_cross_project_system: With all projects
|
||||
label_gantt_progress_line: Progress line
|
||||
label_files_filter: Files Filter:
|
||||
|
||||
|
||||
button_check_all: Check all
|
||||
button_uncheck_all: Uncheck all
|
||||
|
@ -933,9 +925,7 @@ en:
|
|||
text_turning_multiple_off: "If you disable multiple values, multiple values will be removed in order to preserve only one value per item."
|
||||
text_applied_project: "User %{id} Apply Join Project %{project}"
|
||||
|
||||
default_role_manager: Manager
|
||||
default_role_developer: Developer
|
||||
default_role_reporter: Reporter
|
||||
|
||||
default_tracker_bug: Bug
|
||||
default_tracker_feature: Feature
|
||||
default_tracker_support: Support
|
||||
|
@ -1019,8 +1009,7 @@ en:
|
|||
#end by huang
|
||||
|
||||
#added by liuping
|
||||
button_unfollow: Unfollow
|
||||
button_follow: Follow
|
||||
|
||||
label_delete_confirm: Confirm delete?
|
||||
|
||||
label_exit_project: Exit Project
|
||||
|
@ -1034,7 +1023,7 @@ en:
|
|||
label_leave_message: Message content
|
||||
label_message: message board
|
||||
field_add: Add before %{time}
|
||||
button_more: More
|
||||
|
||||
|
||||
label_bidding_project: projects
|
||||
button_bidding: I will participate in it
|
||||
|
@ -1067,11 +1056,6 @@ en:
|
|||
zero: Follower
|
||||
one: Follower
|
||||
other: Followers
|
||||
#end
|
||||
label_member_since: joined
|
||||
label_contribute_to: Participates %{project_count} projects:
|
||||
#modify by men
|
||||
|
||||
#end
|
||||
label_total_commit: Totally %{total_commit} commits # modified by bai
|
||||
#modify by men
|
||||
|
@ -1084,7 +1068,7 @@ en:
|
|||
label_type_as: Type as
|
||||
label_status_as: Status as
|
||||
label_priority_as: Priority as
|
||||
label_member_list: Member list
|
||||
|
||||
label_author_name: Posted by %{author_name}
|
||||
label_comments_count: (%{count} comments)
|
||||
label_post_on: posts on
|
||||
|
@ -1440,13 +1424,7 @@ en:
|
|||
label_your_course: your course
|
||||
label_have_message: have a new message
|
||||
lable_not_receive_mail: Click here don't receive email form site!
|
||||
#added by linchun as competition#
|
||||
|
||||
label_current_hot_contest: Latest Hot Competition
|
||||
label_current_attendingcontest_work: Latest Competition Work
|
||||
label_issue_feedback_activities: Question&Feedback
|
||||
label_more_information: More...
|
||||
label_release_time: Release-time
|
||||
|
||||
label_weixin: WeiXin
|
||||
|
||||
|
@ -1581,7 +1559,6 @@ en:
|
|||
label_trustie_team: The Trustie development team
|
||||
label_memos_max_length: The content of the post up to 65535 characters in length
|
||||
label_forums_max_length: Post Bar describing the maximum length of 65535 characters
|
||||
label_unknow_type: Unknow type
|
||||
|
||||
review_assignments: Review assignments
|
||||
label_my_school: My school
|
||||
|
@ -1606,3 +1583,5 @@ en:
|
|||
label_recently_updated_message: Recently updated the message
|
||||
label_recently_updated_courseware: Recently updated the courseware
|
||||
label_no_courses: You do not participate in any course, please search the curriculum, course, or create a course!
|
||||
label_commit_failed: commit failed
|
||||
#api end
|
||||
|
|
|
@ -19,7 +19,9 @@ en:
|
|||
#
|
||||
lable_hot_projects: Hot Projects
|
||||
label_private: private
|
||||
label_project_member_amount: "%{count} members"
|
||||
label_project_member_amount:
|
||||
one: "%{count} member"
|
||||
other: "%{count} members"
|
||||
label_project_score_tips: "Considering all activities of the project, project's score reflects the activity level of project"
|
||||
label_project_score: Score
|
||||
|
||||
|
@ -29,7 +31,7 @@ en:
|
|||
#
|
||||
# 左边栏
|
||||
#
|
||||
label_id: "ID:"
|
||||
label_project_id: "Projcet ID:"
|
||||
|
||||
label_apply_project: Apply to Join
|
||||
label_exit_project: Exit
|
||||
|
@ -48,24 +50,88 @@ en:
|
|||
|
||||
project_module_boards: Forums
|
||||
project_module_boards_post: New Post
|
||||
# 与课程公用资源库
|
||||
project_module_files: Resources
|
||||
label_upload_files: New File
|
||||
project_module_repository: Repository
|
||||
project_module_create_repository: New Repository
|
||||
|
||||
|
||||
label_project_more: More
|
||||
project_module_news: News
|
||||
project_module_wiki: Wiki
|
||||
project_module_code_review: Code Review
|
||||
project_module_calendar: Calendar
|
||||
project_module_gantt: Gantt
|
||||
project_module_documents: Documents
|
||||
label_project_tool_response: Response
|
||||
label_module_share: DTS Test Tool
|
||||
label_roadmap: Roadmap
|
||||
label_project_tool_response: Feedback
|
||||
project_module_dts: DTS Test Tool
|
||||
|
||||
label_project_overview: "Profile:"
|
||||
label_expend_information: More Information
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 项目成员
|
||||
#
|
||||
label_member_list: Members
|
||||
|
||||
label_member_since: "joined at"
|
||||
label_user_for_project_grade: Score
|
||||
|
||||
default_role_manager: Manager
|
||||
default_role_developer: Developer
|
||||
default_role_reporter: Reporter
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 关注者列表
|
||||
#
|
||||
label_followers: Followers
|
||||
label_contribute_to:
|
||||
one: "Participates %{count} project—"
|
||||
other: "Participates %{count} projects—"
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 资源库
|
||||
#
|
||||
lable_file_sharingarea: Resources
|
||||
|
||||
# 资源库(附件)公用
|
||||
label_relation_files: Select an existing resource
|
||||
label_search_by_keyword: "Search by keywords"
|
||||
label_files_filter: "Files Filter:"
|
||||
|
||||
attachment_all: "All"
|
||||
attachment_browse: "Attachment Content Browse"
|
||||
attachment_sufix_browse: "Attachment Type Browse"
|
||||
label_unknow_type: Unknow type
|
||||
|
||||
field_filename: File
|
||||
field_filesize: Size
|
||||
field_filecontenttype: Content
|
||||
field_filetype: File Typ
|
||||
field_downloads: Downloads
|
||||
field_file_dense: Dense
|
||||
|
||||
# 资源库(附件)公用 > 上传文件
|
||||
label_attachment_new: New file
|
||||
field_version: Version
|
||||
attachment_type: "Attachment Type"
|
||||
|
||||
label_attachment_plural: Files
|
||||
label_no_file_uploaded: No file uploaded
|
||||
label_max_size: Maximum size
|
||||
|
||||
label_optional_description: Description
|
||||
label_file_count: "%{count} files were uploaded successfully"
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
|
@ -80,6 +146,20 @@ en:
|
|||
#
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 资源库
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 版本库
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
|
@ -95,10 +175,8 @@ en:
|
|||
project_module_issue_tracking: Issue tracking
|
||||
project_module_time_tracking: Time tracking
|
||||
project_module_course: 课程
|
||||
project_module_files: Files
|
||||
project_module_boards: Forums
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
|
@ -122,7 +200,7 @@ en:
|
|||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 新建项目
|
||||
# 新建项目/项目配置 >信息
|
||||
#
|
||||
label_project_new_description: "A project can be used to do anything that requires distributed collaboration."
|
||||
field_name: Name
|
||||
|
@ -177,6 +255,10 @@ en:
|
|||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 项目得分
|
||||
#
|
||||
label_approve: Approve
|
||||
label_refusal: Refusal
|
|
@ -22,7 +22,9 @@ zh:
|
|||
#
|
||||
lable_hot_projects: 热门项目
|
||||
label_private: 私有
|
||||
label_project_member_amount: "%{count}人"
|
||||
label_project_member_amount:
|
||||
one: "%{count}人"
|
||||
other: "%{count}人"
|
||||
label_project_score_tips: 项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度
|
||||
label_project_score: 项目评分
|
||||
|
||||
|
@ -32,13 +34,14 @@ zh:
|
|||
#
|
||||
# 左边栏
|
||||
#
|
||||
label_id: "ID:"
|
||||
label_project_id: "项目ID:"
|
||||
|
||||
label_apply_project: 申请加入
|
||||
label_exit_project: 退出项目
|
||||
label_apply_project_waiting: 已处理申请,请等待管理员审核
|
||||
label_unapply_project: 取消申请
|
||||
|
||||
lable_sure_exit_project: 是否确认退出该项目
|
||||
|
||||
label_member: 成员
|
||||
project_module_attachments: 资源
|
||||
|
||||
|
@ -49,22 +52,119 @@ zh:
|
|||
|
||||
project_module_boards: 讨论区
|
||||
project_module_boards_post: 发帖
|
||||
# 与课程公用资源库
|
||||
project_module_files: 资源库
|
||||
project_module_repository: 版本库
|
||||
project_module_create_repository: 创建版本库
|
||||
|
||||
label_project_more: 更多
|
||||
project_module_news: 新闻
|
||||
project_module_wiki: Wiki
|
||||
project_module_code_review: 代码审查
|
||||
project_module_calendar: 日历
|
||||
project_module_gantt: 甘特图
|
||||
project_module_documents: 文档
|
||||
label_roadmap: 里程碑 #版本路线图
|
||||
project_module_dts: DTS测试工具
|
||||
label_project_tool_response: 用户反馈
|
||||
label_module_share: DTS测试工具
|
||||
|
||||
label_project_overview: "项目简介:"
|
||||
label_expend_information: 展开更多信息
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 项目成员
|
||||
#
|
||||
label_member_list: 成员列表
|
||||
|
||||
label_member_since: "加入"
|
||||
label_user_for_project_grade: 个人得分
|
||||
|
||||
default_role_manager: 管理人员
|
||||
default_role_developer: 开发人员
|
||||
default_role_reporter: 报告人员
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 关注者列表
|
||||
#
|
||||
label_followers: 关注
|
||||
label_contribute_to:
|
||||
one: "参与了 %{count}个项目:"
|
||||
other: "参与了 %{count}个项目:"
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 资源库
|
||||
#
|
||||
lable_file_sharingarea: 资源共享区
|
||||
|
||||
label_upload_files: 上传文件
|
||||
|
||||
|
||||
# 资源库(附件)公用 > 关联资源
|
||||
label_relation_files: 关联已有资源
|
||||
label_search_by_keyword: "按关键字搜索:"
|
||||
label_files_filter: "资源过滤:"
|
||||
|
||||
field_filename: 文件
|
||||
field_filesize: 大小
|
||||
field_filecontenttype: 内容分类
|
||||
field_filetype: 文件格式
|
||||
field_file_dense: 是否公开
|
||||
field_downloads: 下载次数
|
||||
|
||||
attachment_sufix_browse: "文件类型"
|
||||
attachment_browse: "内容类型"
|
||||
attachment_all: "全部"
|
||||
label_unknow_type: 未知类型
|
||||
|
||||
# 资源库(附件)公用 > 上传文件
|
||||
label_attachment_new: 新建文件
|
||||
field_version: 版本
|
||||
attachment_type: "分类"
|
||||
|
||||
label_attachment_plural: 文件
|
||||
label_no_file_uploaded: 未上传文件
|
||||
label_max_size: 最大文件大小
|
||||
|
||||
label_optional_description: 可选的描述
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 问题跟踪
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 项目讨论区
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 资源库
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
# 版本库
|
||||
#
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
|
@ -83,7 +183,8 @@ zh:
|
|||
project_moule_boards_show: 项目论坛
|
||||
project_module_time_tracking: 时间跟踪
|
||||
project_module_course: 课程
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台
|
||||
#
|
||||
|
@ -94,6 +195,7 @@ zh:
|
|||
label_invite_email_tips: 输入好友邮箱地址,Trustie会自动为该邮箱注册用户!
|
||||
notice_registed_success: 您输入的邮箱为空或者该邮箱已被注册!
|
||||
label_email_format_error: 您所填写的电子邮件格式不正确
|
||||
label_user_role_null: 用户和角色不能留空!
|
||||
label_send_email: 免费发送
|
||||
label_input_email: 请输入邮箱地址
|
||||
|
||||
|
|
|
@ -77,8 +77,6 @@ en:
|
|||
label_technical_title: Title
|
||||
|
||||
label_bidding_user_studentcode: Student ID
|
||||
label_account_developer: Developer
|
||||
label_account_student: Student
|
||||
|
||||
|
||||
#
|
||||
|
@ -112,7 +110,7 @@ en:
|
|||
label_layouts_feedback: "a message "
|
||||
label_of_feedback: from
|
||||
|
||||
label_goto: Go to>>
|
||||
label_goto: "Go to»"
|
||||
|
||||
label_activity_project: "Project:"
|
||||
label_active_call: call
|
||||
|
@ -180,12 +178,12 @@ en:
|
|||
#
|
||||
label_responses: Messages
|
||||
label_user_response: Feedback
|
||||
label_leave_a_message: Leave him/her a message
|
||||
label_leave_a_message: "Leave him/her a message"
|
||||
button_leave_meassge: Submit
|
||||
button_clear_meassge: Reset
|
||||
|
||||
label_user_login_new: Login
|
||||
label_user_login_tips: You haven't logged in, please login first to leave a message!
|
||||
label_user_login_tips: "You haven't logged in, please login first to leave a message!"
|
||||
|
||||
label_bid_respond_delete: Delete
|
||||
label_bid_respond_quote: Respond
|
||||
|
|
|
@ -36,6 +36,7 @@ zh:
|
|||
label_user_edit: "修改资料"
|
||||
|
||||
label_user_score: 个人综合得分
|
||||
# 用户身份在/my的修改资料下
|
||||
label_user_score_of_collaboration: 协同得分
|
||||
label_user_score_of_influence: 影响力得分
|
||||
label_user_score_of_skill: 技术得分
|
||||
|
@ -87,10 +88,9 @@ zh:
|
|||
label_technicl_title_associate_professor: 副教授
|
||||
label_technicl_title_lecturer: 讲师
|
||||
label_technicl_title_teaching_assistant: 助教
|
||||
|
||||
|
||||
# 用户身份(学生、开发者)标签在/my的修改资料下
|
||||
label_bidding_user_studentcode: 学号
|
||||
label_account_developer: 开发者
|
||||
label_account_student: 学生
|
||||
|
||||
label_no_current_fans: 该用户暂无粉丝
|
||||
label_no_current_watchers: 该用户暂未关注其他用户
|
||||
|
@ -115,7 +115,7 @@ zh:
|
|||
label_of_feedback: 的
|
||||
label_layouts_feedback: 留言
|
||||
|
||||
label_goto: 前往>>
|
||||
label_goto: "前往»"
|
||||
|
||||
label_activity_project: "项目:"
|
||||
label_active_call: 需求
|
||||
|
|
|
@ -99,10 +99,9 @@ zh:
|
|||
lastname_empty: 姓氏不能为空
|
||||
enterprise_empty: 企业名不能为空
|
||||
field_lastname_eg: '(例:张三丰,请填写[张])'
|
||||
field_filename: 文件
|
||||
field_file_dense: 是否公开
|
||||
field_filesize: 大小
|
||||
field_downloads: 下载次数
|
||||
|
||||
|
||||
|
||||
field_author: 作者
|
||||
field_created_on: 创建于
|
||||
field_updated_on: 更新于
|
||||
|
@ -130,13 +129,12 @@ zh:
|
|||
field_priority: 优先级
|
||||
field_fixed_version: 目标版本
|
||||
field_user: 用户
|
||||
field_principal: 用户/用户组
|
||||
field_principal: 用户
|
||||
field_role: 角色
|
||||
field_homepage: 主页
|
||||
field_time: 课时
|
||||
field_class_period: 学时
|
||||
field_code: 学分
|
||||
field_is_public: 公开
|
||||
field_open_student: 学生列表公开
|
||||
field_parent: 上级项目
|
||||
field_is_in_roadmap: 在路线图中显示
|
||||
|
@ -145,7 +143,6 @@ zh:
|
|||
field_last_login_on: 最后登录
|
||||
field_language: 语言
|
||||
field_effective_date: 日期
|
||||
field_version: 版本
|
||||
field_type: 类型
|
||||
field_host: 主机
|
||||
field_port: 端口
|
||||
|
@ -466,8 +463,6 @@ zh:
|
|||
label_new_contest: 竞赛
|
||||
label_requirement_focus: 关注需求
|
||||
label_developer: 用户
|
||||
label_account_developer: 开发者
|
||||
label_account_student: 学生
|
||||
label_enterprise_into: 进入企业
|
||||
label_college_into: 进入高校
|
||||
label_investor: 投资人:
|
||||
|
@ -509,7 +504,7 @@ zh:
|
|||
label_summer: 夏季学期
|
||||
label_autumn: 秋季学期
|
||||
label_winter: 冬季学期
|
||||
label_followers: 关注
|
||||
|
||||
|
||||
label_teacher_list: 教师列表
|
||||
label_student_list: 学生列表
|
||||
|
@ -558,15 +553,15 @@ zh:
|
|||
label_text: 文本
|
||||
label_attribute: 属性
|
||||
label_attribute_plural: 属性
|
||||
label_no_data: 没有任何数据可供显示
|
||||
|
||||
label_change_status: 变更状态
|
||||
label_history: 历史记录
|
||||
label_attachment: 文件
|
||||
label_attachment_new: 新建文件
|
||||
|
||||
label_file_upload: 上传资料
|
||||
label_course_file_upload: 上传了课件
|
||||
label_attachment_delete: 删除文件
|
||||
label_attachment_plural: 文件
|
||||
|
||||
label_file_added: 文件已添加
|
||||
label_report: 报表
|
||||
label_report_plural: 报表
|
||||
|
@ -692,13 +687,11 @@ zh:
|
|||
label_latest_revision_plural: 最近的修订版本
|
||||
label_view_revisions: 查看修订
|
||||
label_view_all_revisions: 查看所有修订
|
||||
label_no_file_uploaded: 未上传文件
|
||||
label_max_size: 最大文件大小
|
||||
|
||||
label_sort_highest: 置顶
|
||||
label_sort_higher: 上移
|
||||
label_sort_lower: 下移
|
||||
label_sort_lowest: 置底
|
||||
label_roadmap: 里程碑 #版本路线图
|
||||
label_roadmap_due_in: "截止日期到 %{value}"
|
||||
label_roadmap_overdue: "%{value} 延期"
|
||||
label_roadmap_no_issues: 该版本没有问题
|
||||
|
@ -847,7 +840,7 @@ zh:
|
|||
label_plugins: 插件
|
||||
label_ldap_authentication: LDAP 认证
|
||||
label_downloads_abbr: D/L
|
||||
label_optional_description: 可选的描述
|
||||
|
||||
label_add_another_file: 添加其它文件
|
||||
label_preferences: 首选项
|
||||
label_chronological_order: 按时间顺序
|
||||
|
@ -915,8 +908,6 @@ zh:
|
|||
button_sort: 排序
|
||||
button_log_time: 登记工时
|
||||
button_rollback: 恢复到这个版本
|
||||
button_watch: 跟踪
|
||||
button_unwatch: 取消跟踪
|
||||
button_reply: 回复
|
||||
button_archive: 存档
|
||||
button_unarchive: 取消存档
|
||||
|
@ -1003,9 +994,6 @@ zh:
|
|||
text_applied_project: "用户 %{id} 申请加入项目 %{project}"
|
||||
text_issue_expire: "分配给您的任务%{issue}即将到期"
|
||||
|
||||
default_role_manager: 管理人员
|
||||
default_role_developer: 开发人员
|
||||
default_role_reporter: 报告人员
|
||||
default_tracker_bug: 错误
|
||||
default_tracker_feature: 功能
|
||||
default_tracker_support: 支持
|
||||
|
@ -1099,7 +1087,7 @@ zh:
|
|||
description_all_columns: 所有列
|
||||
button_export: 导出
|
||||
label_export_options: "%{export_format} 导出选项"
|
||||
error_attachment_too_big: 该文件无法上传。超过文件大小限制 (%{max_size})
|
||||
|
||||
error_pic_type: "仅支持如下图片格式:"
|
||||
notice_failed_to_save_time_entries: "无法保存下列所选取的 %{total} 个项目中的 %{count} 工时: %{ids}。"
|
||||
label_x_issues:
|
||||
|
@ -1228,11 +1216,6 @@ zh:
|
|||
zero: 个关注者
|
||||
one: 个关注者
|
||||
other: 个关注者
|
||||
#end
|
||||
label_member_since: 加入
|
||||
label_contribute_to: 参与了 %{project_count} 个项目:
|
||||
#modify by men
|
||||
|
||||
#end
|
||||
label_total_commit: 共%{total_commit}次提交
|
||||
label_question_number: 第%{question_number}题:
|
||||
|
@ -1249,7 +1232,7 @@ zh:
|
|||
label_type_as: 类型为
|
||||
label_status_as: 状态为
|
||||
label_priority_as: 优先级为
|
||||
label_member_list: 成员列表
|
||||
|
||||
label_author_name: 由%{author_name}发表了
|
||||
|
||||
label_post_on: 发表了
|
||||
|
@ -1263,9 +1246,6 @@ zh:
|
|||
|
||||
|
||||
#added by liuping
|
||||
button_unfollow: 取消关注
|
||||
button_follow: 关注
|
||||
label_followers: 关注
|
||||
|
||||
label_delete_confirm: 确认删除?
|
||||
label_tags_bid: 需求名称
|
||||
|
@ -1604,8 +1584,6 @@ zh:
|
|||
label_code_submit_number: 代码提交次数
|
||||
label_topic_number: 讨论区发言数量
|
||||
|
||||
label_files_filter: 资源过滤:
|
||||
|
||||
|
||||
|
||||
label_join_contest: 加入竞赛
|
||||
|
@ -1732,7 +1710,6 @@ zh:
|
|||
|
||||
label_project_grade: 项目得分
|
||||
label_user_grade: 个人得分
|
||||
label_user_for_project_grade: 个人得分
|
||||
label_system_grade: 系统评分
|
||||
|
||||
label_ta: 助教
|
||||
|
@ -1798,7 +1775,6 @@ zh:
|
|||
you_are_master: 您是该项目的版主
|
||||
|
||||
#add by linchun (竞赛相关)
|
||||
label_upload_files: 上传文件
|
||||
label_upload_softwarepackage: 上传软件包
|
||||
label_upload_cuttingphoto: 上传截图
|
||||
label_contests_reward_method: 奖励方式
|
||||
|
@ -1879,7 +1855,6 @@ zh:
|
|||
one: 个动态
|
||||
other: 个动态
|
||||
|
||||
label_relation_files: 关联已有资源
|
||||
label_contest_settings: 配置竞赛
|
||||
label_contest_delete: 删除竞赛
|
||||
label_noawards_current: 暂未评奖
|
||||
|
@ -1936,12 +1911,6 @@ zh:
|
|||
lable_not_receive_mail: 点此设置接收本站邮件偏好!
|
||||
label_contest_notification: 竞赛通知
|
||||
|
||||
#english site translation
|
||||
label_current_hot_contest: 最新热门竞赛
|
||||
label_current_attendingcontest_work: 最新参赛作品
|
||||
label_issue_feedback_activities: 问题和反馈动态
|
||||
label_more_information: 更多>>
|
||||
label_release_time: 发布时间
|
||||
|
||||
label_weixin: 微信扫码
|
||||
|
||||
|
@ -1976,7 +1945,6 @@ zh:
|
|||
|
||||
lable_hot_course: 活跃课程
|
||||
lable_student_list_visable: 学生列表是否公开
|
||||
lable_sure_exit_project: 是否确认退出该项目
|
||||
|
||||
lable_input_class_vilidate: 学时只能为整数
|
||||
lable_school_list: 学校列表
|
||||
|
@ -1984,7 +1952,6 @@ zh:
|
|||
lable_teacher_evaluation: 作业综评
|
||||
lable_course_teacher: 主讲老师
|
||||
lable_course_end: 课程学期已结束
|
||||
lable_file_sharingarea: 资源共享区
|
||||
label_no_contest_news_description: 竞赛描述不能为空
|
||||
label_contest_news_condition: 竞赛描述超过5000个汉字
|
||||
label_no_contest_news_title: 竞赛标题不能为空
|
||||
|
@ -2052,13 +2019,6 @@ zh:
|
|||
label_enterprise_nil: 该模块为最新上线模块,目前还没有创建企业项目!
|
||||
label_enterprises: 组织
|
||||
|
||||
label_tags_opensource: 开源项目
|
||||
label_attachment_category: 所属分类
|
||||
label_attachment_download_num: 下载
|
||||
label_attachment_size: 大小
|
||||
label_attachment_sharer: 共享者
|
||||
label_attachment_upload_time: 上传时间
|
||||
|
||||
|
||||
#api
|
||||
label_recently_updated_notification: 最近更新了通知
|
||||
|
@ -2066,9 +2026,12 @@ zh:
|
|||
label_recently_updated_message: 最近更新了留言
|
||||
label_recently_updated_courseware: 最近更新了课件
|
||||
label_no_courses: 您没有参与任何课程,请搜索课程、加入课程,或者创建课程吧!
|
||||
label_commit_failed: 提交失败
|
||||
#api end
|
||||
|
||||
label_end_time: 截止时间
|
||||
label_send_email: 确定发送
|
||||
label_input_email: 请输入邮箱地址
|
||||
project_module_files: 资源库
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -215,7 +215,51 @@ KindEditor.plugin('image', function(K) {
|
|||
}
|
||||
});
|
||||
uploadbutton.fileBox.change(function(e) {
|
||||
localUrlBox.val(uploadbutton.fileBox.val());
|
||||
//localUrlBox.val(uploadbutton.fileBox.val());
|
||||
if (dialog.isLoading) {
|
||||
return;
|
||||
}
|
||||
// insert local image
|
||||
if (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {
|
||||
if (uploadbutton.fileBox.val() == '') {
|
||||
alert(self.lang('pleaseSelectFile'));
|
||||
return;
|
||||
}
|
||||
dialog.showLoading(self.lang('uploadLoading'));
|
||||
uploadbutton.submit();
|
||||
localUrlBox.val('');
|
||||
return;
|
||||
}
|
||||
// insert remote image
|
||||
var url = K.trim(urlBox.val()),
|
||||
width = widthBox.val(),
|
||||
height = heightBox.val(),
|
||||
title = titleBox.val(),
|
||||
align = '';
|
||||
alignBox.each(function() {
|
||||
if (this.checked) {
|
||||
align = this.value;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if (url == 'http://' || K.invalidUrl(url)) {
|
||||
alert(self.lang('invalidUrl'));
|
||||
urlBox[0].focus();
|
||||
return;
|
||||
}
|
||||
if (!/^\d*$/.test(width)) {
|
||||
alert(self.lang('invalidWidth'));
|
||||
widthBox[0].focus();
|
||||
return;
|
||||
}
|
||||
if (!/^\d*$/.test(height)) {
|
||||
alert(self.lang('invalidHeight'));
|
||||
heightBox[0].focus();
|
||||
return;
|
||||
}
|
||||
clickFn.call(self, url, title, width, height, 0, align);
|
||||
|
||||
|
||||
});
|
||||
if (allowFileManager) {
|
||||
viewServerBtn.click(function(e) {
|
||||
|
|
|
@ -135,8 +135,11 @@ function uploadBlob(blob, uploadUrl, attachmentId, options) {
|
|||
loadstartEventHandler: $.noop,
|
||||
progressEventHandler: $.noop
|
||||
}, options);
|
||||
|
||||
uploadUrl = uploadUrl + '?attachment_id=' + attachmentId;
|
||||
if(uploadUrl.indexOf('?') > 0){
|
||||
uploadUrl = uploadUrl + '&attachment_id=' + attachmentId;
|
||||
}else{
|
||||
uploadUrl = uploadUrl + '?attachment_id=' + attachmentId;
|
||||
}
|
||||
if (blob instanceof window.File) {
|
||||
uploadUrl += '&filename=' + encodeURIComponent(blob.name);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ ul.wlist{ margin-left: -40px; border-bottom:none; }
|
|||
ul.wlist li{float: left;}
|
||||
ul.wlist li a{ border:1px solid #15bccf; padding:4px; margin-left:3px;}
|
||||
ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||
.wlist_select { background-color:#64bdd9; color:#fff; padding: 4px 3px 3px 3px; margin-left:3px;margin-top: -5px; border:1px solid #64bdd9;}
|
||||
.wlist_select { background-color:#64bdd9; color:#fff; padding: 5px 3px 3px 3px; margin-left:3px;margin-top: 0px; border:1px solid #64bdd9;}
|
||||
|
||||
/*20150203项目界面优化样式 By: huangjignquan*/
|
||||
.project_new{font-size: 15px; padding: 5px;}
|
||||
|
@ -69,15 +69,23 @@ a.ml105{ margin-left:120px;}
|
|||
a:hover.subnav_green{ background:#14ad5a;}
|
||||
|
||||
/*简介*/
|
||||
.project_intro{ width:220px; padding:10px; background:#fff; padding-top:5px; color:#6d6d6d;}
|
||||
.course_description{max-height: 105px;overflow:hidden;}
|
||||
.project_intro{ width:220px; padding:5px 0px 10px 10px; background:#fff; color:#6d6d6d;}
|
||||
.course_description{max-height: 103px;overflow:hidden;}
|
||||
.course_description_none{max-height: none;}
|
||||
.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;}
|
||||
.lg-foot:hover{ color:#787b7e;}
|
||||
/****标签(和资源库的tag样式一致)***/
|
||||
.project_Label{ width:220px; padding-left:10px; padding-right:10px; background:#fff; margin-top:10px;}
|
||||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding-left:4px;padding-right: 4px; height:22px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px;font-size:12px; }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h span,.tag_h a{ margin-top:5px;}
|
||||
/*右侧内容--动态*/
|
||||
|
||||
.project_r_h{ height:40px; background:#eaeaea; margin-bottom: 5px;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:30px; width:90px; text-align:center; font-weight:normal; padding-top:3px; font-size:16px; padding-top:9px;}
|
||||
/*右侧内容--动态*/
|
||||
.project_r_h{height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:29px; width:90px; text-align:center; font-weight:normal; padding-top:10px; font-size:16px;padding-left:10px;}
|
||||
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
|
||||
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
|
||||
a.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
|
||||
|
@ -100,42 +108,124 @@ a:hover.more{ color:#64bdd9;}
|
|||
.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
|
||||
.box_close:hover{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
|
||||
/*邮件邀请*/
|
||||
.box_main{ width:345px; margin:0 auto;padding-left:28px;}
|
||||
.box_h3{ color:#15bccf; text-align:center; font-size:16px;margin-right:40px;}
|
||||
.box_main{ width:345px; margin:0 auto;}
|
||||
.box_main02{ width:390px; margin:15px auto;}
|
||||
.box_h3{ color:#15bccf; text-align:center; font-size:16px;}
|
||||
.box_p{ color:#404040; margin-bottom:5px;}
|
||||
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;}
|
||||
.fb_item{ color:#919191; border:1px solid #919191; height:25px; margin-bottom:10px; padding-left:5px; width:290px;}
|
||||
.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
|
||||
.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
||||
.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
||||
.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
|
||||
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff !important; height:26px; padding-top:8px; margin-bottom:10px;}
|
||||
.btn_free:hover{ background:#d63502;}
|
||||
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff !important; height:25px; padding-top:5px; margin-bottom:10px;}
|
||||
.btn_free:hover{ background:#d63502;text-decoration:none;}
|
||||
/*成员邀请*/
|
||||
.invi_search{ width:345px; margin:0 auto;}
|
||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.invi_search{ margin-left:25px;}
|
||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px;}
|
||||
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
.rolebox{ margin-left: -40px;}
|
||||
.rolebox{ margin:10px 0;margin-left:-38px;}
|
||||
/*问题跟踪*/
|
||||
.problem_top{ margin:10px 0 ;}
|
||||
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
|
||||
.problem_search_btn:hover{ background:#3da1c1; border:1px solid #3da1c1;}
|
||||
.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; width:60px; height:22px; text-align:center; padding-top:2px;}
|
||||
.problem_new_btn:hover{ background:#ff7143; color:#fff;}
|
||||
.problem_p{ color:#535252; margin-right: 8px;}
|
||||
.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143 !important; width:60px; height:19px; font-size:12px; text-align:center; padding-top:4px;margin-top:-2px;}
|
||||
.problem_new_btn:hover{ background:#ff7143; color:#fff !important;}
|
||||
.problem_p{ color:#535252; margin-top:5px;}
|
||||
.problem_p span{ color:#ff3e00;}
|
||||
.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;}
|
||||
.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;}
|
||||
.problem_pic:hover{border:1px solid #64bdd9;}
|
||||
.problem_txt{ width:610px; margin-left:10px; color:#777777;}
|
||||
.problem_name{ color:#ff5722 !important;}
|
||||
.problem_line{margin-top:5px;}
|
||||
.problem_name:hover{ color:#d33503;}
|
||||
.problem_tit{ color:#0781b4 !important; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.problem_tit:hover{ color:#09658c !important; }
|
||||
.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****翻页***/
|
||||
.wlist{}
|
||||
.wlist a{ float:right; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;}
|
||||
.wlist_l a{ float:left; margin-right:3px; margin-left:0px;}
|
||||
.wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;}
|
||||
.wlist_select a { background-color:#48aac9; color:#fff;}
|
||||
/****讨论区***/
|
||||
.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;}
|
||||
.talk_top span{ color:#ff7143;}
|
||||
.talk_txt{ width:460px; margin-left:10px; color:#676868;}
|
||||
.talk_up{ color:#f63c00;}
|
||||
.talk_pic{width:32px; height:32px; padding:2px;}
|
||||
.talk_btn{ background:#64bdd9; width:50px; height:22px; color:#fff; text-align:center; margin-top:9px; padding-top:2px;}
|
||||
.talk_btn:hover{ background:#2a9dc1;}
|
||||
/****讨论区内页***/
|
||||
.mt0{ margin-top:0px;}
|
||||
.talk_info{ color:#7d7d7d; margin-left:50px; margin-top:10px;}
|
||||
.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||
.talk_edit:hover{ color:#ff5722;}
|
||||
.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;}
|
||||
.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px;}
|
||||
/****新建讨论***/
|
||||
.talk_new{ padding-left:15px; color:#4c4c4c;}
|
||||
.c_red{ color:#F00;}
|
||||
.talk_input{ border:1px solid #64bdd9; height:22px; width:595px; margin-bottom:10px;}
|
||||
.talk_text{ border:1px solid #64bdd9; height:100px;width:595px; margin-bottom:10px;}
|
||||
.talk_new ul li{ }
|
||||
.view_span{font-weight:normal; color:#999;}
|
||||
.sb{width:70px; height:26px; color:#606060;}
|
||||
.ml60{ margin-left:60px;}
|
||||
.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; height:28px; width:50px; text-align:center; margin-left:10px; margin-top:10px;}
|
||||
.blue_btn:hover{ background:#329cbd;}
|
||||
.grey_btn{ background:#d9d9d9; color:#656565;}
|
||||
.grey_btn:hover{ background:#717171; color:#fff;}
|
||||
/****资源库***/
|
||||
.f_l{ float:left;}
|
||||
.f_r{ float:right;}
|
||||
.resource a{ text-align:center;}
|
||||
.b_lblue{ background:#64bdd9;}
|
||||
.b_dblue{ background:#55a1b9; cursor:pointer;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.c_blue{ color:#64bdd9;}
|
||||
a.c_dblue{ color: #3ca5c6;}
|
||||
a:hover.c_dblue{ color: #0781b4;}
|
||||
.c_grey{ color:#999999;}
|
||||
.c_grey02{ color:#666666;}
|
||||
.f_14{ font-size:14px;}
|
||||
.c_dblue{ color:#3e6d8e;}
|
||||
.w90{width:90px;}
|
||||
.ml10{margin-left:10px;}
|
||||
.resource{ width:670px;}
|
||||
.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;}
|
||||
.re_top input{ float:left;}
|
||||
.re_search{ margin-top:7px; margin-left:5px;}
|
||||
.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;}
|
||||
.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px; }
|
||||
a.re_fabu { display:block; width:90px; height:35px; font-size:14px; color:#fff; text-align:center; padding-top:5px; }
|
||||
a:hover.re_fabu{background:#55a1b9;}
|
||||
.re_con{ margin:5px; width:665px;}
|
||||
.re_con_top{color:#494949; }
|
||||
.re_con_top span{ color:#999999; font-weight:bold;}
|
||||
a.re_select{ display:block; width:88px; height:22px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;}
|
||||
a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
|
||||
.re_open{display:block; width:46px; height:22px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;}
|
||||
a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||
a.re_de{ color:#6883b6; margin-left:15px;}
|
||||
.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
|
||||
|
||||
.upload_con { }
|
||||
.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
|
||||
.upload_box{ width:430px; height:80px;}
|
||||
a.upload_btn02{ display:block; float:left; margin-top:15px; width:80px; height:30px; text-align: center; color:#fff; font-size:14px; background:#15bccf; margin-right:15px;}
|
||||
a:hover.upload_btn02{ background:#55a1b9;}
|
||||
a.upload_btn_grey{background:#a3a3a3;}
|
||||
a:hover.upload_btn_grey{background:#8a8a8a;}
|
||||
.upload_btn{width:80px; height:26px;}
|
||||
.upload_check{ margin-top:4px;}
|
||||
/****其他未更新页面***/
|
||||
.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}
|
||||
.newproblem{}
|
||||
|
||||
|
||||
|
||||
/****标签(和资源库的tag样式一致)***/
|
||||
.project_Label{ width:220px; padding:10px; background:#fff; margin-top:0px; padding-top:5px;}
|
||||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; height:22px; border:1px solid #f8df8c; background:#fffce6; margin-right:10px; }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h span,.tag_h a{ margin-bottom:0px;}
|
||||
/*企业版样式*/
|
||||
.content_syqy{ width:940px; height:400px; border:1px;}
|
||||
.content_syqy .list{ font-size:14px; font-weight:normal; margin-left:10px; font-weight:bold; padding-top:10px}
|
||||
|
@ -1414,8 +1504,8 @@ input#openid_url { background: url(../images/openid-bg.gif) no-repeat; backgroun
|
|||
.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
|
||||
/***** Links *****/
|
||||
a, a:link, a:visited{ color: #169 ; text-decoration: none; }
|
||||
a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
|
||||
a, a:link, a:visited{ color: #0781B4 ; text-decoration: none; }
|
||||
a:hover, a:active{ color: #09658c;}
|
||||
a img{ border: 0; }
|
||||
|
||||
a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
|
||||
|
@ -3086,3 +3176,4 @@ input[class~='m3p10'], .m3p10 {
|
|||
|
||||
}
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue