|
133 | 133 |
|
134 | 134 | function onInvalidToken(params) {
|
135 | 135 | var token = params.token;
|
136 |
| - var options = new OptionMenu({ |
137 |
| - section: navigator.mozL10n.get('invalidRoomToken'), |
138 |
| - type: 'confirm', |
139 |
| - items: [ |
140 |
| - { |
141 |
| - name: 'Cancel', |
142 |
| - l10nId: 'cancel', |
143 |
| - method: (token) => { |
144 |
| - RoomsDB.get(token).then(room => { |
145 |
| - room.noLongerAvailable = true; |
146 |
| - Controller.onRoomUpdated(room); |
147 |
| - }); |
148 |
| - }, |
149 |
| - params: [token] |
150 |
| - }, |
151 |
| - { |
| 136 | + |
| 137 | + RoomsDB.get(token).then(room => { |
| 138 | + var parameters = { |
| 139 | + type: 'confirm', |
| 140 | + items: [ |
| 141 | + { |
| 142 | + name: 'Cancel', |
| 143 | + l10nId: 'cancel' |
| 144 | + } |
| 145 | + ] |
| 146 | + }; |
| 147 | + |
| 148 | + var title; |
| 149 | + |
| 150 | + if (room) { |
| 151 | + title = 'invalidRoomTokenAndDelete'; |
| 152 | + |
| 153 | + parameters.items[0].method = () => { |
| 154 | + room.noLongerAvailable = true; |
| 155 | + Controller.onRoomUpdated(room); |
| 156 | + }; |
| 157 | + |
| 158 | + parameters.items.push({ |
152 | 159 | name: 'Delete',
|
153 | 160 | class: 'danger',
|
154 | 161 | l10nId: 'delete',
|
|
160 | 167 | Rooms.delete(token).then(deleteFromDB, deleteFromDB);
|
161 | 168 | },
|
162 | 169 | params: [token]
|
163 |
| - } |
164 |
| - ] |
| 170 | + }); |
| 171 | + } else { |
| 172 | + title = 'invalidRoomToken'; |
| 173 | + |
| 174 | + var item = parameters.items[0]; |
| 175 | + item.name = 'OK'; |
| 176 | + item.l10nId = 'ok'; |
| 177 | + item.class = 'full'; |
| 178 | + } |
| 179 | + |
| 180 | + parameters.section = navigator.mozL10n.get(title); |
| 181 | + |
| 182 | + var options = new OptionMenu(parameters); |
165 | 183 | });
|
166 | 184 | }
|
167 | 185 |
|
|
550 | 568 | currentToken = null;
|
551 | 569 | isConnected = false;
|
552 | 570 | removeHeadPhonesChangeHandler();
|
553 |
| - RoomUI.hide(); |
554 |
| - // See https://docs.services.mozilla.com/loop/apis.html |
555 |
| - if (error) { |
556 |
| - if (error.code === 400 && error.errno === 202) { |
557 |
| - // Room full |
558 |
| - return removeMyselfFromRoom(params); |
559 |
| - } else if (error.code === 404) { |
560 |
| - return onInvalidToken(params); |
| 571 | + RoomUI.hide(() => { |
| 572 | + // See https://docs.services.mozilla.com/loop/apis.html |
| 573 | + if (error) { |
| 574 | + if (error.code === 400 && error.errno === 202) { |
| 575 | + // Room full |
| 576 | + return removeMyselfFromRoom(params); |
| 577 | + } else if (error.code === 404) { |
| 578 | + return onInvalidToken(params); |
| 579 | + } |
561 | 580 | }
|
562 |
| - } |
563 | 581 |
|
564 |
| - showError(); |
| 582 | + showError(); |
| 583 | + }); |
565 | 584 | });
|
566 | 585 | }, () => {
|
567 | 586 | // The user cancels
|
|
0 commit comments