def post(self, request, *args, **kwargs): data = {} produto = get_object_or_404(Produto, pk=kwargs['pk']) form = ProductForm(request.POST, instance=produto) if form.is_valid(): prod = form.save() message = 'Produto: {}, Alterado com sucesso!'.format( prod.nome.upper()) messages.warning(request, message) products = paginator(request, Produto.objects.all(), 5) data['is_form_valid'] = True data['message'] = render_to_string('messages.html', {}, request=request) data['html_table'] = render_to_string( 'product/product_table.html', {'produto_list': products.object_list}, request=request) else: data['is_form_valid'] = False message = 'Verifique os Erros a baixo.' messages.error(request, message) data['message'] = render_to_string('messages.html', {}, request=request) data['html_form'] = \ render_to_string('product/product_modal_update.html', {'form': form}, request=request) return JsonResponse(data)
def post(self, request, *args, **kwargs): data = {} form = ProductForm(request.POST) if form.is_valid(): prod = form.save() products = paginator(request, Produto.objects.all(), 5) message = 'Produto: {} Adicionado com sucesso! '.format( prod.nome.upper()) messages.success(request, message) data['is_form_valid'] = True data['message'] = render_to_string('messages.html', {}, request=request) data['html_table'] = render_to_string( 'product/product_table.html', {'produto_list': products.object_list}, request=request) else: data['is_form_valid'] = False message = 'Erro ao inserir produto, verifique os campos a baixo.' messages.error(request, message) data['message'] = render_to_string('messages.html', {}, request=request) data['html_form'] = \ render_to_string('product/product_modal_save.html', {'form': form}, request=request) return JsonResponse(data)
def view_service_company_delete(request, object, Form, klass, template_name, context_list, template_table, message_success): """ :param request: :param object: objeto que sera usado , company, job :param Form: formulario que deve ser chamdo :param klass: classe que sera usado no klass.objects.all() :param template_name: template que sera renderesido no modal :param context_list: nome do context para lista de objetos :param template_table: nome do template da tabela que sera renderizado :param message_success: messagem de sucesso :param message_type: messagem de sucesso update :param message_error: messagem de erro :return: json com is_form_valid , html_table, html_form """ data = {} form = Form(request.POST or None, instance=object) if request.method == 'POST': object.delete() data['is_form_valid'] = True companies = paginator(request, klass.objects.all()) data['html_table'] = \ render_to_string(template_table, {context_list: companies}, request=request) message = message_success messages.error(request, message) data['message'] = render_to_string('core/messages.html', {}, request=request) else: data['disable_all'] = True data['html_form'] = \ render_to_string(template_name, {'form': form }, request=request) return JsonResponse(data)
def card_list(request): all_cards = Card.objects.all() query = request.GET.get('query') if query: query_list = query.split() all_cards = all_cards.filter( reduce(operator.and_, (Q(name__icontains=q) for q in query_list))) # Returns only latest printings of each card # This takes a long time to load! all_cards_latest_printings = all_cards.order_by('name', '-release_date') \ .distinct('name') if all_cards_latest_printings.count() == 1: return redirect( reverse( 'db:card_detail', kwargs={'card_slug': all_cards_latest_printings.first().slug})) page_obj, visible_page_links = paginator( request=request, object_list=all_cards_latest_printings, items_per_page=100, mid_size=8) context = {'page_obj': page_obj, 'visible_page_links': visible_page_links} return render(request, 'db/card_list.html', context)
def view_service_company_save( request, object, Form, klass, template_name, context_list, template_table, message_success, message_type='success', message_error='Foi encontrado algo errado no processo, corrija os erros a ' 'baixo no formulario e tente novamente'): """ :param request: :param object: objeto que sera usado , company, job :param Form: formulario que deve ser chamdo :param klass: classe que sera usado no klass.objects.all() :param template_name: template que sera renderesido no modal :param context_list: nome do context para lista de objetos :param template_table: nome do template da tabela que sera renderizado :param message_success: messagem de sucesso :param message_type: messagem de sucesso update :param message_error: messagem de erro :return: json com is_form_valid , html_table, html_form """ data = {} form = Form(request.POST or None, instance=object) if request.method == 'POST': if form.is_valid(): obj = form.save(commit=False) obj.user = request.user obj.save() data['is_form_valid'] = True companies = paginator(request, klass.objects.all()) data['html_table'] = \ render_to_string(template_table, {context_list: companies}, request=request) message = message_success if message_type == 'success': messages.success(request, message) else: messages.warning(request, message) data['message'] = render_to_string('core/messages.html', {}, request=request) else: data['is_form_valid'] = False message = message_error messages.error(request, message) data['message'] = render_to_string('core/messages.html', {}, request=request) data['html_form'] = \ render_to_string(template_name, {'form': form}, request=request) else: data['html_form'] = \ render_to_string(template_name, {'form': form}, request=request) return JsonResponse(data)