Iker Narvaez

groups crud with users

......@@ -138,6 +138,7 @@ input[type="submit"] {
grid-column-gap: 0px;
}
.left {
grid-row: 2;
grid-column: 1;
......
class Admin::GroupsController < CrudController::Base
enable_gatekeeper
guard_bifrost
private
def object_params
params.require(:group).permit(
:name, :pool_id, user_ids: []
)
end
end
class Admin::PoolsController < CrudController::Base
# enable_gatekeeper
# guard_bifrost
enable_gatekeeper
guard_bifrost
def update
if update!
......
class Group < ApplicationRecord
belongs_to :pool, -> { with_deleted }, inverse_of: :groups
belongs_to :pool, inverse_of: :groups
has_and_belongs_to_many :users, inverse_of: :groups
validates :name, :pool, presence: true
delegate :name, to: :pool, prefix: true
def users_count
users.count
end
end
......
= simple_nested_form_for [:admin, @object] do |f|
= f.input :name
= f.association :pool
= f.association :users
div style='text-align: center'
= f.submit 'Save'
h2 Edit Group
= render 'form'
div style='margin-top: 100px'
h2
| Groups
= link_to 'New Group', new_admin_group_path, style: 'float: right'
- attrs = %i[name pool_name users_count]
table
thead
- attrs.each do |a|
th = Group.human_attribute_name(a)
th
tbody
tbody
- @object_collection.each do |model|
- attrs.each do |a|
td = model.send(a)
td
= link_to 'Edit', edit_admin_group_path(model)
div style='margin-top: 100px; width: 100%'
h2 New Group
= render 'form'
class CreateGroupUser < ActiveRecord::Migration[5.0]
def change
create_table :group_users do |t|
create_table :groups_users do |t|
t.integer :group_id, index: true
t.integer :user_id, index: true
end
......
......@@ -24,13 +24,6 @@ ActiveRecord::Schema.define(version: 20180611152633) do
t.integer "points"
end
create_table "group_users", force: :cascade do |t|
t.integer "group_id"
t.integer "user_id"
t.index ["group_id"], name: "index_group_users_on_group_id", using: :btree
t.index ["user_id"], name: "index_group_users_on_user_id", using: :btree
end
create_table "groups", force: :cascade do |t|
t.integer "pool_id"
t.string "name"
......@@ -39,6 +32,13 @@ ActiveRecord::Schema.define(version: 20180611152633) do
t.index ["pool_id"], name: "index_groups_on_pool_id", using: :btree
end
create_table "groups_users", force: :cascade do |t|
t.integer "group_id"
t.integer "user_id"
t.index ["group_id"], name: "index_groups_users_on_group_id", using: :btree
t.index ["user_id"], name: "index_groups_users_on_user_id", using: :btree
end
create_table "heimdall_engine_role_abilities", force: :cascade do |t|
t.integer "role_id"
t.string "key"
......