mirror of https://github.com/logseq/logseq
fix: duplicate closed value validation
c65958f5ec
didn't fix it correctly
for the "closed value" values
pull/10544/head
parent
6749577105
commit
c69c22c716
|
@ -645,9 +645,8 @@
|
||||||
(nil? resolved-value)
|
(nil? resolved-value)
|
||||||
nil
|
nil
|
||||||
|
|
||||||
(some (fn [b] (and (if (contains? (get-in b [:block/schema :type]) "closed value")
|
(some (fn [b] (and (= resolved-value (or (db-pu/property-value-when-closed b)
|
||||||
(= resolved-value (get-in b [:block/schema :value]))
|
(:block/uuid b)))
|
||||||
(= resolved-value (:block/uuid b)))
|
|
||||||
(not= id (:block/uuid b)))) block-values)
|
(not= id (:block/uuid b)))) block-values)
|
||||||
(do
|
(do
|
||||||
(notification/show! "Choice already exists" :warning)
|
(notification/show! "Choice already exists" :warning)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
(ns frontend.handler.db-based.property.util
|
(ns frontend.handler.db-based.property.util
|
||||||
"DB-graph only utility fns for properties"
|
"DB-graph only utility fns for properties"
|
||||||
(:require [frontend.db :as db]
|
(:require [frontend.db.utils :as db-utils]
|
||||||
[frontend.state :as state]
|
[frontend.state :as state]
|
||||||
[logseq.db.frontend.property :as db-property]
|
[logseq.db.frontend.property :as db-property]
|
||||||
[logseq.graph-parser.util :as gp-util]
|
[logseq.graph-parser.util :as gp-util]
|
||||||
|
@ -9,19 +9,19 @@
|
||||||
(defn get-property-name
|
(defn get-property-name
|
||||||
"Get a property's name given its uuid"
|
"Get a property's name given its uuid"
|
||||||
[uuid]
|
[uuid]
|
||||||
(:block/original-name (db/entity [:block/uuid uuid])))
|
(:block/original-name (db-utils/entity [:block/uuid uuid])))
|
||||||
|
|
||||||
(defn get-built-in-property-uuid
|
(defn get-built-in-property-uuid
|
||||||
"Get a built-in property's uuid given its name"
|
"Get a built-in property's uuid given its name"
|
||||||
([property-name] (get-built-in-property-uuid (state/get-current-repo) property-name))
|
([property-name] (get-built-in-property-uuid (state/get-current-repo) property-name))
|
||||||
([repo property-name]
|
([repo property-name]
|
||||||
(:block/uuid (db/entity repo [:block/name (name property-name)]))))
|
(:block/uuid (db-utils/entity repo [:block/name (name property-name)]))))
|
||||||
|
|
||||||
(defn get-user-property-uuid
|
(defn get-user-property-uuid
|
||||||
"Get a user property's uuid given its unsanitized name"
|
"Get a user property's uuid given its unsanitized name"
|
||||||
([property-name] (get-user-property-uuid (state/get-current-repo) property-name))
|
([property-name] (get-user-property-uuid (state/get-current-repo) property-name))
|
||||||
([repo property-name]
|
([repo property-name]
|
||||||
(:block/uuid (db/entity repo [:block/name (gp-util/page-name-sanity-lc (name property-name))]))))
|
(:block/uuid (db-utils/entity repo [:block/name (gp-util/page-name-sanity-lc (name property-name))]))))
|
||||||
|
|
||||||
(defonce *hidden-built-in-properties (atom #{}))
|
(defonce *hidden-built-in-properties (atom #{}))
|
||||||
|
|
||||||
|
@ -42,11 +42,17 @@
|
||||||
[properties]
|
[properties]
|
||||||
(->> properties
|
(->> properties
|
||||||
(map (fn [[k v]]
|
(map (fn [[k v]]
|
||||||
(let [prop-ent (db/entity [:block/uuid k])]
|
(let [prop-ent (db-utils/entity [:block/uuid k])]
|
||||||
[(-> prop-ent :block/name keyword)
|
[(-> prop-ent :block/name keyword)
|
||||||
(if (seq (get-in prop-ent [:block/schema :values])) ; closed values
|
(if (seq (get-in prop-ent [:block/schema :values])) ; closed values
|
||||||
(when-let [block (db/entity [:block/uuid v])]
|
(when-let [block (db-utils/entity [:block/uuid v])]
|
||||||
(or (:block/original-name block)
|
(or (:block/original-name block)
|
||||||
(get-in block [:block/schema :value])))
|
(get-in block [:block/schema :value])))
|
||||||
v)])))
|
v)])))
|
||||||
(into {})))
|
(into {})))
|
||||||
|
|
||||||
|
(defn property-value-when-closed
|
||||||
|
"Returns property value if the given entity is type 'closed value' or nil"
|
||||||
|
[ent]
|
||||||
|
(when (contains? (:block/type ent) "closed value")
|
||||||
|
(get-in ent [:block/schema :value])))
|
Loading…
Reference in New Issue