Fix #104 - Style OAuth authorized applications page
Add ability to search accounts by display name
This commit is contained in:
parent
2826e6dada
commit
175a9b9caa
9 changed files with 49 additions and 4 deletions
16
app/controllers/settings/exports_controller.rb
Normal file
16
app/controllers/settings/exports_controller.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Settings::ExportsController < ApplicationController
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :set_account
|
||||
|
||||
def show; end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = current_user.account
|
||||
end
|
||||
end
|
|
@ -52,7 +52,7 @@ class Account < ApplicationRecord
|
|||
# PuSH subscriptions
|
||||
has_many :subscriptions, dependent: :destroy
|
||||
|
||||
pg_search_scope :search_for, against: { username: 'A', domain: 'B' },
|
||||
pg_search_scope :search_for, against: { display_name: 'A', username: 'B', domain: 'C' },
|
||||
using: { tsearch: { prefix: true } }
|
||||
|
||||
scope :remote, -> { where.not(domain: nil) }
|
||||
|
|
|
@ -5,6 +5,7 @@ class SearchService < BaseService
|
|||
return if query.blank? || query.start_with?('#')
|
||||
|
||||
username, domain = query.gsub(/\A@/, '').split('@')
|
||||
domain = nil if TagManager.instance.local_domain?(domain)
|
||||
|
||||
if domain.nil?
|
||||
exact_match = Account.find_local(username)
|
||||
|
|
23
app/views/doorkeeper/authorized_applications/index.html.haml
Normal file
23
app/views/doorkeeper/authorized_applications/index.html.haml
Normal file
|
@ -0,0 +1,23 @@
|
|||
- content_for :page_title do
|
||||
= t('doorkeeper.authorized_applications.index.title')
|
||||
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
%th= t('doorkeeper.authorized_applications.index.application')
|
||||
%th= t('doorkeeper.authorized_applications.index.scopes')
|
||||
%th= t('doorkeeper.authorized_applications.index.created_at')
|
||||
%th
|
||||
%tbody
|
||||
- @applications.each do |application|
|
||||
%tr
|
||||
%td
|
||||
- if application.website.blank?
|
||||
= application.name
|
||||
- else
|
||||
= link_to application.name, application.website
|
||||
%th= application.scopes.map { |scope| t(scope, scope: [:doorkeeper, :scopes]) }.join('<br />').html_safe
|
||||
%td= l application.created_at
|
||||
%td
|
||||
- unless application.superapp?
|
||||
= table_link_to 'times', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') }
|
2
app/views/settings/exports/show.html.haml
Normal file
2
app/views/settings/exports/show.html.haml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- content_for :page_title do
|
||||
= t('settings.export')
|
|
@ -65,7 +65,7 @@ en:
|
|||
revoke: Are you sure?
|
||||
index:
|
||||
application: Application
|
||||
created_at: Created At
|
||||
created_at: Authorized
|
||||
date_format: "%Y-%m-%d %H:%M:%S"
|
||||
title: Your authorized applications
|
||||
errors:
|
||||
|
|
|
@ -94,6 +94,7 @@ en:
|
|||
settings:
|
||||
back: Back to Mastodon
|
||||
edit_profile: Edit profile
|
||||
export: Data export
|
||||
preferences: Preferences
|
||||
settings: Settings
|
||||
two_factor_auth: Two-factor Authentication
|
||||
|
@ -118,7 +119,7 @@ en:
|
|||
disable: Disable
|
||||
enable: Enable
|
||||
instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
|
||||
plaintext_secret_html: "Plain-text secret: <samp>%{secret}</samp>"
|
||||
plaintext_secret_html: 'Plain-text secret: <samp>%{secret}</samp>'
|
||||
warning: If you cannot configure an authenticator app right now, you should click "disable" or you won't be able to login.
|
||||
users:
|
||||
invalid_email: The e-mail address is invalid
|
||||
|
|
|
@ -9,7 +9,8 @@ SimpleNavigation::Configuration.run do |navigation|
|
|||
settings.item :preferences, safe_join([fa_icon('sliders fw'), t('settings.preferences')]), settings_preferences_url
|
||||
settings.item :password, safe_join([fa_icon('cog fw'), t('auth.change_password')]), edit_user_registration_url
|
||||
settings.item :two_factor_auth, safe_join([fa_icon('mobile fw'), t('settings.two_factor_auth')]), settings_two_factor_auth_url
|
||||
# settings.item :authorized_apps, safe_join([fa_icon('list fw'), 'Authorized Apps']), oauth_authorized_applications_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'), 'Authorized Apps']), oauth_authorized_applications_url
|
||||
end
|
||||
|
||||
primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_accounts_url, if: proc { current_user.admin? } do |admin|
|
||||
|
|
|
@ -46,6 +46,7 @@ Rails.application.routes.draw do
|
|||
namespace :settings do
|
||||
resource :profile, only: [:show, :update]
|
||||
resource :preferences, only: [:show, :update]
|
||||
resource :export, only: [:show]
|
||||
|
||||
resource :two_factor_auth, only: [:show] do
|
||||
member do
|
||||
|
|
Loading…
Reference in a new issue