mirror of
https://github.com/penpot/penpot.git
synced 2025-06-05 21:41:38 +02:00
🐛 Fix incorrect numbering files when new team (#5835)
This commit is contained in:
parent
2d1d1fee1c
commit
f8820695cc
3 changed files with 31 additions and 8 deletions
|
@ -384,8 +384,10 @@
|
||||||
f.revn,
|
f.revn,
|
||||||
f.vern,
|
f.vern,
|
||||||
f.is_shared,
|
f.is_shared,
|
||||||
ft.media_id AS thumbnail_id
|
ft.media_id AS thumbnail_id,
|
||||||
|
p.team_id
|
||||||
from file as f
|
from file as f
|
||||||
|
inner join project as p on (p.id = f.project_id)
|
||||||
left join file_thumbnail as ft on (ft.file_id = f.id
|
left join file_thumbnail as ft on (ft.file_id = f.id
|
||||||
and ft.revn = f.revn
|
and ft.revn = f.revn
|
||||||
and ft.deleted_at is null)
|
and ft.deleted_at is null)
|
||||||
|
@ -539,7 +541,8 @@
|
||||||
f.modified_at,
|
f.modified_at,
|
||||||
f.name,
|
f.name,
|
||||||
f.is_shared,
|
f.is_shared,
|
||||||
ft.media_id
|
ft.media_id,
|
||||||
|
p.team_id
|
||||||
from file as f
|
from file as f
|
||||||
inner join project as p on (p.id = f.project_id)
|
inner join project as p on (p.id = f.project_id)
|
||||||
left join file_thumbnail as ft on (ft.file_id = f.id and ft.revn = f.revn and ft.deleted_at is null)
|
left join file_thumbnail as ft on (ft.file_id = f.id and ft.revn = f.revn and ft.deleted_at is null)
|
||||||
|
@ -686,7 +689,8 @@
|
||||||
f.name,
|
f.name,
|
||||||
f.is_shared,
|
f.is_shared,
|
||||||
ft.media_id AS thumbnail_id,
|
ft.media_id AS thumbnail_id,
|
||||||
row_number() over w as row_num
|
row_number() over w as row_num,
|
||||||
|
p.team_id
|
||||||
from file as f
|
from file as f
|
||||||
inner join project as p on (p.id = f.project_id)
|
inner join project as p on (p.id = f.project_id)
|
||||||
left join file_thumbnail as ft on (ft.file_id = f.id
|
left join file_thumbnail as ft on (ft.file_id = f.id
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
[app.main.data.common :as dcm]
|
[app.main.data.common :as dcm]
|
||||||
[app.main.data.event :as ev]
|
[app.main.data.event :as ev]
|
||||||
[app.main.data.fonts :as df]
|
[app.main.data.fonts :as df]
|
||||||
|
[app.main.data.helpers :as dsh]
|
||||||
[app.main.data.modal :as modal]
|
[app.main.data.modal :as modal]
|
||||||
[app.main.data.websocket :as dws]
|
[app.main.data.websocket :as dws]
|
||||||
[app.main.features :as features]
|
[app.main.features :as features]
|
||||||
|
@ -247,10 +248,10 @@
|
||||||
(ptk/reify ::create-project
|
(ptk/reify ::create-project
|
||||||
ptk/WatchEvent
|
ptk/WatchEvent
|
||||||
(watch [_ state _]
|
(watch [_ state _]
|
||||||
(let [projects (get state :projects)
|
(let [team-id (:current-team-id state)
|
||||||
|
projects (dsh/lookup-team-projects state team-id)
|
||||||
unames (cfh/get-used-names projects)
|
unames (cfh/get-used-names projects)
|
||||||
name (cfh/generate-unique-name unames (str (tr "dashboard.new-project-prefix") " 1"))
|
name (cfh/generate-unique-name unames (str (tr "dashboard.new-project-prefix") " 1"))
|
||||||
team-id (:current-team-id state)
|
|
||||||
params {:name name
|
params {:name name
|
||||||
:team-id team-id}
|
:team-id team-id}
|
||||||
{:keys [on-success on-error]
|
{:keys [on-success on-error]
|
||||||
|
@ -478,7 +479,7 @@
|
||||||
:or {on-success identity
|
:or {on-success identity
|
||||||
on-error rx/throw}} (meta params)
|
on-error rx/throw}} (meta params)
|
||||||
|
|
||||||
files (get state :files)
|
files (dsh/lookup-team-files state)
|
||||||
unames (cfh/get-used-names files)
|
unames (cfh/get-used-names files)
|
||||||
name (or name (cfh/generate-unique-name unames (str (tr "dashboard.new-file-prefix") " 1")))
|
name (or name (cfh/generate-unique-name unames (str (tr "dashboard.new-file-prefix") " 1")))
|
||||||
features (-> (features/get-team-enabled-features state)
|
features (-> (features/get-team-enabled-features state)
|
||||||
|
@ -587,10 +588,10 @@
|
||||||
pparams (:path-params route)
|
pparams (:path-params route)
|
||||||
in-project? (contains? pparams :project-id)
|
in-project? (contains? pparams :project-id)
|
||||||
name (if in-project?
|
name (if in-project?
|
||||||
(let [files (get state :files)
|
(let [files (dsh/lookup-team-files state team-id)
|
||||||
unames (cfh/get-used-names files)]
|
unames (cfh/get-used-names files)]
|
||||||
(cfh/generate-unique-name unames (str (tr "dashboard.new-file-prefix") " 1")))
|
(cfh/generate-unique-name unames (str (tr "dashboard.new-file-prefix") " 1")))
|
||||||
(let [projects (get state :projects)
|
(let [projects (dsh/lookup-team-projects state team-id)
|
||||||
unames (cfh/get-used-names projects)]
|
unames (cfh/get-used-names projects)]
|
||||||
(cfh/generate-unique-name unames (str (tr "dashboard.new-project-prefix") " 1"))))
|
(cfh/generate-unique-name unames (str (tr "dashboard.new-project-prefix") " 1"))))
|
||||||
params (if in-project?
|
params (if in-project?
|
||||||
|
|
|
@ -168,3 +168,21 @@
|
||||||
[state]
|
[state]
|
||||||
(when-let [{:keys [x y width height]} (get-in state [:workspace-local :vbox])]
|
(when-let [{:keys [x y width height]} (get-in state [:workspace-local :vbox])]
|
||||||
(gpt/point (+ x (/ width 2)) (+ y (/ height 2)))))
|
(gpt/point (+ x (/ width 2)) (+ y (/ height 2)))))
|
||||||
|
|
||||||
|
(defn lookup-team-files
|
||||||
|
([state]
|
||||||
|
(lookup-team-files state (:current-team-id state)))
|
||||||
|
([state team-id]
|
||||||
|
(->> state
|
||||||
|
:files
|
||||||
|
(filter #(= team-id (:team-id (val %))))
|
||||||
|
(into {}))))
|
||||||
|
|
||||||
|
(defn lookup-team-projects
|
||||||
|
([state]
|
||||||
|
(lookup-team-projects (:current-team-id state)))
|
||||||
|
([state team-id]
|
||||||
|
(->> state
|
||||||
|
:projects
|
||||||
|
(filter #(= team-id (:team-id (val %))))
|
||||||
|
(into {}))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue