个人主页->留言

This commit is contained in:
yutao 2015-07-10 14:17:19 +08:00
parent 5c011fd342
commit 02d09c84b4
10 changed files with 173 additions and 119 deletions

View File

@ -575,8 +575,10 @@ class UsersController < ApplicationController
if params[:lastid]!=nil && !params[:lastid].empty?
query = query.where("#{JournalsForMessage.table_name}.id < ?",params[:lastid])
end
logger.info('xxoo')
@list = query.order("#{JournalsForMessage.table_name}.id desc").limit(3).all
render :layout=>nil
logger.info('aavv')
render :layout=>nil,:locals => {:feed_list=>@list}
end
def show

View File

@ -13,11 +13,12 @@ class WordsController < ApplicationController
end
refer_user_id = params[:new_form][:reference_user_id].to_i
@user.add_jour(User.current, message, refer_user_id)
list = @user.add_jour(User.current, message, refer_user_id)
unless refer_user_id == 0 || refer_user_id == User.current.id
User.find(refer_user_id).add_jour(User.current, message, refer_user_id)
list = User.find(refer_user_id).add_jour(User.current, message, refer_user_id)
end
@user.count_new_jour
@jour = list.last
# @user.count_new_jour
# if a_message.size > 5
# @message = a_message[-5, 5]
# else
@ -26,8 +27,8 @@ class WordsController < ApplicationController
# @message_count = a_message.count
end
end
@jours = @user.journals_for_messages.where('m_parent_id IS NULL').reverse
@jour = paginateHelper @jours,10
# @jours = @user.journals_for_messages.where('m_parent_id IS NULL').reverse
# @jour = paginateHelper @jours,10
respond_to do |format|
# format.html { redirect_to_referer_or {render :text => 'Watcher added.', :layout => true}}

View File

@ -324,8 +324,8 @@ module UsersHelper
def query_activities(query,type)
query_rec_count = 50
#query = query.where("act_type not in ('Contest','Contestnotifications','Principal')")
query = query.where("act_type='JournalsForMessage'")
query = query.where("act_type not in ('Contest','Contestnotifications','Principal')")
# query = query.where("act_type='JournalsForMessage'")
#query = query.where("act_type not in (?)", ['JournalsForMessage','Message','HomeworkCommon','News','Issue','Journal','Poll'])
list = query.order("id desc").limit(query_rec_count).all
if( list == nil || list.count() < query_rec_count )

View File

@ -183,14 +183,14 @@ $(".subNav").click(function(){
<% end %>
<% if (@user.user_extensions.identity == 0 || @user.user_extensions.identity == 1) && !@user.user_extensions.school.nil? %>
<li><a href="<%= url_for(:controller=>'welcome',:action => 'course', :school_id => @user.user_extensions.school.id,:host=>Setting.host_course) %>"><%= @user.user_extensions.school.name %></li>
<li><a href="<%= url_for(:controller=>'welcome',:action => 'course', :school_id => @user.user_extensions.school.id,:host=>Setting.host_course) %>"><%= @user.user_extensions.school.name %></a></li>
<% elsif @user.user_extensions.identity == 3 && !@user.user_extensions.occupation.nil? && !@user.user_extensions.occupation.empty? %>
<li><%= @user.user_extensions.occupation %></li>
<% elsif @user.user_extensions.identity == 2 %>
<li style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="<%= @user.show_name %>"><%= @user.show_name %></li>
<% end %>
<% if (!@user.user_extensions.description.nil? && !@user.user_extensions.description.empty?) %>
<li><%= @user.user_extensions.description %></li>
<li style="word-break:break-all;"><%= @user.user_extensions.description %></li>
<% end %>
<% end %>
</ul>

View File

@ -29,18 +29,20 @@
<% end %>
<div id="RSide" class="fl">
<div class="message_box mb10" nhname='new_message'>
<form action="<%= url_for(:controller => 'words', :action => 'create', :user_id => @user.id) %>" data-remote="true" method="post">
<textarea nhname='new_message_textarea' name="new_form[user_message]" style="display:none;"></textarea>
<p nhname='contentmsg'></p>
<div nhname='toolbar_container' style="float:left;padding-top:3px;"></div>
<a id="new_message_cancel_btn" href="javascript:void(0)" class="grey_n_btn fr " style="margin-top:3px;">取消</a>
<a id="new_message_submit_btn" href="javascript:void(0)" class="blue_n_btn fr mr5 " style="margin-top:3px;">发布</a>
</form>
<div class="message_box mb10">
<div nhname='new_message' style="display:none;">
<form action="<%= url_for(:controller => 'words', :action => 'create', :user_id => @user.id) %>" data-remote="true" method="post">
<textarea nhname='new_message_textarea' name="new_form[user_message]" style="display:none;"></textarea>
<p nhname='contentmsg'></p>
<div nhname='toolbar_container' style="float:left;padding-top:3px;"></div>
<a id="new_message_cancel_btn" href="javascript:void(0)" class="grey_n_btn fr " style="margin-top:3px;">取消</a>
<a id="new_message_submit_btn" href="javascript:void(0)" class="blue_n_btn fr mr5 " style="margin-top:3px;">发布</a>
</form>
</div>
<div class="cl"></div>
<div class="message_list_box" nhname="list_more_div">
<div id="jours_container" nhname="container" data-pagesize="3" data-url="<%=user_path(@user)%>/user_feedback4show" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="message_list_box" nhname="list_more_div" id="nh_messages" style="display:none;">
<div nhname="container" data-pagesize="3" data-url="<%= url_for(:controller => 'users', :action => 'user_feedback4show') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="message_list_more">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr mr10">收起</a>
<div class="cl"></div>
@ -48,7 +50,7 @@
</div>
</div>
<div class="users_courses_box line_box mb10" nhname="list_more_div">
<div class="users_courses_box line_box mb10" nhname="list_more_div" style="display:none;">
<div class="users_top">
<a href="<%=url_for(:controller => 'users', :action => 'user_courses')%>" class="f14 fb fl c_dark ml10 mt8"><%= @center_flag ? '我的课程' : 'TA的课程' %></a>
<% if @center_flag %>
@ -60,7 +62,7 @@
<% end %>
</div>
<div class="cl"></div>
<div nhname="container" data-url="<%=user_path(@user)%>/user_courses4show" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div nhname="container" data-url="<%= url_for(:controller => 'users', :action => 'user_courses4show') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="cl"></div>
<div class="message_list_more mt10">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr">收起</a>
@ -69,16 +71,16 @@
<div class="cl"></div>
</div>
<div class="users_courses_box line_box mb10" nhname="list_more_div">
<div class="users_courses_box line_box mb10" nhname="list_more_div" style="display:none;">
<h4 class="users_h4">课程动态</h4>
<div nhname="container" data-url="<%=user_path(@user)%>/user_course_activities" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div nhname="container" data-url="<%= url_for(:controller => 'users', :action => 'user_course_activities') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="message_list_more">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr">收起</a>
<div class="cl"></div>
</div>
</div>
<div class="users_courses_box line_box mb10" nhname="list_more_div">
<div class="users_courses_box line_box mb10" nhname="list_more_div" style="display:none;">
<div class=" users_top">
<a href="<%=url_for(:controller => 'users', :action => 'user_projects')%>" class="f14 fb fl c_dark ml10 mt8"><%= @center_flag ? '我的项目' : 'TA的项目' %></a>
<% if @center_flag %>
@ -90,7 +92,7 @@
<% end %>
</div>
<div class="cl"></div>
<div nhname="container" data-url="<%=user_path(@user)%>/user_projects4show" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div nhname="container" data-url="<%= url_for(:controller => 'users', :action => 'user_projects4show') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="cl"></div>
<div class="message_list_more mt10">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr">收起</a>
@ -99,9 +101,9 @@
<div class="cl"></div>
</div>
<div class="users_courses_box line_box mb10" nhname="list_more_div">
<div class="users_courses_box line_box mb10" nhname="list_more_div" style="display:none;">
<h4 class="users_h4">项目动态</h4>
<div nhname="container" data-url="<%=user_path(@user)%>/user_project_activities" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div nhname="container" data-url="<%= url_for(:controller => 'users', :action => 'user_project_activities') %>" data-isclose="0" data-currpage="0" data-hasmore="1"></div>
<div class="message_list_more">
<a nhname="expand" href="javascript:void(0)" class="c_blue02">点击展开更多</a> <a nhname="close" style="display:none" href="javascript:void(0)" class="c_lgrey fr">收起</a>
<div class="cl"></div>
@ -109,75 +111,6 @@
</div>
</div>
<script type="text/javascript">
$(function(){
function init_list_more_div(params){
var p=params;
p.exbtn.click(function(){
var isclose = p.container.data('isclose');
var hasmore = p.container.data('hasmore');
if(isclose == '1'){
$("div[nhname='rec']",p.container).show();
p.container.data('isclose','0');
p.clbtn.show();
if(hasmore == '0'){
p.exbtn.html('没有更多了');
}
return;
}
if(hasmore == '0'){
return;
}
var url = p.container.data('url');
if($("div[nhname='rec']",p.container).length > 0){
var lastid = $("div[nhname='rec']",p.container).filter(':last').data('id');
url += "?lastid="+lastid;
}
$.ajax( {url:url,dataType:'text',success:function(data){
var html = $("<div>"+data+"</div>");
var lens = $("div[nhname='rec']",html).length;
if(lens < p.size){
p.container.data('hasmore','0');
p.exbtn.html('没有更多了');
}
if(lens>0){
var currpage = parseInt(p.container.data('currpage'))+1;
if(currpage>1){
p.clbtn.show();
}
p.container.data('currpage',currpage);
p.container.append(html.html())
}
}} );
});
p.clbtn.click(function(){
var i=0;
$("div[nhname='rec']",p.container).each(function(){
i++;
if(i> p.size){
$(this).hide();
}
});
p.container.data('isclose','1');
p.clbtn.hide();
p.exbtn.html('点击展开更多');
});
p.exbtn.click();
}
$("div[nhname='list_more_div']").each(function(){
var params = {};
params.container = $("div[nhname='container']",$(this));
params.exbtn = $("a[nhname='expand']",$(this));
params.clbtn = $("a[nhname='close']",$(this));
params.size = params.container.data('pagesize');
if( params.size == undefined ){
params.size = 8;
}
init_list_more_div(params)
});
});
</script>
<script type="text/javascript">
$(function(){
@ -255,36 +188,35 @@
$("a[nhname='reply_btn']").live('click',function(){
var params = {};
params.kindutil = K;
if($(this).parent('span')==undefined || $(this).parent('span').length==0){
params.container = $(this).parent('div').parent('div');
}else{
params.container = $(this).parent('span').parent('div').parent('div');
}
params.div_form = $(">.respond-form",params.container);
params.container = $(this).parent('div');
params.div_form = $("div[nhname='div_form']",params.container);
params.form = $("form",params.div_form);
params.textarea = $("textarea[name='user_notes']",params.div_form);
params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
params.cancel_btn = $("a[nhname='cancel_btn']",params.div_form);
params.submit_btn = $("a[nhname='submit_btn']",params.div_form);
if(params.textarea.data('init') == undefined){
params.editor = init_editor(params);
init_form(params);
params.cancel_btn.click(function(){
nh_reset_form(params);
toggleAndSettingWordsVal(params.div_form, params.textarea);
});
params.submit_btn.click(function(){
params.form.submit();
});
params.textarea.data('init',1);
}
params.cancel_btn.click();
toggleAndSettingWordsVal(params.div_form, params.textarea);
setTimeout(function(){
if(!params.div_form.is(':hidden')){
params.textarea.show();
params.textarea.focus();
params.textarea.hide();
// $("#nhjump").attr('href','#'+params.div_form.attr('id'));
// $("#nhjump")[0].click();
}
},300);
params.textarea.data('init',1);
});
$("div[nhname='new_message']").each(function(){
@ -310,12 +242,95 @@
params.submit_btn.click(function(){
params.form.submit();
});
// $("a[nhname='cancel_btn']",params.div_form).click(function(){
// nh_reset_form(params);
// });
params.textarea.data('init',1);
$(this).show();
}
});
});
});
</script>
</script>
<script type="text/javascript">
function init_list_more_div(params){
var p=params;
p.exbtn.click(function(){
var isclose = p.container.data('isclose');
var hasmore = p.container.data('hasmore');
if(isclose == '1'){
$("div[nhname='rec']",p.container).show();
p.container.data('isclose','0');
change_status_4_list_more_div(params);
return;
}
if(hasmore == '0'){
return;
}
var url = p.container.data('url');
if($("div[nhname='rec']",p.container).length > 0){
var lastid = $("div[nhname='rec']",p.container).filter(':last').data('id');
url += "?lastid="+lastid;
}
$.ajax( {url:url,dataType:'text',success:function(data){
var html = $("<div>"+data+"</div>");
var lens = $("div[nhname='rec']",html).length;
if(lens < p.size){
p.container.data('hasmore','0');
}
if(lens>0){
var currpage = parseInt(p.container.data('currpage'))+1;
p.container.data('currpage',currpage);
p.container.append(html.html())
}
change_status_4_list_more_div(params,'get');
p.div.show();
}} );
});
p.clbtn.click(function(){
var i=0;
$("div[nhname='rec']",p.container).each(function(){
i++;
if(i> p.size){
$(this).hide();
}
});
p.container.data('isclose','1');
change_status_4_list_more_div(params);
});
p.exbtn.click();
}
function change_status_4_list_more_div(params,opt){
var p=params;
if($("div[nhname='rec']",p.container).length == 0 && opt != 'get'){
p.exbtn.click();
return;
}
var show_lens = $("div[nhname='rec']",p.container).length - $("div[nhname='rec']",p.container).filter(':hidden').length;
if( show_lens > p.size ){
p.clbtn.show();
}else{
p.clbtn.hide();
}
if( p.container.data('hasmore') == '1' || p.container.data('isclose')=='1' ){
p.exbtn.html('点击展开更多');
}else{
p.exbtn.html('没有更多了');
}
}
function init_list_more_div_params(div){
var params = {};
params.div = div;
params.container = $("div[nhname='container']",div);
params.exbtn = $("a[nhname='expand']",div);
params.clbtn = $("a[nhname='close']",div);
params.size = params.container.data('pagesize');
if( params.size == undefined ){
params.size = 8;
}
return params;
}
$(function(){
$("div[nhname='list_more_div']").each(function(){
var params = init_list_more_div_params($(this));
init_list_more_div(params)
});
});
</script>

View File

@ -1,4 +1,4 @@
<% for item in @list %>
<% for item in feed_list %>
<div class="message_list" id="nh_jours_<%= item.id %>" nhname="rec" data-id="<%= item.id %>">
<a href="<%= user_path(item.user) %>" class="users_pic fl">
<%= image_tag url_to_avatar(item.user),:width => '27',:height => '27' %>
@ -11,12 +11,26 @@
<span class="fl c_dark mt5">&nbsp;:&nbsp;</span>
<p class="massage_txt fl mt5"><%=item.notes.html_safe%></p>
<% if JournalsForMessage.create_by_user? User.current %>
<a href="javascript:void(0)" class="fl mt5 c_purple ml5">回复</a>
<a href="javascript:void(0)" nhname='reply_btn' class="fl mt5 c_purple ml5">回复</a>
<% end %>
<% if User.current.admin? || item.user.id == User.current.id %>
<a href="<%= url_for(:controller => 'words', :action=>"destroy", :object_id=>item.id,:user_id=>item.user.id) %>" data-confirm="您确定要删除吗?" data-remote="true" data-method="delete" class="fl mt5 c_purple ml5">删除</a>
<% end %>
<span class="massage_time fr"><%= time_tag(item.created_on).html_safe %>前</span>
<div class="cl"></div>
<div nhname='div_form' class="mt10 ml80" style="display:none;">
<form action="<%= url_for(:controller => 'words', :action => 'create_reply') %>" data-remote="true" method="post">
<input id="reference_id" name="reference_id" type="hidden" value="<%= (item.m_parent_id.nil? || item.m_parent_id==0 ) ? item.id : item.m_parent_id %>">
<input id="reference_user_id" name="reference_user_id" type="hidden" value="<%= item.user.id %>">
<input id="reference_message_id" name="reference_message_id" type="hidden" value="<%= item.id %>">
<input id="show_name" name="show_name" type="hidden" value="true">
<textarea name='user_notes' style="display:none;"></textarea>
<p nhname='contentmsg'></p>
<div nhname='toolbar_container' style="float:left;padding-top:3px;"></div>
<a nhname="cancel_btn" href="javascript:;" class="grey_n_btn fr" style="margin-top:3px;">取消</a>
<a nhname="submit_btn" href="javascript:;" class="blue_n_btn fr mr5" style="margin-top:3px;">发布</a>
</form>
<div class="cl"></div>
</div>
</div>
<% end %>

View File

@ -1,4 +1,12 @@
//$('#message').html('<#%= escape_javascript(render(:partial => 'words/message', :locals => {:jour => @jour, :state => false, :user => @user, :feedback_pages => @feedback_pages,:show_name => true})) %>');
//$('#message').html('<%#= escape_javascript(render(:partial => 'words/message', :locals => {:jour => @jour, :state => false, :user => @user, :feedback_pages => @feedback_pages,:show_name => true})) %>');
<% if !@jour.nil? && @jour.jour_type == 'Principal' %>
var html = $("<div>"+"<%= escape_javascript( render(:template => 'users/user_feedback4show',:locals => {:feed_list=>[@jour]} )) %>"+"</div>");
$("div[nhname='container']",$("#nh_messages")).prepend(html.html());
$('#new_message_cancel_btn').click();
var params = init_list_more_div_params($("#nh_messages"));
change_status_4_list_more_div(params);
<% else %>
$('#history').html('<%= escape_javascript(render(:partial => 'users/history',:locals => { :journals => @jour, :state => false})) %>')
$('#jour_count').html('<%= @obj_count%>')
$('#pre_show').html('<%= escape_javascript(render(:partial => 'pre_show', :locals => {:content => nil})) %>');
@ -6,4 +14,5 @@ $('#new_form_user_message').val("");
if($('#new_message_cancel_btn') != undefined && $('#new_message_cancel_btn').length!=0){
$('#new_message_cancel_btn').click();
}
$('#new_form_reference_user_id').val("");
$('#new_form_reference_user_id').val("");
<% end %>

View File

@ -1,5 +1,14 @@
<% if @save_succ %>
var pre_append = $('<%= j(
<% if !@jfm.nil? && @jfm.jour_type == 'Principal' %>
var html = $("<div>"+"<%= escape_javascript( render(:template => 'users/user_feedback4show',:locals => {:feed_list=>[@jfm]} )) %>"+"</div>");
$("div[nhname='container']",$("#nh_messages")).prepend(html.html());
// $('#new_message_cancel_btn').click();
$("a[nhname='reply_btn']",$("#nh_jours_<%= @jfm.m_reply_id %>")).click();
var params = init_list_more_div_params($("#nh_messages"));
change_status_4_list_more_div(params);
<% else %>
var pre_append = $('<%= j(
render :partial => "words/journal_reply_items",
:locals => {:reply => @jfm, :journal => @jfm.parent, :m_reply_id => @jfm,:show_name => @show_name}
) %>').hide();
@ -12,6 +21,8 @@
textarea1.val('');
$('#course_respond_form_<%=@jfm.m_reply_id.to_s%>').hide();
setMaxLengthItem(pre_append.find('textarea')[0]);
<% end %>
<% else %>
alert("<%= l(:label_feedback_fail) %>");
<% end %>

View File

@ -2,7 +2,9 @@
alert('<%=l(:notice_failed_delete)%>');
<% elsif (['Principal','Project','Course', 'Bid', 'Contest', 'Softapplication'].include? @journal_destroyed.jour_type)%>
<% if @user && @jours_count%>
$("#nh_jours_<%= @journal_destroyed.id %>").remove();
$("#nh_jours_<%= @journal_destroyed.id %>",$("div[nhname='container']",$("#nh_messages"))).remove();
var params = init_list_more_div_params($("#nh_messages"));
change_status_4_list_more_div(params);
<% else %>
<% if @bid && @jours_count %>

View File

@ -6,7 +6,7 @@
.usersphoto_edit{ position:absolute; left:198px; top:200px;}
.icon_male{ background:url(../images/pic_uersall.png) 0 0 no-repeat; width:15px; height:15px;}
.icon_female{ background:url(../images/pic_uersall.png) 0 -24px no-repeat; width:15px; height:15px;}
.pf_intro{ width:222px; margin-top:5px; color:#696969; }
.pf_intro{ width:222px; margin-top:5px; color:#696969;word-break: break-all; }
.leftbox{ width:230px; padding:10px; padding-right:0px; padding-bottom:5px;background:#fff; margin-bottom:10px; margin-right:10px;}
.pic_members{ background:url(../images/pic_users.jpg) 0 0 no-repeat; display:block; width:38px; height:38px; border:1px solid #e9edf0; margin-right:5px; margin-bottom:5px;float:left;}
.pic_members:hover{border:1px solid #c9c9c9;}