Branch_szzh
suntao 10 years ago
commit 3776689661

@ -27,7 +27,7 @@ class AccountController < ApplicationController
if request.get? if request.get?
@login = params[:login] || true @login = params[:login] || true
if User.current.logged? if User.current.logged?
redirect_to home_url redirect_to user_path(User.current)
else else
render :layout => 'login' render :layout => 'login'
end end
@ -58,7 +58,7 @@ class AccountController < ApplicationController
# Lets user choose a new password # Lets user choose a new password
def lost_password def lost_password
(redirect_to(home_url); return) unless Setting.lost_password? (redirect_to(signin_path); return) unless Setting.lost_password?
if params[:token] if params[:token]
@token = Token.find_token("recovery", params[:token].to_s) @token = Token.find_token("recovery", params[:token].to_s)
if @token.nil? || @token.expired? if @token.nil? || @token.expired?
@ -110,7 +110,7 @@ class AccountController < ApplicationController
# User self-registration # User self-registration
def register def register
(redirect_to(home_url); return) unless Setting.self_registration? || session[:auth_source_registration] (redirect_to(signin_path); return) unless Setting.self_registration? || session[:auth_source_registration]
if request.get? if request.get?
session[:auth_source_registration] = nil session[:auth_source_registration] = nil
@user = User.new(:language => current_language.to_s) @user = User.new(:language => current_language.to_s)
@ -187,11 +187,11 @@ class AccountController < ApplicationController
# Token based account activation # Token based account activation
def activate def activate
(redirect_to(home_url); return) unless Setting.self_registration? && params[:token].present? (redirect_to(signin_path); return) unless Setting.self_registration? && params[:token].present?
token = Token.find_token('register', params[:token].to_s) token = Token.find_token('register', params[:token].to_s)
(redirect_to(home_url); return) unless token and !token.expired? (redirect_to(signin_path); return) unless token and !token.expired?
user = token.user user = token.user
(redirect_to(home_url); return) unless user.registered? (redirect_to(signin_path); return) unless user.registered?
user.activate user.activate
if user.save if user.save
token.destroy token.destroy
@ -278,7 +278,7 @@ class AccountController < ApplicationController
user = User.find_or_initialize_by_identity_url(identity_url) user = User.find_or_initialize_by_identity_url(identity_url)
if user.new_record? if user.new_record?
# Self-registration off # Self-registration off
(redirect_to(home_url); return) unless Setting.self_registration? (redirect_to(signin_path); return) unless Setting.self_registration?
# Create on the fly # Create on the fly
user.login = registration['nickname'] unless registration['nickname'].nil? user.login = registration['nickname'] unless registration['nickname'].nil?

@ -557,7 +557,7 @@ class ApplicationController < ActionController::Base
end end
def redirect_back_or_default(default, options={}) def redirect_back_or_default(default, options={})
back_url = params[:back_url].to_s back_url = '' #params[:back_url].to_s
if back_url.present? if back_url.present?
begin begin
uri = URI.parse(back_url) uri = URI.parse(back_url)

@ -174,7 +174,7 @@ class MyController < ApplicationController
logout_user logout_user
flash.now[:notice] = l(:notice_account_deleted) flash.now[:notice] = l(:notice_account_deleted)
end end
redirect_to home_url redirect_to signin_path
end end
end end

@ -207,7 +207,7 @@ class SoftapplicationsController < ApplicationController
@softapplication.destroy @softapplication.destroy
respond_to do |format| respond_to do |format|
format.html { redirect_to home_url } format.html { redirect_to signin_path }
format.json { head :no_content } format.json { head :no_content }
end end
end end

@ -627,14 +627,15 @@ class UsersController < ApplicationController
end end
def show def show
@page = params[:page] ? params[:page].to_i + 1 : 0 @page = params[:page] ? params[:page].to_i + 1 : 0
@type = params[:type]
user_project_ids = @user.projects.visible.empty? ? "(-1)" : "(" + @user.projects.visible.map{|project| project.id}.join(",") + ")" user_project_ids = @user.projects.visible.empty? ? "(-1)" : "(" + @user.projects.visible.map{|project| project.id}.join(",") + ")"
user_course_ids = @user.courses.visible.empty? ? "(-1)" : "(" + @user.courses.visible.map{|course| course.id}.join(",") + ")" user_course_ids = @user.courses.visible.empty? ? "(-1)" : "(" + @user.courses.visible.map{|course| course.id}.join(",") + ")"
course_types = "('Message','News','HomeworkCommon','poll')" course_types = "('Message','News','HomeworkCommon','poll')"
project_types = "('Message','Issue')" project_types = "('Message','Issue')"
if @type if params[:type].present?
case @type case params[:type]
when "course_homework" when "course_homework"
@user_activities = UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'HomeworkCommon'").order('created_at desc').limit(10).offset(@page * 10) @user_activities = UserActivity.where("container_type = 'Course' and container_id in #{user_course_ids} and act_type = 'HomeworkCommon'").order('created_at desc').limit(10).offset(@page * 10)
when "course_news" when "course_news"
@ -654,6 +655,7 @@ class UsersController < ApplicationController
@user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids}) and act_type in #{course_types}").order('created_at desc').limit(10).offset(@page * 10) @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids}) and act_type in #{course_types}").order('created_at desc').limit(10).offset(@page * 10)
end end
# @user_activities = paginateHelper @user_activities,500 # @user_activities = paginateHelper @user_activities,500
@type = params[:type]
respond_to do |format| respond_to do |format|
format.js format.js
format.html {render :layout => 'new_base_user'} format.html {render :layout => 'new_base_user'}

@ -27,7 +27,8 @@ class WelcomeController < ApplicationController
def index def index
# 企业版定制: params[:project]为传过来的参数 # 企业版定制: params[:project]为传过来的参数
redirect_to signin_path
return
unless params[:organization].nil? unless params[:organization].nil?
@organization = Organization.find params[:organization] @organization = Organization.find params[:organization]
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all # @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
@ -171,7 +172,7 @@ class WelcomeController < ApplicationController
redirect_to users_search_url(:name => search_condition, :search_by => search_by, :role => :student) redirect_to users_search_url(:name => search_condition, :search_by => search_by, :role => :student)
else else
#redirect_to home_path, :alert => l(:label_sumbit_empty) #redirect_to home_path, :alert => l(:label_sumbit_empty)
(redirect_to home_url, :notice => l(:label_sumbit_empty);return) #if params[:name].blank? (redirect_to signin_path, :notice => l(:label_sumbit_empty);return) #if params[:name].blank?
end end
} }
end end

@ -10,7 +10,7 @@ class CourseActivity < ActiveRecord::Base
#在个人动态里面增加当前动态 #在个人动态里面增加当前动态
def add_user_activity def add_user_activity
user_activity = UserActivity.where("act_type = '#{self.class.to_s}' and act_id = '#{self.id}'").first user_activity = UserActivity.where("act_type = '#{self.course_act_type.to_s}' and act_id = '#{self.course_act_id}'").first
if user_activity if user_activity
user_activity.save user_activity.save
else else
@ -24,7 +24,7 @@ class CourseActivity < ActiveRecord::Base
end end
def destroy_user_activity def destroy_user_activity
user_activity = UserActivity.where("act_type = '#{self.class.to_s}' and act_id = '#{self.id}'") user_activity = UserActivity.where("act_type = '#{self.course_act_type.to_s}' and act_id = '#{self.course_act_id}'")
user_activity.destroy_all user_activity.destroy_all
end end
end end

@ -25,7 +25,7 @@ class ForgeActivity < ActiveRecord::Base
#在个人动态里面增加当前动态 #在个人动态里面增加当前动态
def add_user_activity def add_user_activity
user_activity = UserActivity.where("act_type = '#{self.class.to_s}' and act_id = '#{self.id}'").first user_activity = UserActivity.where("act_type = '#{self.forge_act_type.to_s}' and act_id = '#{self.forge_act_id}'").first
if user_activity if user_activity
user_activity.save user_activity.save
else else
@ -39,7 +39,7 @@ class ForgeActivity < ActiveRecord::Base
end end
def destroy_user_activity def destroy_user_activity
user_activity = UserActivity.where("act_type = '#{self.class.to_s}' and act_id = '#{self.id}'") user_activity = UserActivity.where("act_type = '#{self.forge_act_type.to_s}' and act_id = '#{self.forge_act_id}'")
user_activity.destroy_all user_activity.destroy_all
end end
end end

@ -1,7 +1,11 @@
<% if User.current.logged?%> <% if User.current.logged?%>
<%if(target.watched_by?(User.current))%> <% if User.current == target%>
<%= link_to "",watch_path(:object_type=> 'user',:object_id=>target.id,:target_id=>target.id),:class => "homepageFollow", :method => "delete",:remote => "true", :title => "取消关注"%> <%= link_to("编辑资料", my_account_path, :class => "fl UsersEditBtn")%>
<% else %> <% else%>
<%= link_to "",watch_path(:object_type=> 'user',:object_id=>target.id,:target_id=>target.id),:class => "homepageFollowCancel", :method => "post",:remote => "true", :title => "添加关注"%> <%if(target.watched_by?(User.current))%>
<% end %> <%= link_to "取消关注",watch_path(:object_type=> 'user',:object_id=>target.id,:target_id=>target.id),:class => "UsersApBtn", :method => "delete",:remote => "true", :title => "取消关注"%>
<% else %>
<%= link_to "添加关注",watch_path(:object_type=> 'user',:object_id=>target.id,:target_id=>target.id),:class => "UsersAttBtn", :method => "post",:remote => "true", :title => "添加关注"%>
<% end %>
<% end%>
<% end %> <% end %>

@ -15,7 +15,6 @@
<%= call_hook :view_layouts_base_html_head %> <%= call_hook :view_layouts_base_html_head %>
<%= yield :header_tags -%> <%= yield :header_tags -%>
</head> </head>
<
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
$(function() { $(function() {
$(document).keyup(function (e) { $(document).keyup(function (e) {

@ -39,10 +39,6 @@
<a href="<%= url_for(:controller => 'my', :action => 'clear_user_avatar_temp') %>" data-remote="true" class="homepageEditProfileIcon"></a> <a href="<%= url_for(:controller => 'my', :action => 'clear_user_avatar_temp') %>" data-remote="true" class="homepageEditProfileIcon"></a>
</div> </div>
</div> </div>
<% else %>
<div id="watch_user_btn" class="none">
<%= render :partial => 'layouts/user_watch_btn', :locals => {:target => @user} %>
</div>
<% end %> <% end %>
<% end%> <% end%>
</div> </div>
@ -54,10 +50,12 @@
<span class="<%= @user.user_extensions.gender == 1 ? 'homepageImageSexWomen' : 'homepageImageSexMan' %> "></span> <span class="<%= @user.user_extensions.gender == 1 ? 'homepageImageSexWomen' : 'homepageImageSexMan' %> "></span>
<% end %> <% end %>
<div class="cl"></div> <div class="cl"></div>
<p class="mb20 c_dark f14">教授</p> <p class="mb20 c_dark f14">
<%= link_to("编辑资料", my_account_path, :class => "fl UsersEditBtn") if is_current_user%> <%= get_technical_title @user %>
<a href="javascript:void(0);" class="UsersAttBtn" style="display:none;">添加关注</a> </p>
<a href="javascript:void(0);" class="UsersApBtn" style="display:none;">取消关注</a> <div id="watch_user_btn_div">
<%= render :partial => 'layouts/user_watch_btn', :locals => {:target => @user} %>
</div>
</div> </div>
<div class="cl"></div> <div class="cl"></div>
<div> <div>

@ -1,3 +1,3 @@
$("#nh_user_tx").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_tx',:style=>"width:214px;height:214px;overflow:hidden",:alt=>"头像") %>'); $("#nh_user_tx").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_tx',:style=>"width:90px;height:90px;overflow:hidden",:alt=>"头像") %>');
$("#nh_user_logo").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_logo',:width =>"40",:height => "40",:alt=>"头像") %>'); $("#nh_user_logo").replaceWith('<%= image_tag(url_to_avatar(@user), :id=>'nh_user_logo',:width =>"40",:height => "40",:alt=>"头像") %>');
hideModal(); hideModal();

@ -14,7 +14,7 @@
$(window).scroll(scrollHandler); $(window).scroll(scrollHandler);
</script> </script>
<input type="hidden" value="<%= @type%>" id="user_activities_type"> <input type="hidden" value="<%= @type%>" name="type" id="user_activities_type">
<div class="resources"> <div class="resources">
<div class="homepageRightBanner"> <div class="homepageRightBanner">
<div class="NewsBannerName">最新动态</div> <div class="NewsBannerName">最新动态</div>
@ -55,4 +55,4 @@
</div> </div>
</div> </div>
<%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => @page} %> <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => 0} %>

@ -1,7 +1,7 @@
<% if( params[:object_type] == 'user') %> <% if( params[:object_type] == 'user') %>
//点击头像下面的添加关注按钮 //点击头像下面的添加关注按钮
<% if( params[:target_id] == params[:object_id] ) %> <% if( params[:target_id] == params[:object_id] ) %>
$("#watch_user_btn").html("<%= escape_javascript render(:partial => "layouts/user_watch_btn", :locals => {:target => watched.first}) %>"); $("#watch_user_btn_div").html("<%= escape_javascript render(:partial => "layouts/user_watch_btn", :locals => {:target => watched.first}) %>");
$("#user_fans_number").html("<%= watched.first.watcher_users.count.to_s%>"); $("#user_fans_number").html("<%= watched.first.watcher_users.count.to_s%>");
//在当前用户的粉丝、关注页面 //在当前用户的粉丝、关注页面
<% elsif( params[:target_id] == User.current.id.to_s )%> <% elsif( params[:target_id] == User.current.id.to_s )%>

@ -3,6 +3,6 @@ class AddCreatedAtToActivities < ActiveRecord::Migration
add_column :activities, :created_at, :timestamp add_column :activities, :created_at, :timestamp
end end
def end def end
remove_column :activities, :created_at remove_column :activities, :created_at
end end
end end

@ -1,19 +1,19 @@
class UpdateActivitiesData < ActiveRecord::Migration class UpdateActivitiesData < ActiveRecord::Migration
def up def up
count = Activity.all.count / 20 + 1 # count = Activity.all.count / 20 + 1
transaction do # transaction do
for i in 1 ... count do i # for i in 1 ... count do i
Activity.page(i).per(20).each do |activity| # Activity.page(i).per(20).each do |activity|
type = activity.act_type # type = activity.act_type
if type=='Contest' || type=='Message' || type=='News'|| type=='Journal'|| type=='Issue'|| type=='Principal'||type=='JournalsForMessage' # if type=='Contest' || type=='Message' || type=='News'|| type=='Journal'|| type=='Issue'|| type=='Principal'||type=='JournalsForMessage'
activity.created_at = activity.act.created_on if activity.act # activity.created_at = activity.act.created_on if activity.act
elsif type=='Contestnotification' || type=='HomeworkCommon' || type=='Poll' # elsif type=='Contestnotification' || type=='HomeworkCommon' || type=='Poll'
activity.created_at = activity.act.created_at if activity.act # activity.created_at = activity.act.created_at if activity.act
end # end
activity.save # activity.save
end # end
end # end
end # end
end end
def down def down

@ -1,5 +1,14 @@
class AddCourseActivities < ActiveRecord::Migration class AddCourseActivities < ActiveRecord::Migration
def up def up
create_table :user_activities do |t|
t.string :act_type
t.integer :act_id
t.string :container_type
t.integer :container_id
t.timestamps
end
create_table :course_activities do |t| create_table :course_activities do |t|
t.integer :user_id t.integer :user_id
t.integer :course_id t.integer :course_id
@ -11,5 +20,6 @@ class AddCourseActivities < ActiveRecord::Migration
def down def down
drop_table :course_activities drop_table :course_activities
drop_table :user_activities
end end
end end

@ -35,6 +35,6 @@ class CourseActivities < ActiveRecord::Migration
end end
def down def down
CourseActivity.destroy_all # CourseActivity.destroy_all
end end
end end

@ -1,9 +1,9 @@
class UpdateCourseActivityTime < ActiveRecord::Migration class UpdateCourseActivityTime < ActiveRecord::Migration
def up def up
count = CourseActivity.all.count / 10 + 1 count = CourseActivity.all.count / 30 + 1
transaction do transaction do
for i in 1 ... count do i for i in 1 ... count do i
CourseActivity.page(i).per(10).each do |activity| CourseActivity.page(i).per(30).each do |activity|
if activity.course_act if activity.course_act
if activity.course_act.respond_to?("created_at") if activity.course_act.respond_to?("created_at")
activity.created_at = activity.course_act.created_at activity.created_at = activity.course_act.created_at
@ -11,6 +11,10 @@ class UpdateCourseActivityTime < ActiveRecord::Migration
activity.created_at = activity.course_act.created_on activity.created_at = activity.course_act.created_on
end end
activity.save activity.save
user_activity = UserActivity.where("act_type = '#{activity.course_act_type.to_s}' and act_id = '#{activity.course_act_id}'").first
user_activity.created_at = activity.created_at
user_activity.save
end end
end end
end end

@ -1,16 +1,9 @@
class CreateUserActivity < ActiveRecord::Migration class CreateUserActivity < ActiveRecord::Migration
def up def up
create_table :user_activities do |t|
t.string :act_type
t.integer :act_id
t.string :container_type
t.integer :container_id
t.timestamps
end
end end
def down def down
drop_table :user_activities
end end
end end

@ -15,23 +15,23 @@ class AboutUserActivities < ActiveRecord::Migration
end end
end end
course_count = CourseActivity.all.count / 30 + 2 # course_count = CourseActivity.all.count / 30 + 2
transaction do # transaction do
for i in 1 ... course_count do i # for i in 1 ... course_count do i
CourseActivity.page(i).per(30).each do |activity| # CourseActivity.page(i).per(30).each do |activity|
user_activity = UserActivity.new # user_activity = UserActivity.new
user_activity.act_id = activity.course_act_id # user_activity.act_id = activity.course_act_id
user_activity.act_type = activity.course_act_type # user_activity.act_type = activity.course_act_type
user_activity.container_type = "Course" # user_activity.container_type = "Course"
user_activity.container_id = activity.course_id # user_activity.container_id = activity.course_id
user_activity.created_at = activity.created_at # user_activity.created_at = activity.created_at
user_activity.save # user_activity.save
end # end
end # end
end # end
end end
def down def down
UserActivity.destroy_all # UserActivity.destroy_all
end end
end end

@ -913,7 +913,6 @@ ActiveRecord::Schema.define(:version => 20150826061843) do
t.datetime "created_on" t.datetime "created_on"
t.integer "comments_count", :default => 0, :null => false t.integer "comments_count", :default => 0, :null => false
t.integer "course_id" t.integer "course_id"
t.datetime "updated_on"
end end
add_index "news", ["author_id"], :name => "index_news_on_author_id" add_index "news", ["author_id"], :name => "index_news_on_author_id"

@ -511,7 +511,7 @@ a.UsersAttBtn{ display:block; width:55px; height:20px; border:1px solid #d3d3d3;
a:hover.UsersAttBtn{border:1px solid #888888; } a:hover.UsersAttBtn{border:1px solid #888888; }
a.UsersApBtn{ display:block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;} a.UsersApBtn{ display:block; width:55px; height:20px; border:1px solid #d3d3d3; color:#888888; background:#f2f3f3 url(../images/homepage_icon.png) -177px -6px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
a:hover.UsersApBtn{border:1px solid #888888; } a:hover.UsersApBtn{border:1px solid #888888; }
.homepageSignatureTextarea {width:207px; height:80px; max-width:207px; max-height:80px; border:1px solid #d9d9d9; outline:none; margin:0px 0px 12px 15px;;} .homepageSignatureTextarea {width:207px; height:80px; max-width:207px; max-height:80px; border:1px solid #d9d9d9; outline:none; margin:0px 0px 12px 0px;}
.homepageSignature {font-size:12px; color:#888888; margin:10px 0; width:208px;} .homepageSignature {font-size:12px; color:#888888; margin:10px 0; width:208px;}
.homepageImageBlock {margin:0 auto; width:68px; float:left; text-align:center; display:inline-block;} .homepageImageBlock {margin:0 auto; width:68px; float:left; text-align:center; display:inline-block;}
a.homepageImageNumber {font-size:12px; color:#484848; font-weight: bold;} a.homepageImageNumber {font-size:12px; color:#484848; font-weight: bold;}

Loading…
Cancel
Save