mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-09-20 00:11:35 +02:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
676e277cdf
@ -1,7 +1,7 @@
|
||||
# Invoice Ninja
|
||||
## Simple, Intuitive Invoicing
|
||||
|
||||
### [https://www.invoiceninja.com/rocksteady](https://www.invoiceninja.com/rocksteady)
|
||||
### [https://www.invoiceninja.com](https://www.invoiceninja.com)
|
||||
### Introduction
|
||||
|
||||
Most online invoicing sites are expensive. They shouldn't be. The aim of this project is to provide a free, open-source alternative. Additionally, the hope is this codebase will serve as a sample site for Laravel as well as other JavaScript technologies.
|
||||
@ -15,9 +15,10 @@ Most online invoicing sites are expensive. They shouldn't be. The aim of this pr
|
||||
|
||||
### Steps to setup
|
||||
|
||||
Fork the Github project
|
||||
If you plan on submitting changes it's best to fork the repo (https://help.github.com/articles/fork-a-repo), otherwise you can just checkout the code.
|
||||
|
||||
https://help.github.com/articles/fork-a-repo
|
||||
git clone git@github.com:hillelcoren/invoice-ninja.git ninja
|
||||
cd ninja
|
||||
|
||||
Install Laravel packages using Composer
|
||||
|
||||
|
@ -388,10 +388,11 @@ class InvoiceController extends \BaseController {
|
||||
$invoice = Invoice::with('invoice_items')->scope($publicId)->firstOrFail();
|
||||
|
||||
$clone = Invoice::createNew();
|
||||
foreach (['client_id', 'discount', 'invoice_date', 'due_date', 'is_recurring', 'frequency_id', 'start_date', 'end_date', 'terms'] as $field)
|
||||
$clone->balance = $invoice->amount;
|
||||
foreach (['client_id', 'discount', 'invoice_date', 'due_date', 'is_recurring', 'frequency_id', 'start_date', 'end_date', 'terms', 'public_notes', 'invoice_design_id', 'tax_name', 'tax_rate', 'amount'] as $field)
|
||||
{
|
||||
$clone->$field = $invoice->$field;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$clone->is_recurring)
|
||||
{
|
||||
|
@ -11,9 +11,9 @@ abstract class Mailer {
|
||||
'emails.'.$view.'_text'
|
||||
];
|
||||
|
||||
$view = 'emails.' . $view;
|
||||
//$view = 'emails.' . $view;
|
||||
|
||||
Mail::queue($view, $data, function($message) use ($toEmail, $fromEmail, $subject)
|
||||
Mail::queue($views, $data, function($message) use ($toEmail, $fromEmail, $subject)
|
||||
{
|
||||
$message->to($toEmail)->replyTo($fromEmail)->subject($subject);
|
||||
});
|
||||
|
@ -54,10 +54,7 @@ Route::get('/send_emails', function() {
|
||||
});
|
||||
*/
|
||||
|
||||
Route::get('/', function() {
|
||||
return Redirect::to('http://signup.invoiceninja.com');
|
||||
});
|
||||
|
||||
Route::get('/', 'HomeController@showWelcome');
|
||||
Route::get('/rocksteady', 'HomeController@showWelcome');
|
||||
|
||||
Route::get('log_error', 'HomeController@logError');
|
||||
@ -162,7 +159,15 @@ HTML::macro('image_data', function($imagePath) {
|
||||
|
||||
HTML::macro('breadcrumbs', function() {
|
||||
$str = '<ol class="breadcrumb">';
|
||||
$crumbs = explode('/', $_SERVER['REQUEST_URI']);
|
||||
$crumbs = explode('/', $_SERVER['REQUEST_URI']);
|
||||
|
||||
foreach ($crumbs as $key => $val)
|
||||
{
|
||||
if (is_numeric($val))
|
||||
{
|
||||
unset($crumbs[$key]);
|
||||
}
|
||||
}
|
||||
for ($i=0; $i<count($crumbs); $i++) {
|
||||
$crumb = trim($crumbs[$i]);
|
||||
if (!$crumb) continue;
|
||||
@ -207,7 +212,7 @@ define('DEFAULT_INVOICE_NUMBER', '0001');
|
||||
define('RECENTLY_VIEWED_LIMIT', 8);
|
||||
define('LOGGED_ERROR_LIMIT', 100);
|
||||
define('RANDOM_KEY_LENGTH', 32);
|
||||
define('MAX_NUM_CLIENTS', 2000);
|
||||
define('MAX_NUM_CLIENTS', 1000);
|
||||
|
||||
define('INVOICE_STATUS_DRAFT', 1);
|
||||
define('INVOICE_STATUS_SENT', 2);
|
||||
|
@ -438,7 +438,7 @@
|
||||
*/
|
||||
@endif
|
||||
|
||||
@if (Session::has('message'))
|
||||
@if (false && Session::has('message'))
|
||||
setTimeout(function() {
|
||||
$('.alert-info').fadeOut();
|
||||
}, 3000);
|
||||
|
@ -207,10 +207,10 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div style="display:none">
|
||||
|
||||
{{ Former::select('invoice_design_id')->label('Design')->style('display:inline;width:120px')->raw()
|
||||
->fromQuery($invoiceDesigns, 'name', 'id')->data_bind("value: invoice_design_id") }}
|
||||
</div>
|
||||
|
||||
|
||||
{{ Button::primary('Download PDF', array('onclick' => 'onDownloadClick()'))->append_with_icon('download-alt'); }}
|
||||
|
||||
@ -558,6 +558,15 @@
|
||||
invoice.imageWidth = {{ $account->getLogoWidth() }};
|
||||
invoice.imageHeight = {{ $account->getLogoHeight() }};
|
||||
@endif
|
||||
|
||||
|
||||
//define logo images
|
||||
|
||||
|
||||
invoice.imageLogo1 = "{{ HTML::image_data('images/report_logo1.jpg') }}";
|
||||
invoice.imageLogoWidth1 =120;
|
||||
invoice.imageLogoHeight1 = 40
|
||||
|
||||
return invoice;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
<label for="trashed" style="font-weight:normal; margin-left: 10px;">
|
||||
<input id="trashed" type="checkbox" onclick="setTrashVisible()"
|
||||
{{ Session::get('show_trash') ? 'checked' : ''}}/> Show archived/deleted
|
||||
{{ Session::get('show_trash') ? 'checked' : ''}}/> Show archived/deleted {{ $entityType }}s
|
||||
</label>
|
||||
|
||||
<div id="top_right_buttons" class="pull-right">
|
||||
|
@ -53,7 +53,7 @@
|
||||
<div class="container">
|
||||
|
||||
{{ Former::open('forgot_password')->addClass('form-signin') }}
|
||||
<h2 class="form-signin-heading">Passord Recovery</h2>
|
||||
<h2 class="form-signin-heading">Password Recovery</h2>
|
||||
|
||||
<p>
|
||||
{{ Form::text('email', Input::old('email'), array('placeholder' => 'Email address')) }}
|
||||
|
BIN
public/images/report_logo1.jpg
Normal file
BIN
public/images/report_logo1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
1051
public/js/script.js
Executable file → Normal file
1051
public/js/script.js
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user