remove django_autocomplete_light from requirements

add back CreateRecipe view
This commit is contained in:
smilerz
2024-02-21 08:19:45 -06:00
parent 70e754eb37
commit 23a7dc0ebf
3 changed files with 33 additions and 4 deletions

View File

@@ -137,7 +137,8 @@ urlpatterns = [
path('api-token-auth/', CustomAuthToken.as_view()),
path('api-import-open-data/', ImportOpenData.as_view(), name='api_import_open_data'),
path('offline/', views.offline, name='view_offline'),
path('service-worker.js', (TemplateView.as_view(template_name="sw.js", content_type='application/javascript', )), name='service_worker'),
path('service-worker.js', (TemplateView.as_view(template_name="sw.js", content_type='application/javascript',
)), name='service_worker'),
path('manifest.json', views.web_manifest, name='web_manifest'),
]

View File

@@ -6,11 +6,40 @@ from django.utils.translation import gettext as _
from django.views.generic import CreateView
from cookbook.forms import ImportRecipeForm, Storage, StorageForm
from cookbook.helper.permission_helper import GroupRequiredMixin, group_required
from cookbook.models import Recipe, RecipeImport, ShareLink
from cookbook.helper.permission_helper import GroupRequiredMixin, above_space_limit, group_required
from cookbook.models import Recipe, RecipeImport, ShareLink, Step
from recipes import settings
class RecipeCreate(GroupRequiredMixin, CreateView):
groups_required = ['user']
template_name = "generic/new_template.html"
model = Recipe
fields = ('name', )
def form_valid(self, form):
limit, msg = above_space_limit(self.request.space)
if limit:
messages.add_message(self.request, messages.WARNING, msg)
return HttpResponseRedirect(reverse('index'))
obj = form.save(commit=False)
obj.created_by = self.request.user
obj.space = self.request.space
obj.internal = True
obj.save()
obj.steps.add(Step.objects.create(space=self.request.space, show_as_header=False, show_ingredients_table=self.request.user.userpreference.show_step_ingredients))
return HttpResponseRedirect(reverse('edit_recipe', kwargs={'pk': obj.pk}))
def get_success_url(self):
return reverse('edit_recipe', kwargs={'pk': self.object.pk})
def get_context_data(self, **kwargs):
context = super(RecipeCreate, self).get_context_data(**kwargs)
context['title'] = _("Recipe")
return context
@group_required('user')
def share_link(request, pk):
recipe = get_object_or_404(Recipe, pk=pk, space=request.space)