mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-10-31 09:03: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