inicial
This commit is contained in:
181
condominio_sadicarnot81_Nvo/admin.py
Normal file
181
condominio_sadicarnot81_Nvo/admin.py
Normal file
@@ -0,0 +1,181 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import Movimiento, DetalleMovimiento, CuentaBanco, CuotasCondominio, Condomino, AcumuladoMes, Registro, MovSinIdent, Asiento
|
||||
|
||||
from .procesos import run_determinacionSaldos_sadi81Nvo
|
||||
|
||||
from catalogos.models import PeriodoCorte
|
||||
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
# Register your models here.
|
||||
class DetalleMovtoInline(admin.TabularInline):
|
||||
model = DetalleMovimiento
|
||||
fields = ['cuenta_contable', 'monto', 'comentario']
|
||||
|
||||
def get_extra(self, request, obj=None, **kwargs):
|
||||
extra = 4
|
||||
return extra
|
||||
|
||||
@admin.register(Movimiento)
|
||||
class MovtoAdmin(admin.ModelAdmin):
|
||||
list_display = ('id','fecha_movimiento','descripcion','retiros','depositos','condomino', 'conciliacion')
|
||||
search_fields = ('descripcion',)
|
||||
date_hierarchy = 'fecha_movimiento'
|
||||
ordering = ('-fecha_movimiento',)
|
||||
save_on_top = True
|
||||
inlines = [DetalleMovtoInline]
|
||||
|
||||
def retiros(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.retiro)
|
||||
|
||||
def depositos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.deposito)
|
||||
|
||||
def conciliacion(self, request, obj=None, **kwargs):
|
||||
cantidades = DetalleMovimiento.objects.filter(movimiento_id=request.id).values_list('monto', flat=True)
|
||||
total = sum(cantidades)
|
||||
if (total != (request.retiro + request.deposito)):
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
conciliacion.boolean = True
|
||||
|
||||
@admin.register(CuentaBanco)
|
||||
class CuentaBancoAdmin(admin.ModelAdmin):
|
||||
list_display = ('banco','clabe','apoderado')
|
||||
|
||||
@admin.register(CuotasCondominio)
|
||||
class CuotasAdmin(admin.ModelAdmin):
|
||||
list_display = ('descripcion', 'mes_inicial', 'mes_final', 'cantidad','cuenta_contable')
|
||||
ordering = ('-mes_inicial',)
|
||||
actions = ['cambiofechas',]
|
||||
|
||||
def cantidad(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.monto)
|
||||
|
||||
def cambiofechas(self, request, queryset):
|
||||
# condominio "SADI81NVO" tiene el id 9
|
||||
oPer = PeriodoCorte.objects.get(id=9)
|
||||
fecha_corte = oPer.fecha_final
|
||||
#print(fecha_corte)
|
||||
for obj in queryset:
|
||||
id = "%s" % obj.id
|
||||
obj.mes_final = fecha_corte
|
||||
obj.save()
|
||||
self.message_user(request, " Fin del proceso de cambio de fechas ")
|
||||
|
||||
cambiofechas.short_description = "Cambio de fecha de corte de cuotas "
|
||||
|
||||
@admin.register(Condomino)
|
||||
class CondominoAdmin(admin.ModelAdmin):
|
||||
list_display = ('depto', 'poseedor', 'adeudo_inicio', 'cuotas', 'depositos', 'adeudo_actual')
|
||||
search_fields = ('depto', 'propietario', 'poseedor')
|
||||
actions = ['determina_saldos']
|
||||
|
||||
def adeudo_inicio(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.adeudo_inicial)
|
||||
|
||||
def cuotas(self, request, obj=None, **kwargs):
|
||||
cargos = request.cargos - request.adeudo_inicial
|
||||
return "{:,}".format(cargos)
|
||||
|
||||
def depositos(self, request, obj=None, **kwargs):
|
||||
pagos = request.abonos
|
||||
return "{:,}".format(pagos)
|
||||
|
||||
def adeudo_actual(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.saldo)
|
||||
|
||||
def determina_saldos(self, request, queryset):
|
||||
for obj in queryset:
|
||||
# print(" determina saldos %s " % obj.depto)
|
||||
run_determinacionSaldos_sadi81Nvo(obj)
|
||||
#pass
|
||||
self.message_user(request, " Fin del proceso de determinacion de saldos ")
|
||||
|
||||
determina_saldos.short_description = "Determinacion de Saldos"
|
||||
|
||||
@admin.register(AcumuladoMes)
|
||||
class AcumuladoAdmin(admin.ModelAdmin):
|
||||
list_display = ('cuenta_banco', 'mes', 'fecha_inicial', 'fecha_final', 'Depositado', 'Retirado', 'Saldos')
|
||||
ordering = ('-fecha_inicial', 'cuenta_banco',)
|
||||
#actions = ['export_as_csv']
|
||||
#change_list_template = "admin/titulo_acumulados.html"
|
||||
|
||||
def Depositado(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.depositos)
|
||||
|
||||
def Retirado(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.retiros)
|
||||
|
||||
def Saldos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.saldo)
|
||||
|
||||
class dontLog:
|
||||
def log_deletion(self, **kwargs):
|
||||
return
|
||||
|
||||
@admin.register(Asiento)
|
||||
class AsientoAdmin(dontLog, admin.ModelAdmin):
|
||||
list_display = ('fecha','descripcion','condomino','Cargos','Depositos','Saldo')
|
||||
#change_list_template = "admin/titulo_registros.html"
|
||||
ordering = ('-fecha','-id')
|
||||
|
||||
def Depositos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.debe)
|
||||
|
||||
def Cargos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.haber)
|
||||
|
||||
def Saldo(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.saldo)
|
||||
|
||||
#@admin.register(Registro)
|
||||
class RegistroAdmin(dontLog, admin.ModelAdmin):
|
||||
list_display = ('fecha','E','descripcion','Cargos','Depositos','Saldo')
|
||||
change_list_template = "admin/titulo_registros.html"
|
||||
ordering = ('-fecha','-id')
|
||||
|
||||
def Depositos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.debe)
|
||||
|
||||
def Cargos(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.haber)
|
||||
|
||||
def Saldo(self, request, obj=None, **kwargs):
|
||||
return "{:,}".format(request.saldo)
|
||||
|
||||
def E(self, request, obj=None, **kwargs):
|
||||
icon = '''
|
||||
<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<g id="right">
|
||||
<path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
|
||||
</g>
|
||||
</defs>
|
||||
<use xlink:href="#right" x="0" y="0" fill="#447e9b" />
|
||||
</svg>
|
||||
'''
|
||||
#text = format_html('<img src="{}" alt="view">', icon)
|
||||
if(request.debe > 0):
|
||||
#return _boolean_icon(True)
|
||||
return mark_safe('%s' % icon)
|
||||
else:
|
||||
return ""
|
||||
|
||||
E.allow_tags = True
|
||||
|
||||
@admin.register(MovSinIdent)
|
||||
class MovSinIdentAdmin(admin.ModelAdmin):
|
||||
list_display = ('cuenta_banco', 'fecha_movimiento', 'descripcion', 'deposito')
|
||||
date_hierarchy = 'fecha_movimiento'
|
||||
save_on_top = True
|
||||
inlines = [DetalleMovtoInline]
|
||||
ordering = ('-fecha_movimiento',)
|
||||
|
||||
def get_queryset(self, request):
|
||||
query = super(MovSinIdentAdmin, self).get_queryset(request)
|
||||
filtered_query = query.filter(condomino__depto='0000').exclude(retiro__gt=0)
|
||||
return filtered_query
|
||||
Reference in New Issue
Block a user