Fixed display errors in reports of expenses
This commit is contained in:
parent
527efa9b29
commit
7d5864b347
8 changed files with 51 additions and 40 deletions
|
@ -55,20 +55,12 @@ function stormexpense_list() {
|
|||
$i->type = 'stormexpense';
|
||||
|
||||
$report_attrs = array(
|
||||
'onclick' => "storm_popup(this, 'expense_list_form_report', 'Expenses', 300, 244, 'stormexpense_list_form_report', 'l'); return false;",
|
||||
'onclick' => "storm_popup(this, 'expense_list_form_report', '" . t('Expenses') . "', 300, 244, 'stormexpense_list_form_report', 'l'); return false;",
|
||||
);
|
||||
|
||||
$header = array(
|
||||
array(
|
||||
'data' => t('Organization'),
|
||||
'field' => 'sex.organization_title',
|
||||
),
|
||||
array(
|
||||
'data' => t('Project'),
|
||||
'field' => 'sex.project_title',
|
||||
),
|
||||
array(
|
||||
'data' => t('Title'),
|
||||
'data' => t('Title') . ' / ' . t('Organization') . ' » ' . t('Project') . ' » ' . t('Detail'),
|
||||
'field' => 'n.title',
|
||||
),
|
||||
array(
|
||||
|
@ -407,7 +399,7 @@ function stormexpense_list_form_report_submit($form, &$form_state) {
|
|||
}
|
||||
|
||||
function stormexpense_list_report($report, $language) {
|
||||
$timetrackings = array();
|
||||
$expenses = array();
|
||||
|
||||
$s = "SELECT n.*, sex.* FROM {node} AS n INNER JOIN {stormexpense} AS sex ON n.vid=sex.vid WHERE n.status=1 AND n.type='stormexpense' ";
|
||||
$s = stormexpense_access_sql($s, array());
|
||||
|
@ -415,8 +407,8 @@ function stormexpense_list_report($report, $language) {
|
|||
|
||||
$sql = isset($_SESSION['stormexpense_list_filter']['sql']) ? $_SESSION['stormexpense_list_filter']['sql'] : $s;
|
||||
$args = isset($_SESSION['stormexpense_list_filter']['args']) ? $_SESSION['stormexpense_list_filter']['args'] : array();
|
||||
|
||||
$r = db_query($sql, $args);
|
||||
$expenses = array();
|
||||
while ($e = db_fetch_object($r)) {
|
||||
$expense = node_load($e->nid);
|
||||
$expenses[] = $expense;
|
||||
|
|
|
@ -202,7 +202,7 @@ function stormexpense_menu() {
|
|||
$items['expenses/report/%/%'] = array(
|
||||
'title' => 'Expenses',
|
||||
'description' => 'SuiteDesk expenses',
|
||||
'page arguments' => array(3, 4),
|
||||
'page arguments' => array(2, 3),
|
||||
'page callback' => 'stormexpense_list_report',
|
||||
'access arguments' => array('Storm expense: access'),
|
||||
'type' => MENU_CALLBACK,
|
||||
|
|
|
@ -7,11 +7,15 @@
|
|||
function theme_stormexpense_list($header, $expenses, $totals) {
|
||||
$rows = array();
|
||||
foreach ($expenses as $expense) {
|
||||
$expensedate = format_date($expense->expensedate, 'small');
|
||||
$expensedate = substr($expensedate, 0, strpos($expensedate, ' '));
|
||||
$rows[] = array(
|
||||
l($expense->organization_title, 'node/'. $expense->organization_nid),
|
||||
l($expense->project_title, 'node/'. $expense->project_nid),
|
||||
l($expense->title, 'node/'. $expense->nid),
|
||||
format_date($expense->expensedate, 'custom', 'Y-m-d'),
|
||||
'<span class="expense-title">' . l($expense->title, 'node/'. $expense->nid) . theme('mark', node_mark($expense->nid, $expense->changed)) . '</span><br />' .
|
||||
l($expense->organization_title, 'node/'. $expense->organization_nid) .
|
||||
(!empty($expense->project_title) ? ' » ' . l($expense->project_title, 'node/'. $expense->project_nid) : '' ) .
|
||||
(!empty($expense->task_title) ? '<br />' . l($expense->task_title, 'node/'. $expense->task_nid) . ' (' . t('task') . ')' : '' ) .
|
||||
(!empty($expense->ticket_title) ? '<br />' . l($expense->ticket_title, 'node/'. $expense->ticket_nid) . ' (' . t('ticket') . ')' : '' ),
|
||||
$expensedate,
|
||||
array('data' => sprintf('%.2f', $expense->total), 'align' => 'right'),
|
||||
array(
|
||||
'data' => storm_icon_edit_node($expense, $_GET) .' '. storm_icon_delete_node($expense, $_GET),
|
||||
|
@ -19,7 +23,7 @@ function theme_stormexpense_list($header, $expenses, $totals) {
|
|||
),
|
||||
);
|
||||
}
|
||||
$o = theme('table', $header, $rows);
|
||||
$o = theme('table', $header, $rows, array('id' => 'stormexpenses'));
|
||||
|
||||
$header = array(
|
||||
array(
|
||||
|
@ -253,11 +257,13 @@ function theme_stormexpense_list_report($report, $language, $expenses) {
|
|||
$expenses_total = 0;
|
||||
$rows = array();
|
||||
foreach ($expenses as $expense) {
|
||||
$expensedate = format_date($expense->expensedate, 'small');
|
||||
$expensedate = substr($expensedate, 0, strpos($expensedate, ' '));
|
||||
$rows[] = array(
|
||||
check_plain($expense->organization_title),
|
||||
check_plain($expense->project_title),
|
||||
check_plain($expense->title),
|
||||
format_date($expense->expensedate, 'custom', 'Y-m-d'),
|
||||
$expensedate,
|
||||
array('data' => sprintf('%.2f', $expense->total), 'align' => 'right'),
|
||||
);
|
||||
$expenses_total += $expense->total;
|
||||
|
@ -273,10 +279,12 @@ function theme_stormexpense_list_report($report, $language, $expenses) {
|
|||
t('Total', array(), $language));
|
||||
$expenses_total = 0;
|
||||
foreach ($expenses as $expense) {
|
||||
$expensedate = format_date($expense->expensedate, 'small');
|
||||
$expensedate = substr($expensedate, 0, strpos($expensedate, ' '));
|
||||
$rows[] = array(
|
||||
check_plain($expense->project_title),
|
||||
check_plain($expense->title),
|
||||
format_date($expense->expensedate, 'custom', 'Y-m-d'),
|
||||
$expensedate,
|
||||
array('data' => sprintf('%.2f', $expense->total), 'align' => 'right'),
|
||||
);
|
||||
$expenses_total += $expense->total;
|
||||
|
@ -287,18 +295,20 @@ function theme_stormexpense_list_report($report, $language, $expenses) {
|
|||
case 'for_organization_w_task':
|
||||
$organization = node_load($_SESSION['stormexpense_list_filter']['organization_nid']);
|
||||
$header = array(
|
||||
t('Project', 'expense', array(), $language),
|
||||
t('Task', 'expense', array(), $language),
|
||||
t('Title', 'expense', array(), $language),
|
||||
t('Date', 'expense', array(), $language),
|
||||
t('Total', 'expense', array(), $language));
|
||||
t('Project', array(), $language),
|
||||
t('Task', array(), $language),
|
||||
t('Title', array(), $language),
|
||||
t('Date', array(), $language),
|
||||
t('Total', array(), $language));
|
||||
$total_duration = 0;
|
||||
foreach ($expenses as $expense) {
|
||||
$expensedate = format_date($expense->expensedate, 'small');
|
||||
$expensedate = substr($expensedate, 0, strpos($expensedate, ' '));
|
||||
$rows[] = array(
|
||||
check_plain($expense->project_title),
|
||||
check_plain($expense->task_title),
|
||||
check_plain($expense->title),
|
||||
format_date($expense->expensedate, 'custom', 'Y-m-d'),
|
||||
$expensedate,
|
||||
array('data' => sprintf('%.2f', $expense->total), 'align' => 'right'),
|
||||
);
|
||||
$expenses_total += $expense->total;
|
||||
|
@ -311,16 +321,18 @@ function theme_stormexpense_list_report($report, $language, $expenses) {
|
|||
$project = node_load($_SESSION['stormexpense_list_filter']['project_nid']);
|
||||
|
||||
$header = array(
|
||||
t('Task', 'expense', array(), $language),
|
||||
t('Title', 'expense', array(), $language),
|
||||
t('Date', 'expense', array(), $language),
|
||||
t('Total', 'expense', array(), $language));
|
||||
t('Task', array(), $language),
|
||||
t('Title', array(), $language),
|
||||
t('Date', array(), $language),
|
||||
t('Total', array(), $language));
|
||||
$total_duration = 0;
|
||||
foreach ($expenses as $expense) {
|
||||
$expensedate = format_date($expense->expensedate, 'small');
|
||||
$expensedate = substr($expensedate, 0, strpos($expensedate, ' '));
|
||||
$rows[] = array(
|
||||
check_plain($expense->task_title),
|
||||
check_plain($expense->title),
|
||||
format_date($expense->expensedate, 'custom', 'Y-m-d'),
|
||||
$expensedate,
|
||||
array('data' => sprintf('%.2f', $expense->total), 'align' => 'right'),
|
||||
);
|
||||
$expenses_total += $expense->total;
|
||||
|
|
|
@ -446,9 +446,8 @@ function stormtask_form(&$node) {
|
|||
$breadcrumb[] = l(t('Home'), '<front>');
|
||||
|
||||
if (array_key_exists('project_nid', $_GET)) {
|
||||
$breadcrumb[] = l(t('Projects'), 'projects');
|
||||
$project = node_load($_GET['project_nid']);
|
||||
$breadcrumb[] = l($project->title, 'node/'. $project->nid);
|
||||
$breadcrumb[] = l(t('Projects'), 'projects') . ' (' . l($project->title, 'node/'. $project->nid) . ')';
|
||||
$breadcrumb[] = l(t('Project tasks'), 'node/'. $project->nid .'/tasks');
|
||||
}
|
||||
else {
|
||||
|
@ -1006,10 +1005,8 @@ function stormtask_validate(&$node) {
|
|||
function stormtask_view($node, $teaser = FALSE, $page = FALSE) {
|
||||
$breadcrumb = array();
|
||||
$breadcrumb[] = l(t('Home'), '<front>');
|
||||
$breadcrumb[] = l(t('Projects'), 'projects');
|
||||
$breadcrumb[] = l($node->project_title, 'node/'. $node->project_nid);
|
||||
$breadcrumb[] = l(t('Tasks'), 'tasks');
|
||||
$breadcrumb[] = l(t('Project tasks'), 'node/'. $node->project_nid .'/tasks');
|
||||
$breadcrumb[] = l(t('Projects'), 'projects') . ' (' . l($node->project_title, 'node/'. $node->project_nid) . ')';
|
||||
$breadcrumb[] = l(t('Tasks'), 'tasks') . ' (' . l(t('Project tasks'), 'node/'. $node->project_nid .'/tasks') . ')';
|
||||
|
||||
drupal_set_breadcrumb($breadcrumb);
|
||||
|
||||
|
|
|
@ -415,10 +415,10 @@ function stormtimetracking_list_form_report_submit($form, &$form_state) {
|
|||
function stormtimetracking_list_report($report, $language) {
|
||||
$timetrackings = array();
|
||||
|
||||
$s = $_SESSION['stormtimetracking_list_filter']['sql'];
|
||||
$sql = $_SESSION['stormtimetracking_list_filter']['sql'];
|
||||
$args = $_SESSION['stormtimetracking_list_filter']['args'];
|
||||
|
||||
$r = db_query($s, $args);
|
||||
$r = db_query($sql, $args);
|
||||
while ($t = db_fetch_object($r)) {
|
||||
$timetracking = node_load($t->nid);
|
||||
$timetrackings[] = $timetracking;
|
||||
|
|
|
@ -168,6 +168,7 @@ function theme_stormtimetracking_list_report($report, $language, $timetrackings)
|
|||
t('Date', array(), $language),
|
||||
t('Billing duration (hours)', array(), $language));
|
||||
$total_billing_duration = 0;
|
||||
$rows = array();
|
||||
foreach ($timetrackings as $timetracking) {
|
||||
$rows[] = array(
|
||||
check_plain($timetracking->organization_title),
|
||||
|
|
|
@ -1079,6 +1079,15 @@ body.i18n-es .date-nav div.date-prev {
|
|||
margin-right: .4em;
|
||||
}
|
||||
|
||||
/*
|
||||
* "SuiteDesk Expenses" list & filter.
|
||||
*/
|
||||
table#stormexpenses td .expense-title {
|
||||
line-height: 1em;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/*
|
||||
* "SuiteDesk" node.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name = SuiteDesk Theme
|
||||
description = SuiteDesk Theme Zen.
|
||||
version = 0.2.49
|
||||
version = 0.2.50
|
||||
|
||||
screenshot = screenshot.png
|
||||
|
||||
|
|
Reference in a new issue