Skip to content
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
3 changes: 3 additions & 0 deletions app/controllers/events/view/sessions/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ export default Controller.extend({
await this.get('model.session').save();
if (this.addNewSpeaker) {
let newSpeaker = this.get('model.speaker');
if (newSpeaker.isEmailOverridden) {
newSpeaker.set('email', this.authManager.currentUser.email);
}
newSpeaker.save()
.then(() => {
newSpeaker.sessions.pushObject(_this.get('model.session'));
Expand Down
3 changes: 3 additions & 0 deletions app/controllers/events/view/sessions/edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ export default Controller.extend({
let _this = this;
if (this.addNewSpeaker) {
let newSpeaker = this.get('model.speaker');
if (newSpeaker.isEmailOverridden) {
newSpeaker.set('email', this.authManager.currentUser.email);
}
newSpeaker.save()
.then(() => {
newSpeaker.sessions.pushObject(_this.get('model.session'));
Expand Down
6 changes: 5 additions & 1 deletion app/controllers/events/view/speakers/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ export default Controller.extend({
if (!sessionDetails) {
await this.get('model.session').save();
}
await this.get('model.speaker').save();
let newSpeaker = this.get('model.speaker');
if (newSpeaker.isEmailOverridden) {
newSpeaker.set('email', this.authManager.currentUser.email);
}
await newSpeaker.save();
if (!sessionDetails) {
this.get('model.speaker.sessions').pushObject(this.get('model.session'));
await this.get('model.session').save();
Expand Down
6 changes: 5 additions & 1 deletion app/controllers/events/view/speakers/edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ export default Controller.extend({
actions: {
save() {
this.set('isLoading', true);
this.get('model.speaker').save()
let speaker = this.get('model.speaker');
if (speaker.isEmailOverridden) {
speaker.set('email', this.authManager.currentUser.email);
}
speaker.save()
.then(() => {
this.notify.success(this.l10n.t('Speaker details have been saved'));
this.transitionToRoute('events.view.speakers');
Expand Down
1 change: 1 addition & 0 deletions app/models/speaker.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export default ModelBase.extend({
linkedin : attr('string'),
organisation : attr('string'),
isFeatured : attr('boolean', { default: false }),
isEmailOverridden : attr('boolean', { default: false }),
position : attr('string'),
country : attr('string'),
city : attr('string'),
Expand Down
14 changes: 14 additions & 0 deletions app/templates/components/forms/session-speaker-form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,13 @@
{{#if field.isLongText}}
{{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 (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))}}
{{/if}}
{{else}}
{{input type=field.type value=(mut (get data.speaker field.fieldIdentifier)) id=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
{{/if}}
Expand Down Expand Up @@ -185,6 +192,13 @@
{{#if field.isLongText}}
{{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 (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))}}
{{/if}}
{{else}}
{{#if field.isUrlField}}
{{widgets/forms/link-input
Expand Down