Skip to content

Commit d8420a3

Browse files
kushthedudeiamareebjamal
authored andcommitted
fix: Email Override possible for all users (#3701)
1 parent 41335dd commit d8420a3

File tree

5 files changed

+20
-7
lines changed

5 files changed

+20
-7
lines changed

app/components/forms/session-speaker-form.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,15 @@ export default Component.extend(FormMixin, {
501501
return this.speakers.length === 1;
502502
}),
503503

504+
isUserOwnerOrAdmin: computed('event.owner.email', 'authManager.currentUser', function() {
505+
return (this.authManager.currentUser.isAnAdmin || (this.event.owner.get('email') === this.authManager.currentUser.get('email')));
506+
}),
507+
508+
isUserOrganiser: computed('event.organizers', 'authManager.currentUser', function() {
509+
let { currentUser } = this.authManager;
510+
return this.event.organizers.includes(currentUser);
511+
}),
512+
504513
// Clicking on the add speaker button creates a blank record which increases the length of the session's list by 1.
505514
noSessionExists: computed('sessions', function() {
506515
return this.sessions.length === 1;

app/routes/public.js

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

99
model(params) {
1010
return this.store.findRecord('event', params.event_id, {
11-
include: 'social-links,event-copyright,speakers-call,tax'
11+
include: 'social-links,event-copyright,speakers-call,tax,owner,organizers'
1212
});
1313
}
1414
});

app/templates/components/forms/session-speaker-form.hbs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,10 @@
122122
{{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier))
123123
textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
124124
{{else if (eq field.fieldIdentifier 'email')}}
125-
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
126-
onChange=(action (mut data.speaker.isEmailOverridden))}}
125+
{{#if (or isUserOwnerOrAdmin isUserOrganiser)}}
126+
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
127+
onChange=(action (mut data.speaker.isEmailOverridden))}}
128+
{{/if}}
127129
{{#if (not data.speaker.isEmailOverridden)}}
128130
{{input type=field.type value=(mut (get data.speaker field.fieldIdentifier))
129131
id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
@@ -193,8 +195,10 @@
193195
{{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier))
194196
textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
195197
{{else if (eq field.fieldIdentifier 'email')}}
196-
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
197-
onChange=(action (mut data.speaker.isEmailOverridden))}}
198+
{{#if (or isUserOwnerOrAdmin isUserOrganiser)}}
199+
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
200+
onChange=(action (mut data.speaker.isEmailOverridden))}}
201+
{{/if}}
198202
{{#if (not data.speaker.isEmailOverridden)}}
199203
{{input type=field.type value=(mut (get data.speaker field.fieldIdentifier))
200204
id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}

app/templates/public/cfs/edit-speaker.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{{t 'Edit Speaker'}}
55
</h2>
66
<div class="ui container">
7-
{{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading
7+
{{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading
88
save=(action 'save') isSpeaker=true includeSpeaker=true}}
99
</div>
1010
</div>

app/templates/public/cfs/new-speaker.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{{t 'Speaker Details'}}
55
</h2>
66
<div class="ui container">
7-
{{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading
7+
{{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading
88
save=(action 'save') isSpeaker=true includeSpeaker=true isCFS=true}}
99
</div>
1010
</div>

0 commit comments

Comments
 (0)