Popravki nakupovalne kosarice in api klicev pri registraciji

This commit is contained in:
Robert 2022-06-29 00:15:49 +02:00
parent 9a6ad82bb4
commit 1934a06743
10 changed files with 300 additions and 7423 deletions

View File

@ -1503,6 +1503,7 @@ class ApiLogin
// Za testiranje brez posiljanja maila
if(isDebug()) {
return $this->ajaxResponse('success',['mail' => $ZaMail, 'code' => $code]);
echo $ZaMail;
die();
}
@ -1846,7 +1847,7 @@ class ApiLogin
global $cookie_domain;
global $app_settings;
if (isset ($_GET['email']) || isset ($_POST['email'])) {
if (isset ($_GET['email']) || isset ($_POST['email']) || isset($this->email)) {
if (isset ($_GET['email'])) {
$email = strtolower($_GET['email']);
@ -1854,15 +1855,18 @@ class ApiLogin
if (isset ($_POST['email'])) {
$email = strtolower($_POST['email']);
}
if (isset ($this->email)) {
$email = strtolower($this->email);
}
$email = CleanXSS($email);
// Ali gre za ajax klic
$ajaxKlic = false;
if(!empty($_POST['ajax'])){
if(!empty($_POST['ajax']) || $this->method == 'AJAX'){
$ajaxKlic = true;
if($_POST['lang'] == 'en' || $_POST['jezik'] == 'en'){
if($this->data['lang'] == 'en' || $this->data['jezik'] == 'en'){
include('../../lang/2.php');
}
else {
@ -1876,15 +1880,12 @@ class ApiLogin
// Ce emaila ni v bazi
$user_id_1ka = User::findByEmail($email);
return json_encode($user_id_1ka);
return $this->ajaxResponse('error', ['text' => $lang['cms_error_no_email']]);
if (empty($user_id_1ka)) {
if($ajaxKlic){
echo json_encode([
'type' => 'error',
'text' => $lang['cms_error_no_email']
]);
if($ajaxKlic || $this->method == 'AJAX'){
return $this->ajaxResponse('error', ['text' => $lang['cms_error_no_email']]);
}else {
header('location: '.$this->page_urls['page_login_noEmail'.$this->prijava].'&email='.$email);
}

View File

@ -1 +0,0 @@
/media/pc/Ostalo/Development/Docker-dev/1ka-git/lang

File diff suppressed because one or more lines are too long

View File

@ -69,9 +69,8 @@
}, 2000);
} else {
// Napaka, če email ne obstaja v bazi
jQuery('#modal-lost-password .w-form-fail').html('<div>' + val.text + '</div>').show();
jQuery('#modal-lost-password #error-lost-password').html('<div>' + val.data.text + '</div>').show();
}
});

View File

@ -8,21 +8,95 @@
jQuery(document).ready(function () {
jQuery('.cas-trajanja .mesec').on('click', function(){
/*
* 1. KORAK preverimo ceno paketo, lokacijo in ustrezno nastavimo polja
*/
if (window.location.pathname.indexOf('izvedi-nakup') > -1 || window.location.pathname.indexOf('/purchase/') > -1) {
var trajanje = jQuery('[name="trajanje"]:checked').val();
jQuery('#prikazTrajanjeSt').text(trajanje);
var mesecIme = jQuery('#prikazTrajanjeMesec').attr('data-text');
if(trajanje == 1){
mesecIme = mesecIme.substring(0, mesecIme.length-2);
} else if(trajanje == 3){
mesecIme = mesecIme.substring(0, mesecIme.length-1);
// V kolikor uporabnik ni prijavljen preusmerimo na domačo stran, ker se nakup ne more izvesti
if (document.cookie.indexOf('unam=') < 1) {
window.location.href = '/d/'+jQuery('html')[0].lang;
}
jQuery('#prikazTrajanjeMesec').text(mesecIme);
//Nastavimo prevzeto plačevanje s karticam
jQuery('[name="payment_method"][value="3"]').prop('checked', true);
posodobiCenoPaketa();
posodobiDesniPrikaz();
// IP lokacija
jQuery.post('/d/nakupovanje-api/get_lokacija').done(function (val) {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', false);
val = JSON.parse(val);
if(val.drzava && val.drzava.length > 1){
if(val.drzava == 'Slovenia' && jQuery('html')[0].lang == 'sl'){
val.drzava = "Slovenija";
}
jQuery('#nakup-1ka #polje-drzava').val(val.drzava);
jQuery('#nakup-1ka #polje-drzava').attr('readonly', true);
}
});
}
jQuery('#nakup-1ka [name="trajanje"], #nakup-1ka [name="package_id"], #nakup-1ka [name="payment_method"]').on('change', function(){
posodobiDesniPrikaz();
});
jQuery('#nakup-1ka .izbira').on('change', function () {
posodobiCenoPaketa();
});
jQuery('#nakup-1ka #polje-drzava').on('change', function(){
prikaziPoljeEracun();
});
jQuery('[name="podjetje_davcna"]').keyup(function () {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', true);
var davcna = jQuery('[name="podjetje_davcna"]').val().replace(/\D/g, ''); // samo številke
if(davcna.length > 7) {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', false);
// $("#obvestilceDavcna").val("Iščemo ime podjetja s to davčno številko ...");
// $.ajax({
// url: "https://www.go-tel.si/tecaji/poizvedba.php",
// type: "post",
// data: {
// davcna:davcna
// },
// headers: {
// "accept": "application/json",
// "Access-Control-Allow-Origin":"*"
// },
// success: function(response) {
// if(response!=undefined) {
// var rez=JSON.parse(response);
// return console.log(rez);
//
// // if(rez!=undefined) {
// // if(rez.naziv) {
// // $("#firma_naziv").val(rez.naziv);
// // $("#firma_naslov").val(rez.naslov);
// // $("#firma_postna").val(rez.posta);
// // $("#firma_posta").val(rez.kraj);
// // }
// // else
// // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno.");
// // }
// // else
// // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno.");
// }
// },
// error: function() {
// // pocistiPolja();
// }
// });
}
});
@ -31,3 +105,115 @@
});
})(jQuery);
function posodobiDesniPrikaz(){
// Ime paketa
var stPaketa = jQuery('[name="package_id"]:checked').val();
jQuery('.nakup-1ka .prikazStPaketa').text(stPaketa);
// Trajanje paketa
var trajanje = jQuery('[name="trajanje"]:checked').val();
jQuery('.prikazTrajanjeSt').text(trajanje);
if(trajanje) {
var mesecIme = jQuery('.prikazTrajanjeMesec').attr('data-text');
// Upoštevati moramo sklanjanje po mesecih
if (trajanje == 1) {
mesecIme = mesecIme.substring(0, mesecIme.length - 2);
} else if (trajanje == 3) {
mesecIme = mesecIme.substring(0, mesecIme.length - 1);
}
jQuery('.prikazTrajanjeMesec').text(mesecIme);
}
// Vrsta plačila
var vrstaPlacila = jQuery('[name="payment_method"]:checked').val();
vrstaPlacila = jQuery('.vrsta-placila [for="paymentMethod'+vrstaPlacila+'"]').text();
jQuery('.nakup-1ka .prikazNacinPlacila').text(vrstaPlacila);
}
/**
* Posodobimo podatke glede cene paket
*/
function posodobiCenoPaketa() {
var paket = jQuery('[name="package_id"]:checked').val();
var trajanje = jQuery('[name="trajanje"]:checked').val();
jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) {
val = JSON.parse(val);
var cenaIzpisGledeNaDDV = '';
jQuery('.cena-z-ddv-text').show();
jQuery('.zavezanec-za-ddv').hide();
if (jQuery('#zavezanec-za-ddv').is(':checked') && jQuery('#racun-na-podjetje').is(':checked') &&
jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenija' &&
jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenia') {
cenaIzpisGledeNaDDV = '_without_tax';
jQuery('.cena-z-ddv-text').hide();
jQuery('.zavezanec-za-ddv').show();
}
if(val.paketi[paket] && trajanje > 0) {
jQuery('#nakup-1ka .ime-paketa, #predogled-nakupa-1ka .ime-paketa').text(val.paketi[paket].name);
jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(val.paketi[paket].price[trajanje]['final' + cenaIzpisGledeNaDDV]);
}
jQuery('#cena-trajanje1m').text(val.paketi[paket].price[1]['monthly' + cenaIzpisGledeNaDDV]);
jQuery('#cena-trajanje3m').text(val.paketi[paket].price[3]['monthly' + cenaIzpisGledeNaDDV]);
jQuery('#cena-trajanje12m').text(val.paketi[paket].price[12]['monthly' + cenaIzpisGledeNaDDV]);
// Preverimo, če ima kak popust od prej
jQuery('.podatki-za-placilo-racuna').show();
jQuery.post('/d/nakupovanje-api/get_active_subscription', {
'package_id': paket,
'trajanje': trajanje,
'email': jQuery('#narocilo-paketa-podatki #f-email').val(),
}).done(function (response) {
response = JSON.parse(response);
jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').hide();
// V kolikor se cena s popustom razlikuje od privzete cene, potem prikažemo še končno ceno s popustom
if (response['final'] !== response['full']) {
jQuery('#nakup-1ka .cena-brez-popusta, #predogled-nakupa-1ka .cena-brez-popusta').text(response['full' + cenaIzpisGledeNaDDV]);
jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').show();
jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(response['final' + cenaIzpisGledeNaDDV]);
// Če je cena s popustom 0 potem onemogočimo izbiro plačila
if (response['final'] == 0) {
jQuery('.podatki-za-placilo-racuna').hide();
jQuery('[name="payment_method"][value="1"]').prop('checked', true);
}
}
});
});
}
/**
* Prikažemo polje za Slovenijo v kolikor je uporabnik proračunski uporabnik
*/
function prikaziPoljeEracun(){
if(jQuery('#racun-na-podjetje').is(':checked') &&
(jQuery('#nakup-1ka #polje-drzava').val() == 'Slovenija' || jQuery('#nakup-1ka #polje-drzava').val() == 'Slovenia')){
jQuery('#nakup-1ka #polje-podjetje-eracun').css('display', 'flex');
} else {
jQuery('#nakup-1ka #polje-podjetje-eracun').hide();
jQuery('[name="podjetje_eracun"]').prop('checked', false);
}
}

View File

@ -681,6 +681,23 @@
}
});
// PRidobimo pakete za cenik
if (window.location.pathname.indexOf('zasebni-paketi') > -1 || window.location.pathname.indexOf('private-packages') > -1) {
jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) {
val = JSON.parse(val);
jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly);
jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly);
});
// jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) {
// val = JSON.parse(val);
//
// jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly);
// jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly);
// });
}
// Tuje bančno nakazilo
jQuery('#polje-drzava, [name="payment_method"]').on('change', function(){
if(
@ -964,120 +981,6 @@
}
});
// PRidobimo pakete
if (window.location.pathname.indexOf('zasebni-paketi') > -1 || window.location.pathname.indexOf('private-packages') > -1) {
jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) {
val = JSON.parse(val);
jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly);
jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly);
});
// jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) {
// val = JSON.parse(val);
//
// jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly);
// jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly);
// });
}
if (window.location.pathname.indexOf('izvedi-nakup') > -1 || window.location.pathname.indexOf('/purchase/') > -1) {
// Če uporabnik ni prijavljen
if (document.cookie.indexOf('unam=') < 1) {
return window.location.href = '/';
}
//Nastavimo prevzeto plačevanje s karticam
jQuery('[name="payment_method"][value="3"]').prop('checked', true);
posodobiCenoPaketa();
// IP lokacija
jQuery.post('/d/nakupovanje-api/get_lokacija').done(function (val) {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', false);
val = JSON.parse(val);
if(val.drzava && val.drzava.length > 1){
if(val.drzava == 'Slovenia' && jQuery('html')[0].lang == 'sl'){
val.drzava = "Slovenija";
}
jQuery('#nakup-1ka #polje-drzava').val(val.drzava);
jQuery('#nakup-1ka #polje-drzava').attr('readonly', true);
}
});
// Preverimo, če je že prej opravil nakup
jQuery.post('/d/nakupovanje-api/get_lokacija').done(function (val) {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', false);
val = JSON.parse(val);
if(val.drzava && val.drzava.length > 1){
if(val.drzava == 'Slovenia' && jQuery('html')[0].lang == 'sl'){
val.drzava = "Slovenija";
}
jQuery('#nakup-1ka #polje-drzava').val(val.drzava);
jQuery('#nakup-1ka #polje-drzava').attr('readonly', true);
}
});
}
jQuery('#nakup-1ka .izbira').on('change', function () {
posodobiCenoPaketa();
});
jQuery('#nakup-1ka #polje-drzava').on('change', function(){
prikaziPoljeEracun();
});
jQuery('[name="podjetje_davcna"]').keyup(function () {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', true);
var davcna = jQuery('[name="podjetje_davcna"]').val().replace(/\D/g, ''); // samo številke
if(davcna.length > 7) {
jQuery('#nakup-1ka #polje-drzava').attr('readonly', false);
// $("#obvestilceDavcna").val("Iščemo ime podjetja s to davčno številko ...");
// $.ajax({
// url: "https://www.go-tel.si/tecaji/poizvedba.php",
// type: "post",
// data: {
// davcna:davcna
// },
// headers: {
// "accept": "application/json",
// "Access-Control-Allow-Origin":"*"
// },
// success: function(response) {
// if(response!=undefined) {
// var rez=JSON.parse(response);
// return console.log(rez);
//
// // if(rez!=undefined) {
// // if(rez.naziv) {
// // $("#firma_naziv").val(rez.naziv);
// // $("#firma_naslov").val(rez.naslov);
// // $("#firma_postna").val(rez.posta);
// // $("#firma_posta").val(rez.kraj);
// // }
// // else
// // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno.");
// // }
// // else
// // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno.");
// }
// },
// error: function() {
// // pocistiPolja();
// }
// });
}
});
/*
* Posredujemo podatke za poslovne uporabnike
@ -1433,65 +1336,6 @@ function oddajNarociloNaStreznik() {
});
}
function posodobiCenoPaketa() {
var paket = jQuery('[name="package_id"]:checked').val();
var trajanje = jQuery('[name="trajanje"]:checked').val();
jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) {
val = JSON.parse(val);
var cenaIzpisGledeNaDDV = '';
jQuery('.cena-z-ddv-text').show();
jQuery('.zavezanec-za-ddv').hide();
if (jQuery('#zavezanec-za-ddv').is(':checked') && jQuery('#racun-na-podjetje').is(':checked') &&
jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenija' &&
jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenia') {
cenaIzpisGledeNaDDV = '_without_tax';
jQuery('.cena-z-ddv-text').hide();
jQuery('.zavezanec-za-ddv').show();
}
if(val.paketi[paket] && trajanje > 0) {
jQuery('#nakup-1ka .ime-paketa, #predogled-nakupa-1ka .ime-paketa').text(val.paketi[paket].name);
jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(val.paketi[paket].price[trajanje]['final' + cenaIzpisGledeNaDDV]);
}
jQuery('#cena-trajanje1m').text(val.paketi[paket].price[1]['monthly' + cenaIzpisGledeNaDDV]);
jQuery('#cena-trajanje3m').text(val.paketi[paket].price[3]['monthly' + cenaIzpisGledeNaDDV]);
jQuery('#cena-trajanje12m').text(val.paketi[paket].price[12]['monthly' + cenaIzpisGledeNaDDV]);
// Preverimo, če ima kak popust od prej
jQuery('.podatki-za-placilo-racuna').show();
jQuery.post('/d/nakupovanje-api/get_active_subscription', {
'package_id': paket,
'trajanje': trajanje,
'email': jQuery('#narocilo-paketa-podatki #f-email').val(),
}).done(function (response) {
response = JSON.parse(response);
jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').hide();
// V kolikor se cena s popustom razlikuje od privzete cene, potem prikažemo še končno ceno s popustom
if (response['final'] !== response['full']) {
jQuery('#nakup-1ka .cena-brez-popusta, #predogled-nakupa-1ka .cena-brez-popusta').text(response['full' + cenaIzpisGledeNaDDV]);
jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').show();
jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(response['final' + cenaIzpisGledeNaDDV]);
// Če je cena s popustom 0 potem onemogočimo izbiro plačila
if (response['final'] == 0) {
jQuery('.podatki-za-placilo-racuna').hide();
jQuery('[name="payment_method"][value="1"]').prop('checked', true);
}
}
});
});
}
function lang() {
return jQuery('html')[0].lang;
}
@ -1514,24 +1358,4 @@ function odpriAaiLoginObvestilo(){
}
}
/**
* Prikažemo polje za Slovenijo v kolikor je uporabnik proračunski uporabnik
*/
function prikaziPoljeEracun(){
if(jQuery('#racun-na-podjetje').is(':checked') &&
(jQuery('#nakup-1ka #polje-drzava').val() == 'Slovenija' || jQuery('#nakup-1ka #polje-drzava').val() == 'Slovenia')){
jQuery('#nakup-1ka #polje-podjetje-eracun').css('display', 'flex');
} else {
jQuery('#nakup-1ka #polje-podjetje-eracun').hide();
jQuery('[name="podjetje_eracun"]').prop('checked', false);
}
}

View File

@ -138,6 +138,42 @@
}
}
}
.region-header-menu {
display: flex;
.language-switcher-language-url {
ul {
list-style: none;
padding: 0;
li {
text-transform: uppercase;
font-weight: bold;
&.is-active {
display: none;
}
a{
display: block;
padding-top: 20px;
padding-bottom: 3px;
border-bottom: 2px solid #fff;
color: #343434;
font-size: 16px;
line-height: 30px;
font-weight: 400;
&:hover{
border-bottom-color: #0082ff;
color: #0082ff;
}
}
}
}
}
}
}

View File

@ -172,10 +172,16 @@
#register-form-confirm{
display: none;
flex-direction: column;
.col{
flex-direction: column;
}
}
#register-form-email-sent {
display: none;
flex-direction: column;
}
}

View File

@ -290,28 +290,7 @@
</div>
</div>
<div class="desna">
<div class="dleva">
<h3>Informacije o naročilu</h3>
<h4>
{% if paket == 2 %}
Paket <span id="prikazStPaketa">2</span>ka
{% else %}
Paket <span id="prikazStPaketa">3</span>ka
{% endif %}
</h4>
<div class="prikazTrajanje">
<span id="prikazTrajanjeSt"></span> <span id="prikazTrajanjeMesec" data-text="mesecev"></span>
</div>
<h4>Način plačila: <span id="prikazNacinPlacila"></span></h4>
{% if language.id == 'sl' %}
<div class="text-small">*Naročnina se zaračuna v enkratnem znesku.</div>
{% else %}
<div class="text-small">*The subscription is charged in a lump sum.</div>
{% endif %}
</div>
<div class="ddesna">
<h1>0 €</h1>
</div>
{% include '@pro1ka/parts/desni-pregled-narocila.html.twig' %}
</div>
</div>
@ -332,9 +311,9 @@
<div class="col _narocilo">
<div class="col">
{% if language.id == 'sl' %}
Vrsta paketa: <span> Paket <span class="ime-paketa">1KA</span></span>
Vrsta paketa: <span> Paket <span class="prikazStPaketa">1</span>ka</span>
{% else %}
Package type: <span> Package <span class="ime-paketa">1KA</span></span>
Package type: <span> Package <span class="prikazStPaketa">1</span>ka</span>
{% endif %}
</div>
<div class="col">
@ -343,7 +322,7 @@
{% else %}
Package lease for:
{% endif %}
<span id="forma-trajanje">/</span>
<span class="prikazTrajanjeSt">/</span> <span class="prikazTrajanjeMesec" data-text="mesecev"></span>
</div>
<div class="col">
{% if language.id == 'sl' %}
@ -457,20 +436,7 @@
</div>
<div class="desna">
<div class="dleva">
<h3>Informacije o naročilu</h3>
<h4>{% if paket == 2 %} Paket 2ka {% else %} Paket 3ka {% endif %}</h4>
X mesece
<h4>Način plačila: XZY</h4>
{% if language.id == 'sl' %}
<div class="text-small">*Naročnina se zaračuna v enkratnem znesku.</div>
{% else %}
<div class="text-small">*The subscription is charged in a lump sum.</div>
{% endif %}
</div>
<div class="ddesna">
<h1>0 €</h1>
</div>
{% include '@pro1ka/parts/desni-pregled-narocila.html.twig' %}
</div>
<div class="w-clearfix procesiram-narocilo">

View File

@ -0,0 +1,26 @@
<div class="dleva">
<h3>Informacije o naročilu</h3>
<h4>
Paket <span class="prikazStPaketa">2</span>ka
</h4>
<div>
<span class="prikazTrajanjeSt">/</span> <span class="prikazTrajanjeMesec" data-text="mesecev"></span>
</div>
<h4>Način plačila: <span class="prikazNacinPlacila"></span></h4>
{% if language.id == 'sl' %}
<div class="text-small">*Naročnina se zaračuna v enkratnem znesku.</div>
{% else %}
<div class="text-small">*The subscription is charged in a lump sum.</div>
{% endif %}
</div>
<div class="ddesna">
<h1>
{% if language.id == 'sl' %}
<span class="cena-paketa"> 0,00</span> €
<span class="cena-z-ddv-text"> z DDV</span>
{% else %}
<span class="cena-paketa"> 0,00</span> €
<span class="cena-z-ddv-text"> including VAT</span>
{% endif %}
</h1>
</div>