Changed how tables are layed out (since I was repeatedly duplicating code in many places) by adding a table element to be used wherever we need a table. This could probably have been a helper instead of an element, but it's not clear to me why one should be chosen over the other, and I already know how to quickly add an element (I think the real choice resides in whether you need a collection of helper functions, or you just want to drop in a chunk of html, i.e. a helper element). Also, a major revamp to the style sheets as well, although more work is clearly needed.
git-svn-id: file:///svn-source/pmgr/branches/initial_20090526@42 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -31,87 +31,88 @@ function datefmt($date) {
|
||||
/**********************************************************************
|
||||
* Tenant Info
|
||||
*/
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Tenant Info</CAPTION>' . "\n");
|
||||
echo $html->tableCells(array(array('Name', $contact['Contact']['display_name']),
|
||||
array('Company', $contact['Contact']['company_name']),
|
||||
array('SSN', $contact['Contact']['id_federal']),
|
||||
array('ID', $contact['Contact']['id_num']
|
||||
. ($contact['Contact']['id_state']
|
||||
? " - ".$contact['Contact']['id_state']
|
||||
: "")),
|
||||
array('Comment', $contact['Contact']['comment'])),
|
||||
null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
|
||||
$rows = array(array('Name', $contact['Contact']['display_name']),
|
||||
array('Company', $contact['Contact']['company_name']),
|
||||
array('SSN', $contact['Contact']['id_federal']),
|
||||
array('ID', ($contact['Contact']['id_num']
|
||||
. ($contact['Contact']['id_state']
|
||||
? " - ".$contact['Contact']['id_state']
|
||||
: ""))),
|
||||
array('Comment', $contact['Contact']['comment']));
|
||||
|
||||
echo $this->element('table',
|
||||
array('class' => 'item contact detail',
|
||||
'caption' => 'Tenant Info',
|
||||
'rows' => $rows,
|
||||
'column_class' => array('field', 'value')));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Phones
|
||||
*/
|
||||
$headers = array('Location', 'Preference', 'Type', 'Phone', 'Extension', 'Comment');
|
||||
$headers = array('Preference', 'Phone', 'Comment');
|
||||
$rows = array();
|
||||
foreach($contact['ContactPhone'] AS $phone) {
|
||||
$rows[] = array($phone['ContactsMethod']['type'],
|
||||
$phone['ContactsMethod']['preference'],
|
||||
$rows[] = array($phone['ContactsMethod']['preference'] . " / " .
|
||||
$phone['ContactsMethod']['type'] . " / " .
|
||||
$phone['type'],
|
||||
phone($phone['phone']),
|
||||
$phone['ext'],
|
||||
phone($phone['phone']) .
|
||||
($phone['ext'] ? " x".$phone['ext'] : ""),
|
||||
$phone['comment']);
|
||||
}
|
||||
|
||||
if (count($rows)) {
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Phone</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
}
|
||||
echo $this->element('table',
|
||||
array('class' => 'item phone list',
|
||||
'caption' => 'Phone',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Emails
|
||||
*/
|
||||
$headers = array('Location', 'Preference', 'Email', 'Comment');
|
||||
$headers = array('Preference', 'Email', 'Comment');
|
||||
$rows = array();
|
||||
foreach($contact['ContactEmail'] AS $email) {
|
||||
$rows[] = array($email['ContactsMethod']['type'],
|
||||
$email['ContactsMethod']['preference'],
|
||||
$rows[] = array($email['ContactsMethod']['preference'] . " / " .
|
||||
$email['ContactsMethod']['type'],
|
||||
$email['email'],
|
||||
$email['comment']);
|
||||
}
|
||||
|
||||
if (count($rows)) {
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Email</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
}
|
||||
echo $this->element('table',
|
||||
array('class' => 'item email list',
|
||||
'caption' => 'Email',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* Addresses
|
||||
*/
|
||||
$headers = array('Location', 'Preference', 'Address', 'City', 'State', 'Zip', 'Country', 'Comment');
|
||||
$headers = array('Preference', 'Address', 'Comment');
|
||||
$rows = array();
|
||||
foreach($contact['ContactAddress'] AS $address) {
|
||||
$rows[] = array($address['ContactsMethod']['type'],
|
||||
$address['ContactsMethod']['preference'],
|
||||
$address['address'],
|
||||
$address['city'],
|
||||
$address['state'],
|
||||
$address['postcode'],
|
||||
$address['country'],
|
||||
$rows[] = array($address['ContactsMethod']['preference'] . " / " .
|
||||
$address['ContactsMethod']['type'],
|
||||
preg_replace("/\n/", "<BR>\n", $address['address']) . "<BR>\n" .
|
||||
$address['city'] . ", " .
|
||||
$address['state'] . " " .
|
||||
$address['postcode']
|
||||
. "<BR>\n" . $address['country']
|
||||
,
|
||||
$address['comment']);
|
||||
}
|
||||
|
||||
if (count($rows)) {
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Address</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
}
|
||||
echo $this->element('table',
|
||||
array('class' => 'item address list',
|
||||
'caption' => 'Address',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -133,11 +134,12 @@ foreach($contact['Lease'] AS $lease) {
|
||||
$lease['comment']);
|
||||
}
|
||||
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Lease History</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
echo $this->element('table',
|
||||
array('class' => 'item lease list',
|
||||
'caption' => 'Lease History',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -149,6 +151,7 @@ foreach($contact['Lease'] AS $lease) {
|
||||
$headers = array('Date', /*'Through',*/ /*'Charge/Receipt'*/'ID', 'Type', 'Comment', 'Amount', 'Total');
|
||||
|
||||
$rows = array();
|
||||
$row_class = array();
|
||||
$running_total = 0;
|
||||
foreach($lease['Charge'] AS $charge) {
|
||||
$amount = $charge['total'];
|
||||
@@ -159,6 +162,7 @@ foreach($contact['Lease'] AS $lease) {
|
||||
$charge['comment'],
|
||||
currency($amount),
|
||||
currency($running_total));
|
||||
$row_class[] = 'charge';
|
||||
|
||||
foreach ($charge['Receipt'] AS $receipt) {
|
||||
$amount = -1 * $receipt['ChargesReceipt']['amount'];
|
||||
@@ -173,16 +177,18 @@ foreach($contact['Lease'] AS $lease) {
|
||||
$receipt['comment'],
|
||||
currency($amount),
|
||||
currency($running_total));
|
||||
$row_class[] = 'receipt';
|
||||
}
|
||||
}
|
||||
$grand_total += $running_total;
|
||||
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Lease #'.$lease['number'].' ('.$lease['Unit']['name'].')</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
|
||||
echo $this->element('table',
|
||||
array('class' => 'item ledger list',
|
||||
'caption' => 'Lease #'.$lease['number'].' ('.$lease['Unit']['name'].')',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'row_class' => $row_class,
|
||||
'column_class' => $headers));
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -4,57 +4,52 @@ if (isset($heading))
|
||||
echo $heading;
|
||||
else
|
||||
echo '<h2>'.__('Contacts',true).'</h2>';
|
||||
?>
|
||||
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
$headers_manual = array('Id', 'Last Name', 'First Name', 'Company', 'Comment');
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
<?php
|
||||
{
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
$rows = array($paginator->sort('id'),
|
||||
$headers = array($paginator->sort('id'),
|
||||
$paginator->sort('last_name'),
|
||||
$paginator->sort('first_name'),
|
||||
$paginator->sort('company_name'),
|
||||
//$paginator->sort('unit_id'),
|
||||
$paginator->sort('comment'));
|
||||
} else {
|
||||
$rows = array('Id', 'Last Name', 'First Name', 'Company', 'Comment');
|
||||
}
|
||||
echo $html->tableHeaders($rows);
|
||||
} else {
|
||||
$headers = $headers_manual;
|
||||
}
|
||||
|
||||
$rows = array();
|
||||
foreach ($contacts as $contact) {
|
||||
$rows[] = array($html->link($contact['Contact']['id'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$html->link($contact['Contact']['last_name'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$html->link($contact['Contact']['first_name'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$contact['Contact']['company_name'],
|
||||
$contact['Contact']['comment']);
|
||||
}
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
$rows = array();
|
||||
foreach ($contacts as $contact) {
|
||||
$rows[] = array($html->link($contact['Contact']['id'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$html->link($contact['Contact']['last_name'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$html->link($contact['Contact']['first_name'],
|
||||
array('controller' => 'contacts',
|
||||
'action' => 'view',
|
||||
$contact['Contact']['id'])),
|
||||
$contact['Contact']['company_name'],
|
||||
$contact['Contact']['comment']);
|
||||
}
|
||||
|
||||
<?php
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
?>
|
||||
echo $this->element('table',
|
||||
array('class' => 'item contact list',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers_manual));
|
||||
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
|
||||
@@ -4,55 +4,50 @@ if (isset($heading))
|
||||
echo $heading;
|
||||
else
|
||||
echo '<h2>'.__('Maps',true).'</h2>';
|
||||
?>
|
||||
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
$headers_manual = array('Id', 'Name', 'Area', 'Width', 'Depth', 'Comment');
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
<?php
|
||||
{
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
$rows = array($paginator->sort('id'),
|
||||
$headers = array($paginator->sort('id'),
|
||||
$paginator->sort('name'),
|
||||
$paginator->sort('site_area_id'),
|
||||
$paginator->sort('width'),
|
||||
$paginator->sort('depth'),
|
||||
$paginator->sort('comment'));
|
||||
} else {
|
||||
$rows = array('Id', 'Name', 'Area', 'Width', 'Depth', 'Comment');
|
||||
}
|
||||
echo $html->tableHeaders($rows);
|
||||
} else {
|
||||
$headers = $headers_manual;
|
||||
}
|
||||
|
||||
$rows = array();
|
||||
foreach ($maps as $map) {
|
||||
$rows[] = array($html->link($map['Map']['id'],
|
||||
array('controller' => 'maps',
|
||||
'action' => 'view',
|
||||
$map['Map']['id'])),
|
||||
$html->link($map['Map']['name'],
|
||||
array('controller' => 'maps',
|
||||
'action' => 'view',
|
||||
$map['Map']['id'])),
|
||||
$map['SiteArea']['name'],
|
||||
$map['Map']['width'] / 12,
|
||||
$map['Map']['depth'] / 12,
|
||||
$map['Map']['comment']);
|
||||
}
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
$rows = array();
|
||||
foreach ($maps as $map) {
|
||||
$rows[] = array($html->link($map['Map']['id'],
|
||||
array('controller' => 'maps',
|
||||
'action' => 'view',
|
||||
$map['Map']['id'])),
|
||||
$html->link($map['Map']['name'],
|
||||
array('controller' => 'maps',
|
||||
'action' => 'view',
|
||||
$map['Map']['id'])),
|
||||
$map['SiteArea']['name'],
|
||||
$map['Map']['width'] / 12,
|
||||
$map['Map']['depth'] / 12,
|
||||
$map['Map']['comment']);
|
||||
}
|
||||
|
||||
<?php
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
?>
|
||||
echo $this->element('table',
|
||||
array('class' => 'item map list',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers_manual));
|
||||
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
|
||||
59
site/views/elements/table.ctp
Normal file
59
site/views/elements/table.ctp
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php /* -*- mode:PHP -*- */
|
||||
|
||||
/* table.ctp */
|
||||
/*
|
||||
*
|
||||
* @filesource
|
||||
* @copyright Copyright 2009, Abijah Perkins
|
||||
* @package pmgr
|
||||
*/
|
||||
|
||||
if (isset($rows) && is_array($rows) && count($rows)) {
|
||||
echo('<TABLE' . (isset($class) ? ' CLASS="'.$class.'"' : '') . '>' . "\n");
|
||||
if (isset($caption))
|
||||
echo(' <CAPTION>' . $caption . '</CAPTION>' . "\n");
|
||||
|
||||
if (isset($row_class) && is_array($row_class)) {
|
||||
foreach ($row_class AS &$rc)
|
||||
$rc = preg_replace("/ /", "-", strtolower($rc));
|
||||
}
|
||||
|
||||
if (isset($column_class) && is_array($column_class)) {
|
||||
foreach ($column_class AS &$cc)
|
||||
$cc = preg_replace("/ /", "-", strtolower($cc));
|
||||
}
|
||||
|
||||
/* if (isset($headers) && is_array($headers)) { */
|
||||
/* foreach ($headers AS $i => $col) { */
|
||||
/* if (!isset($column_class[$i])) */
|
||||
/* continue; */
|
||||
/* $headers[$i] = array($col, array('class' => $column_class[$i])); */
|
||||
/* } */
|
||||
/* } */
|
||||
|
||||
// Very kludgy.
|
||||
// I want the row_class to affix to the <tr> tag.
|
||||
// tableCells, however, does not have such ability :-/
|
||||
foreach ($rows AS $r => &$row) {
|
||||
foreach ($row AS $c => $col) {
|
||||
$colclass = (isset($column_class) && is_array($column_class)) ? $column_class[$c] : '';;
|
||||
$rowclass = (isset($row_class) && is_array($row_class)) ? $row_class[$r] : '';
|
||||
$class = $rowclass . ($colclass ? " " . $colclass : '');
|
||||
if (!$class)
|
||||
continue;
|
||||
$row[$c] = array($col, array('class' => $class));
|
||||
}
|
||||
}
|
||||
|
||||
echo("\n");
|
||||
if (isset($headers) && is_array($headers))
|
||||
echo $html->tableHeaders($headers);
|
||||
|
||||
echo("\n");
|
||||
echo $html->tableCells($rows,
|
||||
array('class' => "oddrow"),
|
||||
array('class' => "evnrow"),
|
||||
false, false);
|
||||
echo("\n");
|
||||
echo('</TABLE>' . "\n");
|
||||
}
|
||||
@@ -4,53 +4,48 @@ if (isset($heading))
|
||||
echo $heading;
|
||||
else
|
||||
echo '<h2>'.__('Units',true).'</h2>';
|
||||
?>
|
||||
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
$headers_manual = array('Id', 'Unit', 'Size', 'Status', 'Comment');
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
<?php
|
||||
{
|
||||
if (isset($paginator)) {
|
||||
echo $paginator->counter(array(
|
||||
'format' => __('Page %page% of %pages%, showing %current% records (%start% - %end%) of %count% total', true)));
|
||||
|
||||
$rows = array($paginator->sort('id'),
|
||||
$headers = array($paginator->sort('id'),
|
||||
$paginator->sort('Unit', 'name'),
|
||||
$paginator->sort('unit_size_id'),
|
||||
$paginator->sort('status'),
|
||||
$paginator->sort('comment'));
|
||||
} else {
|
||||
$rows = array('Id', 'Unit', 'Size', 'Status', 'Comment');
|
||||
}
|
||||
echo $html->tableHeaders($rows);
|
||||
} else {
|
||||
$headers = $headers_manual;
|
||||
}
|
||||
|
||||
$rows = array();
|
||||
foreach ($units as $unit) {
|
||||
$rows[] = array($html->link($unit['Unit']['id'],
|
||||
array('controller' => 'units',
|
||||
'action' => 'view',
|
||||
$unit['Unit']['id'])),
|
||||
$html->link($unit['Unit']['name'],
|
||||
array('controller' => 'units',
|
||||
'action' => 'view',
|
||||
$unit['Unit']['id'])),
|
||||
$unit['UnitSize']['name'],
|
||||
$unit['Unit']['status'],
|
||||
$unit['Unit']['comment']);
|
||||
}
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
$rows = array();
|
||||
foreach ($units as $unit) {
|
||||
$rows[] = array($html->link($unit['Unit']['id'],
|
||||
array('controller' => 'units',
|
||||
'action' => 'view',
|
||||
$unit['Unit']['id'])),
|
||||
$html->link($unit['Unit']['name'],
|
||||
array('controller' => 'units',
|
||||
'action' => 'view',
|
||||
$unit['Unit']['id'])),
|
||||
$unit['UnitSize']['name'],
|
||||
$unit['Unit']['status'],
|
||||
$unit['Unit']['comment']);
|
||||
}
|
||||
|
||||
<?php
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
?>
|
||||
echo $this->element('table',
|
||||
array('class' => 'item unit list',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers_manual));
|
||||
|
||||
if (isset($paginator)) {
|
||||
echo('<div class="paging">' . "\n");
|
||||
echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
|
||||
echo(' | ');
|
||||
echo $paginator->numbers();
|
||||
echo(' | ');
|
||||
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));
|
||||
echo('</div>' . "\n");
|
||||
}
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
Property Manager: <?php echo $title_for_layout; ?>
|
||||
</title>
|
||||
<?php
|
||||
echo $html->meta('icon');
|
||||
echo $html->css('cake.generic');
|
||||
echo $scripts_for_layout;
|
||||
echo $html->meta('icon') . "\n";
|
||||
echo $html->css('cake.generic') . "\n";
|
||||
echo $html->css('layout') . "\n";
|
||||
echo $html->css('sidemenu') . "\n";
|
||||
echo $scripts_for_layout . "\n";
|
||||
?>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="<?php echo $html->url('/webroot/css/sidemenu.css') ?>" />
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
@@ -21,18 +21,16 @@ function datefmt($date) {
|
||||
/**********************************************************************
|
||||
* Unit Info
|
||||
*/
|
||||
$rows = array();
|
||||
foreach($unit['Unit'] AS $col => $val) {
|
||||
$rows[] = array(array($col, 'width=1%'), $val);
|
||||
}
|
||||
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Unit Info</CAPTION>' . "\n");
|
||||
echo $html->tableCells(array(array('Name', $unit['Unit']['name']),
|
||||
array('Status', $unit['Unit']['status']),
|
||||
array('Comment', $unit['Unit']['comment'])),
|
||||
null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
$rows = array(array('Name', $unit['Unit']['name']),
|
||||
array('Status', $unit['Unit']['status']),
|
||||
array('Comment', $unit['Unit']['comment']));
|
||||
|
||||
echo $this->element('table',
|
||||
array('class' => 'item unit detail',
|
||||
'caption' => 'Unit Info',
|
||||
'rows' => $rows,
|
||||
'column_class' => array('field', 'value')));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -54,11 +52,12 @@ foreach($unit['Lease'] AS $lease) {
|
||||
$lease['comment']);
|
||||
}
|
||||
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Lease History</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
echo $this->element('table',
|
||||
array('class' => 'item lease list',
|
||||
'caption' => 'Lease History',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -98,12 +97,12 @@ foreach($unit['Lease'] AS $lease) {
|
||||
}
|
||||
$grand_total += $running_total;
|
||||
|
||||
echo('<table cellpadding="0" cellspacing="0">' . "\n");
|
||||
echo(' <CAPTION>Lease #'.$lease['number'].' ('.$lease['Contact'][0]['display_name'].')</CAPTION>' . "\n");
|
||||
echo $html->tableHeaders($headers);
|
||||
echo $html->tableCells($rows, null, array('class' => "altrow"), false, false);
|
||||
echo('</table>' . "\n");
|
||||
|
||||
echo $this->element('table',
|
||||
array('class' => 'item ledger list',
|
||||
'caption' => 'Lease #'.$lease['number'].' ('.$lease['Contact'][0]['display_name'].')',
|
||||
'headers' => $headers,
|
||||
'rows' => $rows,
|
||||
'column_class' => $headers));
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -27,59 +27,6 @@
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* General Style Info */
|
||||
body {
|
||||
background: #003d4c;
|
||||
color: #fff;
|
||||
font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
|
||||
font-size:90%;
|
||||
margin: 0;
|
||||
}
|
||||
a {
|
||||
background:#fff;
|
||||
color: #003d4c;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
a:hover {
|
||||
background:#fff;
|
||||
color: #003d4c;
|
||||
text-decoration:none;
|
||||
}
|
||||
a img {
|
||||
border:none;
|
||||
}
|
||||
h1, h2, h3, h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
h1 {
|
||||
background:#fff;
|
||||
color: #003d4c;
|
||||
font-size: 100%;
|
||||
margin: 0.1em 0;
|
||||
}
|
||||
h2 {
|
||||
background:#fff;
|
||||
color: #e32;
|
||||
font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
|
||||
font-size: 190%;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
h3 {
|
||||
color: #993;
|
||||
font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
|
||||
font-size: 165%;
|
||||
padding-top: 1.5em;
|
||||
}
|
||||
h4 {
|
||||
color: #993;
|
||||
font-weight: normal;
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
ul, li {
|
||||
margin: 0 12px;
|
||||
}
|
||||
|
||||
/* Layout */
|
||||
#container {
|
||||
text-align: left;
|
||||
@@ -117,51 +64,7 @@ ul, li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
table {
|
||||
background: #fff;
|
||||
border:1px solid #ccc;
|
||||
border-right:0;
|
||||
clear: both;
|
||||
color: #333;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
th {
|
||||
background: #f2f2f2;
|
||||
border:1px solid #bbb;
|
||||
border-top: 1px solid #fff;
|
||||
border-left: 1px solid #fff;
|
||||
text-align: center;
|
||||
}
|
||||
th a {
|
||||
background:#f2f2f2;
|
||||
display: block;
|
||||
padding: 2px 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
th a:hover {
|
||||
background: #ccc;
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
}
|
||||
table tr td {
|
||||
background: #fff;
|
||||
border-right: 1px solid #ccc;
|
||||
padding: 4px;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
}
|
||||
table tr.altrow td {
|
||||
background: #f4f4f4;
|
||||
}
|
||||
td.actions {
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.actions a {
|
||||
margin: 0px 6px;
|
||||
}
|
||||
|
||||
.cake-sql-log table {
|
||||
background: #f4f4f4;
|
||||
}
|
||||
@@ -208,102 +111,6 @@ dd {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Forms */
|
||||
form {
|
||||
clear: both;
|
||||
margin-right: 20px;
|
||||
padding: 0;
|
||||
width: 80%;
|
||||
}
|
||||
fieldset {
|
||||
border: 1px solid #ccc;
|
||||
margin-top: 30px;
|
||||
padding: 16px 20px;
|
||||
}
|
||||
fieldset legend {
|
||||
background:#fff;
|
||||
color: #e32;
|
||||
font-size: 160%;
|
||||
font-weight: bold;
|
||||
}
|
||||
fieldset fieldset {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 20px;
|
||||
padding: 16px 10px;
|
||||
}
|
||||
fieldset fieldset legend {
|
||||
font-size: 120%;
|
||||
font-weight: normal;
|
||||
}
|
||||
fieldset fieldset div {
|
||||
clear: left;
|
||||
margin: 0 20px;
|
||||
}
|
||||
form div {
|
||||
clear: both;
|
||||
margin-bottom: 1em;
|
||||
padding: .5em;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
form div.input {
|
||||
color: #444;
|
||||
}
|
||||
form div.required {
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
form div.submit {
|
||||
border: 0;
|
||||
clear: both;
|
||||
margin-top: 10px;
|
||||
margin-left: 140px;
|
||||
}
|
||||
label {
|
||||
display: block;
|
||||
font-size: 110%;
|
||||
padding-right: 20px;
|
||||
}
|
||||
input, textarea {
|
||||
clear: both;
|
||||
font-size: 140%;
|
||||
font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
|
||||
padding: 2px;
|
||||
width: 100%;
|
||||
}
|
||||
select {
|
||||
clear: both;
|
||||
font-size: 120%;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
select[multiple=multiple] {
|
||||
width: 100%;
|
||||
}
|
||||
option {
|
||||
font-size: 120%;
|
||||
padding: 0 3px;
|
||||
}
|
||||
input[type=checkbox] {
|
||||
clear: left;
|
||||
float: left;
|
||||
margin: 0px 6px 7px 2px;
|
||||
width: auto;
|
||||
}
|
||||
input[type=radio] {
|
||||
float:left;
|
||||
width:auto;
|
||||
margin: 0 3px 7px 0;
|
||||
}
|
||||
div.radio label {
|
||||
margin: 0 0 6px 20px;
|
||||
}
|
||||
input[type=submit] {
|
||||
display: inline;
|
||||
font-size: 110%;
|
||||
padding: 2px 5px;
|
||||
width: auto;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
/* Notices and Errors */
|
||||
div.message {
|
||||
clear: both;
|
||||
@@ -347,6 +154,14 @@ p.error em {
|
||||
}
|
||||
|
||||
/* Actions */
|
||||
td.actions {
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.actions a {
|
||||
margin: 0px 6px;
|
||||
}
|
||||
|
||||
div.actions ul {
|
||||
margin: 0px 0;
|
||||
padding: 0;
|
||||
|
||||
154
site/webroot/css/layout.css
Normal file
154
site/webroot/css/layout.css
Normal file
@@ -0,0 +1,154 @@
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Debug table margin/padding helper
|
||||
*/
|
||||
|
||||
/* table th, td { border: dashed 1px; } */
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Overall page layout
|
||||
*/
|
||||
|
||||
table#layout { width: 100% }
|
||||
td#sidecolumn ,
|
||||
td#pagecolumn { vertical-align: top; }
|
||||
td#pagecolumn { padding-left: 4mm; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Panel captions
|
||||
*/
|
||||
|
||||
table caption { text-align: left;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
table.item caption { margin-top: 1em; }
|
||||
table.detail caption { margin-top: 0; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Cell configuration
|
||||
*/
|
||||
|
||||
table.item th ,
|
||||
table.item td { padding: 0.1em 0.4em 0.1em 0.4em; }
|
||||
table.item { white-space: nowrap; }
|
||||
/* table.item { border-spacing: 0 0; /\*IE*\/border-collapse: collapse; empty-cells: show } */
|
||||
table.item { border-spacing: 0 0; empty-cells: show }
|
||||
table.item { border:1px solid #ccc;
|
||||
border-bottom:2px solid #ccc;
|
||||
}
|
||||
|
||||
table.item th { background: #f2f2f2;
|
||||
border-top: 1px solid #fff;
|
||||
border-left: 1px solid #fff;
|
||||
border-right: 1px solid #ccc;
|
||||
/* text-align: center; */
|
||||
}
|
||||
table.item td { border-right: 1px solid #ccc; }
|
||||
|
||||
tr.evnrow { background: #f4f4f4; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Formatting for item listings
|
||||
*/
|
||||
|
||||
/** Item listing width and borders **/
|
||||
table.list { width : 100%; }
|
||||
table.detail { width : 60%; }
|
||||
|
||||
/** Column to which any extra real estate should be allocated **/
|
||||
/* table.list.view td#referer , */
|
||||
/* table.list.browser td#web_browser , */
|
||||
/* table.list.tracker td#url , */
|
||||
table.list td.comment { width: 99%; }
|
||||
table.detail td.field { width: 10em }
|
||||
|
||||
/** Text alignment exceptions **/
|
||||
table.list td.id { text-align: center; }
|
||||
|
||||
/** White spacing exceptions **/
|
||||
table.list td.comment { white-space: normal; }
|
||||
|
||||
/* table.detail td {word-wrap : normal} */
|
||||
|
||||
table.list.ledger td.date.receipt { padding-left: 1em }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* General Style Info
|
||||
*/
|
||||
|
||||
body {
|
||||
/* background: #003d4c; */
|
||||
/* color: #fff; */
|
||||
font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
|
||||
font-size:90%;
|
||||
margin: 0;
|
||||
}
|
||||
a {
|
||||
color: #003d4c;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
a:hover {
|
||||
color: #f00;
|
||||
text-decoration:none;
|
||||
}
|
||||
a img {
|
||||
border:none;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h1 {
|
||||
background:#fff;
|
||||
color: #003d4c;
|
||||
font-size: 100%;
|
||||
margin: 0.1em 0;
|
||||
}
|
||||
h2 {
|
||||
background:#fff;
|
||||
color: #e32;
|
||||
font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
|
||||
font-size: 190%;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
h3 {
|
||||
color: #993;
|
||||
font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
|
||||
font-size: 165%;
|
||||
padding-top: 1.5em;
|
||||
}
|
||||
h4 {
|
||||
color: #993;
|
||||
font-weight: normal;
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Forms */
|
||||
}
|
||||
input[type=checkbox] {
|
||||
clear: left;
|
||||
float: left;
|
||||
margin: 0px 6px 7px 2px;
|
||||
width: auto;
|
||||
}
|
||||
input[type=radio] {
|
||||
float:left;
|
||||
width:auto;
|
||||
margin: 0 3px 7px 0;
|
||||
}
|
||||
@@ -1,141 +1,40 @@
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Debug table margin/padding helper
|
||||
* Side Menu Layout
|
||||
*/
|
||||
|
||||
/* table th, td { border: dashed 1px; } */
|
||||
td#sidecolumn { width: 10em; background: lightblue; text-align: left; }
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Overall page layout
|
||||
*/
|
||||
|
||||
table#layout { width: 100% }
|
||||
td#sidecolumn { width: 10em; background: lightblue; text-align: left; }
|
||||
td#pagecolumn { padding-left: 4mm; }
|
||||
td#sidecolumn ,
|
||||
td#pagecolumn { vertical-align: top; }
|
||||
|
||||
td#sidecolumn .header { margin-top: 0.4em; }
|
||||
td#sidecolumn .header ,
|
||||
td#sidecolumn .item { white-space : nowrap; }
|
||||
td#sidecolumn .item { padding-left: 0.6em; }
|
||||
td#sidecolumn .item a { background: lightblue; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Menu Headers
|
||||
*/
|
||||
|
||||
td#sidecolumn .header { margin-top: 0.4em;
|
||||
background: blue;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Menu Separators
|
||||
*/
|
||||
|
||||
td#sidecolumn hr { margin-top: 0.4em; margin-bottom: 0.3em; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Panel captions
|
||||
*/
|
||||
|
||||
table caption { text-align: left;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Panel headers
|
||||
* Menu Items
|
||||
*/
|
||||
|
||||
td#sidecolumn .header ,
|
||||
table.list th ,
|
||||
table.edit td.name { background: blue;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
td#sidecolumn .item { padding-left: 0.6em; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Cell configuration
|
||||
*/
|
||||
|
||||
th, td { padding: 0.1em 0.4em 0.1em 0.4em; }
|
||||
table.item { border-spacing: 0 0; /*IE*/border-collapse: collapse; empty-cells: show }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Overall text alignment
|
||||
*/
|
||||
|
||||
th, td { text-align: left; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Formatting for item listings
|
||||
*/
|
||||
|
||||
/** Item listing width and borders **/
|
||||
table.list { width: 100%; }
|
||||
table.list td { border: 1px solid #000; }
|
||||
|
||||
/* IE doesn't seem to work with first-child. this combination of
|
||||
* rules works for both IE and Firefox */
|
||||
table.list th { border-left: 1px solid #fff; border-top: 1px solid #000; }
|
||||
table.list th:first-child { border-left: 1px solid #000 }
|
||||
table.list { border: 1px solid #000; }
|
||||
|
||||
/** Column to which any extra real estate should be allocated **/
|
||||
table.list.view td#referer ,
|
||||
table.list.browser td#web_browser ,
|
||||
table.list.tracker td#url ,
|
||||
table.list.category td#comment { width: 99%; }
|
||||
|
||||
/** Text alignment exceptions **/
|
||||
table.list td#id ,
|
||||
table.list td#operation ,
|
||||
table.list td#browser ,
|
||||
table.list td#views ,
|
||||
table.list td#uniques { text-align: center; }
|
||||
|
||||
/** White spacing exceptions **/
|
||||
table.list { white-space : nowrap }
|
||||
table.list.browser td#web_browser ,
|
||||
table.list.category td#comment { white-space: normal; }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Format for item editing
|
||||
*/
|
||||
|
||||
/** Item editing width and borders **/
|
||||
table.edit tr:first-child td.name { border-top: none }
|
||||
table.edit td.name { border-top: 1px solid #fff; width:1% }
|
||||
|
||||
/** Text alignment exceptions **/
|
||||
table.edit td.name { text-align: right }
|
||||
table.edit td.value { text-align: left }
|
||||
|
||||
|
||||
/************************************************************
|
||||
************************************************************
|
||||
* Form submission buttons after item tables
|
||||
*/
|
||||
|
||||
div.opbuttons { margin-top: 1.0em; text-align: left }
|
||||
|
||||
|
||||
|
||||
|
||||
/* table#unitinfo, table#tenantinfo { width: 60% } */
|
||||
/* table#unitinfo td:first-child, table#tenantinfo td:first-child { width: 30% } */
|
||||
/* table#unitinfo td, table#tenanatinfo td { width: 70% } */
|
||||
/* /\*table.detail td:first-child { width: 30% }*\/ */
|
||||
/* /\*table.detail td { width: 1% }*\/ */
|
||||
/* #unitinfo caption, #tenantinfo caption { margin-top: 0px; } */
|
||||
/* table.detail caption { margin-top: 1.5em; text-align: left; font-size: 14pt; font-weight: bold } */
|
||||
/* table.detail {width: 80% } */
|
||||
/* table.detail {border-spacing: 0 0} */
|
||||
/* table.detail {border-left: 1px solid #000; border-top: 1px solid #000} */
|
||||
/* table.detail {empty-cells: show} */
|
||||
/* table.detail td, table.detail th {padding: 0.1em 0.2em 0.1em 0.2em } */
|
||||
/* table.detail td, table.detail th {border-right: 1px solid #000; border-bottom: 1px solid #000} */
|
||||
/* table.detail td {word-wrap : normal} */
|
||||
|
||||
Reference in New Issue
Block a user