class GalleryController < ApplicationController #before_filter :login_required layout "main" def index @galleries = Gallery.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml => @galleries } end end def new @gallery = Gallery.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @galleries } end end def edit @gallery = Gallery.find(params[:id]) respond_to do |format| format.html # new.html.erb format.xml { render :xml => @galleries } end end def create @gallery = Gallery.new(params[:gallery]) # Save or display error text respond_to do |format| if @gallery.save # Process multiple file uploads id = @gallery.id params[:gallery_files].each do |preview| GalleryFiles.create(:filename => preview[1], :gallery_id => id.to_i, :sType => "Artwork" ) if !preview[1].blank? end # if params[:setups] # params[:setups].each do |relate| # SetupsModel.create(:sDIS => '', :setup_id => relate, :model_id => id.to_i ) if !relate.blank? # end # end #Regular Display flash[:notice] = 'Gallery was successfully created.' format.html { redirect_to("/") } format.xml { render :xml => @gallery, :status => :created, :location => @gallery } else #Error Display format.html { render :action => "new" } format.xml { render :xml => @gallery.errors, :status => :unprocessable_entity } end end end def createMedia #Make similar to create_file etc # Old Way : # # id = @gallery.id # params[:model_files].each do |preview| # ModelFiles.create(:filename => preview[1], :model_id => id.to_i ) if !preview[1].blank? # end # @art = Art.new(params[:model]) end def createFile #Make similar to create_file etc # Old Way : # # id = @gallery.id # params[:model_files].each do |preview| # ModelFiles.create(:filename => preview[1], :model_id => id.to_i ) if !preview[1].blank? # end # @art = Art.new(params[:model]) end def update @gallery = Gallery.find(params[:id]) # Process multiple file uploads #Do using javascript that dynamically calls createGalleryFile # Old Way : # # id = @gallery.id # params[:model_files].each do |preview| # ModelFiles.create(:filename => preview[1], :model_id => id.to_i ) if !preview[1].blank? # end respond_to do |format| if @gallery.update_attributes(params[:gallery]) flash[:notice] = 'Gallery was successfully updated.' format.html { redirect_to("/") } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @gallery.errors, :status => :unprocessable_entity } end end end def destroy @gallery = Gallery.find(params[:id]) @gallery.destroy respond_to do |format| format.html { redirect_to(models_url) } format.xml { head :ok } end end #Used to delete an uploaded file in a Gallery #Destroys the actual file from the hard disk using file_column #Destroys database link #Requires: # params: # :id -> id of model that contains the file # :file_id -> id of file to be deleted def destroy_file if params[:type] == "file" @file = GalleryFiles.find(params[:file_id]) else @file = GalleryMedia.find(params[:file_id]) end @file.destroy respond_to do |format| format.html { redirect_to(edit_setup_path(params[:id])) } format.js { render :update do |page| page.visual_effect :blind_up, "File_#{params[:file_id].to_s}" end } end end end