sufia 4.0.0.beta2 → 4.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/README.md +6 -4
- data/SUFIA_VERSION +1 -1
- data/app/assets/images/folder.png +0 -0
- data/app/assets/javascripts/sufia.js +5 -0
- data/app/assets/javascripts/sufia/app.js +1 -0
- data/app/assets/javascripts/sufia/batch_select_all.js +1 -2
- data/app/assets/javascripts/sufia/dashboard_actions.js +13 -0
- data/app/assets/javascripts/sufia/editor.js +1 -1
- data/app/assets/javascripts/sufia/ga_events.js +10 -0
- data/app/assets/javascripts/sufia/search.js +67 -0
- data/app/assets/stylesheets/dashboard.css.scss +15 -1
- data/app/assets/stylesheets/sufia.css.scss +12 -0
- data/app/controllers/authorities_controller.rb +4 -4
- data/app/controllers/batch_controller.rb +4 -4
- data/app/controllers/collections_controller.rb +44 -0
- data/{lib → app/controllers/concerns}/sufia/batch_edits_controller_behavior.rb +1 -1
- data/app/controllers/concerns/sufia/catalog.rb +9 -45
- data/{lib → app/controllers/concerns}/sufia/controller.rb +11 -21
- data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +34 -6
- data/{lib → app/controllers/concerns}/sufia/downloads_controller_behavior.rb +0 -0
- data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +35 -0
- data/{lib → app/controllers/concerns}/sufia/files_controller/local_ingest_behavior.rb +19 -7
- data/{lib → app/controllers/concerns}/sufia/files_controller/upload_complete_behavior.rb +1 -1
- data/app/controllers/concerns/sufia/files_controller_behavior.rb +219 -0
- data/app/controllers/concerns/sufia/homepage_controller.rb +41 -0
- data/app/controllers/concerns/sufia/users_controller_behavior.rb +3 -2
- data/app/controllers/dashboard/collections_controller.rb +19 -0
- data/app/controllers/dashboard/files_controller.rb +13 -0
- data/app/controllers/dashboard/highlights_controller.rb +20 -0
- data/app/controllers/dashboard/lists_controller.rb +13 -0
- data/app/controllers/dashboard/shares_controller.rb +19 -0
- data/app/controllers/directory_controller.rb +8 -8
- data/app/controllers/featured_work_lists_controller.rb +1 -1
- data/app/controllers/homepage_controller.rb +4 -0
- data/app/controllers/single_use_links_controller.rb +6 -6
- data/app/controllers/single_use_links_viewer_controller.rb +6 -6
- data/app/controllers/static_controller.rb +4 -3
- data/app/helpers/batch_edits_helper.rb +3 -6
- data/app/helpers/content_block_helper.rb +7 -2
- data/app/helpers/generic_file_helper.rb +33 -39
- data/app/helpers/records_helper.rb +4 -0
- data/app/helpers/sufia/blacklight_override.rb +11 -0
- data/app/helpers/sufia/records_helper_behavior.rb +38 -0
- data/app/helpers/sufia/sufia_helper_behavior.rb +109 -0
- data/{sufia-models/lib/sufia/models → app/models/concerns/sufia}/solr_document_behavior.rb +6 -1
- data/app/models/contact_form.rb +13 -13
- data/app/uploaders/tinymce_asset_uploader.rb +2 -2
- data/app/views/_controls.html.erb +1 -1
- data/app/views/_flash_msg.html.erb +2 -8
- data/app/views/_ga.html.erb +4 -0
- data/app/views/_user_util_links.html.erb +7 -7
- data/app/views/advanced/_advanced_search_facets.html.erb +1 -1
- data/app/views/advanced/_advanced_search_fields.html.erb +2 -2
- data/app/views/advanced/_advanced_search_form.html.erb +12 -12
- data/app/views/batch/_metadata.html.erb +12 -12
- data/app/views/batch/_more_metadata.html.erb +1 -2
- data/app/views/batch/edit.html.erb +5 -5
- data/app/views/batch_edits/_check_all.html.erb +1 -1
- data/app/views/batch_edits/_delete_selected.html.erb +2 -3
- data/app/views/batch_edits/edit.html.erb +20 -21
- data/app/views/catalog/_bookmark_control.html.erb +7 -8
- data/app/views/catalog/_constraints_element.html.erb +2 -2
- data/app/views/catalog/_delete_partials/_default.html.erb +9 -12
- data/app/views/catalog/_document.html.erb +5 -5
- data/app/views/catalog/_document_list.html.erb +2 -2
- data/app/views/catalog/_edit_partials/_default.html.erb +6 -9
- data/app/views/catalog/_edit_partials/_default_details.html.erb +2 -4
- data/app/views/catalog/_email_form.html.erb +1 -1
- data/app/views/catalog/_facet_limit.html.erb +6 -7
- data/app/views/catalog/_facet_selected.html.erb +3 -3
- data/app/views/catalog/_folder_control.html.erb +7 -8
- data/app/views/catalog/_index_default.html.erb +2 -2
- data/app/views/catalog/_index_header_default.html.erb +20 -0
- data/app/views/catalog/_index_partials/_default_group.html.erb +1 -1
- data/app/views/catalog/_index_partials/_list_files.html.erb +5 -2
- data/app/views/catalog/_refworks_form.html.erb +2 -2
- data/app/views/catalog/_results_pagination.html.erb +1 -1
- data/app/views/catalog/_search_form.html.erb +24 -9
- data/app/views/catalog/_show_default.html.erb +2 -2
- data/app/views/catalog/_show_partials/_default.html.erb +4 -5
- data/app/views/catalog/_show_partials/_default_details.html.erb +5 -5
- data/app/views/catalog/_show_partials/_facets.html.erb +7 -7
- data/app/views/catalog/_show_tools.html.erb +6 -6
- data/app/views/catalog/_sms_form.html.erb +1 -1
- data/app/views/catalog/_sort_and_per_page.html.erb +8 -14
- data/app/views/catalog/citation.html.erb +1 -1
- data/app/views/catalog/email.erb +1 -1
- data/app/views/catalog/index.html.erb +16 -27
- data/app/views/catalog/recent.js.erb +1 -1
- data/app/views/catalog/show.html.erb +2 -2
- data/app/views/catalog/sms.erb +1 -1
- data/app/views/collections/_action_menu.html.erb +24 -0
- data/app/views/collections/_batch_edits_actions.html.erb +3 -0
- data/app/views/collections/_button_for_creating_empty_collection.html.erb +3 -0
- data/app/views/collections/_dashboard_document_list.html.erb +6 -0
- data/app/views/collections/_document_list.html.erb +10 -0
- data/app/views/collections/_edit_actions.html.erb +5 -0
- data/app/views/collections/_edit_descriptions.html.erb +20 -0
- data/app/views/collections/_form.html.erb +24 -0
- data/app/views/collections/_form_for_select_collection.html.erb +34 -0
- data/app/views/collections/_media_display.html.erb +1 -0
- data/app/views/collections/_paginate.html.erb +6 -0
- data/app/views/collections/_search_collection_dashboard_form.html.erb +10 -0
- data/app/views/collections/_show_actions.html.erb +7 -0
- data/app/views/collections/_show_descriptions.html.erb +8 -0
- data/app/views/collections/_show_fields.html.erb +0 -0
- data/app/views/collections/_single_item_action_fields.html.erb +6 -0
- data/app/views/collections/_sort_and_per_page.html.erb +29 -0
- data/app/views/collections/_view_type_group.html.erb +13 -0
- data/app/views/collections/edit.html.erb +30 -0
- data/app/views/collections/show.html.erb +32 -0
- data/app/views/contact_form/new.html.erb +13 -13
- data/app/views/dashboard/_action_menu.html.erb +29 -0
- data/app/views/dashboard/_collection_action_menu.html.erb +15 -0
- data/app/views/dashboard/_document_list.html.erb +1 -1
- data/app/views/dashboard/_facet_limit.html.erb +2 -2
- data/app/views/dashboard/_facet_pagination.html.erb +12 -12
- data/app/views/dashboard/_facet_selected.html.erb +2 -2
- data/app/views/dashboard/_facets.html.erb +2 -0
- data/app/views/dashboard/_index_partials/_default_group.html.erb +9 -2
- data/app/views/dashboard/_index_partials/_list_collections.html.erb +45 -0
- data/app/views/dashboard/_index_partials/_list_files.html.erb +5 -25
- data/app/views/dashboard/_results_pagination.html.erb +1 -1
- data/app/views/dashboard/_search_form.html.erb +2 -2
- data/app/views/dashboard/_show_partials/_default.html.erb +3 -3
- data/app/views/dashboard/_show_partials/_default_details.html.erb +5 -5
- data/app/views/dashboard/_show_partials/_facets.html.erb +6 -6
- data/app/views/dashboard/_sort_and_per_page.html.erb +24 -8
- data/app/views/dashboard/facet.html.erb +3 -3
- data/app/views/dashboard/index.html.erb +18 -41
- data/app/views/dashboard/lists/index.html.erb +59 -0
- data/app/views/generic_files/_breadcrumbs.html.erb +4 -4
- data/app/views/generic_files/_descriptions.html.erb +4 -4
- data/app/views/generic_files/_field_form.html.erb +5 -5
- data/app/views/generic_files/_flot_stats.js.erb +120 -0
- data/app/views/generic_files/_media_display.html.erb +14 -4
- data/app/views/generic_files/_permission.html.erb +3 -3
- data/app/views/generic_files/_permission_form.html.erb +20 -21
- data/app/views/generic_files/_show_actions.html.erb +13 -10
- data/app/views/generic_files/_show_details.html.erb +16 -9
- data/app/views/generic_files/_versioning.html.erb +3 -3
- data/app/views/generic_files/edit.html.erb +7 -7
- data/app/views/generic_files/edit_fields/_default.html.erb +3 -4
- data/app/views/generic_files/edit_fields/_description.html.erb +3 -4
- data/app/views/generic_files/edit_fields/_resource_type.html.erb +1 -3
- data/app/views/generic_files/edit_fields/_rights.html.erb +3 -5
- data/app/views/generic_files/edit_fields/_suffix.html.erb +1 -1
- data/app/views/generic_files/show.html.erb +3 -3
- data/app/views/generic_files/stats.html.erb +8 -124
- data/app/views/generic_files/upload/_alerts.html.erb +2 -4
- data/app/views/generic_files/upload/_form.html.erb +1 -1
- data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
- data/app/views/generic_files/upload/_tos_checkbox.html.erb +1 -1
- data/app/views/homepage/_featured.html.erb +3 -1
- data/app/views/{catalog → homepage}/_featured_researcher.html.erb +0 -0
- data/app/views/{catalog → homepage}/_home.html.erb +1 -0
- data/app/views/{catalog → homepage}/_home_content.html.erb +4 -4
- data/app/views/homepage/_home_header.html.erb +12 -0
- data/app/views/homepage/_marketing.html.erb +4 -0
- data/app/views/{catalog → homepage}/_recent_document.html.erb +10 -5
- data/app/views/homepage/_recents.html.erb +15 -0
- data/app/views/homepage/_sortable_featured.html.erb +3 -1
- data/app/views/{catalog → homepage}/_tagcloud.html.erb +0 -0
- data/app/views/homepage/index.html.erb +1 -0
- data/app/views/kaminari/blacklight/_first_page.html.erb +1 -1
- data/app/views/kaminari/blacklight/_last_page.html.erb +1 -1
- data/app/views/kaminari/blacklight/_next_page.html.erb +1 -1
- data/app/views/kaminari/blacklight/_page.html.erb +1 -1
- data/app/views/kaminari/blacklight/_prev_page.html.erb +1 -1
- data/app/views/layouts/_head_tag_content.html.erb +1 -1
- data/app/views/layouts/error.html.erb +2 -2
- data/app/views/layouts/homepage.html.erb +4 -4
- data/app/views/layouts/sufia-dashboard.html.erb +7 -7
- data/app/views/layouts/sufia-one-column.html.erb +4 -4
- data/app/views/layouts/sufia-two-column.html.erb +7 -7
- data/app/views/mailbox/index.html.erb +2 -2
- data/app/views/pages/show.html.erb +1 -0
- data/app/views/records/_edit_field.html.erb +18 -0
- data/app/views/records/edit_fields/_description.html.erb +10 -0
- data/app/views/records/edit_fields/_resource_type.html.erb +7 -0
- data/app/views/records/edit_fields/_rights.html.erb +6 -0
- data/app/views/records/edit_fields/_suffix.html.erb +9 -0
- data/app/views/records/edit_fields/_type.html.erb +13 -0
- data/app/views/single_use_links/new_download.html.erb +1 -1
- data/app/views/users/_activity.html.erb +1 -1
- data/app/views/users/_contributions.html.erb +3 -1
- data/app/views/users/_left_sidebar.html.erb +1 -1
- data/app/views/users/_notify_link.html.erb +2 -2
- data/app/views/users/_profile.html.erb +2 -2
- data/app/views/users/_search_form.html.erb +3 -3
- data/app/views/users/edit.html.erb +15 -15
- data/app/views/users/index.html.erb +3 -3
- data/app/views/users/notifications_number.js.erb +1 -1
- data/config/locales/sufia.en.yml +13 -2
- data/config/routes.rb +56 -20
- data/db/seeds.rb +2 -2
- data/lib/generators/sufia/sufia_generator.rb +14 -4
- data/lib/generators/sufia/templates/catalog_controller.rb +98 -97
- data/lib/generators/sufia/templates/sufia_helper.rb +5 -0
- data/lib/sufia.rb +4 -0
- data/spec/{models/generic_file/actions_spec.rb → actors/generic_file/actor_spec.rb} +2 -2
- data/spec/controllers/authorities_controller_spec.rb +7 -7
- data/spec/controllers/batch_controller_spec.rb +22 -23
- data/spec/controllers/batch_edits_controller_spec.rb +4 -4
- data/spec/controllers/catalog_controller_spec.rb +27 -37
- data/spec/controllers/collections_controller_spec.rb +179 -0
- data/spec/controllers/dashboard/collections_controller_spec.rb +71 -0
- data/spec/controllers/dashboard/files_controller_spec.rb +71 -0
- data/spec/controllers/dashboard/highlights_controller_spec.rb +66 -0
- data/spec/controllers/dashboard/shares_controller_spec.rb +78 -0
- data/spec/controllers/dashboard_controller_spec.rb +0 -47
- data/spec/controllers/downloads_controller_spec.rb +10 -11
- data/spec/controllers/generic_files_controller_spec.rb +147 -118
- data/spec/controllers/homepage_controller_spec.rb +57 -0
- data/spec/controllers/mailbox_controller_spec.rb +3 -3
- data/spec/controllers/single_use_links_viewer_controller_spec.rb +3 -3
- data/spec/factories/generic_files.rb +4 -0
- data/spec/factories/users.rb +0 -1
- data/spec/features/browse_dashboard_files_spec.rb +5 -1
- data/spec/features/collection_spec.rb +232 -0
- data/spec/features/display_dashboard_spec.rb +1 -0
- data/spec/features/notifications_spec.rb +1 -1
- data/spec/features/search_spec.rb +22 -0
- data/spec/features/single_use_links_spec.rb +2 -2
- data/spec/features/users_spec.rb +1 -1
- data/spec/fixtures/charter.docx +0 -0
- data/spec/helpers/records_helper_spec.rb +61 -0
- data/spec/helpers/sufia_helper_spec.rb +40 -2
- data/spec/{models → jobs}/active_fedora_pid_based_job_spec.rb +0 -0
- data/spec/{models → jobs}/audit_job_spec.rb +0 -2
- data/spec/{models → jobs}/batch_update_job_spec.rb +2 -2
- data/spec/jobs/characterize_job_spec.rb +25 -0
- data/spec/jobs/create_derivatives_job_spec.rb +186 -0
- data/spec/{models → jobs}/event_jobs_spec.rb +0 -1
- data/spec/jobs/import_url_job_spec.rb +36 -14
- data/spec/jobs/ingest_local_file_job_spec.rb +2 -2
- data/spec/lib/sufia/analytics_spec.rb +29 -0
- data/spec/lib/sufia/upload_complete_behavior_spec.rb +1 -1
- data/spec/models/batch_spec.rb +3 -9
- data/spec/models/checksum_audit_log_spec.rb +5 -6
- data/spec/models/collection_spec.rb +24 -0
- data/spec/models/download_spec.rb +21 -0
- data/spec/models/featured_work_list_spec.rb +0 -1
- data/spec/models/file_content_datastream_spec.rb +8 -14
- data/spec/models/file_usage_spec.rb +91 -0
- data/spec/models/fits_datastream_spec.rb +1 -1
- data/spec/models/generic_file/web_form_spec.rb +2 -2
- data/spec/models/generic_file_rdf_datastream_spec.rb +12 -0
- data/spec/models/generic_file_spec.rb +150 -168
- data/spec/models/local_authority_spec.rb +9 -9
- data/spec/models/{pageview.rb → pageview_spec.rb} +0 -0
- data/spec/models/single_use_link_spec.rb +32 -35
- data/spec/routing/route_spec.rb +19 -3
- data/spec/spec_helper.rb +28 -6
- data/spec/support/features/session_helpers.rb +5 -6
- data/spec/support/lib/generators/test_app_generator.rb +6 -0
- data/spec/views/generic_file/edit.html.erb_spec.rb +4 -4
- data/spec/views/generic_file/show.html.erb_spec.rb +45 -17
- data/spec/views/generic_file/stats.html.erb_spec.rb +26 -7
- data/sufia-models/app/actors/sufia/generic_file/actor.rb +98 -0
- data/sufia-models/app/models/batch.rb +3 -3
- data/sufia-models/app/models/checksum_audit_log.rb +3 -3
- data/sufia-models/app/models/collection.rb +41 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file.rb +33 -43
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/accessible_attributes.rb +3 -3
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/audit.rb +12 -18
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/characterization.rb +1 -8
- data/sufia-models/app/models/concerns/sufia/generic_file/derivatives.rb +26 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/export.rb +13 -13
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/featured.rb +0 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/metadata.rb +0 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/mime_types.rb +15 -1
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/permissions.rb +5 -1
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/reload_on_save.rb +0 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/trophies.rb +0 -0
- data/sufia-models/app/models/concerns/sufia/generic_file/versions.rb +16 -0
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/virus_check.rb +2 -3
- data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/web_form.rb +9 -2
- data/sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb +3 -4
- data/sufia-models/app/models/concerns/sufia/user.rb +2 -2
- data/sufia-models/app/models/datastreams/fits_datastream.rb +137 -136
- data/sufia-models/app/models/datastreams/generic_file_rdf_datastream.rb +6 -0
- data/sufia-models/app/models/datastreams/paranoid_rights_datastream.rb +3 -3
- data/sufia-models/app/models/file_usage.rb +53 -0
- data/sufia-models/app/models/follow.rb +2 -4
- data/sufia-models/app/models/geo_names_resource.rb +5 -7
- data/sufia-models/app/models/local_authority.rb +14 -14
- data/sufia-models/app/models/single_use_link.rb +1 -1
- data/sufia-models/app/models/sufia/download.rb +9 -0
- data/sufia-models/app/models/trophy.rb +1 -1
- data/sufia-models/app/services/sufia/{usage_statistics.rb → analytics.rb} +1 -24
- data/sufia-models/app/services/sufia/id_service.rb +2 -2
- data/sufia-models/lib/generators/sufia/models/install_generator.rb +5 -2
- data/sufia-models/lib/generators/sufia/models/templates/config/setup_mail.rb +1 -1
- data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +5 -3
- data/sufia-models/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb +6 -6
- data/sufia-models/lib/generators/sufia/models/templates/migrations/create_checksum_audit_logs.rb +2 -3
- data/sufia-models/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb +20 -20
- data/sufia-models/lib/sufia/ability.rb +1 -1
- data/sufia-models/lib/sufia/models/engine.rb +3 -9
- data/sufia-models/lib/sufia/models/file_content/versions.rb +3 -3
- data/sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb +6 -2
- data/sufia-models/lib/sufia/models/jobs/batch_update_job.rb +6 -10
- data/sufia-models/lib/sufia/models/jobs/characterize_job.rb +1 -13
- data/sufia-models/lib/sufia/models/jobs/create_derivatives_job.rb +14 -0
- data/sufia-models/lib/sufia/models/jobs/import_url_job.rb +27 -23
- data/sufia-models/lib/tasks/sufia-models_tasks.rake +1 -1
- data/sufia-models/sufia-models.gemspec +1 -1
- data/sufia.gemspec +7 -2
- data/tasks/jetty.rake +4 -4
- data/tasks/release.rake +8 -8
- data/tasks/sufia-db.rake +4 -4
- data/tasks/sufia-dev.rake +11 -5
- metadata +226 -95
- data/app/helpers/sufia_helper.rb +0 -93
- data/app/views/catalog/_bookmark_form.html.erb +0 -8
- data/app/views/catalog/_home_header.html.erb +0 -15
- data/app/views/catalog/_recents.html.erb +0 -17
- data/app/views/dashboard/_index_partials/_thumbnail_display.html.erb +0 -9
- data/app/views/layouts/_homepage_sidebar2.html.erb +0 -14
- data/lib/sufia/files_controller_behavior.rb +0 -253
- data/spec/helpers/generic_file_helper_spec.rb +0 -28
- data/spec/lib/sufia/usage_statistics_spec.rb +0 -75
- data/spec/models/characterize_job_spec.rb +0 -93
- data/spec/models/transcode_audio_job_spec.rb +0 -85
- data/spec/models/transcode_video_job_spec.rb +0 -31
- data/spec/views/dashboard/index_partials/_thumbnail_display.html.erb_spec.rb +0 -22
- data/sufia-models/lib/sufia/models/generic_file/actions.rb +0 -50
- data/sufia-models/lib/sufia/models/generic_file/derivatives.rb +0 -31
- data/sufia-models/lib/sufia/models/generic_file/thumbnail.rb +0 -37
- data/sufia-models/lib/sufia/models/generic_file/versions.rb +0 -16
- data/sufia-models/lib/sufia/models/jobs/transcode_audio_job.rb +0 -15
- data/sufia-models/lib/sufia/models/jobs/transcode_video_job.rb +0 -15
@@ -19,13 +19,18 @@ module Sufia
|
|
19
19
|
# Offer the source (ActiveFedora-based) model to Rails for some of the
|
20
20
|
# Rails methods (e.g. link_to).
|
21
21
|
# @example
|
22
|
-
# link_to '...', SolrDocument(:
|
22
|
+
# link_to '...', SolrDocument(id: 'bXXXXXX5').new => <a href="/dams_object/bXXXXXX5">...</a>
|
23
23
|
def to_model
|
24
24
|
m = ActiveFedora::Base.load_instance_from_solr(id, self)
|
25
25
|
return self if m.class == ActiveFedora::Base
|
26
26
|
m
|
27
27
|
end
|
28
28
|
|
29
|
+
# Method to return the ActiveFedora model
|
30
|
+
def hydra_model
|
31
|
+
self[Solrizer.solr_name('active_fedora_model', Solrizer::Descriptor.new(:string, :stored, :indexed))]
|
32
|
+
end
|
33
|
+
|
29
34
|
def noid
|
30
35
|
self[Solrizer.solr_name('noid', Sufia::GenericFile.noid_indexer)]
|
31
36
|
end
|
data/app/models/contact_form.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
require 'mail_form'
|
2
2
|
|
3
3
|
class ContactForm < MailForm::Base
|
4
|
-
ISSUE_TYPES = [
|
4
|
+
ISSUE_TYPES = [
|
5
5
|
["Depositing content", "Depositing content"],
|
6
6
|
["Making changes to my content", "Making changes to my content"],
|
7
|
-
["Browsing and searching", "Browsing and searching"],
|
7
|
+
["Browsing and searching", "Browsing and searching"],
|
8
8
|
["Reporting a problem", "Reporting a problem"],
|
9
9
|
["General inquiry or request", "General inquiry or request"]
|
10
|
-
]
|
11
|
-
attribute :contact_method,
|
12
|
-
attribute :category,
|
13
|
-
attribute :name,
|
14
|
-
attribute :email,
|
15
|
-
attribute :subject,
|
16
|
-
attribute :message,
|
17
|
-
# - can't use this without ActiveRecord::Base validates_inclusion_of :issue_type, :
|
10
|
+
]
|
11
|
+
attribute :contact_method, captcha: true
|
12
|
+
attribute :category, validate: true
|
13
|
+
attribute :name, validate: true
|
14
|
+
attribute :email, validate: /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
|
15
|
+
attribute :subject, validate: true
|
16
|
+
attribute :message, validate: true
|
17
|
+
# - can't use this without ActiveRecord::Base validates_inclusion_of :issue_type, in: ISSUE_TYPES
|
18
18
|
|
19
19
|
# Declare the e-mail headers. It accepts anything the mail method
|
20
20
|
# in ActionMailer accepts.
|
21
21
|
def headers
|
22
22
|
{
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
23
|
+
subject: "Contact Form:#{subject}",
|
24
|
+
to: Sufia.config.contact_email,
|
25
|
+
from: Sufia.config.from_email
|
26
26
|
}
|
27
27
|
end
|
28
28
|
end
|
@@ -25,7 +25,7 @@ class TinymceAssetUploader < CarrierWave::Uploader::Base
|
|
25
25
|
# end
|
26
26
|
|
27
27
|
# Process files as they are uploaded:
|
28
|
-
# process :
|
28
|
+
# process scale: [200, 300]
|
29
29
|
#
|
30
30
|
# def scale(width, height)
|
31
31
|
# # do something
|
@@ -33,7 +33,7 @@ class TinymceAssetUploader < CarrierWave::Uploader::Base
|
|
33
33
|
|
34
34
|
# Create different versions of your uploaded files:
|
35
35
|
# version :thumb do
|
36
|
-
# process :
|
36
|
+
# process scale: [50, 50]
|
37
37
|
# end
|
38
38
|
|
39
39
|
# Add a white list of extensions which are allowed to be uploaded.
|
@@ -1,13 +1,7 @@
|
|
1
|
-
<%
|
2
|
-
flash_types_to_classes = {
|
3
|
-
:notice => 'alert-success',
|
4
|
-
:error => 'alert',
|
5
|
-
:alert => 'alert-error'
|
6
|
-
}
|
7
|
-
%>
|
1
|
+
<% flash_types_to_classes = { notice: 'alert-success', error: 'alert-danger', alert: 'alert-warning' } %>
|
8
2
|
<% [:notice, :error, :alert].each do |type| %>
|
9
3
|
<% if flash[type] %>
|
10
|
-
<div class="alert
|
4
|
+
<div class="alert <%= flash_types_to_classes[type] rescue '' %>">
|
11
5
|
<a class="close" data-dismiss="alert" href="#">×</a>
|
12
6
|
<% if flash[type].respond_to? :join %>
|
13
7
|
<%= flash[type].join("<br/>").html_safe %>
|
data/app/views/_ga.html.erb
CHANGED
@@ -5,6 +5,10 @@ tracking_id = Sufia.config.google_analytics_id
|
|
5
5
|
<script type="text/javascript">
|
6
6
|
var _gaq = _gaq || [];
|
7
7
|
_gaq.push(['_setAccount', '<%= tracking_id %>']);
|
8
|
+
<% if Rails.env.development? %>
|
9
|
+
// This allows us to look at GA data live from locahost
|
10
|
+
_gaq.push(['_setDomainName', 'none']);
|
11
|
+
<% end %>
|
8
12
|
_gaq.push(['_trackPageview']);
|
9
13
|
|
10
14
|
(function() {
|
@@ -1,19 +1,19 @@
|
|
1
1
|
<% if user_signed_in? %>
|
2
2
|
<div class="btn-group" id="user_utility_links">
|
3
|
-
<%= render :
|
3
|
+
<%= render partial: 'users/notify_link' %>
|
4
4
|
<a href="<%= sufia.profile_path(current_user) %>" class="btn btn-default " id="profile_link" title="click for User Profile"><i class="glyphicon glyphicon-user"> </i><%= current_user.name %>
|
5
5
|
</a>
|
6
|
-
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"><span class="
|
6
|
+
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret" title="click for additional menu options"></span></a>
|
7
7
|
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
8
|
-
<li><%= link_to raw('<i class="glyphicon glyphicon-dashboard"></i> my dashboard'), sufia.dashboard_index_path, :
|
9
|
-
<li><%= link_to raw('<i class="glyphicon glyphicon-upload"></i> upload'), sufia.new_generic_file_path, :
|
10
|
-
<li><%= link_to raw('<i class="glyphicon glyphicon-cog"></i> edit profile'), sufia.edit_profile_path(current_user), :
|
8
|
+
<li><%= link_to raw('<i class="glyphicon glyphicon-dashboard"></i> my dashboard'), sufia.dashboard_index_path, id: 'dashboard_nav_link' %></li>
|
9
|
+
<li><%= link_to raw('<i class="glyphicon glyphicon-upload"></i> upload'), sufia.new_generic_file_path, id: 'upload_nav_link' %></li>
|
10
|
+
<li><%= link_to raw('<i class="glyphicon glyphicon-cog"></i> edit profile'), sufia.edit_profile_path(current_user), id: 'upload_nav_link' %></li>
|
11
11
|
<li class="divider"></li>
|
12
|
-
<li><%= link_to raw('<i class="glyphicon glyphicon-signout"></i> log out'), destroy_user_session_path, :
|
12
|
+
<li><%= link_to raw('<i class="glyphicon glyphicon-signout"></i> log out'), destroy_user_session_path, id: 'logout_nav_link' %></li>
|
13
13
|
</ul>
|
14
14
|
</div><!-- /.btn-group -->
|
15
15
|
<% else %>
|
16
16
|
<div class="btn-group login_button pull-right">
|
17
|
-
<%= link_to raw('<span class="glyphicon glyphicon-log-in"></span> Login'), new_user_session_path, :
|
17
|
+
<%= link_to raw('<span class="glyphicon glyphicon-log-in"></span> Login'), new_user_session_path, class: "btn btn-default btn-group" %>
|
18
18
|
</div>
|
19
19
|
<% end %>
|
@@ -1 +1 @@
|
|
1
|
-
<%= render_facet_partials facet_field_names, :
|
1
|
+
<%= render_facet_partials facet_field_names, partial: 'facet_limit' %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<%- search_fields_for_advanced_search.each do |key, field_def| -%>
|
2
2
|
<div class="control-group">
|
3
|
-
<%= label_tag key, "#{field_def.label }:", :
|
3
|
+
<%= label_tag key, "#{field_def.label }:", class: 'control-label' %>
|
4
4
|
<div class="controls">
|
5
|
-
<%= text_field_tag key, label_tag_default_for(key), :
|
5
|
+
<%= text_field_tag key, label_tag_default_for(key), class: 'input-large' %>
|
6
6
|
</div>
|
7
7
|
</div>
|
8
8
|
<%- end -%>
|
@@ -1,37 +1,37 @@
|
|
1
|
-
<%= form_tag catalog_index_path, :
|
1
|
+
<%= form_tag catalog_index_path, class: 'form-horizontal', method: :get do %>
|
2
2
|
|
3
3
|
<%= render_hash_as_hidden_fields(params_for_search(advanced_search_context)) %>
|
4
4
|
|
5
|
-
<div>
|
6
|
-
|
5
|
+
<div>
|
6
|
+
|
7
7
|
<div>
|
8
8
|
<div class="control-group">
|
9
9
|
<label class="control-label">Find items that match</label>
|
10
10
|
<div class="controls">
|
11
|
-
<%= select_tag(:op, options_for_select({
|
11
|
+
<%= select_tag(:op, options_for_select({ all: 'AND', any: 'OR'}.sort, 'all'), class: "span10") %> of the fields below:
|
12
12
|
</div>
|
13
13
|
</div>
|
14
|
-
|
14
|
+
|
15
15
|
<div id="advanced_search">
|
16
16
|
<%= render 'advanced/advanced_search_fields' %>
|
17
|
-
</div>
|
17
|
+
</div>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
|
-
|
20
|
+
|
21
21
|
<% unless (search_context_str = render_search_to_s( advanced_search_context)).blank? %>
|
22
22
|
<div>
|
23
23
|
<p>Within search:</p>
|
24
24
|
<%= search_context_str %>
|
25
25
|
</div>
|
26
26
|
<% end %>
|
27
|
-
|
28
|
-
|
27
|
+
|
28
|
+
|
29
29
|
<div class="form-actions">
|
30
|
-
<%= label_tag(:sort, "Sort results by") %>
|
30
|
+
<%= label_tag(:sort, "Sort results by") %>
|
31
31
|
<%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
|
32
32
|
<%= hidden_field_tag(:search_field, blacklight_config.advanced_search[:url_key]) %>
|
33
33
|
<br />
|
34
|
-
<%= submit_tag 'Search', :
|
35
|
-
<%= link_to "Start over", {:
|
34
|
+
<%= submit_tag 'Search', class: 'btn btn-primary', id: 'advanced_search' %>
|
35
|
+
<%= link_to "Start over", {controller: "advanced", action: "index"}, class:"btn" %>
|
36
36
|
</div>
|
37
37
|
<% end %>
|
@@ -7,9 +7,9 @@
|
|
7
7
|
<div class="span60">
|
8
8
|
<% @batch.generic_files.sort! { |a,b| a.label.downcase <=> b.label.downcase }.each_with_index do |gen_f, index| %>
|
9
9
|
<div class="control-group">
|
10
|
-
<%= f.label :title, "<span class='error'>*</span> Title #{index+1}".html_safe, :
|
10
|
+
<%= f.label :title, "<span class='error'>*</span> Title #{index + 1}".html_safe, class: "control-label" %>
|
11
11
|
<div class="controls" id="additional_title_clone">
|
12
|
-
<%= f.text_field :title, :
|
12
|
+
<%= f.text_field :title, name: "title[#{gen_f.id}][]", value: gen_f.label, required: true %>
|
13
13
|
<%= help_icon(:title) %>
|
14
14
|
</div>
|
15
15
|
</div>
|
@@ -28,18 +28,18 @@
|
|
28
28
|
<div class="well">
|
29
29
|
<div class="control-group" id="resources">
|
30
30
|
<%# See if this works: render_edit_field_partial(:type, f:f) %>
|
31
|
-
<%= f.label :resource_type, "Resource Types", :
|
31
|
+
<%= f.label :resource_type, "Resource Types", class: "control-label", for: "resource_type" %>
|
32
32
|
<div class="controls">
|
33
33
|
<p class="help-block">You may select multiple types to apply to all files<p>
|
34
|
-
<%= f.select "resource_type", Sufia::Engine::config.resource_types, {}, {:
|
34
|
+
<%= f.select "resource_type", Sufia::Engine::config.resource_types, {}, { multiple: true, size: 7 } %>
|
35
35
|
<%= help_icon(:resource_type) %>
|
36
36
|
</div>
|
37
37
|
</div>
|
38
38
|
|
39
39
|
<div class="control-group">
|
40
|
-
<%= f.label :tag, "<span class='error'>*</span> Keyword".html_safe, :
|
40
|
+
<%= f.label :tag, "<span class='error'>*</span> Keyword".html_safe, class: "control-label" %>
|
41
41
|
<div class="controls" id="additional_tag_clone">
|
42
|
-
<%= f.text_field :tag, :
|
42
|
+
<%= f.text_field :tag, name: "generic_file[tag][]", value: "", required: true %>
|
43
43
|
<button class="adder btn" name="additional_tag" id="additional_tag_submit">+<span class="sr-only">add another Tag</span></button>
|
44
44
|
|
45
45
|
<%= help_icon(:tag) %>
|
@@ -48,9 +48,9 @@
|
|
48
48
|
</div>
|
49
49
|
|
50
50
|
<div class="control-group">
|
51
|
-
<%= f.label :creator, "<span class='error'>*</span> Creator".html_safe, :
|
51
|
+
<%= f.label :creator, "<span class='error'>*</span> Creator".html_safe, class: "control-label" %>
|
52
52
|
<div class="controls" id="additional_creator_clone">
|
53
|
-
<%= f.text_field :creator, :
|
53
|
+
<%= f.text_field :creator, name: "generic_file[creator][]", value: "", required: true %>
|
54
54
|
<button class="adder btn" name="additional_creator" id="additional_creator_submit">+<span class="sr-only">add another Creator</span></button>
|
55
55
|
|
56
56
|
<%= help_icon(:creator) %>
|
@@ -59,14 +59,14 @@
|
|
59
59
|
</div>
|
60
60
|
|
61
61
|
<div class="control-group">
|
62
|
-
<%= f.label :rights, '<span class="error">*</span> Rights'.html_safe, :
|
62
|
+
<%= f.label :rights, '<span class="error">*</span> Rights'.html_safe, class: "control-label" %>
|
63
63
|
<div class="controls" id="additional_rights_clone">
|
64
|
-
<%= f.select "rights", options_for_select(Sufia::Engine::config.cc_licenses, 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/'), :
|
64
|
+
<%= f.select "rights", options_for_select(Sufia::Engine::config.cc_licenses, 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/'), required: true %>
|
65
65
|
<button class="adder btn" name="additional_rights" id="additional_rights_submit">+<span class="sr-only">add another Rights</span></button>
|
66
66
|
|
67
67
|
<%= help_icon(:rights) %>
|
68
|
-
<%= render :
|
69
|
-
|
68
|
+
<%= render partial: "generic_files/rights_modal" %>
|
69
|
+
|
70
70
|
</div>
|
71
71
|
<div id="additional_rights_elements"></div>
|
72
72
|
</div>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<div class="hide" id="more_descriptions">
|
2
2
|
<% (@generic_file.terms_for_editing - [:title, :creator, :rights, :tag, :resource_type]).each do |term| %>
|
3
|
-
<%= render :
|
3
|
+
<%= render partial: "generic_files/field_form", locals: { generic_file: @generic_file, f: f, render_req: false, key: term } %>
|
4
4
|
<% end %>
|
5
5
|
</div> <!-- /more_descriptions -->
|
6
|
-
|
@@ -23,17 +23,17 @@ function confirmExit(){
|
|
23
23
|
<br />
|
24
24
|
<div class="alert">The information you provide for Title will be applied to the corresponding file only; however all other
|
25
25
|
information you provide will be applied <em>to the entire batch of files</em> you have just deposited into <%= t('sufia.product_name') %>.
|
26
|
-
You may edit individual files from <%= link_to
|
26
|
+
You may edit individual files from <%= link_to "<i class='icon-dashboard'></i> #{t('sufia.bread_crumb.file_list')}".html_safe, sufia.dashboard_files_path %> once
|
27
27
|
this step is finished.
|
28
28
|
</div>
|
29
|
-
<%= form_for([@batch, @generic_file], :
|
29
|
+
<%= form_for([@batch, @generic_file], url: sufia.batch_generic_files_path, html: { multipart: true, class: 'form-horizontal' }) do |f| %>
|
30
30
|
|
31
|
-
<%= render :
|
31
|
+
<%= render partial: 'metadata', formats: [:html], locals: {f: f} %>
|
32
32
|
|
33
|
-
<%= render :
|
33
|
+
<%= render partial: 'generic_files/permission_form', formats: [:html], locals: { gf: @generic_file, batch: @batch } %>
|
34
34
|
|
35
35
|
<div class="row form-actions" id="permissions_submit">
|
36
|
-
<%= button_tag '<i class="icon-save"></i> Save'.html_safe, :
|
36
|
+
<%= 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" %>
|
37
37
|
</div>
|
38
38
|
|
39
39
|
<% end %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% if !@disable_select_all %>
|
2
2
|
<div class="dropdown" >
|
3
|
-
<%= check_box_tag 'check_all', 'yes', @all_checked, :
|
3
|
+
<%= check_box_tag 'check_all', 'yes', @all_checked, disabled: ((@batch_size_on_other_page + @document_list.count) > @max_batch_size) %>
|
4
4
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><span class="icon-cog" title="click for selection options"></span></a>
|
5
5
|
<ul class="dropdown-menu">
|
6
6
|
<%= render partial: "#{controller_name}/batch_edits_actions" %>
|
@@ -1,5 +1,4 @@
|
|
1
|
-
<%= form_tag(batch_edits_path, :
|
1
|
+
<%= form_tag(batch_edits_path, method: :delete, class: "batch-select-all hidden", "data-behavior" => 'batch-select-all') do -%>
|
2
2
|
<%= hidden_field_tag('update_type', 'delete_all') %>
|
3
|
-
<%= submit_tag("Delete Selected", :
|
3
|
+
<%= submit_tag("Delete Selected", class: 'batch-all-button btn btn-primary submits-batches', 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" }) %>
|
4
4
|
<% end %>
|
5
|
-
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<%= render :
|
1
|
+
<%= render partial: 'generic_files/breadcrumbs', locals: {include_file: false} %>
|
2
2
|
<h2 class="non lower">Batch Edit Descriptions <small>Click on labels below to edit file descriptions.</small> </h2>
|
3
3
|
<div class="scrollx scrolly fileHeight"> <!-- original values -->
|
4
|
-
<h3> <b>Changes will be applied to: (
|
4
|
+
<h3> <b>Changes will be applied to: (<%= @names.size %> files) </b></h3>
|
5
5
|
<%= @names.join(", ").html_safe %>
|
6
|
-
</div> <!-- /original values -->
|
6
|
+
</div> <!-- /original values -->
|
7
7
|
|
8
8
|
<div >
|
9
9
|
<h3> Descriptions:</h3>
|
@@ -13,43 +13,43 @@
|
|
13
13
|
<li id="edit_permissions_link"><a href="#permissions_display" data-toggle="tab"><i class="icon-key"></i> Permissions</a></li>
|
14
14
|
</ul>
|
15
15
|
<div class="tab-content">
|
16
|
-
<div class="well tab-pane active" id="descriptions_display">
|
16
|
+
<div class="well tab-pane active" id="descriptions_display">
|
17
17
|
<table class="table table-striped"><!-- class="verticalheadings"> -->
|
18
18
|
<tbody>
|
19
19
|
<% @terms.each do |term| %>
|
20
|
-
<% vals =
|
21
|
-
<tr id='row_<%=term.to_s%>' class="expandable">
|
20
|
+
<% vals = @show_file.send(term) %>
|
21
|
+
<tr id='row_<%= term.to_s %>' class="expandable">
|
22
22
|
<th width="20%">
|
23
|
-
<a class="accordion-toggle grey" data-toggle="collapse" data-parent="#row_<%=term.to_s%>" href="#collapse_<%=term.to_s%>">
|
24
|
-
<%=get_label(term)%> <i class="toggle icon-chevron-right grey"></i>
|
23
|
+
<a class="accordion-toggle grey" data-toggle="collapse" data-parent="#row_<%= term.to_s %>" href="#collapse_<%=term.to_s%>">
|
24
|
+
<%= get_label(term) %> <i class="toggle icon-chevron-right grey"></i>
|
25
25
|
</a>
|
26
26
|
</th>
|
27
27
|
<td width="50%" class="scrolly">
|
28
|
-
|
29
|
-
<div id="collapse_<%=term.to_s%>" class="accordion-body collapse scrolly">
|
30
|
-
<%= form_for @generic_file, :
|
28
|
+
|
29
|
+
<div id="collapse_<%= term.to_s %>" class="accordion-body collapse scrolly">
|
30
|
+
<%= form_for @generic_file, url: batch_edits_path, method: :put, remote: true, html: { id: "form_#{term.to_s}", class: "ajax-form"} do |f| %>
|
31
31
|
<%= hidden_field_tag('update_type', 'update') %>
|
32
32
|
<%= hidden_field_tag('key', term.to_s) %>
|
33
|
-
<%= render :
|
33
|
+
<%= render partial: "generic_files/field_form", locals: { generic_file: @show_file, f: f, render_req: false, key: term } %>
|
34
34
|
<div class="row">
|
35
|
-
<%= f.submit "Save changes", :
|
36
|
-
<a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_<%=term.to_s%>" href="#collapse_<%=term.to_s%>">Cancel </a>
|
37
|
-
<div id="status_<%=term.to_s%>" class="status fleft"></div>
|
35
|
+
<%= f.submit "Save changes", class: 'btn btn-primary field-save updates-batches' , id: "#{term.to_s}_save" %>
|
36
|
+
<a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_<%= term.to_s %>" href="#collapse_<%= term.to_s %>">Cancel </a>
|
37
|
+
<div id="status_<%= term.to_s %>" class="status fleft"></div>
|
38
38
|
</div>
|
39
39
|
<% end %>
|
40
40
|
</div>
|
41
|
-
</td>
|
41
|
+
</td>
|
42
42
|
</tr>
|
43
43
|
<% end %>
|
44
44
|
</tbody></table> <!-- class="verticalheadings"> -->
|
45
45
|
</div><!-- /well -->
|
46
46
|
<div id="permissions_display" class="tab-pane">
|
47
|
-
<%= form_for @generic_file, :
|
47
|
+
<%= form_for @generic_file, url: batch_edits_path, method: :put, remote: true, html: { id: "form_permissions", class: "ajax-form"} do |f| %>
|
48
48
|
<%= hidden_field_tag('update_type', 'update') %>
|
49
49
|
<%= hidden_field_tag('key', 'permissions') %>
|
50
|
-
<%= render :
|
50
|
+
<%= render partial: "generic_files/permission_form", locals: { gf: @show_file } %>
|
51
51
|
<div class="row">
|
52
|
-
<%= f.submit "Save changes", :
|
52
|
+
<%= f.submit "Save changes", class: 'btn btn-primary updates-batches', id: 'permissions_save' %>
|
53
53
|
<a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_permissions" href="#collapse_permissions">Cancel </a>
|
54
54
|
<div id="status_permissions" class="status fleft"></div>
|
55
55
|
</div>
|
@@ -58,7 +58,6 @@
|
|
58
58
|
</div> <!-- .tab-content -->
|
59
59
|
|
60
60
|
<!-- Ajax call to clear the batch before page uload. -->
|
61
|
-
<%= button_to "Clear Batch", { :
|
61
|
+
<%= button_to "Clear Batch", { controller: :batch_edits, action: :clear }, form_class: 'hidden', remote: true, id: 'clear_batch' %>
|
62
62
|
|
63
63
|
</div><!-- descriptions_display -->
|
64
|
-
|
@@ -1,22 +1,21 @@
|
|
1
1
|
<% if has_user_authentication_provider? and current_user %>
|
2
|
-
<%- existing_bookmark = current_user.existing_bookmark_for(document.id) -%>
|
3
2
|
<%-
|
4
3
|
# Note these two forms are pretty similar but for different :methods, classes, and labels.
|
5
4
|
# but it was simpler to leave them separate instead of DRYing them, got confusing trying that.
|
6
5
|
# the data-doc-id attribute is used by our JS that converts to a checkbox/label.
|
7
6
|
-%>
|
8
|
-
<%
|
7
|
+
<% if current_user.document_is_bookmarked? document %>
|
9
8
|
|
10
|
-
<%= form_tag( bookmark_path( document ), :
|
11
|
-
<%= hidden_field(:bookmark, :title, :
|
12
|
-
<%= submit_tag("Bookmark", :
|
9
|
+
<%= form_tag( bookmark_path( document ), method: :put, class: "bookmark_toggle", "data-doc-id" => document.id, title: document[document_show_link_field] ) do %>
|
10
|
+
<%= hidden_field(:bookmark, :title, value: document[document_show_link_field] ) %>
|
11
|
+
<%= submit_tag("Bookmark", id: "bookmark_toggle_#{document.id.to_s.parameterize}", class: "bookmark_add") %>
|
13
12
|
<% end %>
|
14
13
|
|
15
14
|
<% else %>
|
16
15
|
|
17
|
-
<%= form_tag( bookmark_path( document ), :
|
18
|
-
<%= hidden_field(:bookmark, :title, :
|
19
|
-
<%= submit_tag("Remove bookmark", :
|
16
|
+
<%= form_tag( bookmark_path( document ), method: :delete, class: "bookmark_toggle", "data-doc-id" => document.id, title: document[document_show_link_field]) do %>
|
17
|
+
<%= hidden_field(:bookmark, :title, value: document[document_show_link_field] ) %>
|
18
|
+
<%= submit_tag("Remove bookmark", id: "bookmark_toggle_#{document.id.to_s.parameterize}", class: "bookmark_remove") %>
|
20
19
|
<% end %>
|
21
20
|
|
22
21
|
<% end %>
|
@@ -3,8 +3,8 @@
|
|
3
3
|
# label
|
4
4
|
# value
|
5
5
|
# options =>
|
6
|
-
# :
|
7
|
-
# :
|
6
|
+
# remove: url for a remove constraint link
|
7
|
+
# classes: array of classes to add to container span
|
8
8
|
options ||= {}
|
9
9
|
options[:escape_label] = true unless options.has_key?(:escape_label)
|
10
10
|
options[:escape_value] = true unless options.has_key?(:escape_value)
|