Skip to content

Commit 1d8e751

Browse files
committed
Implement site movement functionality in admin panel
- Added `adminMoveSite` endpoint to facilitate moving sites between organizations. - Introduced `moveSite` function in the client API to handle site transfer requests. - Enhanced the `Sites` component with a dialog for selecting target organizations and executing the move. - Updated `GeneralTab` in SiteSettings to allow users to move sites to different organizations, including necessary UI elements and state management. - Modified localization files to include new keys related to site movement functionality.
1 parent 82ff861 commit 1d8e751

24 files changed

Lines changed: 584 additions & 39 deletions

File tree

client/messages/cs.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Metrika Web Vitals pro měření výkonu webu.",
685685
"O8lxEI": "Podívej se na dokumentaci Web Vitals od Google pro prahové hodnoty.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "Přehrávání relací je vypnuto",
696696
"Tb0/AL": "Přehrávání relací zvětší analytický skript",
697697
"CRjhOx": "8× více",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Průměr 30d",
802802
"NUXhb8": "Žádná data o předplatném k dispozici",
803803
"sMjIBZ": "Došlo k chybě. Zkus to prosím později.",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "Vyber organizaci",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "ID webu",
805813
"uhu5aG": "Veřejný",
806814
"viXE32": "Soukromý",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Vytvořit organizaci",
12261234
"sFoGzO": "Žádné organizace",
12271235
"IH2vI2": "Načítám organizace...",
1228-
"MPQ0kS": "Vyber organizaci",
12291236
"gb6dSb": "Žádné organizace k dispozici",
12301237
"ZICvpo": "Načítám {items}...",
12311238
"7aQjYn": "Zobrazeno {from} až {to} z {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "Doména používaná pro sledování",
13371344
"asd4Px": "Soukromí a zabezpečení",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "Smazat web",
13391351
"v5ykbS": "Jsi si opravdu jistý?",
13401352
"ckBJVF": "Tuto akci nelze vrátit zpět. Tím trvale smažete web \"{siteName}\" a veškerá jeho analytická data.",

client/messages/de.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Web Vitals-Metrik zur Messung der Website-Leistung.",
685685
"O8lxEI": "Prüfen Sie die Web Vitals-Dokumentation von Google für Schwellenwerte.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "Session Replay ist deaktiviert",
696696
"Tb0/AL": "Session Replay macht das Analytics-Skript",
697697
"CRjhOx": "8x größer",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Durchschn. 30d",
802802
"NUXhb8": "Keine Abonnementdaten verfügbar",
803803
"sMjIBZ": "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "Organisation auswählen",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "Website-ID",
805813
"uhu5aG": "Öffentlich",
806814
"viXE32": "Privat",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Organisation erstellen",
12261234
"sFoGzO": "Keine Organisationen",
12271235
"IH2vI2": "Organisationen werden geladen...",
1228-
"MPQ0kS": "Organisation auswählen",
12291236
"gb6dSb": "Keine Organisationen verfügbar",
12301237
"ZICvpo": "{items} werden geladen...",
12311238
"7aQjYn": "Zeige {from} bis {to} von {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "Die für das Tracking verwendete Domain",
13371344
"asd4Px": "Datenschutz & Sicherheit",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "Website löschen",
13391351
"v5ykbS": "Sind Sie absolut sicher?",
13401352
"ckBJVF": "Diese Aktion kann nicht rückgängig gemacht werden. Dadurch wird die Website \"{siteName}\" und alle zugehörigen Analysedaten dauerhaft gelöscht.",

client/messages/en.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Web Vitals metric for measuring website performance.",
685685
"O8lxEI": "Check Google's Web Vitals documentation for thresholds.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "What do you want to query?",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "Session Replay is Disabled",
696696
"Tb0/AL": "Session replay will make the analytics script",
697697
"CRjhOx": "8x larger",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Avg 30d",
802802
"NUXhb8": "No subscription data available",
803803
"sMjIBZ": "An error occurred. Please try again later.",
804+
"up5jqD": "Site moved successfully",
805+
"/0tjRq": "Failed to move site",
806+
"UMbBzo": "Move",
807+
"kscC4K": "Move Site",
808+
"6Lp70G": "Move \"{siteName}\" to another organization. Team and restricted member access for this site will be reset.",
809+
"MPQ0kS": "Select an organization",
810+
"ZrO1i3": "Moving...",
811+
"RYG5QH": "Move site",
804812
"Qzul6+": "Site ID",
805813
"uhu5aG": "Public",
806814
"viXE32": "Private",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Create an Organization",
12261234
"sFoGzO": "No organizations",
12271235
"IH2vI2": "Loading organizations...",
1228-
"MPQ0kS": "Select an organization",
12291236
"gb6dSb": "No organizations available",
12301237
"ZICvpo": "Loading {items}...",
12311238
"7aQjYn": "Showing {from} to {to} of {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "The bundle or package identifier used for tracking",
13361343
"I7l2wK": "The domain used for tracking",
13371344
"asd4Px": "Privacy & Security",
1345+
"xk+UaC": "Move to Organization",
1346+
"7GCMTs": "Transfer this site to another organization you administer. Team and restricted member access for this site will be reset.",
1347+
"gueAQ1": "Move this site?",
1348+
"oSPhwu": "This will move \"{siteName}\" to {orgName}. Team and restricted member access for this site will be reset, and members of the current organization may lose access.",
1349+
"54Ob9x": "Yes, move site",
13381350
"gI1OXG": "Delete Site",
13391351
"v5ykbS": "Are you absolutely sure?",
13401352
"ckBJVF": "This action cannot be undone. This will permanently delete the site \"{siteName}\" and all of its analytics data.",

client/messages/es.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Métrica de Web Vitals para medir el rendimiento del sitio web.",
685685
"O8lxEI": "Consulta la documentación de Web Vitals de Google para los umbrales.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "La repetición de sesión está desactivada",
696696
"Tb0/AL": "La repetición de sesión hará que el script de analíticas sea",
697697
"CRjhOx": "8x más grande",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Promedio 30d",
802802
"NUXhb8": "No hay datos de suscripción disponibles",
803803
"sMjIBZ": "Ocurrió un error. Inténtalo de nuevo más tarde.",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "Selecciona una organización",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "ID del sitio",
805813
"uhu5aG": "Público",
806814
"viXE32": "Privado",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Crear una organización",
12261234
"sFoGzO": "No hay organizaciones",
12271235
"IH2vI2": "Cargando organizaciones...",
1228-
"MPQ0kS": "Selecciona una organización",
12291236
"gb6dSb": "No hay organizaciones disponibles",
12301237
"ZICvpo": "Cargando {items}...",
12311238
"7aQjYn": "Mostrando {from} a {to} de {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "El dominio utilizado para el seguimiento",
13371344
"asd4Px": "Privacidad y Seguridad",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "Eliminar Sitio",
13391351
"v5ykbS": "¿Estás completamente seguro?",
13401352
"ckBJVF": "Esta acción no se puede deshacer. Esto eliminará permanentemente el sitio \"{siteName}\" y todos sus datos de análisis.",

client/messages/fr.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Métrique Web Vitals pour mesurer la performance du site web.",
685685
"O8lxEI": "Consultez la documentation Web Vitals de Google pour les seuils.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "Le Session Replay est désactivé",
696696
"Tb0/AL": "Le Session Replay rendra le script analytique",
697697
"CRjhOx": "8x plus grand",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Moy. 30j",
802802
"NUXhb8": "Aucune donnée d'abonnement disponible",
803803
"sMjIBZ": "Une erreur est survenue. Veuillez réessayer plus tard.",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "Sélectionner une organisation",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "ID du site",
805813
"uhu5aG": "Public",
806814
"viXE32": "Privé",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Créer une organisation",
12261234
"sFoGzO": "Aucune organisation",
12271235
"IH2vI2": "Chargement des organisations...",
1228-
"MPQ0kS": "Sélectionner une organisation",
12291236
"gb6dSb": "Aucune organisation disponible",
12301237
"ZICvpo": "Chargement de {items}...",
12311238
"7aQjYn": "Affichage de {from} à {to} sur {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "Le domaine utilisé pour le suivi",
13371344
"asd4Px": "Confidentialité et sécurité",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "Supprimer le site",
13391351
"v5ykbS": "Êtes-vous absolument sûr ?",
13401352
"ckBJVF": "Cette action est irréversible. Le site \"{siteName}\" et toutes ses données analytiques seront définitivement supprimés.",

client/messages/it.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "Web Vital",
684684
"/Vcvr8": "Metrica Web Vitals per misurare le prestazioni del sito web.",
685685
"O8lxEI": "Controlla la documentazione Web Vitals di Google per le soglie.",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "La riproduzione della sessione è Disabilitata",
696696
"Tb0/AL": "La riproduzione della sessione renderà lo script di analisi",
697697
"CRjhOx": "8x più grande",
@@ -801,6 +801,14 @@
801801
"G7giEo": "Media 30g",
802802
"NUXhb8": "Nessun dato di abbonamento disponibile",
803803
"sMjIBZ": "Si è verificato un errore. Riprova più tardi.",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "Seleziona un'organizzazione",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "ID Sito",
805813
"uhu5aG": "Pubblico",
806814
"viXE32": "Privato",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "Crea un'Organizzazione",
12261234
"sFoGzO": "Nessuna organizzazione",
12271235
"IH2vI2": "Caricamento organizzazioni...",
1228-
"MPQ0kS": "Seleziona un'organizzazione",
12291236
"gb6dSb": "Nessuna organizzazione disponibile",
12301237
"ZICvpo": "Caricamento {items}...",
12311238
"7aQjYn": "Mostrando da {from} a {to} di {total} {items}",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "Il dominio utilizzato per il tracciamento",
13371344
"asd4Px": "Privacy & Sicurezza",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "Elimina Sito",
13391351
"v5ykbS": "Sei assolutamente sicuro?",
13401352
"ckBJVF": "Questa azione non può essere annullata. Il sito \"{siteName}\" e tutti i suoi dati analitici verranno eliminati definitivamente.",

client/messages/ja.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,15 @@
683683
"4Urwt8": "ウェブ バイタル",
684684
"/Vcvr8": "Webサイトパフォーマンス測定用のWeb Vitals指標。",
685685
"O8lxEI": "しきい値についてはGoogleのWeb Vitalsドキュメントをご確認ください。",
686-
"k1sXXZ": "Failed to generate query",
687-
"SyINSq": "Failed to run query",
688686
"Vn7Wtu": "",
689687
"Pc+tM3": "Generate",
690688
"yaMHMB": "Results",
691689
"u3e151": "{count} rows",
692690
"0eYAOP": "Not run",
693691
"uDXLhQ": "No rows returned",
694692
"ICdFJO": "Run a query",
693+
"k1sXXZ": "Failed to generate query",
694+
"SyINSq": "Failed to run query",
695695
"4h8Ert": "セッションリプレイは無効です",
696696
"Tb0/AL": "セッションリプレイを有効にすると、アナリティクススクリプトが",
697697
"CRjhOx": "8倍大きく",
@@ -801,6 +801,14 @@
801801
"G7giEo": "平均30日間",
802802
"NUXhb8": "サブスクリプションデータがありません",
803803
"sMjIBZ": "エラーが発生しました。後でもう一度お試しください。",
804+
"up5jqD": "",
805+
"/0tjRq": "",
806+
"UMbBzo": "",
807+
"kscC4K": "",
808+
"6Lp70G": "",
809+
"MPQ0kS": "組織を選択",
810+
"ZrO1i3": "",
811+
"RYG5QH": "",
804812
"Qzul6+": "サイトID",
805813
"uhu5aG": "公開",
806814
"viXE32": "非公開",
@@ -1225,7 +1233,6 @@
12251233
"YgZGCW": "組織を作成",
12261234
"sFoGzO": "組織なし",
12271235
"IH2vI2": "組織を読み込み中...",
1228-
"MPQ0kS": "組織を選択",
12291236
"gb6dSb": "利用可能な組織がありません",
12301237
"ZICvpo": "{items}を読み込み中...",
12311238
"7aQjYn": "{total}{items}中{from}〜{to}を表示",
@@ -1335,6 +1342,11 @@
13351342
"zoRFJV": "",
13361343
"I7l2wK": "トラッキングに使用するドメイン",
13371344
"asd4Px": "プライバシーとセキュリティ",
1345+
"xk+UaC": "",
1346+
"7GCMTs": "",
1347+
"gueAQ1": "",
1348+
"oSPhwu": "",
1349+
"54Ob9x": "",
13381350
"gI1OXG": "サイトを削除",
13391351
"v5ykbS": "本当によろしいですか?",
13401352
"ckBJVF": "この操作は元に戻せません。サイト「{siteName}」とすべての分析データが完全に削除されます。",

0 commit comments

Comments
 (0)