def new_impress_service(request): context = {'categories': Category.create_choices_category()} if request.method == 'GET': form = ServiceForm() context.update({'form': form}) return render(request, 'dashboard_admin/new_impress_service.html', context) else: form = ServiceForm(request.POST, request.FILES) context.update({'form': form}) if form.is_valid(): category_id = int(request.POST.get('category')) category = Category.objects.get(id=category_id) service = ServiceImpress() service.description = form.cleaned_data['description'] service.image = form.cleaned_data['image'] service.category = category service.value = Service.change_for_decimal( form.cleaned_data['value']) service.value_creation_art = \ Service.change_for_decimal(form.cleaned_data['value_creation_art']) service.deadline = form.cleaned_data['deadline'] service.save() messages.success(request, 'Novo serviço criado com sucesso!') return HttpResponseRedirect( reverse('dashboard_admin:all_services')) else: messages.error(request, form.errors) return render(request, 'dashboard_admin/new_impress_service.html', context)
def edit_service(request, service_id): try: service = ServiceImpress.objects.get(id=service_id) except: service = Service.objects.get(id=service_id) infos_categories = Category.get_names_and_id() current_category = service.category context = { 'service': service, 'infos_categories': infos_categories, 'current_category': service.category.id } if request.method == 'GET': data = { 'description': service.description, 'image': service.image.url, 'value': service.value, } if service.__class__.__name__ == 'ServiceImpress': data['value_creation_art'] = service.value_creation_art form = ServiceForm(initial=data) context.update({'form': form}) else: form = ServiceForm(request.POST, request.FILES) if form.is_valid(): category = Category.objects.get( id=int(request.POST.get('category'))) service.description = form.cleaned_data['description'] if form.cleaned_data['image']: service.image = form.cleaned_data['image'] service.category = category service.value = Service.change_for_decimal( form.cleaned_data['value']) if service.__class__.__name__ == 'ServiceImpress': service.value_creation_art = \ Service.change_for_decimal(form.cleaned_data['value_creation_art']) service.save() context.update({'form': form}) context.update({'current_category': service.category.id}) messages.success(request, 'Serviço editado com sucesso!') else: # print(form.errors) messages.warning(request, 'Não foi possível realizar essa operação') return render(request, 'dashboard_admin/edit_service.html', context)