def editar(request,id): asiento=AsientoContable.objects.get(pk=id) asientos_detalles=AsientoContableDetalle.objects.filter(asiento_contable_id=id) if request.user.has_perm(USUARIO_LIMITADO): id_comunidad = get_comunidad(request.user) else: id_comunidad=asiento.comunidad_id bancos = CuentaBancaria.objects.filter(comunidad_id=id_comunidad) if request.method == 'POST': addOther=request.POST.get('_addanother','').encode('utf8') save=request.POST.get('_save','') total_rows=int(request.POST.get('cantidad_rows',0)) fecha=request.POST.get('fecha','') fecha=datetime.datetime.strptime(fecha, "%d/%m/%Y") asiento.fecha = fecha asiento.save() for a in asientos_detalles: a.delete() fields="" for i in range(total_rows): id_cuenta = request.POST.get('asientocontabledetalle_set-' + str(i) + '-cuenta', '') debe = Decimal(request.POST.get('asientocontabledetalle_set-' + str(i) + '-debe', 0.00)) haber = Decimal(request.POST.get('asientocontabledetalle_set-' + str(i) + '-haber', 0.00)) obs = request.POST.get('asientocontabledetalle_set-' + str(i) + '-observacion', '') print 'id_cuenta: '+str(id_cuenta)+' debe: '+str(debe)+' haber: '+str(haber)+' obs: '+str(obs) if id_cuenta != '': id_cuenta=int(id_cuenta) cuenta=Cuenta.objects.get(pk=id_cuenta) asiento_detalle=AsientoContableDetalle() asiento_detalle.cuenta_id=id_cuenta asiento_detalle.debe=debe asiento_detalle.haber=haber asiento_detalle.asiento_contable=asiento asiento_detalle.observacion=obs if cuenta.codigo == '1.2.5.2': banco_id = request.POST.get('asientocontabledetalle_set-' + str(i) + '-banco', 0) asiento_detalle.cuenta_bancaria_id=banco_id asiento_detalle.save() fields+='id:'+str(id_cuenta)+'-'+str(debe)+'-'+str(haber)+"\n" LogEntry.objects.log_action( user_id=request.user.id, content_type_id=ContentType.objects.get_for_model(AsientoContable).pk, object_id=asiento.id, object_repr=unicode(fields), action_flag=CHANGE) return HttpResponseRedirect('/asiento/editar/'+str(id)) if save == 'Grabar': return HttpResponseRedirect('/asiento/listar/') filas=[] for i in range(len(asientos_detalles),50): filas.append(i) asiento.fecha=str(asiento.fecha.strftime('%d/%m/%Y')) if not request.user.has_perm(USUARIO_LIMITADO): return render_to_response('balance/admin_edit_asiento.html',{'filas':filas,'bancos': bancos, 'asiento':asiento, 'asientos_detalles':asientos_detalles}, context_instance=RequestContext(request)) else: return render_to_response('balance/edit_change_form.html', {'asiento':asiento,'filas':filas, 'asientos_detalles':asientos_detalles,'bancos':bancos}, context_instance=RequestContext(request))
def nuevo(request,id_comunidad=''): usuario=request.user if usuario.has_perm(USUARIO_LIMITADO) and id_comunidad=='': id_comunidad = get_comunidad(usuario) if id_comunidad == 0: return HttpResponseRedirect('/admin') else: if id_comunidad == '': return HttpResponseRedirect('/admin') bancos = CuentaBancaria.objects.filter(comunidad_id=id_comunidad) if request.method == 'POST': addOther = request.POST.get('_addanother', '').encode('utf8') save=request.POST.get('_save','') total_rows=int(request.POST.get('cantidad_rows',0)) print 'asdf: '+str(total_rows) fecha=request.POST.get('fecha','') fecha=datetime.datetime.strptime(fecha, "%d/%m/%Y") asiento = AsientoContable() asiento.fecha = fecha asiento.comunidad_id = id_comunidad asiento.save() fields="" for i in range(0,total_rows): id_cuenta = request.POST.get('asientocontabledetalle_set-' + str(i) + '-cuenta', '') debe = Decimal(request.POST.get('asientocontabledetalle_set-' + str(i) + '-debe', '')) haber = Decimal(request.POST.get('asientocontabledetalle_set-' + str(i) + '-haber', '')) obs = request.POST.get('asientocontabledetalle_set-' + str(i) + '-observacion', '') if id_cuenta != '': id_cuenta=int(id_cuenta) cuenta=Cuenta.objects.get(pk=id_cuenta) asiento_detalle=AsientoContableDetalle() asiento_detalle.cuenta_id=id_cuenta asiento_detalle.debe=debe asiento_detalle.haber=haber asiento_detalle.asiento_contable=asiento asiento_detalle.observacion=obs if cuenta.codigo == '1.2.5.2': banco_id = request.POST.get('asientocontabledetalle_set-' + str(i) + '-banco', 0) asiento_detalle.cuenta_bancaria_id=banco_id asiento_detalle.save() fields+='id:'+str(id_cuenta)+'-'+str(debe)+'-'+str(haber)+"\n" LogEntry.objects.log_action( user_id=request.user.id, content_type_id=ContentType.objects.get_for_model(AsientoContable).pk, object_id=asiento.id, object_repr=unicode(fields), action_flag=ADDITION) cuentas=Cuenta.objects.all() filas=[] for i in range(0,50): filas.append(i) if not request.user.has_perm(USUARIO_LIMITADO): return render_to_response('balance/admin_change_form.html', {'add': True, 'filas':filas,'bancos': bancos, 'hoy': str(timezone_today().strftime('%d/%m/%Y'))}, context_instance=RequestContext(request)) else: return render_to_response('balance/nuevo_change_form.html', {'add':True,'filas':filas,'bancos':bancos,'hoy':str(timezone_today().strftime('%d/%m/%Y'))}, context_instance=RequestContext(request))