{% extends 'base.html.twig' %}
{% block title %}Rejestracja nowego konta{% endblock %}
{% block body %}
<div class="uk-grid-collapse" uk-grid>
<div class="uk-width-1-6">
</div>
<div class="uk-width-1-6 uk-padding-small">
<img src="{{ asset ("img/logo.jpg") }}" class="uk-align-right"/>
</div>
<div class="uk-width-expand">
<nav class="uk-navbar-container" uk-navbar>
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li><a href="#"> DOMENY</a></li>
<li><a href="#">O FIRMIE</a></li>
<li><a href="#">PORTFOLIO</a></li>
<li><a href="#">POMOC</a></li>
<li><a href="#">PANEL KLIENTA</a></li>
</ul>
</div>
</nav>
</div>
<div class="uk-width-1-6">
</div>
</div>
<div class="uk-grid-collapse" uk-grid>
<div class="uk-width-1-6">
</div>
<div class="uk-width-1-6 uk-padding-small">
<ul class="uk-nav uk-nav-default uk-align-right">
{% include 'left_menu.html.twig' %}
<li class="uk-align-left" id="cartPreview">
{% include 'cart_preview.html.twig' %}
</li><br/>
</ul>
</div>
<div class="uk-width-expand">
<form method="POST" name='form' class="uk-width-expand">
<h2>Formularz rejestracyjny</h2>
<fieldset class="uk-fieldset uk-width-expand">
<legend class="uk-legend">Dane podstawowe</legend>
<div>
<label class="uk-form-label">Login<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-input uk-form-small" type="text" placeholder="login" id="login"/>
</div>
</div>
<div>
<label class="uk-form-label">Hasło<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="password" id="pass1"/><br/>
<p class="uk-text-meta">
{{ pass_help|raw }}
</p>
</div>
</div>
<div>
<label class="uk-form-label">Powtórz haslo<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="password" id="pass2"/>
</div>
</div>
<div>
<label class="uk-form-label">Rofdzaj klienta<sup>*</sup></label>
<div class="uk-form-controls">
{% for RODZAJ_KLIENTA in rodzaje_klientow %}
<label><input class="uk-radio" type="radio" name="rodzaj_klienta" id="rodzaj_klienta_{{ RODZAJ_KLIENTA.id }}" value="{{ RODZAJ_KLIENTA.id }}" onclick="changeClientType('{{ RODZAJ_KLIENTA.nazwa }}');"{% if RODZAJ_KLIENTA.nazwa == "osoba prywatna" %} checked{% endif %}/> {{ RODZAJ_KLIENTA.nazwa }}</label>
{% endfor %}
</div>
</div>
<div class="person">
<div class="uk-form-controls">
<label><input class="uk-checkbox" type="checkbox" id="whois"/> Zgoda na pokazywanie danych WHOIS</label>
</div>
</div>
<div class="person">
<label class="uk-form-label">Imię i Nazwisko<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="imie_i_nazwisko" placeholder="Imię i Nazwisko"/>
</div>
</div>
<div class="company" style="display: none;">
<label class="uk-form-label">Nazwa<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="nazwa" placeholder="Nazwa"/>
</div>
</div>
<div class="company" style="display: none;">
<label class="uk-form-label">Osoba kontaktowa<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="osoba_kontaktowa" placeholder="Osoba kontaktowa"/>
</div>
</div>
</fieldset>
<hr/>
<fieldset class="uk-fieldset uk-width-expand">
<legend class="uk-legend">Adres</legend>
<div>
<label class="uk-form-label">Miejscowość<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-input uk-form-small" type="text" placeholder="Miejscowość" id="miasto"/>
</div>
</div>
<div>
<label class="uk-form-label">Kod pocztowy<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" placeholder="Kod pocztowy" id="kod_pocztowy"/>
</div>
</div>
<div>
<label class="uk-form-label">Ulica<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="ulica" placeholder="Ulica nr domu i nr lokalu"/>
</div>
</div>
<div>
<label class="uk-form-label">Kraj<sup>*</sup></label>
<div class="uk-form-controls">
<select class="uk-input uk-form-small" id="kraj">
{% for KRAJ in kraje %}
<option value="{{ KRAJ.id }}"{% if KRAJ.skrot2|lower == 'pl' %} selected{% endif %}>{{ KRAJ.nazwa }}</option>
{% endfor %}
</select>
</div>
</div>
<div>
<div class="uk-form-controls">
<label><input class="uk-checkbox" type="checkbox" id="adres_koresp" onclick="if (this.checked) {
$('#koresp_addr').fadeIn('slow');
} else {
$('#koresp_addr').fadeOut('slow');
}"/> Inny adres korespondencyjny</label>
</div>
</div>
</fieldset>
<hr/>
<fieldset class="uk-fieldset uk-width-expand" style="display: none;" id="koresp_addr">
<legend class="uk-legend">Adres korespondencyjny</legend>
<div>
<label class="uk-form-label">Miejscowość<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-input uk-form-small" type="text" placeholder="Miejscowość" id="kores_miasto"/>
</div>
</div>
<div>
<label class="uk-form-label">Kod pocztowy<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" placeholder="Kod pocztowy" id="kores_kod_pocztowy"/>
</div>
</div>
<div>
<label class="uk-form-label">Ulica<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="kores_ulica" placeholder="Ulica nr domu i nr lokalu"/>
</div>
</div>
<div>
<label class="uk-form-label">Kraj<sup>*</sup></label>
<div class="uk-form-controls">
<select class="uk-input uk-form-small" id="kores_kraj">
{% for KRAJ in kraje %}
<option value="{{ KRAJ.id }}"{% if KRAJ.skrot2|lower == 'pl' %} selected{% endif %}>{{ KRAJ.nazwa }}</option>
{% endfor %}
</select>
</div>
</div>
</fieldset>
<hr/>
<fieldset class="uk-fieldset uk-width-expand">
<legend class="uk-legend">Dane kontaktowe</legend>
<div>
<label class="uk-form-label">Telefon w formacie "+(numer_kierunkowy_kraju) pełny_numer_wewnątrz_kraju"<sup>**</sup></label>
<div class="uk-form-controls">
<input class="uk-input uk-form-small" type="text" placeholder="Telefon" id="mask_telefon"/>
<input class="uk-input uk-form-small" type="hidden" placeholder="Telefon" id="telefon"/>
</div>
</div>
<div>
<label class="uk-form-label">Telefon komórkowy w formacie "+(numer_kierunkowy_kraju) pełny_numer_wewnątrz_kraju"<sup>**</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" placeholder="Telefon komórkowy" id="mask_telefon_komorkowy"/>
<input class="uk-form-small uk-input" type="hidden" placeholder="Telefon komórkowy" id="telefon_komorkowy"/>
</div>
</div>
<div>
<label class="uk-form-label">E-mail<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="email" placeholder="E-mail"/>
</div>
</div>
<div class="person">
<label class="uk-form-label">PESEL<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="pesel" placeholder="PESEL"/>
</div>
</div>
<div class="company" style="display: none;">
<label class="uk-form-label">NIP<sup>*</sup></label>
<div class="uk-form-controls">
<input class="uk-form-small uk-input" type="text" id="nip" placeholder="NIP"/>
</div>
</div>
</fieldset>
<hr/>
<div class="uk-text-meta">
<sup>*</sup> - Pola oznaczone gwiazdką, są polami wymaganymi.<br/>
<sup>**</sup> - Przynajmniej jedno z pól oznaczonych podwójną gwiazdką jest wymagane.
</div>
<div>
<button type="button" class="uk-button uk-button-primary uk-align-right" onclick="checkForm();">Zarejestruj</button>
</div>
</form>
</div>
<div class="uk-width-1-6">
</div>
</div>
<div id="check-modal" class="uk-flex-top" uk-modal>
<div class="uk-modal-dialog uk-modal-body uk-margin-auto-vertical">
<div uk-grid>
<div class="uk-width-auto">
<div uk-spinner id="frmSpinner"></div>
</div>
<div class="uk-width-expand">
<p> Proszę czekać, sprawdzam poprawność wypełnienia formularza rejestracyjnego...</p>
<div style="display: none;" id="formAlerts">
<hr/>
</div>
</div>
</div>
</div>
</div>
<div id="send-modal" class="uk-flex-top" uk-modal>
<div class="uk-modal-dialog uk-modal-body uk-margin-auto-vertical">
<div uk-grid>
<div class="uk-width-auto">
<div uk-spinner id="frmSpinner"></div>
</div>
<div class="uk-width-expand">
<p> Proszę czekać, dokonuję rejestracji nowego klienta.</p>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script>
function changeClientType(ct) {
if (ct == "osoba prywatna") {
$(".company").fadeOut("slow", function () {
$(".person").fadeIn("slow");
});
} else {
$(".person").fadeOut("slow", function () {
$(".company").fadeIn("slow");
});
}
}
function checkForm() {
$("#formAlerts").find ("div,button").remove ();
$("#frmSpinner").show ();
$("#formAlerts").hide ();
UIkit.modal(document.getElementById('check-modal')).show();
var dataForm = {
login: $("#login").val (),
pass1: $("#pass1").val (),
pass2: $("#pass2").val (),
{% for RODZAJ_KLIENTA in rodzaje_klientow %}
rodzaj_klienta_{{ RODZAJ_KLIENTA.id }}: document.getElementById("rodzaj_klienta_{{ RODZAJ_KLIENTA.id }}").checked,
{% endfor %}
whois: document.getElementById ("whois").checked,
imie_i_nazwisko: $("#imie_i_nazwisko").val (),
nazwa: $("#nazwa").val (),
osoba_kontaktowa: $("osoba_kontaktowa").val (),
miasto: $("#miasto").val (),
kod_pocztowy: $("#kod_pocztowy").val (),
ulica: $("#ulica").val (),
kraj: $("#kraj").val (),
adres_koresp: document.getElementById ("adres_koresp").checked,
kores_miasto: $("#kores_miasto").val (),
kores_kod_pocztowy: $("#kores_kod_pocztowy").val (),
kores_ulica: $("#kores_ulica").val (),
kores_kraj: $("#kores_kraj").val (),
telefon: $("#telefon").val (),
telefon_komorkowy: $("#telefon_komorkowy").val (),
email: $("#email").val (),
pesel: $("#pesel").val (),
nip: $("#nip").val (),
osoba_kontaktowa: $("#osoba_kontaktowa").val ()
};
$.ajax ({
type: "POST",
url: "{{ path("check-form-registration") }}",
data: dataForm,
success: function (ans) {
$(".uk-input").removeClass ("uk-form-danger");
if (ans.status) {
console.log (ans);
UIkit.modal(document.getElementById('check-modal')).hide();
UIkit.modal(document.getElementById('send-modal')).show();
$.ajax ({
type: "POST",
url: "{{ path ("register-new-user") }}",
data: dataForm,
success: function (ans) {
console.log (ans);
if (ans.status) {
var URL = "{{ path("register-new-user-activation-info", { klientId: "%KID%" }) }}";
URL = URL.replace ("%25KID%25", ans.klientId);
document.location.href = URL;
} else {
for (var ndx in ans.alerts) {
$("#formAlerts").append ($("<div>").html (ans.alerts[ndx]));
}
$("#formAlerts").append ($("<button>").addClass ("uk-button").addClass ("uk-button-danger").addClass ("uk-align-right").html ("OK").on("click", function () { UIkit.modal(document.getElementById('check-modal')).hide(); }));
$("#formAlerts").fadeIn ("slow");
$("#frmSpinner").hide ();
}
}
});
} else {
for (var ndx in ans.items) {
$("#" + ans.items [ndx]).addClass ("uk-form-danger");
}
for (var ndx in ans.alerts) {
$("#formAlerts").append ($("<div>").html (ans.alerts[ndx]));
}
$("#formAlerts").append ($("<button>").addClass ("uk-button").addClass ("uk-button-danger").addClass ("uk-align-right").html ("OK").on("click", function () { UIkit.modal(document.getElementById('check-modal')).hide(); }));
$("#formAlerts").fadeIn ("slow");
$("#frmSpinner").hide ();
}
}
});
}
$(function () {
$("#mask_telefon").on("keyup change", function () {
$("#telefon").val (destroyMask (this.value));
this.value = createMask ($("#telefon").val ());
});
$("#mask_telefon_komorkowy").on("keyup change", function () {
$("#telefon_komorkowy").val (destroyMask (this.value));
this.value = createMask ($("#telefon_komorkowy").val ());
});
})
function createMask (v) {
var TEMP = "";
var POCZATEK = false;
var CYFRA = false;
var ZAMYKACZ = false;
for (var N = 0; N < v.length; N++) {
var ZNAK = v.charAt (N);
if (ZNAK == "+") {
//PLUS
if (TEMP == "") TEMP = "+";
} else if (ZNAK == "(") {
//NAWIAS OTWIERAJĄCY
if (TEMP == "+") TEMP = "+(";
POCZATEK = true;
} else if (ZNAK == ")") {
//NAWIAS ZAMYKAJĄCY
if (CYFRA) {
TEMP += ")";
ZAMYKACZ = true;
}
} else if ((ZNAK >= "0") && (ZNAK <= "9")) {
//CYFRA
if (POCZATEK) {
CYFRA = true;
TEMP += ZNAK;
}
}
}
return TEMP;
}
function destroyMask (v) {
return v;
}
</script>
{% endblock %}