Add/edit org code of conduct, as admin

This commit is contained in:
James Mason 2018-03-16 12:02:49 -07:00 committed by Ana María Martínez Gómez
parent 512ad067e1
commit a6daff8582
6 changed files with 58 additions and 5 deletions

View file

@ -88,7 +88,9 @@ module Admin
end
def organization_params
params.require(:organization).permit(:name, :description, :picture)
params.require(:organization).permit(
:name, :description, :picture, :code_of_conduct
)
end
end
end

View file

@ -1,7 +1,14 @@
= semantic_form_for(@organization, url: (@organization.new_record? ? admin_organizations_path : admin_organization_path(@organization))) do |f|
= f.inputs name: 'Organization details' do
= f.input :name, as: :string, required: true
= f.input :description, as: :text, input_html: { rows: 10 }, placeholder: 'Decribe about your organization..'
= f.input :description, as: :text,
input_html: { rows: 10, data: { provide: 'markdown-editable' } },
hint: markdown_hint,
placeholder: 'Decribe about your organization...'
= f.input :code_of_conduct, as: :text,
input_html: { rows: 10, data: { provide: 'markdown-editable' } },
hint: markdown_hint,
placeholder: 'Rules governing behavior and dispute resolution...'
= image_tag f.object.picture.thumb.url if f.object.picture?
- if @organization.picture?
= image_tag(@organization.picture.thumb.url, width: '20%')

View file

@ -14,16 +14,20 @@
%th Name
%th Upcoming Conferences
%th Past Conferences
%th Code of Conduct?
%th Actions
%tbody
- @organizations.each do |organization|
%tr
%tr{ id: "organization-#{organization.id}" }
%td
= organization.name
%td
= organization.conferences.upcoming.count
%td
= organization.conferences.past.count
%td.text-center
- unless organization.code_of_conduct.blank?
= fa_icon 'check', title: 'yes'
%td
.btn-group
= link_to 'Admins', admins_admin_organization_path(organization),

View file

@ -0,0 +1,5 @@
class AddCodeOfConductToOrganization < ActiveRecord::Migration[5.0]
def change
add_column :organizations, :code_of_conduct, :text
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20180313012253) do
ActiveRecord::Schema.define(version: 20180316185150) do
create_table "ahoy_events", force: :cascade do |t|
t.integer "visit_id"
@ -303,9 +303,10 @@ ActiveRecord::Schema.define(version: 20180313012253) do
end
create_table "organizations", force: :cascade do |t|
t.string "name", null: false
t.string "name", null: false
t.text "description"
t.string "picture"
t.text "code_of_conduct"
end
create_table "payments", force: :cascade do |t|

View file

@ -0,0 +1,34 @@
require 'spec_helper'
feature 'Code of Conduct:' do
let!(:organization) { create(:organization) }
let(:admin) { create(:admin) }
let(:sample_text) { Faker::Lorem.paragraph }
context 'on an organization' do
describe 'as admin' do
before { sign_in admin }
it 'can add and remove' do
visit admin_organizations_path
within "tr#organization-#{organization.id}" do
expect(page).not_to have_css 'i.fa-check'
click_on 'Edit'
end
expect(page).to have_field 'organization[code_of_conduct]', with: ''
fill_in 'organization[code_of_conduct]', with: sample_text
click_on 'Update Organization'
within "tr#organization-#{organization.id}" do
expect(page).to have_css 'i.fa-check'
click_on 'Edit'
end
expect(page).to have_field 'organization[code_of_conduct]', with: sample_text
fill_in 'organization[code_of_conduct]', with: ''
click_on 'Update Organization'
within "tr#organization-#{organization.id}" do
expect(page).not_to have_css 'i.fa-check'
end
end
end
end
end