137 lines
3.8 KiB
Ruby
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
|