Class: FolderItemsController

Inherits:
CatalogController
  • Object
show all
Defined in:
app/controllers/folder_items_controller.rb

Instance Method Summary collapse

Instance Method Details

#clearObject



57
58
59
60
61
62
63
64
65
66
# File 'app/controllers/folder_items_controller.rb', line 57

def clear
  @folder = Bpluser::Folder.find(params[:id])
  if current_user.folders.find(@folder.id).folder_items.clear
    @folder.touch
    flash[:notice] = I18n.t('blacklight.folder_items.clear.success')
  else
    flash[:error] = I18n.t('blacklight.folder_items.clear.failure')
  end
  redirect_to :controller => "folders", :action => "show", :id => @folder
end

#createObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/controllers/folder_items_controller.rb', line 13

def create
  @response, @document = fetch(params[:id])
  if params[:folder_items]
    @folder_items = params[:folder_items]
  else
    @folder_items = [{ :document_id => params[:id], :folder_id => params[:folder_id] }]
  end

  success = @folder_items.all? do |f_item|
    folder_to_update = current_user.folders.find(f_item[:folder_id])
    folder_to_update.folder_items.create!(:document_id => f_item[:document_id]) and folder_to_update.touch unless folder_to_update.has_folder_item(f_item[:document_id])
  end

  unless request.xhr?
    flash[:notice] = t('blacklight.folder_items.add.success')
  end

  respond_to do |format|
    format.html { redirect_to :back }
    format.js
  end

end

#delete_selectedObject

PRETTY SURE THIS METHOD IS NEVER USED!



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'app/controllers/folder_items_controller.rb', line 69

def delete_selected
  @folder = Bpluser::Folder.find(params[:id])
  if params[:selected]
    if @folder.folder_items.where(:document_id => params[:selected]).delete_all
      @folder.touch
      flash[:notice] = t('blacklight.folders.update_items.remove.success')
    else
      flash[:error] = t('blacklight.folders.update_items.remove.failure')
    end
    redirect_to :controller => "folders", :action => "show", :id => @folder
  else
    redirect_to :back
    flash[:error] = t('blacklight.folders.update_items.remove.no_items')
  end
end

#destroyObject

Beware, :id is the Solr document_id, not the actual Bookmark id. idempotent, as DELETE is supposed to be. PRETTY SURE THIS METHOD IS NEVER USED!



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'app/controllers/folder_items_controller.rb', line 41

def destroy
  @response, @document = fetch(params[:id])
  folder_item = current_user.existing_folder_item_for(params[:id])

  # success = (!folder_item) || FolderItem.find(folder_item).destroy

  Bpluser::Folder.find(folder_item.folder_id).touch
  Bpluser::FolderItem.find(folder_item.id).destroy

  respond_to do |format|
    format.html { redirect_to :back }
    format.js
  end

end

#updateObject



9
10
11
# File 'app/controllers/folder_items_controller.rb', line 9

def update
  create
end