6 $isInEditList = GetIsInEditList($dbh, $Hu);
9 <script type=
"text/javascript">
13 getAddMinifiedActionStyleFunction();
14 getShowWaitFunctions();
21 function PopulateSalesOrderGrid() {
22 $.homecuValidator.setup({formValidate:
'formMain', formStatusField:
'formValidateMainDiv'});
25 var currentEmployeeId;
27 var disallowAdd =
false;
28 var grid = $(
"#salesOrderGrid").kendoGrid({
32 url:
"index.prg?operation=salesOrderLoad",
37 url:
"index.prg?operation=salesOrderCreate",
42 url:
"index.prg?operation=salesOrderUpdate",
46 parameterMap:
function(data, type) {
48 if (type ===
"read") {
49 return {initializeDDLs: cuList.length == 0 ?
"Y" :
"N"};
51 data.date = data.date ==
null || data.date ==
"Invalid Date" ?
"" : kendo.toString(data.activeDate,
"yyyy-MM-dd");
52 data.emailable = data.emailable ?
"Y" :
"N";
58 parse:
function (data) {
61 if (data.operation ==
"read") {
62 $(
'#salesOrderGrid .simpleFilter').focus();
65 if (data.status !==
"000") {
66 $.homecuValidator.displayMessage(data.error, $.homecuValidator.settings.statusError );
69 if (data.cuList !=
null && data.cuList.length > 0) {
73 if (data.currentEmployeeId !=
null) {
74 currentEmployeeId = data.currentEmployeeId;
83 salesOrderId: {type:
"number", editable:
false, nullable:
false},
84 cuNumber: {type:
"string"},
85 date: {type:
"date", editable:
false},
86 refNo: {type:
"string"},
87 employee: {type:
"string"},
88 cuName: {type:
"string"},
89 isClosed: {type:
"boolean"},
90 emailable: {type:
"boolean"}
96 {command: [<?php
if ($isInEditList) { ?> {name:
"edit", text:
"", iconClass:
"fa fa-edit"}, <?php } ?>
97 {name:
"openDetails", text:
"", iconClass:
"fa fa-indent",
99 var row = $(e.target).closest(
"tr");
100 var dataItem = $(
"#salesOrderGrid").data(
"kendoGrid").dataItem(row);
101 var url =
"<?php echo $produrl . GetBillingURL(); ?>?page=salesOrderDetails&salesOrderId="+ dataItem.salesOrderId;
103 window.location.replace(url);
106 {command: [{name:
"showInvoice", text:
"Show Invoice",
107 click:
function (e) {
108 var row = $(e.target).closest(
"tr");
109 var dataItem = $(
"#salesOrderGrid").data(
"kendoGrid").dataItem(row);
110 var url =
"<?php echo $produrl . GetBillingURL(); ?>?page=invoiceView&cu="+ dataItem.cuNumber;
112 window.location.replace(url);
117 {field:
"isClosed", title:
"Closed",
template:
"# if (isClosed) { # C # } else { # # } #", width:
"10%"},
118 {field:
"cuName", title:
"CU Name"},
119 {field:
"cuNumber", title:
"CU", width:
"15%"},
120 {field:
"date", title:
"Date", format:
"{0:MM/dd/yyyy}", width:
"10%"},
121 {field:
"refNo", title:
"Reference"},
122 {field:
"emailable", title:
"Email?"},
123 {field:
"employee", title:
"Employee", width:
"13%"},
127 filterable: {extra:
false},
128 toolbar: [ <?php
if ($isInEditList) { ?> {name:
"addSingle", text:
"", iconClass:
"fa fa-plus"}, <?php } ?>
129 {name:
"simpleFilter",
template:
" CU Filter: <input class=\"k-input simpleFilter\" type=\"text\">"}],
130 <?php
if ($isInEditList) { ?>
133 template: kendo.template($(
"#popupTemplate").html()),
143 $.homecuValidator.setup({formValidate:
'popupForm', formStatusField:
'formValidatePopupDiv'});
145 var popupWindow = e.sender.editable.element.data(
"kendoWindow");
146 popupWindow.title(e.model.isNew() ?
"Add Sales Order" :
"Edit Sales Order");
148 if (e.model.isNew()) {
149 $(
"input[name='cuNumber']").show();
150 $(
"#cuLabel").hide();
153 var cuAvailable = [];
154 var gridData = $(
"#salesOrderGrid").data(
"kendoGrid").dataSource.data();
155 for(var i = 0, count = gridData.length; i != count; i++) {
156 var key = gridData[i].cuNumber.trim().toUpperCase();
159 for(var i = 0, count = cuList.length; i != count; i++) {
160 var key = cuList[i].value.trim().toUpperCase();
161 if (cuKey[key] ==
null) {
162 cuAvailable.push(cuList[i]);
165 disallowAdd = cuAvailable.length == 1;
167 var cuCombobox = $(
"input[name='cuNumber']").kendoDropDownList({
168 dataSource: cuAvailable,
169 filter:
"startswith",
170 dataTextField:
"text",
171 dataValueField:
"value" 172 }).data(
"kendoDropDownList");
175 if (e.model.isNew()) {
176 e.model.cuNumber = cuCombobox.value();
179 $(
"input[name='cuNumber']").hide();
180 $(
"#cuLabel").show();
186 if (!$.homecuValidator.validate()) {
190 $.homecuValidator.setup({formValidate:
'formMain', formStatusField:
'formValidateMainDiv'});
193 $(
"#salesOrderGrid .k-grid-addSingle").data(
"kendoButton").enable(
false);
198 dataBound:
function (e) {
199 for (var i = 0; i != tooltips.length; i++) {
200 tooltips[i].destroy();
202 tooltips = addMinifiedActionStyle(
"#salesOrderGrid",
true, [{filter:
".k-grid-openDetails", content:
"Open Sales Details"},
203 {filter:
".k-grid-addSingle", content:
"Add new record"}]);
206 var cuAvailable = [];
207 var gridData = $(
"#salesOrderGrid").data(
"kendoGrid").dataSource.data();
208 for(var i = 0, count = gridData.length; i != count; i++) {
209 var key = gridData[i].cuNumber.trim().toUpperCase();
212 for(var i = 0, count = cuList.length; i != count; i++) {
213 var key = cuList[i].value.trim().toUpperCase();
214 if (cuKey[key] ==
null) {
215 cuAvailable.push(cuList[i]);
219 if (cuAvailable.length == 0) {
220 $(
"#salesOrderGrid .k-grid-addSingle").data(
"kendoButton").enable(
false);
223 }).data(
"kendoGrid");
227 <?php
if ($isInEditList) { ?>
228 $(
"#salesOrderGrid .k-grid-addSingle").kendoButton({
236 $(
"#salesOrderGrid .simpleFilter").keyup(
function (e) {
237 var text = $(
this).val().trim();
239 grid.dataSource.filter({});
241 grid.dataSource.filter({ field:
"cuNumber",
operator:
"contains", value: text});
246 $(document).ready(
function () {
247 PopulateSalesOrderGrid ();
250 <?php
if ($isInEditList) { ?>
251 <script
id=
"popupTemplate" type=
"text/x-kendo-template">
252 <div
id=
"formValidatePopupDiv" style=
"display:none;"></div>
253 <div
class=
"container_12" id=
"popupForm">
254 <div
class=
"grid_12">
255 <div
class=
"grid_4 alpha">
256 <label data-
for=
"cuNumber">CU:</label>
259 <input type=
"text" name=
"cuNumber" style=
"width:100%; display: none;" 260 data-duplicate-msg=
"Contract for CU already exists">
261 <div
id=
"cuLabel" style=
"display: none;">#: cuNumber #</div>
263 <div
class=
"grid_1 omega">
264 <span data-
for=
'cuNumber' class=
'k-invalid-msg'></span>
267 <div
class=
"grid_12">
268 <div
class=
"grid_4 alpha">
269 <label data-
for=
"refNo">Reference:</label>
272 <input type=
"text" class=
"k-input" name=
"refNo" style=
"width:100%" maxlength=20>
274 <div
class=
"grid_1 omega">
275 <span data-
for=
'refNo' class=
'k-invalid-msg'></span>
278 <div
class=
"grid_12">
279 <div
class=
"grid_4 alpha">
280 <label data-
for=
"emailable">Email?:</label>
283 <input type=
"checkbox" name=
"emailable">
285 <div
class=
"grid_1 omega">
286 <span data-
for=
'emailable' class=
'k-invalid-msg'></span>
292 <div
class=
"container_12">
293 <div
id=
"formMain"></div>
294 <div
id=
"formValidateMainDiv" style=
"display:none;"></div>
295 <div
class=
"grid_12">
296 <div
id=
"salesOrderGrid"></div>