Introduce tool Duplicate Blocker and its spec
Fix amazon provisioning by hiding cloud quota

Currently, only Openstack has the notion of cloud quota.  However, the view that
decided whether or not to show cloud quota during provisioning based the
decision on whether or not the current workflow was a cloud workflow.

The decision needs to be more fine grained for now.  Instead of only checking
for a cloud workflow, the view now checks specifically for an openstack
workflow.

https://bugzilla.redhat.com/show_bug.cgi?id=1127459
Fix tenant column on pre_prov partial

In cases where both amazon and openstack images are available in the "Select and
Image" table in the _pre_prov partial, the table shows up with uneven rows.
This is caused by amazon not having tenants whereas openstack does have tenants.

Originally, the logic for showing the table column header would arbitrarily
include the header based solely on the first template in the list to be shown.
Now, the column header is shown if any of the templates in the list can show a
cloud tenant.

Also, the logic for showing the table cell is based on whether the table tenants
header is shown.

Additionally, the logic for showing the data inside the table cell is based on
whether the template in the current column can respond_to the `cloud_tenant`
method.

https://bugzilla.redhat.com/show_bug.cgi?id=1127459
Fixed a typo in assert_privileges call.
Add MeteringDeletate to Openstack Handle

Adds the ability to connect to Ceilometer through the openstack delegate.

https://bugzilla.redhat.com/show_bug.cgi?id=1129462
Allow non-wrapped openstack services

As Openstack evolves, there are likely to be new services we need to support.
This change will allow us to return the underlying Fog-based Openstack service
if we haven't yet wrapped Openstack service with a corresponding
tenant-supported Openstack Service Delegate class.

I'm a little torn on this commit, because the presence of a new Openstack
service should give us pause and require that we think about whether the service
needs to be restricted to tenant-based operations.

However, I also know how much the Openstack ecosystem changes and evolves.  So,
it makes sense to be able to simply pass through to the underlying service until
we absolutely need to wrap the service with tenant-based operations.

Associated with:
https://bugzilla.redhat.com/show_bug.cgi?id=1129462
Exclude Ceilometer from service fallback list

Be explicit in the fact that there is no service fallback for the Openstack
Ceilometer service.
Added require for miq_timeline

Added require for miq_timeline to fix an issue where timelines weren't drawing correctly.

https://bugzilla.redhat.com/show_bug.cgi?id=1117431
Add vm/show_list post route for vm list paging controls

https://bugzilla.redhat.com/show_bug.cgi?id=1128252
New paging_controls_url helper to handle extra URL parms

https://bugzilla.redhat.com/show_bug.cgi?id=1128244
Merge pull request #385 from blomquisg/bz1129462-openstack-handle-metering

Bz1129462 openstack handle metering
Set current tag assignments to blank when tag/category has been deleted from table.

- To prevent a crash in UI when category/tag that chargeback is currently assigned to is deleted from table, set current assignments to blank.
- Added spec tests to verify the fix.

https://bugzilla.redhat.com/show_bug.cgi?id=1129289
Don't allow to set service retirement date to the past

This fix initializes the dhtmlXCalendarObject when setting
service retirement date in such a way that it would not
render past days as selectable.

This effectively disallows to select a date in the past
for service retirement.

https://bugzilla.redhat.com/show_bug.cgi?id=1124555
Merge pull request #387 from h-kataria/require_miq_timeline_css_in_app_assets

Added require for miq_timeline
Merge pull request #389 from dclarizio/paging_control_links_need_chart_set_info

Paging control links need chart set info and new route
Fix Openstack Refresh with no volumes

If no volumes are present in Cinder, then the "#process_collection_item" method
is never called, and that method creates the entry in the "@data" object in the
ems_refresh parser.

Part of the fix here is to add the "@data[key] ||= []" to "#process_collection"
so that the "@data" object at least contains an empty array instead of simply
nil.

Secondly, it's still necessary to protect the "#link_storage_associations" from
attempting to dereference the array because it's possible that the Cinder
service may not even be available.

https://bugzilla.redhat.com/show_bug.cgi?id=1130118
Added support to copy objects with new name under same domain.

- Added support to be able to copy a single automate Class/Instance/Method with a new name under same domain.
- Made model changes to copy methods to call appropraite method when copying objects.
- Added New name text field on copy form that is only displayed when a single object is selected to copy and under a same domain. Also added a read only field "From Domain" to show user which domain they are copying object from. Changed label "Domain" on Domain pull-down to "to Domain".
- Added spec test to verify copy as feature.

https://bugzilla.redhat.com/show_bug.cgi?id=1129802
Merge pull request #394 from blomquisg/bz1130118-ems-refresh-without-volumes

Fix Openstack Refresh with no volumes
Merge pull request #382 from h-kataria/fixed_typo_in_assert_privileges_call

Fixed a typo in assert_privileges call.
specs for miq_ae_password model