Add valuator groups
This commit is contained in:
52
app/controllers/admin/valuator_groups_controller.rb
Normal file
52
app/controllers/admin/valuator_groups_controller.rb
Normal file
@@ -0,0 +1,52 @@
|
||||
class Admin::ValuatorGroupsController < Admin::BaseController
|
||||
|
||||
def index
|
||||
@groups = ValuatorGroup.all
|
||||
end
|
||||
|
||||
def show
|
||||
@group = ValuatorGroup.find(params[:id])
|
||||
end
|
||||
|
||||
def new
|
||||
@group = ValuatorGroup.new
|
||||
end
|
||||
|
||||
def edit
|
||||
@group = ValuatorGroup.find(params[:id])
|
||||
end
|
||||
|
||||
def create
|
||||
@group = ValuatorGroup.new(group_params)
|
||||
if @group.save
|
||||
notice = "User group created successfully"
|
||||
redirect_to [:admin, @group], notice: notice
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@group = ValuatorGroup.find(params[:id])
|
||||
if @group.update(group_params)
|
||||
notice = "User group updated successfully"
|
||||
redirect_to [:admin, @group], notice: notice
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@group = ValuatorGroup.find(params[:id])
|
||||
@group.destroy
|
||||
notice = "User group destroyed successfully"
|
||||
redirect_to admin_valuator_groups_path, notice: notice
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def group_params
|
||||
params.require(:valuator_group).permit(:name)
|
||||
end
|
||||
|
||||
end
|
||||
2
app/models/valuator_group.rb
Normal file
2
app/models/valuator_group.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
class ValuatorGroup < ActiveRecord::Base
|
||||
end
|
||||
18
app/views/admin/valuator_groups/_group.html.erb
Normal file
18
app/views/admin/valuator_groups/_group.html.erb
Normal file
@@ -0,0 +1,18 @@
|
||||
<div>
|
||||
Name: <%= group.name %>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
Members:
|
||||
</div>
|
||||
|
||||
<div>
|
||||
Edit:
|
||||
<%= link_to "Edit", edit_admin_valuator_group_path(group) %>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
Destoy:
|
||||
<%= link_to "Destroy", admin_valuator_group_path(group), method: :delete %>
|
||||
</div>
|
||||
<br/>
|
||||
4
app/views/admin/valuator_groups/edit.html.erb
Normal file
4
app/views/admin/valuator_groups/edit.html.erb
Normal file
@@ -0,0 +1,4 @@
|
||||
<%= form_for [:admin, @group] do |f| %>
|
||||
<%= f.text_field :name %>
|
||||
<%= f.submit %>
|
||||
<% end %>
|
||||
4
app/views/admin/valuator_groups/index.html.erb
Normal file
4
app/views/admin/valuator_groups/index.html.erb
Normal file
@@ -0,0 +1,4 @@
|
||||
<%= render partial: 'group', collection: @groups %>
|
||||
|
||||
There are <%= @groups.count %> groups of users
|
||||
<%= link_to "Nuevo", new_admin_valuator_group_path %>
|
||||
4
app/views/admin/valuator_groups/new.html.erb
Normal file
4
app/views/admin/valuator_groups/new.html.erb
Normal file
@@ -0,0 +1,4 @@
|
||||
<%= form_for [:admin, @group] do |f| %>
|
||||
<%= f.text_field :name %>
|
||||
<%= f.submit %>
|
||||
<% end %>
|
||||
4
app/views/admin/valuator_groups/show.html.erb
Normal file
4
app/views/admin/valuator_groups/show.html.erb
Normal file
@@ -0,0 +1,4 @@
|
||||
Hey there I'm group <%= @group.name %>
|
||||
|
||||
<br/>
|
||||
<%= link_to "Ver todos los grupos", admin_valuator_groups_path %>
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
<%= render "admin/shared/user_search", url: search_admin_valuators_path %>
|
||||
|
||||
<%= link_to "Grupos de evaluadores", admin_valuator_groups_path %>
|
||||
|
||||
<div id="valuators">
|
||||
<% if @valuators.any? %>
|
||||
<h3 class="margin"><%= page_entries_info @valuators %></h3>
|
||||
|
||||
6
config/locales/en/user_groups.yml
Normal file
6
config/locales/en/user_groups.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
en:
|
||||
user_group:
|
||||
zero: There are 0 groups of valuators
|
||||
one: There is 1 group de valuators
|
||||
other: There are '%{count}' groups of valuators
|
||||
|
||||
6
config/locales/es/user_groups.yml
Normal file
6
config/locales/es/user_groups.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
es:
|
||||
user_group:
|
||||
zero: Hay 0 grupos de evaluadores
|
||||
one: Hay 1 grupo de evaluadores
|
||||
other: Hay '%{count}' grupos de evaluadores
|
||||
|
||||
@@ -84,6 +84,7 @@ namespace :admin do
|
||||
get :search, on: :collection
|
||||
get :summary, on: :collection
|
||||
end
|
||||
resources :valuator_groups
|
||||
|
||||
resources :managers, only: [:index, :create, :destroy] do
|
||||
get :search, on: :collection
|
||||
|
||||
7
db/migrate/20180208151658_create_valuator_groups.rb
Normal file
7
db/migrate/20180208151658_create_valuator_groups.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
class CreateValuatorGroups < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :valuator_groups do |t|
|
||||
t.string :name
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1053,6 +1053,11 @@ ActiveRecord::Schema.define(version: 20180320104823) do
|
||||
add_index "topics", ["community_id"], name: "index_topics_on_community_id", using: :btree
|
||||
add_index "topics", ["hidden_at"], name: "index_topics_on_hidden_at", using: :btree
|
||||
|
||||
create_table "user_groups", force: :cascade do |t|
|
||||
t.string "name"
|
||||
t.string "kind"
|
||||
end
|
||||
|
||||
create_table "users", force: :cascade do |t|
|
||||
t.string "email", default: ""
|
||||
t.string "encrypted_password", default: "", null: false
|
||||
@@ -1128,6 +1133,10 @@ ActiveRecord::Schema.define(version: 20180320104823) do
|
||||
t.datetime "updated_at", null: false
|
||||
end
|
||||
|
||||
create_table "valuator_groups", force: :cascade do |t|
|
||||
t.string "name"
|
||||
end
|
||||
|
||||
create_table "valuators", force: :cascade do |t|
|
||||
t.integer "user_id"
|
||||
t.string "description"
|
||||
|
||||
@@ -61,6 +61,9 @@ FactoryBot.define do
|
||||
end
|
||||
end
|
||||
|
||||
factory :valuator_group, class: ValuatorGroup do
|
||||
end
|
||||
|
||||
factory :identity do
|
||||
user nil
|
||||
provider "Twitter"
|
||||
|
||||
66
spec/features/admin/valuator_groups_spec.rb
Normal file
66
spec/features/admin/valuator_groups_spec.rb
Normal file
@@ -0,0 +1,66 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature "Valuator groups", :focus do
|
||||
|
||||
let(:admin) { create(:administrator).user }
|
||||
|
||||
background do
|
||||
login_as(admin)
|
||||
end
|
||||
|
||||
scenario "Index" do
|
||||
group1 = create(:valuator_group)
|
||||
group2 = create(:valuator_group)
|
||||
|
||||
visit admin_valuator_groups_path
|
||||
|
||||
expect(page).to have_content group1.name
|
||||
expect(page).to have_content group2.name
|
||||
end
|
||||
|
||||
scenario "Show" do
|
||||
group = create(:valuator_group)
|
||||
|
||||
visit admin_valuator_group_path(group)
|
||||
|
||||
expect(page).to have_content group.name
|
||||
end
|
||||
|
||||
scenario "Create" do
|
||||
visit admin_valuators_path
|
||||
|
||||
click_link "Grupos de evaluadores"
|
||||
click_link "Nuevo"
|
||||
|
||||
fill_in "valuator_group_name", with: "Health"
|
||||
click_button "Create Valuator group"
|
||||
|
||||
expect(page).to have_content "User group created successfully"
|
||||
#expect(page).to have_content "There are 1 groups of valuators"
|
||||
expect(page).to have_content "Health"
|
||||
end
|
||||
|
||||
scenario "Update" do
|
||||
group = create(:valuator_group, name: "Health")
|
||||
|
||||
visit admin_valuator_groups_path
|
||||
click_link "Edit"
|
||||
|
||||
fill_in "valuator_group_name", with: "Health and Sports"
|
||||
click_button "Update Valuator group"
|
||||
|
||||
expect(page).to have_content "User group updated successfully"
|
||||
expect(page).to have_content "Health and Sports"
|
||||
end
|
||||
|
||||
scenario "Destroy" do
|
||||
group = create(:valuator_group)
|
||||
|
||||
visit admin_valuator_groups_path
|
||||
click_link "Destroy"
|
||||
|
||||
expect(page).to have_content "User group destroyed successfully"
|
||||
expect(page).to have_content "There are 0 groups of users"
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user