Add company name to billing history

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.

Stumble it!

One Response to “Add company name to billing history”

  1. adam Says:

    Thanks for this, would be handy to have the company name on the member_manager.php page as well.

Leave a Reply