kopia lustrzana https://github.com/jedie/PyInventory
Update requirements and some small code parts
rodzic
56a9de57a6
commit
caeecd9304
|
@ -166,6 +166,8 @@ To make a new release, do this:
|
|||
|
||||
[comment]: <> (✂✂✂ auto generated history start ✂✂✂)
|
||||
|
||||
* [**dev**](https://github.com/jedie/PyInventory/compare/v0.21.0...main)
|
||||
* 2025-04-30 - Update requirements and some small code parts
|
||||
* [v0.21.0](https://github.com/jedie/PyInventory/compare/v0.20.1...v0.21.0)
|
||||
* 2025-03-23 - Bugfix publish: setuptools missing
|
||||
* 2025-03-23 - Migrate "pip-tools" -> "uv" and remove tox
|
||||
|
@ -176,6 +178,9 @@ To make a new release, do this:
|
|||
* 2024-09-05 - Project updates
|
||||
* 2024-01-16 - Use typeguard in tests
|
||||
* 2024-01-16 - Update requirements
|
||||
|
||||
<details><summary>Expand older history entries ...</summary>
|
||||
|
||||
* [v0.19.3](https://github.com/jedie/PyInventory/compare/v0.19.2...v0.19.3)
|
||||
* 2023-11-01 - Auto generate README history
|
||||
* 2023-11-01 - Update requirements
|
||||
|
@ -184,9 +189,6 @@ To make a new release, do this:
|
|||
* 2023-10-08 - Use playwrigth manage command from manage-django-project
|
||||
* 2023-09-24 - Update test snapshot files
|
||||
* 2023-09-24 - Add playwright CLI wrapper command
|
||||
|
||||
<details><summary>Expand older history entries ...</summary>
|
||||
|
||||
* [v0.19.2](https://github.com/jedie/PyInventory/compare/v0.19.1...v0.19.2)
|
||||
* 2023-08-17 - Bugfix packaging by adding "requests" as normal dependencies
|
||||
* 2023-08-17 - Bugfix packageing by adding "requests" as normal dependencies
|
||||
|
|
|
@ -8,7 +8,7 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
|
||||
def get_filename(filename, request):
|
||||
random_string = get_random_string()
|
||||
random_string = get_random_string(length=12)
|
||||
filename = clean_filename(filename)
|
||||
filename = f'{random_string}/{filename}'
|
||||
logger.info(f'Upload filename: {filename!r}')
|
||||
|
|
|
@ -148,7 +148,6 @@ LANGUAGE_CODE = 'en'
|
|||
|
||||
LANGUAGES = [('ca', _('Catalan')), ('de', _('German')), ('en', _('English')), ('es', _('Spanish'))]
|
||||
USE_I18N = True
|
||||
USE_L10N = True
|
||||
TIME_ZONE = 'Europe/Paris'
|
||||
USE_TZ = True
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@ class AdminAnonymousTests(HtmlAssertionMixin, TestCase):
|
|||
"""
|
||||
|
||||
def test_login_en(self):
|
||||
response = self.client.get('/admin/', secure=True, HTTP_ACCEPT_LANGUAGE='en')
|
||||
response = self.client.get('/admin/', secure=True, headers={"accept-language": 'en'})
|
||||
self.assertRedirects(response, expected_url='/admin/login/?next=/admin/', fetch_redirect_response=False)
|
||||
|
||||
def test_login_de(self):
|
||||
response = self.client.get('/admin/', secure=True, HTTP_ACCEPT_LANGUAGE='de')
|
||||
response = self.client.get('/admin/', secure=True, headers={"accept-language": 'de'})
|
||||
self.assertRedirects(response, expected_url='/admin/login/?next=/admin/', fetch_redirect_response=False)
|
||||
|
||||
|
||||
|
@ -33,7 +33,7 @@ class AdminLoggedinTests(HtmlAssertionMixin, TestCase):
|
|||
def test_staff_admin_index(self):
|
||||
self.client.force_login(self.staffuser)
|
||||
|
||||
response = self.client.get("/admin/", secure=True, HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get("/admin/", secure=True, headers={"accept-language": "en"})
|
||||
self.assert_html_parts(
|
||||
response,
|
||||
parts=(
|
||||
|
@ -47,7 +47,7 @@ class AdminLoggedinTests(HtmlAssertionMixin, TestCase):
|
|||
|
||||
def test_superuser_admin_index(self):
|
||||
self.client.force_login(self.superuser)
|
||||
response = self.client.get("/admin/", secure=True, HTTP_ACCEPT_LANGUAGE="en")
|
||||
response = self.client.get("/admin/", secure=True, headers={"accept-language": "en"})
|
||||
self.assert_html_parts(
|
||||
response,
|
||||
parts=(
|
||||
|
|
|
@ -44,7 +44,7 @@ ITEM_FORM_DEFAULTS = tuple(ITEM_FORM_DEFAULTS.items())
|
|||
class AdminAnonymousTests(HtmlAssertionMixin, TestCase):
|
||||
def test_login(self):
|
||||
# HTTP -> HTTPS redirect:
|
||||
response = self.client.get('/admin/', HTTP_ACCEPT_LANGUAGE='en')
|
||||
response = self.client.get('/admin/', headers={"accept-language": 'en'})
|
||||
self.assertRedirects(
|
||||
response,
|
||||
expected_url='https://testserver/admin/',
|
||||
|
@ -52,14 +52,16 @@ class AdminAnonymousTests(HtmlAssertionMixin, TestCase):
|
|||
fetch_redirect_response=False,
|
||||
)
|
||||
|
||||
response = self.client.get(path='/admin/inventory/itemmodel/add/', secure=True, HTTP_ACCEPT_LANGUAGE='en')
|
||||
response = self.client.get(
|
||||
path='/admin/inventory/itemmodel/add/', secure=True, headers={"accept-language": 'en'}
|
||||
)
|
||||
self.assertRedirects(
|
||||
response, expected_url='/admin/login/?next=/admin/inventory/itemmodel/add/', fetch_redirect_response=False
|
||||
)
|
||||
with mock.patch.object(
|
||||
CsrfTokenNode, 'render', return_value='MockedCsrfTokenNode'
|
||||
), MockInventoryVersionString():
|
||||
response = self.client.get(path='/admin/login/', secure=True, HTTP_ACCEPT_LANGUAGE='en')
|
||||
response = self.client.get(path='/admin/login/', secure=True, headers={"accept-language": 'en'})
|
||||
self.assert_html_parts(
|
||||
response,
|
||||
parts=(
|
||||
|
|
|
@ -16,7 +16,7 @@ from inventory_project.tests.mocks import MockInventoryVersionString
|
|||
|
||||
class AdminAnonymousTests(TestCase):
|
||||
def test_login(self):
|
||||
response = self.client.get('/admin/inventory/memomodel/add/', secure=True, HTTP_ACCEPT_LANGUAGE='en')
|
||||
response = self.client.get('/admin/inventory/memomodel/add/', secure=True, headers={"accept-language": 'en'})
|
||||
self.assertRedirects(
|
||||
response,
|
||||
expected_url='/admin/login/?next=/admin/inventory/memomodel/add/',
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
from django.conf import settings
|
||||
from django.conf.urls import include
|
||||
from django.contrib import admin
|
||||
from django.urls import path, re_path
|
||||
from django.urls import include, path
|
||||
from django.views.generic import RedirectView
|
||||
|
||||
|
||||
|
@ -9,7 +8,7 @@ admin.autodiscover()
|
|||
|
||||
urlpatterns = [ # Don't use i18n_patterns() here
|
||||
path('admin/', admin.site.urls),
|
||||
re_path(r'^$', RedirectView.as_view(pattern_name='admin:index')),
|
||||
path('', RedirectView.as_view(pattern_name='admin:index')),
|
||||
path('tinymce/', include('tinymce.urls')), # TODO: check permissions?
|
||||
path(settings.MEDIA_URL.lstrip('/'), include('django_tools.serve_media_app.urls')),
|
||||
]
|
||||
|
@ -18,4 +17,4 @@ urlpatterns = [ # Don't use i18n_patterns() here
|
|||
if settings.DEBUG:
|
||||
import debug_toolbar
|
||||
|
||||
urlpatterns = [re_path(r'^__debug__/', include(debug_toolbar.urls))] + urlpatterns
|
||||
urlpatterns = [path('__debug__/', include(debug_toolbar.urls))] + urlpatterns
|
||||
|
|
|
@ -10,7 +10,8 @@ authors = [
|
|||
keywords=['inventory','django']
|
||||
requires-python = ">=3.11"
|
||||
dependencies = [
|
||||
"django", # https://docs.djangoproject.com
|
||||
# Stay with Django v5.1.x until https://github.com/radiac/django-tagulous/issues/187 is fixed
|
||||
"django!=5.2.0", # https://docs.djangoproject.com
|
||||
|
||||
"colorlog", # https://github.com/borntyping/python-colorlog
|
||||
"gunicorn", # https://github.com/benoimyproject.wsgitc/gunicorn
|
||||
|
|
Ładowanie…
Reference in New Issue