mirror of https://gitlab.federez.net/re2o/re2o
committed by
chirac
6 changed files with 120 additions and 6 deletions
@ -0,0 +1,28 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11.23 on 2019-09-30 09:19 |
|||
from __future__ import unicode_literals |
|||
|
|||
import cotisations.payment_methods.mixins |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('cotisations', '0038_auto_20181231_1657'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='FreePayment', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('payment', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='payment_method', to='cotisations.Paiement')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Free payment', |
|||
}, |
|||
bases=(cotisations.payment_methods.mixins.PaymentMethodMixin, models.Model), |
|||
), |
|||
] |
|||
@ -0,0 +1,27 @@ |
|||
# -*- mode: python; coding: utf-8 -*- |
|||
# Re2o est un logiciel d'administration développé initiallement au rezometz. Il |
|||
# se veut agnostique au réseau considéré, de manière à être installable en |
|||
# quelques clics. |
|||
# |
|||
# Copyright © 2019 Hugo Levy-Falk |
|||
# |
|||
# This program is free software; you can redistribute it and/or modify |
|||
# it under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 2 of the License, or |
|||
# (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License along |
|||
# with this program; if not, write to the Free Software Foundation, Inc., |
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
""" |
|||
This module contains a method to pay online using user balance. |
|||
""" |
|||
from . import models |
|||
NAME = "FREE" |
|||
|
|||
PaymentMethod = models.FreePayment |
|||
@ -0,0 +1,61 @@ |
|||
# -*- mode: python; coding: utf-8 -*- |
|||
# Re2o est un logiciel d'administration développé initiallement au rezometz. Il |
|||
# se veut agnostique au réseau considéré, de manière à être installable en |
|||
# quelques clics. |
|||
# |
|||
# Copyright © 2018 Hugo Levy-Falk |
|||
# |
|||
# This program is free software; you can redistribute it and/or modify |
|||
# it under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; either version 2 of the License, or |
|||
# (at your option) any later version. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License along |
|||
# with this program; if not, write to the Free Software Foundation, Inc., |
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
from django.db import models |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from django.contrib import messages |
|||
|
|||
|
|||
from cotisations.models import Paiement |
|||
from cotisations.payment_methods.mixins import PaymentMethodMixin |
|||
|
|||
|
|||
class FreePayment(PaymentMethodMixin, models.Model): |
|||
""" |
|||
The model allowing you to bypass payment if the invoice is free. |
|||
""" |
|||
|
|||
class Meta: |
|||
verbose_name = _("Free payment") |
|||
|
|||
payment = models.OneToOneField( |
|||
Paiement, |
|||
on_delete=models.CASCADE, |
|||
related_name='payment_method', |
|||
editable=False |
|||
) |
|||
|
|||
def end_payment(self, invoice, request): |
|||
"""Ends the payment normally. |
|||
""" |
|||
return invoice.paiement.end_payment( |
|||
invoice, |
|||
request, |
|||
use_payment_method=False |
|||
) |
|||
|
|||
def check_price(self, price, user, *args, **kwargs): |
|||
"""Checks that the price meets the requirement to be paid with user |
|||
balance. |
|||
""" |
|||
return ( |
|||
price == 0, |
|||
_("You cannot validate this invoice for free.") |
|||
) |
|||
Loading…
Reference in new issue