mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
44 lines
1.1 KiB
Ruby
44 lines
1.1 KiB
Ruby
class FoldersController < ApplicationController
|
|
before_action :authenticate_user!
|
|
before_action :set_folder, only: [:show, :destroy, :update]
|
|
|
|
def create
|
|
folder = Folder.create(folder_params.merge({ user: current_user }))
|
|
|
|
redirect_back(fallback_location: documents_path, notice: "Folder #{folder.title} created!")
|
|
end
|
|
|
|
def update
|
|
@folder.update(folder_params)
|
|
|
|
redirect_back(fallback_location: folder_path(@folder), notice: "Folder #{@folder.title} updated!")
|
|
end
|
|
|
|
def destroy
|
|
end
|
|
|
|
def show
|
|
@page_title = @folder.title || 'Untitled folder'
|
|
|
|
@parent_folder = @folder.parent_folder
|
|
@child_folders = Folder.where(parent_folder: @folder)
|
|
|
|
# TODO: add other content types here too
|
|
@content = Document.where(folder: @folder)
|
|
|
|
if @universe_scope
|
|
@content = @content.where(universe: @universe_scope)
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def set_folder
|
|
@folder = Folder.find_by(user: current_user, id: params.fetch(:id).to_i)
|
|
end
|
|
|
|
def folder_params
|
|
params.require(:folder).permit(:title, :context, :parent_folder_id)
|
|
end
|
|
end
|