diff --git a/app/api/mobile/apis/auth.rb b/app/api/mobile/apis/auth.rb
index 320497e50..fbec9a3b0 100644
--- a/app/api/mobile/apis/auth.rb
+++ b/app/api/mobile/apis/auth.rb
@@ -40,6 +40,17 @@ module Mobile
{status: 0}
end
+ desc "忘记密码"
+ params do
+ requires :mail,type: String
+ end
+ post 'lost_password' do
+ us = UsersService.new
+ message = us.lost_password params
+ present :message, message
+ present :status, 0
+ end
+
end
end
end
diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb
index 09cc5d59d..c9ea1ca80 100644
--- a/app/services/courses_service.rb
+++ b/app/services/courses_service.rb
@@ -1,4 +1,3 @@
-#coding=utf-8
class CoursesService
include ApplicationHelper
include CoursesHelper
@@ -355,19 +354,19 @@ class CoursesService
latest_course_dynamics = []
latest_news = course.news.order("created_on desc").first
unless latest_news.nil?
- latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => '最近更新了通知' }#l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
end
latest_message = course.journals_for_messages.order("created_on desc").first
unless latest_message.nil?
- latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => '最近更新了留言'}#l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
end
latest_attachment = course.attachments.order("created_on desc").first
unless latest_attachment.nil?
- latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => '最近更新了课件'}#l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
end
latest_bid = course.homeworks.order('updated_on DESC').first
unless latest_bid.nil?
- latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => '最近更新了作业'}#l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
+ latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
end
#每个作业中的最新留言
messages = []
diff --git a/app/services/users_service.rb b/app/services/users_service.rb
index 8cadf031c..f75a84c5b 100644
--- a/app/services/users_service.rb
+++ b/app/services/users_service.rb
@@ -80,6 +80,28 @@ class UsersService
{:id => @user.id, :img_url => img_url, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction}
end
+ #忘记密码
+ def lost_password params
+ user = ::User.find_by_mail(params[:mail].to_s)
+ # user not found or not active
+ unless user && user.active?
+ raise l(:notice_account_unknown_email,:locale => 'zh')
+ end
+ # user cannot change its password
+ unless user.change_password_allowed?
+ raise l(:notice_can_t_change_password,:locale => user.language)
+ return
+ end
+ # create a new token for password recovery
+ token = Token.new(:user => user, :action => "recovery")
+ if token.save
+ Thread.new do
+ Mailer.lost_password(token).deliver
+ end
+ return l(:notice_account_lost_email_sent,:locale => user.language)
+ end
+ end
+
#编辑用户
#gender 1:female 0:male 其他:male
def edit_user params
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 4f5e10990..69c37d2b3 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -123,7 +123,7 @@
<%= link_to "#{@project.members.count}", project_member_path(@project), :style => "color:#3CA5C6;font-weight:bold" %>)
|
<%= l(:label_user_watcher) %>()
+ <%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :style => "color:#3CA5C6;font-weight:bold" %>)
|
<%= l(:project_module_attachments) %>(