public/private logic worfklow

This commit is contained in:
msramalho
2025-02-08 00:40:56 +00:00
parent bdf4099408
commit dcd507c47b
2 changed files with 11 additions and 14 deletions

View File

@@ -45,7 +45,7 @@
displayPermissionValue(groupPermissions?.max_monthly_urls, " URLs") }}</strong></li> displayPermissionValue(groupPermissions?.max_monthly_urls, " URLs") }}</strong></li>
<li>Monthly MBs: <strong>{{ groupUsage.monthly_mbs || 0 }}</strong> out of <strong>{{ <li>Monthly MBs: <strong>{{ groupUsage.monthly_mbs || 0 }}</strong> out of <strong>{{
displayPermissionValue(groupPermissions?.max_monthly_mbs, " MBs") }}</strong></li> displayPermissionValue(groupPermissions?.max_monthly_mbs, " MBs") }}</strong></li>
<li>How long will we store these archives: <strong>{{ <li>We will store archives for: <strong>{{
displayPermissionValue(groupPermissions?.max_archive_lifespan_months, " months") }}</strong> displayPermissionValue(groupPermissions?.max_archive_lifespan_months, " months") }}</strong>
</li> </li>
<li>You <strong>{{ groupPermissions?.manually_trigger_sheet ? "can" : "cannot" }}</strong> manually <li>You <strong>{{ groupPermissions?.manually_trigger_sheet ? "can" : "cannot" }}</strong> manually

View File

@@ -17,12 +17,11 @@
</v-radio-group> </v-radio-group>
</v-col> </v-col>
<v-col cols="12" md="4"> <v-col cols="12" md="4">
<v-select v-show="!public" v-model="group" label="Group" :items="availableGroups" <v-select v-model="group" label="Group" :items="availableGroups" density="compact"></v-select>
density="compact"></v-select>
</v-col> </v-col>
<v-col cols="12" md="4" class="text-right"> <v-col cols="12" md="4" class="text-right">
<v-btn @click="archiveUrl" color="teal" <v-btn @click="archiveUrl" color="teal"
:disabled="!validUrl || loadingArchive || (!public && group == -1) || maxedOutMBs || maxedOutURLs"> :disabled="!validUrl || loadingArchive || (group == 'please select') || maxedOutMBs || maxedOutURLs">
Archive Archive
</v-btn> </v-btn>
</v-col> </v-col>
@@ -48,7 +47,7 @@
this URL. this URL.
</p> </p>
</v-col> </v-col>
<v-col cols="12" sm="12" class="pt-0"> <v-col cols="12" sm="12" class="pt-0" v-if="group != 'please select'">
<span> <span>
Quota and rules<span v-if="group != ''"> for group <code>{{ group }}</code></span>: Quota and rules<span v-if="group != ''"> for group <code>{{ group }}</code></span>:
<ul> <ul>
@@ -67,7 +66,7 @@
<v-chip v-if="maxedOutMBs" label class="ml-2" color="red" density="comfortable" size="small">maxed <v-chip v-if="maxedOutMBs" label class="ml-2" color="red" density="comfortable" size="small">maxed
out</v-chip> out</v-chip>
</li> </li>
<li>How long will we store these archives: <strong>{{ <li>We will store archives for: <strong>{{
displayPermissionValue(groupPermissions?.max_archive_lifespan_months, " months") }}</strong> displayPermissionValue(groupPermissions?.max_archive_lifespan_months, " months") }}</strong>
</li> </li>
</ul> </ul>
@@ -93,8 +92,8 @@ export default {
data() { data() {
return { return {
url: "", url: "",
public: true, public: false,
group: "", group: "please select",
loadingArchive: false, loadingArchive: false,
taskId: null, taskId: null,
@@ -124,11 +123,9 @@ export default {
}, },
availableGroups() { availableGroups() {
const permissions = this.$store.state.user?.permissions || {}; const permissions = this.$store.state.user?.permissions || {};
return [{ title: "only me", value: "" }].concat( return Object.keys(permissions)
Object.keys(permissions) .filter(group => group !== "all" && permissions[group].archive_url)
.filter(group => group !== "all" && permissions[group].archive_url) .map(g => ({ title: g, value: g }));
.map(g => ({ title: g, value: g }))
);
}, },
globalUsage() { globalUsage() {
return this.$store.state.user?.usage || {}; return this.$store.state.user?.usage || {};
@@ -181,7 +178,7 @@ export default {
}, },
body: JSON.stringify({ body: JSON.stringify({
url: this.url, url: this.url,
group: this.public ? "" : this.group, group_id: this.group,
public: this.public, public: this.public,
tags: [], tags: [],
}) })