mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 15:38:15 +00:00
refactor code (#2513)
This commit is contained in:
@@ -40,7 +40,7 @@ class ReviewListView extends React.Component {
|
||||
className={classnames({ active: this.state.activeTab === 'open' })}
|
||||
onClick={() => { this.toggle('open');}}
|
||||
>
|
||||
Open
|
||||
{gettext('Open')}
|
||||
</NavLink>
|
||||
</NavItem>
|
||||
<NavItem>
|
||||
@@ -48,7 +48,7 @@ class ReviewListView extends React.Component {
|
||||
className={classnames({ active: this.state.activeTab === 'finished' })}
|
||||
onClick={() => { this.toggle('finished');}}
|
||||
>
|
||||
Published
|
||||
{gettext('Published')}
|
||||
</NavLink>
|
||||
</NavItem>
|
||||
<NavItem>
|
||||
@@ -56,7 +56,7 @@ class ReviewListView extends React.Component {
|
||||
className={classnames({ active: this.state.activeTab === 'closed' })}
|
||||
onClick={() => { this.toggle('closed');}}
|
||||
>
|
||||
Closed
|
||||
{gettext('Closed')}
|
||||
</NavLink>
|
||||
</NavItem>
|
||||
</Nav>
|
||||
|
@@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
|
||||
/* eslint-disable */
|
||||
import Prism from 'prismjs';
|
||||
/* eslint-enable */
|
||||
import { siteRoot, gettext, draftID, reviewID, draftOriginFilePath, draftFilePath, draftOriginRepoID, draftFileName, opStatus, publishFileVersion, originFileVersion } from './utils/constants';
|
||||
import { siteRoot, gettext, draftID, reviewID, draftOriginFilePath, draftFilePath, draftOriginRepoID, draftFileName, opStatus, publishFileVersion, originFileVersion, author, authorAvatar } from './utils/constants';
|
||||
import { seafileAPI } from './utils/seafile-api';
|
||||
import axios from 'axios';
|
||||
import DiffViewer from '@seafile/seafile-editor/dist/viewer/diff-viewer';
|
||||
@@ -41,8 +41,6 @@ class DraftReview extends React.Component {
|
||||
showReviewerDialog: false,
|
||||
reviewers: [],
|
||||
};
|
||||
this.authorName = '';
|
||||
this.authorAvatar = '';
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
@@ -164,13 +162,6 @@ class DraftReview extends React.Component {
|
||||
});
|
||||
}
|
||||
|
||||
getAuthorInfo = () => {
|
||||
seafileAPI.getAccountInfo().then((res) => {
|
||||
this.authorName = res.data.name;
|
||||
this.authorAvatar = res.data.avatar_url;
|
||||
});
|
||||
}
|
||||
|
||||
listReviewers = () => {
|
||||
seafileAPI.listReviewers(reviewID).then((res) => {
|
||||
this.setState({
|
||||
@@ -181,7 +172,6 @@ class DraftReview extends React.Component {
|
||||
|
||||
componentWillMount() {
|
||||
this.getCommentsNumber();
|
||||
this.getAuthorInfo();
|
||||
this.listReviewers();
|
||||
}
|
||||
|
||||
@@ -299,8 +289,8 @@ class DraftReview extends React.Component {
|
||||
<div className="review-side-panel-header">{gettext('Author')}</div>
|
||||
</div>
|
||||
<div className="author-info">
|
||||
<img className="avatar author-avatar" src={this.authorAvatar} alt=""/>
|
||||
<span className="author-name">{this.authorName}</span>
|
||||
<img className="avatar author-avatar" src={authorAvatar} alt=""/>
|
||||
<span className="author-name">{author}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -44,3 +44,5 @@ export const opStatus = window.draftReview ? window.draftReview.config.opStatus
|
||||
export const reviewPerm = window.draftReview ? window.draftReview.config.perm : '';
|
||||
export const publishFileVersion = window.draftReview ? window.draftReview.config.publishFileVersion : '';
|
||||
export const originFileVersion = window.draftReview ? window.draftReview.config.originFileVersion : '';
|
||||
export const author = window.draftReview ? window.draftReview.config.author : '';
|
||||
export const authorAvatar = window.draftReview ? window.draftReview.config.authorAvatar : '';
|
||||
|
@@ -71,10 +71,10 @@ class DraftsView(APIView):
|
||||
return api_error(status.HTTP_404_NOT_FOUND,
|
||||
"File %s not found" % file_path)
|
||||
|
||||
username = request.user.username
|
||||
dirent = seafile_api.get_dirent_by_path(repo_id, file_path)
|
||||
|
||||
try:
|
||||
d = Draft.objects.add(username, repo, file_path, file_id)
|
||||
d = Draft.objects.add(dirent.modifier, repo, file_path, file_id)
|
||||
|
||||
return Response(d.to_dict())
|
||||
except (DraftFileExist, IntegrityError):
|
||||
|
@@ -5,10 +5,12 @@ import posixpath
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from seahub.base.templatetags.seahub_tags import email2nickname
|
||||
from seahub.auth.decorators import login_required
|
||||
from seahub.views import check_folder_permission
|
||||
from seahub.utils import render_permission_error
|
||||
from seahub.drafts.models import Draft, DraftReview
|
||||
from seahub.api2.utils import user_to_dict
|
||||
|
||||
|
||||
@login_required
|
||||
@@ -39,6 +41,8 @@ def review(request, pk):
|
||||
|
||||
draft_file_name = os.path.basename(d_r.draft_file_path)
|
||||
|
||||
user_info = user_to_dict(d_r.creator, avatar_size=32)
|
||||
|
||||
return render(request, "draft_review.html", {
|
||||
"draft_id": d_r.draft_id_id,
|
||||
"review_id": pk,
|
||||
@@ -50,5 +54,7 @@ def review(request, pk):
|
||||
"origin_file_version": d_r.origin_file_version,
|
||||
"publish_file_version": d_r.publish_file_version,
|
||||
"status": d_r.status,
|
||||
"permission": permission
|
||||
"permission": permission,
|
||||
"author": user_info['user_name'],
|
||||
'author_avatar_url': user_info['avatar_url']
|
||||
})
|
||||
|
@@ -782,7 +782,7 @@ class UserNotification(models.Model):
|
||||
review_id = d['review_id']
|
||||
author = d['author']
|
||||
|
||||
msg = _("Review <a href='%(file_url)s'>%(review_id)s</a> has a new comment from user %(author)s") % {
|
||||
msg = _("<a href='%(file_url)s'>Review #%(review_id)s</a> has a new comment from user %(author)s") % {
|
||||
'review_id': review_id,
|
||||
'file_url': reverse('drafts:review', args=[review_id]),
|
||||
'author': escape(email2nickname(author)),
|
||||
@@ -799,7 +799,7 @@ class UserNotification(models.Model):
|
||||
review_id = d['review_id']
|
||||
from_user = d['from_user']
|
||||
|
||||
msg = _("%(from_user)s has sent you a request for review <a href='%(file_url)s'>%(review_id)s</a>") % {
|
||||
msg = _("%(from_user)s has sent you a request for <a href='%(file_url)s'>review #%(review_id)s</a>") % {
|
||||
'review_id': review_id,
|
||||
'file_url': reverse('drafts:review', args=[review_id]),
|
||||
'from_user': escape(email2nickname(from_user))
|
||||
@@ -818,14 +818,14 @@ class UserNotification(models.Model):
|
||||
status = d['status']
|
||||
|
||||
if status == 'closed':
|
||||
msg = _("%(from_user)s has closed review <a href='%(file_url)s'>%(review_id)s</a>") % {
|
||||
msg = _("%(from_user)s has closed <a href='%(file_url)s'>review #%(review_id)s</a>") % {
|
||||
'review_id': review_id,
|
||||
'file_url': reverse('drafts:review', args=[review_id]),
|
||||
'from_user': escape(email2nickname(from_user))
|
||||
}
|
||||
|
||||
if status == 'finished':
|
||||
msg = _("%(from_user)s has published review <a href='%(file_url)s'>%(review_id)s</a>") % {
|
||||
msg = _("%(from_user)s has published <a href='%(file_url)s'>review #%(review_id)s</a>") % {
|
||||
'review_id': review_id,
|
||||
'file_url': reverse('drafts:review', args=[review_id]),
|
||||
'from_user': escape(email2nickname(from_user))
|
||||
|
@@ -16,6 +16,8 @@
|
||||
perm: '{{ permission }}',
|
||||
publishFileVersion: '{{ publish_file_version }}',
|
||||
originFileVersion: '{{ origin_file_version }}',
|
||||
author: '{{ author }}',
|
||||
authorAvatar: '{{ author_avatar_url }}',
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user