Skip to content

Commit

Permalink
Rename generic_work_id columns to work_id
Browse files Browse the repository at this point in the history
This will position us to be able to use more work types (besides
`GenericWork`) in the furture
  • Loading branch information
jcoyne committed May 16, 2016
1 parent 086d442 commit 7f94d38
Show file tree
Hide file tree
Showing 42 changed files with 108 additions and 109 deletions.
2 changes: 1 addition & 1 deletion app/assets/javascripts/sufia/trophy.js
Expand Up @@ -3,7 +3,7 @@ function toggleTrophy(url, anchor) {
url: url,
type: "post",
success: function(data) {
gid = data.generic_work_id;
gid = data.work_id;
if (anchor.hasClass("trophy-on")){
// we've just removed the trophy
trophyOff(anchor);
Expand Down
Expand Up @@ -61,7 +61,7 @@ def destroy
def authorize_depositor_by_id
@id = params[:id]
authorize! :transfer, @id
@proxy_deposit_request.generic_work_id = @id
@proxy_deposit_request.work_id = @id
rescue CanCan::AccessDenied
redirect_to root_url, alert: 'You are not authorized to transfer this work.'
end
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/concerns/sufia/users_controller_behavior.rb
Expand Up @@ -57,7 +57,7 @@ def update
# TODO: this should be moved to TrophiesController
params.keys.select { |k, _v| k.starts_with? 'remove_trophy_' }.each do |smash_trophy|
smash_trophy = smash_trophy.sub(/^remove_trophy_/, '')
current_user.trophies.where(generic_work_id: smash_trophy).destroy_all
current_user.trophies.where(work_id: smash_trophy).destroy_all
end
UserEditProfileEventJob.perform_later(@user)
redirect_to sufia.profile_path(@user.to_param), notice: "Your profile has been updated"
Expand All @@ -73,12 +73,12 @@ def toggle_trophy
redirect_to root_path, alert: "You do not have permissions to the work"
return false
end
t = current_user.trophies.where(generic_work_id: work_id).first
t = current_user.trophies.where(work_id: work_id).first
if t
t.destroy
return false if t.persisted?
else
t = current_user.trophies.create(generic_work_id: work_id)
t = current_user.trophies.create(work_id: work_id)
return false unless t.persisted?
end
render json: t
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/featured_works_controller.rb
@@ -1,7 +1,7 @@
class FeaturedWorksController < ApplicationController
def create
authorize! :create, FeaturedWork
@featured_work = FeaturedWork.new(generic_work_id: params[:id])
@featured_work = FeaturedWork.new(work_id: params[:id])

respond_to do |format|
if @featured_work.save
Expand All @@ -14,7 +14,7 @@ def create

def destroy
authorize! :destroy, FeaturedWork
@featured_work = FeaturedWork.find_by(generic_work_id: params[:id])
@featured_work = FeaturedWork.find_by(work_id: params[:id])
@featured_work.destroy

respond_to do |format|
Expand Down
2 changes: 1 addition & 1 deletion app/helpers/sufia/sufia_helper_behavior.rb
Expand Up @@ -57,7 +57,7 @@ def show_transfer_request_title(req)
if req.deleted_work? || req.canceled?
req.to_s
else
link_to(req.to_s, curation_concerns_generic_work_path(req.generic_work_id))
link_to(req.to_s, curation_concerns_generic_work_path(req.work_id))
end
end

Expand Down
2 changes: 1 addition & 1 deletion app/helpers/trophy_helper.rb
Expand Up @@ -2,7 +2,7 @@
module TrophyHelper
def display_trophy_link(user, id, args = {}, &_block)
return unless user
trophy = user.trophies.where(generic_work_id: id).first
trophy = user.trophies.where(work_id: id).first
trophyclass = trophy ? "trophy-on" : "trophy-off"

args[:add_text] ||= "Highlight Work on Profile"
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/sufia/proxy_deposit.rb
Expand Up @@ -23,7 +23,7 @@ def create_transfer_request
def request_transfer_to(target)
raise ArgumentError, "Must provide a target" unless target
deposit_user = ::User.find_by_user_key(depositor)
ProxyDepositRequest.create!(generic_work_id: id, receiving_user: target, sending_user: deposit_user)
ProxyDepositRequest.create!(work_id: id, receiving_user: target, sending_user: deposit_user)
end
end
end
4 changes: 2 additions & 2 deletions app/models/concerns/sufia/user.rb
Expand Up @@ -115,9 +115,9 @@ def to_param
def trophy_works
trophies.map do |t|
begin
::GenericWork.load_instance_from_solr(t.generic_work_id)
::GenericWork.load_instance_from_solr(t.work_id)
rescue ActiveFedora::ObjectNotFoundError
logger.error("Invalid trophy for user #{user_key} (generic work id #{t.generic_work_id})")
logger.error("Invalid trophy for user #{user_key} (work id #{t.work_id})")
nil
end
end.compact
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/sufia/works/trophies.rb
Expand Up @@ -6,7 +6,7 @@ module Trophies
end

def cleanup_trophies
Trophy.destroy_all(generic_work_id: id)
Trophy.destroy_all(work_id: id)
end
end
end
4 changes: 2 additions & 2 deletions app/models/featured_work_list.rb
Expand Up @@ -32,14 +32,14 @@ def add_solr_document_to_works
end

def ids
@works.pluck(:generic_work_id)
@works.pluck(:work_id)
end

def solr_docs
ActiveFedora::SolrService.query(ActiveFedora::SolrQueryBuilder.construct_query_for_ids(ids))
end

def work_with_id(id)
@works.find { |w| w.generic_work_id == id }
@works.find { |w| w.work_id == id }
end
end
12 changes: 6 additions & 6 deletions app/models/proxy_deposit_request.rb
Expand Up @@ -5,10 +5,10 @@ class ProxyDepositRequest < ActiveRecord::Base
belongs_to :receiving_user, class_name: 'User'
belongs_to :sending_user, class_name: 'User'

# attribute generic_work_id exists as result of renaming in db migrations.
# attribute work_id exists as result of renaming in db migrations.
# See upgrade700_generator.rb

validates :sending_user, :generic_work_id, presence: true
validates :sending_user, :work_id, presence: true
validate :transfer_to_should_be_a_valid_username
validate :sending_user_should_not_be_receiving_user
validate :should_not_be_already_part_of_a_transfer
Expand All @@ -31,7 +31,7 @@ def sending_user_should_not_be_receiving_user
end

def should_not_be_already_part_of_a_transfer
transfers = ProxyDepositRequest.where(generic_work_id: generic_work_id, status: 'pending')
transfers = ProxyDepositRequest.where(work_id: work_id, status: 'pending')
errors.add(:open_transfer, 'must close open transfer on the work before creating a new one') unless transfers.blank? || (transfers.count == 1 && transfers[0].id == id)
end

Expand Down Expand Up @@ -80,11 +80,11 @@ def canceled?
end

def deleted_work?
!GenericWork.exists?(generic_work_id)
!GenericWork.exists?(work_id)
end

def generic_work
@generic_work ||= GenericWork.find(generic_work_id)
@generic_work ||= GenericWork.find(work_id)
end

# Delegate to the SolrDocument of the work
Expand All @@ -102,6 +102,6 @@ def solr_response
end

def query
ActiveFedora::SolrQueryBuilder.construct_query_for_ids([generic_work_id])
ActiveFedora::SolrQueryBuilder.construct_query_for_ids([work_id])
end
end
2 changes: 1 addition & 1 deletion app/presenters/sufia/work_show_presenter.rb
Expand Up @@ -41,7 +41,7 @@ def stats_path

def featured?
if @featured.nil?
@featured = FeaturedWork.where(generic_work_id: solr_document.id).exists?
@featured = FeaturedWork.where(work_id: solr_document.id).exists?
end
@featured
end
Expand Down
2 changes: 1 addition & 1 deletion app/search_builders/sufia/search_builder.rb
Expand Up @@ -33,7 +33,7 @@ def show_only_shared_files(solr_parameters)
end

def show_only_highlighted_works(solr_parameters)
ids = scope.current_user.trophies.pluck(:generic_work_id)
ids = scope.current_user.trophies.pluck(:work_id)
solr_parameters[:fq] ||= []
solr_parameters[:fq] += [
ActiveFedora::SolrQueryBuilder.construct_query_for_ids(ids)
Expand Down
2 changes: 1 addition & 1 deletion lib/generators/sufia/install_generator.rb
Expand Up @@ -78,7 +78,7 @@ def inject_sufia_user_behavior
end
end

def inject_sufia_generic_work_behavior
def inject_sufia_work_behavior
insert_into_file 'app/models/generic_work.rb', after: 'include ::CurationConcerns::BasicMetadata' do
"\n include Sufia::WorkBehavior" \
"\n self.human_readable_type = 'Work'"
Expand Down

This file was deleted.

@@ -0,0 +1,6 @@
class ChangeFeaturedWorkGenericFileIdToWorkId < ActiveRecord::Migration
def change
return unless column_exists?(:featured_works, :generic_file_id)
rename_column :featured_works, :generic_file_id, :work_id
end
end

This file was deleted.

@@ -0,0 +1,5 @@
class ChangeProxyDepositGenericFileIdToWorkId < ActiveRecord::Migration
def change
rename_column :proxy_deposit_requests, :generic_file_id, :work_id
end
end

This file was deleted.

@@ -0,0 +1,5 @@
class ChangeProxyDepositRequestGenericFileIdToWorkId < ActiveRecord::Migration
def change
rename_column :proxy_deposit_requests, :generic_file_id, :generic_id if ProxyDepositRequest.column_names.include?('generic_file_id')
end
end

This file was deleted.

@@ -0,0 +1,5 @@
class ChangeTrophyGenericFileIdToWorkId < ActiveRecord::Migration
def change
rename_column :trophies, :generic_file_id, :work_id
end
end
Expand Up @@ -2,11 +2,11 @@ class CreateFeaturedWorks < ActiveRecord::Migration
def change
create_table :featured_works do |t|
t.integer :order, default: 5
t.string :generic_work_id
t.string :work_id

t.timestamps null: false
end
add_index :featured_works, :generic_work_id
add_index :featured_works, :work_id
add_index :featured_works, :order
end
end
8 changes: 4 additions & 4 deletions lib/generators/sufia/upgrade700_generator.rb
Expand Up @@ -24,11 +24,11 @@ def update_catalog_controller
# Setup the database migrations
def copy_migrations
[
'change_trophy_generic_file_id_to_generic_work_id.rb',
'change_proxy_deposit_generic_file_id_to_generic_work_id.rb',
'change_trophy_generic_file_id_to_work_id.rb',
'change_proxy_deposit_generic_file_id_to_work_id.rb',
'change_audit_log_generic_file_id_to_file_set_id.rb',
'change_proxy_deposit_request_generic_file_id_to_generic_work_id.rb',
'change_featured_work_generic_file_id_to_generic_work_id.rb'
'change_proxy_deposit_request_generic_file_id_to_work_id.rb',
'change_featured_work_generic_file_id_to_work_id.rb'
].each do |file|
better_migration_template file
end
Expand Down
4 changes: 2 additions & 2 deletions spec/controllers/dashboard_controller_spec.rb
Expand Up @@ -47,7 +47,7 @@
get :index
expect(response).to be_success
expect(assigns[:incoming].first).to be_kind_of ProxyDepositRequest
expect(assigns[:incoming].first.generic_work_id).to eq(incoming_work.id)
expect(assigns[:incoming].first.work_id).to eq(incoming_work.id)
end
end

Expand All @@ -64,7 +64,7 @@
get :index
expect(response).to be_success
expect(assigns[:outgoing].first).to be_kind_of ProxyDepositRequest
expect(assigns[:outgoing].first.generic_work_id).to eq(outgoing_work.id)
expect(assigns[:outgoing].first.work_id).to eq(outgoing_work.id)
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions spec/controllers/featured_works_controller_spec.rb
Expand Up @@ -19,7 +19,7 @@
context "when there are 5 featured works" do
before do
5.times do |n|
FeaturedWork.create(generic_work_id: n.to_s)
FeaturedWork.create(work_id: n.to_s)
end
end
it "does not create another" do
Expand All @@ -32,7 +32,7 @@
end

describe "#destroy" do
let!(:featured_work) { FactoryGirl.create(:featured_work, generic_work_id: '1234abcd') }
let!(:featured_work) { FactoryGirl.create(:featured_work, work_id: '1234abcd') }

before do
sign_in FactoryGirl.create(:user)
Expand Down
2 changes: 1 addition & 1 deletion spec/controllers/homepage_controller_spec.rb
Expand Up @@ -83,7 +83,7 @@
let!(:my_work) { FactoryGirl.create(:work, user: user) }

before do
FeaturedWork.create!(generic_work_id: my_work.id)
FeaturedWork.create!(work_id: my_work.id)
end

it "sets featured works" do
Expand Down
8 changes: 4 additions & 4 deletions spec/controllers/my/highlights_controller_spec.rb
Expand Up @@ -10,22 +10,22 @@
GenericWork.destroy_all
Collection.destroy_all
@highlighted_work = create(:generic_work, user: user)
user.trophies.create(generic_work_id: @highlighted_work.id)
user.trophies.create(work_id: @highlighted_work.id)

@normal_work = create(:generic_work, user: user)
other_user = create(:user)
@unrelated_highlighted_work = create(:generic_work, user: other_user).tap do |r|
r.edit_users += [user.user_key]
r.save!
end
other_user.trophies.create(generic_work_id: @unrelated_highlighted_work.id)
other_user.trophies.create(work_id: @unrelated_highlighted_work.id)
end

it "paginates" do
work1 = create(:work, user: user)
work2 = create(:work, user: user)
user.trophies.create!(generic_work_id: work1.id)
user.trophies.create!(generic_work_id: work2.id)
user.trophies.create!(work_id: work1.id)
user.trophies.create!(work_id: work2.id)
get :index, per_page: 2
expect(assigns[:document_list].length).to eq 2
get :index, per_page: 2, page: 2
Expand Down
8 changes: 4 additions & 4 deletions spec/controllers/transfers_controller_spec.rb
Expand Up @@ -29,9 +29,9 @@
get :index
expect(response).to be_success
expect(assigns[:incoming].first).to be_kind_of ProxyDepositRequest
expect(assigns[:incoming].first.generic_work_id).to eq(incoming_work.id)
expect(assigns[:incoming].first.work_id).to eq(incoming_work.id)
expect(assigns[:outgoing].first).to be_kind_of ProxyDepositRequest
expect(assigns[:outgoing].first.generic_work_id).to eq(outgoing_work.id)
expect(assigns[:outgoing].first.work_id).to eq(outgoing_work.id)
end

describe "When the incoming request is for a deleted work" do
Expand Down Expand Up @@ -59,7 +59,7 @@
expect(response).to be_success
expect(assigns[:generic_work]).to eq(work)
expect(assigns[:proxy_deposit_request]).to be_kind_of ProxyDepositRequest
expect(assigns[:proxy_deposit_request].generic_work_id).to eq(work.id)
expect(assigns[:proxy_deposit_request].work_id).to eq(work.id)
end
end
end
Expand All @@ -78,7 +78,7 @@
expect(response).to redirect_to @routes.url_helpers.transfers_path
expect(flash[:notice]).to eq('Transfer request created')
proxy_request = another_user.proxy_deposit_requests.first
expect(proxy_request.generic_work_id).to eq(work.id)
expect(proxy_request.work_id).to eq(work.id)
expect(proxy_request.sending_user).to eq(user)
# AND A NOTIFICATION SHOULD HAVE BEEN CREATED
notification = another_user.reload.mailbox.inbox[0].messages[0]
Expand Down

0 comments on commit 7f94d38

Please sign in to comment.