Merge branch 'develop' into rep_quality

This commit is contained in:
huang 2016-06-17 10:36:09 +08:00
commit fea21fe7cd
32 changed files with 412 additions and 228 deletions

View File

@ -916,4 +916,11 @@ class ApplicationController < ActionController::Base
call_hook(:controller_account_success_authentication_after, {:user => user }) call_hook(:controller_account_success_authentication_after, {:user => user })
end end
def user_unlogged_check
if !User.current.logged?
render(:partial => 'organizations/unlogged_tip')
return false
end
true
end
end end

View File

@ -265,6 +265,10 @@ class AttachmentsController < ApplicationController
@history.save #历史记录保存完毕 @history.save #历史记录保存完毕
#将最新保存的记录 数据替换到 需要修改的文件记录 #将最新保存的记录 数据替换到 需要修改的文件记录
@old_attachment.attributes = @attachment.attributes.dup.except("id","container_id","container_type","is_public","downloads", "quotes") @old_attachment.attributes = @attachment.attributes.dup.except("id","container_id","container_type","is_public","downloads", "quotes")
# 如果附件描述被修改,则保存附件
unless params[:description] == @attachment.description
@old_attachment.description = params[:description]
end
@old_attachment.save @old_attachment.save
#删除当前记录 #删除当前记录
@attachment.delete @attachment.delete

View File

@ -26,7 +26,7 @@ class FilesController < ApplicationController
before_filter :authorize, :except => [:create,:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project, before_filter :authorize, :except => [:create,:getattachtype,:quote_resource_show,:search,:searchone4reload,:search_project,:quote_resource_show_project,
:search_tag_attachment,:subfield_upload_file,:search_org_subfield_tag_attachment, :search_tag_attachment,:subfield_upload_file,:search_org_subfield_tag_attachment,
:search_tag_attachment,:quote_resource_show_org_subfield,:find_org_subfield_attache, :search_tag_attachment,:quote_resource_show_org_subfield,:find_org_subfield_attache,
:search_files_in_subfield,:upload_files_menu,:file_hidden,:republish_file] :search_files_in_subfield,:upload_files_menu,:file_hidden,:republish_file,:update_file_description]
helper :sort helper :sort
include SortHelper include SortHelper
@ -911,5 +911,10 @@ class FilesController < ApplicationController
def upload_files_menu def upload_files_menu
end end
def update_file_description
@attachment = Attachment.find(params[:id])
@attachment.description = params[:description]
@attachment.save
end
end end

View File

@ -56,6 +56,10 @@ class OrgSubfieldsController < ApplicationController
@org_subfield = OrgSubfield.find_by_sql("select distinct org_subfields.* from org_subfields,"+ @org_subfield = OrgSubfield.find_by_sql("select distinct org_subfields.* from org_subfields,"+
"subfield_subdomain_dirs where org_subfields.id = subfield_subdomain_dirs.org_subfield_id and "+ "subfield_subdomain_dirs where org_subfields.id = subfield_subdomain_dirs.org_subfield_id and "+
" org_subfields.organization_id=#{@organization.id} and subfield_subdomain_dirs.name='#{params[:sub_dir_name]}'").first " org_subfields.organization_id=#{@organization.id} and subfield_subdomain_dirs.name='#{params[:sub_dir_name]}'").first
if @org_subfield.nil?
render_404
return
end
if @org_subfield.field_type == 'Post' if @org_subfield.field_type == 'Post'
@org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0 @org_subfield_ids = @org_subfield.org_document_comments.map(&:id) << 0
@org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10) @org_activities = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{@org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{@org_subfield.id})").order('updated_at desc').page(params[:page] || 1).per(10)

View File

@ -1,12 +1,12 @@
class PraiseTreadController < ApplicationController class PraiseTreadController < ApplicationController
accept_api_auth :tread_plus,:praise_plus accept_api_auth :tread_plus,:praise_plus
before_filter :require_login,:only => [:praise_plus,:tread_plus] # before_filter :require_login,:only => [:praise_plus,:tread_plus]
before_filter :user_unlogged_check,:only => [:praise_plus,:tread_plus,:praise_minus]
def praise_plus def praise_plus
@obj = nil @obj = nil
@activity = false @activity = false
if request.get? if request.get?
@obj_id = params[:obj_id] @obj_id = params[:obj_id]
@obj_type = params[:obj_type] @obj_type = params[:obj_type]

View File

@ -388,7 +388,7 @@ update
# ip = RepositoriesHelper::REPO_IP_ADDRESS # ip = RepositoriesHelper::REPO_IP_ADDRESS
gitlab_address = Redmine::Configuration['gitlab_address'] gitlab_address = Redmine::Configuration['gitlab_address']
# REDO:需优化,仅测试用 # REDO:需优化,仅测试用
@zip_path = gitlab_address.to_s + "/api/v3/projects/" + @project.gpid.to_s + "/repository/archive?&private_token=YTyCv4978MXmdL2B9C62" @zip_path = Gitlab.endpoint.to_s + "/projects/" + @project.gpid.to_s + "/repository/archive?&private_token=" + Gitlab.private_token
if @repository.type.to_s == "Repository::Gitlab" if @repository.type.to_s == "Repository::Gitlab"
@repos_url = gitlab_address.to_s+"/"+@project.owner.to_s+"/"+@repository.identifier+"."+"git" @repos_url = gitlab_address.to_s+"/"+@project.owner.to_s+"/"+@repository.identifier+"."+"git"
else else

View File

@ -2,32 +2,6 @@
<%= stylesheet_link_tag 'leftside'%> <%= stylesheet_link_tag 'leftside'%>
<script type="text/javascript"> <script type="text/javascript">
// $(document).ready(function(){
// $("#loginSignButton").click(function(){
// $("#signUpBox").css({display:"block"});
// $("#loginInBox").css({display:"none"});
// });
// $("#loginInButton").click(function(){
// $("#signUpBox").css({display:"none"});
// $("#loginInBox").css({display:"block"});
// });
// });
// $(function(){
// $("#username").keypress(function(e){
// alert(11);
// if (e.keyCode == '13') {
// $('#main_login_form').submit();
// }
// });
//
// $("#password").keypress(function(e){
// if (e.keyCode == '13') {
// $('#main_login_form').submit();
// }
// });
// });
$(document).ready(function(){ $(document).ready(function(){
$(".homepageSearchIcon").click(function(){ $(".homepageSearchIcon").click(function(){
var val=$('input:radio[name="search_type"]:checked').val(); var val=$('input:radio[name="search_type"]:checked').val();
@ -38,10 +12,6 @@
$("#navSearchAlert").css({display:"none"}); $("#navSearchAlert").css({display:"none"});
} }
}); });
// $("#loginInButton").click(function(){
// $("#signUpBox").css({display:"none"});
// $("#loginInBox").css({display:"block"});
// });
}); });
$(document).ready(function(){ $(document).ready(function(){
@ -62,42 +32,6 @@
} }
}); });
// $('#regist_btn').bind('keyup', function(event) {
// if (event.keyCode == "13" && $("#signUpBox").css('display') == 'block')) {
// register();
// }
//});
function clearInfo(id, content) {
var text = $('#' + id);
if (text.val() == content) {
$('#' + id).val('');
}
}
function showInfo(id, content) {
var text = $('#' + id);
if (text.val() == '') {
$('#' + id).val(content);
}
}
function login(){
$('#main_login_form').submit(); //表单提交没有任何反应的原因js冲突
}
function register(){
if($("#loginUpButton").hasClass('loginUpDisableButton')){
return;
}
if($login_correct && $mail_correct && $passwd_correct && $passwd_comfirm_correct && $("#read_and_confirm").attr("checked") == 'checked'){
$("#main_reg_form").submit();
}else{
$('#user_login').blur();
$('#user_mail').blur();
$('#user_password').blur();
$('#user_password_confirmation').blur();
}
}
var $login_correct = false; var $login_correct = false;
var $mail_correct = false; var $mail_correct = false;
var $passwd_correct = false; var $passwd_correct = false;
@ -118,7 +52,7 @@
$('#login_req').html('<span style="color: green">'+data.message+'</span>'); $('#login_req').html('<span style="color: green">'+data.message+'</span>');
$login_correct = true; $login_correct = true;
} else { } else {
$('#login_req').html( '<span style="color: red">'+data.message+'</span>'); $('#login_req').html( '<span style="color: #c00202">'+data.message+'</span>');
$login_correct = false; $login_correct = false;
} }
$('#login_req').css('display','block'); $('#login_req').css('display','block');
@ -129,7 +63,7 @@
$mail.blur(function (event) { $mail.blur(function (event) {
if (/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test(this.value) == false){ if (/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test(this.value) == false){
$('#mail_req').html( '<span style="color: red">邮件格式不对</span>').show(); $('#mail_req').html( '<span style="color: #c00202">邮件格式不对</span>').show();
$mail_correct = false; $mail_correct = false;
return ; return ;
} }
@ -142,7 +76,7 @@
$('#mail_req').html( '<span style="color: green">'+data.message+'</span>' ); $('#mail_req').html( '<span style="color: green">'+data.message+'</span>' );
$mail_correct = true; $mail_correct = true;
} else { } else {
$('#mail_req').html( '<span style="color: red">'+data.message+'</span>' ); $('#mail_req').html( '<span style="color: #c00202">'+data.message+'</span>' );
$mail_correct = false; $mail_correct = false;
} }
$('#mail_req').css('display','block'); $('#mail_req').css('display','block');
@ -158,7 +92,7 @@
$passwd_correct = true; $passwd_correct = true;
} }
else { else {
$('#passwd_req').html( '<span style="color: red">'+'<%= l(:setting_password_min_length_limit, :count => Setting.password_min_length.to_i) %>'+'</span>'); $('#passwd_req').html( '<span style="color: #c00202">'+'<%= l(:setting_password_min_length_limit, :count => Setting.password_min_length.to_i) %>'+'</span>');
$passwd_correct = false; $passwd_correct = false;
} }
$('#passwd_req').css('display','block'); $('#passwd_req').css('display','block');
@ -174,7 +108,7 @@
$passwd_comfirm_correct = true; $passwd_comfirm_correct = true;
} }
else { else {
$('#confirm_req').html('<span style="color: red">'+'<%= l(:setting_password_error) %>'+'</span>'); $('#confirm_req').html('<span style="color: #c00202">'+'<%= l(:setting_password_error) %>'+'</span>');
$passwd_comfirm_correct = false; $passwd_comfirm_correct = false;
} }
@ -184,121 +118,90 @@
}); });
}); });
function user_name_keypress(e){
if (e.keyCode == '13') {
$('#main_login_form').submit();
}
}
function changeRegisterBtn(checkbox){
if(checkbox.checked == true){
$("#loginUpButton").removeClass('loginUpDisableButton');
$("#loginUpButton").addClass('loginUpButton');
}else{
$("#loginUpButton").removeClass('loginUpButton')
$("#loginUpButton").addClass('loginUpDisableButton');
}
}
</script> </script>
<div class="loginContentContainer">
<div class="loginContent">
<div class="loginLeft">
<div class="loginLogo"><img src="images/trustie_big_log.png" width="100" height="88" alt="Trustie Logo" /></div>
<div class="loginInro">&nbsp;&nbsp;欢迎加入Trustie创新实践社区在这里您的创新意识和创新潜力将得到充分发挥目前已有超过200所高校和科研机构在平台中开展在线协同开发、协同学习和协同研究。<br/><br/>&nbsp;&nbsp;Trustie社区的理想是让创新过程变的更美好</div>
</div>
<div class="loginRight">
<div id="loginInBox">
<div class="loginChooseBox">
<div class="mb5">
<ul class="loginChooseList">
<li class="loginChoose fl"><span class="loginChooseTab">登录</span></li>
<li class="loginChooseBorder fl"></li>
</ul>
</div>
<div class="loginSignAlert" style="color: red"><%= flash.empty? || flash[:error].nil? ? "" : flash[:error].html_safe %></div>
</div>
<div class="loginIn">
<div class="new_login" id = "loginInBox">
<div class="new_login_con">
<div class="new_login_txt fl">
<h3> 欢迎加入Trustie创新实践社区</h3>
<p>在这里您的创新意识和创新潜力将得到充分发挥目前已有超过200所高校和科研机构在平台中开展在线协同开发、协同学习和协同研究。</p>
</div>
<div class="new_login_box fr mr45 mt100">
<h2 class="new_login_h2">登录
<a href="<%= register_url_without_domain %>" class="fr mt5">立即注册</a><div class="cl"></div>
</h2>
<div class="new_login_form">
<%= form_tag(signin_path,:id=>'main_login_form',:method=>'post') do %> <%= form_tag(signin_path,:id=>'main_login_form',:method=>'post') do %>
<%= back_url_hidden_field_tag %> <%= back_url_hidden_field_tag %>
<div class="mb20"> <ul>
<%= text_field_tag 'username', params[:username], :tabindex => '1' , <li class="new_loggin_users">
:class=>'loginSignBox',:placeholder=>'请输入邮箱地址或登录名', :onkeypress => "user_name_keypress(event);"%> <%= text_field_tag 'username', params[:username], :tabindex => '1', :class=>'new_loggin_input',:placeholder=>'请输入邮箱地址或登录名', :onkeypress => "user_name_keypress(event);"%>
<!--<input type="text" placeholder="请输入邮箱地址或昵称" class="loginSignBox" />--> </li>
</div> <li class="new_login_lock">
<% if Setting.openid? %> <%= password_field_tag 'password', nil, :tabindex => '2', :class => 'new_loggin_input' , :placeholder => '请输入登录密码', :onkeypress => "user_name_keypress(event);"%>
<div class="mb20"> <p class="new_login_error"><%= flash.empty? || flash[:error].nil? ? "" : flash[:error].html_safe %></p>
<%= text_field_tag "openid_url", nil, :tabindex => '3',:placeholder=>'请输入OpenId URL' %> </li>
</div>
<% end %> <li>
<div>
<!--<input type="text" placeholder="请输密码" class="loginSignBox" />-->
<%= password_field_tag 'password', nil, :tabindex => '2',:class=>'loginSignBox' ,:placeholder=>'请输密码', :onkeypress => "user_name_keypress(event);"%>
</div>
<div class="loginSignOption">
<% if Setting.autologin? %> <% if Setting.autologin? %>
<div class="fl mt3 mr5"> <label><%= check_box_tag 'autologin', 1, true, :tabindex => 4, :class => "new_login_check" %><%= l(:label_stay_logged_in) %></label>
<%= check_box_tag 'autologin', 1, true, :tabindex => 4 %>
</div>
<%= l(:label_stay_logged_in) %>
<% end %> <% end %>
<a href="<%= lost_password_path %>" class="newsBlue mr40 fr"> <a href="<%= lost_password_path %>" class="fr">
<% if Setting.lost_password? %> <% if Setting.lost_password? %>忘记密码<% end %>
<u>忘记密码?</u> </a>
<% end %> <div class="cl"></div>
</a></div> </li>
<% end %> <li><button type="submit" class="new_login_submit"><a href="javascript:void(0);" id="login_btn" onclick="$('#main_login_form').submit();" style="text-decoration: none;">登录</a></button></li>
<div class="loginInButton" >
<a href="javascript:void(0);" id="login_btn" class="c_white db" onclick="$('#main_login_form').submit();">登录</a>
</div>
</div>
</div>
<div id="signUpBox">
<div class="loginChooseBox">
<ul class="loginChooseList">
<li class="loginChoose fl"><span class="loginChooseTab">注册<%= link_to l(:label_login_with_open_id_option), signin_url if Setting.openid? %></a></span>
<li class="loginChooseBorder fl"></li>
</ul> </ul>
</div>
<div class="loginIn">
<%= form_for :user, :url => register_path,:method=>'post',:html=>{:id=>'main_reg_form'} do |f| %>
<%= error_messages_for 'user' %>
<div class="loginSignRow">
<!--<input type="text" placeholder="请输入邮箱地址" class="loginSignBox" />-->
<%= f.text_field :mail,:size => 25, :class=>'loginSignBox' ,:placeholder=>"请输入邮箱地址"%>
<div class="loginSignAlert" id="mail_req" style="display: none" >请输入有效邮箱地址</div>
</div>
<div class="loginSignRow">
<!--<input type="text" placeholder="请输入密码" class="loginSignBox" />-->
<%= f.password_field :password, :size => 25,:placeholder=>"请输入密码",:class=>'loginSignBox' %>
<div class="loginSignAlert" id="passwd_req" style="display: none">至少需要 6 个字符</div>
</div>
<div class="loginSignRow">
<!--<input type="text" placeholder="请再次输入密码" class="loginSignBox" />-->
<%= f.password_field :password_confirmation, :size => 25,:placeholder=>"请再次输入密码",:class=>'loginSignBox' %>
<div class="loginSignAlert" id="confirm_req" style="display: none">密码不一致</div>
</div>
<div class="loginSignRow">
<!--<input type="text" placeholder="请输入用户昵称" class="loginSignBox" />-->
<%= f.text_field :login, :size => 25,:placeholder=>"请输入用户登录名",:class=>'loginSignBox'%>
<div class="loginSignAlert" id="login_req" style="display: none">用户登录名为2-18个中英文数字或下划线</div>
</div>
<div class="loginSignOption">
<div class="fl mt3 mr5">
<input type="checkbox" id="read_and_confirm" onchange="changeRegisterBtn(this);"/>
</div>
我已阅读并接受<a href="<%= agreement_path %>" class="newsBlue"><u>Trustie服务协议</u></a>条款</div>
<div class="loginUpDisableButton" id="loginUpButton">
<a href="javascript:void(0);" class="c_white db" id="regist_btn" onclick="register();" >注册</a>
</div>
<% end %> <% end %>
</div> </div>
</div>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
</div> </div>
</div> </div>
<%# 注册 %>
<div class="new_register" id = "signUpBox">
<div class="new_register_con">
<div class="new_login_txt fl new_register_left">
<h3> 欢迎加入Trustie创新实践社区</h3>
<p>在这里您的创新意识和创新潜力将得到充分发挥目前已有超过200所高校和科研机构在平台中开展在线协同开发、协同学习和协同研究。</p>
</div>
<div class="new_login_box fr mr45 mt50">
<h2 class="new_login_h2">注册<a href="<%= signin_url_without_domain %>" class="fr mt5">已有账号 请登录</a><div class="cl"></div></h2>
<div class="new_login_form">
<%= form_for :user, :url => register_path,:method=>'post', :html => {:id=>'main_reg_form'} do |f| %>
<%= error_messages_for 'user' %>
<ul>
<li class="new_register_li">
<%= f.text_field :mail, :size => 25, :class => 'new_register_input' , :placeholder => "请输入邮箱地址"%>
<p class="new_login_error" id="mail_req" style="display: none" >请输入正确的邮箱</p>
</li>
<li class="new_register_li">
<%= f.password_field :password, :size => 25, :placeholder => "请输入密码", :class => 'new_register_input' %>
<p class="new_login_error" id="passwd_req" style="display: none">请输入6-16位密码区分大小写不能使用空格</p>
</li>
<li class="new_register_li">
<%= f.password_field :password_confirmation, :size => 25, :placeholder => "请再次输入密码", :class=> 'new_register_input' %>
<p class="new_login_error" id="confirm_req" style="display: none">两次密码不一致!</p>
</li>
<li class="new_register_li">
<%= f.text_field :login, :size => 25, :placeholder => "请输入用户登录名", :class => 'new_register_input'%>
<p class="new_login_error" id="login_req" style="display: none">用户登录名为2-18个中英文数字或下划线</p>
</li>
<li>
<label><input type="checkbox" checked id="read_and_confirm" onchange="changeRegisterBtn(this);" class=" new_login_check">我已阅读并接受<a href="<%= agreement_path %>" >Trustie服务协议条款</a></label>
</li>
<li>
<div class="new_login_submit" id="loginUpButton">
<a href="javascript:void(0);" id="regist_btn" onclick="register();" class ="db" style="text-decoration: none;">注册</a>
</div>
</ul>
<% end %>
</div>
</div>
<div class="cl"></div>
</div>
</div>

View File

@ -39,6 +39,15 @@
<!--<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="closeModal();"><%#= l(:button_cancel)%></a>--> <!--<a href="javascript:void(0);" class=" fr grey_btn mr40" onclick="closeModal();"><%#= l(:button_cancel)%></a>-->
<!--<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%#= l(:button_confirm)%></a>--> <!--<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%#= l(:button_confirm)%></a>-->
</div> </div>
<div class="cl"></div>
<div class="mb5 mt5">
<label class="fl c_dark f14" style="line-height:30px;">描述:</label>
<div class="fl">
<input type="text" name="description" class="InputBox fl W160" value="<%= @attachment.description %>">
</div>
<div class="cl"></div>
</div>
<div class="cl"></div>
<div class="uploadResourceIntr"> <div class="uploadResourceIntr">
<div class="uploadResourceName fl"><span id="upload_file_count">(未选择文件)</span></div> <div class="uploadResourceName fl"><span id="upload_file_count">(未选择文件)</span></div>
<div class="uploadResourceIntr2 fl">您可以上传小于<span class="c_red">50MB</span>的文件</div> <div class="uploadResourceIntr2 fl">您可以上传小于<span class="c_red">50MB</span>的文件</div>

View File

@ -0,0 +1,5 @@
<p ondblclick=show_edit_file_description('<%= file.id %>')>
资源描述:<% if file.description.blank? %><span style="color:#C5C5BE; cursor:pointer;" title="双击可编辑">双击添加描述</span><% else %><span style="cursor:pointer;" title="双击可编辑"><%= file.description %></span><% end %>
<%#= file.description.blank? ? "该资源暂无描述" : file.description %>
<%= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_file_description("+file.id.to_s+");"%>
</p>

View File

@ -1,7 +1,7 @@
<% delete_allowed = User.current.admin? %> <% delete_allowed = User.current.admin? %>
<% org_subfield_attachments.each do |file| %> <% org_subfield_attachments.each do |file| %>
<% if file.is_public == 1 or User.current.member_of_org?(file.container.organization) %> <% if file.is_public == 1 or User.current.member_of_org?(file.container.organization) || User.current.admin? %>
<div class="resources mt10" id="container_files_<%= file.id %>"> <div class="resources mt10" id="container_files_<%= file.id %>">
<div class="homepagePostBrief"> <div class="homepagePostBrief">
<div class="homepagePostPortrait"> <div class="homepagePostPortrait">

View File

@ -35,10 +35,25 @@
<p class="f_l mb5 fontGrey2">文件大小:<%= number_to_human_size(file.filesize) %></p> <p class="f_l mb5 fontGrey2">文件大小:<%= number_to_human_size(file.filesize) %></p>
<p class="fl ml15 fontGrey2">下载<%= file.downloads%>&nbsp;&nbsp;|&nbsp;&nbsp;引用<%= file.quotes.nil? ? 0:file.quotes %> </p> <p class="fl ml15 fontGrey2">下载<%= file.downloads%>&nbsp;&nbsp;|&nbsp;&nbsp;引用<%= file.quotes.nil? ? 0:file.quotes %> </p>
</div> </div>
<%# unless file.description.blank? %>
<div class="cl"></div>
<% if User.current.logged? && ((is_course_teacher(User.current,@course) || file.author_id == User.current.id) && course_contains_attachment?(@course,file)) && ((delete_allowed || User.current.id == file.author_id) && file.container_id == @course.id && file.container_type == "Course") %>
<div>
<div id="file_description_show_<%= file.id %>" class="fontGrey2 mb4">
<%= render :partial => 'files/file_description', :locals => {:file => file} %>
</div>
<textarea class="homepageSignatureTextarea none" placeholder="请编辑资源描述" id="file_description_edit_<%= file.id %>"
onblur="edit_file_description('<%= update_file_description_course_file_path(@course,file)%>','<%= file.id %>');"><%= file.description %></textarea>
</div>
<% else %>
<div class="fontGrey2 mb4">
<% unless file.description.blank? %> <% unless file.description.blank? %>
<div class="cl"></div> <div class="cl"></div>
<div class="fontGrey2 mb4">资源描述:<%= file.description %></div> <div class="fontGrey2 mb4">资源描述:<%= file.description %></div>
<% end %> <% end %>
</div>
<% end %>
<%# end %>
<div class="cl"></div> <div class="cl"></div>
<div class="tag_h"> <div class="tag_h">
<!-- container_type = 1 代表是课程里的资源 --> <!-- container_type = 1 代表是课程里的资源 -->

View File

@ -0,0 +1,3 @@
$("#file_description_show_<%= @attachment.id %>").html("<%= escape_javascript render(:partial => "files/file_description", :locals => {:file => @attachment}) %>");
$("#file_description_show_<%= @attachment.id %>").show();
$("#file_description_edit_<%= @attachment.id %>").hide();

View File

@ -2,5 +2,5 @@
$('#new_forum_div').slideToggle();$('#create_btn').parent().slideToggle(); $('#new_forum_div').slideToggle();$('#create_btn').parent().slideToggle();
$('#reorder_time').click(); $('#reorder_time').click();
<%else%> <%else%>
$("#error").html("<%= @forum.errors.full_messages[0]%>").show(); $("#error").html("<%= @forum.errors.full_messages[0]%>").show();
<%end %> <%end %>

View File

@ -1,8 +1,10 @@
<% if user.user_extensions && user.user_extensions.brief_introduction && !user.user_extensions.brief_introduction.empty? %> <span>
<%= user.user_extensions.brief_introduction %>&nbsp; <% if user.user_extensions && user.user_extensions.brief_introduction && !user.user_extensions.brief_introduction.empty? %>
<% else%> <%= user.user_extensions.brief_introduction %>
这位童鞋很懒,什么也没有留下~&nbsp; <% else%>
<% end %> 这位童鞋很懒,什么也没有留下~
<% end %>
</span>
<% if User.current == user%> <% if User.current == user%>
<%= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%> <%= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%>
<% end%> <% end %>

View File

@ -173,7 +173,7 @@
</div><!--项目标签 end--> </div><!--项目标签 end-->
<!--课程推荐--> <!--课程推荐-->
<%= render :partial => 'courses/recommendation', :locals => {:course => @course} %> <%= render :partial => 'courses/recommendation', :locals => {:course => @course} %>
<div class="fontGrey5 mt10 ml10 mb10">访问计数 <%= @course.visits.to_i %></div> <div class="fontGrey5 mt10 ml10 mb10">访问计数 <%= @course.visits.to_i %> (自<%= Time.now.year %>年<%= Time.now.month %>月)</div>
</div><!--LSide end--> </div><!--LSide end-->
<div id="RSide" class="fl"> <div id="RSide" class="fl">

View File

@ -136,7 +136,7 @@
<%= render :partial => "organizations/org_left_subfield_list", :locals => {:organization => @organization} %> <%= render :partial => "organizations/org_left_subfield_list", :locals => {:organization => @organization} %>
</div> </div>
<div class="fontGrey5 mt10 ml20">访问计数 <%= @organization.visits.to_i %></div> <div class="fontGrey5 mt10 ml20">访问计数 <%= @organization.visits.to_i %> (自<%= Time.now.year %>年<%= Time.now.month %>月)</div>
</div> </div>
<div class="homepageRight" style="margin-top:<%= (params[:show_homepage].nil? && User.current.logged?) ? '10px':'0px' %>;"> <div class="homepageRight" style="margin-top:<%= (params[:show_homepage].nil? && User.current.logged?) ? '10px':'0px' %>;">
<%= render_flash_messages %> <%= render_flash_messages %>

View File

@ -146,7 +146,7 @@
<div class="cl"></div> <div class="cl"></div>
</div><!--项目标签 end--> </div><!--项目标签 end-->
<div class="fontGrey5 mt10 ml10 mb10">访问计数 <%= @project.visits.to_i %></div> <div class="fontGrey5 mt10 ml10 mb10">访问计数 <%= @project.visits.to_i %> (自<%= Time.now.year %>年<%= Time.now.month %>月)</div>
</div> </div>
</div> </div>

View File

@ -14,19 +14,8 @@
<%= heads_for_theme %> <%= heads_for_theme %>
<%= call_hook :view_layouts_base_html_head %> <%= call_hook :view_layouts_base_html_head %>
<%= yield :header_tags -%> <%= yield :header_tags -%>
<!-- MathJax的配置 -->
<script type="text/javascript"
src="/javascripts/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<!-- 配置 在生成的公式图片上去掉Math定义的右键菜单$$ $$ \( \) \[ \] 中的公式给予显示-->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
showMathMenu: false,
showMathMenuMSIE: false,
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
</script>
</head> </head>
<body style="background-color: #fff">
<div class="navContainer"> <div class="navContainer">
<% is_current_user = User.current.logged? && User.current == @user%> <% is_current_user = User.current.logged? && User.current == @user%>
<% if User.current.logged? %> <% if User.current.logged? %>

View File

@ -139,9 +139,9 @@
<div> <div>
<div class="homepageSignature break_word"> <div class="homepageSignature break_word">
<p id="user_brief_introduction_show"> <div id="user_brief_introduction_show">
<%= render :partial => 'layouts/user_brief_introduction', :locals => {:user => @user} %> <%= render :partial => 'layouts/user_brief_introduction', :locals => {:user => @user} %>
</p> </div>
</div> </div>
<textarea class="homepageSignatureTextarea none" placeholder="请编辑签名" id="user_brief_introduction_edit" onblur="edit_user_introduction('<%= edit_brief_introduction_user_path(@user.id)%>');"><%= @user.user_extensions.brief_introduction %></textarea> <textarea class="homepageSignatureTextarea none" placeholder="请编辑签名" id="user_brief_introduction_edit" onblur="edit_user_introduction('<%= edit_brief_introduction_user_path(@user.id)%>');"><%= @user.user_extensions.brief_introduction %></textarea>
</div> </div>
@ -284,7 +284,7 @@
<div class="cl"></div> <div class="cl"></div>
</div> </div>
</div> </div>
<div class="fontGrey5 mt10 ml20">访问计数 <%= @user.visits.to_i %></div> <div class="fontGrey5 mt10 ml20">访问计数 <%= @user.visits.to_i %> (自<%= Time.now.year %>年<%= Time.now.month %>月)</div>
</div> </div>
<div class="homepageRight"> <div class="homepageRight">
<%= yield %> <%= yield %>
@ -349,6 +349,7 @@
$(function(){ $(function(){
$('#user_hide_course').hide(); $('#user_hide_course').hide();
$('#user_hide_project').hide(); $('#user_hide_project').hide();
autoUrl("user_brief_introduction_show");
}); });
$("#courseMenu").mouseenter(function(){ $("#courseMenu").mouseenter(function(){

View File

@ -1,9 +1,9 @@
<% if @res %> <% if @res %>
$("#org_subfield_list").html(""); $("#org_subfield_list").html("");
$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>"); $("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => subfield_to_addmin?(@organization)}) %>");
$("#sub_field_left_lists").html(""); $("#sub_field_left_lists").html("");
$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>"); $("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>");
$("#org_custom_admin").html("<%= escape_javascript(render :partial => 'organizations/org_custom_admin') %>"); $("#org_custom_admin").html("<%= escape_javascript(render :partial => 'organizations/org_custom_admin') %>");
<% end %> <% end %>
$("#subfield_name").val(""); $("#subfield_name").val("");
$("#sub_dir").val(""); $("#sub_dir").val("");

View File

@ -1,3 +1,4 @@
<div class="por_header_top"> <div class="por_header_top">
<div class="por_header_con" > <div class="por_header_con" >
<%= image_tag(url_to_avatar(@organization), width:"67", height: "61", :id => 'nh_user_tx', :class => "por_logo fl ", :target => "_blank") %> <%= image_tag(url_to_avatar(@organization), width:"67", height: "61", :id => 'nh_user_tx', :class => "por_logo fl ", :target => "_blank") %>
@ -5,7 +6,7 @@
<div class="navHomepageProfile" id="navHomepageProfile"> <div class="navHomepageProfile" id="navHomepageProfile">
<ul> <ul>
<li class="homepageProfileMenuIcon fr mt15" id="homepageProfileMenuIcon"> <li class="homepageProfileMenuIcon fr mt15" id="homepageProfileMenuIcon">
<%= link_to "<div class='user-img' id='user_avatar'>#{image_tag(url_to_avatar(User.current), :width =>"40", :height => "40", :class => "portraitRadius",:alt=>"头像", :id => "nh_user_logo")}</div>".html_safe, user_activities_path(User.current.id) %> <%= link_to "<div class='user-img' id='user_avatar'>#{image_tag(url_to_avatar(User.current), :width =>"40", :height => "40", :class => "portraitRadius",:alt=>"头像", :id => "nh_user_logo")}</div>".html_safe, user_url_in_org(User.current.id) %>
<ul class="topnav_login_list none sn-f12" id="topnav_login_list" style="text-align:left;"> <ul class="topnav_login_list none sn-f12" id="topnav_login_list" style="text-align:left;">
<li><%= link_to "修改资料", my_account_path, :class => "menuGrey"%></li> <li><%= link_to "修改资料", my_account_path, :class => "menuGrey"%></li>
<li><%= link_to "我的组织", user_organizations_user_path(:id => User.current.id), :class => "menuGrey"%></li> <li><%= link_to "我的组织", user_organizations_user_path(:id => User.current.id), :class => "menuGrey"%></li>

View File

@ -0,0 +1,4 @@
//获取登录页面地址
var signinPath = '<%= signin_url_without_domain %>';
var htmlvalue = "</br><div style='width:550px;text-align:center'>您还没有登录,请登录后再执行此操作,谢谢!</div></br><div style='width:164px; margin:0 auto; text-align:center'><a href="+signinPath+" class='Blue-btn fl' target='_Blank' onclick=' hideModal()' >登录</a><a href='javascript:void(0);' class='Blue-btn fl' onclick='hideModal()'>关闭</a></div>";
pop_up_box(htmlvalue,580,30,50);

View File

@ -1,3 +1,4 @@
<div class="visitor-box fontGrey2"> <div class="visitor-box fontGrey2">
<%= link_to "登录", signin_path, :class => "linkBlue", :target => "_blank" %>后可添加回复 <a href='<%= signin_url_without_domain %>' class='linkBlue' target='_Blank' >登录</a>后可添加回复
<%#= link_to "登录", signin_path, :class => "linkBlue", :target => "_blank" %>
</div> </div>

View File

@ -1,3 +1,4 @@
$("#user_brief_introduction_show").html("<%= escape_javascript render(:partial => "layouts/user_brief_introduction", :locals => {:user => @user}) %>"); $("#user_brief_introduction_show").html("<%= escape_javascript render(:partial => "layouts/user_brief_introduction", :locals => {:user => @user}) %>");
$("#user_brief_introduction_show").show(); $("#user_brief_introduction_show").show();
$("#user_brief_introduction_edit").hide(); $("#user_brief_introduction_edit").hide();
autoUrl("user_brief_introduction_show");

View File

@ -37,7 +37,7 @@ zh:
label_password_lost: "忘记密码?" label_password_lost: "忘记密码?"
button_login: 登录 button_login: 登录
# account_controller中判断用户名或密码输入有误的提示信息 # account_controller中判断用户名或密码输入有误的提示信息
notice_account_invalid_creditentials: "无效的用户名或密码,注意登录名区分大小写,谢谢!" notice_account_invalid_creditentials: "无效的用户名或密码,注意登录名区分大小写"
# account_controller中判断未激活的提示信息 # account_controller中判断未激活的提示信息
notice_account_invalid_creditentials_new: "您还未到邮箱激活。如果您丢失帐户,电子邮件验证帮助我们的支持团队验证帐户的所有权,并允许您接收所有您要求的通知。" notice_account_invalid_creditentials_new: "您还未到邮箱激活。如果您丢失帐户,电子邮件验证帮助我们的支持团队验证帐户的所有权,并允许您接收所有您要求的通知。"

View File

@ -977,7 +977,6 @@ RedmineApp::Application.routes.draw do
match 'delete_softapplications', :via => [:get, :post] match 'delete_softapplications', :via => [:get, :post]
end end
end end
resources :groups do resources :groups do
member do member do
get 'autocomplete_for_user' get 'autocomplete_for_user'
@ -1116,6 +1115,7 @@ RedmineApp::Application.routes.draw do
match "quote_resource_show", :via => [:get] match "quote_resource_show", :via => [:get]
get "file_hidden" get "file_hidden"
post "republish_file" post "republish_file"
get "update_file_description"
end end
end end
resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1480,3 +1480,21 @@ function autoUrl(id){
} }
} }
//编辑资源描述
function show_edit_file_description(id) {
$("#file_description_show_"+id).hide();
$("#file_description_edit_"+id).show();
$("#file_description_edit_"+id).focus();
}
//编辑资源描述之后提交
function edit_file_description(url,id){
$.get(
url,
{id: id ,description: $("#file_description_edit_"+id).val() },
function (data) {
}
);
}

View File

@ -628,3 +628,51 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) {
addEvent(elem2, 'focus', change); addEvent(elem2, 'focus', change);
change(); change();
}; };
function user_name_keypress(e){
if (e.keyCode == '13') {
$('#main_login_form').submit();
}
}
function changeRegisterBtn(checkbox){
if(checkbox.checked == true){
$("#loginUpButton").removeClass('new_login_submit_disable');
$("#loginUpButton").addClass('new_login_submit');
}else{
$("#loginUpButton").removeClass('new_login_submit')
$("#loginUpButton").addClass('new_login_submit_disable');
}
}
function clearInfo(id, content) {
var text = $('#' + id);
if (text.val() == content) {
$('#' + id).val('');
}
}
function showInfo(id, content) {
var text = $('#' + id);
if (text.val() == '') {
$('#' + id).val(content);
}
}
function login(){
$('#main_login_form').submit(); //表单提交没有任何反应的原因js冲突
}
function register(){
if($("#loginUpButton").hasClass('new_login_submit_disable')){
return;
}
if($login_correct && $mail_correct && $passwd_correct && $passwd_comfirm_correct && $("#read_and_confirm").attr("checked") == 'checked'){
$("#main_reg_form").submit();
}else{
$('#user_login').blur();
$('#user_mail').blur();
$('#user_password').blur();
$('#user_password_confirmation').blur();
}
}

View File

@ -747,8 +747,8 @@ a:hover .gz_btn{color:#ff5722;}
.homepageCoursesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-65px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;} .homepageCoursesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-65px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
/*注册登陆页面*/ /*注册登陆页面*/
#loginInBox {display:block; margin-top:143px;} #loginInBox {display:block;}
#signUpBox {display:none; margin-top:79px;} #signUpBox {display:none;}
#loginSignButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;} #loginSignButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
#loginInButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;} #loginInButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
#loginSignButton:hover {background-color:#297fb8;} #loginSignButton:hover {background-color:#297fb8;}
@ -1628,3 +1628,167 @@ ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
span.shadowbox_news_user{ color:#3b94d6;} span.shadowbox_news_user{ color:#3b94d6;}
a.shadowbox_news_all{ display:block; width:305px; height:40px; line-height:40px; color:#3b94d6; text-align:center;border-top:1px solid #eee;} a.shadowbox_news_all{ display:block; width:305px; height:40px; line-height:40px; color:#3b94d6; text-align:center;border-top:1px solid #eee;}
/* 新版登录注册 */
.mr45{ margin-right:45px;}
.mt100{ margin-top:100px;}
.mt50{ margin-top:50px;}
.new_login{
width:100%;
height:524px;
background-color:#3b94d6;
}
.new_login_con{
width:1000px;
height:524px;
margin:0 auto;
background:url(../images/login/bg_login.jpg) 0 0 no-repeat;
}
.new_login_box{
background:#FFF;
width:265px;
padding:20px 15px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
background-color: rgba(255,255,255,0.3);
}
.new_login_h2{
font-size:18px;
color:#fff;
border-bottom:1px solid #fff;
font-weight:normal;
padding-bottom:5px;
margin-bottom:30px;
}
.new_login_h2 a{
font-size:12px;
color:#fff;
background:url(../images/login/icons_login.png) 0 -69px no-repeat;
padding-left:10px;
}
input.new_register_input{
-webkit-box-shadow: 0 0 0px 1000px white inset;
margin-left:5px;
width:250px;
height:45px;
border:none;
outline: none;
}
input.new_loggin_input{
-webkit-box-shadow: 0 0 0px 1000px white inset;
outline: none;
width:205px;
height:45px;
border:none;
margin-left:50px;
}
.new_loggin_users{
width:265px;
height:45px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
border:none;
background:#fff url(../images/login/icons_login.png) 8px 9px no-repeat;
}
.new_login_lock{
background:#fff url(../images/login/icons_login.png) 8px -28px no-repeat;
width:265px;
height:45px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
border:none;
}
.new_register_li{
background:#fff;
width:265px;
height:45px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
border:none;
}
.new_login_form ul li{
margin-bottom:20px;
}
.new_login_error{
color:#c00202;
}
.new_login_submit_disable{
width:265px;
height:40px;
line-height: 40px;
background:#ccc;
color:#fff;
font-size:14px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
border:none;
text-align:center;
cursor:pointer;
vertical-align: middle;
}
.new_login_submit{
width:265px;
height:40px;
line-height: 40px;
background:#f27d0d;
color:#fff;
font-size:14px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
border:none;
text-align:center;
cursor:pointer;
vertical-align: middle;
}
.new_login_check{
width:15px;
height:15px;
border:1px solid #fff;
border-style:none;
margin-right:5px;
vertical-align: -2px;
}
.new_login_form label{ color:#fff;}
.new_login_form a{ color:#fff; text-decoration:underline;}
.new_register{
width:100%;
height:579px;
background-color:#3b94d6;
}
.new_register_con{
width:1000px;
height:580px;
margin:0 auto;
background:url(../images/login/bg_register.jpg) 0 0 no-repeat;
}
.new_login_txt{
width:282px;
height:140px;
padding:30px 12px 0;
color:#fff;
margin:235px 0 0 165px;
}
.new_login_txt h3{
font-size:18px;
text-align:center;
margin-bottom:20px;
}
.new_login_txt p{
line-height:2.0;
}
.new_register_left{
margin-top:250px;
}