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.