Loading __init__.py +19 −21 Original line number Diff line number Diff line Loading @@ -9,8 +9,7 @@ __all__ = ['register'] def register(): Pool.register( Member, Pool.register(Member, Configuration, MemberSequence, Membership, Loading @@ -21,14 +20,13 @@ def register(): GenerateFeeStart, Cron, PrintMembersBookStart, module='association', type_='model') module='association', type_='model') Pool.register( PostFee, Pool.register(PostFee, GenerateFee, MembersBookWizard, module='association', type_='wizard') module='association', type_='wizard') Pool.register( MembersBookReport, module='association', type_='report') Pool.register(MembersBookReport, module='association', type_='report') account.py +3 −2 Original line number Diff line number Diff line from trytond.pool import PoolMeta, Pool from trytond.pool import PoolMeta __all__ = ['Move'] class Move(metaclass=PoolMeta): __name__ = 'account.move' Loading configuration.py +27 −19 Original line number Diff line number Diff line from trytond import backend from trytond.model import (ModelView, ModelSQL, ModelSingleton, fields) from trytond.pyson import Eval from trytond.modules.company.model import (CompanyMultiValueMixin, CompanyValueMixin) from trytond.modules.company.model import (CompanyMultiValueMixin, CompanyValueMixin) from trytond.tools.multivalue import migrate_property __all__ = ['Configuration', 'MemberSequence'] class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin): class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin): """Association Configuration""" __name__ = 'association.configuration' member_sequence = fields.MultiValue(fields.Many2One( 'ir.sequence', "Member Sequence", required=True, member_sequence = fields.MultiValue( fields.Many2One('ir.sequence', "Member Sequence", required=True, domain=[ ('company', 'in', [Eval('context', {}).get('company', -1), None]), Loading @@ -22,10 +26,12 @@ class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin) class MemberSequence(ModelSQL, CompanyValueMixin): """Member Configuration Sequence""" __name__ = 'association.configuration.member_sequence' member_sequence = fields.Many2One( 'ir.sequence', "Member Sequence", required=True, member_sequence = fields.Many2One('ir.sequence', "Member Sequence", required=True, domain=[ ('company', 'in', [Eval('company', -1), None]), ('company', 'in', [Eval('company', -1), None]), ('code', '=', 'association.member'), ], depends=['company']) Loading @@ -45,6 +51,8 @@ class MemberSequence(ModelSQL, CompanyValueMixin): field_names.append('member_sequence') value_names.append('member_sequence') fields.append('company') migrate_property( 'association.configuration', field_names, cls, value_names, migrate_property('association.configuration', field_names, cls, value_names, fields=fields) member.py +4 −4 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ class Member(Workflow, ModelSQL, ModelView): _rec_name = 'party_name' party_name = fields.Function(fields.Char("Party Name"), 'on_change_with_party_name',searcher='search_party_member') 'on_change_with_party_name', searcher='search_party_member') state = fields.Selection(STATES, 'State', readonly=True) code = fields.Char('Code', required=True, Loading Loading @@ -88,7 +89,6 @@ class Member(Workflow, ModelSQL, ModelView): depends=['state'], states={'readonly': Eval('state') != 'draft'}) @classmethod def __setup__(cls): super(Member, cls).__setup__() Loading membership.py +14 −7 Original line number Diff line number Diff line Loading @@ -54,9 +54,7 @@ class Membership(ModelSQL, ModelView): 'account.journal', 'Journal', ondelete='RESTRICT', help= "The accounting journal where the moves associated to this membership shold be stored" ) help="The accounting journal that will be used for the fee") account_revenue = fields.Many2One( 'account.account', 'Account Revenue', Loading Loading @@ -95,7 +93,6 @@ class Line(ModelSQL, ModelView): 'on_change_with_member_join_date') member_leave_date = fields.Function(fields.Date("Member Leave Date"), 'on_change_with_member_leave_date') member = fields.Many2One('association.member', "Member", states=_LINE_STATES, Loading Loading @@ -330,8 +327,18 @@ class Fee(ModelSQL, ModelView): pool = Pool() MoveLine = pool.get('account.move.line') account = self.member.party.account_receivable if amount > 0 else self.period.membership.account_revenue party = self.member.party if account.party_required else None account = None if amount > 0: account = self.member.party.account_receivable else: account = self.period.membership.account_revenue party = None if account.party_required: party = self.member.party else: party = None return MoveLine( debit=abs(amount) if amount > 0 else 0, credit=abs(amount) if amount < 0 else 0, Loading Loading
__init__.py +19 −21 Original line number Diff line number Diff line Loading @@ -9,8 +9,7 @@ __all__ = ['register'] def register(): Pool.register( Member, Pool.register(Member, Configuration, MemberSequence, Membership, Loading @@ -21,14 +20,13 @@ def register(): GenerateFeeStart, Cron, PrintMembersBookStart, module='association', type_='model') module='association', type_='model') Pool.register( PostFee, Pool.register(PostFee, GenerateFee, MembersBookWizard, module='association', type_='wizard') module='association', type_='wizard') Pool.register( MembersBookReport, module='association', type_='report') Pool.register(MembersBookReport, module='association', type_='report')
account.py +3 −2 Original line number Diff line number Diff line from trytond.pool import PoolMeta, Pool from trytond.pool import PoolMeta __all__ = ['Move'] class Move(metaclass=PoolMeta): __name__ = 'account.move' Loading
configuration.py +27 −19 Original line number Diff line number Diff line from trytond import backend from trytond.model import (ModelView, ModelSQL, ModelSingleton, fields) from trytond.pyson import Eval from trytond.modules.company.model import (CompanyMultiValueMixin, CompanyValueMixin) from trytond.modules.company.model import (CompanyMultiValueMixin, CompanyValueMixin) from trytond.tools.multivalue import migrate_property __all__ = ['Configuration', 'MemberSequence'] class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin): class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin): """Association Configuration""" __name__ = 'association.configuration' member_sequence = fields.MultiValue(fields.Many2One( 'ir.sequence', "Member Sequence", required=True, member_sequence = fields.MultiValue( fields.Many2One('ir.sequence', "Member Sequence", required=True, domain=[ ('company', 'in', [Eval('context', {}).get('company', -1), None]), Loading @@ -22,10 +26,12 @@ class Configuration(ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin) class MemberSequence(ModelSQL, CompanyValueMixin): """Member Configuration Sequence""" __name__ = 'association.configuration.member_sequence' member_sequence = fields.Many2One( 'ir.sequence', "Member Sequence", required=True, member_sequence = fields.Many2One('ir.sequence', "Member Sequence", required=True, domain=[ ('company', 'in', [Eval('company', -1), None]), ('company', 'in', [Eval('company', -1), None]), ('code', '=', 'association.member'), ], depends=['company']) Loading @@ -45,6 +51,8 @@ class MemberSequence(ModelSQL, CompanyValueMixin): field_names.append('member_sequence') value_names.append('member_sequence') fields.append('company') migrate_property( 'association.configuration', field_names, cls, value_names, migrate_property('association.configuration', field_names, cls, value_names, fields=fields)
member.py +4 −4 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ class Member(Workflow, ModelSQL, ModelView): _rec_name = 'party_name' party_name = fields.Function(fields.Char("Party Name"), 'on_change_with_party_name',searcher='search_party_member') 'on_change_with_party_name', searcher='search_party_member') state = fields.Selection(STATES, 'State', readonly=True) code = fields.Char('Code', required=True, Loading Loading @@ -88,7 +89,6 @@ class Member(Workflow, ModelSQL, ModelView): depends=['state'], states={'readonly': Eval('state') != 'draft'}) @classmethod def __setup__(cls): super(Member, cls).__setup__() Loading
membership.py +14 −7 Original line number Diff line number Diff line Loading @@ -54,9 +54,7 @@ class Membership(ModelSQL, ModelView): 'account.journal', 'Journal', ondelete='RESTRICT', help= "The accounting journal where the moves associated to this membership shold be stored" ) help="The accounting journal that will be used for the fee") account_revenue = fields.Many2One( 'account.account', 'Account Revenue', Loading Loading @@ -95,7 +93,6 @@ class Line(ModelSQL, ModelView): 'on_change_with_member_join_date') member_leave_date = fields.Function(fields.Date("Member Leave Date"), 'on_change_with_member_leave_date') member = fields.Many2One('association.member', "Member", states=_LINE_STATES, Loading Loading @@ -330,8 +327,18 @@ class Fee(ModelSQL, ModelView): pool = Pool() MoveLine = pool.get('account.move.line') account = self.member.party.account_receivable if amount > 0 else self.period.membership.account_revenue party = self.member.party if account.party_required else None account = None if amount > 0: account = self.member.party.account_receivable else: account = self.period.membership.account_revenue party = None if account.party_required: party = self.member.party else: party = None return MoveLine( debit=abs(amount) if amount > 0 else 0, credit=abs(amount) if amount < 0 else 0, Loading