2017-06-17 15:25:41 +09:00
|
|
|
import React from 'react';
|
|
|
|
import Users from 'meteor/vulcan:users';
|
2017-07-19 16:55:51 +09:00
|
|
|
import { Components, withMessages } from 'meteor/vulcan:core';
|
|
|
|
import { intlShape } from 'meteor/vulcan:i18n';
|
2017-06-17 15:25:41 +09:00
|
|
|
|
2017-07-19 16:55:51 +09:00
|
|
|
const Username = ({ user }) =>
|
2017-06-17 15:25:41 +09:00
|
|
|
<div>
|
2017-07-19 16:55:51 +09:00
|
|
|
<Components.Avatar user={user} link={false}/>
|
|
|
|
<span>{Users.getDisplayName(user)}</span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
const EditForm = ({ user, closeModal, flash, intl }) =>
|
|
|
|
<Components.SmartForm
|
|
|
|
collection={Users}
|
|
|
|
documentId={user._id}
|
|
|
|
successCallback={user => {
|
|
|
|
closeModal();
|
|
|
|
flash(intl.formatMessage({ id: 'users.edit_success' }, {name: Users.getDisplayName(user)}), 'success')
|
|
|
|
}}
|
|
|
|
showRemove={true}
|
|
|
|
/>
|
|
|
|
|
|
|
|
const AdminUsersName = ({ user, flash }, context) =>
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<Components.ModalTrigger title={`${context.intl.formatMessage({ id: 'users.edit_account'})}: ${Users.getDisplayName(user)}`} component={<div><Username user={user} /></div>}>
|
|
|
|
<EditForm user={user} flash={flash} intl={context.intl} />
|
|
|
|
</Components.ModalTrigger>
|
|
|
|
|
2017-06-17 15:25:41 +09:00
|
|
|
{_.rest(Users.getGroups(user)).map(group => <code key={group}>{group}</code>)}
|
2017-07-19 16:55:51 +09:00
|
|
|
|
2017-06-17 15:25:41 +09:00
|
|
|
</div>
|
|
|
|
|
2017-07-19 16:55:51 +09:00
|
|
|
AdminUsersName.contextTypes = {
|
|
|
|
intl: intlShape
|
|
|
|
};
|
|
|
|
|
|
|
|
export default withMessages(AdminUsersName);
|