Merge in from pre_0.1 branch
git-svn-id: file:///svn-source/pmgr/trunk/site@847 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -27,25 +27,60 @@ Configure::write('debug', '0');
|
||||
|
||||
// prepare the form when the DOM is ready
|
||||
$(document).ready(function() {
|
||||
var options = {
|
||||
var options = {
|
||||
target: '#output-debug', // target element(s) to be updated with server response
|
||||
beforeSubmit: verifyRequest, // pre-submit callback
|
||||
success: showResponse, // post-submit callback
|
||||
|
||||
|
||||
// other available options:
|
||||
//clearForm: true, // clear all form fields after successful submit
|
||||
//resetForm: true, // reset the form after successful submit
|
||||
};
|
||||
|
||||
// bind form using 'ajaxForm'
|
||||
url: "<?php echo $html->url(array('controller' => 'transactions',
|
||||
'action' => 'postInvoice', 0)); ?>"
|
||||
};
|
||||
|
||||
// bind form using 'ajaxForm'
|
||||
if ($('#invoice-form').ajaxForm != null)
|
||||
$('#invoice-form').ajaxForm(options);
|
||||
});
|
||||
else
|
||||
$('#repeat, label[for=repeat]').remove();
|
||||
});
|
||||
|
||||
// pre-submit callback
|
||||
function verifyRequest(formData, jqForm, options) {
|
||||
//$("#debug").html('');
|
||||
for (var i = 0; i < formData.length; ++i) {
|
||||
//$("#debug").append(i + ') ' + dump(formData[i]) + '<BR>');
|
||||
if (formData[i]['name'] == "data[Lease][id]" &&
|
||||
!(formData[i]['value'] > 0)) {
|
||||
//$("#debug").append('<P>Missing Lease ID');
|
||||
alert("Must select a lease first");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (formData[i]['name'] == "data[Transaction][stamp]" &&
|
||||
formData[i]['value'] == '') {
|
||||
//$("#debug").append('<P>Bad Stamp');
|
||||
alert("Must enter a valid date stamp");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Terrible way to accomplish this...
|
||||
/* for (var j = 0; j < 20; ++j) { */
|
||||
/* if (formData[i]['name'] == "data[Entry]["+j+"][amount]" && */
|
||||
/* !(formData[i]['value'] > 0)) { */
|
||||
/* //$("#debug").append('<P>Bad Amount'); */
|
||||
/* alert("Must enter a valid amount"); */
|
||||
/* return false; */
|
||||
/* } */
|
||||
/* } */
|
||||
}
|
||||
|
||||
//$("#debug").append('OK');
|
||||
//return false;
|
||||
|
||||
$('#results').html('Working <BLINK>...</BLINK>');
|
||||
// here we could return false to prevent the form from being submitted;
|
||||
// returning anything other than false will allow the form submit to continue
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -99,20 +134,7 @@ function onRowSelect(grid_id, lease_id) {
|
||||
// Set the item id that will be returned with the form
|
||||
$("#lease-id").val(lease_id);
|
||||
|
||||
// Get the item names from the grid
|
||||
//$("#invoice-lease").html($(grid_id).getCell(lease_id, 'Lease-number'));
|
||||
// REVISIT <AP>: 20090708
|
||||
// This is not intended as a long term solution,
|
||||
// but I need a way to enter data and then view
|
||||
// the results. This link will help.
|
||||
$("#invoice-lease").html('<A HREF="' +
|
||||
"<?php echo $html->url(array('controller' => 'leases',
|
||||
'action' => 'view')); ?>"
|
||||
+ "/" +
|
||||
$(grid_id).getCell(lease_id, 'Lease-id').replace(/^#/,'') +
|
||||
'">' +
|
||||
$(grid_id).getCell(lease_id, 'Lease-number') +
|
||||
'</A>');
|
||||
$("#invoice-lease").html($(grid_id).getCell(lease_id, 'Lease-number'));
|
||||
$("#invoice-unit").html($(grid_id).getCell(lease_id, 'Unit-name'));
|
||||
$("#invoice-customer").html($(grid_id).getCell(lease_id, 'Customer-name'));
|
||||
$("#invoice-rent").html($(grid_id).getCell(lease_id, 'Lease-rent'));
|
||||
@@ -183,19 +205,8 @@ function addChargeSource(flash) {
|
||||
'</FIELDSET>'
|
||||
);
|
||||
|
||||
$("#Entry"+id+"EffectiveDate")
|
||||
.attr('autocomplete', 'off')
|
||||
.datepicker({ constrainInput: true,
|
||||
numberOfMonths: [1, 1],
|
||||
showCurrentAtPos: 0,
|
||||
dateFormat: 'mm/dd/yy' });
|
||||
|
||||
$("#Entry"+id+"ThroughDate")
|
||||
.attr('autocomplete', 'off')
|
||||
.datepicker({ constrainInput: true,
|
||||
numberOfMonths: [1, 1],
|
||||
showCurrentAtPos: 0,
|
||||
dateFormat: 'mm/dd/yy' });
|
||||
datepicker("Entry"+id+"EffectiveDate");
|
||||
datepicker("Entry"+id+"ThroughDate");
|
||||
|
||||
return id;
|
||||
}
|
||||
@@ -222,6 +233,7 @@ if (empty($movein))
|
||||
array('gridstate' =>
|
||||
'onGridState("#"+$(this).attr("id"), gridstate)'),
|
||||
),
|
||||
'exclude' => array('Closed'),
|
||||
'action' => 'active',
|
||||
'nolinks' => true,
|
||||
'limit' => 10,
|
||||
@@ -259,6 +271,12 @@ echo $form->input("Lease.id",
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
|
||||
if (!empty($movein))
|
||||
echo $form->input("Customer.id",
|
||||
array('id' => 'customer-id',
|
||||
'type' => 'hidden',
|
||||
'value' => $customer['id']));
|
||||
|
||||
/* echo '<fieldset CLASS="invoice">' . "\n"; */
|
||||
/* echo ' <legend>Invoice</legend>' . "\n"; */
|
||||
|
||||
@@ -313,13 +331,9 @@ Configure::write('debug', '0');
|
||||
};
|
||||
|
||||
$(document).ready(function(){
|
||||
$("#TransactionStamp")
|
||||
.attr('autocomplete', 'off')
|
||||
.datepicker({ constrainInput: true,
|
||||
numberOfMonths: [1, 1],
|
||||
showCurrentAtPos: 0,
|
||||
dateFormat: 'mm/dd/yy' });
|
||||
datepicker('TransactionStamp');
|
||||
|
||||
$("#lease-id").val(0);
|
||||
$("#invoice-lease").html("INTERNAL ERROR");
|
||||
$("#invoice-unit").html("INTERNAL ERROR");
|
||||
$("#invoice-customer").html("INTERNAL ERROR");
|
||||
@@ -337,7 +351,7 @@ Configure::write('debug', '0');
|
||||
var id;
|
||||
resetForm(true);
|
||||
|
||||
$("#TransactionStamp").datepicker('disable');
|
||||
$("#TransactionStamp").attr('disabled', true);
|
||||
$("#TransactionStamp").val("<?php echo date('m/d/Y', $movein['time']); ?>");
|
||||
$('#TransactionStamp').after
|
||||
('<input type="hidden"' +
|
||||
@@ -399,15 +413,7 @@ Configure::write('debug', '0');
|
||||
|
||||
<?php if (isset($lease['id'])): ?>
|
||||
$("#lease-id").val(<?php echo $lease['id']; ?>);
|
||||
//$("#invoice-lease").html("<?php echo '#'.$lease['number']; ?>");
|
||||
$("#invoice-lease").html('<A HREF="' +
|
||||
"<?php echo $html->url(array('controller' => 'leases',
|
||||
'action' => 'view')); ?>"
|
||||
+ "/" +
|
||||
"<?php echo $lease['id']; ?>" +
|
||||
'">#' +
|
||||
"<?php echo $lease['number']; ?>" +
|
||||
'</A>');
|
||||
$("#invoice-lease").html("<?php echo '#'.$lease['number']; ?>");
|
||||
$("#invoice-unit").html("<?php echo $unit['name']; ?>");
|
||||
$("#invoice-customer").html("<?php echo $customer['name']; ?>");
|
||||
$("#invoice-rent").html("<?php echo FormatHelper::currency($lease['rent']); ?>");
|
||||
|
||||
@@ -26,14 +26,53 @@ $move_type = preg_replace("/.*_/", "", $this->action);
|
||||
// Reset the form
|
||||
function resetForm() {
|
||||
$("#customer-id").val(0);
|
||||
$("#move-customer").html("INTERNAL ERROR");
|
||||
$("#unit-id").val(0);
|
||||
$("#lease-id").val(0);
|
||||
$("#move-customer").html("INTERNAL ERROR");
|
||||
$("#move-unit").html("INTERNAL ERROR");
|
||||
$("#move-lease").html("INTERNAL ERROR");
|
||||
datepickerNow('LeaseMoveDate', false);
|
||||
}
|
||||
|
||||
// pre-submit callback
|
||||
function verifyRequest() {
|
||||
//$("#debug").html('');
|
||||
<?php if ($move_type === 'out'): ?>
|
||||
|
||||
if (!($("#lease-id").val() > 0)) {
|
||||
//$("#debug").append('<P>Missing Lease ID');
|
||||
alert("Please select the lease");
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
if (!($("#customer-id").val() > 0)) {
|
||||
//$("#debug").append('<P>Missing Customer ID');
|
||||
alert("Please select the customer");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!($("#unit-id").val() > 0)) {
|
||||
//$("#debug").append('<P>Missing Unit ID');
|
||||
alert("Please select the unit");
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
//$("#debug").append('OK');
|
||||
//return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function onRowSelect(grid_id, item_type, item_id) {
|
||||
cell_name = item_type.charAt(0).toUpperCase() + item_type.substr(1) + "-name";
|
||||
cell_name = item_type.charAt(0).toUpperCase() + item_type.substr(1);
|
||||
if (item_type == 'lease')
|
||||
cell_name += "-number";
|
||||
else
|
||||
cell_name += "-name";
|
||||
|
||||
// Set the item id that will be returned with the form
|
||||
$("#"+item_type+"-id").val(item_id);
|
||||
@@ -47,6 +86,22 @@ function onRowSelect(grid_id, item_type, item_id) {
|
||||
$("#LeaseDeposit").val($(grid_id).getCell(item_id, 'Unit-deposit'));
|
||||
}
|
||||
|
||||
// If a unit was selected, update the "Create new customer" link
|
||||
if (item_type == 'unit') {
|
||||
$("#customer-selection-new-url").attr
|
||||
('href',
|
||||
"<?php echo
|
||||
$html->url(array('controller' => 'customers',
|
||||
'action' => 'add')); ?>"
|
||||
+ '/' + $("#unit-id").val());
|
||||
}
|
||||
|
||||
// If a lease was selected, update the customer and unit
|
||||
if (item_type == 'lease') {
|
||||
$("#move-unit").html($(grid_id).getCell(item_id, 'Unit-name'));
|
||||
$("#move-customer").html($(grid_id).getCell(item_id, 'Customer-name'));
|
||||
}
|
||||
|
||||
// Hide the "no customer" message and show the current customer
|
||||
$("."+item_type+"-selection-invalid").hide();
|
||||
$("."+item_type+"-selection-valid").show();
|
||||
@@ -56,12 +111,12 @@ function onRowSelect(grid_id, item_type, item_id) {
|
||||
|
||||
function onGridState(grid_id, item_type, state) {
|
||||
if (state == 'visible') {
|
||||
$("."+item_type+"-selection-new").show();
|
||||
$("."+item_type+"-selection-invalid").hide();
|
||||
$("."+item_type+"-selection-valid").hide();
|
||||
}
|
||||
else {
|
||||
//if ($(grid_id).getGridParam("selrow"))
|
||||
//alert("id:" + $("#"+item_type+"-id").val());
|
||||
$("."+item_type+"-selection-new").hide();
|
||||
if ($("#"+item_type+"-id").val() > 0) {
|
||||
$("."+item_type+"-selection-invalid").hide();
|
||||
$("."+item_type+"-selection-valid").show();
|
||||
@@ -78,7 +133,42 @@ function onGridState(grid_id, item_type, state) {
|
||||
<?php
|
||||
; // align
|
||||
|
||||
if ($move_type !== 'out') {
|
||||
if ($move_type === 'out') {
|
||||
echo $this->element('leases', array
|
||||
('config' => array
|
||||
('grid_div_id' => 'leases-list',
|
||||
'grid_div_class' => 'text-below',
|
||||
'caption' => ('<A HREF="#" ONCLICK="$(\'#leases-list .HeaderButton\').click();'.
|
||||
' return false;">Select Lease</A>'),
|
||||
'grid_setup' => array('hiddengrid' => isset($lease['id'])),
|
||||
'grid_events' => array('onSelectRow' =>
|
||||
array('ids' =>
|
||||
'if (ids != null){onRowSelect("#"+$(this).attr("id"), "lease", ids);}'),
|
||||
'onHeaderClick' =>
|
||||
array('gridstate' =>
|
||||
'onGridState("#"+$(this).attr("id"), "lease", gridstate)'),
|
||||
),
|
||||
'exclude' => array('Closed'),
|
||||
'action' => 'active',
|
||||
'nolinks' => true,
|
||||
'limit' => 10,
|
||||
)));
|
||||
|
||||
echo ('<DIV CLASS="move-inout grid-selection-text">' .
|
||||
|
||||
'<DIV CLASS="lease-selection-valid" style="display:none">' .
|
||||
'Lease <SPAN id="move-lease"></SPAN>' . ' / ' .
|
||||
'Unit: <SPAN id="move-unit"></SPAN>' . ' / ' .
|
||||
'Customer: <SPAN id="move-customer"></SPAN>' .
|
||||
'</DIV>' .
|
||||
|
||||
'<DIV CLASS="lease-selection-invalid" style="display:none">' .
|
||||
'Please select lease' .
|
||||
'</DIV>' .
|
||||
|
||||
'</DIV>' . "\n");
|
||||
}
|
||||
else {
|
||||
echo $this->element('customers', array
|
||||
('config' => array
|
||||
('grid_div_id' => 'customers-list',
|
||||
@@ -96,22 +186,27 @@ if ($move_type !== 'out') {
|
||||
'nolinks' => true,
|
||||
'limit' => 10,
|
||||
)));
|
||||
}
|
||||
|
||||
echo ('<DIV CLASS="move-inout grid-selection-text">' .
|
||||
echo ('<DIV CLASS="move-inout grid-selection-text">' .
|
||||
|
||||
'<DIV CLASS="customer-selection-valid" style="display:none">' .
|
||||
'Customer: <SPAN id="move-customer"></SPAN>' .
|
||||
'</DIV>' .
|
||||
'<DIV CLASS="customer-selection-new" style="display:none">' .
|
||||
$html->link('Create a new Customer',
|
||||
array('controller' => 'customers',
|
||||
'action' => 'add',
|
||||
(empty($unit['id']) ? null : $unit['id'])),
|
||||
array('id' => 'customer-selection-new-url')) .
|
||||
'</DIV>' .
|
||||
|
||||
'<DIV CLASS="customer-selection-invalid" style="display:none">' .
|
||||
'Please select customer' .
|
||||
'</DIV>' .
|
||||
'<DIV CLASS="customer-selection-valid" style="display:none">' .
|
||||
'Customer: <SPAN id="move-customer"></SPAN>' .
|
||||
'</DIV>' .
|
||||
|
||||
'</DIV>' . "\n");
|
||||
'<DIV CLASS="customer-selection-invalid" style="display:none">' .
|
||||
'Please select customer' .
|
||||
'</DIV>' .
|
||||
|
||||
'</DIV>' . "\n");
|
||||
|
||||
if ($move_type !== 'out') {
|
||||
echo $this->element('units', array
|
||||
('config' => array
|
||||
('grid_div_id' => 'units-list',
|
||||
@@ -132,39 +227,41 @@ if ($move_type !== 'out') {
|
||||
'nolinks' => true,
|
||||
'limit' => 10,
|
||||
)));
|
||||
|
||||
echo ('<DIV CLASS="move-inout grid-selection-text">' .
|
||||
|
||||
'<DIV CLASS="unit-selection-valid" style="display:none">' .
|
||||
'Unit: <SPAN id="move-unit"></SPAN>' .
|
||||
'</DIV>' .
|
||||
|
||||
'<DIV CLASS="unit-selection-invalid" style="display:none">' .
|
||||
'Please select unit' .
|
||||
'</DIV>' .
|
||||
|
||||
'</DIV>' . "\n");
|
||||
}
|
||||
|
||||
echo ('<DIV CLASS="move-inout grid-selection-text">' .
|
||||
|
||||
'<DIV CLASS="unit-selection-valid" style="display:none">' .
|
||||
'Unit: <SPAN id="move-unit"></SPAN>' .
|
||||
'</DIV>' .
|
||||
|
||||
'<DIV CLASS="unit-selection-invalid" style="display:none">' .
|
||||
'Please select unit' .
|
||||
'</DIV>' .
|
||||
|
||||
'</DIV>' . "\n");
|
||||
|
||||
echo $form->create(null, array('id' => 'move-inout-form',
|
||||
'onsubmit' => 'return verifyRequest();',
|
||||
'url' => array('controller' => 'leases',
|
||||
'action' => $move_action)));
|
||||
|
||||
echo $form->input("Lease.customer_id",
|
||||
array('id' => 'customer-id',
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
|
||||
echo $form->input("Lease.unit_id",
|
||||
array('id' => 'unit-id',
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
|
||||
if ($move_type === 'out') {
|
||||
echo $form->input('Lease.id',
|
||||
array('type' => 'hidden',
|
||||
'value' => $lease['id'],
|
||||
));
|
||||
array('id' => 'lease-id',
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
}
|
||||
else {
|
||||
echo $form->input("Lease.customer_id",
|
||||
array('id' => 'customer-id',
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
|
||||
echo $form->input("Lease.unit_id",
|
||||
array('id' => 'unit-id',
|
||||
'type' => 'hidden',
|
||||
'value' => 0));
|
||||
}
|
||||
|
||||
echo $this->element('form_table',
|
||||
@@ -219,15 +316,23 @@ echo $form->end('Perform Move ' . ucfirst($move_type));
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
$(document).ready(function(){
|
||||
$("#LeaseMoveDate")
|
||||
.attr('autocomplete', 'off')
|
||||
.datepicker({ constrainInput: true,
|
||||
numberOfMonths: [1, 1],
|
||||
showCurrentAtPos: 0,
|
||||
dateFormat: 'mm/dd/yy' });
|
||||
|
||||
datepicker('LeaseMoveDate');
|
||||
resetForm();
|
||||
|
||||
<?php if ($move_type === 'out') { ?>
|
||||
|
||||
<?php if (isset($lease['id'])): ?>
|
||||
$("#lease-id").val(<?php echo $lease['id']; ?>);
|
||||
$("#move-lease").html("#<?php echo $lease['number']; ?>");
|
||||
$("#move-customer").html("<?php echo $customer['name']; ?>");
|
||||
$("#move-unit").html("<?php echo $unit['name']; ?>");
|
||||
onGridState(null, 'lease', 'hidden');
|
||||
<?php else: ?>
|
||||
onGridState(null, 'lease', 'visible');
|
||||
<?php endif; ?>
|
||||
|
||||
<?php } else { /* end (move_type === 'out') */ ?>
|
||||
|
||||
<?php if (isset($customer['id'])): ?>
|
||||
$("#customer-id").val(<?php echo $customer['id']; ?>);
|
||||
$("#move-customer").html("<?php echo $customer['name']; ?>");
|
||||
@@ -243,6 +348,10 @@ echo $form->end('Perform Move ' . ucfirst($move_type));
|
||||
<?php else: ?>
|
||||
onGridState(null, 'unit', 'visible');
|
||||
<?php endif; ?>
|
||||
|
||||
<?php } /* end (move_type === 'out') */ ?>
|
||||
|
||||
|
||||
});
|
||||
--></script>
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ if (isset($lease['Lease']))
|
||||
|
||||
$rows = array();
|
||||
|
||||
$rows[] = array('ID', $lease['id']);
|
||||
$rows[] = array('Number', $lease['number']);
|
||||
$rows[] = array('Lease Type', $lease_type['name']);
|
||||
$rows[] = array('Unit', $html->link($unit['name'],
|
||||
@@ -90,8 +89,6 @@ echo $this->element('statement_entries', array
|
||||
'filter' => array('Lease.id' => $lease['id']),
|
||||
'include' => array('Through'),
|
||||
'exclude' => array('Customer', 'Lease', 'Unit'),
|
||||
'sort_column' => 'Effective',
|
||||
'sort_order' => 'DESC',
|
||||
)));
|
||||
|
||||
|
||||
@@ -108,9 +105,8 @@ echo $this->element('ledger_entries', array
|
||||
'Tender.id !=' => null,
|
||||
//'Account.id !=' => '-AR-'
|
||||
),
|
||||
'exclude' => array('Account', 'Cr/Dr'),
|
||||
'sort_column' => 'Date',
|
||||
'sort_order' => 'DESC',
|
||||
'include' => array('Transaction'),
|
||||
'exclude' => array('Entry', 'Account', 'Cr/Dr'),
|
||||
)));
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user