Initial commit
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
class OrderProjects{
|
||||
public function getOrderProjectsHeaders($type = 'array'){
|
||||
$headersHelper = new HeadersHelper();
|
||||
$data = [];
|
||||
|
||||
$headers = [
|
||||
'op.id' => 'idProject',
|
||||
'op.name' => 'projectName',
|
||||
'op.isAvailable' => 'isAvailable'
|
||||
];
|
||||
|
||||
$data['headers'] = $headersHelper->getHeader($headers, $type);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getOrderProjects($available = 1){
|
||||
global $database;
|
||||
$data = [];
|
||||
$headersSql = $this->getOrderProjectsHeaders('sql')['headers'];
|
||||
$whereSql = intval($available) === 1 ? " AND op.isAvailable=1" : "";
|
||||
|
||||
$sql = "SELECT
|
||||
$headersSql
|
||||
FROM ".TABLES['order_projects']." op
|
||||
WHERE 1=1 $whereSql
|
||||
ORDER BY op.name ASC";
|
||||
$data['data'] = $database->fetchResultArray($sql);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function validateProjectData($projectData){
|
||||
global $database;
|
||||
$data = [];
|
||||
|
||||
$checkMessage = $database->isEmpty('projectName', $projectData->projectName);
|
||||
if($checkMessage){
|
||||
$data['messages'][] = $checkMessage;
|
||||
}
|
||||
|
||||
$checkMessage = $database->invalidLength('projectName', $projectData->projectName, 100);
|
||||
if($checkMessage){
|
||||
$data['messages'][] = $checkMessage;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function editOrderProject($projectData){
|
||||
global $database;
|
||||
$data = [];
|
||||
$projectData = json_decode($projectData);
|
||||
|
||||
if(empty($projectData)){
|
||||
$data['messages'][] = [
|
||||
'code' => 'error',
|
||||
'message' => 'INVALID_DATA'
|
||||
];
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
$checkMessages = $this->validateProjectData($projectData);
|
||||
if(!empty($checkMessages)){
|
||||
return $checkMessages;
|
||||
}
|
||||
|
||||
$sql = "UPDATE ".TABLES['order_projects']."
|
||||
SET name='".$database->escapeValue($projectData->projectName)."',
|
||||
isAvailable=".$database->escapeValue($projectData->isAvailable)."
|
||||
WHERE id=".$database->escapeValue($projectData->idProject);
|
||||
$query = $database->query($sql);
|
||||
|
||||
if($database->affectedRows() < 1){
|
||||
$data['messages'][] = [
|
||||
'code' => 'warning',
|
||||
'message' => 'NO_CHANGES'
|
||||
];
|
||||
|
||||
}else{
|
||||
$data['messages'][] = [
|
||||
'code' => 'success',
|
||||
'message' => 'PROJECT_UPDATED'
|
||||
];
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
class OrderProjectsController{
|
||||
private $model;
|
||||
|
||||
function __construct(){
|
||||
$this->model = new OrderProjectsModel();
|
||||
}
|
||||
|
||||
public function getOrderProjectsHeaders(){
|
||||
echo json_encode($this->model->getOrderProjectsHeaders(), JSON_NUMERIC_CHECK);
|
||||
}
|
||||
|
||||
public function getOrderProjects(){
|
||||
$available = isset($_REQUEST['available']) ? $_REQUEST['available'] : '';
|
||||
echo json_encode($this->model->getOrderProjects($available), JSON_NUMERIC_CHECK);
|
||||
}
|
||||
|
||||
public function editOrderProject(){
|
||||
$projectData = isset($_REQUEST['projectData']) ? $_REQUEST['projectData'] : '[]';
|
||||
echo json_encode($this->model->editOrderProject($projectData), JSON_NUMERIC_CHECK);
|
||||
}
|
||||
|
||||
public function orderProjectsEditTemplate() {
|
||||
require_once('templates/OrderProjectsEditTemplate.php');
|
||||
}
|
||||
|
||||
public function orderProjectsTemplate() {
|
||||
require_once('templates/OrderProjectsTemplate.php');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
class OrderProjectsModel{
|
||||
|
||||
public function getOrderProjectsHeaders(){
|
||||
$orderProjectsHandler = new OrderProjects();
|
||||
|
||||
return $orderProjectsHandler->getOrderProjectsHeaders();
|
||||
}
|
||||
|
||||
public function getOrderProjects($available){
|
||||
$orderProjectsHandler = new OrderProjects();
|
||||
|
||||
return $orderProjectsHandler->getOrderProjects($available);
|
||||
}
|
||||
|
||||
public function editOrderProject($projectData){
|
||||
$orderProjectsHandler = new OrderProjects();
|
||||
|
||||
return $orderProjectsHandler->editOrderProject($projectData);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<div id="order-projects-edit" class="row">
|
||||
<form class="col-md-6">
|
||||
<div class="form-group col-md-12">
|
||||
<label class="col-md-2" for="projectName">Project Name</label>
|
||||
<input class="col-md-4"
|
||||
type="text"
|
||||
class="form-control"
|
||||
id="projectName"
|
||||
placeholder="Project Name"
|
||||
ng-model="data.projectName"
|
||||
value="{{data.projectName}}"
|
||||
autofocus>
|
||||
</div>
|
||||
|
||||
<div class="form-check col-md-12">
|
||||
<label class="col-md-2" for="projectName">Is Available</label>
|
||||
<div class="col-md-4">
|
||||
<input class="form-check-input"
|
||||
type="radio" name="isAvailable"
|
||||
id="isAvailable-yes"
|
||||
ng-model="data.isAvailable"
|
||||
value="1">
|
||||
<label class="form-check-label" for="isAvailable">Yes</label>
|
||||
|
||||
<input class="form-check-input"
|
||||
type="radio"
|
||||
name="isAvailable"
|
||||
id="isAvailable-no"
|
||||
ng-model="data.isAvailable"
|
||||
value="0">
|
||||
<label class="form-check-label" for="isAvailable">No</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<div class="col-md-12">
|
||||
<button ng-click="editOrderProject()" class="btn btn-primary">Edit Project</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
<table class="table table-bordered table-striped table-hover" id="order-projects-table"></table>
|
||||
Reference in New Issue
Block a user