1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 05:02:36 +01:00

Refactor custom fields

This commit is contained in:
Hillel Coren 2018-04-04 16:35:28 +03:00
parent eeddf4fea8
commit 721b48c73f
4 changed files with 33 additions and 27 deletions

View File

@ -161,8 +161,6 @@ class Account extends Eloquent
'gateway_fee_enabled', 'gateway_fee_enabled',
'send_item_details', 'send_item_details',
'reset_counter_date', 'reset_counter_date',
'custom_contact_label1',
'custom_contact_label2',
'domain_id', 'domain_id',
'analytics_key', 'analytics_key',
'credit_number_counter', 'credit_number_counter',
@ -172,6 +170,9 @@ class Account extends Eloquent
'inclusive_taxes', 'inclusive_taxes',
'convert_products', 'convert_products',
'signature_on_pdf', 'signature_on_pdf',
'custom_fields',
'custom_value1',
'custom_value2',
]; ];
/** /**
@ -503,6 +504,10 @@ class Account extends Eloquent
{ {
$fields = []; $fields = [];
if (! is_array($data)) {
$data = json_decode($data);
}
foreach ($data as $key => $value) { foreach ($data as $key => $value) {
if ($value) { if ($value) {
$fields[$key] = $value; $fields[$key] = $value;

View File

@ -195,20 +195,20 @@ class AccountPresenter extends Presenter
public function customTextFields() public function customTextFields()
{ {
$fields = [ $fields = [
'custom_client_label1' => 'custom_client1', 'client1' => 'custom_client1',
'custom_client_label2' => 'custom_client2', 'client1' => 'custom_client2',
'custom_contact_label1' => 'custom_contact1', 'contact1' => 'custom_contact1',
'custom_contact_label2' => 'custom_contact2', 'contact2' => 'custom_contact2',
'custom_invoice_text_label1' => 'custom_invoice1', 'invoice_text1' => 'custom_invoice1',
'custom_invoice_text_label2' => 'custom_invoice2', 'invoice_text2' => 'custom_invoice2',
'custom_invoice_item_label1' => 'custom_product1', 'product1' => 'custom_product1',
'custom_invoice_item_label2' => 'custom_product2', 'product2' => 'custom_product2',
]; ];
$data = []; $data = [];
foreach ($fields as $key => $val) { foreach ($fields as $key => $val) {
if ($this->$key) { if ($label = $this->customLabel($key)) {
$data[Utils::getCustomLabel($this->$key)] = [ $data[Utils::getCustomLabel($label)] = [
'value' => $val, 'value' => $val,
'name' => $val, 'name' => $val,
]; ];

View File

@ -179,18 +179,10 @@ class AccountTransformer extends EntityTransformer
'fill_products' => (bool) $account->fill_products, 'fill_products' => (bool) $account->fill_products,
'update_products' => (bool) $account->update_products, 'update_products' => (bool) $account->update_products,
'vat_number' => $account->vat_number, 'vat_number' => $account->vat_number,
'custom_invoice_label1' => $account->customLabel('invoice1'),
'custom_invoice_label2' => $account->customLabel('invoice2'),
'custom_invoice_taxes1' => $account->custom_invoice_taxes1,
'custom_invoice_taxes2' => $account->custom_invoice_taxes1,
'custom_label1' => $account->custom_label1,
'custom_label2' => $account->custom_label2,
'custom_value1' => $account->custom_value1, 'custom_value1' => $account->custom_value1,
'custom_value2' => $account->custom_value2, 'custom_value2' => $account->custom_value2,
'primary_color' => $account->primary_color, 'primary_color' => $account->primary_color,
'secondary_color' => $account->secondary_color, 'secondary_color' => $account->secondary_color,
'custom_client_label1' => $account->customLabel('client1'),
'custom_client_label2' => $account->customLabel('client2'),
'hide_quantity' => (bool) $account->hide_quantity, 'hide_quantity' => (bool) $account->hide_quantity,
'hide_paid_to_date' => (bool) $account->hide_paid_to_date, 'hide_paid_to_date' => (bool) $account->hide_paid_to_date,
'invoice_number_prefix' => $account->invoice_number_prefix, 'invoice_number_prefix' => $account->invoice_number_prefix,
@ -215,8 +207,6 @@ class AccountTransformer extends EntityTransformer
'num_days_reminder1' => $account->num_days_reminder1, 'num_days_reminder1' => $account->num_days_reminder1,
'num_days_reminder2' => $account->num_days_reminder2, 'num_days_reminder2' => $account->num_days_reminder2,
'num_days_reminder3' => $account->num_days_reminder3, 'num_days_reminder3' => $account->num_days_reminder3,
'custom_invoice_text_label1' => $account->customLabel('invoice_text1'),
'custom_invoice_text_label2' => $account->customLabel('invoice_text2'),
'tax_name1' => $account->tax_name1 ?: '', 'tax_name1' => $account->tax_name1 ?: '',
'tax_rate1' => (float) $account->tax_rate1, 'tax_rate1' => (float) $account->tax_rate1,
'tax_name2' => $account->tax_name2 ?: '', 'tax_name2' => $account->tax_name2 ?: '',
@ -245,8 +235,6 @@ class AccountTransformer extends EntityTransformer
'show_currency_code' => (bool) $account->show_currency_code, 'show_currency_code' => (bool) $account->show_currency_code,
'enable_portal_password' => (bool) $account->enable_portal_password, 'enable_portal_password' => (bool) $account->enable_portal_password,
'send_portal_password' => (bool) $account->send_portal_password, 'send_portal_password' => (bool) $account->send_portal_password,
'custom_invoice_item_label1' => $account->customLabel('product1'),
'custom_invoice_item_label2' => $account->customLabel('product2'),
'recurring_invoice_number_prefix' => $account->recurring_invoice_number_prefix, 'recurring_invoice_number_prefix' => $account->recurring_invoice_number_prefix,
'enable_client_portal' => (bool) $account->enable_client_portal, 'enable_client_portal' => (bool) $account->enable_client_portal,
'invoice_fields' => $account->invoice_fields, 'invoice_fields' => $account->invoice_fields,
@ -277,12 +265,25 @@ class AccountTransformer extends EntityTransformer
'gateway_fee_enabled' => (bool) $account->gateway_fee_enabled, 'gateway_fee_enabled' => (bool) $account->gateway_fee_enabled,
'send_item_details' => (bool) $account->send_item_details, 'send_item_details' => (bool) $account->send_item_details,
'reset_counter_date' => $account->reset_counter_date, 'reset_counter_date' => $account->reset_counter_date,
'custom_contact_label1' => $account->customLabel('contact1'),
'custom_contact_label2' => $account->customLabel('contact2'),
'task_rate' => (float) $account->task_rate, 'task_rate' => (float) $account->task_rate,
'inclusive_taxes' => (bool) $account->inclusive_taxes, 'inclusive_taxes' => (bool) $account->inclusive_taxes,
'convert_products' => (bool) $account->convert_products, 'convert_products' => (bool) $account->convert_products,
'signature_on_pdf' => (bool) $account->signature_on_pdf, 'signature_on_pdf' => (bool) $account->signature_on_pdf,
'custom_invoice_taxes1' => $account->custom_invoice_taxes1,
'custom_invoice_taxes2' => $account->custom_invoice_taxes1,
'custom_fields' => json_encode($account->custom_fields),
'custom_invoice_label1' => $account->customLabel('invoice1'),
'custom_invoice_label2' => $account->customLabel('invoice2'),
'custom_client_label1' => $account->customLabel('client1'),
'custom_client_label2' => $account->customLabel('client2'),
'custom_contact_label1' => $account->customLabel('contact1'),
'custom_contact_label2' => $account->customLabel('contact2'),
'custom_label1' => $account->customLabel('account1'),
'custom_label2' => $account->customLabel('account2'),
'custom_invoice_text_label1' => $account->customLabel('invoice_text1'),
'custom_invoice_text_label2' => $account->customLabel('invoice_text2'),
'custom_invoice_item_label1' => $account->customLabel('product1'),
'custom_invoice_item_label2' => $account->customLabel('product2'),
]; ];
} }
} }

View File

@ -42,8 +42,8 @@
{!! Former::checkboxes('json_include_radio') {!! Former::checkboxes('json_include_radio')
->label(trans('texts.include')) ->label(trans('texts.include'))
->checkboxes([ ->checkboxes([
trans('texts.data') => 'data',
trans('texts.settings') => 'settings', trans('texts.settings') => 'settings',
trans('texts.data') => 'data',
]) !!} ]) !!}
</div> </div>