Sha256: f744a441a22166f6b8da945ddf0f1f858cd4b621b7bfc22a90705b36de77cd44
Contents?: true
Size: 1.95 KB
Versions: 28
Compression:
Stored size: 1.95 KB
Contents
require_dependency "egov_utils/application_controller" module EgovUtils class GroupsController < ApplicationController def index @groups = EgovUtils::Group. accessible_by(current_ability). order(:provider). page(params[:page] || 1) end def new @group = Group.new end def edit @group = Group.find(params[:id]) end def update @group = Group.find(params[:id]) if @group.update(update_params) redirect_to egov_utils.groups_path, notice: t('success_updated') else render :edit end end def create @group = Group.new(create_params) respond_to do |format| if @group.save format.html{ redirect_to egov_utils.groups_path, notice: t('success_created') } format.json{ render json: @group, status: :created } else format.html{ render 'new' } format.json{ render json: @group.errors.full_messages, status: :unprocessable_entity } end end end def new_users @principals = EgovUtils::User.active.assignable_to_group(@group) respond_to do |format| format.html format.js { render_modal_js } end end def add_users render_404 and return unless @group.allow_member_assign? @users = User.active.assignable_to_group(@group).where(:id => (params[:user_id] || params[:user_ids])).to_a @group.users << @users respond_to do |format| format.html { redirect_to group_path(@group) } format.json { head :ok } end end private def create_params params .require(:group) .permit(:name, :provider, :ldap_uid, :external_uid, roles: []) do |p| p[:roles] = p[:roles].compact_blank end end def update_params params.require(:group).permit(:name, roles: []).tap do |p| p[:roles] = p[:roles].compact_blank end end end end
Version data entries
28 entries across 28 versions & 1 rubygems