Merge in v0.2.2 fixes

git-svn-id: file:///svn-source/pmgr/branches/v0.3_work@966 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2010-03-12 04:05:00 +00:00
parent 68e6dc2d20
commit 07461f4419
5 changed files with 51 additions and 9 deletions

View File

@@ -32,15 +32,22 @@
* *
*/ */
function sandbox() { function _box($type) {
$r = Router::requestRoute(); static $box = array('type' => null, 'test' => array());
return !empty($r[3]['sand_route']); if (!isset($box['type']) && !isset($box['test'][$type])) {
$r = Router::requestRoute();
/* if (!preg_match("/gridData/", $_SERVER['REQUEST_URI'])) { */
/* print("<PRE>Route:\n");print_r($r);print("\n</PRE>\n"); */
/* } */
$box['test'][$type] = !empty($r[3]["${type}_route"]);
if ($box['test'][$type])
$box['type'] = $type;
}
return $box['type'] == $type;
} }
function devbox() { function sandbox() { return _box('sand'); }
$r = Router::requestRoute(); function devbox() { return _box('dev'); }
return !empty($r[3]['dev_route']);
}
function server_request_var($var) { function server_request_var($var) {
if (preg_match("/^HTTP_ACCEPT|REMOTE_PORT/", $var)) if (preg_match("/^HTTP_ACCEPT|REMOTE_PORT/", $var))

View File

@@ -43,6 +43,16 @@ Router::connect('/sand',
array('sand_route' => true) + $default_path); array('sand_route' => true) + $default_path);
Router::connect('/sand/:controller/:action/*', Router::connect('/sand/:controller/:action/*',
array('sand_route' => true, 'action' => null)); array('sand_route' => true, 'action' => null));
/* Unfortunately, for some reason we need an extra route to solve
* a bug with form generation. When $this->data is set by the
* controller, and a URL is generated by the FormHelper, this
* route is required to ensure the form action is correct. An
* example of a broken page is for /customers/edit/XX. It appears
* the page location uses the route above, it's only URL generation
* that seems to be broken.
*/
Router::connect('/sand/:controller/:action/:id/*',
array('sand_route' => true,'action' => null, 'id'=>null));
/* /*
* Route for developement functionality * Route for developement functionality
@@ -51,5 +61,15 @@ Router::connect('/dev',
array('dev_route' => true) + $default_path); array('dev_route' => true) + $default_path);
Router::connect('/dev/:controller/:action/*', Router::connect('/dev/:controller/:action/*',
array('dev_route' => true, 'action' => null)); array('dev_route' => true, 'action' => null));
/* Unfortunately, for some reason we need an extra route to solve
* a bug with form generation. When $this->data is set by the
* controller, and a URL is generated by the FormHelper, this
* route is required to ensure the form action is correct. An
* example of a broken page is for /customers/edit/XX. It appears
* the page location uses the route above, it's only URL generation
* that seems to be broken.
*/
Router::connect('/dev/:controller/:action/:id/*',
array('dev_route' => true,'action' => null, 'id'=>null));
?> ?>

View File

@@ -2,6 +2,12 @@
class CustomersController extends AppController { class CustomersController extends AppController {
// DEBUG FUNCTION ONLY!
// Call without id to update ALL customers
function force_update($id = null) {
$this->Customer->update($id);
$this->redirect(array('action'=>'index'));
}
/************************************************************************** /**************************************************************************
************************************************************************** **************************************************************************

View File

@@ -192,6 +192,13 @@ class Customer extends AppModel {
} }
$id = $this->id; $id = $this->id;
// Appears that $this->save() "helpfully" choses to add in
// any missing data fields, populated with default values.
// So, after saving is complete, the fields 'lease_count',
// 'past_lease_count', and 'current_lease_count' have all
// been reset to zero. Gee, thanks Cake...
$this->update($id);
// Remove all associated Customer Contacts, as it ensures // Remove all associated Customer Contacts, as it ensures
// any entries deleted by the user actually get deleted // any entries deleted by the user actually get deleted
// in the system. We'll recreate the needed ones anyway. // in the system. We'll recreate the needed ones anyway.

View File

@@ -148,9 +148,11 @@ class Lease extends AppModel {
array('class' => 'StatementEntry', array('class' => 'StatementEntry',
'fields' => array(), 'fields' => array(),
'conditions' => array 'conditions' => array
('SEx.effective_date = DATE_ADD(StatementEntry.through_date, INTERVAL 1 day)', ('SEx.lease_id = StatementEntry.lease_id',
'SEx.lease_id = StatementEntry.lease_id', 'SEx.type' => 'CHARGE',
'SEx.account_id' => $rent_account_id,
'SEx.reverse_transaction_id IS NULL', 'SEx.reverse_transaction_id IS NULL',
'SEx.effective_date = DATE_ADD(StatementEntry.through_date, INTERVAL 1 day)',
), ),
), ),
), ),