License Info
diff --git a/frontend/src/pages/login/auto.vue b/frontend/src/pages/login/auto.vue
index 197150bc1..7c4db112d 100644
--- a/frontend/src/pages/login/auto.vue
+++ b/frontend/src/pages/login/auto.vue
@@ -19,6 +19,11 @@
+
diff --git a/frontend/src/pages/login/index.vue b/frontend/src/pages/login/index.vue
index 009ada8c9..6814f798f 100644
--- a/frontend/src/pages/login/index.vue
+++ b/frontend/src/pages/login/index.vue
@@ -2,7 +2,14 @@
-
+
+
+
+
+
diff --git a/frontend/src/pages/login/local.vue b/frontend/src/pages/login/local.vue
index 8ef9d49df..00aafd40c 100644
--- a/frontend/src/pages/login/local.vue
+++ b/frontend/src/pages/login/local.vue
@@ -14,6 +14,11 @@
+
+
diff --git a/frontend/src/pages/login/reauth.vue b/frontend/src/pages/login/reauth.vue
index f3fec909d..e9944c2cf 100644
--- a/frontend/src/pages/login/reauth.vue
+++ b/frontend/src/pages/login/reauth.vue
@@ -5,6 +5,10 @@
Re-Authenticate
+
+
+
+
@@ -37,6 +48,7 @@ definePageMeta({
});
const route = useRoute();
+const router = useRouter();
const auth = useAuth();
const apiSettings = useApiSettings();
@@ -64,4 +76,9 @@ useLazyAsyncData(async () => {
}
}
});
+
+function cancelReAuth() {
+ auth.store.clearAuthRedirect();
+ router.back();
+}
diff --git a/frontend/src/pages/projects/[projectId]/archive.vue b/frontend/src/pages/projects/[projectId]/archive.vue
index 9aa175514..02ab66b5a 100644
--- a/frontend/src/pages/projects/[projectId]/archive.vue
+++ b/frontend/src/pages/projects/[projectId]/archive.vue
@@ -1,5 +1,5 @@
-
+
Archive Project
Name: {{ project.name }}
diff --git a/frontend/src/pages/projects/[projectId]/index.vue b/frontend/src/pages/projects/[projectId]/index.vue
index d0a10e1dc..201c2e9d3 100644
--- a/frontend/src/pages/projects/[projectId]/index.vue
+++ b/frontend/src/pages/projects/[projectId]/index.vue
@@ -1,5 +1,5 @@
-
+
Project Settings
@@ -159,7 +159,7 @@ const { toolbarAttrs, readonly, editMode } = useLockEdit({
hasEditPermissions: computed(() => {
if (project.value?.readonly) {
return false;
- } else if (auth.permissions.update_project_settings) {
+ } else if (!auth.permissions.update_project_settings) {
return false;
}
return true;
diff --git a/frontend/src/pages/projects/archived/[archiveId].vue b/frontend/src/pages/projects/archived/[archiveId].vue
index 07dd30f33..cfd1bfe17 100644
--- a/frontend/src/pages/projects/archived/[archiveId].vue
+++ b/frontend/src/pages/projects/archived/[archiveId].vue
@@ -1,5 +1,5 @@
-
+
{{ archive.name }}
diff --git a/frontend/src/pages/projects/archived/index.vue b/frontend/src/pages/projects/archived/index.vue
index 381fc4e14..44cabfab5 100644
--- a/frontend/src/pages/projects/archived/index.vue
+++ b/frontend/src/pages/projects/archived/index.vue
@@ -1,51 +1,47 @@
-
-
-
-
-
-
+
+ Projects
+
+
+
+
-
-
- Archived Projects
-
-
- {{ item.name }}
-
-
-
-
-
-
-
- {{ item.threshold }} / {{ item.key_parts.length }}
-
-
- {{ item.threshold }} of {{ item.key_parts.length }} users are required to restore this project
-
-
-
-
-
-
- {{ keypart.user.username }}
-
-
- {{ keypart.user.username }} already restored their part
- {{ keypart.user.username }}'s part is still encrypted
-
-
-
-
-
-
-
-
-
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ {{ item.threshold }} / {{ item.key_parts.length }}
+
+
+ {{ item.threshold }} of {{ item.key_parts.length }} users are required to restore this project
+
+
+
+
+
+
+ {{ keypart.user.username }}
+
+
+ {{ keypart.user.username }} already restored their part
+ {{ keypart.user.username }}'s part is still encrypted
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/projects/finished.vue b/frontend/src/pages/projects/finished.vue
new file mode 100644
index 000000000..a4bd41f0d
--- /dev/null
+++ b/frontend/src/pages/projects/finished.vue
@@ -0,0 +1,28 @@
+
+
+ Projects
+
+
+
+
+ Archived Projects
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/projects/index.vue b/frontend/src/pages/projects/index.vue
index 34af0ac5a..00f571a53 100644
--- a/frontend/src/pages/projects/index.vue
+++ b/frontend/src/pages/projects/index.vue
@@ -1,64 +1,22 @@
-
-
-
-
-
- Archived Projects
-
-
+
+ Projects
+
+
+
-
-
- Projects
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.name }}
-
-
-
-
- Finished
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Archived Projects
+
+
+
+
+
+
@@ -71,48 +29,10 @@ useHeadExtended({
breadcrumbs: () => projectListBreadcrumbs(),
});
-const route = useRoute();
-const router = useRouter();
const auth = useAuth();
+const route = useRoute();
const apiSettings = useApiSettings();
-const listViewRef = ref();
-
-enum ProjectStateFilter {
- ALL = 'all',
- ACTIVE = 'active',
- FINISHED = 'finished',
-};
-
-const projectStateFilter = computed({
- get: () => route.query.state as any || ProjectStateFilter.ACTIVE,
- set: (val) => {
- router.replace({ query: { ...route.query, state: val } });
- }
-});
-const apiUrl = computed(() => {
- let apiUrl = "/api/v1/pentestprojects/";
- if (projectStateFilter.value === ProjectStateFilter.ACTIVE) {
- apiUrl += '?readonly=false';
- } else if (projectStateFilter.value === ProjectStateFilter.FINISHED) {
- apiUrl += '?readonly=true';
- }
- return apiUrl
-})
-
-const canCreate = computed(() => {
- if (auth.user.value!.is_guest && !apiSettings.settings!.guest_permissions.create_projects) {
- return false;
- }
- return true;
-})
-const canImport = computed(() => {
- if (auth.user.value!.is_guest && !apiSettings.settings!.guest_permissions.import_projects) {
- return false;
- }
- return true;
-});
-
const importBtn = ref();
async function performImport(file: File) {
const projects = await uploadFileHelper('/api/v1/pentestprojects/import/', file);
diff --git a/frontend/src/pages/projects/new.vue b/frontend/src/pages/projects/new.vue
index 74618b90a..4386dce79 100644
--- a/frontend/src/pages/projects/new.vue
+++ b/frontend/src/pages/projects/new.vue
@@ -1,5 +1,5 @@
-
+
Create new Project
diff --git a/frontend/src/pages/templates/index.vue b/frontend/src/pages/templates/index.vue
index fa68cbf9b..61548db43 100644
--- a/frontend/src/pages/templates/index.vue
+++ b/frontend/src/pages/templates/index.vue
@@ -1,53 +1,51 @@
-
-
- Finding Templates
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ Finding Templates
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/users/index.vue b/frontend/src/pages/users/index.vue
index 9312300e7..352b4447f 100644
--- a/frontend/src/pages/users/index.vue
+++ b/frontend/src/pages/users/index.vue
@@ -1,51 +1,49 @@
-
-
- Users
-
-
-
-
-
-
-
-
- {{ user.username }}
-
- ({{ user.name }})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MFA
-
-
-
- Last Login: {{ (user.last_login || 'never').split('T')[0] }}
-
-
- Inactive
-
-
-
-
-
-
+
+ Users
+
+
+
+
+
+
+
+
+ {{ user.username }}
+
+ ({{ user.name }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MFA
+
+
+
+ Last Login: {{ (user.last_login || 'never').split('T')[0] }}
+
+
+ Inactive
+
+
+
+
+