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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/HISTORY.rdoc +10 -2
  3. data/README.rdoc +59 -14
  4. data/app/controllers/fcrepo_admin/datastreams_controller.rb +8 -46
  5. data/app/controllers/fcrepo_admin/objects_controller.rb +1 -1
  6. data/app/views/fcrepo_admin/datastreams/_alert.html.erb +4 -0
  7. data/app/views/fcrepo_admin/datastreams/_content.html.erb +1 -1
  8. data/app/views/fcrepo_admin/datastreams/_datastreams_list.html.erb +3 -3
  9. data/app/views/fcrepo_admin/datastreams/_profile.html.erb +4 -5
  10. data/app/views/fcrepo_admin/datastreams/content.html.erb +2 -1
  11. data/app/views/fcrepo_admin/datastreams/edit.html.erb +4 -3
  12. data/app/views/fcrepo_admin/datastreams/history.html.erb +3 -8
  13. data/app/views/fcrepo_admin/datastreams/index.html.erb +4 -1
  14. data/app/views/fcrepo_admin/datastreams/upload.html.erb +4 -3
  15. data/app/views/fcrepo_admin/objects/_direct_permissions.html.erb +1 -1
  16. data/app/views/fcrepo_admin/objects/_permissions_list.html.erb +1 -1
  17. data/app/views/fcrepo_admin/objects/permissions.html.erb +8 -2
  18. data/app/views/fcrepo_admin/shared/_context_nav.html.erb +2 -2
  19. data/app/views/layouts/fcrepo_admin/datastreams.html.erb +5 -7
  20. data/app/views/layouts/fcrepo_admin/objects.html.erb +1 -1
  21. data/config/locales/fcrepo_admin.en.yml +33 -22
  22. data/config/routes.rb +5 -2
  23. data/lib/fcrepo_admin.rb +51 -1
  24. data/lib/fcrepo_admin/decorators/active_fedora/base_decorator.rb +33 -0
  25. data/lib/fcrepo_admin/decorators/active_fedora/datastream_decorator.rb +35 -0
  26. data/lib/fcrepo_admin/engine.rb +6 -0
  27. data/lib/fcrepo_admin/helpers/datastreams_helper_behavior.rb +132 -8
  28. data/lib/fcrepo_admin/helpers/objects_helper_behavior.rb +47 -8
  29. data/lib/fcrepo_admin/version.rb +1 -1
  30. data/spec/controllers/datastreams_controller_spec.rb +53 -29
  31. data/spec/controllers/objects_controller_spec.rb +1 -1
  32. data/spec/features/datastreams/content.html.erb_spec.rb +7 -0
  33. data/spec/features/datastreams/edit.html.erb_spec.rb +1 -1
  34. data/spec/features/datastreams/index.html.erb_spec.rb +3 -3
  35. data/spec/features/datastreams/show.html.erb_spec.rb +44 -12
  36. data/spec/features/datastreams/upload.html.erb_spec.rb +1 -1
  37. data/spec/internal/app/models/item.rb +3 -0
  38. data/spec/internal/app/models/solr_document.rb +0 -2
  39. data/spec/internal/spec/fixtures/files/hydra.jpg +0 -0
  40. metadata +9 -8
  41. data/app/views/fcrepo_admin/datastreams/_context_nav.html.erb +0 -9
  42. data/app/views/fcrepo_admin/datastreams/_context_nav_items.html.erb +0 -38
  43. data/app/views/fcrepo_admin/objects/_context_nav.html.erb +0 -9
  44. data/app/views/fcrepo_admin/objects/_context_nav_datastreams.html.erb +0 -13
  45. data/app/views/fcrepo_admin/objects/_context_nav_items.html.erb +0 -19
  46. 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: 305ef9978b750b747db1086587bf2d1728a59db9
4
- data.tar.gz: 6c1b3182517d5540696c72f69a8eb5eb8e360925
3
+ metadata.gz: 9b41a170f6b9f8ad2296559c6ff76f85c1b325c2
4
+ data.tar.gz: ce970e804c3e9fec32d7ac493bdb001e775f765d
5
5
  SHA512:
6
- metadata.gz: b2c10fdd7964b34923d6486be2fb8b1c05215e9430d0f8cf75e04007f80ab658660f83220502b9469a94f1467d49a364a80714b209ddad2efc726d0fed71e887
7
- data.tar.gz: 277b2fc6f1dd3a411ace6984eec531d60cd2e5d4ac9b906e9774f9064d283c84d82e6abf8630dc0110328de7803cf95e79d460a641f704e4c1b80a149a6e5af1
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
- = Hydra Administrative Tool for a Fedora Repository
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
- == Status
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
- == Requirements
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
- == Installation
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 (version >= 0.4.0)
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 (not required for version >= 0.4.0)
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
- == Overriding fcrepo_admin behaviors
78
+ === Overriding fcrepo_admin behaviors
79
79
 
80
- The following are examples of possible customizations. This list is not necessarily exhaustive.
80
+ ==== Configurable settings (fcrepo_admin >= 0.5.0)
81
81
 
82
- === Helpers
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
- === Context Navigation Menus
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
- === Controllers
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
- == Internationalization (i18n)
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
- == Contributing
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
- == License
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 ds_content_is_uploadable?
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.dsid)
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
 
@@ -13,7 +13,7 @@ module FcrepoAdmin
13
13
  end
14
14
 
15
15
  def audit_trail
16
- if object_is_auditable?
16
+ if @object.auditable?
17
17
  if params[:download] # TODO use format instead download param
18
18
  send_data @object.audit_trail.to_xml, :disposition => 'inline', :type => 'text/xml'
19
19
  end
@@ -0,0 +1,4 @@
1
+ <%= content_tag :div, :class => css_class do %>
2
+ <% if caution %><strong><%= t("fcrepo_admin.datastream.alerts.caution") %></strong><% end %>
3
+ <%= t("fcrepo_admin.datastream.alerts.#{alert}") %>
4
+ <% end %>
@@ -1,5 +1,5 @@
1
1
  <h4>Content</h4>
2
- <% if ds_content_is_text? %>
2
+ <% if datastream.content_is_text? %>
3
3
  <pre class="prettyprint pre-scrollable"><%= datastream.content %></pre>
4
4
  <% else %>
5
5
  <div class="alert">
@@ -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, dsid) %>
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
- <%= format_ds_profile_value ds, col %>
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
- <% datastream.profile.each_key do |key| %>
4
+ <% datastream_show_profile_keys.each do |key| %>
6
5
  <tr>
7
- <th scope="row"><%= t("fcrepo_admin.datastream.profile.#{key}") %></th>
8
- <td><%= format_ds_profile_value datastream, key %></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
- This datastream has not been persisted to Fedora.
13
+ <%= t("fcrepo_admin.datastream.alerts.not_persisted") %>
15
14
  </div>
16
15
  <% end %>
@@ -1 +1,2 @@
1
- <%= render :partial => 'content', :locals => {:datastream => @datastream} %>
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.header") %></h4>
2
- <%= form_tag fcrepo_admin.object_datastream_path(@datastream.pid, @datastream.dsid), :method => :put do %>
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.each_with_index do |ds, i| %>
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><%= ds.profile[col] %></td>
16
+ <td><%= dsVersion.profile[col] %></td>
22
17
  <% end %>
23
18
  <% end %>
24
19
  </tbody>
@@ -1 +1,4 @@
1
- <%= render :partial => 'datastreams', :locals => {:object => @object} %>
1
+ <h3><%= t("fcrepo_admin.datastreams.title") %></h3>
2
+
3
+ <%= render :partial => 'datastreams_list', :locals => {:object => @object, :columns => datastream_index_columns} %>
4
+
@@ -1,10 +1,11 @@
1
- <h4><%= t("fcrepo_admin.datastream.upload.header") %></h4>
2
- <%= form_tag fcrepo_admin.object_datastream_path(@datastream.pid, @datastream.dsid), :method => :put, :multipart => true do %>
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
 
@@ -1,5 +1,5 @@
1
1
  <h4><%= t("fcrepo_admin.object.permissions.direct") %></h4>
2
- <% if object_has_permissions? %>
2
+ <% if object.has_permissions? %>
3
3
  <%= render :partial => 'permissions_list', :locals => {:permissions => object.permissions} %>
4
4
  <% else %>
5
5
  <div class="alert">
@@ -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 table-autowidth" style="width: auto">
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
- <%= render :partial => 'direct_permissions', :locals => {:object => @object} %>
3
- <%= render 'inherited_permissions' %>
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
 
@@ -3,9 +3,9 @@
3
3
  <li class="nav-header">
4
4
  <%= header %>
5
5
  </li>
6
- <% items.each do |label, path| %>
6
+ <% items.each do |item| %>
7
7
  <li>
8
- <%= link_to_unless_current label, path %>
8
+ <%= item %>
9
9
  </li>
10
10
  <% end %>
11
11
  </ul>