class ForemanSalt::SaltKeysController

def accept

def accept
  @proxy = find_proxy(:edit_smart_proxies_salt_keys)
  key = SmartProxies::SaltKeys.find(@proxy, params[:salt_key_id])
  if key.accept
    process_success(:success_redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true),
                    :success_msg => _("Key accepted for #{key}"), :object_name => key.to_s)
  else
    process_error(:redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true))
  end
end

def controller_permission

def controller_permission
  'smart_proxies_salt_keys'
end

def destroy

def destroy
  @proxy = find_proxy(:destroy_smart_proxies_salt_keys)
  key = SmartProxies::SaltKeys.find(@proxy, params[:id])
  if key.delete
    process_success(:success_redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true),
                    :success_msg => _("Key deleted for #{key}"), :object_name => key.to_s)
  else
    process_error(:redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true))
  end
end

def find_proxy(permission = :view_smart_proxies_salt_keys)

def find_proxy(permission = :view_smart_proxies_salt_keys)
  SmartProxy.authorized(permission).find(params[:smart_proxy_id])
end

def index

def index
  @proxy = find_proxy
  Rails.cache.delete("saltkeys_#{@proxy.id}") if params[:expire_cache] == 'true'
  keys = if params[:state].blank?
           SmartProxies::SaltKeys.all @proxy
         else
           SmartProxies::SaltKeys.find_by_state @proxy, params[:state].downcase
         end
  @keys = keys.sort.paginate :page => params[:page], :per_page => Setting[:entries_per_page]
end

def reject

def reject
  @proxy = find_proxy(:edit_smart_proxies_salt_keys)
  key = SmartProxies::SaltKeys.find(@proxy, params[:salt_key_id])
  if key.reject
    process_success(:success_redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true),
                    :success_msg => _("Key rejected for #{key}"), :object_name => key.to_s)
  else
    process_error(:redirect => hash_for_smart_proxy_salt_keys_path(:state => params[:state], :expire_cache => true))
  end
end