module Symphonia class RolesController < ApplicationController include BaseController def model Role end def safe_attributes [:name, :description, permissions: []] end # helper Symphonia::RendererHelper # # before_action :authorize before_action :load_permissions, only: [:new, :edit, :update, :create] # # #layout 'admin' # # def index # @query = Symphonia::Role.query.new(self) # @entities = @query.entities # respond_to do |format| # format.html do # @entities = @entities.page(params[:page]) # render layout: !request.xhr? # end # format.xml { render xml: @entities.all } # format.json { render json: @entities.all } # end # end # # def show # @role = Role.find(params[:id]) # respond_to do |format| # format.html # format.json { render json: @role } # end # end # # def new # @role = Role.new # end # # def edit # @role = Role.find(params[:id]) # end def create @entity = @role = Role.new(entity_params) @role.permissions = Symphonia::Permissions.find_all(params[:permissions]).map(&:name) super # respond_to do |format| # if @role.save # format.html { redirect_to((params[:continue] ? new_role_path : roles_path), notice: t(:text_created)) } # format.json { render(json: @role, status: :created, location: @role) } # else # format.html { render(action: 'new') } # format.json { render(json: @role.errors, status: :unprocessable_entity) } # end # end end def update @entity = @role = Role.find(params[:id]) @role.permissions = Symphonia::Permissions.find_all(params[:permissions]).map(&:name) super # respond_to do |format| # if @role.update_attributes(role_params) # format.html { redirect_to(edit_role_path(@role), notice: t(:text_updated)) } # format.json { head(:no_content) } # else # format.html { render(action: 'edit') } # format.json { render(json: @role.errors, status: :unprocessable_entity) } # end # end end # def destroy # @role = Role.find(params[:id]) # @role.destroy # respond_to do |format| # format.html { redirect_to(roles_url, notice: t(:text_destroyed)) } # format.json { head :no_content } # format.js { render js: "Symphonia.filters.removeRow('#{view_context.dom_id(@role)}')"} # end # end # private # def load_permissions @permissions = Symphonia::Permissions.all end # # def role_params # params.require(:role).permit(:name, :description, permissions: []) # end end end