Includes redmine patches #1445, 1446
All tests passed to me, I also tried to build Mock Image which I did not manage to do, but propably the problem is in my settings, please test.
From: Jiri Tomasek jtomasek@redhat.com
--- .../admin/hardware_profiles_controller.rb | 221 -------------- .../controllers/admin/pool_families_controller.rb | 127 -------- .../admin/provider_accounts_controller.rb | 177 ------------ src/app/controllers/admin/providers_controller.rb | 132 --------- .../controllers/admin/realm_mappings_controller.rb | 40 --- src/app/controllers/admin/realms_controller.rb | 90 ------ src/app/controllers/admin/roles_controller.rb | 100 ------- src/app/controllers/admin/settings_controller.rb | 44 --- src/app/controllers/admin/users_controller.rb | 124 -------- src/app/controllers/assemblies_controller.rb | 6 + src/app/controllers/builds_controller.rb | 110 +++++++ src/app/controllers/deployables_controller.rb | 149 ++++++++++ src/app/controllers/deployments_controller.rb | 123 ++++++++ .../controllers/hardware_profiles_controller.rb | 221 ++++++++++++++ .../image_factory/assemblies_controller.rb | 6 - .../controllers/image_factory/builds_controller.rb | 110 ------- .../image_factory/deployables_controller.rb | 149 ---------- .../image_factory/image_imports_controller.rb | 27 -- .../image_factory/templates_controller.rb | 301 -------------------- src/app/controllers/image_imports_controller.rb | 27 ++ src/app/controllers/instances_controller.rb | 223 +++++++++++++++ src/app/controllers/pool_families_controller.rb | 127 ++++++++ src/app/controllers/pools_controller.rb | 141 +++++++++ .../controllers/provider_accounts_controller.rb | 177 ++++++++++++ src/app/controllers/providers_controller.rb | 132 +++++++++ src/app/controllers/realm_mappings_controller.rb | 40 +++ src/app/controllers/realms_controller.rb | 90 ++++++ .../resources/deployments_controller.rb | 123 -------- .../controllers/resources/instances_controller.rb | 223 --------------- src/app/controllers/resources/pools_controller.rb | 141 --------- src/app/controllers/roles_controller.rb | 100 +++++++ src/app/controllers/settings_controller.rb | 44 +++ src/app/controllers/templates_controller.rb | 301 ++++++++++++++++++++ src/app/controllers/users_controller.rb | 124 ++++++++ src/app/helpers/resources/instances_helper.rb | 33 --- src/app/views/admin/hardware_profiles/_form.haml | 18 -- .../views/admin/hardware_profiles/_history.haml | 1 - src/app/views/admin/hardware_profiles/_list.haml | 28 -- .../_matching_provider_hardware_profiles.haml | 24 -- .../views/admin/hardware_profiles/_properties.haml | 13 - src/app/views/admin/hardware_profiles/create.haml | 6 - src/app/views/admin/hardware_profiles/edit.haml | 7 - src/app/views/admin/hardware_profiles/index.haml | 2 - src/app/views/admin/hardware_profiles/new.haml | 7 - src/app/views/admin/hardware_profiles/show.haml | 5 - src/app/views/admin/pool_families/_form.haml | 12 - src/app/views/admin/pool_families/_list.haml | 23 -- src/app/views/admin/pool_families/_properties.haml | 4 - .../admin/pool_families/_provider_accounts.haml | 25 -- src/app/views/admin/pool_families/edit.haml | 7 - src/app/views/admin/pool_families/index.haml | 2 - src/app/views/admin/pool_families/new.haml | 3 - src/app/views/admin/pool_families/show.haml | 5 - .../admin/provider_accounts/_credentials.haml | 3 - .../views/admin/provider_accounts/_history.haml | 3 - src/app/views/admin/provider_accounts/_list.haml | 20 -- .../admin/provider_accounts/_permissions.haml | 3 - .../views/admin/provider_accounts/_properties.haml | 13 - .../admin/provider_accounts/_provider_form.haml | 27 -- .../provider_accounts/_provider_selection.haml | 25 -- src/app/views/admin/provider_accounts/_rhevm.haml | 2 - src/app/views/admin/provider_accounts/edit.haml | 14 - src/app/views/admin/provider_accounts/index.haml | 2 - src/app/views/admin/provider_accounts/new.haml | 18 -- src/app/views/admin/provider_accounts/show.haml | 5 - src/app/views/admin/providers/_form.haml | 15 - src/app/views/admin/providers/_list.haml | 20 -- src/app/views/admin/providers/_properties.haml | 5 - src/app/views/admin/providers/edit.haml | 7 - src/app/views/admin/providers/index.haml | 2 - src/app/views/admin/providers/new.haml | 3 - src/app/views/admin/providers/show.haml | 5 - src/app/views/admin/realm_mappings/new.haml | 10 - src/app/views/admin/realm_mappings/show.haml | 5 - src/app/views/admin/realms/_form.haml | 6 - src/app/views/admin/realms/_list.haml | 19 -- src/app/views/admin/realms/_mapping.haml | 20 -- src/app/views/admin/realms/_properties.haml | 3 - src/app/views/admin/realms/edit.haml | 4 - src/app/views/admin/realms/index.haml | 2 - src/app/views/admin/realms/new.haml | 3 - src/app/views/admin/realms/show.haml | 5 - src/app/views/admin/roles/_form.haml | 8 - src/app/views/admin/roles/_list.haml | 30 -- src/app/views/admin/roles/_properties.haml | 23 -- src/app/views/admin/roles/edit.haml | 4 - src/app/views/admin/roles/index.haml | 2 - src/app/views/admin/roles/new.haml | 3 - src/app/views/admin/settings/general_settings.haml | 41 --- src/app/views/admin/settings/index.haml | 42 --- src/app/views/admin/settings/self_service.haml | 120 -------- src/app/views/admin/users/_form.haml | 44 --- src/app/views/admin/users/_list.haml | 40 --- src/app/views/admin/users/_properties.haml | 98 ------- src/app/views/admin/users/edit.haml | 7 - src/app/views/admin/users/index.haml | 2 - src/app/views/admin/users/new.haml | 6 - src/app/views/assemblies/index.haml | 1 + src/app/views/deployables/_assemblies.haml | 30 ++ src/app/views/deployables/_deployments.haml | 25 ++ src/app/views/deployables/_form.haml | 10 + src/app/views/deployables/_list.haml | 28 ++ src/app/views/deployables/_pick_assemblies.haml | 16 + src/app/views/deployables/_properties.haml | 8 + src/app/views/deployables/edit.haml | 4 + src/app/views/deployables/index.haml | 2 + src/app/views/deployables/new.haml | 3 + src/app/views/deployables/pick_assemblies.haml | 5 + src/app/views/deployables/show.haml | 5 + src/app/views/deployments/_history.haml | 1 + src/app/views/deployments/_instances.haml | 2 + src/app/views/deployments/_list.haml | 35 +++ src/app/views/deployments/_permissions.haml | 2 + src/app/views/deployments/_properties.haml | 2 + src/app/views/deployments/_provider_services.haml | 1 + src/app/views/deployments/_required_services.haml | 1 + src/app/views/deployments/index.haml | 2 + src/app/views/deployments/launch_new.haml | 6 + src/app/views/deployments/new.haml | 25 ++ src/app/views/deployments/show.haml | 5 + src/app/views/hardware_profiles/_form.haml | 18 ++ src/app/views/hardware_profiles/_history.haml | 1 + src/app/views/hardware_profiles/_list.haml | 28 ++ .../_matching_provider_hardware_profiles.haml | 24 ++ src/app/views/hardware_profiles/_properties.haml | 13 + src/app/views/hardware_profiles/create.haml | 6 + src/app/views/hardware_profiles/edit.haml | 7 + src/app/views/hardware_profiles/index.haml | 2 + src/app/views/hardware_profiles/new.haml | 7 + src/app/views/hardware_profiles/show.haml | 5 + src/app/views/image_factory/assemblies/index.haml | 1 - .../image_factory/deployables/_assemblies.haml | 30 -- .../image_factory/deployables/_deployments.haml | 25 -- src/app/views/image_factory/deployables/_form.haml | 10 - src/app/views/image_factory/deployables/_list.haml | 28 -- .../deployables/_pick_assemblies.haml | 16 - .../image_factory/deployables/_properties.haml | 8 - src/app/views/image_factory/deployables/edit.haml | 4 - src/app/views/image_factory/deployables/index.haml | 2 - src/app/views/image_factory/deployables/new.haml | 3 - .../image_factory/deployables/pick_assemblies.haml | 5 - src/app/views/image_factory/deployables/show.haml | 5 - src/app/views/image_factory/image_imports/new.haml | 8 - .../views/image_factory/templates/_addbuttons.haml | 4 - src/app/views/image_factory/templates/_basics.haml | 27 -- src/app/views/image_factory/templates/_builds.haml | 41 --- .../image_factory/templates/_collections.haml | 8 - src/app/views/image_factory/templates/_form.haml | 120 -------- .../image_factory/templates/_hidden_fields.haml | 8 - src/app/views/image_factory/templates/_list.haml | 35 --- .../templates/_local_content_to_bundle.haml | 21 -- .../image_factory/templates/_managed_content.haml | 21 -- .../templates/_metagroup_packages.haml | 19 -- .../views/image_factory/templates/_metagroups.haml | 13 - .../templates/_preboot_configuration.haml | 11 - .../views/image_factory/templates/_properties.haml | 4 - .../image_factory/templates/_search_packages.haml | 45 --- .../templates/_software_selection.haml | 41 --- .../views/image_factory/templates/collections.haml | 1 - src/app/views/image_factory/templates/edit.haml | 9 - src/app/views/image_factory/templates/index.haml | 2 - .../image_factory/templates/managed_content.haml | 1 - .../templates/metagroup_packages.haml | 1 - src/app/views/image_factory/templates/new.haml | 10 - .../image_factory/templates/search_packages.haml | 1 - src/app/views/image_factory/templates/show.haml | 5 - src/app/views/image_imports/new.haml | 8 + .../instances/_can_perform_state_change.xml.haml | 7 + src/app/views/instances/_history.haml | 3 + src/app/views/instances/_list.haml | 23 ++ src/app/views/instances/_permissions.haml | 3 + src/app/views/instances/_properties.haml | 65 +++++ src/app/views/instances/index.haml | 2 + src/app/views/instances/new.haml | 27 ++ src/app/views/instances/select_template.haml | 19 ++ src/app/views/instances/show.haml | 5 + src/app/views/pool_families/_form.haml | 12 + src/app/views/pool_families/_list.haml | 23 ++ src/app/views/pool_families/_properties.haml | 4 + .../views/pool_families/_provider_accounts.haml | 25 ++ src/app/views/pool_families/edit.haml | 7 + src/app/views/pool_families/index.haml | 2 + src/app/views/pool_families/new.haml | 3 + src/app/views/pool_families/show.haml | 5 + src/app/views/pools/_deployments.haml | 3 + src/app/views/pools/_history.haml | 3 + src/app/views/pools/_instances.haml | 28 ++ src/app/views/pools/_list.haml | 39 +++ src/app/views/pools/_permissions.haml | 3 + src/app/views/pools/_properties.haml | 4 + src/app/views/pools/edit.haml | 30 ++ src/app/views/pools/index.haml | 2 + src/app/views/pools/new.haml | 27 ++ src/app/views/pools/show.haml | 5 + src/app/views/provider_accounts/_credentials.haml | 3 + src/app/views/provider_accounts/_history.haml | 3 + src/app/views/provider_accounts/_list.haml | 20 ++ src/app/views/provider_accounts/_permissions.haml | 3 + src/app/views/provider_accounts/_properties.haml | 13 + .../views/provider_accounts/_provider_form.haml | 27 ++ .../provider_accounts/_provider_selection.haml | 25 ++ src/app/views/provider_accounts/_rhevm.haml | 2 + src/app/views/provider_accounts/edit.haml | 14 + src/app/views/provider_accounts/index.haml | 2 + src/app/views/provider_accounts/new.haml | 18 ++ src/app/views/provider_accounts/show.haml | 5 + src/app/views/providers/_form.haml | 15 + src/app/views/providers/_list.haml | 20 ++ src/app/views/providers/_properties.haml | 5 + src/app/views/providers/edit.haml | 7 + src/app/views/providers/index.haml | 2 + src/app/views/providers/new.haml | 3 + src/app/views/providers/show.haml | 5 + src/app/views/realm_mappings/new.haml | 10 + src/app/views/realm_mappings/show.haml | 5 + src/app/views/realms/_form.haml | 6 + src/app/views/realms/_list.haml | 19 ++ src/app/views/realms/_mapping.haml | 20 ++ src/app/views/realms/_properties.haml | 3 + src/app/views/realms/edit.haml | 4 + src/app/views/realms/index.haml | 2 + src/app/views/realms/new.haml | 3 + src/app/views/realms/show.haml | 5 + src/app/views/resources/deployments/_history.haml | 1 - .../views/resources/deployments/_instances.haml | 2 - src/app/views/resources/deployments/_list.haml | 35 --- .../views/resources/deployments/_permissions.haml | 2 - .../views/resources/deployments/_properties.haml | 2 - .../resources/deployments/_provider_services.haml | 1 - .../resources/deployments/_required_services.haml | 1 - src/app/views/resources/deployments/index.haml | 2 - .../views/resources/deployments/launch_new.haml | 6 - src/app/views/resources/deployments/new.haml | 25 -- src/app/views/resources/deployments/show.haml | 5 - .../instances/_can_perform_state_change.xml.haml | 7 - src/app/views/resources/instances/_history.haml | 3 - src/app/views/resources/instances/_list.haml | 23 -- .../views/resources/instances/_permissions.haml | 3 - src/app/views/resources/instances/_properties.haml | 65 ----- src/app/views/resources/instances/index.haml | 2 - src/app/views/resources/instances/new.haml | 27 -- .../views/resources/instances/select_template.haml | 19 -- src/app/views/resources/instances/show.haml | 5 - src/app/views/resources/pools/_deployments.haml | 3 - src/app/views/resources/pools/_history.haml | 3 - src/app/views/resources/pools/_instances.haml | 28 -- src/app/views/resources/pools/_list.haml | 39 --- src/app/views/resources/pools/_permissions.haml | 3 - src/app/views/resources/pools/_properties.haml | 4 - src/app/views/resources/pools/edit.haml | 30 -- src/app/views/resources/pools/index.haml | 2 - src/app/views/resources/pools/new.haml | 27 -- src/app/views/resources/pools/show.haml | 5 - src/app/views/roles/_form.haml | 8 + src/app/views/roles/_list.haml | 30 ++ src/app/views/roles/_properties.haml | 23 ++ src/app/views/roles/edit.haml | 4 + src/app/views/roles/index.haml | 2 + src/app/views/roles/new.haml | 3 + src/app/views/settings/general_settings.haml | 41 +++ src/app/views/settings/index.haml | 42 +++ src/app/views/settings/self_service.haml | 120 ++++++++ src/app/views/templates/_addbuttons.haml | 4 + src/app/views/templates/_basics.haml | 27 ++ src/app/views/templates/_builds.haml | 41 +++ src/app/views/templates/_collections.haml | 8 + src/app/views/templates/_form.haml | 120 ++++++++ src/app/views/templates/_hidden_fields.haml | 8 + src/app/views/templates/_list.haml | 35 +++ .../views/templates/_local_content_to_bundle.haml | 21 ++ src/app/views/templates/_managed_content.haml | 21 ++ src/app/views/templates/_metagroup_packages.haml | 19 ++ src/app/views/templates/_metagroups.haml | 13 + .../views/templates/_preboot_configuration.haml | 11 + src/app/views/templates/_properties.haml | 4 + src/app/views/templates/_search_packages.haml | 45 +++ src/app/views/templates/_software_selection.haml | 41 +++ src/app/views/templates/collections.haml | 1 + src/app/views/templates/edit.haml | 9 + src/app/views/templates/index.haml | 2 + src/app/views/templates/managed_content.haml | 1 + src/app/views/templates/metagroup_packages.haml | 1 + src/app/views/templates/new.haml | 10 + src/app/views/templates/search_packages.haml | 1 + src/app/views/templates/show.haml | 5 + src/app/views/users/_form.haml | 44 +++ src/app/views/users/_list.haml | 40 +++ src/app/views/users/_properties.haml | 98 +++++++ src/app/views/users/edit.haml | 7 + src/app/views/users/index.haml | 2 + src/app/views/users/new.haml | 6 + 291 files changed, 4039 insertions(+), 4072 deletions(-) delete mode 100644 src/app/controllers/admin/hardware_profiles_controller.rb delete mode 100644 src/app/controllers/admin/pool_families_controller.rb delete mode 100644 src/app/controllers/admin/provider_accounts_controller.rb delete mode 100644 src/app/controllers/admin/providers_controller.rb delete mode 100644 src/app/controllers/admin/realm_mappings_controller.rb delete mode 100644 src/app/controllers/admin/realms_controller.rb delete mode 100644 src/app/controllers/admin/roles_controller.rb delete mode 100644 src/app/controllers/admin/settings_controller.rb delete mode 100644 src/app/controllers/admin/users_controller.rb create mode 100644 src/app/controllers/assemblies_controller.rb create mode 100644 src/app/controllers/builds_controller.rb create mode 100644 src/app/controllers/deployables_controller.rb create mode 100644 src/app/controllers/deployments_controller.rb create mode 100644 src/app/controllers/hardware_profiles_controller.rb delete mode 100644 src/app/controllers/image_factory/assemblies_controller.rb delete mode 100644 src/app/controllers/image_factory/builds_controller.rb delete mode 100644 src/app/controllers/image_factory/deployables_controller.rb delete mode 100644 src/app/controllers/image_factory/image_imports_controller.rb delete mode 100644 src/app/controllers/image_factory/templates_controller.rb create mode 100644 src/app/controllers/image_imports_controller.rb create mode 100644 src/app/controllers/instances_controller.rb create mode 100644 src/app/controllers/pool_families_controller.rb create mode 100644 src/app/controllers/pools_controller.rb create mode 100644 src/app/controllers/provider_accounts_controller.rb create mode 100644 src/app/controllers/providers_controller.rb create mode 100644 src/app/controllers/realm_mappings_controller.rb create mode 100644 src/app/controllers/realms_controller.rb delete mode 100644 src/app/controllers/resources/deployments_controller.rb delete mode 100644 src/app/controllers/resources/instances_controller.rb delete mode 100644 src/app/controllers/resources/pools_controller.rb create mode 100644 src/app/controllers/roles_controller.rb create mode 100644 src/app/controllers/settings_controller.rb create mode 100644 src/app/controllers/templates_controller.rb create mode 100644 src/app/controllers/users_controller.rb delete mode 100644 src/app/helpers/resources/instances_helper.rb delete mode 100644 src/app/views/admin/hardware_profiles/_form.haml delete mode 100644 src/app/views/admin/hardware_profiles/_history.haml delete mode 100644 src/app/views/admin/hardware_profiles/_list.haml delete mode 100644 src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml delete mode 100644 src/app/views/admin/hardware_profiles/_properties.haml delete mode 100644 src/app/views/admin/hardware_profiles/create.haml delete mode 100644 src/app/views/admin/hardware_profiles/edit.haml delete mode 100644 src/app/views/admin/hardware_profiles/index.haml delete mode 100644 src/app/views/admin/hardware_profiles/new.haml delete mode 100644 src/app/views/admin/hardware_profiles/show.haml delete mode 100644 src/app/views/admin/pool_families/_form.haml delete mode 100644 src/app/views/admin/pool_families/_history.haml delete mode 100644 src/app/views/admin/pool_families/_list.haml delete mode 100644 src/app/views/admin/pool_families/_permissions.haml delete mode 100644 src/app/views/admin/pool_families/_pools.haml delete mode 100644 src/app/views/admin/pool_families/_properties.haml delete mode 100644 src/app/views/admin/pool_families/_provider_accounts.haml delete mode 100644 src/app/views/admin/pool_families/edit.haml delete mode 100644 src/app/views/admin/pool_families/index.haml delete mode 100644 src/app/views/admin/pool_families/new.haml delete mode 100644 src/app/views/admin/pool_families/show.haml delete mode 100644 src/app/views/admin/provider_accounts/_credentials.haml delete mode 100644 src/app/views/admin/provider_accounts/_history.haml delete mode 100644 src/app/views/admin/provider_accounts/_list.haml delete mode 100644 src/app/views/admin/provider_accounts/_permissions.haml delete mode 100644 src/app/views/admin/provider_accounts/_properties.haml delete mode 100644 src/app/views/admin/provider_accounts/_provider_form.haml delete mode 100644 src/app/views/admin/provider_accounts/_provider_selection.haml delete mode 100644 src/app/views/admin/provider_accounts/_rhevm.haml delete mode 100644 src/app/views/admin/provider_accounts/edit.haml delete mode 100644 src/app/views/admin/provider_accounts/index.haml delete mode 100644 src/app/views/admin/provider_accounts/new.haml delete mode 100644 src/app/views/admin/provider_accounts/show.haml delete mode 100644 src/app/views/admin/providers/_form.haml delete mode 100644 src/app/views/admin/providers/_history.haml delete mode 100644 src/app/views/admin/providers/_hw_profiles.haml delete mode 100644 src/app/views/admin/providers/_list.haml delete mode 100644 src/app/views/admin/providers/_permissions.haml delete mode 100644 src/app/views/admin/providers/_properties.haml delete mode 100644 src/app/views/admin/providers/_provider_accounts.haml delete mode 100644 src/app/views/admin/providers/_realms.haml delete mode 100644 src/app/views/admin/providers/_services.haml delete mode 100644 src/app/views/admin/providers/edit.haml delete mode 100644 src/app/views/admin/providers/index.haml delete mode 100644 src/app/views/admin/providers/new.haml delete mode 100644 src/app/views/admin/providers/show.haml delete mode 100644 src/app/views/admin/realm_mappings/new.haml delete mode 100644 src/app/views/admin/realm_mappings/show.haml delete mode 100644 src/app/views/admin/realms/_form.haml delete mode 100644 src/app/views/admin/realms/_list.haml delete mode 100644 src/app/views/admin/realms/_mapping.haml delete mode 100644 src/app/views/admin/realms/_properties.haml delete mode 100644 src/app/views/admin/realms/edit.haml delete mode 100644 src/app/views/admin/realms/index.haml delete mode 100644 src/app/views/admin/realms/new.haml delete mode 100644 src/app/views/admin/realms/show.haml delete mode 100644 src/app/views/admin/roles/_form.haml delete mode 100644 src/app/views/admin/roles/_list.haml delete mode 100644 src/app/views/admin/roles/_properties.haml delete mode 100644 src/app/views/admin/roles/edit.haml delete mode 100644 src/app/views/admin/roles/index.haml delete mode 100644 src/app/views/admin/roles/new.haml delete mode 100644 src/app/views/admin/settings/general_settings.haml delete mode 100644 src/app/views/admin/settings/index.haml delete mode 100644 src/app/views/admin/settings/self_service.haml delete mode 100644 src/app/views/admin/users/_form.haml delete mode 100644 src/app/views/admin/users/_list.haml delete mode 100644 src/app/views/admin/users/_properties.haml delete mode 100644 src/app/views/admin/users/edit.haml delete mode 100644 src/app/views/admin/users/index.haml delete mode 100644 src/app/views/admin/users/new.haml create mode 100644 src/app/views/assemblies/index.haml create mode 100644 src/app/views/builds/index.haml create mode 100644 src/app/views/deployables/_assemblies.haml create mode 100644 src/app/views/deployables/_deployments.haml create mode 100644 src/app/views/deployables/_form.haml create mode 100644 src/app/views/deployables/_list.haml create mode 100644 src/app/views/deployables/_pick_assemblies.haml create mode 100644 src/app/views/deployables/_properties.haml create mode 100644 src/app/views/deployables/edit.haml create mode 100644 src/app/views/deployables/index.haml create mode 100644 src/app/views/deployables/new.haml create mode 100644 src/app/views/deployables/pick_assemblies.haml create mode 100644 src/app/views/deployables/show.haml create mode 100644 src/app/views/deployments/_history.haml create mode 100644 src/app/views/deployments/_instances.haml create mode 100644 src/app/views/deployments/_list.haml create mode 100644 src/app/views/deployments/_permissions.haml create mode 100644 src/app/views/deployments/_properties.haml create mode 100644 src/app/views/deployments/_provider_services.haml create mode 100644 src/app/views/deployments/_required_services.haml create mode 100644 src/app/views/deployments/index.haml create mode 100644 src/app/views/deployments/launch_new.haml create mode 100644 src/app/views/deployments/new.haml create mode 100644 src/app/views/deployments/show.haml create mode 100644 src/app/views/hardware_profiles/_form.haml create mode 100644 src/app/views/hardware_profiles/_history.haml create mode 100644 src/app/views/hardware_profiles/_list.haml create mode 100644 src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml create mode 100644 src/app/views/hardware_profiles/_properties.haml create mode 100644 src/app/views/hardware_profiles/create.haml create mode 100644 src/app/views/hardware_profiles/edit.haml create mode 100644 src/app/views/hardware_profiles/index.haml create mode 100644 src/app/views/hardware_profiles/new.haml create mode 100644 src/app/views/hardware_profiles/show.haml delete mode 100644 src/app/views/image_factory/assemblies/index.haml delete mode 100644 src/app/views/image_factory/builds/index.haml delete mode 100644 src/app/views/image_factory/deployables/_assemblies.haml delete mode 100644 src/app/views/image_factory/deployables/_deployments.haml delete mode 100644 src/app/views/image_factory/deployables/_form.haml delete mode 100644 src/app/views/image_factory/deployables/_list.haml delete mode 100644 src/app/views/image_factory/deployables/_pick_assemblies.haml delete mode 100644 src/app/views/image_factory/deployables/_properties.haml delete mode 100644 src/app/views/image_factory/deployables/edit.haml delete mode 100644 src/app/views/image_factory/deployables/index.haml delete mode 100644 src/app/views/image_factory/deployables/new.haml delete mode 100644 src/app/views/image_factory/deployables/pick_assemblies.haml delete mode 100644 src/app/views/image_factory/deployables/show.haml delete mode 100644 src/app/views/image_factory/image_imports/new.haml delete mode 100644 src/app/views/image_factory/templates/_addbuttons.haml delete mode 100644 src/app/views/image_factory/templates/_basics.haml delete mode 100644 src/app/views/image_factory/templates/_builds.haml delete mode 100644 src/app/views/image_factory/templates/_collections.haml delete mode 100644 src/app/views/image_factory/templates/_form.haml delete mode 100644 src/app/views/image_factory/templates/_hidden_fields.haml delete mode 100644 src/app/views/image_factory/templates/_list.haml delete mode 100644 src/app/views/image_factory/templates/_local_content_to_bundle.haml delete mode 100644 src/app/views/image_factory/templates/_managed_content.haml delete mode 100644 src/app/views/image_factory/templates/_metagroup_packages.haml delete mode 100644 src/app/views/image_factory/templates/_metagroups.haml delete mode 100644 src/app/views/image_factory/templates/_preboot_configuration.haml delete mode 100644 src/app/views/image_factory/templates/_properties.haml delete mode 100644 src/app/views/image_factory/templates/_search_packages.haml delete mode 100644 src/app/views/image_factory/templates/_software_selection.haml delete mode 100644 src/app/views/image_factory/templates/collections.haml delete mode 100644 src/app/views/image_factory/templates/edit.haml delete mode 100644 src/app/views/image_factory/templates/index.haml delete mode 100644 src/app/views/image_factory/templates/managed_content.haml delete mode 100644 src/app/views/image_factory/templates/metagroup_packages.haml delete mode 100644 src/app/views/image_factory/templates/new.haml delete mode 100644 src/app/views/image_factory/templates/search_packages.haml delete mode 100644 src/app/views/image_factory/templates/show.haml create mode 100644 src/app/views/image_imports/new.haml create mode 100644 src/app/views/instances/_can_perform_state_change.xml.haml create mode 100644 src/app/views/instances/_history.haml create mode 100644 src/app/views/instances/_list.haml create mode 100644 src/app/views/instances/_permissions.haml create mode 100644 src/app/views/instances/_properties.haml create mode 100644 src/app/views/instances/index.haml create mode 100644 src/app/views/instances/new.haml create mode 100644 src/app/views/instances/select_template.haml create mode 100644 src/app/views/instances/show.haml create mode 100644 src/app/views/pool_families/_form.haml create mode 100644 src/app/views/pool_families/_history.haml create mode 100644 src/app/views/pool_families/_list.haml create mode 100644 src/app/views/pool_families/_permissions.haml create mode 100644 src/app/views/pool_families/_pools.haml create mode 100644 src/app/views/pool_families/_properties.haml create mode 100644 src/app/views/pool_families/_provider_accounts.haml create mode 100644 src/app/views/pool_families/edit.haml create mode 100644 src/app/views/pool_families/index.haml create mode 100644 src/app/views/pool_families/new.haml create mode 100644 src/app/views/pool_families/show.haml create mode 100644 src/app/views/pools/_deployments.haml create mode 100644 src/app/views/pools/_history.haml create mode 100644 src/app/views/pools/_instances.haml create mode 100644 src/app/views/pools/_list.haml create mode 100644 src/app/views/pools/_permissions.haml create mode 100644 src/app/views/pools/_properties.haml create mode 100644 src/app/views/pools/edit.haml create mode 100644 src/app/views/pools/index.haml create mode 100644 src/app/views/pools/new.haml create mode 100644 src/app/views/pools/show.haml create mode 100644 src/app/views/provider_accounts/_credentials.haml create mode 100644 src/app/views/provider_accounts/_history.haml create mode 100644 src/app/views/provider_accounts/_list.haml create mode 100644 src/app/views/provider_accounts/_permissions.haml create mode 100644 src/app/views/provider_accounts/_properties.haml create mode 100644 src/app/views/provider_accounts/_provider_form.haml create mode 100644 src/app/views/provider_accounts/_provider_selection.haml create mode 100644 src/app/views/provider_accounts/_rhevm.haml create mode 100644 src/app/views/provider_accounts/edit.haml create mode 100644 src/app/views/provider_accounts/index.haml create mode 100644 src/app/views/provider_accounts/new.haml create mode 100644 src/app/views/provider_accounts/show.haml create mode 100644 src/app/views/providers/_form.haml create mode 100644 src/app/views/providers/_history.haml create mode 100644 src/app/views/providers/_hw_profiles.haml create mode 100644 src/app/views/providers/_list.haml create mode 100644 src/app/views/providers/_permissions.haml create mode 100644 src/app/views/providers/_properties.haml create mode 100644 src/app/views/providers/_provider_accounts.haml create mode 100644 src/app/views/providers/_realms.haml create mode 100644 src/app/views/providers/_services.haml create mode 100644 src/app/views/providers/edit.haml create mode 100644 src/app/views/providers/index.haml create mode 100644 src/app/views/providers/new.haml create mode 100644 src/app/views/providers/show.haml create mode 100644 src/app/views/realm_mappings/new.haml create mode 100644 src/app/views/realm_mappings/show.haml create mode 100644 src/app/views/realms/_form.haml create mode 100644 src/app/views/realms/_list.haml create mode 100644 src/app/views/realms/_mapping.haml create mode 100644 src/app/views/realms/_properties.haml create mode 100644 src/app/views/realms/edit.haml create mode 100644 src/app/views/realms/index.haml create mode 100644 src/app/views/realms/new.haml create mode 100644 src/app/views/realms/show.haml delete mode 100644 src/app/views/resources/deployments/_history.haml delete mode 100644 src/app/views/resources/deployments/_instances.haml delete mode 100644 src/app/views/resources/deployments/_list.haml delete mode 100644 src/app/views/resources/deployments/_permissions.haml delete mode 100644 src/app/views/resources/deployments/_properties.haml delete mode 100644 src/app/views/resources/deployments/_provider_services.haml delete mode 100644 src/app/views/resources/deployments/_required_services.haml delete mode 100644 src/app/views/resources/deployments/index.haml delete mode 100644 src/app/views/resources/deployments/launch_new.haml delete mode 100644 src/app/views/resources/deployments/new.haml delete mode 100644 src/app/views/resources/deployments/show.haml delete mode 100644 src/app/views/resources/instances/_can_perform_state_change.xml.haml delete mode 100644 src/app/views/resources/instances/_history.haml delete mode 100644 src/app/views/resources/instances/_list.haml delete mode 100644 src/app/views/resources/instances/_permissions.haml delete mode 100644 src/app/views/resources/instances/_properties.haml delete mode 100644 src/app/views/resources/instances/index.haml delete mode 100644 src/app/views/resources/instances/new.haml delete mode 100644 src/app/views/resources/instances/select_template.haml delete mode 100644 src/app/views/resources/instances/show.haml delete mode 100644 src/app/views/resources/pools/_deployments.haml delete mode 100644 src/app/views/resources/pools/_history.haml delete mode 100644 src/app/views/resources/pools/_instances.haml delete mode 100644 src/app/views/resources/pools/_list.haml delete mode 100644 src/app/views/resources/pools/_permissions.haml delete mode 100644 src/app/views/resources/pools/_properties.haml delete mode 100644 src/app/views/resources/pools/edit.haml delete mode 100644 src/app/views/resources/pools/index.haml delete mode 100644 src/app/views/resources/pools/new.haml delete mode 100644 src/app/views/resources/pools/show.haml create mode 100644 src/app/views/roles/_form.haml create mode 100644 src/app/views/roles/_list.haml create mode 100644 src/app/views/roles/_properties.haml create mode 100644 src/app/views/roles/edit.haml create mode 100644 src/app/views/roles/index.haml create mode 100644 src/app/views/roles/new.haml create mode 100644 src/app/views/settings/general_settings.haml create mode 100644 src/app/views/settings/index.haml create mode 100644 src/app/views/settings/self_service.haml create mode 100644 src/app/views/templates/_addbuttons.haml create mode 100644 src/app/views/templates/_basics.haml create mode 100644 src/app/views/templates/_builds.haml create mode 100644 src/app/views/templates/_collections.haml create mode 100644 src/app/views/templates/_form.haml create mode 100644 src/app/views/templates/_hidden_fields.haml create mode 100644 src/app/views/templates/_list.haml create mode 100644 src/app/views/templates/_local_content_to_bundle.haml create mode 100644 src/app/views/templates/_managed_content.haml create mode 100644 src/app/views/templates/_metagroup_packages.haml create mode 100644 src/app/views/templates/_metagroups.haml create mode 100644 src/app/views/templates/_preboot_configuration.haml create mode 100644 src/app/views/templates/_properties.haml create mode 100644 src/app/views/templates/_search_packages.haml create mode 100644 src/app/views/templates/_software_selection.haml create mode 100644 src/app/views/templates/collections.haml create mode 100644 src/app/views/templates/edit.haml create mode 100644 src/app/views/templates/index.haml create mode 100644 src/app/views/templates/managed_content.haml create mode 100644 src/app/views/templates/metagroup_packages.haml create mode 100644 src/app/views/templates/new.haml create mode 100644 src/app/views/templates/search_packages.haml create mode 100644 src/app/views/templates/show.haml create mode 100644 src/app/views/users/_form.haml create mode 100644 src/app/views/users/_list.haml create mode 100644 src/app/views/users/_properties.haml create mode 100644 src/app/views/users/edit.haml create mode 100644 src/app/views/users/index.haml create mode 100644 src/app/views/users/new.haml
diff --git a/src/app/controllers/admin/hardware_profiles_controller.rb b/src/app/controllers/admin/hardware_profiles_controller.rb deleted file mode 100644 index e82580b..0000000 --- a/src/app/controllers/admin/hardware_profiles_controller.rb +++ /dev/null @@ -1,221 +0,0 @@ -class Admin::HardwareProfilesController < ApplicationController - before_filter :require_user, :except => :matching_profiles - before_filter :set_params_and_header, :only => [:index, :show] - before_filter :load_hardware_profiles, :only => [:index, :show] - before_filter :load_hardware_profile, :only => [:show] - before_filter :setup_new_hardware_profile, :only => [:new] - before_filter :setup_hardware_profile, :only => [:new, :create, :edit, :update] - - def index - @params = params - respond_to do |format| - format.js do - build_hardware_profile(params[:hardware_profile]) - matching_provider_hardware_profiles - render :partial => 'matching_provider_hardware_profiles' and return - end - format.html do - @search_term = params[:q] - if @search_term.blank? - load_hardware_profiles - return - end - - search = HardwareProfile.search do - keywords(params[:q]) - with(:frontend, true) - end - @hardware_profiles = search.results - end - end - end - - def show - @hardware_profile = HardwareProfile.find(params[:id].to_a.first) - @tab_captions = ['Properties', 'History', 'Matching Provider Hardware Profiles'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - case @details_tab - when 'properties' - properties - when 'matching_provider_hardware_profiles' - matching_provider_hardware_profiles - end - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def new - respond_to do |format| - format.js { render :partial => 'matching_provider_hardware_profiles' } - format.html { render :action => 'new'} - end - end - - def create - build_hardware_profile(params[:hardware_profile]) - if params[:commit] == 'Save' - if @hardware_profile.save! - redirect_to admin_hardware_profiles_path - else - params.delete :commit - render :action => 'create' - end - else - matching_provider_hardware_profiles - render :action => 'new' - end - kick_condor - end - - def delete - kick_condor - end - - def edit - unless @hardware_profile - @hardware_profile = HardwareProfile.find(params[:id]) - end - matching_provider_hardware_profiles - end - - def update - if params[:commit] == "Reset" - redirect_to edit_admin_hardware_profile_url(@hardware_profile) and return - end - - if params[:id] - @hardware_profile = HardwareProfile.find(params[:id]) - build_hardware_profile(params[:hardware_profile]) - end - - if params[:commit] == "Check Matches" - matching_provider_hardware_profiles - render :edit and return - end - - unless @hardware_profile.save! - render :action => 'edit' and return - else - flash[:notice] = "Hardware Profile updated!" - redirect_to admin_hardware_profiles_path - end - kick_condor - end - - def multi_destroy - HardwareProfile.destroy(params[:hardware_profile_selected]) - kick_condor - redirect_to admin_hardware_profiles_path - end - - private - def setup_new_hardware_profile - if params[:hardware_profile] - begin - @hardware_profile = HardwareProfile.new(remove_irrelevant_params(params[:hardware_profile])) - end - else - @hardware_profile = HardwareProfile.new(:memory => HardwareProfileProperty.new(:name => "memory", :unit => "MB"), - :cpu => HardwareProfileProperty.new(:name => "cpu", :unit => "count"), - :storage => HardwareProfileProperty.new(:name => "storage", :unit => "GB"), - :architecture => HardwareProfileProperty.new(:name => "architecture", :unit => "label")) - end - matching_provider_hardware_profiles - end - - def properties - @properties_header = [ - { :name => "Name", :sort_attr => :name}, - { :name => "Unit", :sort_attr => :unit}, - { :name => "Minimum Value", :sort_attr => :value}] - @hwp_properties = [@hardware_profile.memory, @hardware_profile.cpu, @hardware_profile.storage, @hardware_profile.architecture] - end - - #TODO Update this method when moving to new HWP Model - def matching_provider_hardware_profiles - @provider_hwps_header = [ - { :name => "Provider Name", :sort_attr => "provider.name" }, - { :name => "Hardware Profile Name", :sort_attr => :name }, - { :name => "Architecture", :sort_attr => :architecture }, - { :name => "Memory", :sort_attr => :memory}, - { :name => "Storage", :sort_attr => :storage }, - { :name => "Virtual CPU", :sort_attr => :cpu} - ] - - begin - @matching_hwps = HardwareProfile.matching_hardware_profiles(@hardware_profile) - rescue Exception => e - @matching_hwps = [] - end - end - - def setup_hardware_profile - @tab_captions = ['Matched Provider Hardware Profiles'] - @details_tab = 'matching_provider_hardware_profiles' - @url_params = params - @header = [ - { :name => "Name", :sort_attr => :name}, - { :name => "Unit", :sort_attr => :unit}, - { :name => "Minimum Value", :sort_attr => :value}] - end - - def set_params_and_header - @url_params = params - @header = [ - { :name => "Hardware Profile Name", :sort_attr => :name }, - { :name => "Architecture", :sort_attr => :architecture }, - { :name => "Memory", :sort_attr => :memory}, - { :name => "Storage", :sort_attr => :storage }, - { :name => "Virtual CPU", :sort_attr => :cpu} - ] - end - - def load_hardware_profiles - sort_field = params[:order_field].nil? ? "name" : params[:order_field] - sort_order = params[:order_dir] == "asc" || params[:order_dir].nil? ? "" : "desc" - if sort_field == "name" - @hardware_profiles = HardwareProfile.all(:order => sort_field + " " + sort_order, :conditions => 'provider_id IS NULL') - else - @hardware_profiles = HardwareProfile.all(:conditions => 'provider_id IS NULL') - if sort_order == "" - @hardware_profiles.sort! {|x,y| x.get_property_map[sort_field].sort_value(true) <=> y.get_property_map[sort_field].sort_value(true)} - else - @hardware_profiles.sort! {|x,y| y.get_property_map[sort_field].sort_value(false) <=> x.get_property_map[sort_field].sort_value(false)} - end - end - end - - def load_hardware_profile - @hardware_profile = HardwareProfile.find(params[:id]) - end - - def build_hardware_profile(params) - if @hardware_profile.nil? - @hardware_profile = HardwareProfile.new - end - - @hardware_profile.name = params[:name] - @hardware_profile.memory = create_hwpp(@hardware_profile.memory, params[:memory_attributes]) - @hardware_profile.storage = create_hwpp(@hardware_profile.storage, params[:storage_attributes]) - @hardware_profile.cpu = create_hwpp(@hardware_profile.cpu, params[:cpu_attributes]) - @hardware_profile.architecture = create_hwpp(@hardware_profile.architecture, params[:architecture_attributes]) - end - - def create_hwpp(hwpp, params) - hardwareProfileProperty = hwpp.nil? ? HardwareProfileProperty.new : hwpp - - hardwareProfileProperty.name = params[:name] - hardwareProfileProperty.kind = "fixed" - hardwareProfileProperty.value = params[:value] - hardwareProfileProperty.unit = params[:unit] - return hardwareProfileProperty - end - -end diff --git a/src/app/controllers/admin/pool_families_controller.rb b/src/app/controllers/admin/pool_families_controller.rb deleted file mode 100644 index fa4e03f..0000000 --- a/src/app/controllers/admin/pool_families_controller.rb +++ /dev/null @@ -1,127 +0,0 @@ -class Admin::PoolFamiliesController < ApplicationController - before_filter :require_user - before_filter :set_params_and_header, :only => [:index, :show] - before_filter :load_pool_families, :only =>[:show] - before_filter :load_tab_captions_and_details_tab, :only => [:show] - - def index - @search_term = params[:q] - if @search_term.blank? - load_pool_families - return - end - - search = PoolFamily.search() do - keywords(params[:q]) - end - @pool_families = search.results - end - - def new - @pool_family = PoolFamily.new(:quota => Quota.new) - end - - def create - @pool_family = PoolFamily.new(params[:pool_family]) - unless @pool_family.save - flash.now[:warning] = "Pool family's creation failed." - render :new and return - else - @pool_family.assign_owner_roles(current_user) - flash[:notice] = "Pool family was added." - redirect_to admin_pool_families_path - end - end - - def edit - @pool_family = PoolFamily.find(params[:id]) - @pool_family.quota ||= Quota.new - end - - def update - @pool_family = PoolFamily.find(params[:id]) - unless @pool_family.update_attributes(params[:pool_family]) - flash[:error] = "Pool Family wasn't updated!" - render :action => 'edit' and return - else - flash[:notice] = "Pool Family was updated!" - redirect_to admin_pool_families_path - end - end - - def show - @pool_family = PoolFamily.find(params[:id]) - @url_params = params.clone - - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :show } - end - end - - def add_provider_account - @pool_family = PoolFamily.find(params[:id]) - @provider_account = ProviderAccount.find(params[:provider_account_id]) - - @pool_family.provider_accounts << @provider_account - flash[:notice] = "Provider Account has been added" - redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') - end - - def multi_destroy - deleted = [] - not_deleted = [] - PoolFamily.find(params[:pool_family_selected]).each do |pool_family| - if pool_family.destroy - deleted << pool_family.name - else - not_deleted << pool_family.name - end - end - if deleted.size > 0 - flash[:notice] = t 'pool_families.index.deleted', :list => deleted.join(', ') - end - if not_deleted.size > 0 - flash[:error] = t 'pool_families.index.not_deleted', :list => not_deleted.join(', ') - end - redirect_to admin_pool_families_path - end - - def multi_destroy_provider_accounts - @pool_family = PoolFamily.find(params[:pool_family_id]) - - ProviderAccount.find(params[:provider_account_selected]).each do |provider_account| - @pool_family.provider_accounts.delete provider_account - end - - redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') - end - - protected - - def load_tab_captions_and_details_tab - @tab_captions = ['Properties', 'History', 'Permissions', 'Provider Accounts', 'Pools'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - @provider_accounts_header = [{ :name => "Provider Account", :sort_attr => :name}] - end - - def set_params_and_header - @url_params = params.clone - @header = [{ :name => "Name", :sort_attr => :name}, - { :name => "Quota limit", :sort_attr => :name}, - { :name => "Quota currently in use", :sort_attr => :name}, - ] - end - - def load_pool_families - @pool_families = PoolFamily.paginate(:all, - :page => params[:page] || 1, - :order => ( params[:order_field] || 'name' ) + ' ' + (params[:order_dir] || 'asc') - ) - end -end diff --git a/src/app/controllers/admin/provider_accounts_controller.rb b/src/app/controllers/admin/provider_accounts_controller.rb deleted file mode 100644 index 01aa549..0000000 --- a/src/app/controllers/admin/provider_accounts_controller.rb +++ /dev/null @@ -1,177 +0,0 @@ -class Admin::ProviderAccountsController < ApplicationController - before_filter :require_user - before_filter :load_accounts, :only => :show - before_filter :set_view_vars, :only => [:index,:show] - - def index - @search_term = params[:q] - if @search_term.blank? - load_accounts - else - search = ProviderAccount.search do - keywords(params[:q]) - end - @accounts = search.results - end - end - - def show - @tab_captions = ['Properties', 'Credentials', 'History', 'Permissions'] - @account = ProviderAccount.find(params[:id]) - require_privilege(Privilege::VIEW, @account) - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - - if params.delete :test_account - test_account(@account) - render :action => 'show' and return - end - - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def new - @provider_account = ProviderAccount.new - @quota = Quota.new - @providers = Provider.all - if @providers.empty? - flash[:error] = "You don't have any provider yet. Please create one!" - else - @selected_provider = @providers.first unless @providers.blank? - end - end - - def create - @selected_provider = @provider = Provider.find(params[:provider_account][:provider_id]) - require_privilege(Privilege::CREATE, ProviderAccount, @provider) - - @providers = Provider.all - @provider_account = ProviderAccount.new(params[:provider_account]) - @provider_account.provider = @provider - @provider_account.quota = @quota = Quota.new - - limit = params[:quota][:maximum_running_instances] if params[:quota] - @provider_account.quota.set_maximum_running_instances(limit) - - if @provider_account.invalid? || !@provider_account.valid_credentials? - flash[:error] = "Credentials are invalid!" - render :action => 'new' and return - end - - @provider_account.pool_families << PoolFamily.default - @provider_account.save! - @provider_account.assign_owner_roles(current_user) - if @provider_account.populate_realms - flash[:notice] = "Provider account added." - end - redirect_to admin_provider_account_path(@provider_account) - kick_condor - end - - def edit - @provider_account = ProviderAccount.find(params[:id]) - @selected_provider = @provider_account.provider - @quota = @provider_account.quota - @providers = Provider.find(:all) - require_privilege(Privilege::MODIFY,@provider_account) - end - - def update - @provider_account = ProviderAccount.find(params[:id]) - @selected_provider = @provider = @provider_account.provider - require_privilege(Privilege::MODIFY, @provider) - require_privilege(Privilege::MODIFY,@provider_account) - @quota = @provider_account.quota - @providers = Provider.find(:all) - - limit = params[:quota][:maximum_running_instances] if params[:quota] - @provider_account.quota.set_maximum_running_instances(limit) - if @provider_account.update_attributes(params[:provider_account]) - flash[:notice] = "Provider Account updated!" - redirect_to admin_provider_account_path(@provider_account) - else - flash[:error] = "Provider Account wasn't updated!" - render :action => :edit - end - end - - def multi_destroy - if params[:accounts_selected].blank? - flash[:notice] = "You must select some accounts first." - redirect_to admin_provider_accounts_url and return - end - - succeeded = [] - failed = [] - ProviderAccount.find(params[:accounts_selected]).each do |account| - if check_privilege(Privilege::MODIFY, account) && account.destroyable? - account.destroy - succeeded << account.label - else - failed << account.label - end - end - - unless succeeded.empty? - flash[:notice] = t 'provider_accounts.index.account_deleted', :count => succeeded.length, :list => succeeded.join(', ') - end - unless failed.empty? - flash[:error] = t 'provider_accounts.index.account_not_deleted', :count => failed.length, :list => failed.join(', ') - end - kick_condor - redirect_to admin_provider_accounts_url - end - - def set_selected_provider - @quota = Quota.new - @provider_account = ProviderAccount.new - respond_to do |format| - format.js { - @providers = Provider.find(:all) - @selected_provider = Provider.find(params[:provider_account][:provider_id]) - render :partial => 'provider_selection' - } - format.html { - @providers = Provider.find(:all) - @selected_provider = Provider.find(params[:provider_account][:provider_id]) - render :action => 'new', :layout => true - } - end - end - - protected - - def test_account(account) - if account.valid_credentials? - flash.now[:notice] = "Test Connection Success: Valid Account Details" - else - flash.now[:error] = "Test Connection Failed: Invalid Account Details" - end - rescue - flash.now[:error] = "Test Connection Failed: Could not connect to provider" - end - - def set_view_vars - #FIXME need to include atributes from credentials, credential_definitions and provider_type in load_accounts query to make it work - @header = [ - { :name => "Name", :sortable => false }, - { :name => "Username", :sortable => false}, - { :name => "Provider Type", :sortable => false } - ] - @url_params = params - end - - def load_accounts - @accounts = ProviderAccount.paginate(:all, - :page => params[:page] || 1, - :order => (params[:order_field] || 'label') +' '+ (params[:order_dir] || 'asc') - ) - end -end diff --git a/src/app/controllers/admin/providers_controller.rb b/src/app/controllers/admin/providers_controller.rb deleted file mode 100644 index 16e07de..0000000 --- a/src/app/controllers/admin/providers_controller.rb +++ /dev/null @@ -1,132 +0,0 @@ -class Admin::ProvidersController < ApplicationController - before_filter :require_user - before_filter :set_view_envs, :only => [:show, :index] - - def index - @params = params - @search_term = params[:q] - if @search_term.blank? - load_providers - return - end - - search = Provider.search do - keywords(params[:q]) - end - @providers = search.results - end - - def new - require_privilege(Privilege::CREATE, Provider) - @provider = Provider.new - end - - def edit - @provider = Provider.find_by_id(params[:id]) - require_privilege(Privilege::MODIFY, @provider) - end - - def show - load_providers - @provider = Provider.find(params[:id]) - @hardware_profiles = @provider.hardware_profiles - @realm_names = @provider.realms.collect { |r| r.name } - - @url_params = params.clone - require_privilege(Privilege::VIEW, @provider) - @tab_captions = ['Properties', 'HW Profiles', 'Realms', 'Provider Accounts', 'Services','History','Permissions'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - - if params.delete :test_provider - test_connection(@provider) - end - - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show' } - end - end - - def create - require_privilege(Privilege::CREATE, Provider) - if params[:provider].has_key?(:provider_type_codename) - provider_type = params[:provider].delete(:provider_type_codename) - provider_type = ProviderType.find_by_codename(provider_type) - params[:provider][:provider_type_id] = provider_type.id - end - @provider = Provider.new(params[:provider]) - if !@provider.connect - flash[:notice] = "Failed to connect to Provider" - render :action => "new" - else - if @provider.save && @provider.populate_hardware_profiles - @provider.assign_owner_roles(current_user) - flash[:notice] = "Provider added." - redirect_to admin_providers_path - else - flash[:notice] = "Cannot add the provider." - render :action => "new" - end - kick_condor - end - end - - def update - @provider = Provider.find_by_id(params[:id]) - require_privilege(Privilege::MODIFY, @provider) - @provider.update_attributes(params[:provider]) - if !@provider.connect - flash[:notice] = "Failed to connect to Provider" - render :action => "edit" - else - if @provider.errors.empty? and @provider.save - flash[:notice] = "Provider updated." - redirect_to admin_providers_path - else - flash[:notice] = "Cannot update the provider." - render :action => 'edit' - end - kick_condor - end - end - - def multi_destroy - Provider.find(params[:provider_selected]).each do |provider| - provider.destroy if check_privilege(Privilege::MODIFY, provider) - end - kick_condor - redirect_to admin_providers_url - end - - def test_connection(provider) - @provider.errors.clear - if @provider.connect - flash[:notice] = "Successfuly Connected to Provider" - else - flash[:notice] = "Failed to Connect to Provider" - @provider.errors.add :url - end - end - - protected - def set_view_envs - @header = [{ :name => "Provider name", :sort_attr => :name }, - { :name => "Provider URL", :sort_attr => :name } - ] - @url_params = params.clone - end - - def load_providers - @header = [{ :name => "Provider name", :sort_attr => :name }, - { :name => "Provider URL", :sort_attr => :name }, - { :name => "Provider Type", :sort_attr => :name } - ] - @providers = Provider.list_for_user(@current_user, Privilege::VIEW) - @url_params = params.clone - end -end diff --git a/src/app/controllers/admin/realm_mappings_controller.rb b/src/app/controllers/admin/realm_mappings_controller.rb deleted file mode 100644 index cf84e2c..0000000 --- a/src/app/controllers/admin/realm_mappings_controller.rb +++ /dev/null @@ -1,40 +0,0 @@ -class Admin::RealmMappingsController < ApplicationController - before_filter :require_user - - def new - require_privilege(Privilege::CREATE, Realm) - @realm_target = RealmBackendTarget.new(:frontend_realm_id => params[:frontend_realm_id], :realm_or_provider_type => params[:realm_or_provider_type]) - load_backend_targets - end - - def create - require_privilege(Privilege::CREATE, Realm) - @realm_target = RealmBackendTarget.new(params[:realm_backend_target]) - if @realm_target.save - flash[:notice] = "Realm mapping was added." - redirect_to admin_realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return - #redirect_to admin_realms_path and return - end - - load_backend_targets - render :new - end - - def multi_destroy - require_privilege(Privilege::MODIFY, Realm) - if params[:id].blank? - flash[:error] = 'You must select at least one mapping to delete.' - redirect_to admin_realm_path(params[:frontend_realm_id], :details_tab => 'mapping') - else - # TODO: add permissions checks - destroyed = RealmBackendTarget.destroy(params[:id]) - redirect_to admin_realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') - end - end - - protected - - def load_backend_targets - @backend_targets = @realm_target.realm_or_provider_type == 'Realm' ? Realm.all : Provider.list_for_user(@current_user, Privilege::VIEW) - end -end diff --git a/src/app/controllers/admin/realms_controller.rb b/src/app/controllers/admin/realms_controller.rb deleted file mode 100644 index bcfd7a8..0000000 --- a/src/app/controllers/admin/realms_controller.rb +++ /dev/null @@ -1,90 +0,0 @@ -class Admin::RealmsController < ApplicationController - before_filter :require_user - before_filter :load_realms, :only =>[:index,:show] - - def new - require_privilege(Privilege::CREATE, Realm) - @realm = FrontendRealm.new - load_backend_realms - end - - def edit - require_privilege(Privilege::MODIFY, Realm) - @realm = FrontendRealm.find(params[:id]) - load_backend_realms - end - - def update - require_privilege(Privilege::MODIFY, Realm) - @realm = FrontendRealm.find(params[:id]) - - if params[:commit] == "Reset" - redirect_to edit_admin_realm_url(@realm) and return - end - - if @realm.update_attributes(params[:frontend_realm]) - flash[:notice] = 'Realm updated successfully!' - redirect_to admin_realms_url and return - end - - load_backend_realms - render :action => 'edit' - end - - def create - require_privilege(Privilege::CREATE, Realm) - @realm = FrontendRealm.new(params[:frontend_realm]) - if @realm.save - flash[:notice] = "Realm was added." - redirect_to admin_realms_path and return - end - - load_backend_realms - render :new - end - - def multi_destroy - if params[:id].blank? - flash[:error] = 'You must select at least one realm to delete.' - else - require_privilege(Privilege::MODIFY, Realm) - FrontendRealm.destroy(params[:id]) - end - redirect_to admin_realms_path - end - - def show - @realm = FrontendRealm.find(params[:id]) - - @url_params = params.clone - @tab_captions = ['Properties', 'Mapping'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - if @details_tab == 'mapping' - @backend_realm_targets = @realm.realm_backend_targets.select {|x| x.realm_or_provider_type == 'Realm'} - @backend_provider_targets = @realm.realm_backend_targets.select {|x| x.realm_or_provider_type == 'Provider'} - end - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab - end - format.html { render :action => 'show'} - end - end - - protected - - def load_backend_realms - #TODO: list only realms user has permission on - @backend_realms = Realm.all - @providers = Provider.list_for_user(current_user, Privilege::VIEW) - end - - def load_realms - @header = [{ :name => "Name", :sort_attr => :name}] - @url_params = params.clone - @realms = FrontendRealm.all - end -end diff --git a/src/app/controllers/admin/roles_controller.rb b/src/app/controllers/admin/roles_controller.rb deleted file mode 100644 index a373c1b..0000000 --- a/src/app/controllers/admin/roles_controller.rb +++ /dev/null @@ -1,100 +0,0 @@ -class Admin::RolesController < ApplicationController - before_filter :require_user - before_filter :load_roles, :only => [:show] - before_filter :load_params_and_headers, :only => [:index] - - def index - @search_term = params[:q] - if @search_term.blank? - load_roles - return - end - - search = Role.search() do - keywords(params[:q]) - end - @roles = search.results - end - - def new - require_privilege(Privilege::PERM_SET) - @role = Role.new - end - - def create - require_privilege(Privilege::PERM_SET) - @role = Role.new(params[:role]) - - # TODO: (lmartinc) Fix this and let user select the scope. Consult with sseago. - @role.scope = BasePermissionObject.to_s if @role.scope.nil? - - if @role.save - flash[:notice] = 'Role successfully saved!' - redirect_to admin_roles_path and return - end - - render :action => 'new' - end - - def show - require_privilege(Privilege::PERM_VIEW) - @role = Role.find(params[:id]) - - @url_params = params.clone - @tab_captions = ['Properties'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab - end - format.html { render :partial => @details_tab } - end - end - - def edit - require_privilege(Privilege::PERM_SET) - @role = Role.find(params[:id]) - end - - def update - require_privilege(Privilege::PERM_SET) - @role = Role.find(params[:id]) - - if params[:commit] == "Reset" - redirect_to edit_admin_role_url(@role) and return - end - - if @role.update_attributes(params[:role]) - flash[:notice] = 'Role updated successfully!' - redirect_to admin_roles_url and return - end - - render :action => 'edit' - end - - def multi_destroy - require_privilege(Privilege::PERM_SET) - Role.destroy(params[:role_selected]) - redirect_to admin_roles_url - end - - protected - - def load_params_and_headers - @header = [ - { :name => "Role name", :sort_attr => :name } - ] - @url_params = params.clone - end - - def load_roles - @roles = Role.paginate(:all, - :page => params[:page] || 1, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - end - -end diff --git a/src/app/controllers/admin/settings_controller.rb b/src/app/controllers/admin/settings_controller.rb deleted file mode 100644 index a6f5cec..0000000 --- a/src/app/controllers/admin/settings_controller.rb +++ /dev/null @@ -1,44 +0,0 @@ -class Admin::SettingsController < ApplicationController - before_filter :require_user - - # Settings MetaData Keys - SELF_SERVICE_DEFAULT_QUOTA = "self_service_default_quota" - KEYS = [SELF_SERVICE_DEFAULT_QUOTA] - - def self_service - require_privilege(Privilege::MODIFY) - @self_service_default_quota = MetadataObject.lookup(SELF_SERVICE_DEFAULT_QUOTA) - end - - def general_settings - require_privilege(Privilege::MODIFY) - end - - def update - KEYS.each do |key| - if params[key] - if key == SELF_SERVICE_DEFAULT_QUOTA - @self_service_default_quota = MetadataObject.lookup(key) - if !@self_service_default_quota.update_attributes(params[key]) - flash[:notice] = "Could not update the default quota" - render :self_service - return - end - elsif key == SELF_SERVICE_DEFAULT_POOL - if Pool.exists?(params[key]) - MetadataObject.set(key, Pool.find(params[key])) - end - elsif key == SELF_SERVICE_DEFAULT_ROLE - if Role.exists?(params[key]) - MetadataObject.set(key, Role.find(params[key])) - end - else - MetadataObject.set(key, params[key]) - end - end - end - flash[:notice] = "Settings Updated!" - redirect_to :action => 'self_service' - end - -end diff --git a/src/app/controllers/admin/users_controller.rb b/src/app/controllers/admin/users_controller.rb deleted file mode 100644 index d0297ad..0000000 --- a/src/app/controllers/admin/users_controller.rb +++ /dev/null @@ -1,124 +0,0 @@ -class Admin::UsersController < ApplicationController - before_filter :require_user, :except => [:new, :create] - before_filter :load_users, :only => [:show] - - def index - require_privilege(Privilege::VIEW, User) - @params = params - @search_term = params[:q] - if @search_term.blank? - load_users - return - end - - search = User.search do - keywords(params[:q]) - end - @users = search.results - end - - def new - require_privilege(Privilege::CREATE, User) unless current_user.nil? - @user = User.new - @user.quota = Quota.new - end - - def create - if params[:commit] == "Reset" - redirect_to :action => 'new' and return - end - - require_privilege(Privilege::MODIFY, User) unless current_user.nil? - @user = User.new(params[:user]) - - @registration = RegistrationService.new(@user) - unless @registration.save - flash.now[:warning] = "User registration failed: #{@registration.error}" - render :action => 'new' and return - end - - if current_user != @user - flash[:notice] = "User registered!" - redirect_to admin_users_url - else - flash[:notice] = "You have successfully registered!" - redirect_to root_url - end - end - - def show - @user = params[:id] ? User.find(params[:id]) : current_user - require_privilege(Privilege::VIEW, User) unless current_user == @user - @quota_resources = @user.quota.quota_resources - - @url_params = params.clone - @tab_captions = ['Properties'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab - end - format.html { render :partial => @details_tab } - end - end - - def edit - @user = params[:id] ? User.find(params[:id]) : current_user - require_privilege(Privilege::MODIFY, User) unless @user == current_user - end - - def update - @user = params[:id] ? User.find(params[:id]) : current_user - require_privilege(Privilege::MODIFY, User) unless @user == current_user - - if params[:commit] == "Reset" - redirect_to edit_admin_user_url(@user) and return - end - - redirect_to root_url and return unless @user - - unless @user.update_attributes(params[:user]) - render :action => 'edit' and return - else - flash[:notice] = "User updated!" - redirect_to (@user == current_user) ? root_url : admin_users_url - end - end - - def multi_destroy - require_privilege(Privilege::MODIFY, User) - deleted_users = [] - User.find(params[:user_selected]).each do |user| - if user == current_user - flash[:warning] = "Cannot delete #{user.login}: you are logged in as this user" - else - user.destroy - deleted_users << user.login - end - end - unless deleted_users.empty? - msg = "Deleted user#{'s' if deleted_users.length > 1}" - flash[:notice] = "#{msg}: #{deleted_users.join(', ')}" - end - redirect_to admin_users_url - end - - protected - - def load_users - @users = User.all - sort_order = params[:sort_by].nil? ? "login" : params[:sort_by] - # TODO: (lmartinc) Optimize this sort! hell! - if sort_order == "percentage_quota_used" - @users.sort! {|x,y| y.quota.percentage_used <=> x.quota.percentage_used } - elsif sort_order == "quota" - @users.sort! {|x,y| (x.quota.maximum_running_instances and y.quota.maximum_running_instances) ? x.quota.maximum_running_instances <=> y.quota.maximum_running_instances : (x ? 1 : -1) } - else - @users = User.all(:order => sort_order) - end - end - -end diff --git a/src/app/controllers/assemblies_controller.rb b/src/app/controllers/assemblies_controller.rb new file mode 100644 index 0000000..c109039 --- /dev/null +++ b/src/app/controllers/assemblies_controller.rb @@ -0,0 +1,6 @@ +class AssembliesController < ApplicationController + before_filter :require_user + + def index + end +end diff --git a/src/app/controllers/builds_controller.rb b/src/app/controllers/builds_controller.rb new file mode 100644 index 0000000..3572a45 --- /dev/null +++ b/src/app/controllers/builds_controller.rb @@ -0,0 +1,110 @@ +class BuildsController < ApplicationController + before_filter [:require_user], :except => [:update_status] + + def index + end + + def create + @tpl = Template.find(params[:template_id]) + check_permission + + errors = {} + warnings = [] + begin + target = ProviderType.find(params[:target]) + Image.create_and_build!(@tpl, target) + rescue + flash[:error] = "Warning: #{$!.message}" + logger.error $!.message + logger.error $!.backtrace.join("\n ") + end + redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + end + + def upload + @tpl = Template.find(params[:template_id]) + pimg = ProviderImage.create!( + :image => Image.find(params[:image_id]), + :provider => Provider.find(params[:provider_id]), + :status => ProviderImage::STATE_QUEUED + ) + Delayed::Job.enqueue(PushJob.new(pimg.id)) + redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + end + + def delete + @tpl = Template.find(params[:template_id]) + # FIXME: add logic to delete image when v2 image factory lands + redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + end + + def edit + # FIXME: is @tpl defined here? do we need check_permission here? + end + + def update + # FIXME: is @tpl defined here? do we need check_permission here? + end + + def retry + @tpl = Template.find(params[:template_id]) + check_permission + begin + if params[:image_id] + image = Image.find(params[:image_id]) + if image + errors = {} + warnings = [] + image.rebuild! + flash[:notice] = "Queued rebuild for image #{image.name}" + else + flash[:warning] = "could not find image #{image_id}" + end + elsif params[:provider_image_id] + provider_image = ProviderImage.find(params[:provider_image_id]) + if provider_image + provider_image.retry_upload! + flash[:notice] = "Queued upload of provider image #{provider_image.image.name} to #{provider_image.provider.name}" + else + flash[:warning] = "could not find provider image #{provider_image_id}" + end + else + flash[:warning] = 'You need to specify either a provider or a provider image' + end + rescue + flash[:warning] = $!.message + logger.error $!.message + logger.error $!.backtrace.join("\n ") + end + redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + end + + def update_status + image = Image.find_by_uuid(params[:uuid]) + image = ProviderImage.find_by_uuid(params[:uuid]) unless image + + if image + image.status = params[:status] + image.save! + end + return head :not_found unless image + respond_to do |format| + format.xml { + render :xml => image.to_xml + } + end + + end + private + + # TODO: DRY this, is used in templates controller too + def get_order(default) + @order_dir = params[:order_dir] == 'desc' ? 'desc' : 'asc' + @order_field = params[:order_field] || default + "#{@order_field} #{@order_dir}" + end + + def check_permission + require_privilege(Privilege::MODIFY, @tpl) + end +end diff --git a/src/app/controllers/deployables_controller.rb b/src/app/controllers/deployables_controller.rb new file mode 100644 index 0000000..22332f5 --- /dev/null +++ b/src/app/controllers/deployables_controller.rb @@ -0,0 +1,149 @@ +class DeployablesController < ApplicationController + before_filter :require_user + before_filter :load_deployables, :only => [:index, :show, :pick_assemblies] + before_filter :load_deployable_with_assemblies, :only => [:remove_assemblies, :add_assemblies, :pick_assemblies] + + def index + require_privilege(Privilege::VIEW, Template) + @search_term = params[:q] + return if @search_term.blank? + search = Deployable.search() do + keywords(params[:q]) + end + @deployables = search.results + end + + def show + @deployable = Deployable.find(params[:id]) + require_privilege(Privilege::VIEW, @deployable) + @url_params = params.clone + @tab_captions = ['Properties', 'Assemblies', 'Deployments'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + if @details_tab == 'deployments' + @deployments = @deployable.deployments + end + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def new + require_privilege(Privilege::CREATE, Template) + @deployable = Deployable.new + end + + def create + require_privilege(Privilege::CREATE, Template) + @deployable = Deployable.new(params[:deployable]) + @deployable.owner = current_user + if @deployable.save + flash[:notice] = "Deployable added." + redirect_to image_factory_deployable_url(@deployable) + else + render :action => :new + end + end + + def edit + @deployable = Deployable.find(params[:id]) + require_privilege(Privilege::MODIFY, @deployable) + end + + def update + @deployable = Deployable.find(params[:id]) + require_privilege(Privilege::MODIFY, @deployable) + if @deployable.update_attributes(params[:deployable]) + flash[:notice] = "Deployable updated." + redirect_to image_factory_deployable_url(@deployable) + else + render :action => :edit + end + end + + def multi_destroy + destroyed = [] + failed = [] + Deployable.find(params[:deployables_selected]).each do |deployable| + if check_privilege(Privilege::MODIFY, deployable) and deployable.destroyable? + deployable.destroy + destroyed << deployable.name + else + failed << deployable.name + end + end + + unless destroyed.empty? + flash[:notice] = t('deployables.index.deleted', :count => destroyed.length, :list => destroyed.join(', ')) + end + unless failed.empty? + flash[:error] = t('deployables.index.not_deleted', :count => failed.length, :list => failed.join(', ')) + end + redirect_to image_factory_deployables_url + end + + def pick_assemblies + require_privilege(Privilege::MODIFY, @deployable) + @assemblies = Assembly.all - @deployable.assemblies + respond_to do |format| + format.js { render :partial => 'pick_assemblies' } + format.html { render 'pick_assemblies' } + end + end + + def add_assemblies + require_privilege(Privilege::MODIFY, @deployable) + if assemblies = params.delete(:assemblies_selected) + @deployable.assembly_ids += assemblies.collect{|a| a.to_i} + @deployable.save! + flash[:notice] = "Assemblies saved." + end + respond_to do |format| + format.js { render :partial => 'assemblies' } + format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + end + end + + def remove_assemblies + require_privilege(Privilege::MODIFY, @deployable) + if params[:assemblies_selected].present? + @deployable.assembly_ids = @deployable.assembly_ids - params[:assemblies_selected].collect{|a| a.to_i} + @deployable.save! + flash[:notice] = "Assemblies removed." + end + respond_to do |format| + format.js { render :partial => 'assemblies' } + format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + end + end + + protected + + def load_deployables + @header = [ + { :name => "Deployable name", :sort_attr => :name } + ] + @header_deployments = [ + { :name => "Deployment name", :sort_attr => :name }, + { :name => "Deployable", :sortable => false }, + { :name => "Deployment Owner", :sort_attr => "owner.last_name"}, + { :name => "Running Since", :sort_attr => :running_since }, + { :name => "Heath Metric", :sort_attr => :health }, + { :name => "Pool", :sort_attr => "pool.name" } + ] + @deployables = Deployable.paginate(:all, + :page => params[:page] || 1, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + @url_params = params.clone + end + + def load_deployable_with_assemblies + @deployable = Deployable.find(params[:id], :include => :assemblies) + end +end diff --git a/src/app/controllers/deployments_controller.rb b/src/app/controllers/deployments_controller.rb new file mode 100644 index 0000000..d988d81 --- /dev/null +++ b/src/app/controllers/deployments_controller.rb @@ -0,0 +1,123 @@ +class DeploymentsController < ApplicationController + before_filter :require_user + before_filter :load_deployments, :only => [:index, :show] + + def index + end + + def launch_new + @launchable_deployables = [] + Deployable.all.each do |deployable| + @launchable_deployables << deployable if deployable.launchable? + end + end + + def new + require_privilege(Privilege::CREATE, Deployment) + @deployment = Deployment.new(:deployable_id => params[:deployable_id]) + if @deployment.deployable.assemblies.empty? + flash[:warning] = "Deployable must have at least one assembly" + redirect_to resources_deployments_path + else + init_new_deployment_attrs + end + end + + def create + require_privilege(Privilege::CREATE, Deployment) + @deployment = Deployment.new(params[:deployment]) + @deployment.owner = current_user + if @deployment.save + flash[:notice] = "Deployment launched" + errors = @deployment.launch(params[:hw_profiles] || {}, current_user) + unless errors.empty? + flash[:error] = { + :summary => "Failed to launch following assemblies:", + :failures => errors + } + end + redirect_to resources_deployment_path(@deployment) + else + flash.now[:warning] = "Deployment launch failed" + init_new_deployment_attrs + render :new + end + end + + def show + @deployment = Deployment.find(params[:id]) + require_privilege(Privilege::VIEW, @deployment) + init_new_deployment_attrs + @tab_captions = ['Properties', 'Instances', 'Provider Services', 'Required Services', 'History', 'Permissions'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def multi_stop + notices = "" + errors = "" + Deployment.find(params[:deployments_selected]).each do |deployment| + deployment.instances.each do |instance| + begin + require_privilege(Privilege::USE,instance) + unless instance.valid_action?('stop') + raise ActionError.new("stop is an invalid action.") + end + + # not sure if task is used as everything goes through condor + #permissons check here + @task = instance.queue_action(@current_user, 'stop') + unless @task + raise ActionError.new("stop cannot be performed on this instance.") + end + condormatic_instance_stop(@task) + notices << "Deployment: #{instance.deployment.name}, Instance: #{instance.name}: stop action was successfully queued.<br/>" + rescue Exception => err + errors << "Deployment: #{instance.deployment.name}, Instance: #{instance.name}: " + err + "<br/>" + end + end + end + flash[:notice] = notices unless notices.blank? + flash[:error] = errors unless errors.blank? + redirect_to resources_deployments_path + end + + private + def load_deployments + @url_params = params + @deployments = Deployment.paginate(:all, + :page => params[:page] || 1, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + @header = [ + { :name => "", :sort_attr => :name }, + { :name => "Deployment name", :sort_attr => :name }, + { :name => "Deployable", :sortable => false }, + { :name => "Owner", :sort_attr => "owner.login"}, + { :name => "Running Since", :sort_attr => :running_since }, + { :name => "Pool", :sort_attr => "pool.name" } + ] + @pools = Pool.list_for_user(current_user, Privilege::CREATE, :target_type => Deployment) + @deployments = Deployment.all(:include => :owner, + :conditions => {:pool_id => @pools}, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + end + + def init_new_deployment_attrs + @pools = Pool.list_for_user(@current_user, Privilege::CREATE, :target_type => Deployment) + @realms = FrontendRealm.all + @hardware_profiles = HardwareProfile.all( + :include => :architecture, + :conditions => {:provider_id => nil} + ) + end +end diff --git a/src/app/controllers/hardware_profiles_controller.rb b/src/app/controllers/hardware_profiles_controller.rb new file mode 100644 index 0000000..54f7e8f --- /dev/null +++ b/src/app/controllers/hardware_profiles_controller.rb @@ -0,0 +1,221 @@ +class HardwareProfilesController < ApplicationController + before_filter :require_user, :except => :matching_profiles + before_filter :set_params_and_header, :only => [:index, :show] + before_filter :load_hardware_profiles, :only => [:index, :show] + before_filter :load_hardware_profile, :only => [:show] + before_filter :setup_new_hardware_profile, :only => [:new] + before_filter :setup_hardware_profile, :only => [:new, :create, :edit, :update] + + def index + @params = params + respond_to do |format| + format.js do + build_hardware_profile(params[:hardware_profile]) + matching_provider_hardware_profiles + render :partial => 'matching_provider_hardware_profiles' and return + end + format.html do + @search_term = params[:q] + if @search_term.blank? + load_hardware_profiles + return + end + + search = HardwareProfile.search do + keywords(params[:q]) + with(:frontend, true) + end + @hardware_profiles = search.results + end + end + end + + def show + @hardware_profile = HardwareProfile.find(params[:id].to_a.first) + @tab_captions = ['Properties', 'History', 'Matching Provider Hardware Profiles'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + case @details_tab + when 'properties' + properties + when 'matching_provider_hardware_profiles' + matching_provider_hardware_profiles + end + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def new + respond_to do |format| + format.js { render :partial => 'matching_provider_hardware_profiles' } + format.html { render :action => 'new'} + end + end + + def create + build_hardware_profile(params[:hardware_profile]) + if params[:commit] == 'Save' + if @hardware_profile.save! + redirect_to admin_hardware_profiles_path + else + params.delete :commit + render :action => 'create' + end + else + matching_provider_hardware_profiles + render :action => 'new' + end + kick_condor + end + + def delete + kick_condor + end + + def edit + unless @hardware_profile + @hardware_profile = HardwareProfile.find(params[:id]) + end + matching_provider_hardware_profiles + end + + def update + if params[:commit] == "Reset" + redirect_to edit_admin_hardware_profile_url(@hardware_profile) and return + end + + if params[:id] + @hardware_profile = HardwareProfile.find(params[:id]) + build_hardware_profile(params[:hardware_profile]) + end + + if params[:commit] == "Check Matches" + matching_provider_hardware_profiles + render :edit and return + end + + unless @hardware_profile.save! + render :action => 'edit' and return + else + flash[:notice] = "Hardware Profile updated!" + redirect_to admin_hardware_profiles_path + end + kick_condor + end + + def multi_destroy + HardwareProfile.destroy(params[:hardware_profile_selected]) + kick_condor + redirect_to admin_hardware_profiles_path + end + + private + def setup_new_hardware_profile + if params[:hardware_profile] + begin + @hardware_profile = HardwareProfile.new(remove_irrelevant_params(params[:hardware_profile])) + end + else + @hardware_profile = HardwareProfile.new(:memory => HardwareProfileProperty.new(:name => "memory", :unit => "MB"), + :cpu => HardwareProfileProperty.new(:name => "cpu", :unit => "count"), + :storage => HardwareProfileProperty.new(:name => "storage", :unit => "GB"), + :architecture => HardwareProfileProperty.new(:name => "architecture", :unit => "label")) + end + matching_provider_hardware_profiles + end + + def properties + @properties_header = [ + { :name => "Name", :sort_attr => :name}, + { :name => "Unit", :sort_attr => :unit}, + { :name => "Minimum Value", :sort_attr => :value}] + @hwp_properties = [@hardware_profile.memory, @hardware_profile.cpu, @hardware_profile.storage, @hardware_profile.architecture] + end + + #TODO Update this method when moving to new HWP Model + def matching_provider_hardware_profiles + @provider_hwps_header = [ + { :name => "Provider Name", :sort_attr => "provider.name" }, + { :name => "Hardware Profile Name", :sort_attr => :name }, + { :name => "Architecture", :sort_attr => :architecture }, + { :name => "Memory", :sort_attr => :memory}, + { :name => "Storage", :sort_attr => :storage }, + { :name => "Virtual CPU", :sort_attr => :cpu} + ] + + begin + @matching_hwps = HardwareProfile.matching_hardware_profiles(@hardware_profile) + rescue Exception => e + @matching_hwps = [] + end + end + + def setup_hardware_profile + @tab_captions = ['Matched Provider Hardware Profiles'] + @details_tab = 'matching_provider_hardware_profiles' + @url_params = params + @header = [ + { :name => "Name", :sort_attr => :name}, + { :name => "Unit", :sort_attr => :unit}, + { :name => "Minimum Value", :sort_attr => :value}] + end + + def set_params_and_header + @url_params = params + @header = [ + { :name => "Hardware Profile Name", :sort_attr => :name }, + { :name => "Architecture", :sort_attr => :architecture }, + { :name => "Memory", :sort_attr => :memory}, + { :name => "Storage", :sort_attr => :storage }, + { :name => "Virtual CPU", :sort_attr => :cpu} + ] + end + + def load_hardware_profiles + sort_field = params[:order_field].nil? ? "name" : params[:order_field] + sort_order = params[:order_dir] == "asc" || params[:order_dir].nil? ? "" : "desc" + if sort_field == "name" + @hardware_profiles = HardwareProfile.all(:order => sort_field + " " + sort_order, :conditions => 'provider_id IS NULL') + else + @hardware_profiles = HardwareProfile.all(:conditions => 'provider_id IS NULL') + if sort_order == "" + @hardware_profiles.sort! {|x,y| x.get_property_map[sort_field].sort_value(true) <=> y.get_property_map[sort_field].sort_value(true)} + else + @hardware_profiles.sort! {|x,y| y.get_property_map[sort_field].sort_value(false) <=> x.get_property_map[sort_field].sort_value(false)} + end + end + end + + def load_hardware_profile + @hardware_profile = HardwareProfile.find(params[:id]) + end + + def build_hardware_profile(params) + if @hardware_profile.nil? + @hardware_profile = HardwareProfile.new + end + + @hardware_profile.name = params[:name] + @hardware_profile.memory = create_hwpp(@hardware_profile.memory, params[:memory_attributes]) + @hardware_profile.storage = create_hwpp(@hardware_profile.storage, params[:storage_attributes]) + @hardware_profile.cpu = create_hwpp(@hardware_profile.cpu, params[:cpu_attributes]) + @hardware_profile.architecture = create_hwpp(@hardware_profile.architecture, params[:architecture_attributes]) + end + + def create_hwpp(hwpp, params) + hardwareProfileProperty = hwpp.nil? ? HardwareProfileProperty.new : hwpp + + hardwareProfileProperty.name = params[:name] + hardwareProfileProperty.kind = "fixed" + hardwareProfileProperty.value = params[:value] + hardwareProfileProperty.unit = params[:unit] + return hardwareProfileProperty + end + +end diff --git a/src/app/controllers/image_factory/assemblies_controller.rb b/src/app/controllers/image_factory/assemblies_controller.rb deleted file mode 100644 index ce67f14..0000000 --- a/src/app/controllers/image_factory/assemblies_controller.rb +++ /dev/null @@ -1,6 +0,0 @@ -class ImageFactory::AssembliesController < ApplicationController - before_filter :require_user - - def index - end -end diff --git a/src/app/controllers/image_factory/builds_controller.rb b/src/app/controllers/image_factory/builds_controller.rb deleted file mode 100644 index 58c3fa6..0000000 --- a/src/app/controllers/image_factory/builds_controller.rb +++ /dev/null @@ -1,110 +0,0 @@ -class ImageFactory::BuildsController < ApplicationController - before_filter [:require_user], :except => [:update_status] - - def index - end - - def create - @tpl = Template.find(params[:template_id]) - check_permission - - errors = {} - warnings = [] - begin - target = ProviderType.find(params[:target]) - Image.create_and_build!(@tpl, target) - rescue - flash[:error] = "Warning: #{$!.message}" - logger.error $!.message - logger.error $!.backtrace.join("\n ") - end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') - end - - def upload - @tpl = Template.find(params[:template_id]) - pimg = ProviderImage.create!( - :image => Image.find(params[:image_id]), - :provider => Provider.find(params[:provider_id]), - :status => ProviderImage::STATE_QUEUED - ) - Delayed::Job.enqueue(PushJob.new(pimg.id)) - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') - end - - def delete - @tpl = Template.find(params[:template_id]) - # FIXME: add logic to delete image when v2 image factory lands - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') - end - - def edit - # FIXME: is @tpl defined here? do we need check_permission here? - end - - def update - # FIXME: is @tpl defined here? do we need check_permission here? - end - - def retry - @tpl = Template.find(params[:template_id]) - check_permission - begin - if params[:image_id] - image = Image.find(params[:image_id]) - if image - errors = {} - warnings = [] - image.rebuild! - flash[:notice] = "Queued rebuild for image #{image.name}" - else - flash[:warning] = "could not find image #{image_id}" - end - elsif params[:provider_image_id] - provider_image = ProviderImage.find(params[:provider_image_id]) - if provider_image - provider_image.retry_upload! - flash[:notice] = "Queued upload of provider image #{provider_image.image.name} to #{provider_image.provider.name}" - else - flash[:warning] = "could not find provider image #{provider_image_id}" - end - else - flash[:warning] = 'You need to specify either a provider or a provider image' - end - rescue - flash[:warning] = $!.message - logger.error $!.message - logger.error $!.backtrace.join("\n ") - end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') - end - - def update_status - image = Image.find_by_uuid(params[:uuid]) - image = ProviderImage.find_by_uuid(params[:uuid]) unless image - - if image - image.status = params[:status] - image.save! - end - return head :not_found unless image - respond_to do |format| - format.xml { - render :xml => image.to_xml - } - end - - end - private - - # TODO: DRY this, is used in templates controller too - def get_order(default) - @order_dir = params[:order_dir] == 'desc' ? 'desc' : 'asc' - @order_field = params[:order_field] || default - "#{@order_field} #{@order_dir}" - end - - def check_permission - require_privilege(Privilege::MODIFY, @tpl) - end -end diff --git a/src/app/controllers/image_factory/deployables_controller.rb b/src/app/controllers/image_factory/deployables_controller.rb deleted file mode 100644 index 90242f3..0000000 --- a/src/app/controllers/image_factory/deployables_controller.rb +++ /dev/null @@ -1,149 +0,0 @@ -class ImageFactory::DeployablesController < ApplicationController - before_filter :require_user - before_filter :load_deployables, :only => [:index, :show, :pick_assemblies] - before_filter :load_deployable_with_assemblies, :only => [:remove_assemblies, :add_assemblies, :pick_assemblies] - - def index - require_privilege(Privilege::VIEW, Template) - @search_term = params[:q] - return if @search_term.blank? - search = Deployable.search() do - keywords(params[:q]) - end - @deployables = search.results - end - - def show - @deployable = Deployable.find(params[:id]) - require_privilege(Privilege::VIEW, @deployable) - @url_params = params.clone - @tab_captions = ['Properties', 'Assemblies', 'Deployments'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - if @details_tab == 'deployments' - @deployments = @deployable.deployments - end - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def new - require_privilege(Privilege::CREATE, Template) - @deployable = Deployable.new - end - - def create - require_privilege(Privilege::CREATE, Template) - @deployable = Deployable.new(params[:deployable]) - @deployable.owner = current_user - if @deployable.save - flash[:notice] = "Deployable added." - redirect_to image_factory_deployable_url(@deployable) - else - render :action => :new - end - end - - def edit - @deployable = Deployable.find(params[:id]) - require_privilege(Privilege::MODIFY, @deployable) - end - - def update - @deployable = Deployable.find(params[:id]) - require_privilege(Privilege::MODIFY, @deployable) - if @deployable.update_attributes(params[:deployable]) - flash[:notice] = "Deployable updated." - redirect_to image_factory_deployable_url(@deployable) - else - render :action => :edit - end - end - - def multi_destroy - destroyed = [] - failed = [] - Deployable.find(params[:deployables_selected]).each do |deployable| - if check_privilege(Privilege::MODIFY, deployable) and deployable.destroyable? - deployable.destroy - destroyed << deployable.name - else - failed << deployable.name - end - end - - unless destroyed.empty? - flash[:notice] = t('deployables.index.deleted', :count => destroyed.length, :list => destroyed.join(', ')) - end - unless failed.empty? - flash[:error] = t('deployables.index.not_deleted', :count => failed.length, :list => failed.join(', ')) - end - redirect_to image_factory_deployables_url - end - - def pick_assemblies - require_privilege(Privilege::MODIFY, @deployable) - @assemblies = Assembly.all - @deployable.assemblies - respond_to do |format| - format.js { render :partial => 'pick_assemblies' } - format.html { render 'pick_assemblies' } - end - end - - def add_assemblies - require_privilege(Privilege::MODIFY, @deployable) - if assemblies = params.delete(:assemblies_selected) - @deployable.assembly_ids += assemblies.collect{|a| a.to_i} - @deployable.save! - flash[:notice] = "Assemblies saved." - end - respond_to do |format| - format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } - end - end - - def remove_assemblies - require_privilege(Privilege::MODIFY, @deployable) - if params[:assemblies_selected].present? - @deployable.assembly_ids = @deployable.assembly_ids - params[:assemblies_selected].collect{|a| a.to_i} - @deployable.save! - flash[:notice] = "Assemblies removed." - end - respond_to do |format| - format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } - end - end - - protected - - def load_deployables - @header = [ - { :name => "Deployable name", :sort_attr => :name } - ] - @header_deployments = [ - { :name => "Deployment name", :sort_attr => :name }, - { :name => "Deployable", :sortable => false }, - { :name => "Deployment Owner", :sort_attr => "owner.last_name"}, - { :name => "Running Since", :sort_attr => :running_since }, - { :name => "Heath Metric", :sort_attr => :health }, - { :name => "Pool", :sort_attr => "pool.name" } - ] - @deployables = Deployable.paginate(:all, - :page => params[:page] || 1, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - @url_params = params.clone - end - - def load_deployable_with_assemblies - @deployable = Deployable.find(params[:id], :include => :assemblies) - end -end diff --git a/src/app/controllers/image_factory/image_imports_controller.rb b/src/app/controllers/image_factory/image_imports_controller.rb deleted file mode 100644 index 45ba6d6..0000000 --- a/src/app/controllers/image_factory/image_imports_controller.rb +++ /dev/null @@ -1,27 +0,0 @@ -class ImageFactory::ImageImportsController < ApplicationController - before_filter :require_user - - def new - init_provider_vars - end - - def create - begin - Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id], current_user) - flash[:notice]="Image successfully imported" - redirect_to image_factory_templates_path - kick_condor - rescue Exception => e - init_provider_vars - # The full message may be multiple lines, including the actual request, so only include the first line: - flash.now[:error]="Could not import image: #{e.message.split("\n").first}" - Rails.logger.error([e.message,e.backtrace].join("\n ")) - render :new - end - end - -protected -def init_provider_vars - @providers = Provider.list_for_user(current_user, Privilege::VIEW) -end -end diff --git a/src/app/controllers/image_factory/templates_controller.rb b/src/app/controllers/image_factory/templates_controller.rb deleted file mode 100644 index dc7ba71..0000000 --- a/src/app/controllers/image_factory/templates_controller.rb +++ /dev/null @@ -1,301 +0,0 @@ -require 'util/repository_manager' - -class ImageFactory::TemplatesController < ApplicationController - before_filter :require_user - before_filter :set_view_vars, :only => [:index, :show] - - def index - require_privilege(Privilege::VIEW, Template) - @params = params - @search_term = params[:q] - if @search_term.blank? - load_templates - return - end - - # FIXME: Filter on Permissions - search = Template.search do - keywords(params[:q]) - end - @templates = search.results - end - - def show - load_templates - @tpl = Template.find(params[:id]) - require_privilege(Privilege::VIEW, @tpl) - @url_params = params.clone - @tab_captions = ['Properties', 'Builds'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - load_images(@tpl) if @details_tab == 'builds' - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def new - check_create_permission - # can't use @template variable - is used by compass (or something other) - @tpl = Template.new(params[:tpl]) - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - end - - def add_selected - if params[:tpl] and not params[:tpl][:id].blank? - @tpl = Template.find(params[:tpl][:id]) - check_edit_permission - @tpl.attributes = params[:tpl] - else - @tpl = Template.new(params[:tpl]) - check_create_permission - end - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - @tpl.add_software(params[:packages].to_a + params[:selected_packages].to_a + params[:cached_packages].to_a, - params[:groups].to_a + params[:selected_groups].to_a) - render :action => @tpl.id ? :edit : :new - end - - def edit - @tpl = Template.find(params[:id]) - check_edit_permission - @tpl.attributes = params[:tpl] unless params[:tpl].blank? - @tpl.add_software(params[:packages].to_a, params[:groups].to_a) - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - end - - def create - check_create_permission - @tpl = Template.new(params[:tpl]) - @tpl.packages = params[:packages] - @tpl.owner = current_user - if @tpl.save - flash[:notice] = "Template saved." - @tpl.set_complete - if params[:create_deployable] - Deployable.create!(:name => @tpl.name, :assemblies => @tpl.assemblies, :owner => current_user) - end - redirect_to image_factory_templates_path - else - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - render :new - end - end - - def update - @tpl = Template.find(params[:id]) - check_edit_permission - @tpl.packages = [] - @tpl.add_software(params[:packages].to_a, params[:groups].to_a) - - if @tpl.update_attributes(params[:tpl]) - @tpl.set_complete - flash[:notice] = "Template updated." - redirect_to image_factory_templates_path - else - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - render :action => 'edit' - end - end - - def search_packages - set_package_vars - @page = get_page - @cached_packages = params[:cached_packages].to_a + params[:selected_packages].to_a - @searched_packages = params[:package_search].empty? ? [] : @repository_manager.search_package( - params[:package_search]).paginate(:page => @page, :per_page => 60) - if request.xhr? - render :partial => 'search_packages' - else - render 'search_packages' - end - end - - def metagroup_packages - set_package_vars - group = params[:__rewrite] ? params[:__rewrite][:metagroup_packages] : nil - @metagroup_packages = @repository_manager.metagroup_packages(group) - if request.xhr? - render :partial => 'metagroup_packages' - end - end - - def collections - if params[:package_search_button] - search_packages - return - end - set_package_vars - @collections = @repository_manager.groups - if request.xhr? - render :partial => 'collections' - end - end - - def content_selection - set_package_vars(true) - @collections = @repository_manager.groups - if request.xhr? - render :partial => 'software_selection', :locals => {:view => 'collections'} - else - render :collections - end - end - - def managed_content - if params[:template_id].blank? - @tpl = Template.new - check_create_permission - else - @tpl = Template.find(params[:template_id]) - check_edit_permission - end - @tpl.add_software(params[:packages].to_a + params[:selected_packages].to_a, - params[:groups].to_a + params[:selected_groups].to_a) - render :layout => false - end - - def assembly - # FIXME: do we need perm check here? - end - - def deployment_definition - # FIXME: do we need perm check here? - @all_targets = ProviderType.all(:conditions => {:build_supported => true}) - end - - def remove_package - params[:packages].delete(params[:name]) unless params[:name].blank? - if params[:tpl] and not params[:tpl][:id].blank? - @tpl = Template.find(params[:tpl][:id]) - check_edit_permission - @tpl.attributes = params[:tpl] - else - @tpl = Template.new(params[:tpl]) - check_create_permission - end - @tpl.add_software(params[:packages].to_a, params[:groups].to_a) - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - render :action => @tpl.id ? :edit : :new - end - - def multi_destroy - destroyed = [] - failed = [] - Template.find(params[:selected]).each do |template| - if check_privilege(Privilege::MODIFY, template) and template.destroy - destroyed << template.name - else - failed << template.name - end - end - - unless destroyed.empty? - flash[:notice] = t('templates.index.deleted', :count => destroyed.length, :list => destroyed.join(', ')) - end - unless failed.empty? - flash[:error] = t('templates.index.not_deleted', :count => failed.length, :list => failed.join(', ')) - end - redirect_to image_factory_templates_url - end - - protected - - def load_images(tpl) - @targets_not_built = {} - - Provider.all.each do |p| - @targets_not_built[p.provider_type.id] = p.provider_type.name - end - - tpl.images.each do |img| - @targets_not_built.delete(img.provider_type_id) - end - @targets_not_built = @targets_not_built.invert - - @images = tpl.images - end - - def set_view_vars - @header = [ - {:name => 'NAME', :sort_attr => 'name'}, - {:name => 'OS', :sort_attr => 'platform'}, - {:name => 'VERSION', :sort_attr => 'platform_version'}, - {:name => 'BOOTABLE', :sortable => false}, - {:name => 'ARCH', :sort_attr => 'architecture'}, - ] - - @url_params = params.clone - end - - def load_templates - @templates = Template.list_for_user(current_user, - Privilege::VIEW, - :include => :images, - :order => get_order('name') - ) - end - - def set_package_vars(set_all = false) - id = params[:id] || (params[:tpl] && params[:tpl][:id]) || nil - if id.blank? - @tpl = Template.new - check_create_permission - else - @tpl = Template.find(id) - check_edit_permission - end - @tpl.attributes = params[:tpl] unless params[:tpl].nil? - @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) - @groups = @repository_manager.groups - @categories = @repository_manager.categories if not request.xhr? or set_all - @metagroups = @repository_manager.metagroups if not request.xhr? or set_all - @tpl.add_software(params[:packages].to_a, params[:groups].to_a) - end - - def get_order(default) - @order_dir = params[:order_dir] == 'desc' ? 'desc' : 'asc' - @order_field = params[:order_field] || default - "#{@order_field} #{@order_dir}" - end - - def flash_error(summary, errs) - flash.now[:error] ||= {} - flash.now[:error][:summary] = summary - flash.now[:error][:failures] ||= {} - flash.now[:error][:failures].merge!(errs) - end - - def check_create_permission - require_privilege(Privilege::CREATE, Template) - end - - def check_edit_permission - require_privilege(Privilege::MODIFY, @tpl) - end - - def get_selected_id - ids = params[:ids].to_a - if ids.size != 1 - flash[:warning] = ids.empty? ? 'No Template Selected' : 'You can select only one template' - return - end - return ids.first - end - - def get_page - if params[:page] == 'Previous' - return params[:old_page].to_i - 1 - elsif params[:page] == 'Next' - return params[:old_page].to_i + 1 - else - return params[:page].blank? ? 1 : params[:page].to_i - end - end - -end diff --git a/src/app/controllers/image_imports_controller.rb b/src/app/controllers/image_imports_controller.rb new file mode 100644 index 0000000..24d286b --- /dev/null +++ b/src/app/controllers/image_imports_controller.rb @@ -0,0 +1,27 @@ +class ImageImportsController < ApplicationController + before_filter :require_user + + def new + init_provider_vars + end + + def create + begin + Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id], current_user) + flash[:notice]="Image successfully imported" + redirect_to image_factory_templates_path + kick_condor + rescue Exception => e + init_provider_vars + # The full message may be multiple lines, including the actual request, so only include the first line: + flash.now[:error]="Could not import image: #{e.message.split("\n").first}" + Rails.logger.error([e.message,e.backtrace].join("\n ")) + render :new + end + end + +protected +def init_provider_vars + @providers = Provider.list_for_user(current_user, Privilege::VIEW) +end +end diff --git a/src/app/controllers/instances_controller.rb b/src/app/controllers/instances_controller.rb new file mode 100644 index 0000000..42e0e01 --- /dev/null +++ b/src/app/controllers/instances_controller.rb @@ -0,0 +1,223 @@ +class InstancesController < ApplicationController + before_filter :require_user, :except => [:can_start, :can_create] + before_filter :load_instance, :only => [:show, :key] + before_filter :set_view_vars, :only => [:show, :index] + + def index + @params = params + @search_term = params[:q] + if @search_term.blank? + load_instances + return + end + + search = Instance.search do + keywords(params[:q]) + end + @instances = search.results + end + + def new + @instance = Instance.new(params[:instance]) + require_privilege(Privilege::CREATE, Instance, @instance.pool) if @instance.pool + + unless @instance.template + redirect_to select_template_resources_instances_path + return + end + + init_new_instance_attrs + end + + def select_template + # FIXME: we need to list only templates for particular user, + # => TODO: add TEMPLATE_* permissions + @templates = Template.paginate( + :page => params[:page] || 1, + :include => {:images => :provider_images}, + :conditions => "provider_images.status = '#{ProviderImage::STATE_COMPLETED}'" + ) + end + + def create + if params[:cancel] + redirect_to select_template_resources_instances_path + return + end + + @instance = Instance.new(params[:instance]) + @instance.state = Instance::STATE_NEW + @instance.owner = current_user + + begin + require_privilege(Privilege::CREATE, Instance, + Pool.find(@instance.pool_id)) + free_quota = Quota.can_start_instance?(@instance, nil) + raise "Pool is not enabled" unless @instance.pool and @instance.pool.enabled + @instance.transaction do + @instance.save! + # set owner permissions: + @task = InstanceTask.create!({:user => current_user, + :task_target => @instance, + :action => InstanceTask::ACTION_CREATE}) + condormatic_instance_create(@task) + end + rescue + init_new_instance_attrs + flash[:warning] = "Failed to launch instance: #{$!}" + render :new + else + if free_quota + flash[:notice] = "Instance added." + else + flash[:warning] = "Quota Exceeded: Instance will not start until you have free quota" + end + redirect_to resources_instances_path + end + end + + def edit + end + + def show + load_instances + @url_params = params.clone + @tab_captions = ['Properties', 'History', 'Permissions'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def key + unless @instance.instance_key.nil? + send_data @instance.instance_key.pem, + :filename => "#{@instance.instance_key.name}.pem", + :type => "text/plain" + return + end + flash[:warning] = "SSH Key not found for this Instance." + redirect_to resources_instance_path(@instance) + end + + def multi_stop + notices = "" + errors = "" + Instance.find(params[:instance_selected]).each do |instance| + begin + require_privilege(Privilege::USE,instance) + unless instance.valid_action?('stop') + raise ActionError.new("stop is an invalid action.") + end + + # not sure if task is used as everything goes through condor + #permissons check here + @task = instance.queue_action(@current_user, 'stop') + unless @task + raise ActionError.new("stop cannot be performed on this instance.") + end + condormatic_instance_stop(@task) + notices << "#{instance.name}: stop action was successfully queued.<br/>" + rescue Exception => err + errors << "#{instance.name}: " + err + "<br/>" + end + end + flash[:notice] = notices unless notices.blank? + flash[:error] = errors unless errors.blank? + redirect_to resources_instances_path + end + + def remove_failed + notices = "" + errors = "" + Instance.find(params[:instance_selected]).each do |instance| + begin + require_privilege(Privilege::USE,instance) + raise ActionError.new("remove failed cannot be performed on this instance.") unless + instance.state == Instance::STATE_ERROR + condormatic_instance_reset_error(instance) + notices << "#{instance.name}: remove failed action was successfully queued." + rescue Exception => err + errors << "#{instance.name}: " + err + "<br/>" + end + end + flash[:notice] = notices unless notices.blank? + flash[:error] = errors unless errors.blank? + redirect_to resources_instances_path + end + + def can_create + begin + provider_account = ProviderAccount.find(params[:provider_account_id]) + @instance = Instance.find(params[:instance_id]) + @action_request = "can_create" + @value = Quota.can_create_instance?(@instance, provider_account) + render :partial => 'can_perform_state_change.xml' + rescue ActiveRecord::RecordNotFound + head :not_found + rescue Exception + head :internal_server_error + end + end + + def can_start + begin + provider_account = ProviderAccount.find(params[:provider_account_id]) + @instance = Instance.find(params[:instance_id]) + @action_request = "can_start" + @value = Quota.can_start_instance?(@instance, provider_account) + render :partial => 'can_perform_state_change.xml' + rescue ActiveRecord::RecordNotFound => e + puts e.inspect + head :not_found + rescue Exception => e + puts e.inspect + head :internal_server_error + end + end + + private + + def load_instance + @instance = Instance.find(params[:id].to_a.first) + require_privilege(Privilege::USE,@instance) + end + + def init_new_instance_attrs + @pools = Pool.list_for_user(@current_user, Privilege::CREATE, {:target_type => Instance,:conditions=>{ :enabled => true}}) + @realms = FrontendRealm.all + @hardware_profiles = HardwareProfile.all( + :include => :architecture, + :conditions => { + :provider_id => nil, + 'hardware_profile_properties.value' => @instance.template.architecture + } + ) + end + + def set_view_vars + @header = [ + {:name => 'VM NAME', :sort_attr => 'name'}, + {:name => 'STATUS', :sortable => false}, + {:name => 'TEMPLATE', :sort_attr => 'templates.name'}, + {:name => 'PUBLIC ADDRESS', :sort_attr => 'public_addresses'}, + {:name => 'PROVIDER', :sortable => false}, + {:name => 'CREATED BY', :sort_attr => 'users.last_name'}, + ] + + @pools = Pool.list_for_user(@current_user, Privilege::CREATE, :target_type => Instance) + end + + def load_instances + @instances = Instance.all(:include => [:template, :owner], + :conditions => {:pool_id => @pools}, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + end +end diff --git a/src/app/controllers/pool_families_controller.rb b/src/app/controllers/pool_families_controller.rb new file mode 100644 index 0000000..3d1a5fd --- /dev/null +++ b/src/app/controllers/pool_families_controller.rb @@ -0,0 +1,127 @@ +class PoolFamiliesController < ApplicationController + before_filter :require_user + before_filter :set_params_and_header, :only => [:index, :show] + before_filter :load_pool_families, :only =>[:show] + before_filter :load_tab_captions_and_details_tab, :only => [:show] + + def index + @search_term = params[:q] + if @search_term.blank? + load_pool_families + return + end + + search = PoolFamily.search() do + keywords(params[:q]) + end + @pool_families = search.results + end + + def new + @pool_family = PoolFamily.new(:quota => Quota.new) + end + + def create + @pool_family = PoolFamily.new(params[:pool_family]) + unless @pool_family.save + flash.now[:warning] = "Pool family's creation failed." + render :new and return + else + @pool_family.assign_owner_roles(current_user) + flash[:notice] = "Pool family was added." + redirect_to admin_pool_families_path + end + end + + def edit + @pool_family = PoolFamily.find(params[:id]) + @pool_family.quota ||= Quota.new + end + + def update + @pool_family = PoolFamily.find(params[:id]) + unless @pool_family.update_attributes(params[:pool_family]) + flash[:error] = "Pool Family wasn't updated!" + render :action => 'edit' and return + else + flash[:notice] = "Pool Family was updated!" + redirect_to admin_pool_families_path + end + end + + def show + @pool_family = PoolFamily.find(params[:id]) + @url_params = params.clone + + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :show } + end + end + + def add_provider_account + @pool_family = PoolFamily.find(params[:id]) + @provider_account = ProviderAccount.find(params[:provider_account_id]) + + @pool_family.provider_accounts << @provider_account + flash[:notice] = "Provider Account has been added" + redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + end + + def multi_destroy + deleted = [] + not_deleted = [] + PoolFamily.find(params[:pool_family_selected]).each do |pool_family| + if pool_family.destroy + deleted << pool_family.name + else + not_deleted << pool_family.name + end + end + if deleted.size > 0 + flash[:notice] = t 'pool_families.index.deleted', :list => deleted.join(', ') + end + if not_deleted.size > 0 + flash[:error] = t 'pool_families.index.not_deleted', :list => not_deleted.join(', ') + end + redirect_to admin_pool_families_path + end + + def multi_destroy_provider_accounts + @pool_family = PoolFamily.find(params[:pool_family_id]) + + ProviderAccount.find(params[:provider_account_selected]).each do |provider_account| + @pool_family.provider_accounts.delete provider_account + end + + redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + end + + protected + + def load_tab_captions_and_details_tab + @tab_captions = ['Properties', 'History', 'Permissions', 'Provider Accounts', 'Pools'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + @provider_accounts_header = [{ :name => "Provider Account", :sort_attr => :name}] + end + + def set_params_and_header + @url_params = params.clone + @header = [{ :name => "Name", :sort_attr => :name}, + { :name => "Quota limit", :sort_attr => :name}, + { :name => "Quota currently in use", :sort_attr => :name}, + ] + end + + def load_pool_families + @pool_families = PoolFamily.paginate(:all, + :page => params[:page] || 1, + :order => ( params[:order_field] || 'name' ) + ' ' + (params[:order_dir] || 'asc') + ) + end +end diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb new file mode 100644 index 0000000..ecfff29 --- /dev/null +++ b/src/app/controllers/pools_controller.rb @@ -0,0 +1,141 @@ +class PoolsController < ApplicationController + before_filter :require_user + before_filter :set_params_and_header, :only => [:index, :show] + before_filter :load_pools, :only => [:show] + + def index + @search_term = params[:q] + if @search_term.blank? + load_pools + return + end + + search = Pool.search() do + keywords(params[:q]) + end + @pools = search.results + end + + def show + @pool = Pool.find(params[:id]) + require_privilege(Privilege::VIEW, @pool) + @url_params = params.clone + load_instances + @tab_captions = ['Properties', 'Deployments', 'Instances', 'History', 'Permissions'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def new + require_privilege(Privilege::CREATE, Pool) + @pool = Pool.new + @quota = Quota.new + end + + def create + require_privilege(Privilege::CREATE, Pool) + + @pool = Pool.new(params[:pool]) + @pool.quota = @quota = Quota.new + + limit = params[:quota][:maximum_running_instances] if params[:quota] + @pool.quota.set_maximum_running_instances(limit) + + if @pool.save + @pool.assign_owner_roles(current_user) + flash[:notice] = "Pool added." + redirect_to :action => 'show', :id => @pool.id + else + flash.now[:warning] = "Pool creation failed." + render :new and return + end + end + + def edit + @pool = Pool.find(params[:id]) + require_privilege(Privilege::MODIFY, @pool) + @quota = @pool.quota + end + + def update + @pool = Pool.find(params[:id]) + require_privilege(Privilege::MODIFY, @pool) + @quota = @pool.quota + + limit = params[:quota][:maximum_running_instances] if params[:quota] + @pool.quota.set_maximum_running_instances(limit) + if @pool.update_attributes(params[:pool]) + flash[:notice] = "Pool updated." + redirect_to :action => 'show', :id => @pool.id + else + flash[:error] = "Pool wasn't updated!" + render :action => :edit + end + end + + def multi_destroy + destroyed = [] + failed = [] + error_messages = [] + Pool.find(params[:pools_selected]).each do |pool| + # FIXME: remove this check when pools can be assigned to new users + # default_pool cannot be deleted because metadata object has it tied + # to id of 1 and deleting it prevents new users from being created + if pool.id == MetadataObject.lookup("self_service_default_pool").id + error_messages << "The default pool cannot be deleted" + elsif check_privilege(Privilege::MODIFY, pool) && pool.destroyable? + pool.destroy + destroyed << pool.name + else + failed << pool.name + end + end + + unless destroyed.empty? + flash[:notice] = t('pools.index.pool_deleted', :count => destroyed.length, :list => destroyed.join(', ')) + end + unless failed.empty? + error_messages << t('pools.index.pool_not_deleted', :count => failed.length, :list => failed.join(', ')) + end + unless error_messages.empty? + flash[:error] = error_messages.join('<br />') + end + redirect_to resources_pools_url + end + + protected + + def set_params_and_header + @url_params = params.clone + @header = [ + { :name => "Pool name", :sort_attr => :name }, + { :name => "Quota (Instances)", :sort_attr => "quotas.total_instances"}, + { :name => "% Quota used", :sortable => false }, + { :name => "Pool Family", :sort_attr => "pool_families.name" }, + { :name => "Enabled", :sort_attr => :enabled } + ] + end + + def load_pools + @pools = Pool.paginate(:all, :include => [ :quota, :pool_family ], + :page => params[:page] || 1, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + end + + def load_instances + # If state isn't specified at all, show only running instances. + # (But if it's nil, we want to show all instances) + params[:state] = 'running' unless params.keys.include?('state') + conditions = params[:state].present? ? ['state=?', params[:state]] : '' + @instances = @pool.instances.find(:all, :conditions => conditions) + end +end diff --git a/src/app/controllers/provider_accounts_controller.rb b/src/app/controllers/provider_accounts_controller.rb new file mode 100644 index 0000000..438e7ee --- /dev/null +++ b/src/app/controllers/provider_accounts_controller.rb @@ -0,0 +1,177 @@ +class ProviderAccountsController < ApplicationController + before_filter :require_user + before_filter :load_accounts, :only => :show + before_filter :set_view_vars, :only => [:index,:show] + + def index + @search_term = params[:q] + if @search_term.blank? + load_accounts + else + search = ProviderAccount.search do + keywords(params[:q]) + end + @accounts = search.results + end + end + + def show + @tab_captions = ['Properties', 'Credentials', 'History', 'Permissions'] + @account = ProviderAccount.find(params[:id]) + require_privilege(Privilege::VIEW, @account) + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + + if params.delete :test_account + test_account(@account) + render :action => 'show' and return + end + + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def new + @provider_account = ProviderAccount.new + @quota = Quota.new + @providers = Provider.all + if @providers.empty? + flash[:error] = "You don't have any provider yet. Please create one!" + else + @selected_provider = @providers.first unless @providers.blank? + end + end + + def create + @selected_provider = @provider = Provider.find(params[:provider_account][:provider_id]) + require_privilege(Privilege::CREATE, ProviderAccount, @provider) + + @providers = Provider.all + @provider_account = ProviderAccount.new(params[:provider_account]) + @provider_account.provider = @provider + @provider_account.quota = @quota = Quota.new + + limit = params[:quota][:maximum_running_instances] if params[:quota] + @provider_account.quota.set_maximum_running_instances(limit) + + if @provider_account.invalid? || !@provider_account.valid_credentials? + flash[:error] = "Credentials are invalid!" + render :action => 'new' and return + end + + @provider_account.pool_families << PoolFamily.default + @provider_account.save! + @provider_account.assign_owner_roles(current_user) + if @provider_account.populate_realms + flash[:notice] = "Provider account added." + end + redirect_to admin_provider_account_path(@provider_account) + kick_condor + end + + def edit + @provider_account = ProviderAccount.find(params[:id]) + @selected_provider = @provider_account.provider + @quota = @provider_account.quota + @providers = Provider.find(:all) + require_privilege(Privilege::MODIFY,@provider_account) + end + + def update + @provider_account = ProviderAccount.find(params[:id]) + @selected_provider = @provider = @provider_account.provider + require_privilege(Privilege::MODIFY, @provider) + require_privilege(Privilege::MODIFY,@provider_account) + @quota = @provider_account.quota + @providers = Provider.find(:all) + + limit = params[:quota][:maximum_running_instances] if params[:quota] + @provider_account.quota.set_maximum_running_instances(limit) + if @provider_account.update_attributes(params[:provider_account]) + flash[:notice] = "Provider Account updated!" + redirect_to admin_provider_account_path(@provider_account) + else + flash[:error] = "Provider Account wasn't updated!" + render :action => :edit + end + end + + def multi_destroy + if params[:accounts_selected].blank? + flash[:notice] = "You must select some accounts first." + redirect_to admin_provider_accounts_url and return + end + + succeeded = [] + failed = [] + ProviderAccount.find(params[:accounts_selected]).each do |account| + if check_privilege(Privilege::MODIFY, account) && account.destroyable? + account.destroy + succeeded << account.label + else + failed << account.label + end + end + + unless succeeded.empty? + flash[:notice] = t 'provider_accounts.index.account_deleted', :count => succeeded.length, :list => succeeded.join(', ') + end + unless failed.empty? + flash[:error] = t 'provider_accounts.index.account_not_deleted', :count => failed.length, :list => failed.join(', ') + end + kick_condor + redirect_to admin_provider_accounts_url + end + + def set_selected_provider + @quota = Quota.new + @provider_account = ProviderAccount.new + respond_to do |format| + format.js { + @providers = Provider.find(:all) + @selected_provider = Provider.find(params[:provider_account][:provider_id]) + render :partial => 'provider_selection' + } + format.html { + @providers = Provider.find(:all) + @selected_provider = Provider.find(params[:provider_account][:provider_id]) + render :action => 'new', :layout => true + } + end + end + + protected + + def test_account(account) + if account.valid_credentials? + flash.now[:notice] = "Test Connection Success: Valid Account Details" + else + flash.now[:error] = "Test Connection Failed: Invalid Account Details" + end + rescue + flash.now[:error] = "Test Connection Failed: Could not connect to provider" + end + + def set_view_vars + #FIXME need to include atributes from credentials, credential_definitions and provider_type in load_accounts query to make it work + @header = [ + { :name => "Name", :sortable => false }, + { :name => "Username", :sortable => false}, + { :name => "Provider Type", :sortable => false } + ] + @url_params = params + end + + def load_accounts + @accounts = ProviderAccount.paginate(:all, + :page => params[:page] || 1, + :order => (params[:order_field] || 'label') +' '+ (params[:order_dir] || 'asc') + ) + end +end diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb new file mode 100644 index 0000000..9bbbf8c --- /dev/null +++ b/src/app/controllers/providers_controller.rb @@ -0,0 +1,132 @@ +class ProvidersController < ApplicationController + before_filter :require_user + before_filter :set_view_envs, :only => [:show, :index] + + def index + @params = params + @search_term = params[:q] + if @search_term.blank? + load_providers + return + end + + search = Provider.search do + keywords(params[:q]) + end + @providers = search.results + end + + def new + require_privilege(Privilege::CREATE, Provider) + @provider = Provider.new + end + + def edit + @provider = Provider.find_by_id(params[:id]) + require_privilege(Privilege::MODIFY, @provider) + end + + def show + load_providers + @provider = Provider.find(params[:id]) + @hardware_profiles = @provider.hardware_profiles + @realm_names = @provider.realms.collect { |r| r.name } + + @url_params = params.clone + require_privilege(Privilege::VIEW, @provider) + @tab_captions = ['Properties', 'HW Profiles', 'Realms', 'Provider Accounts', 'Services','History','Permissions'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + + if params.delete :test_provider + test_connection(@provider) + end + + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show' } + end + end + + def create + require_privilege(Privilege::CREATE, Provider) + if params[:provider].has_key?(:provider_type_codename) + provider_type = params[:provider].delete(:provider_type_codename) + provider_type = ProviderType.find_by_codename(provider_type) + params[:provider][:provider_type_id] = provider_type.id + end + @provider = Provider.new(params[:provider]) + if !@provider.connect + flash[:notice] = "Failed to connect to Provider" + render :action => "new" + else + if @provider.save && @provider.populate_hardware_profiles + @provider.assign_owner_roles(current_user) + flash[:notice] = "Provider added." + redirect_to admin_providers_path + else + flash[:notice] = "Cannot add the provider." + render :action => "new" + end + kick_condor + end + end + + def update + @provider = Provider.find_by_id(params[:id]) + require_privilege(Privilege::MODIFY, @provider) + @provider.update_attributes(params[:provider]) + if !@provider.connect + flash[:notice] = "Failed to connect to Provider" + render :action => "edit" + else + if @provider.errors.empty? and @provider.save + flash[:notice] = "Provider updated." + redirect_to admin_providers_path + else + flash[:notice] = "Cannot update the provider." + render :action => 'edit' + end + kick_condor + end + end + + def multi_destroy + Provider.find(params[:provider_selected]).each do |provider| + provider.destroy if check_privilege(Privilege::MODIFY, provider) + end + kick_condor + redirect_to admin_providers_url + end + + def test_connection(provider) + @provider.errors.clear + if @provider.connect + flash[:notice] = "Successfuly Connected to Provider" + else + flash[:notice] = "Failed to Connect to Provider" + @provider.errors.add :url + end + end + + protected + def set_view_envs + @header = [{ :name => "Provider name", :sort_attr => :name }, + { :name => "Provider URL", :sort_attr => :name } + ] + @url_params = params.clone + end + + def load_providers + @header = [{ :name => "Provider name", :sort_attr => :name }, + { :name => "Provider URL", :sort_attr => :name }, + { :name => "Provider Type", :sort_attr => :name } + ] + @providers = Provider.list_for_user(@current_user, Privilege::VIEW) + @url_params = params.clone + end +end diff --git a/src/app/controllers/realm_mappings_controller.rb b/src/app/controllers/realm_mappings_controller.rb new file mode 100644 index 0000000..226cdf9 --- /dev/null +++ b/src/app/controllers/realm_mappings_controller.rb @@ -0,0 +1,40 @@ +class RealmMappingsController < ApplicationController + before_filter :require_user + + def new + require_privilege(Privilege::CREATE, Realm) + @realm_target = RealmBackendTarget.new(:frontend_realm_id => params[:frontend_realm_id], :realm_or_provider_type => params[:realm_or_provider_type]) + load_backend_targets + end + + def create + require_privilege(Privilege::CREATE, Realm) + @realm_target = RealmBackendTarget.new(params[:realm_backend_target]) + if @realm_target.save + flash[:notice] = "Realm mapping was added." + redirect_to admin_realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return + #redirect_to admin_realms_path and return + end + + load_backend_targets + render :new + end + + def multi_destroy + require_privilege(Privilege::MODIFY, Realm) + if params[:id].blank? + flash[:error] = 'You must select at least one mapping to delete.' + redirect_to admin_realm_path(params[:frontend_realm_id], :details_tab => 'mapping') + else + # TODO: add permissions checks + destroyed = RealmBackendTarget.destroy(params[:id]) + redirect_to admin_realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') + end + end + + protected + + def load_backend_targets + @backend_targets = @realm_target.realm_or_provider_type == 'Realm' ? Realm.all : Provider.list_for_user(@current_user, Privilege::VIEW) + end +end diff --git a/src/app/controllers/realms_controller.rb b/src/app/controllers/realms_controller.rb new file mode 100644 index 0000000..7f05ff7 --- /dev/null +++ b/src/app/controllers/realms_controller.rb @@ -0,0 +1,90 @@ +class RealmsController < ApplicationController + before_filter :require_user + before_filter :load_realms, :only =>[:index,:show] + + def new + require_privilege(Privilege::CREATE, Realm) + @realm = FrontendRealm.new + load_backend_realms + end + + def edit + require_privilege(Privilege::MODIFY, Realm) + @realm = FrontendRealm.find(params[:id]) + load_backend_realms + end + + def update + require_privilege(Privilege::MODIFY, Realm) + @realm = FrontendRealm.find(params[:id]) + + if params[:commit] == "Reset" + redirect_to edit_admin_realm_url(@realm) and return + end + + if @realm.update_attributes(params[:frontend_realm]) + flash[:notice] = 'Realm updated successfully!' + redirect_to admin_realms_url and return + end + + load_backend_realms + render :action => 'edit' + end + + def create + require_privilege(Privilege::CREATE, Realm) + @realm = FrontendRealm.new(params[:frontend_realm]) + if @realm.save + flash[:notice] = "Realm was added." + redirect_to admin_realms_path and return + end + + load_backend_realms + render :new + end + + def multi_destroy + if params[:id].blank? + flash[:error] = 'You must select at least one realm to delete.' + else + require_privilege(Privilege::MODIFY, Realm) + FrontendRealm.destroy(params[:id]) + end + redirect_to admin_realms_path + end + + def show + @realm = FrontendRealm.find(params[:id]) + + @url_params = params.clone + @tab_captions = ['Properties', 'Mapping'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + if @details_tab == 'mapping' + @backend_realm_targets = @realm.realm_backend_targets.select {|x| x.realm_or_provider_type == 'Realm'} + @backend_provider_targets = @realm.realm_backend_targets.select {|x| x.realm_or_provider_type == 'Provider'} + end + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab + end + format.html { render :action => 'show'} + end + end + + protected + + def load_backend_realms + #TODO: list only realms user has permission on + @backend_realms = Realm.all + @providers = Provider.list_for_user(current_user, Privilege::VIEW) + end + + def load_realms + @header = [{ :name => "Name", :sort_attr => :name}] + @url_params = params.clone + @realms = FrontendRealm.all + end +end diff --git a/src/app/controllers/resources/deployments_controller.rb b/src/app/controllers/resources/deployments_controller.rb deleted file mode 100644 index 293e348..0000000 --- a/src/app/controllers/resources/deployments_controller.rb +++ /dev/null @@ -1,123 +0,0 @@ -class Resources::DeploymentsController < ApplicationController - before_filter :require_user - before_filter :load_deployments, :only => [:index, :show] - - def index - end - - def launch_new - @launchable_deployables = [] - Deployable.all.each do |deployable| - @launchable_deployables << deployable if deployable.launchable? - end - end - - def new - require_privilege(Privilege::CREATE, Deployment) - @deployment = Deployment.new(:deployable_id => params[:deployable_id]) - if @deployment.deployable.assemblies.empty? - flash[:warning] = "Deployable must have at least one assembly" - redirect_to resources_deployments_path - else - init_new_deployment_attrs - end - end - - def create - require_privilege(Privilege::CREATE, Deployment) - @deployment = Deployment.new(params[:deployment]) - @deployment.owner = current_user - if @deployment.save - flash[:notice] = "Deployment launched" - errors = @deployment.launch(params[:hw_profiles] || {}, current_user) - unless errors.empty? - flash[:error] = { - :summary => "Failed to launch following assemblies:", - :failures => errors - } - end - redirect_to resources_deployment_path(@deployment) - else - flash.now[:warning] = "Deployment launch failed" - init_new_deployment_attrs - render :new - end - end - - def show - @deployment = Deployment.find(params[:id]) - require_privilege(Privilege::VIEW, @deployment) - init_new_deployment_attrs - @tab_captions = ['Properties', 'Instances', 'Provider Services', 'Required Services', 'History', 'Permissions'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def multi_stop - notices = "" - errors = "" - Deployment.find(params[:deployments_selected]).each do |deployment| - deployment.instances.each do |instance| - begin - require_privilege(Privilege::USE,instance) - unless instance.valid_action?('stop') - raise ActionError.new("stop is an invalid action.") - end - - # not sure if task is used as everything goes through condor - #permissons check here - @task = instance.queue_action(@current_user, 'stop') - unless @task - raise ActionError.new("stop cannot be performed on this instance.") - end - condormatic_instance_stop(@task) - notices << "Deployment: #{instance.deployment.name}, Instance: #{instance.name}: stop action was successfully queued.<br/>" - rescue Exception => err - errors << "Deployment: #{instance.deployment.name}, Instance: #{instance.name}: " + err + "<br/>" - end - end - end - flash[:notice] = notices unless notices.blank? - flash[:error] = errors unless errors.blank? - redirect_to resources_deployments_path - end - - private - def load_deployments - @url_params = params - @deployments = Deployment.paginate(:all, - :page => params[:page] || 1, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - @header = [ - { :name => "", :sort_attr => :name }, - { :name => "Deployment name", :sort_attr => :name }, - { :name => "Deployable", :sortable => false }, - { :name => "Owner", :sort_attr => "owner.login"}, - { :name => "Running Since", :sort_attr => :running_since }, - { :name => "Pool", :sort_attr => "pool.name" } - ] - @pools = Pool.list_for_user(current_user, Privilege::CREATE, :target_type => Deployment) - @deployments = Deployment.all(:include => :owner, - :conditions => {:pool_id => @pools}, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - end - - def init_new_deployment_attrs - @pools = Pool.list_for_user(@current_user, Privilege::CREATE, :target_type => Deployment) - @realms = FrontendRealm.all - @hardware_profiles = HardwareProfile.all( - :include => :architecture, - :conditions => {:provider_id => nil} - ) - end -end diff --git a/src/app/controllers/resources/instances_controller.rb b/src/app/controllers/resources/instances_controller.rb deleted file mode 100644 index 37aadeb..0000000 --- a/src/app/controllers/resources/instances_controller.rb +++ /dev/null @@ -1,223 +0,0 @@ -class Resources::InstancesController < ApplicationController - before_filter :require_user, :except => [:can_start, :can_create] - before_filter :load_instance, :only => [:show, :key] - before_filter :set_view_vars, :only => [:show, :index] - - def index - @params = params - @search_term = params[:q] - if @search_term.blank? - load_instances - return - end - - search = Instance.search do - keywords(params[:q]) - end - @instances = search.results - end - - def new - @instance = Instance.new(params[:instance]) - require_privilege(Privilege::CREATE, Instance, @instance.pool) if @instance.pool - - unless @instance.template - redirect_to select_template_resources_instances_path - return - end - - init_new_instance_attrs - end - - def select_template - # FIXME: we need to list only templates for particular user, - # => TODO: add TEMPLATE_* permissions - @templates = Template.paginate( - :page => params[:page] || 1, - :include => {:images => :provider_images}, - :conditions => "provider_images.status = '#{ProviderImage::STATE_COMPLETED}'" - ) - end - - def create - if params[:cancel] - redirect_to select_template_resources_instances_path - return - end - - @instance = Instance.new(params[:instance]) - @instance.state = Instance::STATE_NEW - @instance.owner = current_user - - begin - require_privilege(Privilege::CREATE, Instance, - Pool.find(@instance.pool_id)) - free_quota = Quota.can_start_instance?(@instance, nil) - raise "Pool is not enabled" unless @instance.pool and @instance.pool.enabled - @instance.transaction do - @instance.save! - # set owner permissions: - @task = InstanceTask.create!({:user => current_user, - :task_target => @instance, - :action => InstanceTask::ACTION_CREATE}) - condormatic_instance_create(@task) - end - rescue - init_new_instance_attrs - flash[:warning] = "Failed to launch instance: #{$!}" - render :new - else - if free_quota - flash[:notice] = "Instance added." - else - flash[:warning] = "Quota Exceeded: Instance will not start until you have free quota" - end - redirect_to resources_instances_path - end - end - - def edit - end - - def show - load_instances - @url_params = params.clone - @tab_captions = ['Properties', 'History', 'Permissions'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def key - unless @instance.instance_key.nil? - send_data @instance.instance_key.pem, - :filename => "#{@instance.instance_key.name}.pem", - :type => "text/plain" - return - end - flash[:warning] = "SSH Key not found for this Instance." - redirect_to resources_instance_path(@instance) - end - - def multi_stop - notices = "" - errors = "" - Instance.find(params[:instance_selected]).each do |instance| - begin - require_privilege(Privilege::USE,instance) - unless instance.valid_action?('stop') - raise ActionError.new("stop is an invalid action.") - end - - # not sure if task is used as everything goes through condor - #permissons check here - @task = instance.queue_action(@current_user, 'stop') - unless @task - raise ActionError.new("stop cannot be performed on this instance.") - end - condormatic_instance_stop(@task) - notices << "#{instance.name}: stop action was successfully queued.<br/>" - rescue Exception => err - errors << "#{instance.name}: " + err + "<br/>" - end - end - flash[:notice] = notices unless notices.blank? - flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path - end - - def remove_failed - notices = "" - errors = "" - Instance.find(params[:instance_selected]).each do |instance| - begin - require_privilege(Privilege::USE,instance) - raise ActionError.new("remove failed cannot be performed on this instance.") unless - instance.state == Instance::STATE_ERROR - condormatic_instance_reset_error(instance) - notices << "#{instance.name}: remove failed action was successfully queued." - rescue Exception => err - errors << "#{instance.name}: " + err + "<br/>" - end - end - flash[:notice] = notices unless notices.blank? - flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path - end - - def can_create - begin - provider_account = ProviderAccount.find(params[:provider_account_id]) - @instance = Instance.find(params[:instance_id]) - @action_request = "can_create" - @value = Quota.can_create_instance?(@instance, provider_account) - render :partial => 'can_perform_state_change.xml' - rescue ActiveRecord::RecordNotFound - head :not_found - rescue Exception - head :internal_server_error - end - end - - def can_start - begin - provider_account = ProviderAccount.find(params[:provider_account_id]) - @instance = Instance.find(params[:instance_id]) - @action_request = "can_start" - @value = Quota.can_start_instance?(@instance, provider_account) - render :partial => 'can_perform_state_change.xml' - rescue ActiveRecord::RecordNotFound => e - puts e.inspect - head :not_found - rescue Exception => e - puts e.inspect - head :internal_server_error - end - end - - private - - def load_instance - @instance = Instance.find(params[:id].to_a.first) - require_privilege(Privilege::USE,@instance) - end - - def init_new_instance_attrs - @pools = Pool.list_for_user(@current_user, Privilege::CREATE, {:target_type => Instance,:conditions=>{ :enabled => true}}) - @realms = FrontendRealm.all - @hardware_profiles = HardwareProfile.all( - :include => :architecture, - :conditions => { - :provider_id => nil, - 'hardware_profile_properties.value' => @instance.template.architecture - } - ) - end - - def set_view_vars - @header = [ - {:name => 'VM NAME', :sort_attr => 'name'}, - {:name => 'STATUS', :sortable => false}, - {:name => 'TEMPLATE', :sort_attr => 'templates.name'}, - {:name => 'PUBLIC ADDRESS', :sort_attr => 'public_addresses'}, - {:name => 'PROVIDER', :sortable => false}, - {:name => 'CREATED BY', :sort_attr => 'users.last_name'}, - ] - - @pools = Pool.list_for_user(@current_user, Privilege::CREATE, :target_type => Instance) - end - - def load_instances - @instances = Instance.all(:include => [:template, :owner], - :conditions => {:pool_id => @pools}, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - end -end diff --git a/src/app/controllers/resources/pools_controller.rb b/src/app/controllers/resources/pools_controller.rb deleted file mode 100644 index 530883a..0000000 --- a/src/app/controllers/resources/pools_controller.rb +++ /dev/null @@ -1,141 +0,0 @@ -class Resources::PoolsController < ApplicationController - before_filter :require_user - before_filter :set_params_and_header, :only => [:index, :show] - before_filter :load_pools, :only => [:show] - - def index - @search_term = params[:q] - if @search_term.blank? - load_pools - return - end - - search = Pool.search() do - keywords(params[:q]) - end - @pools = search.results - end - - def show - @pool = Pool.find(params[:id]) - require_privilege(Privilege::VIEW, @pool) - @url_params = params.clone - load_instances - @tab_captions = ['Properties', 'Deployments', 'Instances', 'History', 'Permissions'] - @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] - respond_to do |format| - format.js do - if @url_params.delete :details_pane - render :partial => 'layouts/details_pane' and return - end - render :partial => @details_tab and return - end - format.html { render :action => 'show'} - end - end - - def new - require_privilege(Privilege::CREATE, Pool) - @pool = Pool.new - @quota = Quota.new - end - - def create - require_privilege(Privilege::CREATE, Pool) - - @pool = Pool.new(params[:pool]) - @pool.quota = @quota = Quota.new - - limit = params[:quota][:maximum_running_instances] if params[:quota] - @pool.quota.set_maximum_running_instances(limit) - - if @pool.save - @pool.assign_owner_roles(current_user) - flash[:notice] = "Pool added." - redirect_to :action => 'show', :id => @pool.id - else - flash.now[:warning] = "Pool creation failed." - render :new and return - end - end - - def edit - @pool = Pool.find(params[:id]) - require_privilege(Privilege::MODIFY, @pool) - @quota = @pool.quota - end - - def update - @pool = Pool.find(params[:id]) - require_privilege(Privilege::MODIFY, @pool) - @quota = @pool.quota - - limit = params[:quota][:maximum_running_instances] if params[:quota] - @pool.quota.set_maximum_running_instances(limit) - if @pool.update_attributes(params[:pool]) - flash[:notice] = "Pool updated." - redirect_to :action => 'show', :id => @pool.id - else - flash[:error] = "Pool wasn't updated!" - render :action => :edit - end - end - - def multi_destroy - destroyed = [] - failed = [] - error_messages = [] - Pool.find(params[:pools_selected]).each do |pool| - # FIXME: remove this check when pools can be assigned to new users - # default_pool cannot be deleted because metadata object has it tied - # to id of 1 and deleting it prevents new users from being created - if pool.id == MetadataObject.lookup("self_service_default_pool").id - error_messages << "The default pool cannot be deleted" - elsif check_privilege(Privilege::MODIFY, pool) && pool.destroyable? - pool.destroy - destroyed << pool.name - else - failed << pool.name - end - end - - unless destroyed.empty? - flash[:notice] = t('pools.index.pool_deleted', :count => destroyed.length, :list => destroyed.join(', ')) - end - unless failed.empty? - error_messages << t('pools.index.pool_not_deleted', :count => failed.length, :list => failed.join(', ')) - end - unless error_messages.empty? - flash[:error] = error_messages.join('<br />') - end - redirect_to resources_pools_url - end - - protected - - def set_params_and_header - @url_params = params.clone - @header = [ - { :name => "Pool name", :sort_attr => :name }, - { :name => "Quota (Instances)", :sort_attr => "quotas.total_instances"}, - { :name => "% Quota used", :sortable => false }, - { :name => "Pool Family", :sort_attr => "pool_families.name" }, - { :name => "Enabled", :sort_attr => :enabled } - ] - end - - def load_pools - @pools = Pool.paginate(:all, :include => [ :quota, :pool_family ], - :page => params[:page] || 1, - :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') - ) - end - - def load_instances - # If state isn't specified at all, show only running instances. - # (But if it's nil, we want to show all instances) - params[:state] = 'running' unless params.keys.include?('state') - conditions = params[:state].present? ? ['state=?', params[:state]] : '' - @instances = @pool.instances.find(:all, :conditions => conditions) - end -end diff --git a/src/app/controllers/roles_controller.rb b/src/app/controllers/roles_controller.rb new file mode 100644 index 0000000..a0ac666 --- /dev/null +++ b/src/app/controllers/roles_controller.rb @@ -0,0 +1,100 @@ +class RolesController < ApplicationController + before_filter :require_user + before_filter :load_roles, :only => [:show] + before_filter :load_params_and_headers, :only => [:index] + + def index + @search_term = params[:q] + if @search_term.blank? + load_roles + return + end + + search = Role.search() do + keywords(params[:q]) + end + @roles = search.results + end + + def new + require_privilege(Privilege::PERM_SET) + @role = Role.new + end + + def create + require_privilege(Privilege::PERM_SET) + @role = Role.new(params[:role]) + + # TODO: (lmartinc) Fix this and let user select the scope. Consult with sseago. + @role.scope = BasePermissionObject.to_s if @role.scope.nil? + + if @role.save + flash[:notice] = 'Role successfully saved!' + redirect_to admin_roles_path and return + end + + render :action => 'new' + end + + def show + require_privilege(Privilege::PERM_VIEW) + @role = Role.find(params[:id]) + + @url_params = params.clone + @tab_captions = ['Properties'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab + end + format.html { render :partial => @details_tab } + end + end + + def edit + require_privilege(Privilege::PERM_SET) + @role = Role.find(params[:id]) + end + + def update + require_privilege(Privilege::PERM_SET) + @role = Role.find(params[:id]) + + if params[:commit] == "Reset" + redirect_to edit_admin_role_url(@role) and return + end + + if @role.update_attributes(params[:role]) + flash[:notice] = 'Role updated successfully!' + redirect_to admin_roles_url and return + end + + render :action => 'edit' + end + + def multi_destroy + require_privilege(Privilege::PERM_SET) + Role.destroy(params[:role_selected]) + redirect_to admin_roles_url + end + + protected + + def load_params_and_headers + @header = [ + { :name => "Role name", :sort_attr => :name } + ] + @url_params = params.clone + end + + def load_roles + @roles = Role.paginate(:all, + :page => params[:page] || 1, + :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] || 'asc') + ) + end + +end diff --git a/src/app/controllers/settings_controller.rb b/src/app/controllers/settings_controller.rb new file mode 100644 index 0000000..4cd341c --- /dev/null +++ b/src/app/controllers/settings_controller.rb @@ -0,0 +1,44 @@ +class SettingsController < ApplicationController + before_filter :require_user + + # Settings MetaData Keys + SELF_SERVICE_DEFAULT_QUOTA = "self_service_default_quota" + KEYS = [SELF_SERVICE_DEFAULT_QUOTA] + + def self_service + require_privilege(Privilege::MODIFY) + @self_service_default_quota = MetadataObject.lookup(SELF_SERVICE_DEFAULT_QUOTA) + end + + def general_settings + require_privilege(Privilege::MODIFY) + end + + def update + KEYS.each do |key| + if params[key] + if key == SELF_SERVICE_DEFAULT_QUOTA + @self_service_default_quota = MetadataObject.lookup(key) + if !@self_service_default_quota.update_attributes(params[key]) + flash[:notice] = "Could not update the default quota" + render :self_service + return + end + elsif key == SELF_SERVICE_DEFAULT_POOL + if Pool.exists?(params[key]) + MetadataObject.set(key, Pool.find(params[key])) + end + elsif key == SELF_SERVICE_DEFAULT_ROLE + if Role.exists?(params[key]) + MetadataObject.set(key, Role.find(params[key])) + end + else + MetadataObject.set(key, params[key]) + end + end + end + flash[:notice] = "Settings Updated!" + redirect_to :action => 'self_service' + end + +end diff --git a/src/app/controllers/templates_controller.rb b/src/app/controllers/templates_controller.rb new file mode 100644 index 0000000..786f55a --- /dev/null +++ b/src/app/controllers/templates_controller.rb @@ -0,0 +1,301 @@ +require 'util/repository_manager' + +class TemplatesController < ApplicationController + before_filter :require_user + before_filter :set_view_vars, :only => [:index, :show] + + def index + require_privilege(Privilege::VIEW, Template) + @params = params + @search_term = params[:q] + if @search_term.blank? + load_templates + return + end + + # FIXME: Filter on Permissions + search = Template.search do + keywords(params[:q]) + end + @templates = search.results + end + + def show + load_templates + @tpl = Template.find(params[:id]) + require_privilege(Privilege::VIEW, @tpl) + @url_params = params.clone + @tab_captions = ['Properties', 'Builds'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + load_images(@tpl) if @details_tab == 'builds' + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab and return + end + format.html { render :action => 'show'} + end + end + + def new + check_create_permission + # can't use @template variable - is used by compass (or something other) + @tpl = Template.new(params[:tpl]) + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + end + + def add_selected + if params[:tpl] and not params[:tpl][:id].blank? + @tpl = Template.find(params[:tpl][:id]) + check_edit_permission + @tpl.attributes = params[:tpl] + else + @tpl = Template.new(params[:tpl]) + check_create_permission + end + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + @tpl.add_software(params[:packages].to_a + params[:selected_packages].to_a + params[:cached_packages].to_a, + params[:groups].to_a + params[:selected_groups].to_a) + render :action => @tpl.id ? :edit : :new + end + + def edit + @tpl = Template.find(params[:id]) + check_edit_permission + @tpl.attributes = params[:tpl] unless params[:tpl].blank? + @tpl.add_software(params[:packages].to_a, params[:groups].to_a) + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + end + + def create + check_create_permission + @tpl = Template.new(params[:tpl]) + @tpl.packages = params[:packages] + @tpl.owner = current_user + if @tpl.save + flash[:notice] = "Template saved." + @tpl.set_complete + if params[:create_deployable] + Deployable.create!(:name => @tpl.name, :assemblies => @tpl.assemblies, :owner => current_user) + end + redirect_to image_factory_templates_path + else + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + render :new + end + end + + def update + @tpl = Template.find(params[:id]) + check_edit_permission + @tpl.packages = [] + @tpl.add_software(params[:packages].to_a, params[:groups].to_a) + + if @tpl.update_attributes(params[:tpl]) + @tpl.set_complete + flash[:notice] = "Template updated." + redirect_to image_factory_templates_path + else + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + render :action => 'edit' + end + end + + def search_packages + set_package_vars + @page = get_page + @cached_packages = params[:cached_packages].to_a + params[:selected_packages].to_a + @searched_packages = params[:package_search].empty? ? [] : @repository_manager.search_package( + params[:package_search]).paginate(:page => @page, :per_page => 60) + if request.xhr? + render :partial => 'search_packages' + else + render 'search_packages' + end + end + + def metagroup_packages + set_package_vars + group = params[:__rewrite] ? params[:__rewrite][:metagroup_packages] : nil + @metagroup_packages = @repository_manager.metagroup_packages(group) + if request.xhr? + render :partial => 'metagroup_packages' + end + end + + def collections + if params[:package_search_button] + search_packages + return + end + set_package_vars + @collections = @repository_manager.groups + if request.xhr? + render :partial => 'collections' + end + end + + def content_selection + set_package_vars(true) + @collections = @repository_manager.groups + if request.xhr? + render :partial => 'software_selection', :locals => {:view => 'collections'} + else + render :collections + end + end + + def managed_content + if params[:template_id].blank? + @tpl = Template.new + check_create_permission + else + @tpl = Template.find(params[:template_id]) + check_edit_permission + end + @tpl.add_software(params[:packages].to_a + params[:selected_packages].to_a, + params[:groups].to_a + params[:selected_groups].to_a) + render :layout => false + end + + def assembly + # FIXME: do we need perm check here? + end + + def deployment_definition + # FIXME: do we need perm check here? + @all_targets = ProviderType.all(:conditions => {:build_supported => true}) + end + + def remove_package + params[:packages].delete(params[:name]) unless params[:name].blank? + if params[:tpl] and not params[:tpl][:id].blank? + @tpl = Template.find(params[:tpl][:id]) + check_edit_permission + @tpl.attributes = params[:tpl] + else + @tpl = Template.new(params[:tpl]) + check_create_permission + end + @tpl.add_software(params[:packages].to_a, params[:groups].to_a) + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + render :action => @tpl.id ? :edit : :new + end + + def multi_destroy + destroyed = [] + failed = [] + Template.find(params[:selected]).each do |template| + if check_privilege(Privilege::MODIFY, template) and template.destroy + destroyed << template.name + else + failed << template.name + end + end + + unless destroyed.empty? + flash[:notice] = t('templates.index.deleted', :count => destroyed.length, :list => destroyed.join(', ')) + end + unless failed.empty? + flash[:error] = t('templates.index.not_deleted', :count => failed.length, :list => failed.join(', ')) + end + redirect_to image_factory_templates_url + end + + protected + + def load_images(tpl) + @targets_not_built = {} + + Provider.all.each do |p| + @targets_not_built[p.provider_type.id] = p.provider_type.name + end + + tpl.images.each do |img| + @targets_not_built.delete(img.provider_type_id) + end + @targets_not_built = @targets_not_built.invert + + @images = tpl.images + end + + def set_view_vars + @header = [ + {:name => 'NAME', :sort_attr => 'name'}, + {:name => 'OS', :sort_attr => 'platform'}, + {:name => 'VERSION', :sort_attr => 'platform_version'}, + {:name => 'BOOTABLE', :sortable => false}, + {:name => 'ARCH', :sort_attr => 'architecture'}, + ] + + @url_params = params.clone + end + + def load_templates + @templates = Template.list_for_user(current_user, + Privilege::VIEW, + :include => :images, + :order => get_order('name') + ) + end + + def set_package_vars(set_all = false) + id = params[:id] || (params[:tpl] && params[:tpl][:id]) || nil + if id.blank? + @tpl = Template.new + check_create_permission + else + @tpl = Template.find(id) + check_edit_permission + end + @tpl.attributes = params[:tpl] unless params[:tpl].nil? + @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) + @groups = @repository_manager.groups + @categories = @repository_manager.categories if not request.xhr? or set_all + @metagroups = @repository_manager.metagroups if not request.xhr? or set_all + @tpl.add_software(params[:packages].to_a, params[:groups].to_a) + end + + def get_order(default) + @order_dir = params[:order_dir] == 'desc' ? 'desc' : 'asc' + @order_field = params[:order_field] || default + "#{@order_field} #{@order_dir}" + end + + def flash_error(summary, errs) + flash.now[:error] ||= {} + flash.now[:error][:summary] = summary + flash.now[:error][:failures] ||= {} + flash.now[:error][:failures].merge!(errs) + end + + def check_create_permission + require_privilege(Privilege::CREATE, Template) + end + + def check_edit_permission + require_privilege(Privilege::MODIFY, @tpl) + end + + def get_selected_id + ids = params[:ids].to_a + if ids.size != 1 + flash[:warning] = ids.empty? ? 'No Template Selected' : 'You can select only one template' + return + end + return ids.first + end + + def get_page + if params[:page] == 'Previous' + return params[:old_page].to_i - 1 + elsif params[:page] == 'Next' + return params[:old_page].to_i + 1 + else + return params[:page].blank? ? 1 : params[:page].to_i + end + end + +end diff --git a/src/app/controllers/users_controller.rb b/src/app/controllers/users_controller.rb new file mode 100644 index 0000000..8e3484c --- /dev/null +++ b/src/app/controllers/users_controller.rb @@ -0,0 +1,124 @@ +class UsersController < ApplicationController + before_filter :require_user, :except => [:new, :create] + before_filter :load_users, :only => [:show] + + def index + require_privilege(Privilege::VIEW, User) + @params = params + @search_term = params[:q] + if @search_term.blank? + load_users + return + end + + search = User.search do + keywords(params[:q]) + end + @users = search.results + end + + def new + require_privilege(Privilege::CREATE, User) unless current_user.nil? + @user = User.new + @user.quota = Quota.new + end + + def create + if params[:commit] == "Reset" + redirect_to :action => 'new' and return + end + + require_privilege(Privilege::MODIFY, User) unless current_user.nil? + @user = User.new(params[:user]) + + @registration = RegistrationService.new(@user) + unless @registration.save + flash.now[:warning] = "User registration failed: #{@registration.error}" + render :action => 'new' and return + end + + if current_user != @user + flash[:notice] = "User registered!" + redirect_to admin_users_url + else + flash[:notice] = "You have successfully registered!" + redirect_to root_url + end + end + + def show + @user = params[:id] ? User.find(params[:id]) : current_user + require_privilege(Privilege::VIEW, User) unless current_user == @user + @quota_resources = @user.quota.quota_resources + + @url_params = params.clone + @tab_captions = ['Properties'] + @details_tab = params[:details_tab].blank? ? 'properties' : params[:details_tab] + respond_to do |format| + format.js do + if @url_params.delete :details_pane + render :partial => 'layouts/details_pane' and return + end + render :partial => @details_tab + end + format.html { render :partial => @details_tab } + end + end + + def edit + @user = params[:id] ? User.find(params[:id]) : current_user + require_privilege(Privilege::MODIFY, User) unless @user == current_user + end + + def update + @user = params[:id] ? User.find(params[:id]) : current_user + require_privilege(Privilege::MODIFY, User) unless @user == current_user + + if params[:commit] == "Reset" + redirect_to edit_admin_user_url(@user) and return + end + + redirect_to root_url and return unless @user + + unless @user.update_attributes(params[:user]) + render :action => 'edit' and return + else + flash[:notice] = "User updated!" + redirect_to (@user == current_user) ? root_url : admin_users_url + end + end + + def multi_destroy + require_privilege(Privilege::MODIFY, User) + deleted_users = [] + User.find(params[:user_selected]).each do |user| + if user == current_user + flash[:warning] = "Cannot delete #{user.login}: you are logged in as this user" + else + user.destroy + deleted_users << user.login + end + end + unless deleted_users.empty? + msg = "Deleted user#{'s' if deleted_users.length > 1}" + flash[:notice] = "#{msg}: #{deleted_users.join(', ')}" + end + redirect_to admin_users_url + end + + protected + + def load_users + @users = User.all + sort_order = params[:sort_by].nil? ? "login" : params[:sort_by] + # TODO: (lmartinc) Optimize this sort! hell! + if sort_order == "percentage_quota_used" + @users.sort! {|x,y| y.quota.percentage_used <=> x.quota.percentage_used } + elsif sort_order == "quota" + @users.sort! {|x,y| (x.quota.maximum_running_instances and y.quota.maximum_running_instances) ? x.quota.maximum_running_instances <=> y.quota.maximum_running_instances : (x ? 1 : -1) } + else + @users = User.all(:order => sort_order) + end + end + +end diff --git a/src/app/helpers/resources/instances_helper.rb b/src/app/helpers/resources/instances_helper.rb deleted file mode 100644 index 91474ad..0000000 --- a/src/app/helpers/resources/instances_helper.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Copyright (C) 2009 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA. A copy of the GNU General Public License is -# also available at http://www.gnu.org/copyleft/gpl.html. - -# Filters added to this controller apply to all controllers in the application. -# Likewise, all the methods added will be available for all controllers. - -module Resources::InstancesHelper - def owner_name(inst) - return '' unless inst.owner - # if last_name is set, use full name, - # else use login - if inst.owner.last_name.blank? - inst.owner.login - else - "#{inst.owner.first_name} #{inst.owner.last_name}" - end - end -end diff --git a/src/app/views/admin/hardware_profiles/_form.haml b/src/app/views/admin/hardware_profiles/_form.haml deleted file mode 100644 index 70c982b..0000000 --- a/src/app/views/admin/hardware_profiles/_form.haml +++ /dev/null @@ -1,18 +0,0 @@ -=hwp_form.label :name -=hwp_form.text_field :name -%table - = sortable_table_header @header - - [:memory, :cpu, :storage, :architecture].each do |type| - - hwp_form.fields_for type do |hwpp_form| - %tr - %td - =hwpp_form.text_field(:name, :readonly => "readonly") - %td - =hwpp_form.text_field(:unit, :size => 5, :readonly => "readonly") - %td - -if type == :architecture - =hwpp_form.select("value", ["i386", "x86_64"], {}) - -else - =hwpp_form.text_field(:value) -= hwp_form.submit 'Check Matches', :class => "submit formbutton" -= hwp_form.submit 'Save', :class => 'submit formbutton' \ No newline at end of file diff --git a/src/app/views/admin/hardware_profiles/_history.haml b/src/app/views/admin/hardware_profiles/_history.haml deleted file mode 100644 index 894e9cd..0000000 --- a/src/app/views/admin/hardware_profiles/_history.haml +++ /dev/null @@ -1 +0,0 @@ -%h3 History diff --git a/src/app/views/admin/hardware_profiles/_list.haml b/src/app/views/admin/hardware_profiles/_list.haml deleted file mode 100644 index eee5ff1..0000000 --- a/src/app/views/admin/hardware_profiles/_list.haml +++ /dev/null @@ -1,28 +0,0 @@ -- form_tag do - #object-actions - = link_to "New Hardware Profile", new_admin_hardware_profile_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_hardware_profiles_path, 'DELETE', :id => 'delete_button' - #selections - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - - #list - %table - = sortable_table_header @header - - @hardware_profiles.each do |hwp| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "hardware_profile_selected[]", :type => "checkbox", :value => hwp.id, :id => "hardware_profile_checkbox_#{hwp.id}", :checked => selected } - = link_to hwp.name, admin_hardware_profile_path(hwp) - %td - =hwp.architecture.to_s - %td - =hwp.memory.to_s - %td - =hwp.storage.to_s - %td - =hwp.cpu.to_s diff --git a/src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml b/src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml deleted file mode 100644 index 49c45e3..0000000 --- a/src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml +++ /dev/null @@ -1,24 +0,0 @@ -- if @hardware_profile - %h2 - =@hardware_profile.name -- if @matching_hwps.size > 0 - %table - = sortable_table_header @provider_hwps_header - - @matching_hwps.each do |hwp| - %tr - %td - - if hwp.provider - = link_to hwp.provider.name, admin_provider_path(hwp.provider) - %td - = link_to hwp.name, admin_hardware_profile_path(hwp) - %td - =hwp.architecture.to_s - %td - =hwp.memory.to_s - %td - =hwp.storage.to_s - %td - =hwp.cpu.to_s -- else - %h3 - No Matching Provider Hardware Profiles Could be found \ No newline at end of file diff --git a/src/app/views/admin/hardware_profiles/_properties.haml b/src/app/views/admin/hardware_profiles/_properties.haml deleted file mode 100644 index 0739b84..0000000 --- a/src/app/views/admin/hardware_profiles/_properties.haml +++ /dev/null @@ -1,13 +0,0 @@ -%h3 - = @hardware_profile.name + "(" + (@hardware_profile.provider_id.nil? ? "Front End" : "Provider" ) + ")" - = link_to 'Edit', edit_admin_hardware_profile_path(@hardware_profile), :class => 'button' -%table - = sortable_table_header @properties_header - - @hwp_properties.each do |hwpp| - %tr - %td - =hwpp.name.nil? ? "n/a" : hwpp.name - %td - =hwpp.unit.nil? ? "n/a" : hwpp.unit - %td - =hwpp.value.nil? ? "n/a" : hwpp.value diff --git a/src/app/views/admin/hardware_profiles/create.haml b/src/app/views/admin/hardware_profiles/create.haml deleted file mode 100644 index c26bbe9..0000000 --- a/src/app/views/admin/hardware_profiles/create.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h3 - Check Matching Hardware Profiles -- content_for :list do - = render :partial => "form" -- content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/admin/hardware_profiles/edit.haml b/src/app/views/admin/hardware_profiles/edit.haml deleted file mode 100644 index e32eebd..0000000 --- a/src/app/views/admin/hardware_profiles/edit.haml +++ /dev/null @@ -1,7 +0,0 @@ -- content_for :list do - %h3 - Edit Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| - = render :partial => "form", :locals => { :hwp_form => hwp_form } -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/hardware_profiles/index.haml b/src/app/views/admin/hardware_profiles/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/hardware_profiles/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/hardware_profiles/new.haml b/src/app/views/admin/hardware_profiles/new.haml deleted file mode 100644 index 3355c87..0000000 --- a/src/app/views/admin/hardware_profiles/new.haml +++ /dev/null @@ -1,7 +0,0 @@ -- content_for :list do - %h3 - New Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profiles_path, :html => { :multipart => true } do |hwp_form| - = render :partial => "form", :locals => { :hwp_form => hwp_form } -- content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/admin/hardware_profiles/show.haml b/src/app/views/admin/hardware_profiles/show.haml deleted file mode 100644 index a5a777d..0000000 --- a/src/app/views/admin/hardware_profiles/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/admin/pool_families/_form.haml b/src/app/views/admin/pool_families/_form.haml deleted file mode 100644 index e493931..0000000 --- a/src/app/views/admin/pool_families/_form.haml +++ /dev/null @@ -1,12 +0,0 @@ -= error_messages_for :pool_family -= form.error_message_on :name, 'Name ' -%fieldset.clear - = form.label :name,'Pool Family Name :' - = form.text_field :name, :title => 'pool_family_name', :value => @pool_family.name, :class => "clear grid_4 alpha" -%fieldset.clear - - form.fields_for :quota do |quota_form| - %fieldset.clear - = quota_form.label :maximum_running_instances, t(:maximum_running_instances), :class => "alpha grid_3" - = quota_form.text_field :maximum_running_instances -%fieldset.clear - = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/admin/pool_families/_history.haml b/src/app/views/admin/pool_families/_history.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/pool_families/_list.haml b/src/app/views/admin/pool_families/_list.haml deleted file mode 100644 index 323b6b7..0000000 --- a/src/app/views/admin/pool_families/_list.haml +++ /dev/null @@ -1,23 +0,0 @@ -- form_tag do - = link_to "Create", new_admin_pool_family_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_pool_families_path, 'DELETE', :id => 'delete_button' - - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - - %table#pool_families_table - = sortable_table_header @header - - unless @pool_families.blank? - - @pool_families.each do |pool_family| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "pool_family_selected[]", :type => "checkbox", :value => pool_family.id, :id => "pool_family_checkbox_#{pool_family.id}", :checked => selected } - = link_to pool_family.name, admin_pool_family_path(pool_family) - %td - = pool_family.quota.maximum_running_instances or 'unlimited' - %td - = "#{pool_family.quota.percentage_used} %" diff --git a/src/app/views/admin/pool_families/_permissions.haml b/src/app/views/admin/pool_families/_permissions.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/pool_families/_pools.haml b/src/app/views/admin/pool_families/_pools.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/pool_families/_properties.haml b/src/app/views/admin/pool_families/_properties.haml deleted file mode 100644 index 02d197e..0000000 --- a/src/app/views/admin/pool_families/_properties.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h3 - Properties for - = @pool_family.name -= link_to "Edit", edit_admin_pool_family_path(@pool_family), {:class => 'button'} diff --git a/src/app/views/admin/pool_families/_provider_accounts.haml b/src/app/views/admin/pool_families/_provider_accounts.haml deleted file mode 100644 index 358e3d2..0000000 --- a/src/app/views/admin/pool_families/_provider_accounts.haml +++ /dev/null @@ -1,25 +0,0 @@ -%h3 - Provider Accounts for - = @pool_family.name - -- unless @pool_family.provider_accounts.blank? - - form_tag do - = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_admin_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' - = #submit_tag "Remove selected" - - %table#provider_accounts_table - = sortable_table_header @provider_accounts_header - - @pool_family.provider_accounts.each do |provider_account| - %tr - %td - - selected = @url_params[:select_provider_accounts] == 'all' - %input{:name => "provider_account_selected[]", :type => "checkbox", :value => provider_account.id, :id => "provider_account_checkbox_#{provider_account.id}", :checked => selected } - = provider_account.name - -- unless @pool_family.provider_accounts.count == ProviderAccount.all.count - - form_for :pool_family, :url => add_provider_account_admin_pool_families_path(:id => @pool_family.id) do |f| - - unless @pool_family.provider_accounts.blank? - = select_tag :provider_account_id, options_for_select(ProviderAccount.find(:all, :conditions => [ "id NOT IN (?)", @pool_family.provider_account_ids ]).collect{ |pa| [pa.name, pa.id] }) - - else - = select_tag :provider_account_id, options_for_select(ProviderAccount.all.collect{ |pa| [pa.name, pa.id] }) - = f.submit "Add to #{@pool_family.name}" diff --git a/src/app/views/admin/pool_families/edit.haml b/src/app/views/admin/pool_families/edit.haml deleted file mode 100644 index 1c09438..0000000 --- a/src/app/views/admin/pool_families/edit.haml +++ /dev/null @@ -1,7 +0,0 @@ -%h3 - Editing - = @pool_family.name - Pool Family - --form_for @pool_family, :url => admin_pool_family_path(@pool_family), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/admin/pool_families/index.haml b/src/app/views/admin/pool_families/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/pool_families/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/pool_families/new.haml b/src/app/views/admin/pool_families/new.haml deleted file mode 100644 index 7dbac4c..0000000 --- a/src/app/views/admin/pool_families/new.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h2 Create a new Pool family -- form_for @pool_family, :url => admin_pool_families_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_pool_families_path } diff --git a/src/app/views/admin/pool_families/show.haml b/src/app/views/admin/pool_families/show.haml deleted file mode 100644 index 0c36221..0000000 --- a/src/app/views/admin/pool_families/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for 'list' do - = render :partial => 'list' - -- content_for 'details' do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/provider_accounts/_credentials.haml b/src/app/views/admin/provider_accounts/_credentials.haml deleted file mode 100644 index 9d31c8d..0000000 --- a/src/app/views/admin/provider_accounts/_credentials.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - Credentials for - = @account.name diff --git a/src/app/views/admin/provider_accounts/_history.haml b/src/app/views/admin/provider_accounts/_history.haml deleted file mode 100644 index 429320a..0000000 --- a/src/app/views/admin/provider_accounts/_history.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - History for - = @account.name diff --git a/src/app/views/admin/provider_accounts/_list.haml b/src/app/views/admin/provider_accounts/_list.haml deleted file mode 100644 index b431f9b..0000000 --- a/src/app/views/admin/provider_accounts/_list.haml +++ /dev/null @@ -1,20 +0,0 @@ -- form_tag do - = link_to "New Account", new_admin_provider_account_path, :class => 'button' - = restful_submit_tag "Delete", "delete", multi_destroy_admin_provider_accounts_path, 'DELETE' - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - %table - = sortable_table_header @header - - @accounts.each do |account| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => 'accounts_selected[]', :type => 'checkbox', :value => account.id, :id => "account_checkbox_#{account.id}", :checked => selected } - = link_to account.name, admin_provider_account_path(account) - %td - =account.credentials_hash['username'] - %td - =account.provider.provider_type.name diff --git a/src/app/views/admin/provider_accounts/_permissions.haml b/src/app/views/admin/provider_accounts/_permissions.haml deleted file mode 100644 index 92ad7a5..0000000 --- a/src/app/views/admin/provider_accounts/_permissions.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - Permissions for - = @account.name diff --git a/src/app/views/admin/provider_accounts/_properties.haml b/src/app/views/admin/provider_accounts/_properties.haml deleted file mode 100644 index 27789a1..0000000 --- a/src/app/views/admin/provider_accounts/_properties.haml +++ /dev/null @@ -1,13 +0,0 @@ -%h3 - Properties for - = @account.name -%p - %label - Running instances quota: - = @account.quota.maximum_running_instances or 'unlimited' -%p - %label - Account ID: - = @account.credentials_hash['account_number'] -= link_to "Edit", edit_admin_provider_account_path(@account), { :class => 'button' } -= link_to "Test", admin_provider_account_path(@account, {:test_account => true}), { :class => 'button' } diff --git a/src/app/views/admin/provider_accounts/_provider_form.haml b/src/app/views/admin/provider_accounts/_provider_form.haml deleted file mode 100644 index 182fc36..0000000 --- a/src/app/views/admin/provider_accounts/_provider_form.haml +++ /dev/null @@ -1,27 +0,0 @@ -%fieldset.clear - = label :provider_account, "Account name:" - = text_field :provider_account, :label -- CredentialDefinition::CREDENTIAL_DEFINITIONS_ORDER.each do |cred_order| - - @provider_account.all_credentials(@selected_provider).each do |cred| - - if cred_order == cred.credential_definition.name - %fieldset.clear - = label_tag cred.credential_definition.label - - if cred.credential_definition.input_type == "password" - = password_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", cred.value - - elsif cred.credential_definition.input_type == "file" - = file_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", :value => cred.value - - else - = text_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", cred.value - -= label_tag "Quota" -= text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" -( -%button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> - = t('provider_accounts.form.unlimited_quota') -) -%fieldset.clear - -:javascript - function set_unlimited_quota(elem_id) { - $("#" + elem_id)[0].value = "unlimited"; - } diff --git a/src/app/views/admin/provider_accounts/_provider_selection.haml b/src/app/views/admin/provider_accounts/_provider_selection.haml deleted file mode 100644 index 2095fde..0000000 --- a/src/app/views/admin/provider_accounts/_provider_selection.haml +++ /dev/null @@ -1,25 +0,0 @@ -%fieldset#provider_type.clear - = label_tag "Provider: " - = select(:provider_account, :provider_id, options_for_select(@providers.map{ |p| [p.name, p.id] }, :selected => @selected_provider.id)) - = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_admin_provider_accounts_path, 'GET', :class => 'button' - = label_tag "Cloud type: " - = @selected_provider.provider_type.name - - unless @selected_provider.provider_type.codename.nil? - = render :partial => "provider_form", :locals => { :provider_type => @selected_provider.provider_type} - - else - = flash.now[:warning] = "You don't have any provider yet" - -:javascript - $(document).ready(function(){ - var selected_provider; - $("#provider_account_provider_id").change(function() - { - selected_provider = $("option:selected").attr('value'); - $.get("#{set_selected_provider_admin_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, - function(result) { - $("#provider_type").html(result); - } - ); - - }); - }); diff --git a/src/app/views/admin/provider_accounts/_rhevm.haml b/src/app/views/admin/provider_accounts/_rhevm.haml deleted file mode 100644 index dd86c72..0000000 --- a/src/app/views/admin/provider_accounts/_rhevm.haml +++ /dev/null @@ -1,2 +0,0 @@ -%fieldset.clear - Login form for RHEV-M (not implemented yet) diff --git a/src/app/views/admin/provider_accounts/edit.haml b/src/app/views/admin/provider_accounts/edit.haml deleted file mode 100644 index 9da4d1c..0000000 --- a/src/app/views/admin/provider_accounts/edit.haml +++ /dev/null @@ -1,14 +0,0 @@ -#details.grid_13 - = error_messages_for :provider_account - %h2 - = t('provider_accounts.edit.edit_provider_account') - - form_tag(admin_provider_account_path, { :method => :put, :multipart => true }) do - = render :partial => 'provider_selection' - %fieldset.clearfix - .grid_13.alpha.omega - = submit_tag t(:edit), :class => "ra nomargin dialogbutton" - %section - %p.requirement - %span.required * - - - = t('provider_accounts.edit.required_field') diff --git a/src/app/views/admin/provider_accounts/index.haml b/src/app/views/admin/provider_accounts/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/provider_accounts/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/provider_accounts/new.haml b/src/app/views/admin/provider_accounts/new.haml deleted file mode 100644 index f1a5e2a..0000000 --- a/src/app/views/admin/provider_accounts/new.haml +++ /dev/null @@ -1,18 +0,0 @@ -#details.grid_13 - = error_messages_for :provider_account - %h2 - = t('provider_accounts.new.new_provider_account') - %label{ :for => :provider_id } - Provider - %fieldset.clear - - unless @providers.empty? - - form_for(@provider_account, :url => admin_provider_accounts_path, :html => {:multipart => true}) do |f| - = render :partial => 'provider_selection' - %fieldset.clearfix - .grid_13.alpha.omega - = f.submit t(:add), :class => "ra nomargin dialogbutton" - %section - %p.requirement - %span.required * - - - = t('provider_accounts.new.required_field') diff --git a/src/app/views/admin/provider_accounts/show.haml b/src/app/views/admin/provider_accounts/show.haml deleted file mode 100644 index 05eeedd..0000000 --- a/src/app/views/admin/provider_accounts/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/providers/_form.haml b/src/app/views/admin/providers/_form.haml deleted file mode 100644 index b400d00..0000000 --- a/src/app/views/admin/providers/_form.haml +++ /dev/null @@ -1,15 +0,0 @@ -= form.error_message_on :name, 'Name ' -= form.error_message_on :url, 'URL ' -= form.error_message_on :provider_type_id -%fieldset.clear - = form.label :name,'Provider name :' - = form.text_field :name, :title => 'provider_name', :value => @provider.name, :class => "clear grid_4 alpha" -%fieldset.clear - = form.label :url, 'Provider URL :' - = form.text_field :url, :title => 'provider_url', :value => @provider.url, :class => "grid_5" -%fieldset.clear - = form.label :provider_type - = form.select(:provider_type_id, ProviderType.all.collect {|provider_type| [provider_type.name,provider_type.id] }, :prompt => "Select type of provider") - -%fieldset.clear - = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/admin/providers/_history.haml b/src/app/views/admin/providers/_history.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/_hw_profiles.haml b/src/app/views/admin/providers/_hw_profiles.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/_list.haml b/src/app/views/admin/providers/_list.haml deleted file mode 100644 index 7de6e32..0000000 --- a/src/app/views/admin/providers/_list.haml +++ /dev/null @@ -1,20 +0,0 @@ -- form_tag do - = link_to "Create", new_admin_provider_url, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_providers_path, 'DELETE', :id => 'delete_button' - - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - - %table#providers_table - = sortable_table_header @header - -@providers.each do |provider| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "provider_selected[]", :type => "checkbox", :value => provider.id, :id => "provider_checkbox_#{provider.id}", :checked => selected } - = link_to provider.name, admin_provider_path(provider) - %td= provider.url - %td= provider.provider_type.name diff --git a/src/app/views/admin/providers/_permissions.haml b/src/app/views/admin/providers/_permissions.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/_properties.haml b/src/app/views/admin/providers/_properties.haml deleted file mode 100644 index 044895a..0000000 --- a/src/app/views/admin/providers/_properties.haml +++ /dev/null @@ -1,5 +0,0 @@ -%h3 - Properties for - = @provider.name -= link_to "Edit", edit_admin_provider_path(@provider), {:class => 'button'} -= link_to "Test", admin_provider_path(@provider, {:test_provider => true}), { :class => 'button' } diff --git a/src/app/views/admin/providers/_provider_accounts.haml b/src/app/views/admin/providers/_provider_accounts.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/_realms.haml b/src/app/views/admin/providers/_realms.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/_services.haml b/src/app/views/admin/providers/_services.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/admin/providers/edit.haml b/src/app/views/admin/providers/edit.haml deleted file mode 100644 index 66864e9..0000000 --- a/src/app/views/admin/providers/edit.haml +++ /dev/null @@ -1,7 +0,0 @@ -%h3 - Editing - = @provider.name - Provider - --form_for @provider, :url => admin_provider_path(@provider), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/admin/providers/index.haml b/src/app/views/admin/providers/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/providers/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/providers/new.haml b/src/app/views/admin/providers/new.haml deleted file mode 100644 index 516fdb3..0000000 --- a/src/app/views/admin/providers/new.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h2 Create a new Provider -- form_for @provider, :url => admin_providers_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/admin/providers/show.haml b/src/app/views/admin/providers/show.haml deleted file mode 100644 index 0c36221..0000000 --- a/src/app/views/admin/providers/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for 'list' do - = render :partial => 'list' - -- content_for 'details' do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/realm_mappings/new.haml b/src/app/views/admin/realm_mappings/new.haml deleted file mode 100644 index 0861199..0000000 --- a/src/app/views/admin/realm_mappings/new.haml +++ /dev/null @@ -1,10 +0,0 @@ -= error_messages_for 'realm_target' -%h2 Create a new Realm Mapping -- form_for @realm_target, :url => admin_realm_mappings_path do |f| - = f.hidden_field :frontend_realm_id - = f.hidden_field :realm_or_provider_type - - - label_method = @realm_target.realm_or_provider_type == 'Realm' ? 'name_with_provider' : 'name' - = select_tag 'realm_backend_target[realm_or_provider_id]', options_from_collection_for_select(@backend_targets, 'id', label_method) - %fieldset.clear - = f.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/admin/realm_mappings/show.haml b/src/app/views/admin/realm_mappings/show.haml deleted file mode 100644 index 0c36221..0000000 --- a/src/app/views/admin/realm_mappings/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for 'list' do - = render :partial => 'list' - -- content_for 'details' do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/realms/_form.haml b/src/app/views/admin/realms/_form.haml deleted file mode 100644 index 8c49d63..0000000 --- a/src/app/views/admin/realms/_form.haml +++ /dev/null @@ -1,6 +0,0 @@ -= form.error_messages -%fieldset.clear - = form.label :name,'Realm Name :' - = form.text_field :name, :title => 'realm_name', :value => @realm.name, :class => "clear grid_4 alpha" -%fieldset.clear - = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/admin/realms/_list.haml b/src/app/views/admin/realms/_list.haml deleted file mode 100644 index 367dc14..0000000 --- a/src/app/views/admin/realms/_list.haml +++ /dev/null @@ -1,19 +0,0 @@ -- form_tag do - = link_to "Create", new_admin_realm_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realms_path, 'DELETE', :id => 'delete_button' - - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - - %table#realms_table - = sortable_table_header @header - - unless @realms.blank? - - @realms.each do |realm| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "id[]", :type => "checkbox", :value => realm.id, :id => "realm_id_#{realm.id}", :checked => selected } - = link_to realm.name, admin_realm_path(realm) diff --git a/src/app/views/admin/realms/_mapping.haml b/src/app/views/admin/realms/_mapping.haml deleted file mode 100644 index 66b278c..0000000 --- a/src/app/views/admin/realms/_mapping.haml +++ /dev/null @@ -1,20 +0,0 @@ -- form_tag do - = link_to "Add mapping to realm", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" - = link_to "Add mapping to provider", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button' - - - unless @backend_provider_targets.empty? - %h2 Realm '#{@realm.name}' is mapped to providers: - %ul - - @backend_provider_targets.each do |backend| - %li - %input{:name => "id[]", :type => "checkbox", :value => backend.id, :id => "backend_id_#{backend.id}"} - = backend.realm_or_provider.name - - - unless @backend_realm_targets.empty? - %h2 Realm '#{@realm.name}' is mapped to realms: - %ul - - @backend_realm_targets.each do |backend| - %li - %input{:name => "id[]", :type => "checkbox", :value => backend.id, :id => "backend_id_#{backend.id}"} - = backend.realm_or_provider.name diff --git a/src/app/views/admin/realms/_properties.haml b/src/app/views/admin/realms/_properties.haml deleted file mode 100644 index 8d5b66d..0000000 --- a/src/app/views/admin/realms/_properties.haml +++ /dev/null @@ -1,3 +0,0 @@ -.grid_13 - %h2 #{@realm.name} - = link_to t(:edit), edit_admin_realm_path(@realm), :class => 'button formbutton' diff --git a/src/app/views/admin/realms/edit.haml b/src/app/views/admin/realms/edit.haml deleted file mode 100644 index a0aa97f..0000000 --- a/src/app/views/admin/realms/edit.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h2 Editing Realm: #{@realm.name} - -- form_for @realm, :url => admin_realm_path(@realm), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/admin/realms/index.haml b/src/app/views/admin/realms/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/realms/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/realms/new.haml b/src/app/views/admin/realms/new.haml deleted file mode 100644 index c95a306..0000000 --- a/src/app/views/admin/realms/new.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h2 Create a new Realm -- form_for @realm, :url => admin_realms_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_realms_path } diff --git a/src/app/views/admin/realms/show.haml b/src/app/views/admin/realms/show.haml deleted file mode 100644 index 0c36221..0000000 --- a/src/app/views/admin/realms/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for 'list' do - = render :partial => 'list' - -- content_for 'details' do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/admin/roles/_form.haml b/src/app/views/admin/roles/_form.haml deleted file mode 100644 index fc10dd2..0000000 --- a/src/app/views/admin/roles/_form.haml +++ /dev/null @@ -1,8 +0,0 @@ -= form.error_messages -%fieldset.clear - = form.label :name, 'Name', :class => "grid_3 alpha" - = form.text_field :name, :class => "grid_5" -%fieldset.clearfix - = form.submit "Save", :class => "submit formbutton" - = form.submit "Reset", :class => "submit formbutton" - = link_to t(:cancel), admin_roles_path, :class => 'button formbutton' diff --git a/src/app/views/admin/roles/_list.haml b/src/app/views/admin/roles/_list.haml deleted file mode 100644 index d825e2f..0000000 --- a/src/app/views/admin/roles/_list.haml +++ /dev/null @@ -1,30 +0,0 @@ -- form_tag do - = link_to "New Role", new_admin_role_path, :class => 'button' - = restful_submit_tag "Destroy", "destroy", multi_destroy_admin_roles_path, 'DELETE', :id => 'delete_button' - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - %table#roles_table - = sortable_table_header @header - - @roles.each do |role| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "role_selected[]", :type => "checkbox", :value => role.id, :id => "role_checkbox_#{role.id}", :checked => selected } - = link_to role.name, admin_role_path(role) - -:javascript - $(document).ready(function () { - $('#delete_button').click(function(e) { - if ($("#roles_table input[@type=radio]:checked").length == 0) { - alert('Please select any user to be deleted before clicking Delete button.'); - e.preventDefault(); - } else { - if (!confirm("Are you sure you want to delete this user?")) { - e.preventDefault(); - } - } - }); - }); diff --git a/src/app/views/admin/roles/_properties.haml b/src/app/views/admin/roles/_properties.haml deleted file mode 100644 index bcb59f4..0000000 --- a/src/app/views/admin/roles/_properties.haml +++ /dev/null @@ -1,23 +0,0 @@ -.grid_13 - %h2 #{@role.name} - %strong Scope: - %span #{@role.scope} - %table - %thead - %tr - %th.show - Privileges - %th.show - %tbody - %tr - %td - %label Action - %td - %label Target type - -@role.privileges.each do |privilege| - %tr - %td - = privilege.action - %td - = privilege.target_type - = link_to t(:edit), edit_admin_role_path(@role), :class => 'button formbutton' diff --git a/src/app/views/admin/roles/edit.haml b/src/app/views/admin/roles/edit.haml deleted file mode 100644 index 7aa428e..0000000 --- a/src/app/views/admin/roles/edit.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h2 Editing Role: #{@role.name} - -- form_for @role, :url => admin_role_path(@role), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/admin/roles/index.haml b/src/app/views/admin/roles/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/roles/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/roles/new.haml b/src/app/views/admin/roles/new.haml deleted file mode 100644 index 064e67d..0000000 --- a/src/app/views/admin/roles/new.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h2 New Role -- form_for @role, :url => admin_roles_path do |f| - = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/admin/settings/general_settings.haml b/src/app/views/admin/settings/general_settings.haml deleted file mode 100644 index f073663..0000000 --- a/src/app/views/admin/settings/general_settings.haml +++ /dev/null @@ -1,41 +0,0 @@ -%form{:class => 'container_16'} - .grid_16 - %h1 Portal - %fieldset.clearfix - %label.grid_5.alpha Brand Icon: - .grid_6 - %input{:type => "file", :disabled => true} - %fieldset.clearfix - %label.grid_5.alpha Tag Line: - %textarea.grid_6.disabled{:disabled => true} - %fieldset.clearfix - .grid_5.alpha.disabled.ra - %input{:type => "checkbox", :disabled => true} - %label Allow Self Service Account Creation: - .grid_6.disabled - %select{:disabled => true} - %option Select User Treatment - %fieldset.clearfix - %label.alpha.grid_5 Primary URL Port: - %input.grid_6{:value => "3000", :disabled => true} - %h1 Content - %fieldset.clearfix - %label.grid_5.alpha Entitlement Mode: - .grid_5 - %ul.block - %li - %input{:type => "radio", :name => "entitlement", :disabled => true} - %label.disabled User Brings Subscriptions - %li - %input{:type => "radio", :name => "entitlement", :disabled => true} - %label.disabled System Provides Subscriptions - %fieldset.clearfix - %label.grid_5.alpha Certitifcate: - .grid_6 - %input{:type => "file", :disabled => true} - %fieldset.clearfix - %label.alpha.grid_5 Content Manager URL: - %input.grid_6{:disabled => true} - %fieldset.clearfix - %button.formbutton{:disabled => true} Reset - %button.formbutton{:disabled => true} Save diff --git a/src/app/views/admin/settings/index.haml b/src/app/views/admin/settings/index.haml deleted file mode 100644 index 8a68a65..0000000 --- a/src/app/views/admin/settings/index.haml +++ /dev/null @@ -1,42 +0,0 @@ -%ul.tiles{:class => 'container_16'} - %li#services.grid_8.disabled.clear - = image_tag "blnk.png", :class => "icon", :alt => "" - %h2 - = t('.define_services') - %p - = t('.define_services_desc') - %button{:disabled => "disabled"} - = t(:continue) - %li#permissions.grid_8 - = image_tag "blnk.png", :class => "icon", :alt => "" - %h2 - = t('.permissions') - %p - = t('.permissions_desc') - = link_to t(:continue), self_service_admin_settings_path, :class => 'button' - %li#settings.grid_8 - = image_tag "blnk.png", :class => "icon", :alt => "" - %h2 - = t('.general_settings') - %p - = t('.general_settings_desc') - = link_to t(:continue), general_settings_admin_settings_path, :class => 'button' - %li#locales.grid_8.disabled.clear - = image_tag "blnk.png", :class => "icon", :alt => "" - %h2 - = t('.define_locales') - %p - = t('.define_locales_desc') - %button{:disabled => "disabled"} - = t(:continue) - -:javascript - $(document).ready(function () { - var $tiles = $(".tiles li:not(.disabled)").addClass('pointercursor'); - $tiles.click(function (e) { - $e = $(e.target); - if (!$e.is('.button')) { - window.location = $('.button',this).attr('href'); - } - }); - }); diff --git a/src/app/views/admin/settings/self_service.haml b/src/app/views/admin/settings/self_service.haml deleted file mode 100644 index 05235ec..0000000 --- a/src/app/views/admin/settings/self_service.haml +++ /dev/null @@ -1,120 +0,0 @@ -.grid_13{:class => 'container_16'} - = error_messages_for @parent_type - %h2 - = t('.self_service_default') - - form_for @self_service_default_quota, :url => { :action => 'update' } do |form| - %h3 Instances - %fieldset.clearfix - %label.grid_2.alpha Permissions: - .grid_4 My personal Instances - .grid_4 Full Instance Permission - .grid_3.omega - ( - %a{:href=>'#'}> Edit - ) - ( - %a{:href=>'#'}> Remove - ) - %fieldset.clearfix.gap - .grid_4.prefix_2.alpha - %select.disabled{:disabled => true} - %option - Category of Instances - .grid_4 - %ul.block - %li - %input{ :type => "radio", :name => "permission", :disabled => true} - %label.disabled Control Instance - Can't Share - %li - %input{ :type => "radio", :name => "permission", :disabled => true} - %label.disabled Control Instance - Can Share - %li - %input{ :type => "radio", :name => "permission", :disabled => true} - %label.disabled Full Instance Permission - %li - %input{ :type => "radio", :name => "permission", :disabled => true} - %label.disabled Custom ... - .grid_3.omega - ( - %a{:href=>'#'}> Add - ) - = hidden_field :self_service_default_quota, :id - %fieldset.clearfix.gap - %label.grid_2.alpha - = t('.quota') + ":" - = text_field :self_service_default_quota, :maximum_running_instances, :class => 'grid_5' - .grid_2.la (instances) - = form.error_message_on :maximum_running_instances, 'Maximum Running Instances ' - %h3 POOLS - %fieldset.clearfix - %label.grid_2.alpha Permissions: - .grid_4 General Usage - .grid_4 Regular Pool User - .grid_3.omega - ( - %a{:href=>'#'}> Edit - ) - ( - %a{:href=>'#'}> Remove - ) - %fieldset.clearfix.gap - .grid_4.prefix_2.alpha - %select.disabled{:disabled => true} - %option - Category of Pools - .grid_4 - %ul.block - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Limited Pool User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Regular Pool User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Advanced Pool User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Custom ... - .grid_3.omega - ( - %a{:href=>'#'}> Add - ) - %h3 TEMPLATES - %fieldset.clearfix - %label.grid_2.alpha Permissions: - .grid_4 General Usage - .grid_4 Basic Template User - .grid_3.omega - ( - %a{:href=>'#'}> Edit - ) - ( - %a{:href=>'#'}> Remove - ) - %fieldset.clearfix.gap - .grid_4.prefix_2.alpha - %select.disabled{:disabled => true} - %option - Category of Templates - .grid_4 - %ul.block - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Basic Template User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled General Template User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Advanced Template User - %li - %input{ :type => "radio", :name => "pooltype", :disabled => true} - %label.disabled Custom ... - .grid_3.omega - ( - %a{:href=>'#'}> Add - ) - .grid_13.omega.alpha.gap - %button.formbutton Reset - = submit_tag t(:save), :class => "submit formbutton" diff --git a/src/app/views/admin/users/_form.haml b/src/app/views/admin/users/_form.haml deleted file mode 100644 index f1b8aa3..0000000 --- a/src/app/views/admin/users/_form.haml +++ /dev/null @@ -1,44 +0,0 @@ -= form.error_messages -%fieldset.clear - = form.label :login, t(:choose_name), :class => "grid_3 alpha" - = form.text_field :login, :class => "grid_5" -%fieldset.clear - = form.label :password, form.object.new_record? ? t(:choose_password) : t(:change_password), :class => "grid_3 alpha" - = form.password_field :password, :class => "grid_5" -%fieldset - = form.label :password_confirmation, t(:confirm_password), :class => "grid_3 alpha" - = form.password_field :password_confirmation, :class => "grid_5" --if check_privilege(Privilege::MODIFY, User) - %fieldset.clear - = form.label :user_status, "User Status:", :class => "alpha grid_3" - .grid_5 - = radio_button_tag "user_status","Active",true - = label_tag "user_status_active", "Active" - = radio_button_tag "user_status","Inactive", false, :disabled => true - = label_tag "user_status_inactive", "Inactive" -%fieldset.clear - = form.label :first_name, t(:first_name), :class => "alpha grid_3" - = form.text_field :first_name, :class => "grid_5" -%fieldset.clear - = form.label :last_name, t(:last_name), :class => "alpha grid_3" - = form.text_field :last_name, :class => "grid_5" -%fieldset.clear - = form.label :email, t(:email), :class => "alpha grid_3" - = form.text_field :email, :class => "grid_5" --if check_privilege(Privilege::MODIFY, User) - %h3.grid_16 User Treatment - %fieldset.clearfix - = label_tag 'apply_treatment', t(:apply_treatment), :class => "alpha grid_3" - = select_tag 'user_treatment', options_for_select([t(:choose_treatment)]), :class => "grid_5" - = submit_tag t(:apply), :disabled => true, :class => "grid_2" - - - form.fields_for :quota do |quota_form| - %fieldset.clear - = quota_form.label :maximum_running_instances, t(:maximum_running_instances), :class => "alpha grid_3" - = quota_form.text_field :maximum_running_instances, :class => "grid_5" - (instances) - = quota_form.error_message_on :maximum_running_instances, 'Maximum Running Instances ' -%fieldset.clearfix - = form.submit "Save", :class => "submit formbutton" - = form.submit "Reset", :class => "submit formbutton" - = link_to t(:cancel), cancel_path, :class => 'button formbutton' diff --git a/src/app/views/admin/users/_list.haml b/src/app/views/admin/users/_list.haml deleted file mode 100644 index 6a544ed..0000000 --- a/src/app/views/admin/users/_list.haml +++ /dev/null @@ -1,40 +0,0 @@ -- form_tag do - = link_to "Create", new_admin_user_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_users_path, 'DELETE', :id => 'delete_button' - - %table#users_table - %thead - %tr - %th - %th= link_to "User ID", admin_users_url(:sort_by => "login") - %th= link_to "Last Name", admin_users_url(:sort_by => "last_name") - %th= link_to "First Name", admin_users_url(:sort_by => "first_name") - %th= link_to "% Quota Used", admin_users_url(:sort_by => "percentage_quota_used") - %th - =link_to "Quota", admin_users_url(:sort_by => "quota") - %span (Instances) - %th= link_to "e-mail", admin_users_url(:sort_by => "email") - -@users.each do |user| - %tr - %td - %input{:name => "user_selected[]", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}" } - %td= link_to user.login, admin_user_path(user) - %td= user.last_name - %td= user.first_name - %td= sprintf("%.2f", user.quota.percentage_used) - %td= Quota.no_limit(user.quota.maximum_running_instances) ? "Unlimited" : user.quota.maximum_running_instances - %td= user.email - -:javascript - $(document).ready(function () { - $('#delete_button').click(function(e) { - if ($("#users_table input[@type=radio]:checked").length == 0) { - alert('Please select any user to be deleted before clicking Delete button.'); - e.preventDefault(); - } else { - if (!confirm("Are you sure you want to delete this user?")) { - e.preventDefault(); - } - } - }); - }); diff --git a/src/app/views/admin/users/_properties.haml b/src/app/views/admin/users/_properties.haml deleted file mode 100644 index 0842cb1..0000000 --- a/src/app/views/admin/users/_properties.haml +++ /dev/null @@ -1,98 +0,0 @@ -.grid_13 - %h2 #{@user.first_name} #{@user.last_name} (#{@user.login}) - - = link_to 'Edit', edit_admin_user_path(@user), :class => 'button' - - %table - %thead - %tr - %th.show - Personal Details - %th.show - %tbody - %tr - %td - %label Username - %td - = @user.login - %tr - %td - %label First Name - %td - = @user.first_name - %tr - %td - %label Last Name - %td - = @user.last_name - %tr - %td - %label e-mail - %td - = @user.email - - %table - %thead - %tr - %th.show - Quota Status - %th.show - %tbody - %tr - %td - %label Maximum - %td - = @quota_resources["running_instances"].max - %tr - %td - %label Used - %td - = @quota_resources["running_instances"].used - %tr - %td - %label Available - %td - = @quota_resources["running_instances"].available - - %table - %thead - %tr - %th.show - Login Information - %th.show - %tbody - %tr - %td - %label Current Login IP - %td - = @user.current_login_ip - %tr - %td - %label Current Login at - %td - = @user.current_login_at - %tr - %td - %label Last Login IP - %td - = @user.last_login_ip - %tr - %td - %label Last Login at - %td - = @user.last_login_at - %tr - %td - %label Login Count - %td - = @user.login_count - %tr - %td - %label Failed Login Count - %td - = @user.login_count - %tr - %td - %label Last Request at - %td - = @user.last_request_at diff --git a/src/app/views/admin/users/edit.haml b/src/app/views/admin/users/edit.haml deleted file mode 100644 index 1290c4d..0000000 --- a/src/app/views/admin/users/edit.haml +++ /dev/null @@ -1,7 +0,0 @@ -- if check_privilege(Privilege::MODIFY, User) - %h2 Editing User: #{@user.first_name} #{@user.last_name} -- else - %h2 Editing Account - -- form_for @user, :url => admin_user_path(@user), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } diff --git a/src/app/views/admin/users/index.haml b/src/app/views/admin/users/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/admin/users/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/admin/users/new.haml b/src/app/views/admin/users/new.haml deleted file mode 100644 index 0958f12..0000000 --- a/src/app/views/admin/users/new.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h2 New Account -- form_for @user, :url => admin_users_path do |f| - -if current_user - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } - -else - = render :partial => "form", :locals => { :form => f, :cancel_path => login_path } diff --git a/src/app/views/assemblies/index.haml b/src/app/views/assemblies/index.haml new file mode 100644 index 0000000..766d92c --- /dev/null +++ b/src/app/views/assemblies/index.haml @@ -0,0 +1 @@ +image_factory/assemblies/index.haml diff --git a/src/app/views/builds/index.haml b/src/app/views/builds/index.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/deployables/_assemblies.haml b/src/app/views/deployables/_assemblies.haml new file mode 100644 index 0000000..9af208b --- /dev/null +++ b/src/app/views/deployables/_assemblies.haml @@ -0,0 +1,30 @@ +.grid_13 +- form_tag do + = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_image_factory_deployable_path(@deployable), 'DELETE', :id => 'delete_button' + = link_to "Add Assembly...", pick_assemblies_image_factory_deployable_path(@deployable), :class => 'button', :id => 'add_assembly' + + %table#assemblies_table + %thead + %tr + %th + %th= "Name" + %th= "Created" + -@deployable.assemblies(:include => :templates).each do |assembly| + %tr + %td + %input{:name => "assemblies_selected[]", :type => "checkbox", :value => assembly.id, :id => "assembly_checkbox_#{assembly.id}" } + %td= assembly.name + %td= assembly.created_at + +:javascript + $(document).ready(function () { + $('#add_assembly').click(function(e) { + e.preventDefault(); + var url = $(this).attr('href'); + $.get(url, function(data) { + var selectedTabIndex = $("#details-view").tabs('option', 'selected'); + var $selectedTab = $("#details-view div.ui-tabs-panel").eq(selectedTabIndex); + $selectedTab.html(data); + }); + }); + }); diff --git a/src/app/views/deployables/_deployments.haml b/src/app/views/deployables/_deployments.haml new file mode 100644 index 0000000..77af2f9 --- /dev/null +++ b/src/app/views/deployables/_deployments.haml @@ -0,0 +1,25 @@ +.grid_13 + %h2 Deployments for #{@deployable.name} + + - unless @deployments.empty? + - form_tag do + %table#deployments_table + = sortable_table_header @header_deployments + - @deployments.each do |deployment| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } + = link_to deployment.name, resources_deployment_path(deployment) + %td + = deployment.deployable.name + %td + = deployment.owner.login + %td + = deployment.created_at.strftime("%d-%b-%Y %H:%M:%S") + %td + TODO + %td + = deployment.pool.name + - else + No Deployments for #{@deployable.name} diff --git a/src/app/views/deployables/_form.haml b/src/app/views/deployables/_form.haml new file mode 100644 index 0000000..98c2232 --- /dev/null +++ b/src/app/views/deployables/_form.haml @@ -0,0 +1,10 @@ += form.error_messages +%fieldset.clear + = form.label :name, t(:name), :class => "grid_3 alpha" + = form.text_field :name, :class => "grid_5" +%fieldset.clear + = form.label :summary, t(:summary), :class => "grid_3 alpha" + = form.text_area :summary, :class => "grid_5", :rows => 3 +%fieldset.clearfix + = form.submit "Save", :class => "submit formbutton" + = link_to t(:cancel), image_factory_deployables_path, :class => 'button formbutton' diff --git a/src/app/views/deployables/_list.haml b/src/app/views/deployables/_list.haml new file mode 100644 index 0000000..e2933f0 --- /dev/null +++ b/src/app/views/deployables/_list.haml @@ -0,0 +1,28 @@ +- form_tag do + = link_to "Create", new_image_factory_deployable_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_deployables_path, 'DELETE', :id => 'delete_button' + + %table#deployables_table + %thead + %tr + %th + %th= link_to "Name", image_factory_deployables_url(:sort_by => "name") + -@deployables.each do |deployable| + %tr + %td + %input{:name => "deployables_selected[]", :type => "checkbox", :value => deployable.id, :id => "deployable_checkbox_#{deployable.id}" } + %td= link_to deployable.name, image_factory_deployable_path(deployable) + +:javascript + $(document).ready(function () { + $('#delete_button').click(function(e) { + if ($("#deployables_table input[@type=radio]:checked").length == 0) { + alert('Please select any deployable to be deleted before clicking Delete button.'); + e.preventDefault(); + } else { + if (!confirm("Are you sure you want to delete this deployable?")) { + e.preventDefault(); + } + } + }); + }); diff --git a/src/app/views/deployables/_pick_assemblies.haml b/src/app/views/deployables/_pick_assemblies.haml new file mode 100644 index 0000000..cfaf30b --- /dev/null +++ b/src/app/views/deployables/_pick_assemblies.haml @@ -0,0 +1,16 @@ +.grid_13 + - form_tag(image_factory_deployable_path(@deployable)) do + %table#assemblies_list + %thead + %tr + %th + %th= "Name" + -@assemblies.each do |assembly| + %tr + %td + %input{:name => "assemblies_selected[]", :type => "checkbox", :value => assembly.id, :id => "assembly_checkbox_#{assembly.id}" } + %td= assembly.name + + -# AJAX post + = restful_submit_tag('Save', 'add_assemblies', add_assemblies_image_factory_deployable_path(@deployable), 'PUT') + = link_to "Back", image_factory_deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' diff --git a/src/app/views/deployables/_properties.haml b/src/app/views/deployables/_properties.haml new file mode 100644 index 0000000..ce50669 --- /dev/null +++ b/src/app/views/deployables/_properties.haml @@ -0,0 +1,8 @@ +.grid_13 + %h2 #{@deployable.name} + + = link_to 'Edit', edit_image_factory_deployable_path(@deployable), :class => 'button' + - if @deployable.launchable? + = link_to "Launch", new_resources_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} + - else + The deployable can't be launched - the deployable must have at least one assembly and each assembly must have at least one template. diff --git a/src/app/views/deployables/edit.haml b/src/app/views/deployables/edit.haml new file mode 100644 index 0000000..fc47660 --- /dev/null +++ b/src/app/views/deployables/edit.haml @@ -0,0 +1,4 @@ +%h2 Editing Deployable: #{@deployable.name} + +- form_for @deployable, :url => image_factory_deployable_path(@deployable), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployables/index.haml b/src/app/views/deployables/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/deployables/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/deployables/new.haml b/src/app/views/deployables/new.haml new file mode 100644 index 0000000..cc582a3 --- /dev/null +++ b/src/app/views/deployables/new.haml @@ -0,0 +1,3 @@ +%h2 New Deployable +- form_for @deployable, :url => image_factory_deployables_path do |f| + = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployables/pick_assemblies.haml b/src/app/views/deployables/pick_assemblies.haml new file mode 100644 index 0000000..c223367 --- /dev/null +++ b/src/app/views/deployables/pick_assemblies.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'pick_assemblies' diff --git a/src/app/views/deployables/show.haml b/src/app/views/deployables/show.haml new file mode 100644 index 0000000..05eeedd --- /dev/null +++ b/src/app/views/deployables/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/deployments/_history.haml b/src/app/views/deployments/_history.haml new file mode 100644 index 0000000..9f4a57e --- /dev/null +++ b/src/app/views/deployments/_history.haml @@ -0,0 +1 @@ +%h3 List of deployment events diff --git a/src/app/views/deployments/_instances.haml b/src/app/views/deployments/_instances.haml new file mode 100644 index 0000000..2ac1792 --- /dev/null +++ b/src/app/views/deployments/_instances.haml @@ -0,0 +1,2 @@ +%h3 List Instances for Deployment +%h3 "Expand" button shifts list view to show the Instance list diff --git a/src/app/views/deployments/_list.haml b/src/app/views/deployments/_list.haml new file mode 100644 index 0000000..7b80677 --- /dev/null +++ b/src/app/views/deployments/_list.haml @@ -0,0 +1,35 @@ +- form_tag do + #object-actions + = restful_submit_tag "Start", "start", resources_deployments_path, "PUT" + = restful_submit_tag "Stop", "stop", multi_stop_resources_deployments_path, "GET" + = restful_submit_tag "Launch new", "launch_new", launch_new_resources_deployments_path, "GET" + = restful_submit_tag "Delete", "delete", resources_deployments_path, "DELETE" + + #search-actions + = restful_submit_tag "Save Search", "save_search", resources_deployments_path, "PUT" + = restful_submit_tag "Save Selection", "save_selection", resources_deployments_path, "PUT" + = restful_submit_tag "Export to File", "export", resources_deployments_path, "PUT" + + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + + %table#deployments_table + = sortable_table_header @header + - @deployments.each do |deployment| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } + %td + = link_to deployment.name, resources_deployment_path(deployment) + %td + = link_to deployment.deployable.name, image_factory_deployable_path(deployment.deployable) + %td + = deployment.owner.login + %td + = deployment.created_at + %td + = link_to deployment.pool.name, resources_pool_path(deployment.pool) diff --git a/src/app/views/deployments/_permissions.haml b/src/app/views/deployments/_permissions.haml new file mode 100644 index 0000000..1784789 --- /dev/null +++ b/src/app/views/deployments/_permissions.haml @@ -0,0 +1,2 @@ +%h3 Users and roles they are in for this Deployment +%h3 Manage permissions on this deployment (if you have permissions to do so) diff --git a/src/app/views/deployments/_properties.haml b/src/app/views/deployments/_properties.haml new file mode 100644 index 0000000..5d2c584 --- /dev/null +++ b/src/app/views/deployments/_properties.haml @@ -0,0 +1,2 @@ +%h3 Owner Details +%h3 CDL diff --git a/src/app/views/deployments/_provider_services.haml b/src/app/views/deployments/_provider_services.haml new file mode 100644 index 0000000..435f470 --- /dev/null +++ b/src/app/views/deployments/_provider_services.haml @@ -0,0 +1 @@ +%h3 List of services required by deployment diff --git a/src/app/views/deployments/_required_services.haml b/src/app/views/deployments/_required_services.haml new file mode 100644 index 0000000..30e7601 --- /dev/null +++ b/src/app/views/deployments/_required_services.haml @@ -0,0 +1 @@ +%h3 List of services required by deployment diff --git a/src/app/views/deployments/index.haml b/src/app/views/deployments/index.haml new file mode 100644 index 0000000..d051c94 --- /dev/null +++ b/src/app/views/deployments/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' \ No newline at end of file diff --git a/src/app/views/deployments/launch_new.haml b/src/app/views/deployments/launch_new.haml new file mode 100644 index 0000000..86cf47f --- /dev/null +++ b/src/app/views/deployments/launch_new.haml @@ -0,0 +1,6 @@ +%h2 Launch new deployment via +- form_tag new_resources_deployment_path, :method => :get do + = label_tag "Deployable:" + = select_tag :deployable_id, options_from_collection_for_select(@launchable_deployables, "id", "name") + = submit_tag "Launch" + = link_to "Cancel", resources_deployments_path, :class => "button" diff --git a/src/app/views/deployments/new.haml b/src/app/views/deployments/new.haml new file mode 100644 index 0000000..42e75fe --- /dev/null +++ b/src/app/views/deployments/new.haml @@ -0,0 +1,25 @@ += error_messages_for 'deployment' +%h2 Launch deployable +- form_for @deployment, :url => resources_deployments_path do + = hidden_field :deployment, :deployable_id + %ul + %li + = label :deployment, :name + = text_field :deployment, :name + %li + = label :deployment, :pool + = select :deployment, :pool_id, @pools.map {|p| [ p.name, p.id ]}, { :include_blank => true } + %li + = label :deployment, :frontend_realm + = select :deployment, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, { :include_blank => true } + %p + %h3 Assemblies hardware profiles + %ul + - @deployment.deployable.assemblies.each do |assembly| + %li + - hwprofiles = @hardware_profiles.select {|hwp| hwp.architecture.value == assembly.templates.first.architecture} + = label_tag "hw_profiles[#{assembly.id}]", assembly.name + = select_tag "hw_profiles[#{assembly.id}]", options_from_collection_for_select(hwprofiles, 'id', 'name') + + = submit_tag 'Cancel', :name => 'cancel' + = submit_tag 'Launch', :name => 'launch' diff --git a/src/app/views/deployments/show.haml b/src/app/views/deployments/show.haml new file mode 100644 index 0000000..a5a777d --- /dev/null +++ b/src/app/views/deployments/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/hardware_profiles/_form.haml b/src/app/views/hardware_profiles/_form.haml new file mode 100644 index 0000000..70c982b --- /dev/null +++ b/src/app/views/hardware_profiles/_form.haml @@ -0,0 +1,18 @@ +=hwp_form.label :name +=hwp_form.text_field :name +%table + = sortable_table_header @header + - [:memory, :cpu, :storage, :architecture].each do |type| + - hwp_form.fields_for type do |hwpp_form| + %tr + %td + =hwpp_form.text_field(:name, :readonly => "readonly") + %td + =hwpp_form.text_field(:unit, :size => 5, :readonly => "readonly") + %td + -if type == :architecture + =hwpp_form.select("value", ["i386", "x86_64"], {}) + -else + =hwpp_form.text_field(:value) += hwp_form.submit 'Check Matches', :class => "submit formbutton" += hwp_form.submit 'Save', :class => 'submit formbutton' \ No newline at end of file diff --git a/src/app/views/hardware_profiles/_history.haml b/src/app/views/hardware_profiles/_history.haml new file mode 100644 index 0000000..894e9cd --- /dev/null +++ b/src/app/views/hardware_profiles/_history.haml @@ -0,0 +1 @@ +%h3 History diff --git a/src/app/views/hardware_profiles/_list.haml b/src/app/views/hardware_profiles/_list.haml new file mode 100644 index 0000000..eee5ff1 --- /dev/null +++ b/src/app/views/hardware_profiles/_list.haml @@ -0,0 +1,28 @@ +- form_tag do + #object-actions + = link_to "New Hardware Profile", new_admin_hardware_profile_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_hardware_profiles_path, 'DELETE', :id => 'delete_button' + #selections + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + + #list + %table + = sortable_table_header @header + - @hardware_profiles.each do |hwp| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "hardware_profile_selected[]", :type => "checkbox", :value => hwp.id, :id => "hardware_profile_checkbox_#{hwp.id}", :checked => selected } + = link_to hwp.name, admin_hardware_profile_path(hwp) + %td + =hwp.architecture.to_s + %td + =hwp.memory.to_s + %td + =hwp.storage.to_s + %td + =hwp.cpu.to_s diff --git a/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml new file mode 100644 index 0000000..49c45e3 --- /dev/null +++ b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml @@ -0,0 +1,24 @@ +- if @hardware_profile + %h2 + =@hardware_profile.name +- if @matching_hwps.size > 0 + %table + = sortable_table_header @provider_hwps_header + - @matching_hwps.each do |hwp| + %tr + %td + - if hwp.provider + = link_to hwp.provider.name, admin_provider_path(hwp.provider) + %td + = link_to hwp.name, admin_hardware_profile_path(hwp) + %td + =hwp.architecture.to_s + %td + =hwp.memory.to_s + %td + =hwp.storage.to_s + %td + =hwp.cpu.to_s +- else + %h3 + No Matching Provider Hardware Profiles Could be found \ No newline at end of file diff --git a/src/app/views/hardware_profiles/_properties.haml b/src/app/views/hardware_profiles/_properties.haml new file mode 100644 index 0000000..0739b84 --- /dev/null +++ b/src/app/views/hardware_profiles/_properties.haml @@ -0,0 +1,13 @@ +%h3 + = @hardware_profile.name + "(" + (@hardware_profile.provider_id.nil? ? "Front End" : "Provider" ) + ")" + = link_to 'Edit', edit_admin_hardware_profile_path(@hardware_profile), :class => 'button' +%table + = sortable_table_header @properties_header + - @hwp_properties.each do |hwpp| + %tr + %td + =hwpp.name.nil? ? "n/a" : hwpp.name + %td + =hwpp.unit.nil? ? "n/a" : hwpp.unit + %td + =hwpp.value.nil? ? "n/a" : hwpp.value diff --git a/src/app/views/hardware_profiles/create.haml b/src/app/views/hardware_profiles/create.haml new file mode 100644 index 0000000..c26bbe9 --- /dev/null +++ b/src/app/views/hardware_profiles/create.haml @@ -0,0 +1,6 @@ +%h3 + Check Matching Hardware Profiles +- content_for :list do + = render :partial => "form" +- content_for :details do + = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/hardware_profiles/edit.haml b/src/app/views/hardware_profiles/edit.haml new file mode 100644 index 0000000..e32eebd --- /dev/null +++ b/src/app/views/hardware_profiles/edit.haml @@ -0,0 +1,7 @@ +- content_for :list do + %h3 + Edit Hardware Profile + -form_for @hardware_profile, :url => admin_hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| + = render :partial => "form", :locals => { :hwp_form => hwp_form } +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/hardware_profiles/index.haml b/src/app/views/hardware_profiles/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/hardware_profiles/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/hardware_profiles/new.haml b/src/app/views/hardware_profiles/new.haml new file mode 100644 index 0000000..3355c87 --- /dev/null +++ b/src/app/views/hardware_profiles/new.haml @@ -0,0 +1,7 @@ +- content_for :list do + %h3 + New Hardware Profile + -form_for @hardware_profile, :url => admin_hardware_profiles_path, :html => { :multipart => true } do |hwp_form| + = render :partial => "form", :locals => { :hwp_form => hwp_form } +- content_for :details do + = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/hardware_profiles/show.haml b/src/app/views/hardware_profiles/show.haml new file mode 100644 index 0000000..a5a777d --- /dev/null +++ b/src/app/views/hardware_profiles/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/image_factory/assemblies/index.haml b/src/app/views/image_factory/assemblies/index.haml deleted file mode 100644 index 766d92c..0000000 --- a/src/app/views/image_factory/assemblies/index.haml +++ /dev/null @@ -1 +0,0 @@ -image_factory/assemblies/index.haml diff --git a/src/app/views/image_factory/builds/index.haml b/src/app/views/image_factory/builds/index.haml deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/views/image_factory/deployables/_assemblies.haml b/src/app/views/image_factory/deployables/_assemblies.haml deleted file mode 100644 index 9af208b..0000000 --- a/src/app/views/image_factory/deployables/_assemblies.haml +++ /dev/null @@ -1,30 +0,0 @@ -.grid_13 -- form_tag do - = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_image_factory_deployable_path(@deployable), 'DELETE', :id => 'delete_button' - = link_to "Add Assembly...", pick_assemblies_image_factory_deployable_path(@deployable), :class => 'button', :id => 'add_assembly' - - %table#assemblies_table - %thead - %tr - %th - %th= "Name" - %th= "Created" - -@deployable.assemblies(:include => :templates).each do |assembly| - %tr - %td - %input{:name => "assemblies_selected[]", :type => "checkbox", :value => assembly.id, :id => "assembly_checkbox_#{assembly.id}" } - %td= assembly.name - %td= assembly.created_at - -:javascript - $(document).ready(function () { - $('#add_assembly').click(function(e) { - e.preventDefault(); - var url = $(this).attr('href'); - $.get(url, function(data) { - var selectedTabIndex = $("#details-view").tabs('option', 'selected'); - var $selectedTab = $("#details-view div.ui-tabs-panel").eq(selectedTabIndex); - $selectedTab.html(data); - }); - }); - }); diff --git a/src/app/views/image_factory/deployables/_deployments.haml b/src/app/views/image_factory/deployables/_deployments.haml deleted file mode 100644 index 77af2f9..0000000 --- a/src/app/views/image_factory/deployables/_deployments.haml +++ /dev/null @@ -1,25 +0,0 @@ -.grid_13 - %h2 Deployments for #{@deployable.name} - - - unless @deployments.empty? - - form_tag do - %table#deployments_table - = sortable_table_header @header_deployments - - @deployments.each do |deployment| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } - = link_to deployment.name, resources_deployment_path(deployment) - %td - = deployment.deployable.name - %td - = deployment.owner.login - %td - = deployment.created_at.strftime("%d-%b-%Y %H:%M:%S") - %td - TODO - %td - = deployment.pool.name - - else - No Deployments for #{@deployable.name} diff --git a/src/app/views/image_factory/deployables/_form.haml b/src/app/views/image_factory/deployables/_form.haml deleted file mode 100644 index 98c2232..0000000 --- a/src/app/views/image_factory/deployables/_form.haml +++ /dev/null @@ -1,10 +0,0 @@ -= form.error_messages -%fieldset.clear - = form.label :name, t(:name), :class => "grid_3 alpha" - = form.text_field :name, :class => "grid_5" -%fieldset.clear - = form.label :summary, t(:summary), :class => "grid_3 alpha" - = form.text_area :summary, :class => "grid_5", :rows => 3 -%fieldset.clearfix - = form.submit "Save", :class => "submit formbutton" - = link_to t(:cancel), image_factory_deployables_path, :class => 'button formbutton' diff --git a/src/app/views/image_factory/deployables/_list.haml b/src/app/views/image_factory/deployables/_list.haml deleted file mode 100644 index e2933f0..0000000 --- a/src/app/views/image_factory/deployables/_list.haml +++ /dev/null @@ -1,28 +0,0 @@ -- form_tag do - = link_to "Create", new_image_factory_deployable_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_deployables_path, 'DELETE', :id => 'delete_button' - - %table#deployables_table - %thead - %tr - %th - %th= link_to "Name", image_factory_deployables_url(:sort_by => "name") - -@deployables.each do |deployable| - %tr - %td - %input{:name => "deployables_selected[]", :type => "checkbox", :value => deployable.id, :id => "deployable_checkbox_#{deployable.id}" } - %td= link_to deployable.name, image_factory_deployable_path(deployable) - -:javascript - $(document).ready(function () { - $('#delete_button').click(function(e) { - if ($("#deployables_table input[@type=radio]:checked").length == 0) { - alert('Please select any deployable to be deleted before clicking Delete button.'); - e.preventDefault(); - } else { - if (!confirm("Are you sure you want to delete this deployable?")) { - e.preventDefault(); - } - } - }); - }); diff --git a/src/app/views/image_factory/deployables/_pick_assemblies.haml b/src/app/views/image_factory/deployables/_pick_assemblies.haml deleted file mode 100644 index cfaf30b..0000000 --- a/src/app/views/image_factory/deployables/_pick_assemblies.haml +++ /dev/null @@ -1,16 +0,0 @@ -.grid_13 - - form_tag(image_factory_deployable_path(@deployable)) do - %table#assemblies_list - %thead - %tr - %th - %th= "Name" - -@assemblies.each do |assembly| - %tr - %td - %input{:name => "assemblies_selected[]", :type => "checkbox", :value => assembly.id, :id => "assembly_checkbox_#{assembly.id}" } - %td= assembly.name - - -# AJAX post - = restful_submit_tag('Save', 'add_assemblies', add_assemblies_image_factory_deployable_path(@deployable), 'PUT') - = link_to "Back", image_factory_deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' diff --git a/src/app/views/image_factory/deployables/_properties.haml b/src/app/views/image_factory/deployables/_properties.haml deleted file mode 100644 index ce50669..0000000 --- a/src/app/views/image_factory/deployables/_properties.haml +++ /dev/null @@ -1,8 +0,0 @@ -.grid_13 - %h2 #{@deployable.name} - - = link_to 'Edit', edit_image_factory_deployable_path(@deployable), :class => 'button' - - if @deployable.launchable? - = link_to "Launch", new_resources_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} - - else - The deployable can't be launched - the deployable must have at least one assembly and each assembly must have at least one template. diff --git a/src/app/views/image_factory/deployables/edit.haml b/src/app/views/image_factory/deployables/edit.haml deleted file mode 100644 index fc47660..0000000 --- a/src/app/views/image_factory/deployables/edit.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h2 Editing Deployable: #{@deployable.name} - -- form_for @deployable, :url => image_factory_deployable_path(@deployable), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/image_factory/deployables/index.haml b/src/app/views/image_factory/deployables/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/image_factory/deployables/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/image_factory/deployables/new.haml b/src/app/views/image_factory/deployables/new.haml deleted file mode 100644 index cc582a3..0000000 --- a/src/app/views/image_factory/deployables/new.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h2 New Deployable -- form_for @deployable, :url => image_factory_deployables_path do |f| - = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/image_factory/deployables/pick_assemblies.haml b/src/app/views/image_factory/deployables/pick_assemblies.haml deleted file mode 100644 index c223367..0000000 --- a/src/app/views/image_factory/deployables/pick_assemblies.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'pick_assemblies' diff --git a/src/app/views/image_factory/deployables/show.haml b/src/app/views/image_factory/deployables/show.haml deleted file mode 100644 index 05eeedd..0000000 --- a/src/app/views/image_factory/deployables/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/image_factory/image_imports/new.haml b/src/app/views/image_factory/image_imports/new.haml deleted file mode 100644 index cebc7a7..0000000 --- a/src/app/views/image_factory/image_imports/new.haml +++ /dev/null @@ -1,8 +0,0 @@ -- form_tag :image_factory_image_imports do - %fieldset.clear - = label_tag :provider_account_id, "Provider Account ID: " - = select_tag :provider_account_id, option_groups_from_collection_for_select(@providers,:provider_accounts, :name, :id,:name) - %fieldset.clear - = label_tag :ami_id, "Image ID: " - = text_field_tag :ami_id, params[:ami_id] - = restful_submit_tag "Import", 'create', image_factory_image_imports_path, 'POST', :class => "submit" diff --git a/src/app/views/image_factory/templates/_addbuttons.haml b/src/app/views/image_factory/templates/_addbuttons.haml deleted file mode 100644 index 9f88751..0000000 --- a/src/app/views/image_factory/templates/_addbuttons.haml +++ /dev/null @@ -1,4 +0,0 @@ -%fieldset.clear - - cancel_path = @tpl.id ? edit_image_factory_template_path(@tpl) : new_image_factory_template_path - = restful_submit_tag "Add Selected", "add_selected", add_selected_image_factory_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} - = restful_submit_tag "Cancel", "cancel_add_software", cancel_path, 'GET', {:class => "grid_2", :id => "cancel_add_software"} diff --git a/src/app/views/image_factory/templates/_basics.haml b/src/app/views/image_factory/templates/_basics.haml deleted file mode 100644 index 72d2423..0000000 --- a/src/app/views/image_factory/templates/_basics.haml +++ /dev/null @@ -1,27 +0,0 @@ -%h3 General Information -%fieldset.clearfix - %label.grid_4.alpha.la Template Name: - %label.grid_7.la Summary: - %label.grid_3.suffix_2.omega.la Version: - = text_field :tpl, :name, :value => @tpl.name || 'Template Name', :class => "grid_4 alpha" - = text_field :tpl, :summary, :value => @tpl.summary || 'Template Description', :class => "grid_7" - = text_field_tag 'current_version', 'Current Version', :disabled => true, :class => "grid_3" - %button{:type => 'button', :disabled => 'disabled', :class => "grid_2 omega"} New Version -%fieldset.clearfix - %label.grid_4.alpha Choose Logo: - %input{:type => 'file', :disabled => 'disabled', :class => "grid_7"} -%fieldset.clearfix - - default = @tpl.platforms['fedora'] - = label :tpl, :platform, 'Platform Choice:', :class => "grid_4 alpha" - = select :tpl, :platform, @tpl.platforms.map {|id, p| ["#{p['name']} #{p['version']} (#{p['architecture']})", id]}, {:selected => @tpl.platform || 'fedora'}, {:class => 'grid_7'} -%fieldset.clearfix - = label_tag :bootable, 'Bootable:', :class => "grid_4 alpha" - .grid_12.omega - = radio_button_tag :bootable, 'yes', true, :disabled => true - = label_tag :bootable, 'Yes' - = radio_button_tag :bootable, 'no', false, :disabled => true - = label_tag :bootable, 'No' -%fieldset.clearfix - %label{:for => :template_group, :class => 'grid_4 alpha'} - Template Group: - = select_tag(:template_group, options_for_select([['User Private', 1]]), :class => 'grid_4') diff --git a/src/app/views/image_factory/templates/_builds.haml b/src/app/views/image_factory/templates/_builds.haml deleted file mode 100644 index a6bdd4b..0000000 --- a/src/app/views/image_factory/templates/_builds.haml +++ /dev/null @@ -1,41 +0,0 @@ -Builds for -= @tpl.platform_name -= @tpl.platform_version -, template "#{@tpl.name}" - -- form_tag image_factory_builds_path do - = hidden_field_tag :template_id, @tpl.id - - if @targets_not_built.count > 0 then - - if @tpl.imported - Build imported template is not supported - - else - New Build for - = select_tag 'target', options_for_select(@targets_not_built) - = submit_tag "Go", :name => "build" - -%ul - - if @images.empty? - %li No Builds - - else - - @images.each do |img| - %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do - = "#{img.name}-#{img.template.architecture}: #{img.status}" - = hidden_field_tag :template_id, @tpl.id - = hidden_field_tag :image_id, img.id - = submit_tag "Retry build", :name => "build" - - if img.status == Image::STATE_COMPLETED - %ul - - img.provider_images.each do |pimg| - %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do - = "#{pimg.provider.name}: #{pimg.status}" - = hidden_field_tag :template_id, @tpl.id - = hidden_field_tag :provider_image_id, pimg.id - = submit_tag "Retry upload", :name => "build" - - unless @tpl.imported - - img.not_uploaded_providers.each do |provider| - %li - = "#{provider.name}: " - not uploaded - = link_to 'upload', upload_image_factory_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} diff --git a/src/app/views/image_factory/templates/_collections.haml b/src/app/views/image_factory/templates/_collections.haml deleted file mode 100644 index 98ce959..0000000 --- a/src/app/views/image_factory/templates/_collections.haml +++ /dev/null @@ -1,8 +0,0 @@ -%ul.collections - - @collections.each do |c| - %li - /- selected = c[:selected] ? true : false - - selected = false - = check_box_tag 'groups[]', c[:id], selected, {:disabled => selected, :id => "group_#{c[:id]}", :class => "#{selected ? 'selected' : ''}"} - = label_tag "group_#{c[:id]}", c[:name] -= render :partial => 'addbuttons' diff --git a/src/app/views/image_factory/templates/_form.haml b/src/app/views/image_factory/templates/_form.haml deleted file mode 100644 index 7cc323c..0000000 --- a/src/app/views/image_factory/templates/_form.haml +++ /dev/null @@ -1,120 +0,0 @@ -:javascript - $(document).ready(function() { - var $content_container = $('#managed_content'); - var $sel_pkg_container = $('#package_selection_list'); - var $submit = $('#add_software_button'); - $submit.click(function(e) { - e.preventDefault(); - $submit.hide(); - var data = { - 'packages[]': $("input[name='packages[]']").map(function() {return $(this).val()}).get(), - 'repository': $("select[name='tpl[platform]']").val() || '' - } - var url = '#{url_for :action => 'content_selection', :id => @id}'; - //$content_container.empty().show(); - $sel_pkg_container.empty().show().addClass('loading'); - $sel_pkg_container.load(url, data, function(){ - $sel_pkg_container.removeClass('loading'); - var $groups = $('.softwaregroups .disclosure', this); - //search - $("input[name='package_search']").keypress(function(event) { - if (event.keyCode == '13') { - event.preventDefault(); - $("input[name=package_search] ~ button").click(); - } - }); - $("input[name=package_search] ~ button").click(function(event) { - event.preventDefault(); - var data = { - 'packages[]': $("input:text[name='packages[]']").map(function() {return $(this).val()}).get(), - 'package_search': $("input[name='package_search']").val(), - 'repository': $("select[name='tpl[platform]']").val() - }; - var url = '#{url_for :action => 'search_packages', :id => @id}'; - $('#metagrouppackages').empty().addClass('loading'); - $('#metagrouppackages').load(url, data, function() { - $('#metagrouppackages').removeClass('loading'); - }); - }); - }); - }); - //removing packages from the list - $('.remove_package').live('click', function (e) { - e.preventDefault(); - $(this).parent().hide(300, function () { - $(this).remove(); - }); - }); - //displaying extended package info and actions - $('.dropdown').hide(); - $('.packagename').live('click', function () { - var dropdowncontent = $(this).siblings('.dropdown').html(), - $dropdown = $("#dropdown"); - $('.packagewrap').removeClass('selected'); - $(this).parent().addClass('selected'); - $dropdown.empty().html(dropdowncontent).css({ - 'top': $(this).positionAncestor('#content').top + 17, - 'left': $(this).positionAncestor('#content').left - 4 - }).show(); - }); - //catch #content clicks and hide the #dropdown if it's not within it - $("#content").click(function (e) { - if(!e.target.id === 'dropdown' || !$(e.target).closest("#dropdown").length) { - $("#dropdown").hide(); - $('.packagewrap').removeClass('selected'); - } - }); - // select correct package repo when we change platform - $("select[name='tpl[platform]']").change(function() { - if ($submit.is(':hidden')) { - $submit.trigger('click'); - } - }); - // add selected pkgs/groups - $('#do_add_software').live('click', function(e) { - e.preventDefault(); - var $button = $(this).clone(); - var label = "<span id='do_add_software' class='loading fl'>Adding Packages</span>"; - var url = '#{url_for :action => 'managed_content'}'; - var new_pkgs = $("input:checked[name='selected_packages[]']").map(function() {return $(this).val()}).get(); - var old_pkgs = $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get() - var cached_pkgs = $("input:hidden[name='cached_packages[]']").map(function() {return $(this).val()}).get() - var data = { - 'selected_packages[]': old_pkgs.concat(new_pkgs.concat(cached_pkgs)), - 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(), - 'collections': $("input:hidden[name=collections]").val(), - 'template_id' : '#{@id.nil? ? nil : @id}' - }; - $(this).replaceWith(label); - $('#managed_content').load(url, data, function(){ - $("input:checked[name='groups[]']").attr('disabled', 'disabled'); - $("input:checked[name='packages[]']").attr('disabled', 'disabled'); - // $('#add_software_button').show(); - $('.dropdown').hide(); - $('#do_add_software').replaceWith($button); - }); - }); - // hide sw selection panel - $('#cancel_add_software').live('click', function(e) { - e.preventDefault(); - $('#package_selection_list').hide(); - $('#add_software_button').show(); - $('.dropdown').hide(); - }); - }); - -#build - = error_messages_for :tpl, :object_name => 'template' - = render :partial => 'basics' - = render :partial => 'local_content_to_bundle' - - #managed_content - = render :partial => 'managed_content' - - .clearfix - .grid_16.alpha.omega - = restful_submit_tag "Add Software", 'collections', collections_image_factory_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"} - - #package_selection_list{:style => 'display: none'} - - = render :partial => 'preboot_configuration' diff --git a/src/app/views/image_factory/templates/_hidden_fields.haml b/src/app/views/image_factory/templates/_hidden_fields.haml deleted file mode 100644 index 5709087..0000000 --- a/src/app/views/image_factory/templates/_hidden_fields.haml +++ /dev/null @@ -1,8 +0,0 @@ -= hidden_field :tpl, :id -= hidden_field :tpl, :name -= hidden_field :tpl, :summary -= hidden_field :tpl, :platform -= hidden_field :tpl, :platform_version -= hidden_field :tpl, :architecture -- @tpl.packages.each do |p| - = hidden_field_tag "packages[]", p, :id => "package_#{p}" diff --git a/src/app/views/image_factory/templates/_list.haml b/src/app/views/image_factory/templates/_list.haml deleted file mode 100644 index bf8be82..0000000 --- a/src/app/views/image_factory/templates/_list.haml +++ /dev/null @@ -1,35 +0,0 @@ -- form_tag do - = link_to "Create", new_image_factory_template_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_templates_path, 'DELETE', :id => 'delete_button' - - %table#templates_table - = sortable_table_header @header - %tbody - - if @templates.empty? - %tr - %td{:colspan => 6} No Templates - - else - - @templates.each do |template| - %tr - %td - = check_box_tag 'selected[]', template.id, @url_params[:select] == 'all', :id => "selected_#{template.id}" - = image_tag "blnk.png", :alt => template.platform, :class => "icon platform #{template.platform}" - = link_to template.name, image_factory_template_path(template) - %td= template.platform_name - %td= template.platform_version - %td= image_tag 'blnk.png', :alt => 'yes', :class => "icon yes" - %td= template.architecture - -:javascript - $(document).ready(function () { - $('#delete_button').click(function(e) { - if ($("#templates_table input[@type=radio]:checked").length == 0) { - alert('Please select any template to be deleted before clicking Delete button.'); - e.preventDefault(); - } else { - if (!confirm("Are you sure you want to delete this template?")) { - e.preventDefault(); - } - } - }); - }); diff --git a/src/app/views/image_factory/templates/_local_content_to_bundle.haml b/src/app/views/image_factory/templates/_local_content_to_bundle.haml deleted file mode 100644 index 109ce20..0000000 --- a/src/app/views/image_factory/templates/_local_content_to_bundle.haml +++ /dev/null @@ -1,21 +0,0 @@ -%h3.disabled.gap Local Content to Bundle -%fieldset.clearfix - = label_tag :local_bundle_name, 'Local:', :class => "disabled grid_2 alpha" - = text_field_tag 'local_bundle_name[]', 'Bundle Name', :disabled => true, :class => "grid_8" - .grid_6.omega - %button{:type => 'button', :disabled => 'disabled'} Browse - %button{:type => 'button', :disabled => 'disabled'} Config - %button{:type => 'button', :disabled => 'disabled'} Metadata - ( - %a{:href => '#'} Remove - ) - .grid_2.alpha - - = text_field_tag 'local_bundle_name[]', 'Bundle Name', :disabled => true, :class => "grid_8" - .grid_6.omega - %button{:type => 'button', :disabled => 'disabled'} Browse - %button{:type => 'button', :disabled => 'disabled'} Config - %button{:type => 'button', :disabled => 'disabled'} Metadata - ( - %a{:href => '#'} Remove - ) diff --git a/src/app/views/image_factory/templates/_managed_content.haml b/src/app/views/image_factory/templates/_managed_content.haml deleted file mode 100644 index ebea6cd..0000000 --- a/src/app/views/image_factory/templates/_managed_content.haml +++ /dev/null @@ -1,21 +0,0 @@ -#selected_packages - %h3.gap Managed Content to Bundle - .grid_16.alpha.omega - - if @tpl.packages.empty? - No selected packages - - else - /- repos = @repository_manager.repositories_hash - - @tpl.packages.sort.each do |pkg| - /- pkg_group = @groups.keys.find {|g| @groups[g][:packages][pkg]} - .packagewrap - %a.packagename{:id => "package_#{pkg}"}=pkg - = hidden_field_tag 'packages[]', pkg, :id => "package_#{pkg}" - = restful_submit_tag "Remove", "remove_package", remove_package_image_factory_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} - .dropdown - / we don't display repository for now, it's pretty difficult with current design - /%section - / Repository: - / %label= (pkg_group and repo = repos[@groups[pkg_group][:repository_id]]) ? repo.name.to_s : ' ' - %fieldset.nomargin - %button{:disabled => true} Browse - %button{:disabled => true} Config diff --git a/src/app/views/image_factory/templates/_metagroup_packages.haml b/src/app/views/image_factory/templates/_metagroup_packages.haml deleted file mode 100644 index 82c2697..0000000 --- a/src/app/views/image_factory/templates/_metagroup_packages.haml +++ /dev/null @@ -1,19 +0,0 @@ -- if @metagroup_packages.blank? - %span.disabled No group selected -- else - %h4 - = "#{@metagroup} Packages" - %ul.metagrouppackages - - @metagroup_packages.sort {|a, b| a[:name] <=> b[:name]}.each do |group| - %li - - selected = false - %h5 - = check_box_tag 'selected_groups[]', group[:id], selected, {:disabled => selected, :id => "group_#{group[:id]}", :class => "softwaregroups #{selected ? 'selected' : ''}"} - = label_tag "group_#{group[:id]}", group[:label] - %ul - - group[:packages].each do |pkg| - %li - - selected = @packages.to_a.find {|p| p[:name] == pkg} - = check_box_tag 'selected_packages[]', pkg, selected, {:disabled => selected, :id => "pkg_#{group[:name]}_#{pkg}"} - = label_tag "pkg_#{group[:name]}_#{pkg}", pkg - = render :partial => 'addbuttons' diff --git a/src/app/views/image_factory/templates/_metagroups.haml b/src/app/views/image_factory/templates/_metagroups.haml deleted file mode 100644 index f23c408..0000000 --- a/src/app/views/image_factory/templates/_metagroups.haml +++ /dev/null @@ -1,13 +0,0 @@ -%fieldset.clearfix - .search.grid_4.alpha - %input{:type => "search", :placeholder => "Search for package", :name => 'package_search', :value => params[:package_search], :id => 'package_search'} - %button.action{:id => 'package_search_button', :name => 'package_search_button' , :value => 'true'} - .grid_8 - %a.grid_4.omega Advanced Search - -%ul.metagroups{:class => 'packagegroupsidebar grid_4 alpha'} - %li - = restful_submit_tag 'Collections', 'collections', collections_image_factory_templates_path, 'GET', {:id => 'collections', :class => 'icon'} - - @metagroups.keys.sort.each do |cat| - %li - = restful_submit_tag cat, "metagroup_packages", metagroup_packages_image_factory_templates_path, 'GET', {:class => 'icon'} diff --git a/src/app/views/image_factory/templates/_preboot_configuration.haml b/src/app/views/image_factory/templates/_preboot_configuration.haml deleted file mode 100644 index 79ae839..0000000 --- a/src/app/views/image_factory/templates/_preboot_configuration.haml +++ /dev/null @@ -1,11 +0,0 @@ -%h3.clear.gap Preboot Configuration -%fieldset.clearfix - .grid_4.alpha - = radio_button_tag :configure_via_script, 'no', :disabled => true - = label_tag :configure_via_script, 'Configure Via Script' - = file_field_tag 'script_file', :disabled => true, :class => 'grid_12 omega' -%fieldset.clearfix - .grid_4.alpha - = radio_button_tag :configure_via_script, 'no', :disabled => true - = label_tag :configure_via_script, 'Configure Via Script' - = file_field_tag 'script_file', :disabled => true, :class => 'grid_12 omega' diff --git a/src/app/views/image_factory/templates/_properties.haml b/src/app/views/image_factory/templates/_properties.haml deleted file mode 100644 index 0fe33ae..0000000 --- a/src/app/views/image_factory/templates/_properties.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h3 - Properties for - = @tpl.name -= link_to "Edit", edit_image_factory_template_path(@tpl), { :class => 'button' } diff --git a/src/app/views/image_factory/templates/_search_packages.haml b/src/app/views/image_factory/templates/_search_packages.haml deleted file mode 100644 index 78fa5b1..0000000 --- a/src/app/views/image_factory/templates/_search_packages.haml +++ /dev/null @@ -1,45 +0,0 @@ -:javascript - $(document).ready(function() { - $('.pagination input[type=submit]').click(function(e) { - e.preventDefault(); - var url = '#{url_for :action => 'search_packages', :id => @id}'; - var old_pkgs = $("input:hidden[name='cached_packages[]']").map(function() {return $(this).val()}).get(); - var new_pkgs = $("input:checked[name='selected_packages[]']").map(function() {return $(this).val()}).get(); - var data = { - 'selected_packages[]': $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get(), - 'cached_packages[]': old_pkgs.concat(new_pkgs), - 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(), - 'package_search': $("input[name='package_search']").val(), - 'old_page': '#{@page}', - 'template_id' : '#{@id.nil? ? nil : @id}', - 'page': $(this).val(), - 'repository': $("select[name='tpl[platform]']").val() - }; - $('#metagrouppackages').empty().addClass('loading'); - $('#metagrouppackages').load(url, data, function() { - $('#metagrouppackages').removeClass('loading'); - }) - }); - }); - -- @cached_packages.uniq.each do |pkg| - = hidden_field_tag 'cached_packages[]', pkg - -- if params[:package_search].empty? - Search string is empty. --else - %h4 - = "Search Results for '#{params[:package_search]}'" - %ul.searchedpackages - - @searched_packages.sort {|a, b| a [:name] <=> b[:name]}.each do |pkg| - %li - - selected = (@packages.to_a.find {|p| p[:name] == pkg[:name]} or @cached_packages.include?(pkg[:name])) - - disabled = @tpl.packages.include?(pkg[:name]) - = check_box_tag 'selected_packages[]', pkg[:name], selected, {:disabled => disabled, :id => "pkg_#{pkg[:name]}"} - = label_tag "pkg_#{pkg[:name]}", pkg[:name] - .pageinfo - = page_entries_info @searched_packages, :entry_name => 'package' - = will_paginate @searched_packages, :params => {:package_search => params[:package_search]}, :renderer => TemplatesHelper::ButtonPaginationRenderer.new, :previous_label => 'Previous', :next_label => 'Next' - - - = render :partial => 'addbuttons' diff --git a/src/app/views/image_factory/templates/_software_selection.haml b/src/app/views/image_factory/templates/_software_selection.haml deleted file mode 100644 index 34606fc..0000000 --- a/src/app/views/image_factory/templates/_software_selection.haml +++ /dev/null @@ -1,41 +0,0 @@ -:javascript - $(document).ready(function() { - var $metagrouppackages = $('#metagrouppackages'); - $('.metagroups input').click(function(e) { - e.preventDefault(); - var data = { - 'repository': $("select[name='tpl[platform]']").val(), - 'packages[]': $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get() - }; - if ($(this).attr('name') == '__rewrite[collections]') { - var url = '#{url_for :action => 'collections', :id => @id}'; - } else { - var url = '#{url_for :action => 'metagroup_packages', :id => @id}'; - data.__rewrite = { - metagroup_packages: e.currentTarget.value - }; - } - $metagrouppackages.empty().addClass('loading'); - $metagrouppackages.load(url, data, function() { - $metagrouppackages.removeClass('loading'); - //select all packages in collection - $(".softwaregroups").click(function() { - if ($(this).attr("checked") === true) { - $(this).parent().siblings("ul").find("input[type='checkbox']").attr("checked","checked"); - } else { - $(this).parent().siblings("ul").find("input[type='checkbox']").removeAttr("checked"); - } - }); - }); - }); - }); - -.grid_16 - %h4 Managed Content Selection - - - form_tag do - - unless request.xhr? - = render :partial => 'hidden_fields' - = render :partial => 'metagroups' - #metagrouppackages.grid_12.omega.gap - = render :partial => view diff --git a/src/app/views/image_factory/templates/collections.haml b/src/app/views/image_factory/templates/collections.haml deleted file mode 100644 index a899c85..0000000 --- a/src/app/views/image_factory/templates/collections.haml +++ /dev/null @@ -1 +0,0 @@ -= render :partial => 'software_selection', :locals => {:view => 'collections'} diff --git a/src/app/views/image_factory/templates/edit.haml b/src/app/views/image_factory/templates/edit.haml deleted file mode 100644 index a2a58ef..0000000 --- a/src/app/views/image_factory/templates/edit.haml +++ /dev/null @@ -1,9 +0,0 @@ -#dropdown -.grid_16 - %h2 Edit Template - /- form_for @tpl, :url => image_factory_template_path(@tpl), :html => { :method => :put } do |f| - - form_tag do - = hidden_field_tag :id, @tpl.id - = render :partial => 'form' - = restful_submit_tag "Save", 'update', image_factory_template_path(@tpl), 'PUT', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' diff --git a/src/app/views/image_factory/templates/index.haml b/src/app/views/image_factory/templates/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/image_factory/templates/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/image_factory/templates/managed_content.haml b/src/app/views/image_factory/templates/managed_content.haml deleted file mode 100644 index 926142d..0000000 --- a/src/app/views/image_factory/templates/managed_content.haml +++ /dev/null @@ -1 +0,0 @@ -= render :partial => 'managed_content' diff --git a/src/app/views/image_factory/templates/metagroup_packages.haml b/src/app/views/image_factory/templates/metagroup_packages.haml deleted file mode 100644 index 9703663..0000000 --- a/src/app/views/image_factory/templates/metagroup_packages.haml +++ /dev/null @@ -1 +0,0 @@ -= render :partial => 'software_selection', :locals => {:view => 'metagroup_packages'} diff --git a/src/app/views/image_factory/templates/new.haml b/src/app/views/image_factory/templates/new.haml deleted file mode 100644 index 2dbac5b..0000000 --- a/src/app/views/image_factory/templates/new.haml +++ /dev/null @@ -1,10 +0,0 @@ -#dropdown -.grid_16 - %h2 New Template - /- form_for @tpl, :url => image_factory_templates_path do |f| - - form_tag do - = render :partial => 'form' - = check_box_tag :create_deployable - = label_tag :create_deployable, "Create Deployable for this template" - = restful_submit_tag "Save", 'create', image_factory_templates_path, 'POST', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' diff --git a/src/app/views/image_factory/templates/search_packages.haml b/src/app/views/image_factory/templates/search_packages.haml deleted file mode 100644 index 94e30f5..0000000 --- a/src/app/views/image_factory/templates/search_packages.haml +++ /dev/null @@ -1 +0,0 @@ -= render :partial => 'software_selection', :locals => {:view => 'search_packages'} diff --git a/src/app/views/image_factory/templates/show.haml b/src/app/views/image_factory/templates/show.haml deleted file mode 100644 index 05eeedd..0000000 --- a/src/app/views/image_factory/templates/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/image_imports/new.haml b/src/app/views/image_imports/new.haml new file mode 100644 index 0000000..cebc7a7 --- /dev/null +++ b/src/app/views/image_imports/new.haml @@ -0,0 +1,8 @@ +- form_tag :image_factory_image_imports do + %fieldset.clear + = label_tag :provider_account_id, "Provider Account ID: " + = select_tag :provider_account_id, option_groups_from_collection_for_select(@providers,:provider_accounts, :name, :id,:name) + %fieldset.clear + = label_tag :ami_id, "Image ID: " + = text_field_tag :ami_id, params[:ami_id] + = restful_submit_tag "Import", 'create', image_factory_image_imports_path, 'POST', :class => "submit" diff --git a/src/app/views/instances/_can_perform_state_change.xml.haml b/src/app/views/instances/_can_perform_state_change.xml.haml new file mode 100644 index 0000000..e20a232 --- /dev/null +++ b/src/app/views/instances/_can_perform_state_change.xml.haml @@ -0,0 +1,7 @@ +%result< + %action_request< + =@action_request + %instance_id< + =@instance.id + %value< + =@value \ No newline at end of file diff --git a/src/app/views/instances/_history.haml b/src/app/views/instances/_history.haml new file mode 100644 index 0000000..854743e --- /dev/null +++ b/src/app/views/instances/_history.haml @@ -0,0 +1,3 @@ +%h3 + History for + = @instance.name diff --git a/src/app/views/instances/_list.haml b/src/app/views/instances/_list.haml new file mode 100644 index 0000000..7a6cbc4 --- /dev/null +++ b/src/app/views/instances/_list.haml @@ -0,0 +1,23 @@ +- form_tag do + = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' + = restful_submit_tag 'Create', 'new', select_template_resources_instances_path, 'GET' + = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_resources_instances_path, 'GET' + + %p + Select: + = link_to "All", params.merge(:select => 'all') + %span> , + = link_to "None", params.merge(:select => 'none') + %table + = sortable_table_header @header + - @instances.each do |inst| + %tr + %td + - selected = params[:select] == 'all' + %input{:name => 'instance_selected[]', :type => 'checkbox', :value => inst.id, :id => "instance_checkbox_#{inst.id}", :checked => selected } + = link_to inst.name, resources_instance_path(inst) + %td= inst.state + %td= inst.template ? inst.template.name : "#{inst.assembly.name} (assembly)" + %td= inst.public_addresses + %td= inst.provider_account ? inst.provider_account.provider.name : '' + %td= owner_name(inst) diff --git a/src/app/views/instances/_permissions.haml b/src/app/views/instances/_permissions.haml new file mode 100644 index 0000000..02da418 --- /dev/null +++ b/src/app/views/instances/_permissions.haml @@ -0,0 +1,3 @@ +%h3 + Permissions for + = @instance.name diff --git a/src/app/views/instances/_properties.haml b/src/app/views/instances/_properties.haml new file mode 100644 index 0000000..2d93dbf --- /dev/null +++ b/src/app/views/instances/_properties.haml @@ -0,0 +1,65 @@ +%h3 + Properties for + = @instance.name +%ul + %li + = label_tag :name, 'Name' + %span= @instance.name + %li + = label_tag :status, 'Status' + %span= @instance.state + %li + = label_tag :public_addresses, 'Public Addresses' + %span= @instance.public_addresses + %li + = label_tag :private_addresses, 'Private Addresses' + %span= @instance.private_addresses + - if @instance.template + %li + = label_tag :operating_system, 'Operating system' + %span= "#{@instance.template.xml.platform} #{@instance.template.xml.platform_version}" + %li + = label_tag :base_template, 'Base Template' + %span= @instance.template.name + - else + %li + = label_tag :assembly, 'Assembly' + %span= @instance.assembly.name + %li + = label_tag :provider, 'Provider' + %span= @instance.provider_account.provider.name if @instance.provider_account + %li + = label_tag :architecture, 'Architecture' + %span= @instance.hardware_profile.architecture.value + %li + = label_tag :memory, 'Memory' + %span= @instance.hardware_profile.memory.value + %li + = label_tag :storage, 'Storage' + %span= @instance.hardware_profile.storage.value + %li + = label_tag :instantiation_time, 'Instantiation Time' + %span= @instance.created_at.strftime("%d-%b-%Y %H:%M:%S") + %li + = label_tag :uptime, 'Uptime' + %span= @instance.total_state_time(@instance.state) + %li + = label_tag :current_alerts, 'Current Alerts' + %span= 0 + %li + = label_tag :console_connection, 'Console Connection' + %span= 'via SSH' + - if @instance.instance_key + %li + = label_tag :instance_key, 'SSH key' + %span= link_to("Download", key_resources_instance_path(@instance)) + %li + = label_tag :owner, 'Owner' + %span= "#{@instance.owner.first_name} #{@instance.owner.last_name}" + %li + = label_tag :shared_to, 'Shared to' + %span= "N/A" + - if @instance.state == Instance::STATE_ERROR + %li + = label_tag :error, 'Error' + %span= @instance.last_error diff --git a/src/app/views/instances/index.haml b/src/app/views/instances/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/instances/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/instances/new.haml b/src/app/views/instances/new.haml new file mode 100644 index 0000000..7839ba9 --- /dev/null +++ b/src/app/views/instances/new.haml @@ -0,0 +1,27 @@ += error_messages_for 'instance' +%h2 Launch instance +- form_for @instance, :url => resources_instances_path do + = hidden_field :instance, :template_id + %ul + %li + = label :instance, :name + = text_field :instance, :name + %li + = label :instance, :template + = text_field_tag :template_name, @instance.template ? @instance.template.name : '', :disabled => true + %li + = label :instance, :pool + - if @instance.pool + = text_field_tag :pool_name, @instance.pool.name, :disabled => true + = hidden_field :instance, :pool_id + - else + = select :instance, :pool_id, @pools.map {|p| [ p.name, p.id ]}, { :include_blank => true } + %li + = label :instance, :hardware_profile + = select :instance, :hardware_profile_id, @hardware_profiles.map {|p| [ p.name, p.id ]}, { :include_blank => false } + %li + = label :instance, :frontend_realm + = select :instance, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, { :include_blank => true } + + = submit_tag 'Cancel', :name => 'cancel' + = submit_tag 'Launch', :name => 'launch' diff --git a/src/app/views/instances/select_template.haml b/src/app/views/instances/select_template.haml new file mode 100644 index 0000000..a2dfbeb --- /dev/null +++ b/src/app/views/instances/select_template.haml @@ -0,0 +1,19 @@ +%h3 Show Templates +%hr +%ul + - @templates.each do |tpl| + %li + - form_tag new_resources_instance_path do + = hidden_field :instance, :template_id, :value => tpl.id + - if tpl.platform != "unknown" + = image_tag "platform_#{tpl.platform}.png", :size => "32x32", :alt => tpl.platform + %h3= tpl.name + %p= tpl.summary + %p + %label Group: + System + %label Version: + 2.5 + = submit_tag 'Launch', :name => 'launch' += will_paginate(@templates) += page_entries_info(@templates) diff --git a/src/app/views/instances/show.haml b/src/app/views/instances/show.haml new file mode 100644 index 0000000..05eeedd --- /dev/null +++ b/src/app/views/instances/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/pool_families/_form.haml b/src/app/views/pool_families/_form.haml new file mode 100644 index 0000000..e493931 --- /dev/null +++ b/src/app/views/pool_families/_form.haml @@ -0,0 +1,12 @@ += error_messages_for :pool_family += form.error_message_on :name, 'Name ' +%fieldset.clear + = form.label :name,'Pool Family Name :' + = form.text_field :name, :title => 'pool_family_name', :value => @pool_family.name, :class => "clear grid_4 alpha" +%fieldset.clear + - form.fields_for :quota do |quota_form| + %fieldset.clear + = quota_form.label :maximum_running_instances, t(:maximum_running_instances), :class => "alpha grid_3" + = quota_form.text_field :maximum_running_instances +%fieldset.clear + = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/pool_families/_history.haml b/src/app/views/pool_families/_history.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/pool_families/_list.haml b/src/app/views/pool_families/_list.haml new file mode 100644 index 0000000..323b6b7 --- /dev/null +++ b/src/app/views/pool_families/_list.haml @@ -0,0 +1,23 @@ +- form_tag do + = link_to "Create", new_admin_pool_family_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_pool_families_path, 'DELETE', :id => 'delete_button' + + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + + %table#pool_families_table + = sortable_table_header @header + - unless @pool_families.blank? + - @pool_families.each do |pool_family| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "pool_family_selected[]", :type => "checkbox", :value => pool_family.id, :id => "pool_family_checkbox_#{pool_family.id}", :checked => selected } + = link_to pool_family.name, admin_pool_family_path(pool_family) + %td + = pool_family.quota.maximum_running_instances or 'unlimited' + %td + = "#{pool_family.quota.percentage_used} %" diff --git a/src/app/views/pool_families/_permissions.haml b/src/app/views/pool_families/_permissions.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/pool_families/_pools.haml b/src/app/views/pool_families/_pools.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/pool_families/_properties.haml b/src/app/views/pool_families/_properties.haml new file mode 100644 index 0000000..02d197e --- /dev/null +++ b/src/app/views/pool_families/_properties.haml @@ -0,0 +1,4 @@ +%h3 + Properties for + = @pool_family.name += link_to "Edit", edit_admin_pool_family_path(@pool_family), {:class => 'button'} diff --git a/src/app/views/pool_families/_provider_accounts.haml b/src/app/views/pool_families/_provider_accounts.haml new file mode 100644 index 0000000..358e3d2 --- /dev/null +++ b/src/app/views/pool_families/_provider_accounts.haml @@ -0,0 +1,25 @@ +%h3 + Provider Accounts for + = @pool_family.name + +- unless @pool_family.provider_accounts.blank? + - form_tag do + = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_admin_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' + = #submit_tag "Remove selected" + + %table#provider_accounts_table + = sortable_table_header @provider_accounts_header + - @pool_family.provider_accounts.each do |provider_account| + %tr + %td + - selected = @url_params[:select_provider_accounts] == 'all' + %input{:name => "provider_account_selected[]", :type => "checkbox", :value => provider_account.id, :id => "provider_account_checkbox_#{provider_account.id}", :checked => selected } + = provider_account.name + +- unless @pool_family.provider_accounts.count == ProviderAccount.all.count + - form_for :pool_family, :url => add_provider_account_admin_pool_families_path(:id => @pool_family.id) do |f| + - unless @pool_family.provider_accounts.blank? + = select_tag :provider_account_id, options_for_select(ProviderAccount.find(:all, :conditions => [ "id NOT IN (?)", @pool_family.provider_account_ids ]).collect{ |pa| [pa.name, pa.id] }) + - else + = select_tag :provider_account_id, options_for_select(ProviderAccount.all.collect{ |pa| [pa.name, pa.id] }) + = f.submit "Add to #{@pool_family.name}" diff --git a/src/app/views/pool_families/edit.haml b/src/app/views/pool_families/edit.haml new file mode 100644 index 0000000..1c09438 --- /dev/null +++ b/src/app/views/pool_families/edit.haml @@ -0,0 +1,7 @@ +%h3 + Editing + = @pool_family.name + Pool Family + +-form_for @pool_family, :url => admin_pool_family_path(@pool_family), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/pool_families/index.haml b/src/app/views/pool_families/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/pool_families/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/pool_families/new.haml b/src/app/views/pool_families/new.haml new file mode 100644 index 0000000..7dbac4c --- /dev/null +++ b/src/app/views/pool_families/new.haml @@ -0,0 +1,3 @@ +%h2 Create a new Pool family +- form_for @pool_family, :url => admin_pool_families_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => admin_pool_families_path } diff --git a/src/app/views/pool_families/show.haml b/src/app/views/pool_families/show.haml new file mode 100644 index 0000000..0c36221 --- /dev/null +++ b/src/app/views/pool_families/show.haml @@ -0,0 +1,5 @@ +- content_for 'list' do + = render :partial => 'list' + +- content_for 'details' do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/pools/_deployments.haml b/src/app/views/pools/_deployments.haml new file mode 100644 index 0000000..497bf09 --- /dev/null +++ b/src/app/views/pools/_deployments.haml @@ -0,0 +1,3 @@ +%h3 + Deployments for + = @pool.name diff --git a/src/app/views/pools/_history.haml b/src/app/views/pools/_history.haml new file mode 100644 index 0000000..4769d92 --- /dev/null +++ b/src/app/views/pools/_history.haml @@ -0,0 +1,3 @@ +%h3 + History for + = @pool.name diff --git a/src/app/views/pools/_instances.haml b/src/app/views/pools/_instances.haml new file mode 100644 index 0000000..260a9f8 --- /dev/null +++ b/src/app/views/pools/_instances.haml @@ -0,0 +1,28 @@ +- form_tag do + = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' + Show only + = hidden_field_tag 'details_tab', 'instances' + = select '', 'state', Instance::STATES, { :include_blank => true, :selected => params[:state] } + instances + = restful_submit_tag "Filter", 'show', resources_pool_path, 'GET', :id => 'filter_button' + + %table + %thead + %td Name + %td Assembly + %td Deployment + %td Since + %td State + - @instances.each do |instance| + %tr + %td + %input{:name => 'instance_selected[]', :type => 'checkbox', :value => instance.id, :id => "instance_checkbox_#{instance.id}" } + = link_to instance.name, resources_instance_path(instance) + %td + = instance.assembly.present? ? link_to((instance.assembly.name), image_factory_assembly_path(instance.assembly)) : '—' + %td + = instance.deployment.present? ? link_to((instance.deployment.name), resources_deployment_path(instance.deployment)) : '—' + %td + = instance.created_at.to_s + %td + = instance.state \ No newline at end of file diff --git a/src/app/views/pools/_list.haml b/src/app/views/pools/_list.haml new file mode 100644 index 0000000..c8083b7 --- /dev/null +++ b/src/app/views/pools/_list.haml @@ -0,0 +1,39 @@ +- form_tag do + = link_to "New Pool", new_resources_pool_path, { :class => 'button' } + = restful_submit_tag "Destroy", 'destroy', multi_destroy_resources_pools_path, 'DELETE', :id => 'delete_button' + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + %table#pools_table + = sortable_table_header @header + - @pools.each do |pool| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "pools_selected[]", :type => "checkbox", :value => pool.id, :id => "pool_checkbox_#{pool.id}", :checked => selected } + = link_to pool.name, resources_pool_path(pool) + %td + = pool.quota.maximum_running_instances or 'unlimited' + %td + = pool.quota.percentage_used + ='%' + %td + = pool.pool_family.name + %td + = pool.enabled + +:javascript + $(document).ready(function () { + $('#delete_button').click(function(e) { + if ($("#pools_table input[@type=radio]:checked").length == 0) { + alert('Please select any pool to be deleted before clicking Delete button.'); + e.preventDefault(); + } else { + if (!confirm("Are you sure you want to delete this pool?")) { + e.preventDefault(); + } + } + }); + }); diff --git a/src/app/views/pools/_permissions.haml b/src/app/views/pools/_permissions.haml new file mode 100644 index 0000000..fbd252e --- /dev/null +++ b/src/app/views/pools/_permissions.haml @@ -0,0 +1,3 @@ +%h3 + Permissions for + = @pool.name diff --git a/src/app/views/pools/_properties.haml b/src/app/views/pools/_properties.haml new file mode 100644 index 0000000..066a491 --- /dev/null +++ b/src/app/views/pools/_properties.haml @@ -0,0 +1,4 @@ +%h3 + Properties for + = @pool.name += link_to "Edit", edit_resources_pool_path(@pool), { :class => 'button' } diff --git a/src/app/views/pools/edit.haml b/src/app/views/pools/edit.haml new file mode 100644 index 0000000..d4c511f --- /dev/null +++ b/src/app/views/pools/edit.haml @@ -0,0 +1,30 @@ += error_messages_for :pool +%h1 + Edit pool + = @pool.name + +- form_for [:resources, @pool] do |form| + %fieldset + = form.label :name, "Name:", :class => "grid_2 alpha" + = form.text_field :name + %fieldset + = form.label :pool_family_id, "Pool Family:", :class => "grid_2 alpha" + = form.collection_select :pool_family_id, PoolFamily.all, :id, :name + %fieldset + = label_tag "Quota" + = text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" + ( + %button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> + = t('provider_accounts.form.unlimited_quota') + ) + %fieldset + = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha" } + = form.check_box :enabled + %fieldset.clear + + = form.submit "Save" + +:javascript + function set_unlimited_quota(elem_id) { + $("#" + elem_id)[0].value = "unlimited"; + } diff --git a/src/app/views/pools/index.haml b/src/app/views/pools/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/pools/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/pools/new.haml b/src/app/views/pools/new.haml new file mode 100644 index 0000000..5c48c9e --- /dev/null +++ b/src/app/views/pools/new.haml @@ -0,0 +1,27 @@ += error_messages_for :pool +%h1 Create a new Pool +- form_for @pool, :url => resources_pools_path do |form| + %fieldset + = form.label :name, "Name:", :class => "grid_2 alpha" + = form.text_field :name + %fieldset + = form.label :pool_family_id, "Pool Family:", :class => "grid_2 alpha" + = form.collection_select :pool_family_id, PoolFamily.all, :id, :name + %fieldset + = label_tag "Quota:" + = text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" + ( + %button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> + = t('provider_accounts.form.unlimited_quota') + ) + %fieldset + = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha" } + = form.check_box :enabled + %fieldset.clear + + = form.submit "Save" + +:javascript + function set_unlimited_quota(elem_id) { + $("#" + elem_id)[0].value = "unlimited"; + } diff --git a/src/app/views/pools/show.haml b/src/app/views/pools/show.haml new file mode 100644 index 0000000..05eeedd --- /dev/null +++ b/src/app/views/pools/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/provider_accounts/_credentials.haml b/src/app/views/provider_accounts/_credentials.haml new file mode 100644 index 0000000..9d31c8d --- /dev/null +++ b/src/app/views/provider_accounts/_credentials.haml @@ -0,0 +1,3 @@ +%h3 + Credentials for + = @account.name diff --git a/src/app/views/provider_accounts/_history.haml b/src/app/views/provider_accounts/_history.haml new file mode 100644 index 0000000..429320a --- /dev/null +++ b/src/app/views/provider_accounts/_history.haml @@ -0,0 +1,3 @@ +%h3 + History for + = @account.name diff --git a/src/app/views/provider_accounts/_list.haml b/src/app/views/provider_accounts/_list.haml new file mode 100644 index 0000000..b431f9b --- /dev/null +++ b/src/app/views/provider_accounts/_list.haml @@ -0,0 +1,20 @@ +- form_tag do + = link_to "New Account", new_admin_provider_account_path, :class => 'button' + = restful_submit_tag "Delete", "delete", multi_destroy_admin_provider_accounts_path, 'DELETE' + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + %table + = sortable_table_header @header + - @accounts.each do |account| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => 'accounts_selected[]', :type => 'checkbox', :value => account.id, :id => "account_checkbox_#{account.id}", :checked => selected } + = link_to account.name, admin_provider_account_path(account) + %td + =account.credentials_hash['username'] + %td + =account.provider.provider_type.name diff --git a/src/app/views/provider_accounts/_permissions.haml b/src/app/views/provider_accounts/_permissions.haml new file mode 100644 index 0000000..92ad7a5 --- /dev/null +++ b/src/app/views/provider_accounts/_permissions.haml @@ -0,0 +1,3 @@ +%h3 + Permissions for + = @account.name diff --git a/src/app/views/provider_accounts/_properties.haml b/src/app/views/provider_accounts/_properties.haml new file mode 100644 index 0000000..27789a1 --- /dev/null +++ b/src/app/views/provider_accounts/_properties.haml @@ -0,0 +1,13 @@ +%h3 + Properties for + = @account.name +%p + %label + Running instances quota: + = @account.quota.maximum_running_instances or 'unlimited' +%p + %label + Account ID: + = @account.credentials_hash['account_number'] += link_to "Edit", edit_admin_provider_account_path(@account), { :class => 'button' } += link_to "Test", admin_provider_account_path(@account, {:test_account => true}), { :class => 'button' } diff --git a/src/app/views/provider_accounts/_provider_form.haml b/src/app/views/provider_accounts/_provider_form.haml new file mode 100644 index 0000000..182fc36 --- /dev/null +++ b/src/app/views/provider_accounts/_provider_form.haml @@ -0,0 +1,27 @@ +%fieldset.clear + = label :provider_account, "Account name:" + = text_field :provider_account, :label +- CredentialDefinition::CREDENTIAL_DEFINITIONS_ORDER.each do |cred_order| + - @provider_account.all_credentials(@selected_provider).each do |cred| + - if cred_order == cred.credential_definition.name + %fieldset.clear + = label_tag cred.credential_definition.label + - if cred.credential_definition.input_type == "password" + = password_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", cred.value + - elsif cred.credential_definition.input_type == "file" + = file_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", :value => cred.value + - else + = text_field_tag "provider_account[credentials_hash][#{cred.credential_definition.name}]", cred.value + += label_tag "Quota" += text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" +( +%button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> + = t('provider_accounts.form.unlimited_quota') +) +%fieldset.clear + +:javascript + function set_unlimited_quota(elem_id) { + $("#" + elem_id)[0].value = "unlimited"; + } diff --git a/src/app/views/provider_accounts/_provider_selection.haml b/src/app/views/provider_accounts/_provider_selection.haml new file mode 100644 index 0000000..2095fde --- /dev/null +++ b/src/app/views/provider_accounts/_provider_selection.haml @@ -0,0 +1,25 @@ +%fieldset#provider_type.clear + = label_tag "Provider: " + = select(:provider_account, :provider_id, options_for_select(@providers.map{ |p| [p.name, p.id] }, :selected => @selected_provider.id)) + = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_admin_provider_accounts_path, 'GET', :class => 'button' + = label_tag "Cloud type: " + = @selected_provider.provider_type.name + - unless @selected_provider.provider_type.codename.nil? + = render :partial => "provider_form", :locals => { :provider_type => @selected_provider.provider_type} + - else + = flash.now[:warning] = "You don't have any provider yet" + +:javascript + $(document).ready(function(){ + var selected_provider; + $("#provider_account_provider_id").change(function() + { + selected_provider = $("option:selected").attr('value'); + $.get("#{set_selected_provider_admin_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, + function(result) { + $("#provider_type").html(result); + } + ); + + }); + }); diff --git a/src/app/views/provider_accounts/_rhevm.haml b/src/app/views/provider_accounts/_rhevm.haml new file mode 100644 index 0000000..dd86c72 --- /dev/null +++ b/src/app/views/provider_accounts/_rhevm.haml @@ -0,0 +1,2 @@ +%fieldset.clear + Login form for RHEV-M (not implemented yet) diff --git a/src/app/views/provider_accounts/edit.haml b/src/app/views/provider_accounts/edit.haml new file mode 100644 index 0000000..9da4d1c --- /dev/null +++ b/src/app/views/provider_accounts/edit.haml @@ -0,0 +1,14 @@ +#details.grid_13 + = error_messages_for :provider_account + %h2 + = t('provider_accounts.edit.edit_provider_account') + - form_tag(admin_provider_account_path, { :method => :put, :multipart => true }) do + = render :partial => 'provider_selection' + %fieldset.clearfix + .grid_13.alpha.omega + = submit_tag t(:edit), :class => "ra nomargin dialogbutton" + %section + %p.requirement + %span.required * + - + = t('provider_accounts.edit.required_field') diff --git a/src/app/views/provider_accounts/index.haml b/src/app/views/provider_accounts/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/provider_accounts/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/provider_accounts/new.haml b/src/app/views/provider_accounts/new.haml new file mode 100644 index 0000000..f1a5e2a --- /dev/null +++ b/src/app/views/provider_accounts/new.haml @@ -0,0 +1,18 @@ +#details.grid_13 + = error_messages_for :provider_account + %h2 + = t('provider_accounts.new.new_provider_account') + %label{ :for => :provider_id } + Provider + %fieldset.clear + - unless @providers.empty? + - form_for(@provider_account, :url => admin_provider_accounts_path, :html => {:multipart => true}) do |f| + = render :partial => 'provider_selection' + %fieldset.clearfix + .grid_13.alpha.omega + = f.submit t(:add), :class => "ra nomargin dialogbutton" + %section + %p.requirement + %span.required * + - + = t('provider_accounts.new.required_field') diff --git a/src/app/views/provider_accounts/show.haml b/src/app/views/provider_accounts/show.haml new file mode 100644 index 0000000..05eeedd --- /dev/null +++ b/src/app/views/provider_accounts/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/providers/_form.haml b/src/app/views/providers/_form.haml new file mode 100644 index 0000000..b400d00 --- /dev/null +++ b/src/app/views/providers/_form.haml @@ -0,0 +1,15 @@ += form.error_message_on :name, 'Name ' += form.error_message_on :url, 'URL ' += form.error_message_on :provider_type_id +%fieldset.clear + = form.label :name,'Provider name :' + = form.text_field :name, :title => 'provider_name', :value => @provider.name, :class => "clear grid_4 alpha" +%fieldset.clear + = form.label :url, 'Provider URL :' + = form.text_field :url, :title => 'provider_url', :value => @provider.url, :class => "grid_5" +%fieldset.clear + = form.label :provider_type + = form.select(:provider_type_id, ProviderType.all.collect {|provider_type| [provider_type.name,provider_type.id] }, :prompt => "Select type of provider") + +%fieldset.clear + = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/providers/_history.haml b/src/app/views/providers/_history.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/_hw_profiles.haml b/src/app/views/providers/_hw_profiles.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/_list.haml b/src/app/views/providers/_list.haml new file mode 100644 index 0000000..7de6e32 --- /dev/null +++ b/src/app/views/providers/_list.haml @@ -0,0 +1,20 @@ +- form_tag do + = link_to "Create", new_admin_provider_url, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_providers_path, 'DELETE', :id => 'delete_button' + + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + + %table#providers_table + = sortable_table_header @header + -@providers.each do |provider| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "provider_selected[]", :type => "checkbox", :value => provider.id, :id => "provider_checkbox_#{provider.id}", :checked => selected } + = link_to provider.name, admin_provider_path(provider) + %td= provider.url + %td= provider.provider_type.name diff --git a/src/app/views/providers/_permissions.haml b/src/app/views/providers/_permissions.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/_properties.haml b/src/app/views/providers/_properties.haml new file mode 100644 index 0000000..044895a --- /dev/null +++ b/src/app/views/providers/_properties.haml @@ -0,0 +1,5 @@ +%h3 + Properties for + = @provider.name += link_to "Edit", edit_admin_provider_path(@provider), {:class => 'button'} += link_to "Test", admin_provider_path(@provider, {:test_provider => true}), { :class => 'button' } diff --git a/src/app/views/providers/_provider_accounts.haml b/src/app/views/providers/_provider_accounts.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/_realms.haml b/src/app/views/providers/_realms.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/_services.haml b/src/app/views/providers/_services.haml new file mode 100644 index 0000000..e69de29 diff --git a/src/app/views/providers/edit.haml b/src/app/views/providers/edit.haml new file mode 100644 index 0000000..66864e9 --- /dev/null +++ b/src/app/views/providers/edit.haml @@ -0,0 +1,7 @@ +%h3 + Editing + = @provider.name + Provider + +-form_for @provider, :url => admin_provider_path(@provider), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/providers/index.haml b/src/app/views/providers/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/providers/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/providers/new.haml b/src/app/views/providers/new.haml new file mode 100644 index 0000000..516fdb3 --- /dev/null +++ b/src/app/views/providers/new.haml @@ -0,0 +1,3 @@ +%h2 Create a new Provider +- form_for @provider, :url => admin_providers_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => admin_providers_path } diff --git a/src/app/views/providers/show.haml b/src/app/views/providers/show.haml new file mode 100644 index 0000000..0c36221 --- /dev/null +++ b/src/app/views/providers/show.haml @@ -0,0 +1,5 @@ +- content_for 'list' do + = render :partial => 'list' + +- content_for 'details' do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/realm_mappings/new.haml b/src/app/views/realm_mappings/new.haml new file mode 100644 index 0000000..0861199 --- /dev/null +++ b/src/app/views/realm_mappings/new.haml @@ -0,0 +1,10 @@ += error_messages_for 'realm_target' +%h2 Create a new Realm Mapping +- form_for @realm_target, :url => admin_realm_mappings_path do |f| + = f.hidden_field :frontend_realm_id + = f.hidden_field :realm_or_provider_type + + - label_method = @realm_target.realm_or_provider_type == 'Realm' ? 'name_with_provider' : 'name' + = select_tag 'realm_backend_target[realm_or_provider_id]', options_from_collection_for_select(@backend_targets, 'id', label_method) + %fieldset.clear + = f.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/realm_mappings/show.haml b/src/app/views/realm_mappings/show.haml new file mode 100644 index 0000000..0c36221 --- /dev/null +++ b/src/app/views/realm_mappings/show.haml @@ -0,0 +1,5 @@ +- content_for 'list' do + = render :partial => 'list' + +- content_for 'details' do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/realms/_form.haml b/src/app/views/realms/_form.haml new file mode 100644 index 0000000..8c49d63 --- /dev/null +++ b/src/app/views/realms/_form.haml @@ -0,0 +1,6 @@ += form.error_messages +%fieldset.clear + = form.label :name,'Realm Name :' + = form.text_field :name, :title => 'realm_name', :value => @realm.name, :class => "clear grid_4 alpha" +%fieldset.clear + = form.submit "Save", :class => "submit formbutton" diff --git a/src/app/views/realms/_list.haml b/src/app/views/realms/_list.haml new file mode 100644 index 0000000..367dc14 --- /dev/null +++ b/src/app/views/realms/_list.haml @@ -0,0 +1,19 @@ +- form_tag do + = link_to "Create", new_admin_realm_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realms_path, 'DELETE', :id => 'delete_button' + + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + + %table#realms_table + = sortable_table_header @header + - unless @realms.blank? + - @realms.each do |realm| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "id[]", :type => "checkbox", :value => realm.id, :id => "realm_id_#{realm.id}", :checked => selected } + = link_to realm.name, admin_realm_path(realm) diff --git a/src/app/views/realms/_mapping.haml b/src/app/views/realms/_mapping.haml new file mode 100644 index 0000000..66b278c --- /dev/null +++ b/src/app/views/realms/_mapping.haml @@ -0,0 +1,20 @@ +- form_tag do + = link_to "Add mapping to realm", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" + = link_to "Add mapping to provider", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button' + + - unless @backend_provider_targets.empty? + %h2 Realm '#{@realm.name}' is mapped to providers: + %ul + - @backend_provider_targets.each do |backend| + %li + %input{:name => "id[]", :type => "checkbox", :value => backend.id, :id => "backend_id_#{backend.id}"} + = backend.realm_or_provider.name + + - unless @backend_realm_targets.empty? + %h2 Realm '#{@realm.name}' is mapped to realms: + %ul + - @backend_realm_targets.each do |backend| + %li + %input{:name => "id[]", :type => "checkbox", :value => backend.id, :id => "backend_id_#{backend.id}"} + = backend.realm_or_provider.name diff --git a/src/app/views/realms/_properties.haml b/src/app/views/realms/_properties.haml new file mode 100644 index 0000000..8d5b66d --- /dev/null +++ b/src/app/views/realms/_properties.haml @@ -0,0 +1,3 @@ +.grid_13 + %h2 #{@realm.name} + = link_to t(:edit), edit_admin_realm_path(@realm), :class => 'button formbutton' diff --git a/src/app/views/realms/edit.haml b/src/app/views/realms/edit.haml new file mode 100644 index 0000000..a0aa97f --- /dev/null +++ b/src/app/views/realms/edit.haml @@ -0,0 +1,4 @@ +%h2 Editing Realm: #{@realm.name} + +- form_for @realm, :url => admin_realm_path(@realm), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/realms/index.haml b/src/app/views/realms/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/realms/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/realms/new.haml b/src/app/views/realms/new.haml new file mode 100644 index 0000000..c95a306 --- /dev/null +++ b/src/app/views/realms/new.haml @@ -0,0 +1,3 @@ +%h2 Create a new Realm +- form_for @realm, :url => admin_realms_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => admin_realms_path } diff --git a/src/app/views/realms/show.haml b/src/app/views/realms/show.haml new file mode 100644 index 0000000..0c36221 --- /dev/null +++ b/src/app/views/realms/show.haml @@ -0,0 +1,5 @@ +- content_for 'list' do + = render :partial => 'list' + +- content_for 'details' do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/resources/deployments/_history.haml b/src/app/views/resources/deployments/_history.haml deleted file mode 100644 index 9f4a57e..0000000 --- a/src/app/views/resources/deployments/_history.haml +++ /dev/null @@ -1 +0,0 @@ -%h3 List of deployment events diff --git a/src/app/views/resources/deployments/_instances.haml b/src/app/views/resources/deployments/_instances.haml deleted file mode 100644 index 2ac1792..0000000 --- a/src/app/views/resources/deployments/_instances.haml +++ /dev/null @@ -1,2 +0,0 @@ -%h3 List Instances for Deployment -%h3 "Expand" button shifts list view to show the Instance list diff --git a/src/app/views/resources/deployments/_list.haml b/src/app/views/resources/deployments/_list.haml deleted file mode 100644 index 7b80677..0000000 --- a/src/app/views/resources/deployments/_list.haml +++ /dev/null @@ -1,35 +0,0 @@ -- form_tag do - #object-actions - = restful_submit_tag "Start", "start", resources_deployments_path, "PUT" - = restful_submit_tag "Stop", "stop", multi_stop_resources_deployments_path, "GET" - = restful_submit_tag "Launch new", "launch_new", launch_new_resources_deployments_path, "GET" - = restful_submit_tag "Delete", "delete", resources_deployments_path, "DELETE" - - #search-actions - = restful_submit_tag "Save Search", "save_search", resources_deployments_path, "PUT" - = restful_submit_tag "Save Selection", "save_selection", resources_deployments_path, "PUT" - = restful_submit_tag "Export to File", "export", resources_deployments_path, "PUT" - - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - - %table#deployments_table - = sortable_table_header @header - - @deployments.each do |deployment| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } - %td - = link_to deployment.name, resources_deployment_path(deployment) - %td - = link_to deployment.deployable.name, image_factory_deployable_path(deployment.deployable) - %td - = deployment.owner.login - %td - = deployment.created_at - %td - = link_to deployment.pool.name, resources_pool_path(deployment.pool) diff --git a/src/app/views/resources/deployments/_permissions.haml b/src/app/views/resources/deployments/_permissions.haml deleted file mode 100644 index 1784789..0000000 --- a/src/app/views/resources/deployments/_permissions.haml +++ /dev/null @@ -1,2 +0,0 @@ -%h3 Users and roles they are in for this Deployment -%h3 Manage permissions on this deployment (if you have permissions to do so) diff --git a/src/app/views/resources/deployments/_properties.haml b/src/app/views/resources/deployments/_properties.haml deleted file mode 100644 index 5d2c584..0000000 --- a/src/app/views/resources/deployments/_properties.haml +++ /dev/null @@ -1,2 +0,0 @@ -%h3 Owner Details -%h3 CDL diff --git a/src/app/views/resources/deployments/_provider_services.haml b/src/app/views/resources/deployments/_provider_services.haml deleted file mode 100644 index 435f470..0000000 --- a/src/app/views/resources/deployments/_provider_services.haml +++ /dev/null @@ -1 +0,0 @@ -%h3 List of services required by deployment diff --git a/src/app/views/resources/deployments/_required_services.haml b/src/app/views/resources/deployments/_required_services.haml deleted file mode 100644 index 30e7601..0000000 --- a/src/app/views/resources/deployments/_required_services.haml +++ /dev/null @@ -1 +0,0 @@ -%h3 List of services required by deployment diff --git a/src/app/views/resources/deployments/index.haml b/src/app/views/resources/deployments/index.haml deleted file mode 100644 index d051c94..0000000 --- a/src/app/views/resources/deployments/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' \ No newline at end of file diff --git a/src/app/views/resources/deployments/launch_new.haml b/src/app/views/resources/deployments/launch_new.haml deleted file mode 100644 index 86cf47f..0000000 --- a/src/app/views/resources/deployments/launch_new.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h2 Launch new deployment via -- form_tag new_resources_deployment_path, :method => :get do - = label_tag "Deployable:" - = select_tag :deployable_id, options_from_collection_for_select(@launchable_deployables, "id", "name") - = submit_tag "Launch" - = link_to "Cancel", resources_deployments_path, :class => "button" diff --git a/src/app/views/resources/deployments/new.haml b/src/app/views/resources/deployments/new.haml deleted file mode 100644 index 42e75fe..0000000 --- a/src/app/views/resources/deployments/new.haml +++ /dev/null @@ -1,25 +0,0 @@ -= error_messages_for 'deployment' -%h2 Launch deployable -- form_for @deployment, :url => resources_deployments_path do - = hidden_field :deployment, :deployable_id - %ul - %li - = label :deployment, :name - = text_field :deployment, :name - %li - = label :deployment, :pool - = select :deployment, :pool_id, @pools.map {|p| [ p.name, p.id ]}, { :include_blank => true } - %li - = label :deployment, :frontend_realm - = select :deployment, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, { :include_blank => true } - %p - %h3 Assemblies hardware profiles - %ul - - @deployment.deployable.assemblies.each do |assembly| - %li - - hwprofiles = @hardware_profiles.select {|hwp| hwp.architecture.value == assembly.templates.first.architecture} - = label_tag "hw_profiles[#{assembly.id}]", assembly.name - = select_tag "hw_profiles[#{assembly.id}]", options_from_collection_for_select(hwprofiles, 'id', 'name') - - = submit_tag 'Cancel', :name => 'cancel' - = submit_tag 'Launch', :name => 'launch' diff --git a/src/app/views/resources/deployments/show.haml b/src/app/views/resources/deployments/show.haml deleted file mode 100644 index a5a777d..0000000 --- a/src/app/views/resources/deployments/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file diff --git a/src/app/views/resources/instances/_can_perform_state_change.xml.haml b/src/app/views/resources/instances/_can_perform_state_change.xml.haml deleted file mode 100644 index e20a232..0000000 --- a/src/app/views/resources/instances/_can_perform_state_change.xml.haml +++ /dev/null @@ -1,7 +0,0 @@ -%result< - %action_request< - =@action_request - %instance_id< - =@instance.id - %value< - =@value \ No newline at end of file diff --git a/src/app/views/resources/instances/_history.haml b/src/app/views/resources/instances/_history.haml deleted file mode 100644 index 854743e..0000000 --- a/src/app/views/resources/instances/_history.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - History for - = @instance.name diff --git a/src/app/views/resources/instances/_list.haml b/src/app/views/resources/instances/_list.haml deleted file mode 100644 index 7a6cbc4..0000000 --- a/src/app/views/resources/instances/_list.haml +++ /dev/null @@ -1,23 +0,0 @@ -- form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' - = restful_submit_tag 'Create', 'new', select_template_resources_instances_path, 'GET' - = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_resources_instances_path, 'GET' - - %p - Select: - = link_to "All", params.merge(:select => 'all') - %span> , - = link_to "None", params.merge(:select => 'none') - %table - = sortable_table_header @header - - @instances.each do |inst| - %tr - %td - - selected = params[:select] == 'all' - %input{:name => 'instance_selected[]', :type => 'checkbox', :value => inst.id, :id => "instance_checkbox_#{inst.id}", :checked => selected } - = link_to inst.name, resources_instance_path(inst) - %td= inst.state - %td= inst.template ? inst.template.name : "#{inst.assembly.name} (assembly)" - %td= inst.public_addresses - %td= inst.provider_account ? inst.provider_account.provider.name : '' - %td= owner_name(inst) diff --git a/src/app/views/resources/instances/_permissions.haml b/src/app/views/resources/instances/_permissions.haml deleted file mode 100644 index 02da418..0000000 --- a/src/app/views/resources/instances/_permissions.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - Permissions for - = @instance.name diff --git a/src/app/views/resources/instances/_properties.haml b/src/app/views/resources/instances/_properties.haml deleted file mode 100644 index 2d93dbf..0000000 --- a/src/app/views/resources/instances/_properties.haml +++ /dev/null @@ -1,65 +0,0 @@ -%h3 - Properties for - = @instance.name -%ul - %li - = label_tag :name, 'Name' - %span= @instance.name - %li - = label_tag :status, 'Status' - %span= @instance.state - %li - = label_tag :public_addresses, 'Public Addresses' - %span= @instance.public_addresses - %li - = label_tag :private_addresses, 'Private Addresses' - %span= @instance.private_addresses - - if @instance.template - %li - = label_tag :operating_system, 'Operating system' - %span= "#{@instance.template.xml.platform} #{@instance.template.xml.platform_version}" - %li - = label_tag :base_template, 'Base Template' - %span= @instance.template.name - - else - %li - = label_tag :assembly, 'Assembly' - %span= @instance.assembly.name - %li - = label_tag :provider, 'Provider' - %span= @instance.provider_account.provider.name if @instance.provider_account - %li - = label_tag :architecture, 'Architecture' - %span= @instance.hardware_profile.architecture.value - %li - = label_tag :memory, 'Memory' - %span= @instance.hardware_profile.memory.value - %li - = label_tag :storage, 'Storage' - %span= @instance.hardware_profile.storage.value - %li - = label_tag :instantiation_time, 'Instantiation Time' - %span= @instance.created_at.strftime("%d-%b-%Y %H:%M:%S") - %li - = label_tag :uptime, 'Uptime' - %span= @instance.total_state_time(@instance.state) - %li - = label_tag :current_alerts, 'Current Alerts' - %span= 0 - %li - = label_tag :console_connection, 'Console Connection' - %span= 'via SSH' - - if @instance.instance_key - %li - = label_tag :instance_key, 'SSH key' - %span= link_to("Download", key_resources_instance_path(@instance)) - %li - = label_tag :owner, 'Owner' - %span= "#{@instance.owner.first_name} #{@instance.owner.last_name}" - %li - = label_tag :shared_to, 'Shared to' - %span= "N/A" - - if @instance.state == Instance::STATE_ERROR - %li - = label_tag :error, 'Error' - %span= @instance.last_error diff --git a/src/app/views/resources/instances/index.haml b/src/app/views/resources/instances/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/resources/instances/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/resources/instances/new.haml b/src/app/views/resources/instances/new.haml deleted file mode 100644 index 7839ba9..0000000 --- a/src/app/views/resources/instances/new.haml +++ /dev/null @@ -1,27 +0,0 @@ -= error_messages_for 'instance' -%h2 Launch instance -- form_for @instance, :url => resources_instances_path do - = hidden_field :instance, :template_id - %ul - %li - = label :instance, :name - = text_field :instance, :name - %li - = label :instance, :template - = text_field_tag :template_name, @instance.template ? @instance.template.name : '', :disabled => true - %li - = label :instance, :pool - - if @instance.pool - = text_field_tag :pool_name, @instance.pool.name, :disabled => true - = hidden_field :instance, :pool_id - - else - = select :instance, :pool_id, @pools.map {|p| [ p.name, p.id ]}, { :include_blank => true } - %li - = label :instance, :hardware_profile - = select :instance, :hardware_profile_id, @hardware_profiles.map {|p| [ p.name, p.id ]}, { :include_blank => false } - %li - = label :instance, :frontend_realm - = select :instance, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, { :include_blank => true } - - = submit_tag 'Cancel', :name => 'cancel' - = submit_tag 'Launch', :name => 'launch' diff --git a/src/app/views/resources/instances/select_template.haml b/src/app/views/resources/instances/select_template.haml deleted file mode 100644 index a2dfbeb..0000000 --- a/src/app/views/resources/instances/select_template.haml +++ /dev/null @@ -1,19 +0,0 @@ -%h3 Show Templates -%hr -%ul - - @templates.each do |tpl| - %li - - form_tag new_resources_instance_path do - = hidden_field :instance, :template_id, :value => tpl.id - - if tpl.platform != "unknown" - = image_tag "platform_#{tpl.platform}.png", :size => "32x32", :alt => tpl.platform - %h3= tpl.name - %p= tpl.summary - %p - %label Group: - System - %label Version: - 2.5 - = submit_tag 'Launch', :name => 'launch' -= will_paginate(@templates) -= page_entries_info(@templates) diff --git a/src/app/views/resources/instances/show.haml b/src/app/views/resources/instances/show.haml deleted file mode 100644 index 05eeedd..0000000 --- a/src/app/views/resources/instances/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/resources/pools/_deployments.haml b/src/app/views/resources/pools/_deployments.haml deleted file mode 100644 index 497bf09..0000000 --- a/src/app/views/resources/pools/_deployments.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - Deployments for - = @pool.name diff --git a/src/app/views/resources/pools/_history.haml b/src/app/views/resources/pools/_history.haml deleted file mode 100644 index 4769d92..0000000 --- a/src/app/views/resources/pools/_history.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - History for - = @pool.name diff --git a/src/app/views/resources/pools/_instances.haml b/src/app/views/resources/pools/_instances.haml deleted file mode 100644 index 260a9f8..0000000 --- a/src/app/views/resources/pools/_instances.haml +++ /dev/null @@ -1,28 +0,0 @@ -- form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' - Show only - = hidden_field_tag 'details_tab', 'instances' - = select '', 'state', Instance::STATES, { :include_blank => true, :selected => params[:state] } - instances - = restful_submit_tag "Filter", 'show', resources_pool_path, 'GET', :id => 'filter_button' - - %table - %thead - %td Name - %td Assembly - %td Deployment - %td Since - %td State - - @instances.each do |instance| - %tr - %td - %input{:name => 'instance_selected[]', :type => 'checkbox', :value => instance.id, :id => "instance_checkbox_#{instance.id}" } - = link_to instance.name, resources_instance_path(instance) - %td - = instance.assembly.present? ? link_to((instance.assembly.name), image_factory_assembly_path(instance.assembly)) : '—' - %td - = instance.deployment.present? ? link_to((instance.deployment.name), resources_deployment_path(instance.deployment)) : '—' - %td - = instance.created_at.to_s - %td - = instance.state \ No newline at end of file diff --git a/src/app/views/resources/pools/_list.haml b/src/app/views/resources/pools/_list.haml deleted file mode 100644 index c8083b7..0000000 --- a/src/app/views/resources/pools/_list.haml +++ /dev/null @@ -1,39 +0,0 @@ -- form_tag do - = link_to "New Pool", new_resources_pool_path, { :class => 'button' } - = restful_submit_tag "Destroy", 'destroy', multi_destroy_resources_pools_path, 'DELETE', :id => 'delete_button' - %p - Select: - = link_to "All", @url_params.merge(:select => 'all') - %span> , - = link_to "None", @url_params.merge(:select => 'none') - %table#pools_table - = sortable_table_header @header - - @pools.each do |pool| - %tr - %td - - selected = @url_params[:select] == 'all' - %input{:name => "pools_selected[]", :type => "checkbox", :value => pool.id, :id => "pool_checkbox_#{pool.id}", :checked => selected } - = link_to pool.name, resources_pool_path(pool) - %td - = pool.quota.maximum_running_instances or 'unlimited' - %td - = pool.quota.percentage_used - ='%' - %td - = pool.pool_family.name - %td - = pool.enabled - -:javascript - $(document).ready(function () { - $('#delete_button').click(function(e) { - if ($("#pools_table input[@type=radio]:checked").length == 0) { - alert('Please select any pool to be deleted before clicking Delete button.'); - e.preventDefault(); - } else { - if (!confirm("Are you sure you want to delete this pool?")) { - e.preventDefault(); - } - } - }); - }); diff --git a/src/app/views/resources/pools/_permissions.haml b/src/app/views/resources/pools/_permissions.haml deleted file mode 100644 index fbd252e..0000000 --- a/src/app/views/resources/pools/_permissions.haml +++ /dev/null @@ -1,3 +0,0 @@ -%h3 - Permissions for - = @pool.name diff --git a/src/app/views/resources/pools/_properties.haml b/src/app/views/resources/pools/_properties.haml deleted file mode 100644 index 066a491..0000000 --- a/src/app/views/resources/pools/_properties.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h3 - Properties for - = @pool.name -= link_to "Edit", edit_resources_pool_path(@pool), { :class => 'button' } diff --git a/src/app/views/resources/pools/edit.haml b/src/app/views/resources/pools/edit.haml deleted file mode 100644 index d4c511f..0000000 --- a/src/app/views/resources/pools/edit.haml +++ /dev/null @@ -1,30 +0,0 @@ -= error_messages_for :pool -%h1 - Edit pool - = @pool.name - -- form_for [:resources, @pool] do |form| - %fieldset - = form.label :name, "Name:", :class => "grid_2 alpha" - = form.text_field :name - %fieldset - = form.label :pool_family_id, "Pool Family:", :class => "grid_2 alpha" - = form.collection_select :pool_family_id, PoolFamily.all, :id, :name - %fieldset - = label_tag "Quota" - = text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" - ( - %button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> - = t('provider_accounts.form.unlimited_quota') - ) - %fieldset - = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha" } - = form.check_box :enabled - %fieldset.clear - - = form.submit "Save" - -:javascript - function set_unlimited_quota(elem_id) { - $("#" + elem_id)[0].value = "unlimited"; - } diff --git a/src/app/views/resources/pools/index.haml b/src/app/views/resources/pools/index.haml deleted file mode 100644 index 62ccbc6..0000000 --- a/src/app/views/resources/pools/index.haml +++ /dev/null @@ -1,2 +0,0 @@ -- content_for :list do - = render :partial => 'list' diff --git a/src/app/views/resources/pools/new.haml b/src/app/views/resources/pools/new.haml deleted file mode 100644 index 5c48c9e..0000000 --- a/src/app/views/resources/pools/new.haml +++ /dev/null @@ -1,27 +0,0 @@ -= error_messages_for :pool -%h1 Create a new Pool -- form_for @pool, :url => resources_pools_path do |form| - %fieldset - = form.label :name, "Name:", :class => "grid_2 alpha" - = form.text_field :name - %fieldset - = form.label :pool_family_id, "Pool Family:", :class => "grid_2 alpha" - = form.collection_select :pool_family_id, PoolFamily.all, :id, :name - %fieldset - = label_tag "Quota:" - = text_field :quota, :maximum_running_instances, :title => t('provider_accounts.form.quota_instances'), :value => @quota.maximum_running_instances || "unlimited", :id => "quota_instances", :class => "grid_3 omega" - ( - %button.linkbutton.nospace{ :type => 'button', :onclick => "set_unlimited_quota("quota_instances");" }<> - = t('provider_accounts.form.unlimited_quota') - ) - %fieldset - = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha" } - = form.check_box :enabled - %fieldset.clear - - = form.submit "Save" - -:javascript - function set_unlimited_quota(elem_id) { - $("#" + elem_id)[0].value = "unlimited"; - } diff --git a/src/app/views/resources/pools/show.haml b/src/app/views/resources/pools/show.haml deleted file mode 100644 index 05eeedd..0000000 --- a/src/app/views/resources/pools/show.haml +++ /dev/null @@ -1,5 +0,0 @@ -- content_for :list do - = render :partial => 'list' - -- content_for :details do - = render :partial => 'layouts/details_pane' diff --git a/src/app/views/roles/_form.haml b/src/app/views/roles/_form.haml new file mode 100644 index 0000000..fc10dd2 --- /dev/null +++ b/src/app/views/roles/_form.haml @@ -0,0 +1,8 @@ += form.error_messages +%fieldset.clear + = form.label :name, 'Name', :class => "grid_3 alpha" + = form.text_field :name, :class => "grid_5" +%fieldset.clearfix + = form.submit "Save", :class => "submit formbutton" + = form.submit "Reset", :class => "submit formbutton" + = link_to t(:cancel), admin_roles_path, :class => 'button formbutton' diff --git a/src/app/views/roles/_list.haml b/src/app/views/roles/_list.haml new file mode 100644 index 0000000..d825e2f --- /dev/null +++ b/src/app/views/roles/_list.haml @@ -0,0 +1,30 @@ +- form_tag do + = link_to "New Role", new_admin_role_path, :class => 'button' + = restful_submit_tag "Destroy", "destroy", multi_destroy_admin_roles_path, 'DELETE', :id => 'delete_button' + %p + Select: + = link_to "All", @url_params.merge(:select => 'all') + %span> , + = link_to "None", @url_params.merge(:select => 'none') + %table#roles_table + = sortable_table_header @header + - @roles.each do |role| + %tr + %td + - selected = @url_params[:select] == 'all' + %input{:name => "role_selected[]", :type => "checkbox", :value => role.id, :id => "role_checkbox_#{role.id}", :checked => selected } + = link_to role.name, admin_role_path(role) + +:javascript + $(document).ready(function () { + $('#delete_button').click(function(e) { + if ($("#roles_table input[@type=radio]:checked").length == 0) { + alert('Please select any user to be deleted before clicking Delete button.'); + e.preventDefault(); + } else { + if (!confirm("Are you sure you want to delete this user?")) { + e.preventDefault(); + } + } + }); + }); diff --git a/src/app/views/roles/_properties.haml b/src/app/views/roles/_properties.haml new file mode 100644 index 0000000..bcb59f4 --- /dev/null +++ b/src/app/views/roles/_properties.haml @@ -0,0 +1,23 @@ +.grid_13 + %h2 #{@role.name} + %strong Scope: + %span #{@role.scope} + %table + %thead + %tr + %th.show + Privileges + %th.show + %tbody + %tr + %td + %label Action + %td + %label Target type + -@role.privileges.each do |privilege| + %tr + %td + = privilege.action + %td + = privilege.target_type + = link_to t(:edit), edit_admin_role_path(@role), :class => 'button formbutton' diff --git a/src/app/views/roles/edit.haml b/src/app/views/roles/edit.haml new file mode 100644 index 0000000..7aa428e --- /dev/null +++ b/src/app/views/roles/edit.haml @@ -0,0 +1,4 @@ +%h2 Editing Role: #{@role.name} + +- form_for @role, :url => admin_role_path(@role), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/roles/index.haml b/src/app/views/roles/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/roles/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/roles/new.haml b/src/app/views/roles/new.haml new file mode 100644 index 0000000..064e67d --- /dev/null +++ b/src/app/views/roles/new.haml @@ -0,0 +1,3 @@ +%h2 New Role +- form_for @role, :url => admin_roles_path do |f| + = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/settings/general_settings.haml b/src/app/views/settings/general_settings.haml new file mode 100644 index 0000000..f073663 --- /dev/null +++ b/src/app/views/settings/general_settings.haml @@ -0,0 +1,41 @@ +%form{:class => 'container_16'} + .grid_16 + %h1 Portal + %fieldset.clearfix + %label.grid_5.alpha Brand Icon: + .grid_6 + %input{:type => "file", :disabled => true} + %fieldset.clearfix + %label.grid_5.alpha Tag Line: + %textarea.grid_6.disabled{:disabled => true} + %fieldset.clearfix + .grid_5.alpha.disabled.ra + %input{:type => "checkbox", :disabled => true} + %label Allow Self Service Account Creation: + .grid_6.disabled + %select{:disabled => true} + %option Select User Treatment + %fieldset.clearfix + %label.alpha.grid_5 Primary URL Port: + %input.grid_6{:value => "3000", :disabled => true} + %h1 Content + %fieldset.clearfix + %label.grid_5.alpha Entitlement Mode: + .grid_5 + %ul.block + %li + %input{:type => "radio", :name => "entitlement", :disabled => true} + %label.disabled User Brings Subscriptions + %li + %input{:type => "radio", :name => "entitlement", :disabled => true} + %label.disabled System Provides Subscriptions + %fieldset.clearfix + %label.grid_5.alpha Certitifcate: + .grid_6 + %input{:type => "file", :disabled => true} + %fieldset.clearfix + %label.alpha.grid_5 Content Manager URL: + %input.grid_6{:disabled => true} + %fieldset.clearfix + %button.formbutton{:disabled => true} Reset + %button.formbutton{:disabled => true} Save diff --git a/src/app/views/settings/index.haml b/src/app/views/settings/index.haml new file mode 100644 index 0000000..8a68a65 --- /dev/null +++ b/src/app/views/settings/index.haml @@ -0,0 +1,42 @@ +%ul.tiles{:class => 'container_16'} + %li#services.grid_8.disabled.clear + = image_tag "blnk.png", :class => "icon", :alt => "" + %h2 + = t('.define_services') + %p + = t('.define_services_desc') + %button{:disabled => "disabled"} + = t(:continue) + %li#permissions.grid_8 + = image_tag "blnk.png", :class => "icon", :alt => "" + %h2 + = t('.permissions') + %p + = t('.permissions_desc') + = link_to t(:continue), self_service_admin_settings_path, :class => 'button' + %li#settings.grid_8 + = image_tag "blnk.png", :class => "icon", :alt => "" + %h2 + = t('.general_settings') + %p + = t('.general_settings_desc') + = link_to t(:continue), general_settings_admin_settings_path, :class => 'button' + %li#locales.grid_8.disabled.clear + = image_tag "blnk.png", :class => "icon", :alt => "" + %h2 + = t('.define_locales') + %p + = t('.define_locales_desc') + %button{:disabled => "disabled"} + = t(:continue) + +:javascript + $(document).ready(function () { + var $tiles = $(".tiles li:not(.disabled)").addClass('pointercursor'); + $tiles.click(function (e) { + $e = $(e.target); + if (!$e.is('.button')) { + window.location = $('.button',this).attr('href'); + } + }); + }); diff --git a/src/app/views/settings/self_service.haml b/src/app/views/settings/self_service.haml new file mode 100644 index 0000000..05235ec --- /dev/null +++ b/src/app/views/settings/self_service.haml @@ -0,0 +1,120 @@ +.grid_13{:class => 'container_16'} + = error_messages_for @parent_type + %h2 + = t('.self_service_default') + - form_for @self_service_default_quota, :url => { :action => 'update' } do |form| + %h3 Instances + %fieldset.clearfix + %label.grid_2.alpha Permissions: + .grid_4 My personal Instances + .grid_4 Full Instance Permission + .grid_3.omega + ( + %a{:href=>'#'}> Edit + ) + ( + %a{:href=>'#'}> Remove + ) + %fieldset.clearfix.gap + .grid_4.prefix_2.alpha + %select.disabled{:disabled => true} + %option + Category of Instances + .grid_4 + %ul.block + %li + %input{ :type => "radio", :name => "permission", :disabled => true} + %label.disabled Control Instance - Can't Share + %li + %input{ :type => "radio", :name => "permission", :disabled => true} + %label.disabled Control Instance - Can Share + %li + %input{ :type => "radio", :name => "permission", :disabled => true} + %label.disabled Full Instance Permission + %li + %input{ :type => "radio", :name => "permission", :disabled => true} + %label.disabled Custom ... + .grid_3.omega + ( + %a{:href=>'#'}> Add + ) + = hidden_field :self_service_default_quota, :id + %fieldset.clearfix.gap + %label.grid_2.alpha + = t('.quota') + ":" + = text_field :self_service_default_quota, :maximum_running_instances, :class => 'grid_5' + .grid_2.la (instances) + = form.error_message_on :maximum_running_instances, 'Maximum Running Instances ' + %h3 POOLS + %fieldset.clearfix + %label.grid_2.alpha Permissions: + .grid_4 General Usage + .grid_4 Regular Pool User + .grid_3.omega + ( + %a{:href=>'#'}> Edit + ) + ( + %a{:href=>'#'}> Remove + ) + %fieldset.clearfix.gap + .grid_4.prefix_2.alpha + %select.disabled{:disabled => true} + %option + Category of Pools + .grid_4 + %ul.block + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Limited Pool User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Regular Pool User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Advanced Pool User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Custom ... + .grid_3.omega + ( + %a{:href=>'#'}> Add + ) + %h3 TEMPLATES + %fieldset.clearfix + %label.grid_2.alpha Permissions: + .grid_4 General Usage + .grid_4 Basic Template User + .grid_3.omega + ( + %a{:href=>'#'}> Edit + ) + ( + %a{:href=>'#'}> Remove + ) + %fieldset.clearfix.gap + .grid_4.prefix_2.alpha + %select.disabled{:disabled => true} + %option + Category of Templates + .grid_4 + %ul.block + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Basic Template User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled General Template User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Advanced Template User + %li + %input{ :type => "radio", :name => "pooltype", :disabled => true} + %label.disabled Custom ... + .grid_3.omega + ( + %a{:href=>'#'}> Add + ) + .grid_13.omega.alpha.gap + %button.formbutton Reset + = submit_tag t(:save), :class => "submit formbutton" diff --git a/src/app/views/templates/_addbuttons.haml b/src/app/views/templates/_addbuttons.haml new file mode 100644 index 0000000..9f88751 --- /dev/null +++ b/src/app/views/templates/_addbuttons.haml @@ -0,0 +1,4 @@ +%fieldset.clear + - cancel_path = @tpl.id ? edit_image_factory_template_path(@tpl) : new_image_factory_template_path + = restful_submit_tag "Add Selected", "add_selected", add_selected_image_factory_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} + = restful_submit_tag "Cancel", "cancel_add_software", cancel_path, 'GET', {:class => "grid_2", :id => "cancel_add_software"} diff --git a/src/app/views/templates/_basics.haml b/src/app/views/templates/_basics.haml new file mode 100644 index 0000000..72d2423 --- /dev/null +++ b/src/app/views/templates/_basics.haml @@ -0,0 +1,27 @@ +%h3 General Information +%fieldset.clearfix + %label.grid_4.alpha.la Template Name: + %label.grid_7.la Summary: + %label.grid_3.suffix_2.omega.la Version: + = text_field :tpl, :name, :value => @tpl.name || 'Template Name', :class => "grid_4 alpha" + = text_field :tpl, :summary, :value => @tpl.summary || 'Template Description', :class => "grid_7" + = text_field_tag 'current_version', 'Current Version', :disabled => true, :class => "grid_3" + %button{:type => 'button', :disabled => 'disabled', :class => "grid_2 omega"} New Version +%fieldset.clearfix + %label.grid_4.alpha Choose Logo: + %input{:type => 'file', :disabled => 'disabled', :class => "grid_7"} +%fieldset.clearfix + - default = @tpl.platforms['fedora'] + = label :tpl, :platform, 'Platform Choice:', :class => "grid_4 alpha" + = select :tpl, :platform, @tpl.platforms.map {|id, p| ["#{p['name']} #{p['version']} (#{p['architecture']})", id]}, {:selected => @tpl.platform || 'fedora'}, {:class => 'grid_7'} +%fieldset.clearfix + = label_tag :bootable, 'Bootable:', :class => "grid_4 alpha" + .grid_12.omega + = radio_button_tag :bootable, 'yes', true, :disabled => true + = label_tag :bootable, 'Yes' + = radio_button_tag :bootable, 'no', false, :disabled => true + = label_tag :bootable, 'No' +%fieldset.clearfix + %label{:for => :template_group, :class => 'grid_4 alpha'} + Template Group: + = select_tag(:template_group, options_for_select([['User Private', 1]]), :class => 'grid_4') diff --git a/src/app/views/templates/_builds.haml b/src/app/views/templates/_builds.haml new file mode 100644 index 0000000..a6bdd4b --- /dev/null +++ b/src/app/views/templates/_builds.haml @@ -0,0 +1,41 @@ +Builds for += @tpl.platform_name += @tpl.platform_version +, template "#{@tpl.name}" + +- form_tag image_factory_builds_path do + = hidden_field_tag :template_id, @tpl.id + - if @targets_not_built.count > 0 then + - if @tpl.imported + Build imported template is not supported + - else + New Build for + = select_tag 'target', options_for_select(@targets_not_built) + = submit_tag "Go", :name => "build" + +%ul + - if @images.empty? + %li No Builds + - else + - @images.each do |img| + %li + - form_tag(retry_image_factory_builds_path, { :method => :post }) do + = "#{img.name}-#{img.template.architecture}: #{img.status}" + = hidden_field_tag :template_id, @tpl.id + = hidden_field_tag :image_id, img.id + = submit_tag "Retry build", :name => "build" + - if img.status == Image::STATE_COMPLETED + %ul + - img.provider_images.each do |pimg| + %li + - form_tag(retry_image_factory_builds_path, { :method => :post }) do + = "#{pimg.provider.name}: #{pimg.status}" + = hidden_field_tag :template_id, @tpl.id + = hidden_field_tag :provider_image_id, pimg.id + = submit_tag "Retry upload", :name => "build" + - unless @tpl.imported + - img.not_uploaded_providers.each do |provider| + %li + = "#{provider.name}: " + not uploaded + = link_to 'upload', upload_image_factory_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} diff --git a/src/app/views/templates/_collections.haml b/src/app/views/templates/_collections.haml new file mode 100644 index 0000000..98ce959 --- /dev/null +++ b/src/app/views/templates/_collections.haml @@ -0,0 +1,8 @@ +%ul.collections + - @collections.each do |c| + %li + /- selected = c[:selected] ? true : false + - selected = false + = check_box_tag 'groups[]', c[:id], selected, {:disabled => selected, :id => "group_#{c[:id]}", :class => "#{selected ? 'selected' : ''}"} + = label_tag "group_#{c[:id]}", c[:name] += render :partial => 'addbuttons' diff --git a/src/app/views/templates/_form.haml b/src/app/views/templates/_form.haml new file mode 100644 index 0000000..7cc323c --- /dev/null +++ b/src/app/views/templates/_form.haml @@ -0,0 +1,120 @@ +:javascript + $(document).ready(function() { + var $content_container = $('#managed_content'); + var $sel_pkg_container = $('#package_selection_list'); + var $submit = $('#add_software_button'); + $submit.click(function(e) { + e.preventDefault(); + $submit.hide(); + var data = { + 'packages[]': $("input[name='packages[]']").map(function() {return $(this).val()}).get(), + 'repository': $("select[name='tpl[platform]']").val() || '' + } + var url = '#{url_for :action => 'content_selection', :id => @id}'; + //$content_container.empty().show(); + $sel_pkg_container.empty().show().addClass('loading'); + $sel_pkg_container.load(url, data, function(){ + $sel_pkg_container.removeClass('loading'); + var $groups = $('.softwaregroups .disclosure', this); + //search + $("input[name='package_search']").keypress(function(event) { + if (event.keyCode == '13') { + event.preventDefault(); + $("input[name=package_search] ~ button").click(); + } + }); + $("input[name=package_search] ~ button").click(function(event) { + event.preventDefault(); + var data = { + 'packages[]': $("input:text[name='packages[]']").map(function() {return $(this).val()}).get(), + 'package_search': $("input[name='package_search']").val(), + 'repository': $("select[name='tpl[platform]']").val() + }; + var url = '#{url_for :action => 'search_packages', :id => @id}'; + $('#metagrouppackages').empty().addClass('loading'); + $('#metagrouppackages').load(url, data, function() { + $('#metagrouppackages').removeClass('loading'); + }); + }); + }); + }); + //removing packages from the list + $('.remove_package').live('click', function (e) { + e.preventDefault(); + $(this).parent().hide(300, function () { + $(this).remove(); + }); + }); + //displaying extended package info and actions + $('.dropdown').hide(); + $('.packagename').live('click', function () { + var dropdowncontent = $(this).siblings('.dropdown').html(), + $dropdown = $("#dropdown"); + $('.packagewrap').removeClass('selected'); + $(this).parent().addClass('selected'); + $dropdown.empty().html(dropdowncontent).css({ + 'top': $(this).positionAncestor('#content').top + 17, + 'left': $(this).positionAncestor('#content').left - 4 + }).show(); + }); + //catch #content clicks and hide the #dropdown if it's not within it + $("#content").click(function (e) { + if(!e.target.id === 'dropdown' || !$(e.target).closest("#dropdown").length) { + $("#dropdown").hide(); + $('.packagewrap').removeClass('selected'); + } + }); + // select correct package repo when we change platform + $("select[name='tpl[platform]']").change(function() { + if ($submit.is(':hidden')) { + $submit.trigger('click'); + } + }); + // add selected pkgs/groups + $('#do_add_software').live('click', function(e) { + e.preventDefault(); + var $button = $(this).clone(); + var label = "<span id='do_add_software' class='loading fl'>Adding Packages</span>"; + var url = '#{url_for :action => 'managed_content'}'; + var new_pkgs = $("input:checked[name='selected_packages[]']").map(function() {return $(this).val()}).get(); + var old_pkgs = $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get() + var cached_pkgs = $("input:hidden[name='cached_packages[]']").map(function() {return $(this).val()}).get() + var data = { + 'selected_packages[]': old_pkgs.concat(new_pkgs.concat(cached_pkgs)), + 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(), + 'collections': $("input:hidden[name=collections]").val(), + 'template_id' : '#{@id.nil? ? nil : @id}' + }; + $(this).replaceWith(label); + $('#managed_content').load(url, data, function(){ + $("input:checked[name='groups[]']").attr('disabled', 'disabled'); + $("input:checked[name='packages[]']").attr('disabled', 'disabled'); + // $('#add_software_button').show(); + $('.dropdown').hide(); + $('#do_add_software').replaceWith($button); + }); + }); + // hide sw selection panel + $('#cancel_add_software').live('click', function(e) { + e.preventDefault(); + $('#package_selection_list').hide(); + $('#add_software_button').show(); + $('.dropdown').hide(); + }); + }); + +#build + = error_messages_for :tpl, :object_name => 'template' + = render :partial => 'basics' + = render :partial => 'local_content_to_bundle' + + #managed_content + = render :partial => 'managed_content' + + .clearfix + .grid_16.alpha.omega + = restful_submit_tag "Add Software", 'collections', collections_image_factory_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"} + + #package_selection_list{:style => 'display: none'} + + = render :partial => 'preboot_configuration' diff --git a/src/app/views/templates/_hidden_fields.haml b/src/app/views/templates/_hidden_fields.haml new file mode 100644 index 0000000..5709087 --- /dev/null +++ b/src/app/views/templates/_hidden_fields.haml @@ -0,0 +1,8 @@ += hidden_field :tpl, :id += hidden_field :tpl, :name += hidden_field :tpl, :summary += hidden_field :tpl, :platform += hidden_field :tpl, :platform_version += hidden_field :tpl, :architecture +- @tpl.packages.each do |p| + = hidden_field_tag "packages[]", p, :id => "package_#{p}" diff --git a/src/app/views/templates/_list.haml b/src/app/views/templates/_list.haml new file mode 100644 index 0000000..bf8be82 --- /dev/null +++ b/src/app/views/templates/_list.haml @@ -0,0 +1,35 @@ +- form_tag do + = link_to "Create", new_image_factory_template_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_templates_path, 'DELETE', :id => 'delete_button' + + %table#templates_table + = sortable_table_header @header + %tbody + - if @templates.empty? + %tr + %td{:colspan => 6} No Templates + - else + - @templates.each do |template| + %tr + %td + = check_box_tag 'selected[]', template.id, @url_params[:select] == 'all', :id => "selected_#{template.id}" + = image_tag "blnk.png", :alt => template.platform, :class => "icon platform #{template.platform}" + = link_to template.name, image_factory_template_path(template) + %td= template.platform_name + %td= template.platform_version + %td= image_tag 'blnk.png', :alt => 'yes', :class => "icon yes" + %td= template.architecture + +:javascript + $(document).ready(function () { + $('#delete_button').click(function(e) { + if ($("#templates_table input[@type=radio]:checked").length == 0) { + alert('Please select any template to be deleted before clicking Delete button.'); + e.preventDefault(); + } else { + if (!confirm("Are you sure you want to delete this template?")) { + e.preventDefault(); + } + } + }); + }); diff --git a/src/app/views/templates/_local_content_to_bundle.haml b/src/app/views/templates/_local_content_to_bundle.haml new file mode 100644 index 0000000..109ce20 --- /dev/null +++ b/src/app/views/templates/_local_content_to_bundle.haml @@ -0,0 +1,21 @@ +%h3.disabled.gap Local Content to Bundle +%fieldset.clearfix + = label_tag :local_bundle_name, 'Local:', :class => "disabled grid_2 alpha" + = text_field_tag 'local_bundle_name[]', 'Bundle Name', :disabled => true, :class => "grid_8" + .grid_6.omega + %button{:type => 'button', :disabled => 'disabled'} Browse + %button{:type => 'button', :disabled => 'disabled'} Config + %button{:type => 'button', :disabled => 'disabled'} Metadata + ( + %a{:href => '#'} Remove + ) + .grid_2.alpha + + = text_field_tag 'local_bundle_name[]', 'Bundle Name', :disabled => true, :class => "grid_8" + .grid_6.omega + %button{:type => 'button', :disabled => 'disabled'} Browse + %button{:type => 'button', :disabled => 'disabled'} Config + %button{:type => 'button', :disabled => 'disabled'} Metadata + ( + %a{:href => '#'} Remove + ) diff --git a/src/app/views/templates/_managed_content.haml b/src/app/views/templates/_managed_content.haml new file mode 100644 index 0000000..ebea6cd --- /dev/null +++ b/src/app/views/templates/_managed_content.haml @@ -0,0 +1,21 @@ +#selected_packages + %h3.gap Managed Content to Bundle + .grid_16.alpha.omega + - if @tpl.packages.empty? + No selected packages + - else + /- repos = @repository_manager.repositories_hash + - @tpl.packages.sort.each do |pkg| + /- pkg_group = @groups.keys.find {|g| @groups[g][:packages][pkg]} + .packagewrap + %a.packagename{:id => "package_#{pkg}"}=pkg + = hidden_field_tag 'packages[]', pkg, :id => "package_#{pkg}" + = restful_submit_tag "Remove", "remove_package", remove_package_image_factory_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} + .dropdown + / we don't display repository for now, it's pretty difficult with current design + /%section + / Repository: + / %label= (pkg_group and repo = repos[@groups[pkg_group][:repository_id]]) ? repo.name.to_s : ' ' + %fieldset.nomargin + %button{:disabled => true} Browse + %button{:disabled => true} Config diff --git a/src/app/views/templates/_metagroup_packages.haml b/src/app/views/templates/_metagroup_packages.haml new file mode 100644 index 0000000..82c2697 --- /dev/null +++ b/src/app/views/templates/_metagroup_packages.haml @@ -0,0 +1,19 @@ +- if @metagroup_packages.blank? + %span.disabled No group selected +- else + %h4 + = "#{@metagroup} Packages" + %ul.metagrouppackages + - @metagroup_packages.sort {|a, b| a[:name] <=> b[:name]}.each do |group| + %li + - selected = false + %h5 + = check_box_tag 'selected_groups[]', group[:id], selected, {:disabled => selected, :id => "group_#{group[:id]}", :class => "softwaregroups #{selected ? 'selected' : ''}"} + = label_tag "group_#{group[:id]}", group[:label] + %ul + - group[:packages].each do |pkg| + %li + - selected = @packages.to_a.find {|p| p[:name] == pkg} + = check_box_tag 'selected_packages[]', pkg, selected, {:disabled => selected, :id => "pkg_#{group[:name]}_#{pkg}"} + = label_tag "pkg_#{group[:name]}_#{pkg}", pkg + = render :partial => 'addbuttons' diff --git a/src/app/views/templates/_metagroups.haml b/src/app/views/templates/_metagroups.haml new file mode 100644 index 0000000..f23c408 --- /dev/null +++ b/src/app/views/templates/_metagroups.haml @@ -0,0 +1,13 @@ +%fieldset.clearfix + .search.grid_4.alpha + %input{:type => "search", :placeholder => "Search for package", :name => 'package_search', :value => params[:package_search], :id => 'package_search'} + %button.action{:id => 'package_search_button', :name => 'package_search_button' , :value => 'true'} + .grid_8 + %a.grid_4.omega Advanced Search + +%ul.metagroups{:class => 'packagegroupsidebar grid_4 alpha'} + %li + = restful_submit_tag 'Collections', 'collections', collections_image_factory_templates_path, 'GET', {:id => 'collections', :class => 'icon'} + - @metagroups.keys.sort.each do |cat| + %li + = restful_submit_tag cat, "metagroup_packages", metagroup_packages_image_factory_templates_path, 'GET', {:class => 'icon'} diff --git a/src/app/views/templates/_preboot_configuration.haml b/src/app/views/templates/_preboot_configuration.haml new file mode 100644 index 0000000..79ae839 --- /dev/null +++ b/src/app/views/templates/_preboot_configuration.haml @@ -0,0 +1,11 @@ +%h3.clear.gap Preboot Configuration +%fieldset.clearfix + .grid_4.alpha + = radio_button_tag :configure_via_script, 'no', :disabled => true + = label_tag :configure_via_script, 'Configure Via Script' + = file_field_tag 'script_file', :disabled => true, :class => 'grid_12 omega' +%fieldset.clearfix + .grid_4.alpha + = radio_button_tag :configure_via_script, 'no', :disabled => true + = label_tag :configure_via_script, 'Configure Via Script' + = file_field_tag 'script_file', :disabled => true, :class => 'grid_12 omega' diff --git a/src/app/views/templates/_properties.haml b/src/app/views/templates/_properties.haml new file mode 100644 index 0000000..0fe33ae --- /dev/null +++ b/src/app/views/templates/_properties.haml @@ -0,0 +1,4 @@ +%h3 + Properties for + = @tpl.name += link_to "Edit", edit_image_factory_template_path(@tpl), { :class => 'button' } diff --git a/src/app/views/templates/_search_packages.haml b/src/app/views/templates/_search_packages.haml new file mode 100644 index 0000000..78fa5b1 --- /dev/null +++ b/src/app/views/templates/_search_packages.haml @@ -0,0 +1,45 @@ +:javascript + $(document).ready(function() { + $('.pagination input[type=submit]').click(function(e) { + e.preventDefault(); + var url = '#{url_for :action => 'search_packages', :id => @id}'; + var old_pkgs = $("input:hidden[name='cached_packages[]']").map(function() {return $(this).val()}).get(); + var new_pkgs = $("input:checked[name='selected_packages[]']").map(function() {return $(this).val()}).get(); + var data = { + 'selected_packages[]': $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get(), + 'cached_packages[]': old_pkgs.concat(new_pkgs), + 'selected_groups[]': $("input:checked[name='groups[]']").map(function() {return $(this).val()}).get(), + 'package_search': $("input[name='package_search']").val(), + 'old_page': '#{@page}', + 'template_id' : '#{@id.nil? ? nil : @id}', + 'page': $(this).val(), + 'repository': $("select[name='tpl[platform]']").val() + }; + $('#metagrouppackages').empty().addClass('loading'); + $('#metagrouppackages').load(url, data, function() { + $('#metagrouppackages').removeClass('loading'); + }) + }); + }); + +- @cached_packages.uniq.each do |pkg| + = hidden_field_tag 'cached_packages[]', pkg + +- if params[:package_search].empty? + Search string is empty. +-else + %h4 + = "Search Results for '#{params[:package_search]}'" + %ul.searchedpackages + - @searched_packages.sort {|a, b| a [:name] <=> b[:name]}.each do |pkg| + %li + - selected = (@packages.to_a.find {|p| p[:name] == pkg[:name]} or @cached_packages.include?(pkg[:name])) + - disabled = @tpl.packages.include?(pkg[:name]) + = check_box_tag 'selected_packages[]', pkg[:name], selected, {:disabled => disabled, :id => "pkg_#{pkg[:name]}"} + = label_tag "pkg_#{pkg[:name]}", pkg[:name] + .pageinfo + = page_entries_info @searched_packages, :entry_name => 'package' + = will_paginate @searched_packages, :params => {:package_search => params[:package_search]}, :renderer => TemplatesHelper::ButtonPaginationRenderer.new, :previous_label => 'Previous', :next_label => 'Next' + + + = render :partial => 'addbuttons' diff --git a/src/app/views/templates/_software_selection.haml b/src/app/views/templates/_software_selection.haml new file mode 100644 index 0000000..34606fc --- /dev/null +++ b/src/app/views/templates/_software_selection.haml @@ -0,0 +1,41 @@ +:javascript + $(document).ready(function() { + var $metagrouppackages = $('#metagrouppackages'); + $('.metagroups input').click(function(e) { + e.preventDefault(); + var data = { + 'repository': $("select[name='tpl[platform]']").val(), + 'packages[]': $("input:hidden[name='packages[]']").map(function() {return $(this).val()}).get() + }; + if ($(this).attr('name') == '__rewrite[collections]') { + var url = '#{url_for :action => 'collections', :id => @id}'; + } else { + var url = '#{url_for :action => 'metagroup_packages', :id => @id}'; + data.__rewrite = { + metagroup_packages: e.currentTarget.value + }; + } + $metagrouppackages.empty().addClass('loading'); + $metagrouppackages.load(url, data, function() { + $metagrouppackages.removeClass('loading'); + //select all packages in collection + $(".softwaregroups").click(function() { + if ($(this).attr("checked") === true) { + $(this).parent().siblings("ul").find("input[type='checkbox']").attr("checked","checked"); + } else { + $(this).parent().siblings("ul").find("input[type='checkbox']").removeAttr("checked"); + } + }); + }); + }); + }); + +.grid_16 + %h4 Managed Content Selection + + - form_tag do + - unless request.xhr? + = render :partial => 'hidden_fields' + = render :partial => 'metagroups' + #metagrouppackages.grid_12.omega.gap + = render :partial => view diff --git a/src/app/views/templates/collections.haml b/src/app/views/templates/collections.haml new file mode 100644 index 0000000..a899c85 --- /dev/null +++ b/src/app/views/templates/collections.haml @@ -0,0 +1 @@ += render :partial => 'software_selection', :locals => {:view => 'collections'} diff --git a/src/app/views/templates/edit.haml b/src/app/views/templates/edit.haml new file mode 100644 index 0000000..a2a58ef --- /dev/null +++ b/src/app/views/templates/edit.haml @@ -0,0 +1,9 @@ +#dropdown +.grid_16 + %h2 Edit Template + /- form_for @tpl, :url => image_factory_template_path(@tpl), :html => { :method => :put } do |f| + - form_tag do + = hidden_field_tag :id, @tpl.id + = render :partial => 'form' + = restful_submit_tag "Save", 'update', image_factory_template_path(@tpl), 'PUT', :class => "formbutton" + = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/index.haml b/src/app/views/templates/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/templates/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/templates/managed_content.haml b/src/app/views/templates/managed_content.haml new file mode 100644 index 0000000..926142d --- /dev/null +++ b/src/app/views/templates/managed_content.haml @@ -0,0 +1 @@ += render :partial => 'managed_content' diff --git a/src/app/views/templates/metagroup_packages.haml b/src/app/views/templates/metagroup_packages.haml new file mode 100644 index 0000000..9703663 --- /dev/null +++ b/src/app/views/templates/metagroup_packages.haml @@ -0,0 +1 @@ += render :partial => 'software_selection', :locals => {:view => 'metagroup_packages'} diff --git a/src/app/views/templates/new.haml b/src/app/views/templates/new.haml new file mode 100644 index 0000000..2dbac5b --- /dev/null +++ b/src/app/views/templates/new.haml @@ -0,0 +1,10 @@ +#dropdown +.grid_16 + %h2 New Template + /- form_for @tpl, :url => image_factory_templates_path do |f| + - form_tag do + = render :partial => 'form' + = check_box_tag :create_deployable + = label_tag :create_deployable, "Create Deployable for this template" + = restful_submit_tag "Save", 'create', image_factory_templates_path, 'POST', :class => "formbutton" + = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/search_packages.haml b/src/app/views/templates/search_packages.haml new file mode 100644 index 0000000..94e30f5 --- /dev/null +++ b/src/app/views/templates/search_packages.haml @@ -0,0 +1 @@ += render :partial => 'software_selection', :locals => {:view => 'search_packages'} diff --git a/src/app/views/templates/show.haml b/src/app/views/templates/show.haml new file mode 100644 index 0000000..05eeedd --- /dev/null +++ b/src/app/views/templates/show.haml @@ -0,0 +1,5 @@ +- content_for :list do + = render :partial => 'list' + +- content_for :details do + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/users/_form.haml b/src/app/views/users/_form.haml new file mode 100644 index 0000000..f1b8aa3 --- /dev/null +++ b/src/app/views/users/_form.haml @@ -0,0 +1,44 @@ += form.error_messages +%fieldset.clear + = form.label :login, t(:choose_name), :class => "grid_3 alpha" + = form.text_field :login, :class => "grid_5" +%fieldset.clear + = form.label :password, form.object.new_record? ? t(:choose_password) : t(:change_password), :class => "grid_3 alpha" + = form.password_field :password, :class => "grid_5" +%fieldset + = form.label :password_confirmation, t(:confirm_password), :class => "grid_3 alpha" + = form.password_field :password_confirmation, :class => "grid_5" +-if check_privilege(Privilege::MODIFY, User) + %fieldset.clear + = form.label :user_status, "User Status:", :class => "alpha grid_3" + .grid_5 + = radio_button_tag "user_status","Active",true + = label_tag "user_status_active", "Active" + = radio_button_tag "user_status","Inactive", false, :disabled => true + = label_tag "user_status_inactive", "Inactive" +%fieldset.clear + = form.label :first_name, t(:first_name), :class => "alpha grid_3" + = form.text_field :first_name, :class => "grid_5" +%fieldset.clear + = form.label :last_name, t(:last_name), :class => "alpha grid_3" + = form.text_field :last_name, :class => "grid_5" +%fieldset.clear + = form.label :email, t(:email), :class => "alpha grid_3" + = form.text_field :email, :class => "grid_5" +-if check_privilege(Privilege::MODIFY, User) + %h3.grid_16 User Treatment + %fieldset.clearfix + = label_tag 'apply_treatment', t(:apply_treatment), :class => "alpha grid_3" + = select_tag 'user_treatment', options_for_select([t(:choose_treatment)]), :class => "grid_5" + = submit_tag t(:apply), :disabled => true, :class => "grid_2" + + - form.fields_for :quota do |quota_form| + %fieldset.clear + = quota_form.label :maximum_running_instances, t(:maximum_running_instances), :class => "alpha grid_3" + = quota_form.text_field :maximum_running_instances, :class => "grid_5" + (instances) + = quota_form.error_message_on :maximum_running_instances, 'Maximum Running Instances ' +%fieldset.clearfix + = form.submit "Save", :class => "submit formbutton" + = form.submit "Reset", :class => "submit formbutton" + = link_to t(:cancel), cancel_path, :class => 'button formbutton' diff --git a/src/app/views/users/_list.haml b/src/app/views/users/_list.haml new file mode 100644 index 0000000..6a544ed --- /dev/null +++ b/src/app/views/users/_list.haml @@ -0,0 +1,40 @@ +- form_tag do + = link_to "Create", new_admin_user_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_users_path, 'DELETE', :id => 'delete_button' + + %table#users_table + %thead + %tr + %th + %th= link_to "User ID", admin_users_url(:sort_by => "login") + %th= link_to "Last Name", admin_users_url(:sort_by => "last_name") + %th= link_to "First Name", admin_users_url(:sort_by => "first_name") + %th= link_to "% Quota Used", admin_users_url(:sort_by => "percentage_quota_used") + %th + =link_to "Quota", admin_users_url(:sort_by => "quota") + %span (Instances) + %th= link_to "e-mail", admin_users_url(:sort_by => "email") + -@users.each do |user| + %tr + %td + %input{:name => "user_selected[]", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}" } + %td= link_to user.login, admin_user_path(user) + %td= user.last_name + %td= user.first_name + %td= sprintf("%.2f", user.quota.percentage_used) + %td= Quota.no_limit(user.quota.maximum_running_instances) ? "Unlimited" : user.quota.maximum_running_instances + %td= user.email + +:javascript + $(document).ready(function () { + $('#delete_button').click(function(e) { + if ($("#users_table input[@type=radio]:checked").length == 0) { + alert('Please select any user to be deleted before clicking Delete button.'); + e.preventDefault(); + } else { + if (!confirm("Are you sure you want to delete this user?")) { + e.preventDefault(); + } + } + }); + }); diff --git a/src/app/views/users/_properties.haml b/src/app/views/users/_properties.haml new file mode 100644 index 0000000..0842cb1 --- /dev/null +++ b/src/app/views/users/_properties.haml @@ -0,0 +1,98 @@ +.grid_13 + %h2 #{@user.first_name} #{@user.last_name} (#{@user.login}) + + = link_to 'Edit', edit_admin_user_path(@user), :class => 'button' + + %table + %thead + %tr + %th.show + Personal Details + %th.show + %tbody + %tr + %td + %label Username + %td + = @user.login + %tr + %td + %label First Name + %td + = @user.first_name + %tr + %td + %label Last Name + %td + = @user.last_name + %tr + %td + %label e-mail + %td + = @user.email + + %table + %thead + %tr + %th.show + Quota Status + %th.show + %tbody + %tr + %td + %label Maximum + %td + = @quota_resources["running_instances"].max + %tr + %td + %label Used + %td + = @quota_resources["running_instances"].used + %tr + %td + %label Available + %td + = @quota_resources["running_instances"].available + + %table + %thead + %tr + %th.show + Login Information + %th.show + %tbody + %tr + %td + %label Current Login IP + %td + = @user.current_login_ip + %tr + %td + %label Current Login at + %td + = @user.current_login_at + %tr + %td + %label Last Login IP + %td + = @user.last_login_ip + %tr + %td + %label Last Login at + %td + = @user.last_login_at + %tr + %td + %label Login Count + %td + = @user.login_count + %tr + %td + %label Failed Login Count + %td + = @user.login_count + %tr + %td + %label Last Request at + %td + = @user.last_request_at diff --git a/src/app/views/users/edit.haml b/src/app/views/users/edit.haml new file mode 100644 index 0000000..1290c4d --- /dev/null +++ b/src/app/views/users/edit.haml @@ -0,0 +1,7 @@ +- if check_privilege(Privilege::MODIFY, User) + %h2 Editing User: #{@user.first_name} #{@user.last_name} +- else + %h2 Editing Account + +- form_for @user, :url => admin_user_path(@user), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } diff --git a/src/app/views/users/index.haml b/src/app/views/users/index.haml new file mode 100644 index 0000000..62ccbc6 --- /dev/null +++ b/src/app/views/users/index.haml @@ -0,0 +1,2 @@ +- content_for :list do + = render :partial => 'list' diff --git a/src/app/views/users/new.haml b/src/app/views/users/new.haml new file mode 100644 index 0000000..0958f12 --- /dev/null +++ b/src/app/views/users/new.haml @@ -0,0 +1,6 @@ +%h2 New Account +- form_for @user, :url => admin_users_path do |f| + -if current_user + = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } + -else + = render :partial => "form", :locals => { :form => f, :cancel_path => login_path }
From: Jiri Tomasek jtomasek@redhat.com
--- src/app/controllers/builds_controller.rb | 8 +- src/app/controllers/deployables_controller.rb | 10 ++-- src/app/controllers/deployments_controller.rb | 6 +- .../controllers/hardware_profiles_controller.rb | 8 +- src/app/controllers/image_imports_controller.rb | 2 +- src/app/controllers/instances_controller.rb | 12 ++-- src/app/controllers/pool_families_controller.rb | 10 ++-- src/app/controllers/pools_controller.rb | 2 +- .../controllers/provider_accounts_controller.rb | 8 +- src/app/controllers/providers_controller.rb | 6 +- src/app/controllers/realm_mappings_controller.rb | 8 +- src/app/controllers/realms_controller.rb | 8 +- src/app/controllers/roles_controller.rb | 8 +- src/app/controllers/templates_controller.rb | 6 +- src/app/controllers/users_controller.rb | 8 +- src/app/helpers/providers_helper.rb | 2 +- src/app/views/assemblies/index.haml | 2 +- src/app/views/deployables/_assemblies.haml | 4 +- src/app/views/deployables/_deployments.haml | 2 +- src/app/views/deployables/_form.haml | 2 +- src/app/views/deployables/_list.haml | 8 +- src/app/views/deployables/_pick_assemblies.haml | 6 +- src/app/views/deployables/_properties.haml | 4 +- src/app/views/deployables/edit.haml | 2 +- src/app/views/deployables/new.haml | 2 +- src/app/views/deployments/_list.haml | 20 +++--- src/app/views/deployments/launch_new.haml | 4 +- src/app/views/deployments/new.haml | 2 +- src/app/views/hardware_profiles/_list.haml | 6 +- .../_matching_provider_hardware_profiles.haml | 6 +- src/app/views/hardware_profiles/_properties.haml | 2 +- src/app/views/hardware_profiles/edit.haml | 2 +- src/app/views/hardware_profiles/new.haml | 4 +- src/app/views/image_imports/new.haml | 4 +- src/app/views/instances/_list.haml | 8 +- src/app/views/instances/_properties.haml | 2 +- src/app/views/instances/new.haml | 2 +- src/app/views/instances/select_template.haml | 2 +- src/app/views/layouts/_header.haml | 2 +- src/app/views/pool_families/_list.haml | 6 +- src/app/views/pool_families/_properties.haml | 2 +- .../views/pool_families/_provider_accounts.haml | 4 +- src/app/views/pool_families/edit.haml | 4 +- src/app/views/pool_families/new.haml | 4 +- src/app/views/pools/_instances.haml | 12 ++-- src/app/views/pools/_list.haml | 6 +- src/app/views/pools/_properties.haml | 2 +- src/app/views/pools/new.haml | 2 +- src/app/views/provider_accounts/_list.haml | 6 +- src/app/views/provider_accounts/_properties.haml | 4 +- .../provider_accounts/_provider_selection.haml | 4 +- src/app/views/provider_accounts/edit.haml | 2 +- src/app/views/provider_accounts/new.haml | 2 +- src/app/views/providers/_list.haml | 6 +- src/app/views/providers/_properties.haml | 4 +- src/app/views/providers/edit.haml | 4 +- src/app/views/providers/new.haml | 4 +- src/app/views/realm_mappings/new.haml | 2 +- src/app/views/realms/_list.haml | 6 +- src/app/views/realms/_mapping.haml | 6 +- src/app/views/realms/_properties.haml | 2 +- src/app/views/realms/edit.haml | 2 +- src/app/views/realms/new.haml | 4 +- src/app/views/roles/_form.haml | 2 +- src/app/views/roles/_list.haml | 6 +- src/app/views/roles/_properties.haml | 2 +- src/app/views/roles/edit.haml | 2 +- src/app/views/roles/new.haml | 2 +- src/app/views/settings/index.haml | 4 +- src/app/views/templates/_addbuttons.haml | 4 +- src/app/views/templates/_builds.haml | 8 +- src/app/views/templates/_form.haml | 2 +- src/app/views/templates/_list.haml | 6 +- src/app/views/templates/_managed_content.haml | 2 +- src/app/views/templates/_metagroups.haml | 4 +- src/app/views/templates/_properties.haml | 2 +- src/app/views/templates/edit.haml | 6 +- src/app/views/templates/new.haml | 6 +- .../views/templates/xml/_hardware_profile.xml.haml | 4 +- src/app/views/users/_list.haml | 18 +++--- src/app/views/users/_properties.haml | 2 +- src/app/views/users/edit.haml | 4 +- src/app/views/users/new.haml | 4 +- src/classad_plugin/conductor_classad_plugin.cpp | 2 +- src/config/navigation.rb | 36 ++++++------ src/config/routes.rb | 63 +++++++++----------- src/features/deployable.feature | 28 ++++---- src/features/deployable_permissions.feature | 24 ++++---- src/features/deployment.feature | 6 +- src/features/image_import.feature | 10 ++-- src/features/pool.feature | 22 ++++---- src/features/pool_family.feature | 16 +++--- src/features/provider.feature | 20 +++--- src/features/provider_account.feature | 18 +++--- src/features/realm.feature | 18 +++--- src/features/role.feature | 12 ++-- src/features/settings.feature | 8 +- src/features/step_definitions/api_steps.rb | 4 +- src/features/step_definitions/instance_steps.rb | 6 +- src/features/step_definitions/template_steps.rb | 2 +- src/features/support/paths.rb | 32 +++++----- src/features/template.feature | 48 ++++++++-------- src/features/user.feature | 16 +++--- src/spec/controllers/builds_controller_spec.rb | 2 +- .../hardware_profiles_controller_spec.rb | 2 +- src/spec/controllers/instance_controller_spec.rb | 4 +- src/spec/controllers/pools_controller_spec.rb | 4 +- .../provider_accounts_controller_spec.rb | 6 +- src/spec/controllers/provider_controller_spec.rb | 6 +- src/spec/controllers/templates_controller_spec.rb | 2 +- src/spec/controllers/users_controller_spec.rb | 4 +- 111 files changed, 407 insertions(+), 414 deletions(-)
diff --git a/src/app/controllers/builds_controller.rb b/src/app/controllers/builds_controller.rb index 3572a45..4535439 100644 --- a/src/app/controllers/builds_controller.rb +++ b/src/app/controllers/builds_controller.rb @@ -18,7 +18,7 @@ class BuildsController < ApplicationController logger.error $!.message logger.error $!.backtrace.join("\n ") end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def upload @@ -29,13 +29,13 @@ class BuildsController < ApplicationController :status => ProviderImage::STATE_QUEUED ) Delayed::Job.enqueue(PushJob.new(pimg.id)) - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def delete @tpl = Template.find(params[:template_id]) # FIXME: add logic to delete image when v2 image factory lands - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def edit @@ -76,7 +76,7 @@ class BuildsController < ApplicationController logger.error $!.message logger.error $!.backtrace.join("\n ") end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def update_status diff --git a/src/app/controllers/deployables_controller.rb b/src/app/controllers/deployables_controller.rb index 22332f5..40a0a04 100644 --- a/src/app/controllers/deployables_controller.rb +++ b/src/app/controllers/deployables_controller.rb @@ -44,7 +44,7 @@ class DeployablesController < ApplicationController @deployable.owner = current_user if @deployable.save flash[:notice] = "Deployable added." - redirect_to image_factory_deployable_url(@deployable) + redirect_to deployable_url(@deployable) else render :action => :new end @@ -60,7 +60,7 @@ class DeployablesController < ApplicationController require_privilege(Privilege::MODIFY, @deployable) if @deployable.update_attributes(params[:deployable]) flash[:notice] = "Deployable updated." - redirect_to image_factory_deployable_url(@deployable) + redirect_to deployable_url(@deployable) else render :action => :edit end @@ -84,7 +84,7 @@ class DeployablesController < ApplicationController unless failed.empty? flash[:error] = t('deployables.index.not_deleted', :count => failed.length, :list => failed.join(', ')) end - redirect_to image_factory_deployables_url + redirect_to deployables_url end
def pick_assemblies @@ -105,7 +105,7 @@ class DeployablesController < ApplicationController end respond_to do |format| format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + format.html { redirect_to deployable_url(@deployable, :details_tab => 'assemblies') and return } end end
@@ -118,7 +118,7 @@ class DeployablesController < ApplicationController end respond_to do |format| format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + format.html { redirect_to deployable_url(@deployable, :details_tab => 'assemblies') and return } end end
diff --git a/src/app/controllers/deployments_controller.rb b/src/app/controllers/deployments_controller.rb index d988d81..4ee0ff8 100644 --- a/src/app/controllers/deployments_controller.rb +++ b/src/app/controllers/deployments_controller.rb @@ -17,7 +17,7 @@ class DeploymentsController < ApplicationController @deployment = Deployment.new(:deployable_id => params[:deployable_id]) if @deployment.deployable.assemblies.empty? flash[:warning] = "Deployable must have at least one assembly" - redirect_to resources_deployments_path + redirect_to deployments_path else init_new_deployment_attrs end @@ -36,7 +36,7 @@ class DeploymentsController < ApplicationController :failures => errors } end - redirect_to resources_deployment_path(@deployment) + redirect_to deployment_path(@deployment) else flash.now[:warning] = "Deployment launch failed" init_new_deployment_attrs @@ -87,7 +87,7 @@ class DeploymentsController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_deployments_path + redirect_to deployments_path end
private diff --git a/src/app/controllers/hardware_profiles_controller.rb b/src/app/controllers/hardware_profiles_controller.rb index 54f7e8f..6bbbc90 100644 --- a/src/app/controllers/hardware_profiles_controller.rb +++ b/src/app/controllers/hardware_profiles_controller.rb @@ -62,7 +62,7 @@ class HardwareProfilesController < ApplicationController build_hardware_profile(params[:hardware_profile]) if params[:commit] == 'Save' if @hardware_profile.save! - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path else params.delete :commit render :action => 'create' @@ -87,7 +87,7 @@ class HardwareProfilesController < ApplicationController
def update if params[:commit] == "Reset" - redirect_to edit_admin_hardware_profile_url(@hardware_profile) and return + redirect_to edit_hardware_profile_url(@hardware_profile) and return end
if params[:id] @@ -104,7 +104,7 @@ class HardwareProfilesController < ApplicationController render :action => 'edit' and return else flash[:notice] = "Hardware Profile updated!" - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path end kick_condor end @@ -112,7 +112,7 @@ class HardwareProfilesController < ApplicationController def multi_destroy HardwareProfile.destroy(params[:hardware_profile_selected]) kick_condor - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path end
private diff --git a/src/app/controllers/image_imports_controller.rb b/src/app/controllers/image_imports_controller.rb index 24d286b..8cff787 100644 --- a/src/app/controllers/image_imports_controller.rb +++ b/src/app/controllers/image_imports_controller.rb @@ -9,7 +9,7 @@ class ImageImportsController < ApplicationController begin Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id], current_user) flash[:notice]="Image successfully imported" - redirect_to image_factory_templates_path + redirect_to templates_path kick_condor rescue Exception => e init_provider_vars diff --git a/src/app/controllers/instances_controller.rb b/src/app/controllers/instances_controller.rb index 42e0e01..6e675df 100644 --- a/src/app/controllers/instances_controller.rb +++ b/src/app/controllers/instances_controller.rb @@ -22,7 +22,7 @@ class InstancesController < ApplicationController require_privilege(Privilege::CREATE, Instance, @instance.pool) if @instance.pool
unless @instance.template - redirect_to select_template_resources_instances_path + redirect_to select_template_instances_path return end
@@ -41,7 +41,7 @@ class InstancesController < ApplicationController
def create if params[:cancel] - redirect_to select_template_resources_instances_path + redirect_to select_template_instances_path return end
@@ -72,7 +72,7 @@ class InstancesController < ApplicationController else flash[:warning] = "Quota Exceeded: Instance will not start until you have free quota" end - redirect_to resources_instances_path + redirect_to instances_path end end
@@ -103,7 +103,7 @@ class InstancesController < ApplicationController return end flash[:warning] = "SSH Key not found for this Instance." - redirect_to resources_instance_path(@instance) + redirect_to instance_path(@instance) end
def multi_stop @@ -130,7 +130,7 @@ class InstancesController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path + redirect_to instances_path end
def remove_failed @@ -149,7 +149,7 @@ class InstancesController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path + redirect_to instances_path end
def can_create diff --git a/src/app/controllers/pool_families_controller.rb b/src/app/controllers/pool_families_controller.rb index 3d1a5fd..d38a04d 100644 --- a/src/app/controllers/pool_families_controller.rb +++ b/src/app/controllers/pool_families_controller.rb @@ -29,7 +29,7 @@ class PoolFamiliesController < ApplicationController else @pool_family.assign_owner_roles(current_user) flash[:notice] = "Pool family was added." - redirect_to admin_pool_families_path + redirect_to pool_families_path end end
@@ -45,7 +45,7 @@ class PoolFamiliesController < ApplicationController render :action => 'edit' and return else flash[:notice] = "Pool Family was updated!" - redirect_to admin_pool_families_path + redirect_to pool_families_path end end
@@ -70,7 +70,7 @@ class PoolFamiliesController < ApplicationController
@pool_family.provider_accounts << @provider_account flash[:notice] = "Provider Account has been added" - redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + redirect_to pool_family_path(@pool_family, :details_tab => 'provider_accounts') end
def multi_destroy @@ -89,7 +89,7 @@ class PoolFamiliesController < ApplicationController if not_deleted.size > 0 flash[:error] = t 'pool_families.index.not_deleted', :list => not_deleted.join(', ') end - redirect_to admin_pool_families_path + redirect_to pool_families_path end
def multi_destroy_provider_accounts @@ -99,7 +99,7 @@ class PoolFamiliesController < ApplicationController @pool_family.provider_accounts.delete provider_account end
- redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + redirect_to pool_family_path(@pool_family, :details_tab => 'provider_accounts') end
protected diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb index ecfff29..7706902 100644 --- a/src/app/controllers/pools_controller.rb +++ b/src/app/controllers/pools_controller.rb @@ -108,7 +108,7 @@ class PoolsController < ApplicationController unless error_messages.empty? flash[:error] = error_messages.join('<br />') end - redirect_to resources_pools_url + redirect_to pools_url end
protected diff --git a/src/app/controllers/provider_accounts_controller.rb b/src/app/controllers/provider_accounts_controller.rb index 438e7ee..1fa0277 100644 --- a/src/app/controllers/provider_accounts_controller.rb +++ b/src/app/controllers/provider_accounts_controller.rb @@ -71,7 +71,7 @@ class ProviderAccountsController < ApplicationController if @provider_account.populate_realms flash[:notice] = "Provider account added." end - redirect_to admin_provider_account_path(@provider_account) + redirect_to provider_account_path(@provider_account) kick_condor end
@@ -95,7 +95,7 @@ class ProviderAccountsController < ApplicationController @provider_account.quota.set_maximum_running_instances(limit) if @provider_account.update_attributes(params[:provider_account]) flash[:notice] = "Provider Account updated!" - redirect_to admin_provider_account_path(@provider_account) + redirect_to provider_account_path(@provider_account) else flash[:error] = "Provider Account wasn't updated!" render :action => :edit @@ -105,7 +105,7 @@ class ProviderAccountsController < ApplicationController def multi_destroy if params[:accounts_selected].blank? flash[:notice] = "You must select some accounts first." - redirect_to admin_provider_accounts_url and return + redirect_to provider_accounts_url and return end
succeeded = [] @@ -126,7 +126,7 @@ class ProviderAccountsController < ApplicationController flash[:error] = t 'provider_accounts.index.account_not_deleted', :count => failed.length, :list => failed.join(', ') end kick_condor - redirect_to admin_provider_accounts_url + redirect_to provider_accounts_url end
def set_selected_provider diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb index 9bbbf8c..f2ad3bf 100644 --- a/src/app/controllers/providers_controller.rb +++ b/src/app/controllers/providers_controller.rb @@ -67,7 +67,7 @@ class ProvidersController < ApplicationController if @provider.save && @provider.populate_hardware_profiles @provider.assign_owner_roles(current_user) flash[:notice] = "Provider added." - redirect_to admin_providers_path + redirect_to providers_path else flash[:notice] = "Cannot add the provider." render :action => "new" @@ -86,7 +86,7 @@ class ProvidersController < ApplicationController else if @provider.errors.empty? and @provider.save flash[:notice] = "Provider updated." - redirect_to admin_providers_path + redirect_to providers_path else flash[:notice] = "Cannot update the provider." render :action => 'edit' @@ -100,7 +100,7 @@ class ProvidersController < ApplicationController provider.destroy if check_privilege(Privilege::MODIFY, provider) end kick_condor - redirect_to admin_providers_url + redirect_to providers_url end
def test_connection(provider) diff --git a/src/app/controllers/realm_mappings_controller.rb b/src/app/controllers/realm_mappings_controller.rb index 226cdf9..0af86d0 100644 --- a/src/app/controllers/realm_mappings_controller.rb +++ b/src/app/controllers/realm_mappings_controller.rb @@ -12,8 +12,8 @@ class RealmMappingsController < ApplicationController @realm_target = RealmBackendTarget.new(params[:realm_backend_target]) if @realm_target.save flash[:notice] = "Realm mapping was added." - redirect_to admin_realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return - #redirect_to admin_realms_path and return + redirect_to realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return + #redirect_to realms_path and return end
load_backend_targets @@ -24,11 +24,11 @@ class RealmMappingsController < ApplicationController require_privilege(Privilege::MODIFY, Realm) if params[:id].blank? flash[:error] = 'You must select at least one mapping to delete.' - redirect_to admin_realm_path(params[:frontend_realm_id], :details_tab => 'mapping') + redirect_to realm_path(params[:frontend_realm_id], :details_tab => 'mapping') else # TODO: add permissions checks destroyed = RealmBackendTarget.destroy(params[:id]) - redirect_to admin_realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') + redirect_to realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') end end
diff --git a/src/app/controllers/realms_controller.rb b/src/app/controllers/realms_controller.rb index 7f05ff7..0d782fd 100644 --- a/src/app/controllers/realms_controller.rb +++ b/src/app/controllers/realms_controller.rb @@ -19,12 +19,12 @@ class RealmsController < ApplicationController @realm = FrontendRealm.find(params[:id])
if params[:commit] == "Reset" - redirect_to edit_admin_realm_url(@realm) and return + redirect_to edit_realm_url(@realm) and return end
if @realm.update_attributes(params[:frontend_realm]) flash[:notice] = 'Realm updated successfully!' - redirect_to admin_realms_url and return + redirect_to realms_url and return end
load_backend_realms @@ -36,7 +36,7 @@ class RealmsController < ApplicationController @realm = FrontendRealm.new(params[:frontend_realm]) if @realm.save flash[:notice] = "Realm was added." - redirect_to admin_realms_path and return + redirect_to realms_path and return end
load_backend_realms @@ -50,7 +50,7 @@ class RealmsController < ApplicationController require_privilege(Privilege::MODIFY, Realm) FrontendRealm.destroy(params[:id]) end - redirect_to admin_realms_path + redirect_to realms_path end
def show diff --git a/src/app/controllers/roles_controller.rb b/src/app/controllers/roles_controller.rb index a0ac666..e8a08b0 100644 --- a/src/app/controllers/roles_controller.rb +++ b/src/app/controllers/roles_controller.rb @@ -30,7 +30,7 @@ class RolesController < ApplicationController
if @role.save flash[:notice] = 'Role successfully saved!' - redirect_to admin_roles_path and return + redirect_to roles_path and return end
render :action => 'new' @@ -64,12 +64,12 @@ class RolesController < ApplicationController @role = Role.find(params[:id])
if params[:commit] == "Reset" - redirect_to edit_admin_role_url(@role) and return + redirect_to edit_role_url(@role) and return end
if @role.update_attributes(params[:role]) flash[:notice] = 'Role updated successfully!' - redirect_to admin_roles_url and return + redirect_to roles_url and return end
render :action => 'edit' @@ -78,7 +78,7 @@ class RolesController < ApplicationController def multi_destroy require_privilege(Privilege::PERM_SET) Role.destroy(params[:role_selected]) - redirect_to admin_roles_url + redirect_to roles_url end
protected diff --git a/src/app/controllers/templates_controller.rb b/src/app/controllers/templates_controller.rb index 786f55a..53e17b7 100644 --- a/src/app/controllers/templates_controller.rb +++ b/src/app/controllers/templates_controller.rb @@ -80,7 +80,7 @@ class TemplatesController < ApplicationController if params[:create_deployable] Deployable.create!(:name => @tpl.name, :assemblies => @tpl.assemblies, :owner => current_user) end - redirect_to image_factory_templates_path + redirect_to templates_path else @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) render :new @@ -96,7 +96,7 @@ class TemplatesController < ApplicationController if @tpl.update_attributes(params[:tpl]) @tpl.set_complete flash[:notice] = "Template updated." - redirect_to image_factory_templates_path + redirect_to templates_path else @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) render :action => 'edit' @@ -201,7 +201,7 @@ class TemplatesController < ApplicationController unless failed.empty? flash[:error] = t('templates.index.not_deleted', :count => failed.length, :list => failed.join(', ')) end - redirect_to image_factory_templates_url + redirect_to templates_url end
protected diff --git a/src/app/controllers/users_controller.rb b/src/app/controllers/users_controller.rb index 8e3484c..2d9459c 100644 --- a/src/app/controllers/users_controller.rb +++ b/src/app/controllers/users_controller.rb @@ -39,7 +39,7 @@ class UsersController < ApplicationController
if current_user != @user flash[:notice] = "User registered!" - redirect_to admin_users_url + redirect_to users_url else flash[:notice] = "You have successfully registered!" redirect_to root_url @@ -75,7 +75,7 @@ class UsersController < ApplicationController require_privilege(Privilege::MODIFY, User) unless @user == current_user
if params[:commit] == "Reset" - redirect_to edit_admin_user_url(@user) and return + redirect_to edit_user_url(@user) and return end
redirect_to root_url and return unless @user @@ -84,7 +84,7 @@ class UsersController < ApplicationController render :action => 'edit' and return else flash[:notice] = "User updated!" - redirect_to (@user == current_user) ? root_url : admin_users_url + redirect_to (@user == current_user) ? root_url : users_url end end
@@ -103,7 +103,7 @@ class UsersController < ApplicationController msg = "Deleted user#{'s' if deleted_users.length > 1}" flash[:notice] = "#{msg}: #{deleted_users.join(', ')}" end - redirect_to admin_users_url + redirect_to users_url end
protected diff --git a/src/app/helpers/providers_helper.rb b/src/app/helpers/providers_helper.rb index 3c0d348..cfc12b7 100644 --- a/src/app/helpers/providers_helper.rb +++ b/src/app/helpers/providers_helper.rb @@ -2,7 +2,7 @@ module ProvidersHelper
def edit_button(provider, action) if provider and action == 'show' - link_to 'Edit', edit_admin_provider_path(provider), :class => 'button', :id => 'edit_button' + link_to 'Edit', edit_provider_path(provider), :class => 'button', :id => 'edit_button' else content_tag('a', 'Edit', :href => '#', :class => 'button disabled') end diff --git a/src/app/views/assemblies/index.haml b/src/app/views/assemblies/index.haml index 766d92c..aba40ed 100644 --- a/src/app/views/assemblies/index.haml +++ b/src/app/views/assemblies/index.haml @@ -1 +1 @@ -image_factory/assemblies/index.haml +assemblies/index.haml diff --git a/src/app/views/deployables/_assemblies.haml b/src/app/views/deployables/_assemblies.haml index 9af208b..01bf09a 100644 --- a/src/app/views/deployables/_assemblies.haml +++ b/src/app/views/deployables/_assemblies.haml @@ -1,7 +1,7 @@ .grid_13 - form_tag do - = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_image_factory_deployable_path(@deployable), 'DELETE', :id => 'delete_button' - = link_to "Add Assembly...", pick_assemblies_image_factory_deployable_path(@deployable), :class => 'button', :id => 'add_assembly' + = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_deployable_path(@deployable), 'DELETE', :id => 'delete_button' + = link_to "Add Assembly...", pick_assemblies_deployable_path(@deployable), :class => 'button', :id => 'add_assembly'
%table#assemblies_table %thead diff --git a/src/app/views/deployables/_deployments.haml b/src/app/views/deployables/_deployments.haml index 77af2f9..d2ce11a 100644 --- a/src/app/views/deployables/_deployments.haml +++ b/src/app/views/deployables/_deployments.haml @@ -10,7 +10,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } - = link_to deployment.name, resources_deployment_path(deployment) + = link_to deployment.name, deployment_path(deployment) %td = deployment.deployable.name %td diff --git a/src/app/views/deployables/_form.haml b/src/app/views/deployables/_form.haml index 98c2232..bf54513 100644 --- a/src/app/views/deployables/_form.haml +++ b/src/app/views/deployables/_form.haml @@ -7,4 +7,4 @@ = form.text_area :summary, :class => "grid_5", :rows => 3 %fieldset.clearfix = form.submit "Save", :class => "submit formbutton" - = link_to t(:cancel), image_factory_deployables_path, :class => 'button formbutton' + = link_to t(:cancel), deployables_path, :class => 'button formbutton' diff --git a/src/app/views/deployables/_list.haml b/src/app/views/deployables/_list.haml index e2933f0..b0fb991 100644 --- a/src/app/views/deployables/_list.haml +++ b/src/app/views/deployables/_list.haml @@ -1,17 +1,17 @@ - form_tag do - = link_to "Create", new_image_factory_deployable_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_deployables_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_deployable_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_deployables_path, 'DELETE', :id => 'delete_button'
%table#deployables_table %thead %tr %th - %th= link_to "Name", image_factory_deployables_url(:sort_by => "name") + %th= link_to "Name", deployables_url(:sort_by => "name") -@deployables.each do |deployable| %tr %td %input{:name => "deployables_selected[]", :type => "checkbox", :value => deployable.id, :id => "deployable_checkbox_#{deployable.id}" } - %td= link_to deployable.name, image_factory_deployable_path(deployable) + %td= link_to deployable.name, deployable_path(deployable)
:javascript $(document).ready(function () { diff --git a/src/app/views/deployables/_pick_assemblies.haml b/src/app/views/deployables/_pick_assemblies.haml index cfaf30b..01e472b 100644 --- a/src/app/views/deployables/_pick_assemblies.haml +++ b/src/app/views/deployables/_pick_assemblies.haml @@ -1,5 +1,5 @@ .grid_13 - - form_tag(image_factory_deployable_path(@deployable)) do + - form_tag(deployable_path(@deployable)) do %table#assemblies_list %thead %tr @@ -12,5 +12,5 @@ %td= assembly.name
-# AJAX post - = restful_submit_tag('Save', 'add_assemblies', add_assemblies_image_factory_deployable_path(@deployable), 'PUT') - = link_to "Back", image_factory_deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' + = restful_submit_tag('Save', 'add_assemblies', add_assemblies_deployable_path(@deployable), 'PUT') + = link_to "Back", deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' diff --git a/src/app/views/deployables/_properties.haml b/src/app/views/deployables/_properties.haml index ce50669..1fbf002 100644 --- a/src/app/views/deployables/_properties.haml +++ b/src/app/views/deployables/_properties.haml @@ -1,8 +1,8 @@ .grid_13 %h2 #{@deployable.name}
- = link_to 'Edit', edit_image_factory_deployable_path(@deployable), :class => 'button' + = link_to 'Edit', edit_deployable_path(@deployable), :class => 'button' - if @deployable.launchable? - = link_to "Launch", new_resources_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} + = link_to "Launch", new_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} - else The deployable can't be launched - the deployable must have at least one assembly and each assembly must have at least one template. diff --git a/src/app/views/deployables/edit.haml b/src/app/views/deployables/edit.haml index fc47660..fd81aeb 100644 --- a/src/app/views/deployables/edit.haml +++ b/src/app/views/deployables/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Deployable: #{@deployable.name}
-- form_for @deployable, :url => image_factory_deployable_path(@deployable), :html => { :method => :put } do |f| +- form_for @deployable, :url => deployable_path(@deployable), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployables/new.haml b/src/app/views/deployables/new.haml index cc582a3..50abe11 100644 --- a/src/app/views/deployables/new.haml +++ b/src/app/views/deployables/new.haml @@ -1,3 +1,3 @@ %h2 New Deployable -- form_for @deployable, :url => image_factory_deployables_path do |f| +- form_for @deployable, :url => deployables_path do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployments/_list.haml b/src/app/views/deployments/_list.haml index 7b80677..2d89766 100644 --- a/src/app/views/deployments/_list.haml +++ b/src/app/views/deployments/_list.haml @@ -1,14 +1,14 @@ - form_tag do #object-actions - = restful_submit_tag "Start", "start", resources_deployments_path, "PUT" - = restful_submit_tag "Stop", "stop", multi_stop_resources_deployments_path, "GET" - = restful_submit_tag "Launch new", "launch_new", launch_new_resources_deployments_path, "GET" - = restful_submit_tag "Delete", "delete", resources_deployments_path, "DELETE" + = restful_submit_tag "Start", "start", deployments_path, "PUT" + = restful_submit_tag "Stop", "stop", multi_stop_deployments_path, "GET" + = restful_submit_tag "Launch new", "launch_new", launch_new_deployments_path, "GET" + = restful_submit_tag "Delete", "delete", deployments_path, "DELETE"
#search-actions - = restful_submit_tag "Save Search", "save_search", resources_deployments_path, "PUT" - = restful_submit_tag "Save Selection", "save_selection", resources_deployments_path, "PUT" - = restful_submit_tag "Export to File", "export", resources_deployments_path, "PUT" + = restful_submit_tag "Save Search", "save_search", deployments_path, "PUT" + = restful_submit_tag "Save Selection", "save_selection", deployments_path, "PUT" + = restful_submit_tag "Export to File", "export", deployments_path, "PUT"
%p Select: @@ -24,12 +24,12 @@ - selected = @url_params[:select] == 'all' %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } %td - = link_to deployment.name, resources_deployment_path(deployment) + = link_to deployment.name, deployment_path(deployment) %td - = link_to deployment.deployable.name, image_factory_deployable_path(deployment.deployable) + = link_to deployment.deployable.name, deployable_path(deployment.deployable) %td = deployment.owner.login %td = deployment.created_at %td - = link_to deployment.pool.name, resources_pool_path(deployment.pool) + = link_to deployment.pool.name, pool_path(deployment.pool) diff --git a/src/app/views/deployments/launch_new.haml b/src/app/views/deployments/launch_new.haml index 86cf47f..6edf475 100644 --- a/src/app/views/deployments/launch_new.haml +++ b/src/app/views/deployments/launch_new.haml @@ -1,6 +1,6 @@ %h2 Launch new deployment via -- form_tag new_resources_deployment_path, :method => :get do +- form_tag new_deployment_path, :method => :get do = label_tag "Deployable:" = select_tag :deployable_id, options_from_collection_for_select(@launchable_deployables, "id", "name") = submit_tag "Launch" - = link_to "Cancel", resources_deployments_path, :class => "button" + = link_to "Cancel", deployments_path, :class => "button" diff --git a/src/app/views/deployments/new.haml b/src/app/views/deployments/new.haml index 42e75fe..390840d 100644 --- a/src/app/views/deployments/new.haml +++ b/src/app/views/deployments/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'deployment' %h2 Launch deployable -- form_for @deployment, :url => resources_deployments_path do +- form_for @deployment, :url => deployments_path do = hidden_field :deployment, :deployable_id %ul %li diff --git a/src/app/views/hardware_profiles/_list.haml b/src/app/views/hardware_profiles/_list.haml index eee5ff1..339ec36 100644 --- a/src/app/views/hardware_profiles/_list.haml +++ b/src/app/views/hardware_profiles/_list.haml @@ -1,7 +1,7 @@ - form_tag do #object-actions - = link_to "New Hardware Profile", new_admin_hardware_profile_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_hardware_profiles_path, 'DELETE', :id => 'delete_button' + = link_to "New Hardware Profile", new_hardware_profile_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_hardware_profiles_path, 'DELETE', :id => 'delete_button' #selections %p Select: @@ -17,7 +17,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "hardware_profile_selected[]", :type => "checkbox", :value => hwp.id, :id => "hardware_profile_checkbox_#{hwp.id}", :checked => selected } - = link_to hwp.name, admin_hardware_profile_path(hwp) + = link_to hwp.name, hardware_profile_path(hwp) %td =hwp.architecture.to_s %td diff --git a/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml index 49c45e3..8384aa3 100644 --- a/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml +++ b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml @@ -8,9 +8,9 @@ %tr %td - if hwp.provider - = link_to hwp.provider.name, admin_provider_path(hwp.provider) + = link_to hwp.provider.name, provider_path(hwp.provider) %td - = link_to hwp.name, admin_hardware_profile_path(hwp) + = link_to hwp.name, hardware_profile_path(hwp) %td =hwp.architecture.to_s %td @@ -21,4 +21,4 @@ =hwp.cpu.to_s - else %h3 - No Matching Provider Hardware Profiles Could be found \ No newline at end of file + No Matching Provider Hardware Profiles Could be found diff --git a/src/app/views/hardware_profiles/_properties.haml b/src/app/views/hardware_profiles/_properties.haml index 0739b84..dd5a05b 100644 --- a/src/app/views/hardware_profiles/_properties.haml +++ b/src/app/views/hardware_profiles/_properties.haml @@ -1,6 +1,6 @@ %h3 = @hardware_profile.name + "(" + (@hardware_profile.provider_id.nil? ? "Front End" : "Provider" ) + ")" - = link_to 'Edit', edit_admin_hardware_profile_path(@hardware_profile), :class => 'button' + = link_to 'Edit', edit_hardware_profile_path(@hardware_profile), :class => 'button' %table = sortable_table_header @properties_header - @hwp_properties.each do |hwpp| diff --git a/src/app/views/hardware_profiles/edit.haml b/src/app/views/hardware_profiles/edit.haml index e32eebd..3fd0b73 100644 --- a/src/app/views/hardware_profiles/edit.haml +++ b/src/app/views/hardware_profiles/edit.haml @@ -1,7 +1,7 @@ - content_for :list do %h3 Edit Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| + -form_for @hardware_profile, :url => hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| = render :partial => "form", :locals => { :hwp_form => hwp_form } - content_for :details do = render :partial => 'layouts/details_pane' diff --git a/src/app/views/hardware_profiles/new.haml b/src/app/views/hardware_profiles/new.haml index 3355c87..e19fb46 100644 --- a/src/app/views/hardware_profiles/new.haml +++ b/src/app/views/hardware_profiles/new.haml @@ -1,7 +1,7 @@ - content_for :list do %h3 New Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profiles_path, :html => { :multipart => true } do |hwp_form| + -form_for @hardware_profile, :url => hardware_profiles_path, :html => { :multipart => true } do |hwp_form| = render :partial => "form", :locals => { :hwp_form => hwp_form } - content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/image_imports/new.haml b/src/app/views/image_imports/new.haml index cebc7a7..8c18021 100644 --- a/src/app/views/image_imports/new.haml +++ b/src/app/views/image_imports/new.haml @@ -1,8 +1,8 @@ -- form_tag :image_factory_image_imports do +- form_tag :image_imports do %fieldset.clear = label_tag :provider_account_id, "Provider Account ID: " = select_tag :provider_account_id, option_groups_from_collection_for_select(@providers,:provider_accounts, :name, :id,:name) %fieldset.clear = label_tag :ami_id, "Image ID: " = text_field_tag :ami_id, params[:ami_id] - = restful_submit_tag "Import", 'create', image_factory_image_imports_path, 'POST', :class => "submit" + = restful_submit_tag "Import", 'create', image_imports_path, 'POST', :class => "submit" diff --git a/src/app/views/instances/_list.haml b/src/app/views/instances/_list.haml index 7a6cbc4..2c6f9d7 100644 --- a/src/app/views/instances/_list.haml +++ b/src/app/views/instances/_list.haml @@ -1,7 +1,7 @@ - form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' - = restful_submit_tag 'Create', 'new', select_template_resources_instances_path, 'GET' - = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_resources_instances_path, 'GET' + = restful_submit_tag 'Stop', 'stop', multi_stop_instances_path, 'GET' + = restful_submit_tag 'Create', 'new', select_template_instances_path, 'GET' + = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_instances_path, 'GET'
%p Select: @@ -15,7 +15,7 @@ %td - selected = params[:select] == 'all' %input{:name => 'instance_selected[]', :type => 'checkbox', :value => inst.id, :id => "instance_checkbox_#{inst.id}", :checked => selected } - = link_to inst.name, resources_instance_path(inst) + = link_to inst.name, instance_path(inst) %td= inst.state %td= inst.template ? inst.template.name : "#{inst.assembly.name} (assembly)" %td= inst.public_addresses diff --git a/src/app/views/instances/_properties.haml b/src/app/views/instances/_properties.haml index 2d93dbf..cc5877d 100644 --- a/src/app/views/instances/_properties.haml +++ b/src/app/views/instances/_properties.haml @@ -52,7 +52,7 @@ - if @instance.instance_key %li = label_tag :instance_key, 'SSH key' - %span= link_to("Download", key_resources_instance_path(@instance)) + %span= link_to("Download", key_instance_path(@instance)) %li = label_tag :owner, 'Owner' %span= "#{@instance.owner.first_name} #{@instance.owner.last_name}" diff --git a/src/app/views/instances/new.haml b/src/app/views/instances/new.haml index 7839ba9..139d08d 100644 --- a/src/app/views/instances/new.haml +++ b/src/app/views/instances/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'instance' %h2 Launch instance -- form_for @instance, :url => resources_instances_path do +- form_for @instance, :url => instances_path do = hidden_field :instance, :template_id %ul %li diff --git a/src/app/views/instances/select_template.haml b/src/app/views/instances/select_template.haml index a2dfbeb..a0c9117 100644 --- a/src/app/views/instances/select_template.haml +++ b/src/app/views/instances/select_template.haml @@ -3,7 +3,7 @@ %ul - @templates.each do |tpl| %li - - form_tag new_resources_instance_path do + - form_tag new_instance_path do = hidden_field :instance, :template_id, :value => tpl.id - if tpl.platform != "unknown" = image_tag "platform_#{tpl.platform}.png", :size => "32x32", :alt => tpl.platform diff --git a/src/app/views/layouts/_header.haml b/src/app/views/layouts/_header.haml index f319082..d853ad2 100644 --- a/src/app/views/layouts/_header.haml +++ b/src/app/views/layouts/_header.haml @@ -12,7 +12,7 @@ = t(:configure)
%li.hello - - link_to edit_admin_user_path(@current_user) do + - link_to edit_user_path(@current_user) do = t(:hello) + " " %b = "#{@current_user.first_name} #{@current_user.last_name}" diff --git a/src/app/views/pool_families/_list.haml b/src/app/views/pool_families/_list.haml index 323b6b7..596dc2e 100644 --- a/src/app/views/pool_families/_list.haml +++ b/src/app/views/pool_families/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_pool_family_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_pool_families_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_pool_family_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_pool_families_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -16,7 +16,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "pool_family_selected[]", :type => "checkbox", :value => pool_family.id, :id => "pool_family_checkbox_#{pool_family.id}", :checked => selected } - = link_to pool_family.name, admin_pool_family_path(pool_family) + = link_to pool_family.name, pool_family_path(pool_family) %td = pool_family.quota.maximum_running_instances or 'unlimited' %td diff --git a/src/app/views/pool_families/_properties.haml b/src/app/views/pool_families/_properties.haml index 02d197e..4740ee4 100644 --- a/src/app/views/pool_families/_properties.haml +++ b/src/app/views/pool_families/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @pool_family.name -= link_to "Edit", edit_admin_pool_family_path(@pool_family), {:class => 'button'} += link_to "Edit", edit_pool_family_path(@pool_family), {:class => 'button'} diff --git a/src/app/views/pool_families/_provider_accounts.haml b/src/app/views/pool_families/_provider_accounts.haml index 358e3d2..4d22b9c 100644 --- a/src/app/views/pool_families/_provider_accounts.haml +++ b/src/app/views/pool_families/_provider_accounts.haml @@ -4,7 +4,7 @@
- unless @pool_family.provider_accounts.blank? - form_tag do - = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_admin_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' + = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' = #submit_tag "Remove selected"
%table#provider_accounts_table @@ -17,7 +17,7 @@ = provider_account.name
- unless @pool_family.provider_accounts.count == ProviderAccount.all.count - - form_for :pool_family, :url => add_provider_account_admin_pool_families_path(:id => @pool_family.id) do |f| + - form_for :pool_family, :url => add_provider_account_pool_families_path(:id => @pool_family.id) do |f| - unless @pool_family.provider_accounts.blank? = select_tag :provider_account_id, options_for_select(ProviderAccount.find(:all, :conditions => [ "id NOT IN (?)", @pool_family.provider_account_ids ]).collect{ |pa| [pa.name, pa.id] }) - else diff --git a/src/app/views/pool_families/edit.haml b/src/app/views/pool_families/edit.haml index 1c09438..30b2447 100644 --- a/src/app/views/pool_families/edit.haml +++ b/src/app/views/pool_families/edit.haml @@ -3,5 +3,5 @@ = @pool_family.name Pool Family
--form_for @pool_family, :url => admin_pool_family_path(@pool_family), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } +-form_for @pool_family, :url => pool_family_path(@pool_family), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/pool_families/new.haml b/src/app/views/pool_families/new.haml index 7dbac4c..8200805 100644 --- a/src/app/views/pool_families/new.haml +++ b/src/app/views/pool_families/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Pool family -- form_for @pool_family, :url => admin_pool_families_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_pool_families_path } +- form_for @pool_family, :url => pool_families_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => pool_families_path } diff --git a/src/app/views/pools/_instances.haml b/src/app/views/pools/_instances.haml index 260a9f8..44dcc1a 100644 --- a/src/app/views/pools/_instances.haml +++ b/src/app/views/pools/_instances.haml @@ -1,10 +1,10 @@ - form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' + = restful_submit_tag 'Stop', 'stop', multi_stop_instances_path, 'GET' Show only = hidden_field_tag 'details_tab', 'instances' = select '', 'state', Instance::STATES, { :include_blank => true, :selected => params[:state] } instances - = restful_submit_tag "Filter", 'show', resources_pool_path, 'GET', :id => 'filter_button' + = restful_submit_tag "Filter", 'show', pool_path, 'GET', :id => 'filter_button'
%table %thead @@ -17,12 +17,12 @@ %tr %td %input{:name => 'instance_selected[]', :type => 'checkbox', :value => instance.id, :id => "instance_checkbox_#{instance.id}" } - = link_to instance.name, resources_instance_path(instance) + = link_to instance.name, instance_path(instance) %td - = instance.assembly.present? ? link_to((instance.assembly.name), image_factory_assembly_path(instance.assembly)) : '—' + = instance.assembly.present? ? link_to((instance.assembly.name), assembly_path(instance.assembly)) : '—' %td - = instance.deployment.present? ? link_to((instance.deployment.name), resources_deployment_path(instance.deployment)) : '—' + = instance.deployment.present? ? link_to((instance.deployment.name), deployment_path(instance.deployment)) : '—' %td = instance.created_at.to_s %td - = instance.state \ No newline at end of file + = instance.state diff --git a/src/app/views/pools/_list.haml b/src/app/views/pools/_list.haml index c8083b7..ff02c26 100644 --- a/src/app/views/pools/_list.haml +++ b/src/app/views/pools/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Pool", new_resources_pool_path, { :class => 'button' } - = restful_submit_tag "Destroy", 'destroy', multi_destroy_resources_pools_path, 'DELETE', :id => 'delete_button' + = link_to "New Pool", new_pool_path, { :class => 'button' } + = restful_submit_tag "Destroy", 'destroy', multi_destroy_pools_path, 'DELETE', :id => 'delete_button' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "pools_selected[]", :type => "checkbox", :value => pool.id, :id => "pool_checkbox_#{pool.id}", :checked => selected } - = link_to pool.name, resources_pool_path(pool) + = link_to pool.name, pool_path(pool) %td = pool.quota.maximum_running_instances or 'unlimited' %td diff --git a/src/app/views/pools/_properties.haml b/src/app/views/pools/_properties.haml index 066a491..3e757f2 100644 --- a/src/app/views/pools/_properties.haml +++ b/src/app/views/pools/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @pool.name -= link_to "Edit", edit_resources_pool_path(@pool), { :class => 'button' } += link_to "Edit", edit_pool_path(@pool), { :class => 'button' } diff --git a/src/app/views/pools/new.haml b/src/app/views/pools/new.haml index 5c48c9e..09df69e 100644 --- a/src/app/views/pools/new.haml +++ b/src/app/views/pools/new.haml @@ -1,6 +1,6 @@ = error_messages_for :pool %h1 Create a new Pool -- form_for @pool, :url => resources_pools_path do |form| +- form_for @pool, :url => pools_path do |form| %fieldset = form.label :name, "Name:", :class => "grid_2 alpha" = form.text_field :name diff --git a/src/app/views/provider_accounts/_list.haml b/src/app/views/provider_accounts/_list.haml index b431f9b..45898ef 100644 --- a/src/app/views/provider_accounts/_list.haml +++ b/src/app/views/provider_accounts/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Account", new_admin_provider_account_path, :class => 'button' - = restful_submit_tag "Delete", "delete", multi_destroy_admin_provider_accounts_path, 'DELETE' + = link_to "New Account", new_provider_account_path, :class => 'button' + = restful_submit_tag "Delete", "delete", multi_destroy_provider_accounts_path, 'DELETE' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => 'accounts_selected[]', :type => 'checkbox', :value => account.id, :id => "account_checkbox_#{account.id}", :checked => selected } - = link_to account.name, admin_provider_account_path(account) + = link_to account.name, provider_account_path(account) %td =account.credentials_hash['username'] %td diff --git a/src/app/views/provider_accounts/_properties.haml b/src/app/views/provider_accounts/_properties.haml index 27789a1..e7d987d 100644 --- a/src/app/views/provider_accounts/_properties.haml +++ b/src/app/views/provider_accounts/_properties.haml @@ -9,5 +9,5 @@ %label Account ID: = @account.credentials_hash['account_number'] -= link_to "Edit", edit_admin_provider_account_path(@account), { :class => 'button' } -= link_to "Test", admin_provider_account_path(@account, {:test_account => true}), { :class => 'button' } += link_to "Edit", edit_provider_account_path(@account), { :class => 'button' } += link_to "Test", provider_account_path(@account, {:test_account => true}), { :class => 'button' } diff --git a/src/app/views/provider_accounts/_provider_selection.haml b/src/app/views/provider_accounts/_provider_selection.haml index 2095fde..eb8728f 100644 --- a/src/app/views/provider_accounts/_provider_selection.haml +++ b/src/app/views/provider_accounts/_provider_selection.haml @@ -1,7 +1,7 @@ %fieldset#provider_type.clear = label_tag "Provider: " = select(:provider_account, :provider_id, options_for_select(@providers.map{ |p| [p.name, p.id] }, :selected => @selected_provider.id)) - = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_admin_provider_accounts_path, 'GET', :class => 'button' + = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_provider_accounts_path, 'GET', :class => 'button' = label_tag "Cloud type: " = @selected_provider.provider_type.name - unless @selected_provider.provider_type.codename.nil? @@ -15,7 +15,7 @@ $("#provider_account_provider_id").change(function() { selected_provider = $("option:selected").attr('value'); - $.get("#{set_selected_provider_admin_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, + $.get("#{set_selected_provider_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, function(result) { $("#provider_type").html(result); } diff --git a/src/app/views/provider_accounts/edit.haml b/src/app/views/provider_accounts/edit.haml index 9da4d1c..8a63d1d 100644 --- a/src/app/views/provider_accounts/edit.haml +++ b/src/app/views/provider_accounts/edit.haml @@ -2,7 +2,7 @@ = error_messages_for :provider_account %h2 = t('provider_accounts.edit.edit_provider_account') - - form_tag(admin_provider_account_path, { :method => :put, :multipart => true }) do + - form_tag(provider_account_path, { :method => :put, :multipart => true }) do = render :partial => 'provider_selection' %fieldset.clearfix .grid_13.alpha.omega diff --git a/src/app/views/provider_accounts/new.haml b/src/app/views/provider_accounts/new.haml index f1a5e2a..65396f3 100644 --- a/src/app/views/provider_accounts/new.haml +++ b/src/app/views/provider_accounts/new.haml @@ -6,7 +6,7 @@ Provider %fieldset.clear - unless @providers.empty? - - form_for(@provider_account, :url => admin_provider_accounts_path, :html => {:multipart => true}) do |f| + - form_for(@provider_account, :url => provider_accounts_path, :html => {:multipart => true}) do |f| = render :partial => 'provider_selection' %fieldset.clearfix .grid_13.alpha.omega diff --git a/src/app/views/providers/_list.haml b/src/app/views/providers/_list.haml index 7de6e32..bef0b5f 100644 --- a/src/app/views/providers/_list.haml +++ b/src/app/views/providers/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_provider_url, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_providers_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_provider_url, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_providers_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -15,6 +15,6 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "provider_selected[]", :type => "checkbox", :value => provider.id, :id => "provider_checkbox_#{provider.id}", :checked => selected } - = link_to provider.name, admin_provider_path(provider) + = link_to provider.name, provider_path(provider) %td= provider.url %td= provider.provider_type.name diff --git a/src/app/views/providers/_properties.haml b/src/app/views/providers/_properties.haml index 044895a..cb44fae 100644 --- a/src/app/views/providers/_properties.haml +++ b/src/app/views/providers/_properties.haml @@ -1,5 +1,5 @@ %h3 Properties for = @provider.name -= link_to "Edit", edit_admin_provider_path(@provider), {:class => 'button'} -= link_to "Test", admin_provider_path(@provider, {:test_provider => true}), { :class => 'button' } += link_to "Edit", edit_provider_path(@provider), {:class => 'button'} += link_to "Test", provider_path(@provider, {:test_provider => true}), { :class => 'button' } diff --git a/src/app/views/providers/edit.haml b/src/app/views/providers/edit.haml index 66864e9..87c035f 100644 --- a/src/app/views/providers/edit.haml +++ b/src/app/views/providers/edit.haml @@ -3,5 +3,5 @@ = @provider.name Provider
--form_for @provider, :url => admin_provider_path(@provider), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } +-form_for @provider, :url => provider_path(@provider), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/providers/new.haml b/src/app/views/providers/new.haml index 516fdb3..2618f70 100644 --- a/src/app/views/providers/new.haml +++ b/src/app/views/providers/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Provider -- form_for @provider, :url => admin_providers_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_providers_path } +- form_for @provider, :url => providers_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/realm_mappings/new.haml b/src/app/views/realm_mappings/new.haml index 0861199..df30240 100644 --- a/src/app/views/realm_mappings/new.haml +++ b/src/app/views/realm_mappings/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'realm_target' %h2 Create a new Realm Mapping -- form_for @realm_target, :url => admin_realm_mappings_path do |f| +- form_for @realm_target, :url => realm_mappings_path do |f| = f.hidden_field :frontend_realm_id = f.hidden_field :realm_or_provider_type
diff --git a/src/app/views/realms/_list.haml b/src/app/views/realms/_list.haml index 367dc14..d9b9c2c 100644 --- a/src/app/views/realms/_list.haml +++ b/src/app/views/realms/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_realm_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realms_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_realm_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_realms_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -16,4 +16,4 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "id[]", :type => "checkbox", :value => realm.id, :id => "realm_id_#{realm.id}", :checked => selected } - = link_to realm.name, admin_realm_path(realm) + = link_to realm.name, realm_path(realm) diff --git a/src/app/views/realms/_mapping.haml b/src/app/views/realms/_mapping.haml index 66b278c..e20cff9 100644 --- a/src/app/views/realms/_mapping.haml +++ b/src/app/views/realms/_mapping.haml @@ -1,7 +1,7 @@ - form_tag do - = link_to "Add mapping to realm", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" - = link_to "Add mapping to provider", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button' + = link_to "Add mapping to realm", new_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" + = link_to "Add mapping to provider", new_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button'
- unless @backend_provider_targets.empty? %h2 Realm '#{@realm.name}' is mapped to providers: diff --git a/src/app/views/realms/_properties.haml b/src/app/views/realms/_properties.haml index 8d5b66d..18dd5fa 100644 --- a/src/app/views/realms/_properties.haml +++ b/src/app/views/realms/_properties.haml @@ -1,3 +1,3 @@ .grid_13 %h2 #{@realm.name} - = link_to t(:edit), edit_admin_realm_path(@realm), :class => 'button formbutton' + = link_to t(:edit), edit_realm_path(@realm), :class => 'button formbutton' diff --git a/src/app/views/realms/edit.haml b/src/app/views/realms/edit.haml index a0aa97f..4b1536e 100644 --- a/src/app/views/realms/edit.haml +++ b/src/app/views/realms/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Realm: #{@realm.name}
-- form_for @realm, :url => admin_realm_path(@realm), :html => { :method => :put } do |f| +- form_for @realm, :url => realm_path(@realm), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/realms/new.haml b/src/app/views/realms/new.haml index c95a306..f69a89e 100644 --- a/src/app/views/realms/new.haml +++ b/src/app/views/realms/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Realm -- form_for @realm, :url => admin_realms_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_realms_path } +- form_for @realm, :url => realms_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => realms_path } diff --git a/src/app/views/roles/_form.haml b/src/app/views/roles/_form.haml index fc10dd2..c20c8e1 100644 --- a/src/app/views/roles/_form.haml +++ b/src/app/views/roles/_form.haml @@ -5,4 +5,4 @@ %fieldset.clearfix = form.submit "Save", :class => "submit formbutton" = form.submit "Reset", :class => "submit formbutton" - = link_to t(:cancel), admin_roles_path, :class => 'button formbutton' + = link_to t(:cancel), roles_path, :class => 'button formbutton' diff --git a/src/app/views/roles/_list.haml b/src/app/views/roles/_list.haml index d825e2f..5b7b71f 100644 --- a/src/app/views/roles/_list.haml +++ b/src/app/views/roles/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Role", new_admin_role_path, :class => 'button' - = restful_submit_tag "Destroy", "destroy", multi_destroy_admin_roles_path, 'DELETE', :id => 'delete_button' + = link_to "New Role", new_role_path, :class => 'button' + = restful_submit_tag "Destroy", "destroy", multi_destroy_roles_path, 'DELETE', :id => 'delete_button' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "role_selected[]", :type => "checkbox", :value => role.id, :id => "role_checkbox_#{role.id}", :checked => selected } - = link_to role.name, admin_role_path(role) + = link_to role.name, role_path(role)
:javascript $(document).ready(function () { diff --git a/src/app/views/roles/_properties.haml b/src/app/views/roles/_properties.haml index bcb59f4..98b390f 100644 --- a/src/app/views/roles/_properties.haml +++ b/src/app/views/roles/_properties.haml @@ -20,4 +20,4 @@ = privilege.action %td = privilege.target_type - = link_to t(:edit), edit_admin_role_path(@role), :class => 'button formbutton' + = link_to t(:edit), edit_role_path(@role), :class => 'button formbutton' diff --git a/src/app/views/roles/edit.haml b/src/app/views/roles/edit.haml index 7aa428e..15e0f94 100644 --- a/src/app/views/roles/edit.haml +++ b/src/app/views/roles/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Role: #{@role.name}
-- form_for @role, :url => admin_role_path(@role), :html => { :method => :put } do |f| +- form_for @role, :url => role_path(@role), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/roles/new.haml b/src/app/views/roles/new.haml index 064e67d..f1e68cf 100644 --- a/src/app/views/roles/new.haml +++ b/src/app/views/roles/new.haml @@ -1,3 +1,3 @@ %h2 New Role -- form_for @role, :url => admin_roles_path do |f| +- form_for @role, :url => roles_path do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/settings/index.haml b/src/app/views/settings/index.haml index 8a68a65..0046793 100644 --- a/src/app/views/settings/index.haml +++ b/src/app/views/settings/index.haml @@ -13,14 +13,14 @@ = t('.permissions') %p = t('.permissions_desc') - = link_to t(:continue), self_service_admin_settings_path, :class => 'button' + = link_to t(:continue), self_service_settings_path, :class => 'button' %li#settings.grid_8 = image_tag "blnk.png", :class => "icon", :alt => "" %h2 = t('.general_settings') %p = t('.general_settings_desc') - = link_to t(:continue), general_settings_admin_settings_path, :class => 'button' + = link_to t(:continue), general_settings_settings_path, :class => 'button' %li#locales.grid_8.disabled.clear = image_tag "blnk.png", :class => "icon", :alt => "" %h2 diff --git a/src/app/views/templates/_addbuttons.haml b/src/app/views/templates/_addbuttons.haml index 9f88751..120f961 100644 --- a/src/app/views/templates/_addbuttons.haml +++ b/src/app/views/templates/_addbuttons.haml @@ -1,4 +1,4 @@ %fieldset.clear - - cancel_path = @tpl.id ? edit_image_factory_template_path(@tpl) : new_image_factory_template_path - = restful_submit_tag "Add Selected", "add_selected", add_selected_image_factory_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} + - cancel_path = @tpl.id ? edit_template_path(@tpl) : new_template_path + = restful_submit_tag "Add Selected", "add_selected", add_selected_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} = restful_submit_tag "Cancel", "cancel_add_software", cancel_path, 'GET', {:class => "grid_2", :id => "cancel_add_software"} diff --git a/src/app/views/templates/_builds.haml b/src/app/views/templates/_builds.haml index a6bdd4b..0431fbd 100644 --- a/src/app/views/templates/_builds.haml +++ b/src/app/views/templates/_builds.haml @@ -3,7 +3,7 @@ Builds for = @tpl.platform_version , template "#{@tpl.name}"
-- form_tag image_factory_builds_path do +- form_tag builds_path do = hidden_field_tag :template_id, @tpl.id - if @targets_not_built.count > 0 then - if @tpl.imported @@ -19,7 +19,7 @@ Builds for - else - @images.each do |img| %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do + - form_tag(retry_builds_path, { :method => :post }) do = "#{img.name}-#{img.template.architecture}: #{img.status}" = hidden_field_tag :template_id, @tpl.id = hidden_field_tag :image_id, img.id @@ -28,7 +28,7 @@ Builds for %ul - img.provider_images.each do |pimg| %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do + - form_tag(retry_builds_path, { :method => :post }) do = "#{pimg.provider.name}: #{pimg.status}" = hidden_field_tag :template_id, @tpl.id = hidden_field_tag :provider_image_id, pimg.id @@ -38,4 +38,4 @@ Builds for %li = "#{provider.name}: " not uploaded - = link_to 'upload', upload_image_factory_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} + = link_to 'upload', upload_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} diff --git a/src/app/views/templates/_form.haml b/src/app/views/templates/_form.haml index 7cc323c..d326b18 100644 --- a/src/app/views/templates/_form.haml +++ b/src/app/views/templates/_form.haml @@ -113,7 +113,7 @@
.clearfix .grid_16.alpha.omega - = restful_submit_tag "Add Software", 'collections', collections_image_factory_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"} + = restful_submit_tag "Add Software", 'collections', collections_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"}
#package_selection_list{:style => 'display: none'}
diff --git a/src/app/views/templates/_list.haml b/src/app/views/templates/_list.haml index bf8be82..947a066 100644 --- a/src/app/views/templates/_list.haml +++ b/src/app/views/templates/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_image_factory_template_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_templates_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_template_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_templates_path, 'DELETE', :id => 'delete_button'
%table#templates_table = sortable_table_header @header @@ -14,7 +14,7 @@ %td = check_box_tag 'selected[]', template.id, @url_params[:select] == 'all', :id => "selected_#{template.id}" = image_tag "blnk.png", :alt => template.platform, :class => "icon platform #{template.platform}" - = link_to template.name, image_factory_template_path(template) + = link_to template.name, template_path(template) %td= template.platform_name %td= template.platform_version %td= image_tag 'blnk.png', :alt => 'yes', :class => "icon yes" diff --git a/src/app/views/templates/_managed_content.haml b/src/app/views/templates/_managed_content.haml index ebea6cd..29f9fd3 100644 --- a/src/app/views/templates/_managed_content.haml +++ b/src/app/views/templates/_managed_content.haml @@ -10,7 +10,7 @@ .packagewrap %a.packagename{:id => "package_#{pkg}"}=pkg = hidden_field_tag 'packages[]', pkg, :id => "package_#{pkg}" - = restful_submit_tag "Remove", "remove_package", remove_package_image_factory_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} + = restful_submit_tag "Remove", "remove_package", remove_package_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} .dropdown / we don't display repository for now, it's pretty difficult with current design /%section diff --git a/src/app/views/templates/_metagroups.haml b/src/app/views/templates/_metagroups.haml index f23c408..b313e55 100644 --- a/src/app/views/templates/_metagroups.haml +++ b/src/app/views/templates/_metagroups.haml @@ -7,7 +7,7 @@
%ul.metagroups{:class => 'packagegroupsidebar grid_4 alpha'} %li - = restful_submit_tag 'Collections', 'collections', collections_image_factory_templates_path, 'GET', {:id => 'collections', :class => 'icon'} + = restful_submit_tag 'Collections', 'collections', collections_templates_path, 'GET', {:id => 'collections', :class => 'icon'} - @metagroups.keys.sort.each do |cat| %li - = restful_submit_tag cat, "metagroup_packages", metagroup_packages_image_factory_templates_path, 'GET', {:class => 'icon'} + = restful_submit_tag cat, "metagroup_packages", metagroup_packages_templates_path, 'GET', {:class => 'icon'} diff --git a/src/app/views/templates/_properties.haml b/src/app/views/templates/_properties.haml index 0fe33ae..d47a13a 100644 --- a/src/app/views/templates/_properties.haml +++ b/src/app/views/templates/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @tpl.name -= link_to "Edit", edit_image_factory_template_path(@tpl), { :class => 'button' } += link_to "Edit", edit_template_path(@tpl), { :class => 'button' } diff --git a/src/app/views/templates/edit.haml b/src/app/views/templates/edit.haml index a2a58ef..959ed7a 100644 --- a/src/app/views/templates/edit.haml +++ b/src/app/views/templates/edit.haml @@ -1,9 +1,9 @@ #dropdown .grid_16 %h2 Edit Template - /- form_for @tpl, :url => image_factory_template_path(@tpl), :html => { :method => :put } do |f| + /- form_for @tpl, :url => template_path(@tpl), :html => { :method => :put } do |f| - form_tag do = hidden_field_tag :id, @tpl.id = render :partial => 'form' - = restful_submit_tag "Save", 'update', image_factory_template_path(@tpl), 'PUT', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' + = restful_submit_tag "Save", 'update', template_path(@tpl), 'PUT', :class => "formbutton" + = link_to 'Cancel', templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/new.haml b/src/app/views/templates/new.haml index 2dbac5b..dcc6bfc 100644 --- a/src/app/views/templates/new.haml +++ b/src/app/views/templates/new.haml @@ -1,10 +1,10 @@ #dropdown .grid_16 %h2 New Template - /- form_for @tpl, :url => image_factory_templates_path do |f| + /- form_for @tpl, :url => templates_path do |f| - form_tag do = render :partial => 'form' = check_box_tag :create_deployable = label_tag :create_deployable, "Create Deployable for this template" - = restful_submit_tag "Save", 'create', image_factory_templates_path, 'POST', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' + = restful_submit_tag "Save", 'create', templates_path, 'POST', :class => "formbutton" + = link_to 'Cancel', templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/xml/_hardware_profile.xml.haml b/src/app/views/templates/xml/_hardware_profile.xml.haml index 6ac533e..c51691f 100644 --- a/src/app/views/templates/xml/_hardware_profile.xml.haml +++ b/src/app/views/templates/xml/_hardware_profile.xml.haml @@ -1,6 +1,6 @@ !!! XML -%hardware_profile{ :href => admin_hardware_profile_path(profile.id), :id => profile.external_key }<> +%hardware_profile{ :href => hardware_profile_path(profile.id), :id => profile.external_key }<> %name<> = profile.name - [profile.memory, profile.cpu, profile.architecture, profile.storage].each do |prop| - = render :partial => 'templates/xml/hardware_profile_property.xml', :locals => { :property => prop } \ No newline at end of file + = render :partial => 'templates/xml/hardware_profile_property.xml', :locals => { :property => prop } diff --git a/src/app/views/users/_list.haml b/src/app/views/users/_list.haml index 6a544ed..0204695 100644 --- a/src/app/views/users/_list.haml +++ b/src/app/views/users/_list.haml @@ -1,24 +1,24 @@ - form_tag do - = link_to "Create", new_admin_user_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_users_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_user_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_users_path, 'DELETE', :id => 'delete_button'
%table#users_table %thead %tr %th - %th= link_to "User ID", admin_users_url(:sort_by => "login") - %th= link_to "Last Name", admin_users_url(:sort_by => "last_name") - %th= link_to "First Name", admin_users_url(:sort_by => "first_name") - %th= link_to "% Quota Used", admin_users_url(:sort_by => "percentage_quota_used") + %th= link_to "User ID", users_url(:sort_by => "login") + %th= link_to "Last Name", users_url(:sort_by => "last_name") + %th= link_to "First Name", users_url(:sort_by => "first_name") + %th= link_to "% Quota Used", users_url(:sort_by => "percentage_quota_used") %th - =link_to "Quota", admin_users_url(:sort_by => "quota") + =link_to "Quota", users_url(:sort_by => "quota") %span (Instances) - %th= link_to "e-mail", admin_users_url(:sort_by => "email") + %th= link_to "e-mail", users_url(:sort_by => "email") -@users.each do |user| %tr %td %input{:name => "user_selected[]", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}" } - %td= link_to user.login, admin_user_path(user) + %td= link_to user.login, user_path(user) %td= user.last_name %td= user.first_name %td= sprintf("%.2f", user.quota.percentage_used) diff --git a/src/app/views/users/_properties.haml b/src/app/views/users/_properties.haml index 0842cb1..33799be 100644 --- a/src/app/views/users/_properties.haml +++ b/src/app/views/users/_properties.haml @@ -1,7 +1,7 @@ .grid_13 %h2 #{@user.first_name} #{@user.last_name} (#{@user.login})
- = link_to 'Edit', edit_admin_user_path(@user), :class => 'button' + = link_to 'Edit', edit_user_path(@user), :class => 'button'
%table %thead diff --git a/src/app/views/users/edit.haml b/src/app/views/users/edit.haml index 1290c4d..b3d0dc2 100644 --- a/src/app/views/users/edit.haml +++ b/src/app/views/users/edit.haml @@ -3,5 +3,5 @@ - else %h2 Editing Account
-- form_for @user, :url => admin_user_path(@user), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } +- form_for @user, :url => user_path(@user), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => users_path } diff --git a/src/app/views/users/new.haml b/src/app/views/users/new.haml index 0958f12..976f130 100644 --- a/src/app/views/users/new.haml +++ b/src/app/views/users/new.haml @@ -1,6 +1,6 @@ %h2 New Account -- form_for @user, :url => admin_users_path do |f| +- form_for @user, :url => users_path do |f| -if current_user - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } + = render :partial => "form", :locals => { :form => f, :cancel_path => users_path } -else = render :partial => "form", :locals => { :form => f, :cancel_path => login_path } diff --git a/src/classad_plugin/conductor_classad_plugin.cpp b/src/classad_plugin/conductor_classad_plugin.cpp index 5151d72..83d0a19 100644 --- a/src/classad_plugin/conductor_classad_plugin.cpp +++ b/src/classad_plugin/conductor_classad_plugin.cpp @@ -152,7 +152,7 @@ conductor_quota_check(const char *name, const ArgumentList &arglist, goto do_ret; }
- rest_call << "resources/instances/" << instance_id << "/can_start/" << account_id; + rest_call << "instances/" << instance_id << "/can_start/" << account_id;
// Call rest API to get answer on quota.. // FIXME: this should be configurable somehow, maybe passed via condor? diff --git a/src/config/navigation.rb b/src/config/navigation.rb index 074f905..2abd7d0 100644 --- a/src/config/navigation.rb +++ b/src/config/navigation.rb @@ -1,26 +1,26 @@ SimpleNavigation::Configuration.run do |navigation| navigation.autogenerate_item_ids = false navigation.items do |first_level| - first_level.item :resource_management, t(:resource_management), resources_pools_path, :highlights_on => /^/$/ do |second_level| - second_level.item :pools, t('pools.index.pools'), resources_pools_path - second_level.item :deployments, t(:deployments),resources_deployments_path, :highlights_on => /^/$|/deployments/ - second_level.item :instances, t(:instances), resources_instances_path + first_level.item :resource_management, t(:resource_management), pools_path, :highlights_on => /^/$/ do |second_level| + second_level.item :pools, t('pools.index.pools'), pools_path + second_level.item :deployments, t(:deployments),deployments_path, :highlights_on => /^/$|/deployments/ + second_level.item :instances, t(:instances), instances_path end - first_level.item :image_factory, t(:image_factory), image_factory_templates_path, :highlights_on => //image_factory/ do |second_level| - second_level.item :templates, t('templates.templates'), image_factory_templates_path - second_level.item :assemblies, t(:assemblies), image_factory_assemblies_path - second_level.item :deployables, t('deployables.index.deployables'), image_factory_deployables_path - second_level.item :image_imports, t(:image_imports), new_image_factory_image_import_path + first_level.item :image_factory, t(:image_factory), templates_path, :highlights_on => //image_factory/ do |second_level| + second_level.item :templates, t('templates.templates'), templates_path + second_level.item :assemblies, t(:assemblies), assemblies_path + second_level.item :deployables, t('deployables.index.deployables'), deployables_path + second_level.item :image_imports, t(:image_imports), new_image_import_path end - first_level.item :administration, t(:administration), admin_users_path, :highlights_on => //admin/ do |second_level| - second_level.item :users, t(:users), admin_users_path - second_level.item :roles, t(:roles), admin_roles_path - second_level.item :providers, t('providers.providers'), admin_providers_path - second_level.item :provider_accounts, t(:provider_accounts_item), admin_provider_accounts_path - second_level.item :hardware_profiles, t(:cloud_engine_hardware_profiles), admin_hardware_profiles_path - second_level.item :realms, t(:cloud_engine_realms), admin_realms_path - second_level.item :pool_families, t('pool_families.pool_families'), admin_pool_families_path - second_level.item :settings, t(:setting), admin_settings_path + first_level.item :administration, t(:administration), users_path, :highlights_on => //admin/ do |second_level| + second_level.item :users, t(:users), users_path + second_level.item :roles, t(:roles), roles_path + second_level.item :providers, t('providers.providers'), providers_path + second_level.item :provider_accounts, t(:provider_accounts_item), provider_accounts_path + second_level.item :hardware_profiles, t(:cloud_engine_hardware_profiles), hardware_profiles_path + second_level.item :realms, t(:cloud_engine_realms), realms_path + second_level.item :pool_families, t('pool_families.pool_families'), pool_families_path + second_level.item :settings, t(:setting), settings_path end first_level.item :dashboard, t(:dashboard), '#' end diff --git a/src/config/routes.rb b/src/config/routes.rb index ab23347..5d48373 100644 --- a/src/config/routes.rb +++ b/src/config/routes.rb @@ -32,47 +32,40 @@ ActionController::Routing::Routes.draw do |map| # You can have the root of your site routed by hooking up '' # -- just remember to delete public/index.html.
- map.namespace 'resources' do |r| - r.resources :pools, :collection => { :multi_destroy => :delete } - r.resources :deployments, :collection => { :multi_stop => :get, :launch_new => :get } - r.resources :instances, :collection => {:start => :get, :multi_stop => :get, :select_template => :get, :remove_failed => :get, :can_start => :get, :can_create => :get }, :member => {:key => :get} - end - - map.can_start_instance '/resources/instances/:instance_id/can_start/:provider_account_id', :controller => 'resources/instances', :action => 'can_start', :conditions => { :method => :get } - map.can_create_instance '/resources/instances/:instance_id/can_create/:provider_account_id', :controller => 'resources/instances', :action => 'can_create', :conditions => { :method => :get } - - map.namespace 'image_factory' do |r| - r.resources :assemblies - r.resources :image_imports - r.resources :deployables, :collection => { :multi_destroy => :delete }, :member => { :pick_assemblies => :get, :remove_assemblies => :delete, :add_assemblies => :put, :launch => :post } - r.resources :templates, :collection => {:collections => :get, :add_selected => :get, :metagroup_packages => :get, :remove_package => :get, :multi_destroy => :delete} - r.connect "/builds/update_status.:format", :controller => :builds, :action => :update_status - r.resources :builds, :collection => { :delete => :delete, :upload => :get, :retry => :post } - end - - map.namespace 'admin' do |r| - r.resources :hardware_profiles, :collection => { :multi_destroy => :delete } - r.resources :providers, :collection => { :multi_destroy => :delete } - r.resources :users, :collection => { :multi_destroy => :delete } - r.resources :provider_accounts, :collection => { :multi_destroy => :delete, :set_selected_provider => :get} - - r.resources :roles, :collection => { :multi_destroy => :delete } - r.resources :settings, :collection => { :self_service => :get, :general_settings => :get } - r.resources :pool_families, :collection => { :multi_destroy => :delete, :add_provider_account => :post, :multi_destroy_provider_accounts => :delete } - r.resources :realms, :collection => { :multi_destroy => :delete } - r.resources :realm_mappings, :collection => { :multi_destroy => :delete } - end - - map.matching_profiles '/admin/hardware_profiles/matching_profiles/:hardware_profile_id/provider/:provider_id', :controller => 'admin/hardware_profiles', :action => 'matching_profiles', :conditions => { :method => :get } + map.resources :pools, :collection => { :multi_destroy => :delete } + map.resources :deployments, :collection => { :multi_stop => :get, :launch_new => :get } + map.resources :instances, :collection => {:start => :get, :multi_stop => :get, :select_template => :get, :remove_failed => :get, :can_start => :get, :can_create => :get }, :member => {:key => :get} + + map.can_start_instance '/instances/:instance_id/can_start/:provider_account_id', :controller => 'instances', :action => 'can_start', :conditions => { :method => :get } + map.can_create_instance '/instances/:instance_id/can_create/:provider_account_id', :controller => 'instances', :action => 'can_create', :conditions => { :method => :get } + + map.resources :assemblies + map.resources :image_imports + map.resources :deployables, :collection => { :multi_destroy => :delete }, :member => { :pick_assemblies => :get, :remove_assemblies => :delete, :add_assemblies => :put, :launch => :post } + map.resources :templates, :collection => {:collections => :get, :add_selected => :get, :metagroup_packages => :get, :remove_package => :get, :multi_destroy => :delete} + map.connect "/builds/update_status.:format", :controller => :builds, :action => :update_status + map.resources :builds, :collection => { :delete => :delete, :upload => :get, :retry => :post } + + map.resources :hardware_profiles, :collection => { :multi_destroy => :delete } + map.resources :providers, :collection => { :multi_destroy => :delete } + map.resources :users, :collection => { :multi_destroy => :delete } + map.resources :provider_accounts, :collection => { :multi_destroy => :delete, :set_selected_provider => :get} + map.resources :roles, :collection => { :multi_destroy => :delete } + map.resources :settings, :collection => { :self_service => :get, :general_settings => :get } + map.resources :pool_families, :collection => { :multi_destroy => :delete, :add_provider_account => :post, :multi_destroy_provider_accounts => :delete } + map.resources :realms, :collection => { :multi_destroy => :delete } + map.resources :realm_mappings, :collection => { :multi_destroy => :delete } + + map.matching_profiles '/hardware_profiles/matching_profiles/:hardware_profile_id/provider/:provider_id', :controller => 'hardware_profiles', :action => 'matching_profiles', :conditions => { :method => :get }
map.login 'login', :controller => "user_sessions", :action => "new" map.logout 'logout', :controller => "user_sessions", :action => "destroy" map.resource :user_session - map.register 'register', :controller => 'admin/users', :action => 'new' - map.resource :account, :controller => "admin/users" + map.register 'register', :controller => 'users', :action => 'new' + map.resource :account, :controller => "users" map.resources :permissions, :collection => { :list => :get }
- map.root :controller => 'resources/deployments' + map.root :controller => 'deployments'
# Allow downloading Web Service WSDL as a file with an extension diff --git a/src/features/deployable.feature b/src/features/deployable.feature index 66cbef7..979ea72 100644 --- a/src/features/deployable.feature +++ b/src/features/deployable.feature @@ -11,48 +11,48 @@ Feature: Manage Deployables Scenario: List deployables Given I am on the homepage And there is a deployable named "MySQL cluster" - When I go to the image factory deployables page + When I go to the deployables page Then I should see "MySQL cluster"
Scenario: Create a new Deployable Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "App" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "App" And I should see "App"
Scenario: Edit a deployable Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "MySQL cluster" And I follow "Edit" - Then I should be on the edit image factory deployable page + Then I should be on the edit deployable page And I should see "Editing Deployable" When I fill in "deployable[name]" with "AppModified" And I press "Save" - Then I should be on AppModified's image factory deployable page + Then I should be on AppModified's deployable page And I should see "Deployable updated" And I should have a deployable named "AppModified" And I should see "AppModified"
Scenario: Delete a deployable Given there is a deployable named "App" - And I am on the image factory deployables page + And I am on the deployables page When I check the "App" deployable And I press "Delete" - Then I should be on the image factory deployables page + Then I should be on the deployables page And there should be no deployables
Scenario: Add an assembly to a deployable Given there is a deployable named "Webserver" Given there is an assembly named "Apache" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Webserver" And I follow "details_Assemblies" And I follow "Add Assembly..." @@ -65,7 +65,7 @@ Feature: Manage Deployables Scenario: Remove an assembly from a deployable Given there is a deployable named "Webserver" Given there is an assembly named "Apache" belonging to "Webserver" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Webserver" And I follow "details_Assemblies" Then I should see "Apache" @@ -77,7 +77,7 @@ Feature: Manage Deployables Scenario: Search for deployables Given there is a deployable named "first" And there is a deployable named "second" - And I am on the image factory deployables page + And I am on the deployables page Then I should see "first" And I should see "second" When I fill in "q" with "first" @@ -101,13 +101,13 @@ Feature: Manage Deployables
Scenario: Create and launch a deployment from a deployable Given there is a factory deployable named "test1" - And I am on the image factory deployables page + And I am on the deployables page And there is "mock_profile" conductor hardware profile And there is "mock_realm" frontend realm And there is "mock_pool" pool When I follow "test1" And I follow "Launch" - Then I should be on the new resources deployment page + Then I should be on the new deployment page When I fill in "deployment_name" with "depl1" And I select "mock_pool" from "deployment_pool_id" And I select "mock_realm" from "deployment_frontend_realm_id" diff --git a/src/features/deployable_permissions.feature b/src/features/deployable_permissions.feature index 9ca55e5..4550d57 100644 --- a/src/features/deployable_permissions.feature +++ b/src/features/deployable_permissions.feature @@ -9,53 +9,53 @@ Feature: Manage Deployables as a non-admin Scenario: List deployables as a new user Given I am on the homepage And there is a deployable named "MySQL cluster" - When I go to the image factory deployables page + When I go to the deployables page Then I should see "MySQL cluster"
Scenario: View an existing deployable as a new user Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "MySQL cluster" Then I should see "Edit"
@allow-rescue Scenario: Try to edit an existing deployable as a new user Given there is a deployable named "Apache Webserver" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Apache Webserver" And I follow "Edit" Then I should see "You have insufficient privileges to perform action."
Scenario: Edit a deployable I created - Given I am on the image factory deployables page + Given I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "Mahout Server" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "Mahout Server" And I should see "Mahout Server" When I follow "Mahout Server" And I follow "Edit" - Then I should be on the edit image factory deployable page + Then I should be on the edit deployable page And I should see "Editing Deployable" When I fill in "deployable[name]" with "MahoutModified" And I press "Save" - Then I should be on MahoutModified's image factory deployable page + Then I should be on MahoutModified's deployable page And I should see "Deployable updated" And I should have a deployable named "MahoutModified" And I should see "MahoutModified"
Scenario: Create a deployable as a new user - And I am on the image factory deployables page + And I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "Solr Server" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "Solr Server" And I should see "Solr Server" @@ -64,7 +64,7 @@ Feature: Manage Deployables as a non-admin Scenario: Try to remove an existing assembly as a new user Given there is a deployable named "Mailserver Cluster" Given there is an assembly named "Postfix Node" belonging to "Mailserver Cluster" - And I am on the image factory deployables page + And I am on the deployables page Then I should see "Mailserver Cluster" When I follow "Mailserver Cluster" And I follow "details_Assemblies" diff --git a/src/features/deployment.feature b/src/features/deployment.feature index 4b26097..37d58bf 100644 --- a/src/features/deployment.feature +++ b/src/features/deployment.feature @@ -10,7 +10,7 @@ Feature: Manage Deployments Scenario: List deployments Given I am on the homepage And there is a deployment named "MySQL Cluster" belonging to "Databases" owned by "bob" - When I go to the resources deployments page + When I go to the deployments page Then I should see "MySQL Cluster" And I should see "bob"
@@ -20,7 +20,7 @@ Feature: Manage Deployments And there is a "testtemplate" template And there is an assembly named "testassembly" belonging to "testdeployable" And there is an assembly named "testassembly" belonging to "testtemplate" template - When I go to the resources deployments page + When I go to the deployments page And I press "Launch new" Then I should see "Launch new deployment via" When I select "testdeployable" from "deployable_id" @@ -29,7 +29,7 @@ Feature: Manage Deployments
Scenario: Stop deployments Given there is a deployment named "testdeployment" belonging to "testdeployable" owned by "testuser" - When I go to the resources deployments page + When I go to the deployments page Then I should see "testdeployment" When I check "testdeployment" deployment And I press "Stop" diff --git a/src/features/image_import.feature b/src/features/image_import.feature index 56302cf..a5e9d58 100644 --- a/src/features/image_import.feature +++ b/src/features/image_import.feature @@ -10,8 +10,8 @@ Feature: Import Images And there is a provider named "testprovider" And there is a provider account named "provider1" And There is a mock pulp repository - When I go to the new image factory image import page - Then I should be on the new image factory image import page + When I go to the new image import page + Then I should be on the new image import page
Scenario: Import a new image @@ -19,18 +19,18 @@ Feature: Import Images And I fill in "ami_id" with "img1" Given I press "Import" Then I should see "Image successfully imported" - And I should be on the image factory templates page + And I should be on the templates page
Scenario: Import an already imported image When I select "provider1" from "provider_account_id" And I fill in "ami_id" with "img1" Given I press "Import" - When I go to the new image factory image import page + When I go to the new image import page When I select "provider1" from "provider_account_id" And I fill in "ami_id" with "img1" And I press "Import" Then I should see "Image 'img1' is already imported" - And I should be on the image factory image imports page + And I should be on the image imports page
Scenario: Import a non-existent image When I select "provider1" from "provider_account_id" diff --git a/src/features/pool.feature b/src/features/pool.feature index b4523e2..534e69c 100644 --- a/src/features/pool.feature +++ b/src/features/pool.feature @@ -11,13 +11,13 @@ Feature: Manage Pools Given I am on the pools page And there is not a pool named "mockpool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "mockpool" And I select "default" from "pool_pool_family_id" And I fill in "quota_instances" with "unlimited" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should see "default" @@ -31,7 +31,7 @@ Feature: Manage Pools | resource | capacity | | maximum_running_instances | 10 | | running_instances | 8 | - And I am on the resources pools page + And I am on the pools page When I follow "mockpool" Then I should be on the show pool page When I follow "Quota" @@ -39,7 +39,7 @@ Feature: Manage Pools | mockpool | 10 | 80.0 |
Scenario: Enter invalid characters into Name field - Given I am on the new resources pool page + Given I am on the new pool page When I fill in "pool[name]" with "@%&*())_@!#!" And I press "Save" Then I should see "Name must only contain: numbers, letters, spaces, '_' and '-'" @@ -48,14 +48,14 @@ Feature: Manage Pools Given I am on the pools page And a pool "Amazon Startrek Pool" exists And a pool "Redhat Voyager Pool" exists - And I am on the resources pools page + And I am on the pools page And there are 3 pools When I check "Redhat Voyager Pool" pool And I check "Amazon Startrek Pool" pool And I press "Destroy" Then there should only be 1 pools - And I should be on the resources pools page - When I go to the resources pools page + And I should be on the pools page + When I go to the pools page Then I should not see "Redhat Voyager Pool" And I should not see "Amazon Startrek Pool"
@@ -64,22 +64,22 @@ Feature: Manage Pools And there is not a pool named "mockpool" And there is not a pool named "foopool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "mockpool" And I select "default" from "pool_pool_family_id" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should have a pool named "mockpool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "foopool" And I select "default" from "pool_pool_family_id" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should see "foopool" diff --git a/src/features/pool_family.feature b/src/features/pool_family.feature index 3ca5cfb..506ceab 100644 --- a/src/features/pool_family.feature +++ b/src/features/pool_family.feature @@ -14,7 +14,7 @@ Feature: Pool Families | pool_family1 | | pool_family2 | | pool_family3 | - When I go to the admin pool families page + When I go to the pool families page Then I should see the following: | pool_family1 | | pool_family2 | @@ -22,32 +22,32 @@ Feature: Pool Families
Scenario: Show pool family details Given there is a pool family named "testpoolfamily" - And I am on the admin pool families page + And I am on the pool families page When I follow "testpoolfamily" Then I should see "Name"
Scenario: Create a new Pool family - Given I am on the admin pool families page + Given I am on the pool families page And there is not a pool family named "testpoolfamily" When I follow "Create" - Then I should be on the new admin pool family page + Then I should be on the new pool family page When I fill in "pool_family[name]" with "testpoolfamily" When I fill in "pool_family[quota_attributes][maximum_running_instances]" with "2" And I press "Save" - Then I should be on the admin pool families page + Then I should be on the pool families page And I should see "Pool family was added." And I should have a pool family named "testpoolfamily"
Scenario: Delete a pool family Given I am on the homepage And there is a pool family named "poolfamily1" - When I go to the admin pool families page + When I go to the pool families page And I check "poolfamily1" pool family And I press "Delete" Then there should not exist a pool family named "poolfamily1"
Scenario: Disallow deletion of default pool family - Given I am on the admin pool families page + Given I am on the pool families page Then I should see "default" When I check "default" pool family And I press "Delete" @@ -60,7 +60,7 @@ Feature: Pool Families | first_family | | second_family | | third_family | - Given I am on the admin pool families page + Given I am on the pool families page Then I should see "first_family" And I should see "second_family" And I should see "third_family" diff --git a/src/features/provider.feature b/src/features/provider.feature index e7b186f..29bf918 100644 --- a/src/features/provider.feature +++ b/src/features/provider.feature @@ -15,7 +15,7 @@ Feature: Manage Providers | provider1 | | provider2 | | provider3 | - When I go to the admin providers page + When I go to the providers page Then I should see the following: | provider1 | | provider2 | @@ -23,34 +23,34 @@ Feature: Manage Providers
Scenario: Show provider details Given there is a provider named "testprovider" - And I am on the admin providers page + And I am on the providers page When I follow "testprovider" Then I should see "Provider name" And I should see "Provider URL"
Scenario: Create a new Provider - Given I am on the admin providers page + Given I am on the providers page And there is not a provider named "testprovider" When I follow "Create" - Then I should be on the new admin provider page + Then I should be on the new provider page When I fill in "provider[name]" with "testprovider" And I fill in "provider[url]" with "http://localhost:3001/api" And I select "Amazon EC2" from "provider_provider_type_id" And I press "Save" - Then I should be on the admin providers page + Then I should be on the providers page And I should see "Provider added" And I should have a provider named "testprovider"
Scenario: Create a new Provider failure when using wrong url - Given I am on the admin providers page + Given I am on the providers page And there is not a provider named "testprovider" When I follow "Create" - Then I should be on the new admin provider page + Then I should be on the new provider page When I fill in "provider[name]" with "testprovider" And I fill in "provider[url]" with "http://localhost:3010/api" And I select "Amazon EC2" from "provider_provider_type_id" And I press "Save" - Then I should be on the admin providers page + Then I should be on the providers page And I should see "Failed to connect to Provider"
Scenario: Delete a provider @@ -60,7 +60,7 @@ Feature: Manage Providers And this provider has 5 hardware profiles And this provider has a realm And this provider has a provider account - When I go to the admin providers page + When I go to the providers page And I check "provider1" provider And I press "Delete" And there should not exist a provider named "provider1" @@ -75,7 +75,7 @@ Feature: Manage Providers | Test | http://testprovider.com/api | | Kenny | http://mockprovider.com/api | | Other | http://sometesturl.com/api | - And I am on the admin providers page + And I am on the providers page Then I should see the following: | Test | http://testprovider.com/api | | Kenny | http://mockprovider.com/ap | diff --git a/src/features/provider_account.feature b/src/features/provider_account.feature index 6a06d32..3e6c8c9 100644 --- a/src/features/provider_account.feature +++ b/src/features/provider_account.feature @@ -11,16 +11,16 @@ Feature: Manage Provider Accounts Scenario: List provider accounts Given I am on the homepage And there is a provider named "testprovider" - When I go to the admin provider accounts page + When I go to the provider accounts page Then I should see "New Account" And there should be no provider accounts
Scenario: Create a new Provider Account Given there is a provider named "testprovider" And there are no provider accounts - And I am on the admin provider accounts page + And I am on the provider accounts page When I follow "New Account" - Then I should be on the new admin provider account page + Then I should be on the new provider account page And I should see "New Account" When I select "testprovider" from "provider_account_provider_id" And I fill in "provider_account[label]" with "testaccount" @@ -37,9 +37,9 @@ Feature: Manage Provider Accounts Scenario: Create a new Provider Account using wrong credentials Given there is a provider named "testprovider" And there are no provider accounts - And I am on the admin provider accounts page + And I am on the provider accounts page When I follow "New Account" - Then I should be on the new admin provider account page + Then I should be on the new provider account page And I should see "New Account" When I select "testprovider" from "provider_account_provider_id" And I fill in "provider_account[label]" with "testaccount" @@ -53,16 +53,16 @@ Feature: Manage Provider Accounts Given there is a provider named "testprovider" And there is a provider account named "testaccount" And the account has an instance associated with it - And I am on the admin provider accounts page + And I am on the provider accounts page When I check the "testaccount" account And I press "Delete" - Then I should be on the admin provider accounts page + Then I should be on the provider accounts page And I should see "was not deleted" And there should be 1 provider account When I delete all instances from the account And I check the "testaccount" account And I press "Delete" - Then I should be on the admin provider accounts page + Then I should be on the provider accounts page And I should see "was deleted" And there should be no provider accounts
@@ -70,7 +70,7 @@ Feature: Manage Provider Accounts Given there is a provider named "testprovider" And there is a provider account named "testaccount" And there is a second provider account named "otheraccount" - And I am on the admin provider accounts page + And I am on the provider accounts page When I fill in "q" with "test" And I press "Search" Then I should see the following: diff --git a/src/features/realm.feature b/src/features/realm.feature index 0cb2b85..c5e81d2 100644 --- a/src/features/realm.feature +++ b/src/features/realm.feature @@ -10,7 +10,7 @@ Feature: Manage Realms And a realm "testrealm1" exists
Scenario: Create new frontend realm - Given I am on the admin realms page + Given I am on the realms page When I follow "Create" Then I should see "Create a new Realm" When I fill in "frontend_realm[name]" with "testrealm2" @@ -18,7 +18,7 @@ Feature: Manage Realms Then I should see "Realm was added."
Scenario: Add realm mapping - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" And a provider "provider1" exists When I follow "testrealm1" @@ -29,7 +29,7 @@ Feature: Manage Realms Then I should see "Realm mapping was added."
Scenario: Change the name - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" When I follow "testrealm1" And I follow "Edit" @@ -40,30 +40,30 @@ Feature: Manage Realms
Scenario: Show realm detials Given a realm "testrealm2" exists - And I am on the admin realms page + And I am on the realms page When I follow "testrealm2" Then I should be on testrealm2's realm page
Scenario: Delete realms Given a realm "testrealm2" exists - And I am on the admin realms page + And I am on the realms page And there are 2 realms When I check "testrealm2" realm And I check "testrealm1" realm And I press "Delete" Then there should be only 0 realms - And I should be on the admin realms page + And I should be on the realms page And I should not see "testrealm1" And I should not see "testrealm2"
Scenario: Delete realm without selecting one - Given I am on the admin realms page + Given I am on the realms page When I press "Delete" - Then I should be on the admin realms page + Then I should be on the realms page And I should see "You must select at least one realm to delete."
Scenario: Delete realm mapping without selecting one - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" When I follow "testrealm1" And I follow "Mapping" diff --git a/src/features/role.feature b/src/features/role.feature index dbfb22b..ab24323 100644 --- a/src/features/role.feature +++ b/src/features/role.feature @@ -10,7 +10,7 @@ Feature: Manage Roles And a role "Captain" exists
Scenario: Change the name - Given I am on the admin roles page + Given I am on the roles page And there should be a role named "Captain" When I follow "Captain" And I follow "Edit" @@ -21,31 +21,31 @@ Feature: Manage Roles
Scenario: Show role details Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page When I follow "Admiral" Then I should be on Admiral's role page
Scenario: Show default role privileges - Given I am on the admin roles page + Given I am on the roles page And there should be a role named "Administrator" When I follow "Administrator" Then I should be on Administrator's role page
Scenario: Delete roles Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page And there are 2 more roles When I check "Admiral" role And I check "Captain" role And I press "Destroy" Then there should be 0 more roles - And I should be on the admin roles page + And I should be on the roles page And I should not see "Captain" And I should not see "Admiral"
Scenario: Search roles Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page And there are 2 more roles When I fill in "q" with "admi" And I press "Search" diff --git a/src/features/settings.feature b/src/features/settings.feature index 3da9589..99505d0 100644 --- a/src/features/settings.feature +++ b/src/features/settings.feature @@ -9,7 +9,7 @@ Feature: Manage System wide Settings
Scenario: Change the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "8" And I press "Save" Then I should see "Settings Updated!" @@ -18,7 +18,7 @@ Feature: Manage System wide Settings
Scenario: Invalid decimal entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "1.5" And I press "Save" Then I should see "Could not update the default quota" @@ -27,7 +27,7 @@ Feature: Manage System wide Settings
Scenario: Invalid chars entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "abc" And I press "Save" Then I should see "Could not update the default quota" @@ -36,7 +36,7 @@ Feature: Manage System wide Settings
Scenario: Invalid special chars entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "^&(*_!" And I press "Save" Then I should see "Could not update the default quota" diff --git a/src/features/step_definitions/api_steps.rb b/src/features/step_definitions/api_steps.rb index 96521d1..c722b60 100644 --- a/src/features/step_definitions/api_steps.rb +++ b/src/features/step_definitions/api_steps.rb @@ -10,7 +10,7 @@ end When /^a client requests matching hardware profile for "([^"]*)"$/ do |name| hardware_profile = HardwareProfile.find_by_name(name) provider = HardwareProfile.find_by_name("m1-medium").provider - uri = url_for :action => 'matching_profiles', :controller => 'admin/hardware_profiles', :hardware_profile_id => hardware_profile.id, :provider_id => provider.id + uri = url_for :action => 'matching_profiles', :controller => 'hardware_profiles', :hardware_profile_id => hardware_profile.id, :provider_id => provider.id send_xml_get(uri) end
@@ -40,7 +40,7 @@ end When /^a client requests "([^"]*)" for instance "([^"]*)" for provider account "([^"]*)"$/ do |action, instance, provider_account| instance = Instance.find_by_name(instance) provider_account = ProviderAccount.find_by_label(provider_account) - uri = url_for :action => action, :controller => 'resources/instances', :instance_id => instance.id, :provider_account_id => provider_account.id + uri = url_for :action => action, :controller => 'instances', :instance_id => instance.id, :provider_account_id => provider_account.id send_xml_get(uri) end
diff --git a/src/features/step_definitions/instance_steps.rb b/src/features/step_definitions/instance_steps.rb index b7daa18..c4ceb0c 100644 --- a/src/features/step_definitions/instance_steps.rb +++ b/src/features/step_definitions/instance_steps.rb @@ -15,15 +15,15 @@ Given /^a mock pending instance exists$/ do end
Given /^I am viewing the mock instance detail$/ do - visit resources_instance_url(mock_instance) + visit instance_url(mock_instance) end
When /^I am viewing the pending instance detail$/ do - visit resources_instance_url(pending_instance) + visit instance_url(pending_instance) end
When /^I manually go to the key action for this instance$/ do - visit key_resources_instance_url(pending_instance) + visit key_instance_url(pending_instance) end
Given /^I see "([^"]*)"$/ do |text| diff --git a/src/features/step_definitions/template_steps.rb b/src/features/step_definitions/template_steps.rb index d888ba7..db07c6a 100644 --- a/src/features/step_definitions/template_steps.rb +++ b/src/features/step_definitions/template_steps.rb @@ -121,7 +121,7 @@ Given /^has package "([^"]*)"$/ do |arg1| end
When /^I edit the template$/ do - visit edit_image_factory_template_url(@template) + visit edit_template_url(@template) end
When /^(?:|I )check "([^"]*)" template$/ do |template_name| diff --git a/src/features/support/paths.rb b/src/features/support/paths.rb index 04c589a..a538eba 100644 --- a/src/features/support/paths.rb +++ b/src/features/support/paths.rb @@ -18,13 +18,13 @@ module NavigationHelpers login_path
when /^(.*)'s user page$/i - admin_user_path(User.find_by_login($1)) + user_path(User.find_by_login($1))
when /^(.*)'s role page$/i - admin_role_path(Role.find_by_name($1)) + role_path(Role.find_by_name($1))
when /^(.*)'s realm page$/i - admin_realm_path(FrontendRealm.find_by_name($1)) + realm_path(FrontendRealm.find_by_name($1))
when /the account page/ account_path @@ -48,25 +48,25 @@ module NavigationHelpers settings_path
when /the pools page/ - resources_pools_path + pools_path
when /the new pool page/ new_pool_path
when /the show pool page/ - resources_pool_path + pool_path
when /the pool realms page/ pool_realms_path
when /the deployments page/ - resources_deployments_path + deployments_path
when /the instances page/ - resources_instances_path + instances_path
when /the new instance page/ - new_resources_instance_path + new_instance_path
when /the pool hardware profiles page/ hardware_profiles_pool_path @@ -84,10 +84,10 @@ module NavigationHelpers url_for new_build_path
when /the template builds page/ - url_for image_factory_template_path(@template, :details_tab => 'builds') + url_for template_path(@template, :details_tab => 'builds')
when /the pool family provider accounts page/ - url_for admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + url_for pool_family_path(@pool_family, :details_tab => 'provider_accounts')
when /the templates page/ templates_path @@ -102,22 +102,22 @@ module NavigationHelpers url_for :action => 'update', :controller => 'settings', :only_path => true
when /the hardware profiles page/ - url_for admin_hardware_profiles_path + url_for hardware_profiles_path
when /the new hardware profile page/ - url_for new_admin_hardware_profile_path + url_for new_hardware_profile_path
when /the edit hardware profiles page/ url_for :action => 'edit', :controller => 'hardware_profiles', :only_path => true
when /^(.*)'s provider account page$/ - admin_provider_account_path(ProviderAccount.find_by_label($1)) + provider_account_path(ProviderAccount.find_by_label($1))
when /the deployable deployments page/ - image_factory_deployable_path(@deployable, :details_tab => 'deployments') + deployable_path(@deployable, :details_tab => 'deployments')
- when /^(.*)'s image factory deployable page$/ - image_factory_deployable_path(Deployable.find_by_name($1)) + when /^(.*)'s deployable page$/ + deployable_path(Deployable.find_by_name($1))
# Add more mappings here. # Here is an example that pulls values out of the Regexp: diff --git a/src/features/template.feature b/src/features/template.feature index fa6b56d..90c1ed5 100644 --- a/src/features/template.feature +++ b/src/features/template.feature @@ -9,20 +9,20 @@ Feature: Manage Templates And There is a mock pulp repository
Scenario: Create a new Template - Given I am on the image factory templates page + Given I am on the templates page When I follow "Create" - Then I should be on the new image factory template page + Then I should be on the new template page When I fill in the following: | tpl_name | mocktemplate | | tpl_platform | fedora13 | | tpl_summary | mockdesc | When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template saved" And I should see "mocktemplate"
Scenario: Add a package to a new template - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" When I press "admin-tools" Then I should see "System Tools" @@ -33,7 +33,7 @@ Feature: Manage Templates And I should see "libdeltacloud"
Scenario: Add a searched package to a new template - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" And I fill in "package_search" with "libdeltacloud" And I press "package_search_button" @@ -44,9 +44,9 @@ Feature: Manage Templates And I should see "libdeltacloud"
Scenario: Add group and remove package to/from the template - Given I am on the image factory templates page + Given I am on the templates page When I follow "Create" - Then I should be on the new image factory template page + Then I should be on the new template page When I fill in the following: | tpl_name | mocktemplate | And I press "Add Software" @@ -61,7 +61,7 @@ Feature: Manage Templates Then I should see "Managed Content to Bundle" And the page should not contain "#package_libdeltacloud" selector When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template saved" And I should see "mocktemplate"
@@ -77,7 +77,7 @@ Feature: Manage Templates Then I should see "Managed Content to Bundle" And the page should contain "#package_libdeltacloud" selector When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template updated" When I edit the template Then the page should contain "#package_libdeltacloud" selector @@ -85,7 +85,7 @@ Feature: Manage Templates Scenario: Sorting templates Given there is a "mock1" template And there is a "mock2" template - And I am on the image factory templates page + And I am on the templates page When I follow "Name" within "#templates_table" Then I should see "mock1" followed by "mock2" When I follow "Name" within "#templates_table" @@ -101,14 +101,14 @@ Feature: Manage Templates Then I should see "mock2" followed by "mock1"
Scenario: Search software with empty string - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" And I fill in "package_search" with "" And I press "package_search_button" Then I should see "Search string is empty"
Scenario: Show software selection - Given I am on the new image factory template page + Given I am on the new template page And I press "Add Software" Then I should see an input "Collections" # test that we see a metagroup @@ -119,7 +119,7 @@ Feature: Manage Templates Scenario: See upload status Given there is a "mock1" template And there is Amazon AWS build and push for this template - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "amazon-ec2: complete" @@ -127,21 +127,21 @@ Feature: Manage Templates Scenario: Build template Given there is a "mock1" template And there is Amazon AWS provider account - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "Builds for" When I select "Amazon EC2" from "target" And I press "Go" - Then I should be on the image factory template page + Then I should be on the template page And I should see "mock1"
Scenario: Upload image Given there is a "mock1" template - And I am on the image factory templates page + And I am on the templates page And there is Amazon AWS build for this template And there is Amazon AWS provider - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "amazon-ec2: not uploaded upload" @@ -153,7 +153,7 @@ Feature: Manage Templates Scenario: Build imported template Given there is an imported template And there is Amazon AWS provider account - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "Build imported template is not supported" @@ -164,7 +164,7 @@ Feature: Manage Templates | Test1 | fedora13 | 13 | x86_64 | Test Template Fedora 13 64 bit Description | | Mock | fedora14 | 14 | i386 | Test Template Fedora 14 Description | | Other | fedora14 | 10.04 | i386 | Test Template Ubuntu 10.04 32 bit Description | - And I am on the image factory templates page + And I am on the templates page Then I should see the following: | NAME | OS | VERSION | ARCH | | Test1 | Fedora | 13 | x86_64 | @@ -207,22 +207,22 @@ Feature: Manage Templates | Test1 | fedora13 | 13 | x86_64 | Test Template Fedora 13 64 bit Description | | Mock | fedora13 | 14 | i386 | Test Template Fedora 14 Description | | Other | fedora13 | 10.04 | i386 | Test Template Ubuntu 10.04 32 bit Description | - And I am on the image factory templates page + And I am on the templates page When I check "Test1" template And I check "Mock" template And I press "Delete" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Other"
Scenario: Create Assembly and Deployable - Given I am on the new image factory template page + Given I am on the new template page When I fill in the following: | tpl_name | mocktemplate | | tpl_platform | fedora13 | | tpl_summary | mockdesc | And I check "create_deployable" And I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "mocktemplate" - When I go to the image factory deployables page + When I go to the deployables page And I should see "mocktemplate" diff --git a/src/features/user.feature b/src/features/user.feature index b073436..0d90dbe 100644 --- a/src/features/user.feature +++ b/src/features/user.feature @@ -9,7 +9,7 @@ Feature: Manage Users And a user "testuser" exists
Scenario: Change the password - Given I am on the admin users page + Given I am on the users page And there is a user "testuser" When I follow "testuser" And I follow "Edit" @@ -28,29 +28,29 @@ Feature: Manage Users Then I should see "User updated!"
Scenario: Show user detials - Given I am on the admin users page + Given I am on the users page And there is a user "testuser" When I follow "testuser" Then I should be on testuser's user page
Scenario: Administrator cancels the creation of a user account - Given I am on the admin users page + Given I am on the users page And there are 2 users When I follow "create" - Then I should be on the new admin user page + Then I should be on the new user page When I follow "cancel" Then there should be 2 users - And I should be on the admin users page + And I should be on the users page
Scenario: Delete users Given there is a user "testuser" - And I am on the admin users page + And I am on the users page Then there should be 2 users When I check "admin" user And I press "Delete" Then I should see "Cannot delete admin" And there should be 2 users - And I should be on the admin users page + And I should be on the users page When I check "testuser" user And I press "Delete" Then I should see "Deleted user" @@ -59,7 +59,7 @@ Feature: Manage Users Scenario: Search for hardware profiles Given there is a user "myuser" And there is a user "someuser" - And I am on the admin users page + And I am on the users page Then I should see "myuser" And I should see "someuser" When I fill in "q" with "some" diff --git a/src/spec/controllers/builds_controller_spec.rb b/src/spec/controllers/builds_controller_spec.rb index 17fac9c..3d0debf 100644 --- a/src/spec/controllers/builds_controller_spec.rb +++ b/src/spec/controllers/builds_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe ImageFactory::BuildsController do +describe BuildsController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission diff --git a/src/spec/controllers/hardware_profiles_controller_spec.rb b/src/spec/controllers/hardware_profiles_controller_spec.rb index c7bb49f..31f42ba 100644 --- a/src/spec/controllers/hardware_profiles_controller_spec.rb +++ b/src/spec/controllers/hardware_profiles_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::HardwareProfilesController do +describe HardwareProfilesController do
fixtures :all before(:each) do diff --git a/src/spec/controllers/instance_controller_spec.rb b/src/spec/controllers/instance_controller_spec.rb index ffed76d..2837338 100644 --- a/src/spec/controllers/instance_controller_spec.rb +++ b/src/spec/controllers/instance_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Resources::InstancesController do +describe InstancesController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission @@ -11,7 +11,7 @@ describe Resources::InstancesController do it "should provide ui to create new instance" do UserSession.create(@admin) get :new - response.should redirect_to(select_template_resources_instances_path) + response.should redirect_to(select_template_instances_path) end
it "should fail to grant access to new pool ui for unauthenticated user" do diff --git a/src/spec/controllers/pools_controller_spec.rb b/src/spec/controllers/pools_controller_spec.rb index 9c730c3..01c8d8d 100644 --- a/src/spec/controllers/pools_controller_spec.rb +++ b/src/spec/controllers/pools_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Resources::PoolsController do +describe PoolsController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission @@ -30,7 +30,7 @@ describe Resources::PoolsController do } end.should change(Pool, :count).by(1) id = Pool.find(:first, :conditions => ['name = ?', 'foopool']).id - response.should redirect_to(resources_pool_path(id)) + response.should redirect_to(pool_path(id)) end
end diff --git a/src/spec/controllers/provider_accounts_controller_spec.rb b/src/spec/controllers/provider_accounts_controller_spec.rb index c6887cf..503216b 100644 --- a/src/spec/controllers/provider_accounts_controller_spec.rb +++ b/src/spec/controllers/provider_accounts_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::ProviderAccountsController do +describe ProviderAccountsController do
fixtures :all before(:each) do @@ -43,7 +43,7 @@ describe Admin::ProviderAccountsController do @provider_account.quota = Quota.new @provider_account.save.should be_true post :update, :id => @provider_account.id, :provider_account => { :credentials_hash => {:username => 'mockuser', :password => 'mockpassword'} } - response.should redirect_to admin_provider_account_path(@provider_account) + response.should redirect_to provider_account_path(@provider_account) ProviderAccount.find(@provider_account.id).credentials_hash['password'].should == "mockpassword" end
@@ -52,7 +52,7 @@ describe Admin::ProviderAccountsController do lambda do post :multi_destroy, :accounts_selected => [@provider_account.id] end.should change(ProviderAccount, :count).by(-1) - response.should redirect_to admin_provider_accounts_url + response.should redirect_to provider_accounts_url ProviderAccount.find_by_id(@provider_account.id).should be_nil end
diff --git a/src/spec/controllers/provider_controller_spec.rb b/src/spec/controllers/provider_controller_spec.rb index 0b4661d..775ef92 100644 --- a/src/spec/controllers/provider_controller_spec.rb +++ b/src/spec/controllers/provider_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::ProvidersController do +describe ProvidersController do
fixtures :all before(:each) do @@ -17,7 +17,7 @@ describe Admin::ProvidersController do get :show, :id => provider.id, :details_tab => 'hw_profiles' response.should be_success assigns[:hardware_profiles].size.should == provider.hardware_profiles.size - response.should render_template("admin/providers/_hw_profiles") + response.should render_template("providers/_hw_profiles") end
it "should provide ui to view realms" do @@ -27,7 +27,7 @@ describe Admin::ProvidersController do get :show, :id => provider.id, :details_tab => 'realms' response.should be_success assigns[:realm_names].size.should == provider.realms.size - response.should render_template("admin/providers/_realms") + response.should render_template("providers/_realms") end
diff --git a/src/spec/controllers/templates_controller_spec.rb b/src/spec/controllers/templates_controller_spec.rb index db38d74..1ace2cc 100644 --- a/src/spec/controllers/templates_controller_spec.rb +++ b/src/spec/controllers/templates_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe ImageFactory::TemplatesController do +describe TemplatesController do
fixtures :all before(:each) do diff --git a/src/spec/controllers/users_controller_spec.rb b/src/spec/controllers/users_controller_spec.rb index 90b161b..20d46e8 100644 --- a/src/spec/controllers/users_controller_spec.rb +++ b/src/spec/controllers/users_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::UsersController do +describe UsersController do
before(:each) do @tuser = Factory :tuser @@ -53,7 +53,7 @@ describe Admin::UsersController do :password_confirmation => "testpass" } end.should change(User, :count)
- response.should redirect_to(admin_users_url) + response.should redirect_to(users_url) end
it "should not allow a regular user to create user" do
I couldn't apply this cleanly; it looks like your patch was against the commit before jzigmund's 5a4a5336f1ae.
I was able to merge them successfully, and will send them in reply to this. But a little extra scrutiny couldn't hurt here.
-- Matt
From: Jiri Tomasek jtomasek@redhat.com
Signed-off-by: Matt Wagner matt.wagner@redhat.com --- src/app/controllers/assemblies_controller.rb | 6 +++ .../{image_factory => }/builds_controller.rb | 2 +- .../{image_factory => }/deployables_controller.rb | 2 +- .../{resources => }/deployments_controller.rb | 2 +- .../{admin => }/hardware_profiles_controller.rb | 2 +- .../image_factory/assemblies_controller.rb | 6 --- .../image_imports_controller.rb | 2 +- .../{resources => }/instances_controller.rb | 2 +- .../{admin => }/pool_families_controller.rb | 2 +- .../{resources => }/pools_controller.rb | 2 +- .../{admin => }/provider_accounts_controller.rb | 2 +- .../{admin => }/providers_controller.rb | 2 +- .../{admin => }/realm_mappings_controller.rb | 2 +- .../controllers/{admin => }/realms_controller.rb | 2 +- .../controllers/{admin => }/roles_controller.rb | 2 +- .../controllers/{admin => }/settings_controller.rb | 2 +- .../{image_factory => }/templates_controller.rb | 2 +- .../controllers/{admin => }/users_controller.rb | 2 +- src/app/helpers/resources/instances_helper.rb | 33 -------------------- .../{image_factory => }/assemblies/index.haml | 0 .../views/{image_factory => }/builds/index.haml | 0 .../deployables/_assemblies.haml | 0 .../deployables/_deployments.haml | 0 .../{image_factory => }/deployables/_form.haml | 0 .../{image_factory => }/deployables/_list.haml | 0 .../deployables/_pick_assemblies.haml | 0 .../deployables/_properties.haml | 0 .../{image_factory => }/deployables/edit.haml | 0 .../hardware_profiles => deployables}/index.haml | 0 .../views/{image_factory => }/deployables/new.haml | 0 .../deployables/pick_assemblies.haml | 0 .../provider_accounts => deployables}/show.haml | 0 .../{resources => }/deployments/_history.haml | 0 .../{resources => }/deployments/_instances.haml | 0 .../views/{resources => }/deployments/_list.haml | 0 .../{resources => }/deployments/_permissions.haml | 0 .../{resources => }/deployments/_properties.haml | 0 .../deployments/_provider_services.haml | 0 .../deployments/_required_services.haml | 0 .../views/{resources => }/deployments/index.haml | 0 .../{resources => }/deployments/launch_new.haml | 0 src/app/views/{resources => }/deployments/new.haml | 0 .../hardware_profiles => deployments}/show.haml | 0 .../views/{admin => }/hardware_profiles/_form.haml | 0 .../{admin => }/hardware_profiles/_history.haml | 0 .../views/{admin => }/hardware_profiles/_list.haml | 0 .../_matching_provider_hardware_profiles.haml | 0 .../{admin => }/hardware_profiles/_properties.haml | 0 .../{admin => }/hardware_profiles/create.haml | 0 .../views/{admin => }/hardware_profiles/edit.haml | 0 .../pool_families => hardware_profiles}/index.haml | 0 .../views/{admin => }/hardware_profiles/new.haml | 0 .../deployments => hardware_profiles}/show.haml | 0 .../{image_factory => }/image_imports/new.haml | 0 .../instances/_can_perform_state_change.xml.haml | 0 .../views/{resources => }/instances/_history.haml | 0 src/app/views/{resources => }/instances/_list.haml | 0 .../{resources => }/instances/_permissions.haml | 0 .../{resources => }/instances/_properties.haml | 0 .../provider_accounts => instances}/index.haml | 0 src/app/views/{resources => }/instances/new.haml | 0 .../{resources => }/instances/select_template.haml | 0 .../deployables => instances}/show.haml | 0 src/app/views/{admin => }/pool_families/_form.haml | 0 .../views/{admin => }/pool_families/_history.haml | 0 src/app/views/{admin => }/pool_families/_list.haml | 0 .../{admin => }/pool_families/_permissions.haml | 0 .../views/{admin => }/pool_families/_pools.haml | 0 .../{admin => }/pool_families/_properties.haml | 0 .../pool_families/_provider_accounts.haml | 0 src/app/views/{admin => }/pool_families/edit.haml | 0 .../{admin/providers => pool_families}/index.haml | 0 src/app/views/{admin => }/pool_families/new.haml | 0 src/app/views/{admin => }/pool_families/show.haml | 0 .../views/{resources => }/pools/_deployments.haml | 0 src/app/views/{resources => }/pools/_history.haml | 0 .../views/{resources => }/pools/_instances.haml | 0 src/app/views/{resources => }/pools/_list.haml | 0 .../views/{resources => }/pools/_permissions.haml | 0 .../views/{resources => }/pools/_properties.haml | 0 src/app/views/{resources => }/pools/edit.haml | 0 src/app/views/{admin/realms => pools}/index.haml | 0 src/app/views/{resources => }/pools/new.haml | 0 .../{image_factory/templates => pools}/show.haml | 0 .../provider_accounts/_credentials.haml | 0 .../{admin => }/provider_accounts/_history.haml | 0 .../views/{admin => }/provider_accounts/_list.haml | 0 .../provider_accounts/_permissions.haml | 0 .../{admin => }/provider_accounts/_properties.haml | 0 .../provider_accounts/_provider_form.haml | 0 .../provider_accounts/_provider_selection.haml | 0 .../{admin => }/provider_accounts/_rhevm.haml | 0 .../views/{admin => }/provider_accounts/edit.haml | 0 .../{admin/roles => provider_accounts}/index.haml | 0 .../views/{admin => }/provider_accounts/new.haml | 0 .../instances => provider_accounts}/show.haml | 0 src/app/views/{admin => }/providers/_form.haml | 0 src/app/views/{admin => }/providers/_history.haml | 0 .../views/{admin => }/providers/_hw_profiles.haml | 0 src/app/views/{admin => }/providers/_list.haml | 0 .../views/{admin => }/providers/_permissions.haml | 0 .../views/{admin => }/providers/_properties.haml | 0 .../{admin => }/providers/_provider_accounts.haml | 0 src/app/views/{admin => }/providers/_realms.haml | 0 src/app/views/{admin => }/providers/_services.haml | 0 src/app/views/{admin => }/providers/edit.haml | 0 .../views/{admin/users => providers}/index.haml | 0 src/app/views/{admin => }/providers/new.haml | 0 src/app/views/{admin => }/providers/show.haml | 0 src/app/views/{admin => }/realm_mappings/new.haml | 0 src/app/views/{admin => }/realm_mappings/show.haml | 0 src/app/views/{admin => }/realms/_form.haml | 0 src/app/views/{admin => }/realms/_list.haml | 0 src/app/views/{admin => }/realms/_mapping.haml | 0 src/app/views/{admin => }/realms/_properties.haml | 0 src/app/views/{admin => }/realms/edit.haml | 0 .../deployables => realms}/index.haml | 0 src/app/views/{admin => }/realms/new.haml | 0 src/app/views/{admin => }/realms/show.haml | 0 src/app/views/{admin => }/roles/_form.haml | 0 src/app/views/{admin => }/roles/_list.haml | 0 src/app/views/{admin => }/roles/_properties.haml | 0 src/app/views/{admin => }/roles/edit.haml | 0 .../{image_factory/templates => roles}/index.haml | 0 src/app/views/{admin => }/roles/new.haml | 0 .../{admin => }/settings/general_settings.haml | 0 src/app/views/{admin => }/settings/index.haml | 0 .../views/{admin => }/settings/self_service.haml | 0 .../{image_factory => }/templates/_addbuttons.haml | 0 .../{image_factory => }/templates/_basics.haml | 0 .../{image_factory => }/templates/_builds.haml | 0 .../templates/_collections.haml | 0 .../views/{image_factory => }/templates/_form.haml | 0 .../templates/_hidden_fields.haml | 0 .../views/{image_factory => }/templates/_list.haml | 0 .../templates/_local_content_to_bundle.haml | 0 .../templates/_managed_content.haml | 0 .../templates/_metagroup_packages.haml | 0 .../{image_factory => }/templates/_metagroups.haml | 0 .../templates/_preboot_configuration.haml | 0 .../{image_factory => }/templates/_properties.haml | 0 .../templates/_search_packages.haml | 0 .../templates/_software_selection.haml | 0 .../{image_factory => }/templates/collections.haml | 0 .../views/{image_factory => }/templates/edit.haml | 0 .../{resources/instances => templates}/index.haml | 0 .../templates/managed_content.haml | 0 .../templates/metagroup_packages.haml | 0 .../views/{image_factory => }/templates/new.haml | 0 .../templates/search_packages.haml | 0 .../views/{resources/pools => templates}/show.haml | 0 src/app/views/{admin => }/users/_form.haml | 0 src/app/views/{admin => }/users/_list.haml | 0 src/app/views/{admin => }/users/_properties.haml | 0 src/app/views/{admin => }/users/edit.haml | 0 .../views/{resources/pools => users}/index.haml | 0 src/app/views/{admin => }/users/new.haml | 0 157 files changed, 22 insertions(+), 55 deletions(-) create mode 100644 src/app/controllers/assemblies_controller.rb rename src/app/controllers/{image_factory => }/builds_controller.rb (98%) rename src/app/controllers/{image_factory => }/deployables_controller.rb (98%) rename src/app/controllers/{resources => }/deployments_controller.rb (98%) rename src/app/controllers/{admin => }/hardware_profiles_controller.rb (99%) delete mode 100644 src/app/controllers/image_factory/assemblies_controller.rb rename src/app/controllers/{image_factory => }/image_imports_controller.rb (91%) rename src/app/controllers/{resources => }/instances_controller.rb (99%) rename src/app/controllers/{admin => }/pool_families_controller.rb (98%) rename src/app/controllers/{resources => }/pools_controller.rb (98%) rename src/app/controllers/{admin => }/provider_accounts_controller.rb (98%) rename src/app/controllers/{admin => }/providers_controller.rb (98%) rename src/app/controllers/{admin => }/realm_mappings_controller.rb (95%) rename src/app/controllers/{admin => }/realms_controller.rb (97%) rename src/app/controllers/{admin => }/roles_controller.rb (97%) rename src/app/controllers/{admin => }/settings_controller.rb (95%) rename src/app/controllers/{image_factory => }/templates_controller.rb (99%) rename src/app/controllers/{admin => }/users_controller.rb (98%) delete mode 100644 src/app/helpers/resources/instances_helper.rb rename src/app/views/{image_factory => }/assemblies/index.haml (100%) rename src/app/views/{image_factory => }/builds/index.haml (100%) rename src/app/views/{image_factory => }/deployables/_assemblies.haml (100%) rename src/app/views/{image_factory => }/deployables/_deployments.haml (100%) rename src/app/views/{image_factory => }/deployables/_form.haml (100%) rename src/app/views/{image_factory => }/deployables/_list.haml (100%) rename src/app/views/{image_factory => }/deployables/_pick_assemblies.haml (100%) rename src/app/views/{image_factory => }/deployables/_properties.haml (100%) rename src/app/views/{image_factory => }/deployables/edit.haml (100%) rename src/app/views/{admin/hardware_profiles => deployables}/index.haml (100%) rename src/app/views/{image_factory => }/deployables/new.haml (100%) rename src/app/views/{image_factory => }/deployables/pick_assemblies.haml (100%) rename src/app/views/{admin/provider_accounts => deployables}/show.haml (100%) rename src/app/views/{resources => }/deployments/_history.haml (100%) rename src/app/views/{resources => }/deployments/_instances.haml (100%) rename src/app/views/{resources => }/deployments/_list.haml (100%) rename src/app/views/{resources => }/deployments/_permissions.haml (100%) rename src/app/views/{resources => }/deployments/_properties.haml (100%) rename src/app/views/{resources => }/deployments/_provider_services.haml (100%) rename src/app/views/{resources => }/deployments/_required_services.haml (100%) rename src/app/views/{resources => }/deployments/index.haml (100%) rename src/app/views/{resources => }/deployments/launch_new.haml (100%) rename src/app/views/{resources => }/deployments/new.haml (100%) rename src/app/views/{admin/hardware_profiles => deployments}/show.haml (100%) rename src/app/views/{admin => }/hardware_profiles/_form.haml (100%) rename src/app/views/{admin => }/hardware_profiles/_history.haml (100%) rename src/app/views/{admin => }/hardware_profiles/_list.haml (100%) rename src/app/views/{admin => }/hardware_profiles/_matching_provider_hardware_profiles.haml (100%) rename src/app/views/{admin => }/hardware_profiles/_properties.haml (100%) rename src/app/views/{admin => }/hardware_profiles/create.haml (100%) rename src/app/views/{admin => }/hardware_profiles/edit.haml (100%) rename src/app/views/{admin/pool_families => hardware_profiles}/index.haml (100%) rename src/app/views/{admin => }/hardware_profiles/new.haml (100%) rename src/app/views/{resources/deployments => hardware_profiles}/show.haml (100%) rename src/app/views/{image_factory => }/image_imports/new.haml (100%) rename src/app/views/{resources => }/instances/_can_perform_state_change.xml.haml (100%) rename src/app/views/{resources => }/instances/_history.haml (100%) rename src/app/views/{resources => }/instances/_list.haml (100%) rename src/app/views/{resources => }/instances/_permissions.haml (100%) rename src/app/views/{resources => }/instances/_properties.haml (100%) rename src/app/views/{admin/provider_accounts => instances}/index.haml (100%) rename src/app/views/{resources => }/instances/new.haml (100%) rename src/app/views/{resources => }/instances/select_template.haml (100%) rename src/app/views/{image_factory/deployables => instances}/show.haml (100%) rename src/app/views/{admin => }/pool_families/_form.haml (100%) rename src/app/views/{admin => }/pool_families/_history.haml (100%) rename src/app/views/{admin => }/pool_families/_list.haml (100%) rename src/app/views/{admin => }/pool_families/_permissions.haml (100%) rename src/app/views/{admin => }/pool_families/_pools.haml (100%) rename src/app/views/{admin => }/pool_families/_properties.haml (100%) rename src/app/views/{admin => }/pool_families/_provider_accounts.haml (100%) rename src/app/views/{admin => }/pool_families/edit.haml (100%) rename src/app/views/{admin/providers => pool_families}/index.haml (100%) rename src/app/views/{admin => }/pool_families/new.haml (100%) rename src/app/views/{admin => }/pool_families/show.haml (100%) rename src/app/views/{resources => }/pools/_deployments.haml (100%) rename src/app/views/{resources => }/pools/_history.haml (100%) rename src/app/views/{resources => }/pools/_instances.haml (100%) rename src/app/views/{resources => }/pools/_list.haml (100%) rename src/app/views/{resources => }/pools/_permissions.haml (100%) rename src/app/views/{resources => }/pools/_properties.haml (100%) rename src/app/views/{resources => }/pools/edit.haml (100%) rename src/app/views/{admin/realms => pools}/index.haml (100%) rename src/app/views/{resources => }/pools/new.haml (100%) rename src/app/views/{image_factory/templates => pools}/show.haml (100%) rename src/app/views/{admin => }/provider_accounts/_credentials.haml (100%) rename src/app/views/{admin => }/provider_accounts/_history.haml (100%) rename src/app/views/{admin => }/provider_accounts/_list.haml (100%) rename src/app/views/{admin => }/provider_accounts/_permissions.haml (100%) rename src/app/views/{admin => }/provider_accounts/_properties.haml (100%) rename src/app/views/{admin => }/provider_accounts/_provider_form.haml (100%) rename src/app/views/{admin => }/provider_accounts/_provider_selection.haml (100%) rename src/app/views/{admin => }/provider_accounts/_rhevm.haml (100%) rename src/app/views/{admin => }/provider_accounts/edit.haml (100%) rename src/app/views/{admin/roles => provider_accounts}/index.haml (100%) rename src/app/views/{admin => }/provider_accounts/new.haml (100%) rename src/app/views/{resources/instances => provider_accounts}/show.haml (100%) rename src/app/views/{admin => }/providers/_form.haml (100%) rename src/app/views/{admin => }/providers/_history.haml (100%) rename src/app/views/{admin => }/providers/_hw_profiles.haml (100%) rename src/app/views/{admin => }/providers/_list.haml (100%) rename src/app/views/{admin => }/providers/_permissions.haml (100%) rename src/app/views/{admin => }/providers/_properties.haml (100%) rename src/app/views/{admin => }/providers/_provider_accounts.haml (100%) rename src/app/views/{admin => }/providers/_realms.haml (100%) rename src/app/views/{admin => }/providers/_services.haml (100%) rename src/app/views/{admin => }/providers/edit.haml (100%) rename src/app/views/{admin/users => providers}/index.haml (100%) rename src/app/views/{admin => }/providers/new.haml (100%) rename src/app/views/{admin => }/providers/show.haml (100%) rename src/app/views/{admin => }/realm_mappings/new.haml (100%) rename src/app/views/{admin => }/realm_mappings/show.haml (100%) rename src/app/views/{admin => }/realms/_form.haml (100%) rename src/app/views/{admin => }/realms/_list.haml (100%) rename src/app/views/{admin => }/realms/_mapping.haml (100%) rename src/app/views/{admin => }/realms/_properties.haml (100%) rename src/app/views/{admin => }/realms/edit.haml (100%) rename src/app/views/{image_factory/deployables => realms}/index.haml (100%) rename src/app/views/{admin => }/realms/new.haml (100%) rename src/app/views/{admin => }/realms/show.haml (100%) rename src/app/views/{admin => }/roles/_form.haml (100%) rename src/app/views/{admin => }/roles/_list.haml (100%) rename src/app/views/{admin => }/roles/_properties.haml (100%) rename src/app/views/{admin => }/roles/edit.haml (100%) rename src/app/views/{image_factory/templates => roles}/index.haml (100%) rename src/app/views/{admin => }/roles/new.haml (100%) rename src/app/views/{admin => }/settings/general_settings.haml (100%) rename src/app/views/{admin => }/settings/index.haml (100%) rename src/app/views/{admin => }/settings/self_service.haml (100%) rename src/app/views/{image_factory => }/templates/_addbuttons.haml (100%) rename src/app/views/{image_factory => }/templates/_basics.haml (100%) rename src/app/views/{image_factory => }/templates/_builds.haml (100%) rename src/app/views/{image_factory => }/templates/_collections.haml (100%) rename src/app/views/{image_factory => }/templates/_form.haml (100%) rename src/app/views/{image_factory => }/templates/_hidden_fields.haml (100%) rename src/app/views/{image_factory => }/templates/_list.haml (100%) rename src/app/views/{image_factory => }/templates/_local_content_to_bundle.haml (100%) rename src/app/views/{image_factory => }/templates/_managed_content.haml (100%) rename src/app/views/{image_factory => }/templates/_metagroup_packages.haml (100%) rename src/app/views/{image_factory => }/templates/_metagroups.haml (100%) rename src/app/views/{image_factory => }/templates/_preboot_configuration.haml (100%) rename src/app/views/{image_factory => }/templates/_properties.haml (100%) rename src/app/views/{image_factory => }/templates/_search_packages.haml (100%) rename src/app/views/{image_factory => }/templates/_software_selection.haml (100%) rename src/app/views/{image_factory => }/templates/collections.haml (100%) rename src/app/views/{image_factory => }/templates/edit.haml (100%) rename src/app/views/{resources/instances => templates}/index.haml (100%) rename src/app/views/{image_factory => }/templates/managed_content.haml (100%) rename src/app/views/{image_factory => }/templates/metagroup_packages.haml (100%) rename src/app/views/{image_factory => }/templates/new.haml (100%) rename src/app/views/{image_factory => }/templates/search_packages.haml (100%) rename src/app/views/{resources/pools => templates}/show.haml (100%) rename src/app/views/{admin => }/users/_form.haml (100%) rename src/app/views/{admin => }/users/_list.haml (100%) rename src/app/views/{admin => }/users/_properties.haml (100%) rename src/app/views/{admin => }/users/edit.haml (100%) rename src/app/views/{resources/pools => users}/index.haml (100%) rename src/app/views/{admin => }/users/new.haml (100%)
diff --git a/src/app/controllers/assemblies_controller.rb b/src/app/controllers/assemblies_controller.rb new file mode 100644 index 0000000..c109039 --- /dev/null +++ b/src/app/controllers/assemblies_controller.rb @@ -0,0 +1,6 @@ +class AssembliesController < ApplicationController + before_filter :require_user + + def index + end +end diff --git a/src/app/controllers/image_factory/builds_controller.rb b/src/app/controllers/builds_controller.rb similarity index 98% rename from src/app/controllers/image_factory/builds_controller.rb rename to src/app/controllers/builds_controller.rb index 58c3fa6..3572a45 100644 --- a/src/app/controllers/image_factory/builds_controller.rb +++ b/src/app/controllers/builds_controller.rb @@ -1,4 +1,4 @@ -class ImageFactory::BuildsController < ApplicationController +class BuildsController < ApplicationController before_filter [:require_user], :except => [:update_status]
def index diff --git a/src/app/controllers/image_factory/deployables_controller.rb b/src/app/controllers/deployables_controller.rb similarity index 98% rename from src/app/controllers/image_factory/deployables_controller.rb rename to src/app/controllers/deployables_controller.rb index 90242f3..22332f5 100644 --- a/src/app/controllers/image_factory/deployables_controller.rb +++ b/src/app/controllers/deployables_controller.rb @@ -1,4 +1,4 @@ -class ImageFactory::DeployablesController < ApplicationController +class DeployablesController < ApplicationController before_filter :require_user before_filter :load_deployables, :only => [:index, :show, :pick_assemblies] before_filter :load_deployable_with_assemblies, :only => [:remove_assemblies, :add_assemblies, :pick_assemblies] diff --git a/src/app/controllers/resources/deployments_controller.rb b/src/app/controllers/deployments_controller.rb similarity index 98% rename from src/app/controllers/resources/deployments_controller.rb rename to src/app/controllers/deployments_controller.rb index 26287c5..8fe4cd0 100644 --- a/src/app/controllers/resources/deployments_controller.rb +++ b/src/app/controllers/deployments_controller.rb @@ -1,4 +1,4 @@ -class Resources::DeploymentsController < ApplicationController +class DeploymentsController < ApplicationController before_filter :require_user before_filter :load_deployments, :only => [:index, :show]
diff --git a/src/app/controllers/admin/hardware_profiles_controller.rb b/src/app/controllers/hardware_profiles_controller.rb similarity index 99% rename from src/app/controllers/admin/hardware_profiles_controller.rb rename to src/app/controllers/hardware_profiles_controller.rb index e82580b..54f7e8f 100644 --- a/src/app/controllers/admin/hardware_profiles_controller.rb +++ b/src/app/controllers/hardware_profiles_controller.rb @@ -1,4 +1,4 @@ -class Admin::HardwareProfilesController < ApplicationController +class HardwareProfilesController < ApplicationController before_filter :require_user, :except => :matching_profiles before_filter :set_params_and_header, :only => [:index, :show] before_filter :load_hardware_profiles, :only => [:index, :show] diff --git a/src/app/controllers/image_factory/assemblies_controller.rb b/src/app/controllers/image_factory/assemblies_controller.rb deleted file mode 100644 index ce67f14..0000000 --- a/src/app/controllers/image_factory/assemblies_controller.rb +++ /dev/null @@ -1,6 +0,0 @@ -class ImageFactory::AssembliesController < ApplicationController - before_filter :require_user - - def index - end -end diff --git a/src/app/controllers/image_factory/image_imports_controller.rb b/src/app/controllers/image_imports_controller.rb similarity index 91% rename from src/app/controllers/image_factory/image_imports_controller.rb rename to src/app/controllers/image_imports_controller.rb index 45ba6d6..24d286b 100644 --- a/src/app/controllers/image_factory/image_imports_controller.rb +++ b/src/app/controllers/image_imports_controller.rb @@ -1,4 +1,4 @@ -class ImageFactory::ImageImportsController < ApplicationController +class ImageImportsController < ApplicationController before_filter :require_user
def new diff --git a/src/app/controllers/resources/instances_controller.rb b/src/app/controllers/instances_controller.rb similarity index 99% rename from src/app/controllers/resources/instances_controller.rb rename to src/app/controllers/instances_controller.rb index 37aadeb..42e0e01 100644 --- a/src/app/controllers/resources/instances_controller.rb +++ b/src/app/controllers/instances_controller.rb @@ -1,4 +1,4 @@ -class Resources::InstancesController < ApplicationController +class InstancesController < ApplicationController before_filter :require_user, :except => [:can_start, :can_create] before_filter :load_instance, :only => [:show, :key] before_filter :set_view_vars, :only => [:show, :index] diff --git a/src/app/controllers/admin/pool_families_controller.rb b/src/app/controllers/pool_families_controller.rb similarity index 98% rename from src/app/controllers/admin/pool_families_controller.rb rename to src/app/controllers/pool_families_controller.rb index fa4e03f..3d1a5fd 100644 --- a/src/app/controllers/admin/pool_families_controller.rb +++ b/src/app/controllers/pool_families_controller.rb @@ -1,4 +1,4 @@ -class Admin::PoolFamiliesController < ApplicationController +class PoolFamiliesController < ApplicationController before_filter :require_user before_filter :set_params_and_header, :only => [:index, :show] before_filter :load_pool_families, :only =>[:show] diff --git a/src/app/controllers/resources/pools_controller.rb b/src/app/controllers/pools_controller.rb similarity index 98% rename from src/app/controllers/resources/pools_controller.rb rename to src/app/controllers/pools_controller.rb index 530883a..ecfff29 100644 --- a/src/app/controllers/resources/pools_controller.rb +++ b/src/app/controllers/pools_controller.rb @@ -1,4 +1,4 @@ -class Resources::PoolsController < ApplicationController +class PoolsController < ApplicationController before_filter :require_user before_filter :set_params_and_header, :only => [:index, :show] before_filter :load_pools, :only => [:show] diff --git a/src/app/controllers/admin/provider_accounts_controller.rb b/src/app/controllers/provider_accounts_controller.rb similarity index 98% rename from src/app/controllers/admin/provider_accounts_controller.rb rename to src/app/controllers/provider_accounts_controller.rb index 01aa549..438e7ee 100644 --- a/src/app/controllers/admin/provider_accounts_controller.rb +++ b/src/app/controllers/provider_accounts_controller.rb @@ -1,4 +1,4 @@ -class Admin::ProviderAccountsController < ApplicationController +class ProviderAccountsController < ApplicationController before_filter :require_user before_filter :load_accounts, :only => :show before_filter :set_view_vars, :only => [:index,:show] diff --git a/src/app/controllers/admin/providers_controller.rb b/src/app/controllers/providers_controller.rb similarity index 98% rename from src/app/controllers/admin/providers_controller.rb rename to src/app/controllers/providers_controller.rb index 16e07de..9bbbf8c 100644 --- a/src/app/controllers/admin/providers_controller.rb +++ b/src/app/controllers/providers_controller.rb @@ -1,4 +1,4 @@ -class Admin::ProvidersController < ApplicationController +class ProvidersController < ApplicationController before_filter :require_user before_filter :set_view_envs, :only => [:show, :index]
diff --git a/src/app/controllers/admin/realm_mappings_controller.rb b/src/app/controllers/realm_mappings_controller.rb similarity index 95% rename from src/app/controllers/admin/realm_mappings_controller.rb rename to src/app/controllers/realm_mappings_controller.rb index cf84e2c..226cdf9 100644 --- a/src/app/controllers/admin/realm_mappings_controller.rb +++ b/src/app/controllers/realm_mappings_controller.rb @@ -1,4 +1,4 @@ -class Admin::RealmMappingsController < ApplicationController +class RealmMappingsController < ApplicationController before_filter :require_user
def new diff --git a/src/app/controllers/admin/realms_controller.rb b/src/app/controllers/realms_controller.rb similarity index 97% rename from src/app/controllers/admin/realms_controller.rb rename to src/app/controllers/realms_controller.rb index bcfd7a8..7f05ff7 100644 --- a/src/app/controllers/admin/realms_controller.rb +++ b/src/app/controllers/realms_controller.rb @@ -1,4 +1,4 @@ -class Admin::RealmsController < ApplicationController +class RealmsController < ApplicationController before_filter :require_user before_filter :load_realms, :only =>[:index,:show]
diff --git a/src/app/controllers/admin/roles_controller.rb b/src/app/controllers/roles_controller.rb similarity index 97% rename from src/app/controllers/admin/roles_controller.rb rename to src/app/controllers/roles_controller.rb index a373c1b..a0ac666 100644 --- a/src/app/controllers/admin/roles_controller.rb +++ b/src/app/controllers/roles_controller.rb @@ -1,4 +1,4 @@ -class Admin::RolesController < ApplicationController +class RolesController < ApplicationController before_filter :require_user before_filter :load_roles, :only => [:show] before_filter :load_params_and_headers, :only => [:index] diff --git a/src/app/controllers/admin/settings_controller.rb b/src/app/controllers/settings_controller.rb similarity index 95% rename from src/app/controllers/admin/settings_controller.rb rename to src/app/controllers/settings_controller.rb index a6f5cec..4cd341c 100644 --- a/src/app/controllers/admin/settings_controller.rb +++ b/src/app/controllers/settings_controller.rb @@ -1,4 +1,4 @@ -class Admin::SettingsController < ApplicationController +class SettingsController < ApplicationController before_filter :require_user
# Settings MetaData Keys diff --git a/src/app/controllers/image_factory/templates_controller.rb b/src/app/controllers/templates_controller.rb similarity index 99% rename from src/app/controllers/image_factory/templates_controller.rb rename to src/app/controllers/templates_controller.rb index dc7ba71..786f55a 100644 --- a/src/app/controllers/image_factory/templates_controller.rb +++ b/src/app/controllers/templates_controller.rb @@ -1,6 +1,6 @@ require 'util/repository_manager'
-class ImageFactory::TemplatesController < ApplicationController +class TemplatesController < ApplicationController before_filter :require_user before_filter :set_view_vars, :only => [:index, :show]
diff --git a/src/app/controllers/admin/users_controller.rb b/src/app/controllers/users_controller.rb similarity index 98% rename from src/app/controllers/admin/users_controller.rb rename to src/app/controllers/users_controller.rb index d0297ad..8e3484c 100644 --- a/src/app/controllers/admin/users_controller.rb +++ b/src/app/controllers/users_controller.rb @@ -1,4 +1,4 @@ -class Admin::UsersController < ApplicationController +class UsersController < ApplicationController before_filter :require_user, :except => [:new, :create] before_filter :load_users, :only => [:show]
diff --git a/src/app/helpers/resources/instances_helper.rb b/src/app/helpers/resources/instances_helper.rb deleted file mode 100644 index 91474ad..0000000 --- a/src/app/helpers/resources/instances_helper.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Copyright (C) 2009 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -# MA 02110-1301, USA. A copy of the GNU General Public License is -# also available at http://www.gnu.org/copyleft/gpl.html. - -# Filters added to this controller apply to all controllers in the application. -# Likewise, all the methods added will be available for all controllers. - -module Resources::InstancesHelper - def owner_name(inst) - return '' unless inst.owner - # if last_name is set, use full name, - # else use login - if inst.owner.last_name.blank? - inst.owner.login - else - "#{inst.owner.first_name} #{inst.owner.last_name}" - end - end -end diff --git a/src/app/views/image_factory/assemblies/index.haml b/src/app/views/assemblies/index.haml similarity index 100% rename from src/app/views/image_factory/assemblies/index.haml rename to src/app/views/assemblies/index.haml diff --git a/src/app/views/image_factory/builds/index.haml b/src/app/views/builds/index.haml similarity index 100% rename from src/app/views/image_factory/builds/index.haml rename to src/app/views/builds/index.haml diff --git a/src/app/views/image_factory/deployables/_assemblies.haml b/src/app/views/deployables/_assemblies.haml similarity index 100% rename from src/app/views/image_factory/deployables/_assemblies.haml rename to src/app/views/deployables/_assemblies.haml diff --git a/src/app/views/image_factory/deployables/_deployments.haml b/src/app/views/deployables/_deployments.haml similarity index 100% rename from src/app/views/image_factory/deployables/_deployments.haml rename to src/app/views/deployables/_deployments.haml diff --git a/src/app/views/image_factory/deployables/_form.haml b/src/app/views/deployables/_form.haml similarity index 100% rename from src/app/views/image_factory/deployables/_form.haml rename to src/app/views/deployables/_form.haml diff --git a/src/app/views/image_factory/deployables/_list.haml b/src/app/views/deployables/_list.haml similarity index 100% rename from src/app/views/image_factory/deployables/_list.haml rename to src/app/views/deployables/_list.haml diff --git a/src/app/views/image_factory/deployables/_pick_assemblies.haml b/src/app/views/deployables/_pick_assemblies.haml similarity index 100% rename from src/app/views/image_factory/deployables/_pick_assemblies.haml rename to src/app/views/deployables/_pick_assemblies.haml diff --git a/src/app/views/image_factory/deployables/_properties.haml b/src/app/views/deployables/_properties.haml similarity index 100% rename from src/app/views/image_factory/deployables/_properties.haml rename to src/app/views/deployables/_properties.haml diff --git a/src/app/views/image_factory/deployables/edit.haml b/src/app/views/deployables/edit.haml similarity index 100% rename from src/app/views/image_factory/deployables/edit.haml rename to src/app/views/deployables/edit.haml diff --git a/src/app/views/admin/hardware_profiles/index.haml b/src/app/views/deployables/index.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/index.haml rename to src/app/views/deployables/index.haml diff --git a/src/app/views/image_factory/deployables/new.haml b/src/app/views/deployables/new.haml similarity index 100% rename from src/app/views/image_factory/deployables/new.haml rename to src/app/views/deployables/new.haml diff --git a/src/app/views/image_factory/deployables/pick_assemblies.haml b/src/app/views/deployables/pick_assemblies.haml similarity index 100% rename from src/app/views/image_factory/deployables/pick_assemblies.haml rename to src/app/views/deployables/pick_assemblies.haml diff --git a/src/app/views/admin/provider_accounts/show.haml b/src/app/views/deployables/show.haml similarity index 100% rename from src/app/views/admin/provider_accounts/show.haml rename to src/app/views/deployables/show.haml diff --git a/src/app/views/resources/deployments/_history.haml b/src/app/views/deployments/_history.haml similarity index 100% rename from src/app/views/resources/deployments/_history.haml rename to src/app/views/deployments/_history.haml diff --git a/src/app/views/resources/deployments/_instances.haml b/src/app/views/deployments/_instances.haml similarity index 100% rename from src/app/views/resources/deployments/_instances.haml rename to src/app/views/deployments/_instances.haml diff --git a/src/app/views/resources/deployments/_list.haml b/src/app/views/deployments/_list.haml similarity index 100% rename from src/app/views/resources/deployments/_list.haml rename to src/app/views/deployments/_list.haml diff --git a/src/app/views/resources/deployments/_permissions.haml b/src/app/views/deployments/_permissions.haml similarity index 100% rename from src/app/views/resources/deployments/_permissions.haml rename to src/app/views/deployments/_permissions.haml diff --git a/src/app/views/resources/deployments/_properties.haml b/src/app/views/deployments/_properties.haml similarity index 100% rename from src/app/views/resources/deployments/_properties.haml rename to src/app/views/deployments/_properties.haml diff --git a/src/app/views/resources/deployments/_provider_services.haml b/src/app/views/deployments/_provider_services.haml similarity index 100% rename from src/app/views/resources/deployments/_provider_services.haml rename to src/app/views/deployments/_provider_services.haml diff --git a/src/app/views/resources/deployments/_required_services.haml b/src/app/views/deployments/_required_services.haml similarity index 100% rename from src/app/views/resources/deployments/_required_services.haml rename to src/app/views/deployments/_required_services.haml diff --git a/src/app/views/resources/deployments/index.haml b/src/app/views/deployments/index.haml similarity index 100% rename from src/app/views/resources/deployments/index.haml rename to src/app/views/deployments/index.haml diff --git a/src/app/views/resources/deployments/launch_new.haml b/src/app/views/deployments/launch_new.haml similarity index 100% rename from src/app/views/resources/deployments/launch_new.haml rename to src/app/views/deployments/launch_new.haml diff --git a/src/app/views/resources/deployments/new.haml b/src/app/views/deployments/new.haml similarity index 100% rename from src/app/views/resources/deployments/new.haml rename to src/app/views/deployments/new.haml diff --git a/src/app/views/admin/hardware_profiles/show.haml b/src/app/views/deployments/show.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/show.haml rename to src/app/views/deployments/show.haml diff --git a/src/app/views/admin/hardware_profiles/_form.haml b/src/app/views/hardware_profiles/_form.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/_form.haml rename to src/app/views/hardware_profiles/_form.haml diff --git a/src/app/views/admin/hardware_profiles/_history.haml b/src/app/views/hardware_profiles/_history.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/_history.haml rename to src/app/views/hardware_profiles/_history.haml diff --git a/src/app/views/admin/hardware_profiles/_list.haml b/src/app/views/hardware_profiles/_list.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/_list.haml rename to src/app/views/hardware_profiles/_list.haml diff --git a/src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/_matching_provider_hardware_profiles.haml rename to src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml diff --git a/src/app/views/admin/hardware_profiles/_properties.haml b/src/app/views/hardware_profiles/_properties.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/_properties.haml rename to src/app/views/hardware_profiles/_properties.haml diff --git a/src/app/views/admin/hardware_profiles/create.haml b/src/app/views/hardware_profiles/create.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/create.haml rename to src/app/views/hardware_profiles/create.haml diff --git a/src/app/views/admin/hardware_profiles/edit.haml b/src/app/views/hardware_profiles/edit.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/edit.haml rename to src/app/views/hardware_profiles/edit.haml diff --git a/src/app/views/admin/pool_families/index.haml b/src/app/views/hardware_profiles/index.haml similarity index 100% rename from src/app/views/admin/pool_families/index.haml rename to src/app/views/hardware_profiles/index.haml diff --git a/src/app/views/admin/hardware_profiles/new.haml b/src/app/views/hardware_profiles/new.haml similarity index 100% rename from src/app/views/admin/hardware_profiles/new.haml rename to src/app/views/hardware_profiles/new.haml diff --git a/src/app/views/resources/deployments/show.haml b/src/app/views/hardware_profiles/show.haml similarity index 100% rename from src/app/views/resources/deployments/show.haml rename to src/app/views/hardware_profiles/show.haml diff --git a/src/app/views/image_factory/image_imports/new.haml b/src/app/views/image_imports/new.haml similarity index 100% rename from src/app/views/image_factory/image_imports/new.haml rename to src/app/views/image_imports/new.haml diff --git a/src/app/views/resources/instances/_can_perform_state_change.xml.haml b/src/app/views/instances/_can_perform_state_change.xml.haml similarity index 100% rename from src/app/views/resources/instances/_can_perform_state_change.xml.haml rename to src/app/views/instances/_can_perform_state_change.xml.haml diff --git a/src/app/views/resources/instances/_history.haml b/src/app/views/instances/_history.haml similarity index 100% rename from src/app/views/resources/instances/_history.haml rename to src/app/views/instances/_history.haml diff --git a/src/app/views/resources/instances/_list.haml b/src/app/views/instances/_list.haml similarity index 100% rename from src/app/views/resources/instances/_list.haml rename to src/app/views/instances/_list.haml diff --git a/src/app/views/resources/instances/_permissions.haml b/src/app/views/instances/_permissions.haml similarity index 100% rename from src/app/views/resources/instances/_permissions.haml rename to src/app/views/instances/_permissions.haml diff --git a/src/app/views/resources/instances/_properties.haml b/src/app/views/instances/_properties.haml similarity index 100% rename from src/app/views/resources/instances/_properties.haml rename to src/app/views/instances/_properties.haml diff --git a/src/app/views/admin/provider_accounts/index.haml b/src/app/views/instances/index.haml similarity index 100% rename from src/app/views/admin/provider_accounts/index.haml rename to src/app/views/instances/index.haml diff --git a/src/app/views/resources/instances/new.haml b/src/app/views/instances/new.haml similarity index 100% rename from src/app/views/resources/instances/new.haml rename to src/app/views/instances/new.haml diff --git a/src/app/views/resources/instances/select_template.haml b/src/app/views/instances/select_template.haml similarity index 100% rename from src/app/views/resources/instances/select_template.haml rename to src/app/views/instances/select_template.haml diff --git a/src/app/views/image_factory/deployables/show.haml b/src/app/views/instances/show.haml similarity index 100% rename from src/app/views/image_factory/deployables/show.haml rename to src/app/views/instances/show.haml diff --git a/src/app/views/admin/pool_families/_form.haml b/src/app/views/pool_families/_form.haml similarity index 100% rename from src/app/views/admin/pool_families/_form.haml rename to src/app/views/pool_families/_form.haml diff --git a/src/app/views/admin/pool_families/_history.haml b/src/app/views/pool_families/_history.haml similarity index 100% rename from src/app/views/admin/pool_families/_history.haml rename to src/app/views/pool_families/_history.haml diff --git a/src/app/views/admin/pool_families/_list.haml b/src/app/views/pool_families/_list.haml similarity index 100% rename from src/app/views/admin/pool_families/_list.haml rename to src/app/views/pool_families/_list.haml diff --git a/src/app/views/admin/pool_families/_permissions.haml b/src/app/views/pool_families/_permissions.haml similarity index 100% rename from src/app/views/admin/pool_families/_permissions.haml rename to src/app/views/pool_families/_permissions.haml diff --git a/src/app/views/admin/pool_families/_pools.haml b/src/app/views/pool_families/_pools.haml similarity index 100% rename from src/app/views/admin/pool_families/_pools.haml rename to src/app/views/pool_families/_pools.haml diff --git a/src/app/views/admin/pool_families/_properties.haml b/src/app/views/pool_families/_properties.haml similarity index 100% rename from src/app/views/admin/pool_families/_properties.haml rename to src/app/views/pool_families/_properties.haml diff --git a/src/app/views/admin/pool_families/_provider_accounts.haml b/src/app/views/pool_families/_provider_accounts.haml similarity index 100% rename from src/app/views/admin/pool_families/_provider_accounts.haml rename to src/app/views/pool_families/_provider_accounts.haml diff --git a/src/app/views/admin/pool_families/edit.haml b/src/app/views/pool_families/edit.haml similarity index 100% rename from src/app/views/admin/pool_families/edit.haml rename to src/app/views/pool_families/edit.haml diff --git a/src/app/views/admin/providers/index.haml b/src/app/views/pool_families/index.haml similarity index 100% rename from src/app/views/admin/providers/index.haml rename to src/app/views/pool_families/index.haml diff --git a/src/app/views/admin/pool_families/new.haml b/src/app/views/pool_families/new.haml similarity index 100% rename from src/app/views/admin/pool_families/new.haml rename to src/app/views/pool_families/new.haml diff --git a/src/app/views/admin/pool_families/show.haml b/src/app/views/pool_families/show.haml similarity index 100% rename from src/app/views/admin/pool_families/show.haml rename to src/app/views/pool_families/show.haml diff --git a/src/app/views/resources/pools/_deployments.haml b/src/app/views/pools/_deployments.haml similarity index 100% rename from src/app/views/resources/pools/_deployments.haml rename to src/app/views/pools/_deployments.haml diff --git a/src/app/views/resources/pools/_history.haml b/src/app/views/pools/_history.haml similarity index 100% rename from src/app/views/resources/pools/_history.haml rename to src/app/views/pools/_history.haml diff --git a/src/app/views/resources/pools/_instances.haml b/src/app/views/pools/_instances.haml similarity index 100% rename from src/app/views/resources/pools/_instances.haml rename to src/app/views/pools/_instances.haml diff --git a/src/app/views/resources/pools/_list.haml b/src/app/views/pools/_list.haml similarity index 100% rename from src/app/views/resources/pools/_list.haml rename to src/app/views/pools/_list.haml diff --git a/src/app/views/resources/pools/_permissions.haml b/src/app/views/pools/_permissions.haml similarity index 100% rename from src/app/views/resources/pools/_permissions.haml rename to src/app/views/pools/_permissions.haml diff --git a/src/app/views/resources/pools/_properties.haml b/src/app/views/pools/_properties.haml similarity index 100% rename from src/app/views/resources/pools/_properties.haml rename to src/app/views/pools/_properties.haml diff --git a/src/app/views/resources/pools/edit.haml b/src/app/views/pools/edit.haml similarity index 100% rename from src/app/views/resources/pools/edit.haml rename to src/app/views/pools/edit.haml diff --git a/src/app/views/admin/realms/index.haml b/src/app/views/pools/index.haml similarity index 100% rename from src/app/views/admin/realms/index.haml rename to src/app/views/pools/index.haml diff --git a/src/app/views/resources/pools/new.haml b/src/app/views/pools/new.haml similarity index 100% rename from src/app/views/resources/pools/new.haml rename to src/app/views/pools/new.haml diff --git a/src/app/views/image_factory/templates/show.haml b/src/app/views/pools/show.haml similarity index 100% rename from src/app/views/image_factory/templates/show.haml rename to src/app/views/pools/show.haml diff --git a/src/app/views/admin/provider_accounts/_credentials.haml b/src/app/views/provider_accounts/_credentials.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_credentials.haml rename to src/app/views/provider_accounts/_credentials.haml diff --git a/src/app/views/admin/provider_accounts/_history.haml b/src/app/views/provider_accounts/_history.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_history.haml rename to src/app/views/provider_accounts/_history.haml diff --git a/src/app/views/admin/provider_accounts/_list.haml b/src/app/views/provider_accounts/_list.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_list.haml rename to src/app/views/provider_accounts/_list.haml diff --git a/src/app/views/admin/provider_accounts/_permissions.haml b/src/app/views/provider_accounts/_permissions.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_permissions.haml rename to src/app/views/provider_accounts/_permissions.haml diff --git a/src/app/views/admin/provider_accounts/_properties.haml b/src/app/views/provider_accounts/_properties.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_properties.haml rename to src/app/views/provider_accounts/_properties.haml diff --git a/src/app/views/admin/provider_accounts/_provider_form.haml b/src/app/views/provider_accounts/_provider_form.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_provider_form.haml rename to src/app/views/provider_accounts/_provider_form.haml diff --git a/src/app/views/admin/provider_accounts/_provider_selection.haml b/src/app/views/provider_accounts/_provider_selection.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_provider_selection.haml rename to src/app/views/provider_accounts/_provider_selection.haml diff --git a/src/app/views/admin/provider_accounts/_rhevm.haml b/src/app/views/provider_accounts/_rhevm.haml similarity index 100% rename from src/app/views/admin/provider_accounts/_rhevm.haml rename to src/app/views/provider_accounts/_rhevm.haml diff --git a/src/app/views/admin/provider_accounts/edit.haml b/src/app/views/provider_accounts/edit.haml similarity index 100% rename from src/app/views/admin/provider_accounts/edit.haml rename to src/app/views/provider_accounts/edit.haml diff --git a/src/app/views/admin/roles/index.haml b/src/app/views/provider_accounts/index.haml similarity index 100% rename from src/app/views/admin/roles/index.haml rename to src/app/views/provider_accounts/index.haml diff --git a/src/app/views/admin/provider_accounts/new.haml b/src/app/views/provider_accounts/new.haml similarity index 100% rename from src/app/views/admin/provider_accounts/new.haml rename to src/app/views/provider_accounts/new.haml diff --git a/src/app/views/resources/instances/show.haml b/src/app/views/provider_accounts/show.haml similarity index 100% rename from src/app/views/resources/instances/show.haml rename to src/app/views/provider_accounts/show.haml diff --git a/src/app/views/admin/providers/_form.haml b/src/app/views/providers/_form.haml similarity index 100% rename from src/app/views/admin/providers/_form.haml rename to src/app/views/providers/_form.haml diff --git a/src/app/views/admin/providers/_history.haml b/src/app/views/providers/_history.haml similarity index 100% rename from src/app/views/admin/providers/_history.haml rename to src/app/views/providers/_history.haml diff --git a/src/app/views/admin/providers/_hw_profiles.haml b/src/app/views/providers/_hw_profiles.haml similarity index 100% rename from src/app/views/admin/providers/_hw_profiles.haml rename to src/app/views/providers/_hw_profiles.haml diff --git a/src/app/views/admin/providers/_list.haml b/src/app/views/providers/_list.haml similarity index 100% rename from src/app/views/admin/providers/_list.haml rename to src/app/views/providers/_list.haml diff --git a/src/app/views/admin/providers/_permissions.haml b/src/app/views/providers/_permissions.haml similarity index 100% rename from src/app/views/admin/providers/_permissions.haml rename to src/app/views/providers/_permissions.haml diff --git a/src/app/views/admin/providers/_properties.haml b/src/app/views/providers/_properties.haml similarity index 100% rename from src/app/views/admin/providers/_properties.haml rename to src/app/views/providers/_properties.haml diff --git a/src/app/views/admin/providers/_provider_accounts.haml b/src/app/views/providers/_provider_accounts.haml similarity index 100% rename from src/app/views/admin/providers/_provider_accounts.haml rename to src/app/views/providers/_provider_accounts.haml diff --git a/src/app/views/admin/providers/_realms.haml b/src/app/views/providers/_realms.haml similarity index 100% rename from src/app/views/admin/providers/_realms.haml rename to src/app/views/providers/_realms.haml diff --git a/src/app/views/admin/providers/_services.haml b/src/app/views/providers/_services.haml similarity index 100% rename from src/app/views/admin/providers/_services.haml rename to src/app/views/providers/_services.haml diff --git a/src/app/views/admin/providers/edit.haml b/src/app/views/providers/edit.haml similarity index 100% rename from src/app/views/admin/providers/edit.haml rename to src/app/views/providers/edit.haml diff --git a/src/app/views/admin/users/index.haml b/src/app/views/providers/index.haml similarity index 100% rename from src/app/views/admin/users/index.haml rename to src/app/views/providers/index.haml diff --git a/src/app/views/admin/providers/new.haml b/src/app/views/providers/new.haml similarity index 100% rename from src/app/views/admin/providers/new.haml rename to src/app/views/providers/new.haml diff --git a/src/app/views/admin/providers/show.haml b/src/app/views/providers/show.haml similarity index 100% rename from src/app/views/admin/providers/show.haml rename to src/app/views/providers/show.haml diff --git a/src/app/views/admin/realm_mappings/new.haml b/src/app/views/realm_mappings/new.haml similarity index 100% rename from src/app/views/admin/realm_mappings/new.haml rename to src/app/views/realm_mappings/new.haml diff --git a/src/app/views/admin/realm_mappings/show.haml b/src/app/views/realm_mappings/show.haml similarity index 100% rename from src/app/views/admin/realm_mappings/show.haml rename to src/app/views/realm_mappings/show.haml diff --git a/src/app/views/admin/realms/_form.haml b/src/app/views/realms/_form.haml similarity index 100% rename from src/app/views/admin/realms/_form.haml rename to src/app/views/realms/_form.haml diff --git a/src/app/views/admin/realms/_list.haml b/src/app/views/realms/_list.haml similarity index 100% rename from src/app/views/admin/realms/_list.haml rename to src/app/views/realms/_list.haml diff --git a/src/app/views/admin/realms/_mapping.haml b/src/app/views/realms/_mapping.haml similarity index 100% rename from src/app/views/admin/realms/_mapping.haml rename to src/app/views/realms/_mapping.haml diff --git a/src/app/views/admin/realms/_properties.haml b/src/app/views/realms/_properties.haml similarity index 100% rename from src/app/views/admin/realms/_properties.haml rename to src/app/views/realms/_properties.haml diff --git a/src/app/views/admin/realms/edit.haml b/src/app/views/realms/edit.haml similarity index 100% rename from src/app/views/admin/realms/edit.haml rename to src/app/views/realms/edit.haml diff --git a/src/app/views/image_factory/deployables/index.haml b/src/app/views/realms/index.haml similarity index 100% rename from src/app/views/image_factory/deployables/index.haml rename to src/app/views/realms/index.haml diff --git a/src/app/views/admin/realms/new.haml b/src/app/views/realms/new.haml similarity index 100% rename from src/app/views/admin/realms/new.haml rename to src/app/views/realms/new.haml diff --git a/src/app/views/admin/realms/show.haml b/src/app/views/realms/show.haml similarity index 100% rename from src/app/views/admin/realms/show.haml rename to src/app/views/realms/show.haml diff --git a/src/app/views/admin/roles/_form.haml b/src/app/views/roles/_form.haml similarity index 100% rename from src/app/views/admin/roles/_form.haml rename to src/app/views/roles/_form.haml diff --git a/src/app/views/admin/roles/_list.haml b/src/app/views/roles/_list.haml similarity index 100% rename from src/app/views/admin/roles/_list.haml rename to src/app/views/roles/_list.haml diff --git a/src/app/views/admin/roles/_properties.haml b/src/app/views/roles/_properties.haml similarity index 100% rename from src/app/views/admin/roles/_properties.haml rename to src/app/views/roles/_properties.haml diff --git a/src/app/views/admin/roles/edit.haml b/src/app/views/roles/edit.haml similarity index 100% rename from src/app/views/admin/roles/edit.haml rename to src/app/views/roles/edit.haml diff --git a/src/app/views/image_factory/templates/index.haml b/src/app/views/roles/index.haml similarity index 100% rename from src/app/views/image_factory/templates/index.haml rename to src/app/views/roles/index.haml diff --git a/src/app/views/admin/roles/new.haml b/src/app/views/roles/new.haml similarity index 100% rename from src/app/views/admin/roles/new.haml rename to src/app/views/roles/new.haml diff --git a/src/app/views/admin/settings/general_settings.haml b/src/app/views/settings/general_settings.haml similarity index 100% rename from src/app/views/admin/settings/general_settings.haml rename to src/app/views/settings/general_settings.haml diff --git a/src/app/views/admin/settings/index.haml b/src/app/views/settings/index.haml similarity index 100% rename from src/app/views/admin/settings/index.haml rename to src/app/views/settings/index.haml diff --git a/src/app/views/admin/settings/self_service.haml b/src/app/views/settings/self_service.haml similarity index 100% rename from src/app/views/admin/settings/self_service.haml rename to src/app/views/settings/self_service.haml diff --git a/src/app/views/image_factory/templates/_addbuttons.haml b/src/app/views/templates/_addbuttons.haml similarity index 100% rename from src/app/views/image_factory/templates/_addbuttons.haml rename to src/app/views/templates/_addbuttons.haml diff --git a/src/app/views/image_factory/templates/_basics.haml b/src/app/views/templates/_basics.haml similarity index 100% rename from src/app/views/image_factory/templates/_basics.haml rename to src/app/views/templates/_basics.haml diff --git a/src/app/views/image_factory/templates/_builds.haml b/src/app/views/templates/_builds.haml similarity index 100% rename from src/app/views/image_factory/templates/_builds.haml rename to src/app/views/templates/_builds.haml diff --git a/src/app/views/image_factory/templates/_collections.haml b/src/app/views/templates/_collections.haml similarity index 100% rename from src/app/views/image_factory/templates/_collections.haml rename to src/app/views/templates/_collections.haml diff --git a/src/app/views/image_factory/templates/_form.haml b/src/app/views/templates/_form.haml similarity index 100% rename from src/app/views/image_factory/templates/_form.haml rename to src/app/views/templates/_form.haml diff --git a/src/app/views/image_factory/templates/_hidden_fields.haml b/src/app/views/templates/_hidden_fields.haml similarity index 100% rename from src/app/views/image_factory/templates/_hidden_fields.haml rename to src/app/views/templates/_hidden_fields.haml diff --git a/src/app/views/image_factory/templates/_list.haml b/src/app/views/templates/_list.haml similarity index 100% rename from src/app/views/image_factory/templates/_list.haml rename to src/app/views/templates/_list.haml diff --git a/src/app/views/image_factory/templates/_local_content_to_bundle.haml b/src/app/views/templates/_local_content_to_bundle.haml similarity index 100% rename from src/app/views/image_factory/templates/_local_content_to_bundle.haml rename to src/app/views/templates/_local_content_to_bundle.haml diff --git a/src/app/views/image_factory/templates/_managed_content.haml b/src/app/views/templates/_managed_content.haml similarity index 100% rename from src/app/views/image_factory/templates/_managed_content.haml rename to src/app/views/templates/_managed_content.haml diff --git a/src/app/views/image_factory/templates/_metagroup_packages.haml b/src/app/views/templates/_metagroup_packages.haml similarity index 100% rename from src/app/views/image_factory/templates/_metagroup_packages.haml rename to src/app/views/templates/_metagroup_packages.haml diff --git a/src/app/views/image_factory/templates/_metagroups.haml b/src/app/views/templates/_metagroups.haml similarity index 100% rename from src/app/views/image_factory/templates/_metagroups.haml rename to src/app/views/templates/_metagroups.haml diff --git a/src/app/views/image_factory/templates/_preboot_configuration.haml b/src/app/views/templates/_preboot_configuration.haml similarity index 100% rename from src/app/views/image_factory/templates/_preboot_configuration.haml rename to src/app/views/templates/_preboot_configuration.haml diff --git a/src/app/views/image_factory/templates/_properties.haml b/src/app/views/templates/_properties.haml similarity index 100% rename from src/app/views/image_factory/templates/_properties.haml rename to src/app/views/templates/_properties.haml diff --git a/src/app/views/image_factory/templates/_search_packages.haml b/src/app/views/templates/_search_packages.haml similarity index 100% rename from src/app/views/image_factory/templates/_search_packages.haml rename to src/app/views/templates/_search_packages.haml diff --git a/src/app/views/image_factory/templates/_software_selection.haml b/src/app/views/templates/_software_selection.haml similarity index 100% rename from src/app/views/image_factory/templates/_software_selection.haml rename to src/app/views/templates/_software_selection.haml diff --git a/src/app/views/image_factory/templates/collections.haml b/src/app/views/templates/collections.haml similarity index 100% rename from src/app/views/image_factory/templates/collections.haml rename to src/app/views/templates/collections.haml diff --git a/src/app/views/image_factory/templates/edit.haml b/src/app/views/templates/edit.haml similarity index 100% rename from src/app/views/image_factory/templates/edit.haml rename to src/app/views/templates/edit.haml diff --git a/src/app/views/resources/instances/index.haml b/src/app/views/templates/index.haml similarity index 100% rename from src/app/views/resources/instances/index.haml rename to src/app/views/templates/index.haml diff --git a/src/app/views/image_factory/templates/managed_content.haml b/src/app/views/templates/managed_content.haml similarity index 100% rename from src/app/views/image_factory/templates/managed_content.haml rename to src/app/views/templates/managed_content.haml diff --git a/src/app/views/image_factory/templates/metagroup_packages.haml b/src/app/views/templates/metagroup_packages.haml similarity index 100% rename from src/app/views/image_factory/templates/metagroup_packages.haml rename to src/app/views/templates/metagroup_packages.haml diff --git a/src/app/views/image_factory/templates/new.haml b/src/app/views/templates/new.haml similarity index 100% rename from src/app/views/image_factory/templates/new.haml rename to src/app/views/templates/new.haml diff --git a/src/app/views/image_factory/templates/search_packages.haml b/src/app/views/templates/search_packages.haml similarity index 100% rename from src/app/views/image_factory/templates/search_packages.haml rename to src/app/views/templates/search_packages.haml diff --git a/src/app/views/resources/pools/show.haml b/src/app/views/templates/show.haml similarity index 100% rename from src/app/views/resources/pools/show.haml rename to src/app/views/templates/show.haml diff --git a/src/app/views/admin/users/_form.haml b/src/app/views/users/_form.haml similarity index 100% rename from src/app/views/admin/users/_form.haml rename to src/app/views/users/_form.haml diff --git a/src/app/views/admin/users/_list.haml b/src/app/views/users/_list.haml similarity index 100% rename from src/app/views/admin/users/_list.haml rename to src/app/views/users/_list.haml diff --git a/src/app/views/admin/users/_properties.haml b/src/app/views/users/_properties.haml similarity index 100% rename from src/app/views/admin/users/_properties.haml rename to src/app/views/users/_properties.haml diff --git a/src/app/views/admin/users/edit.haml b/src/app/views/users/edit.haml similarity index 100% rename from src/app/views/admin/users/edit.haml rename to src/app/views/users/edit.haml diff --git a/src/app/views/resources/pools/index.haml b/src/app/views/users/index.haml similarity index 100% rename from src/app/views/resources/pools/index.haml rename to src/app/views/users/index.haml diff --git a/src/app/views/admin/users/new.haml b/src/app/views/users/new.haml similarity index 100% rename from src/app/views/admin/users/new.haml rename to src/app/views/users/new.haml
From: Jiri Tomasek jtomasek@redhat.com
Signed-off-by: Matt Wagner matt.wagner@redhat.com --- src/app/controllers/builds_controller.rb | 8 +- src/app/controllers/deployables_controller.rb | 10 ++-- src/app/controllers/deployments_controller.rb | 6 +- .../controllers/hardware_profiles_controller.rb | 8 +- src/app/controllers/image_imports_controller.rb | 2 +- src/app/controllers/instances_controller.rb | 12 ++-- src/app/controllers/pool_families_controller.rb | 10 ++-- src/app/controllers/pools_controller.rb | 2 +- .../controllers/provider_accounts_controller.rb | 8 +- src/app/controllers/providers_controller.rb | 6 +- src/app/controllers/realm_mappings_controller.rb | 8 +- src/app/controllers/realms_controller.rb | 8 +- src/app/controllers/roles_controller.rb | 8 +- src/app/controllers/templates_controller.rb | 6 +- src/app/controllers/users_controller.rb | 8 +- src/app/helpers/providers_helper.rb | 2 +- src/app/views/assemblies/index.haml | 2 +- src/app/views/deployables/_assemblies.haml | 4 +- src/app/views/deployables/_deployments.haml | 2 +- src/app/views/deployables/_form.haml | 2 +- src/app/views/deployables/_list.haml | 8 +- src/app/views/deployables/_pick_assemblies.haml | 6 +- src/app/views/deployables/_properties.haml | 4 +- src/app/views/deployables/edit.haml | 2 +- src/app/views/deployables/new.haml | 2 +- src/app/views/deployments/_list.haml | 20 +++--- src/app/views/deployments/launch_new.haml | 4 +- src/app/views/deployments/new.haml | 2 +- src/app/views/hardware_profiles/_list.haml | 6 +- .../_matching_provider_hardware_profiles.haml | 6 +- src/app/views/hardware_profiles/_properties.haml | 2 +- src/app/views/hardware_profiles/edit.haml | 2 +- src/app/views/hardware_profiles/new.haml | 4 +- src/app/views/image_imports/new.haml | 4 +- src/app/views/instances/_list.haml | 8 +- src/app/views/instances/_properties.haml | 2 +- src/app/views/instances/new.haml | 2 +- src/app/views/instances/select_template.haml | 2 +- src/app/views/layouts/_header.haml | 2 +- src/app/views/pool_families/_list.haml | 6 +- src/app/views/pool_families/_properties.haml | 2 +- .../views/pool_families/_provider_accounts.haml | 4 +- src/app/views/pool_families/edit.haml | 4 +- src/app/views/pool_families/new.haml | 4 +- src/app/views/pools/_instances.haml | 12 ++-- src/app/views/pools/_list.haml | 6 +- src/app/views/pools/_properties.haml | 2 +- src/app/views/pools/new.haml | 2 +- src/app/views/provider_accounts/_list.haml | 6 +- src/app/views/provider_accounts/_properties.haml | 4 +- .../provider_accounts/_provider_selection.haml | 4 +- src/app/views/provider_accounts/edit.haml | 2 +- src/app/views/provider_accounts/new.haml | 2 +- src/app/views/providers/_list.haml | 6 +- src/app/views/providers/_properties.haml | 4 +- src/app/views/providers/edit.haml | 4 +- src/app/views/providers/new.haml | 4 +- src/app/views/realm_mappings/new.haml | 2 +- src/app/views/realms/_list.haml | 6 +- src/app/views/realms/_mapping.haml | 6 +- src/app/views/realms/_properties.haml | 2 +- src/app/views/realms/edit.haml | 2 +- src/app/views/realms/new.haml | 4 +- src/app/views/roles/_form.haml | 2 +- src/app/views/roles/_list.haml | 6 +- src/app/views/roles/_properties.haml | 2 +- src/app/views/roles/edit.haml | 2 +- src/app/views/roles/new.haml | 2 +- src/app/views/settings/index.haml | 4 +- src/app/views/templates/_addbuttons.haml | 4 +- src/app/views/templates/_builds.haml | 8 +- src/app/views/templates/_form.haml | 2 +- src/app/views/templates/_list.haml | 6 +- src/app/views/templates/_managed_content.haml | 2 +- src/app/views/templates/_metagroups.haml | 4 +- src/app/views/templates/_properties.haml | 2 +- src/app/views/templates/edit.haml | 6 +- src/app/views/templates/new.haml | 6 +- .../views/templates/xml/_hardware_profile.xml.haml | 4 +- src/app/views/users/_list.haml | 18 +++--- src/app/views/users/_properties.haml | 2 +- src/app/views/users/edit.haml | 4 +- src/app/views/users/new.haml | 4 +- src/classad_plugin/conductor_classad_plugin.cpp | 2 +- src/config/navigation.rb | 36 ++++++------ src/config/routes.rb | 63 +++++++++----------- src/features/deployable.feature | 28 ++++---- src/features/deployable_permissions.feature | 24 ++++---- src/features/deployment.feature | 6 +- src/features/image_import.feature | 10 ++-- src/features/pool.feature | 22 ++++---- src/features/pool_family.feature | 16 +++--- src/features/provider.feature | 20 +++--- src/features/provider_account.feature | 18 +++--- src/features/realm.feature | 18 +++--- src/features/role.feature | 12 ++-- src/features/settings.feature | 8 +- src/features/step_definitions/api_steps.rb | 4 +- src/features/step_definitions/instance_steps.rb | 6 +- src/features/step_definitions/template_steps.rb | 2 +- src/features/support/paths.rb | 34 +++++----- src/features/template.feature | 48 ++++++++-------- src/features/user.feature | 16 +++--- src/spec/controllers/builds_controller_spec.rb | 2 +- .../hardware_profiles_controller_spec.rb | 2 +- src/spec/controllers/instance_controller_spec.rb | 4 +- src/spec/controllers/pools_controller_spec.rb | 4 +- .../provider_accounts_controller_spec.rb | 6 +- src/spec/controllers/provider_controller_spec.rb | 6 +- src/spec/controllers/templates_controller_spec.rb | 2 +- src/spec/controllers/users_controller_spec.rb | 4 +- 111 files changed, 408 insertions(+), 415 deletions(-)
diff --git a/src/app/controllers/builds_controller.rb b/src/app/controllers/builds_controller.rb index 3572a45..4535439 100644 --- a/src/app/controllers/builds_controller.rb +++ b/src/app/controllers/builds_controller.rb @@ -18,7 +18,7 @@ class BuildsController < ApplicationController logger.error $!.message logger.error $!.backtrace.join("\n ") end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def upload @@ -29,13 +29,13 @@ class BuildsController < ApplicationController :status => ProviderImage::STATE_QUEUED ) Delayed::Job.enqueue(PushJob.new(pimg.id)) - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def delete @tpl = Template.find(params[:template_id]) # FIXME: add logic to delete image when v2 image factory lands - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def edit @@ -76,7 +76,7 @@ class BuildsController < ApplicationController logger.error $!.message logger.error $!.backtrace.join("\n ") end - redirect_to image_factory_template_path(@tpl, :details_tab => 'builds') + redirect_to template_path(@tpl, :details_tab => 'builds') end
def update_status diff --git a/src/app/controllers/deployables_controller.rb b/src/app/controllers/deployables_controller.rb index 22332f5..40a0a04 100644 --- a/src/app/controllers/deployables_controller.rb +++ b/src/app/controllers/deployables_controller.rb @@ -44,7 +44,7 @@ class DeployablesController < ApplicationController @deployable.owner = current_user if @deployable.save flash[:notice] = "Deployable added." - redirect_to image_factory_deployable_url(@deployable) + redirect_to deployable_url(@deployable) else render :action => :new end @@ -60,7 +60,7 @@ class DeployablesController < ApplicationController require_privilege(Privilege::MODIFY, @deployable) if @deployable.update_attributes(params[:deployable]) flash[:notice] = "Deployable updated." - redirect_to image_factory_deployable_url(@deployable) + redirect_to deployable_url(@deployable) else render :action => :edit end @@ -84,7 +84,7 @@ class DeployablesController < ApplicationController unless failed.empty? flash[:error] = t('deployables.index.not_deleted', :count => failed.length, :list => failed.join(', ')) end - redirect_to image_factory_deployables_url + redirect_to deployables_url end
def pick_assemblies @@ -105,7 +105,7 @@ class DeployablesController < ApplicationController end respond_to do |format| format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + format.html { redirect_to deployable_url(@deployable, :details_tab => 'assemblies') and return } end end
@@ -118,7 +118,7 @@ class DeployablesController < ApplicationController end respond_to do |format| format.js { render :partial => 'assemblies' } - format.html { redirect_to image_factory_deployable_url(@deployable, :details_tab => 'assemblies') and return } + format.html { redirect_to deployable_url(@deployable, :details_tab => 'assemblies') and return } end end
diff --git a/src/app/controllers/deployments_controller.rb b/src/app/controllers/deployments_controller.rb index 8fe4cd0..6bfb78b 100644 --- a/src/app/controllers/deployments_controller.rb +++ b/src/app/controllers/deployments_controller.rb @@ -17,7 +17,7 @@ class DeploymentsController < ApplicationController @deployment = Deployment.new(:deployable_id => params[:deployable_id]) if @deployment.deployable.assemblies.empty? flash[:warning] = "Deployable must have at least one assembly" - redirect_to resources_deployments_path + redirect_to deployments_path else init_new_deployment_attrs end @@ -36,7 +36,7 @@ class DeploymentsController < ApplicationController :failures => errors } end - redirect_to resources_deployment_path(@deployment) + redirect_to deployment_path(@deployment) else flash.now[:warning] = "Deployment launch failed" init_new_deployment_attrs @@ -87,7 +87,7 @@ class DeploymentsController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_deployments_path + redirect_to deployments_path end
private diff --git a/src/app/controllers/hardware_profiles_controller.rb b/src/app/controllers/hardware_profiles_controller.rb index 54f7e8f..6bbbc90 100644 --- a/src/app/controllers/hardware_profiles_controller.rb +++ b/src/app/controllers/hardware_profiles_controller.rb @@ -62,7 +62,7 @@ class HardwareProfilesController < ApplicationController build_hardware_profile(params[:hardware_profile]) if params[:commit] == 'Save' if @hardware_profile.save! - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path else params.delete :commit render :action => 'create' @@ -87,7 +87,7 @@ class HardwareProfilesController < ApplicationController
def update if params[:commit] == "Reset" - redirect_to edit_admin_hardware_profile_url(@hardware_profile) and return + redirect_to edit_hardware_profile_url(@hardware_profile) and return end
if params[:id] @@ -104,7 +104,7 @@ class HardwareProfilesController < ApplicationController render :action => 'edit' and return else flash[:notice] = "Hardware Profile updated!" - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path end kick_condor end @@ -112,7 +112,7 @@ class HardwareProfilesController < ApplicationController def multi_destroy HardwareProfile.destroy(params[:hardware_profile_selected]) kick_condor - redirect_to admin_hardware_profiles_path + redirect_to hardware_profiles_path end
private diff --git a/src/app/controllers/image_imports_controller.rb b/src/app/controllers/image_imports_controller.rb index 24d286b..8cff787 100644 --- a/src/app/controllers/image_imports_controller.rb +++ b/src/app/controllers/image_imports_controller.rb @@ -9,7 +9,7 @@ class ImageImportsController < ApplicationController begin Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id], current_user) flash[:notice]="Image successfully imported" - redirect_to image_factory_templates_path + redirect_to templates_path kick_condor rescue Exception => e init_provider_vars diff --git a/src/app/controllers/instances_controller.rb b/src/app/controllers/instances_controller.rb index 42e0e01..6e675df 100644 --- a/src/app/controllers/instances_controller.rb +++ b/src/app/controllers/instances_controller.rb @@ -22,7 +22,7 @@ class InstancesController < ApplicationController require_privilege(Privilege::CREATE, Instance, @instance.pool) if @instance.pool
unless @instance.template - redirect_to select_template_resources_instances_path + redirect_to select_template_instances_path return end
@@ -41,7 +41,7 @@ class InstancesController < ApplicationController
def create if params[:cancel] - redirect_to select_template_resources_instances_path + redirect_to select_template_instances_path return end
@@ -72,7 +72,7 @@ class InstancesController < ApplicationController else flash[:warning] = "Quota Exceeded: Instance will not start until you have free quota" end - redirect_to resources_instances_path + redirect_to instances_path end end
@@ -103,7 +103,7 @@ class InstancesController < ApplicationController return end flash[:warning] = "SSH Key not found for this Instance." - redirect_to resources_instance_path(@instance) + redirect_to instance_path(@instance) end
def multi_stop @@ -130,7 +130,7 @@ class InstancesController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path + redirect_to instances_path end
def remove_failed @@ -149,7 +149,7 @@ class InstancesController < ApplicationController end flash[:notice] = notices unless notices.blank? flash[:error] = errors unless errors.blank? - redirect_to resources_instances_path + redirect_to instances_path end
def can_create diff --git a/src/app/controllers/pool_families_controller.rb b/src/app/controllers/pool_families_controller.rb index 3d1a5fd..d38a04d 100644 --- a/src/app/controllers/pool_families_controller.rb +++ b/src/app/controllers/pool_families_controller.rb @@ -29,7 +29,7 @@ class PoolFamiliesController < ApplicationController else @pool_family.assign_owner_roles(current_user) flash[:notice] = "Pool family was added." - redirect_to admin_pool_families_path + redirect_to pool_families_path end end
@@ -45,7 +45,7 @@ class PoolFamiliesController < ApplicationController render :action => 'edit' and return else flash[:notice] = "Pool Family was updated!" - redirect_to admin_pool_families_path + redirect_to pool_families_path end end
@@ -70,7 +70,7 @@ class PoolFamiliesController < ApplicationController
@pool_family.provider_accounts << @provider_account flash[:notice] = "Provider Account has been added" - redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + redirect_to pool_family_path(@pool_family, :details_tab => 'provider_accounts') end
def multi_destroy @@ -89,7 +89,7 @@ class PoolFamiliesController < ApplicationController if not_deleted.size > 0 flash[:error] = t 'pool_families.index.not_deleted', :list => not_deleted.join(', ') end - redirect_to admin_pool_families_path + redirect_to pool_families_path end
def multi_destroy_provider_accounts @@ -99,7 +99,7 @@ class PoolFamiliesController < ApplicationController @pool_family.provider_accounts.delete provider_account end
- redirect_to admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + redirect_to pool_family_path(@pool_family, :details_tab => 'provider_accounts') end
protected diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb index ecfff29..7706902 100644 --- a/src/app/controllers/pools_controller.rb +++ b/src/app/controllers/pools_controller.rb @@ -108,7 +108,7 @@ class PoolsController < ApplicationController unless error_messages.empty? flash[:error] = error_messages.join('<br />') end - redirect_to resources_pools_url + redirect_to pools_url end
protected diff --git a/src/app/controllers/provider_accounts_controller.rb b/src/app/controllers/provider_accounts_controller.rb index 438e7ee..1fa0277 100644 --- a/src/app/controllers/provider_accounts_controller.rb +++ b/src/app/controllers/provider_accounts_controller.rb @@ -71,7 +71,7 @@ class ProviderAccountsController < ApplicationController if @provider_account.populate_realms flash[:notice] = "Provider account added." end - redirect_to admin_provider_account_path(@provider_account) + redirect_to provider_account_path(@provider_account) kick_condor end
@@ -95,7 +95,7 @@ class ProviderAccountsController < ApplicationController @provider_account.quota.set_maximum_running_instances(limit) if @provider_account.update_attributes(params[:provider_account]) flash[:notice] = "Provider Account updated!" - redirect_to admin_provider_account_path(@provider_account) + redirect_to provider_account_path(@provider_account) else flash[:error] = "Provider Account wasn't updated!" render :action => :edit @@ -105,7 +105,7 @@ class ProviderAccountsController < ApplicationController def multi_destroy if params[:accounts_selected].blank? flash[:notice] = "You must select some accounts first." - redirect_to admin_provider_accounts_url and return + redirect_to provider_accounts_url and return end
succeeded = [] @@ -126,7 +126,7 @@ class ProviderAccountsController < ApplicationController flash[:error] = t 'provider_accounts.index.account_not_deleted', :count => failed.length, :list => failed.join(', ') end kick_condor - redirect_to admin_provider_accounts_url + redirect_to provider_accounts_url end
def set_selected_provider diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb index 9bbbf8c..f2ad3bf 100644 --- a/src/app/controllers/providers_controller.rb +++ b/src/app/controllers/providers_controller.rb @@ -67,7 +67,7 @@ class ProvidersController < ApplicationController if @provider.save && @provider.populate_hardware_profiles @provider.assign_owner_roles(current_user) flash[:notice] = "Provider added." - redirect_to admin_providers_path + redirect_to providers_path else flash[:notice] = "Cannot add the provider." render :action => "new" @@ -86,7 +86,7 @@ class ProvidersController < ApplicationController else if @provider.errors.empty? and @provider.save flash[:notice] = "Provider updated." - redirect_to admin_providers_path + redirect_to providers_path else flash[:notice] = "Cannot update the provider." render :action => 'edit' @@ -100,7 +100,7 @@ class ProvidersController < ApplicationController provider.destroy if check_privilege(Privilege::MODIFY, provider) end kick_condor - redirect_to admin_providers_url + redirect_to providers_url end
def test_connection(provider) diff --git a/src/app/controllers/realm_mappings_controller.rb b/src/app/controllers/realm_mappings_controller.rb index 226cdf9..0af86d0 100644 --- a/src/app/controllers/realm_mappings_controller.rb +++ b/src/app/controllers/realm_mappings_controller.rb @@ -12,8 +12,8 @@ class RealmMappingsController < ApplicationController @realm_target = RealmBackendTarget.new(params[:realm_backend_target]) if @realm_target.save flash[:notice] = "Realm mapping was added." - redirect_to admin_realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return - #redirect_to admin_realms_path and return + redirect_to realm_path(@realm_target.frontend_realm, :details_tab => 'mapping') and return + #redirect_to realms_path and return end
load_backend_targets @@ -24,11 +24,11 @@ class RealmMappingsController < ApplicationController require_privilege(Privilege::MODIFY, Realm) if params[:id].blank? flash[:error] = 'You must select at least one mapping to delete.' - redirect_to admin_realm_path(params[:frontend_realm_id], :details_tab => 'mapping') + redirect_to realm_path(params[:frontend_realm_id], :details_tab => 'mapping') else # TODO: add permissions checks destroyed = RealmBackendTarget.destroy(params[:id]) - redirect_to admin_realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') + redirect_to realm_path(destroyed.first.frontend_realm_id, :details_tab => 'mapping') end end
diff --git a/src/app/controllers/realms_controller.rb b/src/app/controllers/realms_controller.rb index 7f05ff7..0d782fd 100644 --- a/src/app/controllers/realms_controller.rb +++ b/src/app/controllers/realms_controller.rb @@ -19,12 +19,12 @@ class RealmsController < ApplicationController @realm = FrontendRealm.find(params[:id])
if params[:commit] == "Reset" - redirect_to edit_admin_realm_url(@realm) and return + redirect_to edit_realm_url(@realm) and return end
if @realm.update_attributes(params[:frontend_realm]) flash[:notice] = 'Realm updated successfully!' - redirect_to admin_realms_url and return + redirect_to realms_url and return end
load_backend_realms @@ -36,7 +36,7 @@ class RealmsController < ApplicationController @realm = FrontendRealm.new(params[:frontend_realm]) if @realm.save flash[:notice] = "Realm was added." - redirect_to admin_realms_path and return + redirect_to realms_path and return end
load_backend_realms @@ -50,7 +50,7 @@ class RealmsController < ApplicationController require_privilege(Privilege::MODIFY, Realm) FrontendRealm.destroy(params[:id]) end - redirect_to admin_realms_path + redirect_to realms_path end
def show diff --git a/src/app/controllers/roles_controller.rb b/src/app/controllers/roles_controller.rb index a0ac666..e8a08b0 100644 --- a/src/app/controllers/roles_controller.rb +++ b/src/app/controllers/roles_controller.rb @@ -30,7 +30,7 @@ class RolesController < ApplicationController
if @role.save flash[:notice] = 'Role successfully saved!' - redirect_to admin_roles_path and return + redirect_to roles_path and return end
render :action => 'new' @@ -64,12 +64,12 @@ class RolesController < ApplicationController @role = Role.find(params[:id])
if params[:commit] == "Reset" - redirect_to edit_admin_role_url(@role) and return + redirect_to edit_role_url(@role) and return end
if @role.update_attributes(params[:role]) flash[:notice] = 'Role updated successfully!' - redirect_to admin_roles_url and return + redirect_to roles_url and return end
render :action => 'edit' @@ -78,7 +78,7 @@ class RolesController < ApplicationController def multi_destroy require_privilege(Privilege::PERM_SET) Role.destroy(params[:role_selected]) - redirect_to admin_roles_url + redirect_to roles_url end
protected diff --git a/src/app/controllers/templates_controller.rb b/src/app/controllers/templates_controller.rb index 786f55a..53e17b7 100644 --- a/src/app/controllers/templates_controller.rb +++ b/src/app/controllers/templates_controller.rb @@ -80,7 +80,7 @@ class TemplatesController < ApplicationController if params[:create_deployable] Deployable.create!(:name => @tpl.name, :assemblies => @tpl.assemblies, :owner => current_user) end - redirect_to image_factory_templates_path + redirect_to templates_path else @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) render :new @@ -96,7 +96,7 @@ class TemplatesController < ApplicationController if @tpl.update_attributes(params[:tpl]) @tpl.set_complete flash[:notice] = "Template updated." - redirect_to image_factory_templates_path + redirect_to templates_path else @repository_manager = RepositoryManager.new(:repositories => params[:repository] || @tpl.platform) render :action => 'edit' @@ -201,7 +201,7 @@ class TemplatesController < ApplicationController unless failed.empty? flash[:error] = t('templates.index.not_deleted', :count => failed.length, :list => failed.join(', ')) end - redirect_to image_factory_templates_url + redirect_to templates_url end
protected diff --git a/src/app/controllers/users_controller.rb b/src/app/controllers/users_controller.rb index 8e3484c..2d9459c 100644 --- a/src/app/controllers/users_controller.rb +++ b/src/app/controllers/users_controller.rb @@ -39,7 +39,7 @@ class UsersController < ApplicationController
if current_user != @user flash[:notice] = "User registered!" - redirect_to admin_users_url + redirect_to users_url else flash[:notice] = "You have successfully registered!" redirect_to root_url @@ -75,7 +75,7 @@ class UsersController < ApplicationController require_privilege(Privilege::MODIFY, User) unless @user == current_user
if params[:commit] == "Reset" - redirect_to edit_admin_user_url(@user) and return + redirect_to edit_user_url(@user) and return end
redirect_to root_url and return unless @user @@ -84,7 +84,7 @@ class UsersController < ApplicationController render :action => 'edit' and return else flash[:notice] = "User updated!" - redirect_to (@user == current_user) ? root_url : admin_users_url + redirect_to (@user == current_user) ? root_url : users_url end end
@@ -103,7 +103,7 @@ class UsersController < ApplicationController msg = "Deleted user#{'s' if deleted_users.length > 1}" flash[:notice] = "#{msg}: #{deleted_users.join(', ')}" end - redirect_to admin_users_url + redirect_to users_url end
protected diff --git a/src/app/helpers/providers_helper.rb b/src/app/helpers/providers_helper.rb index 3c0d348..cfc12b7 100644 --- a/src/app/helpers/providers_helper.rb +++ b/src/app/helpers/providers_helper.rb @@ -2,7 +2,7 @@ module ProvidersHelper
def edit_button(provider, action) if provider and action == 'show' - link_to 'Edit', edit_admin_provider_path(provider), :class => 'button', :id => 'edit_button' + link_to 'Edit', edit_provider_path(provider), :class => 'button', :id => 'edit_button' else content_tag('a', 'Edit', :href => '#', :class => 'button disabled') end diff --git a/src/app/views/assemblies/index.haml b/src/app/views/assemblies/index.haml index 766d92c..aba40ed 100644 --- a/src/app/views/assemblies/index.haml +++ b/src/app/views/assemblies/index.haml @@ -1 +1 @@ -image_factory/assemblies/index.haml +assemblies/index.haml diff --git a/src/app/views/deployables/_assemblies.haml b/src/app/views/deployables/_assemblies.haml index 9af208b..01bf09a 100644 --- a/src/app/views/deployables/_assemblies.haml +++ b/src/app/views/deployables/_assemblies.haml @@ -1,7 +1,7 @@ .grid_13 - form_tag do - = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_image_factory_deployable_path(@deployable), 'DELETE', :id => 'delete_button' - = link_to "Add Assembly...", pick_assemblies_image_factory_deployable_path(@deployable), :class => 'button', :id => 'add_assembly' + = restful_submit_tag "Remove Selected", 'destroy', remove_assemblies_deployable_path(@deployable), 'DELETE', :id => 'delete_button' + = link_to "Add Assembly...", pick_assemblies_deployable_path(@deployable), :class => 'button', :id => 'add_assembly'
%table#assemblies_table %thead diff --git a/src/app/views/deployables/_deployments.haml b/src/app/views/deployables/_deployments.haml index 77af2f9..d2ce11a 100644 --- a/src/app/views/deployables/_deployments.haml +++ b/src/app/views/deployables/_deployments.haml @@ -10,7 +10,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } - = link_to deployment.name, resources_deployment_path(deployment) + = link_to deployment.name, deployment_path(deployment) %td = deployment.deployable.name %td diff --git a/src/app/views/deployables/_form.haml b/src/app/views/deployables/_form.haml index 98c2232..bf54513 100644 --- a/src/app/views/deployables/_form.haml +++ b/src/app/views/deployables/_form.haml @@ -7,4 +7,4 @@ = form.text_area :summary, :class => "grid_5", :rows => 3 %fieldset.clearfix = form.submit "Save", :class => "submit formbutton" - = link_to t(:cancel), image_factory_deployables_path, :class => 'button formbutton' + = link_to t(:cancel), deployables_path, :class => 'button formbutton' diff --git a/src/app/views/deployables/_list.haml b/src/app/views/deployables/_list.haml index e2933f0..b0fb991 100644 --- a/src/app/views/deployables/_list.haml +++ b/src/app/views/deployables/_list.haml @@ -1,17 +1,17 @@ - form_tag do - = link_to "Create", new_image_factory_deployable_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_deployables_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_deployable_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_deployables_path, 'DELETE', :id => 'delete_button'
%table#deployables_table %thead %tr %th - %th= link_to "Name", image_factory_deployables_url(:sort_by => "name") + %th= link_to "Name", deployables_url(:sort_by => "name") -@deployables.each do |deployable| %tr %td %input{:name => "deployables_selected[]", :type => "checkbox", :value => deployable.id, :id => "deployable_checkbox_#{deployable.id}" } - %td= link_to deployable.name, image_factory_deployable_path(deployable) + %td= link_to deployable.name, deployable_path(deployable)
:javascript $(document).ready(function () { diff --git a/src/app/views/deployables/_pick_assemblies.haml b/src/app/views/deployables/_pick_assemblies.haml index cfaf30b..01e472b 100644 --- a/src/app/views/deployables/_pick_assemblies.haml +++ b/src/app/views/deployables/_pick_assemblies.haml @@ -1,5 +1,5 @@ .grid_13 - - form_tag(image_factory_deployable_path(@deployable)) do + - form_tag(deployable_path(@deployable)) do %table#assemblies_list %thead %tr @@ -12,5 +12,5 @@ %td= assembly.name
-# AJAX post - = restful_submit_tag('Save', 'add_assemblies', add_assemblies_image_factory_deployable_path(@deployable), 'PUT') - = link_to "Back", image_factory_deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' + = restful_submit_tag('Save', 'add_assemblies', add_assemblies_deployable_path(@deployable), 'PUT') + = link_to "Back", deployable_path(@deployable, :details_tab => 'assemblies'), :class => 'button' diff --git a/src/app/views/deployables/_properties.haml b/src/app/views/deployables/_properties.haml index ce50669..1fbf002 100644 --- a/src/app/views/deployables/_properties.haml +++ b/src/app/views/deployables/_properties.haml @@ -1,8 +1,8 @@ .grid_13 %h2 #{@deployable.name}
- = link_to 'Edit', edit_image_factory_deployable_path(@deployable), :class => 'button' + = link_to 'Edit', edit_deployable_path(@deployable), :class => 'button' - if @deployable.launchable? - = link_to "Launch", new_resources_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} + = link_to "Launch", new_deployment_path(:deployable_id => @deployable.id), {:class => 'button'} - else The deployable can't be launched - the deployable must have at least one assembly and each assembly must have at least one template. diff --git a/src/app/views/deployables/edit.haml b/src/app/views/deployables/edit.haml index fc47660..fd81aeb 100644 --- a/src/app/views/deployables/edit.haml +++ b/src/app/views/deployables/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Deployable: #{@deployable.name}
-- form_for @deployable, :url => image_factory_deployable_path(@deployable), :html => { :method => :put } do |f| +- form_for @deployable, :url => deployable_path(@deployable), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployables/new.haml b/src/app/views/deployables/new.haml index cc582a3..50abe11 100644 --- a/src/app/views/deployables/new.haml +++ b/src/app/views/deployables/new.haml @@ -1,3 +1,3 @@ %h2 New Deployable -- form_for @deployable, :url => image_factory_deployables_path do |f| +- form_for @deployable, :url => deployables_path do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/deployments/_list.haml b/src/app/views/deployments/_list.haml index 7b80677..2d89766 100644 --- a/src/app/views/deployments/_list.haml +++ b/src/app/views/deployments/_list.haml @@ -1,14 +1,14 @@ - form_tag do #object-actions - = restful_submit_tag "Start", "start", resources_deployments_path, "PUT" - = restful_submit_tag "Stop", "stop", multi_stop_resources_deployments_path, "GET" - = restful_submit_tag "Launch new", "launch_new", launch_new_resources_deployments_path, "GET" - = restful_submit_tag "Delete", "delete", resources_deployments_path, "DELETE" + = restful_submit_tag "Start", "start", deployments_path, "PUT" + = restful_submit_tag "Stop", "stop", multi_stop_deployments_path, "GET" + = restful_submit_tag "Launch new", "launch_new", launch_new_deployments_path, "GET" + = restful_submit_tag "Delete", "delete", deployments_path, "DELETE"
#search-actions - = restful_submit_tag "Save Search", "save_search", resources_deployments_path, "PUT" - = restful_submit_tag "Save Selection", "save_selection", resources_deployments_path, "PUT" - = restful_submit_tag "Export to File", "export", resources_deployments_path, "PUT" + = restful_submit_tag "Save Search", "save_search", deployments_path, "PUT" + = restful_submit_tag "Save Selection", "save_selection", deployments_path, "PUT" + = restful_submit_tag "Export to File", "export", deployments_path, "PUT"
%p Select: @@ -24,12 +24,12 @@ - selected = @url_params[:select] == 'all' %input{:name => "deployments_selected[]", :type => "checkbox", :value => deployment.id, :id => "deployment_checkbox_#{deployment.id}", :checked => selected } %td - = link_to deployment.name, resources_deployment_path(deployment) + = link_to deployment.name, deployment_path(deployment) %td - = link_to deployment.deployable.name, image_factory_deployable_path(deployment.deployable) + = link_to deployment.deployable.name, deployable_path(deployment.deployable) %td = deployment.owner.login %td = deployment.created_at %td - = link_to deployment.pool.name, resources_pool_path(deployment.pool) + = link_to deployment.pool.name, pool_path(deployment.pool) diff --git a/src/app/views/deployments/launch_new.haml b/src/app/views/deployments/launch_new.haml index 86cf47f..6edf475 100644 --- a/src/app/views/deployments/launch_new.haml +++ b/src/app/views/deployments/launch_new.haml @@ -1,6 +1,6 @@ %h2 Launch new deployment via -- form_tag new_resources_deployment_path, :method => :get do +- form_tag new_deployment_path, :method => :get do = label_tag "Deployable:" = select_tag :deployable_id, options_from_collection_for_select(@launchable_deployables, "id", "name") = submit_tag "Launch" - = link_to "Cancel", resources_deployments_path, :class => "button" + = link_to "Cancel", deployments_path, :class => "button" diff --git a/src/app/views/deployments/new.haml b/src/app/views/deployments/new.haml index 42e75fe..390840d 100644 --- a/src/app/views/deployments/new.haml +++ b/src/app/views/deployments/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'deployment' %h2 Launch deployable -- form_for @deployment, :url => resources_deployments_path do +- form_for @deployment, :url => deployments_path do = hidden_field :deployment, :deployable_id %ul %li diff --git a/src/app/views/hardware_profiles/_list.haml b/src/app/views/hardware_profiles/_list.haml index eee5ff1..339ec36 100644 --- a/src/app/views/hardware_profiles/_list.haml +++ b/src/app/views/hardware_profiles/_list.haml @@ -1,7 +1,7 @@ - form_tag do #object-actions - = link_to "New Hardware Profile", new_admin_hardware_profile_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_hardware_profiles_path, 'DELETE', :id => 'delete_button' + = link_to "New Hardware Profile", new_hardware_profile_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_hardware_profiles_path, 'DELETE', :id => 'delete_button' #selections %p Select: @@ -17,7 +17,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "hardware_profile_selected[]", :type => "checkbox", :value => hwp.id, :id => "hardware_profile_checkbox_#{hwp.id}", :checked => selected } - = link_to hwp.name, admin_hardware_profile_path(hwp) + = link_to hwp.name, hardware_profile_path(hwp) %td =hwp.architecture.to_s %td diff --git a/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml index 49c45e3..8384aa3 100644 --- a/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml +++ b/src/app/views/hardware_profiles/_matching_provider_hardware_profiles.haml @@ -8,9 +8,9 @@ %tr %td - if hwp.provider - = link_to hwp.provider.name, admin_provider_path(hwp.provider) + = link_to hwp.provider.name, provider_path(hwp.provider) %td - = link_to hwp.name, admin_hardware_profile_path(hwp) + = link_to hwp.name, hardware_profile_path(hwp) %td =hwp.architecture.to_s %td @@ -21,4 +21,4 @@ =hwp.cpu.to_s - else %h3 - No Matching Provider Hardware Profiles Could be found \ No newline at end of file + No Matching Provider Hardware Profiles Could be found diff --git a/src/app/views/hardware_profiles/_properties.haml b/src/app/views/hardware_profiles/_properties.haml index 0739b84..dd5a05b 100644 --- a/src/app/views/hardware_profiles/_properties.haml +++ b/src/app/views/hardware_profiles/_properties.haml @@ -1,6 +1,6 @@ %h3 = @hardware_profile.name + "(" + (@hardware_profile.provider_id.nil? ? "Front End" : "Provider" ) + ")" - = link_to 'Edit', edit_admin_hardware_profile_path(@hardware_profile), :class => 'button' + = link_to 'Edit', edit_hardware_profile_path(@hardware_profile), :class => 'button' %table = sortable_table_header @properties_header - @hwp_properties.each do |hwpp| diff --git a/src/app/views/hardware_profiles/edit.haml b/src/app/views/hardware_profiles/edit.haml index e32eebd..3fd0b73 100644 --- a/src/app/views/hardware_profiles/edit.haml +++ b/src/app/views/hardware_profiles/edit.haml @@ -1,7 +1,7 @@ - content_for :list do %h3 Edit Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| + -form_for @hardware_profile, :url => hardware_profile_path(@hardware_profile), :html => { :multipart => true } do |hwp_form| = render :partial => "form", :locals => { :hwp_form => hwp_form } - content_for :details do = render :partial => 'layouts/details_pane' diff --git a/src/app/views/hardware_profiles/new.haml b/src/app/views/hardware_profiles/new.haml index 3355c87..e19fb46 100644 --- a/src/app/views/hardware_profiles/new.haml +++ b/src/app/views/hardware_profiles/new.haml @@ -1,7 +1,7 @@ - content_for :list do %h3 New Hardware Profile - -form_for @hardware_profile, :url => admin_hardware_profiles_path, :html => { :multipart => true } do |hwp_form| + -form_for @hardware_profile, :url => hardware_profiles_path, :html => { :multipart => true } do |hwp_form| = render :partial => "form", :locals => { :hwp_form => hwp_form } - content_for :details do - = render :partial => 'layouts/details_pane' \ No newline at end of file + = render :partial => 'layouts/details_pane' diff --git a/src/app/views/image_imports/new.haml b/src/app/views/image_imports/new.haml index cebc7a7..8c18021 100644 --- a/src/app/views/image_imports/new.haml +++ b/src/app/views/image_imports/new.haml @@ -1,8 +1,8 @@ -- form_tag :image_factory_image_imports do +- form_tag :image_imports do %fieldset.clear = label_tag :provider_account_id, "Provider Account ID: " = select_tag :provider_account_id, option_groups_from_collection_for_select(@providers,:provider_accounts, :name, :id,:name) %fieldset.clear = label_tag :ami_id, "Image ID: " = text_field_tag :ami_id, params[:ami_id] - = restful_submit_tag "Import", 'create', image_factory_image_imports_path, 'POST', :class => "submit" + = restful_submit_tag "Import", 'create', image_imports_path, 'POST', :class => "submit" diff --git a/src/app/views/instances/_list.haml b/src/app/views/instances/_list.haml index 7a6cbc4..2c6f9d7 100644 --- a/src/app/views/instances/_list.haml +++ b/src/app/views/instances/_list.haml @@ -1,7 +1,7 @@ - form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' - = restful_submit_tag 'Create', 'new', select_template_resources_instances_path, 'GET' - = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_resources_instances_path, 'GET' + = restful_submit_tag 'Stop', 'stop', multi_stop_instances_path, 'GET' + = restful_submit_tag 'Create', 'new', select_template_instances_path, 'GET' + = restful_submit_tag 'Remove failed', 'remove_failed', remove_failed_instances_path, 'GET'
%p Select: @@ -15,7 +15,7 @@ %td - selected = params[:select] == 'all' %input{:name => 'instance_selected[]', :type => 'checkbox', :value => inst.id, :id => "instance_checkbox_#{inst.id}", :checked => selected } - = link_to inst.name, resources_instance_path(inst) + = link_to inst.name, instance_path(inst) %td= inst.state %td= inst.template ? inst.template.name : "#{inst.assembly.name} (assembly)" %td= inst.public_addresses diff --git a/src/app/views/instances/_properties.haml b/src/app/views/instances/_properties.haml index 2d93dbf..cc5877d 100644 --- a/src/app/views/instances/_properties.haml +++ b/src/app/views/instances/_properties.haml @@ -52,7 +52,7 @@ - if @instance.instance_key %li = label_tag :instance_key, 'SSH key' - %span= link_to("Download", key_resources_instance_path(@instance)) + %span= link_to("Download", key_instance_path(@instance)) %li = label_tag :owner, 'Owner' %span= "#{@instance.owner.first_name} #{@instance.owner.last_name}" diff --git a/src/app/views/instances/new.haml b/src/app/views/instances/new.haml index 7839ba9..139d08d 100644 --- a/src/app/views/instances/new.haml +++ b/src/app/views/instances/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'instance' %h2 Launch instance -- form_for @instance, :url => resources_instances_path do +- form_for @instance, :url => instances_path do = hidden_field :instance, :template_id %ul %li diff --git a/src/app/views/instances/select_template.haml b/src/app/views/instances/select_template.haml index a2dfbeb..a0c9117 100644 --- a/src/app/views/instances/select_template.haml +++ b/src/app/views/instances/select_template.haml @@ -3,7 +3,7 @@ %ul - @templates.each do |tpl| %li - - form_tag new_resources_instance_path do + - form_tag new_instance_path do = hidden_field :instance, :template_id, :value => tpl.id - if tpl.platform != "unknown" = image_tag "platform_#{tpl.platform}.png", :size => "32x32", :alt => tpl.platform diff --git a/src/app/views/layouts/_header.haml b/src/app/views/layouts/_header.haml index f319082..d853ad2 100644 --- a/src/app/views/layouts/_header.haml +++ b/src/app/views/layouts/_header.haml @@ -12,7 +12,7 @@ = t(:configure)
%li.hello - - link_to edit_admin_user_path(@current_user) do + - link_to edit_user_path(@current_user) do = t(:hello) + " " %b = "#{@current_user.first_name} #{@current_user.last_name}" diff --git a/src/app/views/pool_families/_list.haml b/src/app/views/pool_families/_list.haml index 323b6b7..596dc2e 100644 --- a/src/app/views/pool_families/_list.haml +++ b/src/app/views/pool_families/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_pool_family_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_pool_families_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_pool_family_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_pool_families_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -16,7 +16,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "pool_family_selected[]", :type => "checkbox", :value => pool_family.id, :id => "pool_family_checkbox_#{pool_family.id}", :checked => selected } - = link_to pool_family.name, admin_pool_family_path(pool_family) + = link_to pool_family.name, pool_family_path(pool_family) %td = pool_family.quota.maximum_running_instances or 'unlimited' %td diff --git a/src/app/views/pool_families/_properties.haml b/src/app/views/pool_families/_properties.haml index 02d197e..4740ee4 100644 --- a/src/app/views/pool_families/_properties.haml +++ b/src/app/views/pool_families/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @pool_family.name -= link_to "Edit", edit_admin_pool_family_path(@pool_family), {:class => 'button'} += link_to "Edit", edit_pool_family_path(@pool_family), {:class => 'button'} diff --git a/src/app/views/pool_families/_provider_accounts.haml b/src/app/views/pool_families/_provider_accounts.haml index 358e3d2..4d22b9c 100644 --- a/src/app/views/pool_families/_provider_accounts.haml +++ b/src/app/views/pool_families/_provider_accounts.haml @@ -4,7 +4,7 @@
- unless @pool_family.provider_accounts.blank? - form_tag do - = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_admin_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' + = restful_submit_tag "Remove selected", 'destroy', multi_destroy_provider_accounts_pool_families_path(:pool_family_id => @pool_family.id), 'DELETE', :id => 'delete_button' = #submit_tag "Remove selected"
%table#provider_accounts_table @@ -17,7 +17,7 @@ = provider_account.name
- unless @pool_family.provider_accounts.count == ProviderAccount.all.count - - form_for :pool_family, :url => add_provider_account_admin_pool_families_path(:id => @pool_family.id) do |f| + - form_for :pool_family, :url => add_provider_account_pool_families_path(:id => @pool_family.id) do |f| - unless @pool_family.provider_accounts.blank? = select_tag :provider_account_id, options_for_select(ProviderAccount.find(:all, :conditions => [ "id NOT IN (?)", @pool_family.provider_account_ids ]).collect{ |pa| [pa.name, pa.id] }) - else diff --git a/src/app/views/pool_families/edit.haml b/src/app/views/pool_families/edit.haml index 1c09438..30b2447 100644 --- a/src/app/views/pool_families/edit.haml +++ b/src/app/views/pool_families/edit.haml @@ -3,5 +3,5 @@ = @pool_family.name Pool Family
--form_for @pool_family, :url => admin_pool_family_path(@pool_family), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } +-form_for @pool_family, :url => pool_family_path(@pool_family), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/pool_families/new.haml b/src/app/views/pool_families/new.haml index 7dbac4c..8200805 100644 --- a/src/app/views/pool_families/new.haml +++ b/src/app/views/pool_families/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Pool family -- form_for @pool_family, :url => admin_pool_families_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_pool_families_path } +- form_for @pool_family, :url => pool_families_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => pool_families_path } diff --git a/src/app/views/pools/_instances.haml b/src/app/views/pools/_instances.haml index 260a9f8..44dcc1a 100644 --- a/src/app/views/pools/_instances.haml +++ b/src/app/views/pools/_instances.haml @@ -1,10 +1,10 @@ - form_tag do - = restful_submit_tag 'Stop', 'stop', multi_stop_resources_instances_path, 'GET' + = restful_submit_tag 'Stop', 'stop', multi_stop_instances_path, 'GET' Show only = hidden_field_tag 'details_tab', 'instances' = select '', 'state', Instance::STATES, { :include_blank => true, :selected => params[:state] } instances - = restful_submit_tag "Filter", 'show', resources_pool_path, 'GET', :id => 'filter_button' + = restful_submit_tag "Filter", 'show', pool_path, 'GET', :id => 'filter_button'
%table %thead @@ -17,12 +17,12 @@ %tr %td %input{:name => 'instance_selected[]', :type => 'checkbox', :value => instance.id, :id => "instance_checkbox_#{instance.id}" } - = link_to instance.name, resources_instance_path(instance) + = link_to instance.name, instance_path(instance) %td - = instance.assembly.present? ? link_to((instance.assembly.name), image_factory_assembly_path(instance.assembly)) : '—' + = instance.assembly.present? ? link_to((instance.assembly.name), assembly_path(instance.assembly)) : '—' %td - = instance.deployment.present? ? link_to((instance.deployment.name), resources_deployment_path(instance.deployment)) : '—' + = instance.deployment.present? ? link_to((instance.deployment.name), deployment_path(instance.deployment)) : '—' %td = instance.created_at.to_s %td - = instance.state \ No newline at end of file + = instance.state diff --git a/src/app/views/pools/_list.haml b/src/app/views/pools/_list.haml index c8083b7..ff02c26 100644 --- a/src/app/views/pools/_list.haml +++ b/src/app/views/pools/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Pool", new_resources_pool_path, { :class => 'button' } - = restful_submit_tag "Destroy", 'destroy', multi_destroy_resources_pools_path, 'DELETE', :id => 'delete_button' + = link_to "New Pool", new_pool_path, { :class => 'button' } + = restful_submit_tag "Destroy", 'destroy', multi_destroy_pools_path, 'DELETE', :id => 'delete_button' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "pools_selected[]", :type => "checkbox", :value => pool.id, :id => "pool_checkbox_#{pool.id}", :checked => selected } - = link_to pool.name, resources_pool_path(pool) + = link_to pool.name, pool_path(pool) %td = pool.quota.maximum_running_instances or 'unlimited' %td diff --git a/src/app/views/pools/_properties.haml b/src/app/views/pools/_properties.haml index 066a491..3e757f2 100644 --- a/src/app/views/pools/_properties.haml +++ b/src/app/views/pools/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @pool.name -= link_to "Edit", edit_resources_pool_path(@pool), { :class => 'button' } += link_to "Edit", edit_pool_path(@pool), { :class => 'button' } diff --git a/src/app/views/pools/new.haml b/src/app/views/pools/new.haml index 5c48c9e..09df69e 100644 --- a/src/app/views/pools/new.haml +++ b/src/app/views/pools/new.haml @@ -1,6 +1,6 @@ = error_messages_for :pool %h1 Create a new Pool -- form_for @pool, :url => resources_pools_path do |form| +- form_for @pool, :url => pools_path do |form| %fieldset = form.label :name, "Name:", :class => "grid_2 alpha" = form.text_field :name diff --git a/src/app/views/provider_accounts/_list.haml b/src/app/views/provider_accounts/_list.haml index b431f9b..45898ef 100644 --- a/src/app/views/provider_accounts/_list.haml +++ b/src/app/views/provider_accounts/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Account", new_admin_provider_account_path, :class => 'button' - = restful_submit_tag "Delete", "delete", multi_destroy_admin_provider_accounts_path, 'DELETE' + = link_to "New Account", new_provider_account_path, :class => 'button' + = restful_submit_tag "Delete", "delete", multi_destroy_provider_accounts_path, 'DELETE' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => 'accounts_selected[]', :type => 'checkbox', :value => account.id, :id => "account_checkbox_#{account.id}", :checked => selected } - = link_to account.name, admin_provider_account_path(account) + = link_to account.name, provider_account_path(account) %td =account.credentials_hash['username'] %td diff --git a/src/app/views/provider_accounts/_properties.haml b/src/app/views/provider_accounts/_properties.haml index 27789a1..e7d987d 100644 --- a/src/app/views/provider_accounts/_properties.haml +++ b/src/app/views/provider_accounts/_properties.haml @@ -9,5 +9,5 @@ %label Account ID: = @account.credentials_hash['account_number'] -= link_to "Edit", edit_admin_provider_account_path(@account), { :class => 'button' } -= link_to "Test", admin_provider_account_path(@account, {:test_account => true}), { :class => 'button' } += link_to "Edit", edit_provider_account_path(@account), { :class => 'button' } += link_to "Test", provider_account_path(@account, {:test_account => true}), { :class => 'button' } diff --git a/src/app/views/provider_accounts/_provider_selection.haml b/src/app/views/provider_accounts/_provider_selection.haml index 2095fde..eb8728f 100644 --- a/src/app/views/provider_accounts/_provider_selection.haml +++ b/src/app/views/provider_accounts/_provider_selection.haml @@ -1,7 +1,7 @@ %fieldset#provider_type.clear = label_tag "Provider: " = select(:provider_account, :provider_id, options_for_select(@providers.map{ |p| [p.name, p.id] }, :selected => @selected_provider.id)) - = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_admin_provider_accounts_path, 'GET', :class => 'button' + = restful_submit_tag "Choose", 'set_selected_provider',set_selected_provider_provider_accounts_path, 'GET', :class => 'button' = label_tag "Cloud type: " = @selected_provider.provider_type.name - unless @selected_provider.provider_type.codename.nil? @@ -15,7 +15,7 @@ $("#provider_account_provider_id").change(function() { selected_provider = $("option:selected").attr('value'); - $.get("#{set_selected_provider_admin_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, + $.get("#{set_selected_provider_provider_accounts_url}", {'provider_account[provider_id]':selected_provider}, function(result) { $("#provider_type").html(result); } diff --git a/src/app/views/provider_accounts/edit.haml b/src/app/views/provider_accounts/edit.haml index 9da4d1c..8a63d1d 100644 --- a/src/app/views/provider_accounts/edit.haml +++ b/src/app/views/provider_accounts/edit.haml @@ -2,7 +2,7 @@ = error_messages_for :provider_account %h2 = t('provider_accounts.edit.edit_provider_account') - - form_tag(admin_provider_account_path, { :method => :put, :multipart => true }) do + - form_tag(provider_account_path, { :method => :put, :multipart => true }) do = render :partial => 'provider_selection' %fieldset.clearfix .grid_13.alpha.omega diff --git a/src/app/views/provider_accounts/new.haml b/src/app/views/provider_accounts/new.haml index f1a5e2a..65396f3 100644 --- a/src/app/views/provider_accounts/new.haml +++ b/src/app/views/provider_accounts/new.haml @@ -6,7 +6,7 @@ Provider %fieldset.clear - unless @providers.empty? - - form_for(@provider_account, :url => admin_provider_accounts_path, :html => {:multipart => true}) do |f| + - form_for(@provider_account, :url => provider_accounts_path, :html => {:multipart => true}) do |f| = render :partial => 'provider_selection' %fieldset.clearfix .grid_13.alpha.omega diff --git a/src/app/views/providers/_list.haml b/src/app/views/providers/_list.haml index 7de6e32..bef0b5f 100644 --- a/src/app/views/providers/_list.haml +++ b/src/app/views/providers/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_provider_url, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_providers_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_provider_url, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_providers_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -15,6 +15,6 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "provider_selected[]", :type => "checkbox", :value => provider.id, :id => "provider_checkbox_#{provider.id}", :checked => selected } - = link_to provider.name, admin_provider_path(provider) + = link_to provider.name, provider_path(provider) %td= provider.url %td= provider.provider_type.name diff --git a/src/app/views/providers/_properties.haml b/src/app/views/providers/_properties.haml index 044895a..cb44fae 100644 --- a/src/app/views/providers/_properties.haml +++ b/src/app/views/providers/_properties.haml @@ -1,5 +1,5 @@ %h3 Properties for = @provider.name -= link_to "Edit", edit_admin_provider_path(@provider), {:class => 'button'} -= link_to "Test", admin_provider_path(@provider, {:test_provider => true}), { :class => 'button' } += link_to "Edit", edit_provider_path(@provider), {:class => 'button'} += link_to "Test", provider_path(@provider, {:test_provider => true}), { :class => 'button' } diff --git a/src/app/views/providers/edit.haml b/src/app/views/providers/edit.haml index 66864e9..87c035f 100644 --- a/src/app/views/providers/edit.haml +++ b/src/app/views/providers/edit.haml @@ -3,5 +3,5 @@ = @provider.name Provider
--form_for @provider, :url => admin_provider_path(@provider), :html => { :method => :put } do |f| - = render :partial => 'form', :locals => { :form => f, :cancel_path => admin_providers_path } +-form_for @provider, :url => provider_path(@provider), :html => { :method => :put } do |f| + = render :partial => 'form', :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/providers/new.haml b/src/app/views/providers/new.haml index 516fdb3..2618f70 100644 --- a/src/app/views/providers/new.haml +++ b/src/app/views/providers/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Provider -- form_for @provider, :url => admin_providers_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_providers_path } +- form_for @provider, :url => providers_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => providers_path } diff --git a/src/app/views/realm_mappings/new.haml b/src/app/views/realm_mappings/new.haml index 0861199..df30240 100644 --- a/src/app/views/realm_mappings/new.haml +++ b/src/app/views/realm_mappings/new.haml @@ -1,6 +1,6 @@ = error_messages_for 'realm_target' %h2 Create a new Realm Mapping -- form_for @realm_target, :url => admin_realm_mappings_path do |f| +- form_for @realm_target, :url => realm_mappings_path do |f| = f.hidden_field :frontend_realm_id = f.hidden_field :realm_or_provider_type
diff --git a/src/app/views/realms/_list.haml b/src/app/views/realms/_list.haml index 367dc14..d9b9c2c 100644 --- a/src/app/views/realms/_list.haml +++ b/src/app/views/realms/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_admin_realm_path, :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realms_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_realm_path, :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_realms_path, 'DELETE', :id => 'delete_button'
%p Select: @@ -16,4 +16,4 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "id[]", :type => "checkbox", :value => realm.id, :id => "realm_id_#{realm.id}", :checked => selected } - = link_to realm.name, admin_realm_path(realm) + = link_to realm.name, realm_path(realm) diff --git a/src/app/views/realms/_mapping.haml b/src/app/views/realms/_mapping.haml index 66b278c..e20cff9 100644 --- a/src/app/views/realms/_mapping.haml +++ b/src/app/views/realms/_mapping.haml @@ -1,7 +1,7 @@ - form_tag do - = link_to "Add mapping to realm", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" - = link_to "Add mapping to provider", new_admin_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button' + = link_to "Add mapping to realm", new_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Realm'), :class => "button" + = link_to "Add mapping to provider", new_realm_mapping_path(:frontend_realm_id => @realm.id, :realm_or_provider_type => 'Provider'), :class => "button" + = restful_submit_tag "Delete", 'destroy', multi_destroy_realm_mappings_path(:frontend_realm_id => @realm.id), 'DELETE', :id => 'delete_button'
- unless @backend_provider_targets.empty? %h2 Realm '#{@realm.name}' is mapped to providers: diff --git a/src/app/views/realms/_properties.haml b/src/app/views/realms/_properties.haml index 8d5b66d..18dd5fa 100644 --- a/src/app/views/realms/_properties.haml +++ b/src/app/views/realms/_properties.haml @@ -1,3 +1,3 @@ .grid_13 %h2 #{@realm.name} - = link_to t(:edit), edit_admin_realm_path(@realm), :class => 'button formbutton' + = link_to t(:edit), edit_realm_path(@realm), :class => 'button formbutton' diff --git a/src/app/views/realms/edit.haml b/src/app/views/realms/edit.haml index a0aa97f..4b1536e 100644 --- a/src/app/views/realms/edit.haml +++ b/src/app/views/realms/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Realm: #{@realm.name}
-- form_for @realm, :url => admin_realm_path(@realm), :html => { :method => :put } do |f| +- form_for @realm, :url => realm_path(@realm), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/realms/new.haml b/src/app/views/realms/new.haml index c95a306..f69a89e 100644 --- a/src/app/views/realms/new.haml +++ b/src/app/views/realms/new.haml @@ -1,3 +1,3 @@ %h2 Create a new Realm -- form_for @realm, :url => admin_realms_path do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_realms_path } +- form_for @realm, :url => realms_path do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => realms_path } diff --git a/src/app/views/roles/_form.haml b/src/app/views/roles/_form.haml index fc10dd2..c20c8e1 100644 --- a/src/app/views/roles/_form.haml +++ b/src/app/views/roles/_form.haml @@ -5,4 +5,4 @@ %fieldset.clearfix = form.submit "Save", :class => "submit formbutton" = form.submit "Reset", :class => "submit formbutton" - = link_to t(:cancel), admin_roles_path, :class => 'button formbutton' + = link_to t(:cancel), roles_path, :class => 'button formbutton' diff --git a/src/app/views/roles/_list.haml b/src/app/views/roles/_list.haml index d825e2f..5b7b71f 100644 --- a/src/app/views/roles/_list.haml +++ b/src/app/views/roles/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "New Role", new_admin_role_path, :class => 'button' - = restful_submit_tag "Destroy", "destroy", multi_destroy_admin_roles_path, 'DELETE', :id => 'delete_button' + = link_to "New Role", new_role_path, :class => 'button' + = restful_submit_tag "Destroy", "destroy", multi_destroy_roles_path, 'DELETE', :id => 'delete_button' %p Select: = link_to "All", @url_params.merge(:select => 'all') @@ -13,7 +13,7 @@ %td - selected = @url_params[:select] == 'all' %input{:name => "role_selected[]", :type => "checkbox", :value => role.id, :id => "role_checkbox_#{role.id}", :checked => selected } - = link_to role.name, admin_role_path(role) + = link_to role.name, role_path(role)
:javascript $(document).ready(function () { diff --git a/src/app/views/roles/_properties.haml b/src/app/views/roles/_properties.haml index bcb59f4..98b390f 100644 --- a/src/app/views/roles/_properties.haml +++ b/src/app/views/roles/_properties.haml @@ -20,4 +20,4 @@ = privilege.action %td = privilege.target_type - = link_to t(:edit), edit_admin_role_path(@role), :class => 'button formbutton' + = link_to t(:edit), edit_role_path(@role), :class => 'button formbutton' diff --git a/src/app/views/roles/edit.haml b/src/app/views/roles/edit.haml index 7aa428e..15e0f94 100644 --- a/src/app/views/roles/edit.haml +++ b/src/app/views/roles/edit.haml @@ -1,4 +1,4 @@ %h2 Editing Role: #{@role.name}
-- form_for @role, :url => admin_role_path(@role), :html => { :method => :put } do |f| +- form_for @role, :url => role_path(@role), :html => { :method => :put } do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/roles/new.haml b/src/app/views/roles/new.haml index 064e67d..f1e68cf 100644 --- a/src/app/views/roles/new.haml +++ b/src/app/views/roles/new.haml @@ -1,3 +1,3 @@ %h2 New Role -- form_for @role, :url => admin_roles_path do |f| +- form_for @role, :url => roles_path do |f| = render :partial => "form", :locals => { :form => f } diff --git a/src/app/views/settings/index.haml b/src/app/views/settings/index.haml index 8a68a65..0046793 100644 --- a/src/app/views/settings/index.haml +++ b/src/app/views/settings/index.haml @@ -13,14 +13,14 @@ = t('.permissions') %p = t('.permissions_desc') - = link_to t(:continue), self_service_admin_settings_path, :class => 'button' + = link_to t(:continue), self_service_settings_path, :class => 'button' %li#settings.grid_8 = image_tag "blnk.png", :class => "icon", :alt => "" %h2 = t('.general_settings') %p = t('.general_settings_desc') - = link_to t(:continue), general_settings_admin_settings_path, :class => 'button' + = link_to t(:continue), general_settings_settings_path, :class => 'button' %li#locales.grid_8.disabled.clear = image_tag "blnk.png", :class => "icon", :alt => "" %h2 diff --git a/src/app/views/templates/_addbuttons.haml b/src/app/views/templates/_addbuttons.haml index 9f88751..120f961 100644 --- a/src/app/views/templates/_addbuttons.haml +++ b/src/app/views/templates/_addbuttons.haml @@ -1,4 +1,4 @@ %fieldset.clear - - cancel_path = @tpl.id ? edit_image_factory_template_path(@tpl) : new_image_factory_template_path - = restful_submit_tag "Add Selected", "add_selected", add_selected_image_factory_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} + - cancel_path = @tpl.id ? edit_template_path(@tpl) : new_template_path + = restful_submit_tag "Add Selected", "add_selected", add_selected_templates_path, 'GET', {:class => "grid_2 alpha", :id => "do_add_software"} = restful_submit_tag "Cancel", "cancel_add_software", cancel_path, 'GET', {:class => "grid_2", :id => "cancel_add_software"} diff --git a/src/app/views/templates/_builds.haml b/src/app/views/templates/_builds.haml index a6bdd4b..0431fbd 100644 --- a/src/app/views/templates/_builds.haml +++ b/src/app/views/templates/_builds.haml @@ -3,7 +3,7 @@ Builds for = @tpl.platform_version , template "#{@tpl.name}"
-- form_tag image_factory_builds_path do +- form_tag builds_path do = hidden_field_tag :template_id, @tpl.id - if @targets_not_built.count > 0 then - if @tpl.imported @@ -19,7 +19,7 @@ Builds for - else - @images.each do |img| %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do + - form_tag(retry_builds_path, { :method => :post }) do = "#{img.name}-#{img.template.architecture}: #{img.status}" = hidden_field_tag :template_id, @tpl.id = hidden_field_tag :image_id, img.id @@ -28,7 +28,7 @@ Builds for %ul - img.provider_images.each do |pimg| %li - - form_tag(retry_image_factory_builds_path, { :method => :post }) do + - form_tag(retry_builds_path, { :method => :post }) do = "#{pimg.provider.name}: #{pimg.status}" = hidden_field_tag :template_id, @tpl.id = hidden_field_tag :provider_image_id, pimg.id @@ -38,4 +38,4 @@ Builds for %li = "#{provider.name}: " not uploaded - = link_to 'upload', upload_image_factory_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} + = link_to 'upload', upload_builds_path(:template_id => @tpl.id, :image_id => img.id, :provider_id => provider.id), {:class => 'button'} diff --git a/src/app/views/templates/_form.haml b/src/app/views/templates/_form.haml index 7cc323c..d326b18 100644 --- a/src/app/views/templates/_form.haml +++ b/src/app/views/templates/_form.haml @@ -113,7 +113,7 @@
.clearfix .grid_16.alpha.omega - = restful_submit_tag "Add Software", 'collections', collections_image_factory_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"} + = restful_submit_tag "Add Software", 'collections', collections_templates_path, 'GET', {:id => "add_software_button", :class => "iconbutton"}
#package_selection_list{:style => 'display: none'}
diff --git a/src/app/views/templates/_list.haml b/src/app/views/templates/_list.haml index bf8be82..947a066 100644 --- a/src/app/views/templates/_list.haml +++ b/src/app/views/templates/_list.haml @@ -1,6 +1,6 @@ - form_tag do - = link_to "Create", new_image_factory_template_path, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_image_factory_templates_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_template_path, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_templates_path, 'DELETE', :id => 'delete_button'
%table#templates_table = sortable_table_header @header @@ -14,7 +14,7 @@ %td = check_box_tag 'selected[]', template.id, @url_params[:select] == 'all', :id => "selected_#{template.id}" = image_tag "blnk.png", :alt => template.platform, :class => "icon platform #{template.platform}" - = link_to template.name, image_factory_template_path(template) + = link_to template.name, template_path(template) %td= template.platform_name %td= template.platform_version %td= image_tag 'blnk.png', :alt => 'yes', :class => "icon yes" diff --git a/src/app/views/templates/_managed_content.haml b/src/app/views/templates/_managed_content.haml index ebea6cd..29f9fd3 100644 --- a/src/app/views/templates/_managed_content.haml +++ b/src/app/views/templates/_managed_content.haml @@ -10,7 +10,7 @@ .packagewrap %a.packagename{:id => "package_#{pkg}"}=pkg = hidden_field_tag 'packages[]', pkg, :id => "package_#{pkg}" - = restful_submit_tag "Remove", "remove_package", remove_package_image_factory_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} + = restful_submit_tag "Remove", "remove_package", remove_package_templates_path(:name => pkg), 'GET', {:id => "remove_package_#{pkg}", :class => 'remove_package'} .dropdown / we don't display repository for now, it's pretty difficult with current design /%section diff --git a/src/app/views/templates/_metagroups.haml b/src/app/views/templates/_metagroups.haml index f23c408..b313e55 100644 --- a/src/app/views/templates/_metagroups.haml +++ b/src/app/views/templates/_metagroups.haml @@ -7,7 +7,7 @@
%ul.metagroups{:class => 'packagegroupsidebar grid_4 alpha'} %li - = restful_submit_tag 'Collections', 'collections', collections_image_factory_templates_path, 'GET', {:id => 'collections', :class => 'icon'} + = restful_submit_tag 'Collections', 'collections', collections_templates_path, 'GET', {:id => 'collections', :class => 'icon'} - @metagroups.keys.sort.each do |cat| %li - = restful_submit_tag cat, "metagroup_packages", metagroup_packages_image_factory_templates_path, 'GET', {:class => 'icon'} + = restful_submit_tag cat, "metagroup_packages", metagroup_packages_templates_path, 'GET', {:class => 'icon'} diff --git a/src/app/views/templates/_properties.haml b/src/app/views/templates/_properties.haml index 0fe33ae..d47a13a 100644 --- a/src/app/views/templates/_properties.haml +++ b/src/app/views/templates/_properties.haml @@ -1,4 +1,4 @@ %h3 Properties for = @tpl.name -= link_to "Edit", edit_image_factory_template_path(@tpl), { :class => 'button' } += link_to "Edit", edit_template_path(@tpl), { :class => 'button' } diff --git a/src/app/views/templates/edit.haml b/src/app/views/templates/edit.haml index a2a58ef..959ed7a 100644 --- a/src/app/views/templates/edit.haml +++ b/src/app/views/templates/edit.haml @@ -1,9 +1,9 @@ #dropdown .grid_16 %h2 Edit Template - /- form_for @tpl, :url => image_factory_template_path(@tpl), :html => { :method => :put } do |f| + /- form_for @tpl, :url => template_path(@tpl), :html => { :method => :put } do |f| - form_tag do = hidden_field_tag :id, @tpl.id = render :partial => 'form' - = restful_submit_tag "Save", 'update', image_factory_template_path(@tpl), 'PUT', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' + = restful_submit_tag "Save", 'update', template_path(@tpl), 'PUT', :class => "formbutton" + = link_to 'Cancel', templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/new.haml b/src/app/views/templates/new.haml index 2dbac5b..dcc6bfc 100644 --- a/src/app/views/templates/new.haml +++ b/src/app/views/templates/new.haml @@ -1,10 +1,10 @@ #dropdown .grid_16 %h2 New Template - /- form_for @tpl, :url => image_factory_templates_path do |f| + /- form_for @tpl, :url => templates_path do |f| - form_tag do = render :partial => 'form' = check_box_tag :create_deployable = label_tag :create_deployable, "Create Deployable for this template" - = restful_submit_tag "Save", 'create', image_factory_templates_path, 'POST', :class => "formbutton" - = link_to 'Cancel', image_factory_templates_path, :class => 'button formbutton' + = restful_submit_tag "Save", 'create', templates_path, 'POST', :class => "formbutton" + = link_to 'Cancel', templates_path, :class => 'button formbutton' diff --git a/src/app/views/templates/xml/_hardware_profile.xml.haml b/src/app/views/templates/xml/_hardware_profile.xml.haml index 6ac533e..c51691f 100644 --- a/src/app/views/templates/xml/_hardware_profile.xml.haml +++ b/src/app/views/templates/xml/_hardware_profile.xml.haml @@ -1,6 +1,6 @@ !!! XML -%hardware_profile{ :href => admin_hardware_profile_path(profile.id), :id => profile.external_key }<> +%hardware_profile{ :href => hardware_profile_path(profile.id), :id => profile.external_key }<> %name<> = profile.name - [profile.memory, profile.cpu, profile.architecture, profile.storage].each do |prop| - = render :partial => 'templates/xml/hardware_profile_property.xml', :locals => { :property => prop } \ No newline at end of file + = render :partial => 'templates/xml/hardware_profile_property.xml', :locals => { :property => prop } diff --git a/src/app/views/users/_list.haml b/src/app/views/users/_list.haml index 6a544ed..0204695 100644 --- a/src/app/views/users/_list.haml +++ b/src/app/views/users/_list.haml @@ -1,24 +1,24 @@ - form_tag do - = link_to "Create", new_admin_user_url, :class => 'button' - = restful_submit_tag "Delete", 'destroy', multi_destroy_admin_users_path, 'DELETE', :id => 'delete_button' + = link_to "Create", new_user_url, :class => 'button' + = restful_submit_tag "Delete", 'destroy', multi_destroy_users_path, 'DELETE', :id => 'delete_button'
%table#users_table %thead %tr %th - %th= link_to "User ID", admin_users_url(:sort_by => "login") - %th= link_to "Last Name", admin_users_url(:sort_by => "last_name") - %th= link_to "First Name", admin_users_url(:sort_by => "first_name") - %th= link_to "% Quota Used", admin_users_url(:sort_by => "percentage_quota_used") + %th= link_to "User ID", users_url(:sort_by => "login") + %th= link_to "Last Name", users_url(:sort_by => "last_name") + %th= link_to "First Name", users_url(:sort_by => "first_name") + %th= link_to "% Quota Used", users_url(:sort_by => "percentage_quota_used") %th - =link_to "Quota", admin_users_url(:sort_by => "quota") + =link_to "Quota", users_url(:sort_by => "quota") %span (Instances) - %th= link_to "e-mail", admin_users_url(:sort_by => "email") + %th= link_to "e-mail", users_url(:sort_by => "email") -@users.each do |user| %tr %td %input{:name => "user_selected[]", :type => "checkbox", :value => user.id, :id => "user_checkbox_#{user.id}" } - %td= link_to user.login, admin_user_path(user) + %td= link_to user.login, user_path(user) %td= user.last_name %td= user.first_name %td= sprintf("%.2f", user.quota.percentage_used) diff --git a/src/app/views/users/_properties.haml b/src/app/views/users/_properties.haml index 0842cb1..33799be 100644 --- a/src/app/views/users/_properties.haml +++ b/src/app/views/users/_properties.haml @@ -1,7 +1,7 @@ .grid_13 %h2 #{@user.first_name} #{@user.last_name} (#{@user.login})
- = link_to 'Edit', edit_admin_user_path(@user), :class => 'button' + = link_to 'Edit', edit_user_path(@user), :class => 'button'
%table %thead diff --git a/src/app/views/users/edit.haml b/src/app/views/users/edit.haml index 1290c4d..b3d0dc2 100644 --- a/src/app/views/users/edit.haml +++ b/src/app/views/users/edit.haml @@ -3,5 +3,5 @@ - else %h2 Editing Account
-- form_for @user, :url => admin_user_path(@user), :html => { :method => :put } do |f| - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } +- form_for @user, :url => user_path(@user), :html => { :method => :put } do |f| + = render :partial => "form", :locals => { :form => f, :cancel_path => users_path } diff --git a/src/app/views/users/new.haml b/src/app/views/users/new.haml index 0958f12..976f130 100644 --- a/src/app/views/users/new.haml +++ b/src/app/views/users/new.haml @@ -1,6 +1,6 @@ %h2 New Account -- form_for @user, :url => admin_users_path do |f| +- form_for @user, :url => users_path do |f| -if current_user - = render :partial => "form", :locals => { :form => f, :cancel_path => admin_users_path } + = render :partial => "form", :locals => { :form => f, :cancel_path => users_path } -else = render :partial => "form", :locals => { :form => f, :cancel_path => login_path } diff --git a/src/classad_plugin/conductor_classad_plugin.cpp b/src/classad_plugin/conductor_classad_plugin.cpp index 5151d72..83d0a19 100644 --- a/src/classad_plugin/conductor_classad_plugin.cpp +++ b/src/classad_plugin/conductor_classad_plugin.cpp @@ -152,7 +152,7 @@ conductor_quota_check(const char *name, const ArgumentList &arglist, goto do_ret; }
- rest_call << "resources/instances/" << instance_id << "/can_start/" << account_id; + rest_call << "instances/" << instance_id << "/can_start/" << account_id;
// Call rest API to get answer on quota.. // FIXME: this should be configurable somehow, maybe passed via condor? diff --git a/src/config/navigation.rb b/src/config/navigation.rb index 074f905..2abd7d0 100644 --- a/src/config/navigation.rb +++ b/src/config/navigation.rb @@ -1,26 +1,26 @@ SimpleNavigation::Configuration.run do |navigation| navigation.autogenerate_item_ids = false navigation.items do |first_level| - first_level.item :resource_management, t(:resource_management), resources_pools_path, :highlights_on => /^/$/ do |second_level| - second_level.item :pools, t('pools.index.pools'), resources_pools_path - second_level.item :deployments, t(:deployments),resources_deployments_path, :highlights_on => /^/$|/deployments/ - second_level.item :instances, t(:instances), resources_instances_path + first_level.item :resource_management, t(:resource_management), pools_path, :highlights_on => /^/$/ do |second_level| + second_level.item :pools, t('pools.index.pools'), pools_path + second_level.item :deployments, t(:deployments),deployments_path, :highlights_on => /^/$|/deployments/ + second_level.item :instances, t(:instances), instances_path end - first_level.item :image_factory, t(:image_factory), image_factory_templates_path, :highlights_on => //image_factory/ do |second_level| - second_level.item :templates, t('templates.templates'), image_factory_templates_path - second_level.item :assemblies, t(:assemblies), image_factory_assemblies_path - second_level.item :deployables, t('deployables.index.deployables'), image_factory_deployables_path - second_level.item :image_imports, t(:image_imports), new_image_factory_image_import_path + first_level.item :image_factory, t(:image_factory), templates_path, :highlights_on => //image_factory/ do |second_level| + second_level.item :templates, t('templates.templates'), templates_path + second_level.item :assemblies, t(:assemblies), assemblies_path + second_level.item :deployables, t('deployables.index.deployables'), deployables_path + second_level.item :image_imports, t(:image_imports), new_image_import_path end - first_level.item :administration, t(:administration), admin_users_path, :highlights_on => //admin/ do |second_level| - second_level.item :users, t(:users), admin_users_path - second_level.item :roles, t(:roles), admin_roles_path - second_level.item :providers, t('providers.providers'), admin_providers_path - second_level.item :provider_accounts, t(:provider_accounts_item), admin_provider_accounts_path - second_level.item :hardware_profiles, t(:cloud_engine_hardware_profiles), admin_hardware_profiles_path - second_level.item :realms, t(:cloud_engine_realms), admin_realms_path - second_level.item :pool_families, t('pool_families.pool_families'), admin_pool_families_path - second_level.item :settings, t(:setting), admin_settings_path + first_level.item :administration, t(:administration), users_path, :highlights_on => //admin/ do |second_level| + second_level.item :users, t(:users), users_path + second_level.item :roles, t(:roles), roles_path + second_level.item :providers, t('providers.providers'), providers_path + second_level.item :provider_accounts, t(:provider_accounts_item), provider_accounts_path + second_level.item :hardware_profiles, t(:cloud_engine_hardware_profiles), hardware_profiles_path + second_level.item :realms, t(:cloud_engine_realms), realms_path + second_level.item :pool_families, t('pool_families.pool_families'), pool_families_path + second_level.item :settings, t(:setting), settings_path end first_level.item :dashboard, t(:dashboard), '#' end diff --git a/src/config/routes.rb b/src/config/routes.rb index ab23347..5d48373 100644 --- a/src/config/routes.rb +++ b/src/config/routes.rb @@ -32,47 +32,40 @@ ActionController::Routing::Routes.draw do |map| # You can have the root of your site routed by hooking up '' # -- just remember to delete public/index.html.
- map.namespace 'resources' do |r| - r.resources :pools, :collection => { :multi_destroy => :delete } - r.resources :deployments, :collection => { :multi_stop => :get, :launch_new => :get } - r.resources :instances, :collection => {:start => :get, :multi_stop => :get, :select_template => :get, :remove_failed => :get, :can_start => :get, :can_create => :get }, :member => {:key => :get} - end - - map.can_start_instance '/resources/instances/:instance_id/can_start/:provider_account_id', :controller => 'resources/instances', :action => 'can_start', :conditions => { :method => :get } - map.can_create_instance '/resources/instances/:instance_id/can_create/:provider_account_id', :controller => 'resources/instances', :action => 'can_create', :conditions => { :method => :get } - - map.namespace 'image_factory' do |r| - r.resources :assemblies - r.resources :image_imports - r.resources :deployables, :collection => { :multi_destroy => :delete }, :member => { :pick_assemblies => :get, :remove_assemblies => :delete, :add_assemblies => :put, :launch => :post } - r.resources :templates, :collection => {:collections => :get, :add_selected => :get, :metagroup_packages => :get, :remove_package => :get, :multi_destroy => :delete} - r.connect "/builds/update_status.:format", :controller => :builds, :action => :update_status - r.resources :builds, :collection => { :delete => :delete, :upload => :get, :retry => :post } - end - - map.namespace 'admin' do |r| - r.resources :hardware_profiles, :collection => { :multi_destroy => :delete } - r.resources :providers, :collection => { :multi_destroy => :delete } - r.resources :users, :collection => { :multi_destroy => :delete } - r.resources :provider_accounts, :collection => { :multi_destroy => :delete, :set_selected_provider => :get} - - r.resources :roles, :collection => { :multi_destroy => :delete } - r.resources :settings, :collection => { :self_service => :get, :general_settings => :get } - r.resources :pool_families, :collection => { :multi_destroy => :delete, :add_provider_account => :post, :multi_destroy_provider_accounts => :delete } - r.resources :realms, :collection => { :multi_destroy => :delete } - r.resources :realm_mappings, :collection => { :multi_destroy => :delete } - end - - map.matching_profiles '/admin/hardware_profiles/matching_profiles/:hardware_profile_id/provider/:provider_id', :controller => 'admin/hardware_profiles', :action => 'matching_profiles', :conditions => { :method => :get } + map.resources :pools, :collection => { :multi_destroy => :delete } + map.resources :deployments, :collection => { :multi_stop => :get, :launch_new => :get } + map.resources :instances, :collection => {:start => :get, :multi_stop => :get, :select_template => :get, :remove_failed => :get, :can_start => :get, :can_create => :get }, :member => {:key => :get} + + map.can_start_instance '/instances/:instance_id/can_start/:provider_account_id', :controller => 'instances', :action => 'can_start', :conditions => { :method => :get } + map.can_create_instance '/instances/:instance_id/can_create/:provider_account_id', :controller => 'instances', :action => 'can_create', :conditions => { :method => :get } + + map.resources :assemblies + map.resources :image_imports + map.resources :deployables, :collection => { :multi_destroy => :delete }, :member => { :pick_assemblies => :get, :remove_assemblies => :delete, :add_assemblies => :put, :launch => :post } + map.resources :templates, :collection => {:collections => :get, :add_selected => :get, :metagroup_packages => :get, :remove_package => :get, :multi_destroy => :delete} + map.connect "/builds/update_status.:format", :controller => :builds, :action => :update_status + map.resources :builds, :collection => { :delete => :delete, :upload => :get, :retry => :post } + + map.resources :hardware_profiles, :collection => { :multi_destroy => :delete } + map.resources :providers, :collection => { :multi_destroy => :delete } + map.resources :users, :collection => { :multi_destroy => :delete } + map.resources :provider_accounts, :collection => { :multi_destroy => :delete, :set_selected_provider => :get} + map.resources :roles, :collection => { :multi_destroy => :delete } + map.resources :settings, :collection => { :self_service => :get, :general_settings => :get } + map.resources :pool_families, :collection => { :multi_destroy => :delete, :add_provider_account => :post, :multi_destroy_provider_accounts => :delete } + map.resources :realms, :collection => { :multi_destroy => :delete } + map.resources :realm_mappings, :collection => { :multi_destroy => :delete } + + map.matching_profiles '/hardware_profiles/matching_profiles/:hardware_profile_id/provider/:provider_id', :controller => 'hardware_profiles', :action => 'matching_profiles', :conditions => { :method => :get }
map.login 'login', :controller => "user_sessions", :action => "new" map.logout 'logout', :controller => "user_sessions", :action => "destroy" map.resource :user_session - map.register 'register', :controller => 'admin/users', :action => 'new' - map.resource :account, :controller => "admin/users" + map.register 'register', :controller => 'users', :action => 'new' + map.resource :account, :controller => "users" map.resources :permissions, :collection => { :list => :get }
- map.root :controller => 'resources/deployments' + map.root :controller => 'deployments'
# Allow downloading Web Service WSDL as a file with an extension diff --git a/src/features/deployable.feature b/src/features/deployable.feature index 66cbef7..979ea72 100644 --- a/src/features/deployable.feature +++ b/src/features/deployable.feature @@ -11,48 +11,48 @@ Feature: Manage Deployables Scenario: List deployables Given I am on the homepage And there is a deployable named "MySQL cluster" - When I go to the image factory deployables page + When I go to the deployables page Then I should see "MySQL cluster"
Scenario: Create a new Deployable Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "App" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "App" And I should see "App"
Scenario: Edit a deployable Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "MySQL cluster" And I follow "Edit" - Then I should be on the edit image factory deployable page + Then I should be on the edit deployable page And I should see "Editing Deployable" When I fill in "deployable[name]" with "AppModified" And I press "Save" - Then I should be on AppModified's image factory deployable page + Then I should be on AppModified's deployable page And I should see "Deployable updated" And I should have a deployable named "AppModified" And I should see "AppModified"
Scenario: Delete a deployable Given there is a deployable named "App" - And I am on the image factory deployables page + And I am on the deployables page When I check the "App" deployable And I press "Delete" - Then I should be on the image factory deployables page + Then I should be on the deployables page And there should be no deployables
Scenario: Add an assembly to a deployable Given there is a deployable named "Webserver" Given there is an assembly named "Apache" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Webserver" And I follow "details_Assemblies" And I follow "Add Assembly..." @@ -65,7 +65,7 @@ Feature: Manage Deployables Scenario: Remove an assembly from a deployable Given there is a deployable named "Webserver" Given there is an assembly named "Apache" belonging to "Webserver" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Webserver" And I follow "details_Assemblies" Then I should see "Apache" @@ -77,7 +77,7 @@ Feature: Manage Deployables Scenario: Search for deployables Given there is a deployable named "first" And there is a deployable named "second" - And I am on the image factory deployables page + And I am on the deployables page Then I should see "first" And I should see "second" When I fill in "q" with "first" @@ -101,13 +101,13 @@ Feature: Manage Deployables
Scenario: Create and launch a deployment from a deployable Given there is a factory deployable named "test1" - And I am on the image factory deployables page + And I am on the deployables page And there is "mock_profile" conductor hardware profile And there is "mock_realm" frontend realm And there is "mock_pool" pool When I follow "test1" And I follow "Launch" - Then I should be on the new resources deployment page + Then I should be on the new deployment page When I fill in "deployment_name" with "depl1" And I select "mock_pool" from "deployment_pool_id" And I select "mock_realm" from "deployment_frontend_realm_id" diff --git a/src/features/deployable_permissions.feature b/src/features/deployable_permissions.feature index 9ca55e5..4550d57 100644 --- a/src/features/deployable_permissions.feature +++ b/src/features/deployable_permissions.feature @@ -9,53 +9,53 @@ Feature: Manage Deployables as a non-admin Scenario: List deployables as a new user Given I am on the homepage And there is a deployable named "MySQL cluster" - When I go to the image factory deployables page + When I go to the deployables page Then I should see "MySQL cluster"
Scenario: View an existing deployable as a new user Given there is a deployable named "MySQL cluster" - And I am on the image factory deployables page + And I am on the deployables page When I follow "MySQL cluster" Then I should see "Edit"
@allow-rescue Scenario: Try to edit an existing deployable as a new user Given there is a deployable named "Apache Webserver" - And I am on the image factory deployables page + And I am on the deployables page When I follow "Apache Webserver" And I follow "Edit" Then I should see "You have insufficient privileges to perform action."
Scenario: Edit a deployable I created - Given I am on the image factory deployables page + Given I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "Mahout Server" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "Mahout Server" And I should see "Mahout Server" When I follow "Mahout Server" And I follow "Edit" - Then I should be on the edit image factory deployable page + Then I should be on the edit deployable page And I should see "Editing Deployable" When I fill in "deployable[name]" with "MahoutModified" And I press "Save" - Then I should be on MahoutModified's image factory deployable page + Then I should be on MahoutModified's deployable page And I should see "Deployable updated" And I should have a deployable named "MahoutModified" And I should see "MahoutModified"
Scenario: Create a deployable as a new user - And I am on the image factory deployables page + And I am on the deployables page When I follow "Create" - Then I should be on the new image factory deployable page + Then I should be on the new deployable page And I should see "New Deployable" When I fill in "deployable[name]" with "Solr Server" And I press "Save" - Then I should be on App's image factory deployable page + Then I should be on App's deployable page And I should see "Deployable added" And I should have a deployable named "Solr Server" And I should see "Solr Server" @@ -64,7 +64,7 @@ Feature: Manage Deployables as a non-admin Scenario: Try to remove an existing assembly as a new user Given there is a deployable named "Mailserver Cluster" Given there is an assembly named "Postfix Node" belonging to "Mailserver Cluster" - And I am on the image factory deployables page + And I am on the deployables page Then I should see "Mailserver Cluster" When I follow "Mailserver Cluster" And I follow "details_Assemblies" diff --git a/src/features/deployment.feature b/src/features/deployment.feature index 81213e0..22a8748 100644 --- a/src/features/deployment.feature +++ b/src/features/deployment.feature @@ -10,7 +10,7 @@ Feature: Manage Deployments Scenario: List deployments Given I am on the homepage And there is a deployment named "MySQL Cluster" belonging to "Databases" owned by "bob" - When I go to the resources deployments page + When I go to the deployments page Then I should see "MySQL Cluster" And I should see "bob"
@@ -20,7 +20,7 @@ Feature: Manage Deployments And there is a "testtemplate" template And there is an assembly named "testassembly" belonging to "testdeployable" And there is an assembly named "testassembly" belonging to "testtemplate" template - When I go to the resources deployments page + When I go to the deployments page And I press "Launch new" Then I should see "Launch new deployment via" When I select "testdeployable" from "deployable_id" @@ -29,7 +29,7 @@ Feature: Manage Deployments
Scenario: Stop deployments Given there is a deployment named "testdeployment" belonging to "testdeployable" owned by "testuser" - When I go to the resources deployments page + When I go to the deployments page Then I should see "testdeployment" When I check "testdeployment" deployment And I press "Stop" diff --git a/src/features/image_import.feature b/src/features/image_import.feature index 56302cf..a5e9d58 100644 --- a/src/features/image_import.feature +++ b/src/features/image_import.feature @@ -10,8 +10,8 @@ Feature: Import Images And there is a provider named "testprovider" And there is a provider account named "provider1" And There is a mock pulp repository - When I go to the new image factory image import page - Then I should be on the new image factory image import page + When I go to the new image import page + Then I should be on the new image import page
Scenario: Import a new image @@ -19,18 +19,18 @@ Feature: Import Images And I fill in "ami_id" with "img1" Given I press "Import" Then I should see "Image successfully imported" - And I should be on the image factory templates page + And I should be on the templates page
Scenario: Import an already imported image When I select "provider1" from "provider_account_id" And I fill in "ami_id" with "img1" Given I press "Import" - When I go to the new image factory image import page + When I go to the new image import page When I select "provider1" from "provider_account_id" And I fill in "ami_id" with "img1" And I press "Import" Then I should see "Image 'img1' is already imported" - And I should be on the image factory image imports page + And I should be on the image imports page
Scenario: Import a non-existent image When I select "provider1" from "provider_account_id" diff --git a/src/features/pool.feature b/src/features/pool.feature index b4523e2..534e69c 100644 --- a/src/features/pool.feature +++ b/src/features/pool.feature @@ -11,13 +11,13 @@ Feature: Manage Pools Given I am on the pools page And there is not a pool named "mockpool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "mockpool" And I select "default" from "pool_pool_family_id" And I fill in "quota_instances" with "unlimited" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should see "default" @@ -31,7 +31,7 @@ Feature: Manage Pools | resource | capacity | | maximum_running_instances | 10 | | running_instances | 8 | - And I am on the resources pools page + And I am on the pools page When I follow "mockpool" Then I should be on the show pool page When I follow "Quota" @@ -39,7 +39,7 @@ Feature: Manage Pools | mockpool | 10 | 80.0 |
Scenario: Enter invalid characters into Name field - Given I am on the new resources pool page + Given I am on the new pool page When I fill in "pool[name]" with "@%&*())_@!#!" And I press "Save" Then I should see "Name must only contain: numbers, letters, spaces, '_' and '-'" @@ -48,14 +48,14 @@ Feature: Manage Pools Given I am on the pools page And a pool "Amazon Startrek Pool" exists And a pool "Redhat Voyager Pool" exists - And I am on the resources pools page + And I am on the pools page And there are 3 pools When I check "Redhat Voyager Pool" pool And I check "Amazon Startrek Pool" pool And I press "Destroy" Then there should only be 1 pools - And I should be on the resources pools page - When I go to the resources pools page + And I should be on the pools page + When I go to the pools page Then I should not see "Redhat Voyager Pool" And I should not see "Amazon Startrek Pool"
@@ -64,22 +64,22 @@ Feature: Manage Pools And there is not a pool named "mockpool" And there is not a pool named "foopool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "mockpool" And I select "default" from "pool_pool_family_id" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should have a pool named "mockpool" When I follow "New Pool" - Then I should be on the new resources pool page + Then I should be on the new pool page And I should see "Create a new Pool" When I fill in "pool_name" with "foopool" And I select "default" from "pool_pool_family_id" And I press "Save" - Then I should be on the resources pool page + Then I should be on the pool page And I should see "Pool added" And I should see "mockpool" And I should see "foopool" diff --git a/src/features/pool_family.feature b/src/features/pool_family.feature index 3ca5cfb..506ceab 100644 --- a/src/features/pool_family.feature +++ b/src/features/pool_family.feature @@ -14,7 +14,7 @@ Feature: Pool Families | pool_family1 | | pool_family2 | | pool_family3 | - When I go to the admin pool families page + When I go to the pool families page Then I should see the following: | pool_family1 | | pool_family2 | @@ -22,32 +22,32 @@ Feature: Pool Families
Scenario: Show pool family details Given there is a pool family named "testpoolfamily" - And I am on the admin pool families page + And I am on the pool families page When I follow "testpoolfamily" Then I should see "Name"
Scenario: Create a new Pool family - Given I am on the admin pool families page + Given I am on the pool families page And there is not a pool family named "testpoolfamily" When I follow "Create" - Then I should be on the new admin pool family page + Then I should be on the new pool family page When I fill in "pool_family[name]" with "testpoolfamily" When I fill in "pool_family[quota_attributes][maximum_running_instances]" with "2" And I press "Save" - Then I should be on the admin pool families page + Then I should be on the pool families page And I should see "Pool family was added." And I should have a pool family named "testpoolfamily"
Scenario: Delete a pool family Given I am on the homepage And there is a pool family named "poolfamily1" - When I go to the admin pool families page + When I go to the pool families page And I check "poolfamily1" pool family And I press "Delete" Then there should not exist a pool family named "poolfamily1"
Scenario: Disallow deletion of default pool family - Given I am on the admin pool families page + Given I am on the pool families page Then I should see "default" When I check "default" pool family And I press "Delete" @@ -60,7 +60,7 @@ Feature: Pool Families | first_family | | second_family | | third_family | - Given I am on the admin pool families page + Given I am on the pool families page Then I should see "first_family" And I should see "second_family" And I should see "third_family" diff --git a/src/features/provider.feature b/src/features/provider.feature index e7b186f..29bf918 100644 --- a/src/features/provider.feature +++ b/src/features/provider.feature @@ -15,7 +15,7 @@ Feature: Manage Providers | provider1 | | provider2 | | provider3 | - When I go to the admin providers page + When I go to the providers page Then I should see the following: | provider1 | | provider2 | @@ -23,34 +23,34 @@ Feature: Manage Providers
Scenario: Show provider details Given there is a provider named "testprovider" - And I am on the admin providers page + And I am on the providers page When I follow "testprovider" Then I should see "Provider name" And I should see "Provider URL"
Scenario: Create a new Provider - Given I am on the admin providers page + Given I am on the providers page And there is not a provider named "testprovider" When I follow "Create" - Then I should be on the new admin provider page + Then I should be on the new provider page When I fill in "provider[name]" with "testprovider" And I fill in "provider[url]" with "http://localhost:3001/api" And I select "Amazon EC2" from "provider_provider_type_id" And I press "Save" - Then I should be on the admin providers page + Then I should be on the providers page And I should see "Provider added" And I should have a provider named "testprovider"
Scenario: Create a new Provider failure when using wrong url - Given I am on the admin providers page + Given I am on the providers page And there is not a provider named "testprovider" When I follow "Create" - Then I should be on the new admin provider page + Then I should be on the new provider page When I fill in "provider[name]" with "testprovider" And I fill in "provider[url]" with "http://localhost:3010/api" And I select "Amazon EC2" from "provider_provider_type_id" And I press "Save" - Then I should be on the admin providers page + Then I should be on the providers page And I should see "Failed to connect to Provider"
Scenario: Delete a provider @@ -60,7 +60,7 @@ Feature: Manage Providers And this provider has 5 hardware profiles And this provider has a realm And this provider has a provider account - When I go to the admin providers page + When I go to the providers page And I check "provider1" provider And I press "Delete" And there should not exist a provider named "provider1" @@ -75,7 +75,7 @@ Feature: Manage Providers | Test | http://testprovider.com/api | | Kenny | http://mockprovider.com/api | | Other | http://sometesturl.com/api | - And I am on the admin providers page + And I am on the providers page Then I should see the following: | Test | http://testprovider.com/api | | Kenny | http://mockprovider.com/ap | diff --git a/src/features/provider_account.feature b/src/features/provider_account.feature index 6a06d32..3e6c8c9 100644 --- a/src/features/provider_account.feature +++ b/src/features/provider_account.feature @@ -11,16 +11,16 @@ Feature: Manage Provider Accounts Scenario: List provider accounts Given I am on the homepage And there is a provider named "testprovider" - When I go to the admin provider accounts page + When I go to the provider accounts page Then I should see "New Account" And there should be no provider accounts
Scenario: Create a new Provider Account Given there is a provider named "testprovider" And there are no provider accounts - And I am on the admin provider accounts page + And I am on the provider accounts page When I follow "New Account" - Then I should be on the new admin provider account page + Then I should be on the new provider account page And I should see "New Account" When I select "testprovider" from "provider_account_provider_id" And I fill in "provider_account[label]" with "testaccount" @@ -37,9 +37,9 @@ Feature: Manage Provider Accounts Scenario: Create a new Provider Account using wrong credentials Given there is a provider named "testprovider" And there are no provider accounts - And I am on the admin provider accounts page + And I am on the provider accounts page When I follow "New Account" - Then I should be on the new admin provider account page + Then I should be on the new provider account page And I should see "New Account" When I select "testprovider" from "provider_account_provider_id" And I fill in "provider_account[label]" with "testaccount" @@ -53,16 +53,16 @@ Feature: Manage Provider Accounts Given there is a provider named "testprovider" And there is a provider account named "testaccount" And the account has an instance associated with it - And I am on the admin provider accounts page + And I am on the provider accounts page When I check the "testaccount" account And I press "Delete" - Then I should be on the admin provider accounts page + Then I should be on the provider accounts page And I should see "was not deleted" And there should be 1 provider account When I delete all instances from the account And I check the "testaccount" account And I press "Delete" - Then I should be on the admin provider accounts page + Then I should be on the provider accounts page And I should see "was deleted" And there should be no provider accounts
@@ -70,7 +70,7 @@ Feature: Manage Provider Accounts Given there is a provider named "testprovider" And there is a provider account named "testaccount" And there is a second provider account named "otheraccount" - And I am on the admin provider accounts page + And I am on the provider accounts page When I fill in "q" with "test" And I press "Search" Then I should see the following: diff --git a/src/features/realm.feature b/src/features/realm.feature index 0cb2b85..c5e81d2 100644 --- a/src/features/realm.feature +++ b/src/features/realm.feature @@ -10,7 +10,7 @@ Feature: Manage Realms And a realm "testrealm1" exists
Scenario: Create new frontend realm - Given I am on the admin realms page + Given I am on the realms page When I follow "Create" Then I should see "Create a new Realm" When I fill in "frontend_realm[name]" with "testrealm2" @@ -18,7 +18,7 @@ Feature: Manage Realms Then I should see "Realm was added."
Scenario: Add realm mapping - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" And a provider "provider1" exists When I follow "testrealm1" @@ -29,7 +29,7 @@ Feature: Manage Realms Then I should see "Realm mapping was added."
Scenario: Change the name - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" When I follow "testrealm1" And I follow "Edit" @@ -40,30 +40,30 @@ Feature: Manage Realms
Scenario: Show realm detials Given a realm "testrealm2" exists - And I am on the admin realms page + And I am on the realms page When I follow "testrealm2" Then I should be on testrealm2's realm page
Scenario: Delete realms Given a realm "testrealm2" exists - And I am on the admin realms page + And I am on the realms page And there are 2 realms When I check "testrealm2" realm And I check "testrealm1" realm And I press "Delete" Then there should be only 0 realms - And I should be on the admin realms page + And I should be on the realms page And I should not see "testrealm1" And I should not see "testrealm2"
Scenario: Delete realm without selecting one - Given I am on the admin realms page + Given I am on the realms page When I press "Delete" - Then I should be on the admin realms page + Then I should be on the realms page And I should see "You must select at least one realm to delete."
Scenario: Delete realm mapping without selecting one - Given I am on the admin realms page + Given I am on the realms page And there is a realm "testrealm1" When I follow "testrealm1" And I follow "Mapping" diff --git a/src/features/role.feature b/src/features/role.feature index dbfb22b..ab24323 100644 --- a/src/features/role.feature +++ b/src/features/role.feature @@ -10,7 +10,7 @@ Feature: Manage Roles And a role "Captain" exists
Scenario: Change the name - Given I am on the admin roles page + Given I am on the roles page And there should be a role named "Captain" When I follow "Captain" And I follow "Edit" @@ -21,31 +21,31 @@ Feature: Manage Roles
Scenario: Show role details Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page When I follow "Admiral" Then I should be on Admiral's role page
Scenario: Show default role privileges - Given I am on the admin roles page + Given I am on the roles page And there should be a role named "Administrator" When I follow "Administrator" Then I should be on Administrator's role page
Scenario: Delete roles Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page And there are 2 more roles When I check "Admiral" role And I check "Captain" role And I press "Destroy" Then there should be 0 more roles - And I should be on the admin roles page + And I should be on the roles page And I should not see "Captain" And I should not see "Admiral"
Scenario: Search roles Given a role "Admiral" exists - And I am on the admin roles page + And I am on the roles page And there are 2 more roles When I fill in "q" with "admi" And I press "Search" diff --git a/src/features/settings.feature b/src/features/settings.feature index 3da9589..99505d0 100644 --- a/src/features/settings.feature +++ b/src/features/settings.feature @@ -9,7 +9,7 @@ Feature: Manage System wide Settings
Scenario: Change the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "8" And I press "Save" Then I should see "Settings Updated!" @@ -18,7 +18,7 @@ Feature: Manage System wide Settings
Scenario: Invalid decimal entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "1.5" And I press "Save" Then I should see "Could not update the default quota" @@ -27,7 +27,7 @@ Feature: Manage System wide Settings
Scenario: Invalid chars entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "abc" And I press "Save" Then I should see "Could not update the default quota" @@ -36,7 +36,7 @@ Feature: Manage System wide Settings
Scenario: Invalid special chars entry for the self service default quota Given the default quota is set to 5 - And I am on the self service admin settings page + And I am on the self service settings page When I fill in "self_service_default_quota[maximum_running_instances]" with "^&(*_!" And I press "Save" Then I should see "Could not update the default quota" diff --git a/src/features/step_definitions/api_steps.rb b/src/features/step_definitions/api_steps.rb index 96521d1..c722b60 100644 --- a/src/features/step_definitions/api_steps.rb +++ b/src/features/step_definitions/api_steps.rb @@ -10,7 +10,7 @@ end When /^a client requests matching hardware profile for "([^"]*)"$/ do |name| hardware_profile = HardwareProfile.find_by_name(name) provider = HardwareProfile.find_by_name("m1-medium").provider - uri = url_for :action => 'matching_profiles', :controller => 'admin/hardware_profiles', :hardware_profile_id => hardware_profile.id, :provider_id => provider.id + uri = url_for :action => 'matching_profiles', :controller => 'hardware_profiles', :hardware_profile_id => hardware_profile.id, :provider_id => provider.id send_xml_get(uri) end
@@ -40,7 +40,7 @@ end When /^a client requests "([^"]*)" for instance "([^"]*)" for provider account "([^"]*)"$/ do |action, instance, provider_account| instance = Instance.find_by_name(instance) provider_account = ProviderAccount.find_by_label(provider_account) - uri = url_for :action => action, :controller => 'resources/instances', :instance_id => instance.id, :provider_account_id => provider_account.id + uri = url_for :action => action, :controller => 'instances', :instance_id => instance.id, :provider_account_id => provider_account.id send_xml_get(uri) end
diff --git a/src/features/step_definitions/instance_steps.rb b/src/features/step_definitions/instance_steps.rb index b7daa18..c4ceb0c 100644 --- a/src/features/step_definitions/instance_steps.rb +++ b/src/features/step_definitions/instance_steps.rb @@ -15,15 +15,15 @@ Given /^a mock pending instance exists$/ do end
Given /^I am viewing the mock instance detail$/ do - visit resources_instance_url(mock_instance) + visit instance_url(mock_instance) end
When /^I am viewing the pending instance detail$/ do - visit resources_instance_url(pending_instance) + visit instance_url(pending_instance) end
When /^I manually go to the key action for this instance$/ do - visit key_resources_instance_url(pending_instance) + visit key_instance_url(pending_instance) end
Given /^I see "([^"]*)"$/ do |text| diff --git a/src/features/step_definitions/template_steps.rb b/src/features/step_definitions/template_steps.rb index d888ba7..db07c6a 100644 --- a/src/features/step_definitions/template_steps.rb +++ b/src/features/step_definitions/template_steps.rb @@ -121,7 +121,7 @@ Given /^has package "([^"]*)"$/ do |arg1| end
When /^I edit the template$/ do - visit edit_image_factory_template_url(@template) + visit edit_template_url(@template) end
When /^(?:|I )check "([^"]*)" template$/ do |template_name| diff --git a/src/features/support/paths.rb b/src/features/support/paths.rb index 9f859a0..e26e611 100644 --- a/src/features/support/paths.rb +++ b/src/features/support/paths.rb @@ -18,13 +18,13 @@ module NavigationHelpers login_path
when /^(.*)'s user page$/i - admin_user_path(User.find_by_login($1)) + user_path(User.find_by_login($1))
when /^(.*)'s role page$/i - admin_role_path(Role.find_by_name($1)) + role_path(Role.find_by_name($1))
when /^(.*)'s realm page$/i - admin_realm_path(FrontendRealm.find_by_name($1)) + realm_path(FrontendRealm.find_by_name($1))
when /the account page/ account_path @@ -48,25 +48,25 @@ module NavigationHelpers settings_path
when /the pools page/ - resources_pools_path + pools_path
when /the new pool page/ new_pool_path
when /the show pool page/ - resources_pool_path + pool_path
when /the pool realms page/ pool_realms_path
when /the deployments page/ - resources_deployments_path + deployments_path
when /the instances page/ - resources_instances_path + instances_path
when /the new instance page/ - new_resources_instance_path + new_instance_path
when /the pool hardware profiles page/ hardware_profiles_pool_path @@ -84,10 +84,10 @@ module NavigationHelpers url_for new_build_path
when /the template builds page/ - url_for image_factory_template_path(@template, :details_tab => 'builds') + url_for template_path(@template, :details_tab => 'builds')
when /the pool family provider accounts page/ - url_for admin_pool_family_path(@pool_family, :details_tab => 'provider_accounts') + url_for pool_family_path(@pool_family, :details_tab => 'provider_accounts')
when /the templates page/ templates_path @@ -102,25 +102,25 @@ module NavigationHelpers url_for :action => 'update', :controller => 'settings', :only_path => true
when /the hardware profiles page/ - url_for admin_hardware_profiles_path + url_for hardware_profiles_path
when /the new hardware profile page/ - url_for new_admin_hardware_profile_path + url_for new_hardware_profile_path
when /the edit hardware profiles page/ url_for :action => 'edit', :controller => 'hardware_profiles', :only_path => true
when /^(.*)'s provider account page$/ - admin_provider_account_path(ProviderAccount.find_by_label($1)) + provider_account_path(ProviderAccount.find_by_label($1))
when /the deployable deployments page/ - image_factory_deployable_path(@deployable, :details_tab => 'deployments') + deployable_path(@deployable, :details_tab => 'deployments')
when /the operational status of deployment page/ - resources_deployment_path(@deployment, :details_tab => 'operation') + deployment_path(@deployment, :details_tab => 'operation')
- when /^(.*)'s image factory deployable page$/ - image_factory_deployable_path(Deployable.find_by_name($1)) + when /^(.*)'s deployable page$/ + deployable_path(Deployable.find_by_name($1))
# Add more mappings here. # Here is an example that pulls values out of the Regexp: diff --git a/src/features/template.feature b/src/features/template.feature index fa6b56d..90c1ed5 100644 --- a/src/features/template.feature +++ b/src/features/template.feature @@ -9,20 +9,20 @@ Feature: Manage Templates And There is a mock pulp repository
Scenario: Create a new Template - Given I am on the image factory templates page + Given I am on the templates page When I follow "Create" - Then I should be on the new image factory template page + Then I should be on the new template page When I fill in the following: | tpl_name | mocktemplate | | tpl_platform | fedora13 | | tpl_summary | mockdesc | When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template saved" And I should see "mocktemplate"
Scenario: Add a package to a new template - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" When I press "admin-tools" Then I should see "System Tools" @@ -33,7 +33,7 @@ Feature: Manage Templates And I should see "libdeltacloud"
Scenario: Add a searched package to a new template - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" And I fill in "package_search" with "libdeltacloud" And I press "package_search_button" @@ -44,9 +44,9 @@ Feature: Manage Templates And I should see "libdeltacloud"
Scenario: Add group and remove package to/from the template - Given I am on the image factory templates page + Given I am on the templates page When I follow "Create" - Then I should be on the new image factory template page + Then I should be on the new template page When I fill in the following: | tpl_name | mocktemplate | And I press "Add Software" @@ -61,7 +61,7 @@ Feature: Manage Templates Then I should see "Managed Content to Bundle" And the page should not contain "#package_libdeltacloud" selector When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template saved" And I should see "mocktemplate"
@@ -77,7 +77,7 @@ Feature: Manage Templates Then I should see "Managed Content to Bundle" And the page should contain "#package_libdeltacloud" selector When I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Template updated" When I edit the template Then the page should contain "#package_libdeltacloud" selector @@ -85,7 +85,7 @@ Feature: Manage Templates Scenario: Sorting templates Given there is a "mock1" template And there is a "mock2" template - And I am on the image factory templates page + And I am on the templates page When I follow "Name" within "#templates_table" Then I should see "mock1" followed by "mock2" When I follow "Name" within "#templates_table" @@ -101,14 +101,14 @@ Feature: Manage Templates Then I should see "mock2" followed by "mock1"
Scenario: Search software with empty string - Given I am on the new image factory template page + Given I am on the new template page When I press "Add Software" And I fill in "package_search" with "" And I press "package_search_button" Then I should see "Search string is empty"
Scenario: Show software selection - Given I am on the new image factory template page + Given I am on the new template page And I press "Add Software" Then I should see an input "Collections" # test that we see a metagroup @@ -119,7 +119,7 @@ Feature: Manage Templates Scenario: See upload status Given there is a "mock1" template And there is Amazon AWS build and push for this template - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "amazon-ec2: complete" @@ -127,21 +127,21 @@ Feature: Manage Templates Scenario: Build template Given there is a "mock1" template And there is Amazon AWS provider account - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "Builds for" When I select "Amazon EC2" from "target" And I press "Go" - Then I should be on the image factory template page + Then I should be on the template page And I should see "mock1"
Scenario: Upload image Given there is a "mock1" template - And I am on the image factory templates page + And I am on the templates page And there is Amazon AWS build for this template And there is Amazon AWS provider - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "amazon-ec2: not uploaded upload" @@ -153,7 +153,7 @@ Feature: Manage Templates Scenario: Build imported template Given there is an imported template And there is Amazon AWS provider account - And I am on the image factory templates page + And I am on the templates page When I choose this template And I follow "Builds" Then I should see "Build imported template is not supported" @@ -164,7 +164,7 @@ Feature: Manage Templates | Test1 | fedora13 | 13 | x86_64 | Test Template Fedora 13 64 bit Description | | Mock | fedora14 | 14 | i386 | Test Template Fedora 14 Description | | Other | fedora14 | 10.04 | i386 | Test Template Ubuntu 10.04 32 bit Description | - And I am on the image factory templates page + And I am on the templates page Then I should see the following: | NAME | OS | VERSION | ARCH | | Test1 | Fedora | 13 | x86_64 | @@ -207,22 +207,22 @@ Feature: Manage Templates | Test1 | fedora13 | 13 | x86_64 | Test Template Fedora 13 64 bit Description | | Mock | fedora13 | 14 | i386 | Test Template Fedora 14 Description | | Other | fedora13 | 10.04 | i386 | Test Template Ubuntu 10.04 32 bit Description | - And I am on the image factory templates page + And I am on the templates page When I check "Test1" template And I check "Mock" template And I press "Delete" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "Other"
Scenario: Create Assembly and Deployable - Given I am on the new image factory template page + Given I am on the new template page When I fill in the following: | tpl_name | mocktemplate | | tpl_platform | fedora13 | | tpl_summary | mockdesc | And I check "create_deployable" And I press "Save" - Then I should be on the image factory templates page + Then I should be on the templates page And I should see "mocktemplate" - When I go to the image factory deployables page + When I go to the deployables page And I should see "mocktemplate" diff --git a/src/features/user.feature b/src/features/user.feature index b073436..0d90dbe 100644 --- a/src/features/user.feature +++ b/src/features/user.feature @@ -9,7 +9,7 @@ Feature: Manage Users And a user "testuser" exists
Scenario: Change the password - Given I am on the admin users page + Given I am on the users page And there is a user "testuser" When I follow "testuser" And I follow "Edit" @@ -28,29 +28,29 @@ Feature: Manage Users Then I should see "User updated!"
Scenario: Show user detials - Given I am on the admin users page + Given I am on the users page And there is a user "testuser" When I follow "testuser" Then I should be on testuser's user page
Scenario: Administrator cancels the creation of a user account - Given I am on the admin users page + Given I am on the users page And there are 2 users When I follow "create" - Then I should be on the new admin user page + Then I should be on the new user page When I follow "cancel" Then there should be 2 users - And I should be on the admin users page + And I should be on the users page
Scenario: Delete users Given there is a user "testuser" - And I am on the admin users page + And I am on the users page Then there should be 2 users When I check "admin" user And I press "Delete" Then I should see "Cannot delete admin" And there should be 2 users - And I should be on the admin users page + And I should be on the users page When I check "testuser" user And I press "Delete" Then I should see "Deleted user" @@ -59,7 +59,7 @@ Feature: Manage Users Scenario: Search for hardware profiles Given there is a user "myuser" And there is a user "someuser" - And I am on the admin users page + And I am on the users page Then I should see "myuser" And I should see "someuser" When I fill in "q" with "some" diff --git a/src/spec/controllers/builds_controller_spec.rb b/src/spec/controllers/builds_controller_spec.rb index 17fac9c..3d0debf 100644 --- a/src/spec/controllers/builds_controller_spec.rb +++ b/src/spec/controllers/builds_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe ImageFactory::BuildsController do +describe BuildsController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission diff --git a/src/spec/controllers/hardware_profiles_controller_spec.rb b/src/spec/controllers/hardware_profiles_controller_spec.rb index c7bb49f..31f42ba 100644 --- a/src/spec/controllers/hardware_profiles_controller_spec.rb +++ b/src/spec/controllers/hardware_profiles_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::HardwareProfilesController do +describe HardwareProfilesController do
fixtures :all before(:each) do diff --git a/src/spec/controllers/instance_controller_spec.rb b/src/spec/controllers/instance_controller_spec.rb index ffed76d..2837338 100644 --- a/src/spec/controllers/instance_controller_spec.rb +++ b/src/spec/controllers/instance_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Resources::InstancesController do +describe InstancesController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission @@ -11,7 +11,7 @@ describe Resources::InstancesController do it "should provide ui to create new instance" do UserSession.create(@admin) get :new - response.should redirect_to(select_template_resources_instances_path) + response.should redirect_to(select_template_instances_path) end
it "should fail to grant access to new pool ui for unauthenticated user" do diff --git a/src/spec/controllers/pools_controller_spec.rb b/src/spec/controllers/pools_controller_spec.rb index 9c730c3..01c8d8d 100644 --- a/src/spec/controllers/pools_controller_spec.rb +++ b/src/spec/controllers/pools_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Resources::PoolsController do +describe PoolsController do fixtures :all before(:each) do @admin_permission = Factory :admin_permission @@ -30,7 +30,7 @@ describe Resources::PoolsController do } end.should change(Pool, :count).by(1) id = Pool.find(:first, :conditions => ['name = ?', 'foopool']).id - response.should redirect_to(resources_pool_path(id)) + response.should redirect_to(pool_path(id)) end
end diff --git a/src/spec/controllers/provider_accounts_controller_spec.rb b/src/spec/controllers/provider_accounts_controller_spec.rb index c6887cf..503216b 100644 --- a/src/spec/controllers/provider_accounts_controller_spec.rb +++ b/src/spec/controllers/provider_accounts_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::ProviderAccountsController do +describe ProviderAccountsController do
fixtures :all before(:each) do @@ -43,7 +43,7 @@ describe Admin::ProviderAccountsController do @provider_account.quota = Quota.new @provider_account.save.should be_true post :update, :id => @provider_account.id, :provider_account => { :credentials_hash => {:username => 'mockuser', :password => 'mockpassword'} } - response.should redirect_to admin_provider_account_path(@provider_account) + response.should redirect_to provider_account_path(@provider_account) ProviderAccount.find(@provider_account.id).credentials_hash['password'].should == "mockpassword" end
@@ -52,7 +52,7 @@ describe Admin::ProviderAccountsController do lambda do post :multi_destroy, :accounts_selected => [@provider_account.id] end.should change(ProviderAccount, :count).by(-1) - response.should redirect_to admin_provider_accounts_url + response.should redirect_to provider_accounts_url ProviderAccount.find_by_id(@provider_account.id).should be_nil end
diff --git a/src/spec/controllers/provider_controller_spec.rb b/src/spec/controllers/provider_controller_spec.rb index 0b4661d..775ef92 100644 --- a/src/spec/controllers/provider_controller_spec.rb +++ b/src/spec/controllers/provider_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::ProvidersController do +describe ProvidersController do
fixtures :all before(:each) do @@ -17,7 +17,7 @@ describe Admin::ProvidersController do get :show, :id => provider.id, :details_tab => 'hw_profiles' response.should be_success assigns[:hardware_profiles].size.should == provider.hardware_profiles.size - response.should render_template("admin/providers/_hw_profiles") + response.should render_template("providers/_hw_profiles") end
it "should provide ui to view realms" do @@ -27,7 +27,7 @@ describe Admin::ProvidersController do get :show, :id => provider.id, :details_tab => 'realms' response.should be_success assigns[:realm_names].size.should == provider.realms.size - response.should render_template("admin/providers/_realms") + response.should render_template("providers/_realms") end
diff --git a/src/spec/controllers/templates_controller_spec.rb b/src/spec/controllers/templates_controller_spec.rb index db38d74..1ace2cc 100644 --- a/src/spec/controllers/templates_controller_spec.rb +++ b/src/spec/controllers/templates_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe ImageFactory::TemplatesController do +describe TemplatesController do
fixtures :all before(:each) do diff --git a/src/spec/controllers/users_controller_spec.rb b/src/spec/controllers/users_controller_spec.rb index 90b161b..20d46e8 100644 --- a/src/spec/controllers/users_controller_spec.rb +++ b/src/spec/controllers/users_controller_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper'
-describe Admin::UsersController do +describe UsersController do
before(:each) do @tuser = Factory :tuser @@ -53,7 +53,7 @@ describe Admin::UsersController do :password_confirmation => "testpass" } end.should change(User, :count)
- response.should redirect_to(admin_users_url) + response.should redirect_to(users_url) end
it "should not allow a regular user to create user" do
BitTV APK elevates live television by delivering instant, high-stability streams through an optimized delivery system that minimizes delay, maintains visual consistency, and creates a smooth viewing flow that feels closer to professional broadcast platforms than conventional mobile streaming apps - https://bittv-apk.gamemodfree.com/
On Fri, May 06, 2011 at 05:05:01PM +0200, jtomasek@redhat.com wrote:
Includes redmine patches #1445, 1446
All tests passed to me, I also tried to build Mock Image which I did not manage to do, but propably the problem is in my settings, please test.
ACK'ed and pushed. I had to rebase on next and it was a bit messy, but everything should be good.
Shortly after pushing I noticed that Connector calls into a namespaced URL. Jay is working on a fix now.
-- Matt
This patch re-adds missing files from jzigmund's Deployment operation status patch
From: Jiri Tomasek jtomasek@redhat.com
--- src/app/helpers/deployments_helper.rb | 19 +++++++++++++++++++ src/app/views/deployments/_operation.haml | 9 +++++++++ 2 files changed, 28 insertions(+), 0 deletions(-) create mode 100644 src/app/helpers/deployments_helper.rb create mode 100644 src/app/views/deployments/_operation.haml
diff --git a/src/app/helpers/deployments_helper.rb b/src/app/helpers/deployments_helper.rb new file mode 100644 index 0000000..c5b9626 --- /dev/null +++ b/src/app/helpers/deployments_helper.rb @@ -0,0 +1,19 @@ +module DeploymentsHelper + def count_uptime(start_time) + result_string = [] + difference = Time.now.utc - start_time + + seconds = difference % 60 + difference = (difference - seconds) / 60 + minutes = difference % 60 + difference = (difference - minutes) / 60 + hours = difference % 24 + difference = (difference - hours) / 24 + days = difference % 7 + + result_string<< pluralize(days.to_i, 'day') if days != 0 + result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}" + result_string.join(", ") + end +end + diff --git a/src/app/views/deployments/_operation.haml b/src/app/views/deployments/_operation.haml new file mode 100644 index 0000000..ad795cd --- /dev/null +++ b/src/app/views/deployments/_operation.haml @@ -0,0 +1,9 @@ +%h3 Operational status of #{@deployment.name} + +Uptime: += count_uptime(@deployment.created_at) +%br +Count of instances: += @deployment.instances.count + +
On 05/10/2011 03:54 PM, jtomasek@redhat.com wrote:
From: Jiri Tomasekjtomasek@redhat.com
src/app/helpers/deployments_helper.rb | 19 +++++++++++++++++++ src/app/views/deployments/_operation.haml | 9 +++++++++ 2 files changed, 28 insertions(+), 0 deletions(-) create mode 100644 src/app/helpers/deployments_helper.rb create mode 100644 src/app/views/deployments/_operation.haml
diff --git a/src/app/helpers/deployments_helper.rb b/src/app/helpers/deployments_helper.rb new file mode 100644 index 0000000..c5b9626 --- /dev/null +++ b/src/app/helpers/deployments_helper.rb @@ -0,0 +1,19 @@ +module DeploymentsHelper
- def count_uptime(start_time)
- result_string = []
- difference = Time.now.utc - start_time
- seconds = difference % 60
- difference = (difference - seconds) / 60
- minutes = difference % 60
- difference = (difference - minutes) / 60
- hours = difference % 24
- difference = (difference - hours) / 24
- days = difference % 7
- result_string<< pluralize(days.to_i, 'day') if days != 0
- result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}"
- result_string.join(", ")
- end
+end
diff --git a/src/app/views/deployments/_operation.haml b/src/app/views/deployments/_operation.haml new file mode 100644 index 0000000..ad795cd --- /dev/null +++ b/src/app/views/deployments/_operation.haml @@ -0,0 +1,9 @@ +%h3 Operational status of #{@deployment.name}
+Uptime: += count_uptime(@deployment.created_at) +%br +Count of instances: += @deployment.instances.count
ACK and pushed. This fixes failing cuke test and 'operation' view now works as expected.
aeolus-devel@lists.fedorahosted.org