sufia 1.0.0 → 1.1.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/.travis.yml +12 -1
- data/History.md +10 -0
- data/README.md +1 -6
- data/app/assets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/javascripts/sufia.js +3 -4
- data/app/assets/javascripts/sufia/batch_select_all.js +2 -2
- data/app/controllers/concerns/sufia/users_controller_behavior.rb +133 -0
- data/app/controllers/users_controller.rb +1 -115
- data/app/helpers/trophy_helper.rb +2 -3
- data/app/models/datastreams/properties_datastream.rb +5 -3
- data/app/views/batch/edit.html.erb +7 -3
- data/app/views/batch_edits/edit.html.erb +47 -77
- data/app/views/dashboard/_index_partials/_list_files.html.erb +25 -12
- data/app/views/dashboard/index.html.erb +29 -44
- data/app/views/generic_files/_descriptions.html.erb +17 -17
- data/app/views/generic_files/_permission.html.erb +7 -124
- data/app/views/generic_files/_permission_form.html.erb +123 -0
- data/app/views/generic_files/_versioning.html.erb +1 -1
- data/app/views/generic_files/edit.html.erb +9 -21
- data/app/views/users/_notify_number.html.erb +1 -1
- data/app/views/users/edit.html.erb +1 -1
- data/config/routes.rb +3 -1
- data/lib/sufia.rb +5 -1
- data/lib/sufia/files_controller_behavior.rb +8 -8
- data/lib/sufia/user.rb +4 -8
- data/lib/sufia/version.rb +1 -1
- data/spec/controllers/generic_files_controller_spec.rb +8 -0
- data/spec/controllers/users_controller_spec.rb +22 -0
- data/spec/models/properties_datastream_spec.rb +21 -0
- data/spec/routing/route_spec.rb +1 -0
- data/sufia.gemspec +0 -1
- data/vendor/assets/javascripts/ZeroClipboard.min.js +8 -0
- data/vendor/assets/javascripts/ZeroClipboard.swf +0 -0
- metadata +8 -19
- data/app/assets/javascripts/sufia/tabs.js +0 -58
- data/app/views/catalog/_uva_tabs.html.erb +0 -10
- data/vendor/assets/javascripts/jquery.zclip.min.js +0 -12
@@ -20,11 +20,11 @@ on element ids -->
|
|
20
20
|
<% noid = document.noid %>
|
21
21
|
<tr id="document_<%= noid.gsub(":", "_") %>" class="<%= cycle("","zebra") %>">
|
22
22
|
<% gf = GenericFile.find(document.id) %>
|
23
|
-
<td width="6%"><%= batch_edit_select(document) %> </td>
|
23
|
+
<td width="6%"><%= batch_edit_select(document) %> </td>
|
24
24
|
<td width="1%">
|
25
25
|
<% if gf.processing? %>
|
26
26
|
<i class="icon-magic icon-large <%= 'ss-'+gf.batch.noid%>"/>
|
27
|
-
<% elsif gf.depositor
|
27
|
+
<% elsif gf.depositor != @user.user_key %>
|
28
28
|
<i class="icon-gift icon-large"/>
|
29
29
|
<% end %>
|
30
30
|
</td>
|
@@ -36,22 +36,35 @@ on element ids -->
|
|
36
36
|
<td width="17%"><%= document.date_uploaded %> </td>
|
37
37
|
<td width="5%" align="center">
|
38
38
|
<% if document.registered? %>
|
39
|
-
<a href="<%= sufia.generic_file_path(noid) %>/edit/?tab=permissions" id="permission_<%= noid %>"><span class="label label-info" title="<%=t('sufia.institution_name') %>"><%=t('sufia.institution_name') %></span></a>
|
39
|
+
<a href="<%= sufia.generic_file_path(noid) %>/edit/?tab=permissions" id="permission_<%= noid %>"><span class="label label-info" title="<%=t('sufia.institution_name') %>"><%=t('sufia.institution_name') %></span></a>
|
40
40
|
<% elsif document.public? %>
|
41
41
|
<a href="<%= sufia.generic_file_path(noid) %>/edit/?tab=permissions" id="permission_<%= noid %>"><span class="label label-success" title="Open Access">Open Access</span></a>
|
42
42
|
<% else %>
|
43
43
|
<a href="<%= sufia.generic_file_path(noid) %>/edit/?tab=permissions" id="permission_<%= noid %>"><span class="label label-important" title="Private">Private</span></a>
|
44
44
|
<% end %>
|
45
45
|
</td>
|
46
|
-
<td width="23%"
|
47
|
-
<
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
46
|
+
<td width="23%">
|
47
|
+
<div class="btn-group">
|
48
|
+
<button class="btn btn-small" href="#"><i class="icon-wrench"></i> Select an action</button>
|
49
|
+
<button class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#"><span class="icon-caret-down"></span></button>
|
50
|
+
<ul class="dropdown-menu">
|
51
|
+
<li>
|
52
|
+
<%= link_to raw('<i class="icon-link over"></i> Single-Use Link to File'), '#', :class => "copypaste itemicon itemcode", :title => "Single-Use Link to File", :id => "copy_link_#{noid}" %>
|
53
|
+
</li>
|
54
|
+
<li>
|
55
|
+
<%= link_to raw('<i class="icon-pencil"></i> Edit File'), sufia.edit_generic_file_path(noid), :class=> 'itemicon itemedit', :title => 'Edit File' %>
|
56
|
+
</li>
|
57
|
+
<li>
|
58
|
+
<%= link_to raw('<i class="icon-download-alt"></i> Download File'), sufia.download_path(noid), :class=> 'itemicon itemdownload', :title => 'Download File', :target => '_new' %>
|
59
|
+
</li>
|
60
|
+
<li>
|
61
|
+
<%= link_to raw('<i class="icon-trash"></i> Delete File'), sufia.generic_file_path(noid), :class=> 'itemicon itemtrash', :title => 'Delete File', :method => :delete, :data => { :confirm => "Deleting a file from #{t('sufia.product_name')} is permanent. Click OK to delete this file from #{t('sufia.product_name')}, or Cancel to cancel this operation"} %>
|
62
|
+
</li>
|
63
|
+
<li>
|
64
|
+
<%= display_trophy_link(@user, noid) %>
|
65
|
+
</li>
|
66
|
+
</ul>
|
67
|
+
</div>
|
55
68
|
</td>
|
56
69
|
</tr>
|
57
70
|
<tr class="hide" id="detail_<%= noid.gsub(":", "_") %>"> <!-- document detail"> -->
|
@@ -17,63 +17,48 @@ limitations under the License.
|
|
17
17
|
<% content_for :local_js do %>
|
18
18
|
|
19
19
|
initialize_audio();
|
20
|
-
|
21
|
-
function getSingleUse(
|
20
|
+
|
21
|
+
function getSingleUse(id) {
|
22
22
|
<% rurl = root_url %>
|
23
|
-
<% rurl = rurl.slice(0,rurl.length-1) if rurl[rurl.length-1] ==
|
23
|
+
<% rurl = rurl.slice(0, rurl.length-1) if rurl[rurl.length-1] == "/" %>
|
24
24
|
var resp = $.ajax({
|
25
|
-
headers: {Accept
|
25
|
+
headers: { Accept: "application/javascript" },
|
26
26
|
type: 'get',
|
27
|
-
url:
|
27
|
+
url: "<%= rurl %>/single_use_link/generate_show/" + id.slice(10),
|
28
28
|
async: false,
|
29
29
|
});
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
var
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
alert("A single use link to "+$('#src_copy_link'+this.id.slice(10))[0].text+" was copied to your clip board.");
|
53
|
-
setTimeout(getSingleUse(this.id),5);
|
54
|
-
}
|
55
|
-
|
56
|
-
});
|
57
|
-
}
|
58
|
-
} else {
|
59
|
-
$('a.copypaste').click(function(){
|
60
|
-
var singleUse = getSingleUse(this.id);
|
61
|
-
var url = '<%=rurl%>' + singleUse.responseText;
|
62
|
-
alert('Your Single Use Link: '+url);
|
63
|
-
return false;
|
64
|
-
});
|
65
|
-
}
|
30
|
+
return "<%= rurl %>/" + resp.responseText;
|
31
|
+
}
|
32
|
+
|
33
|
+
// Load clipboard swf
|
34
|
+
$(document).ready(function() {
|
35
|
+
ZeroClipboard.setDefaults({ moviePath: "/assets/ZeroClipboard.swf" });
|
36
|
+
$.each($(".copypaste"), function() {
|
37
|
+
var clip = new ZeroClipboard();
|
38
|
+
clip.on("dataRequested", function(client, args) {
|
39
|
+
clip.setText(getSingleUse(this.id));
|
40
|
+
})
|
41
|
+
clip.on("complete", function(client, args) {
|
42
|
+
alert("A single use link to " + args.text + " was copied to your clipboard.")
|
43
|
+
})
|
44
|
+
clip.on("noflash", function(client, args) {
|
45
|
+
alert("Your single-use link: " + getSingleUse(this.id))
|
46
|
+
})
|
47
|
+
clip.on("wrongflash", function(client, args) {
|
48
|
+
alert("Your single-use link: " + getSingleUse(this.id))
|
49
|
+
})
|
50
|
+
clip.glue($("#" + this.id))
|
51
|
+
})
|
66
52
|
});
|
67
53
|
|
68
|
-
|
69
54
|
// hide or show the batch update buttons on page startup
|
70
55
|
window.batch_part_on_other_page = <%= @batch_part_on_other_page%>;
|
71
56
|
window.batch_size_on_other_page = <%= @batch_size_on_other_page%>;
|
72
57
|
window.result_set_size = <%= @result_set_size%>;
|
73
58
|
window.document_list_count = <%= @document_list.count %>;
|
74
59
|
toggleButtons(<%= !@empty_batch %>);
|
75
|
-
|
76
|
-
// initialize hydra batch edit and set up select all button toggle after checkboxes have been created
|
60
|
+
|
61
|
+
// initialize hydra batch edit and set up select all button toggle after checkboxes have been created
|
77
62
|
$('#documents').batchEdit({afterCheckboxUpdate: setup_buttontoggle});
|
78
63
|
|
79
64
|
|
@@ -14,22 +14,22 @@ See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
15
15
|
%>
|
16
16
|
|
17
|
-
|
18
|
-
<%=
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
<div id="descriptions_display" class="tab-pane active">
|
18
|
+
<%= form_for @generic_file, :url => sufia.generic_file_path, :html => {:multipart => true, :class => 'form-horizontal'} do |f| %>
|
19
|
+
<%= hidden_field_tag('redirect_tab', 'descriptions') %>
|
20
|
+
<h2 class="non lower">Descriptions <small class="pull-right"><span class="error">*</span> indicates required fields</small> </h2>
|
21
|
+
<div class="well">
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
23
|
+
<%= render :partial=>'generic_files/edit_fields/type', :locals => {f:f} %>
|
24
|
+
<% (@generic_file.terms_for_editing - [:resource_type]).each do |term| %>
|
25
|
+
<%= render :partial => "generic_files/field_form", :locals => { :generic_file => @generic_file, :f =>f, :render_req => true, :key => term } %>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
</div><!-- /well -->
|
29
|
+
<div class="row">
|
30
|
+
<div class="form-actions">
|
31
|
+
<%= f.button '<i class="icon-save"></i> Save Descriptions'.html_safe, :type => 'submit', :class => 'btn-primary', :onclick => "confirmation_needed = false;", :id => "upload_submit", :name => "update_descriptions" %>
|
32
|
+
</div>
|
32
33
|
</div>
|
33
|
-
|
34
|
-
</div
|
35
|
-
<% end %>
|
34
|
+
<% end %>
|
35
|
+
</div>
|
@@ -14,130 +14,13 @@ See the License for the specific language governing permissions and
|
|
14
14
|
limitations under the License.
|
15
15
|
%>
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<div id="permissions_display">
|
24
|
-
<input type="hidden" name="generic_file[permissions][group][public]" value="1" />
|
25
|
-
<input type="hidden" name="generic_file[permissions][group][registered]" value="2" />
|
26
|
-
<h2><% if params[:controller] == 'batch' %>Bulk <% end %>Permissions <% if params[:controller] == 'batch' %><small>(applied to all files just uploaded)</small><% end %></h2>
|
27
|
-
<div class="alert hide" id="save_perm_note">Permissions are <strong>not</strong> saved until the "Save" button is pressed at the bottom of the page.</div>
|
28
|
-
<div class="alert alert-error hide" id="permissions_error"><a class="close" data-dismiss="alert" href="#">×</a><span id="permissions_error_text"></span></div>
|
29
|
-
<div class="well">
|
30
|
-
<div class="row">
|
31
|
-
<p class="pull-right">
|
32
|
-
<!-- Button to trigger modal -->
|
33
|
-
<a href="#myModal" role="button" class="btn btn-warning" data-toggle="modal">What's this <i class="icon-question-sign icon-large"></i></a>
|
34
|
-
<!-- Modal -->
|
35
|
-
<div class="modal hide" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
36
|
-
<div class="modal-header">
|
37
|
-
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
|
38
|
-
<h2 id="myModalLabel"><%=t('sufia.product_name') %> Permissions</h2>
|
39
|
-
</div>
|
40
|
-
<div class="modal-body">
|
41
|
-
<h3>Visibility</h3>
|
42
|
-
<p>This setting will determine who can view your file, and the associated metadata. Setting
|
43
|
-
the visibility to <span class="label label-success">Open Access</span> will allow your content to be discovered in Google and viewed by anyone.
|
44
|
-
The visibility setting <span class="label label-info"><%=t('sufia.institution_name') %></span> will only allow users who are logged into <%=t('sufia.product_name') %>
|
45
|
-
(via WebAccess) to view the content. Files that are marked <span class="label label-important">Private</span> are only able to be viewed
|
46
|
-
by users and/or groups that have been given specific access in the "Share With" section.
|
47
|
-
</p>
|
48
|
-
|
49
|
-
<p>
|
50
|
-
Permissions in <%=t('sufia.product_name') %> are hierarchical. This means that you cannot set the visibility of a file to <span class="label label-success">Open Access</span> or
|
51
|
-
<span class="label label-info"><%=t('sufia.institution_name') %></span> and simultaneously try to restrict the access of a single user. However, you may mark the visibility of
|
52
|
-
a file as <span class="label label-important">Private</span> and then grant access to particular users and/or groups for that file in the "Share With"
|
53
|
-
section.
|
54
|
-
</p>
|
55
|
-
|
56
|
-
<h3>Share With</h3>
|
57
|
-
<p>You may grant "View/Download" or "Edit" access for specific users and/or groups to files. Enter
|
58
|
-
a valid <%=t('sufia.account_name') %>, one at a time, select the access level for that user and click
|
59
|
-
<button class="btn btn-mini btn-inverse" onclick="return false;"><i class="icon-plus-sign" ></i>Add</button>.
|
60
|
-
</p>
|
61
|
-
|
62
|
-
<%= render partial: 'generic_files/groups_description' %>
|
63
|
-
|
64
|
-
<h3>Permission Definitions</h3>
|
65
|
-
<p>
|
66
|
-
<strong>View/Download:</strong> this file (both contents and metadata) is accessible from within <%=t('sufia.product_name') %>.<br />
|
67
|
-
<strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant this permission to <%=t('sufia.institution_name') %> users and/or groups.
|
68
|
-
</p>
|
69
|
-
</div>
|
70
|
-
<div class="modal-footer">
|
71
|
-
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
|
72
|
-
</div>
|
73
|
-
</div>
|
74
|
-
</p>
|
75
|
-
</div>
|
76
|
-
<div class="control-group">
|
77
|
-
<h3>Visibility - <small>who should have the ability to read and download</small></h3>
|
78
|
-
<div class="controls">
|
79
|
-
<label class="radio">
|
80
|
-
<input type="radio" id="visibility_open" name="visibility" value="open" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
|
81
|
-
</label>
|
82
|
-
<label class="radio">
|
83
|
-
<input type="radio" id="visibility_psu" name="visibility" value="psu" <% if !psu_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
|
84
|
-
</label>
|
85
|
-
<label class="radio">
|
86
|
-
<input type="radio" id="visibility_restricted" name="visibility" value="restricted"<% if psu_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-important">Private</span> Visible to users/groups specified below, if any.
|
87
|
-
</label>
|
88
|
-
</div><!-- /.controls -->
|
89
|
-
</div><!-- /.control-group -->
|
90
|
-
<div class="row">
|
91
|
-
<h3>Share With <small>(optional)</small></h3>
|
92
|
-
</div>
|
93
|
-
<div class="row control-group">
|
94
|
-
<div id="new-user">
|
95
|
-
<div class="input-append">
|
96
|
-
<p class="help-block">Enter <%=t('sufia.account_label') %> (one at a time)</p>
|
97
|
-
<%= text_field_tag 'new_user_name_skel', nil, :class => "span29" %><span class="add-on"><%=t('sufia.directory.suffix') %></span>
|
98
|
-
<%= select_tag 'new_user_permission_skel', options_for_select(Sufia::Engine.config.permission_levels), :class=> 'span17' %>
|
99
|
-
<button class="btn btn-mini btn-inverse" id="add_new_user_skel"><i class="icon-plus-sign"></i> Add</button>
|
100
|
-
<br /> <span id="directory_user_result"></span>
|
101
|
-
</div>
|
102
|
-
</div>
|
103
|
-
</div>
|
104
|
-
<div class="row control-group">
|
105
|
-
<div id="new-group" >
|
106
|
-
<div class="input-append">
|
107
|
-
<%= select_tag 'new_group_name_skel', options_for_select(["Select a group"] + groups), :class => 'span38' %>
|
108
|
-
<%= select_tag 'new_group_permission_skel', options_for_select(Sufia::Engine.config.permission_levels), :class => 'span17' %>
|
109
|
-
<button class="btn btn-mini btn-inverse" id="add_new_group_skel" ><i class="icon-plus-sign"></i> Add</button>
|
110
|
-
<br /><span id="directory_group_result"></span>
|
17
|
+
<div id="permissions_display" class="tab-pane">
|
18
|
+
<%= form_for @generic_file, :url => sufia.generic_file_path, :html => {:multipart => true, :class => 'form-horizontal', :id => 'permission'} do |f| %>
|
19
|
+
<%= hidden_field_tag('redirect_tab', 'permissions') %>
|
20
|
+
<%= render :partial => "generic_files/permission_form", :locals => { :gf => @generic_file, :f=> f } %>
|
21
|
+
<div class="row form-actions" id="permissions_submit">
|
22
|
+
<%= button_tag '<i class="icon-save"></i> Save'.html_safe, :type => 'submit', :class => 'btn-primary btn-large', :onclick => "confirmation_needed = false;", :id => "upload_submit", :name => "update_permission" %>
|
111
23
|
</div>
|
112
|
-
</div>
|
113
|
-
</div>
|
114
|
-
</div><!-- /.well -->
|
115
|
-
<table class="table table-bordered">
|
116
|
-
<tr>
|
117
|
-
<th width="60%">Person/Group</th>
|
118
|
-
<th width="40%">Access Level</th>
|
119
|
-
</tr>
|
120
|
-
<tr id="file_permissions">
|
121
|
-
<td><%= label_tag :owner_access, "Depositor (<span id=\"file_owner\">#{link_to_profile depositor}</span>)".html_safe, :class=>"control-label" %></td>
|
122
|
-
<td>
|
123
|
-
<%= Sufia::Engine.config.owner_permission_levels.keys[0] %>
|
124
|
-
</td>
|
125
|
-
</tr>
|
126
|
-
<% gf.permissions.each do |permission| %>
|
127
|
-
<%-# skip the public, penn state (aka registered), and depositor perms as they are displayed first at the top -%>
|
128
|
-
<% next if permission[:name].downcase == 'public' %>
|
129
|
-
<% next if permission[:name].downcase == 'registered' %>
|
130
|
-
<% next if permission[:name].downcase == depositor %>
|
131
|
-
<tr>
|
132
|
-
<td><%= label_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", permission[:name], :class=>"control-label" %></td>
|
133
|
-
<td>
|
134
|
-
<%= select_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", options_for_select(Sufia::Engine.config.permission_levels, permission[:access]), :class=>'span20 select_perm' %>
|
135
|
-
<button class="btn close remove_perm">X</button>
|
136
|
-
</td>
|
137
|
-
</tr>
|
138
24
|
<% end %>
|
139
|
-
</table>
|
140
25
|
</div><!-- /#permissions_display -->
|
141
|
-
|
142
|
-
<%= button_tag '<i class="icon-save"></i> Save'.html_safe, :type => 'submit', :class => 'btn-primary btn-large', :onclick => "confirmation_needed = false;", :id => "upload_submit", :name => "update_permission" %>
|
143
|
-
</div>
|
26
|
+
|
@@ -0,0 +1,123 @@
|
|
1
|
+
<% depositor = gf.depositor || batch.generic_files.first.depositor %>
|
2
|
+
<% public_perm = gf.permissions.map { |perm| perm[:access] if perm[:name] == "public"}.compact.first %>
|
3
|
+
<% public_perm = true if params[:controller] == 'batch' %>
|
4
|
+
<% registered_perm = gf.permissions.map { |perm| perm[:access] if perm[:name] == "registered"}.compact.first %>
|
5
|
+
|
6
|
+
|
7
|
+
<input type="hidden" name="generic_file[permissions][group][public]" value="1" />
|
8
|
+
<input type="hidden" name="generic_file[permissions][group][registered]" value="2" />
|
9
|
+
<h2><% if params[:controller] == 'batch' %>Bulk <% end %>Permissions <% if params[:controller] == 'batch' %><small>(applied to all files just uploaded)</small><% end %></h2>
|
10
|
+
<div class="alert hide" id="save_perm_note">Permissions are <strong>not</strong> saved until the "Save" button is pressed at the bottom of the page.</div>
|
11
|
+
<div class="alert alert-error hide" id="permissions_error"><a class="close" data-dismiss="alert" href="#">×</a><span id="permissions_error_text"></span></div>
|
12
|
+
<div class="well">
|
13
|
+
<div class="row">
|
14
|
+
<p class="pull-right">
|
15
|
+
<!-- Button to trigger modal -->
|
16
|
+
<a href="#myModal" role="button" class="btn btn-warning" data-toggle="modal">What's this <i class="icon-question-sign icon-large"></i></a>
|
17
|
+
<!-- Modal -->
|
18
|
+
<div class="modal hide" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
19
|
+
<div class="modal-header">
|
20
|
+
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
|
21
|
+
<h2 id="myModalLabel"><%=t('sufia.product_name') %> Permissions</h2>
|
22
|
+
</div>
|
23
|
+
<div class="modal-body">
|
24
|
+
<h3>Visibility</h3>
|
25
|
+
<p>This setting will determine who can view your file, and the associated metadata. Setting
|
26
|
+
the visibility to <span class="label label-success">Open Access</span> will allow your content to be discovered in Google and viewed by anyone.
|
27
|
+
The visibility setting <span class="label label-info"><%=t('sufia.institution_name') %></span> will only allow users who are logged into <%=t('sufia.product_name') %>
|
28
|
+
(via WebAccess) to view the content. Files that are marked <span class="label label-important">Private</span> are only able to be viewed
|
29
|
+
by users and/or groups that have been given specific access in the "Share With" section.
|
30
|
+
</p>
|
31
|
+
|
32
|
+
<p>
|
33
|
+
Permissions in <%=t('sufia.product_name') %> are hierarchical. This means that you cannot set the visibility of a file to <span class="label label-success">Open Access</span> or
|
34
|
+
<span class="label label-info"><%=t('sufia.institution_name') %></span> and simultaneously try to restrict the access of a single user. However, you may mark the visibility of
|
35
|
+
a file as <span class="label label-important">Private</span> and then grant access to particular users and/or groups for that file in the "Share With"
|
36
|
+
section.
|
37
|
+
</p>
|
38
|
+
|
39
|
+
<h3>Share With</h3>
|
40
|
+
<p>You may grant "View/Download" or "Edit" access for specific users and/or groups to files. Enter
|
41
|
+
a valid <%=t('sufia.account_name') %>, one at a time, select the access level for that user and click
|
42
|
+
<button class="btn btn-mini btn-inverse" onclick="return false;"><i class="icon-plus-sign" ></i>Add</button>.
|
43
|
+
</p>
|
44
|
+
|
45
|
+
<%= render partial: 'generic_files/groups_description' %>
|
46
|
+
|
47
|
+
<h3>Permission Definitions</h3>
|
48
|
+
<p>
|
49
|
+
<strong>View/Download:</strong> this file (both contents and metadata) is accessible from within <%=t('sufia.product_name') %>.<br />
|
50
|
+
<strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant this permission to <%=t('sufia.institution_name') %> users and/or groups.
|
51
|
+
</p>
|
52
|
+
</div>
|
53
|
+
<div class="modal-footer">
|
54
|
+
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
</p>
|
58
|
+
</div>
|
59
|
+
<div class="control-group">
|
60
|
+
<h3>Visibility - <small>who should have the ability to read and download</small></h3>
|
61
|
+
<div class="controls">
|
62
|
+
<label class="radio">
|
63
|
+
<input type="radio" id="visibility_open" name="visibility" value="open" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
|
64
|
+
</label>
|
65
|
+
<label class="radio">
|
66
|
+
<input type="radio" id="visibility_psu" name="visibility" value="psu" <% if !registered_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
|
67
|
+
</label>
|
68
|
+
<label class="radio">
|
69
|
+
<input type="radio" id="visibility_restricted" name="visibility" value="restricted"<% if registered_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-important">Private</span> Visible to users/groups specified below, if any.
|
70
|
+
</label>
|
71
|
+
</div><!-- /.controls -->
|
72
|
+
</div><!-- /.control-group -->
|
73
|
+
<div class="row">
|
74
|
+
<h3>Share With <small>(optional)</small></h3>
|
75
|
+
</div>
|
76
|
+
<div class="row control-group">
|
77
|
+
<div id="new-user">
|
78
|
+
<div class="input-append">
|
79
|
+
<p class="help-block">Enter <%=t('sufia.account_label') %> (one at a time)</p>
|
80
|
+
<%= text_field_tag 'new_user_name_skel', nil, :class => "span29" %><span class="add-on"><%=t('sufia.directory.suffix') %></span>
|
81
|
+
<%= select_tag 'new_user_permission_skel', options_for_select(Sufia::Engine.config.permission_levels), :class=> 'span17' %>
|
82
|
+
<button class="btn btn-mini btn-inverse" id="add_new_user_skel"><i class="icon-plus-sign"></i> Add</button>
|
83
|
+
<br /> <span id="directory_user_result"></span>
|
84
|
+
</div>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
<div class="row control-group">
|
88
|
+
<div id="new-group" >
|
89
|
+
<div class="input-append">
|
90
|
+
<%= select_tag 'new_group_name_skel', options_for_select(["Select a group"] + groups), :class => 'span38' %>
|
91
|
+
<%= select_tag 'new_group_permission_skel', options_for_select(Sufia::Engine.config.permission_levels), :class => 'span17' %>
|
92
|
+
<button class="btn btn-mini btn-inverse" id="add_new_group_skel" ><i class="icon-plus-sign"></i> Add</button>
|
93
|
+
<br /><span id="directory_group_result"></span>
|
94
|
+
</div>
|
95
|
+
</div>
|
96
|
+
</div>
|
97
|
+
</div><!-- /.well -->
|
98
|
+
<table class="table table-bordered">
|
99
|
+
<tr>
|
100
|
+
<th width="60%">Person/Group</th>
|
101
|
+
<th width="40%">Access Level</th>
|
102
|
+
</tr>
|
103
|
+
<tr id="file_permissions">
|
104
|
+
<td><%= label_tag :owner_access, "Depositor (<span id=\"file_owner\">#{link_to_profile depositor}</span>)".html_safe, :class=>"control-label" %></td>
|
105
|
+
<td>
|
106
|
+
<%= Sufia::Engine.config.owner_permission_levels.keys[0] %>
|
107
|
+
</td>
|
108
|
+
</tr>
|
109
|
+
<% gf.permissions.each do |permission| %>
|
110
|
+
<%-# skip the public, penn state (aka registered), and depositor perms as they are displayed first at the top -%>
|
111
|
+
<% next if permission[:name].downcase == 'public' %>
|
112
|
+
<% next if permission[:name].downcase == 'registered' %>
|
113
|
+
<% next if permission[:name].downcase == depositor %>
|
114
|
+
<tr>
|
115
|
+
<td><%= label_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", permission[:name], :class=>"control-label" %></td>
|
116
|
+
<td>
|
117
|
+
<%= select_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", options_for_select(Sufia::Engine.config.permission_levels, permission[:access]), :class=>'span20 select_perm' %>
|
118
|
+
<button class="btn close remove_perm">X</button>
|
119
|
+
</td>
|
120
|
+
</tr>
|
121
|
+
<% end %>
|
122
|
+
</table>
|
123
|
+
|