fix: added context processor
This commit is contained in:
@@ -20,9 +20,14 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
DJANGO_SETTINGS_MODULE: config.settings
|
DJANGO_SETTINGS_MODULE: config.settings
|
||||||
DEBUG: True
|
DEBUG: True
|
||||||
run: pytest --cov && coverage xml
|
run: pytest --cov --junitxml=junit.xml -o junit_family=legacy && coverage xml
|
||||||
- name: Upload coverage reports to Codecov
|
- name: Upload coverage reports to Codecov
|
||||||
uses: codecov/codecov-action@v4.0.1
|
uses: codecov/codecov-action@v4.0.1
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
slug: pablo-moreno/shoppy
|
slug: pablo-moreno/shoppy
|
||||||
|
- name: Upload test results to Codecov
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
uses: codecov/test-results-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
|||||||
@@ -160,5 +160,6 @@ data/
|
|||||||
/static/
|
/static/
|
||||||
|
|
||||||
*.db
|
*.db
|
||||||
|
junit.xml
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/django
|
# End of https://www.toptal.com/developers/gitignore/api/django
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ TEMPLATES = [
|
|||||||
"django.template.context_processors.request",
|
"django.template.context_processors.request",
|
||||||
"django.contrib.auth.context_processors.auth",
|
"django.contrib.auth.context_processors.auth",
|
||||||
"django.contrib.messages.context_processors.messages",
|
"django.contrib.messages.context_processors.messages",
|
||||||
|
"web.context_processors.web_settings",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
+10
-5
@@ -320,9 +320,7 @@ class Order(TimestampedModel):
|
|||||||
default=Decimal("0"), max_digits=13, decimal_places=2, verbose_name=_("total")
|
default=Decimal("0"), max_digits=13, decimal_places=2, verbose_name=_("total")
|
||||||
)
|
)
|
||||||
|
|
||||||
user = models.ForeignKey(
|
user = models.ForeignKey(User, on_delete=models.PROTECT, verbose_name=_("cliente"))
|
||||||
User, on_delete=models.PROTECT, verbose_name=_("cliente")
|
|
||||||
)
|
|
||||||
|
|
||||||
# Billing information
|
# Billing information
|
||||||
billing_address = models.CharField(
|
billing_address = models.CharField(
|
||||||
@@ -437,14 +435,21 @@ class CustomerAddress(models.Model):
|
|||||||
max_length=64, blank=False, null=False, verbose_name=_("provincia")
|
max_length=64, blank=False, null=False, verbose_name=_("provincia")
|
||||||
)
|
)
|
||||||
address_country = models.CharField(
|
address_country = models.CharField(
|
||||||
max_length=64, default=settings.SHOP_COUNTRY, blank=False, null=False, verbose_name=_("país")
|
max_length=64,
|
||||||
|
default=settings.SHOP_COUNTRY,
|
||||||
|
blank=False,
|
||||||
|
null=False,
|
||||||
|
verbose_name=_("país"),
|
||||||
)
|
)
|
||||||
address_phone = models.CharField(
|
address_phone = models.CharField(
|
||||||
max_length=16, blank=True, null=True, default="", verbose_name=_("teléfono")
|
max_length=16, blank=True, null=True, default="", verbose_name=_("teléfono")
|
||||||
)
|
)
|
||||||
|
|
||||||
address_type = models.CharField(
|
address_type = models.CharField(
|
||||||
max_length=4, choices=Types.choices, default=Types.SHIPPING, verbose_name=_("tipo de dirección")
|
max_length=4,
|
||||||
|
choices=Types.choices,
|
||||||
|
default=Types.SHIPPING,
|
||||||
|
verbose_name=_("tipo de dirección"),
|
||||||
)
|
)
|
||||||
default = models.BooleanField(default=True)
|
default = models.BooleanField(default=True)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
from web.models import WebSettings
|
||||||
|
|
||||||
|
|
||||||
|
def web_settings(request):
|
||||||
|
settings = WebSettings.load()
|
||||||
|
return {
|
||||||
|
"logo": settings.logo.url if settings.logo else "",
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% load web %}
|
|
||||||
<nav class="bg-white dark:bg-gray-800 antialiased">
|
<nav class="bg-white dark:bg-gray-800 antialiased">
|
||||||
<!-- Left side -->
|
<!-- Left side -->
|
||||||
<div class="max-w-screen-xl px-4 mx-auto 2xl:px-0 py-4">
|
<div class="max-w-screen-xl px-4 mx-auto 2xl:px-0 py-4">
|
||||||
@@ -10,7 +9,7 @@
|
|||||||
<div class="flex items-center space-x-8">
|
<div class="flex items-center space-x-8">
|
||||||
<div class="shrink-0">
|
<div class="shrink-0">
|
||||||
<a class="flex flex-row items-center" href="{% url 'web:index' %}">
|
<a class="flex flex-row items-center" href="{% url 'web:index' %}">
|
||||||
<img class="w-8 h-8 mr-2" src="{% get_logo_image %}" alt="{{ web_title }}">
|
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="{{ web_title }}">
|
||||||
<h1 class="text-xl font-semibold text-gray-900 dark:text-white">{{ web_title }}</h1>
|
<h1 class="text-xl font-semibold text-gray-900 dark:text-white">{{ web_title }}</h1>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{% extends 'theme/base.html' %}
|
{% extends 'theme/base.html' %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load web %}
|
|
||||||
|
|
||||||
{% block main %}
|
{% block main %}
|
||||||
<section class="bg-gray-50 dark:bg-gray-900">
|
<section class="bg-gray-50 dark:bg-gray-900">
|
||||||
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
|
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
|
||||||
|
|
||||||
<a href="{% url 'web:index' %}" class="flex items-center mb-6 text-2xl font-semibold text-gray-900 dark:text-white">
|
<a href="{% url 'web:index' %}" class="flex items-center mb-6 text-2xl font-semibold text-gray-900 dark:text-white">
|
||||||
<img class="w-8 h-8 mr-2" src="{% get_logo_image %}" alt="logo">
|
<img class="w-8 h-8 mr-2" src="{{ logo }}" alt="logo">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
from django import template
|
|
||||||
|
|
||||||
from web.models import WebSettings
|
|
||||||
|
|
||||||
register = template.Library()
|
|
||||||
|
|
||||||
|
|
||||||
@register.simple_tag
|
|
||||||
def get_logo_image() -> str:
|
|
||||||
settings = WebSettings.load()
|
|
||||||
if settings.logo:
|
|
||||||
return settings.logo.url
|
|
||||||
return ""
|
|
||||||
Reference in New Issue
Block a user