Files
assetmgt/product_manage.php
2024-09-18 12:07:03 +02:00

214 lines
9.2 KiB
PHP

<?php
defined(page_security_key) or exit;
$page = 'product_manage';
//Check if allowed
if (isAllowed($page,$_SESSION['profile'],$_SESSION['permission'],'R') === 0){
header('location: index.php');
exit;
}
//PAGE Security
$update_allowed = isAllowed($page ,$_SESSION['profile'],$_SESSION['permission'],'U');
$delete_allowed = isAllowed($page ,$_SESSION['profile'],$_SESSION['permission'],'D');
$create_allowed = isAllowed($page ,$_SESSION['profile'],$_SESSION['permission'],'C');
//
if ($_GET['id'] !=''){
$url = 'index.php?page=product&rowID='.$_GET['id'];
} else {
$url = 'index.php?page=products';
}
// Default input product values
$product = [
'rowID' => '',
'productcode' => '',
'productname' => '',
'productdescription' => '',
'softwareversion' => 'v1.0',
'created' => '',
'createdby' => $_SESSION['username'],
'parttype' => 1,
'price' => '0',
'salesflag' => 0,
'updated' => '',
'updatedby' => $_SESSION['username'],
'product_category' => '',
'status' => 1,
'build' => 1,
'partnerhierarchy' => '',
'sn' =>''
];
if (isset($_GET['id'])) {
// ID param exists, edit an existing product
//CALL TO API
$api_url = '/v1/products/rowID='.$_GET['id'];
$responses = ioServer($api_url,'');
//Decode Payload
if (!empty($responses)){$responses = decode_payload($responses);}else{$responses = null;}
$product = json_decode(json_encode($responses[0]), true);
if ($update_allowed === 1){
if (isset($_POST['file_upload'])){
uploadProduct($_POST['productcode']);
}
if (isset($_POST['submit'])) {
//GET ALL POST DATA
$data = json_encode($_POST, JSON_UNESCAPED_UNICODE);
//Secure data
$payload = generate_payload($data);
//API call
$responses = ioServer('/v1/products', $payload);
if ($responses === 'NOK'){
} else {
header('Location: index.php?page=product&rowID='.$_GET['id'].'&success_msg=2');
exit;
}
}
}
if ($delete_allowed === 1){
if (isset($_POST['delete'])) {
//GET ALL POST DATA
$data = json_encode($_POST, JSON_UNESCAPED_UNICODE);
//Secure data
$payload = generate_payload($data);
//API call
$responses = ioServer('/v1/products', $payload);
if ($responses === 'NOK'){
} else {
// Redirect and delete product
header('Location: index.php?page=products&success_msg=3');
exit;
}
}
}
} else {
// Create a new product
if (isset($_POST['submit']) && $create_allowed === 1) {
//GET ALL POST DATA
$data = json_encode($_POST , JSON_UNESCAPED_UNICODE);
//Secure data
$payload = generate_payload($data);
//API call
$responses = ioServer('/v1/products', $payload);
if ($responses === 'NOK'){
}
else {
header('Location: index.php?page=products&success_msg=1');
exit;
}
}
}
template_header('Product', 'product', 'manage');
$view ='
<form action="" method="post">
<div class="content-title responsive-flex-wrap responsive-pad-bot-3">
<h2 class="responsive-width-100">'.$product_h2.'</h2>
<a href="'.$url.'" class="btn alt mar-right-2">'.$button_cancel.'</a>
';
if ($delete_allowed === 1){
$view .= '<input type="submit" name="delete" value="Delete" class="btn red mar-right-2" onclick="return confirm(\'Are you sure you want to delete this product?\')">';
}
if ($update_allowed === 1){
$view .= '<input type="submit" name="submit" value="Save" class="btn">';
}
$view .= '</div>';
$view .= '<div class="tabs">
<a href="#" class="active">'.$tab1.'</a>
<a href="#">'.$tab4.'</a>
<a href="#">'.$tab3.'</a>
</div>
';
$view .= '<div class="content-block tab-content active">
<div class="form responsive-width-100">
<label for="status">'.$product_status.'</label>
<select id="status" name="status">
<option value="1" '.($product['status']==1?' selected':'').'>'.$prod_status_1 .'</option>
<option value="0" '.($product['status']==0?' selected':'').'>'.$prod_status_0 .'</option>
</select>
<label for="parttype">'.$product_parttype.'</label>
<select id="status" name="parttype">
<option value="1" '.($product['parttype']==1?' selected':'').'>'.$part_type1.'</option>
<option value="2" '.($product['parttype']==2?' selected':'').'>'.$part_type2.'</option>
<option value="3" '.($product['parttype']==3?' selected':'').'>'.$part_type3.'</option>
</select>
<label for="parttype">'.$product_category.'</label>
<select id="status" name="product_category">
<option value="0" '.($product['product_category']==0?' selected':'').'>'.$product_category0.'</option>
<option value="1" '.($product['product_category']==1?' selected':'').'>'.$product_category1.'</option>
<option value="2" '.($product['product_category']==2?' selected':'').'>'.$product_category2.'</option>
<option value="3" '.($product['product_category']==3?' selected':'').'>'.$product_category3.'</option>
</select>
<label for="productcode"><i class="required">*</i>'.$product_code.'</label>
<input id="name" type="text" name="productcode" placeholder="'.$product_code.'" value="'.$product['productcode'].'" required>
<label for="productname"><i class="required">*</i>'.$product_name.'</label>
<input id="name" type="text" name="productname" placeholder="'.$product_name.'" value="'.$product['productname'].'" required>
<label for="productdescription">'.$product_description.'</label>
<textarea id="description" name="productdescription" placeholder="'.$product_description.'">'.$product['productdescription'].'</textarea>
<label for="softwareversion">'.$product_software.'</label>
<input id="name" type="text" name="softwareversion" placeholder="'.$product_software.'" value="'.$product['softwareversion'].'">
<label for="price"><i class="required">*</i> '.$product_price.' </label>
<input id="price" type="number" name="price" placeholder="'.$product_price.'" min="0" step=".01" value="'.$product['price'].'" required>
<input type="hidden" name="rowID" value="'.$product['rowID'].'">
</div>
</div>';
$view .= '<div class="content-block tab-content">
<div class="form responsive-width-100">
<label for="serialized">'.$product_serialized.'</label>
<select id="status" name="sn">
<option value="1" '.($product['sn']==1?' selected':'').'>'.$enabled.'</option>
<option value="0" '.($product['sn']==0?' selected':'').'>'.$disabled.'</option>
</select>
<label for="build">'.$product_build.'</label>
<select id="status" name="build">
<option value="1" '.($product['build']==1?' selected':'').'>'.$enabled.'</option>
<option value="0" '.($product['build']==0?' selected':'').'>'.$disabled.'</option>
</select>
<label for="sales">'.$product_sales.'</label>
<select id="status" name="salesflag">
<option value="1" '.($product['salesflag']==1?' selected':'').'>'.$enabled.'</option>
<option value="0" '.($product['salesflag']==0?' selected':'').'>'.$disabled.'</option>
</select>
</div>
</div>';
$view .= '<div class="content-block tab-content">
<div class="form responsive-width-100">
<label for="productcode">'.$general_created.'</label>
<input id="name" type="text" name="" placeholder="'.$general_created.'" value="'.$product['created'].'" readonly>
<label for="productcode">'.$general_createdby.'</label>
<input id="name" type="text" name="" placeholder="'.$general_createdby.'" value="'.$product['createdby'].'" readonly>
<label for="productcode">'.$general_updated.'</label>
<input id="name" type="text" name="" placeholder="'.$general_updated.'" value="'.$product['updated'].'" readonly>
<label for="productcode">'.$general_updatedby.'</label>
<input id="name" type="text" name="" placeholder="'.$general_updatedby.'" value="'.$product['updatedby'].'" readonly>
</div>
</div>';
$view .= '</form>';
$view .= '<form action="" method="post" style="padding: 20px;" enctype="multipart/form-data">
<input type="hidden" value="'.$product['rowID'].'" name="file_upload" />
<input type="hidden" name="productcode" value="'.$product["productcode"].'"/>
<input type="file" name="fileToUpload" id="fileToUpload" onchange="this.form.submit()" accept=".jpg, .jpeg, .png">
</form>
';
//Output
echo $view;
template_footer()?>