Guest User

Untitled

a guest
Dec 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. @admin.register(Cr)
  2. class CrAdmin(admin.ModelAdmin):
  3. list_display = ['id', 'get_venda', 'get_cpf_cliente', 'cliente',
  4. 'criado_em', 'get_status_admin']
  5. list_display_links = list_display
  6. search_fields = ['titulo']
  7. autocomplete_fields = ['cliente', 'cond_pagamento', 'conta_padrao',
  8. 'centro_custo']
  9. readonly_fields = ['criado_em', 'get_titulo_id', 'get_venda', 'status']
  10.  
  11. list_filter = [IsVendaListFilter, 'status']
  12.  
  13. inlines = [CrParcelaInLine]
  14.  
  15. fieldsets = (
  16. (None, {'fields': (
  17. 'get_titulo_id', 'get_venda', 'cliente', 'cond_pagamento',
  18. 'conta_padrao', 'centro_custo', 'valor',
  19. )}),
  20. ('INFORMAÇÕES', {'fields': (
  21. 'status', 'criado_em', 'dt_ref', 'historico'
  22. )}),
  23. )
  24.  
  25. def has_delete_permission(self, request, obj=None):
  26. return False
  27.  
  28. def has_change_permission(self, request, obj=None):
  29. return False
  30.  
  31. def get_urls(self):
  32. urls = super().get_urls()
  33. my_urls = [
  34. path('<int:pk>/baixar-parcela/',
  35. self.admin_site.admin_view(self.baixar_parcela_cr),
  36. name='baixar_parcela_cr'),
  37. ]
  38. return my_urls + urls
  39.  
  40. @method_decorator(permission_required('financeiro.baixar_parcela_cr',
  41. raise_exception=True))
  42. def baixar_parcela_cr(self, request, pk):
  43. parcela = CrParcela.objects.get(pk=pk)
  44.  
  45. form = BaixarForm(initial={'conta_bancaria': parcela.cr.conta_padrao,
  46. 'centro_custo': parcela.cr.centro_custo})
  47.  
  48. if request.method == "POST":
  49. form = BaixarForm(request.POST)
  50. if form.is_valid():
  51. try:
  52. parcela.baixar(
  53. conta_bancaria=form.cleaned_data['conta_bancaria'],
  54. centro_custo=form.cleaned_data['centro_custo'],
  55. valor=form.cleaned_data['valor']
  56. )
  57. messages.success(request, 'Parcela baixada com sucesso!')
  58. return redirect('admin:financeiro_cr_change', parcela.cr.pk)
  59. except Exception as e:
  60. messages.error(request, e)
  61.  
  62. context = dict(
  63. self.admin_site.each_context(request),
  64. title='Baixar Parcela',
  65. parcela=parcela,
  66. form=form,
  67. )
  68. return TemplateResponse(request,
  69. 'admin/financeiro/baixar_parcela_cr.html',
  70. context)
Add Comment
Please, Sign In to add comment