140 lines
4.7 KiB
Python
140 lines
4.7 KiB
Python
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.urls import reverse_lazy
|
|
from django.utils.translation import gettext as _
|
|
from django.views.generic import DeleteView
|
|
|
|
from cookbook.models import Recipe, Sync, Keyword, RecipeImport, Storage, Comment, RecipeBook, \
|
|
RecipeBookEntry, MealPlan, Ingredient
|
|
from cookbook.provider.dropbox import Dropbox
|
|
from cookbook.provider.nextcloud import Nextcloud
|
|
|
|
|
|
class RecipeDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Recipe
|
|
success_url = reverse_lazy('index')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(RecipeDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Recipe")
|
|
return context
|
|
|
|
|
|
class RecipeSourceDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Recipe
|
|
success_url = reverse_lazy('index')
|
|
|
|
def delete(self, request, *args, **kwargs):
|
|
self.object = self.get_object()
|
|
if self.object.storage.method == Storage.DROPBOX:
|
|
Dropbox.delete_file(self.object) # TODO central location to handle storage type switches
|
|
if self.object.storage.method == Storage.NEXTCLOUD:
|
|
Nextcloud.delete_file(self.object)
|
|
|
|
return super(RecipeSourceDelete, self).delete(request, *args, **kwargs)
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(RecipeSourceDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Recipe")
|
|
return context
|
|
|
|
|
|
class RecipeImportDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = RecipeImport
|
|
success_url = reverse_lazy('list_recipe_import')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(RecipeImportDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Import")
|
|
return context
|
|
|
|
|
|
class SyncDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Sync
|
|
success_url = reverse_lazy('data_sync')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(SyncDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Monitor")
|
|
return context
|
|
|
|
|
|
class KeywordDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Keyword
|
|
success_url = reverse_lazy('list_keyword')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(KeywordDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Keyword")
|
|
return context
|
|
|
|
|
|
class IngredientDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Ingredient
|
|
success_url = reverse_lazy('list_ingredient')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(IngredientDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Ingredient")
|
|
return context
|
|
|
|
|
|
class StorageDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Storage
|
|
success_url = reverse_lazy('list_storage')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(StorageDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Storage Backend")
|
|
return context
|
|
|
|
|
|
class CommentDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = Comment
|
|
success_url = reverse_lazy('index')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(CommentDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Comment")
|
|
return context
|
|
|
|
|
|
class RecipeBookDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = RecipeBook
|
|
success_url = reverse_lazy('view_books')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(RecipeBookDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Recipe Book")
|
|
return context
|
|
|
|
|
|
class RecipeBookEntryDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = RecipeBookEntry
|
|
success_url = reverse_lazy('view_books')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(RecipeBookEntryDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Bookmarks")
|
|
return context
|
|
|
|
|
|
class MealPlanDelete(LoginRequiredMixin, DeleteView):
|
|
template_name = "generic/delete_template.html"
|
|
model = MealPlan
|
|
success_url = reverse_lazy('view_plan')
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(MealPlanDelete, self).get_context_data(**kwargs)
|
|
context['title'] = _("Meal-Plan")
|
|
return context
|