fcrepo_admin 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,12 +4,12 @@ module FcrepoAdmin
4
4
  class DatastreamsController < ApplicationController
5
5
 
6
6
  include FcrepoAdmin::ControllerBehavior
7
- # include CanCan::ControllerAdditions
8
7
 
9
8
  TEXT_MIME_TYPES = ['application/xml', 'application/rdf+xml', 'application/json']
10
9
 
11
10
  before_filter :load_and_authz_object, :only => :index
12
- before_filter :load_and_authz_datastream, :except => :index
11
+ before_filter :load_and_authz_datastream, :except => [:index, :download]
12
+ before_filter :load_datastream, :only => :download
13
13
  before_filter :inline_filter, :only => [:show, :edit]
14
14
 
15
15
  def index
@@ -19,6 +19,7 @@ module FcrepoAdmin
19
19
  end
20
20
 
21
21
  def download
22
+ authorize! :read, @datastream
22
23
  mimetypes = MIME::Types[@datastream.mimeType]
23
24
  send_data @datastream.content, :disposition => 'attachment', :type => @datastream.mimeType, :filename => "#{@datastream.pid.sub(/:/, '_')}_#{@datastream.dsid}.#{mimetypes.first.extensions.first}"
24
25
  end
@@ -28,10 +29,7 @@ module FcrepoAdmin
28
29
 
29
30
  def update
30
31
  if params[:file]
31
- File.open(params[:file], 'rb') do |f|
32
- # FIXME read in chunks
33
- @datastream.content = f.read
34
- end
32
+ @datastream.content = params[:file].read
35
33
  else
36
34
  @datastream.content = params[:content]
37
35
  end
@@ -3,16 +3,16 @@
3
3
  <h3><%= t("fcrepo_admin.datastream.title") %>: <%= @datastream.dsid %></h3>
4
4
 
5
5
  <%= form_tag fcrepo_admin.object_datastream_path(@datastream.pid, @datastream.dsid), :method => :put, :multipart => true do %>
6
+ <div>
7
+ <%= label_tag "file", t("fcrepo_admin.datastream.edit.file") %>
8
+ <%= file_field_tag "file" %>
9
+ </div>
6
10
  <% if @inline %>
7
11
  <div>
8
12
  <%= label_tag "content", t("fcrepo_admin.datastream.edit.content") %>
9
13
  <%= text_area_tag "content", @datastream.content, :size => "50x20", :class => "field span9" %>
10
14
  </div>
11
15
  <% end %>
12
- <div>
13
- <%= label_tag "file", t("fcrepo_admin.datastream.edit.file") %>
14
- <%= file_field_tag "file" %>
15
- </div>
16
16
  <p>
17
17
  <%= submit_tag t("fcrepo_admin.datastream.edit.submit"), :confirm => t("fcrepo_admin.datastream.edit.confirm"), :class => "btn btn-primary" %>
18
18
  </p>
@@ -0,0 +1,18 @@
1
+ <table class="table table-bordered table-condensed">
2
+ <thead>
3
+ <tr>
4
+ <th scope="col"><%= t("fcrepo_admin.object.permissions.type") %></th>
5
+ <th scope="col"><%= t("fcrepo_admin.object.permissions.name") %></th>
6
+ <th scope="col"><%= t("fcrepo_admin.object.permissions.access") %></th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <% object.permissions.each do |p| %>
11
+ <tr>
12
+ <td><%= p[:type] %></td>
13
+ <td><%= p[:name] %></td>
14
+ <td><%= p[:access] %></td>
15
+ </tr>
16
+ <% end %>
17
+ </tbody>
18
+ </table>
@@ -2,16 +2,20 @@
2
2
 
3
3
  <div class="tabbable">
4
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>
5
+ <li class="active"><a href="#tab-datastreams" data-toggle="tab"><%= t("fcrepo_admin.object.tabs.datastreams") %></a></li>
6
+ <li><a href="#tab-properties" data-toggle="tab"><%= t("fcrepo_admin.object.tabs.properties") %></a></li>
7
+ <li><a href="#tab-permissions" data-toggle="tab"><%= t("fcrepo_admin.object.tabs.permissions") %></a></li>
7
8
  </ul>
8
9
  <div class="tab-content">
9
- <div class="tab-pane active" id="tab1">
10
+ <div class="tab-pane active" id="tab-datastreams">
10
11
  <%= render :partial => 'fcrepo_admin/datastreams/datastreams', :locals => {:datastreams => @object.datastreams} %>
11
12
  </div>
12
- <div class="tab-pane" id="tab2">
13
+ <div class="tab-pane" id="tab-properties">
13
14
  <%= render :partial => 'properties', :locals => {:properties => @properties} %>
14
15
  </div>
16
+ <div class="tab-pane" id="tab-permissions">
17
+ <%= render :partial => 'permissions', :locals => {:object => @object} %>
18
+ </div>
15
19
  </div>
16
20
  </div>
17
21
 
@@ -5,6 +5,7 @@ en:
5
5
  tabs:
6
6
  datastreams: 'Datastreams'
7
7
  properties: 'Properties'
8
+ permissions: 'Permissions'
8
9
  properties:
9
10
  title: 'Properties'
10
11
  keys:
@@ -13,6 +14,10 @@ en:
13
14
  create_date: 'Create Date'
14
15
  modified_date: 'Modified Date'
15
16
  label: 'Label'
17
+ permissions:
18
+ type: 'Type'
19
+ name: 'Name'
20
+ access: 'Access'
16
21
  audit_trail:
17
22
  title: 'Audit Trail'
18
23
  download: 'Download'
@@ -1,3 +1,3 @@
1
1
  module FcrepoAdmin
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -22,6 +22,7 @@ describe "objects/show.html.erb" do
22
22
  visit fcrepo_admin.object_path(object)
23
23
  page.should have_link(I18n.t("fcrepo_admin.audit_trail.title"), :href => fcrepo_admin.object_audit_trail_index_path(object))
24
24
  end
25
+ it "should display the object's permissions"
25
26
  context "object governed by an admin policy" do
26
27
  it "should link to the APO"
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fcrepo_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -272,6 +272,7 @@ files:
272
272
  - app/views/fcrepo_admin/datastreams/index.html.erb
273
273
  - app/views/fcrepo_admin/datastreams/show.html.erb
274
274
  - app/views/fcrepo_admin/objects/_more_info.html.erb
275
+ - app/views/fcrepo_admin/objects/_permissions.html.erb
275
276
  - app/views/fcrepo_admin/objects/_properties.html.erb
276
277
  - app/views/fcrepo_admin/objects/show.html.erb
277
278
  - config/locales/fcrepo_admin.en.yml
@@ -288,7 +289,6 @@ files:
288
289
  - lib/fcrepo_admin/version.rb
289
290
  - lib/tasks/.gitkeep
290
291
  - lib/tasks/fcrepo_admin.rake
291
- - script/rails
292
292
  - spec/controllers/audit_trail_controller_spec.rb
293
293
  - spec/controllers/datastreams_controller_spec.rb
294
294
  - spec/factories/fcrepo_admin_factories.rb
@@ -369,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
369
369
  version: '0'
370
370
  segments:
371
371
  - 0
372
- hash: -3734139466657518267
372
+ hash: 3240411754357515048
373
373
  requirements: []
374
374
  rubyforge_project:
375
375
  rubygems_version: 1.8.25
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- APP_PATH = File.expand_path('../../config/application', __FILE__)
5
- require File.expand_path('../../config/boot', __FILE__)
6
- require 'rails/commands'