From 5247ea4efd3683154d52efe4385bdbb63f476943 Mon Sep 17 00:00:00 2001 From: ThibG Date: Mon, 8 Apr 2019 18:35:41 +0200 Subject: Fix batch actions not working on pending accounts (#10508) --- config/locales/en.yml | 1 + config/routes.rb | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'config') diff --git a/config/locales/en.yml b/config/locales/en.yml index e56008a89..139803aff 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -134,6 +134,7 @@ en: moderation_notes: Moderation notes most_recent_activity: Most recent activity most_recent_ip: Most recent IP + no_account_selected: No accounts were changed as none were selected no_limits_imposed: No limits imposed not_subscribed: Not subscribed outbox_url: Outbox URL diff --git a/config/routes.rb b/config/routes.rb index 1ea6490b0..34d0081e7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -214,10 +214,11 @@ Rails.application.routes.draw do end end - resources :pending_accounts, only: [:index, :update] do + resources :pending_accounts, only: [:index] do collection do post :approve_all post :reject_all + post :batch end end -- cgit From 2a168a002c971014093d89bd45486dca9db0b14d Mon Sep 17 00:00:00 2001 From: Alix Rossi Date: Mon, 8 Apr 2019 19:01:41 +0200 Subject: i18n: Update Corsican translations (#10510) * i18n: Update Corsican translations * i18n: Update Corsican translations --- config/locales/co.yml | 1 + 1 file changed, 1 insertion(+) (limited to 'config') diff --git a/config/locales/co.yml b/config/locales/co.yml index 7fcb087cf..c751c80f0 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -134,6 +134,7 @@ co: moderation_notes: Note di muderazione most_recent_activity: Attività più ricente most_recent_ip: IP più ricente + no_account_selected: Nisun contu hè statu cambiatu postu ch'ùn c'eranu micca selezziunati no_limits_imposed: Nisuna limita imposta not_subscribed: Micca abbunatu outbox_url: URL di l’outbox -- cgit From 8b69a66380bbe32127e717ca2d79244392b7d2b6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 9 Apr 2019 16:06:30 +0200 Subject: Add "why do you want to join" field to invite requests (#10524) * Add "why do you want to join" field to invite requests Fix #10512 * Remove unused translations * Fix broken registrations when no invite request text is submitted --- app/controllers/about_controller.rb | 5 ++++- .../admin/pending_accounts_controller.rb | 2 +- app/controllers/auth/registrations_controller.rb | 14 +++++++----- app/javascript/styles/mastodon/accounts.scss | 26 ++++++++++++++++++++++ app/javascript/styles/mastodon/widgets.scss | 9 ++++++++ app/models/user.rb | 3 +++ app/models/user_invite_request.rb | 17 ++++++++++++++ app/views/about/_registration.html.haml | 5 +++++ .../admin/pending_accounts/_account.html.haml | 22 +++++++++--------- app/views/auth/registrations/new.html.haml | 9 +++++++- config/locales/ar.yml | 1 - config/locales/ast.yml | 1 - config/locales/ca.yml | 1 - config/locales/co.yml | 1 - config/locales/cs.yml | 1 - config/locales/cy.yml | 1 - config/locales/da.yml | 1 - config/locales/de.yml | 1 - config/locales/el.yml | 1 - config/locales/en.yml | 1 - config/locales/en_GB.yml | 1 - config/locales/eo.yml | 1 - config/locales/es.yml | 1 - config/locales/eu.yml | 1 - config/locales/fa.yml | 1 - config/locales/fi.yml | 1 - config/locales/fr.yml | 1 - config/locales/gl.yml | 1 - config/locales/hu.yml | 1 - config/locales/it.yml | 1 - config/locales/ja.yml | 1 - config/locales/ka.yml | 1 - config/locales/kk.yml | 1 - config/locales/ko.yml | 1 - config/locales/lt.yml | 1 - config/locales/nl.yml | 1 - config/locales/no.yml | 1 - config/locales/oc.yml | 1 - config/locales/pl.yml | 1 - config/locales/pt-BR.yml | 1 - config/locales/pt.yml | 1 - config/locales/ro.yml | 1 - config/locales/ru.yml | 1 - config/locales/simple_form.en.yml | 4 ++++ config/locales/sk.yml | 1 - config/locales/sq.yml | 1 - config/locales/sr-Latn.yml | 1 - config/locales/sr.yml | 1 - config/locales/sv.yml | 1 - config/locales/uk.yml | 1 - config/locales/zh-CN.yml | 1 - config/locales/zh-HK.yml | 1 - config/locales/zh-TW.yml | 1 - .../20190409054914_create_user_invite_requests.rb | 10 +++++++++ db/schema.rb | 11 ++++++++- spec/fabricators/user_invite_request_fabricator.rb | 4 ++++ spec/models/user_invite_request_spec.rb | 4 ++++ 57 files changed, 125 insertions(+), 62 deletions(-) create mode 100644 app/models/user_invite_request.rb create mode 100644 db/migrate/20190409054914_create_user_invite_requests.rb create mode 100644 spec/fabricators/user_invite_request_fabricator.rb create mode 100644 spec/models/user_invite_request_spec.rb (limited to 'config') diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb index 67bb2c87f..52a51fd62 100644 --- a/app/controllers/about_controller.rb +++ b/app/controllers/about_controller.rb @@ -16,7 +16,10 @@ class AboutController < ApplicationController private def new_user - User.new.tap(&:build_account) + User.new.tap do |user| + user.build_account + user.build_invite_request + end end helper_method :new_user diff --git a/app/controllers/admin/pending_accounts_controller.rb b/app/controllers/admin/pending_accounts_controller.rb index 2ea7785fc..249525504 100644 --- a/app/controllers/admin/pending_accounts_controller.rb +++ b/app/controllers/admin/pending_accounts_controller.rb @@ -30,7 +30,7 @@ module Admin private def set_accounts - @accounts = Account.joins(:user).merge(User.pending).page(params[:page]) + @accounts = Account.joins(:user).merge(User.pending).includes(user: :invite_request).page(params[:page]) end def form_account_batch_params diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 16a3ec67a..5c1ff769a 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -10,6 +10,10 @@ class Auth::RegistrationsController < Devise::RegistrationsController before_action :set_instance_presenter, only: [:new, :create, :update] before_action :set_body_classes, only: [:new, :create, :edit, :update] + def new + super(&:build_invite_request) + end + def destroy not_found end @@ -24,17 +28,17 @@ class Auth::RegistrationsController < Devise::RegistrationsController def build_resource(hash = nil) super(hash) - resource.locale = I18n.locale - resource.invite_code = params[:invite_code] if resource.invite_code.blank? - resource.agreement = true + resource.locale = I18n.locale + resource.invite_code = params[:invite_code] if resource.invite_code.blank? + resource.agreement = true + resource.current_sign_in_ip = request.remote_ip - resource.current_sign_in_ip = request.remote_ip if resource.current_sign_in_ip.nil? resource.build_account if resource.account.nil? end def configure_sign_up_params devise_parameter_sanitizer.permit(:sign_up) do |u| - u.permit({ account_attributes: [:username] }, :email, :password, :password_confirmation, :invite_code) + u.permit({ account_attributes: [:username], invite_request_attributes: [:text] }, :email, :password, :password_confirmation, :invite_code) end end diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss index f4f458cf4..a790251f4 100644 --- a/app/javascript/styles/mastodon/accounts.scss +++ b/app/javascript/styles/mastodon/accounts.scss @@ -292,3 +292,29 @@ .directory__tag .trends__item__current { width: auto; } + +.pending-account { + &__header { + color: $darker-text-color; + + a { + color: $ui-secondary-color; + text-decoration: none; + + &:hover, + &:active, + &:focus { + text-decoration: underline; + } + } + + strong { + color: $primary-text-color; + font-weight: 700; + } + } + + &__body { + margin-top: 10px; + } +} diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss index 307e509d5..e736d7a7e 100644 --- a/app/javascript/styles/mastodon/widgets.scss +++ b/app/javascript/styles/mastodon/widgets.scss @@ -377,6 +377,10 @@ border: 0; } + strong { + font-weight: 700; + } + thead th { text-align: center; text-transform: uppercase; @@ -414,6 +418,11 @@ } } + &__comment { + width: 50%; + vertical-align: initial !important; + } + @media screen and (max-width: $no-gap-breakpoint) { tbody td.optional { display: none; diff --git a/app/models/user.rb b/app/models/user.rb index d703f9588..c9309bc21 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -74,6 +74,9 @@ class User < ApplicationRecord has_many :applications, class_name: 'Doorkeeper::Application', as: :owner has_many :backups, inverse_of: :user + has_one :invite_request, class_name: 'UserInviteRequest', inverse_of: :user, dependent: :destroy + accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? } + validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale? validates_with BlacklistedEmailValidator, if: :email_changed? validates_with EmailMxValidator, if: :validate_email_dns? diff --git a/app/models/user_invite_request.rb b/app/models/user_invite_request.rb new file mode 100644 index 000000000..2b76c88b9 --- /dev/null +++ b/app/models/user_invite_request.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +# == Schema Information +# +# Table name: user_invite_requests +# +# id :bigint(8) not null, primary key +# user_id :bigint(8) +# text :text +# created_at :datetime not null +# updated_at :datetime not null +# + +class UserInviteRequest < ApplicationRecord + belongs_to :user, inverse_of: :invite_request + validates :text, presence: true, length: { maximum: 420 } +end diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index 09cbe2e28..ff32ec8c4 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -10,6 +10,11 @@ = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + - if approved_registrations? + .fields-group + = f.simple_fields_for :invite_request do |invite_request_fields| + = invite_request_fields.input :text, as: :text, wrapper: :with_block_label, required: false + .fields-group = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), disabled: closed_registrations? diff --git a/app/views/admin/pending_accounts/_account.html.haml b/app/views/admin/pending_accounts/_account.html.haml index c520dc065..1ed5dafdd 100644 --- a/app/views/admin/pending_accounts/_account.html.haml +++ b/app/views/admin/pending_accounts/_account.html.haml @@ -1,14 +1,14 @@ .batch-table__row %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox = f.check_box :account_ids, { multiple: true, include_hidden: false }, account.id - .batch-table__row__content.batch-table__row__content--unpadded - %table.accounts-table - %tbody - %tr - %td - = account.user_email - = "(@#{account.username})" - %br/ - = account.user_current_sign_in_ip - %td.accounts-table__count - = table_link_to 'pencil', t('admin.accounts.edit'), admin_account_path(account.id) + .batch-table__row__content.pending-account + .pending-account__header + = link_to admin_account_path(account.id) do + %strong= account.user_email + = "(@#{account.username})" + %br/ + = account.user_current_sign_in_ip + + - if account.user&.invite_request&.text&.present? + .pending-account__body + %p= account.user&.invite_request&.text diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 1caf2b401..bd6e3a13f 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -21,12 +21,19 @@ .fields-group = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' } + .fields-group = f.input :password_confirmation, wrapper: :with_label, label: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' } + - if approved_registrations? && !@invite.present? + .fields-group + = f.simple_fields_for :invite_request do |invite_request_fields| + = invite_request_fields.input :text, as: :text, wrapper: :with_block_label, required: false + = f.input :invite_code, as: :hidden - %p.hint= t('auth.agreement_html', rules_path: about_more_path, terms_path: terms_path) + .fields-group + = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path) .actions = f.button :button, sign_up_message, type: :submit diff --git a/config/locales/ar.yml b/config/locales/ar.yml index d409ad99a..e0ccb63a9 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -498,7 +498,6 @@ ar: warning: كن حذرا مع هذه البيانات. لا تقم أبدا بمشاركتها مع الآخَرين ! your_token: رمز نفاذك auth: - agreement_html: بمجرد النقر على "التسجيل" أسفله، فإنك تُصرِّح قبول قواعد مثيل الخادوم و شروط الخدمة التي نوفرها لك. change_password: الكلمة السرية confirm_email: تأكيد عنوان البريد الإلكتروني delete_account: حذف حساب diff --git a/config/locales/ast.yml b/config/locales/ast.yml index cbfd27b04..f6892923c 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -123,7 +123,6 @@ ast: invalid_url: La URL apurrida nun ye válida warning: Ten curiáu con estos datos, ¡enxamás nun los compartas con naide! auth: - agreement_html: Faciendo clic en «Aniciar sesión» aceutes siguir les regles de la instancia y los nuesos términos del serviciu. change_password: Contraseña delete_account: Desaniciu de la cuenta delete_account_html: Si deseyes desaniciar la to cuenta, pues siguir equí. Va pidísete la confirmación. diff --git a/config/locales/ca.yml b/config/locales/ca.yml index c6ab35cb6..5fd2ff823 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -507,7 +507,6 @@ ca: warning: Aneu amb compte amb aquestes dades. No les compartiu mai amb ningú! your_token: El teu identificador d'accés auth: - agreement_html: Al fer clic en "Registre" acceptes respectar les normes del servidor i els nostres termes del servei. apply_for_account: Demana una invitació change_password: Contrasenya checkbox_agreement_html: Estic d'acord amb les normes del servidor i els termes del servei diff --git a/config/locales/co.yml b/config/locales/co.yml index c751c80f0..c4122b6d9 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -513,7 +513,6 @@ co: warning: Abbadate à quessi dati. Ùn i date à nisunu! your_token: Rigenerà a fiscia d’accessu auth: - agreement_html: Cliccà "Arregistrassi" quì sottu vole dì chì site d’accunsentu per siguità e regule di u servore è e cundizione d’usu. apply_for_account: Dumandà un'invitazione change_password: Chjave d’accessu checkbox_agreement_html: Sò d'accunsentu cù e regule di u servore è i termini di u serviziu diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 15cc025f2..7917166de 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -518,7 +518,6 @@ cs: warning: Buďte s těmito daty velmi opatrní. Nikdy je s nikým nesdílejte! your_token: Váš přístupový token auth: - agreement_html: Kliknutím na tlačítko „Registrovat“ souhlasíte s následováním pravidel tohoto serveru a našich podmínek používání. apply_for_account: Vyžádat si pozvánku change_password: Heslo checkbox_agreement_html: Souhlasím s pravidly serveru a podmínkami používání diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 68a445e4c..9ab4fc394 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -506,7 +506,6 @@ cy: warning: Byddwch yn ofalus a'r data hyn. Peidiwch a'i rannu byth! your_token: Eich tocyn mynediad auth: - agreement_html: Wrth glicio "Cofrestru" isod yr ydych yn cytuno i ddilyn y rheolau ar gyfer yr achos hwn a ein termau gwasanaeth. change_password: Cyfrinair confirm_email: Cadarnhau e-bost delete_account: Dileu cyfrif diff --git a/config/locales/da.yml b/config/locales/da.yml index 88bf05d17..2156acb44 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -432,7 +432,6 @@ da: warning: Vær meget forsigtig med disse data. Del dem aldrig med nogen! your_token: Din adgangs token auth: - agreement_html: Ved at oprette dig erklærer du dig enig i at følge serverens regler og vores servicevilkår. change_password: Kodeord confirm_email: Bekræft email delete_account: Slet konto diff --git a/config/locales/de.yml b/config/locales/de.yml index 5b51f9d85..cfe527b0a 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -511,7 +511,6 @@ de: warning: Sei mit diesen Daten sehr vorsichtig. Teile sie mit niemandem! your_token: Dein Zugangs-Token auth: - agreement_html: Indem du dich registrierst, erklärst du dich mit den untenstehenden Regeln des Servers und der Datenschutzerklärung einverstanden. apply_for_account: Eine Einladung anfragen change_password: Passwort checkbox_agreement_html: Ich akzeptiere die Server-Regeln und die Nutzungsbedingungen diff --git a/config/locales/el.yml b/config/locales/el.yml index b8fd45a68..8ff42acbf 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -506,7 +506,6 @@ el: warning: Μεγάλη προσοχή με αυτά τα στοιχεία. Μην τα μοιραστείς ποτέ με κανέναν! your_token: Το διακριτικό πρόσβασής σου (access token) auth: - agreement_html: Επιλέγοντας το "Εγγραφή", συμφωνείς πως δέχεσαι τους κανόνες αυτού του κόμβου και τους όρους χρήσης του. apply_for_account: Αίτηση πρόσκλησης change_password: Συνθηματικό checkbox_agreement_html: Συμφωνώ με τους κανονισμούς του κόμβου και τους όρους χρήσης diff --git a/config/locales/en.yml b/config/locales/en.yml index 139803aff..60540ecdc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -513,7 +513,6 @@ en: warning: Be very careful with this data. Never share it with anyone! your_token: Your access token auth: - agreement_html: By clicking "Sign up" below you agree to follow the rules of the server and our terms of service. apply_for_account: Request an invite change_password: Password checkbox_agreement_html: I agree to the server rules and terms of service diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index 9e6eb5e94..743989879 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -506,7 +506,6 @@ en_GB: warning: Be very careful with this data. Never share it with anyone! your_token: Your access token auth: - agreement_html: By clicking "Sign up" below you agree to follow the rules of the server and our terms of service. apply_for_account: Request an invite change_password: Password checkbox_agreement_html: I agree to the server rules and terms of service diff --git a/config/locales/eo.yml b/config/locales/eo.yml index dcbf0065b..cce32cc56 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -507,7 +507,6 @@ eo: warning: Estu tre atenta kun ĉi tiu datumo. Neniam diskonigu ĝin al iu ajn! your_token: Via alira ĵetono auth: - agreement_html: Klakante “Registriĝi” sube, vi konsentas kun la reguloj de la servilo kaj niaj uzkondiĉoj. apply_for_account: Peti inviton change_password: Pasvorto checkbox_agreement_html: Mi samopinii al la Servo reguloj kaj kondiĉo al servadon diff --git a/config/locales/es.yml b/config/locales/es.yml index bcc3fe62c..c0b6cfb3b 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -437,7 +437,6 @@ es: warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie! your_token: Tu token de acceso auth: - agreement_html: Al hacer click en "Registrarse" acepta seguir las reglas de la instancia y nuestros términos de servicio. change_password: Contraseña confirm_email: Confirmar email delete_account: Borrar cuenta diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 187a5325b..50e5b6639 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -481,7 +481,6 @@ eu: warning: Kontuz datu hauekin, ez partekatu inoiz inorekin! your_token: Zure sarbide token-a auth: - agreement_html: '"Izena eman" botoia sakatzean zerbitzariaren arauak eta erabilera baldintzak onartzen dituzu.' change_password: Pasahitza confirm_email: Berretsi e-mail helbidea delete_account: Ezabatu kontua diff --git a/config/locales/fa.yml b/config/locales/fa.yml index d4ec320cb..0cf380921 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -506,7 +506,6 @@ fa: warning: خیلی مواظب این اطلاعات باشید و آن را به هیچ کس ندهید! your_token: کد دسترسی شما auth: - agreement_html: با کلیک روی دکمهٔ عضو شدن، شما قوانین این سرور و شرایط استفادهٔ ما را می‌پذیرید. apply_for_account: درخواست دعوت‌نامه change_password: رمز checkbox_agreement_html: من قانون‌های این سرور و شرایط کاربری را می‌پذیرم diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 029696f7d..47ff00434 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -370,7 +370,6 @@ fi: warning: Säilytä tietoa hyvin. Älä milloinkaan jaa sitä muille! your_token: Pääsytunnus auth: - agreement_html: Rekisteröityessäsi sitoudut noudattamaan instanssin sääntöjä ja käyttöehtoja. change_password: Salasana confirm_email: Vahvista sähköpostiosoite delete_account: Poista tili diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 421ba1da9..f1d81acf0 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -482,7 +482,6 @@ fr: warning: Soyez prudent⋅e avec ces données. Ne les partagez pas ! your_token: Votre jeton d’accès auth: - agreement_html: En cliquant sur "S'inscrire" ci-dessous, vous souscrivez aux règles du serveur et à nos conditions d’utilisation. change_password: Mot de passe confirm_email: Confirmer mon adresse mail delete_account: Supprimer le compte diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 32f642e16..0ee3a329c 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -506,7 +506,6 @@ gl: warning: Teña moito tino con estos datos. Nunca os comparta con ninguén! your_token: O seu testemuño de acceso auth: - agreement_html: Ao pulsar "Rexistrar" vostede acorda seguir as normas do servidor e os termos do servizo. apply_for_account: Solicite un convite change_password: Contrasinal checkbox_agreement_html: Acepto as regras do servidor e os termos do servizo diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 04318f5e4..f32f6f407 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -309,7 +309,6 @@ hu: warning: Ez érzékeny adat. Soha ne oszd meg másokkal! your_token: Hozzáférési kulcsod auth: - agreement_html: A feliratkozással elfogatod az instancia szabályzatát és a felhasználási feltételeket. delete_account: Felhasználói fiók törlése delete_account_html: Felhasználói fiókod törléséhez kattints ide. A rendszer újbóli megerősítést fog kérni. didnt_get_confirmation: Nem kaptad meg a megerősítési lépéseket? diff --git a/config/locales/it.yml b/config/locales/it.yml index 384ba918b..bb170bc4a 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -467,7 +467,6 @@ it: token_regenerated: Token di accesso rigenerato warning: Fa' molta attenzione con questi dati. Non fornirli mai a nessun altro! auth: - agreement_html: Iscrivendoti, accetti di seguire le regole del server e le nostre condizioni di servizio. change_password: Password confirm_email: Conferma email delete_account: Elimina account diff --git a/config/locales/ja.yml b/config/locales/ja.yml index f68df9710..85e97580e 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -512,7 +512,6 @@ ja: warning: このデータは気をつけて取り扱ってください。他の人と共有しないでください! your_token: アクセストークン auth: - agreement_html: 登録するをクリックすると サーバーのルールプライバシーポリシー に従うことに同意したことになります。 apply_for_account: 登録を申請する change_password: パスワード checkbox_agreement_html: サーバーのルールプライバシーポリシー に同意します diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 8e537c745..758a0429e 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -401,7 +401,6 @@ ka: warning: იყავით ძალიან ფრთხილად ამ მონაცემთან. არასდროს გააზიაროთ ეს! your_token: თქვენი წვდომის ტოკენი auth: - agreement_html: რეგისტრაციით თქვენ ეთანხმებით ინსტანციის წესებს და ჩვენ მომსახურების პირობებს. change_password: პაროლი confirm_email: ელ-ფოსტის დამოწმება delete_account: ანგარიშის გაუქმება diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 4ac4c08b9..da91ca9c4 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -482,7 +482,6 @@ kk: warning: Be very carеful with this data. Never share it with anyone! your_token: Your access tokеn auth: - agreement_html: '"Тіркелу" батырмасын басу арқылы сервер ережелері мен қолдану шарттарына келісесіз.' change_password: Құпиясөз confirm_email: Еmаil құптау delete_account: Аккаунт өшіру diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 90996b466..c97fd8209 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -514,7 +514,6 @@ ko: warning: 이 데이터를 조심히 다뤄 주세요. 다른 사람들과 절대로 공유하지 마세요! your_token: 액세스 토큰 auth: - agreement_html: 이 등록으로 이 서버의 이용규약약관에 동의하는 것으로 간주됩니다. apply_for_account: 가입 요청하기 change_password: 패스워드 checkbox_agreement_html: 서버 규칙이용약관에 동의합니다 diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 0f5ca3091..97994c362 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -490,7 +490,6 @@ lt: warning: Būkite atsargūs su šia informacija. Niekada jos nesidalinkite! your_token: Jūsų prieigos žetonas auth: - agreement_html: Paspaudus "Sign up" Jūs sutinkate sekti serverio taisykles bei naudojimo sąlygas. change_password: Slaptažodis confirm_email: Patvirtinti el paštą delete_account: Ištrinti paskyrą diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 2bfab2454..ca0f57ae0 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -506,7 +506,6 @@ nl: warning: Wees voorzichtig met deze gegevens. Deel het nooit met iemand anders! your_token: Jouw toegangscode auth: - agreement_html: Wanneer je op registreren klikt ga je akkoord met het opvolgen van de regels van deze server en onze gebruiksvoorwaarden. apply_for_account: Een uitnodiging aanvragen change_password: Wachtwoord checkbox_agreement_html: Ik ga akkoord met de regels van deze server en de gebruiksvoorwaarden diff --git a/config/locales/no.yml b/config/locales/no.yml index 773f2d060..d6475afd6 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -309,7 +309,6 @@ warning: Vær veldig forsiktig med denne data. Aldri del den med noen! your_token: Din tilgangsnøkkel auth: - agreement_html: Ved å registrere deg godtar du å følge instansens regler og våre brukervilkår. delete_account: Slett konto delete_account_html: Hvis du ønsker å slette din konto kan du fortsette her. Du vil bli spurt om bekreftelse. didnt_get_confirmation: Mottok du ikke instruksjoner om bekreftelse? diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 85df11cf6..d1c6d11d9 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -498,7 +498,6 @@ oc: warning: Mèfi ! Agachatz de partejar aquela donada amb degun ! your_token: Vòstre geton d’accès auth: - agreement_html: En vos marcar acceptatz las règlas del servidor e politica de confidencialitat. apply_for_account: Demandar una invitacion change_password: Senhal checkbox_agreement_html: Accepti las règlas del servidor e los tèrmes del servici diff --git a/config/locales/pl.yml b/config/locales/pl.yml index f3da82b1c..192a56dcf 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -519,7 +519,6 @@ pl: warning: Przechowuj te dane ostrożnie. Nie udostępniaj ich nikomu! your_token: Twój token dostępu auth: - agreement_html: Rejestrując się, oświadczasz, że zapoznałeś(-aś) się z informacjami o serwerze i zasadami korzystania z usługi. apply_for_account: Poproś o zaproszenie change_password: Hasło checkbox_agreement_html: Zgadzam się z regułami serwera i zasadami korzystania z usługi diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 6a82a41b1..4fdacf51d 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -507,7 +507,6 @@ pt-BR: warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém! your_token: Seu token de acesso auth: - agreement_html: Ao se cadastrar você concorda em seguir as regras da instância e os nossos termos de serviço. apply_for_account: Pedir um convite change_password: Senha checkbox_agreement_html: Eu concordo com as regras do servidor e com os termos de serviço diff --git a/config/locales/pt.yml b/config/locales/pt.yml index d943d6511..92c8ab42f 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -482,7 +482,6 @@ pt: warning: Cuidado com estes dados. Não partilhar com ninguém! your_token: O teu token de acesso auth: - agreement_html: Registando-te concordas em seguir as regras da instância e os nossos termos de serviço. change_password: Palavra-passe confirm_email: Confirmar e-mail delete_account: Eliminar conta diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 0331f002f..cdb68c72a 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -8,7 +8,6 @@ ro: one: Toot other: Toots auth: - agreement_html: Prin apăsarea butonului Înscriere de mai jos ești deacord cu regulile acestei instanțe și termenii de utilizare al acestui serviciu. change_password: Parolă confirm_email: Confirmă email delete_account: Șterge contul diff --git a/config/locales/ru.yml b/config/locales/ru.yml index ffc9471cd..e82150258 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -424,7 +424,6 @@ ru: warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем! your_token: Ваш токен доступа auth: - agreement_html: Создавая аккаунт, вы соглашаетесь с правилами узла и нашими условиями обслуживания. change_password: Пароль confirm_email: Подтвердите email delete_account: Удалить аккаунт diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 3faaa6ac7..3317127f3 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -41,6 +41,8 @@ en: name: 'You might want to use one of these:' imports: data: CSV file exported from another Mastodon server + invite_request: + text: This will help us review your application sessions: otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:' user: @@ -118,6 +120,8 @@ en: must_be_follower: Block notifications from non-followers must_be_following: Block notifications from people you don't follow must_be_following_dm: Block direct messages from people you don't follow + invite_request: + text: Why do you want to join? notification_emails: digest: Send digest e-mails favourite: Send e-mail when someone favourites your status diff --git a/config/locales/sk.yml b/config/locales/sk.yml index d1ff178fd..9dcb3f470 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -511,7 +511,6 @@ sk: warning: Na tieto údaje dávajte ohromný pozor. Nikdy ich s nikým nezďieľajte! your_token: Váš prístupový token auth: - agreement_html: V rámci registrácie súhlasíš, že sa budeš riadiť pravidlami tohto servera, a taktiež našími prevádzkovými podmienkami. change_password: Heslo confirm_email: Potvrdiť email delete_account: Vymaž účet diff --git a/config/locales/sq.yml b/config/locales/sq.yml index f02c994eb..8303abea8 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -479,7 +479,6 @@ sq: warning: Hapni sytë me ato të dhëna. Mos ia jepni kurrë njeriu! your_token: Token-i juaj për hyrje auth: - agreement_html: Duke klikuar mbi "Regjistrohuni" më poshtë, pajtoheni të ndiqni rregullat e shërbyesit dhe kushtet tona të shërbimit. change_password: Fjalëkalim confirm_email: Ripohoni email-in delete_account: Fshije llogarinë diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index a2d57ce29..468867e67 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -302,7 +302,6 @@ sr-Latn: warning: Oprezno sa ovim podacima. Nikad je ne delite ni sa kim! your_token: Vaš pristupni token auth: - agreement_html: Pristupanjem instanci se slažete sa pravilima instance i uslovima korišćenja. delete_account: Obriši nalog delete_account_html: Ako želite da obrišete Vaš nalog, možete nastaviti ovde. Bićete upitani da potvrdite. didnt_get_confirmation: Niste dobili poruku sa uputstvima za potvrdu naloga? diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 45a59bcb1..49252b500 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -492,7 +492,6 @@ sr: warning: Опрезно са овим подацима. Никад је не делите ни са ким! your_token: Ваш приступни токен auth: - agreement_html: Приступањем инстанци се слажете са правилима инстанце и условима коришћења. change_password: Лозинка confirm_email: Потврдите адресу е-поште delete_account: Обриши налог diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b0c04329a..ef208acea 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -354,7 +354,6 @@ sv: warning: Var mycket försiktig med denna data. Dela aldrig den med någon! your_token: Din access token auth: - agreement_html: Genom att registrera dig godkänner du att följa instansens regler och våra användarvillkor. change_password: Lösenord confirm_email: Bekräfta e-postadress delete_account: Ta bort konto diff --git a/config/locales/uk.yml b/config/locales/uk.yml index e72e2f461..12f2d13a1 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -386,7 +386,6 @@ uk: warning: Будьте дуже обережні з цими даними. Ніколи не діліться ними ні з ким! your_token: Ваш токен доступу auth: - agreement_html: Реєструючись, ви погоджуєтеся виконувати правила інстанції та наші умови використання. change_password: Пароль confirm_email: Підтвердьте e-mail адресу delete_account: Видалити аккаунт diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index bfacc86fc..4eafa70f4 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -410,7 +410,6 @@ zh-CN: warning: 一定小心,千万不要把它分享给任何人! your_token: 你的访问令牌 auth: - agreement_html: 点击注册即表示你同意遵守本站的相关规定我们的使用条款。 change_password: 密码 confirm_email: 确认电子邮件地址 delete_account: 删除帐户 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 7b200e91a..9ff97805d 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -352,7 +352,6 @@ zh-HK: warning: 警告,不要把它分享給任何人! your_token: token auth: - agreement_html: 登記即表示你同意遵守本服務站的規則使用條款。 change_password: 密碼 confirm_email: 確認電郵 delete_account: 刪除帳戶 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 913442e17..9a13a602f 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -436,7 +436,6 @@ zh-TW: warning: 警告,不要把它分享給任何人! your_token: 你的 token auth: - agreement_html: 按下下方的「註冊」即代表同意遵守 此伺服器的規則 以及 使用條款。 change_password: 密碼 confirm_email: 確認電子信箱位址 delete_account: 刪除帳戶 diff --git a/db/migrate/20190409054914_create_user_invite_requests.rb b/db/migrate/20190409054914_create_user_invite_requests.rb new file mode 100644 index 000000000..974e0f69f --- /dev/null +++ b/db/migrate/20190409054914_create_user_invite_requests.rb @@ -0,0 +1,10 @@ +class CreateUserInviteRequests < ActiveRecord::Migration[5.2] + def change + create_table :user_invite_requests do |t| + t.belongs_to :user, foreign_key: { on_delete: :cascade } + t.text :text + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 11535d867..3060159d2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2019_03_17_135723) do +ActiveRecord::Schema.define(version: 2019_04_09_054914) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -679,6 +679,14 @@ ActiveRecord::Schema.define(version: 2019_03_17_135723) do t.index ["uri"], name: "index_tombstones_on_uri" end + create_table "user_invite_requests", force: :cascade do |t| + t.bigint "user_id" + t.text "text" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["user_id"], name: "index_user_invite_requests_on_user_id" + end + create_table "users", force: :cascade do |t| t.string "email", default: "", null: false t.datetime "created_at", null: false @@ -816,6 +824,7 @@ ActiveRecord::Schema.define(version: 2019_03_17_135723) do add_foreign_key "stream_entries", "accounts", name: "fk_5659b17554", on_delete: :cascade add_foreign_key "subscriptions", "accounts", name: "fk_9847d1cbb5", on_delete: :cascade add_foreign_key "tombstones", "accounts", on_delete: :cascade + add_foreign_key "user_invite_requests", "users", on_delete: :cascade add_foreign_key "users", "accounts", name: "fk_50500f500d", on_delete: :cascade add_foreign_key "users", "invites", on_delete: :nullify add_foreign_key "users", "oauth_applications", column: "created_by_application_id", on_delete: :nullify diff --git a/spec/fabricators/user_invite_request_fabricator.rb b/spec/fabricators/user_invite_request_fabricator.rb new file mode 100644 index 000000000..5cc6ae56f --- /dev/null +++ b/spec/fabricators/user_invite_request_fabricator.rb @@ -0,0 +1,4 @@ +Fabricator(:user_invite_request) do + user + text { Faker::Lorem.sentence } +end diff --git a/spec/models/user_invite_request_spec.rb b/spec/models/user_invite_request_spec.rb new file mode 100644 index 000000000..1be38d8a4 --- /dev/null +++ b/spec/models/user_invite_request_spec.rb @@ -0,0 +1,4 @@ +require 'rails_helper' + +RSpec.describe UserInviteRequest, type: :model do +end -- cgit From 36b39fbac55a9b141b99b54f193ec2702f8c3c39 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 10 Apr 2019 00:35:49 +0200 Subject: Add preference to disable e-mails about new pending accounts (#10529) --- app/controllers/settings/preferences_controller.rb | 2 +- app/models/user.rb | 6 +++++- app/views/settings/notifications/show.html.haml | 1 + config/locales/simple_form.en.yml | 1 + config/settings.yml | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) (limited to 'config') diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 90967635d..5afdf0eec 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -49,7 +49,7 @@ class Settings::PreferencesController < Settings::BaseController :setting_hide_network, :setting_aggregate_reblogs, :setting_show_application, - notification_emails: %i(follow follow_request reblog favourite mention digest report), + notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account), interactions: %i(must_be_follower must_be_following) ) end diff --git a/app/models/user.rb b/app/models/user.rb index c9309bc21..135baae12 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -191,6 +191,10 @@ class User < ApplicationRecord settings.notification_emails['report'] end + def allows_pending_account_emails? + settings.notification_emails['pending_account'] + end + def hides_network? @hides_network ||= settings.hide_network end @@ -295,7 +299,7 @@ class User < ApplicationRecord def notify_staff_about_pending_account! User.staff.includes(:account).each do |u| - next unless u.allows_report_emails? + next unless u.allows_pending_account_emails? AdminMailer.new_pending_account(u.account, self).deliver_later end end diff --git a/app/views/settings/notifications/show.html.haml b/app/views/settings/notifications/show.html.haml index 8aaac043b..6ec57b502 100644 --- a/app/views/settings/notifications/show.html.haml +++ b/app/views/settings/notifications/show.html.haml @@ -14,6 +14,7 @@ - if current_user.staff? = ff.input :report, as: :boolean, wrapper: :with_label + = ff.input :pending_account, as: :boolean, wrapper: :with_label .fields-group = f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff| diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 3317127f3..1a43e19e2 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -128,6 +128,7 @@ en: follow: Send e-mail when someone follows you follow_request: Send e-mail when someone requests to follow you mention: Send e-mail when someone mentions you + pending_account: Send e-mail when a new account needs review reblog: Send e-mail when someone boosts your status report: Send e-mail when a new report is submitted 'no': 'No' diff --git a/config/settings.yml b/config/settings.yml index 4f05519a5..63f7c3380 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -39,6 +39,7 @@ defaults: &defaults follow_request: true digest: true report: true + pending_account: true interactions: must_be_follower: false must_be_following: false -- cgit From 9b0d8f74cbbb04c4b1227293137774db78b67896 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 10 Apr 2019 03:47:11 +0200 Subject: Change the groupings of menu items in settings navigation (#10533) * Change the groupings of menu items in settings navigation Fix #10307 * Remove unused translations --- app/views/settings/preferences/show.html.haml | 1 + config/locales/ar.yml | 2 - config/locales/ast.yml | 1 - config/locales/bg.yml | 1 - config/locales/ca.yml | 2 - config/locales/co.yml | 2 - config/locales/cs.yml | 2 - config/locales/cy.yml | 2 - config/locales/da.yml | 2 - config/locales/de.yml | 2 - config/locales/el.yml | 2 - config/locales/en.yml | 6 ++- config/locales/en_GB.yml | 2 - config/locales/eo.yml | 2 - config/locales/es.yml | 2 - config/locales/eu.yml | 2 - config/locales/fa.yml | 2 - config/locales/fi.yml | 2 - config/locales/fr.yml | 2 - config/locales/gl.yml | 2 - config/locales/he.yml | 1 - config/locales/hr.yml | 1 - config/locales/hu.yml | 2 - config/locales/id.yml | 1 - config/locales/io.yml | 1 - config/locales/it.yml | 2 - config/locales/ja.yml | 2 - config/locales/ka.yml | 2 - config/locales/kk.yml | 2 - config/locales/ko.yml | 2 - config/locales/lt.yml | 2 - config/locales/nl.yml | 2 - config/locales/no.yml | 2 - config/locales/oc.yml | 2 - config/locales/pl.yml | 2 - config/locales/pt-BR.yml | 2 - config/locales/pt.yml | 2 - config/locales/ru.yml | 2 - config/locales/sk.yml | 2 - config/locales/sq.yml | 2 - config/locales/sr-Latn.yml | 2 - config/locales/sr.yml | 2 - config/locales/sv.yml | 2 - config/locales/th.yml | 2 - config/locales/tr.yml | 1 - config/locales/uk.yml | 2 - config/locales/zh-CN.yml | 2 - config/locales/zh-HK.yml | 2 - config/locales/zh-TW.yml | 2 - config/navigation.rb | 75 ++++++++++++++------------- 50 files changed, 44 insertions(+), 125 deletions(-) (limited to 'config') diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml index 3cb91631e..d81ee61ad 100644 --- a/app/views/settings/preferences/show.html.haml +++ b/app/views/settings/preferences/show.html.haml @@ -6,6 +6,7 @@ %li= link_to t('preferences.publishing'), '#settings_publishing' %li= link_to t('preferences.other'), '#settings_other' %li= link_to t('preferences.web'), '#settings_web' + %li= link_to t('settings.notifications'), settings_notifications_path = simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f| = render 'shared/error_messages', object: current_user diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e0ccb63a9..fe49ac7f6 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -812,9 +812,7 @@ ar: migrate: تهجير الحساب notifications: الإخطارات preferences: التفضيلات - settings: الإعدادات two_factor_authentication: المُصادقة بخُطوَتَيْن - your_apps: تطبيقاتك statuses: attached: description: 'مُرفَق : %{attached}' diff --git a/config/locales/ast.yml b/config/locales/ast.yml index f6892923c..7a51be7cf 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -300,7 +300,6 @@ ast: import: Importación notifications: Avisos preferences: Preferencies - settings: Axustes two_factor_authentication: Autenticación en dos pasos statuses: attached: diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 2424d9399..57aa6f87e 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -122,7 +122,6 @@ bg: export: Експортиране на данни import: Импортиране preferences: Предпочитания - settings: Настройки two_factor_authentication: Двустепенно удостоверяване statuses: open_in_web: Отвори в уеб diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 5fd2ff823..17a5d9d0c 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -867,9 +867,7 @@ ca: notifications: Notificacions preferences: Preferències relationships: Seguits i seguidors - settings: Configuració two_factor_authentication: Autenticació de dos factors - your_apps: Les teves aplicacions statuses: attached: description: 'Adjunt: %{attached}' diff --git a/config/locales/co.yml b/config/locales/co.yml index c4122b6d9..311e3f142 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -873,9 +873,7 @@ co: notifications: Nutificazione preferences: Priferenze relationships: Abbunamenti è abbunati - settings: Parametri two_factor_authentication: Identificazione à dui fattori - your_apps: E vostre applicazione statuses: attached: description: 'Aghjuntu: %{attached}' diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 7917166de..fdb0252bd 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -883,9 +883,7 @@ cs: notifications: Oznámení preferences: Předvolby relationships: Sledovaní a sledující - settings: Nastavení two_factor_authentication: Dvoufázové ověřování - your_apps: Vaše aplikace statuses: attached: description: 'Přiloženo: %{attached}' diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 9ab4fc394..f365f7173 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -812,9 +812,7 @@ cy: migrate: Mudo cyfrif notifications: Hysbysiadau preferences: Dewisiadau - settings: Gosodiadau two_factor_authentication: Awdurdodi dau-gam - your_apps: Eich rhaglenni statuses: attached: description: 'Ynghlwm: %{attached}' diff --git a/config/locales/da.yml b/config/locales/da.yml index 2156acb44..0787db621 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -700,9 +700,7 @@ da: migrate: Konto migrering notifications: Notifikationer preferences: Præferencer - settings: Indstillinger two_factor_authentication: To-faktor godkendelse - your_apps: Dine applikationer statuses: attached: description: 'Vedhæftede: %{attached}' diff --git a/config/locales/de.yml b/config/locales/de.yml index cfe527b0a..aaf1c30b2 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -868,9 +868,7 @@ de: notifications: Benachrichtigungen preferences: Einstellungen relationships: Folgende und Follower - settings: Einstellungen two_factor_authentication: Zwei-Faktor-Auth - your_apps: Deine Anwendungen statuses: attached: description: 'Angehängt: %{attached}' diff --git a/config/locales/el.yml b/config/locales/el.yml index 8ff42acbf..f2b6751ff 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -859,9 +859,7 @@ el: notifications: Ειδοποιήσεις preferences: Προτιμήσεις relationships: Ακολουθεί και ακολουθείται - settings: Ρυθμίσεις two_factor_authentication: Πιστοποίηση 2 παραγόντων (2FA) - your_apps: Οι εφαρμογές σου statuses: attached: description: 'Συνημμένα: %{attached}' diff --git a/config/locales/en.yml b/config/locales/en.yml index 60540ecdc..838d6adc3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -860,6 +860,8 @@ en: revoke_success: Session successfully revoked title: Sessions settings: + account: Account + account_settings: Account settings authorized_apps: Authorized apps back: Back to Mastodon delete: Account deletion @@ -869,13 +871,13 @@ en: featured_tags: Featured hashtags identity_proofs: Identity proofs import: Import + import_and_export: Import and export migrate: Account migration notifications: Notifications preferences: Preferences + profile: Profile relationships: Follows and followers - settings: Settings two_factor_authentication: Two-factor Auth - your_apps: Your applications statuses: attached: description: 'Attached: %{attached}' diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index 743989879..d428a95c3 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -854,9 +854,7 @@ en_GB: notifications: Notifications preferences: Preferences relationships: Follows and followers - settings: Settings two_factor_authentication: Two-factor Auth - your_apps: Your applications statuses: attached: description: 'Attached: %{attached}' diff --git a/config/locales/eo.yml b/config/locales/eo.yml index cce32cc56..b85cb1a49 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -869,9 +869,7 @@ eo: notifications: Sciigoj preferences: Preferoj relationships: Follows and followers - settings: Agordoj two_factor_authentication: Dufaktora aŭtentigo - your_apps: Viaj aplikaĵoj statuses: attached: description: 'Ligita: %{attached}' diff --git a/config/locales/es.yml b/config/locales/es.yml index c0b6cfb3b..3a8e8dc0b 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -705,9 +705,7 @@ es: migrate: Migración de cuenta notifications: Notificaciones preferences: Preferencias - settings: Ajustes two_factor_authentication: Autenticación de dos factores - your_apps: Tus aplicaciones statuses: attached: description: 'Adjunto: %{attached}' diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 50e5b6639..5ae664cad 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -787,9 +787,7 @@ eu: migrate: Kontuaren migrazioa notifications: Jakinarazpenak preferences: Hobespenak - settings: Ezarpenak two_factor_authentication: Bi faktoreetako autentifikazioa - your_apps: Zure aplikazioak statuses: attached: description: 'Erantsita: %{attached}' diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 0cf380921..3a3455c6d 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -860,9 +860,7 @@ fa: notifications: اعلان‌ها preferences: ترجیحات relationships: پیگیری‌ها و پیگیران - settings: تنظیمات two_factor_authentication: ورود دومرحله‌ای - your_apps: برنامهٔ شما statuses: attached: description: 'پیوست‌شده: %{attached}' diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 47ff00434..e4a0ed22c 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -613,9 +613,7 @@ fi: migrate: Tilin muutto muualle notifications: Ilmoitukset preferences: Ominaisuudet - settings: Asetukset two_factor_authentication: Kaksivaiheinen todentaminen - your_apps: Omat sovellukset statuses: attached: description: 'Liitetty: %{attached}' diff --git a/config/locales/fr.yml b/config/locales/fr.yml index f1d81acf0..a6c806de3 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -798,9 +798,7 @@ fr: migrate: Migration de compte notifications: Notifications preferences: Préférences - settings: Réglages two_factor_authentication: Identification à deux facteurs - your_apps: Vos applications statuses: attached: description: 'Attaché : %{attached}' diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 0ee3a329c..9c4673186 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -855,9 +855,7 @@ gl: notifications: Notificacións preferences: Preferencias relationships: Seguindo e seguidoras - settings: Axustes two_factor_authentication: Validar Doble Factor - your_apps: As súas aplicacións statuses: attached: description: 'Axenado: %{attached}' diff --git a/config/locales/he.yml b/config/locales/he.yml index 089af2beb..e471c4d02 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -310,7 +310,6 @@ he: export: יצוא מידע import: יבוא preferences: העדפות - settings: הגדרות two_factor_authentication: אימות דו-שלבי statuses: open_in_web: פתח ברשת diff --git a/config/locales/hr.yml b/config/locales/hr.yml index f53515d7a..f9c552bce 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -115,7 +115,6 @@ hr: export: Izvoz podataka import: Uvezi preferences: Postavke - settings: Podešenja two_factor_authentication: Dvo-faktorska Autentifikacija statuses: open_in_web: Otvori na webu diff --git a/config/locales/hu.yml b/config/locales/hu.yml index f32f6f407..b6029eeca 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -533,9 +533,7 @@ hu: migrate: Fiók átirányítása notifications: Értesítések preferences: Általános beállítások - settings: Beállítások two_factor_authentication: Kétlépcsős azonosítás - your_apps: Alkalmazásaid statuses: open_in_web: Megnyitás a weben over_character_limit: Túllépted a maximális %{max} karakteres keretet diff --git a/config/locales/id.yml b/config/locales/id.yml index a27f1f008..4323c145f 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -334,7 +334,6 @@ id: export: Expor data import: Impor preferences: Pilihan - settings: Pengaturan two_factor_authentication: Autentikasi Two-factor statuses: open_in_web: Buka di web diff --git a/config/locales/io.yml b/config/locales/io.yml index b926fe641..b5edb2aa3 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -235,7 +235,6 @@ io: export: Exportacar datumi import: Importacar preferences: Preferi - settings: Settings two_factor_authentication: Dufaktora autentikigo statuses: open_in_web: Apertar retnavigile diff --git a/config/locales/it.yml b/config/locales/it.yml index bb170bc4a..508b8a0dc 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -762,9 +762,7 @@ it: migrate: Migrazione dell'account notifications: Notifiche preferences: Preferenze - settings: Impostazioni two_factor_authentication: Autenticazione a due fattori - your_apps: Le tue applicazioni statuses: attached: description: 'Allegato: %{attached}' diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 85e97580e..a4026fcfc 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -871,9 +871,7 @@ ja: notifications: 通知 preferences: ユーザー設定 relationships: フォロー・フォロワー - settings: 設定 two_factor_authentication: 二段階認証 - your_apps: アプリ statuses: attached: description: '添付: %{attached}' diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 758a0429e..9781fc5be 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -668,9 +668,7 @@ ka: migrate: ანგარიშის მიგრაცია notifications: შეტყობინებები preferences: პრეფერენციები - settings: პარამეტრები two_factor_authentication: მეორე-ფაქტორის აუტენტიფიკაცია - your_apps: თქვენი აპლიკაციები statuses: attached: description: 'თან დართული: %{attached}' diff --git a/config/locales/kk.yml b/config/locales/kk.yml index da91ca9c4..84bd71081 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -797,9 +797,7 @@ kk: migrate: Аккаунт көшіру notifications: Ескертпелер preferences: Таңдаулар - settings: Баптаулар two_factor_authentication: Екі-факторлы авторизация - your_apps: Қосымшалар statuses: attached: description: 'Жүктелді: %{attached}' diff --git a/config/locales/ko.yml b/config/locales/ko.yml index c97fd8209..cf0a99384 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -874,9 +874,7 @@ ko: notifications: 알림 preferences: 사용자 설정 relationships: 팔로잉과 팔로워 - settings: 설정 two_factor_authentication: 2단계 인증 - your_apps: 애플리케이션 statuses: attached: description: '첨부: %{attached}' diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 97994c362..7ea8dc76b 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -800,9 +800,7 @@ lt: migrate: Paskyros migracija notifications: Pranešimai preferences: Preferencijos - settings: Nustatymai two_factor_authentication: Dviejų veiksnių autentikacija - your_apps: Jūsų aplikacijos statuses: attached: description: 'Pridėta: %{attached}' diff --git a/config/locales/nl.yml b/config/locales/nl.yml index ca0f57ae0..ae274ad70 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -856,9 +856,7 @@ nl: notifications: Meldingen preferences: Voorkeuren relationships: Volgers en gevolgden - settings: Instellingen two_factor_authentication: Tweestapsverificatie - your_apps: Jouw toepassingen statuses: attached: description: 'Bijlagen: %{attached}' diff --git a/config/locales/no.yml b/config/locales/no.yml index d6475afd6..f16b314cb 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -533,9 +533,7 @@ migrate: Kontomigrering notifications: Varslinger preferences: Preferanser - settings: Innstillinger two_factor_authentication: Tofaktorautentisering - your_apps: Dine applikasjoner statuses: open_in_web: Åpne i nettleser over_character_limit: grense på %{max} tegn overskredet diff --git a/config/locales/oc.yml b/config/locales/oc.yml index d1c6d11d9..81f17cd3d 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -890,9 +890,7 @@ oc: notifications: Notificacions preferences: Preferéncias relationships: Abonaments e seguidors - settings: Paramètres two_factor_authentication: Autentificacion en dos temps - your_apps: Vòstras aplicacions statuses: attached: description: 'Ajustat : %{attached}' diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 192a56dcf..1b9bb614c 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -889,9 +889,7 @@ pl: notifications: Powiadomienia preferences: Preferencje relationships: Śledzeni i śledzący - settings: Ustawienia two_factor_authentication: Uwierzytelnianie dwuetapowe - your_apps: Twoje aplikacje statuses: attached: description: 'Załączono: %{attached}' diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 4fdacf51d..2d1171288 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -867,9 +867,7 @@ pt-BR: notifications: Notificações preferences: Preferências relationships: Seguindo e seguidores - settings: Configurações two_factor_authentication: Autenticação em dois passos - your_apps: Seus aplicativos statuses: attached: description: 'Anexado: %{attached}' diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 92c8ab42f..b827184e9 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -800,9 +800,7 @@ pt: migrate: Migração de conta notifications: Notificações preferences: Preferências - settings: Configurações two_factor_authentication: Autenticação em dois passos - your_apps: As tuas aplicações statuses: attached: description: 'Anexadas: %{attached}' diff --git a/config/locales/ru.yml b/config/locales/ru.yml index e82150258..0d912d352 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -698,9 +698,7 @@ ru: migrate: Перенос аккаунта notifications: Уведомления preferences: Настройки - settings: Опции two_factor_authentication: Двухфакторная аутентификация - your_apps: Ваши приложения statuses: attached: description: 'Вложение: %{attached}' diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 9dcb3f470..bf7898ed7 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -831,9 +831,7 @@ sk: migrate: Presunutie účtu notifications: Oznámenia preferences: Voľby - settings: Nastavenia two_factor_authentication: Dvoj-faktorové overenie - your_apps: Tvoje aplikácie statuses: attached: description: 'Priložené: %{attached}' diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 8303abea8..ea36a2189 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -784,9 +784,7 @@ sq: migrate: Migrim llogarie notifications: Njoftime preferences: Parapëlqime - settings: Rregullime two_factor_authentication: Mirëfilltësim Dyfaktorësh - your_apps: Aplikacionet tuaja statuses: attached: description: 'Bashkëngjitur: %{attached}' diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 468867e67..2292b6a7f 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -523,9 +523,7 @@ sr-Latn: migrate: Prebacivanje naloga notifications: Obaveštenja preferences: Podešavanja - settings: Postavke two_factor_authentication: Dvofaktorska identifikacija - your_apps: Vaše aplikacije statuses: open_in_web: Otvori u vebu over_character_limit: ograničenje od %{max} karaktera prekoračeno diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 49252b500..2bf9001ce 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -792,9 +792,7 @@ sr: migrate: Пребацивање налога notifications: Обавештења preferences: Подешавања - settings: Поставке two_factor_authentication: Двофакторска идентификација - your_apps: Ваше апликације statuses: attached: description: 'У прилогу: %{attached}' diff --git a/config/locales/sv.yml b/config/locales/sv.yml index ef208acea..91d4c2496 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -600,9 +600,7 @@ sv: migrate: Kontoflytt notifications: Meddelanden preferences: Inställningar - settings: Inställningar two_factor_authentication: Tvåstegsautentisering - your_apps: Dina applikationer statuses: attached: description: 'Bifogad: %{attached}' diff --git a/config/locales/th.yml b/config/locales/th.yml index 729865c83..2ebd6c7f1 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -590,9 +590,7 @@ th: notifications: การแจ้งเตือน preferences: การกำหนดลักษณะ relationships: การติดตามและผู้ติดตาม - settings: การตั้งค่า two_factor_authentication: การรับรองความถูกต้องด้วยสองปัจจัย - your_apps: แอปพลิเคชันของคุณ statuses: attached: description: 'แนบ: %{attached}' diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 14e7f34df..e3e27e3ef 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -347,7 +347,6 @@ tr: export: Dışa aktar import: İçe aktar preferences: Tercihler - settings: Ayarlar two_factor_authentication: İki-faktörlü doğrulama statuses: open_in_web: Web sayfasında aç diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 12f2d13a1..a582b2385 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -648,9 +648,7 @@ uk: migrate: Міграція акаунту notifications: Сповіщення preferences: Налаштування - settings: Опції two_factor_authentication: Двофакторна авторизація - your_apps: Ваші затосунки statuses: attached: description: 'Прикріплено: %{attached}' diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 4eafa70f4..ae49c0537 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -670,9 +670,7 @@ zh-CN: migrate: 帐户迁移 notifications: 通知 preferences: 首选项 - settings: 设置 two_factor_authentication: 双重认证 - your_apps: 你的应用 statuses: attached: description: 附加媒体:%{attached} diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 9ff97805d..aade1debb 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -597,9 +597,7 @@ zh-HK: migrate: 帳戶遷移 notifications: 通知 preferences: 偏好設定 - settings: 設定 two_factor_authentication: 雙重認證 - your_apps: 你的應用程式 statuses: attached: description: 附件: %{attached} diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 9a13a602f..988357e1b 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -666,9 +666,7 @@ zh-TW: migrate: 帳戶搬遷 notifications: 通知 preferences: 偏好設定 - settings: 設定 two_factor_authentication: 兩階段認證 - your_apps: 你的應用程式 statuses: attached: description: 附件: %{attached} diff --git a/config/navigation.rb b/config/navigation.rb index dd5825867..c2a8e45ce 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -1,50 +1,53 @@ # frozen_string_literal: true SimpleNavigation::Configuration.run do |navigation| - navigation.items do |primary| - primary.item :web, safe_join([fa_icon('chevron-left fw'), t('settings.back')]), root_url - - primary.item :settings, safe_join([fa_icon('cog fw'), t('settings.settings')]), settings_profile_url do |settings| - settings.item :profile, safe_join([fa_icon('user fw'), t('settings.edit_profile')]), settings_profile_url, highlights_on: %r{/settings/profile|/settings/migration} - settings.item :featured_tags, safe_join([fa_icon('hashtag fw'), t('settings.featured_tags')]), settings_featured_tags_url - settings.item :preferences, safe_join([fa_icon('sliders fw'), t('settings.preferences')]), settings_preferences_url - settings.item :notifications, safe_join([fa_icon('bell fw'), t('settings.notifications')]), settings_notifications_url - settings.item :password, safe_join([fa_icon('lock fw'), t('auth.security')]), edit_user_registration_url, highlights_on: %r{/auth/edit|/settings/delete} - settings.item :two_factor_authentication, safe_join([fa_icon('mobile fw'), t('settings.two_factor_authentication')]), settings_two_factor_authentication_url, highlights_on: %r{/settings/two_factor_authentication} - settings.item :import, safe_join([fa_icon('cloud-upload fw'), t('settings.import')]), settings_import_url - settings.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url - settings.item :authorized_apps, safe_join([fa_icon('list fw'), t('settings.authorized_apps')]), oauth_authorized_applications_url - settings.item :identity_proofs, safe_join([fa_icon('key fw'), t('settings.identity_proofs')]), settings_identity_proofs_path, highlights_on: %r{/settings/identity_proofs*}, if: proc { current_account.identity_proofs.exists? } + navigation.items do |n| + n.item :web, safe_join([fa_icon('chevron-left fw'), t('settings.back')]), root_url + + n.item :profile, safe_join([fa_icon('user fw'), t('settings.profile')]), settings_profile_url do |s| + s.item :profile, safe_join([fa_icon('pencil fw'), t('settings.appearance')]), settings_profile_url, highlights_on: %r{/settings/profile|/settings/migration} + s.item :featured_tags, safe_join([fa_icon('hashtag fw'), t('settings.featured_tags')]), settings_featured_tags_url + s.item :identity_proofs, safe_join([fa_icon('key fw'), t('settings.identity_proofs')]), settings_identity_proofs_path, highlights_on: %r{/settings/identity_proofs*}, if: proc { current_account.identity_proofs.exists? } end - primary.item :relationships, safe_join([fa_icon('users fw'), t('settings.relationships')]), relationships_url - primary.item :filters, safe_join([fa_icon('filter fw'), t('filters.index.title')]), filters_path, highlights_on: %r{/filters} - primary.item :invites, safe_join([fa_icon('user-plus fw'), t('invites.title')]), invites_path, if: proc { Setting.min_invite_role == 'user' } + n.item :preferences, safe_join([fa_icon('cog fw'), t('settings.preferences')]), settings_preferences_url, highlights_on: %r{/settings/preferences|/settings/notifications} + n.item :relationships, safe_join([fa_icon('users fw'), t('settings.relationships')]), relationships_url + n.item :filters, safe_join([fa_icon('filter fw'), t('filters.index.title')]), filters_path, highlights_on: %r{/filters} + + n.item :security, safe_join([fa_icon('lock fw'), t('settings.account')]), edit_user_registration_url do |s| + s.item :password, safe_join([fa_icon('lock fw'), t('settings.account_settings')]), edit_user_registration_url, highlights_on: %r{/auth/edit|/settings/delete} + s.item :two_factor_authentication, safe_join([fa_icon('mobile fw'), t('settings.two_factor_authentication')]), settings_two_factor_authentication_url, highlights_on: %r{/settings/two_factor_authentication} + s.item :authorized_apps, safe_join([fa_icon('list fw'), t('settings.authorized_apps')]), oauth_authorized_applications_url + end - primary.item :development, safe_join([fa_icon('code fw'), t('settings.development')]), settings_applications_url do |development| - development.item :your_apps, safe_join([fa_icon('list fw'), t('settings.your_apps')]), settings_applications_url, highlights_on: %r{/settings/applications} + n.item :data, safe_join([fa_icon('cloud-download fw'), t('settings.import_and_export')]), settings_export_url do |s| + s.item :import, safe_join([fa_icon('cloud-upload fw'), t('settings.import')]), settings_import_url + s.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url end - primary.item :moderation, safe_join([fa_icon('gavel fw'), t('moderation.title')]), admin_reports_url, if: proc { current_user.staff? } do |admin| - admin.item :action_logs, safe_join([fa_icon('bars fw'), t('admin.action_logs.title')]), admin_action_logs_url - admin.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports} - admin.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts|/admin/pending_accounts} - admin.item :invites, safe_join([fa_icon('user-plus fw'), t('admin.invites.title')]), admin_invites_path - admin.item :tags, safe_join([fa_icon('tag fw'), t('admin.tags.title')]), admin_tags_path - admin.item :instances, safe_join([fa_icon('cloud fw'), t('admin.instances.title')]), admin_instances_url(limited: '1'), highlights_on: %r{/admin/instances|/admin/domain_blocks}, if: -> { current_user.admin? } - admin.item :email_domain_blocks, safe_join([fa_icon('envelope fw'), t('admin.email_domain_blocks.title')]), admin_email_domain_blocks_url, highlights_on: %r{/admin/email_domain_blocks}, if: -> { current_user.admin? } + n.item :invites, safe_join([fa_icon('user-plus fw'), t('invites.title')]), invites_path, if: proc { Setting.min_invite_role == 'user' } + n.item :development, safe_join([fa_icon('code fw'), t('settings.development')]), settings_applications_url + + n.item :moderation, safe_join([fa_icon('gavel fw'), t('moderation.title')]), admin_reports_url, if: proc { current_user.staff? } do |s| + s.item :action_logs, safe_join([fa_icon('bars fw'), t('admin.action_logs.title')]), admin_action_logs_url + s.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports} + s.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts|/admin/pending_accounts} + s.item :invites, safe_join([fa_icon('user-plus fw'), t('admin.invites.title')]), admin_invites_path + s.item :tags, safe_join([fa_icon('tag fw'), t('admin.tags.title')]), admin_tags_path + s.item :instances, safe_join([fa_icon('cloud fw'), t('admin.instances.title')]), admin_instances_url(limited: '1'), highlights_on: %r{/admin/instances|/admin/domain_blocks}, if: -> { current_user.admin? } + s.item :email_domain_blocks, safe_join([fa_icon('envelope fw'), t('admin.email_domain_blocks.title')]), admin_email_domain_blocks_url, highlights_on: %r{/admin/email_domain_blocks}, if: -> { current_user.admin? } end - primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_dashboard_url, if: proc { current_user.staff? } do |admin| - admin.item :dashboard, safe_join([fa_icon('tachometer fw'), t('admin.dashboard.title')]), admin_dashboard_url - admin.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/settings} - admin.item :custom_emojis, safe_join([fa_icon('smile-o fw'), t('admin.custom_emojis.title')]), admin_custom_emojis_url, highlights_on: %r{/admin/custom_emojis} - admin.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/relays} - admin.item :subscriptions, safe_join([fa_icon('paper-plane-o fw'), t('admin.subscriptions.title')]), admin_subscriptions_url, if: -> { current_user.admin? } - admin.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url, link_html: { target: 'sidekiq' }, if: -> { current_user.admin? } - admin.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url, link_html: { target: 'pghero' }, if: -> { current_user.admin? } + n.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_dashboard_url, if: proc { current_user.staff? } do |s| + s.item :dashboard, safe_join([fa_icon('tachometer fw'), t('admin.dashboard.title')]), admin_dashboard_url + s.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/settings} + s.item :custom_emojis, safe_join([fa_icon('smile-o fw'), t('admin.custom_emojis.title')]), admin_custom_emojis_url, highlights_on: %r{/admin/custom_emojis} + s.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/relays} + s.item :subscriptions, safe_join([fa_icon('paper-plane-o fw'), t('admin.subscriptions.title')]), admin_subscriptions_url, if: -> { current_user.admin? } + s.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url, link_html: { target: 'sidekiq' }, if: -> { current_user.admin? } + s.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url, link_html: { target: 'pghero' }, if: -> { current_user.admin? } end - primary.item :logout, safe_join([fa_icon('sign-out fw'), t('auth.logout')]), destroy_user_session_url, link_html: { 'data-method' => 'delete' } + n.item :logout, safe_join([fa_icon('sign-out fw'), t('auth.logout')]), destroy_user_session_url, link_html: { 'data-method' => 'delete' } end end -- cgit