fcrepo_admin 0.4.1 → 0.5.0
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.
- checksums.yaml +4 -4
- data/HISTORY.rdoc +10 -2
- data/README.rdoc +59 -14
- data/app/controllers/fcrepo_admin/datastreams_controller.rb +8 -46
- data/app/controllers/fcrepo_admin/objects_controller.rb +1 -1
- data/app/views/fcrepo_admin/datastreams/_alert.html.erb +4 -0
- data/app/views/fcrepo_admin/datastreams/_content.html.erb +1 -1
- data/app/views/fcrepo_admin/datastreams/_datastreams_list.html.erb +3 -3
- data/app/views/fcrepo_admin/datastreams/_profile.html.erb +4 -5
- data/app/views/fcrepo_admin/datastreams/content.html.erb +2 -1
- data/app/views/fcrepo_admin/datastreams/edit.html.erb +4 -3
- data/app/views/fcrepo_admin/datastreams/history.html.erb +3 -8
- data/app/views/fcrepo_admin/datastreams/index.html.erb +4 -1
- data/app/views/fcrepo_admin/datastreams/upload.html.erb +4 -3
- data/app/views/fcrepo_admin/objects/_direct_permissions.html.erb +1 -1
- data/app/views/fcrepo_admin/objects/_permissions_list.html.erb +1 -1
- data/app/views/fcrepo_admin/objects/permissions.html.erb +8 -2
- data/app/views/fcrepo_admin/shared/_context_nav.html.erb +2 -2
- data/app/views/layouts/fcrepo_admin/datastreams.html.erb +5 -7
- data/app/views/layouts/fcrepo_admin/objects.html.erb +1 -1
- data/config/locales/fcrepo_admin.en.yml +33 -22
- data/config/routes.rb +5 -2
- data/lib/fcrepo_admin.rb +51 -1
- data/lib/fcrepo_admin/decorators/active_fedora/base_decorator.rb +33 -0
- data/lib/fcrepo_admin/decorators/active_fedora/datastream_decorator.rb +35 -0
- data/lib/fcrepo_admin/engine.rb +6 -0
- data/lib/fcrepo_admin/helpers/datastreams_helper_behavior.rb +132 -8
- data/lib/fcrepo_admin/helpers/objects_helper_behavior.rb +47 -8
- data/lib/fcrepo_admin/version.rb +1 -1
- data/spec/controllers/datastreams_controller_spec.rb +53 -29
- data/spec/controllers/objects_controller_spec.rb +1 -1
- data/spec/features/datastreams/content.html.erb_spec.rb +7 -0
- data/spec/features/datastreams/edit.html.erb_spec.rb +1 -1
- data/spec/features/datastreams/index.html.erb_spec.rb +3 -3
- data/spec/features/datastreams/show.html.erb_spec.rb +44 -12
- data/spec/features/datastreams/upload.html.erb_spec.rb +1 -1
- data/spec/internal/app/models/item.rb +3 -0
- data/spec/internal/app/models/solr_document.rb +0 -2
- data/spec/internal/spec/fixtures/files/hydra.jpg +0 -0
- metadata +9 -8
- data/app/views/fcrepo_admin/datastreams/_context_nav.html.erb +0 -9
- data/app/views/fcrepo_admin/datastreams/_context_nav_items.html.erb +0 -38
- data/app/views/fcrepo_admin/objects/_context_nav.html.erb +0 -9
- data/app/views/fcrepo_admin/objects/_context_nav_datastreams.html.erb +0 -13
- data/app/views/fcrepo_admin/objects/_context_nav_items.html.erb +0 -19
- data/lib/fcrepo_admin/helpers/fcrepo_admin_helper_behavior.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b41a170f6b9f8ad2296559c6ff76f85c1b325c2
|
4
|
+
data.tar.gz: ce970e804c3e9fec32d7ac493bdb001e775f765d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13935a3cdf2cc95bd0048caf3a25c3e1442b4229b2f874ad93c0eb47bb4bbc2164a9f78da5acbef5dec5ca39e949d7db46b4fa1b167d821d16e88b8308ecff08
|
7
|
+
data.tar.gz: bd682bf0c49d2f06dd2aef3c630d4da5ed723c2efc6e1d1005a3801f40d25f7df096a4267f9e63566481556b691213915fcb6c4ffb969b04397477a584688d53
|
data/HISTORY.rdoc
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
+
=== 0.5.0 (2013-05-17)
|
2
|
+
|
3
|
+
* Feature: Configurable settings.
|
4
|
+
* Context navigation menus refactored: customizations now done through helpers and configuration settings, not by overriding partials.
|
5
|
+
* ActiveFedora::Base and ActiveFedora::Datastream classes extended by decorators.
|
6
|
+
* Tests added.
|
7
|
+
|
1
8
|
==== 0.4.1 (2013-05-14)
|
2
9
|
|
3
|
-
* Feature: Datastream history view
|
10
|
+
* Feature: Datastream history view.
|
11
|
+
* Feature: Support for asOfDateTime parameter added to datastream read views to display content and profile information for datastream versions.
|
4
12
|
|
5
13
|
=== 0.4.0 (2013-05-03)
|
6
14
|
|
@@ -16,7 +24,7 @@
|
|
16
24
|
|
17
25
|
* Moved FcrepoAdmin::BlacklightHelperBehavior to FcrepoAdmin::Helpers::BlacklightHelperBehavior.
|
18
26
|
* FcrepoAdmin::ObjectsHelper methods can now be easily overridden.
|
19
|
-
* DatastreamsHelper module added.
|
27
|
+
* FcrepoAdmin::DatastreamsHelper module added.
|
20
28
|
* Shared helper methods in new module FcrepoAdmin::Helpers::FcrepoAdminHelperBehavior.
|
21
29
|
* Objects and datastreams controller behaviors are now easily overrideable.
|
22
30
|
* Refactored object and datastream context navs for greater reusability.
|
data/README.rdoc
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
|
1
|
+
== Hydra Administrative Tool for a Fedora Repository
|
2
2
|
|
3
3
|
A Rails engine providing an administrative interface to a Fedora Commons repository built on the Hydra project framework.
|
4
4
|
|
5
|
-
|
5
|
+
=== Status
|
6
6
|
|
7
7
|
This project should be considered *experimental* and not ready for production deployment.
|
8
8
|
Versions earlier than 1.0 may change API and/or UI without notice or regard for backward compatibility.
|
9
9
|
|
10
|
-
|
10
|
+
=== Requirements
|
11
11
|
|
12
12
|
fcrepo_admin is designed for installation on hydra-head 6.0 or higher (requires active-fedora 6.1 or higher).
|
13
13
|
See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
|
14
14
|
|
15
|
-
|
15
|
+
=== Installation
|
16
16
|
|
17
17
|
(In the future, we hope to automate some of these tasks with a generator.)
|
18
18
|
|
@@ -38,7 +38,7 @@ See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
|
|
38
38
|
You may use any mount point (except perhaps <code>'/catalog'</code>).
|
39
39
|
All routes include <code>objects</code> as a subpath.
|
40
40
|
|
41
|
-
* Add CanCan action aliases (
|
41
|
+
* Add CanCan action aliases (fcrepo_admin >= 0.4.0)
|
42
42
|
|
43
43
|
In your Ability class (app/models/ability.rb) include the FcrepoAdmin::Ability module, for example:
|
44
44
|
|
@@ -51,7 +51,7 @@ See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
|
|
51
51
|
FcrepoAdmin::Ability defines action aliases for permissions which are enforced on (ActiveFedora::Base) objects.
|
52
52
|
If your application defines action aliases, please check FcrepoAdmin::Ability for conflicts as aliases are global.
|
53
53
|
|
54
|
-
* Add Javascript (
|
54
|
+
* Add Javascript (fcrepo_admin < 0.4.0)
|
55
55
|
|
56
56
|
In app/assets/javascripts/application.js add:
|
57
57
|
|
@@ -75,11 +75,28 @@ See https://github.com/projecthydra/hydra-head/wiki/Installation-Prerequisites.
|
|
75
75
|
|
76
76
|
include ActiveFedora::Auditable
|
77
77
|
|
78
|
-
|
78
|
+
=== Overriding fcrepo_admin behaviors
|
79
79
|
|
80
|
-
|
80
|
+
==== Configurable settings (fcrepo_admin >= 0.5.0)
|
81
81
|
|
82
|
-
|
82
|
+
To override default configurable settings for fcrepo_admin, create an initializer at config/initializers/fcrepo_admin.rb.
|
83
|
+
You should start with this content:
|
84
|
+
|
85
|
+
module YourApp
|
86
|
+
class Application < Rails::Application
|
87
|
+
config.before_initialize do
|
88
|
+
# Customized settings will go here
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
Refer to the default configuration settings at https://github.com/projecthydra/fcrepo-admin/blob/master/lib/fcrepo_admin.rb.
|
94
|
+
|
95
|
+
All configuration options are set by module methods prefixed by FcrepoAdmin, for example:
|
96
|
+
|
97
|
+
FcrepoAdmin.read_only = true
|
98
|
+
|
99
|
+
==== Helpers
|
83
100
|
|
84
101
|
Override objects helpers by creating app/helpers/fcrepo_admin/objects_helper.rb with this content:
|
85
102
|
|
@@ -97,7 +114,28 @@ Override datastreams helpers by creating app/helpers/fcrepo_admin/datastreams_he
|
|
97
114
|
# override methods here
|
98
115
|
end
|
99
116
|
|
100
|
-
|
117
|
+
==== Context Navigation Menus
|
118
|
+
|
119
|
+
===== fcrepo_admin >= 0.5.0
|
120
|
+
|
121
|
+
The configuration settings that control the items on the context menus are:
|
122
|
+
|
123
|
+
FcrepoAdmin.object_nav_items = [:pid, :summary, :datastreams, :permissions, :associations, :audit_trail]
|
124
|
+
FcrepoAdmin.datastream_nav_items = [:dsid, :version, :current_version, :summary, :content, :download, :edit, :upload, :history]
|
125
|
+
|
126
|
+
Each setting takes an array of symbols representing the items. You can start by copying the default values shown above.
|
127
|
+
If you simply want to rearrange or remove items, then just modify the default arrays.
|
128
|
+
|
129
|
+
To add a custom navigation item, start by adding your own symbol to the approriate array setting. Then override the
|
130
|
+
appropriate helper method (see section above on overriding fcrepo_admin helpers) -- for object context nav, override
|
131
|
+
#custom_object_nav_item in ObjectsHelper; for datastream context nav, override #custom_datastream_nav_item
|
132
|
+
in DatastreamsHelper.
|
133
|
+
|
134
|
+
Each method takes a single symbol argument and should return either nil (meaning no menu item is to be added) or the *content*
|
135
|
+
of a menu item. Do not include the <li></li> wrapper. You may want to use link_to_unless_current and/or put a condition on
|
136
|
+
the menu item (i.e., so that nil is returned if the condition is not met).
|
137
|
+
|
138
|
+
===== fcrepo_admin < 0.5.0
|
101
139
|
|
102
140
|
The contents of the object context navigation menu can be customized by overriding the #object_context_nav_items
|
103
141
|
helper method, or by copying and modifying the partial fcrepo_admin/objects/context_nav_items.
|
@@ -105,7 +143,7 @@ helper method, or by copying and modifying the partial fcrepo_admin/objects/cont
|
|
105
143
|
The contents of the datastream context navigation menu can be customized by overriding the
|
106
144
|
#datastream_context_nav_items helper method, or by copying and modifying the partial fcrepo_admin/datastreams/context_nav_items.
|
107
145
|
|
108
|
-
|
146
|
+
==== Controllers
|
109
147
|
|
110
148
|
To override or extend controller behaviors, please consult Rails engine documentation and guides, such as
|
111
149
|
http://edgeguides.rubyonrails.org/engines.html.
|
@@ -124,12 +162,19 @@ to your Ability class. For this, you can use Hydra's #custom_permissions callba
|
|
124
162
|
|
125
163
|
end
|
126
164
|
|
127
|
-
|
165
|
+
==== Read-only mode
|
166
|
+
|
167
|
+
To suppress mutating behaviors (i.e, routes, nav items, etc.) regardless of user permissions,
|
168
|
+
add this configuration setting:
|
169
|
+
|
170
|
+
FcrepoAdmin.read_only = true
|
171
|
+
|
172
|
+
=== Internationalization (i18n)
|
128
173
|
|
129
174
|
An effort has been made to support i18n on headings, menus, etc. See https://github.com/projecthydra/fcrepo-admin/blob/master/config/locales/fcrepo_admin.en.yml
|
130
175
|
for the keys and consult the Rails documentation on how to provide your own translations or alternate text values.
|
131
176
|
|
132
|
-
|
177
|
+
=== Contributing
|
133
178
|
|
134
179
|
* Consider first posting to hydra-tech@googlegroups.com with a question or bug report, or submit an issue
|
135
180
|
to the Github issue tracker at https://github.com/projecthydra/fcrepo-admin/issues.
|
@@ -138,7 +183,7 @@ for the keys and consult the Rails documentation on how to provide your own tran
|
|
138
183
|
|
139
184
|
Thanks!
|
140
185
|
|
141
|
-
|
186
|
+
=== License
|
142
187
|
|
143
188
|
See the LICENSE file in the root directory of the project for copyright and license information.
|
144
189
|
|
@@ -13,15 +13,6 @@ module FcrepoAdmin
|
|
13
13
|
before_filter :load_and_authorize_object
|
14
14
|
before_filter :load_datastream, :except => :index
|
15
15
|
|
16
|
-
helper_method :ds_is_current_version?
|
17
|
-
helper_method :ds_content_is_text?
|
18
|
-
helper_method :ds_content_is_editable?
|
19
|
-
helper_method :ds_content_is_uploadable?
|
20
|
-
|
21
|
-
# TODO Migrate to config initializer
|
22
|
-
EXTRA_TEXT_MIME_TYPES = ['application/xml', 'application/rdf+xml', 'application/json']
|
23
|
-
MAX_EDITABLE_SIZE = 1024 * 64
|
24
|
-
|
25
16
|
def index
|
26
17
|
end
|
27
18
|
|
@@ -29,6 +20,9 @@ module FcrepoAdmin
|
|
29
20
|
end
|
30
21
|
|
31
22
|
def content
|
23
|
+
unless @datastream.content_is_text?
|
24
|
+
render :text => "Datastream content is not text.", :status => 403
|
25
|
+
end
|
32
26
|
end
|
33
27
|
|
34
28
|
def history
|
@@ -41,10 +35,13 @@ module FcrepoAdmin
|
|
41
35
|
end
|
42
36
|
|
43
37
|
def edit
|
38
|
+
unless @datastream.content_is_editable?
|
39
|
+
render :text => "Datastream content is not editable", :status => 403
|
40
|
+
end
|
44
41
|
end
|
45
42
|
|
46
43
|
def upload
|
47
|
-
unless
|
44
|
+
unless @datastream.content_is_uploadable?
|
48
45
|
render :text => "This datstream does not support file content", :status => 403
|
49
46
|
end
|
50
47
|
end
|
@@ -57,7 +54,7 @@ module FcrepoAdmin
|
|
57
54
|
end
|
58
55
|
@object.save
|
59
56
|
flash[:notice] = "Datastream content updated." # i18n
|
60
|
-
redirect_to fcrepo_admin.object_datastream_url(@object, @datastream
|
57
|
+
redirect_to fcrepo_admin.object_datastream_url(@object, @datastream)
|
61
58
|
end
|
62
59
|
|
63
60
|
private
|
@@ -67,41 +64,6 @@ module FcrepoAdmin
|
|
67
64
|
@datastream = @datastream.asOfDateTime(params[:asOfDateTime]) if params[:asOfDateTime]
|
68
65
|
end
|
69
66
|
|
70
|
-
protected
|
71
|
-
|
72
|
-
# XXX Use Rubydora::Datastream#current_version? when it becomes available
|
73
|
-
# https://github.com/projecthydra/rubydora/pull/25
|
74
|
-
def ds_is_current_version?
|
75
|
-
@current_version ||= (@datastream.new? || @datastream.dsVersionID == @datastream.versions.first.dsVersionID)
|
76
|
-
end
|
77
|
-
|
78
|
-
def ds_content_is_url?
|
79
|
-
@datastream.external? || @datastream.redirect?
|
80
|
-
end
|
81
|
-
|
82
|
-
def ds_content_is_editable?
|
83
|
-
!ds_content_is_url? && ds_content_is_text? && ds_editable_content_size_ok?
|
84
|
-
end
|
85
|
-
|
86
|
-
def ds_editable_content_size_ok?
|
87
|
-
@datastream.dsSize <= MAX_EDITABLE_SIZE
|
88
|
-
end
|
89
|
-
|
90
|
-
def ds_content_is_uploadable?
|
91
|
-
@datastream.managed? || @datastream.inline?
|
92
|
-
end
|
93
|
-
|
94
|
-
private
|
95
|
-
|
96
|
-
def ds_content_is_text?
|
97
|
-
mimetype_is_text(@datastream.mimeType)
|
98
|
-
end
|
99
|
-
|
100
|
-
def mimetype_is_text(mimetype)
|
101
|
-
return false if mimetype.blank?
|
102
|
-
mimetype.start_with?('text/') || EXTRA_TEXT_MIME_TYPES.include?(mimetype)
|
103
|
-
end
|
104
|
-
|
105
67
|
end
|
106
68
|
end
|
107
69
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<tr>
|
4
4
|
<th scope="col"><%= t("fcrepo_admin.datastreams.header.id") %></th>
|
5
5
|
<% columns.each do |col| %>
|
6
|
-
<th scope="col"><%= t("fcrepo_admin.datastream.profile.#{col}") %></th>
|
6
|
+
<th scope="col"><%= t("fcrepo_admin.datastream.profile.keys.#{col}") %></th>
|
7
7
|
<% end %>
|
8
8
|
</tr>
|
9
9
|
</thead>
|
@@ -11,12 +11,12 @@
|
|
11
11
|
<% object.datastreams.each do |dsid, ds| %>
|
12
12
|
<tr>
|
13
13
|
<td>
|
14
|
-
<%= link_to dsid, fcrepo_admin.object_datastream_path(object,
|
14
|
+
<%= link_to dsid, fcrepo_admin.object_datastream_path(object, ds) %>
|
15
15
|
</td>
|
16
16
|
<% unless ds.new? %>
|
17
17
|
<% columns.each do |col| %>
|
18
18
|
<td>
|
19
|
-
<%=
|
19
|
+
<%= format_datastream_profile_value ds, col %>
|
20
20
|
</td>
|
21
21
|
<% end %>
|
22
22
|
<% else %>
|
@@ -1,16 +1,15 @@
|
|
1
1
|
<% unless datastream.new? %>
|
2
2
|
<h4><%= t("fcrepo_admin.datastream.profile.title") %></h4>
|
3
|
-
|
4
3
|
<table class="table table-bordered table-condensed table-striped" style="width: auto">
|
5
|
-
<%
|
4
|
+
<% datastream_show_profile_keys.each do |key| %>
|
6
5
|
<tr>
|
7
|
-
<th scope="row"><%= t("fcrepo_admin.datastream.profile.#{key}") %></th>
|
8
|
-
<td><%=
|
6
|
+
<th scope="row"><%= t("fcrepo_admin.datastream.profile.keys.#{key}") %></th>
|
7
|
+
<td><%= format_datastream_profile_value datastream, key %></td>
|
9
8
|
</tr>
|
10
9
|
<% end %>
|
11
10
|
</table>
|
12
11
|
<% else %>
|
13
12
|
<div class="alert alert-info">
|
14
|
-
|
13
|
+
<%= t("fcrepo_admin.datastream.alerts.not_persisted") %>
|
15
14
|
</div>
|
16
15
|
<% end %>
|
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
<h4><%= t("fcrepo_admin.datastream.content.title") %></h4>
|
2
|
+
<pre class="prettyprint pre-scrollable"><%= @datastream.content %></pre>
|
@@ -1,9 +1,10 @@
|
|
1
|
-
<h4><%= t("fcrepo_admin.datastream.edit.
|
2
|
-
<%=
|
1
|
+
<h4><%= t("fcrepo_admin.datastream.edit.title") %></h4>
|
2
|
+
<%= datastream_alerts :system_managed, :not_versionable %>
|
3
|
+
<%= form_tag fcrepo_admin.object_datastream_path(@object, @datastream), :method => :put do %>
|
3
4
|
<div>
|
4
5
|
<%= text_area_tag "content", @datastream.content, :size => "50x20", :class => "field", :style => "width: 100%" %>
|
5
6
|
</div>
|
6
7
|
<p>
|
7
|
-
<%= submit_tag t("fcrepo_admin.datastream.edit.submit"), :confirm => t("fcrepo_admin.datastream.edit.confirm"), :class => "btn btn-primary" %>
|
8
|
+
<%= submit_tag t("fcrepo_admin.datastream.edit.form.submit"), :confirm => t("fcrepo_admin.datastream.edit.form.confirm"), :class => "btn btn-primary" %>
|
8
9
|
</p>
|
9
10
|
<% end %>
|
@@ -9,16 +9,11 @@
|
|
9
9
|
</tr>
|
10
10
|
</thead>
|
11
11
|
<tbody>
|
12
|
-
<% @datastream.versions.
|
12
|
+
<% @datastream.versions.each do |dsVersion| %>
|
13
13
|
<tr>
|
14
|
-
<td><%=
|
15
|
-
link_to_unless i == 0, ds.profile["dsVersionID"], "#{fcrepo_admin.object_datastream_path(@object, ds.dsid)}?asOfDateTime=#{ds.asOfDateTime}" do |name|
|
16
|
-
"#{name} (current version)"
|
17
|
-
end
|
18
|
-
-%>
|
19
|
-
</td>
|
14
|
+
<td><%= link_to_datastream_version dsVersion %></td>
|
20
15
|
<% datastream_history_columns.each do |col| %>
|
21
|
-
<td><%=
|
16
|
+
<td><%= dsVersion.profile[col] %></td>
|
22
17
|
<% end %>
|
23
18
|
<% end %>
|
24
19
|
</tbody>
|
@@ -1,10 +1,11 @@
|
|
1
|
-
<h4><%= t("fcrepo_admin.datastream.upload.
|
2
|
-
<%=
|
1
|
+
<h4><%= t("fcrepo_admin.datastream.upload.title") %></h4>
|
2
|
+
<%= datastream_alerts :system_managed, :not_versionable %>
|
3
|
+
<%= form_tag fcrepo_admin.object_datastream_path(@object, @datastream), :method => :put, :multipart => true do %>
|
3
4
|
<div>
|
4
5
|
<%= file_field_tag "file" %>
|
5
6
|
</div>
|
6
7
|
<p>
|
7
|
-
<%= submit_tag t("fcrepo_admin.datastream.upload.submit"), :confirm => t("fcrepo_admin.datastream.upload.confirm"), :class => "btn btn-primary" %>
|
8
|
+
<%= submit_tag t("fcrepo_admin.datastream.upload.form.submit"), :confirm => t("fcrepo_admin.datastream.upload.form.confirm"), :class => "btn btn-primary" %>
|
8
9
|
</p>
|
9
10
|
<% end %>
|
10
11
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<%= t("fcrepo_admin.object.permissions.no_permissions") %>
|
4
4
|
</div>
|
5
5
|
<% else %>
|
6
|
-
<table class="table table-bordered table-condensed
|
6
|
+
<table class="table table-bordered table-condensed">
|
7
7
|
<thead>
|
8
8
|
<tr>
|
9
9
|
<th scope="col"><%= t("fcrepo_admin.object.permissions.header.type") %></th>
|
@@ -1,5 +1,11 @@
|
|
1
1
|
<h3><%= t("fcrepo_admin.object.permissions.title") %></h3>
|
2
|
-
|
3
|
-
|
2
|
+
<div class="row">
|
3
|
+
<div class="span4">
|
4
|
+
<%= render :partial => 'direct_permissions', :locals => {:object => @object} %>
|
5
|
+
</div>
|
6
|
+
<div class="span5">
|
7
|
+
<%= render 'inherited_permissions' %>
|
8
|
+
</div>
|
9
|
+
</div>
|
4
10
|
|
5
11
|
|