Merge branch 'master' of github.com:ONLYOFFICE/AppServer

This commit is contained in:
Ilya Oleshko 2019-11-11 14:55:49 +03:00
commit 1d03111bd7
5 changed files with 98 additions and 67 deletions

View File

@ -19,12 +19,12 @@ import {
Link,
RadioButtonGroup,
Paging,
SelectorAddButton,
IconButton,
AdvancedSelector,
toastr,
RequestLoader,
FilterInput
FilterInput,
Button
} from "asc-web-components";
import { getUserRole } from "../../../../../store/settings/selectors";
@ -102,12 +102,16 @@ const ToggleContentContainer = styled.div`
margin-top: 16px;
}
.advanced-selector {
position: relative;
.remove_icon {
margin-left: 120px;
}
.selector-button {
max-width: 34px;
.button_style {
margin-right: 16px;
}
.advanced-selector {
position: relative;
}
.filter_container {
@ -249,8 +253,14 @@ class PureAccessRights extends Component {
const { filter, fetchPeople } = this.props;
const search = data.inputValue || null;
const sortBy = data.sortId;
const sortOrder =
data.sortDirection === "desc" ? "descending" : "ascending";
const newFilter = filter.clone();
newFilter.sortBy = sortBy;
newFilter.sortOrder = sortOrder;
newFilter.page = 0;
newFilter.role = "admin";
newFilter.search = search;
@ -308,11 +318,21 @@ class PureAccessRights extends Component {
);
};
getSortData = () => {
const { t } = this.props;
return [
{ key: "firstname", label: t("ByFirstNameSorting") },
{ key: "lastname", label: t("ByLastNameSorting") }
];
};
render() {
const { t, owner, admins, filter } = this.props;
const { showSelector, options, selectedOptions, isLoading } = this.state;
const OwnerOpportunities = t("AccessRightsOwnerOpportunities").split("|");
const countElements = filter.total;
//console.log("accessRight render");
return (
@ -370,31 +390,31 @@ class PureAccessRights extends Component {
label={t("AdminSettings")}
isOpen={true}
>
<SelectorAddButton
className="selector-button"
<Button
className="button_style"
size="medium"
primary={true}
label="Set people admin"
isDisabled={isLoading}
//title={showGroupSelectorButtonTitle}
onClick={this.onShowGroupSelector}
/>
<FilterInput
className="filter_container"
getFilterData={() => [
{
key: "filter-example",
group: "filter-example",
label: "example group",
isHeader: true
},
{ key: "0", group: "filter-example", label: "Test" }
]}
getSortData={() => [
{ key: "name", label: "Name" },
{ key: "surname", label: "Surname" }
]}
onFilter={this.onFilter}
<Button
size="medium"
primary={true}
label="Set portal admin"
isDisabled={isLoading}
onClick={() => toastr.info("Set portal admin")}
/>
{countElements > 25 ? (
<FilterInput
className="filter_container"
getFilterData={() => []}
getSortData={this.getSortData}
onFilter={this.onFilter}
/>
) : null}
<div className="advanced-selector">
<AdvancedSelector
displayType="dropdown"
@ -447,20 +467,19 @@ class PureAccessRights extends Component {
</Link>
<div style={{ maxWidth: 120 }} />
{!user.isOwner ? (
<div style={{ marginLeft: "60px" }}>
<IconButton
size="16"
isDisabled={isLoading}
onClick={this.onChangeAdmin.bind(
this,
[user.id],
false
)}
iconName={"CatalogTrashIcon"}
isFill={true}
isClickable={false}
/>
</div>
<IconButton
className="remove_icon"
size="16"
isDisabled={isLoading}
onClick={this.onChangeAdmin.bind(
this,
[user.id],
false
)}
iconName={"CatalogTrashIcon"}
isFill={true}
isClickable={false}
/>
) : (
<div />
)}
@ -471,24 +490,26 @@ class PureAccessRights extends Component {
</RowContainer>
</div>
<div className="wrapper">
<Paging
previousLabel={t("PreviousPage")}
nextLabel={t("NextPage")}
openDirection="top"
countItems={this.countItems()}
pageItems={this.pageItems()}
displayItems={false}
selectedPageItem={this.selectedPageItem()}
selectedCountItem={this.selectedCountItem()}
onSelectPage={this.onChangePage}
onSelectCount={this.onChangePageSize}
previousAction={this.onPrevClick}
nextAction={this.onNextClick}
disablePrevious={!filter.hasPrev()}
disableNext={!filter.hasNext()}
/>
</div>
{countElements > 25 ? (
<div className="wrapper">
<Paging
previousLabel={t("PreviousPage")}
nextLabel={t("NextPage")}
openDirection="top"
countItems={this.countItems()}
pageItems={this.pageItems()}
displayItems={false}
selectedPageItem={this.selectedPageItem()}
selectedCountItem={this.selectedCountItem()}
onSelectPage={this.onChangePage}
onSelectCount={this.onChangePageSize}
previousAction={this.onPrevClick}
nextAction={this.onNextClick}
disablePrevious={!filter.hasPrev()}
disableNext={!filter.hasNext()}
/>
</div>
) : null}
</ToggleContent>
<ToggleContent

View File

@ -69,5 +69,7 @@
"Culture_ru-RU": "Russian (Russia)",
"LearnMore": "Learn more...",
"CountPerPage": "{{count}} per page",
"PageOfTotalPage": "{{page}} of {{totalPage}}"
"PageOfTotalPage": "{{page}} of {{totalPage}}",
"ByFirstNameSorting": "By first name",
"ByLastNameSorting": "By last name"
}

View File

@ -68,5 +68,7 @@
"Culture_ru-RU": "Русский (Россия)",
"LearnMore": "Подробнее...",
"CountPerPage": "{{count}} на странице",
"PageOfTotalPage": "{{page}} из {{totalPage}}"
"PageOfTotalPage": "{{page}} из {{totalPage}}",
"ByFirstNameSorting": "По имени",
"ByLastNameSorting": "По фамилии"
}

View File

@ -158,17 +158,24 @@ export function getUserList() {
}
export function getListAdmins(filter = Filter.getDefault()) {
const params = filter.toUrlParams();
const filterParams = filter.toUrlParams();
const params =
"fields=id,displayName,groups,name,avatarSmall,isOwner,profileUrl,listAdminModules";
return request({
method: "get",
url: `/people/filter.json?${params}`
url: `/people/filter.json?${filterParams}&${params}`
});
}
export function getAdmins() {
export function getAdmins(isParams) {
let params = "&fields";
if (isParams) {
params =
"fields=id,displayName,groups,name,avatarSmall,isOwner,profileUrl,listAdminModules";
}
return request({
method: "get",
url: `/people/filter.json?isadministrator=true`
url: `/people/filter.json?isadministrator=true&${params}`
});
}

View File

@ -6,7 +6,6 @@ import Filter from "./filter";
export const SET_USERS = "SET_USERS";
export const SET_ADMINS = "SET_ADMINS";
export const SET_OWNER = "SET_OWNER";
export const SET_FILTER = "SET_FILTER";
export const SET_GREETING_SETTINGS = "SET_GREETING_SETTINGS";
@ -61,7 +60,7 @@ export function changeAdmins(userIds, productId, isAdmin, filter) {
axios.all([
api.getUserList(filterData),
api.getListAdmins(filterData),
api.getAdmins()
api.getAdmins(false)
])
)
.then(
@ -89,7 +88,7 @@ export function fetchPeople(filter) {
.all([
api.getUserList(filterData),
api.getListAdmins(filterData),
api.getAdmins()
api.getAdmins(true)
])
.then(
axios.spread((users, filterAdmins, admins) => {