summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/route_element.js.coffee6
-rw-r--r--app/assets/stylesheets/application.css1
-rw-r--r--app/assets/stylesheets/route_elements.css.scss5
-rw-r--r--app/controllers/route_elements_controller.rb14
-rw-r--r--app/models/call_route.rb2
-rw-r--r--app/views/call_routes/show.html.haml49
-rw-r--r--app/views/phones/_form_core.html.haml2
-rw-r--r--app/views/phones/show.html.haml2
-rw-r--r--app/views/route_elements/_form_core.html.haml1
-rw-r--r--app/views/route_elements/_index_core.html.haml50
-rw-r--r--app/views/route_elements/show.html.haml54
11 files changed, 120 insertions, 66 deletions
diff --git a/app/assets/javascripts/route_element.js.coffee b/app/assets/javascripts/route_element.js.coffee
new file mode 100644
index 0000000..75dc553
--- /dev/null
+++ b/app/assets/javascripts/route_element.js.coffee
@@ -0,0 +1,6 @@
+jQuery ->
+ $('#route_elements').sortable
+ axis: 'y'
+ handle: '.handle'
+ update: ->
+ $.post($(this).data('update-url'), $(this).sortable('serialize')) \ No newline at end of file
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index 3e1cc66..44868e4 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -15,4 +15,5 @@
*= require call_routes
*= require softkeys
*= require phone_numbers
+ *= require route_elements
*/
diff --git a/app/assets/stylesheets/route_elements.css.scss b/app/assets/stylesheets/route_elements.css.scss
new file mode 100644
index 0000000..a0080ab
--- /dev/null
+++ b/app/assets/stylesheets/route_elements.css.scss
@@ -0,0 +1,5 @@
+#route_elements .handle {
+ font-size: 12px;
+ color: #777;
+ cursor: move;
+} \ No newline at end of file
diff --git a/app/controllers/route_elements_controller.rb b/app/controllers/route_elements_controller.rb
index 9c6f2b7..9c9033e 100644
--- a/app/controllers/route_elements_controller.rb
+++ b/app/controllers/route_elements_controller.rb
@@ -44,14 +44,14 @@ class RouteElementsController < ApplicationController
redirect_to call_route_route_elements_path(@call_route), :notice => t('route_elements.controller.successfuly_destroyed')
end
- def move_higher
- @route_element.move_higher
- redirect_to :back
- end
+ def sort
+ #call_route = RouteElement.find(params[:route_element].first).call_route
+
+ params[:route_element].each do |route_element_id|
+ @call_route.route_elements.find(route_element_id).move_to_bottom
+ end
- def move_lower
- @route_element.move_lower
- redirect_to :back
+ render nothing: true
end
private
diff --git a/app/models/call_route.rb b/app/models/call_route.rb
index 6e0dcab..8bc811a 100644
--- a/app/models/call_route.rb
+++ b/app/models/call_route.rb
@@ -4,7 +4,7 @@ class CallRoute < ActiveRecord::Base
ROUTING_TABLES = ['prerouting', 'outbound', 'inbound', 'dtmf']
- has_many :route_elements, :dependent => :destroy
+ has_many :route_elements, :dependent => :destroy, :order => :position
validates :name,
:presence => true
diff --git a/app/views/call_routes/show.html.haml b/app/views/call_routes/show.html.haml
index a33a29b..7c695c8 100644
--- a/app/views/call_routes/show.html.haml
+++ b/app/views/call_routes/show.html.haml
@@ -1,26 +1,33 @@
- content_for :title, t("call_routes.show.page_title")
-%p
- %strong= t('call_routes.show.position') + ":"
- = @call_route.position
-%p
- %strong= t('call_routes.show.table') + ":"
- = @call_route.routing_table
-%p
- %strong= t('call_routes.show.name') + ":"
- = @call_route.name
-%p
- %strong= t('call_routes.show.endpoint') + ":"
- - endpoint = @call_route.endpoint
- - if endpoint
- = endpoint
- - else
- = @call_route.endpoint_type
+.row
+ .span5
+ %table.table.table-striped
+ %tr
+ %td
+ %strong= t('call_routes.show.table') + ":"
+ %td
+ = @call_route.routing_table
+ %tr
+ %td
+ %strong= t('call_routes.show.name') + ":"
+ %td
+ = @call_route.name
+ %tr
+ %td
+ %strong= t('call_routes.show.endpoint') + ":"
+ %td
+ - if @call_route.endpoint.blank?
+ = @call_route.endpoint_type
+ - else
+ = @call_route.endpoint
-= render :partial => 'shared/show_edit_destroy_part', :locals => { :child => @call_route }
+ = render :partial => 'shared/show_edit_destroy_part', :locals => { :child => @call_route }
-%h3= t('route_elements.index.page_title')
-- if @call_route.route_elements && @call_route.route_elements.count > 0
- = render "route_elements/index_core", :route_elements => @call_route.route_elements
+.row
+ .span12
+ %h3= t('route_elements.index.page_title')
+ - if @call_route.route_elements && @call_route.route_elements.count > 0
+ = render "route_elements/index_core", :route_elements => @call_route.route_elements
-= render :partial => 'shared/create_link', :locals => { :parent => @call_route, :child_class => RouteElement }
+ = render :partial => 'shared/create_link', :locals => { :parent => @call_route, :child_class => RouteElement }
diff --git a/app/views/phones/_form_core.html.haml b/app/views/phones/_form_core.html.haml
index 17b9ca8..31f3c24 100644
--- a/app/views/phones/_form_core.html.haml
+++ b/app/views/phones/_form_core.html.haml
@@ -11,5 +11,5 @@
- if defined? GsParameter.get('NIGHTLY_REBOOT_OF_PHONES') && GsParameter.get('NIGHTLY_REBOOT_OF_PHONES') == true
= f.input :nightly_reboot, :label => t('phones.form.nightly_reboot.label'), :hint => conditional_hint('phones.form.nightly_reboot.hint')
- - if !GsParameter.get('PROVISIONING_KEY_LENGTH').nil? && GsParameter.get('PROVISIONING_KEY_LENGTH') > 0
+ - if GsParameter.get('PROVISIONING_KEY_LENGTH') == 0
= f.input :provisioning_key_active, :label => t('phones.form.provisioning_key_active.label'), :hint => conditional_hint('phones.form.provisioning_key_active.hint')
diff --git a/app/views/phones/show.html.haml b/app/views/phones/show.html.haml
index 86ac380..e9b8b21 100644
--- a/app/views/phones/show.html.haml
+++ b/app/views/phones/show.html.haml
@@ -34,7 +34,7 @@
%td
= @phone.nightly_reboot == true ? t('simple_form.yes') : t('simple_form.no')
- - if !GsParameter.get('PROVISIONING_KEY_LENGTH').nil? && GsParameter.get('PROVISIONING_KEY_LENGTH') > 0
+ - if GsParameter.get('PROVISIONING_KEY_LENGTH') == 0
%tr
%td
%strong= t('phones.show.provisioning_key_active') + ":"
diff --git a/app/views/route_elements/_form_core.html.haml b/app/views/route_elements/_form_core.html.haml
index d22467e..a9a38a7 100644
--- a/app/views/route_elements/_form_core.html.haml
+++ b/app/views/route_elements/_form_core.html.haml
@@ -4,5 +4,4 @@
= f.input :pattern, :label => t('route_elements.form.pattern.label'), :hint => conditional_hint('route_elements.form.pattern.hint')
= f.input :replacement, :label => t('route_elements.form.replacement.label'), :hint => conditional_hint('route_elements.form.replacement.hint')
= f.input :action, :collection => RouteElement::ELEMENT_ACTIONS, :label => t('route_elements.form.action.label'), :hint => conditional_hint('route_elements.form.action.hint'), :include_blank => false
- = f.input :position, :label => t('route_elements.form.position.label'), :hint => conditional_hint('route_elements.form.position.hint')
= f.input :mandatory, :label => t('route_elements.form.mandatory.label'), :hint => conditional_hint('route_elements.form.mandatory.hint')
diff --git a/app/views/route_elements/_index_core.html.haml b/app/views/route_elements/_index_core.html.haml
index f68a9ba..b7d2bc1 100644
--- a/app/views/route_elements/_index_core.html.haml
+++ b/app/views/route_elements/_index_core.html.haml
@@ -1,22 +1,46 @@
%table.table.table-striped
%thead
%tr
+ - if route_elements.count > 1
+ %th
%th
- %th= t('route_elements.index.var_in')
- %th= t('route_elements.index.var_out')
+ %span.hidden-phone
+ = t('route_elements.index.var_in')
+ %th
+ %span.hidden-phone
+ = t('route_elements.index.var_out')
%th= t('route_elements.index.pattern')
- %th= t('route_elements.index.replacement')
- %th= t('route_elements.index.action')
- %th= t('route_elements.index.mandatory')
+ %th
+ %span.hidden-phone
+ = t('route_elements.index.replacement')
+ %th
+ %span.hidden-phone
+ = t('route_elements.index.action')
+ %th
+ %span.hidden-phone
+ = t('route_elements.index.mandatory')
- %tbody
+ %tbody{ :id => "route_elements", :'data-update-url' => sort_call_route_route_elements_url(route_elements.first.call_route)}
- for route_element in route_elements
- %tr
- %td= route_element.position
- %td= route_element.var_in
- %td= route_element.var_out
+ = content_tag_for :tr, route_element do
+ - if route_elements.count > 1
+ %td
+ %span.handle
+ %i.icon-resize-vertical
+ %td
+ %span.hidden-phone
+ = route_element.var_in
+ %td
+ %span.hidden-phone
+ = route_element.var_out
%td= route_element.pattern
- %td= route_element.replacement
- %td= route_element.action
- %td= route_element.mandatory
+ %td
+ %span.hidden-phone
+ = route_element.replacement
+ %td
+ %span.hidden-phone
+ = route_element.action
+ %td
+ %span.hidden-phone
+ = route_element.mandatory
=render :partial => 'shared/index_view_edit_destroy_part', :locals => {:parent => @call_route, :child => route_element} \ No newline at end of file
diff --git a/app/views/route_elements/show.html.haml b/app/views/route_elements/show.html.haml
index 1d07cbc..937df5e 100644
--- a/app/views/route_elements/show.html.haml
+++ b/app/views/route_elements/show.html.haml
@@ -1,25 +1,37 @@
- content_for :title, t("route_elements.show.page_title")
-%p
- %strong= t('route_elements.show.position') + ":"
- = @route_element.position
-%p
- %strong= t('route_elements.show.var_in') + ":"
- = @route_element.var_in
-%p
- %strong= t('route_elements.show.var_out') + ":"
- = @route_element.var_out
-%p
- %strong= t('route_elements.show.pattern') + ":"
- = @route_element.pattern
-%p
- %strong= t('route_elements.show.replacement') + ":"
- = @route_element.replacement
-%p
- %strong= t('route_elements.show.action') + ":"
- = @route_element.action
-%p
- %strong= t('route_elements.show.mandatory') + ":"
- = @route_element.mandatory
+.row
+ .span6
+ %table.table.table-striped
+ %tr
+ %td
+ %strong= t('route_elements.show.var_in') + ":"
+ %td
+ = @route_element.var_in
+ %tr
+ %td
+ %strong= t('route_elements.show.var_out') + ":"
+ %td
+ = @route_element.var_out
+ %tr
+ %td
+ %strong= t('route_elements.show.pattern') + ":"
+ %td
+ = @route_element.pattern
+ %tr
+ %td
+ %strong= t('route_elements.show.replacement') + ":"
+ %td
+ = @route_element.replacement
+ %tr
+ %td
+ %strong= t('route_elements.show.action') + ":"
+ %td
+ = @route_element.action
+ %tr
+ %td
+ %strong= t('route_elements.show.mandatory') + ":"
+ %td
+ = @route_element.mandatory
= render :partial => 'shared/show_edit_destroy_part', :locals => {:parent => @call_route, :child => @route_element } \ No newline at end of file