Feat: \n 1. Contact Us page form submission success page created. \n 2. Contact Us page styling and CAPTCHA text content. \n 3. Removal of ERP, Google CAPTCHA, and ALTCHA API code and left over comments in JavaScript, Python.
This commit is contained in:
@@ -1,33 +0,0 @@
|
||||
|
||||
|
||||
{% set block_id = 'styles' %}
|
||||
{% include 'layouts/_shared_store.html' %}
|
||||
<!-- Include Stylesheet -->
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/sections/store.css') }}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/store/home.css') }}">
|
||||
|
||||
<!-- HTML content -->
|
||||
<div class="model.FLAG_ROW">
|
||||
<div class="leftcolumn">
|
||||
{% for cat in model.category_list.categories %}
|
||||
{% if cat.is_available() %}
|
||||
{% include 'components/store/_product_category.html' %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div id="{{ model.ID_BASKET_CONTAINER}}" class="rightcolumn">
|
||||
{% include 'components/store/_basket.html' %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% set block_id = 'scripts' %}
|
||||
{% include 'layouts/_shared_store.html' %}
|
||||
<!-- Include JavaScript -->
|
||||
<script src="{{ url_for('routes_store.scripts_section_store') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/store/home.js') }}"></script>
|
||||
|
||||
<script>
|
||||
{#
|
||||
var hashPageCurrent = "{{ model.HASH_PAGE_STORE_HOME }}";
|
||||
#}
|
||||
</script>
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or model.currencies | length == 0 or currency is not defined or currency is none) %}
|
||||
{% if not _is_blank_row %}
|
||||
<div
|
||||
class="{{ model.FLAG_CURRENCY }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}"
|
||||
>{{ currency.symbol }}</div>
|
||||
{% else %}
|
||||
<div
|
||||
class="{{ model.FLAG_CURRENCY }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}=""
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
{% if not is_blank_row %}
|
||||
<div
|
||||
class="{{ model.FLAG_PRODUCT }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ product.id_product }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ product.id_product }}"
|
||||
>{{ product.name }}</div>
|
||||
{% else %}
|
||||
<select class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/common/inputs/_option_blank.html' %}
|
||||
{% for product in model.category_list_filters.categories[0].products %}
|
||||
<option value="{{ product.id_product }}">{{ product.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% endif %}
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
{% if not is_blank_row %}
|
||||
<div
|
||||
class="{{ model.FLAG_PRODUCT_CATEGORY }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ category.id_category }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ category.id_category }}"
|
||||
>{{ category.name }}</div>
|
||||
{% else %}
|
||||
<select class="{{ model.FLAG_PRODUCT_CATEGORY}}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/common/inputs/_option_blank.html' %}
|
||||
{% for cat in model.category_list_filters.categories %}
|
||||
<option value="{{ cat.id_category }}">{{ cat.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% endif %}
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or units_measurement_time_dict | length == 0 or permutation.id_unit_measurement_interval_expiration_unsealed is none) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set interval_recurrence = units_measurement_time_dict[permutation.id_unit_measurement_interval_expiration_unsealed] %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }} {% if not permutation.does_expire_faster_once_unsealed %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_interval_expiration_unsealed }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_interval_expiration_unsealed }}"
|
||||
>{{ interval_recurrence.name_singular }}</div>
|
||||
{% else %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }} {{ model.FLAG_COLLAPSED }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}=""
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,19 +0,0 @@
|
||||
{#
|
||||
<select class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }}" value="{{ permutation.id_unit_measurement_interval_recurrence }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_interval_recurrence }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_interval_recurrence }}"></select>
|
||||
#}
|
||||
{% with _is_blank_row = (is_blank_row or units_measurement_time | length == 0 or permutation.id_unit_measurement_interval_recurrence is none) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set interval_recurrence = units_measurement_time[permutation.id_unit_measurement_interval_recurrence] | console_log %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }} {% if not permutation.is_subscription %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_interval_recurrence }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_interval_recurrence }}"
|
||||
>{{ interval_recurrence.name_singular }}</div>
|
||||
{% else %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }} {{ model.FLAG_COLLAPSED }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}=""
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
{#
|
||||
<select class="{{ model.FLAG_UNIT_MEASUREMENT_QUANTITY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_quantity }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_quantity }}"></select>
|
||||
#}
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or units_measurement_dict | length == 0 or permutation.id_unit_measurement_quantity is none) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set interval_recurrence = units_measurement_dict[permutation.id_unit_measurement_quantity] | console_log %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_QUANTITY }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_quantity }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_quantity }}"
|
||||
>{{ interval_recurrence.name_singular }}</div>
|
||||
{% else %}
|
||||
<div
|
||||
class="{{ model.FLAG_UNIT_MEASUREMENT_QUANTITY }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}=""
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or storage_location is not defined or storage_location is none or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set name = storage_location.get_full_name() %}
|
||||
<div
|
||||
class="{{ model.FLAG_STORAGE_LOCATION }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ name }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ name }}"
|
||||
>{{ name }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_STORAGE_LOCATION }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or model.suppliers | length == 0 or supplier is not defined or supplier is none) %}
|
||||
{% if not _is_blank_row %}
|
||||
<div
|
||||
class="{{ model.FLAG_SUPPLIER }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ supplier.id_supplier }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.id_supplier }}"
|
||||
>{{ supplier.name_company }}</div>
|
||||
{% else %}
|
||||
<div
|
||||
class="{{ model.FLAG_SUPPLIER }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}=""
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or address is not defined or address is none or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set json_str = address.to_json_str() %}
|
||||
<div
|
||||
class="{{ model.FLAG_ADDRESS }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ json_str }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str }}"
|
||||
>{{ address.postcode }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_ADDRESS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or order_items is not defined or order_items is none or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set str_items = model.convert_list_objects_to_preview_str(order_items) %}
|
||||
<div
|
||||
class="{{ model.FLAG_ITEMS }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ json_str_items }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str_items }}"
|
||||
>{{ str_items }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_ITEMS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or order_items is not defined or order_items is none or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set str_items = model.convert_list_objects_to_preview_str(order_items) %}
|
||||
<div
|
||||
class="{{ model.FLAG_ORDER_ITEMS }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ json_str_items }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str_items }}"
|
||||
>{{ str_items }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_ORDER_ITEMS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,14 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or variation_tree is not defined or variation_tree is none or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{% set str_ids_variations = variation_tree.to_variation_id_pairs_str() %}
|
||||
{% set str_variations = variation_tree.to_preview_str() %}
|
||||
<div
|
||||
class="{{ model.FLAG_PRODUCT_VARIATIONS }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ str_ids_variations }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ str_ids_variations }}"
|
||||
>{{ str_variations }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_PRODUCT_VARIATIONS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or variation_type is not defined or variation_type.variations is none or variation_type.variations == [] or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{# {% set ids_variation = variation_type.get_str_list_ids_variation() %} #}
|
||||
<div class="{{ model.FLAG_PRODUCT_VARIATIONS }}"
|
||||
{#
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ ids_variation }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ ids_variation }}"
|
||||
#}
|
||||
>
|
||||
{#
|
||||
{{ variation_type.get_preview_variations() }}
|
||||
#}
|
||||
{% for variation in variation_type.variations %}
|
||||
{{ variation.name }}<br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_PRODUCT_VARIATIONS }}"></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,15 +0,0 @@
|
||||
|
||||
{% with _is_blank_row = (is_blank_row or variation_tree is not defined or is_blank_row is not defined) %}
|
||||
{% if not _is_blank_row %}
|
||||
{# % set json_str_variation_types = product.get_json_str_types_variation_trees() % #}
|
||||
{% set names_variation_type = product.get_variation_types_unique() %}
|
||||
{% set json_str_variation_types = jsonify(names_variation_type) %}
|
||||
<div
|
||||
class="{{ model.FLAG_PRODUCT_VARIATIONS }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ json_str_variation_types }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str_variation_types }}"
|
||||
>{{ model.join_with_linebreaks(names_variation_type) }}</div>
|
||||
{% else %}
|
||||
<div class="{{ model.FLAG_PRODUCT_VARIATIONS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
@@ -1,79 +0,0 @@
|
||||
|
||||
<!-- Address form
|
||||
<div class="card"> -->
|
||||
<form id="{{ form.output_id() }}" class="{{ model.flag_container }}">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
{% if form.form_type_billing_not_delivery %}
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.identical.label }}
|
||||
{{ form.identical(checked=True) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.region.label }}
|
||||
{{ form.region() }}
|
||||
{% for error in form.region.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.name_full.label }}
|
||||
{{ form.name_full(size=100) }}
|
||||
{% for error in form.name_full.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.phone_number.label }}
|
||||
{{ form.phone_number(size=20) }}
|
||||
{% for error in form.phone_number.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.postcode.label }}
|
||||
{{ form.postcode(size=10) }}
|
||||
{% for error in form.postcode.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.address_1.label }}
|
||||
{{ form.address_1(size=254) }}
|
||||
{% for error in form.address_1.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.address_2.label }}
|
||||
{{ form.address_2(size=254) }}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.city.label }}
|
||||
{{ form.city(size=100) }}
|
||||
{% for error in form.city.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.county.label }}
|
||||
{{ form.county(size=100) }}
|
||||
{% for error in form.county.errors %}
|
||||
<p class="error">{{ error }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ form.submit() }}
|
||||
</div>
|
||||
</form>
|
||||
<!--</div>-->
|
||||
@@ -1,18 +0,0 @@
|
||||
<!-- Basket -->
|
||||
{% set show_delivery_option = False %}
|
||||
<div id="{{ model.ID_BASKET }}" class="{{ model.FLAG_CARD }} {{ model.FLAG_SCROLLABLE }}">
|
||||
<div class="container column">
|
||||
<div class="container row">
|
||||
<h2>Basket</h2>
|
||||
<img class="img-icon" src="{{ url_for('static', filename='images/icon_basket.png')}}" alt="Basket icon">
|
||||
</div>
|
||||
{% for basket_item in model.basket.items %}
|
||||
{% include 'components/store/_basket_item.html' %}
|
||||
{% endfor %}
|
||||
<h3 id="{{ model.ID_BASKET_TOTAL }}">Total: {{ model.output_basket_total() }}</h3>{% if not model.app.is_included_VAT %}<h4> + VAT </h4>{% endif %}
|
||||
<p id="{{ model.ID_LABEL_BASKET_EMPTY }}" style="margin: 1vh;">Buy some shit dawg!</p>
|
||||
<!-- <div id="{{ model.id_basket_notices }}"> include line above
|
||||
</div> -->
|
||||
<button id="{{ model.ID_BUTTON_CHECKOUT }}" type="submit">Checkout</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,42 +0,0 @@
|
||||
<!-- Basket Item -->
|
||||
<!-- requires:
|
||||
Basket_Item basket_item
|
||||
bool show_delivery_option
|
||||
-->
|
||||
<div class="container row">
|
||||
{% set product = basket_item.product %}
|
||||
{% set permutation = product.get_permutation_selected() %}
|
||||
<div class="container">
|
||||
<img class="img-thumbnail" src="{{ product.get_image_from_index(0).url }}" alt="Basket icon"> <!-- model.get_many_product_image_src(product.id_product, '', True, 'THUMBNAIL') -->
|
||||
</div>
|
||||
{% set form = product.form_basket_edit %}
|
||||
<!-- <form {{ model.attr_form_type }}="{{ form.form_type }}" {{ model.attr_id_product }}="{{ product.id }}" class="container column" action="{{ url_for('basket_add') }}" method="POST"> -->
|
||||
<form {{ model.attr_form_type }}="{{ form.form_type }}" class="{{ model.flag_container }} {{ model.flag_column }}" {{ model.attr_id_product }}="{{ product.id_product}}" {{ model.attr_id_permutation }}="{{ permutation.id_permutation }}"> <!-- id="form_basket_item_id_{{ basket_item.product.id }}" -->
|
||||
{{ form.hidden_tag() }}
|
||||
<h2>{{ product.name }}</h2>
|
||||
{% if permutation.is_available %}
|
||||
<h3 style="white-space: nowrap;">{{ basket_item.quantity }} x {{ product.output_price(model.app.is_included_VAT) }} = {{ basket_item.output_subtotal() }}</h3>
|
||||
{% set tmp_quantity = basket_item.quantity %}
|
||||
{% include 'components/common/inputs/_input_number_plus_minus.html' %}
|
||||
{% elif permutation.is_unavailable_in_currency_or_region %}
|
||||
<h3 style="white-space: nowrap;">Product not available in currency and region</h3>
|
||||
{% else %}
|
||||
<h3 style="white-space: nowrap;">Product not available</h3>
|
||||
{% endif %}
|
||||
<a class="{{ model.FLAG_DELETE }}">Delete</a>
|
||||
{% if show_delivery_option %}
|
||||
<div class="{{ model.flag_container_input }}">
|
||||
{{ product.form_delivery_option.label }}
|
||||
{{ product.form_delivery_option() }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<script>
|
||||
if (_verbose) {
|
||||
console.log('creating basket item for:');
|
||||
console.log('product id: {{ product.id_product }}');
|
||||
console.log('permutation id: {{ product.get_id_permutation() }}');
|
||||
console.log('quantity: {{ basket_item.quantity }}');
|
||||
}
|
||||
</script>
|
||||
</form>
|
||||
</div>
|
||||
@@ -1,84 +0,0 @@
|
||||
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_MANUFACTURING_PURCHASE_ORDER }}" {{ model.ATTR_ID_MANUFACTURING_PURCHASE_ORDER }}>
|
||||
<td class="{{ model.FLAG_ORDER_ITEMS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_order_items.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
<input type="number" min="0" step="0.001" class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_EXCL }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""/>
|
||||
<div
|
||||
class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_INCL }}">
|
||||
<input type="number" min="0" step="0.001" class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_INCL }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""/>
|
||||
<div
|
||||
class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_INCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_MANUFACTURING_PURCHASE_ORDER }}" {{ model.ATTR_ID_MANUFACTURING_PURCHASE_ORDER }}="{{ order.id_order }}">
|
||||
{% set order_items = order.items %}
|
||||
{% set json_str_items = model.jsonify(model.convert_list_objects_to_list_options(order_items)) %}
|
||||
<td class="{{ model.FLAG_ORDER_ITEMS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ json_str_items }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str_items }}">
|
||||
{#
|
||||
{% include 'components/store/_preview_manufacturing_purchase_order_items.html' %}
|
||||
#}
|
||||
{% include 'components/store/_preview_order_items.html' %}
|
||||
</td>
|
||||
{% set currency = order.currency %}
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.cost_total_local_VAT_excl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.cost_total_local_VAT_excl }}"
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.cost_total_local_VAT_incl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.cost_total_local_VAT_incl }}"
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.price_total_local_VAT_excl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.price_total_local_VAT_excl }}"
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_INCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_PRICE_TOTAL_LOCAL_VAT_INCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.price_total_local_VAT_incl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.price_total_local_VAT_incl }}"
|
||||
></div>
|
||||
</td>
|
||||
{% set active = order.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,60 +0,0 @@
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_PRODUCT }}" {{ model.ATTR_ID_PRODUCT }}>
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
{#
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }}">
|
||||
<textarea class="{{ model.FLAG_PRODUCT_VARIATIONS }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
#}
|
||||
<td class="{{ model.FLAG_HAS_VARIATIONS }}">
|
||||
<input class="{{ model.FLAG_HAS_VARIATIONS }}" type="checkbox" {{ model.ATTR_VALUE_CURRENT }}="{{ model.FLAG_BOOL_FALSE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.FLAG_BOOL_FALSE }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ACCESS_LEVEL }}"
|
||||
{{ model.ATTR_ID_ACCESS_LEVEL }}="1" {{ model.FLAG_ACCESS_LEVEL_REQUIRED }}="View"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1"
|
||||
>
|
||||
<div class="{{ model.FLAG_ACCESS_LEVEL}}" {{ model.ATTR_ID_ACCESS_LEVEL }}="1">View</div>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_ID_PRODUCT }}="{{ product.id_product }}">
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% set display_order = category.display_order %}
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ product.id_category }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.id_category }}">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }}="{{ product.name }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.name }}">{{ product.name }}</textarea>
|
||||
</td>
|
||||
{#
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }}">
|
||||
{% include 'components/common/inputs/_textarea_product_variation_types.html' %}
|
||||
<textarea class="{{ model.FLAG_PRODUCT_VARIATIONS }}" {{ model.ATTR_VALUE_CURRENT }}="{{ product.description }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.description }}">{{ product.description }}</textarea>
|
||||
</td>
|
||||
#}
|
||||
<td class="{{ model.FLAG_HAS_VARIATIONS }}">
|
||||
<input class="{{ model.FLAG_HAS_VARIATIONS }}" type="checkbox" {% if product.has_variations %}checked{% endif %}
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ product.has_variations | lower }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.has_variations | lower }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ACCESS_LEVEL }}"
|
||||
{{ model.ATTR_ID_ACCESS_LEVEL }}="{{ product.id_access_level_required }}" {{ model.FLAG_ACCESS_LEVEL_REQUIRED }}="{{ product.name_access_level_required }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ product.id_access_level_required }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.id_access_level_required }}"
|
||||
>
|
||||
<div class="{{ model.FLAG_ACCESS_LEVEL}}" {{ model.ATTR_ID_ACCESS_LEVEL }}="{{ product.id_access_level_required }}" {{ model.ATTR_VALUE_CURRENT }}="{{ product.id_access_level_required }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ product.id_access_level_required }}">{{ product.name_access_level_required }}</div>
|
||||
</td>
|
||||
{% set active = product.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,42 +0,0 @@
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_ID_PRODUCT_CATEGORY }}>
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CODE }}">
|
||||
<textarea class="{{ model.FLAG_CODE }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DESCRIPTION }}">
|
||||
<textarea class="{{ model.FLAG_DESCRIPTION }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ACCESS_LEVEL }}" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
<div class="{{ model.FLAG_ACCESS_LEVEL}}" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">View</div>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_ID_PRODUCT_CATEGORY }}="{{ category.id_category }}">
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% set display_order = category.display_order %}
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CODE }}">
|
||||
<textarea class="{{ model.FLAG_CODE }}" {{ model.ATTR_VALUE_CURRENT }}="{{ category.code }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ category.code }}">{{ category.code }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }}="{{ category.name }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ category.name }}">{{ category.name }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DESCRIPTION }}">
|
||||
<textarea class="{{ model.FLAG_DESCRIPTION }}" {{ model.ATTR_VALUE_CURRENT }}="{{ category.description }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ category.description }}">{{ category.description }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ACCESS_LEVEL }}" {{ model.ATTR_VALUE_CURRENT }}="{{ category.id_access_level_required }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ category.id_access_level_required }}">
|
||||
<div class="{{ model.FLAG_ACCESS_LEVEL}}" {{ model.ATTR_VALUE_CURRENT }}="{{ category.id_access_level_required }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ category.id_access_level_required }}">{{ category.name_access_level_required }}</div>
|
||||
</td>
|
||||
{% set active = category.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,183 +0,0 @@
|
||||
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_PRODUCT_PERMUTATION }}" {{ model.ATTR_ID_PERMUTATION }}>
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/store/_preview_DDL_product.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }} {{ model.FLAG_COLLAPSED}}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
{% include 'components/store/_preview_product_permutation_variations.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DESCRIPTION}}">
|
||||
<textarea class="{{ model.FLAG_DESCRIPTION }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_STOCK }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_STOCK }}" type="number" min="0" value="0" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_MIN }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_MIN }}" type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_MAX }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_MAX }}" type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP }}">
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP }}"
|
||||
type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_QUANTITY }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
{% include 'components/store/_preview_DDL_product_permutation_unit_measurement_quantity.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_SUBSCRIPTION }}">
|
||||
<input class="{{ model.FLAG_IS_SUBSCRIPTION }}" type="checkbox" {{ model.ATTR_VALUE_CURRENT }}="{{ model.FLAG_BOOL_FALSE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.FLAG_BOOL_FALSE }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }}">
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }} {{ model.FLAG_COLLAPSED }}"
|
||||
type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
{% include 'components/store/_preview_DDL_product_permutation_interval_recurrence.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ID_STRIPE_PRODUCT }}">
|
||||
<input class="{{ model.FLAG_ID_STRIPE_PRODUCT }}" type="text" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED }}">
|
||||
<input class="{{ model.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED }}" type="checkbox" {{ model.ATTR_VALUE_CURRENT }}="{{ model.FLAG_BOOL_FALSE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.FLAG_BOOL_FALSE }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }}">
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }} {{ model.FLAG_COLLAPSED }}"
|
||||
type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
{% include 'components/store/_preview_DDL_product_permutation_interval_expiration_unsealed.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}">
|
||||
<!--
|
||||
<input class="{{ model.FLAG_COST_LOCAL }}" type="number" min="0" step="0.01"
|
||||
-->
|
||||
<div class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
0
|
||||
</div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}">
|
||||
<div class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
0
|
||||
</div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CURRENCY_COST }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PROFIT_LOCAL_MIN }}">
|
||||
<input class="{{ model.FLAG_PROFIT_LOCAL_MIN }}" type="number" min="0" step="0.01"
|
||||
value="0" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_LATENCY_MANUFACTURE }}">
|
||||
<input class="{{ model.FLAG_LATENCY_MANUFACTURE }}" type="number" min="0" value="1" {{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_PRODUCT_PERMUTATION }}" {{ model.ATTR_ID_PRODUCT_PERMUTATION }}="{{ permutation.id_permutation }}">
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_category }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_category }}">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_product }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_product }}">
|
||||
{% include 'components/store/_preview_DDL_product.html' %}
|
||||
</td>
|
||||
|
||||
{% set variation_tree = permutation.variation_tree %}
|
||||
{% set str_ids_variations = variation_tree.to_variation_id_pairs_str() if not (variation_tree is none) else '' %}
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ str_ids_variations }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ str_ids_variations }}">
|
||||
{% include 'components/store/_preview_product_permutation_variations.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DESCRIPTION}}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.description }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.description }}">
|
||||
<textarea class="{{ model.FLAG_DESCRIPTION }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.description }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.description }}">{{ permutation.description }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_STOCK }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_STOCK }}" type="number" min="0" value="{{ permutation.quantity_stock }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.quantity_stock }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.quantity_stock }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_MIN }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_MIN }}" type="number" min="0" value="{{ permutation.quantity_min }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.quantity_min }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.quantity_min }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_QUANTITY_MAX }}">
|
||||
<input class="{{ model.FLAG_QUANTITY_MAX }}" type="number" min="0" value="{{ permutation.quantity_max }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.quantity_max }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.quantity_max }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP }}">
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP }}" type="number" min="0" value="{{ permutation.count_unit_measurement_per_quantity_step }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.count_unit_measurement_per_quantity_step }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.count_unit_measurement_per_quantity_step }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_QUANTITY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_unit_measurement_quantity }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_unit_measurement_quantity }}">
|
||||
{% include 'components/store/_preview_DDL_product_permutation_unit_measurement_quantity.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_SUBSCRIPTION }}">
|
||||
<input type="checkbox" {% if permutation.is_subscription %}checked{% endif %}
|
||||
class="{{ model.FLAG_IS_SUBSCRIPTION }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ permutation.is_subscription | lower }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.is_subscription | lower }}"
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }}">
|
||||
{% set value = permutation.count_interval_recurrence if permutation.count_interval_recurrence is not none else 1 %}
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }} {% if not permutation.is_subscription %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
type="number" min="0"
|
||||
value="{% if value is not none %}{{ value }}{% else %}{{ 1 }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{% if value is not none %}{{ value }}{% else %}{{ 1 }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ value }}"
|
||||
/>
|
||||
</td>
|
||||
|
||||
{% set value = permutation.id_unit_measurement_interval_recurrence if permutation.id_unit_measurement_interval_recurrence is not none else '' %}
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value }}">
|
||||
{% include 'components/store/_preview_DDL_product_permutation_interval_recurrence.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ID_STRIPE_PRODUCT }}">
|
||||
{% set value = permutation.id_stripe_product if permutation.id_stripe_product is not none else '' %}
|
||||
<input class="{{ model.FLAG_ID_STRIPE_PRODUCT }}" type="text" value="{{ value }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED }}">
|
||||
<input type="checkbox" {% if permutation.does_expire_faster_once_unsealed %}checked{% endif %}
|
||||
class="{{ model.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ permutation.does_expire_faster_once_unsealed | lower }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.does_expire_faster_once_unsealed | lower }}"
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }}">
|
||||
{% set value = permutation.count_interval_expiration_unsealed if permutation.count_interval_expiration_unsealed is not none else 1 %}
|
||||
<input class="{{ model.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }} {% if not permutation.does_expire_faster_once_unsealed %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
type="number" min="0"
|
||||
value="{% if value is not none %}{{ value }}{% else %}{{ 1 }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{% if value is not none %}{{ value }}{% else %}{{ 1 }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ value }}"
|
||||
/>
|
||||
</td>
|
||||
|
||||
{% set value = permutation.id_unit_measurement_interval_expiration_unsealed if permutation.id_unit_measurement_interval_expiration_unsealed is not none else '' %}
|
||||
<td class="{{ model.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value }}">
|
||||
{% include 'components/store/_preview_DDL_product_permutation_interval_expiration_unsealed.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}">
|
||||
<div class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.cost_local_VAT_excl }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.cost_local_VAT_excl }}">
|
||||
{{ permutation.cost_local_VAT_excl }}
|
||||
</div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}">
|
||||
<div class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.cost_local_VAT_incl }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.cost_local_VAT_incl }}">
|
||||
{{ permutation.cost_local_VAT_incl }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
{% set currency = permutation.currency_cost %}
|
||||
<td class="{{ model.FLAG_CURRENCY_COST }}" {{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PROFIT_LOCAL_MIN }}">
|
||||
<input class="{{ model.FLAG_PROFIT_LOCAL_MIN }}" type="number" min="0" value="{{ permutation.profit_local_min }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.profit_local_min }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.profit_local_min }}">
|
||||
</td>
|
||||
<td class="{{ model.FLAG_LATENCY_MANUFACTURE }}">
|
||||
<input class="{{ model.FLAG_LATENCY_MANUFACTURE }}" type="number" min="0" value="{{ permutation.latency_manufacture }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.latency_manufacture }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.latency_manufacture }}">
|
||||
</td>
|
||||
{% set active = permutation.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,51 +0,0 @@
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_PRODUCT_VARIATION_TYPE }}" {{ model.ATTR_ID_PRODUCT_VARIATION_TYPE }}>
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CODE }}">
|
||||
<textarea class="{{ model.FLAG_CODE }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME_PLURAL }}">
|
||||
<textarea class="{{ model.FLAG_NAME_PLURAL }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS}} {{ model.FLAG_COLLAPSED }}">
|
||||
{% include 'components/store/_preview_product_variation_type_variations.html' %}
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_PRODUCT_VARIATION_TYPE }}" {{ model.ATTR_ID_PRODUCT_VARIATION_TYPE }}="{{ variation_type.id_type }}">
|
||||
<td class="{{ model.FLAG_DISPLAY_ORDER }}">
|
||||
{% set display_order = variation_type.display_order %}
|
||||
{% include 'components/common/buttons/_slider_display_order.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CODE }}">
|
||||
<textarea class="{{ model.FLAG_CODE }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ variation_type.code }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ variation_type.code }}"
|
||||
>{{ variation_type.code }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME }}">
|
||||
<textarea class="{{ model.FLAG_NAME }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ variation_type.name_singular }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ variation_type.name_singular }}"
|
||||
>{{ variation_type.name_singular }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME_PLURAL }}">
|
||||
<textarea class="{{ model.FLAG_NAME_PLURAL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ variation_type.name_plural }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ variation_type.name_plural }}"
|
||||
>{{ variation_type.name_plural }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS}} {{ model.FLAG_COLLAPSED }}">
|
||||
{% include 'components/store/_preview_product_variation_type_variations.html' %}
|
||||
</td>
|
||||
{% set active = variation_type.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,147 +0,0 @@
|
||||
{% if date_time_now is not defined %}
|
||||
{% set date_time_now = model.format_date(datetime.now()) %}
|
||||
{% endif %}
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_STOCK_ITEM }}" {{ model.ATTR_ID_STOCK_ITEM }}>
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">
|
||||
{% include 'components/store/_preview_DDL_product.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_ID_PRODUCT_PERMUTATION }}="0">
|
||||
{% include 'components/store/_preview_product_permutation_variations.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CURRENCY_COST }}">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}">
|
||||
<input class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}" type="number" min="0" value="" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}">
|
||||
<input class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}" type="number" min="0" value="" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_PURCHASED }}">
|
||||
<input class="{{ model.FLAG_DATE_PURCHASED }}" type="datetime-local" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_RECEIVED }}">
|
||||
<input type="datetime-local" class="{{ model.FLAG_DATE_RECEIVED }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_STORAGE_LOCATION }}">
|
||||
{% include 'components/store/_preview_DDL_stock_item_storage_location.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_SEALED }}">
|
||||
<input type="checkbox" class="{{ model.FLAG_IS_SEALED }}" checked
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ model.FLAG_BOOL_TRUE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.FLAG_BOOL_TRUE }}" />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_UNSEALED }}">
|
||||
<input type="datetime-local" class="{{ model.FLAG_DATE_UNSEALED }} {{ model.FLAG_COLLAPSED }}"
|
||||
value = "{{ date_time_now }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }} = "{{ date_time_now }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_EXPIRATION }}">
|
||||
<input type="datetime-local" class="{{ model.FLAG_DATE_EXPIRATION }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_CONSUMED }}">
|
||||
<input type="checkbox" class="{{ model.FLAG_IS_CONSUMED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ model.FLAG_BOOL_FALSE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.FLAG_BOOL_FALSE }}" />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_CONSUMED }}">
|
||||
<input type="datetime-local" class="{{ model.FLAG_DATE_CONSUMED }} {{ model.FLAG_COLLAPSED }}"
|
||||
value = "{{ date_time_now }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }} = "{{ date_time_now }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}
|
||||
/>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_STOCK_ITEM }}" {{ model.ATTR_ID_STOCK_ITEM }}="{{ stock_item.id_stock }}">
|
||||
<td class="{{ model.FLAG_PRODUCT_CATEGORY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_category }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_category }}">
|
||||
{% include 'components/store/_preview_DDL_product_category.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PRODUCT }}" {{ model.ATTR_VALUE_CURRENT }}="{{ permutation.id_product }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ permutation.id_product }}">
|
||||
{% include 'components/store/_preview_DDL_product.html' %}
|
||||
</td>
|
||||
{% set variation_tree = permutation.variation_tree %}
|
||||
{% set str_ids_variations = variation_tree.to_variation_id_pairs_str() if not (variation_tree is none) else '' %}
|
||||
<td class="{{ model.FLAG_PRODUCT_VARIATIONS }} {{ model.FLAG_COLLAPSED }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ str_ids_variations }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ str_ids_variations }}"
|
||||
{{ model.ATTR_ID_PRODUCT_PERMUTATION }}="{{ permutation.id_permutation }}"
|
||||
>
|
||||
{% include 'components/store/_preview_product_permutation_variations.html' %}
|
||||
</td>
|
||||
{% set currency = stock_item.currency_cost %}
|
||||
<td class="{{ model.FLAG_CURRENCY_COST }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}"
|
||||
>
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}">
|
||||
<input class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_EXCL }}" type="number" step="0.001"
|
||||
value="{{ stock_item.cost_local_VAT_excl }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ stock_item.cost_local_VAT_excl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ stock_item.cost_local_VAT_excl }}"
|
||||
>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}">
|
||||
<input class="{{ model.FLAG_COST_UNIT_LOCAL_VAT_INCL }}" type="number" step="0.001"
|
||||
value="{{ stock_item.cost_local_VAT_incl }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ stock_item.cost_local_VAT_incl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ stock_item.cost_local_VAT_incl }}"
|
||||
>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_PURCHASED }}">
|
||||
<input type="datetime-local" value="{{ model.format_datetime(stock_item.date_purchased) }}" {{ model.ATTR_VALUE_CURRENT }}="{{ model.format_datetime(stock_item.date_purchased) }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_datetime(stock_item.date_purchased) }}" />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_RECEIVED }}">
|
||||
<input type="datetime-local"
|
||||
class="{{ model.FLAG_DATE_RECEIVED }} {% if stock_item.date_purchased is none %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
value="{{ model.format_datetime(stock_item.date_received) }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_datetime(stock_item.date_received) }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_datetime(stock_item.date_received) }}"
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_STORAGE_LOCATION }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ stock_item.id_location_storage }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ stock_item.id_location_storage }}"
|
||||
>
|
||||
{% set storage_location = stock_item.storage_location %}
|
||||
{% include 'components/store/_preview_DDL_stock_item_storage_location.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_SEALED }}">
|
||||
<input type="checkbox" {{ "checked" if stock_item.is_sealed else "" }}
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ stock_item.is_sealed | lower }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ stock_item.is_sealed | lower }}"
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_UNSEALED }}">
|
||||
<input type="datetime-local"
|
||||
class="{{ model.FLAG_DATE_UNSEALED }} {% if stock_item.is_sealed %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
value="{{ model.format_datetime(stock_item.date_unsealed) }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_datetime(stock_item.date_unsealed) }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_datetime(stock_item.date_unsealed) }}"
|
||||
/>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_EXPIRATION }}">
|
||||
<input type="datetime-local" value="{{ model.format_datetime(stock_item.date_expiration) }}" {{ model.ATTR_VALUE_CURRENT }}="{{ model.format_datetime(stock_item.date_expiration) }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_datetime(stock_item.date_expiration) }}" />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_IS_CONSUMED }}">
|
||||
<input type="checkbox" {{ "checked" if stock_item.is_consumed else "" }} {{ model.ATTR_VALUE_CURRENT }}="{{ stock_item.is_consumed | lower }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ stock_item.is_consumed | lower }}" />
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DATE_CONSUMED }}">
|
||||
<input type="datetime-local"
|
||||
class="{{ model.FLAG_DATE_CONSUMED }} {% if not stock_item.is_consumed %}{{ model.FLAG_COLLAPSED }}{% endif %}"
|
||||
value="{{ model.format_datetime(stock_item.date_consumed) }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_datetime(stock_item.date_consumed) }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_datetime(stock_item.date_consumed) }}"
|
||||
/>
|
||||
</td>
|
||||
{% set active = stock_item.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,67 +0,0 @@
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_SUPPLIER }}" {{ model.ATTR_ID_SUPPLIER }}>
|
||||
<td class="{{ model.FLAG_NAME_COMPANY }}">
|
||||
<textarea class="{{ model.FLAG_NAME_COMPANY }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME_CONTACT }}">
|
||||
<textarea class="{{ model.FLAG_NAME_CONTACT }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DEPARTMENT_CONTACT }}">
|
||||
<textarea class="{{ model.FLAG_DEPARTMENT_CONTACT }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ADDRESS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_address.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PHONE_NUMBER }}">
|
||||
<textarea class="{{ model.FLAG_PHONE_NUMBER }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_FAX }}">
|
||||
<textarea class="{{ model.FLAG_FAX }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_EMAIL }}">
|
||||
<textarea class="{{ model.FLAG_EMAIL }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_WEBSITE }}">
|
||||
<textarea class="{{ model.FLAG_WEBSITE }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}></textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_SUPPLIER }}" {{ model.ATTR_ID_SUPPLIER }}="{{ supplier.id_supplier }}">
|
||||
<td class="{{ model.FLAG_NAME_COMPANY }}">
|
||||
<textarea class="{{ model.FLAG_NAME_COMPANY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.name_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.name_company }}">{{ supplier.name_company }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_NAME_CONTACT }}">
|
||||
<textarea class="{{ model.FLAG_NAME_CONTACT }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.name_contact }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.name_contact }}">{{ supplier.name_contact }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_DEPARTMENT_CONTACT }}">
|
||||
<textarea class="{{ model.FLAG_DEPARTMENT_CONTACT }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.department_contact }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.department_contact }}">{{ supplier.department_contact }}</textarea>
|
||||
</td>
|
||||
{% set address = supplier.get_address_active() %}
|
||||
<td class="{{ model.FLAG_ADDRESS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ address.id_address }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ address.id_address }}">
|
||||
{% include 'components/store/_preview_address.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_PHONE_NUMBER }}">
|
||||
<textarea class="{{ model.FLAG_PHONE_NUMBER }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.name_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.phone_number }}">{{ supplier.phone_number }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_FAX }}">
|
||||
<textarea class="{{ model.FLAG_FAX }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.name_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.fax }}">{{ supplier.fax }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_EMAIL }}">
|
||||
<textarea class="{{ model.FLAG_EMAIL }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.name_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.email }}">{{ supplier.email }}</textarea>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_WEBSITE }}">
|
||||
<textarea class="{{ model.FLAG_WEBSITE }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.website }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.website }}">{{ supplier.website }}</textarea>
|
||||
</td>
|
||||
{% set currency = supplier.currency %}
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
{% set active = supplier.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
{% if is_blank_row %}
|
||||
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_SUPPLIER_PURCHASE_ORDER }}" {{ model.ATTR_ID_SUPPLIER_PURCHASE_ORDER }}>
|
||||
<td class="{{ model.FLAG_SUPPLIER }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_DDL_supplier.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_ORDER_ITEMS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_order_items.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}="">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}">
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="" {{ model.ATTR_VALUE_PREVIOUS }}=""
|
||||
></div>
|
||||
</td>
|
||||
{% set active = true %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr class="{{ model.FLAG_SUPPLIER_PURCHASE_ORDER }}" {{ model.ATTR_ID_SUPPLIER_PURCHASE_ORDER }}="{{ order.id_order }}">
|
||||
{% set supplier = order.supplier %}
|
||||
<td class="{{ model.FLAG_SUPPLIER }}" {{ model.ATTR_VALUE_CURRENT }}="{{ supplier.id_supplier }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ supplier.id_supplier }}">
|
||||
{% include 'components/store/_preview_DDL_supplier.html' %}
|
||||
</td>
|
||||
{% set order_items = order.items %}
|
||||
{% set json_str_items = model.jsonify(model.convert_list_objects_to_list_options(order_items)) %}
|
||||
<td class="{{ model.FLAG_ORDER_ITEMS }} {{ model.FLAG_COLLAPSED }}" {{ model.ATTR_VALUE_CURRENT }}="{{ json_str_items }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ json_str_items }}">
|
||||
{% include 'components/store/_preview_order_items.html' %}
|
||||
</td>
|
||||
{% set currency = order.currency %}
|
||||
<td class="{{ model.FLAG_CURRENCY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ currency.id_currency }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ currency.id_currency }}">
|
||||
{% include 'components/store/_preview_DDL_currency.html' %}
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}">
|
||||
{#
|
||||
<input type="number" min="0" step="0.001" >
|
||||
#}
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_EXCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.cost_total_local_VAT_excl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.cost_total_local_VAT_excl }}"
|
||||
></div>
|
||||
</td>
|
||||
<td class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}">
|
||||
{#
|
||||
<input type="number" min="0" step="0.001" >
|
||||
#}
|
||||
<div
|
||||
class="{{ model.FLAG_COST_TOTAL_LOCAL_VAT_INCL }}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ order.cost_total_local_VAT_incl }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ order.cost_total_local_VAT_incl }}"
|
||||
></div>
|
||||
</td>
|
||||
{% set active = order.active %}
|
||||
{% include 'components/store/_td_active.html' %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
|
||||
{% with _active = (active is not defined or active or active is none) %}
|
||||
<td class="{{ model.FLAG_ACTIVE }}">
|
||||
{#
|
||||
<input class="{{ model.FLAG_ACTIVE }}" type="checkbox" {% if active %}checked{% endif %} {{ model.ATTR_VALUE_CURRENT }}="{{ active | lower }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ active | lower }}">
|
||||
#}
|
||||
<button type="button" class="{{ model.FLAG_ACTIVE }} {% if active %}{{ model.FLAG_DELETE }}{% endif %}"
|
||||
{{ model.ATTR_VALUE_CURRENT }}="{{ active | lower }}"
|
||||
{{ model.ATTR_VALUE_PREVIOUS }}="{{ active | lower }}"
|
||||
>{% if active %}x{% else %}+{% endif %}</button>
|
||||
</td>
|
||||
{% endwith %}
|
||||
@@ -1,31 +0,0 @@
|
||||
{% if block_id == 'block1' %}
|
||||
<div class="common-block" id="block1">
|
||||
<h1>Feckin common block boi</h1>
|
||||
</div>
|
||||
{% elif block_id == 'checkout' %}
|
||||
<!-- Variables from Model_View_Store + model-->
|
||||
<script>
|
||||
var hashPageStoreCheckout = "{{ model.HASH_PAGE_STORE_CHECKOUT }}";
|
||||
var hashPageStoreCheckoutSession = "{{ model.HASH_PAGE_STORE_CHECKOUT_SESSION }}";
|
||||
var hashStoreBasketInfo = "{{ model.HASH_STORE_BASKET_INFO }}";
|
||||
var idOverlayInfoBilling = "#{{ model.ID_OVERLAY_INFO_BILLING }}";
|
||||
var idOverlayInfoDelivery = "#{{ model.ID_OVERLAY_INFO_DELIVERY }}";
|
||||
var idContainerInfoBilling = "#{{ model.ID_CONTAINER_INFO_BILLING }}";
|
||||
var idContainerInfoDelivery = "#{{ model.ID_CONTAINER_INFO_DELIVERY }}";
|
||||
var keyIdCheckout = "{{ model.KEY_ID_CHECKOUT }}";
|
||||
var keyInfoBilling = "{{ model.KEY_INFO_BILLING }}";
|
||||
var keyInfoDelivery = "{{ model.KEY_INFO_DELIVERY }}";
|
||||
var keyInfoIdentical = "{{ model.KEY_INFO_IDENTICAL }}";
|
||||
var keyInfoType = "{{ model.KEY_INFO_TYPE }}";
|
||||
var keyIsSubscription = "{{ model.KEY_IS_SUBSCRIPTION }}";
|
||||
var keyAddress1 = "{{ model.KEY_ADDRESS1 }}";
|
||||
var keyAddress2 = "{{ model.KEY_ADDRESS2 }}";
|
||||
var keyCity = "{{ model.KEY_CITY }}";
|
||||
var keyCounty = "{{ model.KEY_COUNTY }}";
|
||||
var keyNameFull = "{{ model.KEY_NAME_FULL }}";
|
||||
var keyPhoneNumber = "{{ model.KEY_PHONE_NUMBER }}";
|
||||
var keyPostcode = "{{ model.KEY_POSTCODE }}";
|
||||
var keyRegion = "{{ model.KEY_REGION }}";
|
||||
var keyUrlCheckout = "{{ model.KEY_URL_CHECKOUT }}";
|
||||
</script>
|
||||
{% endif %}
|
||||
@@ -47,6 +47,11 @@
|
||||
var attrValueCurrent = "{{ model.ATTR_VALUE_CURRENT }}";
|
||||
var attrValuePrevious = "{{ model.ATTR_VALUE_PREVIOUS }}";
|
||||
var attrValueNew = "{{ model.ATTR_VALUE_NEW }}";
|
||||
var environment = {
|
||||
"name": "{{ model.app.app_config.FLASK_ENV }}",
|
||||
"is_production": "{{ model.app.app_config.is_production }}",
|
||||
"is_development": "{{ model.app.app_config.is_development }}",
|
||||
};
|
||||
var flagAccessLevel = "{{ model.FLAG_ACCESS_LEVEL }}";
|
||||
var flagAccessLevelRequired = "{{ model.FLAG_ACCESS_LEVEL_REQUIRED }}";
|
||||
var flagActive = "{{ model.FLAG_ACTIVE }}";
|
||||
@@ -132,23 +137,16 @@
|
||||
var flagTemporaryElement = "{{ model.FLAG_TEMPORARY_ELEMENT }}";
|
||||
var flagUser = "{{ model.FLAG_USER }}";
|
||||
var flagWebsite = "{{ model.FLAG_WEBSITE }}";
|
||||
var hashALTCHACreateChallenge = "{{ model.HASH_ALTCHA_CREATE_CHALLENGE }}";
|
||||
var hashApplyFiltersStoreProductPermutation = "{{ model.HASH_APPLY_FILTERS_STORE_PRODUCT_PERMUTATION }}";
|
||||
var hashGetALTCHAChallenge = "{{ model.HASH_ALTCHA_CREATE_CHALLENGE }}";
|
||||
var hashPageAccessibilityReport = "{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}";
|
||||
var hashPageAccessibilityStatement = "{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}";
|
||||
var hashPageAdminHome = "{{ model.HASH_PAGE_ADMIN_HOME }}";
|
||||
var hashPageContact = "{{ model.HASH_PAGE_CONTACT }}";
|
||||
var hashPageContactSuccess = "{{ model.HASH_PAGE_CONTACT_SUCCESS }}";
|
||||
var hashPageDataRetentionSchedule = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}";
|
||||
// var hashPageCurrent = "{{ model.hash_page_current }}";
|
||||
var hashPageErrorNoPermission = "{{ model.HASH_PAGE_ERROR_NO_PERMISSION }}";
|
||||
var hashPageHome = "{{ model.HASH_PAGE_HOME }}";
|
||||
var hashPageLicense = "{{ model.HASH_PAGE_LICENSE }}";
|
||||
var hashPagePrivacyPolicy = "{{ model.HASH_PAGE_PRIVACY_POLICY }}";
|
||||
var hashPageServices = "{{ model.HASH_PAGE_SERVICES }}";
|
||||
var hashPageUserAccount = "{{ model.HASH_PAGE_USER_ACCOUNT }}";
|
||||
var hashPageUserAdmin = "{{ model.HASH_PAGE_USER_ADMIN }}";
|
||||
var hashPageUserLogin = "{{ model.HASH_PAGE_USER_LOGIN }}";
|
||||
var hashPageUserLogout = "{{ model.HASH_PAGE_USER_LOGOUT }}";
|
||||
var idButtonApplyFilters = "#{{ model.ID_BUTTON_APPLY_FILTERS }}";
|
||||
var idButtonHamburger = "#{{ model.ID_BUTTON_HAMBURGER }}";
|
||||
var idCSRFToken = "#{{ model.ID_CSRF_TOKEN }}";
|
||||
@@ -168,10 +166,6 @@
|
||||
</script>
|
||||
|
||||
|
||||
<!-- Stylesheets
|
||||
<link href="{{ url_for('static', filename='css/main.css') }}" rel="stylesheet" type="text/css"/>
|
||||
<link rel="stylesheet" loading="eager" href="{{ url_for('static', filename='dist/css/main.bundle.css') }}">
|
||||
-->
|
||||
<link rel="preload" as="style" href="{{ url_for('static', filename='dist/css/main.bundle.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
||||
<noscript><link rel="stylesheet" href="{{ url_for('static', filename='dist/css/main.bundle.css') }}"></noscript>
|
||||
|
||||
@@ -182,7 +176,7 @@
|
||||
<header>
|
||||
<div class="container">
|
||||
<nav class="navbar">
|
||||
<div class="{{ model.FLAG_LOGO }}" href="/">{{ model.NAME_COMPANY }}</div>
|
||||
<div class="{{ model.FLAG_LOGO }}" href="{{ model.HASH_PAGE_HOME }}">{{ model.NAME_COMPANY }}</div>
|
||||
<div class="nav-links">
|
||||
{% block page_nav_links %}{% endblock %}
|
||||
</div>
|
||||
@@ -209,8 +203,8 @@
|
||||
<div class="footer-section">
|
||||
<h3>Legal</h3>
|
||||
<ul>
|
||||
<li><a href="{{ url_for('routes_legal.privacy_policy') }}">Privacy Policy</a></li>
|
||||
<li><a href="{{ url_for('routes_legal.accessibility_statement') }}">Accessibility Statement</a></li>
|
||||
<li><a href="{{ model.HASH_PAGE_PRIVACY_POLICY }}">Privacy Policy</a></li>
|
||||
<li><a href="{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}">Accessibility Statement</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -225,24 +219,11 @@
|
||||
</div>
|
||||
|
||||
<div class="footer-bottom">
|
||||
<p>© {{ current_year }} {{ model.NAME_COMPANY }}. <a href="{{ url_for('routes_legal.license') }}" alt="License" aria-label="License">All rights reserved.</a></p>
|
||||
<p>© {{ current_year }} {{ model.NAME_COMPANY }}. <a href="{{ model.HASH_PAGE_LICENSE }}" alt="License" aria-label="License">All rights reserved.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- JavaScript -->
|
||||
<!--<script type="module" src="{{ url_for('static', filename='js/pages/base.js') }}"></script>
|
||||
<script type="module" src="{{ url_for('static', filename='js/app.js') }}"></script>-->
|
||||
<script src="{{ url_for('static', filename='dist/js/main.bundle.js') }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
// alert("naughty boy");
|
||||
hookupShared();
|
||||
});
|
||||
</script>
|
||||
-->
|
||||
|
||||
@@ -2,25 +2,6 @@
|
||||
|
||||
{% block page_head %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/core_contact.bundle.css') }}">
|
||||
{#
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@altcha/browser@latest/dist/index.js" defer></script>
|
||||
#}
|
||||
{# with CDN
|
||||
<script src="https://cdn.jsdelivr.net/npm/@altcha/browser@1.1.0/dist/altcha.min.js"></script>
|
||||
<style>
|
||||
.altcha-widget {
|
||||
margin: 15px 0;
|
||||
}
|
||||
</style>
|
||||
#}
|
||||
{# with locally stored vendor project - this is imported into contact.js
|
||||
<script type="module" src="{{ url_for('static', filename='js/vendor/altcha.js')}}"></script>
|
||||
#}
|
||||
<style>
|
||||
.altcha-widget {
|
||||
margin: 15px 0;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_nav_links %}
|
||||
@@ -31,36 +12,14 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block page_body %}
|
||||
{#
|
||||
<script>
|
||||
function loadRecaptcha() {
|
||||
var script = document.createElement('script');
|
||||
script.src = "https://www.google.com/recaptcha/enterprise.js?render=6Lf8Q8cpAAAAAFAawGu4-ma60bvbEixNVTVvRzKe";
|
||||
script.async = true;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
|
||||
window.addEventListener('load', loadRecaptcha);
|
||||
</script>
|
||||
#}
|
||||
|
||||
{% set form = model.form_contact %}
|
||||
<section class="contact-section">
|
||||
<div class="contact-form">
|
||||
<h1>Contact Us</h1>
|
||||
<p>Please fill in the form below and we'll get back to you as soon as possible.</p>
|
||||
|
||||
{% with messages = get_flashed_messages() %}
|
||||
{% if messages %}
|
||||
<ul class="flashes">
|
||||
{% for message in messages %}
|
||||
<li>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
|
||||
<form id="{{ model.ID_CONTACT_FORM }}" method="POST" action="{{ url_for('routes_core.contact') }}">
|
||||
<form id="{{ model.ID_CONTACT_FORM }}" method="POST" action="{{ model.HASH_POST_CONTACT_FORM }}">
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<div class="form-grid">
|
||||
@@ -90,27 +49,17 @@
|
||||
{{ model.form_contact.receive_marketing.label }}
|
||||
</div>
|
||||
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_CAPTCHA }}">
|
||||
{# {{ model.form_contact.recaptcha() }} #}
|
||||
{#
|
||||
<altcha-widget
|
||||
challengeurl="https://eu.altcha.org/api/v1/challenge?apiKey={{ model.app.app_config.ALTCHA_API_KEY }}"
|
||||
spamfilter
|
||||
></altcha-widget>
|
||||
#}
|
||||
<div>
|
||||
{{ form.altcha.label }}
|
||||
{#
|
||||
{{ form.altcha }}
|
||||
{{ form.altcha.hidden() }}
|
||||
#}
|
||||
<altcha-widget
|
||||
class="altcha-widget"
|
||||
challengeurl="{{ url_for('routes_core.create_altcha_challenge') }}"
|
||||
challengeurl="{{ model.HASH_GET_ALTCHA_CHALLENGE }}"
|
||||
auto="onload"
|
||||
id="{{ form.altcha.id }}"
|
||||
name="{{ form.altcha.name }}"
|
||||
></altcha-widget>
|
||||
</div>
|
||||
<p>This CAPTCHA mechanism is fully GDPR-compliant with no cookies, no fingerprinting, no tracking, and runs in the background so you don't need to do anything!</p>
|
||||
</div>
|
||||
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
|
||||
{{ model.form_contact.submit() }}
|
||||
@@ -119,74 +68,13 @@
|
||||
|
||||
<div class="data-notice">
|
||||
<h3>How we use your information</h3>
|
||||
<p>We will use the information you provide in this form to:</p>
|
||||
<ul>
|
||||
<li>Respond to your inquiry about our ERP implementation services</li>
|
||||
<li>Create and send you a proposal if requested</li>
|
||||
<li>Contact you regarding your interest in our services</li>
|
||||
</ul>
|
||||
|
||||
<p>If you opt in to marketing communications, we will also use your email address to send you updates about our services, ERPNext features, and relevant industry news. You can unsubscribe from these communications at any time.</p>
|
||||
|
||||
<p>We retain contact form submissions for customer service purposes and retain marketing consent records as required by law. For details about how long we keep your information, please see our <a href="{{ url_for('routes_legal.retention_schedule') }}">data retention schedule</a>.</p>
|
||||
|
||||
<p>For full details about how we handle your personal data, please read our <a href="{{ url_for('routes_legal.privacy_policy') }}">Privacy Policy</a>.</p>
|
||||
<p>We retain contact form submissions for customer service purposes and retain marketing consent records as required by law. For details about how long we keep your information, please see our <a href="{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}">data retention schedule</a>.</p>
|
||||
<p>For full details about how we handle your personal data, please read our <a href="{{ model.HASH_PAGE_PRIVACY_POLICY }}">Privacy Policy</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# included in footer now
|
||||
<section class="contact-details">
|
||||
<div class="{{ model.FLAG_CONTAINER }}">
|
||||
<h2>Our contact details</h2>
|
||||
<div class="expertise-card">
|
||||
<ul>
|
||||
<li>Email: {{ model.get_mail_contact_public() }}</li>
|
||||
<li>LinkedIn: <a href="https://www.linkedin.com/in/teddyms/">linkedin.com/in/teddyms</a></li>
|
||||
<li>GitHub: <a href="https://github.com/Teddy-1024/">github.com/Teddy-1024</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
#}
|
||||
|
||||
{# with CDN
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Initialize ALTCHA widget
|
||||
ALTCHA.init({
|
||||
selector: '.altcha-widget',
|
||||
challenge: {
|
||||
url: '/get-challenge',
|
||||
onSuccess: function(result, element) {
|
||||
// Store the result in the hidden input field
|
||||
const hiddenInput = element.parentNode.querySelector('input[type="hidden"]');
|
||||
hiddenInput.value = JSON.stringify(result);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
#}
|
||||
|
||||
{# with locally stored vendor project - this is now in contact.js
|
||||
<script type="module">
|
||||
import { Altcha } from "{{ url_for('static', filename='js/vendor/altcha.js') }}";
|
||||
window.ALTCHA = { init: (config) => {
|
||||
document.querySelectorAll(config.selector).forEach(el => {
|
||||
new Altcha({
|
||||
target: el,
|
||||
props: {
|
||||
challengeurl: config.challenge.url,
|
||||
auto: 'onload'
|
||||
}
|
||||
}).$on('verified', (e) => {
|
||||
config.challenge.onSuccess(e.detail.payload, el);
|
||||
});
|
||||
});
|
||||
}};
|
||||
</script>
|
||||
#}
|
||||
<script>
|
||||
var flagALTCHAWidget = "{{ model.FLAG_ALTCHA_WIDGET }}";
|
||||
var idContactForm = "#{{ model.ID_CONTACT_FORM }}";
|
||||
|
||||
22
templates/pages/core/_contact_success.html
Normal file
22
templates/pages/core/_contact_success.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends 'layouts/layout.html' %}
|
||||
|
||||
{% block page_head %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/core_contact.bundle.css') }}">
|
||||
{% endblock %}
|
||||
|
||||
{% block page_nav_links %}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_body %}
|
||||
|
||||
{% set form = model.form_contact %}
|
||||
<section class="contact-section">
|
||||
<div class="contact-form">
|
||||
<h1>Message Received</h1>
|
||||
<p>Thanks for contacting us! We've received your message and will respond within 48 hours.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -3,10 +3,6 @@
|
||||
{% block title %}{{ model.title }}{% endblock %}
|
||||
|
||||
{% block page_body %}
|
||||
<!-- Include Stylesheet
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/sections/legal.css') }}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/pages/legal/accessibility_statement.css') }}">
|
||||
-->
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/legal_accessibility_statement.bundle.css') }}">
|
||||
|
||||
<!-- HTML content -->
|
||||
@@ -201,10 +197,9 @@
|
||||
[Note: publishing the test report is optional but doing so may allow you to make your accessibility statement shorter and more focused.]
|
||||
https://www.w3.org/WAI/eval/report-tool/#/
|
||||
-->
|
||||
<p>You can read the full accessibility test report {{ model.URL_HOST }}{{ url_for('routes_legal.accessibility_report') }}.</p>
|
||||
<p>You can read the full accessibility test report {{ model.URL_HOST }}{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}.</p>
|
||||
</div>
|
||||
|
||||
<!-- Include JavaScript -->
|
||||
<script type="module" src="{{ url_for('static', filename='js/sections/legal.js') }}"></script>
|
||||
<script type="module" src="{{ url_for('static', filename='js/pages/legal/accessibility_statement.js') }}"></script>
|
||||
{% endblock %}
|
||||
@@ -1955,7 +1955,7 @@
|
||||
|
||||
<!--
|
||||
<script>
|
||||
var hashPageCurrent = "{{ model.HASH_PAGE_RETENTION_SCHEDULE }}";
|
||||
var hashPageCurrent = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}";
|
||||
|
||||
$(document).ready(function() {
|
||||
hookupPageRetentionSchedule();
|
||||
|
||||
Reference in New Issue
Block a user