Last active
December 18, 2018 14:47
-
-
Save gilsonbp/ebb54dabaafe3a8583eec87489fa6d00 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@admin.register(Cr) | |
class CrAdmin(admin.ModelAdmin): | |
list_display = ['id', 'get_venda', 'get_cpf_cliente', 'cliente', | |
'criado_em', 'get_status_admin'] | |
list_display_links = list_display | |
search_fields = ['titulo'] | |
autocomplete_fields = ['cliente', 'cond_pagamento', 'conta_padrao', | |
'centro_custo'] | |
readonly_fields = ['criado_em', 'get_titulo_id', 'get_venda', 'status'] | |
list_filter = [IsVendaListFilter, 'status'] | |
inlines = [CrParcelaInLine] | |
fieldsets = ( | |
(None, {'fields': ( | |
'get_titulo_id', 'get_venda', 'cliente', 'cond_pagamento', | |
'conta_padrao', 'centro_custo', 'valor', | |
)}), | |
('INFORMAÇÕES', {'fields': ( | |
'status', 'criado_em', 'dt_ref', 'historico' | |
)}), | |
) | |
def has_delete_permission(self, request, obj=None): | |
return False | |
def has_change_permission(self, request, obj=None): | |
return False | |
def get_urls(self): | |
urls = super().get_urls() | |
my_urls = [ | |
path('<int:pk>/baixar-parcela/', | |
self.admin_site.admin_view(self.baixar_parcela_cr), | |
name='baixar_parcela_cr'), | |
] | |
return my_urls + urls | |
@method_decorator(permission_required('financeiro.baixar_parcela_cr', | |
raise_exception=True)) | |
def baixar_parcela_cr(self, request, pk): | |
parcela = CrParcela.objects.get(pk=pk) | |
form = BaixarForm(initial={'conta_bancaria': parcela.cr.conta_padrao, | |
'centro_custo': parcela.cr.centro_custo}) | |
if request.method == "POST": | |
form = BaixarForm(request.POST) | |
if form.is_valid(): | |
try: | |
parcela.baixar( | |
conta_bancaria=form.cleaned_data['conta_bancaria'], | |
centro_custo=form.cleaned_data['centro_custo'], | |
valor=form.cleaned_data['valor'] | |
) | |
messages.success(request, 'Parcela baixada com sucesso!') | |
return redirect('admin:financeiro_cr_change', parcela.cr.pk) | |
except Exception as e: | |
messages.error(request, e) | |
context = dict( | |
self.admin_site.each_context(request), | |
title='Baixar Parcela', | |
parcela=parcela, | |
form=form, | |
) | |
return TemplateResponse(request, | |
'admin/financeiro/baixar_parcela_cr.html', | |
context) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% extends "admin/base_site.html" %} | |
{% load i18n admin_urls static admin_modify custom_filters %} | |
{% block extrahead %}{{ block.super }} | |
<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script> | |
{{ media }} | |
{% endblock %} | |
{% block extrastyle %}{{ block.super }} | |
<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}">{% endblock %} | |
{% block coltype %}colM{% endblock %} | |
{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} | |
{% if not is_popup %} | |
{% block breadcrumbs %} | |
<div class="breadcrumbs"> | |
<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> | |
› <a href="{% url 'admin:app_list' 'financeiro' %}">Financeiro</a> | |
› <a href="{% url 'admin:financeiro_cr_changelist' %}">Contas a Receber</a> | |
› <a href="{% url 'admin:financeiro_cr_change' parcela.cr.pk %}">{{ parcela.cr }}</a> | |
› {{ title }} | |
</div> | |
{% endblock %} | |
{% endif %} | |
{% block content %} | |
<div id="content-main"> | |
{% block object-tools %} | |
<ul class="object-tools"> | |
{% block object-tools-items %} | |
<li> | |
<a href="{% url 'admin:financeiro_cr_change' parcela.cr.pk %}">Voltar</a> | |
</li> | |
{% endblock %} | |
</ul> | |
{% endblock %} | |
<form method="post" id="finalize_product_entry_form"> | |
{% csrf_token %} | |
<div> | |
<h2>Baixar parcela</h2> | |
<table width="100%"> | |
<tr> | |
<th>Título</th> | |
<th>Parcela</th> | |
<th>Valor</th> | |
<th>Saldo</th> | |
</tr> | |
<tr> | |
<td>{{ parcela.cr }}</td> | |
<td>{{ parcela.parcela }}</td> | |
<td>R$ {{ parcela.valor }}</td> | |
<td>R$ {{ parcela.saldo }}</td> | |
</tr> | |
</table> | |
</div> | |
<h3>Informe os dados abaixo e um valor correspondente ao saldo que será baixado.</h3> | |
<small>Se um valor menor que o saldo for informado a parcela será baixada parcialmente.</small> | |
<fieldset class="module aligned"> | |
{% for field in form %} | |
<div class="form-row"> | |
<div> | |
{{ field.label_tag }} | |
{{ field }} | |
<p class="help">{{ field.help_text }}</p> | |
{{ field.errors }} | |
</div> | |
</div> | |
{% endfor %} | |
</fieldset> | |
{% block submit_buttons_bottom %} | |
<div class="submit-row"> | |
<input type="submit" value="Baixar Parcela" class="default" | |
name="_baixar_parcela"> | |
</div> | |
{% endblock %} | |
</form> | |
</div> | |
{% endblock %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment