Implémentation 3DSv2 + résolution bugs eboutic + amélioration pages admin (#558)

Eboutic :
- Implémentation de la norme 3DSecure v2 pour les paiement par carte bancaire
- Amélioration générale de l'interface utilisateur
- Résolution du problème avec les caractères spéciaux dans le panier sur Safari
- Réparation du cookie du panier de l'eboutic qui n'était pas fonctionnel

Autre :
- Mise à jour de la documentation
- Mise à jour des dépendances Javascript
- Suppression du code inutilisé dans `subscription/models.py`
- Amélioration des pages administrateur (back-office Django)

Co-authored-by: thomas girod <56346771+imperosol@users.noreply.github.com>
Co-authored-by: Théo DURR <git@theodurr.fr>
Co-authored-by: Julien Constant <julienconstant190@gmail.com>
This commit is contained in:
thomas girod
2023-01-09 20:53:12 +01:00
committed by GitHub
parent 310f1a2283
commit 73305c0b28
53 changed files with 3461 additions and 2248 deletions

View File

@ -21,27 +21,123 @@
# Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
from ajax_select import make_ajax_form
from django.contrib import admin
from haystack.admin import SearchModelAdmin
from counter.models import *
@admin.register(Product)
class ProductAdmin(SearchModelAdmin):
search_fields = ["name", "code"]
list_display = (
"name",
"code",
"product_type",
"selling_price",
"profit",
"archived",
)
search_fields = ("name", "code")
@admin.register(Customer)
class CustomerAdmin(SearchModelAdmin):
search_fields = ["account_id"]
list_display = ("user", "account_id", "amount")
search_fields = (
"account_id",
"user__username",
"user__first_name",
"user__last_name",
)
form = make_ajax_form(Customer, {"user": "users"})
admin.site.register(Customer, CustomerAdmin)
admin.site.register(Product, ProductAdmin)
admin.site.register(ProductType)
admin.site.register(Counter)
admin.site.register(Refilling)
admin.site.register(Selling)
admin.site.register(Permanency)
admin.site.register(CashRegisterSummary)
admin.site.register(Eticket)
@admin.register(BillingInfo)
class BillingInfoAdmin(admin.ModelAdmin):
list_display = ("first_name", "last_name", "address_1", "city", "country")
@admin.register(Counter)
class CounterAdmin(admin.ModelAdmin):
list_display = ("name", "club", "type")
form = make_ajax_form(
Counter,
{
"products": "products",
"sellers": "users",
},
)
@admin.register(Refilling)
class RefillingAdmin(SearchModelAdmin):
list_display = ("customer", "amount", "counter", "payment_method", "date")
search_fields = (
"customer__user__username",
"customer__user__first_name",
"customer__user__last_name",
"customer__account_id",
"counter__name",
)
form = make_ajax_form(
Refilling,
{
"customer": "customers",
"operator": "users",
},
)
@admin.register(Selling)
class SellingAdmin(SearchModelAdmin):
list_display = ("customer", "label", "unit_price", "quantity", "counter", "date")
search_fields = (
"customer__user__username",
"customer__user__first_name",
"customer__user__last_name",
"customer__account_id",
"counter__name",
)
form = make_ajax_form(
Selling,
{
"customer": "customers",
"seller": "users",
},
)
@admin.register(Permanency)
class PermanencyAdmin(SearchModelAdmin):
list_display = ("user", "counter", "start", "duration")
search_fields = (
"user__username",
"user__first_name",
"user__last_name",
"counter__name",
)
form = make_ajax_form(Permanency, {"user": "users"})
@admin.register(ProductType)
class ProductTypeAdmin(admin.ModelAdmin):
list_display = ("name", "priority")
@admin.register(CashRegisterSummary)
class CashRegisterSummaryAdmin(SearchModelAdmin):
list_display = ("user", "counter", "date")
search_fields = (
"user__username",
"user__first_name",
"user__last_name",
"counter__name",
)
form = make_ajax_form(CashRegisterSummary, {"user": "users"})
@admin.register(Eticket)
class EticketAdmin(SearchModelAdmin):
list_display = ("product", "event_date", "event_title")
search_fields = ("product__name", "event_title")