mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 14:45:56 +08:00
Fix designated users on task and new task modal [SCI-10488]
This commit is contained in:
parent
44c8ccb3b0
commit
93b75403df
|
@ -117,9 +117,7 @@ class UserMyModulesController < ApplicationController
|
|||
user_hash
|
||||
end
|
||||
|
||||
render json: {
|
||||
users: users.compact
|
||||
}
|
||||
render json: users.compact
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -45,18 +45,20 @@
|
|||
:placeholder="i18n.t('experiments.canvas.new_my_module_modal.assigned_tags_placeholder')"
|
||||
:tagsView="true" ></SelectDropdown>
|
||||
|
||||
<label class="sci-label">
|
||||
{{ i18n.t('experiments.canvas.new_my_module_modal.assigned_users') }}
|
||||
</label>
|
||||
<SelectDropdown
|
||||
@change="setUsers"
|
||||
:options="formattedUsers"
|
||||
:option-renderer="usersRenderer"
|
||||
:label-renderer="usersRenderer"
|
||||
:multiple="true"
|
||||
:searchable="true"
|
||||
:placeholder="i18n.t('experiments.canvas.new_my_module_modal.assigned_users_placeholder')"
|
||||
:tagsView="true" ></SelectDropdown>
|
||||
<template v-if="this.assignedUsersUrl">
|
||||
<label class="sci-label">
|
||||
{{ i18n.t('experiments.canvas.new_my_module_modal.assigned_users') }}
|
||||
</label>
|
||||
<SelectDropdown
|
||||
@change="setUsers"
|
||||
:options="formattedUsers"
|
||||
:option-renderer="usersRenderer"
|
||||
:label-renderer="usersRenderer"
|
||||
:multiple="true"
|
||||
:searchable="true"
|
||||
:placeholder="i18n.t('experiments.canvas.new_my_module_modal.assigned_users_placeholder')"
|
||||
:tagsView="true" ></SelectDropdown>
|
||||
</template>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ i18n.t('general.cancel') }}</button>
|
||||
|
@ -169,6 +171,8 @@ export default {
|
|||
});
|
||||
},
|
||||
loadUsers() {
|
||||
if (!this.assignedUsersUrl) return;
|
||||
|
||||
axios.get(this.assignedUsersUrl).then((response) => {
|
||||
this.allUsers = response.data.data;
|
||||
});
|
||||
|
|
|
@ -106,12 +106,16 @@ export default {
|
|||
}
|
||||
})
|
||||
.then((response) => {
|
||||
let result = response.data;
|
||||
|
||||
if (!Array.isArray(result)) result = [];
|
||||
|
||||
if (setSelectedUsers) {
|
||||
this.selectedUsers = response.data.users.filter((item) => this.users.some((user) => user.id === item.value));
|
||||
this.allUsers = response.data.users;
|
||||
this.selectedUsers = result.filter((item) => this.users.some((user) => user.id === item.value));
|
||||
this.allUsers = result;
|
||||
this.flyoutLoaded = true;
|
||||
} else {
|
||||
const nonAssignedUsers = response.data.users.filter((item) => !this.selectedUsers.some(({ value }) => value === item.value));
|
||||
const nonAssignedUsers = result.filter((item) => !this.selectedUsers.some(({ value }) => value === item.value));
|
||||
this.allUsers = this.selectedUsers.concat(nonAssignedUsers);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
active-page-url="<%= my_modules_path(experiment_id: @experiment, view_mode: :active) %>"
|
||||
archived-page-url="<%= my_modules_path(experiment_id: @experiment, view_mode: :archived) %>"
|
||||
current-view-mode="<%= view_mode %>"
|
||||
assigned-users-url="<%= assigned_users_experiment_path(@experiment) %>"
|
||||
assigned-users-url="<%= (assigned_users_experiment_path(@experiment) if can_designate_users_to_new_task?(@experiment)) %>"
|
||||
users-filter-url="<%= users_filter_projects_path %>"v
|
||||
user-roles-url="<%= user_roles_projects_path %>"
|
||||
:tags-colors="<%= Constants::TAG_COLORS.to_json %>"
|
||||
|
|
Loading…
Reference in a new issue