diff --git a/app/controllers/tag_aliases_controller.rb b/app/controllers/tag_aliases_controller.rb index 68116d1db..276502f1b 100644 --- a/app/controllers/tag_aliases_controller.rb +++ b/app/controllers/tag_aliases_controller.rb @@ -1,5 +1,5 @@ class TagAliasesController < ApplicationController - before_action :admin_only, :only => [:approve, :new, :create] + before_action :admin_only, only: [:destroy] respond_to :html, :xml, :json, :js def show @@ -7,20 +7,6 @@ class TagAliasesController < ApplicationController respond_with(@tag_alias) end - def edit - @tag_alias = TagAlias.find(params[:id]) - end - - def update - @tag_alias = TagAlias.find(params[:id]) - - if @tag_alias.is_pending? && @tag_alias.editable_by?(CurrentUser.user) - @tag_alias.update(tag_alias_params) - end - - respond_with(@tag_alias) - end - def index @tag_aliases = TagAlias.paginated_search(params, count_pages: true) @tag_aliases = @tag_aliases.includes(:antecedent_tag, :consequent_tag, :approver) if request.format.html? @@ -30,16 +16,9 @@ class TagAliasesController < ApplicationController def destroy @tag_alias = TagAlias.find(params[:id]) - raise User::PrivilegeError unless @tag_alias.deletable_by?(CurrentUser.user) - @tag_alias.reject! - respond_with(@tag_alias, location: tag_aliases_path, notice: "Tag alias was deleted") - end - def approve - @tag_alias = TagAlias.find(params[:id]) - @tag_alias.approve!(approver: CurrentUser.user) - respond_with(@tag_alias, :location => tag_alias_path(@tag_alias)) + respond_with(@tag_alias, location: tag_aliases_path, notice: "Tag alias was deleted") end private diff --git a/app/controllers/tag_implications_controller.rb b/app/controllers/tag_implications_controller.rb index b7e099f18..76c2f1fe2 100644 --- a/app/controllers/tag_implications_controller.rb +++ b/app/controllers/tag_implications_controller.rb @@ -1,5 +1,5 @@ class TagImplicationsController < ApplicationController - before_action :admin_only, :only => [:new, :create, :approve] + before_action :admin_only, only: [:destroy] respond_to :html, :xml, :json, :js def show @@ -7,20 +7,6 @@ class TagImplicationsController < ApplicationController respond_with(@tag_implication) end - def edit - @tag_implication = TagImplication.find(params[:id]) - end - - def update - @tag_implication = TagImplication.find(params[:id]) - - if @tag_implication.is_pending? && @tag_implication.editable_by?(CurrentUser.user) - @tag_implication.update(tag_implication_params) - end - - respond_with(@tag_implication) - end - def index @tag_implications = TagImplication.paginated_search(params, count_pages: true) @tag_implications = @tag_implications.includes(:antecedent_tag, :consequent_tag, :approver) if request.format.html? @@ -30,16 +16,9 @@ class TagImplicationsController < ApplicationController def destroy @tag_implication = TagImplication.find(params[:id]) - raise User::PrivilegeError unless @tag_implication.deletable_by?(CurrentUser.user) - @tag_implication.reject! - respond_with(@tag_implication, location: tag_implications_path, notice: "Tag implication was deleted") - end - def approve - @tag_implication = TagImplication.find(params[:id]) - @tag_implication.approve!(approver: CurrentUser.user) - respond_with(@tag_implication, :location => tag_implication_path(@tag_implication)) + respond_with(@tag_implication, location: tag_implications_path, notice: "Tag implication was deleted") end private diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 86ff88415..8ce810f13 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -366,10 +366,10 @@ module ApplicationHelper when "moderator/dashboards" /^\/moderator/ - when "tag_aliases", "tag_alias_requests" + when "tag_aliases" /^\/tag_aliases/ - when "tag_implications", "tag_implication_requests" + when "tag_implications", /^\/tag_implications/ when "wiki_pages", "wiki_page_versions" diff --git a/app/models/tag_relationship.rb b/app/models/tag_relationship.rb index 994e2531b..be6827fe2 100644 --- a/app/models/tag_relationship.rb +++ b/app/models/tag_relationship.rb @@ -66,14 +66,7 @@ class TagRelationship < ApplicationRecord end def deletable_by?(user) - return true if user.is_admin? - return true if is_pending? && user.is_builder? - return true if is_pending? && user.id == creator_id - return false - end - - def editable_by?(user) - deletable_by?(user) + user.is_admin? end def reject!(update_topic: true) diff --git a/app/views/tag_alias_requests/new.html.erb b/app/views/tag_alias_requests/new.html.erb deleted file mode 100644 index c08e116ae..000000000 --- a/app/views/tag_alias_requests/new.html.erb +++ /dev/null @@ -1,40 +0,0 @@ -
-
-

Tag Alias Request

- - <%= error_messages_for :tag_alias_request %> - -

You can request a new tag alias be created. This will create a corresponding forum topic for community review.

- - <%= form_tag(tag_alias_request_path, :class => "simple_form") do %> -
- - <%= text_field "tag_alias_request", "antecedent_name", :data => { :autocomplete => "tag" } %> -
- -
- - <%= text_field "tag_alias_request", "consequent_name", :data => { :autocomplete => "tag" } %> -
- -
- <%= dtext_field "tag_alias_request", "reason", :name => "Reason" %> -
- -
- -

You can ignore the wiki page and minimum count requirements

-
- -
- <%= submit_tag "Submit" %> - <%= dtext_preview_button "tag_alias_request", "reason" %> -
- <% end %> -
-
- -<%= render "tag_aliases/secondary_links" %> diff --git a/app/views/tag_aliases/_listing.html.erb b/app/views/tag_aliases/_listing.html.erb index 9fdafc433..09867f87e 100644 --- a/app/views/tag_aliases/_listing.html.erb +++ b/app/views/tag_aliases/_listing.html.erb @@ -21,16 +21,8 @@ <% t.column column: "control", width: "15%" do |tag_alias| %> <%= link_to "Show", tag_alias_path(tag_alias) %> - <% if tag_alias.is_pending? && tag_alias.editable_by?(CurrentUser.user) %> - | <%= link_to "Edit", edit_tag_alias_path(tag_alias) %> - <% end %> - <% if tag_alias.deletable_by?(CurrentUser.user) %> | <%= link_to "Delete", tag_alias_path(tag_alias), :remote => true, :method => :delete, :data => {:confirm => "Are you sure you want to delete this alias?"} %> <% end %> - - <% if CurrentUser.user.is_admin? && tag_alias.is_pending? %> - | <%= link_to "Approve", approve_tag_alias_path(tag_alias), :remote => true, :method => :post %> - <% end %> <% end %> <% end %> diff --git a/app/views/tag_aliases/approve.js.erb b/app/views/tag_aliases/approve.js.erb deleted file mode 100644 index ec051ec70..000000000 --- a/app/views/tag_aliases/approve.js.erb +++ /dev/null @@ -1 +0,0 @@ -$("#tag-alias-status-for-<%= @tag_alias.id %>").html("queued"); diff --git a/app/views/tag_aliases/edit.html.erb b/app/views/tag_aliases/edit.html.erb deleted file mode 100644 index f2211621b..000000000 --- a/app/views/tag_aliases/edit.html.erb +++ /dev/null @@ -1,16 +0,0 @@ -
-
-

Edit Tag Alias

- - <%= error_messages_for :tag_alias %> - - <%= edit_form_for(@tag_alias) do |f| %> - <%= f.input :antecedent_name, :as => :string, :label => "From" %> - <%= f.input :consequent_name, :label => "To" %> - <%= f.input :forum_topic_id, :label => "Forum" %> - <%= f.button :submit, :data => { :disable_with => "Updating..." } %> - <% end %> -
-
- -<%= render "secondary_links" %> diff --git a/app/views/tag_aliases/show.html.erb b/app/views/tag_aliases/show.html.erb index fb6d091e6..531d1d9e7 100644 --- a/app/views/tag_aliases/show.html.erb +++ b/app/views/tag_aliases/show.html.erb @@ -19,10 +19,6 @@ <% end %>
  • Status <%= @tag_alias.status %>
  • - - <% if CurrentUser.is_admin? && @tag_alias.is_pending? %> -
  • Commands <%= link_to "Approve", approve_tag_alias_path(@tag_alias), :method => :post %>
  • - <% end %> diff --git a/app/views/tag_implication_requests/new.html.erb b/app/views/tag_implication_requests/new.html.erb deleted file mode 100644 index b62c53d90..000000000 --- a/app/views/tag_implication_requests/new.html.erb +++ /dev/null @@ -1,40 +0,0 @@ -
    -
    -

    Tag Implication Request

    - - <%= error_messages_for :tag_implication_request %> - -

    You can request a new tag implication be created. This will create a corresponding forum topic for community review.

    - - <%= form_tag(tag_implication_request_path, :class => "simple_form") do %> -
    - - <%= text_field "tag_implication_request", "antecedent_name", :data => { :autocomplete => "tag" } %> -
    - -
    - - <%= text_field "tag_implication_request", "consequent_name", :data => { :autocomplete => "tag" } %> -
    - -
    - <%= dtext_field "tag_implication_request", "reason", :name => "Reason" %> -
    - -
    - -

    You can ignore the wiki page and minimum count requirements

    -
    - -
    - <%= submit_tag "Submit" %> - <%= dtext_preview_button "tag_implication_request", "reason" %> -
    - <% end %> -
    -
    - -<%= render "tag_implications/secondary_links" %> diff --git a/app/views/tag_implications/_listing.html.erb b/app/views/tag_implications/_listing.html.erb index 3d633bc31..09a969cc0 100644 --- a/app/views/tag_implications/_listing.html.erb +++ b/app/views/tag_implications/_listing.html.erb @@ -21,16 +21,8 @@ <% t.column column: "control", width: "15%" do |tag_implication| %> <%= link_to "Show", tag_implication_path(tag_implication) %> - <% if tag_implication.is_pending? && tag_implication.editable_by?(CurrentUser.user) %> - | <%= link_to "Edit", edit_tag_implication_path(tag_implication) %> - <% end %> - <% if tag_implication.deletable_by?(CurrentUser.user) %> | <%= link_to "Delete", tag_implication_path(tag_implication), :remote => true, :method => :delete, :data => {:confirm => "Are you sure you want to delete this implication?"} %> <% end %> - - <% if CurrentUser.user.is_admin? && tag_implication.is_pending? %> - | <%= link_to "Approve", approve_tag_implication_path(tag_implication), :remote => true, :method => :post %> - <% end %> <% end %> <% end %> diff --git a/app/views/tag_implications/approve.js.erb b/app/views/tag_implications/approve.js.erb deleted file mode 100644 index 1849bc49c..000000000 --- a/app/views/tag_implications/approve.js.erb +++ /dev/null @@ -1 +0,0 @@ -$("#tag-implication-status-for-<%= @tag_implication.id %>").html("queued"); diff --git a/app/views/tag_implications/edit.html.erb b/app/views/tag_implications/edit.html.erb deleted file mode 100644 index b91bd9542..000000000 --- a/app/views/tag_implications/edit.html.erb +++ /dev/null @@ -1,16 +0,0 @@ -
    -
    -

    Edit Tag Implication

    - - <%= error_messages_for :tag_implication %> - - <%= edit_form_for(@tag_implication) do |f| %> - <%= f.input :antecedent_name, :label => "From" %> - <%= f.input :consequent_name, :label => "To" %> - <%= f.input :forum_topic_id, :label => "Forum" %> - <%= f.button :submit, :data => { :disable_with => "Updating..." } %> - <% end %> -
    -
    - -<%= render "secondary_links" %> diff --git a/app/views/tag_implications/show.html.erb b/app/views/tag_implications/show.html.erb index a2236267e..f4717d050 100644 --- a/app/views/tag_implications/show.html.erb +++ b/app/views/tag_implications/show.html.erb @@ -19,10 +19,6 @@ <% end %>
  • Status: <%= @tag_implication.status %>
  • - - <% if CurrentUser.is_admin? && @tag_implication.is_pending? %> -
  • Commands <%= link_to "Approve", approve_tag_implication_path(@tag_implication), :method => :post %>
  • - <% end %> diff --git a/config/routes.rb b/config/routes.rb index 7be2ca840..d5ad09293 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -241,16 +241,8 @@ Rails.application.routes.draw do get :autocomplete end end - resources :tag_aliases do - member do - post :approve - end - end - resources :tag_implications do - member do - post :approve - end - end + resources :tag_aliases, only: [:show, :index, :destroy] + resources :tag_implications, only: [:show, :index, :destroy] resources :uploads do collection do post :preprocess diff --git a/test/functional/tag_aliases_controller_test.rb b/test/functional/tag_aliases_controller_test.rb index 1805ca893..540e253eb 100644 --- a/test/functional/tag_aliases_controller_test.rb +++ b/test/functional/tag_aliases_controller_test.rb @@ -7,50 +7,6 @@ class TagAliasesControllerTest < ActionDispatch::IntegrationTest @tag_alias = create(:tag_alias, antecedent_name: "aaa", consequent_name: "bbb") end - context "edit action" do - should "render" do - get_auth edit_tag_alias_path(@tag_alias), @user - assert_response :success - end - end - - context "update action" do - context "for a pending alias" do - setup do - as_admin do - @tag_alias.update(status: "pending") - end - end - - should "succeed" do - put_auth tag_alias_path(@tag_alias), @user, params: {:tag_alias => {:antecedent_name => "xxx"}} - @tag_alias.reload - assert_equal("xxx", @tag_alias.antecedent_name) - end - - should "not allow changing the status" do - put_auth tag_alias_path(@tag_alias), @user, params: {:tag_alias => {:status => "active"}} - @tag_alias.reload - assert_equal("pending", @tag_alias.status) - end - - # TODO: Broken in shoulda-matchers 2.8.0. Need to upgrade to 3.1.1. - # should_eventually permit(:antecedent_name, :consequent_name, :forum_topic_id).for(:update) - end - - context "for an approved alias" do - setup do - @tag_alias.update_attribute(:status, "approved") - end - - should "fail" do - put_auth tag_alias_path(@tag_alias), @user, params: {:tag_alias => {:antecedent_name => "xxx"}} - @tag_alias.reload - assert_equal("aaa", @tag_alias.antecedent_name) - end - end - end - context "index action" do should "list all tag alias" do get_auth tag_aliases_path, @user diff --git a/test/functional/tag_implications_controller_test.rb b/test/functional/tag_implications_controller_test.rb index 81b024837..29dd4dd05 100644 --- a/test/functional/tag_implications_controller_test.rb +++ b/test/functional/tag_implications_controller_test.rb @@ -7,47 +7,6 @@ class TagImplicationsControllerTest < ActionDispatch::IntegrationTest @tag_implication = create(:tag_implication, antecedent_name: "aaa", consequent_name: "bbb") end - context "edit action" do - should "render" do - get_auth tag_implication_path(@tag_implication), @user - assert_response :success - end - end - - context "update action" do - context "for a pending implication" do - setup do - as_admin do - @tag_implication.update(status: "pending") - end - end - - should "succeed" do - put_auth tag_implication_path(@tag_implication), @user, params: {:tag_implication => {:antecedent_name => "xxx"}} - @tag_implication.reload - assert_equal("xxx", @tag_implication.antecedent_name) - end - - should "not allow changing the status" do - put_auth tag_implication_path(@tag_implication), @user, params: {:tag_implication => {:status => "active"}} - @tag_implication.reload - assert_equal("pending", @tag_implication.status) - end - end - - context "for an approved implication" do - setup do - @tag_implication.update_attribute(:status, "approved") - end - - should "fail" do - put_auth tag_implication_path(@tag_implication), @user, params: {:tag_implication => {:antecedent_name => "xxx"}} - @tag_implication.reload - assert_equal("aaa", @tag_implication.antecedent_name) - end - end - end - context "index action" do should "list all tag implications" do get tag_implications_path