|  | 
|  | 1 | +import Controller from '@ember/controller'; | 
|  | 2 | +import { isEqual } from '@ember/utils'; | 
|  | 3 | + | 
|  | 4 | +export default Controller.extend({ | 
|  | 5 | + | 
|  | 6 | +  actions: { | 
|  | 7 | +    openEventTransferModal(id, name) { | 
|  | 8 | +      this.setProperties({ | 
|  | 9 | +        'isEventTransferModalOpen' : true, | 
|  | 10 | +        'confirmEventName'         : '', | 
|  | 11 | +        'eventId'                  : id, | 
|  | 12 | +        'eventName'                : name | 
|  | 13 | +      }); | 
|  | 14 | +    }, | 
|  | 15 | +    openConfirmEventTransferModal() { | 
|  | 16 | +      const currentInvite = this.model.roleInvites.createRecord({}); | 
|  | 17 | +      let { roles } = this.model; | 
|  | 18 | +      for (const role of roles ? roles.toArray() : []) { | 
|  | 19 | +        if (role.name === 'owner') { | 
|  | 20 | +          currentInvite.set('role', role); | 
|  | 21 | +        } | 
|  | 22 | +      } | 
|  | 23 | +      this.setProperties({ | 
|  | 24 | +        'isEventTransferModalOpen'        : false, | 
|  | 25 | +        'isConfirmEventTransferModalOpen' : true, | 
|  | 26 | +        'checked'                         : false, | 
|  | 27 | +        currentInvite | 
|  | 28 | +      }); | 
|  | 29 | +    }, | 
|  | 30 | +    async transferEvent() { | 
|  | 31 | +      try { | 
|  | 32 | +        this.set('isLoading', true); | 
|  | 33 | +        this.currentInvite.set('roleName', 'owner'); | 
|  | 34 | +        const currentInviteObj = await this.currentInvite.save(); | 
|  | 35 | +        if (isEqual(currentInviteObj, this.currentInvite)) { | 
|  | 36 | +          this.setProperties({ | 
|  | 37 | +            'isConfirmEventTransferModalOpen' : false, | 
|  | 38 | +            'checked'                         : false | 
|  | 39 | +          }); | 
|  | 40 | +          this.notify.success(this.l10n.t('Owner Role Invite sent successfully.')); | 
|  | 41 | +          this.set('isLoading', false); | 
|  | 42 | +        } | 
|  | 43 | +      } catch (error) { | 
|  | 44 | +        this.notify.error(this.l10n.t(error.message)); | 
|  | 45 | +        this.set('isLoading', false); | 
|  | 46 | +      } | 
|  | 47 | +    } | 
|  | 48 | +  } | 
|  | 49 | +}); | 
0 commit comments