Commit 5b3dcdab authored by Zhu Shung's avatar Zhu Shung Committed by Lin Jen-Shin

Add foundation for JH phone verification codes except db

parent c5cdc943
...@@ -103,8 +103,8 @@ class ProfilesController < Profiles::ApplicationController ...@@ -103,8 +103,8 @@ class ProfilesController < Profiles::ApplicationController
@username_param ||= user_params.require(:username) @username_param ||= user_params.require(:username)
end end
def user_params def user_params_attributes
@user_params ||= params.require(:user).permit( [
:avatar, :avatar,
:bio, :bio,
:email, :email,
...@@ -130,6 +130,12 @@ class ProfilesController < Profiles::ApplicationController ...@@ -130,6 +130,12 @@ class ProfilesController < Profiles::ApplicationController
:pronouns, :pronouns,
:pronunciation, :pronunciation,
status: [:emoji, :message, :availability] status: [:emoji, :message, :availability]
) ]
end
def user_params
@user_params ||= params.require(:user).permit(user_params_attributes)
end end
end end
ProfilesController.prepend_mod
...@@ -147,8 +147,12 @@ class RegistrationsController < Devise::RegistrationsController ...@@ -147,8 +147,12 @@ class RegistrationsController < Devise::RegistrationsController
resource.persisted? && resource.blocked_pending_approval? resource.persisted? && resource.blocked_pending_approval?
end end
def sign_up_params_attributes
[:username, :email, :name, :first_name, :last_name, :password]
end
def sign_up_params def sign_up_params
params.require(:user).permit(:username, :email, :name, :first_name, :last_name, :password) params.require(:user).permit(sign_up_params_attributes)
end end
def resource_name def resource_name
......
...@@ -77,3 +77,5 @@ module Users ...@@ -77,3 +77,5 @@ module Users
end end
end end
end end
Users::TermsController.prepend_mod
...@@ -5,3 +5,5 @@ module RecaptchaHelper ...@@ -5,3 +5,5 @@ module RecaptchaHelper
!!Gitlab::Recaptcha.enabled? !!Gitlab::Recaptcha.enabled?
end end
end end
RecaptchaHelper.prepend_mod
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
pattern: ".{#{@minimum_password_length},}", pattern: ".{#{@minimum_password_length},}",
title: s_('SignUp|Minimum length is %{minimum_password_length} characters.') % { minimum_password_length: @minimum_password_length } title: s_('SignUp|Minimum length is %{minimum_password_length} characters.') % { minimum_password_length: @minimum_password_length }
%p.gl-field-hint.text-secondary= s_('SignUp|Minimum length is %{minimum_password_length} characters.') % { minimum_password_length: @minimum_password_length } %p.gl-field-hint.text-secondary= s_('SignUp|Minimum length is %{minimum_password_length} characters.') % { minimum_password_length: @minimum_password_length }
= render_if_exists 'devise/shared/phone_verification', form: f
%div %div
- if show_recaptcha_sign_up? - if show_recaptcha_sign_up?
= recaptcha_tags nonce: content_security_policy_nonce = recaptcha_tags nonce: content_security_policy_nonce
......
- redirect_params = { redirect: @redirect } if @redirect - redirect_params = { redirect: @redirect } if @redirect
- accept_term_link = accept_term_path(@term, redirect_params)
.card-body.rendered-terms{ data: { qa_selector: 'terms_content' } } .card-body.rendered-terms{ data: { qa_selector: 'terms_content' } }
= markdown_field(@term, :terms) = markdown_field(@term, :terms)
- if current_user - if current_user
= render_if_exists 'devise/shared/form_phone_verification', accept_term_link: accept_term_link, inline: true
.card-footer.footer-block.clearfix .card-footer.footer-block.clearfix
- if can?(current_user, :accept_terms, @term) - if can?(current_user, :accept_terms, @term)
.float-right .float-right
= button_to accept_term_path(@term, redirect_params), class: 'gl-button btn btn-confirm gl-ml-3', data: { qa_selector: 'accept_terms_button' } do = button_to accept_term_link, class: 'gl-button btn btn-confirm gl-ml-3', data: { qa_selector: 'accept_terms_button' } do
= _('Accept terms') = _('Accept terms')
- else - else
.float-right .float-right
......
...@@ -187,7 +187,7 @@ Rails.application.routes.draw do ...@@ -187,7 +187,7 @@ Rails.application.routes.draw do
end end
Gitlab.jh do Gitlab.jh do
draw :province draw :global_jh
end end
if ENV['GITLAB_CHAOS_SECRET'] || Rails.env.development? || Rails.env.test? if ENV['GITLAB_CHAOS_SECRET'] || Rails.env.development? || Rails.env.test?
......
...@@ -14,7 +14,7 @@ RSpec.describe RecaptchaHelper, type: :helper do ...@@ -14,7 +14,7 @@ RSpec.describe RecaptchaHelper, type: :helper do
it 'returns false' do it 'returns false' do
stub_application_setting(recaptcha_enabled: false) stub_application_setting(recaptcha_enabled: false)
expect(helper.show_recaptcha_sign_up?).to be(false) expect(helper.show_recaptcha_sign_up?).to be_falsey
end end
end end
...@@ -22,7 +22,7 @@ RSpec.describe RecaptchaHelper, type: :helper do ...@@ -22,7 +22,7 @@ RSpec.describe RecaptchaHelper, type: :helper do
it 'returns true' do it 'returns true' do
stub_application_setting(recaptcha_enabled: true) stub_application_setting(recaptcha_enabled: true)
expect(helper.show_recaptcha_sign_up?).to be(true) expect(helper.show_recaptcha_sign_up?).to be_truthy
end end
end end
end end
......
...@@ -36,7 +36,7 @@ module Tooling ...@@ -36,7 +36,7 @@ module Tooling
CATEGORIES = { CATEGORIES = {
[%r{usage_data\.rb}, %r{^(\+|-).*\s+(count|distinct_count|estimate_batch_distinct_count)\(.*\)(.*)$}] => [:database, :backend, :product_intelligence], [%r{usage_data\.rb}, %r{^(\+|-).*\s+(count|distinct_count|estimate_batch_distinct_count)\(.*\)(.*)$}] => [:database, :backend, :product_intelligence],
%r{\A(ee/)?config/feature_flags/} => :feature_flag, %r{\A((ee|jh)/)?config/feature_flags/} => :feature_flag,
%r{\Adoc/.*(\.(md|png|gif|jpg|yml))\z} => :docs, %r{\Adoc/.*(\.(md|png|gif|jpg|yml))\z} => :docs,
%r{\A(CONTRIBUTING|LICENSE|MAINTENANCE|PHILOSOPHY|PROCESS|README)(\.md)?\z} => :docs, %r{\A(CONTRIBUTING|LICENSE|MAINTENANCE|PHILOSOPHY|PROCESS|README)(\.md)?\z} => :docs,
...@@ -47,11 +47,11 @@ module Tooling ...@@ -47,11 +47,11 @@ module Tooling
spec/frontend/tracking/.*\.js | spec/frontend/tracking/.*\.js |
spec/frontend/tracking_spec\.js spec/frontend/tracking_spec\.js
)\z}x => [:frontend, :product_intelligence], )\z}x => [:frontend, :product_intelligence],
%r{\A(ee/)?app/(assets|views)/} => :frontend, %r{\A((ee|jh)/)?app/(assets|views)/} => :frontend,
%r{\A(ee/)?public/} => :frontend, %r{\A((ee|jh)/)?public/} => :frontend,
%r{\A(ee/)?spec/(javascripts|frontend|frontend_integration)/} => :frontend, %r{\A((ee|jh)/)?spec/(javascripts|frontend|frontend_integration)/} => :frontend,
%r{\A(ee/)?vendor/assets/} => :frontend, %r{\A((ee|jh)/)?vendor/assets/} => :frontend,
%r{\A(ee/)?scripts/frontend/} => :frontend, %r{\A((ee|jh)/)?scripts/frontend/} => :frontend,
%r{(\A|/)( %r{(\A|/)(
\.babelrc | \.babelrc |
\.browserslistrc | \.browserslistrc |
...@@ -74,12 +74,12 @@ module Tooling ...@@ -74,12 +74,12 @@ module Tooling
\.gitlab/ci/frontend\.gitlab-ci\.yml \.gitlab/ci/frontend\.gitlab-ci\.yml
)\z}x => %i[frontend tooling], )\z}x => %i[frontend tooling],
%r{\A(ee/)?db/(geo/)?(migrate|post_migrate)/} => [:database, :migration], %r{\A((ee|jh)/)?db/(geo/)?(migrate|post_migrate)/} => [:database, :migration],
%r{\A(ee/)?db/(?!fixtures)[^/]+} => [:database], %r{\A((ee|jh)/)?db/(?!fixtures)[^/]+} => [:database],
%r{\A(ee/)?lib/gitlab/(database|background_migration|sql|github_import)(/|\.rb)} => [:database, :backend], %r{\A((ee|jh)/)?lib/gitlab/(database|background_migration|sql|github_import)(/|\.rb)} => [:database, :backend],
%r{\A(app/services/authorized_project_update/find_records_due_for_refresh_service)(/|\.rb)} => [:database, :backend], %r{\A(app/services/authorized_project_update/find_records_due_for_refresh_service)(/|\.rb)} => [:database, :backend],
%r{\A(app/models/project_authorization|app/services/users/refresh_authorized_projects_service)(/|\.rb)} => [:database, :backend], %r{\A(app/models/project_authorization|app/services/users/refresh_authorized_projects_service)(/|\.rb)} => [:database, :backend],
%r{\A(ee/)?app/finders/} => [:database, :backend], %r{\A((ee|jh)/)?app/finders/} => [:database, :backend],
%r{\Arubocop/cop/migration(/|\.rb)} => :database, %r{\Arubocop/cop/migration(/|\.rb)} => :database,
%r{\A(\.gitlab-ci\.yml\z|\.gitlab\/ci)} => :tooling, %r{\A(\.gitlab-ci\.yml\z|\.gitlab\/ci)} => :tooling,
...@@ -87,22 +87,22 @@ module Tooling ...@@ -87,22 +87,22 @@ module Tooling
%r{\Alefthook.yml\z} => :tooling, %r{\Alefthook.yml\z} => :tooling,
%r{\A\.editorconfig\z} => :tooling, %r{\A\.editorconfig\z} => :tooling,
%r{Dangerfile\z} => :tooling, %r{Dangerfile\z} => :tooling,
%r{\A(ee/)?(danger/|tooling/danger/)} => :tooling, %r{\A((ee|jh)/)?(danger/|tooling/danger/)} => :tooling,
%r{\A(ee/)?scripts/} => :tooling, %r{\A((ee|jh)/)?scripts/} => :tooling,
%r{\Atooling/} => :tooling, %r{\Atooling/} => :tooling,
%r{(CODEOWNERS)} => :tooling, %r{(CODEOWNERS)} => :tooling,
%r{(tests.yml)} => :tooling, %r{(tests.yml)} => :tooling,
%r{\Alib/gitlab/ci/templates} => :ci_template, %r{\Alib/gitlab/ci/templates} => :ci_template,
%r{\A(ee/)?spec/features/} => :test, %r{\A((ee|jh)/)?spec/features/} => :test,
%r{\A(ee/)?spec/support/shared_examples/features/} => :test, %r{\A((ee|jh)/)?spec/support/shared_examples/features/} => :test,
%r{\A(ee/)?spec/support/shared_contexts/features/} => :test, %r{\A((ee|jh)/)?spec/support/shared_contexts/features/} => :test,
%r{\A(ee/)?spec/support/helpers/features/} => :test, %r{\A((ee|jh)/)?spec/support/helpers/features/} => :test,
%r{\A(ee/)?lib/gitlab/usage_data_counters/.*\.yml\z} => [:product_intelligence], %r{\A((ee|jh)/)?lib/gitlab/usage_data_counters/.*\.yml\z} => [:product_intelligence],
%r{\A(ee/)?config/metrics/((.*\.yml)|(schema\.json))\z} => [:product_intelligence], %r{\A((ee|jh)/)?config/metrics/((.*\.yml)|(schema\.json))\z} => [:product_intelligence],
%r{\A(ee/)?lib/gitlab/usage_data(_counters)?(/|\.rb)} => [:backend, :product_intelligence], %r{\A((ee|jh)/)?lib/gitlab/usage_data(_counters)?(/|\.rb)} => [:backend, :product_intelligence],
%r{\A( %r{\A(
lib/gitlab/tracking\.rb | lib/gitlab/tracking\.rb |
spec/lib/gitlab/tracking_spec\.rb | spec/lib/gitlab/tracking_spec\.rb |
...@@ -111,21 +111,21 @@ module Tooling ...@@ -111,21 +111,21 @@ module Tooling
lib/generators/rails/usage_metric_definition_generator\.rb | lib/generators/rails/usage_metric_definition_generator\.rb |
spec/lib/generators/usage_metric_definition_generator_spec\.rb | spec/lib/generators/usage_metric_definition_generator_spec\.rb |
generator_templates/usage_metric_definition/metric_definition\.yml)\z}x => [:backend, :product_intelligence], generator_templates/usage_metric_definition/metric_definition\.yml)\z}x => [:backend, :product_intelligence],
%r{\A(ee/)?app/(?!assets|views)[^/]+} => :backend, %r{\A((ee|jh)/)?app/(?!assets|views)[^/]+} => :backend,
%r{\A(ee/)?(bin|config|generator_templates|lib|rubocop)/} => :backend, %r{\A((ee|jh)/)?(bin|config|generator_templates|lib|rubocop)/} => :backend,
%r{\A(ee/)?spec/} => :backend, %r{\A((ee|jh)/)?spec/} => :backend,
%r{\A(ee/)?vendor/} => :backend, %r{\A((ee|jh)/)?vendor/} => :backend,
%r{\A(Gemfile|Gemfile.lock|Rakefile)\z} => :backend, %r{\A(Gemfile|Gemfile.lock|Rakefile)\z} => :backend,
%r{\A[A-Z_]+_VERSION\z} => :backend, %r{\A[A-Z_]+_VERSION\z} => :backend,
%r{\A\.rubocop((_manual)?_todo)?\.yml\z} => :backend, %r{\A\.rubocop((_manual)?_todo)?\.yml\z} => :backend,
%r{\Afile_hooks/} => :backend, %r{\Afile_hooks/} => :backend,
%r{\A(ee/)?qa/} => :qa, %r{\A((ee|jh)/)?qa/} => :qa,
%r{\Aworkhorse/.*} => :workhorse, %r{\Aworkhorse/.*} => :workhorse,
# Files that don't fit into any category are marked with :none # Files that don't fit into any category are marked with :none
%r{\A(ee/)?changelogs/} => :none, %r{\A((ee|jh)/)?changelogs/} => :none,
%r{\Alocale/gitlab\.pot\z} => :none, %r{\Alocale/gitlab\.pot\z} => :none,
# GraphQL auto generated doc files and schema # GraphQL auto generated doc files and schema
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment