Skip to content

Commit 4487a9f

Browse files
author
SeRoNet Concourse
committed
Merge remote-tracking branch 'rocket.chat/develop' into HEAD
2 parents 19743d3 + f823590 commit 4487a9f

31 files changed

Lines changed: 367 additions & 774 deletions

File tree

.meteor/versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ npm-mongo@3.9.0
9999
oauth@1.3.2
100100
oauth1@1.3.0
101101
oauth2@1.3.0
102-
observe-sequence@1.0.18
102+
observe-sequence@1.0.16
103103
ordered-dict@1.1.0
104104
ostrio:cookies@2.7.0
105105
pauli:accounts-linkedin@5.0.0

app/2fa/client/callWithTwoFactorRequired.js

Lines changed: 16 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,10 @@ import { Meteor } from 'meteor/meteor';
22
import { SHA256 } from 'meteor/sha';
33
import toastr from 'toastr';
44

5-
import { modal } from '../../ui-utils/client';
6-
import { t, APIClient } from '../../utils/client';
5+
import { t } from '../../utils/client';
6+
import { imperativeModal } from '../../../client/lib/imperativeModal';
7+
import TwoFactorModal from '../../../client/components/TwoFactorModal';
78

8-
const methods = {
9-
totp: {
10-
text: 'Open_your_authentication_app_and_enter_the_code',
11-
},
12-
email: {
13-
text: 'Verify_your_email_for_the_code_we_sent',
14-
html: true,
15-
},
16-
password: {
17-
title: 'Please_enter_your_password',
18-
text: 'For_your_security_you_must_enter_your_current_password_to_continue',
19-
inputType: 'password',
20-
},
21-
};
229

2310
export function process2faReturn({ error, result, originalCallback, onCode, emailOrUsername }) {
2411
if (!error || (error.error !== 'totp-required' && error.errorType !== 'totp-required')) {
@@ -31,34 +18,20 @@ export function process2faReturn({ error, result, originalCallback, onCode, emai
3118
emailOrUsername = Meteor.user().username;
3219
}
3320

34-
modal.open({
35-
title: t(methods[method].title || 'Two Factor Authentication'),
36-
text: t(methods[method].text),
37-
html: methods[method].html,
38-
type: 'input',
39-
inputActionText: method === 'email' && emailOrUsername && t('Send_me_the_code_again'),
40-
async inputAction(e) {
41-
const { value } = e.currentTarget;
42-
e.currentTarget.value = t('Sending');
43-
44-
await APIClient.v1.post('users.2fa.sendEmailCode', { emailOrUsername });
45-
46-
e.currentTarget.value = value;
21+
imperativeModal.open({
22+
component: TwoFactorModal,
23+
props: {
24+
method,
25+
onConfirm: (code, method) => {
26+
onCode(method === 'password' ? SHA256(code) : code, method);
27+
imperativeModal.close();
28+
},
29+
onClose: () => {
30+
imperativeModal.close();
31+
originalCallback(new Meteor.Error('totp-canceled'));
32+
},
33+
emailOrUsername,
4734
},
48-
inputType: methods[method].inputType || 'text',
49-
showCancelButton: true,
50-
closeOnConfirm: true,
51-
confirmButtonText: t('Verify'),
52-
cancelButtonText: t('Cancel'),
53-
}, (code) => {
54-
if (code === false) {
55-
return originalCallback(new Meteor.Error('totp-canceled'));
56-
}
57-
58-
if (method === 'password') {
59-
code = SHA256(code);
60-
}
61-
onCode(code, method);
6235
});
6336
}
6437

app/discussion/client/createDiscussionMessageAction.js

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ import { Tracker } from 'meteor/tracker';
33

44
import { settings } from '../../settings/client';
55
import { hasPermission } from '../../authorization/client';
6-
import { MessageAction, modal } from '../../ui-utils/client';
6+
import { MessageAction } from '../../ui-utils/client';
77
import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
8-
import { t, roomTypes } from '../../utils/client';
8+
import { roomTypes } from '../../utils/client';
9+
import { imperativeModal } from '../../../client/lib/imperativeModal';
10+
import CreateDiscussion from '../../../client/components/CreateDiscussion/CreateDiscussion';
11+
912

1013
Meteor.startup(function() {
1114
Tracker.autorun(() => {
@@ -21,18 +24,14 @@ Meteor.startup(function() {
2124
async action() {
2225
const { msg: message } = messageArgs(this);
2326

24-
modal.open({
25-
title: t('Discussion_title'),
26-
modifier: 'modal',
27-
content: 'CreateDiscussion',
28-
data: { rid: message.rid,
29-
message,
30-
onCreate() {
31-
modal.close();
32-
} },
33-
confirmOnEnter: false,
34-
showConfirmButton: false,
35-
showCancelButton: false,
27+
imperativeModal.open({
28+
component: CreateDiscussion,
29+
props: {
30+
defaultParentRoom: message.rid,
31+
onClose: imperativeModal.close,
32+
parentMessageId: message._id,
33+
nameSuggestion: message?.msg?.substr(0, 140),
34+
},
3635
});
3736
},
3837
condition({ msg: { u: { _id: uid }, drid, dcount }, room, subscription, u }) {

app/discussion/client/discussionFromMessageBox.js

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { Meteor } from 'meteor/meteor';
22
import { Tracker } from 'meteor/tracker';
33

4-
import { messageBox, modal } from '../../ui-utils/client';
5-
import { t } from '../../utils/client';
4+
import { messageBox } from '../../ui-utils/client';
65
import { settings } from '../../settings/client';
76
import { hasPermission } from '../../authorization/client';
7+
import { imperativeModal } from '../../../client/lib/imperativeModal';
8+
import CreateDiscussion from '../../../client/components/CreateDiscussion/CreateDiscussion';
89

910
Meteor.startup(function() {
1011
Tracker.autorun(() => {
@@ -16,19 +17,12 @@ Meteor.startup(function() {
1617
icon: 'discussion',
1718
condition: () => hasPermission('start-discussion') || hasPermission('start-discussion-other-user'),
1819
action(data) {
19-
modal.open({
20-
title: t('Discussion_title'),
21-
modifier: 'modal',
22-
content: 'CreateDiscussion',
23-
data: {
24-
...data,
25-
onCreate() {
26-
modal.close();
27-
},
20+
imperativeModal.open({
21+
component: CreateDiscussion,
22+
props: {
23+
defaultParentRoom: data.rid,
24+
onClose: imperativeModal.close,
2825
},
29-
showConfirmButton: false,
30-
showCancelButton: false,
31-
confirmOnEnter: false,
3226
});
3327
},
3428
});

app/discussion/client/index.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// Templates
2-
import './views/creationDialog/CreateDiscussion';
3-
41
// Other UI extensions
52
import './lib/messageTypes/discussionMessage';
63
import './createDiscussionMessageAction';

app/discussion/client/views/creationDialog/CreateDiscussion.html

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)