mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 20:22:42 +01:00
bug fixes
This commit is contained in:
parent
5b13f2d8ef
commit
6f9a04ca64
@ -203,9 +203,11 @@ class AccountController extends \BaseController {
|
||||
$count = 0;
|
||||
$hasHeaders = Input::get('header_checkbox');
|
||||
|
||||
$countries = Country::remember(DEFAULT_QUERY_CACHE)->all();
|
||||
$countries = Country::remember(DEFAULT_QUERY_CACHE)->get();
|
||||
$countryMap = [];
|
||||
foreach ($countries as $country) {
|
||||
|
||||
foreach ($countries as $country)
|
||||
{
|
||||
$countryMap[strtolower($country->name)] = $country->id;
|
||||
}
|
||||
|
||||
@ -219,6 +221,7 @@ class AccountController extends \BaseController {
|
||||
|
||||
$client = Client::createNew();
|
||||
$contact = Contact::createNew();
|
||||
$contact->is_primary = true;
|
||||
$count++;
|
||||
|
||||
foreach ($row as $index => $value)
|
||||
@ -226,56 +229,56 @@ class AccountController extends \BaseController {
|
||||
$field = $map[$index];
|
||||
$value = trim($value);
|
||||
|
||||
if ($field == Client::$fieldName)
|
||||
if ($field == Client::$fieldName && !$client->name)
|
||||
{
|
||||
$client->name = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldPhone)
|
||||
else if ($field == Client::$fieldPhone && !$client->work_phone)
|
||||
{
|
||||
$client->work_phone = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldAddress1)
|
||||
else if ($field == Client::$fieldAddress1 && !$client->address1)
|
||||
{
|
||||
$client->address1 = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldAddress2)
|
||||
else if ($field == Client::$fieldAddress2 && !$client->address2)
|
||||
{
|
||||
$client->address2 = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldCity)
|
||||
else if ($field == Client::$fieldCity && !$client->city)
|
||||
{
|
||||
$client->city = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldState)
|
||||
else if ($field == Client::$fieldState && !$client->state)
|
||||
{
|
||||
$client->state = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldPostalCode)
|
||||
else if ($field == Client::$fieldPostalCode && !$client->postal_code)
|
||||
{
|
||||
$client->postal_code = $value;
|
||||
}
|
||||
else if ($field == Client::$fieldCountry)
|
||||
else if ($field == Client::$fieldCountry && !$client->country_id)
|
||||
{
|
||||
$value = strtolower($value);
|
||||
$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;
|
||||
}
|
||||
else if ($field == Contact::$fieldLastName)
|
||||
else if ($field == Contact::$fieldLastName && !$contact->last_name)
|
||||
{
|
||||
$contact->last_name = $value;
|
||||
}
|
||||
else if ($field == Contact::$fieldPhone)
|
||||
else if ($field == Contact::$fieldPhone && !$contact->phone)
|
||||
{
|
||||
$contact->phone = $value;
|
||||
}
|
||||
else if ($field == Contact::$fieldEmail)
|
||||
else if ($field == Contact::$fieldEmail && !$contact->email)
|
||||
{
|
||||
$contact->email = $value;
|
||||
}
|
||||
@ -347,10 +350,10 @@ class AccountController extends \BaseController {
|
||||
'mobile' => Contact::$fieldPhone,
|
||||
'phone' => Client::$fieldPhone,
|
||||
'name|organization' => Client::$fieldName,
|
||||
'address|address1' => Client::$fieldAddress1,
|
||||
'address2' => Client::$fieldAddress2,
|
||||
'street|address|address1' => Client::$fieldAddress1,
|
||||
'street2|address2' => Client::$fieldAddress2,
|
||||
'city' => Client::$fieldCity,
|
||||
'state' => Client::$fieldState,
|
||||
'state|province' => Client::$fieldState,
|
||||
'zip|postal|code' => Client::$fieldPostalCode,
|
||||
'country' => Client::$fieldCountry,
|
||||
'note' => Client::$fieldNotes,
|
||||
@ -360,6 +363,11 @@ class AccountController extends \BaseController {
|
||||
{
|
||||
foreach(explode("|", $search) as $string)
|
||||
{
|
||||
if (strpos($title, 'sec') === 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strpos($title, $string) !== false)
|
||||
{
|
||||
$mapped[$i] = $column;
|
||||
|
@ -55,8 +55,10 @@ Route::get('/send_emails', function() {
|
||||
});
|
||||
*/
|
||||
|
||||
//Route::get('/', 'HomeController@showComingSoon');
|
||||
Route::get('/', 'HomeController@showWelcome');
|
||||
Route::get('/', function() {
|
||||
return Redirect::to('http://signup.invoiceninja.com');
|
||||
});
|
||||
|
||||
Route::get('/rocksteady', 'HomeController@showWelcome');
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
{{ Former::open($url)->method($method)->addClass('main_form')->rules(array(
|
||||
'client' => 'required',
|
||||
'email' => 'required',
|
||||
'product_key' => 'max:14',
|
||||
'product_key' => 'max:20',
|
||||
)); }}
|
||||
|
||||
<div data-bind="with: invoice">
|
||||
@ -47,7 +47,7 @@
|
||||
<div class="col-lg-8 col-lg-offset-4">
|
||||
<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'}">
|
||||
<span data-bind="text: email.display"/>
|
||||
<span data-bind="html: email.display"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@ -80,7 +80,7 @@
|
||||
<div class="col-md-3" id="col_2">
|
||||
{{ 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('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") --}}
|
||||
|
||||
<div class="form-group" style="margin-bottom: 8px">
|
||||
@ -115,7 +115,7 @@
|
||||
<td style="min-width:20px;" class="hide-border td-icon">
|
||||
<i data-bind="visible: actionsVisible() && $parent.invoice_items().length > 1" class="fa fa-sort"></i>
|
||||
</td>
|
||||
<td style="min-width:120px">
|
||||
<td style="min-width:160px">
|
||||
{{ Former::text('product_key')->useDatalist(Product::getProductKeys($products), 'key')->onkeyup('onItemChange()')
|
||||
->raw()->data_bind("value: product_key, valueUpdate: 'afterkeydown'")->addClass('datalist') }}
|
||||
</td>
|
||||
@ -1208,7 +1208,7 @@
|
||||
self.email.display = ko.computed(function() {
|
||||
var str = '';
|
||||
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();
|
||||
});
|
||||
|
@ -15,23 +15,23 @@ function generatePDF(invoice, checkMath) {
|
||||
var invoiceDate = invoice.invoice_date ? invoice.invoice_date : '';
|
||||
var dueDate = invoice.due_date ? invoice.due_date : '';
|
||||
|
||||
var marginLeft = 60;
|
||||
var marginLeft = 50;
|
||||
var accountTop = 30;
|
||||
var headerTop = 140;
|
||||
var headerLeft = 360;
|
||||
var headerRight = 540;
|
||||
var headerRight = 550;
|
||||
var rowHeight = 15;
|
||||
var tableRowHeight = 20;
|
||||
var footerLeft = 420;
|
||||
var tablePadding = 6;
|
||||
|
||||
var tableTop = 240;
|
||||
var tableLeft = 60;
|
||||
var descriptionLeft = 150;
|
||||
var unitCostRight = 400;
|
||||
var qtyRight = 470;
|
||||
var taxRight = 470;
|
||||
var lineTotalRight = 540;
|
||||
var tableLeft = 50;
|
||||
var descriptionLeft = 162;
|
||||
var unitCostRight = 410;
|
||||
var qtyRight = 480;
|
||||
var taxRight = 480;
|
||||
var lineTotalRight = 550;
|
||||
|
||||
|
||||
var hasTaxes = false;
|
||||
@ -297,7 +297,13 @@ function generatePDF(invoice, checkMath) {
|
||||
console.log('%s %s %s', lineTotalRight, tableLeft, (lineTotalRight-tableLeft));
|
||||
|
||||
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;
|
||||
doc.text(footerLeft, x, 'Subtotal');
|
||||
|
Loading…
Reference in New Issue
Block a user