| 1 |
<?php |
<?php |
| 2 |
// $Id: stormexpense.module,v 1.4.4.10 2008/08/03 17:55:11 robertogerola Exp $ |
// $Id: stormexpense.module,v 1.4.4.11 2008/08/25 09:04:44 robertogerola Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 10 |
|
|
| 11 |
switch ($path) { |
switch ($path) { |
| 12 |
case "admin/help#stormexpense": |
case "admin/help#stormexpense": |
| 13 |
$o = '<p>'. t("Provides expense support for Storm") .'</p>'; |
$o = '<p>'. storm_t("Provides expense support for Storm", 'expense') .'</p>'; |
| 14 |
break; |
break; |
| 15 |
} |
} |
| 16 |
|
|
| 145 |
$items = array(); |
$items = array(); |
| 146 |
|
|
| 147 |
$items['storm/expenses'] = array( |
$items['storm/expenses'] = array( |
| 148 |
'title' => t('Expenses'), |
'title' => storm_t('Expenses', 'expense'), |
| 149 |
'description' => t('Storm expenses'), |
'description' => storm_t('Storm expenses', 'expense'), |
| 150 |
'page callback' => 'stormexpense_list', |
'page callback' => 'stormexpense_list', |
| 151 |
'access arguments' => array('Storm expense: access'), |
'access arguments' => array('Storm expense: access'), |
| 152 |
'type' => MENU_NORMAL_ITEM, |
'type' => MENU_NORMAL_ITEM, |
| 154 |
); |
); |
| 155 |
|
|
| 156 |
$items['storm/expenses/report/%/%'] = array( |
$items['storm/expenses/report/%/%'] = array( |
| 157 |
'title' => t('Expenses'), |
'title' => storm_t('Expenses', 'expense'), |
| 158 |
'page arguments' => array(3, 4), |
'page arguments' => array(3, 4), |
| 159 |
'description' => t('Storm expenses'), |
'description' => storm_t('Storm expenses', 'expense'), |
| 160 |
'page callback' => 'stormexpense_list_report', |
'page callback' => 'stormexpense_list_report', |
| 161 |
'access arguments' => array('Storm expense: access'), |
'access arguments' => array('Storm expense: access'), |
| 162 |
'type' => MENU_CALLBACK, |
'type' => MENU_CALLBACK, |
| 197 |
function stormexpense_node_info() { |
function stormexpense_node_info() { |
| 198 |
return array( |
return array( |
| 199 |
'stormexpense' => array( |
'stormexpense' => array( |
| 200 |
'name' => t('Expense'), |
'name' => storm_t('Expense', 'expense'), |
| 201 |
'module' => 'stormexpense', |
'module' => 'stormexpense', |
| 202 |
'description' => t("An expense for Storm."), |
'description' => storm_t("An expense for Storm.", 'expense'), |
| 203 |
'title_label' => t("Title"), |
'title_label' => storm_t("Title", 'expense'), |
| 204 |
'body_label' => t("Description"), |
'body_label' => storm_t("Description", 'expense'), |
| 205 |
) |
) |
| 206 |
); |
); |
| 207 |
} |
} |
| 208 |
|
|
| 209 |
function stormexpense_storm_indexpage() { |
function stormexpense_storm_indexpage() { |
| 210 |
$o = array(); |
$o = array(); |
| 211 |
$o['stormexpense']['title'] = l(t('Expenses'), 'storm/expenses'); |
$o['stormexpense']['title'] = l(storm_t('Expenses', 'expense'), 'storm/expenses'); |
| 212 |
return $o; |
return $o; |
| 213 |
} |
} |
| 214 |
|
|
| 314 |
} |
} |
| 315 |
$form['group2']['organization_nid'] = array( |
$form['group2']['organization_nid'] = array( |
| 316 |
'#type' => 'select', |
'#type' => 'select', |
| 317 |
'#title' => t('Organization'), |
'#title' => storm_t('Organization', 'expense'), |
| 318 |
'#default_value' => $node->organization_nid, |
'#default_value' => $node->organization_nid, |
| 319 |
'#options' => $organizations, |
'#options' => $organizations, |
| 320 |
'#required' => true, |
'#required' => true, |
| 333 |
$projects = array(0 => '-') + $projects; |
$projects = array(0 => '-') + $projects; |
| 334 |
$form['group2']['project_nid'] = array( |
$form['group2']['project_nid'] = array( |
| 335 |
'#type' => 'select', |
'#type' => 'select', |
| 336 |
'#title' => t('Project'), |
'#title' => storm_t('Project', 'expense'), |
| 337 |
'#default_value' => $node->project_nid, |
'#default_value' => $node->project_nid, |
| 338 |
'#options' => $projects, |
'#options' => $projects, |
| 339 |
'#process' => array('storm_dependent_select_process'), |
'#process' => array('storm_dependent_select_process'), |
| 345 |
$tasks = array(0 => '-') + $tasks; |
$tasks = array(0 => '-') + $tasks; |
| 346 |
$form['group2']['task_nid'] = array( |
$form['group2']['task_nid'] = array( |
| 347 |
'#type' => 'select', |
'#type' => 'select', |
| 348 |
'#title' => t('Task'), |
'#title' => storm_t('Task', 'expense'), |
| 349 |
'#default_value' => $node->task_nid, |
'#default_value' => $node->task_nid, |
| 350 |
'#options' => $tasks, |
'#options' => $tasks, |
| 351 |
'#process' => array('storm_dependent_select_process'), |
'#process' => array('storm_dependent_select_process'), |
| 363 |
} |
} |
| 364 |
$form['group2']['ticket_nid'] = array( |
$form['group2']['ticket_nid'] = array( |
| 365 |
'#type' => 'select', |
'#type' => 'select', |
| 366 |
'#title' => t('Ticket'), |
'#title' => storm_t('Ticket', 'expense'), |
| 367 |
'#default_value' => $node->ticket_nid, |
'#default_value' => $node->ticket_nid, |
| 368 |
'#options' => array(0 => '-') + $tickets, |
'#options' => array(0 => '-') + $tickets, |
| 369 |
'#process' => array('storm_dependent_select_process'), |
'#process' => array('storm_dependent_select_process'), |
| 377 |
|
|
| 378 |
$form['group3']['expensedate'] = array( |
$form['group3']['expensedate'] = array( |
| 379 |
'#type' => 'date', |
'#type' => 'date', |
| 380 |
'#title' => t('Date'), |
'#title' => storm_t('Date', 'expense'), |
| 381 |
'#default_value' => _storm_gmtimestamp_to_date($node->expensedate), |
'#default_value' => _storm_gmtimestamp_to_date($node->expensedate), |
| 382 |
); |
); |
| 383 |
|
|
| 384 |
$form['group3']['provider_title'] = array( |
$form['group3']['provider_title'] = array( |
| 385 |
'#type' => 'textfield', |
'#type' => 'textfield', |
| 386 |
'#title' => t('Provider'), |
'#title' => storm_t('Provider', 'expense'), |
| 387 |
'#size' => 50, |
'#size' => 50, |
| 388 |
'#default_value' => $node->provider_title, |
'#default_value' => $node->provider_title, |
| 389 |
'#autocomplete_path' => 'storm/expenses/provider_autocomplete', |
'#autocomplete_path' => 'storm/expenses/provider_autocomplete', |
| 397 |
|
|
| 398 |
$form['group4']['amount'] = array( |
$form['group4']['amount'] = array( |
| 399 |
'#type' => 'textfield', |
'#type' => 'textfield', |
| 400 |
'#title' => t('Amount'), |
'#title' => storm_t('Amount', 'expense'), |
| 401 |
'#size' => 15, |
'#size' => 15, |
| 402 |
'#default_value' => $node->amount, |
'#default_value' => $node->amount, |
| 403 |
); |
); |
| 404 |
|
|
| 405 |
$form['group4']['vat'] = array( |
$form['group4']['tax'] = array( |
| 406 |
'#type' => 'textfield', |
'#type' => 'textfield', |
| 407 |
'#title' => t('VAT'), |
'#title' => storm_t('Tax', 'expense'), |
| 408 |
'#size' => 15, |
'#size' => 15, |
| 409 |
'#default_value' => $node->vat, |
'#default_value' => $node->tax, |
| 410 |
); |
); |
| 411 |
|
|
| 412 |
$form['group4']['total'] = array( |
$form['group4']['total'] = array( |
| 413 |
'#type' => 'textfield', |
'#type' => 'textfield', |
| 414 |
'#title' => t('Total'), |
'#title' => storm_t('Total', 'expense'), |
| 415 |
'#size' => 15, |
'#size' => 15, |
| 416 |
'#default_value' => $node->total, |
'#default_value' => $node->total, |
| 417 |
); |
); |
| 439 |
task_nid, task_title, task_stepno, |
task_nid, task_title, task_stepno, |
| 440 |
ticket_nid, ticket_title, |
ticket_nid, ticket_title, |
| 441 |
provider_nid, provider_title, |
provider_nid, provider_title, |
| 442 |
expensedate, amount, vat, total) VALUES |
expensedate, amount, tax, total) VALUES |
| 443 |
(%d, %d, |
(%d, %d, |
| 444 |
%d, '%s', |
%d, '%s', |
| 445 |
%d, '%s', |
%d, '%s', |
| 453 |
$node->task_nid, $node->task_title, $node->task_stepno, |
$node->task_nid, $node->task_title, $node->task_stepno, |
| 454 |
$node->ticket_nid, $node->ticket_title, |
$node->ticket_nid, $node->ticket_title, |
| 455 |
$node->provider_nid, $node->provider_title, |
$node->provider_nid, $node->provider_title, |
| 456 |
$node->expensedate, $node->amount, $node->vat, $node->total); |
$node->expensedate, $node->amount, $node->tax, $node->total); |
| 457 |
} |
} |
| 458 |
|
|
| 459 |
function stormexpense_update($node) { |
function stormexpense_update($node) { |
| 465 |
task_nid=%d, task_title='%s', task_stepno='%s', |
task_nid=%d, task_title='%s', task_stepno='%s', |
| 466 |
ticket_nid=%d, ticket_title='%s', |
ticket_nid=%d, ticket_title='%s', |
| 467 |
provider_nid=%d, provider_title='%s', |
provider_nid=%d, provider_title='%s', |
| 468 |
expensedate=%d, amount=%f, vat=%f, total=%f WHERE vid = %d", |
expensedate=%d, amount=%f, tax=%f, total=%f WHERE vid = %d", |
| 469 |
$node->organization_nid, $node->organization_title, |
$node->organization_nid, $node->organization_title, |
| 470 |
$node->project_nid, $node->project_title, |
$node->project_nid, $node->project_title, |
| 471 |
$node->task_nid, $node->task_title, $node->task_stepno, |
$node->task_nid, $node->task_title, $node->task_stepno, |
| 472 |
$node->ticket_nid, $node->ticket_title, |
$node->ticket_nid, $node->ticket_title, |
| 473 |
$node->provider_nid, $node->provider_title, |
$node->provider_nid, $node->provider_title, |
| 474 |
$node->expensedate, $node->amount, $node->vat, $node->total, $node->vid); |
$node->expensedate, $node->amount, $node->tax, $node->total, $node->vid); |
| 475 |
} |
} |
| 476 |
|
|
| 477 |
function _stormexpense_beforesave(&$node) { |
function _stormexpense_beforesave(&$node) { |
| 478 |
$node->expensedate = _storm_date_to_gmtimestamp($node->expensedate); |
$node->expensedate = _storm_date_to_gmtimestamp($node->expensedate); |
| 479 |
|
|
| 480 |
if (!$node->total) { |
if (!$node->total) { |
| 481 |
$node->total = $node->amount + $node->vat; |
$node->total = $node->amount + $node->tax; |
| 482 |
} |
} |
| 483 |
|
|
| 484 |
$s = "SELECT n.title FROM {node} AS n |
$s = "SELECT n.title FROM {node} AS n |