diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-08-10 15:39:06 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-08-10 16:22:31 +0200 |
commit | e5a603206dfa76e2cd1b8a7fbb940fbd844b436c (patch) | |
tree | c3271f86b91ce2d13aea4f111dad6da4d07dcc04 /app/controllers | |
parent | 90b492143dae5cbaf884b12fbfd823c9f65d392f (diff) | |
parent | 5b8603879f06573d51c5c33edda6f410d1af7a02 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: app/controllers/accounts_controller.rb app/javascript/mastodon/locales/pl.json app/views/about/more.html.haml Conflicts in `accounts_controller.rb` resolved by taking upstream's version + our `use_pack`. Conflicts in `pl.json` resolved by taking upstream's changes. Conflicts in `aboute/more.html.haml` resolved by taking upstream's changes.
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/about_controller.rb | 8 | ||||
-rw-r--r-- | app/controllers/accounts_controller.rb | 5 | ||||
-rw-r--r-- | app/controllers/api/v1/accounts/pins_controller.rb | 32 |
3 files changed, 41 insertions, 4 deletions
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb index a620d7c5f..ce1e8293c 100644 --- a/app/controllers/about_controller.rb +++ b/app/controllers/about_controller.rb @@ -10,9 +10,13 @@ class AboutController < ApplicationController @initial_state_json = serializable_resource.to_json end - def more; end + def more + render layout: 'public' + end - def terms; end + def terms + render layout: 'public' + end private diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 35ee5cca9..3d20f0e88 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -11,8 +11,9 @@ class AccountsController < ApplicationController respond_to do |format| format.html do use_pack 'public' - @body_classes = 'with-modals' - @pinned_statuses = [] + @body_classes = 'with-modals' + @pinned_statuses = [] + @endorsed_accounts = @account.endorsed_accounts.to_a.sample(4) if current_account && @account.blocking?(current_account) @statuses = [] diff --git a/app/controllers/api/v1/accounts/pins_controller.rb b/app/controllers/api/v1/accounts/pins_controller.rb new file mode 100644 index 000000000..0a0239c42 --- /dev/null +++ b/app/controllers/api/v1/accounts/pins_controller.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +class Api::V1::Accounts::PinsController < Api::BaseController + include Authorization + + before_action -> { doorkeeper_authorize! :write, :'write:accounts' } + before_action :require_user! + before_action :set_account + + respond_to :json + + def create + AccountPin.create!(account: current_account, target_account: @account) + render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter + end + + def destroy + pin = AccountPin.find_by(account: current_account, target_account: @account) + pin&.destroy! + render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter + end + + private + + def set_account + @account = Account.find(params[:account_id]) + end + + def relationships_presenter + AccountRelationshipsPresenter.new([@account.id], current_user.account_id) + end +end |