|
|
@@ -356,7 +356,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<link rel="stylesheet" href="static/sweetalert2.min.css" type="text/css">
|
|
|
<script src="static/sweetalert2.min.js"></script>
|
|
|
<script>
|
|
|
-var _saveLink = '<?php echo Request::getPathUri(); ?>index.php?_route=UrlAction_ProjektyProNetMediaBudget&_task=addCostAjax';
|
|
|
+var _saveLink = '<?php echo Request::getPathUri(); ?>index.php?_route=UrlAction_ProjektyProNetMediaBudget&_task=addCostAjax&ID_PROJECT=<?php echo $data['id_project']; ?>';
|
|
|
var _dbg = <?php echo V::get('DBG', 0, $_REQUEST, 'int'); ?>;
|
|
|
|
|
|
function p5Utils_parseFloatOrZero(strToParse) {
|
|
|
@@ -372,7 +372,8 @@ function p5Utils_parseFloatOrZero(strToParse) {
|
|
|
function budget_addCost(n, type) {
|
|
|
var labels = {}
|
|
|
labels['ANEKS'] = "Aneks"
|
|
|
- labels['KARY'] = "kary, potrącenia "
|
|
|
+ labels['KARY'] = "kary, potrącenia"
|
|
|
+ // TODO: add labels ...
|
|
|
var labelType = (type in labels) ? labels[type] : type
|
|
|
|
|
|
swal({
|
|
|
@@ -424,8 +425,8 @@ function budget_addCost(n, type) {
|
|
|
swal({
|
|
|
type: 'success',
|
|
|
animation: false,
|
|
|
- title: 'Koszt dodano!',
|
|
|
- html: 'Add cost: ' + responseBody.price + ' for type('+responseBody.type+') ' + labelType + '.'
|
|
|
+ title: responseBody.msg || 'Koszt dodano',
|
|
|
+ html: 'Rodzaj kosztu: ' + (labelType || responseBody.type) + ', kwota: ' + responseBody.price + '.'
|
|
|
})
|
|
|
}).catch(function(e) {
|
|
|
// eg. hit Cancel
|
|
|
@@ -442,17 +443,31 @@ function budget_addCost(n, type) {
|
|
|
public function addCostAjaxAction() {
|
|
|
$response = array();
|
|
|
$response['type'] = 'danger';
|
|
|
- $response['msg'] = 'TODO';
|
|
|
+ $response['msg'] = 'Unknown error';
|
|
|
try {
|
|
|
+ $idProject = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
|
|
|
+ if (!$idProject) throw new Exception("Missing id project");
|
|
|
$json = Request::getRequestBody();
|
|
|
if (empty($json)) throw new Exception("Error Processing Request - json expected");
|
|
|
$json = @json_decode($json, $assoc = true);
|
|
|
if (null == $json && 0 !== json_last_error()) throw new Exception("Error Processing Request - Parse json error: " . json_last_error());
|
|
|
$price = V::get('price', '', $json);
|
|
|
$type = V::get('type', '', $json);
|
|
|
- if (empty($json['price'])) throw new Exception("Missing price");
|
|
|
- if (empty($json['type'])) throw new Exception("Missing type");
|
|
|
-throw new Exception("Missing price X");
|
|
|
+ if (empty($price)) throw new Exception("Missing price");
|
|
|
+ if (empty($type)) throw new Exception("Missing type");
|
|
|
+ $response['price'] = $price;
|
|
|
+ $response['type'] = $type;
|
|
|
+
|
|
|
+ $cost = array();
|
|
|
+ $cost['COST_VALUE'] = $price;
|
|
|
+ $cost['COST_TYPE'] = $type;
|
|
|
+ $cost['ID_PROJECT'] = $idProject;
|
|
|
+ // $cost['NOTES'] = $notes;// TODO: add notes to form?
|
|
|
+ $idItem = DB::getDB()->ADD_NEW_OBJ('PROJECT_COSTS', (object)$cost);
|
|
|
+ if ($idItem <= 0) throw new Exception("Wystąpiły błędy podczas tworzenia nowego rekordu w bazie danych");
|
|
|
+ $response['type'] = 'success';
|
|
|
+ $response['id'] = $idItem;
|
|
|
+ $response['msg'] = "Koszt został dodany";
|
|
|
} catch (Exception $e) {
|
|
|
$response['type'] = 'danger';
|
|
|
$response['msg'] = $e->getMessage();
|
|
|
@@ -461,3 +476,46 @@ throw new Exception("Missing price X");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+-- `PROJECT_COSTS`.`COST_VALUE` max 1000000123456,78
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `PROJECT_COSTS` (
|
|
|
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
+ `ID_PROJECT` int(11) NOT NULL DEFAULT 0,
|
|
|
+ `A_RECORD_CREATE_DATE` datetime DEFAULT NULL,
|
|
|
+ `A_RECORD_CREATE_AUTHOR` varchar(20) DEFAULT NULL,
|
|
|
+ `SYNC_SQIX_STATUS` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `A_RECORD_UPDATE_DATE` datetime DEFAULT NULL,
|
|
|
+ `A_RECORD_UPDATE_AUTHOR` varchar(20) NOT NULL DEFAULT '',
|
|
|
+ `A_STATUS` enum('WAITING','NORMAL','MONITOR','WARNING','OFF_SOFT','OFF_HARD','DELETED') DEFAULT NULL,
|
|
|
+ `A_ADM_COMPANY` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `A_CLASSIFIED` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `COST_VALUE` decimal(16,2) NOT NULL DEFAULT '',
|
|
|
+ `COST_TYPE` varchar(32) NOT NULL DEFAULT '',
|
|
|
+ `NOTES` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ PRIMARY KEY (`ID`)
|
|
|
+ KEY `ID_PROJECT` (`ID_PROJECT`)
|
|
|
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `PROJECT_COSTS_HIST` (
|
|
|
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
+ `ID_USERS2` int(11) NOT NULL,
|
|
|
+ `ID_PROJECT` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_CREATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_CREATE_AUTHOR` varchar(20) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `SYNC_SQIX_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_UPDATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_UPDATE_AUTHOR` varchar(20) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_STATUS_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_ADM_COMPANY` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_CLASSIFIED` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `COST_VALUE` varchar(16) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `COST_TYPE` varchar(32) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `NOTES` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ PRIMARY KEY (`ID`),
|
|
|
+ KEY `ID_USERS2` (`ID_USERS2`)
|
|
|
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
|
+
|
|
|
+*/
|