FIX: crear home para djangouser (Permission denied) + corregir SyntaxWarnings en procurement/forms.py
This commit is contained in:
+3
-2
@@ -23,9 +23,10 @@ COPY . /app/
|
|||||||
# Exponer el puerto
|
# Exponer el puerto
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
# Crear un usuario no-root por seguridad
|
# Crear un usuario no-root por seguridad (con home directory para Gunicorn)
|
||||||
RUN adduser --disabled-password --no-create-home djangouser
|
RUN adduser --disabled-password djangouser
|
||||||
RUN chown -R djangouser:djangouser /app
|
RUN chown -R djangouser:djangouser /app
|
||||||
|
RUN mkdir -p /app/media /app/static && chown -R djangouser:djangouser /app/media /app/static
|
||||||
USER djangouser
|
USER djangouser
|
||||||
|
|
||||||
# Comando por defecto para iniciar Gunicorn con Uvicorn workers (Producción)
|
# Comando por defecto para iniciar Gunicorn con Uvicorn workers (Producción)
|
||||||
|
|||||||
@@ -108,8 +108,8 @@ class ThreeWayMatchForm(forms.ModelForm):
|
|||||||
widgets = {
|
widgets = {
|
||||||
'purchase_order': forms.Select(attrs={'class': 'form-control', 'id': 'id_po_select', 'required': 'required'}),
|
'purchase_order': forms.Select(attrs={'class': 'form-control', 'id': 'id_po_select', 'required': 'required'}),
|
||||||
'goods_receipt': forms.Select(attrs={'class': 'form-control', 'required': 'required'}),
|
'goods_receipt': forms.Select(attrs={'class': 'form-control', 'required': 'required'}),
|
||||||
'dte_invoice_number': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Ej: 45290', 'required': 'required', 'pattern': '^[0-9A-Za-z\-]+$'}),
|
'dte_invoice_number': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Ej: 45290', 'required': 'required', 'pattern': r'^[0-9A-Za-z\-]+$'}),
|
||||||
'dte_invoice_rut': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Ej: 76.543.210-K', 'required': 'required', 'pattern': '^\d{1,2}\.\d{3}\.\d{3}-[\dkK]$'}),
|
'dte_invoice_rut': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Ej: 76.543.210-K', 'required': 'required', 'pattern': r'^\d{1,2}\.\d{3}\.\d{3}-[\dkK]$'}),
|
||||||
'dte_net_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_net', 'required': 'required', 'min': '0'}),
|
'dte_net_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_net', 'required': 'required', 'min': '0'}),
|
||||||
'dte_tax_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_tax', 'required': 'required', 'min': '0'}),
|
'dte_tax_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_tax', 'required': 'required', 'min': '0'}),
|
||||||
'dte_total_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_total', 'required': 'required', 'min': '0'}),
|
'dte_total_amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '1', 'id': 'id_dte_total', 'required': 'required', 'min': '0'}),
|
||||||
|
|||||||
Reference in New Issue
Block a user