mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 15:09:14 +00:00
fix my activities filters (#7166)
* fix my activities filters * update --------- Co-authored-by: r350178982 <32759763+r350178982@users.noreply.github.com>
This commit is contained in:
@@ -40,7 +40,7 @@ class FilesActivities extends Component {
|
||||
|
||||
componentDidMount() {
|
||||
let { currentPage, availableUsers } = this.state;
|
||||
seafileAPI.listActivities(currentPage).then(res => {
|
||||
seafileAPI.listActivities(currentPage, this.props.onlyMine ? username : '').then(res => {
|
||||
// {"events":[...]}
|
||||
let events = this.mergePublishEvents(res.data.events);
|
||||
events = this.mergeFileCreateEvents(events);
|
||||
@@ -139,7 +139,7 @@ class FilesActivities extends Component {
|
||||
|
||||
getMore() {
|
||||
const { currentPage, availableUsers, targetUsers } = this.state;
|
||||
seafileAPI.listActivities(currentPage).then(res => {
|
||||
seafileAPI.listActivities(currentPage, this.props.onlyMine ? username : '').then(res => {
|
||||
// {"events":[...]}
|
||||
let events = this.mergePublishEvents(res.data.events);
|
||||
events = this.mergeFileCreateEvents(events);
|
||||
@@ -184,13 +184,10 @@ class FilesActivities extends Component {
|
||||
const { onlyMine } = this.props;
|
||||
const { targetUsers } = this.state;
|
||||
|
||||
if (onlyMine) {
|
||||
return events.filter(item => item.author_email == username);
|
||||
} else if (targetUsers.length) {
|
||||
if (!onlyMine && targetUsers.length) {
|
||||
return events.filter(item => targetUsers.map(item => item.email).indexOf(item.author_email) != -1);
|
||||
} else {
|
||||
return events;
|
||||
}
|
||||
return events;
|
||||
};
|
||||
|
||||
setTargetUsers = (selectedUsers) => {
|
||||
|
@@ -1493,8 +1493,11 @@ class SeafileAPI {
|
||||
}
|
||||
|
||||
// ---- Activities API
|
||||
listActivities(pageNum) {
|
||||
const url = this.server + '/api/v2.1/activities/?page=' + pageNum;
|
||||
listActivities(pageNum, operationUser) {
|
||||
let url = this.server + '/api/v2.1/activities/?page=' + pageNum;
|
||||
if (operationUser) {
|
||||
url += '&op_user=' + encodeURIComponent(operationUser);
|
||||
}
|
||||
return this.req.get(url);
|
||||
}
|
||||
|
||||
|
@@ -40,13 +40,14 @@ class ActivitiesView(APIView):
|
||||
except ValueError:
|
||||
per_page = 25
|
||||
|
||||
op_user = request.GET.get('op_user', '')
|
||||
start = (page - 1) * per_page
|
||||
count = per_page
|
||||
|
||||
email = request.user.username
|
||||
|
||||
try:
|
||||
events = get_user_activities(email, start, count)
|
||||
events = get_user_activities(email, start, count, op_user)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
error_msg = 'Internal Server Error'
|
||||
|
@@ -621,12 +621,16 @@ if EVENTS_CONFIG_FILE:
|
||||
session.close()
|
||||
|
||||
|
||||
def _get_activities(username, start, count):
|
||||
def _get_activities(username, start, count, op_user=None):
|
||||
ev_session = SeafEventsSession()
|
||||
|
||||
events = []
|
||||
try:
|
||||
events = seafevents_api.get_user_activities(ev_session,
|
||||
if op_user:
|
||||
events = seafevents_api.get_user_activities_by_op_user(ev_session,
|
||||
username, op_user, start, count)
|
||||
else:
|
||||
events = seafevents_api.get_user_activities(ev_session,
|
||||
username, start, count)
|
||||
finally:
|
||||
ev_session.close()
|
||||
@@ -634,14 +638,14 @@ if EVENTS_CONFIG_FILE:
|
||||
return events
|
||||
|
||||
|
||||
def get_user_activities(username, start, count):
|
||||
def get_user_activities(username, start, count, op_user=None):
|
||||
"""Return user events list and a new start.
|
||||
For example:
|
||||
``get_user_activities('foo@example.com', 0, 10)`` returns the first 10
|
||||
``get_user_activities('foo@example.com', 4, 10)`` returns the 6th through
|
||||
15th events.
|
||||
"""
|
||||
return _get_activities(username, start, count)
|
||||
return _get_activities(username, start, count, op_user)
|
||||
|
||||
def get_user_activity_stats_by_day(start, end, offset):
|
||||
"""
|
||||
|
Reference in New Issue
Block a user