blob: 5b123e6986c6b7799451faca3570ebc075b3cdee [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
class CIMI::Frontend::Credential < CIMI::Frontend::Entity
get '/cimi/credentials/new' do
haml :'credentials/new'
end
get '/cimi/credentials/:id' do
credentials_xml = get_entity('credentials', params[:id], credentials)
@cred = CIMI::Model::Credential.from_xml(credentials_xml)
haml :'credentials/show'
end
delete '/cimi/credentials/:id/delete' do
result = destroy_entity('credentials', params[:id], credentials)
if result.code == 200
flash[:success] = "Credential '#{params[:id]}' was successfully destroyed."
redirect '/cimi/credentials'
else
flash[:error] = "Unable to destroy Credential #{params[:id]}"
end
end
get '/cimi/credentials' do
credential_xml = get_entity_collection('credentials', credentials)
@creds = collection_class_for(:credential).from_xml(credential_xml)
haml :'credentials/index'
end
post '/cimi/credential' do
credential_xml = Nokogiri::XML::Builder.new do |xml|
xml.Credential(:xmlns => CIMI::Frontend::CMWG_NAMESPACE) {
xml.name params[:credential][:name]
xml.description params[:credential][:description]
xml.username params[:credential][:username]
xml.password params[:credential][:password]
xml.key params[:credential][:key]
}
end.to_xml
begin
result = create_entity('credentials', credential_xml, credentials)
cred = collection_class_for(:credential).from_xml(result)
flash[:success] = "Credential was successfully created."
redirect "/cimi/credentials/#{href_to_id(cred.id)}", 302
rescue => e
flash[:error] = "Credential could not be created: #{e.message}"
redirect(back)
end
end
end