mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-08 07:38:26 -05:00
model delete page done
This commit is contained in:
@@ -805,14 +805,7 @@ class Food(ExportModelOperationsMixin('food'), TreeModel, PermissionModelMixin):
|
||||
self.delete()
|
||||
return target
|
||||
|
||||
def delete(self):
|
||||
if self.ingredient_set.all().exclude(step=None).count() > 0:
|
||||
raise ProtectedError(self.name + _(" is part of a recipe step and cannot be deleted"), self.ingredient_set.all().exclude(step=None))
|
||||
else:
|
||||
return super().delete()
|
||||
|
||||
# MP_Tree move uses raw SQL to execute move, override behavior to force a save triggering post_save signal
|
||||
|
||||
def move(self, *args, **kwargs):
|
||||
super().move(*args, **kwargs)
|
||||
# treebeard bypasses ORM, need to explicity save to trigger post save signals retrieve the object again to avoid writing previous state back to disk
|
||||
|
||||
@@ -552,7 +552,9 @@ class DeleteRelationMixing:
|
||||
collector.collect([obj])
|
||||
return collector
|
||||
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True))
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True), parameters=[
|
||||
OpenApiParameter(name='cache', description='If results can be cached or not', type=bool, default=True),
|
||||
])
|
||||
@decorators.action(detail=True, methods=['GET'], serializer_class=GenericModelReferenceSerializer)
|
||||
@paginate
|
||||
def protecting(self, request, pk):
|
||||
@@ -562,11 +564,11 @@ class DeleteRelationMixing:
|
||||
obj = self.queryset.filter(pk=pk, space=request.space).first()
|
||||
if obj:
|
||||
CACHE_KEY = f'DELETE_COLLECTOR_{request.space.pk}_PROTECTING_{obj.__class__.__name__}_{obj.pk}'
|
||||
if c := caches['default'].get(CACHE_KEY, None):
|
||||
return c
|
||||
cache = self.request.query_params.get('cache', "true") == "true"
|
||||
if caches['default'].has_key(CACHE_KEY) and cache:
|
||||
return caches['default'].get(CACHE_KEY)
|
||||
|
||||
collector = self.collect(obj)
|
||||
|
||||
protected_objects = []
|
||||
for o in collector.protected:
|
||||
protected_objects.append({
|
||||
@@ -580,7 +582,9 @@ class DeleteRelationMixing:
|
||||
else:
|
||||
return []
|
||||
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True))
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True), parameters=[
|
||||
OpenApiParameter(name='cache', description='If results can be cached or not', type=bool, default=True),
|
||||
])
|
||||
@decorators.action(detail=True, methods=['GET'], serializer_class=GenericModelReferenceSerializer)
|
||||
@paginate
|
||||
def cascading(self, request, pk):
|
||||
@@ -590,14 +594,16 @@ class DeleteRelationMixing:
|
||||
obj = self.queryset.filter(pk=pk, space=request.space).first()
|
||||
if obj:
|
||||
CACHE_KEY = f'DELETE_COLLECTOR_{request.space.pk}_CASCADING_{obj.__class__.__name__}_{obj.pk}'
|
||||
if c := caches['default'].get(CACHE_KEY, None):
|
||||
return c
|
||||
cache = self.request.query_params.get('cache', "true") == "true"
|
||||
if caches['default'].has_key(CACHE_KEY) and cache:
|
||||
return caches['default'].get(CACHE_KEY)
|
||||
|
||||
collector = self.collect(obj)
|
||||
|
||||
cascading_objects = []
|
||||
for model, objs in collector.model_objs.items():
|
||||
for o in objs:
|
||||
if o.pk != pk and o.__class__.__name__ != obj.__class__.__name__:
|
||||
cascading_objects.append({
|
||||
'id': o.pk,
|
||||
'model': o.__class__.__name__,
|
||||
@@ -608,7 +614,9 @@ class DeleteRelationMixing:
|
||||
else:
|
||||
return []
|
||||
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True))
|
||||
@extend_schema(responses=GenericModelReferenceSerializer(many=True), parameters=[
|
||||
OpenApiParameter(name='cache', description='If results can be cached or not', type=bool, default=True),
|
||||
])
|
||||
@decorators.action(detail=True, methods=['GET'], serializer_class=GenericModelReferenceSerializer)
|
||||
@paginate
|
||||
def nulling(self, request, pk):
|
||||
@@ -618,8 +626,9 @@ class DeleteRelationMixing:
|
||||
obj = self.queryset.filter(pk=pk, space=request.space).first()
|
||||
if obj:
|
||||
CACHE_KEY = f'DELETE_COLLECTOR_{request.space.pk}_NULLING_{obj.__class__.__name__}_{obj.pk}'
|
||||
if c := caches['default'].get(CACHE_KEY, None):
|
||||
return c
|
||||
cache = self.request.query_params.get('cache', "true") == "true"
|
||||
if caches['default'].has_key(CACHE_KEY) and cache:
|
||||
return caches['default'].get(CACHE_KEY)
|
||||
|
||||
collector = self.collect(obj)
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-row>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
Coming Soon
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-text-field :label="$t('Email')" v-model="editingObj.email"></v-text-field>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-text-field v-model="editingObj.name" :label="$t('Name')"></v-text-field>
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
</slot>
|
||||
<v-divider></v-divider>
|
||||
<v-card-actions>
|
||||
<v-btn color="delete" prepend-icon="$delete" v-if="isUpdate && !modelClass.model.disableDelete" :disabled="loading">{{ $t('Delete') }}
|
||||
<v-btn color="delete" prepend-icon="$delete" v-if="isUpdate && !modelClass.model.disableDelete && !modelClass.model.isAdvancedDelete" :disabled="loading">
|
||||
{{ $t('Delete') }}
|
||||
<delete-confirm-dialog :object-name="objectName" :model-name="$t(modelClass.model.localizationKey)" @delete="emit('delete')"></delete-confirm-dialog>
|
||||
</v-btn>
|
||||
<v-btn color="delete" prepend-icon="$delete" v-if="isUpdate && !modelClass.model.disableDelete && modelClass.model.isAdvancedDelete"
|
||||
:to="{name: 'ModelDeletePage', params: {model: modelClass.model.name, id: props.editingObject.id!}}" :disabled="loading">{{ $t('Delete') }}
|
||||
</v-btn>
|
||||
|
||||
<v-btn color="save" prepend-icon="$create" @click="emit('save')" v-if="!isUpdate && !modelClass.model.disableCreate" :loading="loading">{{ $t('Create') }}</v-btn>
|
||||
<v-btn color="save" prepend-icon="$save" @click="emit('save')" v-if="isUpdate && !modelClass.model.disableUpdate" :loading="loading"> {{ $t('Save') }}</v-btn>
|
||||
</v-card-actions>
|
||||
@@ -41,10 +46,10 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
import DeleteConfirmDialog from "@/components/dialogs/DeleteConfirmDialog.vue";
|
||||
import {GenericModel} from "@/types/Models";
|
||||
import {EditorSupportedTypes, GenericModel} from "@/types/Models";
|
||||
import VClosableCardTitle from "@/components/dialogs/VClosableCardTitle.vue";
|
||||
import {onBeforeRouteLeave, RouteLocationNormalized} from "vue-router";
|
||||
import {onBeforeUnmount, onMounted, ref} from "vue";
|
||||
import {onBeforeUnmount, onMounted, PropType, ref} from "vue";
|
||||
|
||||
const emit = defineEmits(['save', 'delete', 'close'])
|
||||
|
||||
@@ -53,6 +58,7 @@ const props = defineProps({
|
||||
dialog: {type: Boolean, default: false},
|
||||
objectName: {type: String, default: ''},
|
||||
modelClass: {type: GenericModel, default: null},
|
||||
editingObject: {type: {} as PropType<EditorSupportedTypes>, default: null},
|
||||
isUpdate: {type: Boolean, default: false},
|
||||
isChanged: {type: Boolean, default: false},
|
||||
})
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form>
|
||||
<v-number-input :step="10" v-model="editingObj.propertyAmount" control-variant="stacked" :precision="2">
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading || fileApiLoading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-number-input v-model="editingObj.amount" control-variant="split" :precision="2">
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
|
||||
<v-card-text class="pa-0">
|
||||
<v-tabs v-model="tab" :disabled="loading" grow>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form>
|
||||
<v-row>
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading">
|
||||
<v-text-field :label="$t('Name')" v-model="editingObj.name"></v-text-field>
|
||||
@@ -53,7 +54,6 @@ watch([() => props.item, () => props.itemId], () => {
|
||||
// object specific data (for selects/display)
|
||||
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
initializeEditor()
|
||||
})
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form :disabled="loading || fileApiLoading">
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:is-update="isUpdate()"
|
||||
:is-changed="editingObjChanged"
|
||||
:model-class="modelClass"
|
||||
:object-name="editingObjName()">
|
||||
:object-name="editingObjName()"
|
||||
:editing-object="editingObj">
|
||||
<v-card-text>
|
||||
<v-form>
|
||||
<v-select :label="$t('Role')" :items="groups" item-value="id" item-title="name" return-object multiple v-model="editingObj.groups"></v-select>
|
||||
|
||||
@@ -188,6 +188,7 @@
|
||||
"Meal_Types": "",
|
||||
"Merge": "",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "",
|
||||
"Message": "",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -183,6 +183,7 @@
|
||||
"Meal_Types": "Видове хранене",
|
||||
"Merge": "Обединяване",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Обединяване на ключова дума",
|
||||
"MissingProperties": "",
|
||||
"Month": "Месец",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "Tipus de menjars",
|
||||
"Merge": "Unificar",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Fusioneu paraula clau",
|
||||
"Message": "Missatge",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -237,6 +237,7 @@
|
||||
"Meal_Types": "Druhy jídel",
|
||||
"Merge": "Spojit",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Sloučit štítek",
|
||||
"Message": "Zpráva",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "Måltidstyper",
|
||||
"Merge": "Sammenflet",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Sammenflet nøgleord",
|
||||
"Message": "Besked",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -323,6 +323,7 @@
|
||||
"Meal_Types": "Mahlzeiten",
|
||||
"Merge": "Zusammenführen",
|
||||
"MergeAutomateHelp": "Erstelle eine Automatisierung, die auch zukünftig erstellte Objekte mit diesem Namen durch das gewählte Objekt ersetzt.",
|
||||
"MergeInsteadOfDelete": "Anstatt zu löschen kann diese {type} auch mit einer existierenden {type} zusammengeführt werden.",
|
||||
"Merge_Keyword": "Schlagworte zusammenführen",
|
||||
"Message": "Nachricht",
|
||||
"Messages": "Nachrichten",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "Είδη γευμάτων",
|
||||
"Merge": "Συγχώνευση",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Συγχώνευση λέξης-κλειδί",
|
||||
"Message": "Μήνυμα",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
"Meal_Types": "Meal types",
|
||||
"Merge": "Merge",
|
||||
"MergeAutomateHelp": "Create an automation that replaces future objects of this type with the selected object.",
|
||||
"MergeInsteadOfDelete": "Instead of deleting this {type}, you can merge it into another existing {type}.",
|
||||
"Merge_Keyword": "Merge Keyword",
|
||||
"Message": "Message",
|
||||
"Messages": "Messages",
|
||||
|
||||
@@ -312,6 +312,7 @@
|
||||
"Meal_Types": "Tipos de comida",
|
||||
"Merge": "Unificar",
|
||||
"MergeAutomateHelp": "Crea una automatización que reemplaza los futuros objetos de este tipo con el objeto seleccionado.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Fusionar palabra clave",
|
||||
"Message": "Mensaje",
|
||||
"Messages": "Mensajes",
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
"Meal_Types": "Ateriatyypit",
|
||||
"Merge": "Yhdistä",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Yhdistä Avainsana",
|
||||
"Message": "Viesti",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -319,6 +319,7 @@
|
||||
"Meal_Types": "Types de repas",
|
||||
"Merge": "Fusionner",
|
||||
"MergeAutomateHelp": "Créer une automatisation pour remplacer les prochains objets de ce type par l'objet sélectionner.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Fusionner le mot-clé",
|
||||
"Message": "Message",
|
||||
"Messages": "Messages",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "סוגי אוכל",
|
||||
"Merge": "איחוד",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "איחוד מילת מפתח",
|
||||
"Message": "הודעה",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "Tipovi obroka",
|
||||
"Merge": "Spoji",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Spoji ključnu riječ",
|
||||
"Message": "Poruka",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -220,6 +220,7 @@
|
||||
"Meal_Types": "Étkezések",
|
||||
"Merge": "Összefűzés",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Kulcsszó összevonása",
|
||||
"Message": "Üzenet",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
"Meal_Plan": "Ճաշացուցակ",
|
||||
"Merge": "Միացնել",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Միացնել բանալի բառը",
|
||||
"MissingProperties": "",
|
||||
"MonthlyCredits": "",
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
"Meal_Types": "",
|
||||
"Merge": "Menggabungkan",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Gabungkan Kata Kunci",
|
||||
"Message": "",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -238,6 +238,7 @@
|
||||
"Meal_Types": "",
|
||||
"Merge": "",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "",
|
||||
"Message": "",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
"Meal_Types": "Tipi di pasto",
|
||||
"Merge": "Unisci",
|
||||
"MergeAutomateHelp": "Crea un'automazione che sostituisce i futuri oggetti di questo tipo con l'oggetto selezionato.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Unisci parola chiave",
|
||||
"Message": "Messaggio",
|
||||
"Messages": "Messaggi",
|
||||
|
||||
@@ -222,6 +222,7 @@
|
||||
"Meal_Types": "",
|
||||
"Merge": "",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Sujungti raktažodį",
|
||||
"Message": "",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "",
|
||||
"Merge": "",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "",
|
||||
"Message": "",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -229,6 +229,7 @@
|
||||
"Meal_Types": "Måltidstyper",
|
||||
"Merge": "Slå sammen",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Slå sammen nøkkelord",
|
||||
"Message": "Melding",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -322,6 +322,7 @@
|
||||
"Meal_Types": "Maaltijd types",
|
||||
"Merge": "Samenvoegen",
|
||||
"MergeAutomateHelp": "Maak een automatisering aan die toekomstige objecten van dit type vervangt door het geselecteerde object.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Voeg trefwoord samen",
|
||||
"Message": "Bericht",
|
||||
"Messages": "Berichten",
|
||||
|
||||
@@ -265,6 +265,7 @@
|
||||
"Meal_Types": "Rodzaje posiłków",
|
||||
"Merge": "Scal",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Scal słowa kluczowe",
|
||||
"Message": "Wiadomość",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -195,6 +195,7 @@
|
||||
"Meal_Types": "Tipos de refeições",
|
||||
"Merge": "Juntar",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Unir palavra-chave",
|
||||
"MissingProperties": "",
|
||||
"Month": "Mês",
|
||||
|
||||
@@ -319,6 +319,7 @@
|
||||
"Meal_Types": "Tipos de Comida",
|
||||
"Merge": "Mesclar",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Mesclar palavra-chave",
|
||||
"Message": "Mensagem",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
"Meal_Types": "Tipuri de mese",
|
||||
"Merge": "Unire",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Unește cuvânt cheie",
|
||||
"Message": "Mesaj",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
"Meal_Types": "Типы питания",
|
||||
"Merge": "Объединить",
|
||||
"MergeAutomateHelp": "Создайте автоматизацию для замены будущих объектов этого типа на выбранный объект.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Объеденить ключевые слова",
|
||||
"Message": "Сообщение",
|
||||
"Messages": "Сообщения",
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
"Meal_Types": "Tipi obroka",
|
||||
"Merge": "Združi",
|
||||
"MergeAutomateHelp": "Ustvarite avtomatizacijo, ki bo prihodnje objekte te vrste nadomestila z izbranim objektom.",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Združi ključno besedo",
|
||||
"Message": "Sporočilo",
|
||||
"Messages": "Sporočila",
|
||||
|
||||
@@ -276,6 +276,7 @@
|
||||
"Meal_Types": "Måltidstyper",
|
||||
"Merge": "Slå samman",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Slå samman nyckelord",
|
||||
"Message": "Meddelande",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "Yemek türleri",
|
||||
"Merge": "Birleştir",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Anahtar Kelimeyi Birleştir",
|
||||
"Message": "Mesaj",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
"Meal_Types": "Типи страви",
|
||||
"Merge": "Об'єднати",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "Об'єднати Ключове слово",
|
||||
"MissingProperties": "",
|
||||
"Month": "Місяць",
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
"Meal_Types": "用餐类型",
|
||||
"Merge": "合并",
|
||||
"MergeAutomateHelp": "",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "合并关键词",
|
||||
"Message": "信息",
|
||||
"MissingProperties": "",
|
||||
|
||||
@@ -320,6 +320,7 @@
|
||||
"Meal_Types": "餐飲類型",
|
||||
"Merge": "合併",
|
||||
"MergeAutomateHelp": "建立一個自動化程序,將此類型的未來物件替換為選定的物件。",
|
||||
"MergeInsteadOfDelete": "",
|
||||
"Merge_Keyword": "合併關鍵字",
|
||||
"Message": "訊息",
|
||||
"Messages": "訊息",
|
||||
|
||||
@@ -560,6 +560,7 @@ export interface ApiAiLogRetrieveRequest {
|
||||
|
||||
export interface ApiAiProviderCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -579,6 +580,7 @@ export interface ApiAiProviderListRequest {
|
||||
|
||||
export interface ApiAiProviderNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -590,6 +592,7 @@ export interface ApiAiProviderPartialUpdateRequest {
|
||||
|
||||
export interface ApiAiProviderProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -664,6 +667,7 @@ export interface ApiBookmarkletImportUpdateRequest {
|
||||
|
||||
export interface ApiConnectorConfigCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -683,6 +687,7 @@ export interface ApiConnectorConfigListRequest {
|
||||
|
||||
export interface ApiConnectorConfigNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -694,6 +699,7 @@ export interface ApiConnectorConfigPartialUpdateRequest {
|
||||
|
||||
export interface ApiConnectorConfigProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -801,6 +807,7 @@ export interface ApiEnterpriseSocialEmbedUpdateRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialKeywordCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -839,6 +846,7 @@ export interface ApiEnterpriseSocialKeywordMoveUpdateRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialKeywordNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -850,6 +858,7 @@ export interface ApiEnterpriseSocialKeywordPartialUpdateRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialKeywordProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -869,6 +878,7 @@ export interface ApiEnterpriseSocialRecipeBatchUpdateUpdateRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialRecipeCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -942,6 +952,7 @@ export interface ApiEnterpriseSocialRecipeListRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialRecipeNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -953,6 +964,7 @@ export interface ApiEnterpriseSocialRecipePartialUpdateRequest {
|
||||
|
||||
export interface ApiEnterpriseSocialRecipeProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1046,6 +1058,7 @@ export interface ApiFoodBatchUpdateUpdateRequest {
|
||||
|
||||
export interface ApiFoodCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1093,6 +1106,7 @@ export interface ApiFoodMoveUpdateRequest {
|
||||
|
||||
export interface ApiFoodNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1104,6 +1118,7 @@ export interface ApiFoodPartialUpdateRequest {
|
||||
|
||||
export interface ApiFoodProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1240,6 +1255,7 @@ export interface ApiInviteLinkUpdateRequest {
|
||||
|
||||
export interface ApiKeywordCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1278,6 +1294,7 @@ export interface ApiKeywordMoveUpdateRequest {
|
||||
|
||||
export interface ApiKeywordNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1289,6 +1306,7 @@ export interface ApiKeywordPartialUpdateRequest {
|
||||
|
||||
export interface ApiKeywordProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1340,6 +1358,7 @@ export interface ApiMealPlanUpdateRequest {
|
||||
|
||||
export interface ApiMealTypeCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1359,6 +1378,7 @@ export interface ApiMealTypeListRequest {
|
||||
|
||||
export interface ApiMealTypeNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1370,6 +1390,7 @@ export interface ApiMealTypePartialUpdateRequest {
|
||||
|
||||
export interface ApiMealTypeProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1605,6 +1626,7 @@ export interface ApiPropertyRetrieveRequest {
|
||||
|
||||
export interface ApiPropertyTypeCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1625,6 +1647,7 @@ export interface ApiPropertyTypeListRequest {
|
||||
|
||||
export interface ApiPropertyTypeNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1636,6 +1659,7 @@ export interface ApiPropertyTypePartialUpdateRequest {
|
||||
|
||||
export interface ApiPropertyTypeProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1660,6 +1684,7 @@ export interface ApiRecipeBatchUpdateUpdateRequest {
|
||||
|
||||
export interface ApiRecipeBookCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1714,6 +1739,7 @@ export interface ApiRecipeBookListRequest {
|
||||
|
||||
export interface ApiRecipeBookNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1725,6 +1751,7 @@ export interface ApiRecipeBookPartialUpdateRequest {
|
||||
|
||||
export interface ApiRecipeBookProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1740,6 +1767,7 @@ export interface ApiRecipeBookUpdateRequest {
|
||||
|
||||
export interface ApiRecipeCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1851,6 +1879,7 @@ export interface ApiRecipeListRequest {
|
||||
|
||||
export interface ApiRecipeNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -1862,6 +1891,7 @@ export interface ApiRecipePartialUpdateRequest {
|
||||
|
||||
export interface ApiRecipeProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2022,6 +2052,7 @@ export interface ApiStepUpdateRequest {
|
||||
|
||||
export interface ApiStorageCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2041,6 +2072,7 @@ export interface ApiStorageListRequest {
|
||||
|
||||
export interface ApiStorageNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2052,6 +2084,7 @@ export interface ApiStoragePartialUpdateRequest {
|
||||
|
||||
export interface ApiStorageProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2067,12 +2100,14 @@ export interface ApiStorageUpdateRequest {
|
||||
|
||||
export interface ApiSupermarketCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
|
||||
export interface ApiSupermarketCategoryCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2102,6 +2137,7 @@ export interface ApiSupermarketCategoryMergeUpdateRequest {
|
||||
|
||||
export interface ApiSupermarketCategoryNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2113,6 +2149,7 @@ export interface ApiSupermarketCategoryPartialUpdateRequest {
|
||||
|
||||
export interface ApiSupermarketCategoryProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2176,6 +2213,7 @@ export interface ApiSupermarketListRequest {
|
||||
|
||||
export interface ApiSupermarketNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2187,6 +2225,7 @@ export interface ApiSupermarketPartialUpdateRequest {
|
||||
|
||||
export interface ApiSupermarketProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2206,6 +2245,7 @@ export interface ApiSwitchActiveSpaceRetrieveRequest {
|
||||
|
||||
export interface ApiSyncCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2234,6 +2274,7 @@ export interface ApiSyncLogRetrieveRequest {
|
||||
|
||||
export interface ApiSyncNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2245,6 +2286,7 @@ export interface ApiSyncPartialUpdateRequest {
|
||||
|
||||
export interface ApiSyncProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2265,6 +2307,7 @@ export interface ApiSyncUpdateRequest {
|
||||
|
||||
export interface ApiUnitCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2323,6 +2366,7 @@ export interface ApiUnitMergeUpdateRequest {
|
||||
|
||||
export interface ApiUnitNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2334,6 +2378,7 @@ export interface ApiUnitPartialUpdateRequest {
|
||||
|
||||
export interface ApiUnitProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2349,6 +2394,7 @@ export interface ApiUnitUpdateRequest {
|
||||
|
||||
export interface ApiUserFileCascadingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2379,6 +2425,7 @@ export interface ApiUserFileListRequest {
|
||||
|
||||
export interface ApiUserFileNullingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2397,6 +2444,7 @@ export interface ApiUserFilePartialUpdateRequest {
|
||||
|
||||
export interface ApiUserFileProtectingListRequest {
|
||||
id: number;
|
||||
cache?: boolean;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
@@ -2907,6 +2955,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -3066,6 +3118,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -3151,6 +3207,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -3800,6 +3860,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -3959,6 +4023,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -4044,6 +4112,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -4939,6 +5011,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -5234,6 +5310,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -5319,6 +5399,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -5488,6 +5572,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -5949,6 +6037,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -6034,6 +6126,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -6861,6 +6957,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -7270,6 +7370,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -7355,6 +7459,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -8603,6 +8711,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -8898,6 +9010,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -8983,6 +9099,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -9436,6 +9556,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -9595,6 +9719,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -9680,6 +9808,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -11690,6 +11822,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -11853,6 +11989,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -11938,6 +12078,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -12154,6 +12298,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -12583,6 +12731,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -12668,6 +12820,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -12797,6 +12953,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -13608,6 +13768,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -13693,6 +13857,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15215,6 +15383,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15374,6 +15546,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15459,6 +15635,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15588,6 +15768,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15633,6 +15817,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15862,6 +16050,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -15947,6 +16139,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -16460,6 +16656,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -16545,6 +16745,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -16710,6 +16914,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -16944,6 +17152,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -17029,6 +17241,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -17205,6 +17421,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -17680,6 +17900,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -17765,6 +17989,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -17894,6 +18122,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -18148,6 +18380,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
@@ -18277,6 +18513,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
|
||||
const queryParameters: any = {};
|
||||
|
||||
if (requestParameters['cache'] != null) {
|
||||
queryParameters['cache'] = requestParameters['cache'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
|
||||
@@ -15,6 +15,13 @@
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row v-if="editingObj" dense>
|
||||
<v-col>
|
||||
<v-card>
|
||||
<v-card-title class="text-h4">{{ $t('Delete') }} {{ $t(genericModel.model.localizationKey) }}: {{ genericModel.getLabel(editingObj) }}</v-card-title>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row dense>
|
||||
<v-col>
|
||||
<v-card>
|
||||
@@ -59,8 +66,16 @@
|
||||
</template>
|
||||
<template #item.actions="{item}">
|
||||
<v-btn icon="$delete" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.isAdvancedDelete"
|
||||
:to="{name: 'ModelDeletePage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
<v-btn icon="$delete" variant="plain" size="small"
|
||||
v-if="getGenericModelFromString(item.model, $t) && !getGenericModelFromString(item.model, $t).model.isAdvancedDelete && !getGenericModelFromString(item.model, $t).model.disableDelete">
|
||||
<v-icon icon="$delete" variant="plain" size="small"></v-icon>
|
||||
<delete-confirm-dialog :object-name="genericModel.getLabel(editingObj)" :model-name="$t(genericModel.model.localizationKey)"
|
||||
@delete="deleteRelated(item.model, item.id)"></delete-confirm-dialog>
|
||||
</v-btn>
|
||||
<v-btn icon="$edit" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.editorComponent"
|
||||
:to="{name: 'ModelEditPage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
</template>
|
||||
</v-data-table-server>
|
||||
@@ -85,8 +100,16 @@
|
||||
</template>
|
||||
<template #item.actions="{item}">
|
||||
<v-btn icon="$delete" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.isAdvancedDelete"
|
||||
:to="{name: 'ModelDeletePage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
<v-btn icon="$delete" variant="plain" size="small"
|
||||
v-if="getGenericModelFromString(item.model, $t) && !getGenericModelFromString(item.model, $t).model.isAdvancedDelete && !getGenericModelFromString(item.model, $t).model.disableDelete">
|
||||
<v-icon icon="$delete" variant="plain" size="small"></v-icon>
|
||||
<delete-confirm-dialog :object-name="genericModel.getLabel(editingObj)" :model-name="$t(genericModel.model.localizationKey)"
|
||||
@delete="deleteRelated(item.model, item.id)"></delete-confirm-dialog>
|
||||
</v-btn>
|
||||
<v-btn icon="$edit" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.editorComponent"
|
||||
:to="{name: 'ModelEditPage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
</template>
|
||||
</v-data-table-server>
|
||||
@@ -111,8 +134,16 @@
|
||||
</template>
|
||||
<template #item.actions="{item}">
|
||||
<v-btn icon="$delete" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.isAdvancedDelete"
|
||||
:to="{name: 'ModelDeletePage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
<v-btn icon="$delete" variant="plain" size="small"
|
||||
v-if="getGenericModelFromString(item.model, $t) && !getGenericModelFromString(item.model, $t).model.isAdvancedDelete && !getGenericModelFromString(item.model, $t).model.disableDelete">
|
||||
<v-icon icon="$delete" variant="plain" size="small"></v-icon>
|
||||
<delete-confirm-dialog :object-name="genericModel.getLabel(editingObj)" :model-name="$t(genericModel.model.localizationKey)"
|
||||
@delete="deleteRelated(item.model, item.id)"></delete-confirm-dialog>
|
||||
</v-btn>
|
||||
<v-btn icon="$edit" variant="plain" size="small" target="_blank"
|
||||
v-if="getGenericModelFromString(item.model, $t) && getGenericModelFromString(item.model, $t).model.editorComponent"
|
||||
:to="{name: 'ModelEditPage', params: {model: item.model, id: item.id}}"></v-btn>
|
||||
</template>
|
||||
</v-data-table-server>
|
||||
@@ -124,6 +155,24 @@
|
||||
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row v-if="genericModel.model.isMerge" dense>
|
||||
<v-col>
|
||||
<v-card class="border-warning border-sm border-opacity-100">
|
||||
<v-card-title>{{ $t('Merge') }}</v-card-title>
|
||||
<v-card-text>
|
||||
{{ $t('MergeInsteadOfDelete', {type: $t(genericModel.model.localizationKey)}) }}
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="warning" prepend-icon="fa-solid fa-arrows-to-dot">
|
||||
{{ $t('Merge') }}
|
||||
<model-merge-dialog :model="model" :source="[editingObj]"
|
||||
@change="router.push({name: 'ModelListPage', params: {model: props.model}})"></model-merge-dialog>
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row dense>
|
||||
<v-col>
|
||||
<v-card class="border-error border-sm border-opacity-100">
|
||||
@@ -132,7 +181,10 @@
|
||||
{{ $t('delete_confirmation', {source: `${$t(genericModel.model.localizationKey)} ${genericModel.getLabel(editingObj)}`}) }}
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="delete" prepend-icon="$delete" :disabled="protectingObjectsCount > 0" @click="deleteObject()" :loading="deleteLoading">{{ $t('Delete') }}</v-btn>
|
||||
<v-btn color="delete" prepend-icon="$delete" :disabled="protectingObjectsCount > 0" @click="deleteObject()" :loading="deleteLoading">{{
|
||||
$t('Delete')
|
||||
}}
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
|
||||
</v-card>
|
||||
@@ -148,12 +200,14 @@ import {onBeforeMount, onMounted, PropType, ref} from "vue";
|
||||
import {EditorSupportedModels, GenericModel, getGenericModelFromString} from "@/types/Models.ts";
|
||||
import {useTitle} from "@vueuse/core";
|
||||
import {useI18n} from "vue-i18n";
|
||||
import {GenericModelReference} from "@/openapi";
|
||||
import {ApiApi, GenericModelReference} from "@/openapi";
|
||||
import {VDataTableUpdateOptions} from "@/vuetify.ts";
|
||||
import {ErrorMessageType, useMessageStore} from "@/stores/MessageStore.ts";
|
||||
import {useRouter} from "vue-router";
|
||||
import {VDataTableHeaders} from "vuetify/components";
|
||||
import {useUserPreferenceStore} from "@/stores/UserPreferenceStore.ts";
|
||||
import ModelMergeDialog from "@/components/dialogs/ModelMergeDialog.vue";
|
||||
import DeleteConfirmDialog from "@/components/dialogs/DeleteConfirmDialog.vue";
|
||||
|
||||
const router = useRouter()
|
||||
const title = useTitle()
|
||||
@@ -207,6 +261,9 @@ onMounted(() => {
|
||||
reloadAll()
|
||||
})
|
||||
|
||||
/**
|
||||
* load data for the selected object
|
||||
*/
|
||||
function loadObject() {
|
||||
genericModel.value.retrieve(Number(props.id)).then(obj => {
|
||||
editingObj.value = obj
|
||||
@@ -216,6 +273,9 @@ function loadObject() {
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* delete the selected object and redirect to model list if successfull
|
||||
*/
|
||||
function deleteObject() {
|
||||
deleteLoading.value = true
|
||||
genericModel.value.destroy(Number(props.id)).then(() => {
|
||||
@@ -227,16 +287,24 @@ function deleteObject() {
|
||||
})
|
||||
}
|
||||
|
||||
function reloadAll() {
|
||||
loadProtected({page: 1, itemsPerPage: pageSize.value})
|
||||
loadCascading({page: 1, itemsPerPage: pageSize.value})
|
||||
loadNulling({page: 1, itemsPerPage: pageSize.value})
|
||||
/**
|
||||
* reload all related endpoints
|
||||
* @param cache if reload should occur using cached data or not
|
||||
*/
|
||||
function reloadAll(cache: boolean = true) {
|
||||
loadProtected({page: 1, itemsPerPage: pageSize.value}, cache)
|
||||
loadCascading({page: 1, itemsPerPage: pageSize.value}, cache)
|
||||
loadNulling({page: 1, itemsPerPage: pageSize.value}, cache)
|
||||
}
|
||||
|
||||
function loadProtected(options: VDataTableUpdateOptions) {
|
||||
|
||||
/**
|
||||
* load all objects protecting the selected object from being deleted
|
||||
* @param options VDataTableUpdateOptions
|
||||
* @param cache if reload should occur using cached data or not
|
||||
*/
|
||||
function loadProtected(options: VDataTableUpdateOptions, cache: boolean = true) {
|
||||
protectingObjectsLoading.value = true
|
||||
genericModel.value.getDeleteProtecting({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage}).then(r => {
|
||||
genericModel.value.getDeleteProtecting({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage, cache: cache}).then(r => {
|
||||
protectingObjects.value = r.results
|
||||
protectingObjectsCount.value = r.count
|
||||
}).catch(err => {
|
||||
@@ -246,10 +314,15 @@ function loadProtected(options: VDataTableUpdateOptions) {
|
||||
})
|
||||
}
|
||||
|
||||
function loadCascading(options: VDataTableUpdateOptions) {
|
||||
/**
|
||||
* load all objects that will cascade when the selected model is deleted
|
||||
* @param options VDataTableUpdateOptions
|
||||
* @param cache if reload should occur using cached data or not
|
||||
*/
|
||||
function loadCascading(options: VDataTableUpdateOptions, cache: boolean = true) {
|
||||
|
||||
cascadingObjectsLoading.value = true
|
||||
genericModel.value.getDeleteCascading({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage}).then(r => {
|
||||
genericModel.value.getDeleteCascading({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage, cache: cache}).then(r => {
|
||||
cascadingObjects.value = r.results
|
||||
cascadingObjectsCount.value = r.count
|
||||
}).catch(err => {
|
||||
@@ -260,10 +333,15 @@ function loadCascading(options: VDataTableUpdateOptions) {
|
||||
|
||||
}
|
||||
|
||||
function loadNulling(options: VDataTableUpdateOptions) {
|
||||
/**
|
||||
* load all objects that will be updated when the selected model is deleted
|
||||
* @param options VDataTableUpdateOptions
|
||||
* @param cache if reload should occur using cached data or not
|
||||
*/
|
||||
function loadNulling(options: VDataTableUpdateOptions, cache: boolean = true) {
|
||||
|
||||
nullingObjectsLoading.value = true
|
||||
genericModel.value.getDeleteNulling({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage}).then(r => {
|
||||
genericModel.value.getDeleteNulling({id: Number(props.id), page: options.page, pageSize: options.itemsPerPage, cache: cache}).then(r => {
|
||||
nullingObjects.value = r.results
|
||||
nullingObjectsCount.value = r.count
|
||||
}).catch(err => {
|
||||
@@ -274,6 +352,22 @@ function loadNulling(options: VDataTableUpdateOptions) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* generic model delete function to quickly delete related models
|
||||
* @param model
|
||||
* @param id
|
||||
*/
|
||||
function deleteRelated(model: EditorSupportedModels, id: number) {
|
||||
let genericModel = getGenericModelFromString(model, t)
|
||||
if (genericModel) {
|
||||
genericModel.destroy(id).then(() => {
|
||||
reloadAll(false)
|
||||
}).catch(err => {
|
||||
useMessageStore().addError(ErrorMessageType.DELETE_ERROR, err)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -29,11 +29,11 @@ type VDataTableProps = InstanceType<typeof VDataTable>['$props']
|
||||
* @param t translation function from calling context
|
||||
* @return instance of GenericModel
|
||||
*/
|
||||
export function getGenericModelFromString(modelName: EditorSupportedModels, t: any) {
|
||||
export function getGenericModelFromString(modelName: EditorSupportedModels, t: any): false|GenericModel {
|
||||
if (SUPPORTED_MODELS.has(modelName.toLowerCase())) {
|
||||
return new GenericModel(SUPPORTED_MODELS.get(modelName.toLowerCase()), t)
|
||||
} else {
|
||||
throw Error(`Model ${modelName} not in SUPPORTED_MODELS`)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,6 +74,7 @@ type DeleteRelationRequestParameter = {
|
||||
page: number,
|
||||
pageSize: number,
|
||||
id: number,
|
||||
cache: boolean,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,9 +112,9 @@ export type Model = {
|
||||
disableUpdate?: boolean | undefined,
|
||||
disableDelete?: boolean | undefined,
|
||||
disableSearch?: boolean | undefined,
|
||||
// disable showing this model as an option in the ModelListPage
|
||||
disableListView?: boolean | undefined,
|
||||
|
||||
isAdvancedDelete: boolean | undefined,
|
||||
isPaginated: boolean | undefined,
|
||||
isMerge?: boolean | undefined,
|
||||
mergeAutomation?: string | AutomationTypeEnum,
|
||||
@@ -208,6 +209,7 @@ export const TFood = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/FoodEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
isMerge: true,
|
||||
isTree: true,
|
||||
mergeAutomation: 'FOOD_ALIAS',
|
||||
@@ -231,6 +233,7 @@ export const TUnit = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/UnitEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
isMerge: true,
|
||||
mergeAutomation: 'UNIT_ALIAS',
|
||||
toStringKeys: ['name'],
|
||||
@@ -252,6 +255,7 @@ export const TKeyword = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/KeywordEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
isMerge: true,
|
||||
isTree: true,
|
||||
mergeAutomation: 'KEYWORD_ALIAS',
|
||||
@@ -273,6 +277,7 @@ export const TRecipe = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/RecipeEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
disableListView: true,
|
||||
@@ -329,6 +334,7 @@ export const TMealType = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/MealTypeEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
tableHeaders: [
|
||||
@@ -368,6 +374,7 @@ export const TRecipeBook = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/RecipeBookEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
disableListView: true,
|
||||
@@ -447,6 +454,7 @@ export const TSupermarket = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/SupermarketEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
tableHeaders: [
|
||||
@@ -465,6 +473,7 @@ export const TSupermarketCategory = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/SupermarketCategoryEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
isMerge: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
@@ -505,6 +514,7 @@ export const TPropertyType = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/PropertyTypeEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
tableHeaders: [
|
||||
@@ -565,6 +575,7 @@ export const TUserFile = {
|
||||
editorComponent: defineAsyncComponent(() => import(`@/components/model_editors/UserFileEditor.vue`)),
|
||||
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
toStringKeys: ['name'],
|
||||
|
||||
tableHeaders: [
|
||||
@@ -729,6 +740,7 @@ export const TStorage = {
|
||||
disableListView: false,
|
||||
toStringKeys: ['name'],
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
|
||||
tableHeaders: [
|
||||
{title: 'Name', key: 'name'},
|
||||
@@ -748,6 +760,7 @@ export const TSync = {
|
||||
disableListView: false,
|
||||
toStringKeys: ['path'],
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
|
||||
tableHeaders: [
|
||||
{title: 'SyncedPath', key: 'path'},
|
||||
@@ -815,6 +828,7 @@ export const TConnectorConfig = {
|
||||
disableListView: false,
|
||||
toStringKeys: ['name'],
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
|
||||
disableCreate: false,
|
||||
disableDelete: false,
|
||||
@@ -839,6 +853,7 @@ export const TAiProvider = {
|
||||
disableListView: false,
|
||||
toStringKeys: ['name'],
|
||||
isPaginated: true,
|
||||
isAdvancedDelete: true,
|
||||
|
||||
disableCreate: false,
|
||||
disableDelete: false,
|
||||
|
||||
Reference in New Issue
Block a user