From b19a964651b1909e1f0f2b77a449f1c7e7a9db7e Mon Sep 17 00:00:00 2001 From: Peter Hrvatin Date: Wed, 25 Nov 2020 10:26:10 +0100 Subject: [PATCH] Dodano filtriranje narocil po statusu, popravek racunanja DDV (3. drzave ga nimajo), dodan clen za brez DDV na predracun in racun --- admin/survey/script/narocila.js | 15 ++++- .../cebelica/InvoiceFox/cebelcaApi.php | 19 +++++- .../payments/classes/class.UserNarocila.php | 64 +++++++++++++++++-- lang/1.php | 4 ++ lang/2.php | 4 ++ public/css/admin.css | 6 ++ resources/sass/admin/payments.scss | 8 +++ 7 files changed, 112 insertions(+), 8 deletions(-) diff --git a/admin/survey/script/narocila.js b/admin/survey/script/narocila.js index 7752e7288..64345a2d4 100644 --- a/admin/survey/script/narocila.js +++ b/admin/survey/script/narocila.js @@ -106,8 +106,8 @@ function prepareNarocilaTableAdmin(){ exportOptions: { columns: ':visible' } - }, - 'colvis' + }/*, + 'colvis'*/ ] }); } @@ -300,4 +300,15 @@ function stornirajPlacilo(placilo_id){ if(confirm('Ste prepričani?')){ $("#placila").load('ajax.php?t=userPlacila&a=stornirajPlacilo', {placilo_id: placilo_id}); } +} + +// Nastavi filtriranje po statusu +function filterNarocila(status, checked){ + + if(checked) + var value = 1; + else + var value = 0; + + $("#narocila").load('ajax.php?t=userNarocila&a=filterNarocila', {status: status, value: value}); } \ No newline at end of file diff --git a/frontend/payments/cebelica/InvoiceFox/cebelcaApi.php b/frontend/payments/cebelica/InvoiceFox/cebelcaApi.php index c8e4424c1..9c5a64699 100644 --- a/frontend/payments/cebelica/InvoiceFox/cebelcaApi.php +++ b/frontend/payments/cebelica/InvoiceFox/cebelcaApi.php @@ -135,13 +135,28 @@ function ustvariPredracun($api,$podatki,$lang='si') { $clientId=0; if(isset($clientIdA[0]['id'])) $clientId = $clientIdA[0]['id']; - + + + // Sklic na člen glede DDV + $pub_notes = ''; + + // Podjetje, ki nima ddv (EU zavezanec oz. katerakoli 3. drzava) + if($podatki['podjetjeime'] != "" && $podatki['ddv'] != 1) { + $pub_notes = 'V skladu s členom 25/1 ZDDV-1 ni obračunan DDV.'; + } + + // Fizicna oseba iz 3. drzave, ki nima ddv + if($podatki['podjetjeime'] == "" && $podatki['ddv'] != 1) { + $pub_notes = 'V skladu s členom 30.d/1 ZDDV-1 ni obračunan DDV.'; + } + + $glava = array ( 'title' => date("y")."-".$clientId, 'date_sent' => date("d.m.Y"), 'days_valid' => $podatki['veljavnost'], 'id_partner' => $clientId, - 'pub_notes' => '', + 'pub_notes' => $pub_notes, 'date_served' => date("d.m.Y"), 'date_to_pay' => date("d.m.Y"), 'date_payed' => date("d.m.Y"), diff --git a/frontend/payments/classes/class.UserNarocila.php b/frontend/payments/classes/class.UserNarocila.php index 570e69899..f9614378b 100644 --- a/frontend/payments/classes/class.UserNarocila.php +++ b/frontend/payments/classes/class.UserNarocila.php @@ -12,11 +12,23 @@ class UserNarocila{ // Array z vsemi paketi private $packages = array(); + // Filter narocil + private $narocila_filter = array('neplacana' => 1, 'pacana' => 0, 'stornirana' => 0); + function __construct(){ // Zakesiramo vse pakete $this->cachePackages(); + + if(isset($_SESSION['narocila_filter']['neplacana']) && $_SESSION['narocila_filter']['neplacana'] == '0') + $this->narocila_filter['neplacana'] = 0; + + if(isset($_SESSION['narocila_filter']['placana']) && $_SESSION['narocila_filter']['placana'] == '1') + $this->narocila_filter['placana'] = 1; + + if(isset($_SESSION['narocila_filter']['stornirana']) && $_SESSION['narocila_filter']['stornirana'] == '1') + $this->narocila_filter['stornirana'] = 1; } @@ -29,10 +41,18 @@ class UserNarocila{ // Vsa narocila lahko pregledujejo samo admini if($admin_type == 0 && $usr_id == 0){ - // Loop po vseh narocilih v sistemu + // Filter po statusu + $status = ' AND un.status IN ('; + $status .= ($this->narocila_filter['neplacana'] == 1) ? '0,' : ''; + $status .= ($this->narocila_filter['placana'] == 1) ? '1,' : ''; + $status .= ($this->narocila_filter['stornirana'] == 1) ? '2,' : ''; + $status = substr($status, 0, -1); + $status .= ') '; + + // Loop po vseh narocilih v sistemu $sqlNarocilo = sisplet_query("SELECT un.*, u.name, u.surname, u.email, up.name AS package_name, up.description AS package_description, up.price AS package_price FROM user_access_narocilo un, users u, user_access_paket up - WHERE un.usr_id=u.id AND un.package_id=up.id + WHERE un.usr_id=u.id AND un.package_id=up.id ".$status." ORDER BY un.id DESC "); while($rowNarocilo = mysqli_fetch_array($sqlNarocilo)){ @@ -343,6 +363,13 @@ class UserNarocila{ // Admini vidijo vsa narocila $data = $this->getNarocila(); + // Filtri po statusu + echo '
'; + echo ''; + echo ''; + echo ''; + echo '
'; + echo ''; // Glava tabele @@ -1228,10 +1255,13 @@ class UserNarocila{ $countries_eu['Slovakia'] = 'SK'; - // Ce ni drzava s seznama vedno placa DDV - if(!isset($countries_eu[$drzava])) + // Slovenija - vedno placa DDV + if($drzava == 'Slovenija' || $drzava == 'Slovenia') return true; + // Ce ni drzava s seznama in ni Slovenija - po novem nikoli ne placa DDV + if(!isset($countries_eu[$drzava])) + return false; // Drugace gre za tujca iz EU - preverimo ce je zavezanec $client = new SoapClient("http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl"); @@ -1336,5 +1366,31 @@ class UserNarocila{ $sqlNarocilo = sisplet_query("DELETE FROM user_access_narocilo WHERE id='".$narocilo_id."'"); } } + + // Filter narocil + if($_GET['a'] == 'filterNarocila') { + + $status = (isset($_POST['status'])) ? $_POST['status'] : ''; + $value = (isset($_POST['value'])) ? $_POST['value'] : ''; + + if($status != '' && $value != ''){ + + if($status == '0'){ + $_SESSION['narocila_filter']['neplacana'] = $value; + $this->narocila_filter['neplacana'] = $value; + } + elseif($status == '1'){ + $_SESSION['narocila_filter']['placana'] = $value; + $this->narocila_filter['placana'] = $value; + } + elseif($status == '2'){ + $_SESSION['narocila_filter']['stornirana'] = $value; + $this->narocila_filter['stornirana'] = $value; + } + } + + // Na novo izrisemo tabelo z narocili + $this->displayNarocilaTableAdmin(); + } } } \ No newline at end of file diff --git a/lang/1.php b/lang/1.php index 062c241fe..5db863005 100644 --- a/lang/1.php +++ b/lang/1.php @@ -7410,6 +7410,10 @@ $lang = array ( 'srv_narocilo_status_1' => "Plačano", 'srv_narocilo_status_2' => "Stornirano", + 'srv_narocilo_filter_status_0' => "Neplačana", + 'srv_narocilo_filter_status_1' => "Plačana", + 'srv_narocilo_filter_status_2' => "Stornirana", + 'srv_narocilo_email_predracun_subject' => "Oddano naročilo št. ", 'srv_narocilo_email_predracun_content1' => "Hvala za oddano naročilo.", 'srv_narocilo_email_predracun_content2' => "Predračun za plačilo je dostopen na spodnji povezavi:", diff --git a/lang/2.php b/lang/2.php index 055ad3d6f..15aa7b002 100644 --- a/lang/2.php +++ b/lang/2.php @@ -7293,6 +7293,10 @@ $lang = array ( 'srv_narocilo_status_1' => "Paid", 'srv_narocilo_status_2' => "Canceled", + 'srv_narocilo_filter_status_0' => "Unpaid", + 'srv_narocilo_filter_status_1' => "Paid", + 'srv_narocilo_filter_status_2' => "Canceled", + 'srv_narocilo_email_predracun_subject' => "Order no. ", 'srv_narocilo_email_predracun_content1' => "Thank you for your order.", 'srv_narocilo_email_predracun_content2' => "Invoice for payment is availible here:", diff --git a/public/css/admin.css b/public/css/admin.css index bda092d82..4d3e0536a 100644 --- a/public/css/admin.css +++ b/public/css/admin.css @@ -26922,6 +26922,12 @@ label.user_access_locked:hover, #narocila a.ovalbutton { line-height: 18px; } +#narocila .narocila_filters { + margin-bottom: 15px; +} +#narocila .narocila_filters label { + margin-right: 10px; +} #narocila table.dataTable.user_narocila_admin { padding: 20px 0; } diff --git a/resources/sass/admin/payments.scss b/resources/sass/admin/payments.scss index 565bd13b2..8d1a51236 100644 --- a/resources/sass/admin/payments.scss +++ b/resources/sass/admin/payments.scss @@ -203,6 +203,14 @@ label.user_access_locked, } // Narocila - tabele + .narocila_filters{ + margin-bottom: 15px; + + label{ + margin-right: 10px; + } + } + table.dataTable.user_narocila_admin{ padding: 20px 0;