Class: CamaleonCms::Admin::Settings::CustomFieldsController
- Inherits:
-
CamaleonCms::Admin::SettingsController
- Object
- CamaleonCms::Admin::SettingsController
- CamaleonCms::Admin::Settings::CustomFieldsController
- Defined in:
- app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb
Overview
Camaleon CMS is a content management system
Copyright (C) 2015 by Owen Peredo Diaz
Email: [email protected]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License (GPLv3) for more details.
Instance Method Summary collapse
-
#create ⇒ Object
create a new custom field group.
-
#destroy ⇒ Object
destroy a custom field group.
- #edit ⇒ Object
- #get_items ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
-
#reorder ⇒ Object
reorder custom fields group.
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
create a new custom field group
49 50 51 52 53 54 55 56 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 49 def create @field_group = current_site.custom_field_groups.new(@post_data) if @field_group.save && _save_fields(@field_group) redirect_to action: :edit, id: @field_group.id else new end end |
#destroy ⇒ Object
destroy a custom field group
59 60 61 62 63 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 59 def destroy @field_group.destroy flash[:notice] = t('camaleon_cms.admin.custom_field.message.deleted', default: "Custom Field Group Deleted.") redirect_to action: :index end |
#edit ⇒ Object
29 30 31 32 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 29 def edit I18n.t("camaleon_cms.admin.button.edit") render 'form' end |
#get_items ⇒ Object
21 22 23 24 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 21 def get_items @key = params[:key] render partial: "get_items", layout: false end |
#index ⇒ Object
14 15 16 17 18 19 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 14 def index @field_groups = current_site.custom_field_groups.visible_group.eager_load(:site) @field_groups = @field_groups.where(object_class: params[:c]) if params[:c].present? @field_groups = @field_groups.where(objectid: params[:id]) if params[:id].present? @field_groups = @field_groups.paginate(page: params[:page], per_page: current_site.admin_per_page) end |
#new ⇒ Object
42 43 44 45 46 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 42 def new I18n.t("camaleon_cms.admin.button.new") @field_group ||= current_site.custom_field_groups.new render 'form' end |
#reorder ⇒ Object
reorder custom fields group
66 67 68 69 70 71 72 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 66 def reorder params[:values].to_a.each_with_index do |value, index| current_site.custom_field_groups.find(value).update_column('field_order', index) end json = { size: params[:values].size } render json: json end |
#show ⇒ Object
26 27 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 26 def show end |
#update ⇒ Object
34 35 36 37 38 39 40 |
# File 'app/controllers/camaleon_cms/admin/settings/custom_fields_controller.rb', line 34 def update if @field_group.update(@post_data) && _save_fields(@field_group) redirect_to action: :edit, id: @field_group.id else render 'form' end end |