bug fixes

This commit is contained in:
Hillel Coren 2014-01-22 09:11:33 +00:00
parent 5b13f2d8ef
commit 6f9a04ca64
4 changed files with 51 additions and 35 deletions

View File

@ -203,9 +203,11 @@ class AccountController extends \BaseController {
$count = 0; $count = 0;
$hasHeaders = Input::get('header_checkbox'); $hasHeaders = Input::get('header_checkbox');
$countries = Country::remember(DEFAULT_QUERY_CACHE)->all(); $countries = Country::remember(DEFAULT_QUERY_CACHE)->get();
$countryMap = []; $countryMap = [];
foreach ($countries as $country) {
foreach ($countries as $country)
{
$countryMap[strtolower($country->name)] = $country->id; $countryMap[strtolower($country->name)] = $country->id;
} }
@ -219,6 +221,7 @@ class AccountController extends \BaseController {
$client = Client::createNew(); $client = Client::createNew();
$contact = Contact::createNew(); $contact = Contact::createNew();
$contact->is_primary = true;
$count++; $count++;
foreach ($row as $index => $value) foreach ($row as $index => $value)
@ -226,56 +229,56 @@ class AccountController extends \BaseController {
$field = $map[$index]; $field = $map[$index];
$value = trim($value); $value = trim($value);
if ($field == Client::$fieldName) if ($field == Client::$fieldName && !$client->name)
{ {
$client->name = $value; $client->name = $value;
} }
else if ($field == Client::$fieldPhone) else if ($field == Client::$fieldPhone && !$client->work_phone)
{ {
$client->work_phone = $value; $client->work_phone = $value;
} }
else if ($field == Client::$fieldAddress1) else if ($field == Client::$fieldAddress1 && !$client->address1)
{ {
$client->address1 = $value; $client->address1 = $value;
} }
else if ($field == Client::$fieldAddress2) else if ($field == Client::$fieldAddress2 && !$client->address2)
{ {
$client->address2 = $value; $client->address2 = $value;
} }
else if ($field == Client::$fieldCity) else if ($field == Client::$fieldCity && !$client->city)
{ {
$client->city = $value; $client->city = $value;
} }
else if ($field == Client::$fieldState) else if ($field == Client::$fieldState && !$client->state)
{ {
$client->state = $value; $client->state = $value;
} }
else if ($field == Client::$fieldPostalCode) else if ($field == Client::$fieldPostalCode && !$client->postal_code)
{ {
$client->postal_code = $value; $client->postal_code = $value;
} }
else if ($field == Client::$fieldCountry) else if ($field == Client::$fieldCountry && !$client->country_id)
{ {
$value = strtolower($value); $value = strtolower($value);
$client->country_id = isset($countryMap[$value]) ? $countryMap[$value] : null; $client->country_id = isset($countryMap[$value]) ? $countryMap[$value] : null;
} }
else if ($field == Client::$fieldNotes) else if ($field == Client::$fieldNotes && !$client->private_notes)
{ {
$client->notes = $value; $client->private_notes = $value;
} }
else if ($field == Contact::$fieldFirstName) else if ($field == Contact::$fieldFirstName && !$contact->first_name)
{ {
$contact->first_name = $value; $contact->first_name = $value;
} }
else if ($field == Contact::$fieldLastName) else if ($field == Contact::$fieldLastName && !$contact->last_name)
{ {
$contact->last_name = $value; $contact->last_name = $value;
} }
else if ($field == Contact::$fieldPhone) else if ($field == Contact::$fieldPhone && !$contact->phone)
{ {
$contact->phone = $value; $contact->phone = $value;
} }
else if ($field == Contact::$fieldEmail) else if ($field == Contact::$fieldEmail && !$contact->email)
{ {
$contact->email = $value; $contact->email = $value;
} }
@ -347,10 +350,10 @@ class AccountController extends \BaseController {
'mobile' => Contact::$fieldPhone, 'mobile' => Contact::$fieldPhone,
'phone' => Client::$fieldPhone, 'phone' => Client::$fieldPhone,
'name|organization' => Client::$fieldName, 'name|organization' => Client::$fieldName,
'address|address1' => Client::$fieldAddress1, 'street|address|address1' => Client::$fieldAddress1,
'address2' => Client::$fieldAddress2, 'street2|address2' => Client::$fieldAddress2,
'city' => Client::$fieldCity, 'city' => Client::$fieldCity,
'state' => Client::$fieldState, 'state|province' => Client::$fieldState,
'zip|postal|code' => Client::$fieldPostalCode, 'zip|postal|code' => Client::$fieldPostalCode,
'country' => Client::$fieldCountry, 'country' => Client::$fieldCountry,
'note' => Client::$fieldNotes, 'note' => Client::$fieldNotes,
@ -360,6 +363,11 @@ class AccountController extends \BaseController {
{ {
foreach(explode("|", $search) as $string) foreach(explode("|", $search) as $string)
{ {
if (strpos($title, 'sec') === 0)
{
continue;
}
if (strpos($title, $string) !== false) if (strpos($title, $string) !== false)
{ {
$mapped[$i] = $column; $mapped[$i] = $column;

View File

@ -55,8 +55,10 @@ Route::get('/send_emails', function() {
}); });
*/ */
//Route::get('/', 'HomeController@showComingSoon'); Route::get('/', function() {
Route::get('/', 'HomeController@showWelcome'); return Redirect::to('http://signup.invoiceninja.com');
});
Route::get('/rocksteady', 'HomeController@showWelcome'); Route::get('/rocksteady', 'HomeController@showWelcome');

View File

@ -13,7 +13,7 @@
{{ Former::open($url)->method($method)->addClass('main_form')->rules(array( {{ Former::open($url)->method($method)->addClass('main_form')->rules(array(
'client' => 'required', 'client' => 'required',
'email' => 'required', 'email' => 'required',
'product_key' => 'max:14', 'product_key' => 'max:20',
)); }} )); }}
<div data-bind="with: invoice"> <div data-bind="with: invoice">
@ -47,7 +47,7 @@
<div class="col-lg-8 col-lg-offset-4"> <div class="col-lg-8 col-lg-offset-4">
<label for="test" class="checkbox" data-bind="attr: {for: $index() + '_check'}"> <label for="test" class="checkbox" data-bind="attr: {for: $index() + '_check'}">
<input type="checkbox" value="1" data-bind="checked: send_invoice, attr: {id: $index() + '_check'}"> <input type="checkbox" value="1" data-bind="checked: send_invoice, attr: {id: $index() + '_check'}">
<span data-bind="text: email.display"/> <span data-bind="html: email.display"/>
</label> </label>
</div> </div>
</div> </div>
@ -80,7 +80,7 @@
<div class="col-md-3" id="col_2"> <div class="col-md-3" id="col_2">
{{ Former::text('invoice_number')->label('Invoice #')->data_bind("value: invoice_number, valueUpdate: 'afterkeydown'") }} {{ Former::text('invoice_number')->label('Invoice #')->data_bind("value: invoice_number, valueUpdate: 'afterkeydown'") }}
{{ Former::text('po_number')->label('PO #')->data_bind("value: po_number, valueUpdate: 'afterkeydown'") }} {{ Former::text('po_number')->label('PO #')->data_bind("value: po_number, valueUpdate: 'afterkeydown'") }}
{{ Former::text('discount')->data_bind("value: discount, valueUpdate: 'afterkeydown'") }} {{ Former::text('discount')->data_bind("value: discount, valueUpdate: 'afterkeydown'")->append('%') }}
{{-- Former::select('currency_id')->label('Currency')->addOption('', '')->fromQuery($currencies, 'name', 'id')->data_bind("value: currency_id") --}} {{-- Former::select('currency_id')->label('Currency')->addOption('', '')->fromQuery($currencies, 'name', 'id')->data_bind("value: currency_id") --}}
<div class="form-group" style="margin-bottom: 8px"> <div class="form-group" style="margin-bottom: 8px">
@ -115,7 +115,7 @@
<td style="min-width:20px;" class="hide-border td-icon"> <td style="min-width:20px;" class="hide-border td-icon">
<i data-bind="visible: actionsVisible() &amp;&amp; $parent.invoice_items().length > 1" class="fa fa-sort"></i> <i data-bind="visible: actionsVisible() &amp;&amp; $parent.invoice_items().length > 1" class="fa fa-sort"></i>
</td> </td>
<td style="min-width:120px"> <td style="min-width:160px">
{{ Former::text('product_key')->useDatalist(Product::getProductKeys($products), 'key')->onkeyup('onItemChange()') {{ Former::text('product_key')->useDatalist(Product::getProductKeys($products), 'key')->onkeyup('onItemChange()')
->raw()->data_bind("value: product_key, valueUpdate: 'afterkeydown'")->addClass('datalist') }} ->raw()->data_bind("value: product_key, valueUpdate: 'afterkeydown'")->addClass('datalist') }}
</td> </td>
@ -1208,7 +1208,7 @@
self.email.display = ko.computed(function() { self.email.display = ko.computed(function() {
var str = ''; var str = '';
if (self.first_name() || self.last_name()) { if (self.first_name() || self.last_name()) {
str += self.first_name() + ' ' + self.last_name() + ' - '; str += self.first_name() + ' ' + self.last_name() + '<br/>';
} }
return str + self.email(); return str + self.email();
}); });

View File

@ -15,23 +15,23 @@ function generatePDF(invoice, checkMath) {
var invoiceDate = invoice.invoice_date ? invoice.invoice_date : ''; var invoiceDate = invoice.invoice_date ? invoice.invoice_date : '';
var dueDate = invoice.due_date ? invoice.due_date : ''; var dueDate = invoice.due_date ? invoice.due_date : '';
var marginLeft = 60; var marginLeft = 50;
var accountTop = 30; var accountTop = 30;
var headerTop = 140; var headerTop = 140;
var headerLeft = 360; var headerLeft = 360;
var headerRight = 540; var headerRight = 550;
var rowHeight = 15; var rowHeight = 15;
var tableRowHeight = 20; var tableRowHeight = 20;
var footerLeft = 420; var footerLeft = 420;
var tablePadding = 6; var tablePadding = 6;
var tableTop = 240; var tableTop = 240;
var tableLeft = 60; var tableLeft = 50;
var descriptionLeft = 150; var descriptionLeft = 162;
var unitCostRight = 400; var unitCostRight = 410;
var qtyRight = 470; var qtyRight = 480;
var taxRight = 470; var taxRight = 480;
var lineTotalRight = 540; var lineTotalRight = 550;
var hasTaxes = false; var hasTaxes = false;
@ -297,7 +297,13 @@ function generatePDF(invoice, checkMath) {
console.log('%s %s %s', lineTotalRight, tableLeft, (lineTotalRight-tableLeft)); console.log('%s %s %s', lineTotalRight, tableLeft, (lineTotalRight-tableLeft));
doc.text(tableLeft, x+16, invoice.public_notes); doc.text(tableLeft, x+16, invoice.public_notes);
doc.text(tableLeft, x+16 + (doc.splitTextToSize(invoice.public_notes, 340).length * rowHeight) + (rowHeight/2), invoice.terms); if (invoice.terms) {
var termsX = x+16 + (doc.splitTextToSize(invoice.public_notes, 340).length * rowHeight) + (rowHeight/2);
doc.setFontType("bold");
doc.text(tableLeft, termsX, "Terms");
doc.setFontType("normal");
doc.text(tableLeft, termsX + rowHeight, invoice.terms);
}
x += 16; x += 16;
doc.text(footerLeft, x, 'Subtotal'); doc.text(footerLeft, x, 'Subtotal');