diff --git a/site/app_controller.php b/site/app_controller.php
index 2c7784e..ee89ebe 100644
--- a/site/app_controller.php
+++ b/site/app_controller.php
@@ -113,6 +113,9 @@ class AppController extends Controller {
$query['fields'] = $this->jqGridDataFields($params, $model);
$results = $this->jqGridDataRecords($params, $model, $query);
+ // Add in any needed hyperlinks
+ $this->jqGridRecordLinks($params, $model, $results, array());
+
// DEBUG PURPOSES ONLY
$params['query'] = $query;
@@ -246,6 +249,28 @@ class AppController extends Controller {
return $model->find('all', $query);
}
+ function jqGridRecordLinks(&$params, &$model, &$records, $links) {
+ foreach ($links AS $table => $fields) {
+ $controller = Inflector::pluralize(strtolower($table));
+ $id = 'id';
+ if (isset($fields['id']))
+ $id = $fields['id'];
+ foreach ($records AS &$record) {
+ foreach (array_diff_key($fields, array('id'=>1)) AS $field) {
+ $params['linkrecord'][] = compact('table', 'field', 'id', 'controller', 'record');
+ $record[$table][$field] =
+ '' .
+ $record[$table][$field] .
+ '';
+ }
+ }
+ }
+ }
+
function jqGridDataOutputHeader(&$params, &$model) {
if ($params['debug']) {
ob_start();
@@ -262,7 +287,7 @@ class AppController extends Controller {
echo " $records\n";
}
- function jqGridDataOutputRecords(&$params, &$model, $records) {
+ function jqGridDataOutputRecords(&$params, &$model, &$records) {
$model_alias = $model->alias;
foreach ($records AS $record) {
diff --git a/site/controllers/customers_controller.php b/site/controllers/customers_controller.php
index cffca1b..88523d4 100644
--- a/site/controllers/customers_controller.php
+++ b/site/controllers/customers_controller.php
@@ -122,6 +122,11 @@ class CustomersController extends AppController {
return $count;
}
+ function jqGridRecordLinks(&$params, &$model, &$records, $links) {
+ $links['Customer'] = array('name');
+ return parent::jqGridRecordLinks($params, $model, $records, $links);
+ }
+
/**************************************************************************
**************************************************************************
diff --git a/site/controllers/leases_controller.php b/site/controllers/leases_controller.php
index 1d4dac1..9a4e354 100644
--- a/site/controllers/leases_controller.php
+++ b/site/controllers/leases_controller.php
@@ -51,8 +51,8 @@ class LeasesController extends AppController {
function jqGridDataTables(&$params, &$model) {
return array
- ('link' => array('Unit' => array('fields' => array('Unit.name')),
- 'Customer' => array('fields' => array('Customer.name'))));
+ ('link' => array('Unit' => array('fields' => array('Unit.id', 'Unit.name')),
+ 'Customer' => array('fields' => array('Customer.id', 'Customer.name'))));
}
function jqGridDataConditions(&$params, &$model) {
@@ -68,6 +68,12 @@ class LeasesController extends AppController {
return $conditions;
}
+ function jqGridRecordLinks(&$params, &$model, &$records, $links) {
+ $links['Lease'] = array('number');
+ $links['Unit'] = array('name');
+ return parent::jqGridRecordLinks($params, $model, $records, $links);
+ }
+
function jqGridDataRecords(&$params, &$model, $query) {
$leases = parent::jqGridDataRecords($params, $model, $query);