Commit d160e6bc authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'mw-i18n-controllers' into 'master'

Externalize strings in controllers

See merge request gitlab-org/gitlab-ce!26420
parents 98824f3e 56606907
...@@ -36,7 +36,7 @@ module AuthenticatesWithTwoFactor ...@@ -36,7 +36,7 @@ module AuthenticatesWithTwoFactor
end end
def locked_user_redirect(user) def locked_user_redirect(user)
flash.now[:alert] = 'Invalid Login or password' flash.now[:alert] = _('Invalid Login or password')
render 'devise/sessions/new' render 'devise/sessions/new'
end end
...@@ -66,7 +66,7 @@ module AuthenticatesWithTwoFactor ...@@ -66,7 +66,7 @@ module AuthenticatesWithTwoFactor
else else
user.increment_failed_attempts! user.increment_failed_attempts!
Gitlab::AppLogger.info("Failed Login: user=#{user.username} ip=#{request.remote_ip} method=OTP") Gitlab::AppLogger.info("Failed Login: user=#{user.username} ip=#{request.remote_ip} method=OTP")
flash.now[:alert] = 'Invalid two-factor code.' flash.now[:alert] = _('Invalid two-factor code.')
prompt_for_two_factor(user) prompt_for_two_factor(user)
end end
end end
...@@ -83,7 +83,7 @@ module AuthenticatesWithTwoFactor ...@@ -83,7 +83,7 @@ module AuthenticatesWithTwoFactor
else else
user.increment_failed_attempts! user.increment_failed_attempts!
Gitlab::AppLogger.info("Failed Login: user=#{user.username} ip=#{request.remote_ip} method=U2F") Gitlab::AppLogger.info("Failed Login: user=#{user.username} ip=#{request.remote_ip} method=U2F")
flash.now[:alert] = 'Authentication via U2F device failed.' flash.now[:alert] = _('Authentication via U2F device failed.')
prompt_for_two_factor(user) prompt_for_two_factor(user)
end end
end end
......
...@@ -31,7 +31,7 @@ module CreatesCommit ...@@ -31,7 +31,7 @@ module CreatesCommit
respond_to do |format| respond_to do |format|
format.html { redirect_to success_path } format.html { redirect_to success_path }
format.json { render json: { message: "success", filePath: success_path } } format.json { render json: { message: _("success"), filePath: success_path } }
end end
else else
flash[:alert] = result[:message] flash[:alert] = result[:message]
...@@ -45,7 +45,7 @@ module CreatesCommit ...@@ -45,7 +45,7 @@ module CreatesCommit
redirect_to failure_path redirect_to failure_path
end end
end end
format.json { render json: { message: "failed", filePath: failure_path } } format.json { render json: { message: _("failed"), filePath: failure_path } }
end end
end end
end end
...@@ -60,15 +60,22 @@ module CreatesCommit ...@@ -60,15 +60,22 @@ module CreatesCommit
private private
def update_flash_notice(success_notice) def update_flash_notice(success_notice)
flash[:notice] = success_notice || "Your changes have been successfully committed." flash[:notice] = success_notice || _("Your changes have been successfully committed.")
if create_merge_request? if create_merge_request?
if merge_request_exists? flash[:notice] =
flash[:notice] = nil if merge_request_exists?
else nil
target = different_project? ? "project" : "branch" else
flash[:notice] = flash[:notice] + " You can now submit a merge request to get this change into the original #{target}." mr_message =
end if different_project?
_("You can now submit a merge request to get this change into the original project.")
else
_("You can now submit a merge request to get this change into the original branch.")
end
flash[:notice] += " " + mr_message
end
end end
end end
......
...@@ -26,7 +26,7 @@ module LfsRequest ...@@ -26,7 +26,7 @@ module LfsRequest
render( render(
json: { json: {
message: 'Git LFS is not enabled on this GitLab server, contact your admin.', message: _('Git LFS is not enabled on this GitLab server, contact your admin.'),
documentation_url: help_url documentation_url: help_url
}, },
status: :not_implemented status: :not_implemented
...@@ -51,7 +51,7 @@ module LfsRequest ...@@ -51,7 +51,7 @@ module LfsRequest
def render_lfs_forbidden def render_lfs_forbidden
render( render(
json: { json: {
message: 'Access forbidden. Check your access level.', message: _('Access forbidden. Check your access level.'),
documentation_url: help_url documentation_url: help_url
}, },
content_type: CONTENT_TYPE, content_type: CONTENT_TYPE,
...@@ -62,7 +62,7 @@ module LfsRequest ...@@ -62,7 +62,7 @@ module LfsRequest
def render_lfs_not_found def render_lfs_not_found
render( render(
json: { json: {
message: 'Not found.', message: _('Not found.'),
documentation_url: help_url documentation_url: help_url
}, },
content_type: CONTENT_TYPE, content_type: CONTENT_TYPE,
......
...@@ -9,7 +9,7 @@ module MembershipActions ...@@ -9,7 +9,7 @@ module MembershipActions
result = Members::CreateService.new(current_user, create_params).execute(membershipable) result = Members::CreateService.new(current_user, create_params).execute(membershipable)
if result[:status] == :success if result[:status] == :success
redirect_to members_page_url, notice: 'Users were successfully added.' redirect_to members_page_url, notice: _('Users were successfully added.')
else else
redirect_to members_page_url, alert: result[:message] redirect_to members_page_url, alert: result[:message]
end end
...@@ -35,9 +35,16 @@ module MembershipActions ...@@ -35,9 +35,16 @@ module MembershipActions
respond_to do |format| respond_to do |format|
format.html do format.html do
source = source_type == 'group' ? 'group and any subresources' : source_type message =
begin
case membershipable
when Namespace
_("User was successfully removed from group and any subresources.")
else
_("User was successfully removed from project.")
end
end
message = "User was successfully removed from #{source}."
redirect_to members_page_url, notice: message redirect_to members_page_url, notice: message
end end
...@@ -49,7 +56,7 @@ module MembershipActions ...@@ -49,7 +56,7 @@ module MembershipActions
membershipable.request_access(current_user) membershipable.request_access(current_user)
redirect_to polymorphic_path(membershipable), redirect_to polymorphic_path(membershipable),
notice: 'Your request for access has been queued for review.' notice: _('Your request for access has been queued for review.')
end end
def approve_access_request def approve_access_request
...@@ -68,9 +75,9 @@ module MembershipActions ...@@ -68,9 +75,9 @@ module MembershipActions
notice = notice =
if member.request? if member.request?
"Your access request to the #{source_type} has been withdrawn." _("Your access request to the %{source_type} has been withdrawn.") % { source_type: source_type }
else else
"You left the \"#{membershipable.human_name}\" #{source_type}." _("You left the \"%{membershipable_human_name}\" %{source_type}.") % { membershipable_human_name: membershipable.human_name, source_type: source_type }
end end
respond_to do |format| respond_to do |format|
...@@ -90,9 +97,9 @@ module MembershipActions ...@@ -90,9 +97,9 @@ module MembershipActions
if member.invite? if member.invite?
member.resend_invite member.resend_invite
redirect_to members_page_url, notice: 'The invitation was successfully resent.' redirect_to members_page_url, notice: _('The invitation was successfully resent.')
else else
redirect_to members_page_url, alert: 'The invitation has already been accepted.' redirect_to members_page_url, alert: _('The invitation has already been accepted.')
end end
end end
...@@ -125,6 +132,16 @@ module MembershipActions ...@@ -125,6 +132,16 @@ module MembershipActions
end end
def source_type def source_type
@source_type ||= membershipable.class.to_s.humanize(capitalize: false) @source_type ||=
begin
case membershipable
when Namespace
_("group")
when Project
_("project")
else
raise "Unknown membershipable type: #{membershipable}!"
end
end
end end
end end
...@@ -12,9 +12,9 @@ module SpammableActions ...@@ -12,9 +12,9 @@ module SpammableActions
def mark_as_spam def mark_as_spam
if SpamService.new(spammable).mark_as_spam! if SpamService.new(spammable).mark_as_spam!
redirect_to spammable_path, notice: "#{spammable.spammable_entity_type.titlecase} was submitted to Akismet successfully." redirect_to spammable_path, notice: _("%{spammable_titlecase} was submitted to Akismet successfully.") % { spammable_titlecase: spammable.spammable_entity_type.titlecase }
else else
redirect_to spammable_path, alert: 'Error with Akismet. Please check the logs for more info.' redirect_to spammable_path, alert: _('Error with Akismet. Please check the logs for more info.')
end end
end end
...@@ -33,7 +33,7 @@ module SpammableActions ...@@ -33,7 +33,7 @@ module SpammableActions
ensure_spam_config_loaded! ensure_spam_config_loaded!
if params[:recaptcha_verification] if params[:recaptcha_verification]
flash[:alert] = 'There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.' flash[:alert] = _('There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.')
end end
respond_to do |format| respond_to do |format|
......
...@@ -16,7 +16,7 @@ module UploadsActions ...@@ -16,7 +16,7 @@ module UploadsActions
end end
else else
format.json do format.json do
render json: 'Invalid file.', status: :unprocessable_entity render json: _('Invalid file.'), status: :unprocessable_entity
end end
end end
end end
...@@ -57,7 +57,7 @@ module UploadsActions ...@@ -57,7 +57,7 @@ module UploadsActions
render json: authorized render json: authorized
rescue SocketError rescue SocketError
render json: "Error uploading file", status: :internal_server_error render json: _("Error uploading file"), status: :internal_server_error
end end
private private
......
...@@ -21,7 +21,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController ...@@ -21,7 +21,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController
format.html do format.html do
redirect_to dashboard_todos_path, redirect_to dashboard_todos_path,
status: 302, status: 302,
notice: 'Todo was successfully marked as done.' notice: _('Todo was successfully marked as done.')
end end
format.js { head :ok } format.js { head :ok }
format.json { render json: todos_counts } format.json { render json: todos_counts }
...@@ -32,7 +32,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController ...@@ -32,7 +32,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController
updated_ids = TodoService.new.mark_todos_as_done(@todos, current_user) updated_ids = TodoService.new.mark_todos_as_done(@todos, current_user)
respond_to do |format| respond_to do |format|
format.html { redirect_to dashboard_todos_path, status: 302, notice: 'All todos were marked as done.' } format.html { redirect_to dashboard_todos_path, status: 302, notice: _('All todos were marked as done.') }
format.js { head :ok } format.js { head :ok }
format.json { render json: todos_counts.merge(updated_ids: updated_ids) } format.json { render json: todos_counts.merge(updated_ids: updated_ids) }
end end
......
...@@ -16,7 +16,7 @@ class Groups::RunnersController < Groups::ApplicationController ...@@ -16,7 +16,7 @@ class Groups::RunnersController < Groups::ApplicationController
def update def update
if Ci::UpdateRunnerService.new(@runner).update(runner_params) if Ci::UpdateRunnerService.new(@runner).update(runner_params)
redirect_to group_runner_path(@group, @runner), notice: 'Runner was successfully updated.' redirect_to group_runner_path(@group, @runner), notice: _('Runner was successfully updated.')
else else
render 'edit' render 'edit'
end end
...@@ -30,17 +30,17 @@ class Groups::RunnersController < Groups::ApplicationController ...@@ -30,17 +30,17 @@ class Groups::RunnersController < Groups::ApplicationController
def resume def resume
if Ci::UpdateRunnerService.new(@runner).update(active: true) if Ci::UpdateRunnerService.new(@runner).update(active: true)
redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), notice: 'Runner was successfully updated.' redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), notice: _('Runner was successfully updated.')
else else
redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), alert: 'Runner was not updated.' redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), alert: _('Runner was not updated.')
end end
end end
def pause def pause
if Ci::UpdateRunnerService.new(@runner).update(active: false) if Ci::UpdateRunnerService.new(@runner).update(active: false)
redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), notice: 'Runner was successfully updated.' redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), notice: _('Runner was successfully updated.')
else else
redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), alert: 'Runner was not updated.' redirect_to group_settings_ci_cd_path(@group, anchor: 'runners-settings'), alert: _('Runner was not updated.')
end end
end end
......
...@@ -13,7 +13,7 @@ module Groups ...@@ -13,7 +13,7 @@ module Groups
def reset_registration_token def reset_registration_token
@group.reset_runners_token! @group.reset_runners_token!
flash[:notice] = 'New runners registration token has been generated!' flash[:notice] = _('GroupSettings|New runners registration token has been generated!')
redirect_to group_settings_ci_cd_path redirect_to group_settings_ci_cd_path
end end
......
...@@ -62,7 +62,7 @@ class Import::BitbucketController < Import::BaseController ...@@ -62,7 +62,7 @@ class Import::BitbucketController < Import::BaseController
render json: { errors: project_save_error(project) }, status: :unprocessable_entity render json: { errors: project_save_error(project) }, status: :unprocessable_entity
end end
else else
render json: { errors: 'This namespace has already been taken! Please choose another one.' }, status: :unprocessable_entity render json: { errors: _('This namespace has already been taken! Please choose another one.') }, status: :unprocessable_entity
end end
end end
......
...@@ -25,7 +25,7 @@ class Import::BitbucketServerController < Import::BaseController ...@@ -25,7 +25,7 @@ class Import::BitbucketServerController < Import::BaseController
repo = bitbucket_client.repo(@project_key, @repo_slug) repo = bitbucket_client.repo(@project_key, @repo_slug)
unless repo unless repo
return render json: { errors: "Project #{@project_key}/#{@repo_slug} could not be found" }, status: :unprocessable_entity return render json: { errors: _("Project %{project_repo} could not be found") % { project_repo: "#{@project_key}/#{@repo_slug}" } }, status: :unprocessable_entity
end end
project_name = params[:new_name].presence || repo.name project_name = params[:new_name].presence || repo.name
...@@ -41,10 +41,10 @@ class Import::BitbucketServerController < Import::BaseController ...@@ -41,10 +41,10 @@ class Import::BitbucketServerController < Import::BaseController
render json: { errors: project_save_error(project) }, status: :unprocessable_entity render json: { errors: project_save_error(project) }, status: :unprocessable_entity
end end
else else
render json: { errors: 'This namespace has already been taken! Please choose another one.' }, status: :unprocessable_entity render json: { errors: _('This namespace has already been taken! Please choose another one.') }, status: :unprocessable_entity
end end
rescue BitbucketServer::Connection::ConnectionError => e rescue BitbucketServer::Connection::ConnectionError => error
render json: { errors: "Unable to connect to server: #{e}" }, status: :unprocessable_entity render json: { errors: _("Unable to connect to server: %{error}") % { error: error } }, status: :unprocessable_entity
end end
def configure def configure
...@@ -65,8 +65,8 @@ class Import::BitbucketServerController < Import::BaseController ...@@ -65,8 +65,8 @@ class Import::BitbucketServerController < Import::BaseController
already_added_projects_names = @already_added_projects.pluck(:import_source) already_added_projects_names = @already_added_projects.pluck(:import_source)
@repos.reject! { |repo| already_added_projects_names.include?(repo.browse_url) } @repos.reject! { |repo| already_added_projects_names.include?(repo.browse_url) }
rescue BitbucketServer::Connection::ConnectionError => e rescue BitbucketServer::Connection::ConnectionError => error
flash[:alert] = "Unable to connect to server: #{e}" flash[:alert] = _("Unable to connect to server: %{error}") % { error: error }
clear_session_data clear_session_data
redirect_to new_import_bitbucket_server_path redirect_to new_import_bitbucket_server_path
end end
......
...@@ -14,7 +14,7 @@ class Import::FogbugzController < Import::BaseController ...@@ -14,7 +14,7 @@ class Import::FogbugzController < Import::BaseController
res = Gitlab::FogbugzImport::Client.new(import_params.symbolize_keys) res = Gitlab::FogbugzImport::Client.new(import_params.symbolize_keys)
rescue rescue
# If the URI is invalid various errors can occur # If the URI is invalid various errors can occur
return redirect_to new_import_fogbugz_path, alert: 'Could not connect to FogBugz, check your URL' return redirect_to new_import_fogbugz_path, alert: _('Could not connect to FogBugz, check your URL')
end end
session[:fogbugz_token] = res.get_token session[:fogbugz_token] = res.get_token
session[:fogbugz_uri] = params[:uri] session[:fogbugz_uri] = params[:uri]
...@@ -29,14 +29,14 @@ class Import::FogbugzController < Import::BaseController ...@@ -29,14 +29,14 @@ class Import::FogbugzController < Import::BaseController
user_map = params[:users] user_map = params[:users]
unless user_map.is_a?(Hash) && user_map.all? { |k, v| !v[:name].blank? } unless user_map.is_a?(Hash) && user_map.all? { |k, v| !v[:name].blank? }
flash.now[:alert] = 'All users must have a name.' flash.now[:alert] = _('All users must have a name.')
return render 'new_user_map' return render 'new_user_map'
end end
session[:fogbugz_user_map] = user_map session[:fogbugz_user_map] = user_map
flash[:notice] = 'The user map has been saved. Continue by selecting the projects you want to import.' flash[:notice] = _('The user map has been saved. Continue by selecting the projects you want to import.')
redirect_to status_import_fogbugz_path redirect_to status_import_fogbugz_path
end end
......
...@@ -46,7 +46,7 @@ class Import::GiteaController < Import::GithubController ...@@ -46,7 +46,7 @@ class Import::GiteaController < Import::GithubController
def provider_auth def provider_auth
if session[access_token_key].blank? || provider_url.blank? if session[access_token_key].blank? || provider_url.blank?
redirect_to new_import_gitea_url, redirect_to new_import_gitea_url,
alert: 'You need to specify both an Access Token and a Host URL.' alert: _('You need to specify both an Access Token and a Host URL.')
end end
end end
......
...@@ -42,7 +42,7 @@ class Import::GitlabController < Import::BaseController ...@@ -42,7 +42,7 @@ class Import::GitlabController < Import::BaseController
render json: { errors: project_save_error(project) }, status: :unprocessable_entity render json: { errors: project_save_error(project) }, status: :unprocessable_entity
end end
else else
render json: { errors: 'This namespace has already been taken! Please choose another one.' }, status: :unprocessable_entity render json: { errors: _('This namespace has already been taken! Please choose another one.') }, status: :unprocessable_entity
end end
end end
......
...@@ -13,7 +13,7 @@ class Import::GitlabProjectsController < Import::BaseController ...@@ -13,7 +13,7 @@ class Import::GitlabProjectsController < Import::BaseController
def create def create
unless file_is_valid? unless file_is_valid?
return redirect_back_or_default(options: { alert: "You need to upload a GitLab project export archive (ending in .gz)." }) return redirect_back_or_default(options: { alert: _("You need to upload a GitLab project export archive (ending in .gz).") })
end end
@project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute @project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute
...@@ -21,7 +21,7 @@ class Import::GitlabProjectsController < Import::BaseController ...@@ -21,7 +21,7 @@ class Import::GitlabProjectsController < Import::BaseController
if @project.saved? if @project.saved?
redirect_to( redirect_to(
project_path(@project), project_path(@project),
notice: "Project '#{@project.name}' is being imported." notice: _("Project '%{project_name}' is being imported.") % { project_name: @project.name }
) )
else else
redirect_back_or_default(options: { alert: "Project could not be imported: #{@project.errors.full_messages.join(', ')}" }) redirect_back_or_default(options: { alert: "Project could not be imported: #{@project.errors.full_messages.join(', ')}" })
......
...@@ -11,18 +11,18 @@ class Import::GoogleCodeController < Import::BaseController ...@@ -11,18 +11,18 @@ class Import::GoogleCodeController < Import::BaseController
dump_file = params[:dump_file] dump_file = params[:dump_file]
unless dump_file.respond_to?(:read) unless dump_file.respond_to?(:read)
return redirect_back_or_default(options: { alert: "You need to upload a Google Takeout archive." }) return redirect_back_or_default(options: { alert: _("You need to upload a Google Takeout archive.") })
end end
begin begin
dump = JSON.parse(dump_file.read) dump = JSON.parse(dump_file.read)
rescue rescue
return redirect_back_or_default(options: { alert: "The uploaded file is not a valid Google Takeout archive." }) return redirect_back_or_default(options: { alert: _("The uploaded file is not a valid Google Takeout archive.") })
end end
client = Gitlab::GoogleCodeImport::Client.new(dump) client = Gitlab::GoogleCodeImport::Client.new(dump)
unless client.valid? unless client.valid?
return redirect_back_or_default(options: { alert: "The uploaded file is not a valid Google Takeout archive." }) return redirect_back_or_default(options: { alert: _("The uploaded file is not a valid Google Takeout archive.") })
end end
session[:google_code_dump] = dump session[:google_code_dump] = dump
...@@ -44,13 +44,13 @@ class Import::GoogleCodeController < Import::BaseController ...@@ -44,13 +44,13 @@ class Import::GoogleCodeController < Import::BaseController
begin begin
user_map = JSON.parse(user_map_json) user_map = JSON.parse(user_map_json)
rescue rescue
flash.now[:alert] = "The entered user map is not a valid JSON user map." flash.now[:alert] = _("The entered user map is not a valid JSON user map.")
return render "new_user_map" return render "new_user_map"
end end
unless user_map.is_a?(Hash) && user_map.all? { |k, v| k.is_a?(String) && v.is_a?(String) } unless user_map.is_a?(Hash) && user_map.all? { |k, v| k.is_a?(String) && v.is_a?(String) }
flash.now[:alert] = "The entered user map is not a valid JSON user map." flash.now[:alert] = _("The entered user map is not a valid JSON user map.")
return render "new_user_map" return render "new_user_map"
end end
...@@ -62,7 +62,7 @@ class Import::GoogleCodeController < Import::BaseController ...@@ -62,7 +62,7 @@ class Import::GoogleCodeController < Import::BaseController
session[:google_code_user_map] = user_map session[:google_code_user_map] = user_map
flash[:notice] = "The user map has been saved. Continue by selecting the projects you want to import." flash[:notice] = _("The user map has been saved. Continue by selecting the projects you want to import.")
redirect_to status_import_google_code_path redirect_to status_import_google_code_path
end end
......
...@@ -29,7 +29,7 @@ class Projects::BlobController < Projects::ApplicationController ...@@ -29,7 +29,7 @@ class Projects::BlobController < Projects::ApplicationController
end end
def create def create
create_commit(Files::CreateService, success_notice: "The file has been successfully created.", create_commit(Files::CreateService, success_notice: _("The file has been successfully created."),
success_path: -> { project_blob_path(@project, File.join(@branch_name, @file_path)) }, success_path: -> { project_blob_path(@project, File.join(@branch_name, @file_path)) },
failure_view: :new, failure_view: :new,
failure_path: project_new_blob_path(@project, @ref)) failure_path: project_new_blob_path(@project, @ref))
...@@ -81,7 +81,7 @@ class Projects::BlobController < Projects::ApplicationController ...@@ -81,7 +81,7 @@ class Projects::BlobController < Projects::ApplicationController
end end
def destroy def destroy
create_commit(Files::DeleteService, success_notice: "The file has been successfully deleted.", create_commit(Files::DeleteService, success_notice: _("The file has been successfully deleted."),
success_path: -> { after_delete_path }, success_path: -> { after_delete_path },
failure_view: :show, failure_view: :show,
failure_path: project_blob_path(@project, @id)) failure_path: project_blob_path(@project, @id))
......
...@@ -115,7 +115,7 @@ class Projects::BranchesController < Projects::ApplicationController ...@@ -115,7 +115,7 @@ class Projects::BranchesController < Projects::ApplicationController
DeleteMergedBranchesService.new(@project, current_user).async_execute DeleteMergedBranchesService.new(@project, current_user).async_execute
redirect_to project_branches_path(@project), redirect_to project_branches_path(@project),
notice: 'Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes.' notice: _('Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes.')
end end
private private
...@@ -143,7 +143,7 @@ class Projects::BranchesController < Projects::ApplicationController ...@@ -143,7 +143,7 @@ class Projects::BranchesController < Projects::ApplicationController
def redirect_for_legacy_index_sort_or_search def redirect_for_legacy_index_sort_or_search
# Normalize a legacy URL with redirect # Normalize a legacy URL with redirect
if request.format != :json && !params[:state].presence && [:sort, :search, :page].any? { |key| params[key].presence } if request.format != :json && !params[:state].presence && [:sort, :search, :page].any? { |key| params[key].presence }
redirect_to project_branches_filtered_path(@project, state: 'all'), notice: 'Update your bookmarked URLs as filtered/sorted branches URL has been changed.' redirect_to project_branches_filtered_path(@project, state: 'all'), notice: _('Update your bookmarked URLs as filtered/sorted branches URL has been changed.')
end end
end end
......
...@@ -38,7 +38,7 @@ class Projects::DeployKeysController < Projects::ApplicationController ...@@ -38,7 +38,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
def update def update
if deploy_key.update(update_params) if deploy_key.update(update_params)
flash[:notice] = 'Deploy key was successfully updated.' flash[:notice] = _('Deploy key was successfully updated.')
redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings') redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings')
else else
render 'edit' render 'edit'
......
...@@ -18,7 +18,7 @@ class Projects::GroupLinksController < Projects::ApplicationController ...@@ -18,7 +18,7 @@ class Projects::GroupLinksController < Projects::ApplicationController
flash[:alert] = result[:message] if result[:http_status] == 409 flash[:alert] = result[:message] if result[:http_status] == 409
else else
flash[:alert] = 'Please select a group.' flash[:alert] = _('Please select a group.')
end end
redirect_to project_project_members_path(project) redirect_to project_project_members_path(project)
......
...@@ -32,7 +32,7 @@ class Projects::HooksController < Projects::ApplicationController ...@@ -32,7 +32,7 @@ class Projects::HooksController < Projects::ApplicationController
def update def update
if hook.update(hook_params) if hook.update(hook_params)
flash[:notice] = 'Hook was successfully updated.' flash[:notice] = _('Hook was successfully updated.')
redirect_to project_settings_integrations_path(@project) redirect_to project_settings_integrations_path(@project)
else else
render 'edit' render 'edit'
......
...@@ -42,9 +42,9 @@ class Projects::ImportsController < Projects::ApplicationController ...@@ -42,9 +42,9 @@ class Projects::ImportsController < Projects::ApplicationController
def finished_notice def finished_notice
if @project.forked? if @project.forked?
'The project was successfully forked.' _('The project was successfully forked.')
else else
'The project was successfully imported.' _('The project was successfully imported.')
end end
end end
......
...@@ -95,9 +95,9 @@ class Projects::IssuesController < Projects::ApplicationController ...@@ -95,9 +95,9 @@ class Projects::IssuesController < Projects::ApplicationController
if service.discussions_to_resolve.count(&:resolved?) > 0 if service.discussions_to_resolve.count(&:resolved?) > 0
flash[:notice] = if service.discussion_to_resolve_id flash[:notice] = if service.discussion_to_resolve_id
"Resolved 1 discussion." _("Resolved 1 discussion.")
else else
"Resolved all discussions." _("Resolved all discussions.")
end end
end end
......
...@@ -122,7 +122,7 @@ class Projects::JobsController < Projects::ApplicationController ...@@ -122,7 +122,7 @@ class Projects::JobsController < Projects::ApplicationController
def erase def erase
if @build.erase(erased_by: current_user) if @build.erase(erased_by: current_user)
redirect_to project_job_path(project, @build), redirect_to project_job_path(project, @build),
notice: "Job has been successfully erased!" notice: _("Job has been successfully erased!")
else else
respond_422 respond_422
end end
......
...@@ -132,7 +132,7 @@ class Projects::LabelsController < Projects::ApplicationController ...@@ -132,7 +132,7 @@ class Projects::LabelsController < Projects::ApplicationController
respond_to do |format| respond_to do |format|
format.html do format.html do
redirect_to(project_labels_path(@project), redirect_to(project_labels_path(@project),
notice: 'Failed to promote label due to internal error. Please contact administrators.') notice: _('Failed to promote label due to internal error. Please contact administrators.'))
end end
format.js format.js
end end
......
...@@ -26,7 +26,7 @@ class Projects::LfsApiController < Projects::GitHttpClientController ...@@ -26,7 +26,7 @@ class Projects::LfsApiController < Projects::GitHttpClientController
def deprecated def deprecated
render( render(
json: { json: {
message: 'Server supports batch API only, please update your Git LFS client to version 1.0.1 and up.', message: _('Server supports batch API only, please update your Git LFS client to version 1.0.1 and up.'),
documentation_url: "#{Gitlab.config.gitlab.url}/help" documentation_url: "#{Gitlab.config.gitlab.url}/help"
}, },
status: :not_implemented status: :not_implemented
...@@ -62,7 +62,7 @@ class Projects::LfsApiController < Projects::GitHttpClientController ...@@ -62,7 +62,7 @@ class Projects::LfsApiController < Projects::GitHttpClientController
else else
object[:error] = { object[:error] = {
code: 404, code: 404,
message: "Object does not exist on the server or you don't have permissions to access it" message: _("Object does not exist on the server or you don't have permissions to access it")
} }
end end
end end
......
...@@ -16,12 +16,12 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap ...@@ -16,12 +16,12 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap
render json: @conflicts_list render json: @conflicts_list
elsif @merge_request.can_be_merged? elsif @merge_request.can_be_merged?
render json: { render json: {
message: 'The merge conflicts for this merge request have already been resolved. Please return to the merge request.', message: _('The merge conflicts for this merge request have already been resolved. Please return to the merge request.'),
type: 'error' type: 'error'
} }
else else
render json: { render json: {
message: 'The merge conflicts for this merge request cannot be resolved through GitLab. Please try to resolve them locally.', message: _('The merge conflicts for this merge request cannot be resolved through GitLab. Please try to resolve them locally.'),
type: 'error' type: 'error'
} }
end end
...@@ -43,7 +43,7 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap ...@@ -43,7 +43,7 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap
return render_404 unless @conflicts_list.can_be_resolved_in_ui? return render_404 unless @conflicts_list.can_be_resolved_in_ui?
if @merge_request.can_be_merged? if @merge_request.can_be_merged?
render status: :bad_request, json: { message: 'The merge conflicts for this merge request have already been resolved.' } render status: :bad_request, json: { message: _('The merge conflicts for this merge request have already been resolved.') }
return return
end end
...@@ -52,7 +52,7 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap ...@@ -52,7 +52,7 @@ class Projects::MergeRequests::ConflictsController < Projects::MergeRequests::Ap
.new(merge_request) .new(merge_request)
.execute(current_user, params) .execute(current_user, params)
flash[:notice] = 'All merge conflicts were resolved. The merge request can now be merged.' flash[:notice] = _('All merge conflicts were resolved. The merge request can now be merged.')
render json: { redirect_to: project_merge_request_url(@project, @merge_request, resolved_conflicts: true) } render json: { redirect_to: project_merge_request_url(@project, @merge_request, resolved_conflicts: true) }
rescue Gitlab::Git::Conflict::Resolver::ResolutionError => e rescue Gitlab::Git::Conflict::Resolver::ResolutionError => e
......
...@@ -18,7 +18,7 @@ class Projects::MirrorsController < Projects::ApplicationController ...@@ -18,7 +18,7 @@ class Projects::MirrorsController < Projects::ApplicationController
result = ::Projects::UpdateService.new(project, current_user, mirror_params).execute result = ::Projects::UpdateService.new(project, current_user, mirror_params).execute
if result[:status] == :success if result[:status] == :success
flash[:notice] = 'Mirroring settings were successfully updated.' flash[:notice] = _('Mirroring settings were successfully updated.')
else else
flash[:alert] = project.errors.full_messages.join(', ').html_safe flash[:alert] = project.errors.full_messages.join(', ').html_safe
end end
...@@ -38,7 +38,7 @@ class Projects::MirrorsController < Projects::ApplicationController ...@@ -38,7 +38,7 @@ class Projects::MirrorsController < Projects::ApplicationController
def update_now def update_now
if params[:sync_remote] if params[:sync_remote]
project.update_remote_mirrors project.update_remote_mirrors
flash[:notice] = "The remote repository is being updated..." flash[:notice] = _("The remote repository is being updated...")
end end
redirect_to_repository_settings(project, anchor: 'js-push-remote-settings') redirect_to_repository_settings(project, anchor: 'js-push-remote-settings')
......
...@@ -50,9 +50,11 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController ...@@ -50,9 +50,11 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController
job_id = RunPipelineScheduleWorker.perform_async(schedule.id, current_user.id) job_id = RunPipelineScheduleWorker.perform_async(schedule.id, current_user.id)
if job_id if job_id
flash[:notice] = "Successfully scheduled a pipeline to run. Go to the <a href=\"#{project_pipelines_path(@project)}\">Pipelines page</a> for details.".html_safe link_to_pipelines = view_context.link_to(_('Pipelines page'), project_pipelines_path(@project))
message = _("Successfully scheduled a pipeline to run. Go to the %{link_to_pipelines} for details.").html_safe % { link_to_pipelines: link_to_pipelines }
flash[:notice] = message.html_safe
else else
flash[:alert] = 'Unable to schedule a pipeline to run immediately' flash[:alert] = _('Unable to schedule a pipeline to run immediately')
end end
redirect_to pipeline_schedules_path(@project) redirect_to pipeline_schedules_path(@project)
...@@ -85,7 +87,7 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController ...@@ -85,7 +87,7 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController
return unless limiter.throttled?([current_user, schedule], 1) return unless limiter.throttled?([current_user, schedule], 1)
flash[:alert] = 'You cannot play this scheduled pipeline at the moment. Please wait a minute.' flash[:alert] = _('You cannot play this scheduled pipeline at the moment. Please wait a minute.')
redirect_to pipeline_schedules_path(@project) redirect_to pipeline_schedules_path(@project)
end end
......
...@@ -15,7 +15,7 @@ class Projects::RunnersController < Projects::ApplicationController ...@@ -15,7 +15,7 @@ class Projects::RunnersController < Projects::ApplicationController
def update def update
if Ci::UpdateRunnerService.new(@runner).update(runner_params) if Ci::UpdateRunnerService.new(@runner).update(runner_params)
redirect_to project_runner_path(@project, @runner), notice: 'Runner was successfully updated.' redirect_to project_runner_path(@project, @runner), notice: _('Runner was successfully updated.')
else else
render 'edit' render 'edit'
end end
...@@ -31,17 +31,17 @@ class Projects::RunnersController < Projects::ApplicationController ...@@ -31,17 +31,17 @@ class Projects::RunnersController < Projects::ApplicationController
def resume def resume
if Ci::UpdateRunnerService.new(@runner).update(active: true) if Ci::UpdateRunnerService.new(@runner).update(active: true)
redirect_to project_runners_path(@project), notice: 'Runner was successfully updated.' redirect_to project_runners_path(@project), notice: _('Runner was successfully updated.')
else else
redirect_to project_runners_path(@project), alert: 'Runner was not updated.' redirect_to project_runners_path(@project), alert: _('Runner was not updated.')
end end
end end
def pause def pause
if Ci::UpdateRunnerService.new(@runner).update(active: false) if Ci::UpdateRunnerService.new(@runner).update(active: false)
redirect_to project_runners_path(@project), notice: 'Runner was successfully updated.' redirect_to project_runners_path(@project), notice: _('Runner was successfully updated.')
else else
redirect_to project_runners_path(@project), alert: 'Runner was not updated.' redirect_to project_runners_path(@project), alert: _('Runner was not updated.')
end end
end end
......
...@@ -43,20 +43,20 @@ class Projects::ServicesController < Projects::ApplicationController ...@@ -43,20 +43,20 @@ class Projects::ServicesController < Projects::ApplicationController
if outcome[:success] if outcome[:success]
{} {}
else else
{ error: true, message: 'Test failed.', service_response: outcome[:result].to_s, test_failed: true } { error: true, message: _('Test failed.'), service_response: outcome[:result].to_s, test_failed: true }
end end
else else
{ error: true, message: 'Validations failed.', service_response: @service.errors.full_messages.join(','), test_failed: false } { error: true, message: _('Validations failed.'), service_response: @service.errors.full_messages.join(','), test_failed: false }
end end
rescue Gitlab::HTTP::BlockedUrlError => e rescue Gitlab::HTTP::BlockedUrlError => e
{ error: true, message: 'Test failed.', service_response: e.message, test_failed: true } { error: true, message: _('Test failed.'), service_response: e.message, test_failed: true }
end end
def success_message def success_message
if @service.active? if @service.active?
"#{@service.title} activated." _("%{service_title} activated.") % { service_title: @service.title }
else else
"#{@service.title} settings saved, but not activated." _("%{service_title} settings saved, but not activated.") % { service_title: @service.title }
end end
end end
......
...@@ -13,7 +13,7 @@ module Projects ...@@ -13,7 +13,7 @@ module Projects
Projects::UpdateService.new(project, current_user, update_params).tap do |service| Projects::UpdateService.new(project, current_user, update_params).tap do |service|
result = service.execute result = service.execute
if result[:status] == :success if result[:status] == :success
flash[:notice] = "Pipelines settings for '#{@project.name}' were successfully updated." flash[:notice] = _("Pipelines settings for '%{project_name}' were successfully updated.") % { project_name: @project.name }
run_autodevops_pipeline(service) run_autodevops_pipeline(service)
...@@ -39,7 +39,7 @@ module Projects ...@@ -39,7 +39,7 @@ module Projects
def reset_registration_token def reset_registration_token
@project.reset_runners_token! @project.reset_runners_token!
flash[:notice] = 'New runners registration token has been generated!' flash[:notice] = _('New runners registration token has been generated!')
redirect_to namespace_project_settings_ci_cd_path redirect_to namespace_project_settings_ci_cd_path
end end
...@@ -58,7 +58,7 @@ module Projects ...@@ -58,7 +58,7 @@ module Projects
return unless service.run_auto_devops_pipeline? return unless service.run_auto_devops_pipeline?
if @project.empty_repo? if @project.empty_repo?
flash[:warning] = "This repository is currently empty. A new Auto DevOps pipeline will be created after a new file has been pushed to a branch." flash[:warning] = _("This repository is currently empty. A new Auto DevOps pipeline will be created after a new file has been pushed to a branch.")
return return
end end
......
...@@ -37,7 +37,7 @@ class Projects::TreeController < Projects::ApplicationController ...@@ -37,7 +37,7 @@ class Projects::TreeController < Projects::ApplicationController
def create_dir def create_dir
return render_404 unless @commit_params.values.all? return render_404 unless @commit_params.values.all?
create_commit(Files::CreateDirService, success_notice: "The directory has been successfully created.", create_commit(Files::CreateDirService, success_notice: _("The directory has been successfully created."),
success_path: project_tree_path(@project, File.join(@branch_name, @dir_name)), success_path: project_tree_path(@project, File.join(@branch_name, @dir_name)),
failure_path: project_tree_path(@project, @ref)) failure_path: project_tree_path(@project, @ref))
end end
......
...@@ -16,9 +16,9 @@ class Projects::TriggersController < Projects::ApplicationController ...@@ -16,9 +16,9 @@ class Projects::TriggersController < Projects::ApplicationController
@trigger = project.triggers.create(trigger_params.merge(owner: current_user)) @trigger = project.triggers.create(trigger_params.merge(owner: current_user))
if @trigger.valid? if @trigger.valid?
flash[:notice] = 'Trigger was created successfully.' flash[:notice] = _('Trigger was created successfully.')
else else
flash[:alert] = 'You could not create a new trigger.' flash[:alert] = _('You could not create a new trigger.')
end end
redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers') redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers')
...@@ -26,9 +26,9 @@ class Projects::TriggersController < Projects::ApplicationController ...@@ -26,9 +26,9 @@ class Projects::TriggersController < Projects::ApplicationController
def take_ownership def take_ownership
if trigger.update(owner: current_user) if trigger.update(owner: current_user)
flash[:notice] = 'Trigger was re-assigned.' flash[:notice] = _('Trigger was re-assigned.')
else else
flash[:alert] = 'You could not take ownership of trigger.' flash[:alert] = _('You could not take ownership of trigger.')
end end
redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers') redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers')
...@@ -39,7 +39,7 @@ class Projects::TriggersController < Projects::ApplicationController ...@@ -39,7 +39,7 @@ class Projects::TriggersController < Projects::ApplicationController
def update def update
if trigger.update(trigger_params) if trigger.update(trigger_params)
redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers'), notice: 'Trigger was successfully updated.' redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers'), notice: _('Trigger was successfully updated.')
else else
render action: "edit" render action: "edit"
end end
...@@ -47,9 +47,9 @@ class Projects::TriggersController < Projects::ApplicationController ...@@ -47,9 +47,9 @@ class Projects::TriggersController < Projects::ApplicationController
def destroy def destroy
if trigger.destroy if trigger.destroy
flash[:notice] = "Trigger removed." flash[:notice] = _("Trigger removed.")
else else
flash[:alert] = "Could not remove the trigger." flash[:alert] = _("Could not remove the trigger.")
end end
redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers'), status: :found redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers'), status: :found
......
...@@ -49,7 +49,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -49,7 +49,7 @@ class Projects::WikisController < Projects::ApplicationController
if @page.valid? if @page.valid?
redirect_to( redirect_to(
project_wiki_path(@project, @page), project_wiki_path(@project, @page),
notice: 'Wiki was successfully updated.' notice: _('Wiki was successfully updated.')
) )
else else
render 'edit' render 'edit'
...@@ -65,7 +65,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -65,7 +65,7 @@ class Projects::WikisController < Projects::ApplicationController
if @page.persisted? if @page.persisted?
redirect_to( redirect_to(
project_wiki_path(@project, @page), project_wiki_path(@project, @page),
notice: 'Wiki was successfully updated.' notice: _('Wiki was successfully updated.')
) )
else else
render action: "edit" render action: "edit"
...@@ -85,7 +85,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -85,7 +85,7 @@ class Projects::WikisController < Projects::ApplicationController
else else
redirect_to( redirect_to(
project_wiki_path(@project, :home), project_wiki_path(@project, :home),
notice: "Page not found" notice: _("Page not found")
) )
end end
end end
...@@ -95,7 +95,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -95,7 +95,7 @@ class Projects::WikisController < Projects::ApplicationController
redirect_to project_wiki_path(@project, :home), redirect_to project_wiki_path(@project, :home),
status: 302, status: 302,
notice: "Page was successfully deleted" notice: _("Page was successfully deleted")
rescue Gitlab::Git::Wiki::OperationError => e rescue Gitlab::Git::Wiki::OperationError => e
@error = e @error = e
render 'edit' render 'edit'
...@@ -118,7 +118,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -118,7 +118,7 @@ class Projects::WikisController < Projects::ApplicationController
@sidebar_wiki_entries = WikiPage.group_by_directory(@project_wiki.pages(limit: 15)) @sidebar_wiki_entries = WikiPage.group_by_directory(@project_wiki.pages(limit: 15))
end end
rescue ProjectWiki::CouldNotCreateWikiError rescue ProjectWiki::CouldNotCreateWikiError
flash[:notice] = "Could not create Wiki Repository at this time. Please try again later." flash[:notice] = _("Could not create Wiki Repository at this time. Please try again later.")
redirect_to project_path(@project) redirect_to project_path(@project)
false false
end end
...@@ -155,7 +155,7 @@ class Projects::WikisController < Projects::ApplicationController ...@@ -155,7 +155,7 @@ class Projects::WikisController < Projects::ApplicationController
end end
def set_encoding_error def set_encoding_error
flash.now[:notice] = "The content of this page is not encoded in UTF-8. Edits can only be made via the Git repository." flash.now[:notice] = _("The content of this page is not encoded in UTF-8. Edits can only be made via the Git repository.")
end end
def file_blob def file_blob
......
This diff is collapsed.
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