You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
2.0 KiB

  1. # -*- coding: utf-8 -*-
  2. from openerp import models, fields, api
  3. class AddRespondentsWizard(models.TransientModel):
  4. _name = 'cooperator.number.wizard'
  5. from_number = fields.Integer(string="From number")
  6. to_number = fields.Integer(string="To number")
  7. reference = fields.Char(string="Reference", required=True, help='Enter your emails or references separeted by a semicolon')
  8. on_reference = fields.Boolean('On reference')
  9. on_email = fields.Boolean('On email', default=True)
  10. @api.onchange('on_reference')
  11. def onchange_reference(self):
  12. if self.on_reference:
  13. self.on_email = False
  14. @api.onchange('on_email')
  15. def onchange_email(self):
  16. if self.on_email:
  17. self.on_reference = False
  18. @api.one
  19. def compute_cooperator_number(self):
  20. obj_sequence = self.env['ir.sequence']
  21. list = self.reference.split(',')
  22. for ref in list:
  23. coop = self.env['res.partner'].search([('cooperator','=',True),('member','=',True),('email','=',ref)])
  24. if coop:
  25. sequence_id = obj_sequence.search([('name','=','Subscription Register')])[0]
  26. sub_reg_num = sequence_id.next_by_id()
  27. coop.write({'cooperator_register_number':int(sub_reg_num)})
  28. subscription_register = self.env['subscription.register'].search([('partner_id','=',coop.id)])
  29. if subscription_register:
  30. sequence_operation = obj_sequence.search([('name','=','Register Operation')])[0]
  31. sub_reg_operation = sequence_operation.next_by_id()
  32. subscription_register.write({'name':sub_reg_operation,'register_number_operation':int(sub_reg_operation)})
  33. else:
  34. print "subscription register not found for " + coop.name
  35. else:
  36. print "cooperator not found for " + ref