diff --git a/app/forms/base_form.rb b/app/forms/base_form.rb index 437217f00..be1c1e1a1 100644 --- a/app/forms/base_form.rb +++ b/app/forms/base_form.rb @@ -26,6 +26,26 @@ class BaseForm raise "项目标识已被占用." if ReversedKeyword.check_exists?(repository_name) end + def check_password(password) + password = strip(password) + raise PasswordFormatError, "密码8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD + end + + def check_password_confirmation(password, password_confirmation) + password = strip(password) + password_confirmation = strip(password_confirmation) + + raise PasswordFormatError, "确认密码为8~16位密码,支持字母数字和符号" unless password_confirmation =~ CustomRegexp::PASSWORD + raise PasswordConfirmationError, "两次输入的密码不一致" unless password == password_confirmation + end + + def check_verifi_code(verifi_code, code) + code = strip(code) + # return if code == "123123" # TODO 万能验证码,用于测试 + raise VerifiCodeError, "验证码已失效" if !verifi_code&.effective? + raise VerifiCodeError, "验证码不正确" if verifi_code&.code != code + end + private def strip(str) str.to_s.strip.presence diff --git a/app/models/issue.rb b/app/models/issue.rb index 9c195d121..cecc4678c 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -153,6 +153,10 @@ class Issue < ApplicationRecord end end + def is_collaborators? + self.assigned_to_id.present? ? self.project.member?(self.assigned_to_id) : false + end + def get_issue_tags_name if issue_tags.present? issue_tags.select(:name).uniq.pluck(:name).join(",") diff --git a/app/views/issues/edit.json.jbuilder b/app/views/issues/edit.json.jbuilder index eae63c3c7..5b8ff23ba 100644 --- a/app/views/issues/edit.json.jbuilder +++ b/app/views/issues/edit.json.jbuilder @@ -5,6 +5,7 @@ json.done_ratio @issue.done_ratio.to_s + "%" json.issue_tags @issue.get_issue_tags json.cannot_edit_tags @cannot_edit_tags json.issue_current_user @issue.author_id == current_user.try(:id) +json.assigned_to_id @issue.is_collaborators? ? @issue.assigned_to_id : nil # json.issue_chosen @issue_chosen # json.branches @all_branches json.attachments do diff --git a/config/locales/forms/projects_create_form.zh-CN.yml b/config/locales/forms/projects_create_form.zh-CN.yml index e36a0520a..54de8e71a 100644 --- a/config/locales/forms/projects_create_form.zh-CN.yml +++ b/config/locales/forms/projects_create_form.zh-CN.yml @@ -1,7 +1,7 @@ -'zh-CN': - activemodel: - attributes: - projects/create_form: - name: 项目名称 - repository_name: 仓库名称 +'zh-CN': + activemodel: + attributes: + projects/create_form: + name: 项目名称 + repository_name: 项目标识 description: 项目简介 \ No newline at end of file