mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Merge pull request #1757 from bear454/organization-link
Fix missing link on public organizations page
This commit is contained in:
commit
51dd5bdaa9
7 changed files with 68 additions and 5 deletions
|
|
@ -4,4 +4,10 @@ class OrganizationsController < ApplicationController
|
|||
def index
|
||||
@organizations = Organization.all
|
||||
end
|
||||
|
||||
def conferences
|
||||
@current = @organization.conferences.upcoming.reorder(start_date: :asc)
|
||||
@antiquated = @organization.conferences.past
|
||||
render '/conferences/index'
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class Ability
|
|||
|
||||
# Abilities for not signed in users (guests)
|
||||
def not_signed_in
|
||||
can [:index], Organization
|
||||
can [:index, :conferences], Organization
|
||||
can [:index], Conference
|
||||
can [:show], Conference do |conference|
|
||||
conference.splashpage && conference.splashpage.public == true
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
.page-header
|
||||
%h2 Upcoming Conferences
|
||||
- @current.each do |conference|
|
||||
= render partial: 'conference_details', locals: { conference: conference }
|
||||
= render '/conferences/conference_details', conference: conference
|
||||
-if @antiquated and @antiquated.any?
|
||||
.row
|
||||
.col-md-12
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
%i.fa.fa-chevron-down{ style: 'display: none' }
|
||||
#antiquated.collapse
|
||||
- @antiquated.each do |conference|
|
||||
= render partial: 'conference_details', locals: { conference: conference}
|
||||
= render '/conferences/conference_details', conference: conference
|
||||
|
||||
-content_for :script_body do
|
||||
:javascript
|
||||
|
|
|
|||
|
|
@ -12,5 +12,7 @@
|
|||
.caption
|
||||
%h4
|
||||
= organization.name
|
||||
%button.btn.btn-success Conferences
|
||||
= link_to 'Conferences',
|
||||
conferences_organization_path(organization),
|
||||
class: 'btn btn-success'
|
||||
/ = link_to 'Edit', edit_organization_path(organization), class: 'btn btn-mini btn-default'
|
||||
|
|
|
|||
|
|
@ -149,7 +149,11 @@ Osem::Application.routes.draw do
|
|||
get '/revision_history/:id/revert_object' => 'versions#revert_object', as: 'revision_history_revert_object'
|
||||
get '/revision_history/:id/revert_attribute' => 'versions#revert_attribute', as: 'revision_history_revert_attribute'
|
||||
end
|
||||
resources :organizations, only: [:index]
|
||||
resources :organizations, only: [:index] do
|
||||
member do
|
||||
get :conferences
|
||||
end
|
||||
end
|
||||
resources :conferences, only: [:index, :show] do
|
||||
resources :booths do
|
||||
member do
|
||||
|
|
|
|||
|
|
@ -2,6 +2,26 @@ require 'spec_helper'
|
|||
|
||||
describe OrganizationsController do
|
||||
let!(:organization) { create(:organization) }
|
||||
let!(:conference) do
|
||||
create(
|
||||
:conference,
|
||||
splashpage: create(:splashpage, public: true),
|
||||
venue: create(:venue),
|
||||
organization: organization
|
||||
)
|
||||
end
|
||||
let!(:antiquated_conference) do
|
||||
create(
|
||||
:conference,
|
||||
splashpage: create(:splashpage, public: true),
|
||||
venue: create(:venue),
|
||||
organization: organization,
|
||||
start_date: 2.weeks.ago,
|
||||
end_date: 1.week.ago
|
||||
)
|
||||
end
|
||||
|
||||
let!(:other_conference) { create(:conference) }
|
||||
let!(:user) { create(:user) }
|
||||
|
||||
describe 'GET #index' do
|
||||
|
|
@ -12,4 +32,27 @@ describe OrganizationsController do
|
|||
|
||||
it { expect(response).to render_template('index') }
|
||||
end
|
||||
|
||||
describe 'GET #conferences' do
|
||||
before :each do
|
||||
get :conferences, id: organization.id
|
||||
end
|
||||
|
||||
it 'loads the organization' do
|
||||
expect(assigns(:organization)).to eq organization
|
||||
end
|
||||
|
||||
it 'includes organization conferences' do
|
||||
expect(assigns(:current)).to include conference
|
||||
end
|
||||
|
||||
it 'does not include conferences outside organization' do
|
||||
expect(assigns(:current)).not_to include other_conference
|
||||
expect(assigns(:antiquated)).not_to include other_conference
|
||||
end
|
||||
|
||||
it 'includes antiquated organization conferences' do
|
||||
expect(assigns(:antiquated)).to include antiquated_conference
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -48,4 +48,12 @@ feature Organization do
|
|||
|
||||
it_behaves_like 'successfully updates an organization'
|
||||
end
|
||||
|
||||
context 'anonymously' do
|
||||
scenario 'index should link to conferences list' do
|
||||
visit organizations_path
|
||||
|
||||
expect(page).to have_link('Conferences', href: "/organizations/#{organization.id}/conferences")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue