mirror of
https://github.com/openSUSE/osem.git
synced 2026-06-13 10:19:56 -04:00
Fixed Venue link in todo list for organiser
"Add venue" link in todo list is not active for the organiser of that conference. Fixes #1383
This commit is contained in:
@@ -21,14 +21,16 @@
|
||||
= link_to 'Set up call for papers', admin_conference_program_cfp_path(conference_progress['short_title'])
|
||||
- else
|
||||
Set up call for papers
|
||||
%li{ 'class' => "list-group-item #{class_for_todo(conference_progress['venue'])}" }
|
||||
%span{ 'class' => icon_for_todo(conference_progress['venue']) }
|
||||
- if can? :update, @conference.venue
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['venue'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['venue'])}
|
||||
- if can? :update, Venue.new(conference: @conference)
|
||||
- @conference.reload
|
||||
- if conference.venue
|
||||
= link_to 'Add venue', edit_admin_conference_venue_path(conference_progress['short_title'])
|
||||
- else
|
||||
= link_to 'Add venue', new_admin_conference_venue_path(conference_progress['short_title'])
|
||||
- else
|
||||
- @conference.reload
|
||||
Add venue
|
||||
%li{ 'class' => "list-group-item #{class_for_todo(conference_progress['rooms'])}" }
|
||||
%span{ 'class' => icon_for_todo(conference_progress['rooms']) }
|
||||
|
||||
@@ -7,14 +7,16 @@ feature 'Has correct abilities' do
|
||||
let(:conference3) { create(:full_conference) } # user is info_desk
|
||||
let(:conference4) { create(:full_conference) } # user is volunteer coordinator
|
||||
let(:conference5) { create(:full_conference) } # user has no role
|
||||
let(:conference6) { create(:conference) } # user is organizer, venue is not set by default
|
||||
|
||||
let(:role_organizer) { Role.find_by(name: 'organizer', resource: conference1) }
|
||||
let(:role_organizer_conf1) { Role.find_by(name: 'organizer', resource: conference1) }
|
||||
let(:role_organizer_conf6) { Role.find_by(name: 'organizer', resource: conference6) }
|
||||
let(:role_cfp) { Role.find_by(name: 'cfp', resource: conference2) }
|
||||
let(:role_info_desk) { Role.find_by(name: 'info_desk', resource: conference3) }
|
||||
let(:role_volunteers_coordinator) { Role.find_by(name: 'volunteers_coordinator', resource: conference4) }
|
||||
|
||||
let(:user) { create(:user) }
|
||||
let(:user_organizer) { create(:user, role_ids: [role_organizer.id]) }
|
||||
let(:user_organizer) { create(:user, role_ids: [role_organizer_conf1.id, role_organizer_conf6.id]) }
|
||||
let(:user_cfp) { create(:user, role_ids: [role_cfp.id]) }
|
||||
let(:user_info_desk) { create(:user, role_ids: [role_info_desk.id]) }
|
||||
let(:user_volunteers_coordinator) { create(:user, role_ids: [role_volunteers_coordinator.id]) }
|
||||
@@ -58,6 +60,9 @@ feature 'Has correct abilities' do
|
||||
expect(page).to have_link('Roles', href: "/admin/conferences/#{conference1.short_title}/roles")
|
||||
expect(page).to have_link('Resources', href: "/admin/conferences/#{conference1.short_title}/resources")
|
||||
|
||||
visit admin_conference_path(conference6.short_title)
|
||||
expect(page).to have_link('Add venue', href: "/admin/conferences/#{conference6.short_title}/venue/new")
|
||||
|
||||
visit edit_admin_conference_path(conference1.short_title)
|
||||
expect(current_path).to eq(edit_admin_conference_path(conference1.short_title))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user