Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Email Override possible for all users #3701

Merged
merged 4 commits into from
Dec 22, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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