# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # - Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # - Redistribution in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # # Neither the name of Sun Microsystems, Inc. or the names of # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # This software is provided "AS IS," without a warranty of any # kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND # WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY # EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY # DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR # DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, # OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR # PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF # LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, # EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. # # You acknowledge that Software is not designed, licensed or # intended for use in the design, construction, operation or # maintenance of any nuclear facility. # class ProductsController < ApplicationController before_filter :check_authentication, :only => [ :new ] # GET /products # GET /products.xml def index @products = Product.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml => @products } end end # GET /products/1 # GET /products/1.xml def show @product = Product.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @product } end end # GET /products/new # GET /products/new.xml def new @product = Product.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @product } end end # GET /products/1/edit def edit @product = Product.find(params[:id]) end # POST /products # POST /products.xml def create @product = Product.new(params[:product]) respond_to do |format| if @product.save flash[:notice] = 'Product was successfully created.' format.html { redirect_to(@product) } format.xml { render :xml => @product, :status => :created, :location => @product } else format.html { render :action => "new" } format.xml { render :xml => @product.errors, :status => :unprocessable_entity } end end end # PUT /products/1 # PUT /products/1.xml def update @product = Product.find(params[:id]) respond_to do |format| if @product.update_attributes(params[:product]) flash[:notice] = 'Product was successfully updated.' format.html { redirect_to(@product) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @product.errors, :status => :unprocessable_entity } end end end # DELETE /products/1 # DELETE /products/1.xml def destroy @product = Product.find(params[:id]) @product.destroy respond_to do |format| format.html { redirect_to(products_url) } format.xml { head :ok } end end end