From: Tom Hughes Date: Thu, 20 Feb 2025 22:08:02 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5694' X-Git-Tag: live~7 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/51a2d85053b67b2bc842fa45ac8eb998f8585add?hp=5f68458185f140c6ba61c8fff8ed282c3fad121a Merge remote-tracking branch 'upstream/pull/5694' --- diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index 6da5e7164..66c2aca51 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -10,7 +10,7 @@ permissions: jobs: danger: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 771d307cf..8d0e9f615 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -8,7 +8,7 @@ concurrency: jobs: test: name: Docker - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Checkout source uses: actions/checkout@v4 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 06f6ff841..8383068b3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,12 +6,11 @@ concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true env: - os: ubuntu-22.04 ruby: '3.1' jobs: rubocop: name: RuboCop - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 @@ -50,12 +49,9 @@ jobs: rubygems: 3.4.10 bundler-cache: true - name: Cache node modules - uses: actions/cache@v4 + uses: actions/setup-node@v4 with: - path: node_modules - key: yarn-${{ env.os }}-${{ hashFiles('yarn.lock') }} - restore-keys: | - yarn-${{ env.os }}- + cache: yarn - name: Install node modules run: bundle exec bin/yarn install - name: Create dummy database configuration diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bfeb3d33a..d1cf73eae 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,12 +7,11 @@ concurrency: cancel-in-progress: true jobs: test: - name: Ubuntu ${{ matrix.ubuntu }}, Ruby ${{ matrix.ruby }} + name: Ruby ${{ matrix.ruby }} strategy: matrix: - ubuntu: [22.04, 24.04] - ruby: ['3.1', '3.2', '3.3'] - runs-on: ubuntu-${{ matrix.ubuntu }} + ruby: ['3.1', '3.2', '3.3', '3.4'] + runs-on: ubuntu-latest env: RAILS_ENV: test OPENSTREETMAP_MEMCACHE_SERVERS: 127.0.0.1 @@ -26,12 +25,9 @@ jobs: rubygems: 3.4.10 bundler-cache: true - name: Cache node modules - uses: actions/cache@v4 + uses: actions/setup-node@v4 with: - path: node_modules - key: yarn-ubuntu-${{ matrix.ubuntu }}-${{ hashFiles('yarn.lock') }} - restore-keys: | - yarn-ubuntu-${{ matrix.ubuntu }}- + cache: yarn - name: Install packages run: | sudo apt-get -yqq update @@ -68,7 +64,7 @@ jobs: uses: coverallsapp/github-action@v2.3.6 with: github-token: ${{ secrets.github_token }} - flag-name: ubuntu-${{ matrix.ubuntu }}-ruby-${{ matrix.ruby }} + flag-name: ruby-${{ matrix.ruby }} format: lcov parallel: true finish: diff --git a/.overcommit.yml b/.overcommit.yml index eab8eb2ae..18bd5851f 100644 --- a/.overcommit.yml +++ b/.overcommit.yml @@ -22,7 +22,7 @@ PreCommit: enabled: true EsLint: enabled: true - command: ["bin/yarn", "eslint", "-c", "config/eslint.js"] + command: ["bin/yarn", "eslint", "-c", "config/eslint.config.mjs"] exclude: - vendor/**/*.js RailsSchemaUpToDate: diff --git a/.rubocop.yml b/.rubocop.yml index 946dace60..eedbf47e0 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,12 +1,14 @@ inherit_from: .rubocop_todo.yml -require: - - rubocop-capybara - - rubocop-factory_bot +plugins: - rubocop-minitest - rubocop-performance - rubocop-rails - rubocop-rake + +require: + - rubocop-capybara + - rubocop-factory_bot - ./.rubocop/specific_action_names.rb AllCops: @@ -130,7 +132,6 @@ Rails/SpecificActionNames: - 'app/controllers/api/changeset_comments_controller.rb' - 'app/controllers/api/changesets_controller.rb' - 'app/controllers/api/notes_controller.rb' - - 'app/controllers/api/old_elements_controller.rb' - 'app/controllers/api/user_preferences_controller.rb' - 'app/controllers/api/users_controller.rb' - 'app/controllers/browse_controller.rb' diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3d7cea500..a60cd9442 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -6,14 +6,6 @@ # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Work around erblint issues. -# https://github.com/openstreetmap/openstreetmap-website/issues/2472 -require: - - rubocop-minitest - - rubocop-performance - - rubocop-rails - - rubocop-rake - # Offense count: 13 # Configuration parameters: Include, MaxAmount. # Include: **/*_spec.rb, **/spec/**/*, **/test/**/*, **/features/support/factories/**/*.rb diff --git a/.vscode/settings.json b/.vscode/settings.json index 8a3d341d4..3545f0727 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { "eslint.options": { - "overrideConfigFile": "config/eslint.js" + "overrideConfigFile": "config/eslint.config.mjs" } } diff --git a/Gemfile.lock b/Gemfile.lock index 0ca767c00..c5f6f4b79 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,7 +92,7 @@ GEM autoprefixer-rails (10.4.19.0) execjs (~> 2) aws-eventstream (1.3.1) - aws-partitions (1.1050.0) + aws-partitions (1.1051.0) aws-sdk-core (3.218.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -399,7 +399,7 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.2) + nokogiri (1.18.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth (1.1.0) @@ -456,7 +456,7 @@ GEM open4 (1.3.4) openstreetmap-deadlock_retry (1.3.1) ostruct (0.6.1) - overcommit (0.66.0) + overcommit (0.67.0) childprocess (>= 0.6.3, < 6) iniparse (~> 1.4) rexml (>= 3.3.9) @@ -548,13 +548,13 @@ GEM io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) - rexml (3.4.0) + rexml (3.4.1) rinku (2.0.6) rotp (6.3.0) rouge (4.5.1) rtlcss (0.2.1) mini_racer (>= 0.6.3) - rubocop (1.72.0) + rubocop (1.72.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -571,19 +571,23 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-minitest (0.36.0) - rubocop (>= 1.61, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-performance (1.23.1) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.29.1) + rubocop-minitest (0.37.1) + lint_roller (~> 1.1) + rubocop (>= 1.72.1, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-performance (1.24.0) + lint_roller (~> 1.1) + rubocop (>= 1.72.1, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails (2.30.1) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rake (0.6.0) - rubocop (~> 1.0) + rubocop (>= 1.72.1, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rake (0.7.1) + lint_roller (~> 1.1) + rubocop (>= 1.72.1) ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-vips (2.2.3) diff --git a/app/abilities/ability.rb b/app/abilities/ability.rb index dd377a727..7f47b578c 100644 --- a/app/abilities/ability.rb +++ b/app/abilities/ability.rb @@ -36,7 +36,7 @@ class Ability can [:read, :create, :update, :destroy], :oauth2_application can [:read, :destroy], :oauth2_authorized_application can [:read, :create, :destroy], :oauth2_authorization - can [:update, :destroy], :account + can [:read, :update, :destroy], :account can :update, :account_terms can :create, :account_pd_declaration can :read, :dashboard diff --git a/app/abilities/api_ability.rb b/app/abilities/api_ability.rb index acacec049..edf051fae 100644 --- a/app/abilities/api_ability.rb +++ b/app/abilities/api_ability.rb @@ -44,7 +44,7 @@ class ApiAbility can :destroy, Note if scopes.include?("write_notes") - can :redact, [OldNode, OldWay, OldRelation] if user.terms_agreed? && scopes.include?("write_redactions") + can [:create, :destroy], :element_version_redaction if user.terms_agreed? && scopes.include?("write_redactions") can :create, UserBlock if scopes.include?("write_blocks") end diff --git a/app/assets/javascripts/edit/id.js.erb b/app/assets/javascripts/edit/id.js.erb index 7c907ed3a..c53d5e382 100644 --- a/app/assets/javascripts/edit/id.js.erb +++ b/app/assets/javascripts/edit/id.js.erb @@ -13,15 +13,18 @@ $(document).ready(function () { const hashArgs = OSM.parseHash(location.hash); const mapParams = OSM.mapParams(); const params = new URLSearchParams(); - let { zoom, lat, lon } = mapParams; + let zoom, lat, lon; + if (idData.lat && idData.lon) { + ({ zoom, lat, lon } = idData); + } else if (!mapParams.object) { + ({ zoom, lat, lon } = mapParams); + } if (mapParams.object) { params.set("id", mapParams.object.type + "/" + mapParams.object.id); if (hashArgs.center) ({ zoom, center: { lat, lng: lon } } = hashArgs); - } else if (idData.lat && idData.lon) { - ({ zoom, lat, lon } = { zoom: 16, ...idData }); } - params.set("map", [zoom || 17, lat, lon].join("/")); + if (lat && lon) params.set("map", [zoom || 17, lat, lon].join("/")); const passThroughKeys = ["background", "comment", "disable_features", "gpx", "hashtags", "locale", "maprules", "notes", "offset", "photo", "photo_dates", "photo_overlay", "photo_username", "presets", "source", "validationDisable", "validationWarning", "validationError", "walkthrough"]; for (const key of passThroughKeys) { diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 0fa85a0cc..96870f600 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -236,20 +236,20 @@ $(document).ready(function () { }); if (object && object.type !== "note") query.set("select", object.type + object.id); // can't select notes - sendRemoteEditCommand(remoteEditHost + "/load_and_zoom?" + query, function () { - if (object && object.type === "note") { - const noteQuery = new URLSearchParams({ url: osmHost + OSM.apiUrl(object) }); - sendRemoteEditCommand(remoteEditHost + "/import?" + noteQuery); - } - }); + sendRemoteEditCommand(remoteEditHost + "/load_and_zoom?" + query) + .then(() => { + if (object && object.type === "note") { + const noteQuery = new URLSearchParams({ url: osmHost + OSM.apiUrl(object) }); + sendRemoteEditCommand(remoteEditHost + "/import?" + noteQuery); + } + }) + .catch(() => { + // eslint-disable-next-line no-alert + alert(I18n.t("site.index.remote_failed")); + }); - function sendRemoteEditCommand(url, callback) { - fetch(url, { mode: "no-cors", signal: AbortSignal.timeout(5000) }) - .then(callback) - .catch(function () { - // eslint-disable-next-line no-alert - alert(I18n.t("site.index.remote_failed")); - }); + function sendRemoteEditCommand(url) { + return fetch(url, { mode: "no-cors", signal: AbortSignal.timeout(5000) }); } return false; diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index c472108ae..3d52ec9fb 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -75,8 +75,8 @@ OSM.Directions = function (map) { $(".directions_form .btn-close").on("click", function (e) { e.preventDefault(); - $(".describe_location").toggle(!endpoints[0].value); - $(".search_form input[name='query']").val(endpoints[0].value); + $(".describe_location").toggle(!endpoints[1].value); + $(".search_form input[name='query']").val(endpoints[1].value); OSM.router.route("/" + OSM.formatHash(map)); }); diff --git a/app/assets/javascripts/index/search.js b/app/assets/javascripts/index/search.js index 42294576b..b33d904a9 100644 --- a/app/assets/javascripts/index/search.js +++ b/app/assets/javascripts/index/search.js @@ -11,7 +11,7 @@ OSM.Search = function (map) { e.preventDefault(); const query = $(this).closest("form").find("input[name=query]").val(); let search = ""; - if (query) search = "?" + new URLSearchParams({ from: query }); + if (query) search = "?" + new URLSearchParams({ to: query }); OSM.router.route("/directions" + search + OSM.formatHash(map)); }); diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index a27976854..c1728f870 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -233,6 +233,7 @@ body.small-nav { > ul { height: auto; + justify-content: center; } .user-menu, .login-menu { diff --git a/app/controllers/accounts/pd_declarations_controller.rb b/app/controllers/accounts/pd_declarations_controller.rb index 2d2569d62..4a636a888 100644 --- a/app/controllers/accounts/pd_declarations_controller.rb +++ b/app/controllers/accounts/pd_declarations_controller.rb @@ -22,7 +22,7 @@ module Accounts end end - redirect_to edit_account_path + redirect_to account_path end end end diff --git a/app/controllers/accounts/terms_controller.rb b/app/controllers/accounts/terms_controller.rb index 03007a532..568abcdb9 100644 --- a/app/controllers/accounts/terms_controller.rb +++ b/app/controllers/accounts/terms_controller.rb @@ -21,7 +21,7 @@ module Accounts if current_user.terms_agreed? # Already agreed to terms, so just show settings - redirect_to edit_account_path + redirect_to account_path end end end @@ -43,7 +43,7 @@ module Accounts referer = safe_referer(params[:referer]) if params[:referer] - redirect_to referer || edit_account_path + redirect_to referer || account_path end end end diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index d02943640..e2a82c20e 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -12,10 +12,10 @@ class AccountsController < ApplicationController before_action :check_database_readable before_action :check_database_writable, :only => [:update] - allow_thirdparty_images :only => [:edit, :update] - allow_social_login :only => [:edit, :update] + allow_thirdparty_images :only => [:show, :update] + allow_social_login :only => [:show, :update] - def edit + def show if errors = session.delete(:user_errors) errors.each do |attribute, error| current_user.errors.add(attribute, error) @@ -32,9 +32,9 @@ class AccountsController < ApplicationController params[:user][:auth_uid] == current_user.auth_uid) update_user(current_user, user_params) if current_user.errors.empty? - redirect_to edit_account_path + redirect_to account_path else - render :edit + render :show end else session[:new_user_settings] = user_params.to_h diff --git a/app/controllers/api/old_elements/redactions_controller.rb b/app/controllers/api/old_elements/redactions_controller.rb new file mode 100644 index 000000000..021315807 --- /dev/null +++ b/app/controllers/api/old_elements/redactions_controller.rb @@ -0,0 +1,31 @@ +module Api + module OldElements + class RedactionsController < ApiController + before_action :check_api_writable + before_action :authorize + + authorize_resource :class => :element_version_redaction + + before_action :lookup_old_element + + def create + redaction_id = params["redaction"] + if redaction_id + redaction = Redaction.find(redaction_id.to_i) + @old_element.redact!(redaction) + head :ok + elsif params["allow_delete"] + # legacy unredact if no redaction ID was provided for /api/0.6/:element_type/:id/:version/redact paths mapped here + destroy + else + raise OSM::APIBadUserInput, "No redaction was given" unless redaction_id + end + end + + def destroy + @old_element.redact!(nil) + head :ok + end + end + end +end diff --git a/app/controllers/api/old_elements_controller.rb b/app/controllers/api/old_elements_controller.rb index bdbc5e392..8e29e245c 100644 --- a/app/controllers/api/old_elements_controller.rb +++ b/app/controllers/api/old_elements_controller.rb @@ -3,16 +3,14 @@ # nodes, ways and relations are basically identical. module Api class OldElementsController < ApiController - before_action :check_api_writable, :only => [:redact] - before_action :setup_user_auth, :only => [:index, :show] - before_action :authorize, :only => [:redact] + before_action :setup_user_auth authorize_resource before_action :lookup_old_element, :except => [:index] before_action :lookup_old_element_versions, :only => [:index] - before_action :set_request_formats, :except => [:redact] + before_action :set_request_formats def index # the .where() method used in the lookup_old_element_versions @@ -49,23 +47,6 @@ module Api end end - def redact - redaction_id = params["redaction"] - if redaction_id.nil? - # if no redaction ID was provided, then this is an unredact - # operation. - @old_element.redact!(nil) - else - # if a redaction ID was specified, then set this element to - # be redacted in that redaction. - redaction = Redaction.find(redaction_id.to_i) - @old_element.redact!(redaction) - end - - # just return an empty 200 OK for success - head :ok - end - private def show_redactions? diff --git a/app/controllers/api/old_nodes/redactions_controller.rb b/app/controllers/api/old_nodes/redactions_controller.rb new file mode 100644 index 000000000..037c3ae45 --- /dev/null +++ b/app/controllers/api/old_nodes/redactions_controller.rb @@ -0,0 +1,11 @@ +module Api + module OldNodes + class RedactionsController < OldElements::RedactionsController + private + + def lookup_old_element + @old_element = OldNode.find([params[:node_id], params[:version]]) + end + end + end +end diff --git a/app/controllers/api/old_relations/redactions_controller.rb b/app/controllers/api/old_relations/redactions_controller.rb new file mode 100644 index 000000000..bfdf66ff5 --- /dev/null +++ b/app/controllers/api/old_relations/redactions_controller.rb @@ -0,0 +1,11 @@ +module Api + module OldRelations + class RedactionsController < OldElements::RedactionsController + private + + def lookup_old_element + @old_element = OldRelation.find([params[:relation_id], params[:version]]) + end + end + end +end diff --git a/app/controllers/api/old_ways/redactions_controller.rb b/app/controllers/api/old_ways/redactions_controller.rb new file mode 100644 index 000000000..781d6ad98 --- /dev/null +++ b/app/controllers/api/old_ways/redactions_controller.rb @@ -0,0 +1,11 @@ +module Api + module OldWays + class RedactionsController < OldElements::RedactionsController + private + + def lookup_old_element + @old_element = OldWay.find([params[:way_id], params[:version]]) + end + end + end +end diff --git a/app/controllers/confirmations_controller.rb b/app/controllers/confirmations_controller.rb index 72c1955e0..27f2c949e 100644 --- a/app/controllers/confirmations_controller.rb +++ b/app/controllers/confirmations_controller.rb @@ -91,7 +91,7 @@ class ConfirmationsController < ApplicationController flash[:error] = t ".unknown_token" end - redirect_to edit_account_path + redirect_to account_path end end diff --git a/app/controllers/dashboards_controller.rb b/app/controllers/dashboards_controller.rb index 540683d25..cb73cc38f 100644 --- a/app/controllers/dashboards_controller.rb +++ b/app/controllers/dashboards_controller.rb @@ -9,6 +9,7 @@ class DashboardsController < ApplicationController before_action :check_database_readable def show - @user = current_user + @followings = current_user.followings + @nearby_users = current_user.nearby - @followings end end diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 5c70d9704..e2ec400a5 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -29,6 +29,8 @@ class ReportsController < ApplicationController @report.issue.reopen unless @report.issue.open? @report.issue.save! + @report.issue.reported_user&.spam_check + redirect_to helpers.reportable_url(@report.issue.reportable), :notice => t(".successful_report") else flash.now[:notice] = t(".provide_details") diff --git a/app/controllers/user_mutes_controller.rb b/app/controllers/user_mutes_controller.rb index 2068ab6a3..dfd89083e 100644 --- a/app/controllers/user_mutes_controller.rb +++ b/app/controllers/user_mutes_controller.rb @@ -16,7 +16,7 @@ class UserMutesController < ApplicationController @muted_users = current_user.muted_users @title = t ".title" - redirect_to edit_account_path unless @muted_users.any? + redirect_to account_path unless @muted_users.any? end def create diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 0df971bd4..7f6619eab 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -101,7 +101,7 @@ class UsersController < ApplicationController current_user.data_public = true current_user.save flash[:notice] = t ".flash success" - redirect_to edit_account_path + redirect_to account_path end ## @@ -135,7 +135,7 @@ class UsersController < ApplicationController session[:user_errors] = current_user.errors.as_json - redirect_to edit_account_path + redirect_to account_path else user = User.find_by(:auth_provider => provider, :auth_uid => uid) diff --git a/app/models/user.rb b/app/models/user.rb index 21fe2181b..8d061e26b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -359,7 +359,7 @@ class User < ApplicationRecord trace_score = traces.size * 50 diary_entry_score = diary_entries.visible.inject(0) { |acc, elem| acc + elem.body.spam_score } diary_comment_score = diary_comments.visible.inject(0) { |acc, elem| acc + elem.body.spam_score } - report_score = Report.where(:category => "spam", :issue => issues.with_status("open")).count * 20 + report_score = Report.where(:category => "spam", :issue => issues.with_status("open")).distinct.count(:user_id) * 20 score = description.spam_score / 4.0 score += diary_entries.visible.where("created_at > ?", 1.day.ago).count * 10 diff --git a/app/views/accounts/deletions/show.html.erb b/app/views/accounts/deletions/show.html.erb index 9b9b0f182..5a22aa67b 100644 --- a/app/views/accounts/deletions/show.html.erb +++ b/app/views/accounts/deletions/show.html.erb @@ -40,4 +40,4 @@ <% end %> -<%= link_to t(".cancel"), edit_account_path, :class => "btn btn-link" %> +<%= link_to t(".cancel"), account_path, :class => "btn btn-link" %> diff --git a/app/views/accounts/edit.html.erb b/app/views/accounts/show.html.erb similarity index 100% rename from app/views/accounts/edit.html.erb rename to app/views/accounts/show.html.erb diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index 3edc6edd2..221e70472 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -37,7 +37,7 @@ <%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %> <%= text_field_tag("openid_url", "https://", :tabindex => 20, :autocomplete => "on", :class => "form-control") %> - (" target="_new"><%= t "accounts.edit.openid.link text" %>) + (" target="_new"><%= t "accounts.show.openid.link text" %>) <%= submit_tag t(".openid_login_button"), :tabindex => 21, :class => "btn btn-primary" %> diff --git a/app/views/application/_settings_menu.html.erb b/app/views/application/_settings_menu.html.erb index 14f1c2927..a0d3c0ad4 100644 --- a/app/views/application/_settings_menu.html.erb +++ b/app/views/application/_settings_menu.html.erb @@ -3,7 +3,7 @@ <% content_for :heading do %>