diff --git a/app/assets/stylesheets/common/tables.css.scss b/app/assets/stylesheets/common/tables.css.scss index 5d61d6852..17d7e2e52 100644 --- a/app/assets/stylesheets/common/tables.css.scss +++ b/app/assets/stylesheets/common/tables.css.scss @@ -55,3 +55,11 @@ table.search { vertical-align: top; } } + +table.aligned-vertical { + @extend table.search; + + tr { + height: 1.75em; + } +} diff --git a/app/assets/stylesheets/specific/user_name_change_requests.css.scss b/app/assets/stylesheets/specific/user_name_change_requests.css.scss index bfacee695..84324a551 100644 --- a/app/assets/stylesheets/specific/user_name_change_requests.css.scss +++ b/app/assets/stylesheets/specific/user_name_change_requests.css.scss @@ -28,4 +28,4 @@ section { margin-bottom: 1em; } -} \ No newline at end of file +} diff --git a/app/controllers/user_name_change_requests_controller.rb b/app/controllers/user_name_change_requests_controller.rb index 9c2eaaf61..5cbed2686 100644 --- a/app/controllers/user_name_change_requests_controller.rb +++ b/app/controllers/user_name_change_requests_controller.rb @@ -1,7 +1,9 @@ class UserNameChangeRequestsController < ApplicationController - before_filter :gold_only, :only => [:new, :create, :show] - before_filter :admin_only, :only => [:index, :approve, :reject, :destroy] + before_filter :member_only, :only => [:index, :show] + before_filter :gold_only, :only => [:new, :create] + before_filter :admin_only, :only => [:approve, :reject] rescue_from User::PrivilegeError, :with => :access_denied + respond_to :html, :json, :xml def new end @@ -26,10 +28,12 @@ class UserNameChangeRequestsController < ApplicationController def show @change_request = UserNameChangeRequest.find(params[:id]) check_privileges!(@change_request) + respond_with(@change_request) end def index - @change_requests = UserNameChangeRequest.order("id desc").paginate(params[:page], :limit => params[:limit]) + @change_requests = UserNameChangeRequest.visible.order("id desc").paginate(params[:page], :limit => params[:limit]) + respond_with(@change_requests) end def approve @@ -38,12 +42,6 @@ class UserNameChangeRequestsController < ApplicationController redirect_to user_name_change_request_path(@change_request), :notice => "Name change request approved" end - def destroy - @change_request = UserNameChangeRequest.find(params[:id]) - @change_request.destroy - redirect_to user_name_change_requests_path - end - def reject @change_request = UserNameChangeRequest.find(params[:id]) @change_request.reject!(params[:reason]) diff --git a/app/models/user_name_change_request.rb b/app/models/user_name_change_request.rb index ec95a1f87..10c1ff795 100644 --- a/app/models/user_name_change_request.rb +++ b/app/models/user_name_change_request.rb @@ -36,6 +36,10 @@ class UserNameChangeRequest < ActiveRecord::Base def approved? status == "approved" end + + def pending? + status == "pending" + end def normalize_name self.desired_name = desired_name.strip.gsub(/ /, "_") diff --git a/app/views/user_name_change_requests/_secondary_links.html.erb b/app/views/user_name_change_requests/_secondary_links.html.erb new file mode 100644 index 000000000..36fb8c1de --- /dev/null +++ b/app/views/user_name_change_requests/_secondary_links.html.erb @@ -0,0 +1,7 @@ +<% content_for(:secondary_links) do %> + +
  • <%= link_to "Listing", user_name_change_requests_path %>
  • +
  • <%= link_to "New", new_user_name_change_request_path %>
  • +
  • <%= link_to "Help", wiki_pages_path(:search => {:title => "help:user_name_change_requests"}) %>
  • +
    +<% end %> diff --git a/app/views/user_name_change_requests/index.html.erb b/app/views/user_name_change_requests/index.html.erb index 6cdb482fd..83f8b3fc3 100644 --- a/app/views/user_name_change_requests/index.html.erb +++ b/app/views/user_name_change_requests/index.html.erb @@ -5,15 +5,35 @@ User - Desired + Request + Reason + Status + Date <% @change_requests.each do |change_request| %> - <%= link_to change_request.original_name, user_path(change_request.user_id) %> - <%= change_request.desired_name %> + <%= link_to_user change_request.user %> + + <%= change_request.original_name %> -> + <%= change_request.desired_name %> + + + <% if CurrentUser.is_admin? || CurrentUser.user == change_request.user %> + <%= change_request.change_reason %> + <% end %> + + + <%= change_request.status %> + <% if change_request.approved? %> + by <%= link_to_user change_request.approver %> + <% elsif change_request.rejected? %> + for reason: <%= link_to change_request.rejection_reason %> + <% end %> + + <%= compact_time change_request.created_at %> <%= link_to "view", user_name_change_request_path(change_request) %> <% end %> @@ -22,3 +42,5 @@ <%= numbered_paginator(@change_requests) %> + +<%= render "secondary_links" %> diff --git a/app/views/user_name_change_requests/new.html.erb b/app/views/user_name_change_requests/new.html.erb index 08db5a1af..6fc582a58 100644 --- a/app/views/user_name_change_requests/new.html.erb +++ b/app/views/user_name_change_requests/new.html.erb @@ -19,3 +19,5 @@ <%= submit_tag "Submit", :data => { :disable_with => "Submitting..." } %> <% end %> + +<%= render "secondary_links" %> diff --git a/app/views/user_name_change_requests/show.html.erb b/app/views/user_name_change_requests/show.html.erb index 86275df27..d1998fe04 100644 --- a/app/views/user_name_change_requests/show.html.erb +++ b/app/views/user_name_change_requests/show.html.erb @@ -1,49 +1,70 @@

    Name Change Request

    - -
    -

    <%= @change_request.original_name %> is requesting to change their name to <%= @change_request.desired_name %>.

    -
    - -
    -

    Reason

    -

    <%= @change_request.change_reason %>

    -
    -
    -

    Feedback

    - -
    + + + + + + + + + + + + + + + + + + + + + + + +
    Date + <%= compact_time @change_request.created_at %> + <% if @change_request.updated_at - @change_request.created_at > 5.minutes %> + (updated <%= time_ago_in_words_tagged @change_request.updated_at %>) + <% end %> +
    User<%= link_to_user @change_request.user %>
    Request + <%= @change_request.original_name %> -> + <%= @change_request.desired_name %> +
    Reason<%= @change_request.change_reason %>
    Status + <%= @change_request.status %> + <% if @change_request.approved? %> + by <%= link_to_user @change_request.approver %> + <% elsif @change_request.rejected? %> + for reason: <%= link_to @change_request.rejection_reason %> + <% end %> +
    + + <% if @change_request.pending? && CurrentUser.user.is_admin? %> +
    +

    Feedback

    + +
    -
    -

    Statistics

    - -
    - - <% if @change_request.rejected? %>
    -

    Request was rejected

    +

    Statistics

    +
    - - <% elsif @change_request.approved? && @change_request.approver %> -
    -

    Request was approved by <%= @change_request.approver.name %>

    -
    - - <% elsif CurrentUser.user.is_admin? %> +

    Options

    <%= form_tag(approve_user_name_change_request_path(@change_request)) do %> @@ -62,11 +83,6 @@ <% end %>
    <% end %> - -
    - <%= form_tag(user_name_change_request_path(@change_request), :method => :delete) do %> - <%= submit_tag "Delete" %> - <% end %> -
    +<%= render "secondary_links" %> diff --git a/test/functional/user_name_change_requests_controller_test.rb b/test/functional/user_name_change_requests_controller_test.rb index 03752e1a9..d9ae1fd41 100644 --- a/test/functional/user_name_change_requests_controller_test.rb +++ b/test/functional/user_name_change_requests_controller_test.rb @@ -61,13 +61,6 @@ class UserNameChangeRequestsControllerTest < ActionController::TestCase assert_redirected_to(user_name_change_request_path(@change_request)) end end - - context "destroy action" do - should "destroy" do - post :destroy, {:id => @change_request.id}, {:user_id => @admin.id} - assert_redirected_to(user_name_change_requests_path) - end - end end end end