123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- # -*- coding: utf-8 -*-
- from openerp.http import request
- from eiru_logging import make_info_log
- _MODEL= 'account.bank.statement.line'
- ''' Get Line statement '''
- def get_line_statement(statementId):
- from res_partner import get_partner_name
- lines= '''
- SELECT
- line.id as id,
- line.date,
- line.name,
- line.ref,
- line.amount,
- line.partner_id
- FROM account_bank_statement_line as line
- WHERE line.statement_id = %s
- '''
- request.cr.execute(lines,[statementId])
- return [{
- 'id': line[0],
- 'date': line[1],
- 'name': line[2],
- 'ref': line[3],
- 'amount': line[4],
- 'partnerId': line[5],
- 'partnerNane': get_partner_name(line[5]) or ''
- } for line in request.cr.fetchall()]
- ''' Create Statement line '''
- def create_statement_line(values):
- return request.env[_MODEL].sudo().create(values)
- ''' Modify statement line '''
- def modify_statement_line(value):
- ''' DELETED '''
- from cashbox_transfer import verify_transfer, writer_cashbox_transfer
- from server_datetime import get_date
- from cashbox_input import verify_casboxin, writer_casboIn
- from cashbox_output import verify_casbox_out,writer_casboOut
- messageDelet = ""
- messageWrite = ""
- if (value['linesDeleted']):
- make_info_log('Unlink Statement Line')
- for line in request.env[_MODEL].search([('id', 'in', value['linesDeleted'])]):
- ## line Transferencia.
- transfer = verify_transfer(line.id)
- if (transfer):
- if (transfer['statementConfirm']):
- messageDelet += "No se puede eliminar la linea (%s), Obs. (%s)" %(line.name, transfer['messageConfirm'])
- continue
- statementName = line.statement_id.name
- ## Unlink Lines input
- unlink_statement_line(transfer['inputLine'])
- ## Unlink Lines output
- unlink_statement_line(transfer['outputLine'])
- ## Writer Transfer
- transferWriter = {
- 'message_deleted': "Transferencia eliminada por %s en %s ,caja %s" %((request.env.user.name), get_date(), statementName),
- 'active': False,
- 'write_uid': request.env.user.id
- }
- writer_cashbox_transfer(transfer['transferId'],transferWriter)
- else :
- inputOutput= {
- 'message_deleted': "Operacion eliminada por %s en %s caja %s" %(request.env.user.name,get_date(),line.statement_id.name),
- 'active': False
- }
- ## line Input
- inputCasbox = verify_casboxin(line.id)
- outPutCasbox= verify_casbox_out(line.id)
- # writer Input
- if(inputCasbox):
- writer_casboIn(inputCasbox.id, inputOutput)
- ## Writer outPut
- if(outPutCasbox):
- writer_casboOut(outPutCasbox.id, inputOutput)
- ## Unlink Line
- unlink_statement_line(line.id)
- ''' UPDATE '''
- if (value['lineUpdate']):
- make_info_log('Write Statement Line')
- for update in value['lineUpdate']:
- lineStatement = request.env[_MODEL].browse(update['id'])
- if (lineStatement):
- lines = {
- 'amount': update['amount'],
- 'date': update['date'],
- 'name': update['name'],
- 'partner_id': update['partnerId'],
- 'ref':update['ref'],
- }
- write_statement_line(lineStatement, lines)
- return {
- 'state': True,
- 'message': '%s %s' %(messageDelet, messageWrite)
- }
- ''' UnLink '''
- def unlink_statement_line(lineId):
- lineUnlink = request.env[_MODEL].browse(lineId)
- if (not lineUnlink):
- return False
- if(lineUnlink.is_deleted):
- lineUnlink.sudo().write({'is_deleted': False})
- return lineUnlink.sudo().unlink()
- ''' Write '''
- def write_statement_line(line, value):
- return line.sudo().write(value)
|