parent
f8c4dc9723
commit
33ba32e6cc
|
@ -175,3 +175,17 @@
|
||||||
color: $profile-settings-link-color;
|
color: $profile-settings-link-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.profile-settings-message {
|
||||||
|
line-height: 32px;
|
||||||
|
color: #9E8E60;
|
||||||
|
background-color: #FBF2D9;
|
||||||
|
border: 1px solid #F0E2BB;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oauth-applications {
|
||||||
|
form {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -11,6 +11,10 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
|
||||||
head :forbidden and return
|
head :forbidden and return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def new
|
||||||
|
redirect_to applications_profile_url
|
||||||
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@application = Doorkeeper::Application.new(application_params)
|
@application = Doorkeeper::Application.new(application_params)
|
||||||
|
|
||||||
|
@ -20,7 +24,7 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
|
||||||
flash[:notice] = I18n.t(:notice, scope: [:doorkeeper, :flash, :applications, :create])
|
flash[:notice] = I18n.t(:notice, scope: [:doorkeeper, :flash, :applications, :create])
|
||||||
redirect_to oauth_application_url(@application)
|
redirect_to oauth_application_url(@application)
|
||||||
else
|
else
|
||||||
render :new
|
redirect_to applications_profile_url, flash: {application: @application}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ class ProfilesController < Profiles::ApplicationController
|
||||||
@authorized_tokens = current_user.oauth_authorized_tokens
|
@authorized_tokens = current_user.oauth_authorized_tokens
|
||||||
@authorized_anonymous_tokens = @authorized_tokens.reject(&:application)
|
@authorized_anonymous_tokens = @authorized_tokens.reject(&:application)
|
||||||
@authorized_apps = @authorized_tokens.map(&:application).uniq - [nil]
|
@authorized_apps = @authorized_tokens.map(&:application).uniq - [nil]
|
||||||
|
@application = flash[:application] || Doorkeeper::Application.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
- submit_btn_css ||= 'btn btn-link btn-remove btn-sm'
|
- submit_btn_css ||= 'btn btn-link btn-remove btn-sm'
|
||||||
= form_tag oauth_application_path(application) do
|
= form_tag oauth_application_path(application) do
|
||||||
%input{:name => "_method", :type => "hidden", :value => "delete"}/
|
%input{:name => "_method", :type => "hidden", :value => "delete"}/
|
||||||
= submit_tag 'Destroy', onclick: "return confirm('Are you sure?')", class: submit_btn_css
|
- if defined? small
|
||||||
|
= button_tag type: "submit", class: "btn btn-transparent", data: { confirm: "Are you sure?" } do
|
||||||
|
%span.sr-only
|
||||||
|
Destroy
|
||||||
|
= icon('trash')
|
||||||
|
- else
|
||||||
|
= submit_tag 'Destroy', data: { confirm: "Are you sure?" }, class: submit_btn_css
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
= form_for application, url: doorkeeper_submit_path(application), html: {class: 'form-horizontal', role: 'form'} do |f|
|
= form_for application, url: doorkeeper_submit_path(application), html: {role: 'form'} do |f|
|
||||||
- if application.errors.any?
|
- if application.errors.any?
|
||||||
.alert.alert-danger
|
.alert.alert-danger
|
||||||
%ul
|
%ul
|
||||||
|
@ -6,25 +6,20 @@
|
||||||
%li= msg
|
%li= msg
|
||||||
|
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :name, class: 'control-label'
|
= f.label :name, class: 'label-light'
|
||||||
|
= f.text_field :name, class: 'form-control', required: true
|
||||||
.col-sm-10
|
|
||||||
= f.text_field :name, class: 'form-control', required: true
|
|
||||||
|
|
||||||
.form-group
|
.form-group
|
||||||
= f.label :redirect_uri, class: 'control-label'
|
= f.label :redirect_uri, class: 'label-light'
|
||||||
|
= f.text_area :redirect_uri, class: 'form-control', required: true
|
||||||
.col-sm-10
|
|
||||||
= f.text_area :redirect_uri, class: 'form-control', required: true
|
|
||||||
|
|
||||||
|
%span.help-block
|
||||||
|
Use one line per URI
|
||||||
|
- if Doorkeeper.configuration.native_redirect_uri
|
||||||
%span.help-block
|
%span.help-block
|
||||||
Use one line per URI
|
Use
|
||||||
- if Doorkeeper.configuration.native_redirect_uri
|
%code= Doorkeeper.configuration.native_redirect_uri
|
||||||
%span.help-block
|
for local tests
|
||||||
Use
|
|
||||||
%code= Doorkeeper.configuration.native_redirect_uri
|
|
||||||
for local tests
|
|
||||||
|
|
||||||
.form-actions
|
.prepend-top-default
|
||||||
= f.submit 'Submit', class: "btn btn-create"
|
= f.submit 'Add application', class: "btn btn-create"
|
||||||
= link_to "Cancel", applications_profile_path, class: "btn btn-cancel"
|
|
||||||
|
|
|
@ -1,70 +1,83 @@
|
||||||
- page_title "Applications"
|
- page_title "Applications"
|
||||||
- header_title page_title, applications_profile_path
|
- header_title page_title, applications_profile_path
|
||||||
|
|
||||||
.alert.alert-help.prepend-top-default
|
.row.prepend-top-default
|
||||||
- if user_oauth_applications?
|
.col-lg-3.profile-settings-sidebar
|
||||||
Manage applications that can use GitLab as an OAuth provider,
|
%h4.prepend-top-0
|
||||||
and applications that you've authorized to use your account.
|
= page_title
|
||||||
- else
|
%p
|
||||||
Manage applications that you've authorized to use your account.
|
- if user_oauth_applications?
|
||||||
|
Manage applications that can use GitLab as an OAuth provider,
|
||||||
|
and applications that you've authorized to use your account.
|
||||||
|
- else
|
||||||
|
Manage applications that you've authorized to use your account.
|
||||||
|
.col-lg-9
|
||||||
|
- if user_oauth_applications?
|
||||||
|
%h5
|
||||||
|
Add new application
|
||||||
|
= render 'doorkeeper/applications/form', application: @application
|
||||||
|
%hr
|
||||||
|
- if user_oauth_applications?
|
||||||
|
.oauth-applications
|
||||||
|
%h5
|
||||||
|
Your applications (#{@applications.size})
|
||||||
|
- if @applications.any?
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-striped
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th Name
|
||||||
|
%th Callback URL
|
||||||
|
%th Clients
|
||||||
|
%th{width: 105}
|
||||||
|
%tbody
|
||||||
|
- @applications.each do |application|
|
||||||
|
%tr{:id => "application_#{application.id}"}
|
||||||
|
%td= link_to application.name, oauth_application_path(application)
|
||||||
|
%td
|
||||||
|
- application.redirect_uri.split.each do |uri|
|
||||||
|
%div= uri
|
||||||
|
%td= application.access_tokens.count
|
||||||
|
%td
|
||||||
|
= link_to edit_oauth_application_path(application), class: "btn btn-transparent append-right-5" do
|
||||||
|
%span.sr-only
|
||||||
|
Edit
|
||||||
|
= icon('pencil')
|
||||||
|
= render 'doorkeeper/applications/delete_form', application: application, small: true
|
||||||
|
- else
|
||||||
|
.profile-settings-message.text-center
|
||||||
|
You don't have any applications
|
||||||
|
.oauth-authorized-applications.prepend-top-20
|
||||||
|
- if user_oauth_applications?
|
||||||
|
%h5
|
||||||
|
Authorized applications (#{@authorized_tokens.size})
|
||||||
|
|
||||||
- if user_oauth_applications?
|
- if @authorized_tokens.any?
|
||||||
.oauth-applications
|
.table-responsive
|
||||||
%h3
|
%table.table.table-striped
|
||||||
Your applications
|
%thead
|
||||||
.pull-right
|
%tr
|
||||||
= link_to 'New Application', new_oauth_application_path, class: 'btn btn-success'
|
%th Name
|
||||||
- if @applications.any?
|
%th Authorized At
|
||||||
.table-holder
|
%th Scope
|
||||||
%table.table.table-striped
|
%th
|
||||||
%thead
|
%tbody
|
||||||
%tr
|
- @authorized_apps.each do |app|
|
||||||
%th Name
|
- token = app.authorized_tokens.order('created_at desc').first
|
||||||
%th Callback URL
|
%tr{:id => "application_#{app.id}"}
|
||||||
%th Clients
|
%td= app.name
|
||||||
%th
|
%td= token.created_at
|
||||||
%th
|
%td= token.scopes
|
||||||
%tbody
|
%td= render 'doorkeeper/authorized_applications/delete_form', application: app
|
||||||
- @applications.each do |application|
|
- @authorized_anonymous_tokens.each do |token|
|
||||||
%tr{:id => "application_#{application.id}"}
|
%tr
|
||||||
%td= link_to application.name, oauth_application_path(application)
|
%td
|
||||||
%td
|
Anonymous
|
||||||
- application.redirect_uri.split.each do |uri|
|
%div.help-block
|
||||||
%div= uri
|
%em Authorization was granted by entering your username and password in the application.
|
||||||
%td= application.access_tokens.count
|
%td= token.created_at
|
||||||
%td= link_to 'Edit', edit_oauth_application_path(application), class: 'btn btn-link btn-sm'
|
%td= token.scopes
|
||||||
%td= render 'doorkeeper/applications/delete_form', application: application
|
%td= render 'doorkeeper/authorized_applications/delete_form', token: token
|
||||||
|
- else
|
||||||
.oauth-authorized-applications.prepend-top-20
|
.profile-settings-message.text-center
|
||||||
- if user_oauth_applications?
|
You don't have any authorized applications
|
||||||
%h3
|
|
||||||
Authorized applications
|
|
||||||
|
|
||||||
- if @authorized_tokens.any?
|
|
||||||
.table-holder
|
|
||||||
%table.table.table-striped
|
|
||||||
%thead
|
|
||||||
%tr
|
|
||||||
%th Name
|
|
||||||
%th Authorized At
|
|
||||||
%th Scope
|
|
||||||
%th
|
|
||||||
%tbody
|
|
||||||
- @authorized_apps.each do |app|
|
|
||||||
- token = app.authorized_tokens.order('created_at desc').first
|
|
||||||
%tr{:id => "application_#{app.id}"}
|
|
||||||
%td= app.name
|
|
||||||
%td= token.created_at
|
|
||||||
%td= token.scopes
|
|
||||||
%td= render 'doorkeeper/authorized_applications/delete_form', application: app
|
|
||||||
- @authorized_anonymous_tokens.each do |token|
|
|
||||||
%tr
|
|
||||||
%td
|
|
||||||
Anonymous
|
|
||||||
%div.help-block
|
|
||||||
%em Authorization was granted by entering your username and password in the application.
|
|
||||||
%td= token.created_at
|
|
||||||
%td= token.scopes
|
|
||||||
%td= render 'doorkeeper/authorized_applications/delete_form', token: token
|
|
||||||
- else
|
|
||||||
%p.light You don't have any authorized applications
|
|
||||||
|
|
Loading…
Reference in New Issue