Add/edit org code of conduct, as admin
This commit is contained in:
parent
512ad067e1
commit
a6daff8582
6 changed files with 58 additions and 5 deletions
|
|
@ -88,7 +88,9 @@ module Admin
|
||||||
end
|
end
|
||||||
|
|
||||||
def organization_params
|
def organization_params
|
||||||
params.require(:organization).permit(:name, :description, :picture)
|
params.require(:organization).permit(
|
||||||
|
:name, :description, :picture, :code_of_conduct
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,14 @@
|
||||||
= semantic_form_for(@organization, url: (@organization.new_record? ? admin_organizations_path : admin_organization_path(@organization))) do |f|
|
= semantic_form_for(@organization, url: (@organization.new_record? ? admin_organizations_path : admin_organization_path(@organization))) do |f|
|
||||||
= f.inputs name: 'Organization details' do
|
= f.inputs name: 'Organization details' do
|
||||||
= f.input :name, as: :string, required: true
|
= 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?
|
= image_tag f.object.picture.thumb.url if f.object.picture?
|
||||||
- if @organization.picture?
|
- if @organization.picture?
|
||||||
= image_tag(@organization.picture.thumb.url, width: '20%')
|
= image_tag(@organization.picture.thumb.url, width: '20%')
|
||||||
|
|
|
||||||
|
|
@ -14,16 +14,20 @@
|
||||||
%th Name
|
%th Name
|
||||||
%th Upcoming Conferences
|
%th Upcoming Conferences
|
||||||
%th Past Conferences
|
%th Past Conferences
|
||||||
|
%th Code of Conduct?
|
||||||
%th Actions
|
%th Actions
|
||||||
%tbody
|
%tbody
|
||||||
- @organizations.each do |organization|
|
- @organizations.each do |organization|
|
||||||
%tr
|
%tr{ id: "organization-#{organization.id}" }
|
||||||
%td
|
%td
|
||||||
= organization.name
|
= organization.name
|
||||||
%td
|
%td
|
||||||
= organization.conferences.upcoming.count
|
= organization.conferences.upcoming.count
|
||||||
%td
|
%td
|
||||||
= organization.conferences.past.count
|
= organization.conferences.past.count
|
||||||
|
%td.text-center
|
||||||
|
- unless organization.code_of_conduct.blank?
|
||||||
|
= fa_icon 'check', title: 'yes'
|
||||||
%td
|
%td
|
||||||
.btn-group
|
.btn-group
|
||||||
= link_to 'Admins', admins_admin_organization_path(organization),
|
= link_to 'Admins', admins_admin_organization_path(organization),
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddCodeOfConductToOrganization < ActiveRecord::Migration[5.0]
|
||||||
|
def change
|
||||||
|
add_column :organizations, :code_of_conduct, :text
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# 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|
|
create_table "ahoy_events", force: :cascade do |t|
|
||||||
t.integer "visit_id"
|
t.integer "visit_id"
|
||||||
|
|
@ -303,9 +303,10 @@ ActiveRecord::Schema.define(version: 20180313012253) do
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "organizations", force: :cascade do |t|
|
create_table "organizations", force: :cascade do |t|
|
||||||
t.string "name", null: false
|
t.string "name", null: false
|
||||||
t.text "description"
|
t.text "description"
|
||||||
t.string "picture"
|
t.string "picture"
|
||||||
|
t.text "code_of_conduct"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "payments", force: :cascade do |t|
|
create_table "payments", force: :cascade do |t|
|
||||||
|
|
|
||||||
34
spec/features/code_of_conduct_spec.rb
Normal file
34
spec/features/code_of_conduct_spec.rb
Normal 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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue