*/
public function getActiveInfoSimplified($member) {
+echo "******************* CHECK ON THIS getActiveInfoSimplified() *******************";exit;
// Get the ID for the current info record for this member
$mInfoID = $this->getActiveInfoForMember($member);
if (!$mInfoID) {
'member' => $f['member'],
'member_name' => $f['member_name'],
'member_slug' => $f['member_slug'],
- 'member_pointer' => $f['member_pointer'],
- 'member_addr1' => $f['addr1'],
- 'member_addr2' => $f['addr2'],
- 'member_city' => $f['city'],
- 'member_state' => $f['state'],
- 'member_country' => $f['country'],
- 'member_zip' => $f['zip'],
- 'member_phone' => $f['phone'],
- 'member_toll_free' => $f['toll_free'],
- 'member_email' => $f['email'],
- 'member_url' => $f['url'],
- 'member_logo' => $f['logo']
+ 'member_pointer' => $f['member_pointer']
);
// Save current post processing flag and turn it off
return $list;
}
+ /*
+ * Get Member Info List with Member Data
+ *
+ * @param string $where Where clause
+ * @param string $sort Sort field
+ *
+ * @return object Class object
+ *
+ */
+ public function getListWithMemberData($where = '', $sort = '')
+ {
+
+ // Member data
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php');
+ $Members = new GlmDataMembers($this->wpdb, $this->config);
+
+ // Get list of memberInfo data
+ $list = $this->getList($where, $sort);
+
+ // For each member info record bet base member data
+ while (list($key, $val) = each($list)) {
+
+ $mData = $Members->getEntry($val['member_pointer']);
+
+ $list[$key] = array_merge($val, array(
+ 'logo' => $mData['logo'],
+ 'addr1' => $mData['addr1'],
+ 'addr2' => $mData['addr2'],
+ 'city' => $mData['city'],
+ 'state' => $mData['state'],
+ 'zip' => $mData['zip'],
+ 'country' => $mData['country'],
+ 'phone' => $mData['phone'],
+ 'toll_free' => $mData['toll_free'],
+ 'region' => $mData['region'],
+ 'url' => $mData['url'],
+ 'email' => $mData['email'],
+ 'categories' => $mData['categories'],
+ 'cc_type' => $mData['cc_type'],
+ 'lat' => $mData['lat'],
+ 'lon' => $mData['lon']
+ ));
-}
+ }
-?>
\ No newline at end of file
+ return $list;
+ }
+
+ /*
+ * Get Member Info For a Member with Member Data
+ *
+ * @param integer $member Member ID
+ * @param string $where Where clause
+ *
+ * @return object Class object
+ *
+ */
+ public function getActiveInfoForMemberWithMemberData($member, $where = 'true')
+ {
+
+ // Member data
+ require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php');
+ $Members = new GlmDataMembers($this->wpdb, $this->config);
+
+ $memberInfoID = $this->getActiveInfoForMember($member, $where);
+
+ $memberInfo = $this->getEntry($memberInfoID);
+
+ if ($memberInfo) {
+
+ $mData = $Members->getEntry($member);
+
+ $memberInfo = array_merge($memberInfo, array(
+ 'logo' => $mData['logo'],
+ 'addr1' => $mData['addr1'],
+ 'addr2' => $mData['addr2'],
+ 'city' => $mData['city'],
+ 'state' => $mData['state'],
+ 'zip' => $mData['zip'],
+ 'country' => $mData['country'],
+ 'phone' => $mData['phone'],
+ 'toll_free' => $mData['toll_free'],
+ 'region' => $mData['region'],
+ 'url' => $mData['url'],
+ 'email' => $mData['email'],
+ 'categories' => $mData['categories'],
+ 'cc_type' => $mData['cc_type'],
+ 'lat' => $mData['lat'],
+ 'lon' => $mData['lon']
+ ));
+
+ } else {
+ return false;
+ }
+
+ return $memberInfo;
+ }
+
+
+}
$categories = false;
$this->memberID = false;
$memberUpdated = false;
+ $memberUpdateError = false;
$memberData = false;
$haveMember = false;
+ $memberName = false;
$addingMember = false;
- $memberUpdated = false;
/*
* Get some data we're going to need
$memberName = $memberData['fieldData']['name'];
+ } else {
+ $memberUpdateError = true;
}
$haveMember = true;
// Update submitted categories
$this->updateCategories();
-echo "------------------------------------asd+";
$memberData = $this->insertEntry();
// If update was successful then use editEntry() to setup for the edit again.
$memberName = $memberData['fieldData']['name'];
+ } else {
+ $memberUpdateError = true;
}
break;
'member' => $memberData,
'memberName' => $memberName,
'addingMember' => $addingMember,
- 'memberUpdated' => $memberUpdated
-
-/*
- 'addingMember' => $addingMember,
- 'member' => $memberData,
- 'memberName' => $memberName,
- 'haveInfoRecords' => $haveInfoRecords,
- 'memberInfoRecords' => $memberInfoRecords,
- 'noActive' => $noActive,
- 'showArchived' => $showArchived,
- 'haveMemberInfo' => $haveMemberInfo,
'memberUpdated' => $memberUpdated,
- 'statusTypeNumbers' => $this->config['status_numb'],
- 'statusPending' => $this->config['status_numb']['Pending']
-*/
+ 'memberUpdateError' => $memberUpdateError
);
// Return status, suggested view, and data to controller
$this->optionIncludeSelectListData = true;
$memberUpdated = false;
+ $memberUpdateError = false;
// Check for action option - Should be one of the values in the "switch" statement below
$option = false;
$this->memberInfo = $this->updateEntry($this->memberInfoID, 'id', true, true);
if ($this->memberInfo['status']) {
$memberUpdated = true;
+ } else {
+ $memberUpdateError = true;
}
break;
'memberInfoID' => $this->memberInfoID,
'memberInfo' => $this->memberInfo,
'memberUpdated' => $memberUpdated,
+ 'memberUpdateError' => $memberUpdateError,
'availableAmenities' => $this->amenities,
'haveImageGallery' => $this->haveImageGallery,
'imageGallery' => $this->imageGallery,
}
- // Find the active member info record
+ // Default is we didn't find the member info
+ $memberData = false;
+ $haveMember = false;
+ $haveImageGallery = false;
+ $imageGallery = false;
+
+ // Find the active member info record and get it with main member data
$where = "
(
SELECT access
".$this->config['access_numb']['Full']."
)
";
- $memberInfoID = $this->getActiveInfoForMember($id, $where);
+ $memberData = $this->getActiveInfoForMemberWithMemberData($id, $where);
- // Default is we didn't find the member info
- $memberData = false;
- $haveMember = false;
- $haveImageGallery = false;
- $imageGallery = false;
-
- // If we did get a member ID
- if ($memberInfoID) {
-
- /*
- * Get data on the specified member
- */
- $memberData = $this->getEntry($memberInfoID);
+ if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) {
+ glmMembersFront::addNotice($memberData, 'DataBlock', 'Member Info with Member Data');
+ }
+ // If we did get member Info
+ if ($memberData) {
- if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) {
- glmMembersFront::addNotice($memberData, 'DataBlock', 'Member Data');
- }
-
- // If we have member data
$success = true;
- if ($memberData !== false) {
-
- $success = true;
- $haveMember = true;
-
- }
+ $haveMember = true;
// Also get any image gallery images
require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataImages.php');
$Images = new GlmDataImages($this->wpdb, $this->config);
- $imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $memberInfoID);
+ $imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $memberData['id']);
$haveImageGallery = ($imageGallery != false);
}
*/
// Get member list and sort
- $list = $this->getList($where.$alphaWhere, 'member_name');
+ $list = $this->getListWithMemberData($where.$alphaWhere, 'member_name');
if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) {
glmMembersFront::addNotice($list, 'DataBlock', 'Member Data');
{/if}
</h2>
- {if $memberUpdated}
- <h2 class="glm-notice glm-flash-updated">Member Updated</h2>
- {/if}
-
{if apply_filters('glm_members_permit_admin_member_index_edit_member', true)}
<form id="member-edit-form" action="{$thisURL}?page={$thisPage}" method="post" enctype="multipart/form-data">
<input type="hidden" name="glm_action" value="memberEdit">
<a id="glm-member-general" data-show-table="glm-table-general" class="glm-member-tab nav-tab nav-tab-active">General Settings</a>
<a id="glm-member-address" data-show-table="glm-table-address" class="glm-member-tab nav-tab">Address and Location</a>
<a id="glm-member-other" data-show-table="glm-table-other" class="glm-member-tab nav-tab">Other Information</a>
- <span class="glm-right"><input type="submit" value="{if $memberID && $member}Update member{else}Add new member{/if}"></span>
+ {if $memberUpdated}<span class="glm-notice glm-flash-updated glm-right">Member Updated</span>{/if}
+ {if $memberUpdateError}<span class="glm-error glm-flash-updated glm-right">Member Update Error</span>{/if}
</h2>
<!-- **** General Settings **** -->
<table id="glm-table-general" class="glm-admin-table glm-member-table">
<tr>
<th {if $member.fieldRequired.name}class="glm-required"{/if}>Member Name:</th>
- <td {if $member.fieldFail.name}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.name}class="glm-form-bad-input glm-form-bad-input-general"{/if}>
<input type="text" name="name" value="{$member.fieldData.name}" class="glm-form-text-input">
{if $member.fieldFail.name}<p>{$member.fieldFail.name}</p>{/if}
</td>
<tr>
<th {if $member.fieldRequired.access}class="glm-required"{/if}>Member Display & Access:</th>
- <td {if $member.fieldFail.access}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.access}class="glm-form-bad-input glm-form-bad-input-general"{/if}>
<select name="access">
{foreach from=$member.fieldData.access.list item=v}
<option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
</tr>
<tr>
<th {if $member.fieldRequired.member_type}class="glm-required"{/if}>Member Type:</th>
- <td {if $member.fieldFail.member_type}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.member_type}class="glm-form-bad-input glm-form-bad-input-general"{/if}>
<select name="member_type">
{foreach from=$member.fieldData.member_type.list item=v}
<option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
{/if}
<tr>
<th {if $member.fieldRequired.notes}class="glm-required"{/if}>Notes:</th>
- <td {if $member.fieldFail.notes}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.notes}class="glm-form-bad-input glm-form-bad-input-general"{/if}>
<textarea name="notes" class="glm-form-textarea">{$member.fieldData.notes}</textarea>
{if $member.fieldFail.notes}<p>{$member.fieldFail.notes}</p>{/if}<br>
This "Notes" field is not displayed anywhere else. It is strictly for making and keeping
<table id="glm-table-address" class="glm-admin-table glm-hidden glm-member-table">
<tr>
<th {if $member.fieldRequired.addr1}class="glm-required"{/if}>Address Line 1:</th>
- <td {if $member.fieldFail.addr1}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.addr1}class="glm-form-bad-input glm-form-bad-input-address"{/if}>
<input type="text" id="addr1" name="addr1" value="{$member.fieldData.addr1}" class="glm-form-text-input">
{if $member.fieldFail.addr1}<p>{$member.fieldFail.addr1}</p>{/if}
</td>
</tr>
<tr>
<th {if $member.fieldRequired.addr2}class="glm-required"{/if}>Address Line 2:</th>
- <td {if $member.fieldFail.addr2}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.addr2}class="glm-form-bad-input glm-form-bad-input-address"{/if}>
<input id="addr2" type="text" name="addr2" value="{$member.fieldData.addr2}" class="glm-form-text-input">
{if $member.fieldFail.addr2}<p>{$member.fieldFail.addr2}</p>{/if}
</td>
</tr>
<tr>
<th {if $member.fieldRequired.state}class="glm-required"{/if}>State:</th>
- <td {if $member.fieldFail.state}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.state}class="glm-form-bad-input glm-form-bad-input-address"{/if}>
<select id="state" name="state">
{foreach from=$member.fieldData.state.list item=v}
<option value="{$v.value}"{if $v.default} selected="selected"{/if}>
</tr>
<tr>
<th {if $member.fieldRequired.zip}class="glm-required"{/if}>ZIP / Postal Code:</th>
- <td {if $member.fieldFail.zip}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.zip}class="glm-form-bad-input glm-form-bad-input-address"{/if}>
<input id="zip" type="text" name="zip" value="{$member.fieldData.zip}" class="glm-form-text-input-short">
{if $member.fieldFail.zip}<p>{$member.fieldFail.zip}</p>{/if}
</td>
</tr>
<tr>
<th {if $member.fieldRequired.country}class="glm-required"{/if}>Country:</th>
- <td {if $member.fieldFail.country}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.country}class="glm-form-bad-input glm-form-bad-input-address"{/if}>
<select id="country" name="country">
{foreach from=$member.fieldData.country.list item=v}
<option value="{$v.value}"{if $v.default} selected="selected"{/if}>
</tr>
<tr>
<th {if $member.fieldRequired.region}class="glm-required"{/if}>Region:</th>
- <td {if $member.fieldFail.region}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.region}class="glm-form-bad-input glm-form-bad-input-other"{/if}>
<select name="region">
{foreach from=$member.fieldData.region.list item=v}
<option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
</tr>
<tr>
<th {if $member.fieldRequired.phone}class="glm-required"{/if}>Phone #:</th>
- <td {if $member.fieldFail.phone}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.phone}class="glm-form-bad-input glm-form-bad-input-other"{/if}>
<input type="text" name="phone" value="{$member.fieldData.phone}" class="glm-form-text-input-short" placeholder="ex: 123-456-7890 ext 123">
{if $member.fieldFail.phone}<p>{$member.fieldFail.phone}</p>{/if}
</td>
</tr>
<tr>
<th {if $member.fieldRequired.toll_free}class="glm-required"{/if}>Toll Free #:</th>
- <td {if $member.fieldFail.toll_free}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.toll_free}class="glm-form-bad-input glm-form-bad-input-other"{/if}>
<input type="text" name="toll_free" value="{$member.fieldData.toll_free}" class="glm-form-text-input-short" placeholder="ex: 800-123-4567">
{if $member.fieldFail.toll_free}<p>{$member.fieldFail.toll_free}</p>{/if}
</td>
</tr>
<tr>
<th {if $member.fieldRequired.url}class="glm-required"{/if}>Web Address (URL):</th>
- <td {if $member.fieldFail.url}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.url}class="glm-form-bad-input glm-form-bad-input-other"{/if}>
{if $member.fieldData.url}
<a class="button button-secondary glm-right" href="{$member.fieldData.url}" target="urlTarget">Test Link</a>
{/if}
</tr>
<tr>
<th {if $member.fieldRequired.cc_type}class="glm-required"{/if}>Credit Cards Accepted:</th>
- <td {if $member.fieldFail.cc_type}class="glm-form-bad-input"{/if}>
+ <td {if $member.fieldFail.cc_type}class="glm-form-bad-input glm-form-bad-input-other"{/if}>
{foreach from=$member.fieldData.cc_type.bitmap item=v}
<input type="checkbox" name="cc_type[{$v.value}]" value="{$v.value}"{if $v.default} checked{/if}> {$v.name}<br>
{/foreach}
</table>
<p><span class="glm-required">*</span> Required</p>
{if $addingMember}
- <input type="submit" value="Add new member">
+ <input id="updateMember" type="submit" value="Add new member">
{else}
- <input type="submit" value="Update member">
+ <input id="updateMember" type="submit" value="{if $memberID && $member}Update member{else}Add new member{/if}">
{/if}
</form>
{else}
<th>Member Name:</th>
<td>{$member.fieldData.name}</td>
</tr>
- <tr>
- <th>Name for URLs:</th>
- <td>{$member.fieldData.member_slug}</td>
- </tr>
<tr>
<th>Member Display & Access:</th>
<td>{$member.fieldData.access.name}</td>
<td>{$member.fieldData.member_type.name}</td>
</tr>
<tr><th>Date created:</th><td>{$member.fieldData.created.date}</td></tr>
+ <tr>
+ <td> </td>
+ <td>
+ <h3>Member Address</h3>
+ <p>The map below will display the likely location as you enter or edit the address.</p>
+ </td>
+ </tr>
+ <tr>
+ <th>Address:</th>
+ <td>
+ {$member.fieldData.addr1}<br>
+ {if $member.fieldData.addr2 != ''}{$member.fieldData.addr2}<br>{/if}
+ {$member.fieldData.city.name}, {$member.fieldData.state.name} {$member.fieldData.zip}<br>
+ {$member.fieldData.country.name}
+ </td>
+ </tr>
+ <tr>
+ <th>Categories</th>
+ <td class="glm-item-container">
+ {if isset($member.fieldData.categories) && $member.fieldData.categories}
+ {foreach from=$member.fieldData.categories item=c}
+ <div data-id="{$c.id}" class="glm-dynSelect-item glm-members-catgegory">
+ {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name}
+ <input type="hidden" name="category[{$c.id}]" value="{$c.id}">
+ </div>
+ {/foreach}
+ {/if}
+ </td>
+ </tr>
+ <tr><th>Region:</th><td>{$member.fieldData.region.name}</td></tr>
+ <tr><th>Phone #:</th><td>{$member.fieldData.phone}</td></tr>
+ <tr><th>Toll Free #:</th><td>{$member.fieldData.toll_free}</td></tr>
+ <tr><th>Web Address (URL):</th><td><a href="{$member.fieldData.url}" target="urlTarget">{$member.fieldData.url}</a></td></tr>
+ <tr><th>E-Mail Address:</th><td>{$member.fieldData.email}</td></tr>
+ <tr><th>Logo:</th>
+ <td {if $member.fieldFail.logo}class="glm-form-bad-input"{/if}>
+ {if $member.fieldData.logo}
+ <div class="glm-galleryImage" data-id="logo">
+ <img src="{$glmPluginMediaURL}/images/small/{$member.fieldData.logo}">
+ </div>
+ <div id="glm-galleryImageLarger_logo" class="glm-imageDialog"><img src="{$glmPluginMediaURL}/images/large/{$member.fieldData.logo}"></div>
+ {/if}
+ </td>
+ </tr>
+ <tr>
+ <th>Credit Cards Accepted:</th>
+ <td>
+ {foreach from=$member.fieldData.cc_type.bitmap item=v}
+ {$v.name}
+ {/foreach}
+ </td>
+ </tr>
+ <tr><th>Notes:</th><td>{$member.fieldData.notes}</td></tr>
</table>
{else}
<h3>No member information available.</h3>
// Flash certain elements for a short time after display
$(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+ /*
+ * Check for bad input or input changes
+ */
+
+ // Check for any field errors and if found change related tab to error color.
+ if ($('.glm-form-bad-input-general').length) {
+ $('#glm-member-general').addClass('glm-bad-input-area');
+ }
+ if ($('.glm-form-bad-input-address').length) {
+ $('#glm-member-address').addClass('glm-bad-input-area');
+ }
+ if ($('.glm-form-bad-input-other').length) {
+ $('#glm-member-other').addClass('glm-bad-input-area');
+ }
+
+ // Check for most input changes
+ $('input, textarea, select').on( 'change', function() {
+ glmPageUpdateRequired();
+ });
+
+ /*
+ * Checks for leaving the page
+ */
+ var glmSubmitRequired = false;
+
+ // Flag submit button when updates are required.
+ function glmPageUpdateRequired() {
+ $('#updateMember').addClass('glm-bad-input-area');
+ glmSubmitRequired = true;
+ }
+ // When submit button is clicked, disable the beforeunload message
+ $('#updateMember').on('click', function() {
+ glmSubmitRequired = false;
+ return true;
+ });
+
+ // If submit is required and we're laving the page, alert the user
+ $(window).bind('beforeunload', function() {
+ if (glmSubmitRequired) {
+ return 'Are you sure you want to leave?';
+ }
+ return '';
+ });
+
+
});
</script>
{include file='admin/member/header.html'}
- {if $memberUpdated}<h2 class="glm-notice glm-flash-updated">Member Profile Updated</h2>{/if}
-
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<h2 class="nav-tab-wrapper" style="margin-bottom: 1em;">
<a id="glm-member-info-general" data-show-table="glm-table-general" class="glm-member-info-tab nav-tab nav-tab-active">General Information</a>
<a id="glm-member-info-gallery" data-show-table="glm-table-gallery" class="glm-member-info-tab nav-tab">Image Gallery</a>
- <span class="glm-right"><input id="updateMemberProfile" type="submit" value="{if $memberInfoID && $memberInfo}Update member profile{else}Add new member profile{/if}"></span>
+ {if $memberUpdated}<span class="glm-notice glm-flash-updated glm-right">Member Profile Updated</span>{/if}
+ {if $memberUpdateError}<span class="glm-error glm-flash-updated glm-right">Member Profile Update Error</span>{/if}
</h2>
<table id="glm-table-general" class="glm-admin-table glm-member-info-table">
</tr>
</table>
<p><span class="glm-required">*</span> Required</p>
- <input type="submit" value="{if $memberInfoID && $memberInfo}Update member profile{else}Add new member profile{/if}">
+ <input id="updateMemberProfile" type="submit" value="{if $memberInfoID && $memberInfo}Update member profile{else}Add new member profile{/if}">
</form>
</tr>
<tr><th>Description:</th><td>{$memberInfo.fieldData.descr|escape:quotes}</td></tr>
<tr><th>Short Description:</th><td>{$memberInfo.fieldData.short_descr}</td></tr>
- <tr>
- <td> </td>
- <td>
- <h3>Member Address</h3>
- <p>The map below will display the likely location as you enter or edit the address.</p>
- </td>
- </tr>
- <tr>
- <th>Address:</th>
- <td>
- {$memberInfo.fieldData.addr1}<br>
- {if $memberInfo.fieldData.addr2 != ''}{$memberInfo.fieldData.addr2}<br>{/if}
- {$memberInfo.fieldData.city.name}, {$memberInfo.fieldData.state.name} {$memberInfo.fieldData.zip}<br>
- {$memberInfo.fieldData.country.name}
- </td>
- </tr>
- <tr>
- {if $memberInfo.fieldRequired.lat}<th class="emRequiredInputField">{else}<th>{/if}Location:</th>
- <td>
- <input id="glmLat" name="lat" type="hidden" value="{$memberInfo.fieldData.lat}">
- <input id="glmLng" name="lon" type="hidden" value="{$memberInfo.fieldData.lon}">
- <div id="locationMap" class="glm-map-edit">(map loads here)</div>
- Selected Position: <span id="mapPosition">Lat {$memberInfo.fieldData.lat}, Lon {$memberInfo.fieldData.lon}</span>
- </td>
- </tr>
<tr>
<td> </td>
<td>
<h3>Other Information</h3>
</td>
</tr>
- <tr>
- <th>Categories</th>
- <td class="glm-item-container">
- {if isset($memberInfo.fieldData.categories) && $memberInfo.fieldData.categories}
- {foreach from=$memberInfo.fieldData.categories item=c}
- <div data-id="{$c.id}" class="glm-dynSelect-item glm-members-catgegory">
- {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name}
- <input type="hidden" name="category[{$c.id}]" value="{$c.id}">
- </div>
- {/foreach}
- {/if}
- </td>
- </tr>
<tr>
<th>Amenities</th>
<td class="glm-item-container">
{/if}
</td>
</tr>
- <tr><th>Region:</th><td>{$memberInfo.fieldData.region.name}</td></tr>
- <tr><th>Phone #:</th><td>{$memberInfo.fieldData.phone}</td></tr>
- <tr><th>Toll Free #:</th><td>{$memberInfo.fieldData.toll_free}</td></tr>
- <tr><th>Web Address (URL):</th><td><a href="{$memberInfo.fieldData.url}" target="urlTarget">{$memberInfo.fieldData.url}</a></td></tr>
- <tr><th>E-Mail Address:</th><td>{$memberInfo.fieldData.email}</td></tr>
- <tr><th>Logo:</th>
- <td {if $memberInfo.fieldFail.logo}class="glm-form-bad-input"{/if}>
- {if $memberInfo.fieldData.logo}
- <div class="glm-galleryImage" data-id="logo">
- <img src="{$glmPluginMediaURL}/images/small/{$memberInfo.fieldData.logo}">
- </div>
- <div id="glm-galleryImageLarger_logo" class="glm-imageDialog"><img src="{$glmPluginMediaURL}/images/large/{$memberInfo.fieldData.logo}"></div>
- {/if}
- </td>
- </tr>
- <tr>
- <th>Credit Cards Accepted:</th>
- <td>
- {foreach from=$memberInfo.fieldData.cc_type.bitmap item=v}
- {$v.name}
- {/foreach}
- </td>
- </tr>
<tr><th>Notes:</th><td>{$memberInfo.fieldData.notes}</td></tr>
<tr>
<th>Image Gallery</th>
// Action to de-select an Amenity
$('.amenityDelete').live('click', function() {
$(this).parent().remove();
+ // Also set unload warning
+ glmPageUpdateRequired();
});
{if $memberInfoID && $memberInfo}
// Delete Member Info dialog
$("#deleteMemberInfoDialog").dialog({
autoOpen: false,
- minWidth: 400,
+ minWidth: 4,
dialogClass: "glm-dialog-no-close"
});
$('#deleteMemberInfoButton').click( function() {
// Check for most input changes
$('input, textarea, select').on( 'change', function() {
- updateRequired();
+ glmPageUpdateRequired();
});
-
+
+ /*
+ * Checks for leaving the page
+ */
+ var glmSubmitRequired = false;
+
// Flag submit button when updates are required.
- function updateRequired() {
+ function glmPageUpdateRequired() {
$('#updateMemberProfile').addClass('glm-bad-input-area');
+ glmSubmitRequired = true;
}
+ // When submit button is clicked, disable the beforeunload message
+ $('#updateMemberProfile').on('click', function() {
+ glmSubmitRequired = false;
+ return true;
+ });
+ // If submit is required and we're laving the page, alert the user
+ $(window).bind('beforeunload', function() {
+ if (glmSubmitRequired) {
+ return 'Are you sure you want to leave?';
+ }
+ return '';
+ });
+
+
});
</script>