curate 0.6.4 → 0.6.5

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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/curate/organizations_controller.rb +96 -0
  3. data/app/helpers/curate/organizations_helper.rb +13 -0
  4. data/app/helpers/curate_helper.rb +4 -0
  5. data/app/models/concerns/curate/ability.rb +8 -0
  6. data/app/models/curate/user_behavior/base.rb +13 -0
  7. data/app/repository_models/collection.rb +1 -0
  8. data/app/repository_models/curation_concern/model.rb +1 -0
  9. data/app/repository_models/organization.rb +17 -0
  10. data/app/repository_models/person.rb +1 -0
  11. data/app/repository_models/profile_section.rb +1 -0
  12. data/app/views/curate/organizations/_button_create_organization.html.erb +1 -0
  13. data/app/views/curate/organizations/_document_list.html.erb +11 -0
  14. data/app/views/curate/organizations/_form.html.erb +49 -0
  15. data/app/views/curate/organizations/_organization.html.erb +24 -0
  16. data/app/views/curate/organizations/edit.html.erb +4 -0
  17. data/app/views/curate/organizations/index.html.erb +11 -0
  18. data/app/views/curate/organizations/new.html.erb +4 -0
  19. data/app/views/curate/organizations/show.html.erb +27 -0
  20. data/app/views/organizations/_organization.html.erb +30 -0
  21. data/app/views/shared/_add_content.html.erb +1 -0
  22. data/lib/curate/rails/routes.rb +1 -0
  23. data/lib/curate/version.rb +1 -1
  24. data/lib/generators/curate/application_template.rb +1 -1
  25. data/lib/generators/curate/curate_generator.rb +3 -0
  26. data/spec/abilities/generic_file_abilities_spec.rb +12 -0
  27. data/spec/abilities/generic_work_abilities_spec.rb +12 -0
  28. data/spec/controllers/curate/organizations_controller_spec.rb +50 -0
  29. data/spec/factories/organizations_factory.rb +21 -0
  30. data/spec/internal/Gemfile +4 -22
  31. data/spec/internal/Gemfile.lock +1 -376
  32. data/spec/internal/app/assets/javascripts/application.js +0 -4
  33. data/spec/internal/app/assets/stylesheets/application.css +0 -1
  34. data/spec/internal/app/controllers/application_controller.rb +0 -9
  35. data/spec/internal/config/application.rb +0 -6
  36. data/spec/internal/config/environments/test.rb +1 -2
  37. data/spec/internal/config/initializers/mime_types.rb +1 -8
  38. data/spec/internal/config/initializers/secret_token.rb +1 -1
  39. data/spec/internal/config/locales/en.yml +20 -11
  40. data/spec/internal/config/routes.rb +0 -8
  41. data/spec/internal/db/development.sqlite3 +0 -0
  42. data/spec/internal/db/schema.rb +1 -216
  43. data/spec/internal/db/test.sqlite3 +0 -0
  44. data/spec/internal/lib/generators/test_app_generator.rb +2 -23
  45. data/spec/internal/log/development.log +4 -323
  46. data/spec/repository_models/organization_spec.rb +66 -0
  47. metadata +20 -160
  48. data/spec/internal/app/assets/images/blacklight/bg.png +0 -0
  49. data/spec/internal/app/assets/images/blacklight/border.png +0 -0
  50. data/spec/internal/app/assets/images/blacklight/bul_sq_gry.gif +0 -0
  51. data/spec/internal/app/assets/images/blacklight/checkmark.gif +0 -0
  52. data/spec/internal/app/assets/images/blacklight/logo.png +0 -0
  53. data/spec/internal/app/assets/images/blacklight/magnifying_glass.gif +0 -0
  54. data/spec/internal/app/assets/images/blacklight/remove.gif +0 -0
  55. data/spec/internal/app/assets/images/blacklight/separator.gif +0 -0
  56. data/spec/internal/app/assets/images/blacklight/start_over.gif +0 -0
  57. data/spec/internal/app/models/ability.rb +0 -20
  58. data/spec/internal/app/models/solr_document.rb +0 -38
  59. data/spec/internal/app/models/user.rb +0 -23
  60. data/spec/internal/config/SolrMarc/config-test.properties +0 -37
  61. data/spec/internal/config/SolrMarc/config.properties +0 -37
  62. data/spec/internal/config/SolrMarc/index.properties +0 -97
  63. data/spec/internal/config/SolrMarc/index_scripts/dewey.bsh +0 -47
  64. data/spec/internal/config/SolrMarc/index_scripts/format.bsh +0 -126
  65. data/spec/internal/config/SolrMarc/translation_maps/README_MAPS +0 -1
  66. data/spec/internal/config/SolrMarc/translation_maps/callnumber_map.properties +0 -407
  67. data/spec/internal/config/SolrMarc/translation_maps/composition_era_map.properties +0 -56
  68. data/spec/internal/config/SolrMarc/translation_maps/country_map.properties +0 -379
  69. data/spec/internal/config/SolrMarc/translation_maps/format_map.properties +0 -50
  70. data/spec/internal/config/SolrMarc/translation_maps/instrument_map.properties +0 -101
  71. data/spec/internal/config/SolrMarc/translation_maps/language_map.properties +0 -490
  72. data/spec/internal/config/doi.yml +0 -5
  73. data/spec/internal/config/fedora.yml +0 -14
  74. data/spec/internal/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
  75. data/spec/internal/config/initializers/curate_config.rb +0 -24
  76. data/spec/internal/config/initializers/devise.rb +0 -254
  77. data/spec/internal/config/initializers/hydra-remote_identifier_config.rb +0 -29
  78. data/spec/internal/config/initializers/hydra_config.rb +0 -28
  79. data/spec/internal/config/initializers/mailboxer.rb +0 -17
  80. data/spec/internal/config/initializers/redis_config.rb +0 -32
  81. data/spec/internal/config/initializers/resque_admin.rb +0 -10
  82. data/spec/internal/config/initializers/resque_config.rb +0 -5
  83. data/spec/internal/config/initializers/sufia.rb +0 -81
  84. data/spec/internal/config/jetty.yml +0 -5
  85. data/spec/internal/config/locales/devise.en.yml +0 -59
  86. data/spec/internal/config/recipients_list.yml +0 -2
  87. data/spec/internal/config/redis.yml +0 -6
  88. data/spec/internal/config/role_map_cucumber.yml +0 -10
  89. data/spec/internal/config/role_map_development.yml +0 -12
  90. data/spec/internal/config/role_map_production.yml +0 -2
  91. data/spec/internal/config/role_map_test.yml +0 -15
  92. data/spec/internal/config/solr.yml +0 -10
  93. data/spec/internal/db/migrate/20140131175455_devise_create_users.rb +0 -42
  94. data/spec/internal/db/migrate/20140131175500_add_devise_guests_to_users.rb +0 -15
  95. data/spec/internal/db/migrate/20140131175501_create_searches.rb +0 -16
  96. data/spec/internal/db/migrate/20140131175502_create_bookmarks.rb +0 -18
  97. data/spec/internal/db/migrate/20140131175503_remove_editable_fields_from_bookmarks.rb +0 -12
  98. data/spec/internal/db/migrate/20140131175504_add_user_types_to_bookmarks_searches.rb +0 -16
  99. data/spec/internal/db/migrate/20140131175505_acts_as_follower_migration.rb +0 -17
  100. data/spec/internal/db/migrate/20140131175506_add_social_to_users.rb +0 -13
  101. data/spec/internal/db/migrate/20140131175507_create_single_use_links.rb +0 -12
  102. data/spec/internal/db/migrate/20140131175508_add_ldap_attrs_to_user.rb +0 -27
  103. data/spec/internal/db/migrate/20140131175509_add_avatars_to_users.rb +0 -9
  104. data/spec/internal/db/migrate/20140131175510_create_checksum_audit_logs.rb +0 -20
  105. data/spec/internal/db/migrate/20140131175511_create_version_committers.rb +0 -15
  106. data/spec/internal/db/migrate/20140131175512_add_groups_to_users.rb +0 -11
  107. data/spec/internal/db/migrate/20140131175513_create_local_authorities.rb +0 -50
  108. data/spec/internal/db/migrate/20140131175514_create_trophies.rb +0 -10
  109. data/spec/internal/db/migrate/20140131175536_create_mailboxer.mailboxer_engine.rb +0 -62
  110. data/spec/internal/db/migrate/20140131175537_add_notified_object.mailboxer_engine.rb +0 -18
  111. data/spec/internal/db/migrate/20140131175538_add_notification_code.mailboxer_engine.rb +0 -14
  112. data/spec/internal/db/migrate/20140131175539_add_attachments.mailboxer_engine.rb +0 -10
  113. data/spec/internal/db/migrate/20140131175540_rename_receipts_read.mailboxer_engine.rb +0 -10
  114. data/spec/internal/db/migrate/20140131175541_add_global_notification_support.mailboxer_engine.rb +0 -10
  115. data/spec/internal/db/migrate/20140131175545_add_terms_of_service_to_user.curate_engine.rb +0 -6
  116. data/spec/internal/db/migrate/20140131175546_add_user_force_update_profile.curate_engine.rb +0 -9
  117. data/spec/internal/db/migrate/20140131175547_create_help_requests.curate_engine.rb +0 -23
  118. data/spec/internal/db/migrate/20140131175548_add_repository_id_to_user.curate_engine.rb +0 -7
  119. data/spec/internal/db/migrate/20140131175549_create_curate_proxy_deposit_rights.curate_engine.rb +0 -12
  120. data/spec/internal/db/migrate/20140131175550_change_display_name_to_name.curate_engine.rb +0 -7
  121. data/spec/internal/fedora_conf/conf/development/fedora.fcfg +0 -953
  122. data/spec/internal/fedora_conf/conf/test/fedora.fcfg +0 -953
  123. data/spec/internal/solr_conf/conf/schema.xml +0 -273
  124. data/spec/internal/solr_conf/conf/solrconfig.xml +0 -167
  125. data/spec/internal/solr_conf/solr.xml +0 -35
  126. data/spec/internal/test/models/user_test.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9da5c8f5b08a3fd6e12448c7dd7c73a2412246a0
4
- data.tar.gz: 165283f25fa8b99a984b41b895e29a8623bf8e6e
3
+ metadata.gz: 1fa358950a239086a07e5b88759c3eaedda3e6c1
4
+ data.tar.gz: 5e456c912433755c7efd0eb7deba3143ecde8117
5
5
  SHA512:
6
- metadata.gz: 5e2a7f0f07daa348c38ce009f121a97e1fe1d7a150c8620a77ca1c62ffe9d13b20ddf9c40fa7bf8e869279cb589cf12e1825c585c4b0534ea95bc8fd61942296
7
- data.tar.gz: f177f00845ea7bc440c098e645d48dfd7ab374460de15732c353c236721a1128ce8c2f3bfae1d0d19f4761cf2287a0c8cce2a201a2e964d39f9cb9f90ce63f13
6
+ metadata.gz: fb47c5e65196b02aa49c6cb0758f551b58b84b0cb26c09bc26570aaca675cdc518146f6e898c544ffa1f60f27a44f274f844f524b600597c2ee1cc9b9aa543ea
7
+ data.tar.gz: 021f90b2c9a230eb6b56322ee15ef5d9a0d85a38c6e8a787aceaad95d33c7c6d09294403e43413b1a11acd603246896e42e11057f132ec7e9516070787812385
@@ -0,0 +1,96 @@
1
+ class Curate::OrganizationsController < ApplicationController
2
+ include Blacklight::Catalog
3
+ include Hydra::CollectionsControllerBehavior
4
+ include Hydra::AccessControlsEnforcement
5
+ include Sufia::Noid
6
+
7
+ Curate::OrganizationsController.solr_search_params_logic += [:only_organizations]
8
+
9
+ prepend_before_filter :normalize_identifier, only: [:show]
10
+ respond_to(:html)
11
+ with_themed_layout '1_column'
12
+
13
+ add_breadcrumb 'Organizations', lambda {|controller| controller.request.path }
14
+
15
+ before_filter :load_and_authorize_organization, only: [:show, :edit, :delete, :update]
16
+ before_filter :authenticate_user!, except: :show
17
+ before_filter :agreed_to_terms_of_service!
18
+ before_filter :force_update_user_profile!
19
+
20
+ def index
21
+ super
22
+ end
23
+
24
+ def new
25
+ @organization = Organization.new
26
+ end
27
+
28
+ def create
29
+ @organization = Organization.new(params[:organization])
30
+ @organization.apply_depositor_metadata(current_user.user_key)
31
+ if @organization.save
32
+ flash[:notice] = "Organization created successfully."
33
+ redirect_to organizations_path
34
+ else
35
+ flash[:error] = "Organization was not created."
36
+ render action: :new
37
+ end
38
+ end
39
+
40
+ def update
41
+ @orgnization = Organization.find(params[:id])
42
+ if @organization.update_attributes(params[:organization])
43
+ flash[:notice] = "Ogranization updated successfully."
44
+ redirect_to organization_path(@organization)
45
+ else
46
+ flash[:error] = "Organization was not updated."
47
+ render action: :edit
48
+ end
49
+ end
50
+
51
+ def destroy
52
+ @organization = Organization.find(params[:id])
53
+ title = @organization.to_s
54
+ @organization.destroy
55
+ after_destroy_response(title)
56
+ end
57
+
58
+ def after_destroy_response(title)
59
+ flash[:notice] = "Deleted #{title}"
60
+ respond_with { |wants|
61
+ wants.html { redirect_to catalog_index_path }
62
+ }
63
+ end
64
+ protected :after_destroy_response
65
+
66
+ private
67
+
68
+ def load_and_authorize_organization
69
+ id = id_from_params(:id)
70
+ return nil unless id
71
+ @organization = ActiveFedora::Base.find(id, cast: true)
72
+ authorize! :update, @organization
73
+ end
74
+
75
+ def id_from_params(key)
76
+ if params[key] && !params[key].empty?
77
+ params[key]
78
+ end
79
+ end
80
+
81
+ def organizations
82
+ self
83
+ end
84
+
85
+ ### Turn off this filter query if it's the index action
86
+ def include_collection_ids(solr_parameters, user_parameters)
87
+ return if params[:action] == 'index'
88
+ super
89
+ end
90
+
91
+ def only_organizations(solr_parameters, user_parameters)
92
+ solr_parameters[:fq] ||= []
93
+ solr_parameters[:fq] << "has_model_ssim:\"info:fedora/afmodel:Organization\""
94
+ return solr_parameters
95
+ end
96
+ end
@@ -0,0 +1,13 @@
1
+ module Curate::OrganizationsHelper
2
+
3
+ # Displays the Organizations create organization button.
4
+ def button_for_create_new_organization(label = 'Create Organization')
5
+ render partial: 'button_create_organization', locals:{label:label}
6
+ end
7
+
8
+ def has_any_organizations?
9
+ #false
10
+ current_user.organizations.count > 0 if current_user
11
+ end
12
+
13
+ end
@@ -1,5 +1,9 @@
1
1
  module CurateHelper
2
2
 
3
+ def curation_concern_organization_path(document)
4
+ organization_path(document)
5
+ end
6
+
3
7
  # Loads the object and returns its title
4
8
  def collection_title_from_pid value
5
9
  begin
@@ -7,6 +7,14 @@ module Curate
7
7
 
8
8
  def curate_permissions
9
9
  alias_action :confirm, :copy, :to => :update
10
+ if current_user.manager?
11
+ can [:edit, :update, :destroy], :all
12
+ cannot [:edit, :update, :destroy], Person
13
+ cannot [:edit, :update, :destroy], Profile do |p|
14
+ p.pid != current_user.profile.pid
15
+ end
16
+ end
17
+
10
18
  can :edit, Person do |p|
11
19
  p.pid == current_user.repository_id
12
20
  end
@@ -19,10 +19,23 @@ module Curate
19
19
  Collection.where(Hydra.config[:permissions][:edit][:individual] => user_key)
20
20
  end
21
21
 
22
+ def organizations
23
+ Organization.where(Hydra.config[:permissions][:edit][:individual] => user_key)
24
+ end
25
+
22
26
  def get_value_from_ldap(attribute)
23
27
  # override
24
28
  end
25
29
 
30
+ def manager?
31
+ username = self.respond_to?(:username) ? self.username : self.to_s
32
+ !!manager_usernames.include?(username)
33
+ end
34
+
35
+ def manager_usernames
36
+ @manager_usernames ||= YAML.load(ERB.new(Rails.root.join('config/manager_usernames.yml').read).result)[Rails.env]['manager_usernames']
37
+ end
38
+
26
39
  def name
27
40
  read_attribute(:name) || user_key
28
41
  end
@@ -4,6 +4,7 @@ class Collection < ActiveFedora::Base
4
4
  include Hydra::Collections::Collectible
5
5
 
6
6
  def can_be_member_of_collection?(collection)
7
+ return false if collection.is_a?(Organization)
7
8
  collection == self ? false : true
8
9
  end
9
10
  end
@@ -41,6 +41,7 @@ module CurationConcern
41
41
  end
42
42
 
43
43
  def can_be_member_of_collection?(collection)
44
+ return false if collection.is_a?(Organization)
44
45
  collection == self ? false : true
45
46
  end
46
47
 
@@ -0,0 +1,17 @@
1
+ class Organization < ActiveFedora::Base
2
+ include Hydra::Collection
3
+ include CurationConcern::CollectionModel
4
+ include Hydra::AccessControls::Permissions
5
+ include Hydra::AccessControls::WithAccessRight
6
+ include Sufia::Noid
7
+
8
+ # An organization cannot be a member of any other type of collection.
9
+ def can_be_member_of_collection?(collection)
10
+ false
11
+ end
12
+
13
+ def to_s
14
+ title
15
+ end
16
+
17
+ end
@@ -105,6 +105,7 @@ class Person < ActiveFedora::Base
105
105
  end
106
106
 
107
107
  def can_be_member_of_collection?(collection)
108
+ return true if collection.is_a?(Organization)
108
109
  false
109
110
  end
110
111
 
@@ -4,6 +4,7 @@ class ProfileSection < ActiveFedora::Base
4
4
  include CurationConcern::CollectionModel
5
5
 
6
6
  def can_be_member_of_collection?(collection)
7
+ return false if collection.is_a?(Organization)
7
8
  collection.is_a?(Profile)
8
9
  end
9
10
  end
@@ -0,0 +1 @@
1
+ <%= button_to label, new_organization_path, :method=>:get, :class=>"btn btn-primary collection-add submits-batches", 'data-behavior'=>'hydra-collections', :id=>'hydra-organization-add' %>
@@ -0,0 +1,11 @@
1
+ <table class="table table-striped">
2
+ <caption class="accessible-hidden">List of collections</caption>
3
+ <thead>
4
+ <tr>
5
+ <th>Title</th>
6
+ </tr>
7
+ </thead>
8
+ <tbody>
9
+ <%= render documents, :as => :document %>
10
+ </tbody>
11
+ </table>
@@ -0,0 +1,49 @@
1
+ <div class="container">
2
+ <%-# This syntax [collections, @collection] tells form_for to use the routes from the engine named collections %>
3
+ <%= form_for @organization do |f| %>
4
+ <% if @organization.errors.any? %>
5
+ <div id="error_explanation">
6
+ <h2><%= pluralize(@organization.errors.count, "error") %> prohibited this topic from being saved:</h2>
7
+
8
+ <ul>
9
+ <% @organization.errors.full_messages.each do |msg| %>
10
+ <li><%= msg %></li>
11
+ <% end %>
12
+ </ul>
13
+ </div>
14
+ <% end %>
15
+
16
+ <%#
17
+ NOTE: We're just making it _look_ like we're using simple_form here. Refactor at will.
18
+ ALSO: Title isn't _actually_ required. The form is lying (but it means well and is probably right).
19
+ %>
20
+ <div class="control-group string required organization_title">
21
+ <span class="control-label">
22
+ <label class="string required" for="organization_title">
23
+ <abbr title="" data-original-title="required">*</abbr> Title
24
+ </label>
25
+ </span>
26
+ <div class="controls">
27
+ <%= f.text_field :title, class: 'string required input-xlarge', required: 'required', :'aria-required' => 'true' %>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="control-group string required collection_description">
32
+ <span class="control-label">
33
+ <%= f.label :description %>
34
+ </span>
35
+ <div class="controls">
36
+ <%= f.text_area :description, class: 'text input-xxlarge' %>
37
+ </div>
38
+ </div>
39
+
40
+ <div class="form-actions">
41
+ <%= f.submit class: 'btn btn-primary' %>
42
+ <%- if @organization.persisted? -%>
43
+ <%= link_to 'Cancel', organization_path(@organization), class: 'btn btn-link' %>
44
+ <% else %>
45
+ <%= link_to 'Cancel', root_path, class: 'btn btn-link' %>
46
+ <% end %>
47
+ </div>
48
+ <% end %>
49
+ </div>
@@ -0,0 +1,24 @@
1
+ <tr>
2
+ <td>
3
+ <%= link_to organization.title, organization_path(organization) %>
4
+ </td>
5
+ <td>
6
+ <% if can? :edit, organization %>
7
+
8
+ <%= button_to(
9
+ "Delete",
10
+ {
11
+ action: :destroy,
12
+ controller: :organizations,
13
+ id: organization.id
14
+ },
15
+ data: {confirm: 'Are you sure you want to delete this organization?'},
16
+ class: 'btn',
17
+ form_class: 'button-to pull-right',
18
+ method: :delete
19
+ )%>
20
+
21
+ <%= link_to "Edit", edit_organization_path(organization), class: 'btn pull-right' %>
22
+ <% end %>
23
+ </td>
24
+ </tr>
@@ -0,0 +1,4 @@
1
+ <% content_for :page_header do %>
2
+ <h1><%= @organization %> <span class="human_readable_type">(<%= @organization.human_readable_type %>)</span></h1>
3
+ <% end %>
4
+ <%= render 'form' %>
@@ -0,0 +1,11 @@
1
+ <%- if has_any_organizations? %>
2
+ <%= render_document_index %>
3
+ <%- else %>
4
+ <div class="span12 main-header">
5
+ <p>You have no organizations yet.</p>
6
+ </div>
7
+ <%- end %>
8
+
9
+ <% if can? :create, Organization %>
10
+ <%= button_for_create_new_organization %>
11
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% content_for :page_header do %>
2
+ <h1>Create a New Organization</h1>
3
+ <% end %>
4
+ <%= render 'form' %>
@@ -0,0 +1,27 @@
1
+ <% content_for :page_title, curation_concern_page_title(@organization) %>
2
+ <% content_for :page_header do %>
3
+ <h1> <%= @organization.title %> </h1>
4
+ <% end %>
5
+ <% if can? :edit, @organization %>
6
+ <% content_for :page_actions do %>
7
+
8
+ <%= button_to(
9
+ "Delete",
10
+ {
11
+ action: :destroy,
12
+ controller: :organizations,
13
+ id: @organization.id
14
+ },
15
+ data: {confirm: 'Are you sure you want to delete this organization?'},
16
+ class: 'btn',
17
+ form_class: 'button-to pull-right',
18
+ method: :delete
19
+ )%>
20
+
21
+ <%= link_to 'Edit', edit_organization_path(@organization), class: 'btn' %>
22
+ <% end %>
23
+ <% end %>
24
+ <div class="organization-description">
25
+ <%= @organization.description %>
26
+ </div>
27
+
@@ -0,0 +1,30 @@
1
+ <%# This is a search result view %>
2
+ <% noid = organization.noid %>
3
+ <% solr_doc = organization.inner_object.solr_doc %>
4
+ <li id="document_<%= noid %>" class="search-result">
5
+
6
+ <%= render :partial => 'catalog/_index_partials/identifier_and_action', locals: { document: organization, counter: organization_counter, title_link_target: organization, edit_path: edit_organization_path(organization), solr_doc: solr_doc } %>
7
+
8
+ <div class="row-fluid">
9
+
10
+ <div class="span2">
11
+ <%= render :partial => 'catalog/_index_partials/thumbnail_display', locals: {document: organization} %>
12
+ </div>
13
+
14
+ <div class="span10">
15
+ <dl class="attribute-list">
16
+ <% if solr_doc.has?('desc_metadata__description_tesim') %>
17
+ <dt>Description:</dt>
18
+ <dd><%= truncate(render_index_field_value(document: solr_doc, field: 'desc_metadata__description_tesim'), length: 150) %></dd>
19
+ <% end %>
20
+
21
+ <% if solr_doc.has?('edit_access_person_ssim') %>
22
+ <dt>Owner:</dt>
23
+ <dd><%= render_index_field_value(document: solr_doc, field: 'edit_access_person_ssim') %></dd>
24
+ <% end %>
25
+ </dl>
26
+ </div>
27
+
28
+ </div>
29
+
30
+ </li>
@@ -20,6 +20,7 @@
20
20
  </li>
21
21
  <li class="divider"></li>
22
22
  <li><%= link_to 'Add a Collection', new_collection_path, class: 'menu-heading new-collection', role: 'menuitem' %></li>
23
+ <li><%= link_to 'Add an Organization', new_organization_path, class: 'menu-heading new-collection', role: 'menuitem' %></li>
23
24
  </ul>
24
25
  </div>
25
26
 
@@ -12,6 +12,7 @@ module ActionDispatch::Routing
12
12
  put :remove_member
13
13
  end
14
14
  end
15
+ resources 'organizations'
15
16
  resources 'people', only: [:show, :index] do
16
17
  resources :depositors, only: [:index, :create, :destroy]
17
18
  end
@@ -1,3 +1,3 @@
1
1
  module Curate
2
- VERSION = "0.6.4"
2
+ VERSION = "0.6.5"
3
3
  end
@@ -13,7 +13,7 @@ end
13
13
  with_git("Initial commit")
14
14
 
15
15
  with_git("Adding curate gem") do
16
- gem 'curate', "~> 0.6.4"
16
+ gem 'curate', "~> 0.6.5"
17
17
  end
18
18
 
19
19
  HELPFUL_DEVELOPMENT_TOOLS =
@@ -95,6 +95,9 @@ This generator makes the following changes to your application:
95
95
  end
96
96
  end
97
97
 
98
+ def create_manager_usernames
99
+ create_file('config/manager_usernames.yml', "development:\n manager_usernames:\n - manager@example.com\ntest:\n manager_usernames:\n - manager@example.com\nproduction:\n manager_usernames:\n - manager@example.com\n")
100
+ end
98
101
 
99
102
  def create_recipients_list
100
103
  create_file('config/recipients_list.yml', "---\n- hello@world.com\n")