sufia 7.0.0.rc2 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1654dd7eac815f40dd134668a72b7dc051dc62b3
4
- data.tar.gz: 1e1dd5204d18cfdc1e1f3c9a345539f5a0ce58b3
3
+ metadata.gz: acfeaab8524307303e47d77881ceb17215fb9207
4
+ data.tar.gz: 2b2e2f5c6f8812d4f63d5e240cdbb9f62f9f49ad
5
5
  SHA512:
6
- metadata.gz: c0436acdd93ddf3749c6bff8d08088cefcab1a7714c0882484bed9364d8c65c41f4925258e7a38b6548910eeb41658f40a8fcd4a0a108c29433ab28a8bca644e
7
- data.tar.gz: fc3f693637e73c144fe388be094c1599a8eae0903dc1a2c08e0a7025632f431b2168df64bac16266159092e1cfbe15c5802bd9a561aec240bb80d84f289e5611
6
+ metadata.gz: 1df4473fc8e9a9673fd1e82c6239427770420a69bc4d73f000c969220f13c96c81d9ad4d478086a99f973e981ba0000ca634ddcc0f26245e4f1d9905181cc3a8
7
+ data.tar.gz: 547d3fed24466909efb179dfd8d54b790b6105cb48c192fdd1500b586e8f5e1e920dc5054c6d2c9b6ee17731508bd50ae352921f0982e931d9aa1fed156baebd
data/README.md CHANGED
@@ -84,7 +84,7 @@ See [Sufia's documentation site](http://sufia.io/) for more non-technical docume
84
84
 
85
85
  # Help
86
86
 
87
- If you have questions or need help, please email [the Hydra community tech list](mailto:hydra-tech@googlegroups.com) or stop by [the Hydra community IRC channel](irc://irc.freenode.net/projecthydra).
87
+ If you have questions or need help, please email [the Hydra community tech list](mailto:hydra-tech@googlegroups.com) or stop by the #dev channel in [the Hydra community Slack team](https://wiki.duraspace.org/pages/viewpage.action?pageId=43910187#Getintouch!-Slack).
88
88
 
89
89
  # Getting started
90
90
 
@@ -155,7 +155,7 @@ rails new my_app
155
155
  Add the following lines to your application's Gemfile.
156
156
 
157
157
  ```
158
- gem 'sufia', '7.0.0.beta1'
158
+ gem 'sufia', '7.0.0'
159
159
  ```
160
160
 
161
161
  Then install Sufia as a dependency of your app via `bundle install`
@@ -1,7 +1,7 @@
1
1
  //= require browse_everything
2
2
 
3
3
  // Show the files in the queue
4
- $(document).on('turbolinks:load', function() {
4
+ Blacklight.onLoad( function() {
5
5
  $('#browse-btn').browseEverything()
6
6
  .done(function(data) {
7
7
  var evt = { isDefaultPrevented: function() { return false; } };
@@ -2,16 +2,19 @@ export class DepositAgreement {
2
2
  // Monitors the form and runs the callback if any files are added
3
3
  constructor(form, callback) {
4
4
  this.agreementCheckbox = form.find('input#agreement')
5
+
5
6
  // If true, require the accept checkbox to be checked.
7
+ // Tracks whether the user needs to accept again to the depositor
8
+ // agreement. Once the user has manually agreed once she does not
9
+ // need to agree again regardless on how many files are being added.
6
10
  this.isActiveAgreement = this.agreementCheckbox.size() > 0
7
11
  if (this.isActiveAgreement) {
8
12
  this.setupActiveAgreement(callback)
13
+ this.mustAgreeAgain = this.isAccepted
14
+ }
15
+ else {
16
+ this.mustAgreeAgain = false
9
17
  }
10
-
11
- // Tracks whether the user needs to accept again to the depositor
12
- // agreement. Once the user has manually agreed once she does not
13
- // need to agree again regardless on how many files are being added.
14
- this.mustAgreeAgain = this.isAccepted
15
18
  }
16
19
 
17
20
  setupActiveAgreement(callback) {
@@ -1,22 +1,30 @@
1
+ // This code is to implement the tabs on the home page
2
+
3
+ // navigate to the selected tab or the first tab
4
+ function tabNavigation(e) {
5
+ var activeTab = $('[href="' + location.hash + '"]');
6
+ if (activeTab.length) {
7
+ activeTab.tab('show');
8
+ } else {
9
+ var firstTab = $('.nav-tabs a:first');
10
+ // select the first tab if it has an id and is expected to be selected
11
+ if ((firstTab[0] !== undefined) && (firstTab[0].id != "")){
12
+ $(firstTab).tab('show');
13
+ }
14
+ }
15
+ }
16
+
1
17
  Blacklight.onLoad(function () {
2
18
  // When we visit a link to a tab, open that tab.
3
19
  var url = document.location.toString();
4
20
  if (url.match('#')) {
5
21
  $('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
6
22
  }
7
-
23
+
8
24
  // Change the url when a tab is clicked.
9
25
  $('a[data-toggle="tab"]').on('click', function(e) {
10
26
  history.pushState(null, null, $(this).attr('href'));
11
27
  });
12
-
13
- // navigate to a tab when the history changes
14
- window.addEventListener("popstate", function(e) {
15
- var activeTab = $('[href="' + location.hash + '"]');
16
- if (activeTab.length) {
17
- activeTab.tab('show');
18
- } else {
19
- $('.nav-tabs a:first').tab('show');
20
- }
21
- });
28
+ // navigate to a tab when the history changes (back button)
29
+ window.addEventListener("popstate", tabNavigation);
22
30
  });
@@ -18,12 +18,18 @@
18
18
  }
19
19
  }
20
20
 
21
- aside.form-progress {
22
- ul.requirements {
23
- list-style-type: none;
24
- padding-left: 8px;
25
- }
21
+ .legend-save-work {
22
+ border: none;
23
+ font-size: $save-viz-widget-legend-font;
24
+ margin-bottom: $save-viz-widget-legend-margin;
25
+ }
26
+
27
+ .requirements, .visibility {
28
+ list-style-type: none;
29
+ padding-left: 8px;
30
+ }
26
31
 
32
+ aside.form-progress {
27
33
  .incomplete::before {
28
34
  content: "\e101";
29
35
  color: $brand-danger;
@@ -37,11 +43,4 @@ aside.form-progress {
37
43
  font-family: 'Glyphicons Halflings';
38
44
  padding-right: 5px;
39
45
  }
40
-
41
- h3 {
42
- margin: 0;
43
- padding: 5px;
44
- font-size: 12pt;
45
- }
46
-
47
46
  }
@@ -35,3 +35,5 @@ $related-files-thumbnail-width: 150px;
35
35
  // Save Visibility Widget
36
36
  $save-viz-widget-bottom: 8.57em;
37
37
  $save-viz-widget-left: 66.66666667%;
38
+ $save-viz-widget-legend-font: 1.15em;
39
+ $save-viz-widget-legend-margin: 0.5em;
@@ -6,7 +6,7 @@ module Sufia
6
6
 
7
7
  def initialize(options = {})
8
8
  if options[:verbose]
9
- stdout_logger = Logger.new(Logger.new(STDOUT))
9
+ stdout_logger = Logger.new(STDOUT)
10
10
  stdout_logger.level = Logger::INFO
11
11
  Rails.logger.extend(ActiveSupport::Logger.broadcast(stdout_logger))
12
12
  end
@@ -1,15 +1,16 @@
1
1
  <aside id="form-progress" class="form-progress panel panel-default">
2
2
  <div class="panel-heading">
3
-
4
- <h2><%= t("sufia.works.progress.header") %></h2>
3
+ <h3 class="panel-title"><%= t("sufia.works.progress.header") %></h3>
5
4
  </div>
6
5
  <div class="list-group">
7
6
  <div class="list-group-item">
8
- <h3>Requirements</h3>
9
- <ul class="requirements">
10
- <li class="incomplete" id="required-metadata">Enter required metadata</li>
11
- <li class="incomplete" id="required-files">Add files</li>
12
- </ul>
7
+ <fieldset>
8
+ <legend class="legend-save-work">Requirements</legend>
9
+ <ul class="requirements">
10
+ <li class="incomplete" id="required-metadata">Enter required metadata</li>
11
+ <li class="incomplete" id="required-files">Add files</li>
12
+ </ul>
13
+ </fieldset>
13
14
  </div>
14
15
 
15
16
  <div class="set-access-controls list-group-item">
@@ -20,26 +21,26 @@
20
21
  <%= f.input :on_behalf_of, collection: current_user.can_make_deposits_for.map(&:user_key), prompt: "Yourself" %>
21
22
  </div>
22
23
  <% end %>
23
- <div class="panel-footer text-center">
24
- <% if Sufia.config.active_deposit_agreement_acceptance %>
25
- <label>
26
- <%= check_box_tag 'agreement', 1, f.object.agreement_accepted, required: true %>
27
- <%= t('sufia.active_consent_to_agreement') %><br>
28
- <%= link_to t('sufia.deposit_agreement'),
29
- sufia.static_path('agreement'),
30
- target: '_blank' %>
31
- </label>
32
- <% else %>
33
- <%= t('sufia.passive_consent_to_agreement') %><br>
24
+ </div>
25
+ <div class="panel-footer text-center">
26
+ <% if Sufia.config.active_deposit_agreement_acceptance %>
27
+ <label>
28
+ <%= check_box_tag 'agreement', 1, f.object.agreement_accepted, required: true %>
29
+ <%= t('sufia.active_consent_to_agreement') %><br>
34
30
  <%= link_to t('sufia.deposit_agreement'),
35
31
  sufia.static_path('agreement'),
36
32
  target: '_blank' %>
37
- <% end %>
38
- <br>
39
- <%= link_to t(:'helpers.action.cancel'),
40
- sufia.dashboard_index_path,
41
- class: 'btn btn-default' %>
42
- <%= f.submit 'Save', class: 'btn btn-primary', onclick: "confirmation_needed = false;", id: "with_files_submit", name: "save_with_files" %>
43
- </div>
33
+ </label>
34
+ <% else %>
35
+ <%= t('sufia.passive_consent_to_agreement') %><br>
36
+ <%= link_to t('sufia.deposit_agreement'),
37
+ sufia.static_path('agreement'),
38
+ target: '_blank' %>
39
+ <% end %>
40
+ <br>
41
+ <%= link_to t(:'helpers.action.cancel'),
42
+ sufia.dashboard_index_path,
43
+ class: 'btn btn-default' %>
44
+ <%= f.submit 'Save', class: 'btn btn-primary', onclick: "confirmation_needed = false;", id: "with_files_submit", name: "save_with_files" %>
44
45
  </div>
45
46
  </aside>
@@ -1,4 +1,4 @@
1
- <h3><%= t("sufia.works.#{action_name}.in_collections") %></h3>
1
+ <h2><%= t("sufia.works.#{action_name}.in_collections") %></h2>
2
2
  <div id="collection-widget">
3
3
  <%= f.input :collection_ids, as: :select,
4
4
  collection: available_collections(nil),
@@ -1,4 +1,4 @@
1
- <h3>Sharing With</h3>
1
+ <h2>Sharing With</h2>
2
2
  <% depositor = f.object.depositor %>
3
3
 
4
4
  <div class="alert alert-info hidden" id="save_perm_note">Permissions are
@@ -38,10 +38,12 @@
38
38
  </table>
39
39
 
40
40
 
41
- <h3>Share work with other users</h3>
42
-
41
+ <h2>Share work with other users</h2>
42
+ <p class="sr-only">Use the add button to give access to one <%=t('sufia.account_label') %> at a time (it will be added to the list below).
43
+ Select the user, by name or <%= t('sufia.account_label') %>. Then select the access level you wish to grant and click on Add this
44
+ <%= t('sufia.account_label') %> to complete adding the permission.
45
+ </p>
43
46
  <div class="form-group row">
44
- <p class="sr-only">Use the add button to give access to one <%=t('sufia.account_label') %> at a time (it will be added to the list below). Select the user, by name or <%= t('sufia.account_label') %>. Then select the access level you wish to grant and click on Add this <%= t('sufia.account_label') %> to complete adding the permission.</p>
45
47
  <div class="col-sm-5">
46
48
  <label for="new_user_name_skel" class="sr-only"><%= t('sufia.account_label') %> (without the <%= t('sufia.directory.suffix') %> part)</label>
47
49
  <%= text_field_tag 'new_user_name_skel', nil %>
@@ -59,10 +61,9 @@
59
61
  </div>
60
62
  </div>
61
63
 
62
- <h3>Share work with groups of users</h3>
63
-
64
+ <h2>Share work with groups of users</h2>
65
+ <p class="sr-only">Use the add button to give access to one group at a time (it will be added to the list below).</p>
64
66
  <div class="form-group row">
65
- <p class="sr-only">Use the add button to give access to one group at a time (it will be added to the list below).</p>
66
67
  <div class="col-sm-5">
67
68
  <label for="new_group_name_skel" class="sr-only">Group</label>
68
69
  <%= select_tag 'new_group_name_skel', options_for_select(["Select a group"] + current_user.groups), class: 'form-control' %>
@@ -1,60 +1,70 @@
1
- <h3>Visibility</h3>
2
1
  <% if f.object.embargo_release_date %>
3
2
  <%= render 'form_permission_under_embargo', f: f %>
4
3
  <% elsif f.object.lease_expiration_date %>
5
4
  <%= render 'form_permission_under_lease', f: f %>
6
5
  <% else %>
7
- <div class="form-group visibility">
8
- <label class="radio">
9
- <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, data: { 'target': '#collapsePublic' } %>
10
- <%= t('curation_concerns.visibility.open.label_html') %>
11
- <section class="collapse" id="collapsePublic">
12
- <p>
13
- <strong>Please note</strong>, making something visible to the world (i.e.
14
- marking this as <%= t('curation_concerns.visibility.open.label_html') %>) may be
15
- viewed as publishing which could impact your ability to:
16
- </p>
17
- <ul>
18
- <li>Patent your work</li>
19
- <li>Publish your work in a journal</li>
20
- </ul>
21
- <p>
22
- Check out <a href="http://www.sherpa.ac.uk/romeo/">SHERPA/RoMEO</a> for more
23
- information about publisher copyright policies.
24
- </p>
25
- </section>
26
- </label>
27
- <label class="radio">
28
- <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>
29
- <%= t('curation_concerns.visibility.authenticated.label_html', institution: t('curation_concerns.institution.name')) %>
30
- </label>
31
- <label class="radio">
32
- <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO, data: { 'target': '#collapseEmbargo' } %>
33
- <%= t('curation_concerns.visibility.embargo.label_html') %>
34
- <div class="collapse" id="collapseEmbargo">
35
- <div class="form-inline">
36
- <%= f.input :visibility_during_embargo, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
37
- <%= f.date_field :embargo_release_date, wrapper: :inline, value: f.object.embargo_release_date || Date.tomorrow, class: 'datepicker form-control' %>
38
- <%= f.input :visibility_after_embargo, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
39
- </div>
40
- </div>
41
- </label>
42
- <label class="radio">
43
- <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE, data: { 'target': '#collapseLease' } %>
44
- <%= t('curation_concerns.visibility.lease.label_html') %>
45
- <div class="collapse" id="collapseLease">
46
- <div class="form-inline">
47
- <%= f.input :visibility_during_lease, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
48
- <%= f.date_field :lease_expiration_date, wrapper: :inline, value: f.object.lease_expiration_date || Date.tomorrow, class: 'datepicker form-control' %>
49
- <%= f.input :visibility_after_lease, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
50
- </div>
51
- </div>
52
-
53
- </label>
54
- <label class="radio">
55
- <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>
56
- <%= t('curation_concerns.visibility.private.label_html') %>
57
- </label>
58
- </div>
6
+ <fieldset>
7
+ <legend class="legend-save-work">Visibility</legend>
8
+ <ul class="visibility">
9
+ <li class="radio">
10
+ <label>
11
+ <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, data: { 'target': '#collapsePublic' } %>
12
+ <%= t('curation_concerns.visibility.open.label_html') %>
13
+ <div class="collapse" id="collapsePublic">
14
+ <p>
15
+ <strong>Please note</strong>, making something visible to the world (i.e.
16
+ marking this as <%= t('curation_concerns.visibility.open.label_html') %>) may be
17
+ viewed as publishing which could impact your ability to:
18
+ </p>
19
+ <ul>
20
+ <li>Patent your work</li>
21
+ <li>Publish your work in a journal</li>
22
+ </ul>
23
+ <p>
24
+ Check out <a href="http://www.sherpa.ac.uk/romeo/">SHERPA/RoMEO</a> for more
25
+ information about publisher copyright policies.
26
+ </p>
27
+ </div>
28
+ </label>
29
+ </li>
30
+ <li class="radio">
31
+ <label>
32
+ <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>
33
+ <%= t('curation_concerns.visibility.authenticated.label_html', institution: t('curation_concerns.institution.name')) %>
34
+ </label>
35
+ </li>
36
+ <li class="radio">
37
+ <label>
38
+ <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO, data: { 'target': '#collapseEmbargo' } %>
39
+ <%= t('curation_concerns.visibility.embargo.label_html') %>
40
+ <div class="collapse" id="collapseEmbargo">
41
+ <div class="form-inline">
42
+ <%= f.input :visibility_during_embargo, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
43
+ <%= f.date_field :embargo_release_date, wrapper: :inline, value: f.object.embargo_release_date || Date.tomorrow, class: 'datepicker form-control' %>
44
+ <%= f.input :visibility_after_embargo, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
45
+ </div>
46
+ </div>
47
+ </label>
48
+ </li>
49
+ <li class="radio">
50
+ <label>
51
+ <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE, data: { 'target': '#collapseLease' } %>
52
+ <%= t('curation_concerns.visibility.lease.label_html') %>
53
+ <div class="collapse" id="collapseLease">
54
+ <div class="form-inline">
55
+ <%= f.input :visibility_during_lease, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
56
+ <%= f.date_field :lease_expiration_date, wrapper: :inline, value: f.object.lease_expiration_date || Date.tomorrow, class: 'datepicker form-control' %>
57
+ <%= f.input :visibility_after_lease, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
58
+ </div>
59
+ </div>
60
+ </label>
61
+ </li>
62
+ <li class="radio">
63
+ <label>
64
+ <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>
65
+ <%= t('curation_concerns.visibility.private.label_html') %>
66
+ </label>
67
+ </li>
68
+ </ul>
69
+ </fieldset>
59
70
  <% end %>
60
-
@@ -9,7 +9,7 @@
9
9
 
10
10
  <div class="list-group-item">
11
11
  <span class="badge"><%= number_of_works(user) %></span>
12
- <span class="glyphicon glyphicon-upload"></span> <%= link_to_field('depositor', user.to_s, 'Works created', human_readable_type: "Work") %>
12
+ <span class="glyphicon glyphicon-upload"></span> <%= link_to_field('depositor', user.to_s, t("sufia.dashboard.stats.works"), human_readable_type: "Work") %>
13
13
 
14
14
  <ul class="views-downloads-dashboard list-unstyled">
15
15
  <li><span class="badge badge-optional"><%= user.total_file_views %></span> <%= t("sufia.dashboard.stats.file_views").pluralize(user.total_file_views) %></li>
@@ -121,6 +121,7 @@ en:
121
121
  files: "Files deposited"
122
122
  file_views: "View"
123
123
  file_downloads: "Download"
124
+ works: "Works created"
124
125
  collections: "Collections created"
125
126
  following: "People you follow"
126
127
  followers: "People who are following you"
data/lib/sufia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sufia
2
- VERSION = "7.0.0.rc2".freeze
2
+ VERSION = '7.0.0'.freeze
3
3
  end
@@ -39,6 +39,7 @@ describe("DepositAgreement", function() {
39
39
  describe("and the checkbox is not checked", function() {
40
40
  it("is false", function() {
41
41
  expect(target.isAccepted).toEqual(false);
42
+ expect(target.mustAgreeAgain).toEqual(false);
42
43
  });
43
44
  });
44
45
 
@@ -48,6 +49,7 @@ describe("DepositAgreement", function() {
48
49
  });
49
50
  it("is true", function() {
50
51
  expect(target.isAccepted).toEqual(true);
52
+ expect(target.mustAgreeAgain).toEqual(false);
51
53
  });
52
54
  });
53
55
  });
@@ -61,6 +63,7 @@ describe("DepositAgreement", function() {
61
63
 
62
64
  it("is true", function() {
63
65
  expect(target.isAccepted).toEqual(true);
66
+ expect(target.mustAgreeAgain).toEqual(false);
64
67
  });
65
68
  });
66
69
  });
@@ -0,0 +1,38 @@
1
+ describe "tabs", ->
2
+ beforeEach ->
3
+ # run all Blacklight.onload functions
4
+ Blacklight.activate()
5
+
6
+ describe "dashboard tabs", ->
7
+ beforeEach ->
8
+ # setup the tabs like the homepage featured and recent tabs
9
+ setFixtures '<ul id="homeTabs" class="nav nav-tabs">
10
+ <li><a href="#featured_container" data-toggle="tab" role="tab" id="featureTab">Featured Works</a></li>
11
+ <li><a href="#recently_uploaded" data-toggle="tab" role="tab" id="recentTab">Recently Uploaded</a></li>
12
+ </ul>'
13
+
14
+
15
+ describe "tabNavigation", ->
16
+
17
+ it "It sets the first tab to active", ->
18
+ expect($('#homeTabs li').attr('class')).toBeUndefined()
19
+ tabNavigation();
20
+ expect($('#homeTabs li').attr('class')).toBe('active')
21
+
22
+ describe "dashboard tabs", ->
23
+ beforeEach ->
24
+ # setup the tabs like the my listing on the dashboards
25
+ setFixtures '<ul class="nav nav-tabs" id="my_nav" role="navigation">
26
+ <span class="sr-only">You are currently listing your works . You have 1 works </span>
27
+ <li>
28
+ <a href="/dashboard/works">My Works</a>
29
+ </li>
30
+ <li class="">
31
+ <a href="/dashboard/collections">My Collections</a>
32
+ </li>
33
+ </ul>'
34
+
35
+ describe "tabNavigation", ->
36
+
37
+ it "It does not error", ->
38
+ tabNavigation();
@@ -0,0 +1,5 @@
1
+ RSpec.describe Sufia::UserStatImporter do
2
+ it 'can be instantiated without throwing an error.' do
3
+ expect { described_class.new(verbose: true, logging: true) }.not_to raise_error(StandardError)
4
+ end
5
+ end
data/sufia.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency 'select2-rails', '~> 3.5.9'
32
32
  spec.add_dependency 'json-schema'
33
33
  spec.add_dependency 'oauth'
34
- spec.add_dependency 'nest', '~> 1.1'
34
+ spec.add_dependency 'nest', '~> 2.0'
35
35
  spec.add_dependency 'mailboxer', '~> 0.12'
36
36
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
37
37
  spec.add_dependency 'carrierwave', '~> 0.9'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0.rc2
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-07-20 00:00:00.000000000 Z
15
+ date: 2016-08-01 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: curation_concerns
@@ -202,14 +202,14 @@ dependencies:
202
202
  requirements:
203
203
  - - "~>"
204
204
  - !ruby/object:Gem::Version
205
- version: '1.1'
205
+ version: '2.0'
206
206
  type: :runtime
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
209
209
  requirements:
210
210
  - - "~>"
211
211
  - !ruby/object:Gem::Version
212
- version: '1.1'
212
+ version: '2.0'
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: mailboxer
215
215
  requirement: !ruby/object:Gem::Requirement
@@ -1355,6 +1355,7 @@ files:
1355
1355
  - spec/javascripts/single_use_link_spec.js.coffee
1356
1356
  - spec/javascripts/support/jasmine.yml
1357
1357
  - spec/javascripts/support/jasmine_helper.rb
1358
+ - spec/javascripts/tabs_spec.js.coffee
1358
1359
  - spec/jobs/attach_files_to_work_job_spec.rb
1359
1360
  - spec/jobs/batch_create_job_spec.rb
1360
1361
  - spec/jobs/content_delete_event_job_spec.rb
@@ -1437,6 +1438,7 @@ files:
1437
1438
  - spec/services/sufia/statistics/works/by_resource_type_spec.rb
1438
1439
  - spec/services/sufia/statistics/works/count_spec.rb
1439
1440
  - spec/services/sufia/statistics/works/over_time_spec.rb
1441
+ - spec/services/sufia/user_stat_importer_spec.rb
1440
1442
  - spec/spec_helper.rb
1441
1443
  - spec/support/features.rb
1442
1444
  - spec/support/features/session_helpers.rb
@@ -1532,12 +1534,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1532
1534
  version: '0'
1533
1535
  required_rubygems_version: !ruby/object:Gem::Requirement
1534
1536
  requirements:
1535
- - - ">"
1537
+ - - ">="
1536
1538
  - !ruby/object:Gem::Version
1537
- version: 1.3.1
1539
+ version: '0'
1538
1540
  requirements: []
1539
1541
  rubyforge_project:
1540
- rubygems_version: 2.6.4
1542
+ rubygems_version: 2.5.1
1541
1543
  signing_key:
1542
1544
  specification_version: 4
1543
1545
  summary: Sufia was originally extracted from ScholarSphere developed by Penn State
@@ -1658,6 +1660,7 @@ test_files:
1658
1660
  - spec/javascripts/single_use_link_spec.js.coffee
1659
1661
  - spec/javascripts/support/jasmine.yml
1660
1662
  - spec/javascripts/support/jasmine_helper.rb
1663
+ - spec/javascripts/tabs_spec.js.coffee
1661
1664
  - spec/jobs/attach_files_to_work_job_spec.rb
1662
1665
  - spec/jobs/batch_create_job_spec.rb
1663
1666
  - spec/jobs/content_delete_event_job_spec.rb
@@ -1740,6 +1743,7 @@ test_files:
1740
1743
  - spec/services/sufia/statistics/works/by_resource_type_spec.rb
1741
1744
  - spec/services/sufia/statistics/works/count_spec.rb
1742
1745
  - spec/services/sufia/statistics/works/over_time_spec.rb
1746
+ - spec/services/sufia/user_stat_importer_spec.rb
1743
1747
  - spec/spec_helper.rb
1744
1748
  - spec/support/features.rb
1745
1749
  - spec/support/features/session_helpers.rb