Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
c6cca9f17e
|
@ -134,8 +134,12 @@ class FilesController < ApplicationController
|
||||||
if sort == ""
|
if sort == ""
|
||||||
sort = "created_on DESC"
|
sort = "created_on DESC"
|
||||||
end
|
end
|
||||||
|
if keywords != "%%"
|
||||||
resultSet = Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' AND filename LIKE :like ", like: "%#{keywords}%").
|
resultSet = Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' AND filename LIKE :like ", like: "%#{keywords}%").
|
||||||
reorder(sort)
|
reorder(sort)
|
||||||
|
else
|
||||||
|
resultSet = Attachment.where("attachments.container_type = 'Course' And attachments.container_id = '#{course.id}' "). reorder(sort)
|
||||||
|
end
|
||||||
#resultSet = Attachment.find_by_sql("SELECT `attachments`.* FROM `attachments` LEFT OUTER JOIN `homework_attaches` ON `attachments`.container_type = 'HomeworkAttach' AND `attachments`.container_id = `homework_attaches`.id LEFT OUTER JOIN `homework_for_courses` ON `homework_attaches`.bid_id = `homework_for_courses`.bid_id LEFT OUTER JOIN `homework_for_courses` AS H_C ON `attachments`.container_type = 'Bid' AND `attachments`.container_id = H_C.bid_id WHERE (`homework_for_courses`.course_id = 117 OR H_C.course_id = 117 OR (`attachments`.container_type = 'Course' AND `attachments`.container_id = 117)) AND `attachments`.filename LIKE '%#{keywords}%'").reorder("created_on DESC")
|
#resultSet = Attachment.find_by_sql("SELECT `attachments`.* FROM `attachments` LEFT OUTER JOIN `homework_attaches` ON `attachments`.container_type = 'HomeworkAttach' AND `attachments`.container_id = `homework_attaches`.id LEFT OUTER JOIN `homework_for_courses` ON `homework_attaches`.bid_id = `homework_for_courses`.bid_id LEFT OUTER JOIN `homework_for_courses` AS H_C ON `attachments`.container_type = 'Bid' AND `attachments`.container_id = H_C.bid_id WHERE (`homework_for_courses`.course_id = 117 OR H_C.course_id = 117 OR (`attachments`.container_type = 'Course' AND `attachments`.container_id = 117)) AND `attachments`.filename LIKE '%#{keywords}%'").reorder("created_on DESC")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -547,7 +551,7 @@ class FilesController < ApplicationController
|
||||||
q = "%#{@q.strip}%"
|
q = "%#{@q.strip}%"
|
||||||
@result = find_course_attache q,@course,sort
|
@result = find_course_attache q,@course,sort
|
||||||
@result = visable_attachemnts @result
|
@result = visable_attachemnts @result
|
||||||
@result = @result.select{|attachment| attachment.tag_list.include?(@tag_name)}
|
@result = @result.select{|attachment| attachment.tag_list.include?(@tag_name)} unless @tag_name.blank?
|
||||||
@searched_attach = paginateHelper @result,10
|
@searched_attach = paginateHelper @result,10
|
||||||
@tag_list = get_course_tag_list @course
|
@tag_list = get_course_tag_list @course
|
||||||
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#added by baiyu
|
|
||||||
class GitUsageController < ApplicationController
|
|
||||||
layout "new_base"
|
|
||||||
def ch_usage
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def en_usage
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
#end
|
|
|
@ -113,12 +113,8 @@ class IssuesController < ApplicationController
|
||||||
|
|
||||||
def show
|
def show
|
||||||
# 当前用户查看指派给他的缺陷消息,则设置消息为已读
|
# 当前用户查看指派给他的缺陷消息,则设置消息为已读
|
||||||
query = @issue.forge_messages
|
query = ForgeMessage.where("forge_message_type =? and user_id =? and forge_message_id =?", "Issue", User.current, @issue).first
|
||||||
query.each do |m|
|
query.update_attribute(:viewed, true) unless query.nil?
|
||||||
if m.user_id == User.current.id
|
|
||||||
m.update_attribute(:viewed, true)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
# 缺陷状态更新
|
# 缺陷状态更新
|
||||||
query_journals = @issue.journals
|
query_journals = @issue.journals
|
||||||
query_journals.each do |query_journal|
|
query_journals.each do |query_journal|
|
||||||
|
|
|
@ -382,7 +382,10 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
email = params[:mail]
|
email = params[:mail]
|
||||||
Mailer.send_invite_in_project(email, @project, User.current).deliver
|
first_name = params[:first_name]
|
||||||
|
last_name = params[:last_name]
|
||||||
|
gender = params[:gender]
|
||||||
|
Mailer.send_invite_in_project(email, @project, User.current, first_name, last_name, gender).deliver
|
||||||
@is_zhuce = false
|
@is_zhuce = false
|
||||||
flash[:notice] = l(:notice_email_sent, :value => email)
|
flash[:notice] = l(:notice_email_sent, :value => email)
|
||||||
end
|
end
|
||||||
|
|
|
@ -244,12 +244,18 @@ class TagsController < ApplicationController
|
||||||
@taggings = ActsAsTaggableOn::Tagging.find_by_tag_id_and_taggable_id_and_taggable_type(@tag_id,@taggable_id,@taggable_type) unless @taggable_id.blank?
|
@taggings = ActsAsTaggableOn::Tagging.find_by_tag_id_and_taggable_id_and_taggable_type(@tag_id,@taggable_id,@taggable_type) unless @taggable_id.blank?
|
||||||
@obj = get_object(@taggable_id,params[:taggableType]) unless @taggable_id.blank?
|
@obj = get_object(@taggable_id,params[:taggableType]) unless @taggable_id.blank?
|
||||||
if @taggable_id.blank? #如果没有传tag_id,那么直接更新tag_name就好了。但是要防止 重命名后的tag存在。
|
if @taggable_id.blank? #如果没有传tag_id,那么直接更新tag_name就好了。但是要防止 重命名后的tag存在。
|
||||||
#看重命名后的tag是否存在。如果存在的话,只需要更改taggings里边的id即可
|
if @course_id
|
||||||
if @rename_tag
|
course = Course.find @course_id
|
||||||
@taggings = ActsAsTaggableOn::Tagging.find_by_tag_id_and_taggable_type(@tag_id,@taggable_id,@taggable_type)
|
if course
|
||||||
@taggings.update_attributes({:tag_id=>@rename_tag.id})
|
course.attachments.each do |attachment|
|
||||||
else #如果不存在,那么就直接更新该tag名称为新的名称
|
taggings = ActsAsTaggableOn::Tagging.find_by_tag_id_and_taggable_id_and_taggable_type(@tag_id,attachment.id,attachment.class)
|
||||||
(ActsAsTaggableOn::Tag.find_by_name(@tag_name)).update_attributes(:name=>@rename_tag_name)
|
if taggings
|
||||||
|
taggings.delete
|
||||||
|
attachment.tag_list.add(@rename_tag_name.split(","))
|
||||||
|
attachment.save
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if(@rename_tag.nil?) #这次命名的是新的tag
|
if(@rename_tag.nil?) #这次命名的是新的tag
|
||||||
|
|
|
@ -112,7 +112,7 @@ class UsersController < ApplicationController
|
||||||
case params[:type]
|
case params[:type]
|
||||||
when nil
|
when nil
|
||||||
@message_alls = []
|
@message_alls = []
|
||||||
messages = MessageAll.where("user_id =?" ,@user).order("created_at desc")
|
messages = MessageAll.where("(user_id =? and message_type !=?) or message_type =?" ,@user, "SystemMessage", "SystemMessage").order("created_at desc")
|
||||||
messages.each do |message_all|
|
messages.each do |message_all|
|
||||||
@message_alls << message_all.message
|
@message_alls << message_all.message
|
||||||
end
|
end
|
||||||
|
@ -128,13 +128,13 @@ class UsersController < ApplicationController
|
||||||
# when 'system_messages'
|
# when 'system_messages'
|
||||||
# @message_alls = SystemMessage.order("created_at desc").all
|
# @message_alls = SystemMessage.order("created_at desc").all
|
||||||
when 'apply'
|
when 'apply'
|
||||||
@message_alls = ForgeMessage.where("forge_message_type =? and user_id =?" , "AppliedProject", @user).order("created_at desc")
|
@message_alls = ForgeMessage.where("forge_message_type in ('ProjectInvite', 'AppliedProject') and user_id =?", @user).order("created_at desc")
|
||||||
when 'homework'
|
when 'homework'
|
||||||
@message_alls = CourseMessage.where("course_message_type in ('HomeworkCommon','StudentWorksScore','JournalsForMessage') and user_id =?", @user).order("created_at desc")
|
@message_alls = CourseMessage.where("course_message_type in ('HomeworkCommon','StudentWorksScore','JournalsForMessage') and user_id =?", @user).order("created_at desc")
|
||||||
when 'course_message'
|
when 'course_message'
|
||||||
@message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Message", @user).order("created_at desc")
|
@message_alls = CourseMessage.where("course_message_type =? and user_id =?", "Message", @user).order("created_at desc")
|
||||||
# when 'forge_message'
|
when 'forge_message'
|
||||||
# @message_alls = ForgeMessage.where("forge_message_type =? and user_id =?", "Message", @user).order("created_at desc")
|
@message_alls = ForgeMessage.where("forge_message_type =? and user_id =?", "Message", @user).order("created_at desc")
|
||||||
# @message_alls_count = @message_alls.count
|
# @message_alls_count = @message_alls.count
|
||||||
when 'course_news'
|
when 'course_news'
|
||||||
# 课程通知包含发布的通知和回复的通知
|
# 课程通知包含发布的通知和回复的通知
|
||||||
|
@ -187,12 +187,8 @@ class UsersController < ApplicationController
|
||||||
message_new_time.onclick_time = Time.now
|
message_new_time.onclick_time = Time.now
|
||||||
message_new_time.save
|
message_new_time.save
|
||||||
else
|
else
|
||||||
# 24小时内显示
|
|
||||||
contrast_time = Time.now - 86400
|
|
||||||
message_time.update_attributes(:onclick_time => Time.now)
|
message_time.update_attributes(:onclick_time => Time.now)
|
||||||
end
|
end
|
||||||
# 24小时内显示系统消息
|
|
||||||
@user_system_messages = SystemMessage.where("created_at >?", contrast_time).order("created_at desc")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# 消息设置为已读
|
# 消息设置为已读
|
||||||
|
|
|
@ -107,7 +107,7 @@ class Mailer < ActionMailer::Base
|
||||||
# author: alan
|
# author: alan
|
||||||
# 邀请未注册用户加入项目
|
# 邀请未注册用户加入项目
|
||||||
# 功能: 在加入项目的同时自动注册用户
|
# 功能: 在加入项目的同时自动注册用户
|
||||||
def send_invite_in_project(email, project, invitor)
|
def send_invite_in_project(email, project, invitor, first_name, last_name, gender)
|
||||||
@email = email
|
@email = email
|
||||||
@subject = "#{invitor.name} #{l(:label_invite_project)} #{project.name} "
|
@subject = "#{invitor.name} #{l(:label_invite_project)} #{project.name} "
|
||||||
@password = newpass(6)
|
@password = newpass(6)
|
||||||
|
@ -116,7 +116,7 @@ class Mailer < ActionMailer::Base
|
||||||
login = login.sub(/%40/,'@')
|
login = login.sub(/%40/,'@')
|
||||||
us = UsersService.new
|
us = UsersService.new
|
||||||
# 自动激活用户
|
# 自动激活用户
|
||||||
user = us.register_auto(login, email, @password)
|
user = us.register_auto(login, email, @password, first_name, last_name, gender)
|
||||||
InviteList.create(:user_id => user.id, :project_id => project.id, :mail =>email)
|
InviteList.create(:user_id => user.id, :project_id => project.id, :mail =>email)
|
||||||
User.current = user unless User.current.nil?
|
User.current = user unless User.current.nil?
|
||||||
@user = user
|
@user = user
|
||||||
|
|
|
@ -5,4 +5,15 @@ class SystemMessage < ActiveRecord::Base
|
||||||
validates :subject, presence: true
|
validates :subject, presence: true
|
||||||
# validates :description, presence: true
|
# validates :description, presence: true
|
||||||
validates_length_of :description, maximum: 10000
|
validates_length_of :description, maximum: 10000
|
||||||
|
|
||||||
|
has_many :message_alls, :class_name => 'MessageAll',:as =>:message, :dependent => :destroy
|
||||||
|
|
||||||
|
# 系统消息放置总消息列表
|
||||||
|
after_create :add_system_message
|
||||||
|
|
||||||
|
def add_system_message
|
||||||
|
if MessageAll.where("message_type = '#{self.class.to_s}' and message_id = '#{self.id}'").first.nil?
|
||||||
|
self.message_alls << MessageAll.new(:user_id => self.user_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -47,12 +47,16 @@ class UsersService
|
||||||
end
|
end
|
||||||
|
|
||||||
# 自动注册功能 FOR:邮件邀请
|
# 自动注册功能 FOR:邮件邀请
|
||||||
def register_auto(login,mail,password)
|
def register_auto(login, mail, password, first_name, last_name, gender)
|
||||||
|
mail_notification = "day"
|
||||||
@user = User.new
|
@user = User.new
|
||||||
@user.admin = false
|
@user.admin = false
|
||||||
@user.register
|
@user.register
|
||||||
@user.login = login
|
@user.login = login
|
||||||
@user.mail = mail
|
@user.mail = mail
|
||||||
|
@user.firstname = first_name
|
||||||
|
@user.lastname = last_name
|
||||||
|
@user.mail_notification = mail_notification
|
||||||
password_confirmation = password
|
password_confirmation = password
|
||||||
should_confirmation_password = true
|
should_confirmation_password = true
|
||||||
if !password.blank? && !password_confirmation.blank? && should_confirmation_password
|
if !password.blank? && !password_confirmation.blank? && should_confirmation_password
|
||||||
|
@ -65,6 +69,7 @@ class UsersService
|
||||||
@user = automatically_register_lock(@user)
|
@user = automatically_register_lock(@user)
|
||||||
if @user.id != nil
|
if @user.id != nil
|
||||||
ue = @user.user_extensions ||= UserExtensions.new
|
ue = @user.user_extensions ||= UserExtensions.new
|
||||||
|
ue.gender = gender
|
||||||
ue.user_id = @user.id
|
ue.user_id = @user.id
|
||||||
ue.save
|
ue.save
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,9 +1,17 @@
|
||||||
|
<span class="files_tag_icon" >
|
||||||
|
<a title="双击可编辑"
|
||||||
|
onclick="search_tag_attachment('<%= search_tag_attachment_course_files_path(course)%>','','<%= @q%>','<%= course.id%>');"
|
||||||
|
>全部</a></span>
|
||||||
<% unless tag_list.nil?%>
|
<% unless tag_list.nil?%>
|
||||||
<% tag_list.each do |k,v|%>
|
<% tag_list.each do |k,v|%>
|
||||||
<% if tag_name && tag_name == k%>
|
<% if tag_name && tag_name == k%>
|
||||||
<a href="javascript:void(0);" class="files_tag_select"><%= k%>×<%= v%></a>
|
<!-- 鼠标不能移动是因为 href="javascript:void(0);"导致的 -->
|
||||||
|
<span> <a class="files_tag_select" ondblclick="rename_tag($(this),'<%= k %>','',<%= 6 %>);"><%= k%>×<%= v%></a></span>
|
||||||
<% else%>
|
<% else%>
|
||||||
<span class="files_tag_icon"> <a ondblclick="rename_tag($(this),'<%= k %>','',<%= 6 %>);"><%= k%>×<%= v%></a></span>
|
<span class="files_tag_icon" >
|
||||||
|
<a title="双击可编辑"
|
||||||
|
onclick="search_tag_attachment('<%= search_tag_attachment_course_files_path(course)%>','<%= k%>','<%= @q%>','<%= course.id%>');"
|
||||||
|
ondblclick="rename_tag($(this),'<%= k %>','',<%= 6 %>);"><%= k%>×<%= v%></a></span>
|
||||||
<% end%>
|
<% end%>
|
||||||
<% end%>
|
<% end%>
|
||||||
<% end%>
|
<% end%>
|
|
@ -234,6 +234,8 @@
|
||||||
//第二种是改变某个tag名称。其他所有的资源如果拥有这个tag。那么对应的tag名也要改掉。
|
//第二种是改变某个tag名称。其他所有的资源如果拥有这个tag。那么对应的tag名也要改掉。
|
||||||
//目前这两种依据 的来源就是 是否 传了参数 id。如果有id。就指定了资源id,就是第一种情况。如果没有id。就是第二种情况
|
//目前这两种依据 的来源就是 是否 传了参数 id。如果有id。就指定了资源id,就是第一种情况。如果没有id。就是第二种情况
|
||||||
function rename_tag(domEle,name,id,type){
|
function rename_tag(domEle,name,id,type){
|
||||||
|
isdb = true; //这是双击
|
||||||
|
//clearTimeout(clickFunction);
|
||||||
if(domEle.children().get(0) != undefined ){ //已经是编辑框的情况下不要动
|
if(domEle.children().get(0) != undefined ){ //已经是编辑框的情况下不要动
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -249,29 +251,58 @@
|
||||||
$("#renameTagName").focus();
|
$("#renameTagName").focus();
|
||||||
}
|
}
|
||||||
//监听所有的单击事件
|
//监听所有的单击事件
|
||||||
$(document.body).click(function(e){
|
$(function(){
|
||||||
node = document.elementFromPoint(e.clientX, e.clientY);
|
$("#renameTagName").live("blur",function(){
|
||||||
if(node.tagName == "INPUT"){ //如果是输入框的聚焦,那么就不要进行下去了
|
updateTagName();
|
||||||
return;
|
}).live("keypress",function(e){
|
||||||
|
if (e.keyCode == '13') {
|
||||||
|
updateTagName();
|
||||||
}
|
}
|
||||||
if($("#renameTagName")[0] != undefined ){//存在renameTagName,则处于编辑状态
|
});
|
||||||
if($("#renameTagName").val().trim() == tagName){ //如果值一样,则恢复原来的状态
|
});
|
||||||
|
|
||||||
|
//执行修改TAGName方法
|
||||||
|
function updateTagName(){
|
||||||
|
if(isdb){
|
||||||
|
isdb = false;
|
||||||
|
if($("#renameTagName").val() == tagName){ //如果值一样,则恢复原来的状态
|
||||||
ele.parent().css("border","");
|
ele.parent().css("border","");
|
||||||
ele.parent().html(tagNameHtml);
|
ele.parent().html(tagNameHtml);
|
||||||
|
|
||||||
}else{ //否则就要更新tag名称了
|
}
|
||||||
if(confirm("是否将标签改为 "+ $("#renameTagName").val().trim())){
|
else{
|
||||||
$.post(
|
$.post(
|
||||||
'<%= update_tag_name_path %>',
|
'<%= update_tag_name_path %>',
|
||||||
{"taggableId": tagId, "taggableType": taggableType, "tagName": tagName, "renameName": $("#renameTagName").val().trim(),"courseId":<%= @course.id%>}
|
{"taggableId": tagId, "taggableType": taggableType, "tagName": tagName, "renameName": $("#renameTagName").val().trim(),"courseId":<%= @course.id%>}
|
||||||
)
|
);
|
||||||
}else{
|
|
||||||
ele.parent().css("border","");
|
|
||||||
ele.parent().html(tagNameHtml);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
// $(document.body).click(function(e){
|
||||||
|
// isdb = false; //这是单击
|
||||||
|
// node = document.elementFromPoint(e.clientX, e.clientY);
|
||||||
|
// if(node.tagName == "INPUT"){ //如果是输入框的聚焦,那么就不要进行下去了
|
||||||
|
// isdb = true; //为了防止在编辑的时候又去单击其他tag去过滤。导致tag过滤不可用
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// if($("#renameTagName")[0] != undefined ){//存在renameTagName,则处于编辑状态
|
||||||
|
// if($("#renameTagName").val().trim() == tagName){ //如果值一样,则恢复原来的状态
|
||||||
|
// ele.parent().css("border","");
|
||||||
|
// ele.parent().html(tagNameHtml);
|
||||||
|
//
|
||||||
|
// }else{ //否则就要更新tag名称了
|
||||||
|
//// if(confirm("是否将标签改为 "+ $("#renameTagName").val().trim())){ 去掉询问
|
||||||
|
// $.post(
|
||||||
|
// '<%= update_tag_name_path %>',
|
||||||
|
// {"taggableId": tagId, "taggableType": taggableType, "tagName": tagName, "renameName": $("#renameTagName").val().trim(),"courseId":<%= @course.id%>}
|
||||||
|
// )
|
||||||
|
//// }else{
|
||||||
|
//// ele.parent().css("border","");
|
||||||
|
//// ele.parent().html(tagNameHtml);
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
<%end %>
|
<%end %>
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
<div class="postDetailReply">
|
<div class="postDetailReply">
|
||||||
<a href="<%= forum_memo_path(topic.forum, topic)%>" class="postReplyIcon mr5" target="_blank"></a>
|
<a href="<%= forum_memo_path(topic.forum, topic)%>" class="postReplyIcon mr5" target="_blank"></a>
|
||||||
<%= link_to (topic.replies_count), forum_memo_path(topic.forum, topic),:target =>'_blank',:class=>'linkGrey2' %>
|
<%= link_to (topic.replies_count), forum_memo_path(topic.forum, topic),:target =>'_blank',:class=>'linkGrey2' %>
|
||||||
|
<a href="javascript:void(0);" class="linkGrey2 disablePostLikeIcon ml10 mt20" style="cursor: default" title="点赞人数" > <%= get_praise_num(topic)%></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,352 +0,0 @@
|
||||||
|
|
||||||
<!-- added by baiyu -->
|
|
||||||
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<title>无标题文档</title>
|
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
body table tr th {
|
|
||||||
font-size: 24px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
body table tr td {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
body table tr td {
|
|
||||||
color: #000;
|
|
||||||
font-size: 20px;
|
|
||||||
font-family: "Comic Sans MS", cursive;
|
|
||||||
}
|
|
||||||
body table tr td span {
|
|
||||||
color: #039;
|
|
||||||
}
|
|
||||||
body p {
|
|
||||||
font-size: 18px;
|
|
||||||
color: #009;
|
|
||||||
}
|
|
||||||
body table tr td p {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
body table tr td span1 {
|
|
||||||
color: #09C;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td span2 {
|
|
||||||
font-weight: bold;
|
|
||||||
color: #09C;
|
|
||||||
}
|
|
||||||
body table tr td p span3 {
|
|
||||||
color: #6C6;
|
|
||||||
}
|
|
||||||
body table tr td p span3 {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td p span4 {
|
|
||||||
color: #F00;
|
|
||||||
}
|
|
||||||
body table tr td p span4 {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td span5 {
|
|
||||||
color: #F00;
|
|
||||||
}
|
|
||||||
body table tr td span5 {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td p span6 {
|
|
||||||
color: #33F;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td span6 {
|
|
||||||
color: #33F;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body><table width="896" border="0">
|
|
||||||
<tr>
|
|
||||||
<th width="890" align="center" valign="middle"> Git使用说明</th>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="892" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="886">我们将使用 <span>git</span> 这个分布式版本控制系统来提交代码,下面就来介绍一下代码的提交方法。</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p> </p>
|
|
||||||
<p><span6>Windows</span6></p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>1、安装</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step1:</span></p>
|
|
||||||
<p>到<a href="http://code.google.com/p/msysgit" >http://code.google.com/p/msysgit</a>下载<span>msysgit</span>, 我们使用的版本是Git-1.7.4-preview20110204.exe</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td>安装时,选择Checkout as-is, commit as-is,这样Git 就不会修改换行风格了. 其他用缺省设置即可。</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step2:</span></p>
|
|
||||||
<p>到<a href="http://code.google.com/p/tortoisegit/" >http://code.google.com/p/tortoisegit/</a>下载<span>TortoiseGit</span>,我们使用的版本是Tortoisegit-1.6.5.0-32bit.msi</p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>安装时, 选择TortoisePLink。</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td>这两个软件安装完成后, 就可以开始使用了。</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step3:</span></p>
|
|
||||||
<p>在目录中右键单击TortoiseGit 再选Create Branch…就可以创建分支了。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p> </p>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="450"><span2>2、配置</span2></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p >在桌面上点击鼠标右键,选择TortoiseGit的Settings进行设置</p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="left">Name和Email是用来设置自己的用户名和联系方式的(user.name和user.email必须填写,这些将在版本库提交时用到,<span5> 其中的name和email要和<%= Setting.host_name %>上的登陆名和邮箱保持一致</span5>
|
|
||||||
,方便代码贡献统计 )。 </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="left"><p >接着可以定制上下文菜单:</p>
|
|
||||||
<p >我们在Context Menu里勾选的是 <span>Clone</span>、<span>Sync</span>和<span>Commit</span></p>
|
|
||||||
<p >在Set Extend Menu Item里勾选的是<span>Import Svn Ignore</span>、<span>Show Reflog</span>、<span>Browse References</span>、<span>Stash Apply</span>和<span>Submodule Sync</span></p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span2>3、日常用法</span2></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step1:</span></p>
|
|
||||||
<p>创建版本库(两种途径)</p>
|
|
||||||
<p><span>(a)</span>在文件夹中按右键, 选择Git Create repository here 就可以创建库了,在出现的窗口中, 不勾选选项, 直接按OK。</p>
|
|
||||||
<p>完成上述操作后,可以看到工作区中出现了隐藏目录 <span>.git</span>。这个隐藏的 .git目录就是git版本库(repository)。 </p>
|
|
||||||
<p> </p>
|
|
||||||
<p><span>(b)</span>从远程服务器上克隆一个已存在的版本库到本地:在目录中单击右键,选择Git Clone... 然后在URL里填入要clone的文件的地址。</p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step2:</span></p>
|
|
||||||
<p>添加文件和文件夹</p>
|
|
||||||
<p>在文件夹中按右键, 选Git Commit -> "<span>master</span>"… ,接着填写Message, 勾选<span>Whole Project</span> 选项, 这样Commit 的时候可以将整个项目的信息全部Commit 上去, 可以实现不需要打Tag 就能Checkout 出每次Commit 的内容.</p>
|
|
||||||
<p>比如:</p>
|
|
||||||
<p>在工作区添加file1.txt,commit以后接着修改file1.txt,再创建一个文件夹dir1, 并且放置一个file2.txt 在dir1 目<br />
|
|
||||||
录中, 再次commit 时, 就可以将dir1 和file2.txt 一起加入了.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step3:</span></p>
|
|
||||||
<p>创建分支</p>
|
|
||||||
<p>在目录中单击右键,选择TortoiseGit 里的<span>create Branch…</span>就可以创建分支了。</p>
|
|
||||||
<p>勾选<span>Switch to new branch</span>, 就可以跳转到建立好的分支上。</p>
|
|
||||||
<p>比如:</p>
|
|
||||||
<p>添加一个file3.txt 后, commit 修改。接着通<span>过Switch/Checkout…</span>.可以切换回master 分支。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step4:</span></p>
|
|
||||||
<p>看分支情况及修改log</p>
|
|
||||||
<p>在目录中单击右键,选择TortoiseGit 里的<span>Show log</span>, 可以看分支情况和修改log。 勾选<span>All Branches </span>可以看到所有分支的情况.</p>
|
|
||||||
<p>在Message 列中,<span3> 绿色</span3>
|
|
||||||
的是<span3>分支</span3>,<span4> 红色</span4>
|
|
||||||
的是<span4>当前工作分支</span4>。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step5:</span></p>
|
|
||||||
<p>比较版本差异</p>
|
|
||||||
<p>通过按Shift , 可以选中两个版本, 接着再按鼠标右键, 选中<span>Compare revisions</span>, 就可以比较两个revision 了。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step6:</span></p>
|
|
||||||
<p>合并分支</p>
|
|
||||||
<p>首先切换到master 分支, 接着点击鼠标右键选择TortoiseGit 里的<span>Merge</span>,就可以实现将分支合并到主版本。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step7:</span></p>
|
|
||||||
<p>其他操作</p>
|
|
||||||
<p><span>(a)</span> Stash</p>
|
|
||||||
<p>Git 提供了一个暂存修改的功能, 称为<span>Stash</span>。 在一些程序进行了修改, 但还不<br />
|
|
||||||
想commit 成revision 时, 就可以将这些修改Stash 起来, 等到后面需要时再将它<br />
|
|
||||||
们Pop 出来。</p>
|
|
||||||
<p><span>(b)</span> 忽略文件</p>
|
|
||||||
<p>一些编辑器在修改文件后会产生bak 文件, 一般不希望这些备份文件也加入<br />
|
|
||||||
库中, 可以选中一个.bak 文件, 然后选择<span>Add to ignore list</span> 中的<span>*.bak</span>, 这样bak 文<br />
|
|
||||||
件以后就不会被commit 了。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p > </p>
|
|
||||||
<p >Tips: </p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p >在碰到不熟悉的命令时,可以通过 <span>git help</span>命令查看git的用户手册,命令如下: </p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="297" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="291" align="center"><p ><span>$git help <command></span> </p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="901" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="895"><span6>Linux</span6></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>1、安装</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>如果你用的是Linux,你可以用你的本地包管理系统(native package management system)来安装。</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p><span>$ yum install git-core </span> </p>
|
|
||||||
<p>在redhat等系统下用yum</p>
|
|
||||||
<p><span>$apt-get install git-core</span></p>
|
|
||||||
<p>在debian,ubuntu等系统下用apt-get</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><span1>2、配置</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p ><span>$git config --global user.name “your_name”</span></p>
|
|
||||||
<p><span>$git config --global user.email “your_email” </span> </p>
|
|
||||||
<p>Name和Email是用来设置自己的用户名和联系方式的(user.name和user.email必须填写,这些将在版本库提交时用到,
|
|
||||||
<span5> 其中的name和email要和<%= Setting.host_name %>上的登陆名和密码保持一致</span5>
|
|
||||||
,方便代码贡献统计 )。</p></td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><span1>3、代码提交方法</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p>cd file1</p>
|
|
||||||
<p><span>$ git add file1</span></p>
|
|
||||||
<p><span>$ git init</span></p>
|
|
||||||
<p><span>$ git commit -a</span></p>
|
|
||||||
<p><span>$ git remote add [name] [版本库里给的URL(去掉http)]</span></p>
|
|
||||||
<p><span>$ git push [name] master</span></p>
|
|
||||||
<p>输入password后即可上传。</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p> </p>
|
|
||||||
<table width="831" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="825" align="right">——Trustie团队</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
<!-- end -->
|
|
|
@ -1,346 +0,0 @@
|
||||||
<!-- added by baiyu -->
|
|
||||||
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<title>无标题文档</title>
|
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
body table tr th {
|
|
||||||
font-size: 24px;
|
|
||||||
color: #666;
|
|
||||||
font-family: "Comic Sans MS", cursive;
|
|
||||||
}
|
|
||||||
body table tr td {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
body table tr td {
|
|
||||||
color: #333;
|
|
||||||
font-size: 18px;
|
|
||||||
font-family: "Comic Sans MS", cursive;
|
|
||||||
}
|
|
||||||
body table tr td span {
|
|
||||||
color: #039;
|
|
||||||
}
|
|
||||||
body p {
|
|
||||||
font-size: 18px;
|
|
||||||
color: #009;
|
|
||||||
}
|
|
||||||
body table tr td p {
|
|
||||||
color: #333;
|
|
||||||
font-family: "Comic Sans MS", cursive;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
body table tr td table tr td span1 {
|
|
||||||
color: #09c;
|
|
||||||
}
|
|
||||||
body table tr td span1 {
|
|
||||||
color: #09c;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
span3 {
|
|
||||||
color: #6C6;
|
|
||||||
}
|
|
||||||
span4 {
|
|
||||||
color: #F00;
|
|
||||||
}
|
|
||||||
body table tr td p span5 {
|
|
||||||
color: #F00;
|
|
||||||
}
|
|
||||||
body table tr td p span5 {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body table tr td table tr td span6 {
|
|
||||||
color: #33F;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
body table tr td span6 {
|
|
||||||
color: #33F;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body><table width="898" border="0">
|
|
||||||
<tr>
|
|
||||||
<th width="890" align="center" valign="middle"> Git User Guide</th>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="892" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="886">We will use <span>git</span> which is a distributed version control and source code management system to submit our code, here is the submission method.</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="456" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span6>Windows</span6></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>1. Installation</span1></td>
|
|
||||||
</tr>
|
|
||||||
</table></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td width="450"><p ><span>Step1:</span> </p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p >Download <span>msysgit</span> from <a href="http://code.google.com/p/msysgit">http://code.google.com/p/msysgit</a>, the version we have used is </p>
|
|
||||||
<p >Git-1.7.4-preview20110204.exe.</p></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="left"><p >Please tick "<span>Checkout as-is</span>" and "<span>commit as-is</span>" options during installation so git does not modify the line feed style. Other options you can use the default settings.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step2:</span></p>
|
|
||||||
<p>Download <span>TortoiseGit</span> from <a href="http://code.google.com/p/tortoisegit/" >http://code.google.com/p/tortoisegit/</a>, the version we have used is </p>
|
|
||||||
<p>Tortoisegit-1.6.5.0-32bit.msi.</p>
|
|
||||||
<p>Please tick "TortoisePLink" option during installation.</p>
|
|
||||||
<p>You can start using Git when you complete the installation.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step3:</span></p>
|
|
||||||
<p>You can create a branch with method that right-click the "TortoiseGit" in the directory and check the "Create Branch… " option.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>2. Configuration</span1></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p>Right-click on the desktop and select the "Settings" in the "TortoiseGit"</p>
|
|
||||||
<p>User name and email are used to set your own user name and contact information( user.name and user.email must be completed because these will be used when submitting the repository, <span5> the name and email must be the same with login name and email you registed in the <%= Setting.host_name %></span5>
|
|
||||||
). </p>
|
|
||||||
<p>Then you can customize the "Context Menu":</p>
|
|
||||||
<p>Please check the "<span>Clone</span>","<span>Sync</span>" and "<span>Commit</span>" options in the "<span>Context Menu</span>",</p>
|
|
||||||
<p>check the "<span>Import Svn Ignore</span>", "<span>Show Reflog</span>", "<span>Browse References</span>", "<span>Stash Apply</span>" and "<span>Submodule Sync</span>" in the "<span>Set Extend Menu Item</span>".</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>3. Simple usage</span1></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step1:</span></p>
|
|
||||||
<p>Create a new repository by two ways, here we go </p>
|
|
||||||
<p><span>(a) </span>You can create a repository by right-click in the folder and select "Git Create repository here". Uncheck any options in the new window, instead of it please click "OK".</p>
|
|
||||||
<p>After completed these operation, you can see there is a hidden directory ( <span>.git </span>) in the workspace and this hidden directory is the git repository. </p>
|
|
||||||
<p><span>(b)</span> Clone a exist version from the remote server to local: right-click in the folder and select " Git Clone.." and fill in the URL where you had clone from.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step2:</span></p>
|
|
||||||
<p>Add the new file and folder</p>
|
|
||||||
<p> Right-click in the folder and select Git Commit -> "<span>master</span>"… , then fill in the "Message" and check the " <span> Whole Project </span> " option so that the whole information of the project can commit.</p>
|
|
||||||
<p>For example:</p>
|
|
||||||
<p>Create a new file in the workspace named "file1.txt", commit it, and then creat a new folder in the workspace named "dir1", after that create a new file again, but this file is in the folder dir1, named "file2.txt". After that select "Git Commit", then file1 and dir1 can be joined together.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step3:</span></p>
|
|
||||||
<p> Create a new Branch </p>
|
|
||||||
<p>You can create a new branch by right-click in the folder and select TortoiseGit -> "<span> create Branch… </span>".</p>
|
|
||||||
<p>You will switch to the new branch when you check <span>"Switch to new branch" </span>option.</p>
|
|
||||||
<p>For example:</p>
|
|
||||||
<p>Create a new file in the workspace named "file3.txt", commit it. And you can switch to the "master" by select the "Switch/Checkout..." in the "TortoiseGit".</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step4:</span></p>
|
|
||||||
<p>View and modify the log</p>
|
|
||||||
<p>You can view the situation of the branch by right-click in the folder and select TortoiseGit -> "<span> Show log</span>". Even you can also modify the log in it. And you can view all the branch's situation by check the " <span>All Branches </span> " option.</p>
|
|
||||||
<p>In the "Message" colume, <span3>branch</span3> is
|
|
||||||
<span3>green</span3>
|
|
||||||
and the <span4>current branch</span4> is <span4>red</span4>
|
|
||||||
.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step5:</span></p>
|
|
||||||
<p>Compare the version</p>
|
|
||||||
<p>You can select two version in the same time by press "shift", and you can compare the different between two version by right-click the " <span>Compare revisions</span> ".</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step6:</span></p>
|
|
||||||
<p>Merge the branch</p>
|
|
||||||
<p>First, you should switch to the "master", then righr-click on it and select TortoiseGit -> "<span>Merge</span>" so that the branch can merge into the main version.</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p><span>Step7:</span></p>
|
|
||||||
<p>Other operations</p>
|
|
||||||
<p><span>(a)</span> Stash</p>
|
|
||||||
<p>Git provides a function named <span>Stash </span>to temporarily store the revised programs. When you revise some programs but still do not want to commit them, you can stash these revised programs and pop them if you need them then.</p>
|
|
||||||
<p><span>(b) </span>Ignore Files</p>
|
|
||||||
<p>The editor will generate some .bak files after editing. If you do not want to add these .bak files to the repository you can select the ".bak" file and check the "<span>*.bak</span>" in the " <span>Add to ignore list</span>". Then the .bak files will not be commited.<br />
|
|
||||||
</p>
|
|
||||||
<p><br />
|
|
||||||
</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="200" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><p>Tips:</p>
|
|
||||||
<p>You can read the user manual by enter " <span>git help</span> " command when you are confused, command as follows: </p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="307" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="301" align="center"><span> $git help <command> </span></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span6>Linux</span6></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td><span1>1.Installation</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p>If you are useing Linux, you can install git through native package management system.</p>
|
|
||||||
<p><span>$ yum install git-core</span></p>
|
|
||||||
<p>if you are using redhat, you should type "yum".</p>
|
|
||||||
<p><span>$apt-get install git-core</span></p>
|
|
||||||
<p>if you are using debian or ubuntu, you should type "apt-get".</p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><span1>2. Configuration</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p><span>$git config --global user.name “your_name”M</span></p>
|
|
||||||
<p><span>$git config --global user.email “your_email”</span> </p>
|
|
||||||
<p>User name and email are used to set your own user name and contact information( user.name and user.email must be completed because these will be used when submitting the repository,
|
|
||||||
<span5> the name and email must be the same with login name and email you registed in the <%= Setting.host_name %></span5>
|
|
||||||
). </p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="900" border="0">
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><span1>3. How to commit</span1></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><p>cd file1</p>
|
|
||||||
<p><span>$ git add file1</span></p>
|
|
||||||
<p><span>$ git init</span></p>
|
|
||||||
<p><span>$ git commit -a</span></p>
|
|
||||||
<p><span>$ git remote add [name] [The URL which we give you in our website(with out http)]</span></p>
|
|
||||||
<p><span>$ git push [name] master</span></p>
|
|
||||||
<p>The last step is enter your password. </p></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p> </p>
|
|
||||||
<table width="831" border="0">
|
|
||||||
<tr>
|
|
||||||
<td width="825" align="right">—— By Trustie Team</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- end -->
|
|
|
@ -28,7 +28,7 @@
|
||||||
<a href="javascript:void(0)" class="talk_edit fr"<%= render :partial => 'action_menu' %></a>
|
<a href="javascript:void(0)" class="talk_edit fr"<%= render :partial => 'action_menu' %></a>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<% if @issue.description? || @issue.attachments.any? -%>
|
<% if @issue.description? || @issue.attachments.any? -%>
|
||||||
<div class="talk_info mb10" style="word-break:break-all;">
|
<div class="talk_info mb10 issue_desc" style="word-break:break-all;">
|
||||||
<% if @issue.description? %>
|
<% if @issue.description? %>
|
||||||
<%#= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
<%#= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
|
||||||
<%= textAreailizable @issue, :description, :attachments => @issue.attachments %>
|
<%= textAreailizable @issue, :description, :attachments => @issue.attachments %>
|
||||||
|
|
|
@ -112,7 +112,7 @@
|
||||||
$("#navHomepageSearchType").hide();
|
$("#navHomepageSearchType").hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#user_avatar img").mouseenter(function(){
|
$("#navHomepageProfile").mouseenter(function(){
|
||||||
$("#homepageProfileMenuIcon").addClass("homepageProfileMenuIconhover");
|
$("#homepageProfileMenuIcon").addClass("homepageProfileMenuIconhover");
|
||||||
$("#topnav_login_list").show();
|
$("#topnav_login_list").show();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
<h3><%=l(:label_confirmation)%></h3>
|
<div class="project_r_h">
|
||||||
|
<h2 class="project_h2"><%=l(:label_confirmation)%></h2>
|
||||||
|
</div>
|
||||||
<div class="warning">
|
<div class="warning">
|
||||||
<p><strong><%=h @project_to_destroy %></strong><br />
|
<p><strong><h3><%=h @project_to_destroy %></h3></strong>
|
||||||
<%=l(:text_project_destroy_confirmation)%>
|
<%=l(:text_project_destroy_confirmation)%>
|
||||||
|
|
||||||
<% if @project_to_destroy.descendants.any? %>
|
<% if @project_to_destroy.descendants.any? %>
|
||||||
<br /><%= l(:text_subprojects_destroy_warning,
|
<br /><%= l(:text_subprojects_destroy_warning,
|
||||||
content_tag('strong', h(@project_to_destroy.descendants.collect{|p| p.to_s}.join(', ')))).html_safe %>
|
content_tag('strong', h(@project_to_destroy.descendants.collect{|p| p.to_s}.join(', ')))).html_safe %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<%= form_tag(project_path(@project_to_destroy), :method => :delete) do %>
|
<%= form_tag(project_path(@project_to_destroy), :method => :delete) do %>
|
||||||
<label><%= check_box_tag 'confirm', 1 %> <%= l(:general_text_Yes) %></label>
|
<label><%= check_box_tag 'confirm', 1, checked = true %> <%= l(:general_text_Yes) %></label>
|
||||||
<%= submit_tag l(:button_delete) %>
|
<%= submit_tag l(:button_delete) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -44,9 +44,39 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function verifyLastName() {
|
||||||
|
var last_name = $.trim($('#last_name').val());
|
||||||
|
if(last_name.length > 30)
|
||||||
|
{
|
||||||
|
$("#valid_email").text("用户姓氏过长,最长为30个字符");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#valid_email").text("");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function verifyFirstName() {
|
||||||
|
var first_name = $.trim($('#first_name').val());
|
||||||
|
if(first_name.length > 30)
|
||||||
|
{
|
||||||
|
$("#valid_email").text("用户名字过长,最长为30个字符");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#valid_email").text("");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function senderEmail(obj)
|
function senderEmail(obj)
|
||||||
{
|
{
|
||||||
if(verifyAddress())
|
if(verifyAddress() && verifyFirstName() && verifyLastName() )
|
||||||
{
|
{
|
||||||
obj.parent().submit();
|
obj.parent().submit();
|
||||||
}
|
}
|
||||||
|
@ -79,6 +109,15 @@
|
||||||
<li>
|
<li>
|
||||||
<%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyAddress(this);" %>
|
<%= text_field_tag 'mail', '', :class => "fb_item fl", :placeholder => l(:label_input_email), :onkeyup => "this.value=this.value.replace(' ','')", :style => "ime-mode:disabled;", :onblur => "verifyAddress(this);" %>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<%= text_field_tag 'last_name', '', :class => "fb_item_first_name fl", :placeholder => l(:label_input_email_lastname), :onkeyup => "this.value=this.value.replace(' ','')", :onblur => "verifyLastName(this);" %>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<%= text_field_tag 'first_name', '', :class => "fb_item_last_name fl", :placeholder => l(:label_input_email_firstname), :onkeyup => "this.value=this.value.replace(' ','')", :onblur => "verifyFirstName(this);" %>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<select class="fb_item_gender fl" id="gender" name="gender"><option value="">性别</option><option value="0">男</option><option value="1">女</option></select>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
<a href="#" class="btn_free" onclick="senderEmail($(this));">
|
<a href="#" class="btn_free" onclick="senderEmail($(this));">
|
||||||
|
|
|
@ -76,10 +76,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<!-- added by bai -->
|
<!-- added by bai -->
|
||||||
<p class="fb c_dark mt10">查看如何提交代码:
|
<p class="fb mt10"><a href="http://<%=Setting.host_name %>/forums/1/memos/1232" class=" c_blue ">点击查看如何提交代码</a></p>
|
||||||
<%= link_to(l(:label_how_commit_code_chinese), ch_usage_path, :class => "c_blue") %>
|
|
||||||
<%= link_to('English', en_usage_path, :class => "c_blue") %>
|
|
||||||
|
|
||||||
<div class="cl"></div>
|
<div class="cl"></div>
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
<% if @tags.size > 0 %>
|
<% if @tags.size > 0 %>
|
||||||
<% @tags.each do |tag| %>
|
<% @tags.each do |tag| %>
|
||||||
<span class="re_tag f_l"> <%#= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %>
|
<span class="re_tag f_l" style="cursor: pointer" > <%#= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %>
|
||||||
<a ondblclick="rename_tag($(this),'<%= tag %>',<%= obj.id%>,<%= object_flag%>);"><%= tag %></a>
|
<a title="双击可编辑" ondblclick="rename_tag($(this),'<%= tag %>',<%= obj.id%>,<%= object_flag%>);"><%= tag %></a>
|
||||||
<!-- 对用户主页 是本人 ,对项目,需求,问题是管理员 -->
|
<!-- 对用户主页 是本人 ,对项目,需求,问题是管理员 -->
|
||||||
<% case object_flag %>
|
<% case object_flag %>
|
||||||
<% when '10' %>
|
<% when '10' %>
|
||||||
|
|
|
@ -191,8 +191,10 @@
|
||||||
<div style="display: none" class="message_title_red system_message_style">
|
<div style="display: none" class="message_title_red system_message_style">
|
||||||
<p>
|
<p>
|
||||||
<%= User.current.lastname + User.current.firstname %><%= User.current.allowed_to?(:as_teacher, ma.course_message.course) ? '老师':'同学'%>您好!
|
<%= User.current.lastname + User.current.firstname %><%= User.current.allowed_to?(:as_teacher, ma.course_message.course) ? '老师':'同学'%>您好!
|
||||||
<%= User.current.eql?(ma.course_message.user) ?"您":(ma.course_message.user.lastname + ma.course_message.user.firstname + "老师") %>启动作业匿评失败,作业详情如下:
|
<%= User.current.eql?(ma.course_message.user) ?"您":(ma.course_message.user.lastname + ma.course_message.user.firstname + "老师") %>启动作业匿评失败,
|
||||||
|
失败原因:提交作品的人数低于2人
|
||||||
</p>
|
</p>
|
||||||
|
<p>作业详情如下:</p>
|
||||||
<p>课程名称:<%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p>
|
<p>课程名称:<%= ma.course_message.course.name %>(<%= ma.course_message.course.term %>)</p>
|
||||||
<p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
|
<p>作业标题:<span style="color:Red;"><%= ma.course_message.name %></span></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
<% if ma.class == SystemMessage %>
|
||||||
|
<%# @user_system_messages.each do |usm| %>
|
||||||
|
<ul class="homepageNewsList fl">
|
||||||
|
<li class="homepageNewsPortrait fl">
|
||||||
|
<a href="javascript:void(0);"><div class="navHomepageLogo fl"><%= image_tag("/images/logo.png", width: "30px", height: "30px", class: "mt3") %></div></a>
|
||||||
|
</li>
|
||||||
|
<li class="homepageNewsPubType fl">
|
||||||
|
<span class="newsBlue homepageNewsPublisher">Trustie平台</span><span class="homepageNewsType fl">发布新消息:</span>
|
||||||
|
</li>
|
||||||
|
<span style="color: red;float: left">【系统消息】</span>
|
||||||
|
<li class="homepageSystenMessageContent fl">
|
||||||
|
|
||||||
|
<%= link_to ma.subject.blank? ? (ma.content.nil? ? ma.description.html_safe : ma.content.html_safe) : ma.subject, user_system_messages_path(User.current),
|
||||||
|
:id => "content_link_#{ma.id}",
|
||||||
|
:onmouseover =>"message_titile_show($(this),event);",
|
||||||
|
:onmouseout => "message_titile_hide($(this));"
|
||||||
|
%>
|
||||||
|
</li>
|
||||||
|
<div style="display:none;" class="message_title_red system_message_style">
|
||||||
|
<% unless ma.subject.blank? %>
|
||||||
|
<p><strong>标题:</strong><%= ma.subject %></p>
|
||||||
|
<% end %>
|
||||||
|
<% if (!ma.description.blank?) || (!ma.content.blank?) %>
|
||||||
|
<div class="fl"><strong>内容:</strong></div><div class="ml36"><%= ma.description.nil? ? ma.content.html_safe : ma.description.html_safe %></div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<li class="homepageNewsTime fl"><%= time_tag(ma.created_at).html_safe %> </li>
|
||||||
|
</ul>
|
||||||
|
<%# end %>
|
||||||
|
<% end %>
|
|
@ -5,7 +5,7 @@
|
||||||
<ul class="newsType">
|
<ul class="newsType">
|
||||||
<li><%= link_to "全部",user_message_path(User.current), :class => "resourcesGrey" %></li>
|
<li><%= link_to "全部",user_message_path(User.current), :class => "resourcesGrey" %></li>
|
||||||
<li><%= link_to "未读消息", user_message_path(User.current, :type => 'unviewed'), :class => "resourcesGrey" %></li>
|
<li><%= link_to "未读消息", user_message_path(User.current, :type => 'unviewed'), :class => "resourcesGrey" %></li>
|
||||||
<li><%= link_to "用户申请", user_message_path(User.current, :type => 'apply'), :class => "resourcesGrey" %></li>
|
<li><%= link_to "加入项目", user_message_path(User.current, :type => 'apply'), :class => "resourcesGrey" %></li>
|
||||||
<%# 课程相关消息 %>
|
<%# 课程相关消息 %>
|
||||||
<li><%= link_to "作业消息", user_message_path(User.current, :type => 'homework'), :class => "resourcesGrey" %></li>
|
<li><%= link_to "作业消息", user_message_path(User.current, :type => 'homework'), :class => "resourcesGrey" %></li>
|
||||||
<li><%= link_to "课程讨论",user_message_path(User.current, :type => 'course_message'), :class => "resourcesGrey" %></li>
|
<li><%= link_to "课程讨论",user_message_path(User.current, :type => 'course_message'), :class => "resourcesGrey" %></li>
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<%# 项目相关消息 %>
|
<%# 项目相关消息 %>
|
||||||
<li><%= link_to "项目任务", user_message_path(User.current, :type => 'issue'), :class => "resourcesGrey" %></li>
|
<li><%= link_to "项目任务", user_message_path(User.current, :type => 'issue'), :class => "resourcesGrey" %></li>
|
||||||
<!--<li><%#= link_to "问题更新", user_message_path(User.current, :type => 'issue_update'), :class => "resourcesGrey" %></li>-->
|
<!--<li><%#= link_to "问题更新", user_message_path(User.current, :type => 'issue_update'), :class => "resourcesGrey" %></li>-->
|
||||||
<!--<li><%#= link_to "项目讨论区", user_message_path(User.current, :type => 'forge_message'), :class => "resourcesGrey" %></li>-->
|
<li><%= link_to "项目讨论区", user_message_path(User.current, :type => 'forge_message'), :class => "resourcesGrey" %></li>
|
||||||
<!--<li><%#= link_to "项目新闻", user_message_path(User.current, :type => 'forge_news'), :class => "resourcesGrey" %></li>-->
|
<!--<li><%#= link_to "项目新闻", user_message_path(User.current, :type => 'forge_news'), :class => "resourcesGrey" %></li>-->
|
||||||
<!--<li><%#= link_to "新闻回复", user_message_path(User.current, :type => 'forge_news_reply'), :class => "resourcesGrey" %></li>-->
|
<!--<li><%#= link_to "新闻回复", user_message_path(User.current, :type => 'forge_news_reply'), :class => "resourcesGrey" %></li>-->
|
||||||
<%# 项目相关消息 %>
|
<%# 项目相关消息 %>
|
||||||
|
@ -41,40 +41,13 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%# 系统消息 %>
|
|
||||||
<% if params[:type] != 'system_messages' %>
|
|
||||||
<% @user_system_messages.each do |usm| %>
|
|
||||||
<ul class="homepageNewsList fl">
|
|
||||||
<li class="homepageNewsPortrait fl">
|
|
||||||
<a href="javascript:void(0);"><div class="navHomepageLogo fl"><%= image_tag("/images/logo.png", width: "30px", height: "30px", class: "mt3") %></div></a>
|
|
||||||
</li>
|
|
||||||
<li class="homepageNewsPubType fl">
|
|
||||||
<span class="newsBlue homepageNewsPublisher">Trustie平台</span><span class="homepageNewsType fl">发布新消息:</span>
|
|
||||||
</li>
|
|
||||||
<span style="color: red;float: left">【系统消息】</span>
|
|
||||||
<li class="homepageSystenMessageContent fl">
|
|
||||||
|
|
||||||
<%= link_to usm.subject.blank? ? (usm.content.nil? ? usm.description.html_safe : usm.content.html_safe) : usm.subject, user_system_messages_path(User.current),
|
|
||||||
:id => "content_link_#{usm.id}",
|
|
||||||
:onmouseover =>"message_titile_show($(this),event);",
|
|
||||||
:onmouseout => "message_titile_hide($(this));"
|
|
||||||
%>
|
|
||||||
</li>
|
|
||||||
<div style="display:none;" class="message_title_red system_message_style">
|
|
||||||
<% unless usm.subject.blank? %>
|
|
||||||
<p><strong>标题:</strong><%= usm.subject %></p>
|
|
||||||
<% end %>
|
|
||||||
<% if (!usm.description.blank?) || (!usm.content.blank?) %>
|
|
||||||
<div class="fl"><strong>内容:</strong></div><div class="ml36"><%= usm.description.nil? ? usm.content.html_safe : usm.description.html_safe %></div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<li class="homepageNewsTime fl"><%= time_tag(usm.created_at).html_safe %> </li>
|
|
||||||
</ul>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<!--总消息列表-->
|
<!--总消息列表-->
|
||||||
<% unless @message_alls.nil? %>
|
<% unless @message_alls.nil? %>
|
||||||
<% @message_alls.each do |ma| %>
|
<% @message_alls.each do |ma| %>
|
||||||
|
<%# 系统消息 %>
|
||||||
|
<%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %>
|
||||||
|
|
||||||
<%# 课程消息 %>
|
<%# 课程消息 %>
|
||||||
<%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %>
|
<%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %>
|
||||||
|
|
||||||
|
|
|
@ -2024,7 +2024,11 @@ zh:
|
||||||
|
|
||||||
label_end_time: 截止时间
|
label_end_time: 截止时间
|
||||||
label_send_email: 确定发送
|
label_send_email: 确定发送
|
||||||
label_input_email: 请输入邮箱地址
|
label_input_email: 请输入邮箱地址(必填)
|
||||||
|
label_input_email_firstname: 请输入用户名字(可选)
|
||||||
|
label_input_email_lastname: 请输入用户姓氏(可选)
|
||||||
|
label_input_email_gender: 请输入用户性别
|
||||||
|
|
||||||
#api end
|
#api end
|
||||||
project_module_files: 资源库
|
project_module_files: 资源库
|
||||||
|
|
||||||
|
|
|
@ -257,9 +257,6 @@ RedmineApp::Application.routes.draw do
|
||||||
match 'welcome/contest', :via => :get
|
match 'welcome/contest', :via => :get
|
||||||
# end longjun
|
# end longjun
|
||||||
|
|
||||||
#added by baiyu
|
|
||||||
match 'git_usage/ch_usage', :via => :get, :as => 'ch_usage'
|
|
||||||
match 'git_usage/en_usage', :via => :get, :as => 'en_usage'
|
|
||||||
#added by nie
|
#added by nie
|
||||||
match '/projects/search', :via => [:get, :post]
|
match '/projects/search', :via => [:get, :post]
|
||||||
match '/users/search', :via => [:get, :post]
|
match '/users/search', :via => [:get, :post]
|
||||||
|
|
16
db/schema.rb
16
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20150930011457) do
|
ActiveRecord::Schema.define(:version => 20150917022239) do
|
||||||
|
|
||||||
create_table "activities", :force => true do |t|
|
create_table "activities", :force => true do |t|
|
||||||
t.integer "act_id", :null => false
|
t.integer "act_id", :null => false
|
||||||
|
@ -575,8 +575,6 @@ ActiveRecord::Schema.define(:version => 20150930011457) do
|
||||||
t.integer "viewed"
|
t.integer "viewed"
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.string "secret_key"
|
|
||||||
t.integer "status"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "forums", :force => true do |t|
|
create_table "forums", :force => true do |t|
|
||||||
|
@ -785,6 +783,16 @@ ActiveRecord::Schema.define(:version => 20150930011457) do
|
||||||
|
|
||||||
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
|
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
|
||||||
|
|
||||||
|
create_table "journal_details_copy", :force => true do |t|
|
||||||
|
t.integer "journal_id", :default => 0, :null => false
|
||||||
|
t.string "property", :limit => 30, :default => "", :null => false
|
||||||
|
t.string "prop_key", :limit => 30, :default => "", :null => false
|
||||||
|
t.text "old_value"
|
||||||
|
t.text "value"
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id"
|
||||||
|
|
||||||
create_table "journal_replies", :id => false, :force => true do |t|
|
create_table "journal_replies", :id => false, :force => true do |t|
|
||||||
t.integer "journal_id"
|
t.integer "journal_id"
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
|
@ -903,7 +911,6 @@ ActiveRecord::Schema.define(:version => 20150930011457) do
|
||||||
t.datetime "updated_on", :null => false
|
t.datetime "updated_on", :null => false
|
||||||
t.boolean "locked", :default => false
|
t.boolean "locked", :default => false
|
||||||
t.integer "sticky", :default => 0
|
t.integer "sticky", :default => 0
|
||||||
t.integer "reply_id"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "messages", ["author_id"], :name => "index_messages_on_author_id"
|
add_index "messages", ["author_id"], :name => "index_messages_on_author_id"
|
||||||
|
@ -1369,7 +1376,6 @@ ActiveRecord::Schema.define(:version => 20150930011457) do
|
||||||
t.datetime "created_at", :null => false
|
t.datetime "created_at", :null => false
|
||||||
t.datetime "updated_at", :null => false
|
t.datetime "updated_at", :null => false
|
||||||
t.text "description"
|
t.text "description"
|
||||||
t.string "subject"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "taggings", :force => true do |t|
|
create_table "taggings", :force => true do |t|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
@ -744,9 +744,17 @@ $(function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
//查找TAG资源
|
//查找TAG资源
|
||||||
|
var clickFunction = null; //单击事件函数
|
||||||
|
var isdb = false; //是否双击
|
||||||
function search_tag_attachment(url,tag_name,q,course_id,sort)
|
function search_tag_attachment(url,tag_name,q,course_id,sort)
|
||||||
{
|
{
|
||||||
//alert("111");
|
//alert("111");
|
||||||
|
//clearTimeout(clickFunction);
|
||||||
|
clickFunction = setTimeout(function() {
|
||||||
|
search_func()
|
||||||
|
}, 500);
|
||||||
|
function search_func(){
|
||||||
|
if(isdb!= false ) return;
|
||||||
$.get(
|
$.get(
|
||||||
url,
|
url,
|
||||||
{
|
{
|
||||||
|
@ -758,6 +766,8 @@ function search_tag_attachment(url,tag_name,q,course_id,sort)
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 课程讨论区
|
// 课程讨论区
|
||||||
|
|
|
@ -722,8 +722,8 @@ a.wzan_visited{background:url(../images/new_project/public_icon.png) 0px -503px
|
||||||
.files_tag{ width:670px; min-height:22px;margin-bottom:10px;}/* overflow:hidden; */
|
.files_tag{ width:670px; min-height:22px;margin-bottom:10px;}/* overflow:hidden; */
|
||||||
/*padding:1px 10px 修改原因,padding会导致内部输入框和外边框有边距*/
|
/*padding:1px 10px 修改原因,padding会导致内部输入框和外边框有边距*/
|
||||||
a.files_tag_icon{ width:auto;background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 5px; float:left; margin-right:10px;margin-bottom:10px; }
|
a.files_tag_icon{ width:auto;background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 5px; float:left; margin-right:10px;margin-bottom:10px; }
|
||||||
span.files_tag_icon{ width:auto;background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 5px; float:left; margin-right:10px;margin-bottom:10px; }
|
span.files_tag_icon{ width:auto;background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 5px; float:left; margin-right:10px;margin-bottom:10px;cursor: pointer }
|
||||||
a.files_tag_select{ background:#64bdd9; color:#fff; border:1px solid #bbe2ef; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px;}
|
a.files_tag_select{ background:#64bdd9; color:#fff; border:1px solid #bbe2ef; padding:1px 1px; float:left; margin-right:10px;margin-bottom:10px;}/* padding:1px 10px;*/
|
||||||
|
|
||||||
/* 20150423作业评分*/
|
/* 20150423作业评分*/
|
||||||
.ml14{ margin-left:14px;}
|
.ml14{ margin-left:14px;}
|
||||||
|
@ -904,7 +904,7 @@ a:hover.BlueCirBtn{ background:#269ac9; color:#fff;}
|
||||||
.w720{width:721px;}
|
.w720{width:721px;}
|
||||||
.w709{width: 709px;}
|
.w709{width: 709px;}
|
||||||
.w701{width: 701px;}
|
.w701{width: 701px;}
|
||||||
a.AnnexBtn{ background: url(images/homepage_icon2.png) 0px -343px no-repeat !important; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.AnnexBtn{ background: url(images/homepage_icon2.png) 0px -343px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888;}
|
||||||
a:hover.AnnexBtn{background: url(images/homepage_icon2.png) -90px -343px no-repeat !important; color:#3598db;}
|
a:hover.AnnexBtn{background: url(images/homepage_icon2.png) -90px -343px no-repeat !important; color:#3598db;}
|
||||||
a.FilesBtn{ background: url(../images/homepage_icon2.png) 0px -373px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.FilesBtn{ background: url(../images/homepage_icon2.png) 0px -373px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
||||||
a:hover.FilesBtn{background: url(../images/homepage_icon2.png) -89px -372px no-repeat; color:#269ac9;}
|
a:hover.FilesBtn{background: url(../images/homepage_icon2.png) -89px -372px no-repeat; color:#269ac9;}
|
||||||
|
@ -941,7 +941,7 @@ a:hover.icon_add{background:url(../images/course/icons.png) -20px -310px no-repe
|
||||||
.icon_remove{background:url(../images/course/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:left;}
|
.icon_remove{background:url(../images/course/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:left;}
|
||||||
a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-repeat;}
|
a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-repeat;}
|
||||||
/*20150820提交作业 LB*/
|
/*20150820提交作业 LB*/
|
||||||
.HomeWorkBox{ background:#f6f6f6; padding:10px; margin:10px 0;}
|
.HomeWorkBox{ background:#f6f6f6; padding:10px;}
|
||||||
.c_grey{ color:#888888;}
|
.c_grey{ color:#888888;}
|
||||||
.HomeWorkP{ width:690px; font-size:14px;}
|
.HomeWorkP{ width:690px; font-size:14px;}
|
||||||
.HomeWorkP p{background-color: transparent !important;}
|
.HomeWorkP p{background-color: transparent !important;}
|
||||||
|
|
|
@ -97,6 +97,7 @@ a.linkGrey6:hover {color:#ffffff !important;}
|
||||||
.mw20{ margin: 0 20px;}
|
.mw20{ margin: 0 20px;}
|
||||||
.mt-20 {margin-top:-20px;}
|
.mt-20 {margin-top:-20px;}
|
||||||
.mt-4 {margin-top: -4px;}
|
.mt-4 {margin-top: -4px;}
|
||||||
|
.mt0 {margin-top: 0px !important;}
|
||||||
.mt3{ margin-top:3px;}
|
.mt3{ margin-top:3px;}
|
||||||
.mt5{ margin-top:5px;}
|
.mt5{ margin-top:5px;}
|
||||||
.mt8{ margin-top:8px !important;}
|
.mt8{ margin-top:8px !important;}
|
||||||
|
@ -446,8 +447,8 @@ a.resourcesTypeUser {background:url(images/homepage_icon.png) -178px -453px no-r
|
||||||
/*.resourcesUploadBox {float:right; width:103px; height:34px; background-color:#64bdd9; line-height:34px; vertical-align:middle; text-align:center; margin-left:12px;}*/
|
/*.resourcesUploadBox {float:right; width:103px; height:34px; background-color:#64bdd9; line-height:34px; vertical-align:middle; text-align:center; margin-left:12px;}*/
|
||||||
/*.resourcesUploadBox:hover {background-color:#0781b4;}*/
|
/*.resourcesUploadBox:hover {background-color:#0781b4;}*/
|
||||||
/* 个人主页右边部分*/
|
/* 个人主页右边部分*/
|
||||||
.homepageSearchIcon {width:30px; height:32px; background:url(images/nav_icon.png) -8px 3px no-repeat; float:left;}
|
.homepageSearchIcon {width:30px; height:32px; background:url(images/nav_icon.png) -8px 3px no-repeat; float:left; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
input.homepageSearchIcon:hover {cursor: pointer;background:url(../images/nav_icon.png) -49px 3px no-repeat;}
|
input.homepageSearchIcon:hover {cursor: pointer;background:url(../images/nav_icon.png) -49px 3px no-repeat; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
a.homepagePostTypeQuiz {background:url(images/homepage_icon.png) -90px -124px no-repeat; padding-left:23px;}
|
a.homepagePostTypeQuiz {background:url(images/homepage_icon.png) -90px -124px no-repeat; padding-left:23px;}
|
||||||
a.homepagePostTypeAssignment {background:url(images/homepage_icon.png) -93px -318px no-repeat; padding-left:23px;}
|
a.homepagePostTypeAssignment {background:url(images/homepage_icon.png) -93px -318px no-repeat; padding-left:23px;}
|
||||||
a.replyGrey {color:#888888; display:inline-block;}
|
a.replyGrey {color:#888888; display:inline-block;}
|
||||||
|
@ -801,18 +802,19 @@ a.sortArrowActiveU {background:url(images/post_image_list.png) -17px -20px no-re
|
||||||
.postDetailDes p,div,em{word-break: break-all;word-wrap: break-word;}
|
.postDetailDes p,div,em{word-break: break-all;word-wrap: break-word;}
|
||||||
.postDetailCreater {color:#888888; font-size:12px; float:left; margin-right:25px;}
|
.postDetailCreater {color:#888888; font-size:12px; float:left; margin-right:25px;}
|
||||||
.postDetailDate {color:#888888; font-size:12px; float:left;}
|
.postDetailDate {color:#888888; font-size:12px; float:left;}
|
||||||
.postDetailReply { margin-top:28px; color:#888888; float:right;}
|
.postDetailReply { margin-top:28px; color:#888888; float:right;display: inline}
|
||||||
a.postReplyIcon {background:url(images/post_image_list.png) -40px 2px no-repeat; width:18px; height:18px; float:left;}
|
.disablePostLikeIcon {background:url(images/post_image_list.png) 0px -42px no-repeat ;float:right; padding-left:18px; padding-right: 5px; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
a.postReplyIcon:hover {background:url(images/post_image_list.png) -40px -29px no-repeat;}
|
a.postReplyIcon {background:url(images/post_image_list.png) -40px 2px no-repeat; width:18px; height:18px; float:left; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
|
a.postReplyIcon:hover {background:url(images/post_image_list.png) -40px -29px no-repeat; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
.postDetailInput {width:713px; height:28px; border:1px solid #d9d9d9; outline:none !important;}
|
.postDetailInput {width:713px; height:28px; border:1px solid #d9d9d9; outline:none !important;}
|
||||||
.postAttIcon {background:url(images/post_image_list.png) 0px -91px no-repeat; width:16px; height:16px; padding-left:20px;}
|
.postAttIcon {background:url(images/post_image_list.png) 0px -91px no-repeat; width:16px; height:16px; padding-left:20px;}
|
||||||
.postAttIcon:hover {background:url(images/post_image_list.png) 0px -113px no-repeat;}
|
.postAttIcon:hover {background:url(images/post_image_list.png) 0px -113px no-repeat;}
|
||||||
.postThemeContainer {width:720px;}
|
.postThemeContainer {width:720px;}
|
||||||
.postThemeWrap {width:655px; float:left;position: relative}
|
.postThemeWrap {width:655px; float:left;position: relative}
|
||||||
.postLikeIcon {background:url(images/post_image_list.png) 0px -42px no-repeat ;float:right; padding-left:18px; margin-top:3px;}
|
.postLikeIcon {background:url(images/post_image_list.png) 0px -42px no-repeat ;float:right; padding-left:18px; margin-top:3px; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
.postLikeIcon:hover {background:url(images/post_image_list.png) 0px -64px no-repeat ;}
|
.postLikeIcon:hover {background:url(images/post_image_list.png) 0px -64px no-repeat ; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
a.AnnexBtn{ background: url(images/homepage_icon2.png) 0px -343px no-repeat !important; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.AnnexBtn{ background: url(images/homepage_icon2.png) 0px -343px no-repeat !important; height:20px; display:block; padding-left:20px; color:#888888; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
a:hover.AnnexBtn{background: url(images/homepage_icon2.png) -90px -343px no-repeat !important; color:#3598db;}
|
a:hover.AnnexBtn{background: url(images/homepage_icon2.png) -90px -343px no-repeat !important; color:#3598db; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
.postEdit {background:url(images/post_image_list.png) 0px -94px no-repeat; width:18px; height:18px; display:block; float:left;}
|
.postEdit {background:url(images/post_image_list.png) 0px -94px no-repeat; width:18px; height:18px; display:block; float:left;}
|
||||||
.postDelete {background:url(images/post_image_list.png) -42px -93px no-repeat; width:18px; height:18px; display:block; float:right;}
|
.postDelete {background:url(images/post_image_list.png) -42px -93px no-repeat; width:18px; height:18px; display:block; float:right;}
|
||||||
.pageBanner {width:968px; margin:0px auto; border:1px solid #dddddd; background-color: #FFF; padding: 10px 15px; float:left;}
|
.pageBanner {width:968px; margin:0px auto; border:1px solid #dddddd; background-color: #FFF; padding: 10px 15px; float:left;}
|
||||||
|
@ -1038,7 +1040,7 @@ a:hover.icon_add{background:url(../images/course/icons.png) -20px -310px no-repe
|
||||||
.icon_remove{background:url(../images/course/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:left;}
|
.icon_remove{background:url(../images/course/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:left;}
|
||||||
a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-repeat;}
|
a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-repeat;}
|
||||||
/*20150820提交作业 LB*/
|
/*20150820提交作业 LB*/
|
||||||
.HomeWorkBox{ background:#f6f6f6; padding:10px; margin:10px 0;}
|
.HomeWorkBox{ background:#f6f6f6; padding:10px;}
|
||||||
.c_grey{ color:#888888;}
|
.c_grey{ color:#888888;}
|
||||||
.HomeWorkP{ width:690px; font-size:14px;}
|
.HomeWorkP{ width:690px; font-size:14px;}
|
||||||
.HomeWorkP p{background-color: transparent !important;}
|
.HomeWorkP p{background-color: transparent !important;}
|
||||||
|
@ -1256,7 +1258,7 @@ a:hover.tijiao{ background:#0f99a9;}
|
||||||
.system_message_style {line-height: 19.1px; max-width: 681px;overflow:hidden; work-wrap: break-word; word-break: break-all;}
|
.system_message_style {line-height: 19.1px; max-width: 681px;overflow:hidden; work-wrap: break-word; word-break: break-all;}
|
||||||
.system_message_style img {max-width: 100%;}
|
.system_message_style img {max-width: 100%;}
|
||||||
/*20150906关联项目LB*/
|
/*20150906关联项目LB*/
|
||||||
a.RalationIcon{ background: url(../images/homepage_icon.png) -183px -396px no-repeat; width:70px; height:20px; display:block; padding-left:20px; color:#888888;}
|
a.RalationIcon{ background: url(../images/homepage_icon.png) -183px -396px no-repeat; height:20px; display:block; padding-left:20px; color:#888888;}
|
||||||
a:hover.RalationIcon{background: url(../images/homepage_icon.png) -183px -428px no-repeat; color:#3598db;}
|
a:hover.RalationIcon{background: url(../images/homepage_icon.png) -183px -428px no-repeat; color:#3598db;}
|
||||||
a.SetUpIcon{background: url(../images/homepage_icon.png) 0px -453px no-repeat; width:20px; height:20px; display:block; color:#888888;}
|
a.SetUpIcon{background: url(../images/homepage_icon.png) 0px -453px no-repeat; width:20px; height:20px; display:block; color:#888888;}
|
||||||
a:hover.SetUpIcon{background: url(../images/homepage_icon.png) 0px -486px no-repeat; color:#3598db;}
|
a:hover.SetUpIcon{background: url(../images/homepage_icon.png) 0px -486px no-repeat; color:#3598db;}
|
||||||
|
|
|
@ -48,6 +48,9 @@ ol.linenums { margin-top: 0; margin-bottom: 0;line-height: 15px;margin-left: 0px
|
||||||
list-style-type: decimal;
|
list-style-type: decimal;
|
||||||
margin-left: 10px !important;
|
margin-left: 10px !important;
|
||||||
}
|
}
|
||||||
|
.linenums li {
|
||||||
|
margin-left: 0px !important;
|
||||||
|
}
|
||||||
li.L0,
|
li.L0,
|
||||||
li.L1,
|
li.L1,
|
||||||
li.L2,
|
li.L2,
|
||||||
|
|
|
@ -44,7 +44,10 @@ a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
|
||||||
.box_main02{ width:390px; margin:15px auto;}
|
.box_main02{ width:390px; margin:15px auto;}
|
||||||
.box_h3{ color:#15bccf; font-size:16px;}
|
.box_h3{ color:#15bccf; font-size:16px;}
|
||||||
.box_p{ color:#404040; margin-bottom:5px;}
|
.box_p{ color:#404040; margin-bottom:5px;}
|
||||||
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:290px;}
|
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:200px;}
|
||||||
|
.fb_item_first_name{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:150px;margin-left: 10px;}
|
||||||
|
.fb_item_last_name{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:5px; padding-left:5px; width:150px;margin-left: 10px;}
|
||||||
|
.fb_item_gender{ color:#919191; border:1px solid #919191; height:29px; margin-bottom:5px; padding-left:5px; width:58px;margin-left: 10px;}
|
||||||
a.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
|
a.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
|
||||||
a:hover.icon_addm{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
a:hover.icon_addm{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
||||||
a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
||||||
|
@ -221,6 +224,7 @@ a:hover.talk_btn{ background:#2a9dc1;}
|
||||||
/****讨论区内页***/
|
/****讨论区内页***/
|
||||||
.mt0{ margin-top:0px;}
|
.mt0{ margin-top:0px;}
|
||||||
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
|
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
|
||||||
|
.issue_desc li{list-style-type: decimal;margin-left: 20px;}
|
||||||
.talk_info img {max-width:100%;}
|
.talk_info img {max-width:100%;}
|
||||||
a.talk_edit{ color:#426e9a; margin-right:5px;}
|
a.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||||
a:hover.talk_edit{ color:#ff5722;}
|
a:hover.talk_edit{ color:#ff5722;}
|
||||||
|
|
|
@ -445,9 +445,9 @@ a.uploadIcon {background:url(../images/resource_icon_list.png) 8px -60px no-repe
|
||||||
.navHomepageSearchBoxcontainer {margin-top:11px; }
|
.navHomepageSearchBoxcontainer {margin-top:11px; }
|
||||||
.navHomepageSearchBox {width:380px; border:none; outline:none; height:32px; background-color:#ffffff;}
|
.navHomepageSearchBox {width:380px; border:none; outline:none; height:32px; background-color:#ffffff;}
|
||||||
.navHomepageSearchInput {width:345px; height:32px; outline:none; border:none; float:left; padding-left:5px;; margin:0;}
|
.navHomepageSearchInput {width:345px; height:32px; outline:none; border:none; float:left; padding-left:5px;; margin:0;}
|
||||||
.homepageSearchIcon {width:30px; height:32px; background:url(../images/nav_icon.png) -8px 3px no-repeat; float:left;}
|
.homepageSearchIcon {width:30px; height:32px; background:url(../images/nav_icon.png) -8px 3px no-repeat; float:left; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-repeat;}
|
a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-repeat; -moz-transition :all 0s linear 0s; -webkit-transition :all 0s linear 0s; -o-transition:all 0s linear 0s; transition:all 0s linear 0s;}
|
||||||
.navSearchTypeBox {width:368px; height:35px; line-height:35px; vertical-align:middle; position:absolute; border:1px solid #98a1a6; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px; top:43px;}
|
.navSearchTypeBox {width:368px; height:35px; position:absolute; border:1px solid #98a1a6; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px;}
|
||||||
#navSearchAlert {display:none;}
|
#navSearchAlert {display:none;}
|
||||||
.navHomepageNews {width:30px; display:block; float:right; margin-top:8px; position:relative;}
|
.navHomepageNews {width:30px; display:block; float:right; margin-top:8px; position:relative;}
|
||||||
.homepageNewsIcon {background:url(../images/nav_icon.png) -5px -85px no-repeat; width:30px; height:35px; display:block;}
|
.homepageNewsIcon {background:url(../images/nav_icon.png) -5px -85px no-repeat; width:30px; height:35px; display:block;}
|
||||||
|
|
Loading…
Reference in New Issue