diff --git a/frontend/src/components/wiki-card-view/wiki-card-item.js b/frontend/src/components/wiki-card-view/wiki-card-item.js index 6881487561..e6f05f727f 100644 --- a/frontend/src/components/wiki-card-view/wiki-card-item.js +++ b/frontend/src/components/wiki-card-view/wiki-card-item.js @@ -2,7 +2,6 @@ import React, { Component } from 'react'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { seafileAPI } from '../../utils/seafile-api'; import { siteRoot, gettext } from '../../utils/constants'; import ModalPortal from '../modal-portal'; import DeleteWikiDialog from '../dialog/delete-wiki-dialog'; @@ -23,19 +22,9 @@ class WikiCardItem extends Component { isShowDeleteDialog: false, isShowRenameDialog: false, isItemMenuShow: false, - ownerAvatar: '', }; } - componentDidMount() { - const { wiki, isDepartment } = this.props; - if (!isDepartment) { - seafileAPI.getUserAvatar(wiki.owner, 24).then(res => { - this.setState({ ownerAvatar: res.data.url }); - }); - } - } - onRenameToggle = (e) => { this.setState({ isShowRenameDialog: !this.state.isShowRenameDialog, @@ -84,11 +73,11 @@ class WikiCardItem extends Component { }; renderAvatar = () => { - const { wiki } = this.props; + const { owner_nickname, owner_avatar_url } = this.props.wiki; return (
- {wiki.owner_nickname}/ - {wiki.owner_nickname} + {owner_nickname}/ + {owner_nickname}
); }; diff --git a/seahub/wiki/models.py b/seahub/wiki/models.py index 2029a5183b..ec22fc399e 100644 --- a/seahub/wiki/models.py +++ b/seahub/wiki/models.py @@ -7,6 +7,7 @@ from seaserv import seafile_api from seahub.base.fields import LowerCaseCharField from seahub.base.templatetags.seahub_tags import email2nickname +from seahub.avatar.templatetags.avatar_tags import api_avatar_url from seahub.utils import get_site_scheme_and_netloc from seahub.utils.timeutils import (timestamp_to_isoformat_timestr, datetime_to_isoformat_timestr) @@ -98,10 +99,12 @@ class Wiki(models.Model): return True def to_dict(self): + avatar_url, is_default, date_uploaded = api_avatar_url(self.username, int(32)) return { 'id': self.pk, 'owner': self.username, 'owner_nickname': email2nickname(self.username), + 'owner_avatar_url': avatar_url, 'name': self.name, 'slug': self.slug, 'link': self.link,