From 4912afa29a6ac80beca2e4fb555c2976ac7cc291 Mon Sep 17 00:00:00 2001 From: wlorenzetti Date: Wed, 29 Mar 2023 10:52:18 +0200 Subject: [PATCH 1/6] Add default value to model Group field `header_logo_img`. --- .../migrations/0081_auto_20230329_0739.py | 20 +++++++++++++++++++ g3w-admin/core/models.py | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 g3w-admin/core/migrations/0081_auto_20230329_0739.py diff --git a/g3w-admin/core/migrations/0081_auto_20230329_0739.py b/g3w-admin/core/migrations/0081_auto_20230329_0739.py new file mode 100644 index 000000000..3b912dca0 --- /dev/null +++ b/g3w-admin/core/migrations/0081_auto_20230329_0739.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.28 on 2023-03-29 07:39 + +from django.conf import settings +from django.db import migrations, models + + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0080_statuslog'), + ] + + operations = [ + migrations.AlterField( + model_name='group', + name='header_logo_img', + field=models.FileField(default=f'logo_img/{settings.CLIENT_G3WSUITE_LOGO}', upload_to='logo_img', verbose_name='Logo image'), + ), + ] diff --git a/g3w-admin/core/models.py b/g3w-admin/core/models.py index bbad1578b..00aa777f3 100644 --- a/g3w-admin/core/models.py +++ b/g3w-admin/core/models.py @@ -137,7 +137,8 @@ class Group(TimeStampedModel, OrderedModel): is_active = models.BooleanField(_('Is active'), default=1) # Company logo - header_logo_img = models.FileField(_('Logo image'), upload_to='logo_img') + header_logo_img = models.FileField(_('Logo image'), upload_to='logo_img', + default=f'logo_img/{settings.CLIENT_G3WSUITE_LOGO}') header_logo_link = models.URLField(_('Logo link'), blank=True, null=True, help_text=_('Enter link with http:// or https//')) From 2ca1f489e6507b29dde418ea15c968f37baa0f7b Mon Sep 17 00:00:00 2001 From: wlorenzetti Date: Wed, 29 Mar 2023 10:53:05 +0200 Subject: [PATCH 2/6] Remove `required` for model field `Group.header_logo_img` create basic workflow for header_logo_img. --- g3w-admin/core/apps.py | 13 +++++++++++-- g3w-admin/core/forms.py | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/g3w-admin/core/apps.py b/g3w-admin/core/apps.py index 1c9ba63ad..c247781c9 100644 --- a/g3w-admin/core/apps.py +++ b/g3w-admin/core/apps.py @@ -1,7 +1,16 @@ - - from django.apps import AppConfig +from django.conf import settings +import os +import shutil class CoreConfig(AppConfig): name = 'core' verbose_name = 'G3W-Admin main app' + + # For default Group logo image + # ----------------------------------------------------------------- + f = settings.CLIENT_G3WSUITE_LOGO + frm = f"{os.path.dirname(__file__)}/static/img/{f}" + dst = f"{settings.MEDIA_ROOT}logo_img/" + if not os.path.exists(f"{dst}{f}"): + shutil.copy(frm, dst) diff --git a/g3w-admin/core/forms.py b/g3w-admin/core/forms.py index e265dfbfa..c327ba7b0 100644 --- a/g3w-admin/core/forms.py +++ b/g3w-admin/core/forms.py @@ -22,7 +22,7 @@ class GroupForm(TranslationModelForm, FileFormMixin, G3WFormMixin, G3WRequestFormMixin, G3WACLForm, ModelForm): """Group form.""" - header_logo_img = UploadedFileField() + header_logo_img = UploadedFileField(required=False) propagate = True def __init__(self, *args, **kwargs): @@ -120,7 +120,7 @@ def __init__(self, *args, **kwargs): Div( Div( 'header_logo_img', - HTML("""""", ), + HTML("""{% load staticfiles %}"""), 'use_logo_client', 'form_id', 'upload_url', From 1b437ba39c3068a910cb9e94658bb8998bbfe1ff Mon Sep 17 00:00:00 2001 From: wlorenzetti Date: Wed, 29 Mar 2023 11:07:39 +0200 Subject: [PATCH 3/6] Fix creation of `logo_img` media directory if not exists. --- g3w-admin/core/apps.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/g3w-admin/core/apps.py b/g3w-admin/core/apps.py index c247781c9..ddeba7049 100644 --- a/g3w-admin/core/apps.py +++ b/g3w-admin/core/apps.py @@ -12,5 +12,9 @@ class CoreConfig(AppConfig): f = settings.CLIENT_G3WSUITE_LOGO frm = f"{os.path.dirname(__file__)}/static/img/{f}" dst = f"{settings.MEDIA_ROOT}logo_img/" + if not os.path.exists(f"{dst}{f}"): + # Before check if directory `logo_img` exists + if not os.path.exists(dst): + os.mkdir(dst) shutil.copy(frm, dst) From 3a03c3859ac291e535efbcb5dbf99ea7293f5ecc Mon Sep 17 00:00:00 2001 From: wlorenzetti Date: Tue, 4 Apr 2023 17:23:31 +0200 Subject: [PATCH 4/6] Restore `header_logo_img` required. --- g3w-admin/core/forms.py | 2 +- g3w-admin/core/views.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/g3w-admin/core/forms.py b/g3w-admin/core/forms.py index c327ba7b0..eb6c50269 100644 --- a/g3w-admin/core/forms.py +++ b/g3w-admin/core/forms.py @@ -22,7 +22,7 @@ class GroupForm(TranslationModelForm, FileFormMixin, G3WFormMixin, G3WRequestFormMixin, G3WACLForm, ModelForm): """Group form.""" - header_logo_img = UploadedFileField(required=False) + header_logo_img = UploadedFileField(required=True) propagate = True def __init__(self, *args, **kwargs): diff --git a/g3w-admin/core/views.py b/g3w-admin/core/views.py index 14bf3451d..9182b0c82 100644 --- a/g3w-admin/core/views.py +++ b/g3w-admin/core/views.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.template.response import HttpResponse from django.http import JsonResponse, HttpResponseBadRequest, HttpResponse, HttpResponseServerError from django.views.generic import ( @@ -145,7 +146,13 @@ def dispatch(self, *args, **kwargs): return super(GroupCreateView, self).dispatch(*args, **kwargs) def get_initial(self): - return {'mapcontrols': MapControl.objects.all()} + + # Fake group for build a initial default header_logo_img for new groups. + g = Group(name='fake', title='fake', srid_id=1, header_logo_img=f'logo_img/{settings.CLIENT_G3WSUITE_LOGO}') + + return {'mapcontrols': MapControl.objects.all(), + 'header_logo_img': g.header_logo_img + } def get_success_url(self): return reverse('group-list') From 9ed7866837602631c42c83008b93b28a0537b400 Mon Sep 17 00:00:00 2001 From: wlorenzetti Date: Tue, 11 Apr 2023 16:42:52 +0200 Subject: [PATCH 5/6] Add `background-repeat: no-repeat` to groups list item. --- g3w-admin/core/templates/core/group_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/g3w-admin/core/templates/core/group_list.html b/g3w-admin/core/templates/core/group_list.html index 740e8f5cc..c42560f01 100644 --- a/g3w-admin/core/templates/core/group_list.html +++ b/g3w-admin/core/templates/core/group_list.html @@ -50,7 +50,7 @@

{% trans 'Cartographic groups' %}

-
+

{{ object.name }}

From 51a3f806c1c18ea2de597bf8857063d6be94b1be Mon Sep 17 00:00:00 2001 From: Raruto Date: Wed, 12 Apr 2023 08:09:11 +0200 Subject: [PATCH 6/6] shortand form --- g3w-admin/core/templates/core/group_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/g3w-admin/core/templates/core/group_list.html b/g3w-admin/core/templates/core/group_list.html index c42560f01..757bba469 100644 --- a/g3w-admin/core/templates/core/group_list.html +++ b/g3w-admin/core/templates/core/group_list.html @@ -50,7 +50,7 @@

{% trans 'Cartographic groups' %}

-
+

{{ object.name }}