Customized more doorkeeper views, only logged in users can create oauth apps

This commit is contained in:
Eugen Rochko 2016-03-12 19:46:06 +01:00
parent aab9f57e36
commit 1aa477ac2f
16 changed files with 234 additions and 102 deletions

View file

@ -1,26 +0,0 @@
<div class="page-header">
<h1><%= t('.title') %></h1>
</div>
<p><%= link_to t('.new'), new_oauth_application_path, class: 'btn btn-success' %></p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t('.name') %></th>
<th><%= t('.callback_url') %></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<% @applications.each do |application| %>
<tr id="application_<%= application.id %>">
<td><%= link_to application.name, oauth_application_path(application) %></td>
<td><%= application.redirect_uri %></td>
<td><%= link_to t('doorkeeper.applications.buttons.edit'), edit_oauth_application_path(application), class: 'btn btn-link' %></td>
<td><%= render 'delete_form', application: application %></td>
</tr>
<% end %>
</tbody>
</table>

View file

@ -0,0 +1,19 @@
- content_for :page_title do
Applications
%p= link_to t('.new'), new_oauth_application_path, class: 'btn btn-success'
%table.table
%thead
%tr
%th= t('.name')
%th= t('.callback_url')
%th
%th
%tbody
- @applications.each do |application|
%tr
%td= link_to application.name, oauth_application_path(application)
%td= application.redirect_uri
%td= link_to t('doorkeeper.applications.buttons.edit'), edit_oauth_application_path(application), class: 'btn btn-link'
%td= render 'delete_form', application: application

View file

@ -1,5 +0,0 @@
<%- submit_btn_css ||= 'btn btn-link' %>
<%= form_tag oauth_authorized_application_path(application) do %>
<input type="hidden" name="_method" value="delete">
<%= submit_tag t('doorkeeper.authorized_applications.buttons.revoke'), onclick: "return confirm('#{ t('doorkeeper.authorized_applications.confirmations.revoke') }')", class: submit_btn_css %>
<% end %>

View file

@ -0,0 +1,3 @@
= form_tag oauth_authorized_application_path(application) do
%input{type: "hidden", name: "_method", value: "delete"}
= submit_tag 'Revoke', class: 'btn'

View file

@ -1,25 +0,0 @@
<header class="page-header">
<h1><%= t('doorkeeper.authorized_applications.index.title') %></h1>
</header>
<main role="main">
<table class="table table-striped">
<thead>
<tr>
<th><%= t('doorkeeper.authorized_applications.index.application') %></th>
<th><%= t('doorkeeper.authorized_applications.index.created_at') %></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<% @applications.each do |application| %>
<tr>
<td><%= application.name %></td>
<td><%= application.created_at.strftime(t('doorkeeper.authorized_applications.index.date_format')) %></td>
<td><%= render 'delete_form', application: application %></td>
</tr>
<% end %>
</tbody>
</table>
</main>

View file

@ -0,0 +1,16 @@
- content_for :page_title do
Authorized apps
%p
You can register a new OAuth2 app
= link_to 'here', oauth_applications_path
%table.table
%thead
%tr
%th= t('doorkeeper.authorized_applications.index.application')
%th
- @applications.each do |application|
%tr
%td= application.name
%td= render 'delete_form', application: application

View file

@ -1,3 +1,97 @@
.activity-stream.activity-stream-embedded
- @statuses.each do |status|
= render partial: 'stream_entries/status', locals: { status: status, include_threads: false, is_successor: false, is_predecessor: false }
%h3 OAuth2
%p All API methods require a valid access token.
%h3 Statuses
%ul.api-descriptions
%li
.address
%samp.method GET
%samp /api/statuses/home
.description
Returns user's home timeline
%li
.address
%samp.method GET
%samp /api/statuses/mentions
.description
Returns user's mentions timeline
%li
.address
%samp.method POST
%samp /api/statuses
.options
Options:
= succeed ',' do
%samp status
%samp in_reply_to_id
.description
Creates a new status, optionally as a response to another, from user's account. Returns the new status.
%li
.address
%samp.method GET
%samp /api/statuses/:id
.description
Returns a single status
%li
.address
%samp.method POST
%samp /api/statuses/:id/reblog
.description
Reblogs a status from user's account. Returns the target status.
%li
.address
%samp.method POST
%samp /api/statuses/:id/favourite
.description
Favourites a status from user's account. Returns the target status.
%h3 Accounts
%ul.api-descriptions
%li
.address
%samp.method GET
%samp /api/accounts/:id
.description
Returns a single account
%li
.address
%samp.method GET
%samp /api/accounts/:id/statuses
.description
Returns an account's statuses
%li
.address
%samp.method GET
%samp /api/accounts/:id/followers
.description
Returns accounts following an account
%li
.address
%samp.method GET
%samp /api/accounts/:id/following
.description
Returns the accounts the target account follows
%li
.address
%samp.method POST
%samp /api/accounts/:id/follow
.description
Follows target account from the user's account. Returns the target account.
%li
.address
%samp.method POST
%samp /api/accounts/:id/unfollow
.description
Unfollows target account from the user's account. Returns the target account.
%h3 Follows
%ul.api-descriptions
%li
.address
%samp.method POST
%samp /api/follows
.options
Options:
%samp uri
.description
Follows a user, regardless of where they are, from user's account. URI assumed to be of username@domain form. Returns the target account.

View file

@ -6,38 +6,23 @@
.dashboard__current-user
= link_to account_path(current_user.account) do
= image_tag current_user.account.avatar.url(:medium), class: 'dashboard__current-user__avatar'
%strong.dashboard__current-user__display-name= current_user.account.display_name
%strong.dashboard__current-user__display-name= current_user.account.display_name.blank? ? current_user.account.username : current_user.account.display_name
%span.dashboard__current-user__username= "@#{current_user.account.username}"
%ul
%li.active
%li{ class: active_nav_class(root_path) }
= link_to root_path do
= fa_icon 'home'
Home
%li
= link_to mentions_path do
= fa_icon 'at'
Mentions
%li
= link_to root_path do
= fa_icon 'group'
Subscriptions
%li
%li{ class: active_nav_class(oauth_authorized_applications_path) }
= link_to oauth_authorized_applications_path do
= fa_icon 'shield'
Authorized apps
%li
= link_to root_path do
= fa_icon 'user'
Edit profile
%li
= link_to edit_registration_path(current_user) do
= fa_icon 'wrench'
Change password
.dashboard__content
.dashboard__top-bar
Home
= content_for?(:page_title) ? yield(:page_title) : 'Mastodon'
%ul
%li= link_to fa_icon('sign-out'), destroy_user_session_path, method: :delete
%li= link_to fa_icon('gear'), edit_registration_path(current_user), title: 'Change password'
%li= link_to fa_icon('sign-out'), destroy_user_session_path, method: :delete, title: 'Sign out'
.dashboard__content__content= yield
.footer
.domain= Rails.configuration.x.local_domain