first commit

This commit is contained in:
sujan
2024-08-06 18:06:00 +05:45
commit a2fa49071a
2745 changed files with 391199 additions and 0 deletions

View File

@ -0,0 +1,55 @@
{{ header }}
<div id="account-account" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
{% if success %}
<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-circle-check"></i> {{ success }}</div>
{% endif %}
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h2>{{ text_my_account }}</h2>
<ul class="list-unstyled">
<li><a href="{{ edit }}">{{ text_edit }}</a></li>
<li><a href="{{ password }}">{{ text_password }}</a></li>
<li><a href="{{ address }}">{{ text_address }}</a></li>
<li><a href="{{ wishlist }}">{{ text_wishlist }}</a></li>
</ul>
<h2>
{{ text_my_orders }}
</h2>
<ul class="list-unstyled">
<li><a href="{{ order }}">{{ text_order }}</a></li>
<li><a href="{{ subscription }}">{{ text_subscription }}</a></li>
<li><a href="{{ download }}">{{ text_download }}</a></li>
{% if reward %}
<li><a href="{{ reward }}">{{ text_reward }}</a></li>
{% endif %}
<li><a href="{{ return }}">{{ text_return }}</a></li>
<li><a href="{{ transaction }}">{{ text_transaction }}</a></li>
</ul>
{% if affiliate %}
<h2>
{{ text_my_affiliate }}
</h2>
<ul class="list-unstyled">
{% if not tracking %}
<li><a href="{{ affiliate }}">{{ text_affiliate_add }}</a></li>
{% else %}
<li><a href="{{ affiliate }}">{{ text_affiliate_edit }}</a></li>
<li><a href="{{ tracking }}">{{ text_tracking }}</a></li>
{% endif %}
</ul>
{% endif %}
<h2>
{{ text_my_newsletter }}
</h2>
<ul class="list-unstyled">
<li><a href="{{ newsletter }}">{{ text_newsletter }}</a></li>
</ul>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,62 @@
{{ header }}
<div id="account-address" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
{% if success %}
<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-circle-check"></i> {{ success }}</div>
{% endif %}
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ text_address_book }}</h1>
<div id="address">{{ list }}</div>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<a href="{{ add }}" class="btn btn-primary">{{ button_new_address }}</a>
</div>
</div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#address').on('click', '.btn-danger', function (e) {
e.preventDefault();
var element = this;
$.ajax({
url: $(element).attr('href'),
dataType: 'json',
beforeSend: function () {
$(element).prop('disabled', true);
},
complete: function () {
$(element).prop('disabled', false);
},
success: function (json) {
console.log(json);
$('.alert-dismissible').remove();
if (json['error']) {
$('#address').before('<div class="alert alert-danger alert-dismissible"><i class="fa-solid fa-circle-exclamation"></i> ' + json['error'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
}
if (json['success']) {
$('#address').before('<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-circle-check"></i> ' + json['success'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
$('#address').load('index.php?route=account/address.list&language={{ language }}&customer_token={{ customer_token }}');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
//--></script>
{{ footer }}

View File

@ -0,0 +1,275 @@
{{ header }}
<div id="account-address" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ text_address }}</h1>
<form id="form-address" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<div class="row mb-3 required">
<label for="input-firstname" class="col-sm-2 col-form-label">{{ entry_firstname }}</label>
<div class="col-sm-10">
<input type="text" name="firstname" value="{{ firstname }}" placeholder="{{ entry_firstname }}" id="input-firstname" class="form-control"/>
<div id="error-firstname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-lastname" class="col-sm-2 col-form-label">{{ entry_lastname }}</label>
<div class="col-sm-10">
<input type="text" name="lastname" value="{{ lastname }}" placeholder="{{ entry_lastname }}" id="input-lastname" class="form-control"/>
<div id="error-lastname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3">
<label for="input-company" class="col-sm-2 col-form-label">{{ entry_company }}</label>
<div class="col-sm-10">
<input type="text" name="company" value="{{ company }}" placeholder="{{ entry_company }}" id="input-company" class="form-control"/>
</div>
</div>
<div class="row mb-3 required">
<label for="input-address-1" class="col-sm-2 col-form-label">{{ entry_address_1 }}</label>
<div class="col-sm-10">
<input type="text" name="address_1" value="{{ address_1 }}" placeholder="{{ entry_address_1 }}" id="input-address-1" class="form-control"/>
<div id="error-address-1" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3">
<label for="input-address-2" class="col-sm-2 col-form-label">{{ entry_address_2 }}</label>
<div class="col-sm-10">
<input type="text" name="address_2" value="{{ address_2 }}" placeholder="{{ entry_address_2 }}" id="input-address-2" class="form-control"/>
</div>
</div>
<div class="row mb-3 required">
<label for="input-city" class="col-sm-2 col-form-label">{{ entry_city }}</label>
<div class="col-sm-10">
<input type="text" name="city" value="{{ city }}" placeholder="{{ entry_city }}" id="input-city" class="form-control"/>
<div id="error-city" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-postcode" class="col-sm-2 col-form-label">{{ entry_postcode }}</label>
<div class="col-sm-10">
<input type="text" name="postcode" value="{{ postcode }}" placeholder="{{ entry_postcode }}" id="input-postcode" class="form-control"/>
<div id="error-postcode" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-country" class="col-sm-2 col-form-label">{{ entry_country }}</label>
<div class="col-sm-10">
<select name="country_id" id="input-country" class="form-select">
<option value="0">{{ text_select }}</option>
{% for country in countries %}
<option value="{{ country.country_id }}"{% if country.country_id == country_id %} selected{% endif %}>{{ country.name }}</option>
{% endfor %}
</select>
<div id="error-country" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-zone" class="col-sm-2 col-form-label">{{ entry_zone }}</label>
<div class="col-sm-10">
<select name="zone_id" id="input-zone" class="form-select"></select>
<div id="error-zone" class="invalid-feedback"></div>
</div>
</div>
{% for custom_field in custom_fields %}
{% if custom_field.type == 'select' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<select name="custom_field[{{ custom_field.custom_field_id }}]" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-select">
<option value="">{{ text_select }}</option>
{% for custom_field_value in custom_field.custom_field_value %}
<option value="{{ custom_field_value.custom_field_value_id }}"{% if address_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == address_custom_field[custom_field.custom_field_id] %} selected{% endif %}>{{ custom_field_value.name }}</option>
{% endfor %}
</select>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'radio' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="radio" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if address_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == address_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'checkbox' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="checkbox" name="custom_field[{{ custom_field.custom_field_id }}][]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if address_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id in address_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'text' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control"/>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'textarea' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<textarea name="custom_field[{{ custom_field.custom_field_id }}]" rows="5" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control">{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}</textarea>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'file' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div>
<button type="button" data-oc-toggle="upload" data-oc-url="{{ upload }}" data-oc-size-max="{{ config_file_max_size }}" data-oc-size-error="{{ error_upload_size }}" data-oc-target="#input-custom-field-{{ custom_field.custom_field_id }}" class="btn btn-light"><i class="fa-solid fa-upload"></i> {{ button_upload }}</button>
<input type="hidden" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% endif %}" id="input-custom-field-{{ custom_field.custom_field_id }}"/>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'date' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control date"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'time' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control time"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'datetime' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if address_custom_field[custom_field.custom_field_id] %}{{ address_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control datetime"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% endfor %}
<div class="row mb-3">
<label class="col-sm-2 col-form-label">{{ entry_default }}</label>
<div class="col-sm-10">
<div class="form-check-inline">
<input type="radio" name="default" value="1" id="input-default-yes" class="form-check-input"{% if default %} checked{% endif %}/> <label for="input-default-yes" class="form-check-label">{{ text_yes }}</label>
</div>
<div class="form-check-inline">
<input type="radio" name="default" value="0" id="input-default-no" class="form-check-input"{% if not default %} checked{% endif %}/> <label for="input-default-no" class="form-check-label">{{ text_no }}</label>
</div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#input-country').on('change', function () {
var element = this;
$.ajax({
url: 'index.php?route=localisation/country&country_id=' + this.value + '&language={{ language }}',
dataType: 'json',
beforeSend: function () {
$(element).prop('disabled', true);
$('#input-zone').prop('disabled', true);
},
complete: function () {
$(element).prop('disabled', false);
$('#input-zone').prop('disabled', false);
},
success: function (json) {
if (json['postcode_required'] == '1') {
$('#input-postcode').parent().parent().addClass('required');
} else {
$('#input-postcode').parent().parent().removeClass('required');
}
html = '<option value="">{{ text_select|escape('js') }}</option>';
if (json['zone'] && json['zone'] != '') {
for (i = 0; i < json['zone'].length; i++) {
html += '<option value="' + json['zone'][i]['zone_id'] + '"';
if (json['zone'][i]['zone_id'] == '{{ zone_id }}') {
html += ' selected';
}
html += '>' + json['zone'][i]['name'] + '</option>';
}
} else {
html += '<option value="0" selected>{{ text_none|escape('js') }}</option>';
}
$('#input-zone').html(html);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
$('#input-country').trigger('change');
//--></script>
{{ footer }}

View File

@ -0,0 +1,14 @@
{% if addresses %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
{% for address in addresses %}
<tr>
<td class="text-start">{{ address.address }}</td>
<td class="text-end"><a href="{{ address.edit }}" data-bs-toggle="tooltip" title="{{ button_edit }}" class="btn btn-primary"><i class="fa-regular fa-solid fa-pencil"></i></a> <a href="{{ address.delete }}" data-bs-toggle="tooltip" title="{{ button_delete }}" class="btn btn-danger"><i class="fa-regular fa-trash-can"></i></a></td>
</tr>
{% endfor %}
</table>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}

View File

@ -0,0 +1,248 @@
{{ header }}
<div id="account-affiliate" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<form id="form-affiliate" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_my_affiliate }}</legend>
<div class="row mb-3">
<label for="input-company" class="col-sm-2 col-form-label">{{ entry_company }}</label>
<div class="col-sm-10">
<input type="text" name="company" value="{{ company }}" placeholder="{{ entry_company }}" id="input-company" class="form-control"/>
</div>
</div>
<div class="row mb-3">
<label for="input-website" class="col-sm-2 col-form-label">{{ entry_website }}</label>
<div class="col-sm-10">
<input type="text" name="website" value="{{ website }}" placeholder="{{ entry_website }}" id="input-website" class="form-control"/>
</div>
</div>
</fieldset>
<fieldset>
<legend>{{ text_payment }}</legend>
<div class="row mb-3">
<label for="input-tax" class="col-sm-2 col-form-label">{{ entry_tax }}</label>
<div class="col-sm-10">
<input type="text" name="tax" value="{{ tax }}" placeholder="{{ entry_tax }}" id="input-tax" class="form-control"/>
</div>
</div>
<div class="row mb-3">
<label class="col-sm-2 col-form-label">{{ entry_payment_method }}</label>
<div class="col-sm-10">
<div class="form-check">
<input type="radio" name="payment_method" value="cheque" id="input-payment-cheque" class="form-check-input"{% if payment_method == 'cheque' %} checked{% endif %}/>
<label for="input-payment-cheque" class="form-check-label">{{ text_cheque }}</label>
</div>
<div class="form-check">
<input type="radio" name="payment_method" value="paypal" id="input-payment-paypal" class="form-check-input"{% if payment_method == 'paypal' %} checked{% endif %}/>
<label for="input-payment-paypal" class="form-check-label">{{ text_paypal }}</label>
</div>
<div class="form-check">
<input type="radio" name="payment_method" value="bank" id="input-payment-bank" class="form-check-input"{% if payment_method == 'bank' %} checked{% endif %}/>
<label for="input-payment-bank" class="form-check-label">{{ text_bank }}</label>
</div>
<div id="error-payment-method" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required payment" id="payment-cheque">
<label for="input-cheque" class="col-sm-2 col-form-label">{{ entry_cheque }}</label>
<div class="col-sm-10">
<input type="text" name="cheque" value="{{ cheque }}" placeholder="{{ entry_cheque }}" id="input-cheque" class="form-control"/>
<div id="error-cheque" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required payment" id="payment-paypal">
<label for="input-paypal" class="col-sm-2 col-form-label">{{ entry_paypal }}</label>
<div class="col-sm-10">
<input type="text" name="paypal" value="{{ paypal }}" placeholder="{{ entry_paypal }}" id="input-paypal" class="form-control"/>
<div id="error-paypal" class="invalid-feedback"></div>
</div>
</div>
<div id="payment-bank" class="payment">
<div class="row mb-3">
<label for="input-bank-name" class="col-sm-2 col-form-label">{{ entry_bank_name }}</label>
<div class="col-sm-10">
<input type="text" name="bank_name" value="{{ bank_name }}" placeholder="{{ entry_bank_name }}" id="input-bank-name" class="form-control"/>
</div>
</div>
<div class="row mb-3">
<label for="input-bank-branch-number" class="col-sm-2 col-form-label">{{ entry_bank_branch_number }}</label>
<div class="col-sm-10">
<input type="text" name="bank_branch_number" value="{{ bank_branch_number }}" placeholder="{{ entry_bank_branch_number }}" id="input-bank-branch-number" class="form-control"/>
</div>
</div>
<div class="row mb-3">
<label for="input-bank-swift-code" class="col-sm-2 col-form-label">{{ entry_bank_swift_code }}</label>
<div class="col-sm-10">
<input type="text" name="bank_swift_code" value="{{ bank_swift_code }}" placeholder="{{ entry_bank_swift_code }}" id="input-bank-swift-code" class="form-control"/>
</div>
</div>
<div class="row mb-3 required row">
<label for="input-bank-account-name" class="col-sm-2 col-form-label">{{ entry_bank_account_name }}</label>
<div class="col-sm-10">
<input type="text" name="bank_account_name" value="{{ bank_account_name }}" placeholder="{{ entry_bank_account_name }}" id="input-bank-account-name" class="form-control"/>
<div id="error-bank-account-name" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required row">
<label for="input-bank-account-number" class="col-sm-2 col-form-label">{{ entry_bank_account_number }}</label>
<div class="col-sm-10">
<input type="text" name="bank_account_number" value="{{ bank_account_number }}" placeholder="{{ entry_bank_account_number }}" id="input-bank-account-number" class="form-control"/>
<div id="error-bank-account-number" class="invalid-feedback"></div>
</div>
</div>
</div>
{% for custom_field in custom_fields %}
{% if custom_field.location == 'affiliate' %}
{% if custom_field.type == 'select' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<select name="custom_field[{{ custom_field.custom_field_id }}]" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-select">
<option value="">{{ text_select }}</option>
{% for custom_field_value in custom_field.custom_field_value %}
<option value="{{ custom_field_value.custom_field_value_id }}"{% if affiliate_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == affiliate_custom_field[custom_field.custom_field_id] %} selected{% endif %}>{{ custom_field_value.name }}</option>
{% endfor %}
</select>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'radio' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="radio" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if affiliate_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == affiliate_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'checkbox' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="checkbox" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if affiliate_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id in affiliate_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'text' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control"/>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'textarea' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<textarea name="custom_field[{{ custom_field.custom_field_id }}]" rows="5" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control">{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}</textarea>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'file' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div>
<button type="button" data-oc-toggle="upload" data-oc-url="{{ upload }}" data-oc-size-max="{{ config_file_max_size }}" data-oc-size-error="{{ error_upload_size }}" data-oc-target="#input-custom-field-{{ custom_field.custom_field_id }}" class="btn btn-light"><i class="fa-solid fa-upload"></i> {{ button_upload }}</button>
<input type="hidden" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% endif %}" id="input-custom-field-{{ custom_field.custom_field_id }}"/>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'date' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control date"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'time' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control time"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'datetime' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if affiliate_custom_field[custom_field.custom_field_id] %}{{ affiliate_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control datetime"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}
</fieldset>
<div class="text-end">
{% if text_agree %}
<div class="form-check form-switch form-switch-lg form-check-reverse form-check-inline">
<label class="form-check-label">{{ text_agree }}</label> <input type="hidden" name="agree" value="0"/> <input type="checkbox" name="agree" value="1" id="input-agree" class="form-check-input"/>
</div>
{% endif %}
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('input[name=\'payment_method\']').on('change', function() {
$('.payment').hide();
$('#payment-' + this.value).show();
});
$('input[name=\'payment_method\']:checked').trigger('change');
//--></script>
{{ footer }}

View File

@ -0,0 +1,49 @@
{{ header }}
<div id="account-download" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
{% if downloads %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-end"><strong>{{ column_order_id }}</strong></td>
<td class="text-start"><strong>{{ column_name }}</strong></td>
<td class="text-start"><strong>{{ column_size }}</strong></td>
<td class="text-start"><strong>{{ column_date_added }}</strong></td>
<td></td>
</tr>
</thead>
<tbody>
{% for download in downloads %}
<tr>
<td class="text-end">{{ download.order_id }}</td>
<td class="text-start">{{ download.name }}</td>
<td class="text-start">{{ download.size }}</td>
<td class="text-start">{{ download.date_added }}</td>
<td><a href="{{ download.href }}" data-bs-toggle="tooltip" title="{{ button_download }}" class="btn btn-primary"><i class="fa-solid fa-cloud-arrow-down"></i></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}
<div class="text-end">
<a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a>
</div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,181 @@
{{ header }}
<div id="account-edit" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<form id="form-customer" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_your_details }}</legend>
<div class="row mb-3 required">
<label for="input-firstname" class="col-sm-2 col-form-label">{{ entry_firstname }} </label>
<div class="col-sm-10">
<input type="text" name="firstname" value="{{ firstname }}" placeholder="{{ entry_firstname }}" id="input-firstname" class="form-control"/>
<div id="error-firstname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-lastname" class="col-sm-2 col-form-label">{{ entry_lastname }}</label>
<div class="col-sm-10">
<input type="text" name="lastname" value="{{ lastname }}" placeholder="{{ entry_lastname }}" id="input-lastname" class="form-control"/>
<div id="error-lastname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-email" class="col-sm-2 col-form-label">{{ entry_email }}</label>
<div class="col-sm-10">
<input type="email" name="email" value="{{ email }}" placeholder="{{ entry_email }}" id="input-email" class="form-control"/>
<div id="error-email" class="invalid-feedback"></div>
</div>
</div>
{% if config_telephone_display %}
<div class="row mb-3{% if config_telephone_required %} required{% endif %}">
<label for="input-telephone" class="col-sm-2 col-form-label">{{ entry_telephone }}</label>
<div class="col-sm-10">
<input type="tel" name="telephone" value="{{ telephone }}" placeholder="{{ entry_telephone }}" id="input-telephone" class="form-control"/>
<div id="error-telephone" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% for custom_field in custom_fields %}
{% if custom_field.type == 'select' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<select name="custom_field[{{ custom_field.custom_field_id }}]" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-select">
<option value="">{{ text_select }}</option>
{% for custom_field_value in custom_field.custom_field_value %}
<option value="{{ custom_field_value.custom_field_value_id }}"{% if account_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == account_custom_field[custom_field.custom_field_id] %} selected{% endif %}>{{ custom_field_value.name }}</option>
{% endfor %}
</select>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'radio' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="radio" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if account_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id == account_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'checkbox' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="checkbox" name="custom_field[{{ custom_field.custom_field_id }}][]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"{% if account_custom_field[custom_field.custom_field_id] and custom_field_value.custom_field_value_id in account_custom_field[custom_field.custom_field_id] %} checked{% endif %}/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'text' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control"/>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'textarea' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<textarea name="custom_field[{{ custom_field.custom_field_id }}]" rows="5" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control">{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}</textarea>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'file' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div>
<button type="button" data-oc-toggle="upload" data-oc-url="{{ upload }}" data-oc-size-max="{{ config_file_max_size }}" data-oc-size-error="{{ error_upload_size }}" data-oc-target="#input-custom-field-{{ custom_field.custom_field_id }}" class="btn btn-light"><i class="fa-solid fa-upload"></i> {{ button_upload }}</button>
<input type="hidden" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% endif %}" id="input-custom-field-{{ custom_field.custom_field_id }}"/>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'date' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control date"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'time' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control time"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'datetime' %}
<div class="row mb-3{% if custom_field.required %} required{% endif %} custom-field">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{% if account_custom_field[custom_field.custom_field_id] %}{{ account_custom_field[custom_field.custom_field_id] }}{% else %}{{ custom_field.value }}{% endif %}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control datetime"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% endfor %}
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,35 @@
{{ header }}
<div id="account-forgotten" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_email }}</p>
<form id="form-forgotten" action="{{ confirm }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_your_email }}</legend>
<div class="row mb-3 required">
<label for="input-email" class="col-sm-2 col-form-label">{{ entry_email }}</label>
<div class="col-sm-10">
<input type="text" name="email" value="" placeholder="{{ entry_email }}" id="input-email" class="form-control"/>
<div id="error-email" class="invalid-feedback"></div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,41 @@
{{ header }}
<div id="account-reset" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<form id="form-reset" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_password }}</legend>
<div class="row mb-3">
<label for="input-password" class="col-sm-2 col-form-label">{{ entry_password }}</label>
<div class="col-sm-10">
<input type="password" name="password" value="" id="input-password" class="form-control"/>
<div id="error-password" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3">
<label for="input-confirm" class="col-sm-2 col-form-label">{{ entry_confirm }}</label>
<div class="col-sm-10">
<input type="password" name="confirm" value="" id="input-confirm" class="form-control"/>
<div id="error-confirm" class="invalid-feedback"></div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,54 @@
{{ header }}
<div id="account-login" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
{% if success %}
<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-circle-check"></i> {{ success }} <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>
{% endif %}
{% if error_warning %}
<div class="alert alert-danger alert-dismissible"><i class="fa-solid fa-circle-exclamation"></i> {{ error_warning }} <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>
{% endif %}
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<div class="row">
<div class="col mb-3">
<div class="border rounded p-3 d-flex flex-column h-100">
<h2>{{ text_new_customer }}</h2>
<p><strong>{{ text_register }}</strong></p>
<p>{{ text_register_account }}</p>
<div class="text-end">
<a href="{{ register }}" class="btn btn-primary">{{ button_continue }}</a>
</div>
</div>
</div>
<div class="col mb-3">
<div class="border rounded p-3 d-flex flex-column h-100">
<form id="form-login" action="{{ login }}" method="post" data-oc-toggle="ajax">
<h2>{{ text_returning_customer }}</h2>
<p><strong>{{ text_i_am_returning_customer }}</strong></p>
<div class="mb-3">
<label for="input-email" class="col-form-label">{{ entry_email }}</label>
<input type="text" name="email" value="{{ email }}" placeholder="{{ entry_email }}" id="input-email" class="form-control"/>
</div>
<div class="mb-3">
<label for="input-password" class="col-form-label">{{ entry_password }}</label>
<input type="password" name="password" value="{{ password }}" placeholder="{{ entry_password }}" id="input-password" class="form-control mb-1"/>
<a href="{{ forgotten }}">{{ text_forgotten }}</a>
</div>
<div class="text-end">
<button type="submit" class="btn btn-primary">{{ button_login }}</button>
</div>
{% if redirect %}
<input type="hidden" name="redirect" value="{{ redirect }}"/>
{% endif %}
</form>
</div>
</div>
</div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,36 @@
{{ header }}
<div id="account-newsletter" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<form id="form-newsletter" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<div class="row mb-3 mb-0">
<label class="col-md-3 col-form-label">{{ entry_newsletter }}</label>
<div class="col-md-9">
<div class="form-check form-switch form-switch-lg">
<input type="hidden" name="newsletter" value="0"/>
<input type="checkbox" name="newsletter" value="1" id="input-newsletter" class="form-check-input"{% if newsletter %} checked{% endif %}/>
</div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}
</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,30 @@
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<td class="text-start"><strong>{{ column_date_added }}</strong></td>
<td class="text-start"><strong>{{ column_comment }}</strong></td>
<td class="text-start"><strong>{{ column_status }}</strong></td>
</tr>
</thead>
<tbody>
{% if histories %}
{% for history in histories %}
<tr>
<td class="text-start">{{ history.date_added }}</td>
<td class="text-start">{{ history.comment }}</td>
<td class="text-start">{{ history.status }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td class="text-center" colspan="3">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
<div class="row">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>

View File

@ -0,0 +1,166 @@
{{ header }}
<div id="account-order" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<div class="row row-cols-md-2">
<div class="col">
<table class="table table-bordered table-hover">
{% if invoice_no %}
<tr>
<td><strong>{{ text_invoice_no }}</strong></td>
<td>{{ invoice_no }}</td>
</tr>
{% endif %}
<tr>
<td><strong>{{ text_order_id }}</strong></td>
<td>#{{ order_id }}</td>
</tr>
<tr>
<td><strong>{{ text_order_status }}</strong></td>
<td>{{ order_status }}</td>
</tr>
</table>
</div>
<div class="col">
<table class="table table-bordered table-hover">
{% if shipping_method %}
<tr>
<td><strong>{{ text_shipping_method }}</strong></td>
<td>{{ shipping_method }}</td>
</tr>
{% endif %}
<tr>
<td><strong>{{ text_payment_method }}</strong></td>
<td>{{ payment_method }}</td>
</tr>
<tr>
<td><strong>{{ text_date_added }}</strong></td>
<td>{{ date_added }}</td>
</tr>
</table>
</div>
</div>
{% if payment_address or shipping_address %}
<table class="table table-bordered table-hover">
<thead>
<tr>
{% if payment_address %}
<td class="text-start align-top"><strong>{{ text_payment_address }}</strong></td>
{% endif %}
{% if shipping_address %}
<td class="text-start align-top"><strong>{{ text_shipping_address }}</strong></td>
{% endif %}
</tr>
</thead>
<tbody>
<tr>
{% if payment_address %}
<td class="text-start align-top">{{ payment_address }}</td>
{% endif %}
{% if shipping_address %}
<td class="text-start align-top">{{ shipping_address }}</td>
{% endif %}</tr>
</tbody>
</table>
{% endif %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start"><strong>{{ column_name }}</strong></td>
<td class="text-start"><strong>{{ column_model }}</strong></td>
<td class="text-end"><strong>{{ column_quantity }}</strong></td>
<td class="text-end"><strong>{{ column_price }}</strong></td>
<td class="text-end"><strong>{{ column_total }}</strong></td>
{% if products %}
<td class="text-end"><strong>{{ column_action }}</strong></td>
{% endif %}
</tr>
</thead>
<tbody>
{% for product in products %}
<tr>
<td class="text-start"><a href="{{ product.href }}">{{ product.name }}</a>
{% for option in product.option %}
<br/>
<small> - {{ option.name }}: {{ option.value }}</small>
{% endfor %}
{% if product.reward %}
<br/>
<small> - {{ text_points }}: {{ product.reward }}</small>
{% endif %}
{% if product.subscription %}
<br/>
<small> - {{ text_subscription }}: <a href="{{ product.subscription }}" target="_blank">{{ product.subscription_description }}</a></small>
{% endif %}
</td>
<td class="text-start">{{ product.model }}</td>
<td class="text-end">{{ product.quantity }}</td>
<td class="text-end">{{ product.price }}</td>
<td class="text-end">{{ product.total }}</td>
<td class="text-end text-nowrap">{% if product.reorder %}<a href="{{ product.reorder }}" data-bs-toggle="tooltip" title="{{ button_reorder }}" class="btn btn-primary"><i class="fa-solid fa-cart-shopping"></i></a>{% endif %}
<a href="{{ product.return }}" data-bs-toggle="tooltip" title="{{ button_return }}" class="btn btn-danger"><i class="fa-solid fa-reply"></i></a></td>
</tr>
{% endfor %}
{% for voucher in vouchers %}
<tr>
<td class="text-start">{{ voucher.description }}</td>
<td class="text-start"></td>
<td class="text-end">1</td>
<td class="text-end">{{ voucher.amount }}</td>
<td class="text-end">{{ voucher.amount }}</td>
{% if products %}
<td></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
<tfoot>
{% for total in totals %}
<tr>
<td colspan="3"></td>
<td class="text-end"><b>{{ total.title }}</b></td>
<td class="text-end">{{ total.text }}</td>
{% if products %}
<td></td>
{% endif %}
</tr>
{% endfor %}
</tfoot>
</table>
</div>
{% if comment %}
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start"><strong>{{ text_comment }}</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start">{{ comment }}</td>
</tr>
</tbody>
</table>
{% endif %}
<h2>{{ text_history }}</h2>
<div id="history">{{ history }}</div>
<div class="text-end mt-3"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#history').on('click', '.pagination a', function(e) {
e.preventDefault();
$('#history').load(this.href);
});
//--></script>
{{ footer }}

View File

@ -0,0 +1,51 @@
{{ header }}
<div id="account-order" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
{% if orders %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-end">{{ column_order_id }}</td>
<td class="text-start">{{ column_customer }}</td>
<td class="text-end">{{ column_product }}</td>
<td class="text-start">{{ column_status }}</td>
<td class="text-end">{{ column_total }}</td>
<td class="text-start">{{ column_date_added }}</td>
<td></td>
</tr>
</thead>
<tbody>
{% for order in orders %}
<tr>
<td class="text-end">#{{ order.order_id }}</td>
<td class="text-start">{{ order.name }}</td>
<td class="text-end">{{ order.products }}</td>
<td class="text-start">{{ order.status }}</td>
<td class="text-end">{{ order.total }}</td>
<td class="text-start">{{ order.date_added }}</td>
<td class="text-end"><a href="{{ order.view }}" data-bs-toggle="tooltip" title="{{ button_view }}" class="btn btn-info"><i class="fa-solid fa-eye"></i></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,41 @@
{{ header }}
<div id="account-password" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<form id="form-password" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_password }}</legend>
<div class="row mb-3 required">
<label for="input-password" class="col-md-3 col-form-label">{{ entry_password }}</label>
<div class="col-md-9">
<input type="password" name="password" value="{{ password }}" placeholder="{{ entry_password }}" id="input-password" class="form-control" autocomplete="new-password"/>
<div id="error-password" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-confirm" class="col-md-3 col-form-label">{{ entry_confirm }}</label>
<div class="col-md-9">
<input type="password" name="confirm" value="{{ confirm }}" placeholder="{{ entry_confirm }}" id="input-confirm" class="form-control"/>
<div id="error-confirm" class="invalid-feedback"></div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col">
<a href="{{ back }}" class="btn btn-light">{{ button_back }}</a>
</div>
<div class="col text-end">
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,50 @@
{{ header }}
<div id="account-payment-method" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<div id="payment-method">{{ list }}</div>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#payment-method').on('click', '.btn-danger', function (e) {
e.preventDefault();
var element = this;
$.ajax({
url: $(element).attr('href'),
dataType: 'json',
beforeSend: function () {
$(element).prop('disabled', true);
},
complete: function () {
$(element).prop('disabled', false);
},
success: function (json) {
$('.alert-dismissible').remove();
if (json['error']) {
$('#alert').prepend('<div class="alert alert-danger alert-dismissible"><i class="fa-solid fa-circle-exclamation"></i> ' + json['error'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
}
if (json['success']) {
$('#alert').prepend('<div class="alert alert-success alert-dismissible"><i class="fa-solid fa-circle-check"></i> ' + json['success'] + ' <button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>');
$('#payment-method').load('index.php?route=account/payment_method.list&customer_token={{ customer_token }}');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
//--></script>
{{ footer }}

View File

@ -0,0 +1,29 @@
{% if payment_methods %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th class="text-start">{{ column_payment_method }}</th>
<th></th>
<th class="text-start">{{ column_type }}</th>
<th class="text-start">{{ column_date_expire }}</th>
<th class="text-end">{{ column_action }}</th>
</tr>
</thead>
<tbody>
<tbody>
{% for payment_method in payment_methods %}
<tr>
<td class="text-start">{{ payment_method.name }}</td>
<td class="text-start">{{ payment_method.image }}</td>
<td class="text-start">{{ payment_method.type }}</td>
<td class="text-start">{{ payment_method.date_expire }}</td>
<td class="text-end"><a href="{{ payment_method.delete }}" class="btn btn-danger">{{ button_delete }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}

View File

@ -0,0 +1,248 @@
{{ header }}
<div id="account-register" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">
{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_account_already }}</p>
<form id="form-register" action="{{ register }}" method="post" data-oc-toggle="ajax">
<fieldset id="account">
<legend>{{ text_your_details }}</legend>
{% if customer_groups|length > 1 %}
<div class="row mb-3 required">
<label class="col-sm-2 col-form-label">{{ entry_customer_group }}</label>
<div class="col-sm-10">
<select name="customer_group_id" id="input-customer-group" class="form-select">
{% for customer_group in customer_groups %}
<option value="{{ customer_group.customer_group_id }}"{% if customer_group.customer_group_id == customer_group_id %} selected{% endif %}>{{ customer_group.name }}</option>
{% endfor %}
</select>
</div>
</div>
{% endif %}
<div class="row mb-3 required">
<label for="input-firstname" class="col-sm-2 col-form-label">{{ entry_firstname }}</label>
<div class="col-sm-10">
<input type="text" name="firstname" value="" placeholder="{{ entry_firstname }}" id="input-firstname" class="form-control"/>
<div id="error-firstname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-lastname" class="col-sm-2 col-form-label">{{ entry_lastname }}</label>
<div class="col-sm-10">
<input type="text" name="lastname" value="" placeholder="{{ entry_lastname }}" id="input-lastname" class="form-control"/>
<div id="error-lastname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-email" class="col-sm-2 col-form-label">{{ entry_email }}</label>
<div class="col-sm-10">
<input type="email" name="email" value="" placeholder="{{ entry_email }}" id="input-email" class="form-control"/>
<div id="error-email" class="invalid-feedback"></div>
</div>
</div>
{% if config_telephone_display %}
<div class="row mb-3{% if config_telephone_required %} required{% endif %}">
<label for="input-telephone" class="col-sm-2 col-form-label">{{ entry_telephone }}</label>
<div class="col-sm-10">
<input type="tel" name="telephone" value="" placeholder="{{ entry_telephone }}" id="input-telephone" class="form-control"/>
<div id="error-telephone" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% for custom_field in custom_fields %}
{% if custom_field.type == 'select' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<select name="custom_field[{{ custom_field.custom_field_id }}]" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-select">
<option value="">{{ text_select }}</option>
{% for custom_field_value in custom_field.custom_field_value %}
<option value="{{ custom_field_value.custom_field_value_id }}">{{ custom_field_value.name }}</option>
{% endfor %}
</select>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'radio' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="radio" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'checkbox' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div id="input-custom-field-{{ custom_field.custom_field_id }}">
{% for custom_field_value in custom_field.custom_field_value %}
<div class="form-check">
<input type="checkbox" name="custom_field[{{ custom_field.custom_field_id }}][]" value="{{ custom_field_value.custom_field_value_id }}" id="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-input"/> <label for="input-custom-value-{{ custom_field_value.custom_field_value_id }}" class="form-check-label">{{ custom_field_value.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'text' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field.value }}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control"/>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'textarea' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<textarea name="custom_field[{{ custom_field.custom_field_id }}]" rows="5" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control">{{ custom_field.value }}</textarea>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'file' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div>
<button type="button" data-oc-toggle="upload" data-oc-url="{{ upload }}" data-oc-size-max="{{ config_file_max_size }}" data-oc-size-error="{{ error_upload_size }}" data-oc-target="#input-custom-field-{{ custom_field.custom_field_id }}" class="btn btn-light"><i class="fa-solid fa-upload"></i> {{ button_upload }}</button>
<input type="hidden" name="custom_field[{{ custom_field.custom_field_id }}]" value="" id="input-custom-field-{{ custom_field.custom_field_id }}"/>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'date' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field.value }}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control date"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'time' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field.value }}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control time"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% if custom_field.type == 'datetime' %}
<div class="row mb-3 custom-field custom-field-{{ custom_field.custom_field_id }}">
<label for="input-custom-field-{{ custom_field.custom_field_id }}" class="col-sm-2 col-form-label">{{ custom_field.name }}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" name="custom_field[{{ custom_field.custom_field_id }}]" value="{{ custom_field.value }}" placeholder="{{ custom_field.name }}" id="input-custom-field-{{ custom_field.custom_field_id }}" class="form-control datetime"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
<div id="error-custom-field-{{ custom_field.custom_field_id }}" class="invalid-feedback"></div>
</div>
</div>
{% endif %}
{% endfor %}
</fieldset>
<fieldset>
<legend>{{ text_your_password }}</legend>
<div class="row mb-3 required">
<label for="input-password" class="col-sm-2 col-form-label">{{ entry_password }}</label>
<div class="col-sm-10">
<input type="password" name="password" value="" placeholder="{{ entry_password }}" id="input-password" class="form-control"/>
<div id="error-password" class="invalid-feedback"></div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{{ text_newsletter }}</legend>
<div class="row mb-3">
<label class="col-sm-2 col-form-label">{{ entry_newsletter }}</label>
<div class="col-sm-10">
<div class="form-check form-switch form-switch-lg">
<input type="hidden" name="newsletter" value="0"/> <input type="checkbox" name="newsletter" value="1" id="input-newsletter" class="form-check-input"/>
</div>
</div>
</div>
</fieldset>
{{ captcha }}
<div class="text-end">
{% if text_agree %}
<div class="form-check form-switch form-switch-lg form-check-reverse form-check-inline">
<label class="form-check-label">{{ text_agree }}</label> <input type="checkbox" name="agree" value="1" class="form-check-input"/>
</div>
{% endif %}
<button type="submit" class="btn btn-primary">{{ button_continue }}</button>
</div>
</form>
{{ content_bottom }}
</div>
{{ column_right }}
</div>
</div>
<script type="text/javascript"><!--
$('#input-customer-group').on('change', function() {
$.ajax({
url: 'index.php?route=account/custom_field&customer_group_id=' + this.value + '&language={{ language }}',
dataType: 'json',
success: function(json) {
$('.custom-field').hide();
$('.custom-field').removeClass('required');
for (i = 0; i < json.length; i++) {
custom_field = json[i];
$('.custom-field-' + custom_field['custom_field_id']).show();
if (custom_field['required']) {
$('.custom-field-' + custom_field['custom_field_id']).addClass('required');
}
}
},
error: function(xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
$('#input-customer-group').trigger('change');
//--></script>
{{ footer }}

View File

@ -0,0 +1,133 @@
{{ header }}
<div id="account-return" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}"> {{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_description }}</p>
<form id="form-return" action="{{ save }}" method="post" data-oc-toggle="ajax">
<fieldset>
<legend>{{ text_order }}</legend>
<div class="row mb-3 required">
<label for="input-firstname" class="col-sm-2 col-form-label">{{ entry_firstname }}</label>
<div class="col-sm-10">
<input type="text" name="firstname" value="{{ firstname }}" placeholder="{{ entry_firstname }}" id="input-firstname" class="form-control"/>
<div id="error-firstname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-lastname" class="col-sm-2 col-form-label">{{ entry_lastname }}</label>
<div class="col-sm-10">
<input type="text" name="lastname" value="{{ lastname }}" placeholder="{{ entry_lastname }}" id="input-lastname" class="form-control"/>
<div id="error-lastname" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-email" class="col-sm-2 col-form-label">{{ entry_email }}</label>
<div class="col-sm-10">
<input type="text" name="email" value="{{ email }}" placeholder="{{ entry_email }}" id="input-email" class="form-control"/>
<div id="error-email" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-telephone" class="col-sm-2 col-form-label">{{ entry_telephone }}</label>
<div class="col-sm-10">
<input type="text" name="telephone" value="{{ telephone }}" placeholder="{{ entry_telephone }}" id="input-telephone" class="form-control"/>
<div id="error-telephone" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-order-id" class="col-sm-2 col-form-label">{{ entry_order_id }}</label>
<div class="col-sm-10">
<input type="text" name="order_id" value="{{ order_id }}" placeholder="{{ entry_order_id }}" id="input-order-id" class="form-control"/>
<div id="error-order-id" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3">
<label for="input-date-ordered" class="col-sm-2 col-form-label">{{ entry_date_ordered }}</label>
<div class="col-sm-10 col-md-4">
<div class="input-group">
<input type="text" name="date_ordered" value="{{ date_ordered }}" placeholder="{{ entry_date_ordered }}" id="input-date-ordered" class="form-control date"/>
<div class="input-group-text"><i class="fa-regular fa-calendar"></i></div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{{ text_product }}</legend>
<div class="row mb-3 required">
<label for="input-product" class="col-sm-2 col-form-label">{{ entry_product }}</label>
<div class="col-sm-10">
<input type="text" name="product" value="{{ product }}" placeholder="{{ entry_product }}" id="input-product" class="form-control"/> <input type="hidden" name="product_id" value="{{ product_id }}"/>
<div id="error-product" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label for="input-model" class="col-sm-2 col-form-label">{{ entry_model }}</label>
<div class="col-sm-10">
<input type="text" name="model" value="{{ model }}" placeholder="{{ entry_model }}" id="input-model" class="form-control"/>
<div id="error-model" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3">
<label for="input-quantity" class="col-sm-2 col-form-label">{{ entry_quantity }}</label>
<div class="col-sm-10">
<input type="text" name="quantity" value="1" placeholder="{{ entry_quantity }}" id="input-quantity" class="form-control"/>
</div>
</div>
<div class="row mb-3 required">
<label class="col-sm-2 col-form-label">{{ entry_reason }}</label>
<div class="col-sm-10">
<div id="input-reason">
{% for return_reason in return_reasons %}
<div class="form-check">
<input type="radio" name="return_reason_id" value="{{ return_reason.return_reason_id }}" id="input-return-reason-{{ return_reason.return_reason_id }}" class="form-check-input"/> <label for="input-return-reason-{{ return_reason.return_reason_id }}" class="form-check-label">{{ return_reason.name }}</label>
</div>
{% endfor %}
</div>
<div id="error-reason" class="invalid-feedback"></div>
</div>
</div>
<div class="row mb-3 required">
<label class="col-sm-2 col-form-label">{{ entry_opened }}</label>
<div class="col-sm-10">
<div class="form-check form-check-inline">
<input type="radio" name="opened" value="1" id="input-opened-yes" class="form-check-input" checked/>
<label for="input-opened-yes" class="form-check-label">{{ text_yes }}</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" name="opened" value="0" id="input-opened-no" class="form-check-input"/>
<label for="input-opened-no" class="form-check-label">{{ text_no }}</label>
</div>
</div>
</div>
<div class="row mb-3">
<label for="input-comment" class="col-sm-2 col-form-label">{{ entry_fault_detail }}</label>
<div class="col-sm-10">
<textarea name="comment" rows="5" placeholder="{{ entry_fault_detail }}" id="input-comment" class="form-control"></textarea>
</div>
</div>
{{ captcha }}
</fieldset>
<div class="row">
<div class="col-3"><a href="{{ back }}" class="btn btn-light">{{ button_back }}</a></div>
<div class="col text-end">
{% if text_agree %}
<div class="form-check form-switch form-switch-lg form-check-reverse form-check-inline">
<label class="form-check-label">{{ text_agree }}</label>
<input type="hidden" name="agree" value="0"/>
<input type="checkbox" name="agree" value="1" id="input-agree" class="form-check-input"/>
</div>
{% endif %}
<button type="submit" class="btn btn-primary">{{ button_submit }}</button>
</div>
</div>
</form>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,113 @@
{{ header }}
<div id="account-return" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start" colspan="2">{{ text_return_detail }}</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start" style="width: 50%;"><b>{{ text_return_id }}</b> #{{ return_id }}
<br/>
<b>{{ text_date_added }}</b> {{ date_added }}</td>
<td class="text-start" style="width: 50%;"><b>{{ text_orders_id }}</b> #{{ order_id }}
<br/>
<b>{{ text_date_ordered }}</b> {{ date_ordered }}</td>
</tr>
</tbody>
</table>
<h3>{{ text_product }}</h3>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start" style="width: 33.3%;">{{ column_product }}</td>
<td class="text-start" style="width: 33.3%;">{{ column_model }}</td>
<td class="text-end" style="width: 33.3%;">{{ column_quantity }}</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start">{{ product }}</td>
<td class="text-start">{{ model }}</td>
<td class="text-end">{{ quantity }}</td>
</tr>
</tbody>
</table>
</div>
<h3>{{ text_reason }}</h3>
<div class="table-responsive">
<table class="list table table-bordered table-hover">
<thead>
<tr>
<td class="text-start" style="width: 33.3%;">{{ column_reason }}</td>
<td class="text-start" style="width: 33.3%;">{{ column_opened }}</td>
<td class="text-start" style="width: 33.3%;">{{ column_action }}</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start">{{ reason }}</td>
<td class="text-start">{{ opened }}</td>
<td class="text-start">{{ action }}</td>
</tr>
</tbody>
</table>
</div>
{% if comment %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start">{{ text_comment }}</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start">{{ comment }}</td>
</tr>
</tbody>
</table>
</div>
{% endif %}
<h3>{{ text_history }}</h3>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start" style="width: 33.3%;">{{ column_date_added }}</td>
<td class="text-start" style="width: 33.3%;">{{ column_status }}</td>
<td class="text-start" style="width: 33.3%;">{{ column_comment }}</td>
</tr>
</thead>
<tbody>
{% if histories %}
{% for history in histories %}
<tr>
<td class="text-start">{{ history.date_added }}</td>
<td class="text-start">{{ history.status }}</td>
<td class="text-start">{{ history.comment }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="3" class="text-center">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,49 @@
{{ header }}
<div id="account-return" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
{% if returns %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-end">{{ column_return_id }}</td>
<td class="text-start">{{ column_status }}</td>
<td class="text-start">{{ column_date_added }}</td>
<td class="text-end">{{ column_order_id }}</td>
<td class="text-start">{{ column_customer }}</td>
<td></td>
</tr>
</thead>
<tbody>
{% for return in returns %}
<tr>
<td class="text-end">#{{ return.return_id }}</td>
<td class="text-start">{{ return.status }}</td>
<td class="text-start">{{ return.date_added }}</td>
<td class="text-end">{{ return.order_id }}</td>
<td class="text-start">{{ return.name }}</td>
<td class="text-end"><a href="{{ return.href }}" data-bs-toggle="tooltip" title="{{ button_view }}" class="btn btn-info"><i class="fa-solid fa-eye"></i></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,48 @@
{{ header }}
<div id="account-reward" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_total }} <b>{{ total }}</b>.</p>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th class="text-start">{{ column_date_added }}</th>
<th class="text-start">{{ column_description }}</th>
<th class="text-end">{{ column_points }}</th>
</tr>
</thead>
<tbody>
{% if rewards %}
{% for reward in rewards %}
<tr>
<td class="text-start">{{ reward.date_added }}</td>
<td class="text-start">{% if reward.order_id %} <a href="{{ reward.href }}">{{ reward.description }}</a> {% else %}
{{ reward.description }}
{% endif %}</td>
<td class="text-end">{{ reward.points }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td class="text-center" colspan="3">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,30 @@
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<td class="text-start">{{ column_date_added }}</td>
<td class="text-start">{{ column_comment }}</td>
<td class="text-start">{{ column_status }}</td>
</tr>
</thead>
<tbody>
{% if histories %}
{% for history in histories %}
<tr>
<td class="text-start">{{ history.date_added }}</td>
<td class="text-start">{{ history.comment }}</td>
<td class="text-start">{{ history.status }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td class="text-center" colspan="3">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
<div class="row">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>

View File

@ -0,0 +1,108 @@
{{ header }}
<div id="account-subscription" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<div class="row row-cols-md-2">
<div class="col">
<table class="table table-bordered table-hover">
<tr>
<td><b>{{ text_subscription_id }}</b></td>
<td>#{{ subscription_id }}</td>
</tr>
<tr>
<td><b>{{ text_status }}</b></td>
<td>{{ subscription_status }}</td>
</tr>
<tr>
<td><b>{{ text_order_id }}</b></td>
<td>#{{ order_id }}</td>
</tr>
</table>
</div>
<div class="col">
<table class="table table-bordered table-hover">
{% if shipping_method %}
<tr>
<td><strong>{{ text_shipping_method }}</strong></td>
<td>{{ shipping_method }}</td>
</tr>
{% endif %}
<tr>
<td><strong>{{ text_payment_method }}</strong></td>
<td>{{ payment_method }}</td>
</tr>
<tr>
<td><b>{{ text_date_added }}</b></td>
<td>{{ date_added }}</td>
</tr>
</table>
</div>
</div>
{% if payment_address or shipping_address %}
<table class="table table-bordered table-hover">
<thead>
<tr>
{% if payment_address %}
<td class="text-start align-top">{{ text_payment_address }}</td>
{% endif %}
{% if shipping_address %}
<td class="text-start align-top">{{ text_shipping_address }}</td>
{% endif %}
</tr>
</thead>
<tbody>
<tr>
{% if payment_address %}
<td class="text-start align-top">{{ payment_address }}</td>
{% endif %}
{% if shipping_address %}
<td class="text-start align-top">{{ shipping_address }}</td>
{% endif %}</tr>
</tbody>
</table>
{% endif %}
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start w-50">{{ text_description }}</td>
<td class="text-start w-50">{{ text_quantity }}</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-start"><a href="{{ product }}">{{ name }}</a>
<br/>{{ description }}</td>
<td class="text-start">{{ product_quantity }}</td>
</tr>
</tbody>
</table>
<h2>{{ text_history }}</h2>
<div id="history">{{ history }}</div>
<h2>{{ text_order }}</h2>
<div id="order">{{ order }}</div>
<div class="text-end mt-3"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#history').on('click', '.pagination a', function(e) {
e.preventDefault();
$('#history').load(this.href);
});
$('#order').on('click', '.pagination a', function(e) {
e.preventDefault();
$('#order').load(this.href);
});
//--></script>
{{ footer }}

View File

@ -0,0 +1,50 @@
{{ header }}
<div id="account-subscription" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
{% if subscriptions %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-end">{{ column_subscription_id }}</td>
<td class="text-start">{{ column_product }}</td>
<td class="text-start">{{ column_status }}</td>
<td class="text-start">{{ column_date_added }}</td>
<td class="text-end"></td>
</tr>
</thead>
<tbody>
{% for subscription in subscriptions %}
<tr>
<td class="text-end">#{{ subscription.subscription_id }}</td>
<td class="text-start"><a href="{{ subscription.product }}">{{ subscription.product_name }}</a>
<br/>
{{ subscription.description }}
</td>
<td class="text-start">{{ subscription.status }}</td>
<td class="text-start">{{ subscription.date_added }}</td>
<td class="text-end"><a href="{{ subscription.view }}" data-bs-toggle="tooltip" title="{{ button_view }}" class="btn btn-info"><i class="fa-solid fa-eye"></i></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,32 @@
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-end">{{ column_order_id }}</td>
<td class="text-start">{{ column_status }}</td>
<td class="text-end">{{ column_total }}</td>
<td class="text-start">{{ column_date_added }}</td>
</tr>
</thead>
<tbody>
{% if orders %}
{% for order in orders %}
<tr>
<td class="text-end"><a href="{{ order.view }}" target="_blank">{{ order.order_id }}</a></td>
<td class="text-start">{{ order.status }}</td>
<td class="text-end">{{ order.total }}</td>
<td class="text-start">{{ order.date_added }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td class="text-center" colspan="4">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
<div class="row">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>

View File

@ -0,0 +1,59 @@
{{ header }}
<div id="account-tracking" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_description }}</p>
<form>
<div class="row mb-3">
<label for="input-code" class="col-md-2 col-form-label">{{ entry_code }}</label>
<div class="col-md-10">
<textarea cols="40" rows="5" placeholder="{{ entry_code }}" id="input-code" class="form-control">{{ code }}</textarea>
</div>
</div>
<div class="row mb-3">
<label for="input-generator" class="col-md-2 col-form-label">{{ entry_generator }}</label>
<div class="col-md-10">
<input type="text" name="product" value="" placeholder="{{ entry_generator }}" id="input-generator" data-oc-target="autocomplete-generator" class="form-control" autocomplete="off"/>
<ul id="autocomplete-generator" class="dropdown-menu"></ul>
<div class="text-muted">{{ help_generator }}</div>
</div>
</div>
<div class="row mb-3">
<label for="input-link" class="col-md-2 col-form-label">{{ entry_link }}</label>
<div class="col-md-10">
<textarea name="link" cols="40" rows="5" placeholder="{{ entry_link }}" id="input-link" class="form-control"></textarea>
</div>
</div>
</form>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
<script type="text/javascript"><!--
$('#input-generator').autocomplete({
'source': function(request, response) {
return $.ajax({
url: 'index.php?route=account/tracking.autocomplete&customer_token={{ customer_token }}&search=' + encodeURIComponent(request) + '&tracking=' + encodeURIComponent($('#input-code').val()) + '&language={{ language }}',
dataType: 'json',
success: function(json) {
response($.map(json, function(item) {
return {
label: item['name'],
value: item['link']
}
}));
}
});
},
'select': function(item) {
$('#input-link').val(item['value']);
}
});
//--></script>
{{ footer }}

View File

@ -0,0 +1,44 @@
{{ header }}
<div id="account-transaction" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<p>{{ text_total }} <b>{{ total }}</b>.</p>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-start">{{ column_date_added }}</td>
<td class="text-start">{{ column_description }}</td>
<td class="text-end">{{ column_amount }}</td>
</tr>
</thead>
<tbody>
{% if transactions %}
{% for transaction in transactions %}
<tr>
<td class="text-start">{{ transaction.date_added }}</td>
<td class="text-start">{{ transaction.description }}</td>
<td class="text-end">{{ transaction.amount }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td class="text-center" colspan="5">{{ text_no_results }}</td>
</tr>
{% endif %}
</tbody>
</table>
<div class="row mb-3">
<div class="col-sm-6 text-start">{{ pagination }}</div>
<div class="col-sm-6 text-end">{{ results }}</div>
</div>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,16 @@
{{ header }}
<div id="account-wishlist" class="container">
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
<div class="row">{{ column_left }}
<div id="content" class="col">{{ content_top }}
<h1>{{ heading_title }}</h1>
<div id="wishlist">{{ list }}</div>
<div class="text-end"><a href="{{ continue }}" class="btn btn-primary">{{ button_continue }}</a></div>
{{ content_bottom }}</div>
{{ column_right }}</div>
</div>
{{ footer }}

View File

@ -0,0 +1,46 @@
{% if products %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-center"><strong>{{ column_image }}</strong></td>
<td class="text-start"><strong>{{ column_name }}</strong></td>
<td class="text-start"><strong>{{ column_model }}</strong></td>
<td class="text-end"><strong>{{ column_stock }}</strong></td>
<td class="text-end"><strong>{{ column_price }}</strong></td>
<td class="text-end"><strong>{{ column_action }}</strong></td>
</tr>
</thead>
<tbody>
{% for product in products %}
<tr>
<td class="text-center">{% if product.thumb %}<a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" title="{{ product.name }}"/></a>{% endif %}</td>
<td class="text-start"><a href="{{ product.href }}">{{ product.name }}</a></td>
<td class="text-start">{{ product.model }}</td>
<td class="text-end">{{ product.stock }}</td>
<td class="text-end">
{% if product.price %}
<div class="price">
{% if not product.special %}
{{ product.price }}
{% else %}
<b>{{ product.special }}</b> <s>{{ product.price }}</s>
{% endif %}
</div>
{% endif %}
</td>
<td class="text-end">
<form method="post" data-oc-toggle="ajax" data-oc-load="{{ wishlist }}" data-oc-target="#wishlist">
<input type="hidden" name="product_id" value="{{ product.product_id }}"/> <input type="hidden" name="quantity" value="{{ product.minimum }}"/>
<button type="submit" formaction="{{ add_to_cart }}" data-bs-toggle="tooltip" title="{{ button_cart }}" class="btn btn-primary"><i class="fa-solid fa-cart-shopping fa-fw"></i></button>
<button type="submit" formaction="{{ remove }}" data-bs-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa-solid fa-circle-xmark fa-fw"></i></button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<p>{{ text_no_results }}</p>
{% endif %}