class PaymentSchema(colander.MappingSchema): """ colander schema for payment recording """ come_from = forms.come_from_node() bank_remittance_id = colander.SchemaNode( colander.String(), title=u"Identifiant de la remise en banque", description=u"Ce champ est un indicateur permettant de \ retrouver la remise en banque à laquelle cet encaissement est associé", default=deferred_bank_remittance_id_default, ) amount = colander.SchemaNode( AmountType(5), title=u"Montant de l'encaissement", validator=deferred_total_validator, default=deferred_amount_default, ) date = forms.today_node() mode = colander.SchemaNode( colander.String(), title=u"Mode de paiement", widget=deferred_payment_mode_widget, validator=deferred_payment_mode_validator, ) bank_id = colander.SchemaNode( colander.Integer(), title=u"Banque", missing=colander.drop, widget=deferred_bank_widget, validator=deferred_bank_validator, default=forms.get_deferred_default(BankAccount), ) tva_id = colander.SchemaNode(colander.Integer(), title=u"Tva liée à cet encaissement", widget=forms.get_deferred_select( Tva, mandatory=True, keys=('id', 'name')), validator=deferred_tva_id_validator) resulted = colander.SchemaNode( colander.Boolean(), title=u"Soldé", description="""Indique que le document est soldé ( ne recevra plus de paiement), si le montant indiqué correspond au montant de la facture celle-ci est soldée automatiquement""", default=False, )
class MultiplePaymentSchema(colander.MappingSchema): """ colander schema for payment recording """ come_from = forms.come_from_node() bank_remittance_id = colander.SchemaNode( colander.String(), title=u"Identifiant de la remise en banque", default= deferred_remittance_amount_default, # FIXME: C'est quoi cette ligne ? ) payment_amount = colander.SchemaNode( AmountType(5), title=u"Montant du paiement", description=u"Ce champ permet de contrôler que la somme des \ encaissements saisis dans ce formulaire correspondent bien au montant du \ paiement.", validator=deferred_total_validator, default=deferred_amount_default, ) date = forms.today_node(title=u"Date de la remise") mode = colander.SchemaNode( colander.String(), title=u"Mode de paiement", widget=deferred_payment_mode_widget, validator=deferred_payment_mode_validator, ) bank_id = colander.SchemaNode( colander.Integer(), title=u"Banque", missing=colander.drop, widget=deferred_bank_widget, default=forms.get_deferred_default(BankAccount), ) tvas = TvaPaymentSequence(title=u'Encaissements par taux de Tva') resulted = colander.SchemaNode( colander.Boolean(), title=u"Soldé", description="""Indique que le document est soldé ( ne recevra plus de paiement), si le montant indiqué correspond au montant de la facture celle-ci est soldée automatiquement""", default=False, )
class ExpensePaymentSchema(colander.MappingSchema): """ Schéma de saisi des paiements des notes de dépense """ come_from = forms.come_from_node() amount = colander.SchemaNode( AmountType(), title=u"Montant du paiement", validator=deferred_expense_total_validator, default=deferred_amount_default, ) date = forms.today_node() mode = colander.SchemaNode( colander.String(), title=u"Mode de paiement", widget=deferred_payment_mode_widget, validator=deferred_payment_mode_validator, ) bank_id = colander.SchemaNode( colander.Integer(), title=u"Banque", missing=colander.drop, widget=deferred_bank_widget, validator=deferred_bank_validator, default=forms.get_deferred_default(BankAccount), ) waiver = colander.SchemaNode( colander.Boolean(), title=u"Abandon de créance", description="""Indique que ce paiement correspond à un abandon de créance à la hauteur du montant indiqué (le Mode de paiement et la Banque sont alors ignorés)""", default=False, ) resulted = colander.SchemaNode( colander.Boolean(), title=u"Soldé", description="""Indique que le document est soldé ( ne recevra plus de paiement), si le montant indiqué correspond au montant de feuille de notes de dépense celle-ci est soldée automatiquement""", default=False, )