general: add support for lingo (#65372)
This commit is contained in:
parent
5e55e3cda7
commit
8da569728c
|
@ -24,6 +24,7 @@ PASSERELLE_MANAGE_COMMAND = 'sudo -u passerelle /usr/bin/passerelle-manage'
|
|||
FARGO_MANAGE_COMMAND = 'sudo -u fargo /usr/bin/fargo-manage'
|
||||
WELCO_MANAGE_COMMAND = 'sudo -u welco /usr/bin/welco-manage'
|
||||
CHRONO_MANAGE_COMMAND = 'sudo -u chrono /usr/bin/chrono-manage'
|
||||
LINGO_MANAGE_COMMAND = 'sudo -u lingo /usr/bin/lingo-manage'
|
||||
BIJOE_MANAGE_COMMAND = 'sudo -u bijoe /usr/bin/bijoe-manage'
|
||||
HOBO_MANAGE_COMMAND = 'sudo -u hobo /usr/bin/hobo-manage'
|
||||
|
||||
|
|
|
@ -165,6 +165,13 @@ class Hobo(BaseService):
|
|||
tenants_dirs = [settings.HOBO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Lingo(BaseService):
|
||||
service_id = 'lingo'
|
||||
service_manage_cmd = settings.LINGO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.LINGO_MANAGE_TRY_COMMAND
|
||||
tenants_dirs = [settings.LINGO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Welco(BaseService):
|
||||
service_id = 'welco'
|
||||
service_manage_cmd = settings.WELCO_MANAGE_COMMAND
|
||||
|
|
|
@ -24,6 +24,7 @@ PASSERELLE_MANAGE_COMMAND = '/usr/lib/passerelle/manage.py'
|
|||
FARGO_MANAGE_COMMAND = '/usr/bin/fargo-manage'
|
||||
WELCO_MANAGE_COMMAND = '/usr/bin/welco-manage'
|
||||
CHRONO_MANAGE_COMMAND = '/usr/bin/chrono-manage'
|
||||
LINGO_MANAGE_COMMAND = '/usr/bin/lingo-manage'
|
||||
HOBO_MANAGE_COMMAND = '/usr/bin/hobo-manage'
|
||||
BIJOE_MANAGE_COMMAND = '/usr/bin/bijoe-manage'
|
||||
|
||||
|
@ -33,6 +34,7 @@ COMBO_MANAGE_TRY_COMMAND = COMBO_MANAGE_COMMAND
|
|||
PASSERELLE_MANAGE_TRY_COMMAND = PASSERELLE_MANAGE_COMMAND
|
||||
FARGO_MANAGE_TRY_COMMAND = FARGO_MANAGE_COMMAND
|
||||
CHRONO_MANAGE_TRY_COMMAND = CHRONO_MANAGE_COMMAND
|
||||
LINGO_MANAGE_TRY_COMMAND = LINGO_MANAGE_COMMAND
|
||||
WELCO_MANAGE_TRY_COMMAND = WELCO_MANAGE_COMMAND
|
||||
HOBO_MANAGE_TRY_COMMAND = HOBO_MANAGE_COMMAND
|
||||
BIJOE_MANAGE_TRY_COMMAND = BIJOE_MANAGE_COMMAND
|
||||
|
@ -43,6 +45,7 @@ AUTHENTIC_TENANTS_DIRECTORY = '/var/lib/authentic2-multitenant/tenants'
|
|||
CHRONO_TENANTS_DIRECTORY = '/var/lib/chrono/tenants'
|
||||
COMBO_TENANTS_DIRECTORY = '/var/lib/combo/tenants'
|
||||
FARGO_TENANTS_DIRECTORY = '/var/lib/fargo/tenants'
|
||||
LINGO_TENANTS_DIRECTORY = '/var/lib/lingo/tenants'
|
||||
WELCO_TENANTS_DIRECTORY = '/var/lib/welco/tenants'
|
||||
BIJOE_TENANTS_DIRECTORY = '/var/lib/bijoe/tenants'
|
||||
HOBO_TENANTS_DIRECTORY = '/var/lib/hobo/tenants'
|
||||
|
|
|
@ -21,7 +21,7 @@ from django.http import HttpResponseRedirect
|
|||
from django.template.defaultfilters import slugify
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .models import Authentic, BiJoe, Chrono, Combo, Fargo, Hobo, Passerelle, Variable, Wcs, Welco
|
||||
from .models import Authentic, BiJoe, Chrono, Combo, Fargo, Hobo, Lingo, Passerelle, Variable, Wcs, Welco
|
||||
from .utils import get_variable
|
||||
from .validators import validate_service_url
|
||||
|
||||
|
@ -141,6 +141,12 @@ class ChronoForm(BaseForm):
|
|||
exclude = EXCLUDED_FIELDS
|
||||
|
||||
|
||||
class LingoForm(BaseForm):
|
||||
class Meta:
|
||||
model = Lingo
|
||||
exclude = EXCLUDED_FIELDS
|
||||
|
||||
|
||||
class BiJoeForm(BaseForm):
|
||||
class Meta:
|
||||
model = BiJoe
|
||||
|
|
|
@ -42,6 +42,7 @@ from hobo.environment.models import (
|
|||
Combo,
|
||||
Fargo,
|
||||
Hobo,
|
||||
Lingo,
|
||||
Passerelle,
|
||||
Variable,
|
||||
Wcs,
|
||||
|
@ -236,6 +237,9 @@ class Command(BaseCommand):
|
|||
def create_chrono(self, url, title, slug=None, template_name='', variables=None, **kwargs):
|
||||
return self.create_site(Chrono, url, title, slug, template_name, variables)
|
||||
|
||||
def create_lingo(self, url, title, slug=None, template_name='', variables=None, **kwargs):
|
||||
return self.create_site(Lingo, url, title, slug, template_name, variables)
|
||||
|
||||
def create_bijoe(self, url, title, slug=None, template_name='', variables=None, **kwargs):
|
||||
return self.create_site(BiJoe, url, title, slug, template_name, variables)
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
# Generated by Django 3.2.13 on 2022-05-17 21:02
|
||||
|
||||
import django.contrib.postgres.fields.jsonb
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('environment', '0025_legacy_urls'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Lingo',
|
||||
fields=[
|
||||
(
|
||||
'id',
|
||||
models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
('title', models.CharField(max_length=50, verbose_name='Title')),
|
||||
('slug', models.SlugField(verbose_name='Slug')),
|
||||
(
|
||||
'base_url',
|
||||
models.CharField(
|
||||
max_length=200,
|
||||
validators=[django.core.validators.URLValidator()],
|
||||
verbose_name='Base URL',
|
||||
),
|
||||
),
|
||||
(
|
||||
'legacy_urls',
|
||||
django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=list, null=True),
|
||||
),
|
||||
('secret_key', models.CharField(max_length=60, verbose_name='Secret Key')),
|
||||
('template_name', models.CharField(blank=True, max_length=60, verbose_name='Template')),
|
||||
('secondary', models.BooleanField(default=False, verbose_name='Secondary Service')),
|
||||
('last_operational_check_timestamp', models.DateTimeField(null=True)),
|
||||
('last_operational_success_timestamp', models.DateTimeField(null=True)),
|
||||
('last_update_timestamp', models.DateTimeField(auto_now=True, null=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Lingo Billing and Payment',
|
||||
'verbose_name_plural': 'Lingo Billing and Payment',
|
||||
'ordering': ['title'],
|
||||
},
|
||||
),
|
||||
]
|
|
@ -523,4 +523,25 @@ class BiJoe(ServiceBase):
|
|||
return self.get_base_url_path() + 'manage/menu.json'
|
||||
|
||||
|
||||
AVAILABLE_SERVICES = [Authentic, Wcs, Passerelle, Combo, Fargo, Welco, Chrono, BiJoe, Hobo]
|
||||
class Lingo(ServiceBase):
|
||||
class Meta:
|
||||
verbose_name = _('Lingo Billing and Payment')
|
||||
verbose_name_plural = _('Lingo Billing and Payment')
|
||||
ordering = ['title']
|
||||
|
||||
class Extra:
|
||||
service_id = 'lingo'
|
||||
service_label = _('Lingo')
|
||||
service_default_slug = 'payment'
|
||||
|
||||
def get_admin_zones(self):
|
||||
return [Zone(self.title, 'bankcard', self.get_base_url_path())]
|
||||
|
||||
def get_saml_sp_metadata_url(self):
|
||||
return self.get_base_url_path() + 'accounts/mellon/metadata/'
|
||||
|
||||
def get_backoffice_menu_url(self):
|
||||
return self.get_base_url_path() + 'manage/menu.json'
|
||||
|
||||
|
||||
AVAILABLE_SERVICES = [Authentic, Wcs, Passerelle, Combo, Fargo, Welco, Chrono, BiJoe, Hobo, Lingo]
|
||||
|
|
|
@ -16,6 +16,7 @@ from hobo.environment.models import (
|
|||
Combo,
|
||||
Fargo,
|
||||
Hobo,
|
||||
Lingo,
|
||||
Passerelle,
|
||||
ServiceBase,
|
||||
Variable,
|
||||
|
@ -374,8 +375,9 @@ def test_create_services():
|
|||
command.create_welco('url', 'title')
|
||||
command.create_chrono('url', 'title')
|
||||
command.create_bijoe('url', 'title')
|
||||
command.create_lingo('url', 'title')
|
||||
|
||||
assert len(command.create_site.mock_calls) == 8
|
||||
assert len(command.create_site.mock_calls) == 9
|
||||
assert command.create_site.mock_calls == [
|
||||
call(Authentic, 'url', 'title', None, '', None),
|
||||
call(Combo, 'url', 'title', None, '', None),
|
||||
|
@ -385,6 +387,7 @@ def test_create_services():
|
|||
call(Welco, 'url', 'title', None, '', None),
|
||||
call(Chrono, 'url', 'title', None, '', None),
|
||||
call(BiJoe, 'url', 'title', None, '', None),
|
||||
call(Lingo, 'url', 'title', None, '', None),
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue