about summary refs log tree commit diff
path: root/config
diff options
context:
space:
mode:
authorColin Mitchell <colin@muffinlabs.com>2017-08-22 12:33:57 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-08-22 18:33:57 +0200
commit871c0d251a6d27c4591785ae446738a8d6c553ab (patch)
tree3a41124ddd0a5a9c6c65972a209a8b0ea70e0b34 /config
parent11a7507318ff9bffbed9e4423ef86ada8c43a992 (diff)
Application prefs section (#2758)
* Add code for creating/managing apps to settings section

* Add specs for app changes

* Fix controller spec

* Fix view file I pasted over by mistake

* Add locale strings. Add 'my apps' to nav

* Add Client ID/Secret to App page. Add some visual separation

* Fix rubocop warnings

* Fix embarrassing typo

I lost an `end` statement while fixing a merge conflict.

* Add code for creating/managing apps to settings section

- Add specs for app changes
- Add locale strings. Add 'my apps' to nav
- Add Client ID/Secret to App page. Add some visual separation
- Fix some bugs/warnings

* Update to match code standards

* Trigger notification

* Add warning about not sharing API secrets

* Tweak spec a bit

* Cleanup fixture creation by using let!

* Remove unused key

* Add foreign key for application<->user
Diffstat (limited to 'config')
-rw-r--r--config/initializers/doorkeeper.rb2
-rw-r--r--config/locales/doorkeeper.en.yml7
-rw-r--r--config/locales/en.yml11
-rw-r--r--config/navigation.rb1
-rw-r--r--config/routes.rb5
5 files changed, 24 insertions, 2 deletions
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index 056a3651a..689e2ac4a 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -50,7 +50,7 @@ Doorkeeper.configure do
   # Optional parameter :confirmation => true (default false) if you want to enforce ownership of
   # a registered application
   # Note: you must also run the rails g doorkeeper:application_owner generator to provide the necessary support
-  # enable_application_owner :confirmation => true
+  enable_application_owner
 
   # Define access token scopes for your provider
   # For more information go to
diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml
index 6412b8b48..fa0a7babf 100644
--- a/config/locales/doorkeeper.en.yml
+++ b/config/locales/doorkeeper.en.yml
@@ -3,8 +3,10 @@ en:
   activerecord:
     attributes:
       doorkeeper/application:
-        name: Name
+        name: Application Name
+        website: Application Website
         redirect_uri: Redirect URI
+        scopes: Scopes
     errors:
       models:
         doorkeeper/application:
@@ -37,9 +39,12 @@ en:
         name: Name
         new: New Application
         title: Your applications
+        show: Show
+        delete: Delete
       new:
         title: New Application
       show:
+        title: 'Application: %{name}'
         actions: Actions
         application_id: Application Id
         callback_urls: Callback urls
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 97f46c3af..fbcef03bd 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -33,6 +33,10 @@ en:
     user_count_after: users
     user_count_before: Home to
     what_is_mastodon: What is Mastodon?
+  access_token:
+    your_token: Your Access Token
+    regenerate: Regenerate Access Token
+    regenerated: Access Token Regenerated
   accounts:
     follow: Follow
     followers: Followers
@@ -226,6 +230,12 @@ en:
     settings: 'Change e-mail preferences: %{link}'
     signature: Mastodon notifications from %{instance}
     view: 'View:'
+  application:
+    created: Application Created
+    destroyed: Application Destroyed
+    uid: Client ID
+    secret: Client Secret
+    warning: Be very careful with this data. Never share it with anyone other than authorized applications!    
   applications:
     invalid_url: The provided URL is invalid
   auth:
@@ -423,6 +433,7 @@ en:
     preferences: Preferences
     settings: Settings
     two_factor_authentication: Two-factor Authentication
+    your_apps: Your applications
   statuses:
     open_in_web: Open in web
     over_character_limit: character limit of %{max} exceeded
diff --git a/config/navigation.rb b/config/navigation.rb
index 535d033f5..6e04843ec 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -12,6 +12,7 @@ SimpleNavigation::Configuration.run do |navigation|
       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 :your_apps, safe_join([fa_icon('list fw'), t('settings.your_apps')]), settings_applications_url
       settings.item :follower_domains, safe_join([fa_icon('users fw'), t('settings.followers')]), settings_follower_domains_url
     end
 
diff --git a/config/routes.rb b/config/routes.rb
index 1a39dfeac..e8bc968f4 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -79,6 +79,11 @@ Rails.application.routes.draw do
     end
 
     resource :follower_domains, only: [:show, :update]
+
+    resources :applications do
+      put :regenerate
+    end
+
     resource :delete, only: [:show, :destroy]
 
     resources :sessions, only: [:destroy]