Class: Atrium::ShowcasesController
Instance Method Summary
collapse
#get_description_for_showcase
#add_browse_facet_params, #browse_collection_link, #can_add_view_exhibit?, #edit_collection_link, #exhibit_scoped_to_items?, #get_browse_facet_path, #get_collection_id, #get_collections_list, #get_customize_page_path, #get_exhibit_set_number, #get_selected_browse_facet_path, #get_selected_browse_facets, #get_solr_documents_from_asset, #grouped_result_count, #remove_related_facet_params
#collection_theme_if_present, #current_layout
Methods included from SolrHelper
#__initialize_collection, #add_exclude_fq_to_solr, #atrium_collection, #browse_collection_link, #browse_document_list, #browse_response, #current_extra_controller_params, #edit_collection_link, #exhibit, #exhibits, #get_collection_id, #get_current_filter_query_params, #get_exhibit_navigation_data, #grouped_result_count, #prepare_extra_controller_params_for_collection_query, #reset_extra_controller_params_after_collection_query
#application_name, #extra_head_content, #facet_limit_for, #get_start_over_path, #javascript_includes, #link_back_to_catalog, #link_to_document, #render_constraints, #render_facet_limit, #save_collection_id_in_session, #save_exhibit_id_in_session, #set_edit_showcase_in_session, #stylesheet_links
Instance Method Details
#featured ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'app/controllers/atrium/showcases_controller.rb', line 57
def featured
session[:copy_folder_document_ids] = session[:folder_document_ids]
session[:folder_document_ids] = []
@atrium_showcase = Atrium::Showcase.find(params[:id])
parent = @atrium_showcase.parent if @atrium_showcase.parent
if parent.is_a?(Atrium::Collection)
collection_id = parent.id
exhibit_id=nil
elsif parent.is_a?(Atrium::Exhibit)
exhibit_id = parent.id
collection_id = parent.atrium_collection_id
else
logger.error("Atrium showcase parent is invalid. Please check the parent")
collection_id = params[:collection_id]
exhibit_id = params[:exhibit_id]
end
session[:folder_document_ids] = @atrium_showcase.showcase_items[:solr_doc_ids].split(',') if @atrium_showcase.showcase_items && @atrium_showcase.showcase_items[:solr_doc_ids]
redirect_to catalog_index_path(:add_featured=>true,:collection_id=>collection_id,:exhibit_id=>exhibit_id,:search_field=>"all_fields",:f=>params[:f])
end
|
#initialize_collection ⇒ Object
85
86
87
88
89
90
91
|
# File 'app/controllers/atrium/showcases_controller.rb', line 85
def initialize_collection
if collection_id = determine_collection_id
return __initialize_collection( collection_id )
else
return false
end
end
|
#new ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'app/controllers/atrium/showcases_controller.rb', line 5
def new
@parent=parent_object
@atrium_showcase= Atrium::Showcase.with_selected_facets(@parent.id, @parent.class.name, params[:facet_selection]).first
unless @atrium_showcase
@atrium_showcase = @parent.showcases.build({:showcases_id=>@parent.id, :showcases_type=>@parent.class.name})
@atrium_showcase.save!
if(params[:facet_selection])
params[:facet_selection].collect {|key,value| facet_selection = @atrium_showcase.facet_selections.create({:solr_facet_name=>key,:value=>value.first}) }
@atrium_showcase.save!
end
end
set_edit_showcase_in_session
redirect_to parent_url(@atrium_showcase)
end
|
#refresh_showcase ⇒ Object
78
79
80
81
82
83
|
# File 'app/controllers/atrium/showcases_controller.rb', line 78
def refresh_showcase
@atrium_showcase = Atrium::Showcase.find(params[:id])
path=@atrium_showcase.for_exhibit? ? atrium_exhibit_path(:id=>@atrium_showcase.showcases_id, :f=>params[:f]) : atrium_collection_path(:id=>@atrium_showcase.showcases_id)
unset_edit_showcase_in_session
redirect_to path
end
|
#remove_featured ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/controllers/atrium/showcases_controller.rb', line 41
def remove_featured
@atrium_showcase = Atrium::Showcase.find(params[:id])
text=''
if params[:solr_doc_id] && @atrium_showcase.showcase_items && @atrium_showcase.showcase_items[:solr_doc_ids]
@featured_items = @atrium_showcase.showcase_items[:solr_doc_ids].split(',') || []
@featured_items.delete_if {|x| x.eql?(params[:solr_doc_id]) }
@atrium_showcase.showcase_items=@featured_items
@atrium_showcase.save
text = 'Document with id '+params[:solr_doc_id] +' was remove from featured successfully.'
end
flash[:notice] = text
render :text => text
end
|
#show ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'app/controllers/atrium/showcases_controller.rb', line 20
def show
@atrium_showcase = Atrium::Showcase.find(params[:id])
unless session[:folder_document_ids].blank?
selected_document_ids = session[:folder_document_ids] || []
@atrium_showcase.showcase_items=selected_document_ids
end
@atrium_showcase.save
session_folder_ids= session[:copy_folder_document_ids] || []
session[:folder_document_ids] = session_folder_ids
session[:copy_folder_document_ids]=nil
if @atrium_showcase && !@atrium_showcase.showcase_items[:solr_doc_ids].nil?
@featured_response, @featured_documents = get_solr_response_for_field_values("id",@atrium_showcase.showcase_items[:solr_doc_ids].split(',') || [])
end
if params[:no_layout]
render :layout=>false
end
end
|