first commit

This commit is contained in:
2024-11-11 18:46:54 +01:00
commit a630d17338
25634 changed files with 4923715 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
{*
* 2016 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* EN: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* PL: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*}
<div class="panel">
<div class="panel-heading"><i class="icon-user"></i> {l s='Author' mod='sensbitpocztapolska'}</div>
<a href="https://sensbit.pl/pl/?utm_source=module_sensbitpocztapolska&utm_medium=wizytowka&utm_content=sensbitpocztapolska&utm_campaign=Odwiedziny%20z%20modu%C5%82%C3%B3w" target="_blank"><img src='https://sensbit.pl/tomasz-dacka.jpg' alt='{l s='Author' mod='sensbitpocztapolska'}'/></a>
</div>
<iframe src="https://sensbit.pl/pl/featured?m=sensbitpocztapolska" style="width: 100%;margin: 0;padding: 0;border: 0;margin-top: 20px;min-height: 800px;"></iframe>
<script>
(function ($) {
sensbitPocztaPolska.initSwitches({if isset($switches) && !empty($switches)}{$switches}{else}''{/if});
})($);
</script>

View File

@@ -0,0 +1,107 @@
{*
* 2016 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* EN: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* PL: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*}
<script>
$(function () {
if ($.fn.fancybox) {
$('.fbox').fancybox({
type: 'iframe',
width: 1200,
height: 600,
helpers: {
overlay: {
locked: false
}
}
});
$('.fbox-s').fancybox({
type: 'iframe',
width: 600,
height: 600,
helpers: {
overlay: {
locked: false
}
}
});
}
{if $update}
sensbitPocztaPolska.update();
{/if}
});
</script>
<div class="panel">
<div style="display:inline-block">
<a target="_blank" href="https://sensbit.pl/moduly-i-modyfikacje-prestashop/integracje-z-przewoznikami-prestashop/33-integracja-z-poczta-polska-e-nadawca?r=sensbit"><img src="https://sensbit.pl/113-home_default/integracja-z-poczta-polska-e-nadawca.jpg"/></a>
</div>
<div style="display:inline-block">
<h2 style="font-weight: bold;text-shadow: none;color: #1f324e;">{$module->displayName} ({$module->name}) v. {$module->version}</h2>
<div style="display:inline-block;vertical-align: middle;">
<p style="font-size:14px;">
<strong style="color:#305a01;">Licencja ważna {$license_time}</strong>
</p>
<strong>PHP</strong>: v. {phpversion()}<br/>
<strong>PrestaShop</strong>: v. {$smarty.const._PS_VERSION_}<br/><br/>
{if isset($services)}
<strong>Usługi</strong>:<br/>
<ul>
{foreach $services as $s}
<li style="color:{if $s['available']}#305a01{else}#a20101{/if};">{$s['name']} <i class='{if $s['available']}icon-check{else}icon-remove{/if}'></i></li>
{/foreach}
</ul>
<br/>
{/if}
<a class="btn btn-info" href="https://sensbit.pl/instrukcja/{$module->name}" target="_blank"><i class="icon-file-text-alt"></i> Instrukcja obsługi</a>
<a class="btn" href="https://sensbit.pl/moje-moduly" target="_blank"><i class="icon-download "></i> Pobierz aktualną wersję</a><br/><br/>
<a class="btn btn-default btn-xs fbox" href="https://sensbit.pl/cms/20-jak-zaktualizowac-moduly-od-sensbit?content_only=1"><i class="icon-question-sign"></i> Jak zaktualizować moduł?</a>
{if isset($services)}
<a class="btn btn-default btn-xs fbox" href="https://sensbit.pl/cms/27-jak-odblokowac-uslugi-w-modulach-od-sensbit?content_only=1"><i class="icon-question-sign"></i> Jak odblokować nieaktywne usługi?</a>
{/if}
</div>
</div>
<div style='display:inline-block'>
<a style='vertical-align: middle;display: inline-block;' target="_blank" href="https://sensbit.pl/moje-moduly?utm_source=module_{$module->name}&utm_medium=version&utm_content={$module->name}&utm_campaign=Odwiedziny%20z%20modu%C5%82%C3%B3w"><img src="https://sensbit.pl/version?m={$module->name}&v={$module->version}&r={time()}" class="img-responsive"/></a>
</div>
</div>
<div class="panel alert-info">
<h2>Integracja z Pocztą Polską. Ważne informacje!</h2>
<p>Do poprawnego działania modułu potrzebne są dane konta e-nadawcy, które można stworzyć logując sie do swojego panelu w Poczcie Polskiej.</p>
<p>Zalecamy utworzenie dodatkowego konta, które zawsze będzie można wyłączyć/usunąć, a w nazwie użytkownika prosimy nie używać znaków specjalnych jak @.</p>
<p>Jeśli chcesz moduł przetestować bez ponoszenia żadnych kosztów, możesz wystąpić do Poczty Polskiej o dostęp do środowiska testowego.</p>
<p>Dodawanie przesyłek odbywa się w podglądzie danego zamówienia.</p>
<p>Przed dodaniem przesyłek musisz skonfigurować szablony przesyłek według swoich upodobań <a href="{$link_template}">tutaj</a>.</p>
<p>Jeśli chcesz zawsze możesz przejrzeć listę stworzonych przez Ciebie przesyłek <a href="{$link_shipments}">tutaj</a>.</p>
<p>W przypadku pytań lub wątpliwości proszę o maila na kontakt@sensbit.pl</p>
</div>
<div class="panel">
<h2>CRON</h2>
<p>W trosce o dostarczanie najlepszej jakości usług pobieramy zawsze aktualną listę punktów odbioru, która używana jest do szybkiej wyszukiwarki punktu klienta w koszyku</p>
<p>Ponadto od wersji 4.0.0 CRON aktualizuję automatycznie statusy przesyłek na podstawie konfiguracji.</p>
<p>Aktualizacja przebiega w tle podczas wchodzenia w konfigurację naszego modułu. Jeśli jednak nie chcesz często tu zaglądać, ustaw automatyczne zadanie CRON na serwerze korzystając z poniższego linku:</p>
<a href="{$cron_update}" target="_blank">{$cron_update}</a>
<p><em><i class="icon-info-circle"></i> Czy wiesz, że nasz system aktualizacji danych posiada sprytny mechanizm uniemożliwiający chwilowy brak danych w bazie podczas aktualizacji? ;)</em></p>
</div>

View File

@@ -0,0 +1,124 @@
{*
* 2016 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* EN: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* PL: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*}
{extends file="helpers/form/form.tpl"}
{block name="defaultForm"}
<style>
.sensbitpocztapolska-admin-tabs{
margin-bottom:20px;
}
.sensbitpocztapolska-admin-tabs:after {
content:"";
display:table;
clear:both;
}
.sensbitpocztapolska-admin-tabs .admin-tab{
float:left;
display:block;
}
</style>
<div class="sensbitpocztapolska sensbitpocztapolska-admin-tabs">
{foreach $admin_tabs as $tab}
{if $tab.parent && strpos($tab.class, 'Settings') === false}
<div class="admin-tab" style="width:{100/(count($admin_tabs)-2)}%">
<a class="btn btn-default btn-block" href="{SensbitPocztaPolskaTools::getLinkToAdmin($tab.class)}">{$tab.name[Context::getContext()->language->iso_code]}</a>
</div>
{/if}
{/foreach}
</div>
<div {if !$is_bootstrap}style="float:left; width:200px;"{else}style="width:200px;position:absolute;"{/if}>
<div style="text-align:center">
<a href='https://sensbit.pl/pl/?utm_source=module_sensbitpocztapolska&utm_medium=logosensbit&utm_content=sensbitpocztapolska&utm_campaign=Odwiedziny%20z%20modu%C5%82%C3%B3w'>
<img style="margin:20px auto" src='//sensbit.pl/logo_157x44.png' class='img-responsive'/>
</a>
<a target="_blank" href='https://sensbit.pl/moduly-i-modyfikacje-prestashop/integracje-z-przewoznikami-prestashop/33-integracja-z-poczta-polska-e-nadawca?r=sensbit'>
<img style="margin:20px auto" src='https://sensbit.pl/113-medium_default/integracja-z-poczta-polska-e-nadawca.jpg' class='img-responsive'/>
</a>
<div>
<strong>{$module->displayName}</strong>
<br/>v. {$module->version}
<br/>PHP v. {phpversion()}
<br/>PrestaShop v. {$smarty.const._PS_VERSION_}
</div>
</div>
<ul class="sensbitpocztapolska-tabs {if $is_bootstrap}bootstrap{/if}">
{foreach $fields as $key => $field name=fields}
<li>
<a href="#fieldset_{$smarty.foreach.fields.index|escape:'htmlall':'UTF-8'}" class="{if $smarty.foreach.fields.first}active{/if}">{$field.form.legend.title|escape:'htmlall':'UTF-8'}</a>
</li>
{/foreach}
</ul>
<a target="_blank" href="https://sensbit.pl/pl/moje-moduly?utm_source=module_sensbitpocztapolska&utm_medium=version&utm_content=sensbitpocztapolska&utm_campaign=Odwiedziny%20z%20modu%C5%82%C3%B3w"><img src="https://sensbit.pl/version?m={$module->name}&v={$module->version}&r={time()}" class="img-responsive"/></a>
</div>
<div style="margin-left:210px;min-height:750px">
{$smarty.block.parent}
</div>
{/block}
{block name="script"}
{$smarty.block.parent}
{literal}
$(document).ready(function () {
$(".sensbitpocztapolska-tabs a").on('click', function (e) {
e.preventDefault();
data = $(this).attr('href').split('_');
if ($(this).parents('.sensbitpocztapolska-tabs').hasClass('bootstrap'))
{
target = '.panel';
removeBR = false;
} else {
target = 'fieldset';
removeBR = true;
}
if (removeBR === true)
$(".sensbitpocztapolska_config_form " + target).prevAll("br").remove();
$(".sensbitpocztapolska_config_form " + target).hide();
$(".sensbitpocztapolska_config_form " + target).eq(data[1]).fadeIn();
$(".sensbitpocztapolska-tabs a").removeClass('active');
$(this).addClass('active');
});
$(".sensbitpocztapolska-tabs a").first().trigger('click');
});
{/literal}
{/block}
{block name="field"}
{if $input.type == 'buttons'}
<div class="margin-form">
{foreach $input.list AS $button}
{if isset($button.link)}
<a href="{$button.link|escape:'htmlall':'UTF-8'}" alt="{$button.title|escape:'htmlall':'UTF-8'}" target="_blank" class="{if isset($button.class)}{$button.class|escape:'htmlall':'UTF-8'}{/if}">{$button.title|escape:'htmlall':'UTF-8'}</a>
{elseif (isset($button.show) && $button.show == true) || !isset($button.show)}
<input type="submit"
id="{if isset($button.id)}{$button.id|escape:'htmlall':'UTF-8'}{else}{/if}"
value="{$button.title|escape:'htmlall':'UTF-8'}"
name="{if isset($button.name)}{$button.name|escape:'htmlall':'UTF-8'}{else}{$submit_action|escape:'htmlall':'UTF-8'}{/if}{if isset($button.stay) && $button.stay}AndStay{/if}"
class="{if isset($button.class)}{$button.class|escape:'htmlall':'UTF-8'}{/if}"
onclick='{if isset($button.onclick)}{$button.onclick|escape:'htmlall':'UTF-8'}{/if}'/>
{/if}
{/foreach}
</div>
{else}
{$smarty.block.parent}
{/if}
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,66 @@
<style>
.point-check {
text-align: center;
padding: 5px !important;
}
.point-check input {
vertical-align: middle;
top: -2px;
position: relative;
}
.check-all:hover {
text-decoration: underline;
cursor: pointer;
}
</style>
<div class='alert alert-info'>
<p>Poniżej możesz powiązać przewoźnika z danym typem punktu, który ma być wyświetlany na mapie.</p>
<p>Jeśli klikniesz na nazwę przewoźnika, zaznaczą lub odznaczą się wszystkie typy punktów.</p>
<p>Poniższa konfiguracja nie ma zastosowania gdy dany przewoźnik ma włączoną opcję pobrania. Wtedy widoczne są tylko punkty Poczty Polskiej.</p>
</div>
{if !empty($carriers)}
<table class="table carriers-points">
<thead>
<tr>
<th></th>
{foreach $points as $k => $label}
<th>
<img class='sensbitpocztapolska-tip' src='{$points_dir}marker-icon-{$k|strtolower}.png' title='{$label}'/>
</th>
{/foreach}
</tr>
</thead>
<tbody>
{foreach $carriers as $carrier}
<tr>
<td><span class='check-all'>{$carrier.name}</span></td>
{foreach $points as $k => $label}
<td class='point-check'>
{$active=array_key_exists($carrier.id_reference, $carriers_points) && in_array($k, $carriers_points[$carrier.id_reference])}
<input type='checkbox' name='carriers_point[{$carrier.id_reference}][]' value='{$k}' {if $active} checked='checked'{/if}/>
</td>
{/foreach}
</tr>
{/foreach}
</tbody>
</table>
{literal}
<script>
$(function () {
$('.point-check').on('click', function (e) {
if ($(e.target).is("td")) {
$(this).find('input').trigger('click');
}
});
$('.check-all').on('click', function (e) {
$(this).closest('tr').find('.point-check input').trigger('click');
});
});
</script>
{/literal}
{else}
<div class="alert alert-danger">
Lista przewoźników jest pusta
</div>
{/if}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,171 @@
{*<pre>
{$data|print_r}
</pre>*}
<tr id='package_{$uniq}' class='package' data-id='{$uniq}'>
<td>
<div class="message">Trwa przygotowywanie przesyłki.</div>
<input type="checkbox" value="{$uniq}" name="checked" checked="checked"/>
</td>
<td>
<input type="hidden" value="{$data.id_order}" name="id_order" class='param'/>
<input type="hidden" value="{$uniq}" name="uniq" class='param'/>
<input type="hidden" value="{$data.service}" name="service" class='param'/>
<input type="hidden" value="{$data.is_place|intval}" name="is_place" class='param'/>
<input type="hidden" value="{$data.is_allegro|intval}" name="is_allegro" class='param'/>
<input type="hidden" value="{$validate_street_nbr|intval}" name="validate_street_nbr" class='param'/>
<input type="hidden" value="0" name="id_shipment" class='param'/>
{$data.template}
</td>
<td>
{if $data.is_allegro}
<div class="row">
<div class="col-sm-6">
<div class='tip' title='{$data.service_name}'>{$data.service_logo}</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<input type='text' class='param' value="{$data.options.allegro_user_id}" name='allegro_user_id' placeholder='{l s='Allegro user id' mod='sensbitpocztapolska'}'/>
<input data-placement="bottom" type='text' class='param' value="{$data.allegro_transaction_id}" name='allegro_transaction_id' placeholder='{l s='Allegro transaction id' mod='sensbitpocztapolska'}'/>
<input type='hidden' class="param" value="{if isset($data.allegro_channel)}{$data.allegro_channel}{/if}" name='allegro_channel'/>
<input type='hidden' class="param" value="{if isset($data.allegro_delivery_method)}{$data.allegro_delivery_method}{/if}" name='allegro_delivery_method'/>
</div>
</div>
</div>
{else}
<div class='tip' title='{$data.service_name}'>{$data.service_logo}</div>
{/if}
</td>
<td>
<input data-placement="left" class='param form-control' name="email" type="email" value="{$data.email}" placeholder="{l s='Email' mod='sensbitpocztapolska'}" />
<input data-placement="left" class='param form-control' name="phone" type="text" value="{$data.phone}" placeholder="{l s='Phone' mod='sensbitpocztapolska'}"/>
<input data-placement="left" class='param form-control' name="phone_mobile" type="text" value="{$data.phone_mobile}" placeholder="{l s='Phone mobile' mod='sensbitpocztapolska'}"/>
</td>
<td>
{if $data.is_place}
<div class="input-group">
<input type='text' name='id_place' value="{$data.id_place}" class='param package_{$uniq}_id_place' placeholder="{l s='ID punktu odbioru' mod='sensbitpocztapolska'}"/>
<span class="input-group-addon"><button title="{l s='Select from map' mod='sensbitpocztapolska'}" class="btn btn-xs btn-warning tip" onclick="sensbitPocztaPolska.openMap('.sensbitpocztapolska .package_{$uniq}_id_place', '{$data.address1} {$data.address2}, {$data.postcode} {$data.city}');return false;">{l s='Map' mod='sensbitpocztapolska'}</button></span>
</div>
<input type="text" class='place_name' value="{if isset($data.place_label)}{$data.place_label}{/if}" disabled="disabled"/>
{/if}
<div class='address' {if $data.is_place}style="display:none"{/if}>
<div style="display:inline">
{if $data.company}
{$data.company} <br/>
{/if}
{$data.firstname} {$data.lastname}
<br/>
{$data.address1} {$data.address2}<br/>
{$data.postcode} {$data.city}<br/>
{$data.country}
</div>
<button class="btn btn-default btn-xs edit-address tip" title="{l s='Edit address' mod='sensbitpocztapolska'}"><i class="icon-edit"></i></button>
</div>
<div class='address-edit' style="display:none; max-width:230px;">
<input type='text' class='param' value="{$data.company}" name='company' placeholder='{l s='Company' mod='sensbitpocztapolska'}'/>
<div class='row'>
<div class='col-sm-6'>
<input data-placement="left" type='text' class='param' value="{$data.firstname}" name='firstname' placeholder='{l s='Firstname' mod='sensbitpocztapolska'}'/>
</div>
<div class='col-sm-6'>
<input data-placement="right" type='text' class='param' value="{$data.lastname}" name='lastname' placeholder='{l s='Lastname' mod='sensbitpocztapolska'}'/>
</div>
</div>
<div class='row'>
<div class='col-sm-6'>
<input data-placement="left" type='text' class='param' value="{$data.address1}" name='street' placeholder='{l s='Street' mod='sensbitpocztapolska'}'/>
</div>
<div class='col-sm-6'>
<input data-placement="right" type='text' class='param' value="{$data.address2}" name='building_number' placeholder='{l s='Building number' mod='sensbitpocztapolska'}'/>
</div>
</div>
<div class='row'>
<div class='col-sm-4'>
<input data-placement="left" type='text' class='param' value="{$data.postcode}" name='postcode' placeholder='{l s='Postcode' mod='sensbitpocztapolska'}'/>
</div>
<div class='col-sm-4'>
<input data-placement="bottom" type='text' class='param' value="{$data.city}" name='city' placeholder='{l s='City' mod='sensbitpocztapolska'}'/>
</div>
<div class='col-sm-4'>
<input data-placement="right" type='text' class='param' value="{$data.country}" name='country' placeholder='{l s='Country' mod='sensbitpocztapolska'}'/>
</div>
</div>
<button class="btn btn-success btn-xs save-address tip" title="{l s='Save address' mod='sensbitpocztapolska'}"><i class="icon-check"></i></button>
</div>
</td>
<td>
{if isset($data.options.pobranie)}
<div class="input-group">
<span class="input-group-addon"><input class='param' placeholder="{l s='Is COD' mod='sensbitpocztapolska'}" name="pobranie" type="checkbox"{if $data.options.pobranie} checked='checked'{/if}/></span>
<input class='param' placeholder="{l s='COD value' mod='sensbitpocztapolska'}" name="pobranie_zl" type="text" value="{if empty($data.options.pobranie_zl)}{$data.total_paid_tax_incl|round:2}{else}{$data.options.pobranie_zl}{/if}"/>
</div>
{else}
-
{/if}
</td>
<td>
<input class='param' name="reference" type="text" value="{$data.custom_reference}" placeholder="{l s='Reference' mod='sensbitpocztapolska'}"/>
</td>
<td>
<div class="subpackages">
{for $i=1 to $data.total_packs}
<div class="subpackage">
<div class="number">
<input type='text' value="{$i}" disabled='disabled'/>
{if $data.is_multipack}<button class="btn btn-xs btn-block btn-warning copy"><i class="icon-copy"></i></button>{/if}
</div>
<div class="data">
{if !in_array($data.service, array('zagraniczna_przesylka_polecona', 'global_expres'))}
<div>
<input data-placement="left" type='text' class='package-param param' value="{if isset($data.options.package_content) && $data.options.package_content}{$data.options.package_content}{else}{/if}" name='package_content' placeholder='Zawartość paczki'/>
</div>
{/if}
<div>
<div class="input-group" style='width:100%'>
<input data-placement="left" type='text' class='package-param param' value="{if isset($data.options.masa) && $data.options.masa}{$data.options.masa}{else}{/if}" name='masa' placeholder='Waga paczki'/>
<span class="input-group-addon">kg.</span>
</div>
</div>
{if $data.is_multipack}<button class="btn btn-xs btn-block btn-danger remove"><i class="icon-remove"></i></button>{/if}
</div>
<input type='hidden' class="package-param param" name="value" value='' disabled="disabled"/>
</div>
{/for}
</div>
{if $data.total_packs > 1}
<script>
{for $i = 2 to $data.total_packs}
sensbitPocztaPolska.copySubpackageOptions(1, '{$uniq}', {$i});
{/for}
</script>
{/if}
<script>
sensbitPocztaPolska.setPackagesContent('{$uniq}', {$data.packs|json_encode});
</script>
</td>
<td>
<button class="btn btn-xs btn-info show-options"><i class="icon-list"></i></button>
</td>
<td>
<button class="btn btn-xs btn-danger remove-package"><i class="icon-remove"></i></button>
</td>
</tr>
<tr id='package_options_{$uniq}' class="package-options">
<td colspan="9">
{assign value=$data.service var='service'}
{include file="./new_package_form_options/service_options.tpl"}
<div class="subpackages_options">
</div>
{if $data.service_object->isInternational()}
<div class='customs_declaration'>
{include file="./new_package_form_options/customs_declaration.tpl"}
</div>
{/if}
</td>
</tr>

View File

@@ -0,0 +1,22 @@
<div class='sensbitpocztapolska'>
<table class='table messages-container sensbitpocztapolska-order-form' id='sensbitpocztapolska-order-form-{$data.id_order}'>
<thead>
<tr>
<th></th>
<th>{l s='Szablon' mod='sensbitpocztapolska'}</th>
<th>{l s='Usługa' mod='sensbitpocztapolska'}</th>
<th>{l s='Dane kontaktowe odbiorcy' mod='sensbitpocztapolska'}</th>
<th>{l s='Dostawa do' mod='sensbitpocztapolska'}</th>
<th>{l s='Pobranie' mod='sensbitpocztapolska'}</th>
<th>{l s='Opis przesyłki' mod='sensbitpocztapolska'}</th>
<th>Paczki</th>
<th>{l s='Szczegóły' mod='sensbitpocztapolska'}</th>
<th></th>
</tr>
</thead>
<tbody class="package-container">
{include file="./new_package_form.tpl"}
</tbody>
</table>
</div>

View File

@@ -0,0 +1,84 @@
<div class="row form-horizontal customs_declaration_form">
<h2>Deklaracja celna</h2>
{foreach $data.service_object->getCustomsDeclarationOptions() as $group => $vars}
<div class='col-xs-4'>
<h3>{$group}</h3>
{foreach $vars as $var}
<div class="form-group {$var.name}_container">
<label for="sensbitpocztapolska_var_{$var.name}" class="col-sm-{if $var.type == 'switch' && !isset($var.grouped)}8{else}4{/if} control-label">{$var.label}</label>
<div class="col-sm-{if $var.type == 'switch' && !isset($var.grouped)}4{else}6{/if}">
{include file="./var.tpl" var=$var}
</div>
</div>
{/foreach}
</div>
{/foreach}
<div class='col-xs-12'>
<h3>Szczegóły zawartości przesyłki</h3>
<table class='table'>
<thead>
<tr>
<th>Szczegółowe określenie zawartości</th>
<th>Ilość</th>
<th>Masa netto [kg]</th>
<th>Wartość <input class='param form-control' style='width: 40px;text-align: center;display: inline-block;' name='deklaracja_waluta' value='{$data.order_currency}'/></th>
<th>Numer taryfowy zharmonizowanego systemu</th>
<th>Kraj pochodzenia towarów</th>
<th></th>
</tr>
</thead>
<tbody>
{foreach $data.order_products as $product}
<tr class='customs_declaration_product'>
<td><input class='form-control' name='name' value='{$product.product_name}'/></td>
<td><input class='form-control' name='ilosc' value='{$product.product_quantity}'/></td>
<td><input class='form-control' name='masa' value='{$product.product_weight}'/></td>
<td><input class='form-control' name='wartosc' value='{$product.unit_price_tax_incl|number_format:2}'/></td>
<td><input class='form-control' name='numer_taryfowy' value=''/></td>
<td>
<select class='form-control' name='kraj_pochodzenia'>
<option></option>
{foreach $data.countries as $country}
<option value='{$country.iso_code}'{if !empty($data.options.deklaracja_domyslny_kraj_towaru) && $data.options.deklaracja_domyslny_kraj_towaru == $country.iso_code} selected='selected'{/if}>{$country.name|trim}</option>
{/foreach}
</select>
</td>
<td>
<button class='btn btn-success btn-xs sensbitpocztapolska-customs-declaration-add-product'><i class="icon-plus"></i></button>
<button class='btn btn-success btn-xs sensbitpocztapolska-customs-declaration-remove-product'><i class="icon-minus"></i></button>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class='col-xs-12'>
<h3>Dokumenty towarzyszące</h3>
<table class='table'>
<thead>
<tr>
<th>Rodzaj</th>
<th>Numer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr class='customs_declaration_document'>
<td>
<select class='form-control' name='rodzaj'>
<option></option>
<option value="LICENCJA">Licencja</option>
<option value="CERTYFIKAT">Certyfikat</option>
<option value="FAKTURA">Faktura</option>
</select>
</td>
<td><input class='form-control' name='numer' value=''/></td>
<td>
<button class='btn btn-success btn-xs sensbitpocztapolska-customs-declaration-add-document'><i class="icon-plus"></i></button>
<button class='btn btn-success btn-xs sensbitpocztapolska-customs-declaration-remove-document'><i class="icon-minus"></i></button>
</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@@ -0,0 +1,16 @@
<div class="row form-horizontal options-parent" data-id=1>
<div class="col-sm-12"><h2>Paczka #1</h2></div>
{foreach $data.service_options as $group => $vars}
<div class='col-xs-4'>
<h3>{$group}</h3>
{foreach $vars as $var}
<div class="form-group {$var.name}_container{if isset($var.subpackage_allowed) && $var.subpackage_allowed} subpackage-allowed{/if}">
<label for="sensbitpocztapolska_var_{$var.name}" class="col-sm-{if $var.type == 'switch' && !isset($var.grouped)}8{else}4{/if} control-label">{$var.label}</label>
<div class="col-sm-{if $var.type == 'switch' && !isset($var.grouped)}4{else}6{/if}">
{include file="./var.tpl" var=$var}
</div>
</div>
{/foreach}
</div>
{/foreach}
</div>

View File

@@ -0,0 +1,64 @@
{if $var.name == 'ubezpieczenie_zl'}
<input type="text" class="sensbitpocztapolska_var_{$var.name} form-control param" name='{$var.name}' value="{if isset($data.options[$var.name]) && $data.options[$var.name] != 'val'}{$data.options[$var.name]}{elseif isset($var.default)}{$data[$var.default]}{/if}">
{elseif $var.type == 'select'}
<select class="sensbitpocztapolska_var_{$var.name} form-control param" placeholder="{$var.label}" name="{$var.name}">
{foreach $var.options.query as $o}
{assign value=$var.options.id var='id'}
{assign value=$var.options.name var='name'}
<option value="{$o[$id]}"{if isset($data.options[$var.name]) && $data.options[$var.name] == $o[$id]} selected="selected"{/if}>{$o[$name]}</option>
{/foreach}
</select>
{elseif $var.type == 'radio'}
{if isset($var.grouped)}
<div class="input-group">
<div class="input-group-addon">
<input class="param sensbitpocztapolska_var_{$var.name}" placeholder="{$var.label}" type='checkbox' name="{$var.name}"{if isset($data.options[$var.name]) && $data.options[$var.name]} checked="checked"{/if}/>
</div>
{foreach $var.grouped as $v}
{include file="./var.tpl" var=$v is_grouped=1}
{/foreach}
</div>
{else}
<select class="sensbitpocztapolska_var_{$var.name} form-control param" placeholder="{$var.label}" name="{$var.name}">
{foreach $var.values as $v}
{assign value=$v.value var='id'}
{assign value=$v.label var='name'}
<option value="{$id}"{if isset($data.options[$var.name]) && $data.options[$var.name] == $id} selected="selected"{/if}>{$name}</option>
{/foreach}
</select>
{/if}
{elseif $var.type =='text' || $var.type =='textarea'}
{if !isset($is_grouped) || !$is_grouped}
<div class="input-group">
{/if}
{if isset($var.prefix) && $var.prefix}
<div class="input-group-addon">{$var.prefix}</div>
{/if}
<input type="text" class="sensbitpocztapolska_var_{$var.name} form-control param" placeholder="{$var.label}" name='{$var.name}' value="{if isset($data.options[$var.name]) && $data.options[$var.name]}{$data.options[$var.name]}{elseif isset($var.default)}{$data[$var.default]}{/if}">
{if isset($var.suffix) && $var.suffix}
<div class="input-group-addon">{$var.suffix}</div>
{/if}
{if !isset($is_grouped) || !$is_grouped}
</div>
{/if}
{elseif $var.type == 'switch' || $var.type == 'radio'}
<div class="input-group">
{if isset($var.grouped)}
<div class="input-group-addon">
<input class="param sensbitpocztapolska_var_{$var.name}" placeholder="{$var.label}" type='checkbox' name="{$var.name}"{if isset($data.options[$var.name]) && $data.options[$var.name]} checked="checked"{/if}/>
</div>
{foreach $var.grouped as $v}
{include file="./var.tpl" var=$v is_grouped=1}
{/foreach}
{else}
<div class="checkbox">
<label>
<input class="param sensbitpocztapolska_var_{$var.name}" placeholder="{$var.label}" type='checkbox' name="{$var.name}"{if isset($data.options[$var.name]) && $data.options[$var.name]} checked="checked"{/if}/>
{*{$var.label}*}
</label>
</div>
{/if}
</div>
{/if}

View File

@@ -0,0 +1,127 @@
<script src="https://mapa.ecommerce.poczta-polska.pl/widget/scripts/ppwidget.js"></script>
<div style="clear:both"></div>
{$data=$sensbitpocztapolska}
{capture name='content'}
{if $data.customer_place}
{if $data.hide_no_point}
<div class="alert alert-warning"><strong>Uwaga!</strong> Klient wybrał punkt odbioru w zamówieniu ale następnie zmienił przewoźnika!</div>
{/if}
<div class="alert alert-info">
Wybrany punkt odbioru przez klienta: <strong>{$data.customer_place}</strong> {if isset($data.customer_place_data.label)}<em>{$data.customer_place_data.label}</em>{/if}
</div>
{elseif !$data.hide_no_point}
<div class="alert alert-warning">Klient nie wybrał punktu odbioru.</div>
{/if}
<form class='packages-ready-form messages-container'{if empty($data.shipments)} style="display:none"{/if}>
<h4>{l s='Packages created for order' mod='sensbitpocztapolska'} {$data.order->reference}</h4>
<table class='table'>
<thead>
<tr>
<th></th>
<th>{l s='Service' mod='sensbitpocztapolska'}</th>
<th>{l s='Tracking number' mod='sensbitpocztapolska'}</th>
<th>{l s='Status' mod='sensbitpocztapolska'}</th>
<th>{l s='Create date' mod='sensbitpocztapolska'}</th>
<th>{l s='Send date' mod='sensbitpocztapolska'}</th>
<th>{l s='Send pack date' mod='sensbitpocztapolska'}</th>
<th>{l s='Created by' mod='sensbitpocztapolska'}</th>
<th></th>
</tr>
</thead>
<tbody class='packages-ready-container'>
{foreach $data.shipments as $shipment}
{$shipment->getCompletedRowHtml()}
{/foreach}
</tbody>
</table>
<div class="packages-completed-actions">
<button class="btn btn-default print-labels">{l s='Print labels' mod='sensbitpocztapolska'}</button>
<button class="btn btn-default delete-shipments">{l s='Cancel shipments' mod='sensbitpocztapolska'}</button>
</div>
</form>
{if empty($data.templates) && empty($data.global_templates)}
<div class='alert alert-warning'>Nie posiadasz skonfigurowanych szablonów przesyłek.</div>
{else}
{if !empty($data.templates)}
<div class="sensbitpocztapolska-connected-templates">
<h4>Szablony powiązane z tym zamówieniem</h4>
{foreach $data.templates as $template}
<a href='' class='button btn btn-default btn-xs sensbitpocztapolska-service' data-id='{$template.id_template}'>{$template.name} {SensbitPocztaPolskaService::getServiceLogo($template.service)|unescape}</a>
{/foreach}
</div>
{else}
<div class='alert alert-warning'>To zamówienie nie posiada żadnych przypisanych szablonów.</div>
{/if}
{if !empty($data.global_templates)}
<h4{if !empty($data.templates)} style="margin-top:15px"{/if}>Wszystkie pozostałe szablony niepowiązane z tym zamówieniem. <a href="#" class="btn btn-xs btn-success switch_global_templates s">Pokaż</a><a href="#" class="btn btn-xs btn-warning switch_global_templates h">Ukryj</a></h4>
<div class="global_templates">
{foreach $data.global_templates as $template}
<a href='' class='button btn btn-default btn-xs sensbitpocztapolska-service' data-id='{$template.id_template}'>{$template.name} {SensbitPocztaPolskaService::getServiceLogo($template.service)|unescape}</a>
{/foreach}
</div>
{/if}
<form class='packages-form messages-container' style="display:none">
{*<h3>{l s='Create new package for order ' mod='sensbitpocztapolska'} {$data.order->reference}</h3>*}
<table class='table'>
<thead>
<tr>
<th></th>
<th>{l s='Template' mod='sensbitpocztapolska'}</th>
<th>{l s='Service' mod='sensbitpocztapolska'}</th>
<th>{l s='Receiver contact data' mod='sensbitpocztapolska'}</th>
<th>{l s='Destination' mod='sensbitpocztapolska'}</th>
<th>{l s='Cash on delivery' mod='sensbitpocztapolska'}</th>
<th>{l s='Reference' mod='sensbitpocztapolska'}</th>
<th>Paczki</th>
<th>{l s='Details' mod='sensbitpocztapolska'}</th>
<th></th>
</tr>
</thead>
<tbody class="package-container">
</tbody>
</table>
<div style="margin-top:20px">
<button class="btn btn-warning prepare-packs">{l s='Create' mod='sensbitpocztapolska'}</button>
</div>
</form>
<script>
{if !SensbitPocztaPolskaTools::isBootstrap()}
$('.sensbitpocztapolska').eq(0).insertAfter($('.sensbitpocztapolska').eq(0).parent());
{/if}
sensbitPocztaPolska.setOptions({
id_order: {$data.order->id|intval},
ajax_url_packages: '{$link->getAdminLink('AdminSensbitPocztaPolskaPackage')}'
});
</script>
{/if}
{/capture}
<div style="clear:both"></div>
<div class="sensbitpocztapolska{if $data.hide_global_templates} hide_global_templates{/if}{if empty($data.templates) && $data.hide_panel_if_no_templates} hide_no_templates{/if}">
{if $data.bootstrap}
<div class="panel">
<div class="panel-heading">
<i class="icon-truck"></i> Wysyłka z Pocztą Polską <a href="{$data.module_link}"><i class="icon-cogs"></i></a> <a href="#" class="switch_no_templates s">Pokaż</a><a href="#" class="switch_no_templates h">Ukryj</a>
</div>
<div class="panel-body panel_container">
{$smarty.capture.content}
</div>
</div>
{else}
<fieldset>
<legend><img src="../img/admin/delivery.gif"> Wysyłka z Pocztą Polską <a href="{$data.module_link}"><i class="icon-cogs"></i></a> <a href="#" class="switch_no_templates s">Pokaż</a><a href="#" class="switch_no_templates h">Ukryj</a></legend>
<div class="panel_container">
{$smarty.capture.content}
</div>
</fieldset>
{/if}
</div>

View File

@@ -0,0 +1,27 @@
{*<pre>
{$data|print_r}
</pre>*}
<tr id='shipment_{$data.id_shipment}' class='shipment' data-id>
<td>
<input type="hidden" value="{$data.id_shipment}" name="id_shipment" class='param'/>
</td>
<td>
{if isset($data.tracking_number)}
{$data.tracking_number}
{else}
-
{/if}
</td>
<td>
/status
</td>
<td>
/data
</td>
<td>
/autor
</td>
<td>
<button class="btn btn-xs btn-danger remove-package"><i class="icon-remove"></i></button>
</td>
</tr>

View File

@@ -0,0 +1,47 @@
<tr id='shipment_{$shipment->id}'>
<td>
<div class="message"></div>
<input type="checkbox" value="{$shipment->id}" checked="checked" class="completed-packs"/>
</td>
<td>
<div class='sensbitpocztapolska-tip' title='{$service->getName()}'>{$service->getLogo()}</div>
</td>
<td>
<a href="{SensbitPocztaPolskaShipment::getTrackingLinkStatic($shipment->tracking_number)}" target="_blank">{$shipment->tracking_number} ({$shipment->pack_number}/{$shipment->pack_total})</a>
</td>
<td>
{$status = $shipment->getStatus()}
<a href='#' onclick="sensbitPocztaPolska.getPackStatus({$shipment->id});return false" class='sensbitpocztapolska-tip sensbitpocztapolska-status-checker sensbitpocztapolska-pack-status' data-id-shipment='{$shipment->id}' data-autocheck="{$status.autocheck}" title='{l s='Kliknij aby sprawdzić aktualny status przesyłki' mod='sensbitpocztapolska'}'>{$status.title}</a>
</td>
<td>
{$shipment->date_add}
</td>
<td>
{if empty($shipment->date_send) || $shipment->date_send == '0000-00-00 00:00:00'}
Przesyłka niewysłana.
{else}
{$shipment->date_send}
{/if}
</td>
<td>
{if empty($shipment->date_send_pack) || $shipment->date_send_pack == '0000-00-00'}
-
{else}
{$shipment->date_send_pack}
{/if}
</td>
<td>
{$shipment->getEmployeeName()}
</td>
<td>
<button onclick="sensbitPocztaPolska.printLabels({$shipment->id});return false" class="btn btn-xs btn-{if !$shipment->id_envelope}warning{else}success{/if} sensbitpocztapolska-tip" title="{if !$shipment->id_envelope}{l s='Print label' mod='sensbitpocztapolska'}{else}{l s='Print labels' mod='sensbitpocztapolska'}{/if}"><i class="icon-print"></i></button>
{if isset($shipment->getOptions()->deklaracja) && $shipment->getOptions()->deklaracja}<button onclick="sensbitPocztaPolska.printDcLabels({$shipment->id});return false" class="btn btn-xs btn-default sensbitpocztapolska-tip" title="{l s='Print customs declaration label' mod='sensbitpocztapolska'}"><i class="icon-print"></i></button>{/if}
{if Configuration::get(SensbitPocztaPolska::CFG_SIMPLE_PRINTNODE_ENABLED)}
<button onclick="sensbitPocztaPolska.printNode({$shipment->id});return false" class="btn btn-xs btn-warning sensbitpocztapolska-tip" title="{l s='Print label on PrintNode' mod='sensbitpocztapolska'}"><i class="icon-print"></i> <i class="icon-cloud"></i></button>
{/if}
{if !$shipment->id_envelope}
<button onclick="sensbitPocztaPolska.deleteShipments({$shipment->id});return false" class="btn btn-xs btn-danger sensbitpocztapolska-tip" title="{l s='Delete shipment' mod='sensbitpocztapolska'}"><i class="icon-remove"></i></button>
{/if}
</td>
</tr>

View File

@@ -0,0 +1,134 @@
<style>
textarea.result {
width:300px;
min-height:300px;
resize:vertical;
margin-top:15px;
display:none;
}
</style>
<div class="sensbitpocztapolska sensbitpocztapolska-parent">
<div class="panel">
<div class="panel-heading">
API
</div>
<div class="panel-body">
<div class="alert alert-info">
<p>Wraz z wersją 4.2.0 modułu wprowdziliśmy nową funkcjonalność, a mianowicie dostęp do danych modułu z zewnątrz tj. spoza panelu administracyjnego sklepu PrestaShop.</p>
<p>Lista funkcji jest stale rozwijana i jeśli uważasz, że wprowadzenie jakieś opcji rozwiąże Twoje problemy poinformuj nas o tym!</p>
<p>Rozważymy wprowadzenie każdej opcji! Prześlij specyfikację na adres <a href="mailto:kontakt@sensbit.pl">kontakt@sensbit.pl</a>, a wkrótce otrzymasz zwrotnie informację co będzie potrzebne do jego realizacji.</p>
</div>
<br/><br/>
<h3>Składnia linku wywołującego akcję</h3>
<pre>{$api_link}&action=nazwafunkcji&nazwaparametru=wartoścparametru&nazwakolejnegoparametry=wartosckolejnegoparametru</pre>
<br/><br/>
<h3>Lista akcji</h3>
<table class="table">
<thead>
<tr><th>Lp.</th><th>Nazwa</th><th>Opis</th><th>Metoda</th><th>Parametry</th><th>Wartości zwracane</th><th>Testy</th></tr>
</thead>
<tbody>
{foreach $api_list as $api name=api_list}
<tr>
<td>{$smarty.foreach.api_list.index+1}</td>
<td>{$api.name}</td>
<td>{$api.desc}</td>
<td>{$api.method}</td>
<td>
<dl>
{foreach $api.params as $param}
<dt>{$param.id}</dt>
<dd>{$param.desc}</dd>
{/foreach}
</dl>
</td>
<td>{$api.return}</td>
<td>
<form class="sensbit-apitest-form" style="width:300px;">
<input type="hidden" class="param" name="action" value="{$api.name}"/>
{foreach $api.params as $param}
<label>
{$param.id}
<input type="text" class="param" placeholder="{$param.desc}" name="{$param.id}"/>
</label>
{/foreach}
<label>
Link do wywołania żądania:
<input type="text" class="param" name="url" disabled="disabled" />
</label>
<div>
<input type="submit" class="process btn btn-primary" style="text-transform: none" value="Wywołaj w oknie"/>
<a target="_blank" href="#" class="process-new btn btn-success">Wywołaj w nowej karcie</a>
<textarea class="result"></textarea>
</div>
</form>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
<script>
var sensbit_api_base_url = '{$api_link}';
$(function () {
{if SensbitPocztaPolskaTools::isBootstrap()}
$(".sensbitpocztapolska-parent").insertBefore("#form-sensbitpocztapolska_status table.table");
{else}
$(".sensbitpocztapolska-parent").insertBefore("table[name=list_table]");
{/if}
$("form.sensbit-apitest-form .param").on('change', function () {
var $form = $(this).closest('form');
var link = sensbit_api_base_url;
$form.find('.param').each(function (i, e) {
var i = $(this);
if (i.attr('name') === 'url' || !i.val().length)
{
return;
}
link += "&" + i.attr('name') + "=" + i.val();
});
$form.find('input[name=url]').val(link);
$form.find('a.process-new').attr('href', link);
});
$("form.sensbit-apitest-form").each(function () {
$(this).find('.param').first().trigger('change');
});
$("form.sensbit-apitest-form").on('submit', function (e) {
e.preventDefault();
var $form = $(this);
var data = {
debug: 1
};
$form.find('.param').each(function () {
var el = $(this);
if (el.attr('name') === 'url' || !el.val().length)
{
return;
}
data[el.attr('name')] = el.val();
});
delete data.url;
$.ajax({
url: sensbit_api_base_url,
type: 'GET',
data: data,
beforeSend: function () {
showNoticeMessage('Wywoływanie akcji ' + data.action);
},
error: function (jqXHR, textStatus, errorThrown) {
showErrorMessage(textStatus);
},
success: function (res) {
$form.find('.result').val(res).fadeIn();
}
});
});
});
</script>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,169 @@
{foreach $zbiory as $zbior}
<div class="panel{if ($zbior->idBufor == $active_zbior)} active{/if}" >
<h3>Zbiór #{$zbior->idBufor}</h3>
{if ($zbior->idBufor == $active_zbior)} <div class="alert alert-success">Zbiór aktywny - Nowo utworzone przesyłki przez moduł trafiają do tego zbioru.</div>{/if}
{* <pre style='max-height:200px;overflow:auto;display:block;'>{$zbior|print_r}</pre>*}
<div class='bufor-edit' data-idbufor='{$zbior->idBufor}'>
<span>Opis: </span>
<input type='text' name='opis' class="param input-sm" style="vertical-align: middle;height: 28px;max-width:200px;margin-right:30px; line-height: 28px;text-align: center; display:inline-block;" class="" placeholder="Opis" value="{$zbior->opis|escape:'htmlall':'UTF-8'}">
<span>Urząd nadania: </span>
<select name='urzad_nadania' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;margin-right:30px;">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}" {if $zbior->urzadNadania == intval($urzad.id)}selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span>Data nadania: </span>
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" style="vertical-align: middle;max-width: 80px;height: 28px; line-height: 28px;text-align: center; display:inline-block;" class="" placeholder="Data nadania" value="{$zbior->dataNadania|escape:'htmlall':'UTF-8'}">
{* <label><input type='checkbox' name='aktualizuj_date_nadania' class='param'/> Aktualizuj datę nadania na wydrukach</label>*}
<button class='button btn btn-success btn-sm bufor-save'>Zapisz</button>
<button class='button btn btn-warning btn-sm bufor-send sensbitpocztapolska-tip' data-title="Zapisuje zbiór z wybranymi ustawieniami i wysyła go wraz z przesyłkami. Operacja nieodwracalna.">Zapisz, zamknij i wyślij</button>
<span class="sensbitpocztapolska-tip" data-title="Usuwa wybrany zbiór z systemu e-nadawca. W celu usunięcia zbioru z przesyłkami należy najpierw usunąć przesyłki w tym zbiorze, a następnie usunąć zbiór."><button class='button btn btn-danger btn-sm bufor-delete'{if isset($zbior->przesylki)} disabled="disabled"{/if}>Usuń zbiór</button></span>
</div>
{if isset($zbior->przesylki)}
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-checkall"><i class="icon-check-square-o"></i> Zaznacz wszystkie</button>
<button class="btn btn-default btn-xs shipments-uncheckall"><i class="icon-square-o"></i> Odznacz wszystkie</button>
</div>
<table class="table table-responsive" data-sorting='true'>
<thead>
<tr>
<th style='width:5px;' data-sort-ignore="true"></th>
<th style='width:10px;' data-sort-ignore="true"></th>
<th style='width:200px;' data-type="numeric">Numer nadania</th>
<th style='width:20%;'>Opis</th>
<th style=''>Adresat</th>
<th style='width:130px;' data-sort-initial="ascending">Data utworzenia</th>
<th style='width:100px'>Zamówienie</th>
<th style='' data-type='number'>Wartość zam.</th>
<th data-sort-ignore="true"></th>
</tr>
</thead>
{foreach $zbior->przesylki as $przesylka}
{assign var='in_shop' value=array_key_exists($przesylka->guid, $shipments_shop)}
<tr data-numer_nadania='{$przesylka->numerNadania}' data-guid='{$przesylka->guid}' data-idbufor='{$zbior->idBufor}' data-is_master=1>
{* <td>{$przesylka|print_r}</td>*}
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$przesylka->numerNadania}{if isset($przesylka->subPrzesylka)} 1/{$przesylka->subPrzesylka|count+1}{/if}
</td>
<td>
{$przesylka->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl'] currency=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['id_currency']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
<a href="" onclick="sensbitPocztaPolska.printLabelsByGuid([{literal}{{/literal}'guid':'{$przesylka->guid}', 'tracking_number':{$przesylka->numerNadania}, 'idbufor':{$zbior->idBufor}{literal}}{/literal}]);
return false" class="btn btn-xs btn-{if isset($przesylka->subPrzesylka)}warning{else}success{/if} sensbitpocztapolska-tip" title="Pobierz etykietę{if isset($przesylka->subPrzesylka)} wielopaczkową{else}{/if} "><i class="icon-print"></i></a>
<a href="" onclick="sensbitPocztaPolska.deleteShipmentFromBuffer('{$przesylka->guid}', '{$zbior->idBufor}');
return false" class="delete-shipment btn btn-xs btn-{if isset($przesylka->subPrzesylka)}danger{else}danger{/if} sensbitpocztapolska-tip" title="Usuń przesyłkę{if isset($przesylka->subPrzesylka)} wielopaczkową{else}{/if} "><i class="icon-remove"></i></a>
</td>
</tr>
{if isset($przesylka->subPrzesylka)}
{foreach $przesylka->subPrzesylka as $subpack name='sub'}
<tr data-numer_nadania='{$subpack->numerNadania}' data-guid='{$przesylka->guid}' data-idbufor='{$zbior->idBufor}'>
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$subpack->numerNadania} {$smarty.foreach.sub.index+2}/{$przesylka->subPrzesylka|count+1}
</td>
<td>
{$subpack->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
<a href="" onclick="sensbitPocztaPolska.printLabelsByGuid([{literal}{{/literal}'guid':'{$przesylka->guid}', 'idbufor':{$zbior->idBufor}{literal}}{/literal}]);
return false" class="btn btn-xs btn-warning sensbitpocztapolska-tip" title="Pobierz etykietę wielopaczkową"><i class="icon-print"></i></a>
{*<a href="" onclick="sensbitPocztaPolska.deleteShipmentsByTrackingNumber('{$subpack->numerNadania}');
return false" class="delete-shipment btn btn-xs btn-danger sensbitpocztapolska-tip" title="Usuń przesyłkę wielopaczkową"><i class="icon-remove"></i></a>*}
</td>
</tr>
{/foreach}
{/if}
{/foreach}
</table>
{else}
<div class="alert alert-info" style='margin-top:15px'>Brak przesyłek w zbiorze.</div>
{/if}
</div>
{/foreach}

View File

@@ -0,0 +1,97 @@
<div class="sensbitpocztapolska sensbitpocztapolska-bufor-manager">
<div class="panel">
<h3>Zarządzanie zbiorami</h3>
<em class="text-info"><i class="icon-question-circle"></i> Panel zarządzania zbiorami umożliwia przegląd wszystkich zbiorów api na Twoim koncie e-nadawcy, wraz z utworzonymi w nich przesyłkami.<br/>W tym miejscu widać <strong>wszystkie</strong>
przesyłki na koncie e-nadawcy! Oznacza to iż widać również przesyłki nieutworzone przez moduł, a np. za pomocą innej integracji!<br/>
Możesz zaznaczyć przesyłki, którymi chcesz zarządzać (przenosić między zbiorami bądź wysłać). Zalecamy do korzystania ze skanera kodów kreskowych.</em>
<div style="margin-top:15px">
<button class="btn btn-success sensbitpocztapolska-refresh-bufor-list"><i class="icon-refresh"></i> Odśwież dane</button>
<a href="{SensbitPocztaPolskaTools::getLinkToAdmin('AdminSensbitPocztaPolskaBuforSentManager')}" class="btn btn-warning">Pokaż zbiory wysłane</a>
</div>
</div>
<div class="panels" style='display:none'>
<div class='panel'>
<em class="text-info"><i class="icon-question-circle"></i> Wpisz numer przesyłki i zatwierdź enterem by ją automatycznie zaznaczyć.<br/>Zalecamy korzystanie ze skanera kodów kreskowych :)</em>
<input type='text' class='form-control input-sm sensbitpocztapolska-bufor-manager-find-shipment' placeholder="Numer przesyłki..." style='margin-top:15px'/>
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-mastercheckall"><i class="icon-check-square-o"></i> Zaznacz wszystkie przesyłki w każdym zbiorze</button>
<button class="btn btn-default btn-xs shipments-masteruncheckall"><i class="icon-square-o"></i> Odznacz wszystkie przesyłki w każdym zbiorze</button>
</div>
</div>
<div class='panel-container'>
<div class="left-panel bufor-list">
</div>
<div class="right-panel">
<div class="panel">
<h3>Wybrane przesyłki <span class='badge badge-info selected-packages-num'>0</span></h3>
<div class='selected-packages-parent'>
<table class="table table-responsive selected-packages">
</table>
</div>
<div class="mass-options" style="margin-top:10px;">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-printall"><i class="icon-print"></i> Pobierz wybrane etykiety zbiorczo</button>
<hr/>
<h4>Przenieś do wybranego zbioru</h4>
<div class="row" style="margin-top:10px">
<div class="col-sm-6">
<select class="param form-control bufor-select" name="id_bufor">
</select>
</div>
<div class="col-sm-6">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-moveshipments"><i class="icon-move"></i> Przenieś do wybranego zbioru</button>
</div>
</div>
<hr/>
<h4>Przenieś do nowego zbioru i go wyślij</h4>
<div class="row moveandsend-container" style="margin-top:10px">
<div class="col-sm-5">
<input type='text' name='opis' class="param input-sm" class="" placeholder="Opis" value="{if isset($opis)}{$opis}{/if}">
</div>
<div class="col-sm-4">
<select name='urzad_nadania' class="param form-control">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}"{if isset($urzad_nadania) && $urzad_nadania == intval($urzad.id)} selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
</div>
<div class="col-sm-3">
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" class="" placeholder="Data nadania" value="{if isset($data_nadania)}{$data_nadania}{/if}">
</div>
<div class="col-sm-12" style="margin-top:10px;">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-moveandsendshipments"><i class="icon-send"></i> Przenieś do nowego zbioru i go wyślij</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='panel'>
<h3>Nowy zbiór</h3>
<em class="text-info"><i class="icon-question-circle"></i>Dodanie nowego zbioru spowoduje odświeżenie listy zbiorów z przesyłkami powyżej!<br/>Możesz zmienić ustawienia domyślne w konfiguracji.</em>
<div class='bufor-edit' style='margin-top:15px'>
<span>Opis: </span>
<input type='text' name='opis' class="param input-sm" style="vertical-align: middle;height: 28px;max-width:200px;margin-right:30px; line-height: 28px; display:inline-block;" class="" placeholder="Opis" value="{if isset($opis)}{$opis}{/if}">
<span>Urząd nadania: </span>
<select name='urzad_nadania' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;margin-right:30px;">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}"{if isset($urzad_nadania) && $urzad_nadania == intval($urzad.id)} selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span>Data nadania: </span>
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" style="vertical-align: middle;max-width: 80px;height: 28px; line-height: 28px; display:inline-block;" class="" placeholder="Data nadania" value="{if isset($data_nadania)}{$data_nadania}{/if}">
<button class='button btn btn-success btn-sm bufor-add'>Dodaj</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,169 @@
{foreach $zbiory as $zbior}
<div class="panel{if ($zbior->idBufor == $active_zbior)} active{/if}" >
<h3>Zbiór #{$zbior->idBufor}</h3>
{if ($zbior->idBufor == $active_zbior)} <div class="alert alert-success">Zbiór aktywny - Nowo utworzone przesyłki przez moduł trafiają do tego zbioru.</div>{/if}
{* <pre style='max-height:200px;overflow:auto;display:block;'>{$zbior|print_r}</pre>*}
<div class='bufor-edit' data-idbufor='{$zbior->idBufor}'>
<span>Opis: </span>
<input type='text' name='opis' class="param input-sm" style="vertical-align: middle;height: 28px;max-width:200px;margin-right:30px; line-height: 28px;text-align: center; display:inline-block;" class="" placeholder="Opis" value="{$zbior->opis|escape:'htmlall':'UTF-8'}">
<span>Urząd nadania: </span>
<select name='urzad_nadania' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;margin-right:30px;">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}" {if $zbior->urzadNadania == intval($urzad.id)}selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span>Data nadania: </span>
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" style="vertical-align: middle;max-width: 80px;height: 28px; line-height: 28px;text-align: center; display:inline-block;" class="" placeholder="Data nadania" value="{$zbior->dataNadania|escape:'htmlall':'UTF-8'}">
{* <label><input type='checkbox' name='aktualizuj_date_nadania' class='param'/> Aktualizuj datę nadania na wydrukach</label>*}
<button class='button btn btn-success btn-sm bufor-save'>Zapisz</button>
<button class='button btn btn-warning btn-sm bufor-send ' data-title="Zapisuje zbiór z wybranymi ustawieniami i wysyła go wraz z przesyłkami. Operacja nieodwracalna.">Zapisz, zamknij i wyślij</button>
<span class="sensbitpocztapolska-tip" data-title="Usuwa wybrany zbiór z systemu e-nadawca. W celu usunięcia zbioru z przesyłkami należy najpierw usunąć przesyłki w tym zbiorze, a następnie usunąć zbiór."><button class='button btn btn-danger btn-sm bufor-delete'{if isset($zbior->przesylki)} disabled="disabled"{/if}>Usuń zbiór</button></span>
</div>
{if isset($zbior->przesylki)}
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-checkall"><i class="icon-check-square-o"></i> Zaznacz wszystkie</button>
<button class="btn btn-default btn-xs shipments-uncheckall"><i class="icon-square-o"></i> Odznacz wszystkie</button>
</div>
<table class="table table-responsive" data-sorting='true'>
<thead>
<tr>
<th style='width:5px;' data-sort-ignore="true"></th>
<th style='width:10px;' data-sort-ignore="true"></th>
<th style='width:200px;' data-type="numeric">Numer nadania</th>
<th style='width:20%;'>Opis</th>
<th style=''>Adresat</th>
<th style='width:130px;' data-sort-initial="ascending">Data utworzenia</th>
<th style='width:100px'>Zamówienie</th>
<th style='' data-type='number'>Wartość zam.</th>
<th data-sort-ignore="true"></th>
</tr>
</thead>
{foreach $zbior->przesylki as $przesylka}
{assign var='in_shop' value=array_key_exists($przesylka->guid, $shipments_shop)}
<tr data-numer_nadania='{$przesylka->numerNadania}' data-guid='{$przesylka->guid}' data-idbufor='{$zbior->idBufor}' data-is_master=1>
{* <td>{$przesylka|print_r}</td>*}
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$przesylka->numerNadania}{if isset($przesylka->subPrzesylka)} 1/{$przesylka->subPrzesylka|count+1}{/if}
</td>
<td>
{$przesylka->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl'] currency=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['id_currency']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
<a href="" onclick="sensbitPocztaPolska.printLabelsByGuid([{literal}{{/literal}'guid':'{$przesylka->guid}', 'tracking_number':{$przesylka->numerNadania}, 'idbufor':{$zbior->idBufor}{literal}}{/literal}], true);
return false" class="btn btn-xs btn-{if isset($przesylka->subPrzesylka)}warning{else}success{/if} sensbitpocztapolska-tip" title="Pobierz etykietę{if isset($przesylka->subPrzesylka)} wielopaczkową{else}{/if} "><i class="icon-print"></i></a>
<a href="" onclick="sensbitPocztaPolska.deleteShipmentFromBuffer('{$przesylka->guid}', '{$zbior->idBufor}', true);
return false" class="delete-shipment btn btn-xs btn-{if isset($przesylka->subPrzesylka)}danger{else}danger{/if} sensbitpocztapolska-tip" title="Usuń przesyłkę{if isset($przesylka->subPrzesylka)} wielopaczkową{else}{/if} "><i class="icon-remove"></i></a>
</td>
</tr>
{if isset($przesylka->subPrzesylka)}
{foreach $przesylka->subPrzesylka as $subpack name='sub'}
<tr data-numer_nadania='{$subpack->numerNadania}' data-guid='{$przesylka->guid}' data-idbufor='{$zbior->idBufor}'>
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$subpack->numerNadania} {$smarty.foreach.sub.index+2}/{$przesylka->subPrzesylka|count+1}
</td>
<td>
{$subpack->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
<a href="" onclick="sensbitPocztaPolska.printLabelsByGuid([{literal}{{/literal}'guid':'{$przesylka->guid}', 'idbufor':{$zbior->idBufor}{literal}}{/literal}], true);
return false" class="btn btn-xs btn-warning sensbitpocztapolska-tip" title="Pobierz etykietę wielopaczkową"><i class="icon-print"></i></a>
{*<a href="" onclick="sensbitPocztaPolska.deleteShipmentsByTrackingNumber('{$subpack->numerNadania}');
return false" class="delete-shipment btn btn-xs btn-danger sensbitpocztapolska-tip" title="Usuń przesyłkę wielopaczkową"><i class="icon-remove"></i></a>*}
</td>
</tr>
{/foreach}
{/if}
{/foreach}
</table>
{else}
<div class="alert alert-info" style='margin-top:15px'>Brak przesyłek w zbiorze.</div>
{/if}
</div>
{/foreach}

View File

@@ -0,0 +1,97 @@
<div class="sensbitpocztapolska sensbitpocztapolska-bufor-manager">
<div class="panel">
<h3>Zarządzanie zbiorami Allegro</h3>
<em class="text-info"><i class="icon-question-circle"></i> Panel zarządzania zbiorami Allegro umożliwia przegląd wszystkich zbiorów api na Twoim koncie e-nadawcy powiązanym z kontem Allegro, wraz z utworzonymi w nich przesyłkami.<br/>W tym miejscu widać <strong>wszystkie</strong>
przesyłki na koncie e-nadawcy! Oznacza to iż widać również przesyłki nieutworzone przez moduł, a np. za pomocą innej integracji!<br/>
Możesz zaznaczyć przesyłki, którymi chcesz zarządzać (przenosić między zbiorami bądź wysłać). Zalecamy do korzystania ze skanera kodów kreskowych.</em>
<div style="margin-top:15px">
<button class="btn btn-success sensbitpocztapolska-refresh-bufor-list"><i class="icon-refresh"></i> Odśwież dane</button>
<a href="{SensbitPocztaPolskaTools::getLinkToAdmin('AdminSensbitPocztaPolskaBuforSentManagerAllegro')}" class="btn btn-warning">Pokaż zbiory wysłane</a>
</div>
</div>
<div class="panels" style='display:none'>
<div class='panel'>
<em class="text-info"><i class="icon-question-circle"></i> Wpisz numer przesyłki i zatwierdź enterem by ją automatycznie zaznaczyć.<br/>Zalecamy korzystanie ze skanera kodów kreskowych :)</em>
<input type='text' class='form-control input-sm sensbitpocztapolska-bufor-manager-find-shipment' placeholder="Numer przesyłki..." style='margin-top:15px'/>
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-mastercheckall"><i class="icon-check-square-o"></i> Zaznacz wszystkie przesyłki w każdym zbiorze</button>
<button class="btn btn-default btn-xs shipments-masteruncheckall"><i class="icon-square-o"></i> Odznacz wszystkie przesyłki w każdym zbiorze</button>
</div>
</div>
<div class='panel-container'>
<div class="left-panel bufor-list">
</div>
<div class="right-panel">
<div class="panel">
<h3>Wybrane przesyłki <span class='badge badge-info selected-packages-num'>0</span></h3>
<div class='selected-packages-parent'>
<table class="table table-responsive selected-packages">
</table>
</div>
<div class="mass-options" style="margin-top:10px;">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-printall" data-is_allegro='1'><i class="icon-print"></i> Pobierz wybrane etykiety zbiorczo</button>
<hr/>
<h4>Przenieś do wybranego zbioru</h4>
<div class="row" style="margin-top:10px">
<div class="col-sm-6">
<select class="param form-control bufor-select" name="id_bufor">
</select>
</div>
<div class="col-sm-6">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-moveshipments"><i class="icon-move"></i> Przenieś do wybranego zbioru</button>
</div>
</div>
<hr/>
<h4>Przenieś do nowego zbioru i go wyślij</h4>
<div class="row moveandsend-container" style="margin-top:10px">
<div class="col-sm-5">
<input type='text' name='opis' class="param input-sm" class="" placeholder="Opis" value="{if isset($opis)}{$opis}{/if}">
</div>
<div class="col-sm-4">
<select name='urzad_nadania' class="param form-control">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}"{if isset($urzad_nadania) && $urzad_nadania == intval($urzad.id)} selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
</div>
<div class="col-sm-3">
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" class="" placeholder="Data nadania" value="{if isset($data_nadania)}{$data_nadania}{/if}">
</div>
<div class="col-sm-12" style="margin-top:10px;">
<button class="btn btn-default btn-block sensbitpocztapolska-bufor-manager-moveandsendshipments"><i class="icon-send"></i> Przenieś do nowego zbioru i go wyślij</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='panel'>
<h3>Nowy zbiór</h3>
<em class="text-info"><i class="icon-question-circle"></i>Dodanie nowego zbioru spowoduje odświeżenie listy zbiorów z przesyłkami powyżej!<br/>Możesz zmienić ustawienia domyślne w konfiguracji.</em>
<div class='bufor-edit' style='margin-top:15px'>
<span>Opis: </span>
<input type='text' name='opis' class="param input-sm" style="vertical-align: middle;height: 28px;max-width:200px;margin-right:30px; line-height: 28px; display:inline-block;" class="" placeholder="Opis" value="{if isset($opis)}{$opis}{/if}">
<span>Urząd nadania: </span>
<select name='urzad_nadania' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;margin-right:30px;">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}"{if isset($urzad_nadania) && $urzad_nadania == intval($urzad.id)} selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span>Data nadania: </span>
<input type='text' name='data_nadania' class="param input-sm sensbitpocztapolska-datepicker" style="vertical-align: middle;max-width: 80px;height: 28px; line-height: 28px; display:inline-block;" class="" placeholder="Data nadania" value="{if isset($data_nadania)}{$data_nadania}{/if}">
<button class='button btn btn-success btn-sm bufor-add'>Dodaj</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,151 @@
{foreach $zbiory as $zbior}
<div class="panel" >
<h3>Zbiór #{$zbior->idEnvelope} <span class="badge badge-info">{$zbior->envelopeStatus}</span></h3>
<div class="alert alert-info">
Zbiór wysłany {$zbior->dataTransmisji}.<br/>
Przesyłek: {if isset($zbior->przesylki)}{$zbior->przesylki_total}{else}0{/if}.
</div>
{* <pre style='max-height:200px;overflow:auto;display:block;'>{$zbior|print_r}</pre>*}
<div class='envelope-edit' data-idenvelope='{$zbior->idEnvelope}'>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printLabelsByEnvelope({$zbior->idEnvelope|intval});
return false;">Pobierz zbiorczo etykiety</button>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printFirmowaBookByEnvelope({$zbior->idEnvelope|intval});
return false;">Pobierz zbiorczo zestawienie "Poczta Firmowa"</button>
</div>
{if isset($zbior->przesylki)}
<table class="table table-responsive" data-sorting='true'>
<thead>
<tr>
<th style='width:5px;' data-sort-ignore="true"></th>
{* <th style='width:10px;' data-sort-ignore="true"></th>*}
<th style='width:200px;' data-type="number">Numer nadania</th>
<th style='width:20%;'>Opis</th>
<th style=''>Adresat</th>
<th style='width:130px;' data-sort-initial="ascending">Data utworzenia</th>
<th style='width:100px'>Zamówienie</th>
<th style='' data-type='number'>Wartość zam.</th>
<th style=''>Kod kreskowy</th>
{*<th data-sort-ignore="true"></th>*}
</tr>
</thead>
{foreach $zbior->przesylki as $przesylka}
{assign var='in_shop' value=array_key_exists($przesylka->guid, $shipments_shop)}
<tr data-numer_nadania='{$przesylka->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}' data-is_master=1>
{* <td>{$przesylka|print_r}</td>*}
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
{*<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>*}
<td>
{$przesylka->numerNadania}{if isset($przesylka->subPrzesylka)} 1/{$przesylka->subPrzesylka|count+1}{/if}
</td>
<td>
{$przesylka->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl'] currency=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['id_currency']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
{* kod kreskowy *}
<img src='{$barcode_link}{$przesylka->numerNadania}'/>
</td>
</tr>
{if isset($przesylka->subPrzesylka)}
{foreach $przesylka->subPrzesylka as $subpack name='sub'}
<tr data-numer_nadania='{$subpack->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}'>
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
{*<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>*}
<td>
{$subpack->numerNadania} {$smarty.foreach.sub.index+2}/{$przesylka->subPrzesylka|count+1}
</td>
<td>
{$subpack->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
{* kod kreskowy *}
<img src='{$barcode_link}{$przesylka->numerNadania}'/>
</td>
</tr>
{/foreach}
{/if}
{/foreach}
</table>
{else}
<div class="alert alert-info" style='margin-top:15px'>Brak przesyłek w zbiorze.</div>
{/if}
</div>
{/foreach}

View File

@@ -0,0 +1,27 @@
<div class="sensbitpocztapolska sensbitpocztapolska-bufor-manager">
<div class="panel">
<h3>Zarządzanie zbiorami wysłanymi</h3>
<em class="text-info"><i class="icon-question-circle"></i> Panel zarządzania zbiorami wysłanymi umożliwia przegląd wszystkich <u>wysłanych</u> zbiorów api na Twoim koncie e-nadawcy, wraz z utworzonymi w nich przesyłkami.<br/>W tym miejscu widać <strong>wszystkie</strong>
przesyłki na koncie e-nadawcy! Oznacza to iż widać również przesyłki nieutworzone przez moduł, a np. za pomocą innej integracji!</em>
<div style="margin-top:15px">
<span>Pokaż wysłane zbiory z ostatnich: </span>
<select class="envelope-days" name='dni' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;">
{if !empty($wyslane_zbiory_dni)}
{foreach $wyslane_zbiory_dni as $dzien}
<option value="{$dzien|escape:'htmlall':'UTF-8'}" {if $dzien == $wyslane_zbiory_dzien}selected='selected'{/if}>{$dzien|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span style="margin-right:30px;">dni.</span>
<button class="btn btn-success sensbitpocztapolska-refresh-envelope-list"><i class="icon-refresh"></i> Odśwież dane</button>
<a href="{SensbitPocztaPolskaTools::getLinkToAdmin('AdminSensbitPocztaPolskaBuforManager')}" class="btn btn-warning">Pokaż zbiory niewysłane</a>
</div>
</div>
<div class="panels" style='display:none'>
<div class='panel-container'>
<div class="bufor-list">
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,151 @@
{foreach $zbiory as $zbior}
<div class="panel" >
<h3>Zbiór #{$zbior->idEnvelope} <span class="badge badge-info">{$zbior->envelopeStatus}</span></h3>
<div class="alert alert-info">
Zbiór wysłany {$zbior->dataTransmisji}.<br/>
Przesyłek: {if isset($zbior->przesylki)}{$zbior->przesylki_total}{else}0{/if}.
</div>
{* <pre style='max-height:200px;overflow:auto;display:block;'>{$zbior|print_r}</pre>*}
<div class='envelope-edit' data-idenvelope='{$zbior->idEnvelope}'>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printLabelsByEnvelope({$zbior->idEnvelope|intval}, true);
return false;">Pobierz zbiorczo etykiety</button>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printFirmowaBookByEnvelope({$zbior->idEnvelope|intval}, true);
return false;">Pobierz zbiorczo zestawienie "Poczta Firmowa"</button>
</div>
{if isset($zbior->przesylki)}
<table class="table table-responsive" data-sorting='true'>
<thead>
<tr>
<th style='width:5px;' data-sort-ignore="true"></th>
{* <th style='width:10px;' data-sort-ignore="true"></th>*}
<th style='width:200px;' data-type="number">Numer nadania</th>
<th style='width:20%;'>Opis</th>
<th style=''>Adresat</th>
<th style='width:130px;' data-sort-initial="ascending">Data utworzenia</th>
<th style='width:100px'>Zamówienie</th>
<th style='' data-type='number'>Wartość zam.</th>
<th style=''>Kod kreskowy</th>
{*<th data-sort-ignore="true"></th>*}
</tr>
</thead>
{foreach $zbior->przesylki as $przesylka}
{assign var='in_shop' value=array_key_exists($przesylka->guid, $shipments_shop)}
<tr data-numer_nadania='{$przesylka->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}' data-is_master=1>
{* <td>{$przesylka|print_r}</td>*}
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
{*<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>*}
<td>
{$przesylka->numerNadania}{if isset($przesylka->subPrzesylka)} 1/{$przesylka->subPrzesylka|count+1}{/if}
</td>
<td>
{$przesylka->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl'] currency=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['id_currency']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
{* kod kreskowy *}
<img src='{$barcode_link}{$przesylka->numerNadania}'/>
</td>
</tr>
{if isset($przesylka->subPrzesylka)}
{foreach $przesylka->subPrzesylka as $subpack name='sub'}
<tr data-numer_nadania='{$subpack->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}'>
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
{*<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>*}
<td>
{$subpack->numerNadania} {$smarty.foreach.sub.index+2}/{$przesylka->subPrzesylka|count+1}
</td>
<td>
{$subpack->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}
</td>
{else}
<td>
b.d.
</td>
{/if}
<td>
{* kod kreskowy *}
<img src='{$barcode_link}{$przesylka->numerNadania}'/>
</td>
</tr>
{/foreach}
{/if}
{/foreach}
</table>
{else}
<div class="alert alert-info" style='margin-top:15px'>Brak przesyłek w zbiorze.</div>
{/if}
</div>
{/foreach}

View File

@@ -0,0 +1,27 @@
<div class="sensbitpocztapolska sensbitpocztapolska-bufor-manager">
<div class="panel">
<h3>Zarządzanie zbiorami wysłanymi Allegro</h3>
<em class="text-info"><i class="icon-question-circle"></i> Panel zarządzania zbiorami wysłanymi umożliwia przegląd wszystkich <u>wysłanych</u> zbiorów api na Twoim koncie e-nadawcy, wraz z utworzonymi w nich przesyłkami.<br/>W tym miejscu widać <strong>wszystkie</strong>
przesyłki na koncie e-nadawcy! Oznacza to iż widać również przesyłki nieutworzone przez moduł, a np. za pomocą innej integracji!</em>
<div style="margin-top:15px">
<span>Pokaż wysłane zbiory z ostatnich: </span>
<select class="envelope-days" name='dni' class="param form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;">
{if !empty($wyslane_zbiory_dni)}
{foreach $wyslane_zbiory_dni as $dzien}
<option value="{$dzien|escape:'htmlall':'UTF-8'}" {if $dzien == $wyslane_zbiory_dzien}selected='selected'{/if}>{$dzien|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span style="margin-right:30px;">dni.</span>
<button class="btn btn-success sensbitpocztapolska-refresh-envelope-list"><i class="icon-refresh"></i> Odśwież dane</button>
<a href="{SensbitPocztaPolskaTools::getLinkToAdmin('AdminSensbitPocztaPolskaBuforManagerAllegro')}" class="btn btn-warning">Pokaż zbiory niewysłane Allegro</a>
</div>
</div>
<div class="panels" style='display:none'>
<div class='panel-container'>
<div class="bufor-list">
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,149 @@
{foreach $zbiory as $zbior}
<div class="panel" >
<h3>Zbiór #{$zbior->idEnvelope} <span class="badge badge-info">{$zbior->envelopeStatus}</span></h3>
<div class="alert alert-info">
Zbiór wysłany {$zbior->dataTransmisji}.<br/>
Przesyłek: {if isset($zbior->przesylki)}{$zbior->przesylki_total}{else}0{/if}.
</div>
{* <pre style='max-height:200px;overflow:auto;display:block;'>{$zbior|print_r}</pre>*}
<div class='envelope-edit' data-idenvelope='{$zbior->idEnvelope}'>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printLabelsByEnvelope({$zbior->idEnvelope|intval});
return false;">Pobierz zbiorczo etykiety</button>
<button class='button btn btn-success btn-sm' onclick="sensbitPocztaPolska.printFirmowaBookByEnvelope({$zbior->idEnvelope|intval});
return false;">Pobierz zbiorczo zestawienie "Poczta Firmowa"</button>
</div>
{if isset($zbior->przesylki)}
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-checkall"><i class="icon-check-square-o"></i> Zaznacz wszystkie</button>
<button class="btn btn-default btn-xs shipments-uncheckall"><i class="icon-square-o"></i> Odznacz wszystkie</button>
</div>
<table class="table table-responsive" data-sorting='true'>
<thead>
<tr>
<th style='width:5px;' data-sort-ignore="true"></th>
<th style='width:10px;' data-sort-ignore="true"></th>
<th style='width:200px;' data-type="number">Numer nadania</th>
<th style='width:20%;'>Opis</th>
<th style=''>Adresat</th>
<th style='width:130px;' data-sort-initial="ascending">Data utworzenia</th>
<th style='width:100px'>Zamówienie</th>
<th style='' data-type='number'>Wartość zam.</th>
{* <th style=''>Kod kreskowy</th>*}
{*<th data-sort-ignore="true"></th>*}
</tr>
</thead>
{foreach $zbior->przesylki as $przesylka}
{assign var='in_shop' value=array_key_exists($przesylka->guid, $shipments_shop)}
{assign var='in_reklamacja' value=array_key_exists($przesylka->guid, $reklamacje)}
<tr {if $in_reklamacja}class="reklamacja"{/if} data-data_nadania="{$zbior->dataTransmisji}" data-numer_nadania='{$przesylka->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}' data-serialized="{$przesylka->serialized}" data-is_master=1>
{* <td>{$przesylka|print_r}</td>*}
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$przesylka->numerNadania}{if isset($przesylka->subPrzesylka)} 1/{$przesylka->subPrzesylka|count+1}{/if}
</td>
<td>
{$przesylka->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl'] currency=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['id_currency']}
</td>
{else}
<td>
b.d.
</td>
{/if}
</tr>
{if isset($przesylka->subPrzesylka)}
{foreach $przesylka->subPrzesylka as $subpack name='sub'}
<tr {if $in_reklamacja}class="reklamacja"{/if} data-numer_nadania='{$subpack->numerNadania}' data-guid='{$przesylka->guid}' data-idenvelope='{$zbior->idEnvelope}'>
<td class='text-center'>
{if !$in_shop}
<i class='icon-exclamation text-warning sensbitpocztapolska-tip' title='Brak informacji o przesyłce w bazie sklepu. Prawdopodobnie nie została utworzona przez moduł.'></i>
{else}
<i class='icon-check text-success sensbitpocztapolska-tip' title='Przesyłka widnieje w bazie sklepu. Wszelkie zmiany zostaną zarejestrowane w bazie.'></i>
{/if}
</td>
<td>
<input type="checkbox" value="{$przesylka->guid}" name='przesylki'/>
</td>
<td>
{$subpack->numerNadania} {$smarty.foreach.sub.index+2}/{$przesylka->subPrzesylka|count+1}
</td>
<td>
{$subpack->opis}
</td>
<td>
{$przesylka->adres}
</td>
<td data-sort-value="{if $in_shop}{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']|strtotime}{/if}">
{if $in_shop}
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['date_add']}
{else}
b.d.
{/if}
</td>
{* powiązane zamówienie *}
<td>
{if $in_shop}
<a href="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_link']}" target="_blank">
{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['order_reference']}
</a>
{else}
b.d.
{/if}
</td>
{if $in_shop}
<td data-sort-value="{$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}">
{displayPrice price=$shipments_shop[$przesylka->guid]['shipments_data'][$przesylka->numerNadania]['total_paid_tax_incl']}
</td>
{else}
<td>
b.d.
</td>
{/if}
</tr>
{/foreach}
{/if}
{/foreach}
</table>
{else}
<div class="alert alert-info" style='margin-top:15px'>Brak przesyłek w zbiorze.</div>
{/if}
</div>
{/foreach}

View File

@@ -0,0 +1,97 @@
<div class="sensbitpocztapolska sensbitpocztapolska-bufor-manager hide_reklamacja">
<div class="panel">
<h3>Tworzenie reklamacji</h3>
<em class="text-info"><i class="icon-question-circle"></i> Panel tworzenia reklamacji umożliwia przegląd wszystkich zbiorów api na Twoim koncie e-nadawcy, wraz z utworzonymi w nich przesyłkami z wybranego okresu czasu.<br/>W tym miejscu widać <strong>wszystkie</strong>
przesyłki na koncie e-nadawcy! Oznacza to iż widać również przesyłki nieutworzone przez moduł, a np. za pomocą innej integracji!<br/>
Zaznacz przesyłki dla których chcesz utworzyć reklamację, a następnie w prawym bloku wybierz powód reklamacji, wnioskowaną kwotę odszkodowania i opisz po krótce swoją reklamację.</em>
<div style="margin-top:15px">
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Przedział czasowy
</div>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Od</span>
<input type='text' class='sensbitpocztapolska-datetime date-from' value="{if isset($date_from)}{$date_from}{/if}" name='date_from' placeholder='Od' autocomplete="off"/>
</div>
</div>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Do</span>
<input type='text' class='sensbitpocztapolska-datetime date-to' value="{if isset($date_to)}{$date_to}{/if}" name='date_to' placeholder='Do' autocomplete="off"/>
</div>
</div>
</div>
</div>
<button class="btn btn-success sensbitpocztapolska-refresh-complaint-bufor-list"><i class="icon-refresh"></i> Odśwież dane</button>
</div>
</div>
<div class="panels" style='display:none'>
<div class='panel'>
<em class="text-info"><i class="icon-question-circle"></i> Wpisz numer przesyłki i zatwierdź enterem by ją automatycznie zaznaczyć.<br/>Zalecamy korzystanie ze skanera kodów kreskowych :)</em>
<input type='text' class='form-control input-sm sensbitpocztapolska-bufor-manager-find-shipment' placeholder="Numer przesyłki..." style='margin-top:15px'/>
<div style='margin-top:15px'>
<button class="btn btn-default btn-xs shipments-mastercheckall"><i class="icon-check-square-o"></i> Zaznacz wszystkie przesyłki w każdym zbiorze</button>
<button class="btn btn-default btn-xs shipments-masteruncheckall"><i class="icon-square-o"></i> Odznacz wszystkie przesyłki w każdym zbiorze</button>
<button class="btn btn-default btn-xs shipments-mastertogglereklamacja"><i class="icon-adjust"></i> Pokaż/ukryj przesyłki z dodaną już reklamacją</button>
</div>
</div>
<div class='panel-container'>
<div class="left-panel bufor-list">
</div>
<div class="right-panel">
<div class="panel">
<h3>Wybrane przesyłki <span class='badge badge-info selected-packages-num'>0</span></h3>
<div class='selected-packages-parent'>
<table class="table table-responsive selected-packages">
</table>
</div>
<div class="mass-options" style="margin-top:10px;">
<h4>Nowa reklamacja</h4>
<div class="row new-complaint-container" style="margin-top:10px">
<div class="col-sm-12">
<p><strong>Powód reklamacji</strong></p>
<select class="param form-control reklamacja-group" name="id_group">
<option value="0">-- wybierz kategorię powodów reklamacji --</option>
{foreach $groups as $g}
<option value="{$g.id_reklamacja_powod_grupa}"{if $g.id_reklamacja_powod_grupa == 1} selected="selected"{/if}>{$g.opis}</option>
{/foreach}
</select>
<select class="param form-control reklamacja-powod-glowny" name="id_powod_glowny">
<option value="0">-- wybierz powód główny reklamacji --</option>
</select>
<select class="param form-control reklamacja-powod-szczegolowy" name="id_powod_szczegolowy">
<option value="0">-- wybierz powód szczegółowy reklamacji --</option>
</select>
</div>
<div class="col-sm-12" style="margin-top:10px;">
<p><strong>Wnioskowane odszkodowanie.</strong></p>
<input type="text" class="param form-control" name="odszkodowanie" placeholder="Wnioskowane odszkodowanie..."{if isset($def_comp)} value="{$def_comp}"{/if}/>
</div>
<div class="col-sm-12" style="margin-top:10px;">
<p><strong>Szczegółowy opis.</strong></p>
<textarea class="param form-control" name="opis" placeholder="Szczegółowy opis...">{if isset($def_desc)}{$def_desc}{/if}</textarea>
</div>
<div class="col-sm-12" style="margin-top:10px;">
<p><strong>Numer konta do zwrotu odszkodowania.</strong></p>
<p><em>Zostanie umieszczony w opisie reklamowanej przesyłki. Jest to pole rekomendowane przez Pocztę przy tworzeniu reklamacji przez API.</em></p>
<input type="text" class="param form-control" name="nr_konta" placeholder="Nr konta..."{if isset($def_account)} value="{$def_account}"{/if}/>
</div>
<div class="col-sm-12">
<button class="btn btn-default btn-block sensbitpocztapolska-complaint-new-btn" style="margin-top:10px"><i class="icon-plus"></i> Utwórz nową reklamację</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,191 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<div class="sensbitpocztapolska sensbitpocztapolska-parent">
<div class="sensbitpocztapolska sensbitpocztapolska-orders-selected-container">
<p class="not-working">Wybranych <span class="n">0</span> przesyłek.</p>
<p class="working" style="display:none; margin-top: 23px;">Przetwarzam <span class="n">0</span> przesyłek.</p>
<a href="#" class="prepare-packs">
Dodaj wybrane
</a>
<a href="#" class="next-error" data-next="0">
Popraw błędne przesyłki
</a>
</div>
<div class="sensbitpocztapolska-orders-filters">
<div class="row">
<div class="col-sm-8">
<h4>Super filtry</h4>
<em class="text-info"><i class="icon-question-circle"></i> Zapisujemy Twoje wybrane filtry w konfiguracji. Nie stracisz ich po odświeżeniu strony.<br/>Oprócz super filtrów możesz używać filtrów w kolumnach danych np. filtrując po nr przesyłki czy kupionych produktach.</em>
<div class="filters-container">
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Data zamówienia
</div>
{$active = (isset($filters.date_add) && isset($filters.date_add.novalidation) && $filters.date_add.novalidation)}
<label class='btn btn-default{if $active} active{/if}'>
<input type="checkbox" name='filters[date_add][novalidation]' value='1' {if $active}checked='checked{/if}'/>
Pomiń walidację dat zamówień
</label>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Od</span>
<input type='text' class='sensbitpocztapolska-datetime' value="{if isset($filters.date_add)}{$filters.date_add.from}{/if}" name='filters[date_add][from]' placeholder='Od' autocomplete="off"/>
</div>
</div>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Do</span>
<input type='text' class='sensbitpocztapolska-datetime' value="{if isset($filters.date_add)}{$filters.date_add.to}{/if}" name='filters[date_add][to]' placeholder='Do' autocomplete="off"/>
</div>
</div>
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Przewoźnicy
</div>
{foreach $carriers as $carrier}
{$active=isset($filters.carrier) && in_array($carrier.id_reference, $filters.carrier)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[carrier][]" value="{$carrier.id_reference}"{if $active} checked='checked'{/if}/>
{$carrier.name}
</label>
{/foreach}
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Płatności
</div>
{foreach $payments as $payment}
{$active=isset($filters.payment) && in_array($payment.name, $filters.payment)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[payment][]" value="{$payment.name}"{if $active} checked='checked'{/if}/>
{$payment.displayName}
</label>
{/foreach}
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Aktywne statusy zamówień
</div>
{foreach $statuses as $status}
{$active=isset($filters.status) && in_array($status.id_order_state, $filters.status)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[status][]" value="{$status.id_order_state}"{if $active} checked='checked'{/if}/>
{$status.name}
{if $status.color}
<span style="display:inline-block; margin-left:5px;width:15px;height:15px;background: {$status.color};vertical-align:middle;"></span>
{/if}
</label>
{/foreach}
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Przesyłki
</div>
{$active=isset($filters.orders) && in_array('noshipments', $filters.orders)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[orders][]" value="noshipments"{if $active} checked='checked'{/if}/>
Bez przesyłek
</label>
{$active=isset($filters.orders) && in_array('withshipments', $filters.orders)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[orders][]" value="withshipments"{if $active} checked='checked'{/if}/>
Z przesyłkami
</label>
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Status płatnośći zamówień
</div>
{$active=isset($filters.state) && in_array('valid', $filters.state)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[state][]" value="valid"{if $active} checked='checked'{/if}/>
Opłacone
</label>
{$active=isset($filters.state) && in_array('notvalid', $filters.state)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[state][]" value="notvalid"{if $active} checked='checked'{/if}/>
Nieopłacone
</label>
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Wyświetlane dane
</div>
{foreach $fields_to_filter as $name => $vars}
{if !in_array($name, array('templates'))}
{$active=isset($filters.fields) && in_array($name,$filters.fields)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[fields][]" value="{$name}"{if $active} checked='checked'{/if}/>
{$vars.title}
</label>
{/if}
{/foreach}
</div>
</div>
<div class="filter-group">
<input class="btn btn-success" type="submit" name="set_filters" value="Filtruj"/>
</div>
</div>
<button class="sensbitpocztapolska-orders-filters-open btn btn-primary btn-xs" style="margin-top:10px;">Rozwiń ⇊</button>
</div>
<div class="col-sm-4">
<h4>Masowe działania</h4>
<em class="text-info"><i class="icon-question-circle"></i> Chodzą słuchy, że ktoś jeszcze dodaje przesyłki kilkając pojedynczo. :)<br/>Używaj poniższych opcji z rozsądkiem.</em>
<div class="filter-group">
<button class="btn btn-primary sensbitpocztapolska-tip sensbitpocztapolska-mass-open" title="Na podstawie wybranych szablonów otwiera edycję przesyłek przy wszystkich widocznych zamówieniach poniżej.">
Edytuj przesyłki do wszystkich zamówień
</button>
</div>
<div class="filter-group">
<button class="btn btn-primary sensbitpocztapolska-tip sensbitpocztapolska-mass-add" title="Na podstawie wybranych szablonów otwiera edycję przesyłek po czym od razu je dodaje na podstawie domyślnych ustawień przy wszystkich widocznych zamówieniach poniżej.">
Dodaj szybko przesyłki do wszystkich zamówień
</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
var target = '';
var target_colspan = '';
{if SensbitPocztaPolskaTools::isBootstrap()}
target = "#form-orders table.table";
target_colspan = target;
{else}
target = "table[name=list_table]";
target_colspan = target + ' table.orders';
{/if}
$(".sensbitpocztapolska-parent").insertBefore(target);
var br_target = $(target_colspan).find('tbody > tr').not(':last');
var colspan = br_target.eq(0).find('td').length;
$("<tr><td colspan=" + colspan + " style='background: #777 !important;height:3px;'></td></tr>").insertAfter(br_target);
});
</script>
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,74 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<div class="sensbitpocztapolska sensbitpocztapolska-parent">
<div class="sensbitpocztapolska-orders-filters">
<div class="row">
<div class="col-sm-8">
<h4>Super filtry</h4>
<em class="text-info"><i class="icon-question-circle"></i> Zapisujemy Twoje wybrane filtry w konfiguracji. Nie stracisz ich po odświeżeniu strony.<br/>Oprócz super filtrów możesz używać filtrów w kolumnach danych np. filtrując po nr śledzenia czy dacie wysłania.</em>
<div class="filters-container">
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Data utworzenia przesyłki
</div>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Od</span>
<input type='text' class='sensbitpocztapolska-datetime' value="{if isset($filters.date_add)}{$filters.date_add.from}{/if}" name='filters[date_add][from]' placeholder='Od' autocomplete="off"/>
</div>
</div>
<div style='width:170px;display:inline-block'>
<div class="input-group">
<span class="input-group-addon">Do</span>
<input type='text' class='sensbitpocztapolska-datetime' value="{if isset($filters.date_add)}{$filters.date_add.to}{/if}" name='filters[date_add][to]' placeholder='Do' autocomplete="off"/>
</div>
</div>
</div>
</div>
<div class="filter-group">
<div class="btn-group" data-toggle="buttons">
<div class="btn btn-primary">
Wyświetlane dane
</div>
{foreach $fields_to_filter as $name => $vars}
{if !in_array($name, array('actions'))}
{$active=isset($filters.fields) && in_array($name,$filters.fields)}
<label class="btn btn-default{if $active} active{/if}">
<input type="checkbox" name="filters[fields][]" value="{$name}"{if $active} checked='checked'{/if}/>
{$vars.title}
</label>
{/if}
{/foreach}
</div>
</div>
<div class="filter-group">
<input class="btn btn-success" type="submit" name="set_filters" value="Filtruj"/>
</div>
</div>
<button class="sensbitpocztapolska-orders-filters-open btn btn-primary btn-xs" style="margin-top:10px;">Rozwiń ⇊</button>
</div>
<div class="col-sm-4">
<h4>Masowe działania</h4>
<div class="filter-group">
<button class="btn btn-success sensbitpocztapolska-bulk-labels">Pobierz wybrane etykiety zbiorczo</button>
</div>
<div class="filter-group">
<button class="btn btn-success sensbitpocztapolska-bulk-firmowa-book">Pobierz zestawienie Poczta Firmowa</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
{if SensbitPocztaPolskaTools::isBootstrap()}
$(".sensbitpocztapolska-parent").insertBefore("#form-sensbitpocztapolska_shipment table.table");
{else}
$(".sensbitpocztapolska-parent").insertBefore("table[name=list_table]");
{/if}
});
</script>
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,51 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<div class="sensbitpocztapolska sensbitpocztapolska-parent">
<div class="alert alert-warning">
Ta zakładka służy do wysyłania przesyłek powiązanych z głównym Twoim kontem e-nadawcy.<br/>
Jeśli chcesz wysłać przesyłki Allegro przejdź do zakładki <a href="{SensbitPocztaPolskaTools::getLinkToAdmin('AdminSensbitPocztaPolskaBuforManagerAllegro')}">Zbiory Allegro</a>
</div>
{if $buffer && $current_buffer}
<div style='margin-bottom:20px;'>
{if $packs_in_buffer == 0}
<div class="alert alert-warning">
<strong>Uwaga!</strong> Zbiór nie zawiera przesyłek! Prawdopodobnie modyfikowany był po stronie e-nadawcy! Aby oznaczyć przesyłki jako wysłane prosimy skorzystać z "masowych działań" poniżej.
</div>
{elseif $packs_in_shop != $packs_in_buffer}
<div class="alert alert-warning">
<strong>Uwaga!</strong> W zbiorze znajdują się też inne przesyłki nie wyświetlone na poniższej liście. <br/>Zamknięcie zbioru spowoduje wysłanie <strong>wszystkich</strong> przesyłek. Nawet tych, których poniżej nie widać.
</div>
{/if}
<div>
<span>Urząd nadania: </span>
<select name='urzad_nadania' class="form-control input-sm" style="display:inline-block;vertical-align: middle; width:auto;margin-right:30px;">
{if !empty($urzedy_nadania)}
{foreach $urzedy_nadania as $urzad}
<option value="{$urzad.id|escape:'htmlall':'UTF-8'}" {if isset($urzad_nadania) && intval($urzad_nadania) == intval($urzad.id)}selected='selected'{/if}>{$urzad.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{/if}
</select>
<span>Data nadania: </span>
<input type='text' name='data_nadania' class="input-sm sensbitpocztapolska-datepicker" style="vertical-align: middle;max-width: 80px;height: 28px; line-height: 28px;text-align: center; display:inline-block;" class="phdatepicker_future" placeholder="Data nadania" {if isset($data_nadania)}value="{$data_nadania|escape:'htmlall':'UTF-8'}"{/if}>
<input type='submit' name='send_buffer' class='button btn btn-success btn-sm' value="Wyślij"/>
</div>
</div>
{else}
<div class="alert alert-danger">
Brak danych o stworzonym zbiorze w e-nadawcy. Dodaj nową przesyłkę do zamówienia.
</div>
{/if}
</div>
<script>
$(function () {
{if SensbitPocztaPolskaTools::isBootstrap()}
$(".sensbitpocztapolska-parent").insertBefore("#form-sensbitpocztapolska_shipment table.table");
{else}
$(".sensbitpocztapolska-parent").insertBefore("table[name=list_table]");
{/if}
});
</script>
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://SKLEP.SENSBIT.PL
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,37 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<div class="sensbitpocztapolska sensbitpocztapolska-parent">
<div class="alert alert-info">
<h4>Jak działa automatyczne sprawdzanie statusów przesyłek?</h4>
<p>Dla przesyłek w bazie sklepu o statusie, który ma poniżej włączoną opcję <strong>automatycznego sprawdzania statusu</strong> nasz moduł sprawdzi czy status w Poczcie Polskiej się zmienił.</p>
<p>Jeśli tak i nowy status będzie miał ustawioną automatyczną zmianę statusu zamówienia, to Twoje zamówienia będą oznaczane wybranym statusem.</p>
<p>Sprawdzanie statusów odbywa się na 4 różne sposoby.</p>
<p>
<ol>
<li>Ręcznie klikając na status przesyłki w sklepie.</li>
<li>Automatycznie w tle wyświetlając szczegóły danego zamówienia.</li>
<li>Automatycznie w tle wyświetlając listę przesyłek Poczta Polska > Przesyłki.</li>
<li>Automatycznie za pomocą CRONa.</li>
</ol>
</p>
<br/>
<h4>Jak ustawić automatyczne sprawdzanie statusów przesyłek?</h4>
<p>Zaznacz przy każdym pośrednim statusie przesyłki opcję <strong>automatycznego sprawdzania statusu</strong>.</p>
<p>Nie zaznaczaj tej opcji przy statusach "doręczono", bo nie ma sensu sprawdzać czy status przesyłki doręczonej uległ zmianie.</p>
<p>Możesz skorzystać z naszych ustawień automatycznego sprawdzania statusów klikając przycisk poniżej.<br/>
Spowoduje to ustawienie automatycznego sprawdzania statusów dla wszystkich pośrednich statusów przesyłek. Ustawienia statusów zamówień nie ulegną zmianie.</p>
<p><input class="btn btn-default btn-xs" type="submit" name="setDefaultStatusesData" value="Ustaw domyślne wartości konfiguracji automatycznego sprawdzania statusów"/></p>
</div>
</div>
<script>
$(function () {
{if SensbitPocztaPolskaTools::isBootstrap()}
$(".sensbitpocztapolska-parent").insertBefore("#form-sensbitpocztapolska_status table.table");
{else}
$(".sensbitpocztapolska-parent").insertBefore("table[name=list_table]");
{/if}
});
</script>
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2016-2017 Sensbit
*
* MODUŁ ZOSTAŁ UDOSTĘPNIONY NA PODSTAWIE LICENCJI NA JEDNO STANOWISKO/DOMENĘ
* NIE MASZ PRAWA DO JEGO KOPIOWANIA, EDYTOWANIA I SPRZEDAWANIA
* W PRZYPADKU PYTAŃ LUB BŁĘDÓW SKONTAKTUJ SIĘ Z AUTOREM
*
* ENGLISH:
* MODULE IS LICENCED FOR ONE-SITE / DOMAIM
* YOU ARE NOT ALLOWED TO COPY, EDIT OR SALE
* IN CASE OF ANY QUESTIONS CONTACT AUTHOR
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* PL: ODWIEDŹ NASZ SKLEP PO WIĘCEJ PROFESJONALNYCH MODUŁÓW PRESTASHOP
* EN: VISIT OUR ONLINE SHOP FOR MORE PROFESSIONAL PRESTASHOP MODULES
* HTTPS://sensbit.pl
*
* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *
*
* @author Tomasz Dacka (kontakt@sensbit.pl)
* @copyright 2016-2017 sensbit.pl
* @license One-site license (jednostanowiskowa, bez możliwości kopiowania i udostępniania innym)
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,62 @@
{foreach from=$order->getShipping() item=line}
<tr>
<td>{dateFormat date=$line.date_add full=true}</td>
<td>{$line.type|escape:'htmlall':'UTF-8'}</td>
<td>{$line.carrier_name|escape:'htmlall':'UTF-8'}</td>
<td class="weight">{$line.weight|string_format:"%.3f"} {Configuration::get('PS_WEIGHT_UNIT')}</td>
<td class="center">
{if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_INC}
{displayPrice price=$line.shipping_cost_tax_incl currency=$currency->id}
{else}
{displayPrice price=$line.shipping_cost_tax_excl currency=$currency->id}
{/if}
</td>
<td>
<span class="shipping_number_show">{if $line.url && $line.tracking_number}<a class="_blank" href="{$line.url|replace:'@':$line.tracking_number}">{$line.tracking_number|escape:'htmlall':'UTF-8'}</a>{else}{$line.tracking_number|escape:'htmlall':'UTF-8'}{/if}</span>
</td>
<td>
{if $line.can_edit}
<form method="post" action="{$link->getAdminLink('AdminOrders')|escape:'html':'UTF-8'}&amp;vieworder&amp;id_order={$order->id|intval}">
<span class="shipping_number_edit" style="display:none;">
<input type="hidden" name="id_order_carrier" value="{$line.id_order_carrier|escape:'htmlall':'UTF-8'}" />
<input type="text" name="tracking_number" value="{$line.tracking_number|escape:'htmlall':'UTF-8'}" />
<button type="submit" class="btn btn-default" name="submitShippingNumber">
<i class="icon-ok"></i>
{l s='Update' mod='sensbitpocztapolska'}
</button>
</span>
<a href="#" class="edit_shipping_number_link btn btn-default">
<i class="icon-pencil"></i>
{l s='Edit' mod='sensbitpocztapolska'}
</a>
<a href="#" class="cancel_shipping_number_link btn btn-default" style="display: none;">
<i class="icon-remove"></i>
{l s='Cancel' mod='sensbitpocztapolska'}
</a>
</form>
{/if}
</td>
</tr>
{/foreach}
{if isset($trackmultiplecarriers) && $trackmultiplecarriers}
{foreach from=Trackmultiplecarriers::getTrackMultipleCarriersShipping($order->id) item=line}
<tr id="trackmultiplecarriers_{$line.id_tracknum|intval}">
<td>{dateFormat date=$line.date_add full=true}</td>
<td>{$line.type|escape:'htmlall':'UTF-8'}</td>
<td>{$line.carrier_name|escape:'htmlall':'UTF-8'}</td>
<td class="weight">-</td>
<td class="center">-</td>
<td>
<span class="shipping_number_show">{if $line.url && $line.tracking_number}<a class="_blank" href="{$line.url|replace:'@':$line.tracking_number|escape:'htmlall':'UTF-8'}">{$line.tracking_number|escape:'htmlall':'UTF-8'}</a>{else}{$line.tracking_number|escape:'htmlall':'UTF-8'}{/if}</span>
</td>
<td>
{if $line.can_edit}
<a href="{$line.id_tracknum|intval}" class="btn btn-primary addons4presta_trackmultiplecarriers_add_btn" rel="1" data-toggle="modal" data-target="#trackMultipleCarriersModal">{l s='Edit' mod='sensbitpocztapolska'}</a>
<a href="{$line.id_tracknum|intval}" class="btn btn-default tmc-delete" rel="2">{l s='Delete' mod='sensbitpocztapolska'}</a>
{/if}
</td>
</tr>
{/foreach}
{/if}