account_bank_statement_line.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # -*- coding: utf-8 -*-
  2. from openerp.http import request
  3. from eiru_logging import make_info_log
  4. _MODEL= 'account.bank.statement.line'
  5. ''' Get Line statement '''
  6. def get_line_statement(statementId):
  7. from res_partner import get_partner_name
  8. lines= '''
  9. SELECT
  10. line.id as id,
  11. line.date,
  12. line.name,
  13. line.ref,
  14. line.amount,
  15. line.partner_id
  16. FROM account_bank_statement_line as line
  17. WHERE line.statement_id = %s
  18. '''
  19. request.cr.execute(lines,[statementId])
  20. return [{
  21. 'id': line[0],
  22. 'date': line[1],
  23. 'name': line[2],
  24. 'ref': line[3],
  25. 'amount': line[4],
  26. 'partnerId': line[5],
  27. 'partnerNane': get_partner_name(line[5]) or ''
  28. } for line in request.cr.fetchall()]
  29. ''' Create Statement line '''
  30. def create_statement_line(values):
  31. return request.env[_MODEL].sudo().create(values)
  32. ''' Modify statement line '''
  33. def modify_statement_line(value):
  34. ''' DELETED '''
  35. if (value['linesDeleted']):
  36. make_info_log('Unlink Statement Line')
  37. for line in request.env[_MODEL].search([('id', 'in', value['linesDeleted'])]):
  38. if(line.is_deleted):
  39. lineWrite={'is_deleted': False}
  40. write_statement_line(line,lineWrite)
  41. unlink_statement_line(line)
  42. ''' UPDATE '''
  43. if (value['lineUpdate']):
  44. make_info_log('Write Statement Line')
  45. for update in value['lineUpdate']:
  46. lineStatement = request.env[_MODEL].browse(update['id'])
  47. if (lineStatement):
  48. lines = {
  49. 'amount': update['amount'],
  50. 'date': update['date'],
  51. 'name': update['name'],
  52. 'partner_id': update['partnerId'],
  53. 'ref':update['ref'],
  54. }
  55. write_statement_line(lineStatement, lines)
  56. return {
  57. 'state': True,
  58. 'message': 'Proceso finalizado.'
  59. }
  60. ''' Unlink '''
  61. def unlink_statement_line(line):
  62. return line.sudo().unlink()
  63. ''' Write '''
  64. def write_statement_line(line, value):
  65. return line.sudo().write(value)