Fixed display errors in reports of expenses

This commit is contained in:
Manuel Cillero 2017-09-01 13:15:59 +02:00
parent 527efa9b29
commit 7d5864b347
8 changed files with 51 additions and 40 deletions

View file

@ -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;

View file

@ -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,

View file

@ -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) .'&nbsp;'. 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;

View file

@ -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);

View file

@ -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;

View file

@ -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),

View file

@ -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.
*/

View file

@ -1,6 +1,6 @@
name = SuiteDesk Theme
description = SuiteDesk Theme Zen.
version = 0.2.49
version = 0.2.50
screenshot = screenshot.png