From fad4de7a7285ebb4e912f141c70b7296c7363128 Mon Sep 17 00:00:00 2001 From: RezaMohammadi99 Date: Tue, 4 Jun 2019 18:21:33 +0000 Subject: [PATCH 1/2] Fixed Exporting Issue This commit fixes the exporter adding accented characters to the file. --- .../js/Components/Exporter/GridExporter.js | 7 ++++++- .../js/Components/Project/MetaPartSubgrid.js | 9 +++++---- .../js/Components/Project/ProjectReport.js | 7 +++++-- .../Project/Renderers/RemarksRenderer.js | 1 + .../ProjectBundle/Entity/ReportPart.php | 17 +++++++++++++++++ 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Exporter/GridExporter.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Exporter/GridExporter.js index ee8064fdd..7e5efe54c 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Exporter/GridExporter.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Exporter/GridExporter.js @@ -50,7 +50,12 @@ Ext.define("PartKeepr.Exporter.GridExporter", { } if (!column.isHidden()) { - rowValues.push(Ext.util.Format.stripTags(value)); + try{ + rowValues.push(Ext.util.Format.stripTags(value.replace(/[^\x1F-\x7D]/g,''))) + } + catch(err){ + rowValues.push(Ext.util.Format.stripTags(value)); + } } } diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js index 96f9bb8cb..be3a0e229 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js @@ -85,7 +85,6 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { onApplyMetaPartsClick: function (button) { var parentRecord = button.up("grid").parentRecord; - this.convertMetaPartsToParts(parentRecord); }, /** @@ -98,7 +97,7 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { { var missing; - var i, projectReportItem, subPart; + var i, projectReportItem, subPart, projectPart; for (i = 0; i < record.subParts().getCount(); i++) { @@ -119,7 +118,9 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { projectReportItem.set("quantity", subPart.get("stockToUse")); projectReportItem.setReport(this.up("#projectReportResult").projectReport); - + projectPart = Ext.create("PartKeepr.ProjectBundle.Entity.ProjectPart"); + projectPart.setPart(subPart); + projectPart.set("remarks", "remark"); record.store.add(projectReportItem); } } @@ -192,4 +193,4 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { return total; } -}); \ No newline at end of file +}); diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReport.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReport.js index b656671c9..219fcb5a4 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReport.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReport.js @@ -108,7 +108,7 @@ Ext.define('PartKeepr.ProjectReportView', { quantity: projectsToReport[i].quantity })); } - + this.doSaveProjectReport(); }, /** @@ -130,7 +130,6 @@ Ext.define('PartKeepr.ProjectReportView', { { this.reportResult.setProjectsToReport([]); this.reportResult.setStore(new Ext.data.Store()); - var selection = this.reportList.getSelection(); if (selection.length === 1) { @@ -153,6 +152,10 @@ Ext.define('PartKeepr.ProjectReportView', { }); this.reportList.getStore().reload(); + + + + }, onProjectReportLoaded: function () { this.reportResult.reconfigure(this.projectReport.reportParts()); diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js index a3aada78b..2ed1582ae 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js @@ -7,6 +7,7 @@ Ext.define("PartKeepr.Components.ProjectReport.Renderers.RemarksRenderer", { return renderObj.getProjectParts(record); }, getProjectParts: function (rec) { + var report = rec.getReport(), i, j, project, projectPart, projectPartQuantities = []; diff --git a/src/PartKeepr/ProjectBundle/Entity/ReportPart.php b/src/PartKeepr/ProjectBundle/Entity/ReportPart.php index e5d4742fa..1e58b7274 100644 --- a/src/PartKeepr/ProjectBundle/Entity/ReportPart.php +++ b/src/PartKeepr/ProjectBundle/Entity/ReportPart.php @@ -42,6 +42,8 @@ class ReportPart extends BaseEntity * @var int */ private $quantity; + + private $remarks; /** * @ORM\ManyToOne(targetEntity="PartKeepr\DistributorBundle\Entity\Distributor") @@ -336,6 +338,21 @@ public function setPart($part) return $this; } + + // remark getter + public function getRemarks() + { + return $this->remarks; + } + + //remark setter + public function setRemarks($remarks) + { + $this->remarks = $remarks; + + return $this; + } + public function __toString() { From 667c17a1f33ceb8c6989c896fd4996495c9a51e5 Mon Sep 17 00:00:00 2001 From: RezaMohammadi99 Date: Thu, 20 Jun 2019 16:41:21 +0000 Subject: [PATCH 2/2] Fixed Project Report Remarks This commit keeps the project remark connected to the newly selected items in a project report. --- Profile | 0 .../js/Components/Project/MetaPartSubgrid.js | 15 ++++++++----- .../Project/ProjectReportResultGrid.js | 2 +- .../Project/Renderers/RemarksRenderer.js | 22 +++++++++++++++---- src/PartKeepr/PartBundle/Entity/Part.php | 1 + 5 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 Profile diff --git a/Profile b/Profile new file mode 100644 index 000000000..e69de29bb diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js index be3a0e229..b541095da 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/MetaPartSubgrid.js @@ -85,6 +85,7 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { onApplyMetaPartsClick: function (button) { var parentRecord = button.up("grid").parentRecord; + this.convertMetaPartsToParts(parentRecord); }, /** @@ -97,7 +98,7 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { { var missing; - var i, projectReportItem, subPart, projectPart; + var i, projectReportItem, subPart; for (i = 0; i < record.subParts().getCount(); i++) { @@ -112,15 +113,17 @@ Ext.define('PartKeepr.Components.Project.MetaPartSubgrid', { } else { missing = Math.abs(missing); } - + + if(subPart.get("comment").indexOf("DO NOT CHANGE") == -1) + subPart.set("comment", subPart.get("comment") + "\nDO NOT CHANGE:" + record.data.report + record._part.data.name); + else if(subPart.get("comment").indexOf(record.data.report) != -1) + subPart.set("comment", subPart.get("comment") + record._part.data.name); + else + subPart.set("comment", subPart.get("comment").slice(0,subPart.get("comment").indexOf("DO NOT CHANGE")+14) + record.data.report + record._part.data.name); projectReportItem = Ext.create("PartKeepr.ProjectBundle.Entity.ReportPart"); projectReportItem.setPart(subPart); projectReportItem.set("quantity", subPart.get("stockToUse")); projectReportItem.setReport(this.up("#projectReportResult").projectReport); - - projectPart = Ext.create("PartKeepr.ProjectBundle.Entity.ProjectPart"); - projectPart.setPart(subPart); - projectPart.set("remarks", "remark"); record.store.add(projectReportItem); } } diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js index 440448299..ab707d03d 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js @@ -355,7 +355,7 @@ Ext.define("PartKeepr.Components.Project.ProjectReportResultGrid", { amount: item.get("quantity"), comment: item.getReport().reportProjects().getFieldValues("project.name").join(", "), lotNumber: item.projectParts().getFieldValues("lotNumber").join(", "), - projects: [] // item.getReport().reportProjects() + projects: [] }); } diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js index 2ed1582ae..63b289854 100644 --- a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js +++ b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/Renderers/RemarksRenderer.js @@ -9,16 +9,17 @@ Ext.define("PartKeepr.Components.ProjectReport.Renderers.RemarksRenderer", { getProjectParts: function (rec) { var report = rec.getReport(), - i, j, project, projectPart, projectPartQuantities = []; + i, j, k, project, projectPart, projectPartQuantities = []; for (i = 0; i < report.reportProjects().getCount(); i++) { project = report.reportProjects().getAt(i).getProject(); - + for (j = 0; j < project.parts().getCount(); j++) { projectPart = project.parts().getAt(j); - + + if (projectPart.getPart().getId() === rec.getPart().getId()) { if (projectPart.get("remarks") !== "" && projectPart.get("remarks") !== null) @@ -26,9 +27,22 @@ Ext.define("PartKeepr.Components.ProjectReport.Renderers.RemarksRenderer", { projectPartQuantities.push(project.get("name") + ": " + projectPart.get("remarks")); } } + else + { + + if (rec.getPart().data.comment.includes(projectPart.getPart().data.name)) + { + if (projectPart.get("remarks") !== "" && projectPart.get("remarks") !== null) + { + projectPartQuantities.push(project.get("name") + ": " + projectPart.get("remarks")); + } + } + + } + } } - + return projectPartQuantities.join(" ") }, diff --git a/src/PartKeepr/PartBundle/Entity/Part.php b/src/PartKeepr/PartBundle/Entity/Part.php index d24be9f3f..2babc7e09 100644 --- a/src/PartKeepr/PartBundle/Entity/Part.php +++ b/src/PartKeepr/PartBundle/Entity/Part.php @@ -27,6 +27,7 @@ */ class Part extends BaseEntity { + private $origin; /** * The category of the part. *