18 require_once(
"$admLibrary/aMemberSupport.i");
23 $imagesPerm = checkPerm($Cn,
"MemCheck", $Cu)[1] == 1;
24 $estatementPerm = checkPerm($Cn,
"MemStatement", $Cu)[1] == 1;
29 "operation" => array(
"filter" => FILTER_SANITIZE_STRING),
30 "payload" => array(
"filter" => FILTER_SANITIZE_STRING)
32 HCU_ImportVars($admVars,
"ACCOUNT_HUB", $admOk);
35 $mOperation = isset($admVars[
"ACCOUNT_HUB"][
"operation"]) ? $admVars[
"ACCOUNT_HUB"][
"operation"] :
null;
36 $mPayload = isset($admVars[
"ACCOUNT_HUB"][
"payload"]) ? $admVars[
"ACCOUNT_HUB"][
"payload"] :
null;
39 $mMember = $mPayload ?
40 MemberDecrypt($SYSENV, $Cu, $mPayload) :
43 $mMember = HCU_JsonEncode($mMember);
45 PrintMemberHub($mPayload, $mMember, $Cn == strtolower(trim($Cu)), $imagesPerm, $estatementPerm);
47 }
catch (Exception $e) {
48 $SYSENV[
'logger']->error($e->getMessage());
58 function PrintMemberHub($pPayload, $pMember, $isMasterUser, $imagesPerm, $estatementPerm) {
59 $isImagesDisabled = $imagesPerm ?
"false" :
"true";
60 $isEstatementDisabled = $estatementPerm ?
"false" :
"true";
63 <script type=
"text/x-kendo-template" id=
"contentSearch">
64 <div
class=
'search' data-name=
"#: name #" data-ft=
"#: ft #"><a href=
'\\#'><i
class=
'fa #: icon # fa-3x'></i><br>#: text #</a></div>
67 <script type=
"text/x-kendo-template" id=
"contentResults">
70 <?php printHubLabelBlock(array(
"Member Account" =>
"# if (m_account == null) { # (None) # } else { # #: m_account # # } #",
71 "Bill Pay ID" =>
"# if (m_payid == null || m_payid == '') { # (Not Set) # } else { # #: m_payid # # } #",
72 "Restriction" =>
"# if (m_restr == 'L') { # Locked # } else if (m_restr == 'R') { # Read Only # } else { # Unlocked # } #",
73 "RDC Setting" =>
"# if (m_rdc == null) { # (Not Set) # } else { # #: m_rdc # # } #",
74 "eStatements" =>
"# if (m_stmnt == null) { # (Not Set) # } else if (m_stmnt.trim().toLowerCase() == 'y') { # Yes # } else { # No # } #")); ?>
76 <div
class=
'noUserFound'><div>No Account Found</div></div>
81 <script type=
"text/x-kendo-template" id=
"contentCards">
82 <div
class=
"col-md-4 col-xs-6 cardDiv openFt aa #if(disabled){#vsgDisabled#}#" data-name=
"#: name #" data-ft=
"#: ft #">
83 <a href=
"\\#" class=
"goBtn">
84 <div
class=
"features-column center col-md-12">
85 <div
class=
"features-box-header">
86 <i
class=
"fa fa-3x #: icon #"></i>
87 <h6
class=
'textSpan'>#: text #</h6>
90 <div
class=
"feature-box-content center col-md-11">
91 <p
class=
"vsgSecondary hidden-xs hidden-sm">#= desc #</p>
97 <script
id=
"titleTemplate" type=
"text/x-kendo-template">
98 Account Hub #
if (cardTitle !=
null && cardTitle.trim() !=
"") { # / #: cardTitle # # } #
99 # if (m_account != null && m_account.trim() != "") { # / #: m_account # # } # 102 <div
id=
"cardContainerDiv">
103 <div
class=
"well well-sm borderless">
104 <h2
class=
"hubTitle"><span
class=
"hcu-breadcrumb">Account Hub</span></h2>
105 <div
id=
"resultContainerDiv"></div>
108 <div
id=
"cardContent"></div>
127 <script type=
"text/javascript">
129 <?php getShowWaitFunctions(); ?>
130 var memberWindows =
null;
131 var memberHub =
null;
137 mhWindowContainer =
null;
141 mhHeaderContent =
null;
142 mhHeaderResultsContent =
null;
143 mhHeaderSearchView =
null;
144 mhHeaderResultsView =
null;
150 var EventCardClick =
function(e) {
152 var cardFt = card.data(
"ft");
153 var cardName = card.data(
"name");
155 if (mhCardsData[cardName].display.disabled) {
168 $(mhWindowContainer).empty();
169 $(mhWindowContainer).load(
"main.prg?ft=" + cardFt,
function(response) {
172 mhWindow =
new MemberSearch();
175 mhWindow =
new MemberUsers();
177 case "MemberSettings":
178 mhWindow =
new MemberSettings();
180 case "MemberAccounts":
181 mhWindow =
new MemberAccounts();
184 mhWindow =
new MemberImages();
187 mhWindow =
new MemberDelete();
190 mhWindow =
new MemberMicrs();
192 case "MemberEStatements":
196 mhWindow =
new MemberPurge();
206 mhWindow.Init(memberHub.Call, mhWindowContainer);
207 mhWindow.Open(memberWindows);
211 var InitDataSources =
function() {
222 name:
"MemberUsers", desc:
"Show users that can access this member account",
223 text:
"Related Users", icon:
"fa-sitemap", disabled:
false }
228 name:
"MemberAccounts", desc:
"Show all the accounts for users of this member account",
229 text:
"Related Accounts", icon:
"fa-arrows-alt", disabled:
false }
234 name:
"MemberSettings", desc:
"Information and settings for this member account",
235 text:
"Account Settings", icon:
"fa-cogs", disabled:
false }
240 name:
"MemberMicrs", desc:
"MICR overrides for this member account",
241 text:
"MICR", icon:
"fa-wrench", disabled:
false }
246 name:
"MemberImages", desc:
"View check images for this member account",
247 text:
"View Check Images", icon:
"fa-image", disabled: <?php echo $isImagesDisabled; ?> }
249 "MemberEStatements": {
252 name:
"MemberEStatements", desc:
"View eStatements for this member account",
253 text:
"View eStatements", icon:
"fa-file-pdf-o", disabled: <?php echo $isEstatementDisabled; ?> }
264 name:
"MemberPurge", desc:
"Purge this member account from the system",
265 text:
"Purge Account", icon:
"fa-minus-circle", disabled:
false }
270 name:
"MemberSearch", desc:
"",
271 text:
"Search", icon:
"fa-search", disabled:
false }
276 var InitDataViews =
function() {
277 mhHeader = $(
"#resultContainerDiv");
278 mhHeaderSearchContent = kendo.template($(
"#contentSearch").html());
279 mhHeaderResultsContent = kendo.template($(
"#contentResults").html());
280 mhHeaderSearchView = mhHeaderSearchContent(mhCardsData[
"MemberSearch"].display);
281 mhHeaderResultsView = mhHeaderResultsContent({display:
false});
282 mhHeader.append(mhHeaderSearchView);
283 mhHeader.append(mhHeaderResultsView);
285 mhCards = $(
"#cardContainerDiv");
286 mhCardsContent = kendo.template($(
"#contentCards").html());
287 mhCards.find(
".cardDiv").hide();
289 mhWindowContainer = $(
"#cardContent");
292 var InitDataActions =
function() {
293 mhHeader.find(
".search").off();
294 mhHeader.find(
".search").on(
"click", EventCardClick);
295 mhCards.find(
".cardDiv").off();
296 mhCards.find(
".cardDiv").on(
"click", EventCardClick);
299 this.Call =
function(action, data) {
301 if (data.member !=
null)
303 var
template= kendo.template($(
"#titleTemplate").html());
304 $(
".hubTitle").html(
template({m_account: data.member.m_account, cardTitle:
null}));
308 case "updateMemberInfo":
312 mhMember = data.member;
313 mhMember.m_account = mhMember.m_account ==
null ?
"" : mhMember.m_account.trim();
314 mhMember.m_stmnt = mhMember.m_stmnt.trim();
315 mhMember.m_payid = mhMember.m_payid ==
null ? null : mhMember.m_payid.trim();
316 mhMember.m_rdc = mhMember.m_rdc ==
null ? null : mhMember.m_rdc;
317 mhMember.m_restr = mhMember.m_restr ==
null ?
"" : mhMember.m_restr.trim();
318 mhMember.m_image = mhMember.m_image ==
null ?
"" : mhMember.m_image.trim();
319 mhMember.display =
true;
322 mhHeaderSearchView = mhHeaderSearchContent(mhCardsData[
"MemberSearch"].display);
323 mhHeaderResultsView = mhHeaderResultsContent(mhMember);
324 mhHeader.append(mhHeaderSearchView);
325 mhHeader.append(mhHeaderResultsView);
328 for(var key in mhCardsData) {
329 if (key ==
"MemberSearch") {
continue; }
330 <?php
if ($imagesPerm) { ?>
331 if (key ==
"MemberImages") {
332 if (mhMember.m_image ==
"NO") {
333 mhCardsData[key].display.disabled =
true;
335 mhCardsData[key].display.disabled =
false;
339 <?php
if ($estatementPerm) { ?>
340 if (key ==
"MemberEStatements") {
341 var thisDisabled =
false;
342 <?php
if (!$isMasterUser) { ?>
343 thisDisabled = thisDisabled || mhMember.m_employee ===
"Y";
345 thisDisabled = thisDisabled || mhMember.m_stmnt !==
"Y";
346 mhCardsData[key].display.disabled = thisDisabled;
349 mhCardsView += mhCardsContent(mhCardsData[key].display);
351 mhCards.find(
".cardDiv").remove();
352 mhCards.append(mhCardsView);
357 case "updateMemberEncrypt":
369 data.Data(mhPayload, mhMember);
374 this.Init =
function(payload, member) {
379 if (payload && member.member) {
380 this.Call(
"updateMemberEncrypt", payload);
381 this.Call(
"updateMemberInfo", member);
383 mhHeader.find(
".search").trigger(
"click");
388 $(document).ready(
function() {
389 var payload =
"<?php echo $pPayload ?>";
390 var member = <?php echo $pMember ?>;
394 memberHub.Init(payload, member);
397 $(document).on(
"click",
".k-overlay",
function() {
398 if (memberWindows.length > 0) {
399 var openWindow = memberWindows[memberWindows.length - 1];