diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index b9e46daee..fbafd16e9 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -243,14 +243,7 @@ class ProjectsController < ApplicationController # Author lizanle # Description 项目动态展示方法,删除了不必要的代码 def show - # params[:login]为邮箱邀请用户加入,主要功能: - # 1、自动注册 - # 2、加入项目、创建角色 - # 3、用户得分 - if params[:mail] - Member.create(:role_ids => [4], :user_id => params[:user],:project_id => params[:id]) - UserGrade.create(:user_id =>params[:user], :project_id => params[:id]) - end + if params[:jump] && redirect_to_project_menu_item(@project, params[:jump]) return end @@ -399,6 +392,26 @@ class ProjectsController < ApplicationController # by young # include CoursesHelper def member + # params[:login]为邮箱邀请用户加入,主要功能: + # 1、自动注册 + # 2、加入项目、创建角色 + # 3、用户得分 + if params[:mail] + user = User.find(params[:user_id]) + user.activate! + Member.create(:role_ids => [4], :user_id => params[:user_id],:project_id => params[:id]) + UserGrade.create(:user_id => params[:user_id], :project_id => params[:id]) + token = Token.get_token_from_user(user, 'autologin') + #user = User.try_to_autologin(token.value) + if user + start_user_session(user) + user.save + redirect_to project_member_path(params[:id]) + return + # account_ project_member_path(params[:id]) + flash[:notice] = l(:label_mail_invite_success) + end + end ## 有角色参数的才是课程,没有的就是项目 @render_file = 'project_member_list' # 判断是否课程 diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 432eec27b..20b855fd8 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -16,6 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class WelcomeController < ApplicationController + # layout "base_welcome" include ApplicationHelper include WelcomeHelper helper :project_score diff --git a/app/models/invite_list.rb b/app/models/invite_list.rb new file mode 100644 index 000000000..f1ba8546f --- /dev/null +++ b/app/models/invite_list.rb @@ -0,0 +1,5 @@ +class InviteList < ActiveRecord::Base + attr_accessible :project_id, :user_id + # belongs_to :user + # belongs_to :project +end diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 2c3a94874..dbc5d3cff 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -60,8 +60,8 @@ class Mailer < ActionMailer::Base user = us.register_auto(login, @email, @password) User.current = user unless User.current.nil? @user = user - @token = Token.get_token_from_user(user, 'autologin') - @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id, :user => user.id, :mail => true, :token => @token.value) + + @project_url = url_for(:controller => 'projects', :action => 'member', :id => project.id, :user_id => user.id, :mail => true) mail :to => email, :subject => @subject end @@ -72,8 +72,9 @@ class Mailer < ActionMailer::Base @invitor_name = "#{invitor.name}" @project_name = "#{project.name}" @user = user + @project = project @token = Token.get_token_from_user(user, 'autologin') - @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id, :user => user.id, :mail => true, :token => @token.value) + @project_url = url_for(:controller => 'projects', :action => 'member', :id => project.id, :user_id => user.id, :mail => true, :token => @token.value) mail :to => email, :subject => @subject end diff --git a/app/models/project.rb b/app/models/project.rb index 47878dbec..bf94df248 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -67,7 +67,7 @@ class Project < ActiveRecord::Base has_many :student, :through => :students_for_courses, :source => :user has_one :course_extra, :class_name => 'Course', :foreign_key => :extra,:primary_key => :identifier, :dependent => :destroy has_many :applied_projects - + # has_many :invite_lists # end #ADDED BY NIE diff --git a/app/models/user.rb b/app/models/user.rb index 7b232bf13..4c30012d7 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -125,6 +125,10 @@ class User < Principal has_many :documents # 项目中关联的文档再次与人关联 # end + # 邮件邀请状态 + # has_many :invite_lists + # end + ######added by nie has_many :project_infos, :dependent => :destroy has_one :user_status, :dependent => :destroy diff --git a/app/services/users_service.rb b/app/services/users_service.rb index bd85e3340..40275a29b 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -62,7 +62,7 @@ class UsersService else @user.password = "" end - @user = automatically_register(@user) + @user = automatically_register_lock(@user) if @user.id != nil ue = @user.user_extensions ||= UserExtensions.new ue.user_id = @user.id diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb index 439c5f7b2..483cabac5 100644 --- a/app/views/layouts/base.html.erb +++ b/app/views/layouts/base.html.erb @@ -12,7 +12,7 @@ <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> <%= javascript_heads %> <%= javascript_include_tag "jquery.leanModal.min" %> -<%= javascript_include_tag 'seems_rateable/jRating', 'seems_rateable/rateable'%> +<%= javascript_include_tag 'seems_rateable/jRating', 'seems_rateable/rateable'%> <%= heads_for_theme %> <%= call_hook :view_layouts_base_html_head %> @@ -31,7 +31,7 @@
<%=render :partial => 'layouts/base_footer'%> - + diff --git a/app/views/layouts/base_welcome.html.erb b/app/views/layouts/base_welcome.html.erb index d04f492ef..6d3b900c6 100644 --- a/app/views/layouts/base_welcome.html.erb +++ b/app/views/layouts/base_welcome.html.erb @@ -5,10 +5,9 @@