Archive for May, 2008


Add company name to billing history

Thursday, May 1st, 2008

Problem: When viewing the billing history table in Smartway — the administrative area of webjobs — it is difficult to tell what company paid for the job b/c it only includes the user ID.

Solution: — Add the company name to the billing table.
1. In smartway/modules/billing_history.php, around line 78, add this line into the array:

‘company_name’ => ‘company_name’,

2.Around line 236, add:

$company_name = $input[’company_name’];

3.Around line 312, add the following line into the array:

‘company_name’ => $company_name,

4. Around line 541, after this line:

$constraints[] = “bh.user_id = ‘” . $user_id . ‘\”;

add:

$constraints[] = “u.id = ‘” . $user_id . ‘\”;

5. For the entire SELECT statement and array around line 604, change it to this:

‘SELECT bh.user_id, u.company_name, bh.id, bh.timestamp, bh.name, bh.quantity, bh.price, bh.type, bh.pending, bh.comment ‘ .
‘FROM `jb_billing_history` AS bh, `jb_users` AS u ‘ .
‘WHERE bh.user_id=u.id ‘ .
“AND $constraints $order_clause”,
array(’user_id’, ‘invoice’, ‘company_name’,'id’, ‘timestamp’, ‘name’, ‘quantity’, ‘price’, ‘type’, ‘pending’, ‘comment’, ‘controls’));

6. Change the SQL query around line 706 to:

$sql->query(’SELECT bh.user_id, u.company_name, u.login, bh.timestamp, bh.name, bh.type, bh.quantity, bh.duration, bh.price, bh.comment, bh.pending ‘ .
‘FROM `jb_billing_history` AS bh LEFT JOIN `jb_users` AS u ON(bh.user_id = u.id) ‘ .
“WHERE bh.id = $id LIMIT 1″);

7. Change the language file so that the Company label appears in the table. Open smartway/conf/lang/eng/text.billing_history.php and add

‘company_name’ => ‘Company:’,

on the line below this comment

// Smartway translations for modules billing_history.php

You’re done! If all went as planned, company name should show up in the table after the invoice number.