Skip to content

Commit

Permalink
Merge pull request #925 from hinashi/fixed/advanced_search/named_entry
Browse files Browse the repository at this point in the history
Fixed missing named_entry attribute on advanced search results page
  • Loading branch information
userlocalhost authored Aug 25, 2023
2 parents b90304e + 3d35d80 commit 3d3c966
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 12 deletions.
18 changes: 18 additions & 0 deletions entry/api_v2/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,24 @@ def _get_typed_value(type: int) -> str:
):
entry["attrs"][name]["value"]["as_string"] = ""

# "asNamedObject", "as_array_named_object" converts types
if _get_typed_value(attr["type"]) == "as_named_object":
value = entry["attrs"][name]["value"]["as_named_object"]
entry["attrs"][name]["value"]["as_named_object"] = {
"name": list(value.keys())[0],
"object": list(value.values())[0],
}

if _get_typed_value(attr["type"]) == "as_array_named_object":
values = entry["attrs"][name]["value"]["as_array_named_object"]
entry["attrs"][name]["value"]["as_array_named_object"] = [
{
"name": list(value.keys())[0],
"object": list(value.values())[0],
}
for value in values
]

serializer = AdvancedSearchResultSerializer(
data={"count": resp["ret_count"], "values": resp["ret_values"]}
)
Expand Down
20 changes: 16 additions & 4 deletions entry/tests/test_api_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -2886,7 +2886,8 @@ def test_advanced_search(self):
"type": 2049,
"value": {
"as_named_object": {
"hoge": {"id": self.ref_entry.id, "name": "r-0"}
"name": "hoge",
"object": {"id": self.ref_entry.id, "name": "r-0"},
}
},
},
Expand All @@ -2895,8 +2896,14 @@ def test_advanced_search(self):
"type": 3073,
"value": {
"as_array_named_object": [
{"foo": {"id": self.ref_entry.id, "name": "r-0"}},
{"bar": {"id": self.ref_entry.id, "name": "r-0"}},
{
"name": "foo",
"object": {"id": self.ref_entry.id, "name": "r-0"},
},
{
"name": "bar",
"object": {"id": self.ref_entry.id, "name": "r-0"},
},
]
},
},
Expand Down Expand Up @@ -2963,7 +2970,12 @@ def test_advanced_search(self):
"name": {
"is_readable": True,
"type": 2049,
"value": {"as_named_object": {"": {"id": "", "name": ""}}},
"value": {
"as_named_object": {
"name": "",
"object": {"id": "", "name": ""},
}
},
},
"names": {
"is_readable": True,
Expand Down
13 changes: 5 additions & 8 deletions frontend/src/pages/AdvancedSearchResultsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SettingsIcon from "@mui/icons-material/Settings";
import { Box, Button, Typography } from "@mui/material";
import { useSnackbar } from "notistack";
import React, { FC, useMemo, useState } from "react";
import { Link, useHistory, useLocation } from "react-router-dom";
import { Link, useLocation } from "react-router-dom";
import { useAsync } from "react-use";

import { advancedSearchPath, topPath } from "Routes";
Expand All @@ -25,14 +25,14 @@ import { extractAdvancedSearchParams } from "services/entry/AdvancedSearch";

export const AdvancedSearchResultsPage: FC = () => {
const location = useLocation();
const history = useHistory();
const { enqueueSnackbar } = useSnackbar();
const [page, changePage] = usePage();

const [openModal, setOpenModal] = useState(false);
const [bulkOperationEntryIds, setBulkOperationEntryIds] = useState<
Array<number>
>([]);
const [toggle, setToggle] = useState(false);

const {
entityIds,
Expand Down Expand Up @@ -60,7 +60,7 @@ export const AdvancedSearchResultsPage: FC = () => {
searchAllEntities,
page
);
}, [page]);
}, [page, toggle]);

const maxPage = useMemo(() => {
if (results.loading) {
Expand Down Expand Up @@ -105,11 +105,8 @@ export const AdvancedSearchResultsPage: FC = () => {
enqueueSnackbar("複数エントリの削除に成功しました", {
variant: "success",
});
history.replace(topPath());
history.replace({
pathname: location.pathname,
search: location.search,
});
setBulkOperationEntryIds([]);
setToggle(!toggle);
} catch (e) {
enqueueSnackbar("複数エントリの削除に失敗しました", {
variant: "error",
Expand Down

0 comments on commit 3d3c966

Please sign in to comment.