5 public function parms_parse($payload) {
11 list ($dmiloan) = explode(
',', $payload);
12 return array(
'dmiloan' => $dmiloan);
15 public function parms_validate($parms) {
16 $dms_ok = array(
'dmiloan' =>
'string');
17 dms_import_v2($parms,
"HCUPOST", $dms_ok);
23 if (empty($parms[
'HCUPOST'][
'dmiloan'])) {
24 $errors[] =
'Loan Number Required';
26 if (preg_match(
"/\D/", $parms[
'HCUPOST'][
'dmiloan']) || strlen($parms[
'HCUPOST'][
'dmiloan']) <> 10) {
27 $errors[] =
"Loan Number must be 10 digits";
30 if (
sizeof($errors)) {
32 $payload[errors] = $errors;
35 $payload[data] =
"{$parms['HCUPOST']['dmiloan']}";
40 public function printTemplate()
42 <span
id=
"popupNotification"></span>
43 <div
id=
'gridMsg' style=
"width: 100%;"></div>
44 <div
id=
"window"></div>
45 <div
id=
"winErr"></div>
48 public function printGlobals()
53 var newRecord= {}, oldRecord= {};
55 function updateLoanData(record, isOldRecord)
57 var data= loanData[record.accountnumber.trim()];
59 for(var i=0; i!= data.length; i++)
61 if (data[i].loannumber.trim() == record.accounttype.trim())
63 data[i].extkeyid= isOldRecord ? 0 : record.keyid;
70 public function printInit($crudhost, $trustid, $fromUserHub=
false)
72 var windowTemplate=
'Delete loan number <strong>#= dmiloan #</strong> for member <strong>#= accountnumber #</strong>? </p>\ 73 <button class="k-button" id="yesButton">Yes</button>\ 74 <button class="k-button" id="noButton"> No</button>';
76 var windowError=
'#= Message #</p>\ 77 <button class="k-button" id="errCloseButton">Close</button>';
79 windowTemplate = kendo.template(windowTemplate);
80 var windowT = $(
"#window").kendoWindow({
81 title:
"Please Confirm",
86 if (window.activeWindows !=
null)
87 window.activeWindows.push(
this);
90 if (window.activeWindows !=
null)
91 window.activeWindows.pop();
93 }).data(
"kendoWindow");
95 windowError = kendo.template(windowError);
96 var winErr = $(
"#winErr").kendoWindow({
103 if (window.activeWindows !=
null)
104 window.activeWindows.push(
this);
107 if (window.activeWindows !=
null)
108 window.activeWindows.pop();
110 }).data(
"kendoWindow");
112 var popupNotification = $(
"#popupNotification").kendoNotification().data(
"kendoNotification");
113 popupNotification.setOptions({
119 var crudServiceBaseUrl =
"<?php echo $crudhost; ?>?ft=534&trustid=<?php echo $trustid; ?>";
120 <?php
if ($fromUserHub) { ?>
121 crudServiceBaseUrl+=
"&userid=" + $(
"#selectedId").text();
123 dataSource =
new kendo.data.DataSource({
126 serverFiltering:
false,
134 url: crudServiceBaseUrl +
"&action=read",
139 url: crudServiceBaseUrl +
"&action=update",
144 url: crudServiceBaseUrl +
"&action=delete",
149 url: crudServiceBaseUrl +
"&action=new",
152 parameterMap:
function(options, operation) {
153 if (operation !==
"read" && options.models) {
154 return {models: kendo.stringify(options.models)};
155 }
else if (operation ===
'create' || operation ===
'update' || operation ===
'destroy') {
162 total:
function(response)
164 return response.homecuData.length;
166 errors:
function(response)
168 return response.homecuErrors !=
null && response.homecuErrors.length > 0 ? response.homecuErrors :
null;
170 parse:
function(response)
172 var returnValue= response.Results[0];
173 if (returnValue.homecuInfo !=
null && returnValue.homecuInfo.length > 0)
174 popupNotification.show(returnValue.homecuInfo,
"info");
177 switch(returnValue.type)
180 loanData= returnValue.loanData;
181 accountData= returnValue.accountData;
184 updateLoanData(oldRecord,
true);
187 newRecord.keyid= returnValue.homecuData.keyid;
188 updateLoanData(newRecord,
false);
191 if (oldRecord.accountnumber.trim() != newRecord.accountnumber.trim() || oldRecord.accounttype.trim() != newRecord.accounttype.trim())
193 updateLoanData(oldRecord,
true);
194 updateLoanData(newRecord,
false);
203 keyid: {type:
'number'},
204 userid: {type:
"number", editable:
false},
205 accountnumber: { type:
'string', validation: {required: { message:
"Member Number Required" }}},
206 accounttype: { type:
'string', validation: {required: { message:
"HCU Loan Number Required" }} },
207 parms: { type:
'string'},
208 dmiloan: { type:
'string', validation: {required: { message:
"DMI Loan ID Required"}} }
215 winErr.content(windowError({Message: e.errors.join(
"<br>")}));
216 $(
"#winErr").closest(
".k-window.k-widget").css({<?php printTopCenterCss(200,
"",
"jsGuts"); ?>});
221 var grid= $(
"#gridMsg").kendoGrid({
222 dataSource: dataSource,
224 pageSizes: [10, 20, 50],
228 display:
"Showing {0}-{1} from {2} data items" 235 { field:
"userid", title:
"User"},
236 { field:
"accountnumber", title:
"Member", width:
"120px", editor:
function(container, options) {
237 if (options.model.isNew())
239 options.model.userid= $(
"#selectedAccntId").text().trim();
240 options.model.accountnumber= $(
"#selectedAccnt").text().trim();
241 $(container).html(options.model.accountnumber);
245 var accountDDL= $(
"<div id='accountDDL'></div>").appendTo(container).kendoDropDownList({
249 dataTextField:
"accountnumber",
250 dataValueField:
"accountnumber",
251 dataBound:
function()
253 if (options.model.accountnumber > 0)
254 this.value(options.model.accountnumber.trim());
256 options.model.accountnumber= this.value();
260 options.model.dirty=
true;
261 options.model.accountnumber= this.value();
263 var data= loanData[options.model.accountnumber.trim()];
265 $(
"#hcuLoanDDL").data(
"kendoDropDownList").dataSource.data($.grep(data,
function(n,i) {
return n.extkeyid == 0 || n.extkeyid == options.model.keyid; }));
267 }).data(
"kendoDropDownList");
270 { field:
"accounttype", title:
"HCU Loan", width:
"100px", editor:
function(container, options) {
271 <?php
if ($fromUserHub) {
272 if (options.model.isNew())
274 options.model.userid= $(
"#selectedAccntId").text().trim();
275 options.model.accountnumber= $(
"#selectedAccnt").text().trim();
278 var data= loanData[options.model.isNew() ? $(
"#selectedAccnt").text().trim() : options.model.accountnumber.trim()];
279 data= data ==
null ? [] : (options.model.isNew() ? $.grep(data,
function(n,i) {
return n.extkeyid == 0; })
280 : $.grep(data,
function(n,i) {
return n.extkeyid == 0 || n.extkeyid == options.model.keyid; }));
284 var loanDDL= $(
"<div id='hcuLoanDDL'></div>").appendTo(container).kendoDropDownList({
288 dataTextField:
"loannumber",
289 dataValueField:
"loannumber",
290 dataBound:
function()
292 if (options.model.accounttype !=
"")
293 this.value(options.model.accounttype.trim());
295 options.model.accounttype= this.value();
299 options.model.dirty=
true;
300 options.model.accounttype= this.value();
302 }).data(
"kendoDropDownList");
305 $(container).text(
"No Loans!");
307 { field:
"dmiloan", title:
"DMI Loan", width:
"300px" },
308 { command: [{name:
"edit", text:
"Change"}, {name:
"Delete"}], title:
" ", width:
"200px" }],
309 <?php
if ($fromUserHub) { ?>
312 toolbar: [{name:
"customCreate", text:
"<span class='k-icon k-add'></span> Add New Record"}],
317 oldRecord= {keyid: e.model.keyid, accounttype: e.model.accounttype, accountnumber: e.model.accountnumber};
321 newRecord= {keyid: e.model.keyid, accounttype: e.model.accounttype, accountnumber: e.model.accountnumber};
324 template:
"<tr><td colspan='<?php echo $fromUserHub ? 4 : 3; ?>'>No Records Found!</td></tr>" 326 }).data(
"kendoGrid");
328 <?php
if (!$fromUserHub) { ?>
329 $(
"#gridMsg").on(
"click",
".k-grid-customCreate",
function() {
330 searchUser(
function(dataItem) {
332 $(
".k-grid-edit-row .k-input:first").focus();
338 $(
"#winErr").on(
"click",
"#errCloseButton",
function() {
343 var deleteDataItem=
null;
344 $(
"#gridMsg").on(
"click",
".k-grid-Delete",
function(e) {
345 var tr = $(e.target).closest(
"tr");
346 deleteDataItem = grid.dataItem(tr);
347 windowT.content(windowTemplate(deleteDataItem));
348 $(
"#window").closest(
".k-window.k-widget").css({<?php printTopCenterCss(200,
"",
"jsGuts"); ?>});
353 $(
"#window").on(
"click",
"#yesButton",
function() {
354 dataSource.remove(deleteDataItem)
360 $(
"#window").on(
"click",
"#noButton",
function() {
366 public function parms_disp4edit($findTab, $searchTab, $crudhost, $Cu, $trustid) {
370 $this->printTemplate();
371 printSearchTemplates($searchTab, $findTab);
377 getShowWaitFunctions();
378 searchOutsideHub($searchTab, $findTab);
379 $this->printGlobals(); ?>
380 var activeWindows= [];
383 $(document).ready(
function() {
384 <?php $this->printInit($crudhost, $trustid);
385 printClickOverlayEvent();