summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-03 17:09:57 +0200
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-03 17:09:57 +0200
commit21995072fb0e57c8209460936c0e5b322a1547c3 (patch)
treef2d7dbb02ac37f433cad1b2ecc1398f1f91bd189 /app
parentcc6b71ffef4d781890cf7eef64ded71abb099a7f (diff)
PagerGroup stuff
Diffstat (limited to 'app')
-rw-r--r--app/controllers/pager_group_destinations_controller.rb41
-rw-r--r--app/controllers/pager_groups_controller.rb41
-rw-r--r--app/helpers/pager_group_destinations_helper.rb2
-rw-r--r--app/helpers/pager_groups_helper.rb2
-rw-r--r--app/models/pager_group.rb8
-rw-r--r--app/models/pager_group_destination.rb8
-rw-r--r--app/models/sip_account.rb2
-rw-r--r--app/views/pager_group_destinations/_form.html.haml7
-rw-r--r--app/views/pager_group_destinations/_form_core.html.haml3
-rw-r--r--app/views/pager_group_destinations/_index_core.html.haml11
-rw-r--r--app/views/pager_group_destinations/edit.html.haml3
-rw-r--r--app/views/pager_group_destinations/index.html.haml6
-rw-r--r--app/views/pager_group_destinations/new.html.haml3
-rw-r--r--app/views/pager_group_destinations/show.html.haml10
-rw-r--r--app/views/pager_groups/_form.html.haml7
-rw-r--r--app/views/pager_groups/_form_core.html.haml3
-rw-r--r--app/views/pager_groups/_index_core.html.haml11
-rw-r--r--app/views/pager_groups/edit.html.haml3
-rw-r--r--app/views/pager_groups/index.html.haml6
-rw-r--r--app/views/pager_groups/new.html.haml3
-rw-r--r--app/views/pager_groups/show.html.haml10
21 files changed, 190 insertions, 0 deletions
diff --git a/app/controllers/pager_group_destinations_controller.rb b/app/controllers/pager_group_destinations_controller.rb
new file mode 100644
index 0000000..655054a
--- /dev/null
+++ b/app/controllers/pager_group_destinations_controller.rb
@@ -0,0 +1,41 @@
+class PagerGroupDestinationsController < ApplicationController
+ def index
+ @pager_group_destinations = PagerGroupDestination.all
+ end
+
+ def show
+ @pager_group_destination = PagerGroupDestination.find(params[:id])
+ end
+
+ def new
+ @pager_group_destination = PagerGroupDestination.new
+ end
+
+ def create
+ @pager_group_destination = PagerGroupDestination.new(params[:pager_group_destination])
+ if @pager_group_destination.save
+ redirect_to @pager_group_destination, :notice => t('pager_group_destinations.controller.successfuly_created')
+ else
+ render :new
+ end
+ end
+
+ def edit
+ @pager_group_destination = PagerGroupDestination.find(params[:id])
+ end
+
+ def update
+ @pager_group_destination = PagerGroupDestination.find(params[:id])
+ if @pager_group_destination.update_attributes(params[:pager_group_destination])
+ redirect_to @pager_group_destination, :notice => t('pager_group_destinations.controller.successfuly_updated')
+ else
+ render :edit
+ end
+ end
+
+ def destroy
+ @pager_group_destination = PagerGroupDestination.find(params[:id])
+ @pager_group_destination.destroy
+ redirect_to pager_group_destinations_url, :notice => t('pager_group_destinations.controller.successfuly_destroyed')
+ end
+end
diff --git a/app/controllers/pager_groups_controller.rb b/app/controllers/pager_groups_controller.rb
new file mode 100644
index 0000000..4fa21c2
--- /dev/null
+++ b/app/controllers/pager_groups_controller.rb
@@ -0,0 +1,41 @@
+class PagerGroupsController < ApplicationController
+ def index
+ @pager_groups = PagerGroup.all
+ end
+
+ def show
+ @pager_group = PagerGroup.find(params[:id])
+ end
+
+ def new
+ @pager_group = PagerGroup.new
+ end
+
+ def create
+ @pager_group = PagerGroup.new(params[:pager_group])
+ if @pager_group.save
+ redirect_to @pager_group, :notice => t('pager_groups.controller.successfuly_created')
+ else
+ render :new
+ end
+ end
+
+ def edit
+ @pager_group = PagerGroup.find(params[:id])
+ end
+
+ def update
+ @pager_group = PagerGroup.find(params[:id])
+ if @pager_group.update_attributes(params[:pager_group])
+ redirect_to @pager_group, :notice => t('pager_groups.controller.successfuly_updated')
+ else
+ render :edit
+ end
+ end
+
+ def destroy
+ @pager_group = PagerGroup.find(params[:id])
+ @pager_group.destroy
+ redirect_to pager_groups_url, :notice => t('pager_groups.controller.successfuly_destroyed')
+ end
+end
diff --git a/app/helpers/pager_group_destinations_helper.rb b/app/helpers/pager_group_destinations_helper.rb
new file mode 100644
index 0000000..46436dd
--- /dev/null
+++ b/app/helpers/pager_group_destinations_helper.rb
@@ -0,0 +1,2 @@
+module PagerGroupDestinationsHelper
+end
diff --git a/app/helpers/pager_groups_helper.rb b/app/helpers/pager_groups_helper.rb
new file mode 100644
index 0000000..ac8d9fb
--- /dev/null
+++ b/app/helpers/pager_groups_helper.rb
@@ -0,0 +1,2 @@
+module PagerGroupsHelper
+end
diff --git a/app/models/pager_group.rb b/app/models/pager_group.rb
new file mode 100644
index 0000000..861377f
--- /dev/null
+++ b/app/models/pager_group.rb
@@ -0,0 +1,8 @@
+class PagerGroup < ActiveRecord::Base
+ attr_accessible :sip_account_id, :callback_url
+
+ has_many :pager_group_destinations, :dependent => :destroy
+ belongs_to :sip_account
+
+ validates_presence_of :sip_account_id
+end
diff --git a/app/models/pager_group_destination.rb b/app/models/pager_group_destination.rb
new file mode 100644
index 0000000..333d10f
--- /dev/null
+++ b/app/models/pager_group_destination.rb
@@ -0,0 +1,8 @@
+class PagerGroupDestination < ActiveRecord::Base
+ attr_accessible :pager_group_id, :sip_account_id
+
+ belongs_to :pager_group
+
+ validates_presence_of :pager_group_id
+ validates_presence_of :sip_account_id
+end
diff --git a/app/models/sip_account.rb b/app/models/sip_account.rb
index 77fe87a..e4ecfc4 100644
--- a/app/models/sip_account.rb
+++ b/app/models/sip_account.rb
@@ -46,6 +46,8 @@ class SipAccount < ActiveRecord::Base
has_many :voicemail_accounts, :as => :voicemail_accountable, :dependent => :destroy
belongs_to :voicemail_account
+ has_many :pager_groups, :dependent => :destroy
+
# Delegations:
#
delegate :host, :to => :sip_domain, :allow_nil => true
diff --git a/app/views/pager_group_destinations/_form.html.haml b/app/views/pager_group_destinations/_form.html.haml
new file mode 100644
index 0000000..80cb7bb
--- /dev/null
+++ b/app/views/pager_group_destinations/_form.html.haml
@@ -0,0 +1,7 @@
+= simple_form_for(@pager_group_destination) do |f|
+ = f.error_notification
+
+ = render "form_core", :f => f
+
+ .form-actions
+ = f.button :submit, conditional_t('pager_group_destinations.form.submit')
diff --git a/app/views/pager_group_destinations/_form_core.html.haml b/app/views/pager_group_destinations/_form_core.html.haml
new file mode 100644
index 0000000..2adae24
--- /dev/null
+++ b/app/views/pager_group_destinations/_form_core.html.haml
@@ -0,0 +1,3 @@
+.inputs
+ = f.input :pager_group_id, :label => t('pager_group_destinations.form.pager_group_id.label'), :hint => conditional_hint('pager_group_destinations.form.pager_group_id.hint')
+ = f.input :sip_account_id, :label => t('pager_group_destinations.form.sip_account_id.label'), :hint => conditional_hint('pager_group_destinations.form.sip_account_id.hint')
diff --git a/app/views/pager_group_destinations/_index_core.html.haml b/app/views/pager_group_destinations/_index_core.html.haml
new file mode 100644
index 0000000..78bf3e5
--- /dev/null
+++ b/app/views/pager_group_destinations/_index_core.html.haml
@@ -0,0 +1,11 @@
+%table.table.table-striped
+ %tr
+ %th= t('pager_group_destinations.index.pager_group_id')
+ %th= t('pager_group_destinations.index.sip_account_id')
+
+
+ - for pager_group_destination in pager_group_destinations
+ %tr
+ %td= pager_group_destination.pager_group_id
+ %td= pager_group_destination.sip_account_id
+ =render :partial => 'shared/index_view_edit_destroy_part', :locals => {:child => pager_group_destination} \ No newline at end of file
diff --git a/app/views/pager_group_destinations/edit.html.haml b/app/views/pager_group_destinations/edit.html.haml
new file mode 100644
index 0000000..4086329
--- /dev/null
+++ b/app/views/pager_group_destinations/edit.html.haml
@@ -0,0 +1,3 @@
+- content_for :title, t("pager_group_destinations.edit.page_title")
+
+= render "form" \ No newline at end of file
diff --git a/app/views/pager_group_destinations/index.html.haml b/app/views/pager_group_destinations/index.html.haml
new file mode 100644
index 0000000..8072fb7
--- /dev/null
+++ b/app/views/pager_group_destinations/index.html.haml
@@ -0,0 +1,6 @@
+- content_for :title, t("pager_group_destinations.index.page_title")
+
+- if @pager_group_destinations && @pager_group_destinations.count > 0
+ = render "index_core", :pager_group_destinations => @pager_group_destinations
+
+= render :partial => 'shared/create_link', :locals => {:child_class => PagerGroupDestination} \ No newline at end of file
diff --git a/app/views/pager_group_destinations/new.html.haml b/app/views/pager_group_destinations/new.html.haml
new file mode 100644
index 0000000..346911c
--- /dev/null
+++ b/app/views/pager_group_destinations/new.html.haml
@@ -0,0 +1,3 @@
+- content_for :title, t("pager_group_destinations.new.page_title")
+
+= render "form" \ No newline at end of file
diff --git a/app/views/pager_group_destinations/show.html.haml b/app/views/pager_group_destinations/show.html.haml
new file mode 100644
index 0000000..4bc3adb
--- /dev/null
+++ b/app/views/pager_group_destinations/show.html.haml
@@ -0,0 +1,10 @@
+- content_for :title, t("pager_group_destinations.show.page_title")
+
+%p
+ %strong= t('pager_group_destinations.show.pager_group_id') + ":"
+ = @pager_group_destination.pager_group_id
+%p
+ %strong= t('pager_group_destinations.show.sip_account_id') + ":"
+ = @pager_group_destination.sip_account_id
+
+= render :partial => 'shared/show_edit_destroy_part', :locals => { :child => @pager_group_destination } \ No newline at end of file
diff --git a/app/views/pager_groups/_form.html.haml b/app/views/pager_groups/_form.html.haml
new file mode 100644
index 0000000..a9d5782
--- /dev/null
+++ b/app/views/pager_groups/_form.html.haml
@@ -0,0 +1,7 @@
+= simple_form_for(@pager_group) do |f|
+ = f.error_notification
+
+ = render "form_core", :f => f
+
+ .form-actions
+ = f.button :submit, conditional_t('pager_groups.form.submit')
diff --git a/app/views/pager_groups/_form_core.html.haml b/app/views/pager_groups/_form_core.html.haml
new file mode 100644
index 0000000..eeb23d2
--- /dev/null
+++ b/app/views/pager_groups/_form_core.html.haml
@@ -0,0 +1,3 @@
+.inputs
+ = f.input :sip_account_id, :label => t('pager_groups.form.sip_account_id.label'), :hint => conditional_hint('pager_groups.form.sip_account_id.hint')
+ = f.input :callback_url, :label => t('pager_groups.form.callback_url.label'), :hint => conditional_hint('pager_groups.form.callback_url.hint')
diff --git a/app/views/pager_groups/_index_core.html.haml b/app/views/pager_groups/_index_core.html.haml
new file mode 100644
index 0000000..9515bcf
--- /dev/null
+++ b/app/views/pager_groups/_index_core.html.haml
@@ -0,0 +1,11 @@
+%table.table.table-striped
+ %tr
+ %th= t('pager_groups.index.sip_account_id')
+ %th= t('pager_groups.index.callback_url')
+
+
+ - for pager_group in pager_groups
+ %tr
+ %td= pager_group.sip_account_id
+ %td= pager_group.callback_url
+ =render :partial => 'shared/index_view_edit_destroy_part', :locals => {:child => pager_group} \ No newline at end of file
diff --git a/app/views/pager_groups/edit.html.haml b/app/views/pager_groups/edit.html.haml
new file mode 100644
index 0000000..ec71984
--- /dev/null
+++ b/app/views/pager_groups/edit.html.haml
@@ -0,0 +1,3 @@
+- content_for :title, t("pager_groups.edit.page_title")
+
+= render "form" \ No newline at end of file
diff --git a/app/views/pager_groups/index.html.haml b/app/views/pager_groups/index.html.haml
new file mode 100644
index 0000000..455e90e
--- /dev/null
+++ b/app/views/pager_groups/index.html.haml
@@ -0,0 +1,6 @@
+- content_for :title, t("pager_groups.index.page_title")
+
+- if @pager_groups && @pager_groups.count > 0
+ = render "index_core", :pager_groups => @pager_groups
+
+= render :partial => 'shared/create_link', :locals => {:child_class => PagerGroup} \ No newline at end of file
diff --git a/app/views/pager_groups/new.html.haml b/app/views/pager_groups/new.html.haml
new file mode 100644
index 0000000..fbb6ac3
--- /dev/null
+++ b/app/views/pager_groups/new.html.haml
@@ -0,0 +1,3 @@
+- content_for :title, t("pager_groups.new.page_title")
+
+= render "form" \ No newline at end of file
diff --git a/app/views/pager_groups/show.html.haml b/app/views/pager_groups/show.html.haml
new file mode 100644
index 0000000..5e0a8c7
--- /dev/null
+++ b/app/views/pager_groups/show.html.haml
@@ -0,0 +1,10 @@
+- content_for :title, t("pager_groups.show.page_title")
+
+%p
+ %strong= t('pager_groups.show.sip_account_id') + ":"
+ = @pager_group.sip_account_id
+%p
+ %strong= t('pager_groups.show.callback_url') + ":"
+ = @pager_group.callback_url
+
+= render :partial => 'shared/show_edit_destroy_part', :locals => { :child => @pager_group } \ No newline at end of file