Files
kupshop/web/templates/kupkolo/user.tpl
2025-08-02 16:30:27 +02:00

398 lines
20 KiB
Smarty

{extends "index.tpl"}
{block "meta-robots"}
<meta name="robots" content="noindex, follow">
{/block}
{block "head" append}
{if {findModule('recaptcha','registration')} and {findModule('recaptcha','site_invisible')} and $body.newUser}
{include "block.recaptcha.invisible.tpl"}
{captchaScript}
{/if}
{/block}
{block content}
{block "user-h1"}
<h1 class="text-center heading-center">{if $body.newUser}{t}Registrace{/t}{else}{t}Úprava osobních údajů{/t}{/if}</h1>
{/block}
{if $body.error != ''}
<div class="alert alert-info" role="alert">
{$body.error nofilter}
</div>
{/if}
{include 'block.messages.tpl'}
{if $body.newUser}
{insert_page type="REGISTRATION" exists='exists'}
{ifmodule USER_OAUTH}
<div class="oauth-box">
<h4>{t}Rychlá registrace přes sociální sítě{/t}</h4>
<p>{t}Díky registraci přes sociální sítě se nebudete muset při každé návštěvě přihlašovat.{/t}<br>
{t}Propojení je naprosto bezpečné a můžete ho kdykoliv zrušit.{/t} </p>
<div class="oauth-login">
{if $dbcfg.oauth.facebook.client_id}
<a href="/login-bind/facebook" class="btn fb"><span class="fc fc-facebook-square"></span> Facebook</a>
{/if}
{if $dbcfg.oauth.google.client_id}
<a href="/login-bind/google" class="btn gp"><span class="fc fc-google-plus"></span> Google</a>
{/if}
</div>
</div>
{/ifmodule}
{/if}
{get_contexts country=1 assign='contexts'}
<form name="login" method="post" action="" role="form" class="form-registration registration" data-form="user">
{block "form-content"}
{block "user-data"}
<div class="row">
{block 'user-pass'}
<div class="col-xl-4 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="email">{t}E-mail{/t}</label>
<input type="email" name="email" id="email" class="form-control smartform-instance-invoice smartform-email" value="{$body.input.email.value}"
data-bv-notempty="true" data-bv-emailaddress-message="{t}Zadejte platnou e-mailovou adresu{/t}">
</div>
</div>
{/block}
{if $body.newUser}
<div class="col-xl-2 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="password">{t}Heslo{/t}</label>
<input type="password" name="password" id="password" class="form-control" value=""
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="6">
</div>
</div>
<div class="col-xl-2 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="passwordAgain">{t}Heslo znovu{/t}</label>
<input type="password" name="passwordAgain" id="passwordAgain" class="form-control" value=""
data-bv-notempty="true" data-bv-stringlength="true" data-bv-identical="true"
data-bv-identical-message="{t}Hesla se neshodují{/t}" data-bv-identical-field="password">
</div>
</div>
{else}
<div class="col-xl-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="password">{t}Nové heslo{/t}</label>
<input type="password" name="password" id="password" class="form-control" value="">
</div>
</div>
{/if}
</div>
<div class="row">
<div class="col-xl-3 col-md-4 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="name">{t}Jméno{/t}</label>
<input type="text" name="name" id="name" class="form-control" value="{$body.input.name.value}"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="2">
</div>
</div>
<div class="col-xl-3 col-md-4 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="surname">{t}Příjmení{/t}</label>
<input type="text" name="surname" id="surname" class="form-control" value="{$body.input.surname.value}"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="2">
</div>
</div>
<div class="col-xl-3 col-md-4 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="phone">{t}Telefon{/t}</label>
<input type="text" name="phone" id="phone" class="form-control smartform-instance-invoice smartform-phone-number" value="{$body.input.phone.value}"
data-bv-notempty="true" data-bv-phone="true" data-bv-phone-country="country"
data-bv-phone-message="{t}Zadejte platné telefoní číslo{/t}">
</div>
</div>
</div>
{/block}
<hr>
<h2>{t}Adresa{/t}</h2>
<div class="row">
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="street">{t}Ulice a č.p.{/t}</label>
<input type="text" name="street" id="street" class="form-control smartform-instance-invoice smartform-address-street-and-number" value="{$body.input.street.value}"
data-bv-notempty="true" data-bv-regexp="true" pattern=".*\S+\s+[0-9]+.*"
data-bv-regexp-message="{t}Doplňte prosím číslo popisné{/t}">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="city">{t}Město{/t}</label>
<input type="text" name="city" id="city" class="form-control smartform-instance-invoice smartform-address-city" value="{$body.input.city.value}"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="2">
</div>
</div>
<div class="col-xl-2 col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="zip">{t}PSČ{/t}</label>
<input type="text" name="zip" id="zip" class="form-control smartform-instance-invoice smartform-address-zip" value="{$body.input.zip.value}"
data-bv-notempty="true" data-bv-zipcode="true" data-bv-zipcode-country="country"
data-bv-zipcode-message="{t}Zadejte platné PSČ{/t}">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="country">{t}Stát{/t}</label>
{$activeCountry = $body.input.country.value|default:$ctrl.active_country}
<select name="country" class="custom-select c-select form-control" id="country">
{foreach $contexts.country->getAll() as $country}
<option value="{$country->getId()}"
{if $activeCountry == $country->getId()}selected="selected"{/if}>{$country->getName()}</option>
{/foreach}
</select>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-xs-12">
<div class="form-group m-b-0" id="different-address-opener">
<label for="different-address" class="custom-control custom-checkbox c-input c-checkbox">
<input class="custom-control-input" type="checkbox" data-opener="#different-address-content" name="different-address"
id="different-address" {if $body.input.dname.value}checked{/if}>
<span class="c-indicator custom-control-indicator"></span>
{t}Dodání na jinou adresu nebo do zaměstnání{/t} <span class="clear-alt-address"
style="display: none;">{t}smazat{/t}</span>
</label>
</div>
</div>
</div>
<div id="different-address-content" style="display:{if $body.input.dname.value}block{else}none{/if}" class="opener-content">
<h3>{t}Dodací adresa{/t}</h3>
<div class="row">
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dname">{t}Jméno{/t}</label>
<input type="text" name="dname" id="dname" class="form-control" value="{$body.input.dname.value}" autocomplete="off"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="3">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dsurname">{t}Příjmení{/t}</label>
<input type="text" name="dsurname" id="dsurname" class="form-control" value="{$body.input.dsurname.value}"
autocomplete="off"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="3">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group">
<label for="dfirm">{t}Firma{/t}</label>
<input type="text" name="dfirm" id="dfirm" class="form-control" value="{$body.input.dfirm.value}" autocomplete="off"
data-bv-stringlength="true" data-bv-stringlength-min="3">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dstreet">{t}Ulice a č.p.{/t}</label>
<input type="text" name="dstreet" id="dstreet" class="form-control smartform-instance-delivery smartform-address-street-and-number" value="{$body.input.dstreet.value}"
autocomplete="off"
data-bv-notempty="true" data-bv-regexp="true" pattern=".*\S+\s+[0-9]+.*"
data-bv-regexp-message="{t}Doplňte prosím číslo popisné{/t}">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dcity">{t}Město{/t}</label>
<input type="text" name="dcity" id="dcity" class="form-control smartform-instance-delivery smartform-address-city" value="{$body.input.dcity.value}" autocomplete="off"
data-bv-notempty="true" data-bv-stringlength="true" data-bv-stringlength-min="2">
</div>
</div>
<div class="col-xl-2 col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dzip">{t}PSČ{/t}</label>
<input type="text" name="dzip" id="dzip" class="form-control smartform-instance-delivery smartform-address-zip" value="{$body.input.dzip.value}" autocomplete="off"
data-bv-notempty="true" data-bv-zipcode="true" data-bv-zipcode-country="dcountry">
</div>
</div>
<div class="col-lg-3 col-sm-6 col-xs-12">
<div class="form-group required">
<label for="dcountry">{t}Stát{/t}</label>
{$activeCountry = $body.input.dcountry.value|default:$ctrl.active_country}
<select name="dcountry" class="custom-select c-select form-control" id="dcountry" autocomplete="off">
{foreach $contexts.country->getAll() as $country}
<option value="{$country->getId()}"
{if $activeCountry == $country->getId()}selected="selected"{/if}>{$country->getName()}</option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-xs-12">
<div class="form-group m-b-0">
<label for="firm-address" class="custom-control custom-checkbox c-input c-checkbox">
<input type="hidden" name="firm_address" value="0">
<input class="custom-control-input" type="checkbox" name="firm_address" data-opener="#firm-address-content"
id="firm-address"
{if $body.input.firm.value}checked{/if}>
<span class="c-indicator custom-control-indicator"></span>
{t}Nakupuji na firmu (IČ, DIČ){/t} <span class="clear-alt-address" style="display: none;">{t}smazat{/t}</span>
</label>
</div>
</div>
</div>
<div id="firm-address-content" style="display:{if $body.input.firm.value}block{else}none{/if}" class="opener-content">
<h3>{t}Firemní údaje{/t}</h3>
<div class="row">
<div class="col-xl-3 col-lg-4 col-sm-6 col-xs-12">
<div class="form-group">
<label for="firm">{t}Firma{/t}</label>
<input type="text" name="firm" id="firm" class="form-control smartform-company-name" value="{$body.input.firm.value}" autocomplete="off"
data-bv-stringlength="true" data-bv-stringlength-min="3">
</div>
</div>
{if $showCopyEmail}
<div class="col-xl-3 col-lg-4 col-sm-6 col-xs-12">
<div class="form-group">
<label for="copy_email">{t}E-mail pro fakturaci{/t}</label>
<input type="text" name="copy_email" id="copy_email" class="form-control smartform-instance-invoice smartform-email"
value="{$body.input.copy_email.value}" autocomplete="off">
</div>
</div>
{/if}
<div class="col-xl-3 col-lg-4 col-sm-6 col-xs-12">
<div class="form-group">
<label for="ico">{t}IČO{/t}</label>
<input type="text" name="ico" id="ico" class="form-control smartform-company-registration-number" value="{$body.input.ico.value}" autocomplete="off"
data-bv-stringlength="true" data-bv-stringlength-min="8" data-bv-stringlength-max="10">
</div>
</div>
<div class="col-xl-3 col-lg-4 col-sm-6 col-xs-12">
<div class="form-group">
<label for="dic">{t}DIČ{/t}</label>
<input type="text" name="dic" id="dic" class="form-control smartform-company-vat-number" value="{$body.input.dic.value}" autocomplete="off"
data-bv-stringlength="true" data-bv-stringlength-min="10" data-bv-stringlength-max="15">
</div>
</div>
</div>
</div>
<hr>
<h2>{t}Ostatní údaje{/t}</h2>
<div class="row">
<div class="col-md-6 col-xs-12">
<div class="form-group">
<label for="news" class="custom-control custom-checkbox c-input c-checkbox">
<input class="custom-control-input" type="checkbox" name="news" id="news" value="Y" {$body.input.news|checked:'Y'}>
<span class="c-indicator custom-control-indicator"></span>
{t}Dostávat novinky{/t}
{if $dbcfg.gdpr.enable == 'Y'}
<br>
<small>
({if ($body.input.news == 'Y') && $body.input.date_subscribe.value}{t date=$body.input.date_subscribe.value|date_format:"%d. %m. %Y"}Souhlas udělen dne {date}{/t}{else}
<a href="{url s=page label=consent}" target="_blank">{t}Souhlasím se zpracováním osobních údajů{/t}</a>{/if})
</small>{/if}
</label>
</div>
</div>
</div>
{/block}
{block "submit"}
<div class="row">
<div class="col-xs-12 text-lg-right text-xs-center p-t-1">
{if $body.newUser}
{if $dbcfg.gdpr.enable == 'Y'}
{* @formatter:off *}
<p class="registration-consent">{t consent={url s=page label=consent} privacyPolicy={url s=page label=privacy_policy}
escape=false}Odesláním registrace souhlasím se <a href="{consent}" target="_blank">zpracováním osobních údajů za účelem registrace</a>
a beru na vědomí <a href="{privacyPolicy}" target="_blank">Zásady zpracování osobních údajů</a>.{/t}
</p>
{* @formatter:on *}
{/if}
{if {findModule('recaptcha','registration')} and {findModule('recaptcha','site_invisible')} }
{captchaBtn text="{t}Odeslat registraci{/t}"}
{else}
<input class="btn btn-primary" type="submit" name="Submit" value="{t}Odeslat registraci{/t}">
{/if}
{else}
<input class="btn btn-primary" type="submit" name="Submit" value="{t}Uložit{/t}">
{/if}
</div>
</div>
{/block}
</form>
{if !$body.newUser}
{ifmodule USER_OAUTH}
{include "user.oauth.tpl"}
{/ifmodule}
{/if}
{/block}
{block "js-dynamic-load" append}
{asset_compile}
<script src="/common/static/bootstrapvalidator/js/bootstrapValidator.js"></script>
<script src="/common/static/bootstrapvalidator/js/language/{$ctrl.active_language_code}.js"></script>
{/asset_compile}
{/block}
<script>
{block onready append}
wpj.domUtils.initOpeners();
var $form = $('form[role=form]');
{block "user-validation"}
$form.bootstrapValidator({
feedbackIcons: {
valid: 'fc fc-check',
invalid: 'fc fc-remove',
validating: 'fc fc-refresh'
}
}).on('submit', function() {
{* delete all inputs in unchecked openers *}
$form.find('[data-opener]').not(':checked').each(function() {
$($(this).attr('data-opener')).find('input').val('');
});
err = $('.has-error').first();
if (err.length && !wpj.domUtils.isInView(err)) {
wpj.domUtils.scrollTo(err);
}
return true;
});
{/block}
{* Reset validace u poli ktera jsou skrtyta.
Defaultne validuji jen viditelne polozky, reset poli
je hlavne kvuli enablovani submit buttonu. *}
$form.on('change', '[data-opener]', function() {
var $this = $(this);
if ($this.prop('checked') === false) {
var target = $this.attr('data-opener');
$(target).find('input').each(function() {
$form.data('bootstrapValidator').resetField($(this).attr('name'));
});
}
});
{if $body.error_id}
wpj.domUtils.scrollTo($('.alert'));
{/if}
{* tlacitko 'smazat' u doruc. adresy a firmy *}
$form.on('click', '.clear-alt-address', function() {
var target = $(this).siblings('input[type=checkbox]').attr('data-opener');
$(target).find('input').val('');
});
{/block}
</script>
{block analytics append}
{include "components/block.smartForm.tpl"}
{/block}