mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-11-04 02:53:06 +00:00 
			
		
		
		
	[FIX] 3DSv2 - Echappement du XML et modif tables (#543)
* Fixed wrong HMAC signature generation * Updated migration files Co-authored-by: Julien Constant <julienconstant190@gmail.com>
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
				
			|||||||
# Generated by Django 3.2.15 on 2022-11-14 13:26
 | 
					# Generated by Django 3.2.16 on 2023-01-08 12:49
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django.db import migrations, models
 | 
					from django.db import migrations, models
 | 
				
			||||||
import django.db.models.deletion
 | 
					import django.db.models.deletion
 | 
				
			||||||
@@ -12,6 +12,10 @@ class Migration(migrations.Migration):
 | 
				
			|||||||
    ]
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    operations = [
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AlterModelOptions(
 | 
				
			||||||
 | 
					            name="producttype",
 | 
				
			||||||
 | 
					            options={"ordering": ["-priority", "name"], "verbose_name": "product type"},
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
        migrations.CreateModel(
 | 
					        migrations.CreateModel(
 | 
				
			||||||
            name="BillingInfo",
 | 
					            name="BillingInfo",
 | 
				
			||||||
            fields=[
 | 
					            fields=[
 | 
				
			||||||
@@ -24,23 +28,26 @@ class Migration(migrations.Migration):
 | 
				
			|||||||
                        verbose_name="ID",
 | 
					                        verbose_name="ID",
 | 
				
			||||||
                    ),
 | 
					                    ),
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                ("first_name", models.CharField(max_length=30)),
 | 
					                (
 | 
				
			||||||
                ("last_name", models.CharField(max_length=30)),
 | 
					                    "first_name",
 | 
				
			||||||
 | 
					                    models.CharField(max_length=22, verbose_name="First name"),
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
 | 
					                (
 | 
				
			||||||
 | 
					                    "last_name",
 | 
				
			||||||
 | 
					                    models.CharField(max_length=22, verbose_name="Last name"),
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
                (
 | 
					                (
 | 
				
			||||||
                    "address_1",
 | 
					                    "address_1",
 | 
				
			||||||
                    models.CharField(max_length=50, verbose_name="address line 1"),
 | 
					                    models.CharField(max_length=50, verbose_name="Address 1"),
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                (
 | 
					                (
 | 
				
			||||||
                    "address_2",
 | 
					                    "address_2",
 | 
				
			||||||
                    models.CharField(
 | 
					                    models.CharField(
 | 
				
			||||||
                        blank=True,
 | 
					                        blank=True, max_length=50, null=True, verbose_name="Address 2"
 | 
				
			||||||
                        max_length=50,
 | 
					 | 
				
			||||||
                        null=True,
 | 
					 | 
				
			||||||
                        verbose_name="address line 2",
 | 
					 | 
				
			||||||
                    ),
 | 
					                    ),
 | 
				
			||||||
                ),
 | 
					                ),
 | 
				
			||||||
                ("zip_code", models.CharField(max_length=16, verbose_name="zip code")),
 | 
					                ("zip_code", models.CharField(max_length=16, verbose_name="Zip code")),
 | 
				
			||||||
                ("city", models.CharField(max_length=50, verbose_name="city")),
 | 
					                ("city", models.CharField(max_length=50, verbose_name="City")),
 | 
				
			||||||
                ("country", django_countries.fields.CountryField(max_length=2)),
 | 
					                ("country", django_countries.fields.CountryField(max_length=2)),
 | 
				
			||||||
                (
 | 
					                (
 | 
				
			||||||
                    "customer",
 | 
					                    "customer",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -154,8 +154,8 @@ class BillingInfo(models.Model):
 | 
				
			|||||||
    # declaring surname and name even though they are already defined
 | 
					    # declaring surname and name even though they are already defined
 | 
				
			||||||
    # in User add some redundancy, but ensures that the billing infos
 | 
					    # in User add some redundancy, but ensures that the billing infos
 | 
				
			||||||
    # shall stay correct, whatever shenanigans the user commits on its profile
 | 
					    # shall stay correct, whatever shenanigans the user commits on its profile
 | 
				
			||||||
    first_name = models.CharField(_("First name"), max_length=30)
 | 
					    first_name = models.CharField(_("First name"), max_length=22)
 | 
				
			||||||
    last_name = models.CharField(_("Last name"), max_length=30)
 | 
					    last_name = models.CharField(_("Last name"), max_length=22)
 | 
				
			||||||
    address_1 = models.CharField(_("Address 1"), max_length=50)
 | 
					    address_1 = models.CharField(_("Address 1"), max_length=50)
 | 
				
			||||||
    address_2 = models.CharField(_("Address 2"), max_length=50, blank=True, null=True)
 | 
					    address_2 = models.CharField(_("Address 2"), max_length=50, blank=True, null=True)
 | 
				
			||||||
    zip_code = models.CharField(_("Zip code"), max_length=16)  # code postal
 | 
					    zip_code = models.CharField(_("Zip code"), max_length=16)  # code postal
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -206,8 +206,8 @@ class Basket(models.Model):
 | 
				
			|||||||
            cart, newlines=False
 | 
					            cart, newlines=False
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        data += [
 | 
					        data += [
 | 
				
			||||||
            ("PBX_SHOPPINGCART", html.escape(cart)),
 | 
					            ("PBX_SHOPPINGCART", cart),
 | 
				
			||||||
            ("PBX_BILLING", html.escape(customer.billing_infos.to_3dsv2_xml())),
 | 
					            ("PBX_BILLING", customer.billing_infos.to_3dsv2_xml()),
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        pbx_hmac = hmac.new(
 | 
					        pbx_hmac = hmac.new(
 | 
				
			||||||
            settings.SITH_EBOUTIC_HMAC_KEY,
 | 
					            settings.SITH_EBOUTIC_HMAC_KEY,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user