dolibarr 19.0.4
interface.php
Go to the documentation of this file.
1<?php
2
7if (!defined('NOREQUIRESOC')) {
8 define('NOREQUIRESOC', '1');
9}
10if (!defined('NOCSRFCHECK')) {
11 define('NOCSRFCHECK', '1');
12}
13if (!defined('NOTOKENRENEWAL')) {
14 define('NOTOKENRENEWAL', '1');
15}
16if (!defined('NOREQUIREMENU')) {
17 define('NOREQUIREMENU', '1');
18}
19if (!defined('NOREQUIREHTML')) {
20 define('NOREQUIREHTML', '1');
21}
22if (!defined('NOREQUIREAJAX')) {
23 define('NOREQUIREAJAX', '1');
24}
25
26require '../../main.inc.php'; // Load $user and permissions
27
28$warehouse_id = GETPOST('warehouse_id', 'int');
29$batch = GETPOST('batch', 'alphanohtml');
30$fk_product = GETPOST('product_id', 'int');
31$action = GETPOST('action', 'alphanohtml');
32
33$result = restrictedArea($user, 'mrp');
34
35$permissiontoproduce = $user->rights->mrp->write;
36
37
38
39/*
40 * View
41 */
42
43top_httphead("application/json");
44
45if ($action == 'updateselectbatchbywarehouse' && $permissiontoproduce) {
46 $TRes = array();
47
48 $sql = "SELECT pb.batch, pb.rowid, ps.fk_entrepot, pb.qty, e.ref as label, ps.fk_product";
49 $sql .= " FROM " . MAIN_DB_PREFIX . "product_batch as pb";
50 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product_stock as ps on ps.rowid = pb.fk_product_stock";
51 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" . getEntity('stock') . ")";
52 $sql .= " WHERE ps.fk_product = " .((int) $fk_product);
53 if ($warehouse_id > 0) {
54 $sql .= " AND fk_entrepot = '" . ((int) $warehouse_id) . "'";
55 }
56 $sql .= " ORDER BY e.ref, pb.batch";
57
58 $resql = $db->query($sql);
59
60 if ($resql) {
61 while ($obj = $db->fetch_object($resql)) {
62 if (empty($TRes[$obj->batch])) {
63 $TRes[$obj->batch] = $obj->qty;
64 } else {
65 $TRes[$obj->batch] += $obj->qty;
66 }
67 }
68 }
69
70 echo json_encode($TRes);
71} elseif ($action == 'updateselectwarehousebybatch' && $permissiontoproduce) {
72 $res = 0;
73
74 $sql = "SELECT pb.batch, pb.rowid, ps.fk_entrepot, e.ref, pb.qty";
75 $sql .= " FROM " . MAIN_DB_PREFIX . "product_batch as pb";
76 $sql .= " JOIN " . MAIN_DB_PREFIX . "product_stock as ps on ps.rowid = pb.fk_product_stock";
77 $sql .= " JOIN " . MAIN_DB_PREFIX . "entrepot as e on e.rowid = ps.fk_entrepot AND e.entity IN (" . getEntity('stock') . ")";
78 $sql .= " WHERE ps.fk_product = " .((int) $fk_product);
79 if ($batch) {
80 $sql.= " AND pb.batch = '" . $db->escape($batch) . "'";
81 }
82 $sql .= " ORDER BY e.ref, pb.batch";
83
84 $resql = $db->query($sql);
85
86 if ($resql) {
87 if ($db->num_rows($resql) == 1) {
88 $obj = $db->fetch_object($resql);
89 $res = $obj->fk_entrepot;
90 }
91 }
92
93 echo json_encode($res);
94}
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.
if(!defined( 'NOREQUIREMENU')) if(!empty(GETPOST('seteventmessages', 'alpha'))) if(!function_exists("llxHeader")) top_httphead($contenttype='text/html', $forcenocache=0)
Show HTTP header.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.