106 lines
1.7 KiB
Ruby
106 lines
1.7 KiB
Ruby
class Admin::ArtworksController < ApplicationController
|
|
layout "admin"
|
|
|
|
before_filter :auth_admin
|
|
|
|
def reorder
|
|
i = 0
|
|
params[:order].each do |artwork_id|
|
|
i += 1
|
|
artwork = Artwork.find(artwork_id)
|
|
artwork.position = i
|
|
artwork.save
|
|
end
|
|
|
|
end
|
|
|
|
def index
|
|
|
|
@artworks = Artwork.all
|
|
end
|
|
|
|
|
|
def show
|
|
@artwork = Artwork.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
def new
|
|
@artwork = Artwork.new
|
|
|
|
end
|
|
|
|
def edit
|
|
@artwork = Artwork.find(params[:id])
|
|
|
|
end
|
|
|
|
def create
|
|
title = File.basename(params[:files].original_filename.to_s, File.extname(params[:files].original_filename.to_s)).capitalize.to_s if params[:files]
|
|
|
|
|
|
@artwork_image = ArtworkImage.new :image =>params[:files], :artwork_id => params[:artwork_id]
|
|
|
|
if @artwork_image.save
|
|
|
|
if !params[:artwork_id]
|
|
@artwork = Artwork.new(:portfolio_id => params[:portfolio_id], :artwork_image => @artwork_image, :title => title)
|
|
|
|
@artwork.artwork_images << @artwork_image
|
|
|
|
|
|
|
|
if @artwork.save
|
|
|
|
else
|
|
|
|
end
|
|
else
|
|
@artwork = @artwork_image.artwork
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
def update
|
|
@artwork = Artwork.find(params[:id])
|
|
|
|
if @artwork.update_attributes(artwork_params)
|
|
|
|
|
|
else
|
|
render :action => "edit"
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
|
@artwork = Artwork.find(params[:id])
|
|
|
|
if params[:artwork_image_id]
|
|
@artwork_image = ArtworkImage.find(params[:artwork_image_id])
|
|
@artwork_image.destroy
|
|
@artwork.reload
|
|
else
|
|
|
|
@artwork.destroy
|
|
end
|
|
|
|
end
|
|
|
|
private
|
|
def artwork_params
|
|
params.require(:artwork).permit(:title, :description, :artwork_image_id)
|
|
end
|
|
|
|
|
|
|
|
end
|