|
@@ -1495,6 +1495,109 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|
|
if (in_array($action, array('consumeorproduce', 'consumeandproduceall', 'addconsumeline'))) {
|
|
|
print "</form>\n";
|
|
|
}
|
|
|
+
|
|
|
+ ?>
|
|
|
+
|
|
|
+ <script type="text/javascript" language="javascript">
|
|
|
+
|
|
|
+ $(document).ready(function() {
|
|
|
+ //Consumption : When a warehouse is selected, only the lot/serial numbers that are available in it are offered
|
|
|
+ updateselectbatchbywarehouse();
|
|
|
+ //Consumption : When a lot/serial number is selected and it is only available in one warehouse, the warehouse is automatically selected
|
|
|
+ updateselectwarehousebybatch();
|
|
|
+ });
|
|
|
+
|
|
|
+ function updateselectbatchbywarehouse() {
|
|
|
+ var element = $("select[name*='idwarehouse']");
|
|
|
+
|
|
|
+ element.change(function () {
|
|
|
+
|
|
|
+ var selectwarehouse = $(this);
|
|
|
+
|
|
|
+ var selectbatch_name = selectwarehouse.attr('name').replace('idwarehouse', 'batch');
|
|
|
+ var selectbatch = $("datalist[id*='" + selectbatch_name + "']");
|
|
|
+ var selectedbatch = selectbatch.val();
|
|
|
+
|
|
|
+ var product_element_name = selectwarehouse.attr('name').replace('idwarehouse', 'product');
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ type: "POST",
|
|
|
+ url: "<?php echo DOL_URL_ROOT . '/mrp/ajax/interface.php'; ?>",
|
|
|
+ data: {
|
|
|
+ action: "updateselectbatchbywarehouse",
|
|
|
+ permissiontoproduce: <?php echo $permissiontoproduce ?>,
|
|
|
+ warehouse_id: $(this).val(),
|
|
|
+ product_id: $("input[name='" + product_element_name + "']").val()
|
|
|
+ }
|
|
|
+ }).done(function (data) {
|
|
|
+
|
|
|
+ selectbatch.empty();
|
|
|
+
|
|
|
+ var data = JSON.parse(data);
|
|
|
+
|
|
|
+ selectbatch.append($('<option>', {
|
|
|
+ value: '',
|
|
|
+ }));
|
|
|
+
|
|
|
+ $.each(data, function (key, value) {
|
|
|
+
|
|
|
+ if(selectwarehouse.val() == -1) {
|
|
|
+ var label = " (<?php echo $langs->trans('Stock total') ?> : " + value + ")";
|
|
|
+ } else {
|
|
|
+ var label = " (<?php echo $langs->trans('Stock') ?> : " + value + ")";
|
|
|
+ }
|
|
|
+
|
|
|
+ if(key === selectedbatch) {
|
|
|
+ var option ='<option value="'+key+'" selected>'+ label +'</option>';
|
|
|
+ } else {
|
|
|
+ var option ='<option value="'+key+'">'+ label +'</option>';
|
|
|
+ }
|
|
|
+
|
|
|
+ selectbatch.append(option);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function updateselectwarehousebybatch() {
|
|
|
+
|
|
|
+ $(document).on('change', 'input[name*=batch]', function(){
|
|
|
+
|
|
|
+ var selectbatch = $(this);
|
|
|
+
|
|
|
+ var selectwarehouse_name = selectbatch.attr('name').replace('batch', 'idwarehouse');
|
|
|
+ var selectwarehouse = $("select[name*='" + selectwarehouse_name + "']");
|
|
|
+ var selectedwarehouse = selectwarehouse.val();
|
|
|
+
|
|
|
+ if(selectedwarehouse != -1){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var product_element_name = selectbatch.attr('name').replace('batch', 'product');
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ type: "POST",
|
|
|
+ url: "<?php echo DOL_URL_ROOT . '/mrp/ajax/interface.php'; ?>",
|
|
|
+ data: {
|
|
|
+ action: "updateselectwarehousebybatch",
|
|
|
+ permissiontoproduce: <?php echo $permissiontoproduce ?>,
|
|
|
+ batch: $(this).val(),
|
|
|
+ product_id: $("input[name='" + product_element_name + "']").val()
|
|
|
+ }
|
|
|
+ }).done(function (data) {
|
|
|
+
|
|
|
+ var data = JSON.parse(data);
|
|
|
+
|
|
|
+ if(data != 0){
|
|
|
+ selectwarehouse.val(data).change();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ </script>
|
|
|
+
|
|
|
+ <?php
|
|
|
}
|
|
|
|
|
|
// End of page
|