summaryrefslogtreecommitdiff
path: root/db/migrate/20130224091700_add_initial_groups.rb
blob: f680fb6e0f227ee0d8552c7224334e7be8f9c1d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class AddInitialGroups < ActiveRecord::Migration
  def up
    Group.create(:name => 'admins', :active => true, :comment => 'Administrator user accounts')
    Group.create(:name => 'users', :active => true, :comment => 'Generic user accounts')
    Group.create(:name => 'tenant_sip_accounts', :active => true, :comment => 'SIP accounts owned by tenants')

    user_sip_accounts = Group.create(:name => 'user_sip_accounts', :active => true, :comment => 'SIP accounts owned by user accounts')
    user_sip_accounts.group_permissions.create(:permission => 'pickup', :target_group_id => user_sip_accounts.id)

    Group.create(:name => 'international_calls', :active => true, :comment => 'International calls permitted')
    Group.create(:name => 'national_calls', :active => true, :comment => 'National calls permitted')

    GsParameter.create(:entity => 'group', :section => 'default', :name => 'User.admin',  :value => '--- [admins]\n', :class_type => 'YAML')
    GsParameter.create(:entity => 'group', :section => 'default', :name => 'User',  :value => '--- [users]\n', :class_type => 'YAML')
    GsParameter.create(:entity => 'group', :section => 'default', :name => 'SipAccount.user',  :value => '--- [user_sip_accounts, international_calls, national_calls]\n', :class_type => 'YAML')
    GsParameter.create(:entity => 'group', :section => 'default', :name => 'SipAccount.tenant',  :value => '--- [tenant_sip_accounts]\n', :class_type => 'YAML')
  end

  def down
  	Group.destroy_all
  end
end