summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorPeter Kozak <spag@golwen.net>2013-07-23 10:46:21 +0200
committerPeter Kozak <spag@golwen.net>2013-07-23 10:46:21 +0200
commit768054582e2dc6c033e08d627521928ab4bd3524 (patch)
tree32519d28089f3c55cb029ab6c63c7e1746fc4aa5 /app/controllers
parent3d2fba91bd0c51de792e698d500be83a33f96bf8 (diff)
extension_modules added
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/extension_modules_controller.rb65
1 files changed, 65 insertions, 0 deletions
diff --git a/app/controllers/extension_modules_controller.rb b/app/controllers/extension_modules_controller.rb
new file mode 100644
index 0000000..3a155a1
--- /dev/null
+++ b/app/controllers/extension_modules_controller.rb
@@ -0,0 +1,65 @@
+class ExtensionModulesController < ApplicationController
+ load_resource :phone
+ load_and_authorize_resource :extension_module, :through => [:phone]
+
+ before_filter :spread_breadcrumbs
+
+ def index
+ @extension_modules = @phone.extension_modules.all
+ end
+
+ def show
+ @extension_module = @phone.extension_modules.find(params[:id])
+ end
+
+ def new
+ @extension_module = @phone.extension_modules.build()
+ end
+
+ def create
+ @extension_module = @phone.extension_modules.build(params[:extension_module])
+ if @extension_module.save
+ redirect_to phone_extension_module_path(@phone, @extension_module), :notice => t('extension_modules.controller.successfuly_created')
+ else
+ render :new
+ end
+ end
+
+ def edit
+ @extension_module = @phone.extension_modules.find(params[:id])
+ end
+
+ def update
+ @extension_module = @phone.extension_modules.find(params[:id])
+ if @extension_module.update_attributes(params[:extension_module])
+ redirect_to phone_extension_module_path(@phone, @extension_module), :notice => t('extension_modules.controller.successfuly_updated')
+ else
+ render :edit
+ end
+ end
+
+ def destroy
+ @extension_module = @phone.extension_modules.find(params[:id])
+ @extension_module.destroy
+ redirect_to phone_extension_modules_url(@phone), :notice => t('extension_modules.controller.successfuly_destroyed')
+ end
+
+ private
+ def spread_breadcrumbs
+ if @phone.phoneable.class == User
+ add_breadcrumb t('users.index.page_title'), tenant_users_path(@phone.phoneable.current_tenant)
+ add_breadcrumb @phone.phoneable, tenant_user_path(@phone.phoneable.current_tenant, @phone.phoneable)
+ add_breadcrumb t('phones.index.page_title'), user_phones_path(@phone.phoneable)
+ elsif @phone.phoneable.class == Tenant
+ add_breadcrumb t('phones.index.page_title'), tenant_phones_path(@phone.phoneable)
+ end
+
+ add_breadcrumb @phone, method( :"#{@phone.phoneable.class.name.underscore}_phone_path" ).(@phone.phoneable, @phone)
+ add_breadcrumb t("extension_modules.index.page_title"), phone_extension_modules_path(@phone)
+
+ if @extension_module && !@extension_module.new_record?
+ add_breadcrumb @extension_module
+ end
+
+ end
+end