434 lines
27 KiB
Smarty
434 lines
27 KiB
Smarty
{**
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This file is licenced under the Software License Agreement.
|
|
* With the purchase or the installation of the software in your application
|
|
* you accept the licence agreement.
|
|
*
|
|
* You must not modify, adapt or create derivative works of this source code
|
|
*
|
|
* @author PrestaHelp.com
|
|
* @copyright 2019 PrestaHelp
|
|
* @license LICENSE.txt
|
|
*}
|
|
|
|
{if $active}
|
|
<a name="inpostsend"></a>
|
|
<div class="panel panel-inpost">
|
|
<div class="panel-heading"><i class="icon-AdminInpostship"></i> {l s='Wysyłaj z Inpost' mod='inpostship'}</div>
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<p class="alert alert-info">
|
|
Rodzaj dostawcy: <b>
|
|
{if $service == 1}Paczkomat
|
|
{elseif $service == 2}Kurier Inpost
|
|
{elseif $service == 3}{$serviceName}
|
|
{elseif $service == 4}{$serviceName}{else}-- brak danych --{/if}{if $inpostCod == 1} - za pobraniem{/if}</b><br />
|
|
{if $service == 1 || ($service == 3 && $paczk == 1)}
|
|
Wybrany paczkomat to: <b>[{$rec_mach}] {if !empty($point)}{$point->name}, {$point->address->line1}, {$point->address->line2}{else}<small class="text-danger">Błąd połączenia z API ShipX Inpost lub punkt nie został odnaleziony.</small>{/if}</b>
|
|
{/if}
|
|
</p>
|
|
{if $price}
|
|
<p class="alert alert-warning">
|
|
Koszt przesyłki wg poprzedniej konfiguracji to <b>{$price} PLN</b>.
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
{if $ioa == 1}
|
|
{if isset($errors)}
|
|
<div class="col-lg-12">
|
|
<div class="alert alert-danger">{$errors}</div>
|
|
</div>
|
|
{/if}
|
|
{/if}
|
|
{if $conf}
|
|
<div class="col-lg-12">
|
|
<div class="alert alert-success">{$conf}</div>
|
|
</div>
|
|
{/if}
|
|
|
|
{if !empty($packageList)}
|
|
<div class="packageList">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Usługa</th>
|
|
<th>Numer przesyłki</th>
|
|
<th>Data utworzenia</th>
|
|
{* <th> </th>*}
|
|
<th> </th>
|
|
<th> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{foreach $packageList as $pl}
|
|
<tr>
|
|
<td><img src="{$pl.image}" alt="" /></td>
|
|
<td>{$pl.reference_number}</td>
|
|
<td>{$pl.date_add}</td>
|
|
{* <td>*}
|
|
{* {if $pl.fileDownload}*}
|
|
{* <a href="{$pl.fileDownload}" class="btn btn-info" target="_blank"><i class="material-icons">note</i> pobierz etykietę</a>*}
|
|
{* {/if}*}
|
|
{* </td>*}
|
|
<td>
|
|
{if $pl.status == 'confirmed'}
|
|
<form method="post">
|
|
{if empty($pl.reference_number)}
|
|
<button type="submit" name="submitDeletePack" value="{$pl.id_pack}" class="btn btn-danger pull-left" style="margin-left: 10px;"><i class="icon-trash"></i></button>
|
|
{else}
|
|
<a href="{$printUrl}{$pl.id_pack}" class="btn btn-warning pull-left" style="margin-right: 10px;" ><i class="icon-file-text"></i> {l s='Pobierz etykietę' mod='inpostship'}</a>
|
|
{if $pn_isset}
|
|
<a href="{$printUrl}{$pl.id_pack}&print=1" class="btn btn-warning pull-left" style="margin-right: 10px;" ><i class="icon-file-text"></i> {l s='Pobierz i drukuj etykietę' mod='inpostship'} <small>(Print Node)</small></a>
|
|
{/if}
|
|
<a href="https://inpost.pl/sledzenie-przesylek?number={$pl.reference_number}" target="_blank" class="btn btn-info pull-left">Śledź przesyłkę</a>
|
|
{/if}
|
|
{if $pl.dispatch == 1 && $pl.dispatch_id == 0 && !empty($pl.reference_number)}
|
|
<button type="submit" name="submitOrderCourier" value="{$pl.id_pack}" class="btn btn-success pull-left" style="margin-left: 10px;">{l s='Pickup order' mod='inpostship'}</button>
|
|
{/if}
|
|
{if $pl.dispatch_id > 0}
|
|
{* <button type="submit" name="submitPrintDispatch" value="{$pl.id_pack}" class="btn btn-warning pull-left" style="margin-left: 10px;"><i class="icon-file-text"></i> {l s='Drukuj zlecenie odbioru' mod='inpostship'}</button>*}
|
|
{if $pl.dispatch_status_org == 'new'}
|
|
<a href="{$dispatchUrl}{$pl.id_pack}" class="btn btn-warning pull-left" style="margin-left: 10px;" ><i class="icon-file-text"></i> {l s='Pobierz zlecenie odbioru' mod='inpostship'}</a>
|
|
{/if}
|
|
{if $pl.dispatch_status_org == 'new' || $pl.dispatch_status_org == 'sent'}
|
|
<button type="submit" name="submitDeleteDispatch" value="{$pl.id_pack}" class="btn btn-danger pull-left" style="margin-left: 10px;"><i class="icon-trash"></i> Usuń zlecenie odbioru</button>
|
|
{/if}
|
|
{/if}
|
|
{if $service == 2}
|
|
<button type="submit" name="submitReturnLabel" value="{$pl.id_pack}" class="btn btn-primary pull-left" style="margin-left: 10px;"><i class="icon-file-text"></i> Etykieta zwrotna</button>
|
|
{/if}
|
|
</form>
|
|
{else}
|
|
<p class="alert alert-warning">
|
|
Przesyłka nie została zatwierdzona.
|
|
</p>
|
|
{if $pl.status == 'offer_selected'}
|
|
{if $pl.ship_info.selected_offer->status == 'expired'}
|
|
<p class="alert alert-warning">Oferta wygasła. Ponownie wybierz ofertę i opłać przesyłkę.</p>
|
|
{/if}
|
|
{if $pl.ship_info.transactions.0->status == 'failure'}
|
|
<p class="alert alert-danger">
|
|
Wystąpił problem z płatnością za przesyłkę.<br />
|
|
{if $pl.ship_info.transactions.0->details->error == 'debt_collection'}
|
|
W tym przypadku najlepiej skontaktować się bezpośrednio z opiekunem handlowym InPostu, w celu sprawdzenia rozliczeń finansowych.<br />
|
|
Może dotyczyć braku płatności za fakturę lub braku środków na koncie do opłacenia etykiety.
|
|
{/if}
|
|
</p>
|
|
{/if}
|
|
{/if}
|
|
{if $pl.status == 'offers_prepared' || $pl.status == 'created' || $pl.status == ''}
|
|
<form method="post">
|
|
<button type="submit" name="submitDeleteShipping" value="{$pl.id_pack}" class="btn btn-danger pull-left" style="margin-left: 10px;" onclick="return confirm('Czy na pewno chcesz anulować tę przesyłkę?')"><i class="icon-trash"></i> Anuluj przesyłkę</button>
|
|
</form>
|
|
{/if}
|
|
{/if}
|
|
</td>
|
|
<td>
|
|
{if $pl.dispatch_id > 0}
|
|
Status zamówiena kuriera:<br />
|
|
<b>{$pl['dispatch_status']}</b>
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
{/foreach}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{else}
|
|
<div class="alert alert-warning col-lg-12">Nie ma wygenerowanych przesyłek.</div>
|
|
{/if}
|
|
|
|
{if $ioa == 1}
|
|
<div class="">
|
|
<button type="button" class="add-package btn btn-default"><span class="">Dodaj nową przesyłkę</span></button>
|
|
</div>
|
|
|
|
<div class="packageCreate">
|
|
<div class="row">
|
|
<form method="post" class="form-horizontal newInpostshipForm">
|
|
<div class="col-lg-3 inpostshipColumn1">
|
|
<div class="form-group">
|
|
<label class="col-lg-4">Dane odbiorcy:</label>
|
|
<div class="col-lg-8">
|
|
<div class="input-group">
|
|
<span class="input-group-addon"><i class="icon icon-envelope"></i></span>
|
|
<input id="recEmail" type="text" name="inpostship[receiver_email]" class="form-control medium-input" value="{$customer->email}" />
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">+48</span>
|
|
<input id="recPhone" type="text" name="inpostship[receiver_mobile]" class="form-control medium-input" value="{$address_delivery->phones}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-lg-4">Usługa:</label>
|
|
<div class="col-lg-8">
|
|
<img src="{$image}" alt="" style="height: 60px;" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-lg-4">Dostawa do:</label>
|
|
<div class="col-lg-8">
|
|
{if $service == 1 || ($service == 3 && $paczk == 1)}
|
|
<input type="text" name="inpostship[receiver_machine]" class="form-control" value="{$point->name}, {$point->address->line1}, {$point->address->line2}" disabled="disabled" />
|
|
<span class="btn btn-primary btn-sm changeReceiverMachine" data-toggle="modal" data-target="#inpostshipmodal">Zmień paczkomat</span>
|
|
{/if}
|
|
{if $service == 2}
|
|
<span>{$address_delivery->address1}{if !empty($address_delivery->address2)} {$address_delivery->address2}{/if}<br />{$address_delivery->postcode} {$address_delivery->city}</span>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-lg-3">Adres klienta:</label>
|
|
<div class="col-lg-5">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr{if empty($addr.street.street)} class="table-danger"{/if}>
|
|
<td>Ulica:</td>
|
|
<td>{$addr.street.street}</td>
|
|
</tr>
|
|
<tr{if empty($addr.street.numberAll)} class="table-danger"{/if}>
|
|
<td>Numer domu/mieszkania:</td>
|
|
<td>{$addr.street.numberAll}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Kod pocztowy:</td>
|
|
<td>{$addr.postcode}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Miejscowość:</td>
|
|
<td>{$addr.city}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
{if empty($addr.street.numberAll) || empty($addr.street.street)}
|
|
<p class="alert alert-danger">
|
|
UWAGA!<br />Adres klienta przesyłany do Inpost jest nieprawidłowy.
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 inpostshipColumn2">
|
|
<div class="form-group">
|
|
<label class="col-lg-3">Rozmiar:</label>
|
|
<div class="col-lg-9">
|
|
<div class="row">
|
|
<div class="col-lg-5">
|
|
<select name="inpostship[packtype]" class="">
|
|
{foreach $packtype as $p}
|
|
<option value="{$p.value}" {if $p.value == $packtype_default}selected="selected"{/if}>{$p.name}: {$p.description}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
<div class="col-lg-7">
|
|
<span style="margin-top: 5px;" class="col-lg-7">Rzeczywista waga przesyłki w kg:</span>
|
|
<div class="col-lg-2">
|
|
<input type="text" name="inpostship[packweight]" value="{$orderWeight}" class="form-control" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{if $service == 2}
|
|
<div class="col-lg-12" style="margin-top: 5px;">
|
|
<span class="col-lg-3" style="font-size: 11px;margin-top: 5px;">Własny gabaryt: <small>(max 350x240x240cm)</small></span>
|
|
<div class="col-lg-1" style="margin-top: 5px;">
|
|
<label style="">
|
|
<input type="checkbox" name="inpostship[sizes]" value="1" id="ownSize" /> TAK
|
|
</label>
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<label class="text-right" style="margin-top: 5px;">Długość:</label>
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<input id="size1" type="text" name="inpostship[size1]" value="" class="form-control" placeholder="cm" max="350" />
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<label class="text-right" style="margin-top: 5px;">Szerokość:</label>
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<input id="size2" type="text" name="inpostship[size2]" value="" class="form-control" placeholder="cm" max="240" />
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<label class="text-right" style="margin-top: 5px;">Wysokość:</label>
|
|
</div>
|
|
<div class="col-lg-1">
|
|
<input id="size3" type="text" name="inpostship[size3]" value="" class="form-control" placeholder="cm" max="240" />
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-lg-3">Nadanie:</label>
|
|
<div class="col-lg-9">
|
|
<select name="inpostship[sendtype]" class="sendtypeinput">
|
|
{foreach $sendingMethods as $sm}
|
|
{if $service == 2}
|
|
{if $sm->id == 'dispatch_order' || $sm->id == 'pop'}
|
|
<option value="{$sm->id}"{if $sm->id == $dispatch} selected="selected"{/if}>{$sm->name} ({$sm->description})</option>
|
|
{/if}
|
|
{else}
|
|
{if $sm->id == 'dispatch_order' || $sm->id == 'parcel_locker' || $sm->id == 'pop'}
|
|
<option value="{$sm->id}"{if $sm->id == $dispatch} selected="selected"{/if}>{$sm->name} ({$sm->description})</option>
|
|
{/if}
|
|
{/if}
|
|
{/foreach}
|
|
</select>
|
|
|
|
<div class="parcel_locker-box sendtypebox"{if $dispatch != 'parcel_locker'} style="display: none;"{/if}>
|
|
<input type="text" name="inpostship[sender_machine]" class="form-control" value="{$point2->name}, {$point2->address->line1}, {$point2->address->line2}" disabled="disabled" />
|
|
</div>
|
|
<div class="pop-box sendtypebox"{if $dispatch != 'pop'} style="display: none;"{/if}>
|
|
<select name="inpostship[pop_point]">
|
|
{foreach $pop_points as $pp}
|
|
<option value="{$pp.point_code}"{if $selPopPoint == $pp.point_code} selected{/if}>{$pp.point_code}, {$pp.point_address1}, {$pp.point_address2} - {$pp.point_desc}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
<div class="pok-box sendtypebox"{if $dispatch != 'pok'} style="display: none;"{/if}>
|
|
<select name="inpostship[pok_point]">
|
|
{foreach $pok_points as $pp}
|
|
<option value="{$pp.point_code}">{$pp.point_code}, {$pp.point_address1}, {$pp.point_address2} - {$pp.point_desc}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-lg-3">Numer referencyjny:</label>
|
|
<div class="col-lg-9">
|
|
<input id="refNumber" type="text" name="inpostship[reference_number]" class="form-control medium-input" value="{$identity}" minlength="3" />
|
|
<small>Numer referencyjny powinien mieć min. 3 znaki</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-3 inpostshipColumn3">
|
|
<div class="form-group">
|
|
<label class="col-lg-3">Ubezpieczenie:</label>
|
|
<div class="col-lg-9">
|
|
{if $service == 2}
|
|
<input id="ins" type="text" name="inpostship[ins]" class="form-control kurInsurance" style="width: 200px;" value="{$order->total_paid|number_format:2:'.':''}" min="{$order->total_paid|number_format:2:'.':''}" />
|
|
<small>Możesz ubezpieczyć przesyłkę na dowolną kwotę, ale minimalna to wartość zamówienia</small>
|
|
{else}
|
|
<select name="inpostship[ins]" class="">
|
|
<option value="">{l s='lack of insurance' mod='inpostship'}</option>
|
|
{foreach $insurance as $i}
|
|
<option value="{$i.value}"{if ($scv == 1 && $i.value == $ipi) || ($i.value == $ipi)} selected="selected"{/if} >{$i.name}</option>
|
|
{/foreach}
|
|
</select>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
<div class="form-group{if $scv == 0} hidden{/if}">
|
|
<label class="col-lg-3">Pobranie:</label>
|
|
<div class="col-lg-9">
|
|
<input type="{if $inpostCod == 0}hidden{else}text{/if}" name="inpostship[cod_value]" class="form-control small-input" value="{$order->total_paid|number_format:2:'.':''}" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group{if $showWeek == 0} hidden{/if}">
|
|
<label class="col-lg-3">Paczka w weekend:</label>
|
|
<div class="col-lg-9">
|
|
<input type="checkbox" name="inpostship[weekPack]" class="form-control small-input" value="1"{if $weekPack == 1} checked{/if}{if $showWeek == 0} disabled{/if} />
|
|
<small>UWAGA! Opcja dostepna jest od czwartku od godziny 20:00 do soboty do godziny 13:00</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-12">
|
|
<input type="hidden" name="inpostship[showWeek]" value="{$showWeek}" />
|
|
<input id="totalOrder" type="hidden" name="inpostship[total]" value="{$order->total_paid|number_format:2:'.':''}" />
|
|
<input type="hidden" name="inpostship[id_cart]" value="{$cart_id}" />
|
|
<input type="hidden" name="inpostship[id_order]" value="{$order->id}" />
|
|
<input type="hidden" name="inpostship[paczk]" value="{$paczk}" />
|
|
<input type="hidden" name="inpostship[service]" value="{$service}" />
|
|
<input type="hidden" name="inpostship[x13transactionId]" value="{$x13transactionId}" />
|
|
<input type="hidden" name="inpostship[x13allegroUserId]" value="{$x13allegroUserId}" />
|
|
<input type="hidden" name="inpostship[cod]" value="{$inpostCod}" />
|
|
|
|
<button type="submit" name="submitPackage" value="1" class="btn btn-success pull-left btnToAll" style="margin-right: 10px;"><span>{l s='Utwórz przesyłkę' mod='inpostship'}</span> <i class="icon-AdminInpostship" style="float: right;"></i></button>
|
|
<button type="submit" name="submitCheckPrice" value="1" class="btn btn-primary pull-left" style="margin-right: 10px;"><span>{l s='Sprawdź cenę przesyłki' mod='inpostship'}</span> <i class="material-icons mi-payment" style="float: right;margin-left: 5px;font-sizE: 17px;">payment</i>{if $price} ({$price} PLN){/if}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
{if $service != 2}
|
|
<div class="modal fade" id="inpostshipmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<h4 class="modal-title" id="myModalLabel">Wysyłaj z Inpost</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form method="post" id="formMachineReceiver">
|
|
<p class="alert alert-info">Zmiana paczkomatu.<br />Aktualny paczkomat to: <b>{$point->name}, {$point->address->line1}, {$point->address->line2}</b></p>
|
|
<div class="form-group">
|
|
<span class="btn btn-success openDropDown">Wybierz paczkomat</span>
|
|
{* <div id="easypack-dropdown"></div>*}
|
|
<div id="easypack-map"></div>
|
|
<input type="hidden" id="newReceiveMachine" name="newReceiveMachine" value="" />
|
|
<input type="hidden" name="id_order" value="{$order->id}" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-success saveMachineReceiver">{l s='Zmień' mod='inpostship'}</button>
|
|
<button type="button" class="btn btn-default closeInpostMap" data-dismiss="modal">{l s='Close' mod='inpostship'}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
|
|
<script async src="https://geowidget.easypack24.net/js/sdk-for-javascript.js"></script>
|
|
<link rel="stylesheet" href="https://geowidget.easypack24.net/css/easypack.css"/>
|
|
<style type="text/css">
|
|
.d-none {
|
|
display: block;
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$('.saveMachineReceiver').on('click', function () {
|
|
$('#formMachineReceiver').submit();
|
|
$('.inpost-easypack-css').empty();
|
|
});
|
|
$('.closeInpostMap').on('click', function (){
|
|
$('#inpostshipmodal').css({
|
|
'display' : 'none',
|
|
'opacity' : 0,
|
|
'margin-top':'10px'
|
|
});
|
|
})
|
|
$('.changeReceiverMachine').on('click', function() {
|
|
window.easyPackAsyncInit = function () {
|
|
easyPack.init({
|
|
mapType: 'osm',
|
|
searchType: 'osm',
|
|
map: {
|
|
useGeolocation: false,
|
|
initialTypes: ['parcel_locker_only']
|
|
},
|
|
});
|
|
var map = easyPack.mapWidget('easypack-map', function(point) {
|
|
$('#newReceiveMachine').val(point.name);
|
|
$('#formMachineReceiver .alert').after('<p class="alert alert-success">Nowy paczkomat: <b>'+point.name+'</b> - '+point.address.line1+', '+point.address.line2+'</p>');
|
|
$('.saveMachineReceiver').show();
|
|
});
|
|
};
|
|
$('#inpostshipmodal').css({
|
|
'display' : 'block',
|
|
'opacity' : 1,
|
|
'margin-top':'10px'
|
|
});
|
|
$('#inpostshipmodal .modal-content').css({
|
|
'top':'195px'
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
{/if}
|