Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Config/module.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<language>en_US</language>
<language>fr_FR</language>
</languages>
<version>2.0.1</version>
<version>2.0.2</version>
<authors>
<author>
<name>Gilles Bourgeat</name>
Expand Down
15 changes: 15 additions & 0 deletions Controller/Admin/BordereauController.php
Original file line number Diff line number Diff line change
Expand Up @@ -193,4 +193,19 @@ public function deleteBordereauAction(Request $request): Response

return $this->listBordereauAction();
}

/**
* @throws Exception
*/
#[Route('/bordereau/delete-multiple', name: 'delete-multiple', methods: 'POST')]
public function deletePackingSlipsAction(Request $request): Response
{
$filePaths = $request->get('filePaths');
$fs = new Filesystem();
foreach ($filePaths as $filePath){
$fs->remove($filePath);
}
return $this->listBordereauAction();
}

}
1 change: 1 addition & 0 deletions I18n/backOffice/default/en_US.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
'Date' => 'Date',
'Delete' => 'Delete',
'Delete bordereau' => 'Delete bordereau',
'Delete packing slips selected' => 'Delete packing slips selected',
'Destination' => 'Destination',
'Do not change' => 'Do not change',
'Do you want to clear label and tracking number for this order ?' => 'Do you want to clear label and tracking number for this order ?',
Expand Down
1 change: 1 addition & 0 deletions I18n/backOffice/default/fr_FR.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
'Date' => 'Date',
'Delete' => 'Supprimer',
'Delete bordereau' => 'Supprimer le bordereau',
'Delete packing slips selected' => 'Supprimer les bordereaux selectionnés',
'Destination' => 'Destination',
'Do not change' => 'Ne pas modifier',
'Do you want to clear label and tracking number for this order ?' => 'Voulez-vous supprimer cette étiquette et le n° de suivi ?',
Expand Down
57 changes: 49 additions & 8 deletions templates/backOffice/default/colissimo-label/bordereau-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,29 @@
</a>
</div>
</div>

<div>
<a id="select-all-packing-slips" onclick="toggleCheckBox()"> {intl l="select all" d="colissimolabel.bo.default"}</a>
</div>
{if $bordereaux}
<table class="table table-condensed" style="width:100%">
<colgroup>
<col style="width: 95%;">
<col style="width: 5%;">
<col style="width: 90%;">
<col style="width: 5%;">
</colgroup>
<thead>
<tr class="active">
<th class="text-left">{intl d='colissimolabel.bo.default' l="Bordereau"}</th>
<th class="text-center">{intl d='colissimolabel.bo.default' l="Action"}</th>
</tr>
<tr class="active">
<th class="text-center">{intl d='colissimolabel.bo.default' l="Sel."}</th>
<th class="text-left">{intl d='colissimolabel.bo.default' l="Bordereau"}</th>
<th class="text-center">{intl d='colissimolabel.bo.default' l="Action"}</th>
</tr>
</thead>
<tbody>
{foreach from=$bordereaux item=bordereau}
<tr>
<td class="text-left">
<input type="checkbox" class="form-control packing-slip-checkbox" data-filepath="{$bordereau['path']}"}>
</td>
<td class="text-left">
<a href="{url path="/admin/module/ColissimoLabel/bordereau/download" filePath="{$bordereau['path']}"}" target="_blank">
{$bordereau['name']}
Expand All @@ -75,15 +82,49 @@
{/foreach}
</tbody>
</table>
<div class="pull-right">
<button id="delete-selected-packing-slip" class="btn btn-primary" title="{intl l='Delete packing slips selected' d='colissimolabel.bo.default'}">{intl l='Delete packing slips selected' d='colissimolabel.bo.default'}</button>
</div>
{/if}
</div>
{/if}
</div>
</div>
</div>
</div>
</div>
</div>
{/block}

{block name="javascript-last-call"}
{/block}
<script>
$(function(){
function toggleCheckBox() {
var checkboxes = document.getElementsByClassName('packing-slip-checkbox');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = !checkboxes[i].checked;
}
}

function deleteSelectedPackingSlips() {
var data = [...document.querySelectorAll('.packing-slip-checkbox:checked')].map(e => e.dataset.filepath);
if(data.length > 0){
$.ajax({
method: "POST",
dataType: 'json',
data: {
filePaths: data
},
url: "{url path='/admin/module/ColissimoLabel/bordereau/delete-multiple'}"
}).done(function (data, textStatus, jqXHR) {
location.reload();
}).fail(function (jqXHR, textStatus, errorThrown) {
document.getElementById("error-bordereau-message").innerHTML = jqXHR.responseJSON.message;
});
}
}
document.getElementById("select-all-packing-slips").onclick = toggleCheckBox;
document.getElementById("delete-selected-packing-slip").onclick = deleteSelectedPackingSlips;

})

</script>{/block}