Merge branch '29-Yuyu/change-method-storing-logo' into 'main'
29 yuyu/change method storing logo Closes yuyu#29 See merge request dev/yuyu_dashboard!11
This commit is contained in:
commit
c5a56b4670
5 changed files with 29 additions and 4 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
import base64
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from horizon import forms, messages, exceptions
|
from horizon import forms, messages, exceptions
|
||||||
|
@ -10,8 +12,9 @@ class SettingForm(forms.SelfHandlingForm):
|
||||||
|
|
||||||
company_name = forms.CharField(label=_("COMPANY NAME"),
|
company_name = forms.CharField(label=_("COMPANY NAME"),
|
||||||
required=False)
|
required=False)
|
||||||
company_logo = forms.URLField(label=_("COMPANY LOGO URL"),
|
|
||||||
required=False)
|
company_logo = forms.ImageField(label=_("COMPANY LOGO"),
|
||||||
|
required=False)
|
||||||
company_address = forms.CharField(label=_("COMPANY ADDRESS"),
|
company_address = forms.CharField(label=_("COMPANY ADDRESS"),
|
||||||
required=False, widget=forms.Textarea())
|
required=False, widget=forms.Textarea())
|
||||||
email_admin = forms.EmailField(label=_("EMAIL ADMIN"),
|
email_admin = forms.EmailField(label=_("EMAIL ADMIN"),
|
||||||
|
@ -20,6 +23,17 @@ class SettingForm(forms.SelfHandlingForm):
|
||||||
invoice_tax = forms.IntegerField(label=_("INVOICE TAX (%)"),
|
invoice_tax = forms.IntegerField(label=_("INVOICE TAX (%)"),
|
||||||
required=True)
|
required=True)
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
|
data = super(SettingForm, self).clean()
|
||||||
|
company_logo = data.get('company_logo', None)
|
||||||
|
|
||||||
|
if company_logo:
|
||||||
|
company_logo = self.files['company_logo'].read()
|
||||||
|
encoded_string = base64.b64encode(company_logo)
|
||||||
|
data["company_logo"] = encoded_string
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
try:
|
try:
|
||||||
result = ""
|
result = ""
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% block form_attrs %}enctype="multipart/form-data"{% endblock %}
|
||||||
|
|
||||||
{% block modal-body-right %}
|
{% block modal-body-right %}
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<div class="invoice-title">
|
<div class="invoice-title">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<img src="{{ setting.company_logo }}" alt="" height="50">
|
{{ setting.company_logo }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
from openstack_dashboard.dashboards.yuyu.core import yuyu_client
|
from openstack_dashboard.dashboards.yuyu.core import yuyu_client
|
||||||
|
|
||||||
|
from django.utils.html import format_html
|
||||||
|
|
||||||
|
|
||||||
class SettingUseCase:
|
class SettingUseCase:
|
||||||
|
|
||||||
def get_settings(self, request):
|
def get_settings(self, request):
|
||||||
response = yuyu_client.get(request, "settings/").json()
|
response = yuyu_client.get(request, "settings/").json()
|
||||||
|
|
||||||
|
if response["company_logo"]:
|
||||||
|
# convert base64 img
|
||||||
|
response['company_logo'] = format_html(
|
||||||
|
'<img height="50" src="data:;base64,{}">',
|
||||||
|
response['company_logo']
|
||||||
|
)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def set_setting(self, request, key, value):
|
def set_setting(self, request, key, value):
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<div class="invoice-title">
|
<div class="invoice-title">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<img src="{{ setting.company_logo }}" alt="" height="50">
|
{{ setting.company_logo }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
Loading…
Add table
Reference in a new issue