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.

43 lines
2.1 KiB

  1. from odoo import models, fields, api, _
  2. from odoo.exceptions import ValidationError
  3. class Partner(models.Model):
  4. _inherit = 'res.partner'
  5. date_stamp = fields.Date(string="Timestamp", help="Date de remplissage du formulaire")
  6. birthdate = fields.Date(string="Date d'anniversaire")
  7. payment_date = fields.Date(string="Date de paiement")
  8. certificate_sent_date = fields.Date(string="Certificat envoyé le")
  9. fiscal_certificate_sent_date = fields.Date(string="Attestation fiscale envoyée le")
  10. coop_number = fields.Integer(string="Coop N°")
  11. share_qty = fields.Integer(string="Nombre de part")
  12. share_amount = fields.Float(string="Montant", compute="_compute_share_amount")
  13. gender = fields.Selection([('female','Féminin'),('male','Masculin'),('other','Autre')], string="Genre")
  14. cooperator_type = fields.Selection([('share_a', 'Part A'), ('share_b', 'Part B'), ('share_c', 'Part C'), ('share_d', 'Part D')], string="Type de Part")
  15. state_request = fields.Selection([('ok',"En ordre"),('waiting_payment','En attente de paiement'),
  16. ('certificate_to_send', 'Certificat à envoyer'), ('resigning', 'Parts revendues')]) #TODO should we use the cooperative.status model instead?
  17. national_register_number = fields.Char(string="Numéro de registre national") #TODO add constraint / check consistancy
  18. share_numbers = fields.Char(string="Numéro de parts")
  19. payment_details = fields.Char(string="Détail de paiement")
  20. iban = fields.Char(string="IBAN") #TODO remove. Temp for import purpose.
  21. comment_request = fields.Char(string="Commentaire")
  22. email_sent = fields.Boolean(string="Email envoyé")
  23. is_worker = fields.Boolean(compute="_compute_is_worker", string="is Worker", readonly=True, store=True)
  24. @api.depends('share_qty')
  25. def _compute_share_amount(self):
  26. for rec in self:
  27. rec.share_amount = rec.share_qty * 25.0 #TODO add ir.config_parameter to make this amount editable
  28. @api.depends('cooperator_type')
  29. def _compute_is_worker(self):
  30. for rec in self:
  31. rec.is_worker = rec.cooperator_type == 'share_b'