fcrepo_admin 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +5 -0
  5. data/LICENSE +27 -0
  6. data/README.rdoc +75 -0
  7. data/Rakefile +22 -0
  8. data/app/controllers/fcrepo_admin/audit_trail_controller.rb +17 -0
  9. data/app/controllers/fcrepo_admin/datastreams_controller.rb +29 -0
  10. data/app/controllers/fcrepo_admin/objects_controller.rb +14 -0
  11. data/app/helpers/application_helper.rb +2 -0
  12. data/app/mailers/.gitkeep +0 -0
  13. data/app/models/.gitkeep +0 -0
  14. data/app/views/fcrepo_admin/audit_trail/index.html.erb +34 -0
  15. data/app/views/fcrepo_admin/catalog/_datastreams.html.erb +19 -0
  16. data/app/views/fcrepo_admin/catalog/_show.html.erb +2 -0
  17. data/app/views/fcrepo_admin/datastreams/_content.html.erb +12 -0
  18. data/app/views/fcrepo_admin/datastreams/_datastreams.html +18 -0
  19. data/app/views/fcrepo_admin/datastreams/_profile.html.erb +10 -0
  20. data/app/views/fcrepo_admin/datastreams/index.html.erb +4 -0
  21. data/app/views/fcrepo_admin/datastreams/show.html.erb +22 -0
  22. data/app/views/fcrepo_admin/objects/_more_info.html.erb +6 -0
  23. data/app/views/fcrepo_admin/objects/_properties.html.erb +8 -0
  24. data/app/views/fcrepo_admin/objects/show.html.erb +18 -0
  25. data/config/locales/fcrepo_admin.en.yml +55 -0
  26. data/config/routes.rb +14 -0
  27. data/doc/README_FOR_APP +2 -0
  28. data/fcrepo_admin.gemspec +42 -0
  29. data/lib/assets/.gitkeep +0 -0
  30. data/lib/assets/stylesheets/fcrepo_admin/fcrepo_admin.css +4 -0
  31. data/lib/fcrepo_admin.rb +8 -0
  32. data/lib/fcrepo_admin/controller_behavior.rb +10 -0
  33. data/lib/fcrepo_admin/engine.rb +12 -0
  34. data/lib/fcrepo_admin/solr_document_extension.rb +49 -0
  35. data/lib/fcrepo_admin/version.rb +3 -0
  36. data/lib/tasks/.gitkeep +0 -0
  37. data/lib/tasks/fcrepo_admin.rake +24 -0
  38. data/script/rails +6 -0
  39. data/spec/controllers/audit_trail_controller_spec.rb +20 -0
  40. data/spec/controllers/datastreams_controller_spec.rb +21 -0
  41. data/spec/factories/fcrepo_admin_factories.rb +20 -0
  42. data/spec/factories/user_factories.rb +8 -0
  43. data/spec/features/audit_trail/index.html.erb_spec.rb +11 -0
  44. data/spec/features/catalog/show.html.erb_spec.rb +21 -0
  45. data/spec/features/datastreams/show.html.erb_spec.rb +31 -0
  46. data/spec/features/objects/show.html.erb_spec.rb +29 -0
  47. data/spec/fixtures/auditable.foxml.xml +110 -0
  48. data/spec/internal/README.rdoc +261 -0
  49. data/spec/internal/Rakefile +7 -0
  50. data/spec/internal/app/assets/javascripts/application.js +16 -0
  51. data/spec/internal/app/assets/stylesheets/application.css +13 -0
  52. data/spec/internal/app/assets/stylesheets/blacklight.css.scss +3 -0
  53. data/spec/internal/app/controllers/application_controller.rb +11 -0
  54. data/spec/internal/app/controllers/catalog_controller.rb +169 -0
  55. data/spec/internal/app/helpers/application_helper.rb +2 -0
  56. data/spec/internal/app/mailers/.gitkeep +0 -0
  57. data/spec/internal/app/models/.gitkeep +0 -0
  58. data/spec/internal/app/models/ability.rb +4 -0
  59. data/spec/internal/app/models/content_model.rb +12 -0
  60. data/spec/internal/app/models/solr_document.rb +36 -0
  61. data/spec/internal/app/models/user.rb +26 -0
  62. data/spec/internal/app/views/catalog/_show_default.html.erb +12 -0
  63. data/spec/internal/app/views/layouts/application.html.erb +14 -0
  64. data/spec/internal/config.ru +4 -0
  65. data/spec/internal/config/application.rb +59 -0
  66. data/spec/internal/config/boot.rb +10 -0
  67. data/spec/internal/config/database.yml +25 -0
  68. data/spec/internal/config/environment.rb +5 -0
  69. data/spec/internal/config/environments/development.rb +37 -0
  70. data/spec/internal/config/environments/production.rb +67 -0
  71. data/spec/internal/config/environments/test.rb +37 -0
  72. data/spec/internal/config/fedora.yml +12 -0
  73. data/spec/internal/config/initializers/backtrace_silencers.rb +7 -0
  74. data/spec/internal/config/initializers/devise.rb +240 -0
  75. data/spec/internal/config/initializers/hydra_config.rb +34 -0
  76. data/spec/internal/config/initializers/inflections.rb +15 -0
  77. data/spec/internal/config/initializers/mime_types.rb +12 -0
  78. data/spec/internal/config/initializers/secret_token.rb +7 -0
  79. data/spec/internal/config/initializers/session_store.rb +8 -0
  80. data/spec/internal/config/initializers/wrap_parameters.rb +14 -0
  81. data/spec/internal/config/locales/devise.en.yml +59 -0
  82. data/spec/internal/config/locales/en.yml +5 -0
  83. data/spec/internal/config/role_map_development.yml +6 -0
  84. data/spec/internal/config/role_map_test.yml +6 -0
  85. data/spec/internal/config/routes.rb +6 -0
  86. data/spec/internal/config/solr.yml +6 -0
  87. data/spec/internal/db/schema.rb +57 -0
  88. data/spec/internal/lib/assets/.gitkeep +0 -0
  89. data/spec/internal/log/.gitkeep +0 -0
  90. data/spec/internal/public/404.html +26 -0
  91. data/spec/internal/public/422.html +26 -0
  92. data/spec/internal/public/500.html +25 -0
  93. data/spec/internal/public/favicon.ico +0 -0
  94. data/spec/internal/script/rails +6 -0
  95. data/spec/spec_helper.rb +45 -0
  96. metadata +397 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NzVjNjI2ZGM3M2YxMDVhZjU4MjBlZTU2OWY0NjYzMTlmNjBlZWI5ZQ==
5
+ data.tar.gz: !binary |-
6
+ ZjIxN2E2MGZkYjgzZTZlNDkxY2U2MmE0Mzk1MDEzODhlZDFhMjkyMw==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NjgzYWExYWEyOWM1NzA5N2EwN2FkMjE3YzJmMTY2NjU2MDBiNTRiNTk3NTY0
10
+ NzBlNzVhOTIxNmFiN2ViOTY3ZmJmNmViNzgzNWIwMjZmZTBmODc5YzQ2MjJh
11
+ YjkyYjE3YzczZjk3YjFlMjgxYTZkOWMxMDE0MTBlYTI3N2Q2ZjM=
12
+ data.tar.gz: !binary |-
13
+ YThhYWMzZjU5MjhjZjk3NjMyYmZlMWJkZTIzYTJmODdkYzZhZDFiYzUwMjZl
14
+ N2I3NTQyYmM3ZjQ5MDc0ODg1ODY0MzEzNTE5ZDQxODhmYTY4MmZlYzA0MTZj
15
+ NTg0NjhmMTg5YWM0NGJkZWM5NzM5YmNlMTc2NmE0MDk1ZDJkMjc=
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle
2
+ Gemfile.lock
3
+ pkg
4
+ spec/internal/db/*.sqlite3
5
+ spec/internal/log/*.log
6
+ spec/internal/jetty
7
+ spec/internal/tmp
8
+ spec/internal/.sass-cache
9
+ tmp
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'devise'
data/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ Copyright (c) Duke University.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ 3. Neither the name of Duke University nor the names of its contributors may
15
+ be used to endorse or promote products derived from this software without
16
+ specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.rdoc ADDED
@@ -0,0 +1,75 @@
1
+ == Hydra Administrative Tool for a Fedora Repository
2
+
3
+ A Rails engine providing an administrative interface to a Fedora Commons repository built on the Hydra project framework.
4
+
5
+ === Status
6
+
7
+ This project is at an early stage of development. It should be considered experimental and not ready for production deployment.
8
+
9
+ === Requirements
10
+
11
+ fcrepo_admin is designed for installation on hydra-head 6.0.0 or higher.
12
+ See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
13
+
14
+ === Installation
15
+
16
+ (In the future, we hope to automate some of these tasks with a generator.)
17
+
18
+ * Add to gemfile
19
+
20
+ gem 'fcrepo_admin'
21
+
22
+ Then <code>bundle install</code>
23
+
24
+ * Run the Blacklight and Hydra generators (if this is a new Rails app, not an existing Hydra head)
25
+
26
+ rails g blacklight --devise
27
+ rails g hydra:head -f
28
+ rake db:migrate
29
+ rails g hydra:jetty # if you need a development copy of jetty with solr and fedora
30
+
31
+ * Mount the engine
32
+
33
+ In config/routes.rb add this line:
34
+
35
+ mount FcrepoAdmin::Engine => '/admin', :as=> 'fcrepo_admin'
36
+
37
+ You may replace <code>'/admin'</code> with any mount point (except perhaps <code>'/catalog'</code>),
38
+ including <code>'/'</code>. All routes include <code>objects</code> as a subpath.
39
+
40
+ * Extend the SolrDocument model
41
+
42
+ In app/models/solr_document.rb add this line:
43
+
44
+ use_extension FcrepoAdmin::SolrDocumentExtension
45
+
46
+ (This may only be necessary if customizing the catalog show page as indicated below.)
47
+
48
+ * Add Javascript
49
+
50
+ In app/assets/javascripts/application.js add this line:
51
+
52
+ //= require bootstrap-tab
53
+
54
+ * Add CSS
55
+
56
+ In app/assets/stylesheets/application.css add this line:
57
+
58
+ //= require fcrepo_admin/fcrepo_admin
59
+
60
+ * Customize catalog show page (optional)
61
+
62
+ If you would like to add Fedora object information to the catalog show page,
63
+ copy the partial <code>app/views/catalog/_show_default.html.erb</code> from the Blacklight
64
+ gem to your application, then add to the bottom of the file:
65
+
66
+ <%= render :partial => 'fcrepo_admin/catalog/show', :locals => {:document => document} %>
67
+
68
+ Use Blacklight's config options in CatalogController to control the basic content on the show page
69
+ (HTML title, page title, and list of the fields/values at the top of the page).
70
+
71
+ === License
72
+
73
+ See the LICENSE file in the root directory of the project for copyright and license information.
74
+
75
+ Licenses for code copied from other projects will be included in source files as required.
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env rake
2
+
3
+ begin
4
+ require 'bundler/setup'
5
+ rescue LoadError
6
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
7
+ end
8
+
9
+ APP_RAKEFILE = File.expand_path("../spec/internal/Rakefile", __FILE__)
10
+ load 'rails/tasks/engine.rake'
11
+
12
+ Bundler::GemHelper.install_tasks
13
+
14
+ Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each {|f| load f }
15
+
16
+ require 'rspec/core'
17
+ require 'rspec/core/rake_task'
18
+
19
+ desc "Run all specs in spec directory (excluding plugin specs)"
20
+ RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
21
+
22
+ task :default => :spec
@@ -0,0 +1,17 @@
1
+ module FcrepoAdmin
2
+ class AuditTrailController < ApplicationController
3
+
4
+ include FcrepoAdmin::ControllerBehavior
5
+
6
+ before_filter :load_and_authz_object
7
+
8
+ def index
9
+ # XXX Update when new version of ActiveFedora released
10
+ @audit_trail = @object.respond_to?(:audit_trail) ? @object.audit_trail : @object.inner_object.audit_trail
11
+ if params[:download]
12
+ send_data @audit_trail.to_xml, :disposition => 'inline', :type => 'text/xml'
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ require 'mime/types'
2
+
3
+ module FcrepoAdmin
4
+ class DatastreamsController < ApplicationController
5
+
6
+ include FcrepoAdmin::ControllerBehavior
7
+
8
+ TEXT_MIME_TYPES = ['application/xml', 'application/rdf+xml', 'application/json']
9
+
10
+ before_filter :load_and_authz_object
11
+
12
+ def index
13
+ # @object loaded and authz'd by before_filter
14
+ end
15
+
16
+ def show
17
+ @datastream = @object.datastreams[params[:id]]
18
+ @inline = @datastream.mimeType.start_with?('text/') || TEXT_MIME_TYPES.include?(@datastream.mimeType)
19
+ end
20
+
21
+ def download
22
+ @datastream = @object.datastreams[params[:id]]
23
+ mimetypes = MIME::Types[@datastream.mimeType]
24
+ send_data @datastream.content, :disposition => 'attachment', :type => @datastream.mimeType, :filename => "#{@datastream.pid.sub(/:/, '_')}_#{@datastream.dsid}.#{mimetypes.first.extensions.first}"
25
+ end
26
+
27
+ end
28
+ end
29
+
@@ -0,0 +1,14 @@
1
+ module FcrepoAdmin
2
+ class ObjectsController < ApplicationController
3
+
4
+ PROPERTIES = [:owner_id, :state, :create_date, :modified_date, :label]
5
+
6
+ def show
7
+ @object = ActiveFedora::Base.find(params[:id], :cast => true)
8
+ authorize! :read, @object
9
+ @properties = {}
10
+ PROPERTIES.each { |p| @properties[p] = @object.send(p) }
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
File without changes
File without changes
@@ -0,0 +1,34 @@
1
+ <h1><%= @object.pid %></h1>
2
+
3
+ <h3><%= t("fcrepo_admin.audit_trail.title") %></h3>
4
+
5
+ <p>
6
+ <%= link_to t("fcrepo_admin.audit_trail.download"), "#{fcrepo_admin.object_audit_trail_index_path(@object)}?download=true", :class => "btn btn-primary" %>
7
+ </p>
8
+
9
+ <table class="table table-bordered table-condensed table-striped">
10
+ <thead>
11
+ <tr>
12
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.id") %></th>
13
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.process_type") %></th>
14
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.action") %></th>
15
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.component_id") %></th>
16
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.responsibility") %></th>
17
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.date") %></th>
18
+ <th scope="col"><%= t("fcrepo_admin.audit_trail.record.justification") %></th>
19
+ </tr>
20
+ </thead>
21
+ <tbody>
22
+ <% @audit_trail.records.each do |record| %>
23
+ <tr>
24
+ <td><%= record.id %></td>
25
+ <td><%= record.process_type %></td>
26
+ <td><%= record.action %></td>
27
+ <td><%= record.component_id %></td>
28
+ <td><%= record.responsibility %></td>
29
+ <td><%= record.date %></td>
30
+ <td><%= record.justification %></td>
31
+ </tr>
32
+ <% end %>
33
+ </tbody>
34
+ </table>
@@ -0,0 +1,19 @@
1
+ <h3><%= t("fcrepo_admin.datastream.title").pluralize %></h3>
2
+ <table class="table table-bordered table-condensed">
3
+ <thead>
4
+ <tr>
5
+ <th scope="col"><%= t("fcrepo_admin.datastream.id") %></th>
6
+ <th scope="col"><%= t("fcrepo_admin.datastream.label") %></th>
7
+ <th scope="col"><%= t("fcrepo_admin.datastream.mimetype") %></th>
8
+ </tr>
9
+ </thead>
10
+ <tbody>
11
+ <% datastreams.reject { |dsid, dsProfile| dsProfile.empty? }.each do |dsid, dsProfile| %>
12
+ <tr>
13
+ <td><%= link_to dsid, fcrepo_admin.object_datastream_path(pid, dsid) %></td>
14
+ <td><%= dsProfile["dsLabel"] %></td>
15
+ <td><%= dsProfile["dsMIME"] %></td>
16
+ </tr>
17
+ <% end %>
18
+ </tbody>
19
+ </table>
@@ -0,0 +1,2 @@
1
+ <%= render :partial => 'fcrepo_admin/catalog/datastreams', :locals => {:datastreams => document.datastreams, :pid => document.id} %>
2
+ <%= render :partial => 'fcrepo_admin/objects/more_info', :locals => {:pid => document.id} %>
@@ -0,0 +1,12 @@
1
+ <div id="fcrepo-admin-dscontent">
2
+ <% if inline %>
3
+ <pre class="prettyprint pre-scrollable"><%= datastream.content %></pre>
4
+ <% else %>
5
+ <p>
6
+ <%= t("fcrepo_admin.datastream.content_not_text") %>.
7
+ </p>
8
+ <% end %>
9
+ <p>
10
+ <%= link_to t("fcrepo_admin.datastream.download"), fcrepo_admin.download_object_datastream_path(datastream.pid, datastream.dsid), :class => "btn btn-primary" %>
11
+ </p>
12
+ </div>
@@ -0,0 +1,18 @@
1
+ <table class="table table-bordered table-condensed">
2
+ <thead>
3
+ <tr>
4
+ <th scope="col"><%= t("fcrepo_admin.datastreams.header.id") %></th>
5
+ <th scope="col"><%= t("fcrepo_admin.datastreams.header.label") %></th>
6
+ <th scope="col"><%= t("fcrepo_admin.datastreams.header.mimetype") %></th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <% datastreams.reject { |dsid, ds| ds.profile.empty? }.each do |dsid, ds| %>
11
+ <tr>
12
+ <td><%= link_to dsid, fcrepo_admin.object_datastream_path(ds.pid, dsid) %></td>
13
+ <td><%= ds.profile["dsLabel"] %></td>
14
+ <td><%= ds.profile["dsMIME"] %></td>
15
+ </tr>
16
+ <% end %>
17
+ </tbody>
18
+ </table>
@@ -0,0 +1,10 @@
1
+ <div id="fcrepo-admin-dsprofile">
2
+ <table class="table table-bordered table-condensed table-striped">
3
+ <% datastream.profile.each do |key, value| %>
4
+ <tr>
5
+ <th scope="row"><%= t("fcrepo_admin.datastream.profile.#{key}") %></th>
6
+ <td><%= value.blank? ? " " : value %></td>
7
+ </tr>
8
+ <% end %>
9
+ </table>
10
+ </div>
@@ -0,0 +1,4 @@
1
+ <h1><%= @object.pid %></h1>
2
+
3
+ <h3><%= t("fcrepo_admin.datastreams.title") %></h3>
4
+ <%= render :partial => 'datastreams', :locals => {:datastreams => @object.datastreams} %>
@@ -0,0 +1,22 @@
1
+ <h1><%= @datastream.pid %></h1>
2
+
3
+ <h3><%= t("fcrepo_admin.datastream.title") %>: <%= @datastream.dsid %></h3>
4
+
5
+ <div class="document">
6
+
7
+ <div class="tabbable">
8
+ <ul class="nav nav-tabs">
9
+ <li class="active"><a href="#tab1" data-toggle="tab"><%= t("fcrepo_admin.datastream.tabs.content") %></a></li>
10
+ <li><a href="#tab2" data-toggle="tab"><%= t("fcrepo_admin.datastream.tabs.profile") %></a></li>
11
+ </ul>
12
+ <div class="tab-content">
13
+ <div class="tab-pane active" id="tab1">
14
+ <%= render :partial => 'content', :locals => {:datastream => @datastream, :inline => @inline} %>
15
+ </div>
16
+ <div class="tab-pane" id="tab2">
17
+ <%= render :partial => 'profile', :locals => {:datastream => @datastream} %>
18
+ </div>
19
+ </div>
20
+ </div>
21
+
22
+ </div>
@@ -0,0 +1,6 @@
1
+ <h3><%= t("fcrepo_admin.object.more_info") %></h3>
2
+ <ul>
3
+ <li>
4
+ <%= link_to t("fcrepo_admin.audit_trail.title"), fcrepo_admin.object_audit_trail_index_path(pid) %>
5
+ </li>
6
+ </ul>
@@ -0,0 +1,8 @@
1
+ <table class="table table-bordered table-condensed">
2
+ <% properties.each do |key, value| %>
3
+ <tr>
4
+ <th scope="row"><%= t("fcrepo_admin.object.properties.keys.#{key}") %></th>
5
+ <td><%= value %></td>
6
+ </tr>
7
+ <% end %>
8
+ </table>
@@ -0,0 +1,18 @@
1
+ <h1><%= @object.pid %></h1>
2
+
3
+ <div class="tabbable">
4
+ <ul class="nav nav-tabs">
5
+ <li class="active"><a href="#tab1" data-toggle="tab"><%= t("fcrepo_admin.object.tabs.datastreams") %></a></li>
6
+ <li><a href="#tab2" data-toggle="tab"><%= t("fcrepo_admin.object.tabs.properties") %></a></li>
7
+ </ul>
8
+ <div class="tab-content">
9
+ <div class="tab-pane active" id="tab1">
10
+ <%= render :partial => 'fcrepo_admin/datastreams/datastreams', :locals => {:datastreams => @object.datastreams} %>
11
+ </div>
12
+ <div class="tab-pane" id="tab2">
13
+ <%= render :partial => 'properties', :locals => {:properties => @properties} %>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+ <%= render :partial => 'more_info', :locals => {:pid => @object.pid} %>
@@ -0,0 +1,55 @@
1
+ en:
2
+ fcrepo_admin:
3
+ object:
4
+ more_info: 'More Information'
5
+ tabs:
6
+ datastreams: 'Datastreams'
7
+ properties: 'Properties'
8
+ properties:
9
+ title: 'Properties'
10
+ keys:
11
+ owner_id: 'Owner ID'
12
+ state: 'State'
13
+ create_date: 'Create Date'
14
+ modified_date: 'Modified Date'
15
+ label: 'Label'
16
+ audit_trail:
17
+ title: 'Audit Trail'
18
+ download: 'Download'
19
+ record:
20
+ id: 'Record ID'
21
+ process_type: 'Process Type'
22
+ action: 'Action'
23
+ component_id: 'Component ID'
24
+ responsibility: 'Responsibility'
25
+ date: 'Date'
26
+ justification: 'Justification'
27
+ datastreams:
28
+ title: 'Datastreams'
29
+ header:
30
+ id: 'Datastream ID'
31
+ label: 'Label'
32
+ mimetype: 'MIME Type'
33
+ datastream:
34
+ title: 'Datastream'
35
+ tabs:
36
+ content: 'Content'
37
+ profile: 'Profile'
38
+ download: 'Download'
39
+ content_not_text: 'The datastream content is not text'
40
+ profile:
41
+ dsLabel: 'Label'
42
+ dsMIME: 'MIME Type'
43
+ dsVersionID: 'Version'
44
+ dsCreateDate: 'Create Date'
45
+ dsState: 'State'
46
+ dsFormatURI: 'Format URI'
47
+ dsControlGroup: 'Control Group'
48
+ dsSize: 'Size'
49
+ dsVersionable: 'Versionable'
50
+ dsInfoType: 'Info Type'
51
+ dsLocation: 'Location'
52
+ dsLocationType: 'Location Type'
53
+ dsChecksumType: 'Checksum Type'
54
+ dsChecksum: 'Checksum'
55
+