Skip to content

Commit

Permalink
copy files from 1.3 branch
Browse files Browse the repository at this point in the history
  • Loading branch information
nabeta committed Jul 8, 2019
1 parent 0cb253b commit b246465
Show file tree
Hide file tree
Showing 288 changed files with 1,136 additions and 4,868 deletions.
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@ gem 'enju_leaf', github: 'next-l/enju_leaf'
gem 'enju_library', github: 'next-l/enju_library'
gem 'enju_biblio', github: 'next-l/enju_biblio'
gem 'enju_subject', github: 'next-l/enju_subject'
gem 'enju_manifestation_viewer', github: 'next-l/enju_manifestation_viewer'
gem 'enju_circulation', github: 'next-l/enju_circulation'
gem 'enju_message', github: 'next-l/enju_message'
gem 'enju_event', github: 'next-l/enju_event'
gem 'paper_trail'
gem 'jbuilder'
gem 'rspec_junit_formatter', group: :test

# To use debugger
Expand Down
14 changes: 14 additions & 0 deletions app/controllers/inventory_files_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,23 @@ def index
# GET /inventory_files/1
# GET /inventory_files/1.json
def show
if @inventory_file.inventory.path
unless ENV['ENJU_STORAGE'] == 's3'
file = @inventory_file.inventory.path
end
end

respond_to do |format|
format.html # show.html.erb
format.json { render json: @inventory_file }
format.download {
if ENV['ENJU_STORAGE'] == 's3'
send_data Faraday.get(@inventory_file.inventory.expiring_url).body.force_encoding('UTF-8'),
filename: File.basename(@inventory_file.inventory_file_name), type: 'application/octet-stream'
else
send_file file, filename: @inventory_file.inventory_file_name, type: 'application/octet-stream'
end
}
end
end

Expand Down
10 changes: 5 additions & 5 deletions app/models/inventory.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ class Inventory < ActiveRecord::Base
#
# Table name: inventories
#
# id :bigint(8) not null, primary key
# item_id :uuid
# inventory_file_id :uuid
# id :integer not null, primary key
# item_id :integer
# inventory_file_id :integer
# note :text
# created_at :datetime not null
# updated_at :datetime not null
# created_at :datetime
# updated_at :datetime
#
45 changes: 36 additions & 9 deletions app/models/inventory_file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,57 @@ class InventoryFile < ActiveRecord::Base
has_many :inventories, dependent: :destroy
has_many :items, through: :inventories
belongs_to :user
validates :user, presence: true
validates_presence_of :user

if ENV['ENJU_STORAGE'] == 's3'
has_attached_file :inventory, storage: :s3,
s3_credentials: {
access_key: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
bucket: ENV['S3_BUCKET_NAME']
},
s3_permissions: :private
else
has_attached_file :inventory,
path: ":rails_root/private/system/:class/:attachment/:id_partition/:style/:filename"
end
validates_attachment_content_type :inventory, content_type: ['text/csv', 'text/plain', 'text/tab-separated-values']
validates_attachment_presence :inventory

has_one_attached :inventory
paginates_per 10

def import
inventory.download.split.each do |row|
item = Item.find_by(item_identifier: row.to_s.strip)
self.reload
file = File.open(self.inventory.path)
reader = file.read
reader.split.each do |row|
item = Item.where(item_identifier: row.to_s.strip).first
if item
unless self.items.where(id: item.id).select('items.id').first
self.items << item
end
end
end
file.close
true
end
end

# == Schema Information
#
# Table name: inventory_files
#
# id :uuid not null, primary key
# user_id :bigint(8) not null
# note :text
# created_at :datetime not null
# updated_at :datetime not null
# id :integer not null, primary key
# filename :string
# content_type :string
# size :integer
# user_id :integer
# note :text
# created_at :datetime
# updated_at :datetime
# inventory_file_name :string
# inventory_content_type :string
# inventory_file_size :integer
# inventory_updated_at :datetime
# inventory_fingerprint :string
#
16 changes: 16 additions & 0 deletions app/views/inventory_files/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@
<%= form_for(@inventory_file) do |f| -%>
<%= f.error_messages -%>

<div class="field">
<%= f.label :inventory_file_name -%> <br />
<%= f.text_field :inventory_file_name -%>
</div>
<div class="field">
<%= f.label :inventory_content_type -%> <br />
<%= f.text_field :inventory_content_type -%>
</div>
<div class="field">
<%= f.label :inventory_file_size -%> <br />
<%= f.text_field :inventory_file_size -%>
</div>
<div class="field">
<%= f.label :inventory_fingerprint -%> <br />
<%= f.text_field :inventory_fingerprint -%>
</div>
<div class="field">
<%= f.label :user_id -%> <br />
<%= f.text_field :user_id -%>
Expand Down
8 changes: 7 additions & 1 deletion app/views/inventory_files/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,23 @@
<table class="table table-striped index">
<tr>
<th><%= t('activerecord.attributes.inventory_file.inventory_file_name') -%> </th>
<th><%= t('activerecord.attributes.inventory_file.inventory_content_type') -%> </th>
<th><%= t('activerecord.attributes.inventory_file.inventory_file_size') -%> </th>
<th><%= t('activerecord.attributes.inventory_file.inventory_fingerprint') -%> </th>
<th><%= t('activerecord.models.user') -%> </th>
<th></th>
</tr>

<%- @inventory_files.each do |inventory_file| -%>
<tr class="line<%= cycle("0", "1") -%>">
<td>
<%= link_to inventory_file.inventory.filename, inventory_file if inventory_file.inventory.attached? -%>
<%= link_to inventory_file.inventory_file_name, inventory_file -%>
<br />
<%= inventory_file.created_at -%>
</td>
<td><%= inventory_file.inventory_content_type -%> </td>
<td><%= inventory_file.inventory_file_size -%> </td>
<td><%= inventory_file.inventory_fingerprint -%> </td>
<td><%= link_to inventory_file.user.username, inventory_file.user.profile if inventory_file.user.try(:profile) -%> </td>
<td>
<%= link_to t('page.edit'), edit_inventory_file_path(inventory_file) -%>
Expand Down
40 changes: 19 additions & 21 deletions app/views/inventory_files/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,25 @@
<div id="content_list">
<p id="notice"><%= notice %></p>

<% if @inventory_file.inventory_file.attached? %>
<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_file_name') -%> :</strong>
<%= link_to @inventory_file.inventory.filename, @inventory_file.inventory -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_content_type') -%> :</strong>
<%= @inventory_file.inventory.content_type -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_file_size') -%> :</strong>
<%= @inventory_file.inventory.byte_size -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_fingerprint') -%> :</strong>
<%= @inventory_file.inventory.checksum -%>
</p>
<% end %>
<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_file_name') -%> :</strong>
<%= @inventory_file.inventory_file_name -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_content_type') -%> :</strong>
<%= @inventory_file.inventory_content_type -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_file_size') -%> :</strong>
<%= @inventory_file.inventory_file_size -%>
</p>

<p>
<strong><%= t('activerecord.attributes.inventory_file.inventory_fingerprint') -%> :</strong>
<%= @inventory_file.inventory_fingerprint -%>
</p>

<p>
<strong><%= t('activerecord.models.user') -%> :</strong>
Expand Down
13 changes: 10 additions & 3 deletions db/migrate/20081117143156_create_inventory_files.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
class CreateInventoryFiles < ActiveRecord::Migration[5.2]
def change
class CreateInventoryFiles < ActiveRecord::Migration[4.2]
def self.up
create_table :inventory_files do |t|
t.references :user, foreign_key: true, null: false
t.string :filename
t.string :content_type
t.integer :size
t.references :user, index: true
t.text :note

t.timestamps
end
end

def self.down
drop_table :inventory_files
end
end
12 changes: 8 additions & 4 deletions db/migrate/20081117143455_create_inventories.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
class CreateInventories < ActiveRecord::Migration[5.2]
def change
class CreateInventories < ActiveRecord::Migration[4.2]
def self.up
create_table :inventories do |t|
t.references :item, foreign_key: true
t.references :inventory_file, foreign_key: true
t.references :item, index: true
t.references :inventory_file, index: true
t.text :note

t.timestamps
end
end

def self.down
drop_table :inventories
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class AddAttachmentsInventoryToInventoryFile < ActiveRecord::Migration[4.2]
def self.up
add_column :inventory_files, :inventory_file_name, :string
add_column :inventory_files, :inventory_content_type, :string
add_column :inventory_files, :inventory_file_size, :integer
add_column :inventory_files, :inventory_updated_at, :datetime
end

def self.down
remove_column :inventory_files, :inventory_file_name
remove_column :inventory_files, :inventory_content_type
remove_column :inventory_files, :inventory_file_size
remove_column :inventory_files, :inventory_updated_at
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddFingerprintToInventoryFile < ActiveRecord::Migration[4.2]
def change
add_column :inventory_files, :inventory_fingerprint, :string
end
end
3 changes: 2 additions & 1 deletion enju_inventory.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ Gem::Specification.new do |s|

s.add_development_dependency "enju_leaf", "~> 1.4.0.beta.1"
s.add_development_dependency "pg"
s.add_development_dependency "sunspot_solr", "~> 2.3"
s.add_development_dependency "sunspot_solr", "~> 2.4"
s.add_development_dependency "rspec-rails", "~> 3.8"
s.add_development_dependency "factory_bot_rails"
s.add_development_dependency "simplecov"
s.add_development_dependency "coveralls"
s.add_development_dependency "annotate"
end
10 changes: 5 additions & 5 deletions spec/controllers/items_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,26 @@ def valid_attributes
login_fixture_librarian

it 'should not get index with inventory_file_id' do
get :index, params: { inventory_file_id: inventory_files(:inventory_file_00001).id }
get :index, params: { inventory_file_id: 1 }
expect(response).to be_successful
assigns(:inventory_file).should eq inventory_files(:inventory_file_00001)
expect(assigns(:items)).to eq Item.inventory_items(assigns(:inventory_file), 'not_on_shelf').order('items.created_at').page(1)
assigns(:inventory_file).should eq InventoryFile.find(1)
expect(assigns(:items)).to eq Item.inventory_items(assigns(:inventory_file), 'not_on_shelf').order('items.id').page(1)
end
end

describe 'When logged in as User' do
login_fixture_user

it 'should not get index with inventory_file_id' do
get :index, params: { inventory_file_id: inventory_files(:inventory_file_00001).id }
get :index, params: { inventory_file_id: 1 }
expect(response).to be_forbidden
end
end

describe 'When not logged in' do

it 'should not get index with inventory_file_id' do
get :index, params: { inventory_file_id: inventory_files(:inventory_file_00001).id }
get :index, params: { inventory_file_id: 1 }
expect(response).to redirect_to new_user_session_url
assigns(:inventory_file).should_not be_nil
end
Expand Down
3 changes: 2 additions & 1 deletion spec/dummy/db/migrate/001_create_agents.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
class CreateAgents < ActiveRecord::Migration[5.2]
class CreateAgents < ActiveRecord::Migration[4.2]
def change
create_table :agents do |t|
t.string :last_name
Expand All @@ -13,6 +13,7 @@ def change
t.text :full_name_transcription
t.text :full_name_alternative
t.timestamps
t.datetime :deleted_at
t.string :zip_code_1
t.string :zip_code_2
t.text :address_1
Expand Down
22 changes: 12 additions & 10 deletions spec/dummy/db/migrate/002_devise_create_users.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# frozen_string_literal: true

class DeviseCreateUsers < ActiveRecord::Migration[4.2]
def change
create_table(:users) do |t|
Expand All @@ -15,11 +13,11 @@ def change
t.datetime :remember_created_at

## Trackable
# t.integer :sign_in_count, default: 0
# t.datetime :current_sign_in_at
# t.datetime :last_sign_in_at
# t.string :current_sign_in_ip
# t.string :last_sign_in_ip
t.integer :sign_in_count, default: 0
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.string :current_sign_in_ip
t.string :last_sign_in_ip

## Confirmable
# t.string :confirmation_token
Expand All @@ -28,17 +26,21 @@ def change
# t.string :unconfirmed_email # Only if using reconfirmable

## Lockable
# t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
# t.string :unlock_token # Only if unlock strategy is :email or :both
# t.datetime :locked_at

## Token authenticatable
# t.string :authentication_token


t.timestamps
end

add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token, unique: true
# add_index :users, :unlock_token, unique: true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
end
Loading

0 comments on commit b246465

Please sign in to comment.