|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
1 |
class PeopleController < ApplicationController |
|
91772348
»
|
seven1m |
2008-07-15 |
Set up action caching for p... |
2 |
|
|
f38e5813
»
|
seven1m |
2008-07-22 |
Moved system content to con... |
3 |
#caches_action :show, :for => 1.hour, :cache_path => Proc.new { |c| "people/#{c.params[:id]}_for_#{Person.logged_in.id}" } |
| |
4 |
#cache_sweeper :person_sweeper, :family_sweeper, :only => %w(create update destroy) |
|
91772348
»
|
seven1m |
2008-07-15 |
Set up action caching for p... |
5 |
|
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
6 |
def index |
|
33e6fd98
»
|
seven1m |
2008-07-20 |
Added people, families, and... |
7 |
respond_to do |format| |
| |
8 |
format.html { redirect_to @logged_in } |
| |
9 |
if @logged_in.admin?(:export_data) |
| |
10 |
@people = Person.paginate(:order => 'last_name, first_name, suffix', :page => params[:page], :per_page => params[:per_page] || 50) |
|
bd93ad00
»
|
seven1m |
2008-07-21 |
Start of data import. |
11 |
format.xml { render :xml => @people.to_xml(:except => %w(feed_code encrypted_password), :include => [:groups, :family]) } |
| |
12 |
format.csv { render :text => @people.to_csv(:except => %w(feed_code encrypted_password), :include => [:family]) } |
|
33e6fd98
»
|
seven1m |
2008-07-20 |
Added people, families, and... |
13 |
end |
| |
14 |
end |
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
15 |
end |
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
16 |
|
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
17 |
def show |
| |
18 |
if @person = Person.find_by_id(params[:id], :include => :family) and @logged_in.can_see?(@person) |
| |
19 |
@family = @person.family |
|
e4d5f067
»
|
seven1m |
2008-01-01 |
merged vacation branch r443... |
20 |
@family_people = @person.family.visible_people |
|
999676df
»
|
seven1m |
2007-07-18 |
tab cleanup and reorganization |
21 |
@me = (@logged_in == @person) |
|
cf153f31
»
|
seven1m |
2008-07-30 |
Fixed typo preventing map f... |
22 |
@show_map = Setting.get(:services, :yahoo) and @person.family.mapable? and @person.share_address_with(@logged_in) |
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
23 |
if params[:simple] |
| |
24 |
if @logged_in.full_access? |
| |
25 |
if params[:photo] |
| |
26 |
render :action => 'show_simple_photo', :layout => false |
| |
27 |
else |
| |
28 |
render :action => 'show_simple', :layout => false |
| |
29 |
end |
| |
30 |
else |
| |
31 |
render :text => '', :status => 404 |
| |
32 |
end |
|
11bc5303
»
|
seven1m |
2008-07-11 |
Added Search resource to re... |
33 |
elsif params[:services] |
| |
34 |
render :action => 'services' |
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
35 |
elsif not @logged_in.full_access? and not @me |
| |
36 |
render :action => 'show_limited' |
|
31d0bfa1
»
|
seven1m |
2008-08-05 |
Starting to separate differ... |
37 |
else |
| |
38 |
respond_to do |format| |
| |
39 |
format.html |
| |
40 |
format.xml { render :xml => @person.to_xml } |
| |
41 |
end |
|
d2b060e0
»
|
seven1m |
2008-07-07 |
Started work on People cont... |
42 |
end |
|
e4d5f067
»
|
seven1m |
2008-01-01 |
merged vacation branch r443... |
43 |
else |
|
31d0bfa1
»
|
seven1m |
2008-08-05 |
Starting to separate differ... |
44 |
render :text => 'Person not found.', :status => 404, :layout => true |
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
45 |
end |
| |
46 |
end |
|
74b33a1b
»
|
seven1m |
2008-07-10 |
Pictures are back. |
47 |
|
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
48 |
def new |
| |
49 |
if @logged_in.admin?(:edit_profiles) |
|
74b33a1b
»
|
seven1m |
2008-07-10 |
Pictures are back. |
50 |
@family = Family.find(params[:family_id]) |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
51 |
defaults = {:can_sign_in => true, :visible_to_everyone => true, :visible_on_printed_directory => true, :full_access => true} |
| |
52 |
@person = Person.new(defaults.merge(:family_id => @family.id).merge(:last_name => @family.last_name)) |
| |
53 |
else |
| |
54 |
render :text => 'You are not authorized to create a person.', :layout => true, :status => 401 |
| |
55 |
end |
| |
56 |
end |
| |
57 |
|
| |
58 |
def create |
| |
59 |
if @logged_in.admin?(:edit_profiles) |
| |
60 |
@person = Person.create(params[:person]) |
| |
61 |
unless @person.errors.any? |
| |
62 |
redirect_to @person.family |
| |
63 |
else |
| |
64 |
render :action => 'new' |
|
74b33a1b
»
|
seven1m |
2008-07-10 |
Pictures are back. |
65 |
end |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
66 |
else |
| |
67 |
render :text => 'You are not authorized to create a person.', :layout => true, :status => 401 |
|
74b33a1b
»
|
seven1m |
2008-07-10 |
Pictures are back. |
68 |
end |
| |
69 |
end |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
70 |
|
| |
71 |
def edit |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
72 |
@person ||= Person.find(params[:id]) |
| |
73 |
if @logged_in.can_edit?(@person) |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
74 |
@family = @person.family |
| |
75 |
@service_categories = Person.service_categories |
| |
76 |
else |
| |
77 |
render :text => 'You are not authorized to edit this person.', :layout => true, :status => 401 |
| |
78 |
end |
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
79 |
end |
| |
80 |
|
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
81 |
def update |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
82 |
@person = Person.find(params[:id]) |
| |
83 |
if @logged_in.can_edit?(@person) |
| |
84 |
if updated = @person.update_from_params(params) |
|
647c17b0
»
|
seven1m |
2008-08-05 |
Rename LogItem#changes attr... |
85 |
respond_to do |format| |
| |
86 |
format.html do |
| |
87 |
flash[:notice] = 'Changes saved.' |
| |
88 |
redirect_to edit_person_path(@person, :anchor => params[:anchor]) |
| |
89 |
end |
| |
90 |
format.xml { render :xml => @person.to_xml } |
| |
91 |
end |
|
e4d5f067
»
|
seven1m |
2008-01-01 |
merged vacation branch r443... |
92 |
else |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
93 |
edit; render :action => 'edit' |
|
c5af4198
»
|
seven1m |
2007-01-13 |
git-svn-id: svn://beonebody... |
94 |
end |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
95 |
else |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
96 |
render :text => 'You are not authorized to edit this person.', :layout => true, :status => 401 |
|
c5af4198
»
|
seven1m |
2007-01-13 |
git-svn-id: svn://beonebody... |
97 |
end |
| |
98 |
end |
| |
99 |
|
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
100 |
def destroy |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
101 |
if @logged_in.admin?(:edit_profiles) |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
102 |
@person = Person.find(params[:id]) |
|
954967a4
»
|
seven1m |
2008-07-20 |
Work on family/people editi... |
103 |
unless me? |
| |
104 |
@person.destroy |
| |
105 |
redirect_to @person.family |
|
c5af4198
»
|
seven1m |
2007-01-13 |
git-svn-id: svn://beonebody... |
106 |
else |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
107 |
render :text => 'You cannot delete yourself.', :status => 500 |
|
871adef9
»
|
seven1m |
2007-04-03 |
git-svn-id: svn://beonebody... |
108 |
end |
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
109 |
else |
|
52ef03f3
»
|
seven1m |
2008-07-08 |
RESTful People controller. ... |
110 |
render :text => 'You are not authorized to delete this person.', :status => 401 |
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
111 |
end |
| |
112 |
end |
|
33e6fd98
»
|
seven1m |
2008-07-20 |
Added people, families, and... |
113 |
|
| |
114 |
def import |
|
bd93ad00
»
|
seven1m |
2008-07-21 |
Start of data import. |
115 |
if @logged_in.admin?(:import_data) |
| |
116 |
if request.get? |
| |
117 |
@column_names = Person.columns.map { |c| c.name } |
| |
118 |
@column_names += Family.columns.map { |c| "family_#{c.name}" } |
| |
119 |
@column_names.reject! { |c| c =~ /site_id/ } |
| |
120 |
elsif request.post? |
| |
121 |
@records = Person.queue_import_from_csv_file(params[:file].read, params[:match_by_name]) |
| |
122 |
render :action => 'import_queue' |
| |
123 |
elsif request.put? |
| |
124 |
Person.import_data(params) |
| |
125 |
render :text => 'Import successful.', :layout => true |
| |
126 |
end |
| |
127 |
else |
| |
128 |
render :text => 'You are not authorized to import data.', :layout => true, :status => 401 |
| |
129 |
end |
|
33e6fd98
»
|
seven1m |
2008-07-20 |
Added people, families, and... |
130 |
end |
|
326dc0be
»
|
seven1m |
2007-04-07 |
git-svn-id: svn://beonebody... |
131 |
|
|
db37afcc
»
|
seven1m |
2007-01-10 |
git-svn-id: svn://beonebody... |
132 |
end |