From 7d5864b3476341cb19b7342b996250f2b7da5ff2 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 1 Sep 2017 13:15:59 +0200 Subject: [PATCH] Fixed display errors in reports of expenses --- .../storm/stormexpense/stormexpense.admin.inc | 16 ++----- .../storm/stormexpense/stormexpense.module | 2 +- .../storm/stormexpense/stormexpense.theme.inc | 48 ++++++++++++------- modules/storm/stormtask/stormtask.module | 9 ++-- .../stormtimetracking.admin.inc | 4 +- .../stormtimetracking.theme.inc | 1 + themes/zuitedesk/css/suitedesk.css | 9 ++++ themes/zuitedesk/zuitedesk.info | 2 +- 8 files changed, 51 insertions(+), 40 deletions(-) diff --git a/modules/storm/stormexpense/stormexpense.admin.inc b/modules/storm/stormexpense/stormexpense.admin.inc index 7ecab9f..e131aa9 100644 --- a/modules/storm/stormexpense/stormexpense.admin.inc +++ b/modules/storm/stormexpense/stormexpense.admin.inc @@ -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; diff --git a/modules/storm/stormexpense/stormexpense.module b/modules/storm/stormexpense/stormexpense.module index be8d2c3..16eea56 100644 --- a/modules/storm/stormexpense/stormexpense.module +++ b/modules/storm/stormexpense/stormexpense.module @@ -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, diff --git a/modules/storm/stormexpense/stormexpense.theme.inc b/modules/storm/stormexpense/stormexpense.theme.inc index d0b641e..54dc4c9 100644 --- a/modules/storm/stormexpense/stormexpense.theme.inc +++ b/modules/storm/stormexpense/stormexpense.theme.inc @@ -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'), + '' . l($expense->title, 'node/'. $expense->nid) . theme('mark', node_mark($expense->nid, $expense->changed)) . '
' . + l($expense->organization_title, 'node/'. $expense->organization_nid) . + (!empty($expense->project_title) ? ' » ' . l($expense->project_title, 'node/'. $expense->project_nid) : '' ) . + (!empty($expense->task_title) ? '
' . l($expense->task_title, 'node/'. $expense->task_nid) . ' (' . t('task') . ')' : '' ) . + (!empty($expense->ticket_title) ? '
' . 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; diff --git a/modules/storm/stormtask/stormtask.module b/modules/storm/stormtask/stormtask.module index 6f36b81..43f16a6 100644 --- a/modules/storm/stormtask/stormtask.module +++ b/modules/storm/stormtask/stormtask.module @@ -446,9 +446,8 @@ function stormtask_form(&$node) { $breadcrumb[] = l(t('Home'), ''); 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'), ''); - $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); diff --git a/modules/storm/stormtimetracking/stormtimetracking.admin.inc b/modules/storm/stormtimetracking/stormtimetracking.admin.inc index be5e344..cb354ed 100644 --- a/modules/storm/stormtimetracking/stormtimetracking.admin.inc +++ b/modules/storm/stormtimetracking/stormtimetracking.admin.inc @@ -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; diff --git a/modules/storm/stormtimetracking/stormtimetracking.theme.inc b/modules/storm/stormtimetracking/stormtimetracking.theme.inc index 8aed74f..28fd567 100644 --- a/modules/storm/stormtimetracking/stormtimetracking.theme.inc +++ b/modules/storm/stormtimetracking/stormtimetracking.theme.inc @@ -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), diff --git a/themes/zuitedesk/css/suitedesk.css b/themes/zuitedesk/css/suitedesk.css index 20c5f2e..bf6d913 100644 --- a/themes/zuitedesk/css/suitedesk.css +++ b/themes/zuitedesk/css/suitedesk.css @@ -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. */ diff --git a/themes/zuitedesk/zuitedesk.info b/themes/zuitedesk/zuitedesk.info index c529cb8..0734a50 100644 --- a/themes/zuitedesk/zuitedesk.info +++ b/themes/zuitedesk/zuitedesk.info @@ -1,6 +1,6 @@ name = SuiteDesk Theme description = SuiteDesk Theme Zen. -version = 0.2.49 +version = 0.2.50 screenshot = screenshot.png