Catalogs are a collection of CatalogEntries, formerly
known as SuggestedDeployables.
---
src/app/controllers/catalog_entries_controller.rb | 2 +
src/app/controllers/catalogs_controller.rb | 95 ++++++++++++++++++++
src/app/controllers/deployments_controller.rb | 10 +-
src/app/models/catalog.rb | 15 +++
src/app/models/permission.rb | 4 +-
src/app/models/pool.rb | 1 +
src/app/models/privilege.rb | 2 +-
src/app/stylesheets/layout.scss | 2 +-
.../{suggested_deployables => catalogs}/_form.haml | 11 +--
src/app/views/catalogs/_list.haml | 18 ++++
src/app/views/catalogs/_properties.haml | 31 +++++++
src/app/views/catalogs/_section_header.haml | 5 +
src/app/views/catalogs/edit.haml | 15 +++
.../{suggested_deployables => catalogs}/index.haml | 0
.../{suggested_deployables => catalogs}/new.haml | 4 +-
src/app/views/catalogs/show.haml | 17 ++++
src/app/views/deployments/_launch_new.haml | 6 +-
src/app/views/layouts/_admin_header.haml | 3 +-
src/app/views/layouts/application.haml | 2 +-
.../views/suggested_deployables/_properties.haml | 23 -----
src/config/locales/en.yml | 15 +++-
src/config/navigation.rb | 3 +-
src/config/routes.rb | 7 ++-
src/db/migrate/20110816193604_create_catalogs.rb | 13 +++
src/db/seeds.rb | 24 +++--
25 files changed, 269 insertions(+), 59 deletions(-)
create mode 100644 src/app/controllers/catalogs_controller.rb
create mode 100644 src/app/models/catalog.rb
rename src/app/views/{suggested_deployables => catalogs}/_form.haml (40%)
create mode 100644 src/app/views/catalogs/_list.haml
create mode 100644 src/app/views/catalogs/_properties.haml
create mode 100644 src/app/views/catalogs/_section_header.haml
create mode 100644 src/app/views/catalogs/edit.haml
rename src/app/views/{suggested_deployables => catalogs}/index.haml (100%)
rename src/app/views/{suggested_deployables => catalogs}/new.haml (60%)
create mode 100644 src/app/views/catalogs/show.haml
delete mode 100644 src/app/views/suggested_deployables/_properties.haml
create mode 100644 src/db/migrate/20110816193604_create_catalogs.rb
diff --git a/src/app/controllers/catalog_entries_controller.rb
b/src/app/controllers/catalog_entries_controller.rb
index 8d64ed3..4432691 100644
--- a/src/app/controllers/catalog_entries_controller.rb
+++ b/src/app/controllers/catalog_entries_controller.rb
@@ -38,6 +38,7 @@ class CatalogEntriesController < ApplicationController
flash[:warning] = "Deployable url doesn't resolve valid XML file"
unless @catalog_entry.accessible_and_valid_deployable_xml?((a)catalog_entry.url)
redirect_to catalog_entries_path
else
+ load_catalogs
render :new
end
end
@@ -57,6 +58,7 @@ class CatalogEntriesController < ApplicationController
flash[:notice] = 'Catalog entry updated successfully!'
redirect_to catalog_entries_url
else
+ load_catalogs
render :action => 'edit'
end
end
diff --git a/src/app/controllers/catalogs_controller.rb
b/src/app/controllers/catalogs_controller.rb
new file mode 100644
index 0000000..e6c2e44
--- /dev/null
+++ b/src/app/controllers/catalogs_controller.rb
@@ -0,0 +1,95 @@
+class CatalogsController < ApplicationController
+ before_filter :require_user
+
+ def top_section
+ :administer
+ end
+
+ def index
+ clear_breadcrumbs
+ @catalogs = Catalog.list_for_user(current_user, Privilege::VIEW)
+ save_breadcrumb(catalogs_path(:viewstate => @viewstate ? @viewstate.id : nil))
+ set_header
+ end
+
+ def new
+ require_privilege(Privilege::CREATE, Catalog)
+ @catalog = Catalog.new(params[:catalog]) # ...when should there be params on new?
+ load_pools
+ end
+
+ def show
+ @catalog = Catalog.find(params[:id])
+ require_privilege(Privilege::VIEW, @catalog)
+ save_breadcrumb(catalogs_path(@catalog), @catalog.name)
+ @header = [
+ { :name => '', :sortable => false },
+ { :name => t("catalog_entries.index.name"), :sort_attr => :name },
+ { :name => t('catalog_entries.index.url'), :sortable => false }
+ ]
+ end
+
+ def create
+ require_privilege(Privilege::CREATE, Catalog)
+ @catalog = Catalog.new(params[:catalog])
+ require_privilege(Privilege::MODIFY, @catalog.pool)
+ if @catalog.save
+ flash[:notice] = t('catalogs.created', :count => 1)
+ redirect_to catalogs_path and return
+ else
+ load_pools
+ render :new and return
+ end
+ end
+
+ def edit
+ @catalog = Catalog.find(params[:id])
+ load_pools
+ require_privilege(Privilege::MODIFY, @catalog)
+ end
+
+ def update
+ @catalog = Catalog.find(params[:id])
+ require_privilege(Privilege::MODIFY, @catalog)
+ require_privilege(Privilege::MODIFY, @catalog.pool)
+
+ if @catalog.update_attributes(params[:catalog])
+ flash[:notice] = t('catalogs.updated', :count => 1)
+ redirect_to catalogs_url
+ else
+ render :action => 'edit'
+ end
+ end
+
+ def multi_destroy
+ Catalog.find(params[:catalogs_selected]).to_a.each do |catalog|
+ require_privilege(Privilege::MODIFY, catalog)
+ catalog.destroy
+ end
+ redirect_to catalogs_path
+ end
+
+ def destroy
+ catalog = Catalog.find(params[:id])
+ require_privilege(Privilege::MODIFY, catalog)
+ catalog.destroy
+
+ respond_to do |format|
+ format.html { redirect_to catalogs_path }
+ end
+ end
+
+ private
+
+ def set_header
+ @header = [
+ { :name => '', :sortable => false },
+ { :name => t("catalogs.index.name"), :sort_attr => :name },
+ { :name => t('pools.index.pool_name'), :sortable => false }
+ ]
+ end
+
+ def load_pools
+ @pools = Pool.list_for_user(current_user, Privilege::MODIFY)
+ end
+end
diff --git a/src/app/controllers/deployments_controller.rb
b/src/app/controllers/deployments_controller.rb
index 9bf0dea..626b63b 100644
--- a/src/app/controllers/deployments_controller.rb
+++ b/src/app/controllers/deployments_controller.rb
@@ -28,7 +28,7 @@ class DeploymentsController < ApplicationController
end
@deployment = Deployment.new(:pool_id => @pool.id)
- @suggested_deployables = SuggestedDeployable.list_for_user(current_user,
Privilege::USE)
+ @catalog_entries = SuggestedDeployable.list_for_user(current_user, Privilege::USE)
init_new_deployment_attrs
respond_to do |format|
format.html
@@ -41,7 +41,7 @@ class DeploymentsController < ApplicationController
def new
@deployment = Deployment.new(params[:deployment])
@pool = @deployment.pool
- @suggested_deployables = SuggestedDeployable.list_for_user(current_user,
Privilege::USE)
+ @catalog_entries = SuggestedDeployable.list_for_user(current_user, Privilege::USE)
require_privilege(Privilege::CREATE, Deployment, @pool)
url = get_deployable_url
respond_to do |format|
@@ -298,12 +298,12 @@ class DeploymentsController < ApplicationController
end
def get_deployable_url
- if !params.has_key?(:suggested_deployable_id)
+ if !params.has_key?(:catalog_entry_id)
return nil
- elsif params[:suggested_deployable_id].to_s == 'other'
+ elsif params[:catalog_entry_id].to_s == 'other'
return params[:deployable_url]
else
- sdeployable = SuggestedDeployable.find(params[:suggested_deployable_id])
+ sdeployable = SuggestedDeployable.find(params[:catalog_entry_id])
require_privilege(Privilege::USE, sdeployable)
return sdeployable.url
end
diff --git a/src/app/models/catalog.rb b/src/app/models/catalog.rb
new file mode 100644
index 0000000..6a41c87
--- /dev/null
+++ b/src/app/models/catalog.rb
@@ -0,0 +1,15 @@
+class Catalog < ActiveRecord::Base
+ include PermissionedObject
+
+ belongs_to :pool
+ has_many :catalog_entries, :dependent => :destroy
+ has_many :permissions, :as => :permission_object, :dependent => :destroy,
+ :include => [:role],
+ :order => "permissions.id ASC"
+
+ validates_presence_of :pool
+ validates_presence_of :name
+ validates_uniqueness_of :name
+ validates_length_of :name, :maximum => 1024
+
+end
diff --git a/src/app/models/permission.rb b/src/app/models/permission.rb
index c7e7c38..a4d4e61 100644
--- a/src/app/models/permission.rb
+++ b/src/app/models/permission.rb
@@ -53,7 +53,9 @@ class Permission < ActiveRecord::Base
:foreign_key =>
"permission_object_id"
belongs_to :deployment, :class_name => "Deployment",
:foreign_key =>
"permission_object_id"
- belongs_to :suggested_deployable, :class_name => "SuggestedDeployable",
+ belongs_to :catalog_entry, :class_name => "CatalogEntry",
+ :foreign_key =>
"permission_object_id"
+ belongs_to :catalog, :class_name => "Catalog",
:foreign_key =>
"permission_object_id"
belongs_to :provider, :class_name => "Provider",
:foreign_key =>
"permission_object_id"
diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb
index 028465c..d29675d 100644
--- a/src/app/models/pool.rb
+++ b/src/app/models/pool.rb
@@ -43,6 +43,7 @@ class Pool < ActiveRecord::Base
has_many :deployments
# NOTE: Commented out because images table doesn't have pool_id foreign key?!
#has_many :images, :dependent => :destroy
+ has_many :catalogs, :dependent => :destroy
validates_presence_of :name
validates_presence_of :quota
diff --git a/src/app/models/privilege.rb b/src/app/models/privilege.rb
index 22f1eeb..80189e2 100644
--- a/src/app/models/privilege.rb
+++ b/src/app/models/privilege.rb
@@ -57,7 +57,7 @@ class Privilege < ActiveRecord::Base
PoolFamily => ACTIONS - [USE],
Instance => ACTIONS,
Deployment => ACTIONS,
- SuggestedDeployable => ACTIONS,
+ CatalogEntry => ACTIONS,
Quota => [VIEW, MODIFY],
HardwareProfile => ACTIONS - [USE, VIEW],
Realm => ACTIONS - [VIEW],
diff --git a/src/app/stylesheets/layout.scss b/src/app/stylesheets/layout.scss
index 6dd30bc..af41d65 100644
--- a/src/app/stylesheets/layout.scss
+++ b/src/app/stylesheets/layout.scss
@@ -1511,7 +1511,7 @@ div#content .page-header{
padding: 6px 7px 7px 54px;
}
- h1.suggested_deployables{
+ h1.catalog_entries{
background: transparent url('../../images/header_icon_deployables.png')
no-repeat 8px center;
}
diff --git a/src/app/views/suggested_deployables/_form.haml
b/src/app/views/catalogs/_form.haml
similarity index 40%
rename from src/app/views/suggested_deployables/_form.haml
rename to src/app/views/catalogs/_form.haml
index 47d5b74..9a46e0c 100644
--- a/src/app/views/suggested_deployables/_form.haml
+++ b/src/app/views/catalogs/_form.haml
@@ -1,15 +1,12 @@
-= error_messages_for @suggested_deployable
+= error_messages_for @catalog
%fieldset
%p
= form.label :name
= form.text_field :name, :class => 'em long'
%p
- = form.label :description
- = form.text_area :description, :class => 'long'
- %p
- = form.label :url, 'URL'
- = form.text_field :url, :class => 'long'
+ = form.label :pool_id
+ = form.select(:pool_id, @pools.collect{|p| [p.name, p.id]}, :prompt =>
"Select pool")
%fieldset.options
- = link_to 'Cancel', suggested_deployables_path, :class => 'button
danger'
+ = link_to 'Cancel', catalog_entries_path, :class => 'button danger'
= submit_tag 'Save', :name => 'save', :class => 'button',
:id => 'save_button'
diff --git a/src/app/views/catalogs/_list.haml b/src/app/views/catalogs/_list.haml
new file mode 100644
index 0000000..885d9e7
--- /dev/null
+++ b/src/app/views/catalogs/_list.haml
@@ -0,0 +1,18 @@
+%section.content-section.catalogs
+ %header
+ %h2 Catalogs List
+ %span.label.badge.dark.count= @catalogs.length
+
+ .content
+ - content_for :form_header do
+ %li= restful_submit_tag "Delete", "destroy",
multi_destroy_catalogs_path, 'DELETE', :id => 'delete_button', :class
=> 'button danger'
+
+ = filter_table(@header, @catalogs) do |catalog|
+ %tr{:class => cycle('nostripe','stripe')}
+ %td
+ - selected = params[:select] == 'all'
+ = check_box_tag "catalogs_selected[]", catalog.id, selected, :id
=> "catalog_checkbox_#{catalog.id}"
+ %td
+ = link_to catalog.name, catalog_path(catalog.id)
+ %td
+ = catalog.pool.name
diff --git a/src/app/views/catalogs/_properties.haml
b/src/app/views/catalogs/_properties.haml
new file mode 100644
index 0000000..698e793
--- /dev/null
+++ b/src/app/views/catalogs/_properties.haml
@@ -0,0 +1,31 @@
+%table
+ %tbody
+ %tr
+ %td
+ %label{:name => 'name'} Name:
+ %td
+ = @catalog.name
+ %tr
+ %td
+ %label{:name => 'pool'} Pool:
+ %td
+ = @catalog.pool.name
+
+%section.content-section.catalog_entries
+ %header
+ %h2 Catalog Entries
+ %span.label.badge.dark.count= @catalog.catalog_entries.length
+
+ .content
+ - content_for :form_header do
+ %li= restful_submit_tag "Delete", "destroy",
multi_destroy_catalog_entries_path, 'DELETE', :id => 'delete_button',
:class => 'button danger'
+
+ = filter_table(@header, @catalog.catalog_entries) do |catalog_entry|
+ %tr{:class => cycle('nostripe','stripe')}
+ %td
+ - selected = params[:select] == 'all'
+ = check_box_tag "catalog_entries_selected[]", catalog_entry.id,
selected, :id => "catalog_entry_checkbox_#{catalog_entry.id}"
+ %td
+ = link_to catalog_entry.name, catalog_entry_path(catalog_entry.id)
+ %td
+ = catalog_entry.url
diff --git a/src/app/views/catalogs/_section_header.haml
b/src/app/views/catalogs/_section_header.haml
new file mode 100644
index 0000000..c7d31cc
--- /dev/null
+++ b/src/app/views/catalogs/_section_header.haml
@@ -0,0 +1,5 @@
+%header.page-header
+ %h1{:class => controller.controller_name} Catalogs
+ #obj_actions.button-group
+ = link_to 'New Catalog', new_catalog_url, :class => 'button
primary', :id => 'new_catalog_button'
+ .corner
diff --git a/src/app/views/catalogs/edit.haml b/src/app/views/catalogs/edit.haml
new file mode 100644
index 0000000..fc43553
--- /dev/null
+++ b/src/app/views/catalogs/edit.haml
@@ -0,0 +1,15 @@
+%header.page-header
+ %h1{:class => controller.controller_name}= @catalog.name
+ #obj_actions.button-container
+ = link_to 'New Catalog', new_catalog_url, :class => 'button
primary', :id => 'new_catalog_button'
+ .button-group
+ = link_to 'Cancel Editing', catalogs_path, :class => 'button pill
danger', :id => 'cancel_catalog_button'
+ .corner
+
+%section.content-section.user
+ %header
+ %h2 Editing Catalog
+
+ .content
+ = form_for @catalog, :url => catalog_path(@catalog), :html => { :method =>
:put, :class => 'generic' } do |f|
+ = render :partial => "form", :locals => { :form => f }
diff --git a/src/app/views/suggested_deployables/index.haml
b/src/app/views/catalogs/index.haml
similarity index 100%
rename from src/app/views/suggested_deployables/index.haml
rename to src/app/views/catalogs/index.haml
diff --git a/src/app/views/suggested_deployables/new.haml
b/src/app/views/catalogs/new.haml
similarity index 60%
rename from src/app/views/suggested_deployables/new.haml
rename to src/app/views/catalogs/new.haml
index 85cc334..4d6cd23 100644
--- a/src/app/views/suggested_deployables/new.haml
+++ b/src/app/views/catalogs/new.haml
@@ -3,8 +3,8 @@
%section.content-section.provider_accounts
%header
- %h2 Add New Deployable
+ %h2 Add New Catalog
.content
- = form_for @suggested_deployable, :url => suggested_deployables_path, :html =>
{:class => 'generic'} do |f|
+ = form_for @catalog, :url => catalogs_path, :html => {:class =>
'generic'} do |f|
= render :partial => "form", :locals => { :form => f }
diff --git a/src/app/views/catalogs/show.haml b/src/app/views/catalogs/show.haml
new file mode 100644
index 0000000..fafd962
--- /dev/null
+++ b/src/app/views/catalogs/show.haml
@@ -0,0 +1,17 @@
+= render :partial => 'layouts/admin_header'
+%header.page-header
+ %h1{:class => controller.controller_name}= @catalog.name
+ #obj_actions.button-container
+ = link_to 'New Catalog', new_catalog_url, :class => 'button
primary', :id => 'new_catalog_entry_button'
+ .button-group
+ = link_to 'Edit', edit_catalog_path(@catalog), :class => 'button
pill', :id => 'edit_button'
+ = button_to "Delete", catalog_path(@catalog), :method =>
'delete', :confirm => "Are you sure you want to delete?", :class
=> 'button pill danger', :id => 'delete_button'
+ .corner
+
+%section.content-section.user
+ %header
+ %h2 Properties
+
+ .content
+ %div#view
+ = render :partial => 'properties'
diff --git a/src/app/views/deployments/_launch_new.haml
b/src/app/views/deployments/_launch_new.haml
index 85a7143..c3df0e9 100644
--- a/src/app/views/deployments/_launch_new.haml
+++ b/src/app/views/deployments/_launch_new.haml
@@ -26,8 +26,8 @@
%fieldset
%p
- %label{:for => 'suggested_deployable_id'} Deployable Definition
- = select_tag :suggested_deployable_id, options_for_select([['Load
definition from URL', 'other']] + @suggested_deployables.map {|d| [d.name,
d.id]}, params[:suggested_deployable_id])
+ %label{:for => 'catalog_entry_id'} Deployable Definition
+ = select_tag :catalog_entry_id, options_for_select([['Load definition from
URL', 'other']] + @catalog_entries.map {|d| [d.name, d.id]},
params[:catalog_entry_id])
%p#deployable-url-section
%label{:for => 'deployable_url'}
Deployable URL
@@ -49,7 +49,7 @@
// Might be nice to build something in application.js to guard against this, and that
also
// introduces a ~250ms buffer so we don't do a lookup on every single keystroke...
$(document).ready(function () {
- $('#suggested_deployable_id').change(function(){
+ $('#catalog_entry_id').change(function(){
if($(this).val() !== 'other'){
$('#deployable-url-section').hide();
}else{
diff --git a/src/app/views/layouts/_admin_header.haml
b/src/app/views/layouts/_admin_header.haml
index 37f6a90..fb4a8e0 100644
--- a/src/app/views/layouts/_admin_header.haml
+++ b/src/app/views/layouts/_admin_header.haml
@@ -17,7 +17,8 @@
%option{:value => hardware_profiles_path} Hardware Profiles
%option{:value => realms_path} Realms
%option{:value => pool_families_path} Pool Families
- %option{:value => suggested_deployables_path} Suggested Deployables
+ %option{:value => catalogs_path} Catalogs
+ %option{:value => catalog_entries_path} Catalog Entries
%option{:value => settings_path} Settings
:javascript
diff --git a/src/app/views/layouts/application.haml
b/src/app/views/layouts/application.haml
index e7a8ced..ecccfa0 100644
--- a/src/app/views/layouts/application.haml
+++ b/src/app/views/layouts/application.haml
@@ -50,7 +50,7 @@
%li{:class => "#{'active' unless [:design,
:administer].include? controller.top_section}" }
= link_to 'Monitor', pools_path, :id => 'monitor'
%li{:class => "#{'active' if controller.top_section ==
:administer}" }
- = link_to 'Administer', suggested_deployables_path
+ = link_to 'Administer', catalog_entries_path
#content
-# works with any 960 container (.container_16 or .container_24)
diff --git a/src/app/views/suggested_deployables/_properties.haml
b/src/app/views/suggested_deployables/_properties.haml
deleted file mode 100644
index ba66048..0000000
--- a/src/app/views/suggested_deployables/_properties.haml
+++ /dev/null
@@ -1,23 +0,0 @@
-%table
- %thead
- %tr
- %th.show
- Properties for
- = @suggested_deployable.name
- %th.show
- %tbody
- %tr
- %td
- %label{:name => 'name'} Name:
- %td
- = @suggested_deployable.name
- %tr
- %td
- %label{:name => 'description'} Description:
- %td
- = @suggested_deployable.description
- %tr
- %td
- %label{:name => 'url'} URL:
- %td
- = @suggested_deployable.url
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 26e6887..7ae9e32 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -161,11 +161,22 @@ en:
name: Name
quota_used: Quota Used
quota_limit: Quota Limit
- suggested_deployables:
+ catalog_entries:
index:
- suggested_deployables: Suggested Deployables
+ catalog_entries: Catalog Entries
name: Name
url: URL
+ catalogs:
+ index:
+ name: Name
+ catalogs: Catalogs
+ catalog_name: Catalog Name
+ updated:
+ one: Catalog updated successfully!
+ many: Catalogs updated successfully!
+ created:
+ one: Catalog created!
+ many: Catalogs created!
deployables:
index:
deployables: Deployables
diff --git a/src/config/navigation.rb b/src/config/navigation.rb
index 326b97c..2f66d54 100644
--- a/src/config/navigation.rb
+++ b/src/config/navigation.rb
@@ -14,7 +14,8 @@ SimpleNavigation::Configuration.run do |navigation|
second_level.item :hardware_profiles, t(:cloud_engine_hardware_profiles),
hardware_profiles_path, :highlights_on => /\/hardware_profiles/
second_level.item :realms, t(:cloud_engine_realms), realms_path, :highlights_on
=> /\/realms/
second_level.item :pool_families, t('pool_families.pool_families'),
pool_families_path, :highlights_on => /\/pool_families/
- second_level.item :suggested_deployables,
t('suggested_deployables.index.suggested_deployables'),
suggested_deployables_path, :highlights_on => /\/suggested_deployables/
+ second_level.item :catalogs, t('catalogs.index.catalogs'), catalogs_path,
:highlights_on => /\/catalogs/
+ second_level.item :catalog_entries,
t('catalog_entries.index.catalog_entries'), catalog_entries_path, :highlights_on
=> /\/catalog_entries/
second_level.item :settings, t('settings.settings'), settings_path,
:highlights_on => /\/settings/
end
first_level.item :dashboard, t(:dashboard), '#'
diff --git a/src/config/routes.rb b/src/config/routes.rb
index 67262ae..db03fb8 100644
--- a/src/config/routes.rb
+++ b/src/config/routes.rb
@@ -151,10 +151,15 @@ Conductor::Application.routes.draw do
delete 'multi_destroy', :on => :collection
end
- resources :suggested_deployables do
+ resources :catalog_entries do
delete 'multi_destroy', :on => :collection
end
+ resources :catalogs do
+ delete 'multi_destroy', :on => :collection
+ post 'create'
+ end
+
#match 'matching_profiles', :to =>
'/hardware_profiles/matching_profiles/:hardware_profile_id/provider/:provider_id',
:controller => 'hardware_profiles', :action => 'matching_profiles',
:conditions => { :method => :get }, :as =>'matching_profiles'
match 'dashboard', :to => 'dashboard', :as =>
'dashboard'
root :to => "pools#index"
diff --git a/src/db/migrate/20110816193604_create_catalogs.rb
b/src/db/migrate/20110816193604_create_catalogs.rb
new file mode 100644
index 0000000..b09deaf
--- /dev/null
+++ b/src/db/migrate/20110816193604_create_catalogs.rb
@@ -0,0 +1,13 @@
+class CreateCatalogs < ActiveRecord::Migration
+ def self.up
+ create_table :catalogs do |t|
+ t.integer :pool_id
+ t.string :name
+ t.timestamps
+ end
+ end
+
+ def self.down
+ drop_table :catalogs
+ end
+end
diff --git a/src/db/seeds.rb b/src/db/seeds.rb
index eb9219d..170375c 100644
--- a/src/db/seeds.rb
+++ b/src/db/seeds.rb
@@ -41,9 +41,12 @@ roles =
ProviderAccount =>
{"Provider Account User" => [false, {ProviderAccount =>
[VIEW,USE]}],
"Provider Account Owner" => [true, {ProviderAccount =>
[VIEW,USE,MOD, VPRM,GPRM]}]},
- SuggestedDeployable =>
- {"SuggestedDeployable User" => [false, {SuggestedDeployable
=> [VIEW,USE]}],
- "SuggestedDeployable Owner" => [true, {SuggestedDeployable
=> [VIEW,USE,MOD,VPRM,GPRM]}]},
+ Catalog =>
+ {"Catalog User" => [false, {Catalog => [VIEW, USE]}],
+ "Catalog Administrator" => [true, {Catalog =>
[VIEW,USE,MOD,VPRM,GPRM]}]},
+ CatalogEntry =>
+ {"CatalogEntry User" => [false, {CatalogEntry =>
[VIEW,USE]}],
+ "CatalogEntry Owner" => [true, {CatalogEntry =>
[VIEW,USE,MOD,VPRM,GPRM]}]},
BasePermissionObject =>
{"Provider Creator" => [false, {Provider => [
CRE]}],
"Provider Administrator" => [false, {Provider => [VIEW,
MOD,CRE,VPRM,GPRM],
@@ -56,8 +59,8 @@ roles =
Deployment =>
[VIEW,USE,MOD,CRE,VPRM,GPRM],
Quota => [VIEW, MOD],
PoolFamily => [VIEW,
MOD,CRE,VPRM,GPRM]}],
- "SuggestedDeployable Administrator" => [false, {SuggestedDeployable
=> [VIEW,USE,MOD,CRE,VPRM,GPRM]}],
- "SuggestedDeployable Global User" => [false,
{SuggestedDeployable=> [VIEW,USE]}],
+ "CatalogEntry Administrator" => [false, {CatalogEntry =>
[VIEW,USE,MOD,CRE,VPRM,GPRM]}],
+ "CatalogEntry Global User" => [false, {CatalogEntry=>
[VIEW,USE]}],
"Pool Global User" => [false, {Pool =>
[VIEW],
Instance => [
CRE],
Deployment => [
CRE],
@@ -72,7 +75,8 @@ roles =
Deployment =>
[VIEW,USE,MOD,CRE,VPRM,GPRM],
Quota => [VIEW, MOD],
PoolFamily => [VIEW,
MOD,CRE,VPRM,GPRM],
- SuggestedDeployable =>
[VIEW,USE,MOD,CRE,VPRM,GPRM],
+ Catalog =>
[VIEW,USE,MOD,CRE,VPRM,GPRM],
+ CatalogEntry =>
[VIEW,USE,MOD,CRE,VPRM,GPRM],
BasePermissionObject => [ MOD,
VPRM,GPRM]}]}}
Role.transaction do
roles.each do |role_scope, scoped_hash|
@@ -101,20 +105,20 @@ default_quota = Quota.create
default_pool = Pool.find_by_name("Default")
default_role = Role.find_by_name("Pool User")
-default_suggested_deployable_role = Role.find_by_name("SuggestedDeployable Global
User")
+default_catalog_entry_role = Role.find_by_name("CatalogEntry Global User")
default_pool_global_user_role = Role.find_by_name("Pool Global User")
settings = {"allow_self_service_logins" => "true",
"self_service_default_quota" => default_quota,
"self_service_default_pool" => default_pool,
"self_service_default_role" => default_role,
- "self_service_default_suggested_deployable_obj" =>
BasePermissionObject.general_permission_scope,
- "self_service_default_suggested_deployable_role" =>
default_suggested_deployable_role,
+ "self_service_default_catalog_entry_obj" =>
BasePermissionObject.general_permission_scope,
+ "self_service_default_catalog_entry_role" => default_catalog_entry_role,
"self_service_default_pool_global_user_obj" =>
BasePermissionObject.general_permission_scope,
"self_service_default_pool_global_user_role" =>
default_pool_global_user_role,
# perm list in the format:
# "[resource1_key, resource1_role], [resource2_key, resource2_role], ..."
- "self_service_perms_list" =>
"[self_service_default_pool,self_service_default_role],
[self_service_default_suggested_deployable_obj,self_service_default_suggested_deployable_role],
[self_service_default_pool_global_user_obj,self_service_default_pool_global_user_role]"}
+ "self_service_perms_list" =>
"[self_service_default_pool,self_service_default_role],
[self_service_default_catalog_entry_obj,self_service_default_catalog_entry_role],
[self_service_default_pool_global_user_obj,self_service_default_pool_global_user_role]"}
settings.each_pair do |key, value|
MetadataObject.set(key, value)
end
--
1.7.6