@@ -461,7 +461,6 @@ export default Component.extend(FormMixin, {
461461 }
462462 return speakerInvite . save ( ) ;
463463 } ) ;
464- this . deletedSpeakerInvites . filter ( speakerInvite => ( speakerInvite . id === null ) ) ;
465464 const deleteSpeakerInvites = this . deletedSpeakerInvites . map ( speakerInvite => {
466465 return speakerInvite . destroyRecord ( ) ;
467466 } ) ;
@@ -494,12 +493,18 @@ export default Component.extend(FormMixin, {
494493 const existingEmails = this . data . session . speakerInvites . filter ( speakerInvite => speakerInvite . status === 'pending' ) ;
495494 existingEmails . map ( speakerInvite => speakerInvite . email ) ;
496495 if ( ! existingEmails . includes ( this . speakerInviteEmail ) ) {
497- const speakerInvite = this . store . createRecord ( 'speaker-invite' , {
498- email : this . speakerInviteEmail ,
499- session : this . data . session ,
500- event : this . data . event
501- } ) ;
502- this . data . session . speakerInvites . pushObject ( speakerInvite ) ;
496+ const existingSpeakerInvite = this . deletedSpeakerInvites . filter ( speakerInvite => speakerInvite . email === this . speakerInviteEmail ) ;
497+ if ( existingSpeakerInvite . length === 0 ) {
498+ const newSpeakerInvite = this . store . createRecord ( 'speaker-invite' , {
499+ email : this . speakerInviteEmail ,
500+ session : this . data . session ,
501+ event : this . data . event
502+ } ) ;
503+ this . data . session . speakerInvites . pushObject ( newSpeakerInvite ) ;
504+ } else {
505+ const speakerInvite = this . store . peekRecord ( 'speaker-invite' , existingSpeakerInvite [ 0 ] . id ) ;
506+ this . data . session . speakerInvites . pushObject ( speakerInvite ) ;
507+ }
503508 }
504509 this . deletedSpeakerInvites = this . deletedSpeakerInvites . filter ( speakerInvite => speakerInvite . email !== this . speakerInviteEmail ) ;
505510 this . speakerInviteEmail = '' ;
0 commit comments