*
* This model action does not return, it simply does it's work then calls die();
*
+ * Status characters returned
+ * 0 - Submission OK
+ * 1 - Faciltiy not found when trying to edit
+ * 2 - ID not provided for facility update on form submission
*
*/
public function modelAction ($actionData = false)
$templateData = array(
'status' => '0',
+ 'use' => 'add',
'facility' => $facility['fieldData']
);
break;
+ case 'addNewFacility':
+
+ $facility = $Facilities->insertEntry();
+
+ // If facility was not added
+ if (!is_array($facility) || trim($facility['fieldData']['id']) == '') {
+
+ $view = 'facilityForm';
+
+ // New facility was not added so we need to redisplay the form.
+ $templateData = array(
+ 'status' => 1,
+ 'use' => 'add',
+ 'cities' => $cities,
+ 'states' => $this->config['states'],
+ 'countries' => $this->config['countries']
+ );
+
+ // Facility Added
+ } else {
+
+ $view = 'facilityLine';
+
+ $templateData = array(
+ 'status' => '0',
+ 'facility' => $facility
+ );
+
+ }
+
+ break;
+
case 'editFacility':
$facilityId = 0;
if ($facilityId > 0) {
$facility = $Facilities->editEntry($facilityId);
-//echo " <pre>".print_r($facility,1)."</pre>";
-//die();
+ //echo " <pre>".print_r($facility,1)."</pre>";
+ //die();
$view = 'facilityForm';
$templateData = array(
'status' => '0',
+ 'use' => 'edit',
'facility' => $facility['fieldData']
);
} else {
- die("2Facility not found!");
+ die('1'.$this->config['terms']['assets_term_facility_cap'].' not found!');
}
break;
- case 'addNewFacility':
+ case 'updateFacility':
- $newFacility = $Facilities->insertEntry();
+ $id = $_REQUEST['id'] - 0;
+ if ($id <= 0) {
+ die('2'.$this->config['terms']['assets_term_facility_cap'].' ID not provided! Unable to edit.');
+ }
- $newFacilityAdded = true;
- if (!is_array($newFacility) || trim($newFacility['fieldData']['id']) == '') {
+ $facility = $Facilities->updateEntry($id);
+
+ // If facility was not propertlyupdated
+ if (!is_array($facility) || trim($facility['fieldData']['id']) == '') {
$view = 'facilityForm';
// New facility was not added so we need to redisplay the form.
$templateData = array(
- 'status' => 1,
+ 'status' => 2,
+ 'use' => 'add',
'cities' => $cities,
'states' => $this->config['states'],
'countries' => $this->config['countries']
);
+ } else {
+ die('0'.$facility['fieldData']['name']);
}
- $view = 'facilityLine';
-
- // New facility was not added so we need to redisplay the form.
- $templateData = array(
- 'status' => '0',
- 'facility' => $newFacility
- );
-
break;
default:
-{$status}
+{$status} {* first character of this file is a status flag for the calling AJAX code. *}
<style type='text/css'>
.assets-dialog-box {
<form id="facilityForm" method="post" enctype="multipart/form-data">
<input type="hidden" name="glm_action" value="assetManagement">
+ {if $use == 'add'}
<input type="hidden" name="option" value="addNewFacility">
+ {/if}
+ {if $use == 'edit'}
+ <input type="hidden" name="option" value="updateFacility">
+ <input type="hidden" name="id" value="{$facility.id}">
+ {/if}
<div class="assets-dialog-box">
<div><textarea name="descr" class="glm-form-textarea assets-facility-descr">{$facility.descr}</textarea></div>
<div class="assets-facility-input-prompt">Address:</div>
- <div><input type="text" name="address" class="glm-form-text-intput glm-form-text-input-medium" value="{$facility.addr}"></div>
+ <div><input type="text" name="address" class="glm-form-text-intput glm-form-text-input-medium" value="{$facility.address}"></div>
<div class="assets-facility-input-prompt">City:</div>
<div>
<div><input type="text" name="phone" class="glm-form-text-intput" value="{$facility.phone}"></div>
<div class="assets-facility-input-prompt">URL:</div>
- <div><input type="text" name="url" class="glm-form-text-intput glm-form-text-input-medium" value="{$facility.URL}" placeholder="http://somefacilityname.com"></div>
+ <div><input type="text" name="url" class="glm-form-text-intput glm-form-text-input-medium" value="{$facility.url}" placeholder="http://somefacilityname.com"></div>
<div class="assets-facility-input-prompt">E-Mail Address:</div>
<div><input type="text" name="email" class="glm-form-text-intput glm-form-text-input-medium" value="{$facility.email}"></div>
- <div class="assets-facility-input-prompt">Facility Map:</div>
+ <div class="assets-facility-input-prompt">{$terms.assets_term_facility_cap} Map:</div>
<div>
<p>
- Facility map file must be a standard image file such as JPG, PNG, or GIF and
+ {$terms.assets_term_facility_cap} map file must be a standard image file such as JPG, PNG, or GIF and
of adequate size and resolution. Images larger than 1200 pixels wide may be
too large for the page.
</p>
-
- <P>******* IMAGE URL NOT WORKING *********</P>
-
- <a href="{$glmPluginMediaUrl}/images/small/{$facility.image_map}" target="facilityMap">{$facility.facility_map}</a><br>
+ {if $facility.facility_map}
<input type="checkbox" name="logo_delete"> Delete Image<br>
+ <img src="{$glmPluginMediaUrl}/images/small/{$facility.facility_map}"><br>
+ <a href="{$glmPluginMediaUrl}/images/large/{$facility.facility_map}" target="facilityMap">{$facility.facility_map}</a><br>
+ {/if}
<b>New image:</b> <input id="assetFacilityMap" type="file" name="facility_map_new">
</div>
<div><span class="glm-required">*</span> Required</div>
<div>
- <input class="button button-primary" type="submit" name="Click Here" value="Add New Facility">
+ <input class="button button-primary" type="submit" name="Click Here"
+ {if $use == 'add'} value="Add New {$terms.assets_term_facility_cap}" {/if}
+ {if $use == 'edit'} value="Update {$terms.assets_term_facility_cap}" {/if}
+ >
<a id="assetsDialogCancel" class="button button-primary">Cancel</a>
</div>
+
+<br>
+* Having problem with submit of edit on new faclilty<br>
+
<div class="wrap glm-associate-admin-wrap">
<div class="glm-admin-table">
<div class="glm-admin-table-inner">
- <a id="glm-assets-add-facility-button" class="button">Add a Facility</a>
+ <a id="glm-assets-add-facility-button" class="button">Add a {$terms.assets_term_facility_cap}</a>
<div id="assetsFacilitiesContainer" class="assets-admin-content">
{foreach $facilities as $facility}
- <div style="grid-column: 1 / span 7;" id="facility_{$facility.id}" class="facility-name" data-id="{$facility.id}">{$facility.name} {$facility.id}</div>
+ <div style="grid-column: 1 / span 7;" id="facility_{$facility.id}" class="facility-name" data-id="{$facility.id}">{$facility.name}</div>
{* First indent here *}
<div class="assets-colum-title facility_{$facility.id} glm-hidden">Name</div>
<div class="assets-colum-title facility_{$facility.id} glm-hidden">Number</div>
<div class="assets-colum-title facility_{$facility.id} glm-hidden">Quantity</div>
-
- {foreach $facility.assets as $asset}
+{literal}
+<!--
+ {if $facility.assets}
+ {foreach $facility.assets as $asset}
<div style="grid-column: 2 / span 3;" class="facility_{$facility.id} glm-hidden">Room</div>
<div class="facility_{$facility.id} glm-hidden">Ballroom</div>
<div class="assets-colum-title facility_{$facility.id} glm-hidden">Account</div>
<div class="assets-colum-title facility_{$facility.id} glm-hidden">Quantity</div>
- {foreach $asset.assignments as $assignment}
+ {foreach $asset.assignments as $assignment}
<div style="grid-column: 3 / span 2" class="facility_{$facility.id} glm-hidden">1/1/2018 07:00 AM</div>
<div class="facility_{$facility.id} glm-hidden">1/1/2018 05:00 PM</div>
{* Third indent here *}
<div style="grid-column: 4 / span 4;" class="facility_{$facility.id} glm-hidden"><a href="#edit">Edit</a> <a href="#edit">Delete</a></div>
- {/foreach} {* assignments *}
+ {/foreach} {* assignments *}
- {/foreach} {* assets *}
-
+ {/foreach} {* assets *}
+ {/if}
+-->
+{/literal}
{/foreach} {* facilities *}
{else} {* if haveFacilities *}
- <div style="grid-column: 1 / span 7;" id="glmAssetNoFacilities">No Facilities Listed</div>
+ <div style="grid-column: 1 / span 7;" id="glmAssetNoFacilities">No {$terms.assets_term_facility_plur_cap} Listed</div>
{/if} {* if haveFacilities *}
<script>
jQuery(document).ready(function($){
- // File Line Hover Action
+
var facilityEditFlag = false;
var facilityHoverId = false;
+ var currentFormAction = false;
+
+ // File Line Hover Action
$('.facility-name').live( 'mouseenter', function() {
if (facilityEditFlag) {
return;
$('#assetsDialog').dialog({
autoOpen: false,
width: 600,
- minWidth: 300,
- dialogClass: 'glm-dialog-no-close'
+ minWidth: 300
+ // dialogClass: 'glm-dialog-no-close'
});
// Hide "No facilities"
// Add a facility
- $('#glm-assets-add-facility-button').on('click', function(event) {
+ $('#glm-assets-add-facility-button').live('click', function(event) {
+ facilityEditFlag = true;
$.ajax({
url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=assetManagement&option=newFacility',
type: $(this).attr("method"),
contentType: false,
success: function (data, status)
{
+ currentFormAction = 'add';
var status = data.charAt(0);
$('#assetsDialog').html(data.substring(1));
- $('#assetsDialog').dialog( "option", "title", "Add a new Facility" );
+ $('#assetsDialog').dialog( "option", "title", "Add a new {$terms.assets_term_facility_cap}" );
$('#assetsDialog').dialog('open');
},
error: function (xhr, desc, err)
});
// Edit a facility
- $('.facility-edit').on('click', function(event) {
+ $('.facility-edit').live('click', function(event) {
facilityEditFlag = true;
$.ajax({
url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=assetManagement&option=editFacility&id=' + facilityHoverId,
contentType: false,
success: function (data, status)
{
+ currentFormAction = 'edit';
var status = data.charAt(0);
$('#assetsDialog').html(data.substring(1));
- $('#assetsDialog').dialog( "option", "title", "Edit Facility" );
+ $('#assetsDialog').dialog( "option", "title", "Edit {$terms.assets_term_facility_cap}" );
$('#assetsDialog').dialog('open');
},
error: function (xhr, desc, err)
// Submit Facility Form
$('#facilityForm').live('submit', function(event) {
+
+ if (currentFormAction == 'add') {
+ var thisOption = 'addNewFacility';
+ }
+ if (currentFormAction == 'edit') {
+ var thisOption = 'updateFacility';
+ }
event.preventDefault();
$.ajax({
- url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=assetManagement&option=addNewFacility',
+ url: '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=assetManagement&option=' + thisOption,
type: $(this).attr("method"),
dataType: 'html',
data: new FormData(this),
// If all is good add this facility to the top of the list for now
if (status == 0) {
- $('#assetsFacilitiesContainer').prepend(html);
- $('#assetsDialog').dialog('close');
- hideNoFacilities();
+
+ facilityEditFlag = false;
+
+ if (currentFormAction == 'add') {
+ $('#assetsFacilitiesContainer').prepend(html);
+ $('#assetsDialog').dialog('close');
+ hideNoFacilities();
+ }
+ if (currentFormAction == 'edit') {
+ $('#facility_' + facilityHoverId).html(html);
+ $('#assetsDialog').dialog('close');
+ }
}
+
+ // if status....
+
},
error: function (xhr, desc, err)
{