add: need edit user password
This commit is contained in:
parent
1153bd5ab6
commit
c4a43c4392
|
@ -329,7 +329,6 @@ class ApplicationController < ActionController::Base
|
||||||
User.current = user
|
User.current = user
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# if !User.current.logged? && Rails.env.development?
|
# if !User.current.logged? && Rails.env.development?
|
||||||
# User.current = User.find 1
|
# User.current = User.find 1
|
||||||
# end
|
# end
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
module RegisterHelper
|
module RegisterHelper
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
def autologin_register(username, email, password, platform= 'forge')
|
def autologin_register(username, email, password, platform= 'forge', need_edit_password = false)
|
||||||
result = {message: nil, user: nil}
|
result = {message: nil, user: nil}
|
||||||
|
|
||||||
user = User.new(admin: false, login: username, mail: email, type: "User")
|
user = User.new(admin: false, login: username, mail: email, type: "User")
|
||||||
user.password = password
|
user.password = password
|
||||||
user.platform = platform
|
user.platform = platform
|
||||||
|
if need_edit_password
|
||||||
|
user.need_edit_password
|
||||||
|
else
|
||||||
user.activate
|
user.activate
|
||||||
|
end
|
||||||
|
|
||||||
return unless user.valid?
|
return unless user.valid?
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Oauth::EducoderController < Oauth::BaseController
|
||||||
if current_user.blank? || !current_user.logged?
|
if current_user.blank? || !current_user.logged?
|
||||||
new_user = true
|
new_user = true
|
||||||
login = User.generate_login('E')
|
login = User.generate_login('E')
|
||||||
reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder')
|
reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder', true)
|
||||||
if reg_result[:message].blank?
|
if reg_result[:message].blank?
|
||||||
open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result)
|
open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result)
|
||||||
successful_authentication(open_user.user)
|
successful_authentication(open_user.user)
|
||||||
|
|
|
@ -79,6 +79,7 @@ class User < Owner
|
||||||
STATUS_ACTIVE = 1
|
STATUS_ACTIVE = 1
|
||||||
STATUS_REGISTERED = 2
|
STATUS_REGISTERED = 2
|
||||||
STATUS_LOCKED = 3
|
STATUS_LOCKED = 3
|
||||||
|
STATUS_EDIT_PASSWORD = 4
|
||||||
|
|
||||||
# tpi tpm权限控制
|
# tpi tpm权限控制
|
||||||
EDU_ADMIN = 1 # 超级管理员
|
EDU_ADMIN = 1 # 超级管理员
|
||||||
|
@ -161,7 +162,7 @@ class User < Owner
|
||||||
has_many :organizations, through: :organization_users
|
has_many :organizations, through: :organization_users
|
||||||
|
|
||||||
# Groups and active users
|
# Groups and active users
|
||||||
scope :active, lambda { where(status: STATUS_ACTIVE) }
|
scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_PASSWORD]) }
|
||||||
scope :like, lambda { |keywords|
|
scope :like, lambda { |keywords|
|
||||||
where("LOWER(concat(lastname, firstname, login, mail)) LIKE ?", "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
|
where("LOWER(concat(lastname, firstname, login, mail)) LIKE ?", "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
|
||||||
}
|
}
|
||||||
|
@ -378,6 +379,10 @@ class User < Owner
|
||||||
status == STATUS_LOCKED
|
status == STATUS_LOCKED
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def need_edit_password?
|
||||||
|
status == STATUS_EDIT_PASSWORD
|
||||||
|
end
|
||||||
|
|
||||||
def activate
|
def activate
|
||||||
self.status = STATUS_ACTIVE
|
self.status = STATUS_ACTIVE
|
||||||
end
|
end
|
||||||
|
@ -390,6 +395,10 @@ class User < Owner
|
||||||
self.status = STATUS_LOCKED
|
self.status = STATUS_LOCKED
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def need_edit_password
|
||||||
|
self.status = STATUS_EDIT_PASSWORD
|
||||||
|
end
|
||||||
|
|
||||||
def activate!
|
def activate!
|
||||||
update_attribute(:status, STATUS_ACTIVE)
|
update_attribute(:status, STATUS_ACTIVE)
|
||||||
end
|
end
|
||||||
|
@ -402,6 +411,10 @@ class User < Owner
|
||||||
update_attribute(:status, STATUS_LOCKED)
|
update_attribute(:status, STATUS_LOCKED)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def need_edit_password!
|
||||||
|
update_attribute(:status, STATUS_LOCKED)
|
||||||
|
end
|
||||||
|
|
||||||
# 课程用户身份
|
# 课程用户身份
|
||||||
def course_identity(course)
|
def course_identity(course)
|
||||||
if !logged?
|
if !logged?
|
||||||
|
|
|
@ -24,6 +24,8 @@ class Projects::ForkService < ApplicationService
|
||||||
new_repository.identifier = @project.identifier
|
new_repository.identifier = @project.identifier
|
||||||
new_repository.save!
|
new_repository.save!
|
||||||
|
|
||||||
|
ProjectUnit.init_types(clone_project.id)
|
||||||
|
|
||||||
result = Gitea::Repository::ForkService.new(@project.owner, @target_owner, @project.identifier, @organization).call
|
result = Gitea::Repository::ForkService.new(@project.owner, @target_owner, @project.identifier, @organization).call
|
||||||
|
|
||||||
@project.update_column('forked_count', @project&.forked_count.to_i + 1)
|
@project.update_column('forked_count', @project&.forked_count.to_i + 1)
|
||||||
|
|
|
@ -8,6 +8,7 @@ json.is_teacher @user.user_extension&.teacher?
|
||||||
json.user_identity @user.identity
|
json.user_identity @user.identity
|
||||||
json.tidding_count 0
|
json.tidding_count 0
|
||||||
json.user_phone_binded @user.phone.present?
|
json.user_phone_binded @user.phone.present?
|
||||||
|
json.need_edit_password @user.need_edit_password?
|
||||||
# json.phone @user.phone
|
# json.phone @user.phone
|
||||||
# json.email @user.mail
|
# json.email @user.mail
|
||||||
json.profile_completed @user.profile_completed?
|
json.profile_completed @user.profile_completed?
|
||||||
|
|
Loading…
Reference in New Issue