- Create a new Runner
+ {$_('create-a-new-runner')}
- Please provide the required information to add a new runner.
+ {$_('please-provide-the-required-information-to-add-a-new-runner')}
@@ -215,13 +223,20 @@
Team
+ class="block text-sm font-medium text-gray-700">{$_('team')}
- {#each groups as g}
- {g.name}
+ {#each teams as team}
+
+ {team.parentGroup.name}
+ >
+ {team.name}
+
+ {/each}
+ {#each orgs as org}
+ {org.name}
{/each}
@@ -243,8 +258,7 @@
{#if !isPhoneValidOrEmpty}
- the provided phone number is invalid. please enter a
- valid international number...
+ {$_('the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number')}
{/if}
diff --git a/src/components/ImportRunnerModal.svelte b/src/components/ImportRunnerModal.svelte
new file mode 100644
index 00000000..6fa5f316
--- /dev/null
+++ b/src/components/ImportRunnerModal.svelte
@@ -0,0 +1,286 @@
+
+
+{#if import_modal_open}
+
{
+ import_modal_open = false;
+ }}>
+
+
+
+
+
+
+
+
+
+ {$_('runner-import')}
+
+
+
+
+ {#if json_output.length === 0}
+
+
+ {$_('please-provide-the-required-csv-xlsx-file')}
+
+
+
+
+
+ {/if}
+ {#if json_output.length > 0}
+ {#if opened_from === 'OrgOverview'}
+
{$_('import__target-organization')}
+
+ {#each passed_orgs as o}
+ {o.name}
+ {/each}
+
+
{$_('bitte-bestaetige-diese-laeufer-fuer-den-import')}
+ {/if}
+ {#if opened_from === 'OrgDetail'}
+
+ {$_('runnerimport_verify_runners_org', {
+ values: { org_name: passed_org.name },
+ })}
+
+ {/if}
+
+
+
+
+
+
+
+ {$_('csv_import__firstname')}
+
+
+ {$_('csv_import__middlename')}
+
+
+ {$_('csv_import__lastname')}
+
+ {#if opened_from !== 'TeamDetail'}
+
+ {$_('csv_import__team')}
+
+ {/if}
+
+
+
+ {#each json_output as runner}
+ {#if Object.values(runner)
+ .toString()
+ .toLowerCase()
+ .includes(searchvalue)}
+
+
+ {runner[`${$_('csv_import__firstname')}`]}
+
+
+ {runner[`${$_('csv_import__middlename')}`] || ''}
+
+
+ {runner[`${$_('csv_import__lastname')}`]}
+
+ {#if opened_from !== 'TeamDetail'}
+
+ {runner[`${$_('csv_import__team')}`] || runner[`${$_('csv_import__class')}`] || '---'}
+
+ {/if}
+
+ {/if}
+ {/each}
+
+
+
+
+ {$_('import-runners')}
+
+
{
+ json_output = [];
+ cancelModal();
+ }}
+ type="button"
+ class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">
+ {$_('cancel')}
+
+
+ {/if}
+
+
+
+
+
+{/if}
diff --git a/src/components/OrgDetail.svelte b/src/components/OrgDetail.svelte
index 0e9c7890..91db9aff 100644
--- a/src/components/OrgDetail.svelte
+++ b/src/components/OrgDetail.svelte
@@ -4,6 +4,7 @@
import Toastify from "toastify-js";
import store from "../store";
import ConfirmOrgDeletion from "./ConfirmOrgDeletion.svelte";
+ import ImportRunnerModal from "./ImportRunnerModal.svelte";
import PromiseError from "./PromiseError.svelte";
$: delete_triggered = false;
$: save_enabled = !data_changed;
@@ -64,14 +65,33 @@
} else {
}
}
+ export let import_modal_open = false;
+
{
+ import_modal_open = false;
+ }}
+ passed_orgs={[]}
+ passed_org={orgdata}
+ opened_from="OrgDetail"
+ bind:import_modal_open />
{#if data_loaded}