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
|
||||
|
||||
(some (fn [b] (and (if (contains? (get-in b [:block/schema :type]) "closed value")
|
||||
(= resolved-value (get-in b [:block/schema :value]))
|
||||
(= resolved-value (:block/uuid b)))
|
||||
(some (fn [b] (and (= resolved-value (or (db-pu/property-value-when-closed b)
|
||||
(:block/uuid b)))
|
||||
(not= id (:block/uuid b)))) block-values)
|
||||
(do
|
||||
(notification/show! "Choice already exists" :warning)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns frontend.handler.db-based.property.util
|
||||
"DB-graph only utility fns for properties"
|
||||
(:require [frontend.db :as db]
|
||||
(:require [frontend.db.utils :as db-utils]
|
||||
[frontend.state :as state]
|
||||
[logseq.db.frontend.property :as db-property]
|
||||
[logseq.graph-parser.util :as gp-util]
|
||||
|
@ -9,19 +9,19 @@
|
|||
(defn get-property-name
|
||||
"Get a property's name given its 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
|
||||
"Get a built-in property's uuid given its name"
|
||||
([property-name] (get-built-in-property-uuid (state/get-current-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
|
||||
"Get a user property's uuid given its unsanitized name"
|
||||
([property-name] (get-user-property-uuid (state/get-current-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 #{}))
|
||||
|
||||
|
@ -42,11 +42,17 @@
|
|||
[properties]
|
||||
(->> properties
|
||||
(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)
|
||||
(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)
|
||||
(get-in block [:block/schema :value])))
|
||||
v)])))
|
||||
(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