Skip to content

Commit 99dd536

Browse files
shreyanshdwivedikushthedude
authored andcommitted
fix: edit event accessible to user with event roles only (#3500)
1 parent 6931856 commit 99dd536

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

app/routes/events/view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default Route.extend({
1010

1111
model(params) {
1212
return this.store.findRecord('event', params.event_id, {
13-
include: 'event-topic,event-sub-topic,event-type,event-copyright,tax,owner,stripe-authorization'
13+
include: 'event-topic,event-sub-topic,event-type,event-copyright,tax,owner,organizers,coorganizers,track-organizers,registrars,moderators,stripe-authorization'
1414
});
1515
},
1616

app/routes/events/view/edit.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ export default Route.extend(AuthenticatedRouteMixin, EventWizardMixin, {
1212
if (transition.targetName === 'events.view.edit.index') {
1313
this.transitionTo('events.view.edit.basic-details');
1414
}
15+
16+
let event = this.modelFor('events.view');
17+
let { currentUser } = this.authManager;
18+
if (!(currentUser.isAnAdmin || currentUser.email === event.owner.get('email') || event.organizers.includes(currentUser)
19+
|| event.coorganizers.includes(currentUser) || event.trackOrganizers.includes(currentUser)
20+
|| event.registrars.includes(currentUser) || event.moderators.includes(currentUser))) {
21+
this.transitionTo('index');
22+
}
1523
},
1624

1725
async model() {

app/templates/components/modals/add-user-role-modal.hbs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
</div>
2121
<div class="menu">
2222
{{#each data.roles as |role|}}
23-
<div class="item" data-value="{{map-value mapper role}}">
24-
{{role.name}}
25-
</div>
23+
{{#if (not-eq role.name 'owner')}}
24+
<div class="item" data-value="{{map-value mapper role}}">
25+
{{role.name}}
26+
</div>
27+
{{/if}}
2628
{{/each}}
2729
</div>
2830
{{/ui-dropdown}}

0 commit comments

Comments
 (0)