Skip to content

Commit abb1b8e

Browse files
author
Nuo Yan
committed
fixing databags, adding error handling.
1 parent fb920dc commit abb1b8e

4 files changed

Lines changed: 27 additions & 13 deletions

File tree

chef-server-webui/app/controllers/databag_items.rb

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,25 @@ def index
7878
end
7979

8080
def show
81-
@databag_name = params[:databag_id]
82-
@databag_item_name = params[:id]
83-
r = Chef::REST.new(Chef::Config[:chef_server_url])
84-
@databag_item = r.get_rest("data/#{params[:databag_id]}/#{params[:id]}")
85-
display @databag_item
81+
begin
82+
@databag_name = params[:databag_id]
83+
@databag_item_name = params[:id]
84+
r = Chef::REST.new(Chef::Config[:chef_server_url])
85+
@databag_item = r.get_rest("data/#{params[:databag_id]}/#{params[:id]}")
86+
display @databag_item
87+
rescue
88+
redirect(slice_url(:databag_databag_items), {:message => { :error => $! }, :permanent => true})
89+
end
8690
end
8791

8892
def destroy(databag_id=params[:databag_id], item_id=params[:id])
89-
@databag_item = Chef::DataBagItem.new
90-
@databag_item.destroy(databag_id, item_id)
91-
redirect(slice_url(:databag_databag_items), {:message => { :notice => "Databag Item #{params[:id]} deleted successfully" }, :permanent => true})
93+
begin
94+
@databag_item = Chef::DataBagItem.new
95+
@databag_item.destroy(databag_id, item_id)
96+
redirect(slice_url(:databag_databag_items), {:message => { :notice => "Databag Item #{params[:id]} deleted successfully" }, :permanent => true})
97+
rescue
98+
redirect(slice_url(:databag_databag_items), {:message => { :error => $! }, :permanent => true})
99+
end
92100
end
93101

94102
end

chef-server-webui/app/controllers/databags.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,15 @@ def create
4141
end
4242

4343
def index
44-
r = Chef::REST.new(Chef::Config[:chef_server_url])
45-
@databags = r.get_rest("data")
46-
render
44+
begin
45+
r = Chef::REST.new(Chef::Config[:chef_server_url])
46+
@databags = r.get_rest("data")
47+
render
48+
rescue
49+
@_message = { :error => $! }
50+
@databags = {}
51+
render
52+
end
4753
end
4854

4955
def show

chef-server-webui/app/views/databag_items/show.html.haml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
.content
77
.inner
88
.accordion
9-
= build_tree('attrs', @dababag_item, @databag_item)
9+
= build_tree('attrs', @databag_item)

chef-server-webui/app/views/databags/index.html.haml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
%tr{:class => "#{index % 2 == 1 ? 'odd' : 'even'}"}
1414
%td= link_to databag[0], slice_url(:databag, { :id => databag[0] })
1515
%td
16-
= link_to('Edit', slice_url(:edit_databag, :id => databag[0]))
16+
= link_to('Edit', slice_url(:databag, :id => databag[0]))
1717
|
1818
= link_to('Delete', slice_url(:databag, :id => databag[0]), :method => "delete", :confirm => "Really delete Databag #{databag[0]}? There is no undo.")

0 commit comments

Comments
 (0)