diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 26313edc..6b9f2832 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,6 +1,7 @@ class OrganizationsController < ApplicationController def new @organization = Organization.new + @organization.is_public_submission = current_user.is_admin unless current_user.nil? @project = @organization.projects.build(params[:projects]) end diff --git a/app/models/organization.rb b/app/models/organization.rb index 72891fcb..137838fd 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -12,8 +12,8 @@ class Organization < ActiveRecord::Base attr_writer :logo_delete attr_accessor :is_public_submission - validates_presence_of :name - validates_presence_of :github_org, if: :is_public_submission + validates :name, presence: true + validates :github_org, presence: true, unless: :is_public_submission # Paperclip has_attached_file :logo, styles: { thumb: '100x100>', medium: '250x250>' }, diff --git a/app/views/organizations/new.html.erb b/app/views/organizations/new.html.erb index 6c19fa01..ca34a340 100644 --- a/app/views/organizations/new.html.erb +++ b/app/views/organizations/new.html.erb @@ -15,7 +15,7 @@ <%= f.input :name, :label => 'Organization Name', error_html: { class: "error" } %>
- <%= f.input :github_org, :label => 'Organization GitHub Username', :required => true, wrapper_html: { class: 'large-6 columns'}, error_html: { class: "error"} %> + <%= f.input :github_org, validate: true, :label => 'Organization GitHub Username', :required => true, wrapper_html: { class: 'large-6 columns'}, error_html: { class: "error"} %> <%= f.input :url, :label => 'Organization Website', :required => false, :as => :url, wrapper_html: { class: 'large-6 columns'} %>
diff --git a/spec/models/organization_spec.rb b/spec/models/organization_spec.rb index 82f71a05..7cd8538f 100644 --- a/spec/models/organization_spec.rb +++ b/spec/models/organization_spec.rb @@ -8,16 +8,16 @@ context 'validations' do context 'if public submission' do before { subject.stub(:is_public_submission) { true } } - it { should validate_presence_of(:github_org) } + it { should_not validate_presence_of(:github_org) } end context 'if not public submission' do before { subject.stub(:is_public_submission) { false } } - it { should_not validate_presence_of(:github_org) } + it { should validate_presence_of(:github_org) } end context 'if not public submission, implicit' do - it { should_not validate_presence_of(:github_org) } + it { should validate_presence_of(:github_org) } end end diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index a17254ef..0e3f12e0 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -83,7 +83,7 @@ end describe '#related_projects' do - let(:organization) { Organization.create!(name: 'CodeMontage') } + let(:organization) { Organization.create!(name: "CodeMontage", github_org: "codeMontage") } before do @project_1 = Project.create!(name: 'Code Montage', organization_id: organization.id, github_repo: 'codemontage')