summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/call_routes_controller.rb10
-rw-r--r--app/controllers/route_elements_controller.rb10
-rw-r--r--app/models/call_route.rb8
-rw-r--r--app/views/shared/_index_view_edit_destroy_part.html.haml8
4 files changed, 35 insertions, 1 deletions
diff --git a/app/controllers/call_routes_controller.rb b/app/controllers/call_routes_controller.rb
index cdb425b..5ef7c4b 100644
--- a/app/controllers/call_routes_controller.rb
+++ b/app/controllers/call_routes_controller.rb
@@ -42,6 +42,16 @@ class CallRoutesController < ApplicationController
redirect_to call_routes_url, :notice => t('call_routes.controller.successfuly_destroyed')
end
+ def move_higher
+ @call_route.move_higher
+ redirect_to :back
+ end
+
+ def move_lower
+ @call_route.move_lower
+ redirect_to :back
+ end
+
private
def call_route_parameter_params
params.require(:call_route).permit(:routing_table, :name, :endpoint_type, :endpoint_id)
diff --git a/app/controllers/route_elements_controller.rb b/app/controllers/route_elements_controller.rb
index 699fcc6..c4e4c1a 100644
--- a/app/controllers/route_elements_controller.rb
+++ b/app/controllers/route_elements_controller.rb
@@ -44,6 +44,16 @@ 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 move_lower
+ @route_element.move_lower
+ redirect_to :back
+ end
+
private
def spread_breadcrumbs
add_breadcrumb t("call_routes.index.page_title"), call_routes_path
diff --git a/app/models/call_route.rb b/app/models/call_route.rb
index 5d90901..1fe61e9 100644
--- a/app/models/call_route.rb
+++ b/app/models/call_route.rb
@@ -18,4 +18,12 @@ class CallRoute < ActiveRecord::Base
def to_s
name.to_s
end
+
+ def move_up?
+ return self.position.to_i > CallRoute.where(:routing_table => self.routing_table ).order(:position).first.position.to_i
+ end
+
+ def move_down?
+ return self.position.to_i < CallRoute.where(:routing_table => self.routing_table ).order(:position).last.position.to_i
+ end
end
diff --git a/app/views/shared/_index_view_edit_destroy_part.html.haml b/app/views/shared/_index_view_edit_destroy_part.html.haml
index 06ec904..ff5a988 100644
--- a/app/views/shared/_index_view_edit_destroy_part.html.haml
+++ b/app/views/shared/_index_view_edit_destroy_part.html.haml
@@ -26,4 +26,10 @@
= link_to t("#{child.class.name.underscore.pluralize}.index.actions.edit"), method( :"edit_#{child.class.name.underscore}_path" ).(child)
%td{ :style => style }
- if can? :destroy, child
- = link_to t("#{child.class.name.underscore.pluralize}.index.actions.destroy"), method( :"#{child.class.name.underscore}_path" ).(child), :method => :delete \ No newline at end of file
+ = link_to t("#{child.class.name.underscore.pluralize}.index.actions.destroy"), method( :"#{child.class.name.underscore}_path" ).(child), :method => :delete
+ - if child.respond_to?(:move_up?) or child and child.respond_to?(:move_down?)
+ %td{ :style => style }
+ - if can? :move_down, child and child.respond_to?(:move_down?) and child.move_down?
+ = link_to '&#8681;'.html_safe, method( :"move_lower_#{child.class.name.underscore}_path" ).(child), :method => :put
+ - if can? :move_up, child and child.respond_to?(:move_up?) and child.move_up?
+ = link_to '&#8679;'.html_safe, method( :"move_higher_#{child.class.name.underscore}_path" ).(child), :method => :put