pic_vert_app/app/controllers/admin/people_controller.rb

137 lines
3.8 KiB
Ruby

# -*- encoding : utf-8 -*-
class PeopleController < ApplicationController
# GET /people
# GET /people.xml
before_filter :authenticate_admin!, except: [:show]
def index
@people = Person.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @people }
end
end
# GET /people/1
# GET /people/1.xml
def show
@person = Person.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @person }
format.js { render(:update){|page| page.replace 'sheet_person_'+@person.id.to_s, :partial => "person", :object => @person} }
end
end
# GET /people/new
# GET /people/new.xml
def new
@person = Person.new
@person.sheet_id = params[:sheet_id]
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @person }
end
end
# GET /people/1/edit
def edit
@person = Person.find(params[:id])
respond_to do |format|
format.js { render(:update){|page| page.replace_html 'sheet_person_'+@person.id.to_s, :partial => "form", :object => @person} }
end
end
# POST /people
# POST /people.xml
def create
@person = Person.new(params.require(:person).permit!)
respond_to do |format|
if @person.save
@sheet = @person.sheet
if !@sheet.person
@sheet.person = @person
end
@sheet.save
format.html { redirect_to(@person, :notice => 'Person was successfully created.') }
format.xml { render :xml => @person, :status => :created, :location => @person }
format.js
else
@sheet = @person.sheet
format.html { render :action => "new" }
format.js { render(:update){|page| page.replace_html 'new_sheet_people', :partial => "form", :object => @person} }
format.xml { render :xml => @person.errors, :status => :unprocessable_entity }
end
end
end
# PUT /people/1
# PUT /people/1.xml
def update
@person = Person.find(params[:id])
respond_to do |format|
if @person.update_attributes(params.require(:person).permit!)
format.html { redirect_to(@person, :notice => 'Person was successfully updated.') }
format.xml { head :ok }
format.js { render(:update){|page| page.replace 'sheet_person_'+@person.id.to_s, :partial => "person", :object => @person} }
else
format.html { render :action => "edit" }
format.xml { render :xml => @person.errors, :status => :unprocessable_entity }
format.js { render(:update){|page| page.replace_html 'sheet_person_'+@person.id.to_s, :partial => "form", :object => @person} }
end
end
end
# DELETE /people/1
# DELETE /people/1.xml
def destroy
@person = Person.find(params[:id])
@sheet = @person.sheet
@person.destroy
if !@sheet.person
@new_person = @sheet.people.find(:first)
@sheet.person = @new_person if @new_person
end
@sheet.save
respond_to do |format|
format.html { redirect_to(people_url) }
format.xml { head :ok }
if @sheet.people and @sheet.people.size > 0
format.js { render(:update){|page| page.replace_html 'sheet_peoples', :partial => "people/person",:collection => @sheet.people} }
else
format.js { render(:update){|page| page.replace_html 'sheet_peoples', " "} }
end
end
end
def principal
@person = Person.find(params[:id])
@sheet = @person.sheet
@sheet.person = @person
@sheet.save
respond_to do |format|
format.html { redirect_to(people_url) }
format.xml { head :ok }
format.js { render(:update){|page| page.replace_html 'sheet_peoples', :partial => "people/person",:collection => @sheet.people} }
end
end
end