Initial commit from ZIP

This commit is contained in:
kusz committed 2024-11-27 13:18:16 +01:00
commit 378d4692a9
454 files changed
+40367

No files matched your search

+100
View File
@@ -0,0 +1,100 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Outbo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body style="margin: 0; padding: 0;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 10px;">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="640"
style="border-collapse: collapse; border: 1px solid #b3b3b3; border-bottom: 0px;">
<tr>
<td style="width: 15%; text-transform: uppercase; font-size: 14px; padding: 10px; color: #b3b3b3">
Projekt:
</td>
<td style="width: 85%; padding: 10px;">
<div style="height: 1px; background: #f5f5f5"></div>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 0 15px 5px">
<div style="color: #737373; font-size: 15px;">{{ project_slug }}</div>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 0 25px; ">
<div style="color: #cccccc; font-size: 13px;">{{ project_description }}</div>
</td>
</tr>
</table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="640"
style="border-collapse: collapse; border-left: 1px solid #b3b3b3; border-right: 1px solid #b3b3b3; ">
<tr>
<td style="width: 15%; text-transform: uppercase; font-size: 14px;padding: 10px; color: #b3b3b3">
Produkt:
</td>
<td style="width: 85%; padding: 10px;">
<div style="height: 1px; background: #f5f5f5"></div>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 0 15px; ">
<div style="color: #737373; font-size: 13px;">{{ product_model }} / {{ product_name_pol }}</div>
</td>
</tr>
</table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="640"
style="border-collapse: collapse; border-left: 1px solid #b3b3b3; border-right: 1px solid #b3b3b3; ">
<tr>
<td style="width: 15%; text-transform: uppercase; font-size: 14px;padding: 10px; color: #b3b3b3">
Status:
</td>
<td style="width: 85%; padding: 10px;">
<div style="height: 1px; background: #f5f5f5"></div>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 0 15px; ">
<div style="color: #737373; font-size: 13px;">{{ product_status }}</div>
</td>
</tr>
</table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="640"
style="border-collapse: collapse; border-left: 1px solid #b3b3b3; border-right: 1px solid #b3b3b3; ">
<tr>
<td style="width: 35%; text-transform: uppercase; font-size: 14px;padding: 10px; color: #b3b3b3">
Wymagane działanie:
</td>
<td style="width: 65%; padding: 10px;">
<div style="height: 1px; background: #f5f5f5"></div>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 0 15px; ">
<div style="color: #737373; font-size: 13px;">{{ product_current_action }}</div>
</td>
</tr>
</table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="640"
style="border-collapse: collapse; border: 1px solid #b3b3b3; border-top: 0">
<tr>
<td style="padding: 15px; height: 48px;">
<a href="{{ action_url }}"
style="display: inline-block; border-radius: 4px;vertical-align: top;background-color:rgba(245,140,57,.75);border-color:transparent;color:#fff;text-decoration: none;padding: 16px !important; line-height: 6px; font-family: Roboto !important; font-size: 10px !important;font-weight: 900 !important;letter-spacing: 1.2px !important;text-transform: uppercase !important;">
Zobacz
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
@@ -0,0 +1,62 @@
{% load i18n nested_admin admin_urls %}
{% with inline_admin_formset.formset.is_nested as is_nested %}
{% with inline_admin_formset.opts as inline_opts %}
<div class="inline-group group djn-group djn-stacked{% if is_nested %} djn-group-nested{% else %} djn-group-root{% endif %}{% if inline_opts.suit_classes %} {{ inline_opts.suit_classes }}{% endif %}"
id="{{ inline_admin_formset.formset.prefix }}-group"
data-inline-type="stacked"
data-inline-formset="{{ inline_admin_formset.inline_formset_data }}"
data-inline-model="{{ inline_admin_formset.inline_model_id }}">
{% ifinlineclasses %}<fieldset class="djn-fieldset module {{ inline_admin_formset.classes }}">{% endifinlineclasses %}
<h2>
{% if inline_admin_formset.opts.title %}{{ inline_admin_formset.opts.title }}{% else %}{{ inline_admin_formset.opts.verbose_name|capfirst }}{% endif %}
</h2>
{{ inline_admin_formset.formset.management_form }}
{{ inline_admin_formset.formset.non_form_errors }}
<div class="items djn-items">
{% with inline_admin_formset.opts.sortable_field_name|default:"" as sortable_field_name %}
{% for inline_admin_form in inline_admin_formset|formsetsort:sortable_field_name %}
{% if forloop.first %}
<div class="djn-item djn-no-drag"><div></div></div>
{% endif %}
<div class="{% if not forloop.last or not inline_admin_formset.has_add_permission %}djn-item{% endif %} djn-module djn-inline-form{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}{% if forloop.last and inline_admin_formset.has_add_permission %} djn-empty-form empty-form last-related{% endif %} inline-related"
data-inline-model="{{ inline_admin_form.model_admin.opts.app_label }}-{{ inline_admin_form.model_admin.opts.model_name }}"
{% if inline_admin_form.pk_field.field %}
data-is-initial="{% if inline_admin_form.pk_field.field.value %}true{% else %}false{% endif %}"
{% endif %}
id="{{ inline_admin_formset.formset.prefix }}-{% if forloop.last and inline_admin_formset.has_add_permission %}empty{% elif not forloop.last %}{{ inline_admin_form.form|form_index }}{% endif %}">
{% if inline_admin_form.form.non_field_errors %}
<ul class="errorlist">
<li>{{ inline_admin_form.form.non_field_errors }}</li>
</ul>
{% endif %}
{% for fieldset in inline_admin_form %}
{% include inline_admin_formset.opts.fieldset_template %}
{% endfor %}
{% if inline_admin_form.has_auto_field or inline_admin_form.needs_explicit_pk_field %}
{{ inline_admin_form.pk_field.field }}
{% endif %}
{% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %}
{% if inline_admin_form.form.inlines %}
{% for nested in inline_admin_form.form.inlines %}
{% include nested.opts.template with inline_admin_formset=nested %}
{% endfor %}
{% endif %}
</div>
{% endfor %}
{% endwith %}
</div>
{% ifinlineclasses %}</fieldset>{% endifinlineclasses %}
</div>
{% endwith %}{# ends with inline_admin_formset.opts as inline_opts #}
{% endwith %}{# ends {% with inline_admin_formset.formset.is_nested as is_nested %} #}
@@ -0,0 +1,128 @@
{% load admin_urlname admin_urlquote from admin_urls %}
{% load i18n nested_admin %}
{% with inline_admin_formset.formset.is_nested as is_nested %}
{% with inline_admin_formset.opts as inline_opts %}
<div class="inline-group group djn-group djn-tabular{% if is_nested %} djn-group-nested{% else %} djn-group-root{% endif %}{% if inline_opts.suit_classes %} {{ inline_opts.suit_classes }}{% endif %}"
id="{{ inline_admin_formset.formset.prefix }}-group"
data-inline-type="stacked"
data-inline-formset="{{ inline_admin_formset.inline_formset_data }}"
data-inline-model="{{ inline_admin_formset.inline_model_id }}">
<div class="tabular inline-related {% if forloop.last and inline_admin_formset.has_add_permission %}last-related{% endif %}">
<fieldset class="module djn-fieldset {{ inline_admin_formset.classes }}">
<h2>
{% if inline_admin_formset.opts.title %}{{ inline_admin_formset.opts.title }}{% else %}{{ inline_admin_formset.opts.verbose_name|capfirst }}{% endif %}
</h2>
{{ inline_admin_formset.formset.management_form }}
{{ inline_admin_formset.formset.non_form_errors }}
<table class="djn-items inline-related djn-table{% ifsuit %} table table-bordered table-condensed table-striped{% else %} tabular{% endifsuit %}">
<thead class="djn-module djn-thead">
<tr>
{% if "1.10"|django_version_gte %}<th class="original"></th>{% endif %}
{% for field in inline_admin_formset.fields %}
{% if not field.widget.is_hidden %}
<th{% if forloop.first %}{% if "1.10"|django_version_lt %} colspan="2"{% endif %}{% endif %} class="djn-th {{ field.label|lower|slugify }}{% if field.required %} required{% endif %}">{{ field.label|capfirst }}
{% if field.help_text %}&nbsp;<img src="{% if "1.10"|django_version_gte %}{% static "admin/img/icon-unknown.gif" %}{% else %}{% static "admin/img/icon-unknown.gif" %}{% endif %}" class="help help-tooltip" width="10" height="10" alt="({{ field.help_text|striptags }})" title="{{ field.help_text|striptags }}" />{% endif %}
</th>
{% endif %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}<th class="djn-th">{% trans "Delete?" %}</th>{% endif %}
</tr>
</thead>
{% with inline_admin_formset.opts.sortable_field_name|default:"" as sortable_field_name %}
{% for inline_admin_form in inline_admin_formset|formsetsort:sortable_field_name %}
<tbody class="djn-tbody{% if not forloop.last or not inline_admin_formset.has_add_permission %} djn-item{% endif %} djn-inline-form{% if inline_admin_formset.opts.classes %} {{ inline_admin_formset.opts.classes|join:" " }}{% endif %}{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}{% if forloop.last and inline_admin_formset.has_add_permission %} djn-empty-form empty-form{% endif %}{% if inline_admin_form.form.inlines %} djn-has-inlines{% endif %}"
data-inline-model="{{ inline_admin_form.model_admin.opts.app_label }}-{{ inline_admin_form.model_admin.opts.model_name }}"
{% if inline_admin_form.pk_field.field %}
data-is-initial="{% if inline_admin_form.pk_field.field.value %}true{% else %}false{% endif %}"
{% endif %}
id="{{ inline_admin_formset.formset.prefix }}-{% if forloop.last and inline_admin_formset.has_add_permission %}empty{% elif not forloop.last %}{%if is_nested %}{% endif %}{{ inline_admin_form.form|form_index }}{% endif %}">
{% if inline_admin_form.form.non_field_errors %}
<tr><td class="djn-td" colspan="{{ inline_admin_form|cell_count }}">
{% ifsuit %}
<div class="control-group error"><div class="help-block">{{ inline_admin_form.form.non_field_errors }}</div></div>
{% else %}
<ul class="errorlist">
<li>{{ inline_admin_form.form.non_field_errors }}</li>
</ul>
{% endifsuit %}
</td></tr>
{% endif %}
<tr class="djn-tr form-row">
<td class="original{% if inline_admin_formset.opts.sortable_field_name %} is-sortable{% endif %}">
{% if inline_admin_formset.opts.sortable_field_name %}
<span class="djn-drag-handler"></span>
{% endif %}
{% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
{% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %}
{% spaceless %}
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if field.field.is_hidden %} {{ field.field }} {% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endspaceless %}
</td>
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if not field.field.is_hidden %}
<td class="djn-td field-{{ field.field.name }}{% ifsuit %}{% if field.field.errors %} control-group error{% endif %}{% endifsuit %}">
{% if field.is_readonly %}
<p>{{ field.contents }}</p>
{% else %}
{% if field.field.errors %}
{% ifsuit %}
<div class="help-block">{{ field.field.errors.as_ul }}</div>
{% else %}
{{ field.field.errors.as_ul }}
{% endifsuit %}
{% endif %}
{{ field.field }}
{% endif %}
</td>
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}
{% if inline_admin_form.original %}
<td class="delete djn-delete-handler {{ inline_admin_formset.handler_classes|join:" " }}">{{ inline_admin_form.deletion_field.field }}</td>
{% else %}
<td class="delete">
<div><a class="inline-deletelink djn-remove-handler {{ inline_admin_formset.handler_classes|join:" " }}" href="javascript:void(0)">Remove</a></div>
</td>
{% endif %}
{% endif %}
</tr>
{% if inline_admin_form.form.inlines %}
<tr class="djn-tr"><td class="djn-td" colspan="{{ inline_admin_form|cell_count }}">
{% for nested in inline_admin_form.form.inlines %}
{% include nested.opts.template with inline_admin_formset=nested %}
{% endfor %}
</td></tr>
{% endif %}
</tbody>
{% endfor %}
{% endwith %}
</table>
</fieldset>
</div>
</div>
{% endwith %}{# ends with inline_admin_formset.opts as inline_opts #}
{% endwith %}{# ends {% with inline_admin_formset.formset.is_nested as is_nested %} #}
+183
View File
@@ -0,0 +1,183 @@
{% load template_helpers %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ brief.model_no }}/{{ brief.name_pol }}</title>
<link href=""/>
</head>
<body>
<div>
<div class="header">
<div>
<span class="section-text color-red">
EVG PACKAGING BRIEF
</span>
</div>
<div>
<span class="small-text field-description">data wygenerowania dokumentu: </span>
<span class="small-text field-value">{% now "SHORT_DATETIME_FORMAT" %}</span>
</div>
</div>
<div class="project">
<div class="section-header">
<span class="section-text color-red">projekt: </span>
<div class="horizontal-line border-red"></div>
</div>
<div class="row spaced">
<div class="column">
<div class="field">
<span class="field-description">Projekt ID: </span><span class="field-value">{{ brief.product.project.slug }}</span>
</div>
<div class="field">
<span class="field-description">Kategoria: </span><span class="field-value">{{ brief.product.project.category }}</span>
</div>
<div class="field">
<span class="field-description">Marka: </span><span class="field-value">{{ brief.product.project.brand }}</span>
</div>
</div>
<div class="column">
<div class="field">
<span class="field-description">Printing files: </span><span class="field-value">{{brief.product.project.printing_files_date}}</span>
</div>
<div class="field">
<span class="field-description">Data promocji: </span><span class="field-value">{{brief.product.project.promo_date}}</span>
</div>
</div>
</div>
</div>
<div class="product">
<div class="section-header">
<span class="section-text color-red">produkt: </span>
<div class="horizontal-line border-red"></div>
</div>
<div class="row">
<div class="column">
<div class="field">
<span class="field-description">Produkt:</span><span class="field-value">{{brief.model_no}} / {{brief.name_pol}}</span>
</div>
<div class="field">
<span class="field-description">Model nr.:</span>
<span class="field-value">{{ brief.model_no }}</span>
</div>
<div class="field">
<span class="field-description">Nr. Partii:</span>
<span class="field-value">{{ brief.batch_no }}</span>
</div>
<div class="field">
<span class="field-description">Typ opakowania:</span>
<span class="field-value">{{ brief.packaging_type }}</span>
</div>
<div class="field">
<span class="field-description">Języki opisów:</span>
<span class="field-value">{{ languages|html_new_line|safe }}</span>
</div>
<div class="field">
<span class="field-description">EAN:</span>
<span class="field-value">{{ brief.ean }}</span>
</div>
</div>
</div>
</div>
<div class="main-description">
<div class="section-header">
<span class="section-text color-gray">opis główny pl: </span>
<div class="horizontal-line border-gray"></div>
</div>
<div class="mt-10">
<span class="field-value">{{ brief.main_description|html_new_line|safe }}</span>
</div>
<div class="mt-10">
<span class="field-value">{{ brief.extra_description|html_new_line|safe }}</span>
</div>
</div>
<div class="extra-description">
<div class="section-header">
<span class="section-text color-gray">dodatkowe elementy opisu: </span>
<div class="horizontal-line border-gray"></div>
</div>
{% if brief.config.material %}
<div class="sub-section">
<span class="sub-section-text color-gray">Materiał:</span>
<span class="field-value">{{ brief.material|html_new_line|safe }}</span>
</div>
{% endif %}
{% if brief.config.country_of_origin %}
<div class="sub-section">
<span class="sub-section-text color-gray">Kraj produkcji:</span>
<span class="field-value">{{ brief.country_of_origin|html_new_line|safe }}</span>
</div>
{% endif %}
{% if brief.config.warning %}
<div class="sub-section">
<span class="sub-section-text color-gray">Ostrzeżenia:</span>
<span class="field-value">{{ brief.warning|html_new_line|safe }}</span>
</div>
{% endif %}
</div>
<div class="markings">
<div class="section-header">
<span class="section-text color-gray">oznaczenia: </span>
<div class="horizontal-line border-gray"></div>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">certyfikaty:</span>
<span class="field-value">{{ brief.certificate|html_new_line|safe }}</span>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">znaki informacyjne:</span>
<span class="field-value">{{ brief.information_signs|html_new_line|safe }}</span>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">ikony kompetencji:</span>
<span class="field-value">{{ brief.capabilities_icons|html_new_line|safe }}</span>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">ikony produktowe:</span>
<span class="field-value">{{ brief.product_icons|html_new_line| safe}}</span>
</div>
</div>
{% if brief.config.photobrief %}
<div class="foto-brief">
<div class="section-header">
<span class="section-text color-gray">foto brief: </span>
<div class="horizontal-line border-gray"></div>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">Zdjęcia aranżacyjne:</span>
<span class="field-value">{{ brief.arrangement_photo|html_new_line|safe }}</span>
</div>
<div class="sub-section">
<span class="sub-section-text color-gray">Dodatkowe zdjęcia:</span>
</div>
{% if brief.config.extra_photo %}
<div class="sub-section">
<span class="sub-section-text color-gray">Zdjęcia dodatkowe:</span>
<span class="field-value">{{brief.extra_photo|html_new_line|safe }}</span>
</div>
{% endif %}
{% if brief.config.clipping %}
<div class="sub-section">
<span class="sub-section-text color-gray">Clippingi:</span>
<span class="field-value">{{ brief.clipping|html_new_line|safe }}</span>
</div>
{% endif %}
{% if brief.config.packshot %}
<div class="sub-section">
<span class="sub-section-text color-gray">Packshot:</span>
<span class="field-value">{{ brief.packshot|html_new_line|safe }}</span>
</div>
{% endif %}
</div>
{% endif %}
<div class="mt-30 border-red" style="text-align: right">
<span style="font-size: 14px; margin-right: 20px" class="color-red">[END]</span>
</div>
</div>
</body>
</html>
+109
View File
@@ -0,0 +1,109 @@
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body {
font-family: 'Roboto', sans-serif;
}
.field {
}
.field-description {
color: rgb(123, 123, 123);
font-size: 12px;
margin-top: 5px;
}
.field-value {
color: #000;
font-size: 12px;
margin-left: 2px;
margin-top: 5px;
line-height: 25px;
}
.header {
width: 100vw;
text-align: center;
}
.header .section-text{
font-weight: bold;
}
.small-text {
font-size: 10px;
}
.color-red {
color: rgb(234, 119, 118);
}
.color-gray {
color: rgb(123, 123, 123) !important;
}
.section-text {
text-transform: uppercase;
font-weight: 600;
font-size: 16px;
line-height: 25px;
}
.sub-section {
margin-top: 20px;
display: flex;
flex-direction: column;
}
.sub-section-text {
font-size: 14px;
text-transform: uppercase;
font-weight: normal;
}
.section-header {
display: flex;
align-items: center;
margin-top: 20px;
}
.column:first-child {
margin-top: 10px;
}
.horizontal-line {
flex: 1;
display: flex;
justify-content: center;
align-self: center;
margin: 0 0.5rem;
}
.border-red {
border-bottom: 1px solid rgb(234, 119, 118);
}
.border-gray {
border-bottom: 1px solid rgb(123, 123, 123);
}
.row {
display: flex;
flex-direction: row;
}
.spaced {
justify-content: space-between
}
.column {
display: flex;
flex-direction: column
}
.mt-10 {
margin-top: 10px;
}
.mt-30 {
margin-top: 30px;
}