290 lines
13 KiB
Smarty
290 lines
13 KiB
Smarty
{extends "index.tpl"}
|
|
|
|
{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}
|
|
{* omezeni delky inputu kvuli Swisspost *}
|
|
{if $cfg.Order.Countries['CH']}{$isSwiss = true}{/if}
|
|
|
|
<div class="page-user">
|
|
<h1 class="text-center">{if $body.newUser}{t}Registrace{/t}{else}{t}Úprava osobních údajů{/t}{/if}</h1>
|
|
|
|
{include "block.messages.tpl"}
|
|
|
|
{if $body.newUser}
|
|
{ifmodule USER_OAUTH}
|
|
<div class="oauth-box">
|
|
<h4>{t}Registrace přes Facebook{/t}</h4>
|
|
<p>{t}Díky registraci přes Facebook 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">
|
|
<a href="/login-bind/facebook" class="btn btn-fcb"><span class="fc icons_facebook"></span> {t}Registrace{/t}</a>
|
|
</div>
|
|
</div>
|
|
{/ifmodule}
|
|
{/if}
|
|
|
|
{get_contexts country=1 assign='contexts'}
|
|
|
|
<form name="login" method="post" action="" role="form" class="form-registration" data-form="user">
|
|
<div class="row">
|
|
<div class="col-lg-6 col-xs-12">
|
|
<div class="form-group required row">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="email">{t}E-mail{/t}</label>
|
|
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<input type="email" name="email" id="email" class="form-control" value="{$body.input.email.value}"
|
|
data-bv-notempty="true" data-bv-emailaddress-message="{t}Zadejte platnou e-mailovou adresu{/t}">
|
|
</div>
|
|
</div>
|
|
|
|
{block "password"}
|
|
{if $body.newUser}
|
|
<div class="form-group required row">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="password">{t}Heslo{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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="form-group row required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="passwordAgain">{t}Heslo znovu{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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="form-group row required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="password">{t}Nové heslo{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<input type="password" name="password" id="password" class="form-control" value="">
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
{/block}
|
|
|
|
<div class="form-group row required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="name">{t}Jméno{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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" {if $isSwiss}data-bv-stringlength-max="14"{/if}>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="surname">{t}Příjmení{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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" {if $isSwiss}data-bv-stringlength-max="20"{/if}>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="firm">{t}Název firmy{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<input type="text" name="custom_address" id="firm" class="form-control" value="{$body.input.custom_address.value}" placeholder="{t}do zaměstnání...{/t}"
|
|
{if $isSwiss}data-bv-stringlength="true" data-bv-stringlength-max="35"{/if}>
|
|
</div>
|
|
</div>
|
|
|
|
{block "user-phone"}
|
|
<div class="form-group row required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="phone">{t}Telefon{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<input type="tel" name="phone" id="phone" class="form-control" 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>
|
|
{/block}
|
|
|
|
<div class="row form-group">
|
|
<div class="col-xs-12 col-sm-3">
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<label for="news" class="custom-checkbox custom-control">
|
|
<input type="checkbox" class="custom-control-input" name="news" id="news" value="Y" {$body.input.news|checked:'Y'}>
|
|
<span class="custom-control-indicator"></span>
|
|
{t escape=false}Dostávat novinky{/t} {* escape false kvuli pcch *}
|
|
{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>
|
|
|
|
<div class="col-lg-6 col-xs-12 col-sm-12">
|
|
<h2>{t}Adresa{/t}</h2>
|
|
|
|
{block "user-street"}
|
|
<div class="row form-group required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="street">{t}Ulice a č.p.{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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" {if $isSwiss}data-bv-stringlength="true" data-bv-stringlength-max="35"{/if}>
|
|
</div>
|
|
</div>
|
|
{/block}
|
|
|
|
<div class="row form-group required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="city">{t}Město{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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" {if $isSwiss}data-bv-stringlength="true" data-bv-stringlength-max="35"{/if}>
|
|
</div>
|
|
</div>
|
|
|
|
{block "user-zip"}
|
|
<div class="row form-group required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="zip">{t}PSČ{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<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>
|
|
{/block}
|
|
|
|
{block "user-country"}
|
|
<div class="row form-group required">
|
|
<div class="col-xs-12 col-sm-3">
|
|
<label for="country">{t}Stát{/t}</label>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-9">
|
|
<select name="country" class="form-control custom-select" id="country" {if $cfg.Order.Countries|count == 1}readonly{/if}>
|
|
{if $body.newUser}
|
|
{$active = $contexts.country->getActive()->getId()}
|
|
{else}
|
|
{$active = $body.input.country.value}
|
|
{/if}
|
|
{foreach $contexts.country->getAll() as $country}
|
|
<option value="{$country->getId()}" {if $active == $country->getId()}selected="selected"{/if}>{$country->getName()}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
{/block}
|
|
</div>
|
|
</div>
|
|
<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 btn-primary--green" type="submit" name="Submit" value="{t}Odeslat registraci{/t}">
|
|
{/if}
|
|
{else}
|
|
<input class="btn btn-primary btn-primary--green" type="submit" name="Submit" value="{t}Uložit{/t}">
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
{if !$body.newUser}
|
|
{ifmodule USER_OAUTH}
|
|
{include "user.oauth.tpl"}
|
|
{/ifmodule}
|
|
{/if}
|
|
|
|
</div>
|
|
{/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 = $('[data-form="user"]');
|
|
|
|
{* Revalidace po změně země jen pokud mam na vyber vic zemi *}
|
|
{if $cfg.Order.Countries|count > 1}
|
|
|
|
var reCheckField = function(fieldName) {
|
|
$.each(fieldName, function(i, field) {
|
|
|
|
{* preskoc otravnou validaci prazdnych poli *}
|
|
if (!$form.find('[name=' + field + ']').val())
|
|
return true;
|
|
|
|
$form.data('bootstrapValidator').updateStatus(field, 'NOT_VALIDATED').validateField(field);
|
|
});
|
|
};
|
|
|
|
$('#country').on('change', function() {
|
|
reCheckField(['phone', 'zip']);
|
|
});
|
|
{/if}
|
|
|
|
$form.bootstrapValidator({
|
|
feedbackIcons: {
|
|
valid: 'fc fc-check',
|
|
invalid: 'fc fc-remove',
|
|
validating: 'fc fc-refresh',
|
|
},
|
|
}).on('submit', function() {
|
|
var err = $('.has-error').first();
|
|
|
|
if (err.length && !wpj.domUtils.isInView(err)) {
|
|
wpj.domUtils.scrollTo(err);
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
{if $body.error_id}
|
|
wpj.domUtils.scrollTo($('.alert'));
|
|
{/if}
|
|
|
|
{/block}
|
|
</script>
|
|
|
|
{block analytics append}
|
|
{include "components/block.smartForm.tpl"}
|
|
{/block}
|