Initial commit

This commit is contained in:
Senad Uka
2018-06-11 11:09:35 +02:00
commit ed7df7b11f
1954 changed files with 483354 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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');
}
}

View File

@@ -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);
}
}

View File

@@ -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>

View File

@@ -0,0 +1 @@
<table class="table table-bordered table-striped table-hover" id="order-projects-table"></table>