- A project can only have one 'Owner'. Use the 'Transfer ownership' button below if you no - longer wish to be owner. -
- + Permissions @@ -225,7 +221,7 @@ Save changesFrom 5924154a62c4cb4abcf7bbfb67fadc4b0aabc86e Mon Sep 17 00:00:00 2001
From: Geometrically <18202329+Geometrically@users.noreply.github.com>
Date: Wed, 10 Jan 2024 15:13:37 -0500
Subject: [PATCH] Fix org ownership (#1553)
---
assets/images/utils/crown.svg | 1 +
pages/[type]/[id].vue | 26 +++++---
pages/[type]/[id]/settings/members.vue | 58 +++++++++--------
pages/organization/[id].vue | 18 +++++-
pages/organization/[id]/settings/members.vue | 66 ++++++++++----------
5 files changed, 98 insertions(+), 71 deletions(-)
create mode 100644 assets/images/utils/crown.svg
diff --git a/assets/images/utils/crown.svg b/assets/images/utils/crown.svg
new file mode 100644
index 000000000..7772c5b55
--- /dev/null
+++ b/assets/images/utils/crown.svg
@@ -0,0 +1 @@
+
diff --git a/pages/[type]/[id].vue b/pages/[type]/[id].vue
index a8afcad88..184d6dac1 100644
--- a/pages/[type]/[id].vue
+++ b/pages/[type]/[id].vue
@@ -637,7 +637,9 @@
>
{{ organization.name }}
++ {{ organization.name }} +
{{ member.name }}
+
+ {{ member.name }}
{{ member.role }}
@@ -766,6 +770,7 @@ import { Checkbox, ChartIcon, } from 'omorphia' +import CrownIcon from '~/assets/images/utils/crown.svg' import CalendarIcon from '~/assets/images/utils/calendar.svg' import ClearIcon from '~/assets/images/utils/clear.svg' import DownloadIcon from '~/assets/images/utils/download.svg' @@ -878,7 +883,7 @@ try { }), useAsyncData( `project/${route.params.id}/members`, - () => useBaseFetch(`project/${route.params.id}/members`), + () => useBaseFetch(`project/${route.params.id}/members`, { apiVersion: 3 }), { transform: (members) => { members.forEach((it, index) => { @@ -939,8 +944,8 @@ if (project.value.project_type !== route.params.type || route.params.id !== proj // The rest of the members should be sorted by role, then by name const members = computed(() => { const acceptedMembers = allMembers.value.filter((x) => x.accepted) - const owner = acceptedMembers.find((x) => x.role === 'Owner') - const rest = acceptedMembers.filter((x) => x.role !== 'Owner') || [] + const owner = acceptedMembers.find((x) => x.is_owner) + const rest = acceptedMembers.filter((x) => !x.is_owner) || [] rest.sort((a, b) => { if (a.role === b.role) { @@ -1017,9 +1022,7 @@ const description = computed( () => `${project.value.description} - Download the Minecraft ${projectTypeDisplay.value} ${ project.value.title - } by ${ - members.value.find((x) => x.role === 'Owner')?.user?.username || 'a Creator' - } on Modrinth` + } by ${members.value.find((x) => x.is_owner)?.user?.username || 'a Creator'} on Modrinth` ) if (!route.name.startsWith('type-id-settings')) { @@ -1409,6 +1412,13 @@ const collapsedChecklist = ref(false) .name { font-weight: bold; + display: flex; + align-items: center; + gap: 0.25rem; + + svg { + color: var(--color-orange); + } } p { diff --git a/pages/[type]/[id]/settings/members.vue b/pages/[type]/[id]/settings/members.vue index 7112ca8b3..24850da8e 100644 --- a/pages/[type]/[id]/settings/members.vue +++ b/pages/[type]/[id]/settings/members.vue @@ -47,7 +47,7 @@- A project can only have one 'Owner'. Use the 'Transfer ownership' button below if you no - longer wish to be owner. -
- + Permissions @@ -225,7 +221,7 @@ Save changes- A organization can only have one 'Owner'. Use the 'Transfer ownership' button below if you - no longer wish to be owner. -
- + Project permissions @@ -157,7 +153,7 @@ />