app/controllers/labels_controller.rb
class LabelsController < ApplicationController
include DataControllerConfiguration::ProjectDataControllerConfiguration
before_action :set_label, only: [:show, :edit, :update, :destroy]
# GET /labels
# GET /labels.json
def index
respond_to do |format|
format.html do
@recent_objects = Label.recent_from_project_id(sessions_current_project_id).order(updated_at: :desc).limit(10)
render '/shared/data/all/index'
end
format.json {
@labels = Label.where(filter_params)
.with_project_id(sessions_current_project_id)
.page(params[:page])
.per(params[:per])
}
end
end
# GET /labels/1
# GET /labels/1.json
def show
end
# GET /labels/new
def new
@label = Label.new
end
# GET /labels/1/edit
def edit
end
def list
@labels = Label.where(project_id: sessions_current_project_id).page(params[:page])
end
# POST /labels
# POST /labels.json
def create
@label = Label.new(label_params)
respond_to do |format|
if @label.save
format.html { redirect_to @label, notice: 'Label was successfully created.' }
format.json { render :show, status: :created, location: @label.metamorphosize }
else
format.html { render :new }
format.json { render json: @label.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /labels/1
# PATCH/PUT /labels/1.json
def update
respond_to do |format|
if @label.update(label_params)
format.html { redirect_to @label, notice: 'Label was successfully updated.' }
format.json { render :show, status: :ok, location: @label.metamorphosize }
else
format.html { render :edit }
format.json { render json: @label.errors, status: :unprocessable_entity }
end
end
end
# DELETE /labels/1
# DELETE /labels/1.json
def destroy
@label.destroy
respond_to do |format|
format.html { redirect_to labels_url, notice: 'Label was successfully destroyed.' }
format.json { head :no_content }
end
end
private
def set_label
@label = Label.where(project_id: sessions_current_project_id).find(params[:id])
end
def filter_params
params.permit(:label_object_id, :label_object_type)
end
def label_params
params.require(:label).permit(
:text, :total, :style, :is_copy_edited, :is_printed, :type,
:label_object_id, :label_object_type,
:annotated_global_entity
)
end
end