mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-18 00:00:00 +00:00
update
This commit is contained in:
@@ -198,7 +198,8 @@ class FIleTransferLogs extends Component {
|
||||
} = this.state;
|
||||
|
||||
const emails = {
|
||||
from_emails: selectedFromUsers.map(user => user.email),
|
||||
from_emails: selectedFromUsers.filter(item => item.email).map(user => user.email),
|
||||
from_groups: selectedFromUsers.filter(item => !item.email).map(group => group.id),
|
||||
to_emails: selectedToUsers.map(user => user.email),
|
||||
to_groups: selectedToGroups.map(group => group.to_group_id || group.id),
|
||||
operator_emails: selectedOperators.map(user => user.email)
|
||||
@@ -231,18 +232,34 @@ class FIleTransferLogs extends Component {
|
||||
}, () => this.getLogsByPage(this.initPage));
|
||||
};
|
||||
|
||||
handleFromUserFilter = (user, shouldFetchData = true) => {
|
||||
handleFromUserFilter = (item, shouldFetchData = true) => {
|
||||
const { selectedFromUsers } = this.state;
|
||||
let newSelectedUsers;
|
||||
|
||||
if (user === null) {
|
||||
if (item === null) {
|
||||
newSelectedUsers = selectedFromUsers;
|
||||
} else {
|
||||
const isSelected = selectedFromUsers.find(item => item.email === user.email);
|
||||
if (isSelected) {
|
||||
newSelectedUsers = selectedFromUsers.filter(item => item.email !== user.email);
|
||||
if (item.email) {
|
||||
const isSelected = selectedFromUsers.find(user => user.email === item.email);
|
||||
if (isSelected) {
|
||||
newSelectedUsers = selectedFromUsers.filter(user => user.email !== item.email);
|
||||
} else {
|
||||
newSelectedUsers = [...selectedFromUsers, item];
|
||||
}
|
||||
} else {
|
||||
newSelectedUsers = [...selectedFromUsers, user];
|
||||
const groupId = item.id;
|
||||
const isSelected = selectedFromUsers.find(group => group.id === groupId);
|
||||
if (isSelected) {
|
||||
newSelectedUsers = selectedFromUsers.filter(group => group.id !== groupId);
|
||||
} else {
|
||||
const groupItem = {
|
||||
id: groupId,
|
||||
name: item.name,
|
||||
from_group_id: groupId,
|
||||
from_group_name: item.name
|
||||
};
|
||||
newSelectedUsers = [...selectedFromUsers, groupItem];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -422,6 +439,7 @@ class FIleTransferLogs extends Component {
|
||||
isOpen={openSelector === 'fromUser'}
|
||||
onToggle={() => this.handleSelectorToggle('fromUser')}
|
||||
searchUsersFunc={this.searchUsers}
|
||||
searchGroupsFunc={this.searchGroups}
|
||||
/>
|
||||
<LogUserSelector
|
||||
componentName="Transfer To"
|
||||
|
@@ -752,15 +752,18 @@ class SystemAdminAPI {
|
||||
if (emails.from_emails && emails.from_emails.length) {
|
||||
params.from_emails = emails.from_emails.join(',');
|
||||
}
|
||||
if (emails.from_groups && emails.from_groups.length) {
|
||||
params.from_groups = emails.from_groups.join(',');
|
||||
}
|
||||
if (emails.to_emails && emails.to_emails.length) {
|
||||
params.to_emails = emails.to_emails.join(',');
|
||||
}
|
||||
if (emails.operator_emails && emails.operator_emails.length) {
|
||||
params.operator_emails = emails.operator_emails.join(',');
|
||||
}
|
||||
if (emails.to_groups && emails.to_groups.length) {
|
||||
params.to_groups = emails.to_groups.join(',');
|
||||
}
|
||||
if (emails.operator_emails && emails.operator_emails.length) {
|
||||
params.operator_emails = emails.operator_emails.join(',');
|
||||
}
|
||||
if (repos && repos.length) {
|
||||
params.repos = repos.map(repo => repo.id).join(',');
|
||||
}
|
||||
|
@@ -493,6 +493,10 @@ class AdminLogsFileTransferLogs(APIView):
|
||||
if not is_valid_email(user_selected):
|
||||
error_msg = 'email %s invalid.' % user_selected
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
from_groups = request.GET.get('from_groups')
|
||||
from_groups = from_groups.split(',') if from_groups else []
|
||||
from_groups = [group_id + '@seafile_group' for group_id in from_groups]
|
||||
to_groups = request.GET.get('to_groups')
|
||||
to_groups = to_groups.split(',') if to_groups else []
|
||||
to_groups = [group_id + '@seafile_group' for group_id in to_groups]
|
||||
@@ -505,8 +509,8 @@ class AdminLogsFileTransferLogs(APIView):
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, error_msg)
|
||||
|
||||
queryset = RepoTransfer.objects.all()
|
||||
if from_emails:
|
||||
queryset = queryset.by_from_user(from_emails)
|
||||
if from_emails or from_groups:
|
||||
queryset = queryset.by_from_user(from_emails + from_groups)
|
||||
if to_emails or to_groups:
|
||||
queryset = queryset.by_to_user(to_emails + to_groups)
|
||||
if operator_emails:
|
||||
|
Reference in New Issue
Block a user