diff --git a/app/controllers/vm_common.rb b/app/controllers/vm_common.rb index a6063965d33c..14a4208f7179 100644 --- a/app/controllers/vm_common.rb +++ b/app/controllers/vm_common.rb @@ -449,7 +449,7 @@ def snap_vm :userid => session[:userid], :name => params[:name], :description => params[:description], - :memory => params[:snap_memory] == "1") + :memory => params[:snap_memory] == "true") rescue => bang puts bang.backtrace.join("\n") flash = _("Error during 'Create Snapshot': %{message}") % {:message => bang.message} diff --git a/app/helpers/hide_partial_helper.rb b/app/helpers/hide_partial_helper.rb index f8b126e202f6..6a3eb35b7a1b 100644 --- a/app/helpers/hide_partial_helper.rb +++ b/app/helpers/hide_partial_helper.rb @@ -1,5 +1,5 @@ module HidePartialHelper def hide_x_edit_buttons(action) - ["snap_vm"].include? action + ["snap_vm"].include?(action) end end diff --git a/app/javascript/components/vm-snapshot-form-component.jsx b/app/javascript/components/vm-snapshot-form-component.jsx index 9a2f98151b3e..f5b9eb843dc5 100644 --- a/app/javascript/components/vm-snapshot-form-component.jsx +++ b/app/javascript/components/vm-snapshot-form-component.jsx @@ -4,7 +4,7 @@ import { VmSnapshotForm } from '@manageiq/react-ui-components/dist/vm-snapshot-f const VmSnapshotFormComponent = (props) => { const { - vendor, + nameRequired, createUrl, cancelUrl, ...rest @@ -24,9 +24,9 @@ const VmSnapshotFormComponent = (props) => { window.miqAjaxButton(createUrl, values)} onCancel={() => window.miqAjaxButton(cancelUrl)} {...rest} @@ -35,13 +35,13 @@ const VmSnapshotFormComponent = (props) => { }; VmSnapshotFormComponent.propTypes = { - vendor: PropTypes.string, + nameRequired: PropTypes.bool, createUrl: PropTypes.string.isRequired, cancelUrl: PropTypes.string.isRequired, }; VmSnapshotFormComponent.defaultProps = { - vendor: '', + nameRequired: true, }; export default VmSnapshotFormComponent; diff --git a/app/javascript/miq-component/helpers.js b/app/javascript/miq-component/helpers.js index a0694337b111..0fb2a9d6d4d4 100644 --- a/app/javascript/miq-component/helpers.js +++ b/app/javascript/miq-component/helpers.js @@ -6,6 +6,10 @@ export function addReact(name, component) { } export function componentFactory(blueprintName, selector) { + const { isDefined } = ManageIQ.component; + if (!isDefined(blueprintName)) { + throw new Error(`Attempt to create instance of ${blueprintName}. Blueprint ${blueprintName} is not defined!`); + } const element = document.getElementById(selector); const props = element.dataset; ManageIQ.component.newInstance(blueprintName, props, element); diff --git a/app/views/vm_common/_snap.html.haml b/app/views/vm_common/_snap.html.haml index c4f249fcd8cf..adceea72708b 100644 --- a/app/views/vm_common/_snap.html.haml +++ b/app/views/vm_common/_snap.html.haml @@ -1,6 +1,7 @@ += render :partial => "layouts/flash_msg" #snap-form{"data-create-url" => url_for_only_path(:action => "snap_vm", :id => @record.id, :button => @edit ? "create" : nil), "data-cancel-url" => url_for_only_path(:action => "snap_vm", :id => @record.id, :button => @edit ? "cancel" : nil), - "data-vendor" => @record.vendor} + "data-name-required" => !!@record.try(:snapshot_name_optional?)} :javascript ManageIQ.component.componentFactory('VmSnapshotForm', 'snap-form');