summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/gemeinschaft_setups_controller.rb8
-rw-r--r--app/models/gemeinschaft_setup.rb12
-rw-r--r--app/views/gemeinschaft_setups/new.de.html.haml1
-rw-r--r--app/views/gemeinschaft_setups/new.html.haml1
4 files changed, 22 insertions, 0 deletions
diff --git a/app/controllers/gemeinschaft_setups_controller.rb b/app/controllers/gemeinschaft_setups_controller.rb
index 27c0a83..347e043 100644
--- a/app/controllers/gemeinschaft_setups_controller.rb
+++ b/app/controllers/gemeinschaft_setups_controller.rb
@@ -45,6 +45,14 @@ class GemeinschaftSetupsController < ApplicationController
super_tenant_super_admin_group = super_tenant.user_groups.create(:name => t('gemeinschaft_setups.initial_setup.super_admin_group_name'))
super_tenant_super_admin_group.user_group_memberships.create(:user_id => user.id)
+ # Set CallRoute defaults
+ CallRoute.factory_defaults_prerouting(@gemeinschaft_setup.country.country_code,
+ @gemeinschaft_setup.country.trunk_prefix,
+ @gemeinschaft_setup.country.international_call_prefix,
+ '',
+ @gemeinschaft_setup.default_area_code
+ )
+
# Set a couple of URLs in the GsParameter table
GsParameter.where(:name => 'phone_book_entry_image_url').first.update_attributes(:value => "http://#{@gemeinschaft_setup.sip_domain.host}/uploads/phone_book_entry/image")
GsParameter.where(:name => 'ringtone_url').first.update_attributes(:value => "http://#{@gemeinschaft_setup.sip_domain.host}")
diff --git a/app/models/gemeinschaft_setup.rb b/app/models/gemeinschaft_setup.rb
index 0b3eeae..6056236 100644
--- a/app/models/gemeinschaft_setup.rb
+++ b/app/models/gemeinschaft_setup.rb
@@ -10,8 +10,20 @@ class GemeinschaftSetup < ActiveRecord::Base
#
after_create :expire_cache
+ before_validation :format_default_area_code
+
private
def expire_cache
ActionController::Base.expire_page(Rails.application.routes.url_helpers.new_gemeinschaft_setup_path)
end
+
+ def format_default_area_code
+ if self.default_area_code.blank?
+ self.default_area_code = nil
+ else
+ if self.country != nil && !self.country.trunk_prefix.blank?
+ self.default_area_code.gsub(/^#{self.country.trunk_prefix}/,'')
+ end
+ end
+ end
end
diff --git a/app/views/gemeinschaft_setups/new.de.html.haml b/app/views/gemeinschaft_setups/new.de.html.haml
index 2e148f3..1afa5d4 100644
--- a/app/views/gemeinschaft_setups/new.de.html.haml
+++ b/app/views/gemeinschaft_setups/new.de.html.haml
@@ -20,6 +20,7 @@
= f.association :country, :label => t('gemeinschaft_setups.form.country_id.label'), :hint => conditional_hint('gemeinschaft_setups.form.country_id.hint'), :include_blank => false
= f.association :language, :label => t('gemeinschaft_setups.form.language_id.label'), :hint => conditional_hint('gemeinschaft_setups.form.language_id.hint'), :include_blank => false
+ = f.input :default_area_code, :label => t('gemeinschaft_setups.form.default_area_code.label'), :hint => conditional_hint('gemeinschaft_setups.form.default_area_code.hint')
.actions
= f.button :submit, conditional_t('gemeinschaft_setups.form.submit') \ No newline at end of file
diff --git a/app/views/gemeinschaft_setups/new.html.haml b/app/views/gemeinschaft_setups/new.html.haml
index ab5a70f..da3c60e 100644
--- a/app/views/gemeinschaft_setups/new.html.haml
+++ b/app/views/gemeinschaft_setups/new.html.haml
@@ -20,6 +20,7 @@
= f.association :country, :label => t('gemeinschaft_setups.form.country_id.label'), :hint => conditional_hint('gemeinschaft_setups.form.country_id.hint'), :include_blank => false
= f.association :language, :label => t('gemeinschaft_setups.form.language_id.label'), :hint => conditional_hint('gemeinschaft_setups.form.language_id.hint'), :include_blank => false
+ = f.input :default_area_code, :label => t('gemeinschaft_setups.form.default_area_code.label'), :hint => conditional_hint('gemeinschaft_setups.form.default_area_code.hint')
.actions
= f.button :submit, conditional_t('gemeinschaft_setups.form.submit') \ No newline at end of file