Skip to content

Commit

Permalink
fix: Email Override possible for all users (#3701)
Browse files Browse the repository at this point in the history
  • Loading branch information
kushthedude authored and iamareebjamal committed Dec 22, 2019
1 parent 41335dd commit d8420a3
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 7 deletions.
9 changes: 9 additions & 0 deletions app/components/forms/session-speaker-form.js
Original file line number Diff line number Diff line change
Expand Up @@ -501,6 +501,15 @@ export default Component.extend(FormMixin, {
return this.speakers.length === 1;
}),

isUserOwnerOrAdmin: computed('event.owner.email', 'authManager.currentUser', function() {
return (this.authManager.currentUser.isAnAdmin || (this.event.owner.get('email') === this.authManager.currentUser.get('email')));
}),

isUserOrganiser: computed('event.organizers', 'authManager.currentUser', function() {
let { currentUser } = this.authManager;
return this.event.organizers.includes(currentUser);
}),

// Clicking on the add speaker button creates a blank record which increases the length of the session's list by 1.
noSessionExists: computed('sessions', function() {
return this.sessions.length === 1;
Expand Down
2 changes: 1 addition & 1 deletion app/routes/public.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default Route.extend({

model(params) {
return this.store.findRecord('event', params.event_id, {
include: 'social-links,event-copyright,speakers-call,tax'
include: 'social-links,event-copyright,speakers-call,tax,owner,organizers'
});
}
});
12 changes: 8 additions & 4 deletions app/templates/components/forms/session-speaker-form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,10 @@
{{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier))
textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
{{else if (eq field.fieldIdentifier 'email')}}
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
onChange=(action (mut data.speaker.isEmailOverridden))}}
{{#if (or isUserOwnerOrAdmin isUserOrganiser)}}
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
onChange=(action (mut data.speaker.isEmailOverridden))}}
{{/if}}
{{#if (not data.speaker.isEmailOverridden)}}
{{input type=field.type value=(mut (get data.speaker field.fieldIdentifier))
id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
Expand Down Expand Up @@ -193,8 +195,10 @@
{{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier))
textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
{{else if (eq field.fieldIdentifier 'email')}}
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
onChange=(action (mut data.speaker.isEmailOverridden))}}
{{#if (or isUserOwnerOrAdmin isUserOrganiser)}}
{{ui-checkbox label=(t 'Do not require email for this speaker.') checked=data.speaker.isEmailOverridden
onChange=(action (mut data.speaker.isEmailOverridden))}}
{{/if}}
{{#if (not data.speaker.isEmailOverridden)}}
{{input type=field.type value=(mut (get data.speaker field.fieldIdentifier))
id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
Expand Down
2 changes: 1 addition & 1 deletion app/templates/public/cfs/edit-speaker.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{{t 'Edit Speaker'}}
</h2>
<div class="ui container">
{{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading
{{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading
save=(action 'save') isSpeaker=true includeSpeaker=true}}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/templates/public/cfs/new-speaker.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{{t 'Speaker Details'}}
</h2>
<div class="ui container">
{{forms/session-speaker-form fields=model.forms data=model isLoading=isLoading
{{forms/session-speaker-form fields=model.forms event=model.event data=model isLoading=isLoading
save=(action 'save') isSpeaker=true includeSpeaker=true isCFS=true}}
</div>
</div>
Expand Down

0 comments on commit d8420a3

Please sign in to comment.