Commit 6db7d12b authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[searchfield] term escape double quotes

parent 8627e463
...@@ -7,7 +7,8 @@ import Data.Maybe (Maybe(..), maybe, fromMaybe) ...@@ -7,7 +7,8 @@ import Data.Maybe (Maybe(..), maybe, fromMaybe)
import Data.Newtype (over) import Data.Newtype (over)
import Data.Nullable (null) import Data.Nullable (null)
import Data.Set as Set import Data.Set as Set
import Data.String.Common (joinWith) import Data.String.Common (joinWith, replaceAll)
import Data.String.Pattern (Pattern(..), Replacement(..))
import Data.Tuple (Tuple(..)) import Data.Tuple (Tuple(..))
import DOM.Simple.Console (log, log2) import DOM.Simple.Console (log, log2)
import Effect (Effect) import Effect (Effect)
...@@ -613,15 +614,15 @@ searchQuery selection { databases, datafield, lang, term, node_id } = ...@@ -613,15 +614,15 @@ searchQuery selection { databases, datafield, lang, term, node_id } =
queryHAL :: String -> Maybe (Set.Set IMT_org) -> Maybe Lang -> Array String -> String queryHAL :: String -> Maybe (Set.Set IMT_org) -> Maybe Lang -> Array String -> String
queryHAL term mIMTOrgs lang years = queryHAL term mIMTOrgs lang years =
"(" <> langPrefix <> "_title_t:\"" <> termEscaped <> "(" <> langPrefix <> "_title_t:" <> termEscaped <>
"\" OR " <> langPrefix <> "_abstract_t:\"" <> termEscaped <> "\")" <> " OR " <> langPrefix <> "_abstract_t:\"" <> termEscaped <> "\")" <>
structQuery <> yearQuery structQuery <> yearQuery
where where
langPrefix = case lang of langPrefix = case lang of
Just FR -> "fr" Just FR -> "fr"
_ -> "en" _ -> "en"
-- TODO: Escape double quotes -- TODO: Escape double quotes
termEscaped = term termEscaped = "\"" <> (replaceAll (Pattern "\"") (Replacement "\\\"") term) <> "\""
structQuery = case mIMTOrgs of structQuery = case mIMTOrgs of
Nothing -> "" Nothing -> ""
Just imtOrgs -> if Set.isEmpty imtOrgs then Just imtOrgs -> if Set.isEmpty imtOrgs then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment