mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
API improvements
This commit is contained in:
parent
f41e0d999b
commit
c4a94834a1
@ -185,8 +185,10 @@ class AppController extends BaseController
|
|||||||
if (!Utils::isNinja()) {
|
if (!Utils::isNinja()) {
|
||||||
try {
|
try {
|
||||||
Artisan::call('migrate', array('--force' => true));
|
Artisan::call('migrate', array('--force' => true));
|
||||||
|
Artisan::call('db:seed', array('--force' => true, '--class' => 'PaymentLibrariesSeeder'));
|
||||||
Artisan::call('optimize', array('--force' => true));
|
Artisan::call('optimize', array('--force' => true));
|
||||||
Cache::flush();
|
Cache::flush();
|
||||||
|
Session::flash('message', trans('texts.processed_updates'));
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
Response::make($e->getMessage(), 500);
|
Response::make($e->getMessage(), 500);
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,10 @@ use Response;
|
|||||||
use Input;
|
use Input;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
|
use App\Models\Contact;
|
||||||
use App\Models\Product;
|
use App\Models\Product;
|
||||||
use App\Models\Invitation;
|
use App\Models\Invitation;
|
||||||
|
use App\Ninja\Repositories\ClientRepository;
|
||||||
use App\Ninja\Repositories\InvoiceRepository;
|
use App\Ninja\Repositories\InvoiceRepository;
|
||||||
use App\Ninja\Mailers\ContactMailer as Mailer;
|
use App\Ninja\Mailers\ContactMailer as Mailer;
|
||||||
|
|
||||||
@ -15,9 +17,10 @@ class InvoiceApiController extends Controller
|
|||||||
{
|
{
|
||||||
protected $invoiceRepo;
|
protected $invoiceRepo;
|
||||||
|
|
||||||
public function __construct(InvoiceRepository $invoiceRepo, Mailer $mailer)
|
public function __construct(InvoiceRepository $invoiceRepo, ClientRepository $clientRepo, Mailer $mailer)
|
||||||
{
|
{
|
||||||
$this->invoiceRepo = $invoiceRepo;
|
$this->invoiceRepo = $invoiceRepo;
|
||||||
|
$this->clientRepo = $clientRepo;
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,22 +59,46 @@ class InvoiceApiController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check the client id is set and exists
|
if (isset($data['email'])) {
|
||||||
if (!isset($data['client_id'])) {
|
$contact = Contact::scope()->with('client')->whereEmail($data['email'])->first();
|
||||||
$error = trans('validation.required', ['attribute' => 'client_id']);
|
if ($contact) {
|
||||||
} else {
|
$client = $contact->client;
|
||||||
|
} else {
|
||||||
|
$clientData = ['contact' => ['email' => $data['email']]];
|
||||||
|
foreach (['name', 'private_notes'] as $field) {
|
||||||
|
if (isset($data[$field])) {
|
||||||
|
$clientData[$field] = $data[$field];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach (['first_name', 'last_name'] as $field) {
|
||||||
|
if (isset($data[$field])) {
|
||||||
|
$clientData[$field] = $data[$field];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$error = $this->clientRepo->getErrors($clientData);
|
||||||
|
if (!$error) {
|
||||||
|
$client = $this->clientRepo->save(false, $clientData, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (isset($data['client_id'])) {
|
||||||
$client = Client::scope($data['client_id'])->first();
|
$client = Client::scope($data['client_id'])->first();
|
||||||
if (!$client) {
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
if (!isset($data['client_id']) && !isset($data['email'])) {
|
||||||
|
$error = trans('validation.', ['attribute' => 'client_id or email']);
|
||||||
|
} else if (!$client) {
|
||||||
$error = trans('validation.not_in', ['attribute' => 'client_id']);
|
$error = trans('validation.not_in', ['attribute' => 'client_id']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error) {
|
if ($error) {
|
||||||
$response = json_encode($error, JSON_PRETTY_PRINT);
|
$response = json_encode($error, JSON_PRETTY_PRINT);
|
||||||
} else {
|
} else {
|
||||||
$data = self::prepareData($data);
|
$data = self::prepareData($data);
|
||||||
$data['client_id'] = $client->id;
|
$data['client_id'] = $client->id;
|
||||||
$invoice = $this->invoiceRepo->save(false, $data, false);
|
$invoice = $this->invoiceRepo->save(false, $data, false);
|
||||||
|
$invoice->load('invoice_items');
|
||||||
|
|
||||||
$invitation = Invitation::createNew();
|
$invitation = Invitation::createNew();
|
||||||
$invitation->invoice_id = $invoice->id;
|
$invitation->invoice_id = $invoice->id;
|
||||||
@ -79,8 +106,11 @@ class InvoiceApiController extends Controller
|
|||||||
$invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
|
$invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
|
||||||
$invitation->save();
|
$invitation->save();
|
||||||
|
|
||||||
|
if (isset($data['email_invoice']) && $data['email_invoice']) {
|
||||||
|
$this->mailer->sendInvoice($invoice);
|
||||||
|
}
|
||||||
|
|
||||||
// prepare the return data
|
// prepare the return data
|
||||||
$invoice->load('invoice_items');
|
|
||||||
$invoice = $invoice->toArray();
|
$invoice = $invoice->toArray();
|
||||||
$invoice['link'] = $invitation->getLink();
|
$invoice['link'] = $invitation->getLink();
|
||||||
unset($invoice['account']);
|
unset($invoice['account']);
|
||||||
@ -115,6 +145,7 @@ class InvoiceApiController extends Controller
|
|||||||
'custom_value2' => 0,
|
'custom_value2' => 0,
|
||||||
'custom_taxes1' => false,
|
'custom_taxes1' => false,
|
||||||
'custom_taxes2' => false,
|
'custom_taxes2' => false,
|
||||||
|
'partial' => 0
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!isset($data['invoice_date'])) {
|
if (!isset($data['invoice_date'])) {
|
||||||
|
@ -66,13 +66,18 @@ class ReportController extends BaseController
|
|||||||
|
|
||||||
$displayData = [];
|
$displayData = [];
|
||||||
$exportData = [];
|
$exportData = [];
|
||||||
$columns = [];
|
|
||||||
$reportTotals = [
|
$reportTotals = [
|
||||||
'amount' => [],
|
'amount' => [],
|
||||||
'balance' => [],
|
'balance' => [],
|
||||||
'paid' => []
|
'paid' => []
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if ($reportType) {
|
||||||
|
$columns = ['client', 'amount', 'paid', 'balance'];
|
||||||
|
} else {
|
||||||
|
$columns = ['client', 'invoice_number', 'invoice_date', 'amount', 'paid', 'balance'];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (Auth::user()->account->isPro()) {
|
if (Auth::user()->account->isPro()) {
|
||||||
|
|
||||||
@ -95,11 +100,9 @@ class ReportController extends BaseController
|
|||||||
if ($reportType) {
|
if ($reportType) {
|
||||||
$query->groupBy('clients.id');
|
$query->groupBy('clients.id');
|
||||||
array_push($select, DB::raw('sum(invoices.amount) amount'), DB::raw('sum(invoices.balance) balance'), DB::raw('sum(invoices.amount - invoices.balance) paid'));
|
array_push($select, DB::raw('sum(invoices.amount) amount'), DB::raw('sum(invoices.balance) balance'), DB::raw('sum(invoices.amount - invoices.balance) paid'));
|
||||||
$columns = ['client', 'amount', 'paid', 'balance'];
|
|
||||||
} else {
|
} else {
|
||||||
array_push($select, 'invoices.invoice_number', 'invoices.amount', 'invoices.balance', 'invoices.invoice_date', DB::raw('(invoices.amount - invoices.balance) paid'));
|
array_push($select, 'invoices.invoice_number', 'invoices.amount', 'invoices.balance', 'invoices.invoice_date', DB::raw('(invoices.amount - invoices.balance) paid'));
|
||||||
$query->orderBy('invoices.id');
|
$query->orderBy('invoices.id');
|
||||||
$columns = ['client', 'invoice_number', 'invoice_date', 'amount', 'paid', 'balance'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$query->select($select);
|
$query->select($select);
|
||||||
|
@ -354,7 +354,7 @@ define('NINJA_GATEWAY_ID', GATEWAY_STRIPE);
|
|||||||
define('NINJA_GATEWAY_CONFIG', '');
|
define('NINJA_GATEWAY_CONFIG', '');
|
||||||
define('NINJA_WEB_URL', 'https://www.invoiceninja.com');
|
define('NINJA_WEB_URL', 'https://www.invoiceninja.com');
|
||||||
define('NINJA_APP_URL', 'https://app.invoiceninja.com');
|
define('NINJA_APP_URL', 'https://app.invoiceninja.com');
|
||||||
define('NINJA_VERSION', '2.0.0');
|
define('NINJA_VERSION', '2.0.1');
|
||||||
define('NINJA_DATE', '2000-01-01');
|
define('NINJA_DATE', '2000-01-01');
|
||||||
define('NINJA_FROM_EMAIL', 'maildelivery@invoiceninja.com');
|
define('NINJA_FROM_EMAIL', 'maildelivery@invoiceninja.com');
|
||||||
define('RELEASES_URL', 'https://github.com/hillelcoren/invoice-ninja/releases/');
|
define('RELEASES_URL', 'https://github.com/hillelcoren/invoice-ninja/releases/');
|
||||||
|
@ -378,3 +378,10 @@ class Account extends Eloquent
|
|||||||
return $this->token_billing_type_id == TOKEN_BILLING_OPT_OUT;
|
return $this->token_billing_type_id == TOKEN_BILLING_OPT_OUT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Account::updating(function ($account) {
|
||||||
|
// Lithuanian requires UTF8 support
|
||||||
|
if (!Utils::isPro()) {
|
||||||
|
$account->utf8_invoices = ($account->language_id == 13) ? 1 : 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
@ -15,8 +15,7 @@ class AddSvLanguage extends Migration {
|
|||||||
DB::table('languages')->insert(['name' => 'Swedish', 'locale' => 'sv']);
|
DB::table('languages')->insert(['name' => 'Swedish', 'locale' => 'sv']);
|
||||||
DB::table('languages')->insert(['name' => 'Spanish - Spain', 'locale' => 'es_ES']);
|
DB::table('languages')->insert(['name' => 'Spanish - Spain', 'locale' => 'es_ES']);
|
||||||
DB::table('languages')->insert(['name' => 'French - Canada', 'locale' => 'fr_CA']);
|
DB::table('languages')->insert(['name' => 'French - Canada', 'locale' => 'fr_CA']);
|
||||||
|
DB::table('languages')->insert(['name' => 'Lithuanian', 'locale' => 'lt']);
|
||||||
DB::table('payment_terms')->insert(['num_days' => -1, 'name' => 'Net 0']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,8 +37,8 @@ class AddSvLanguage extends Migration {
|
|||||||
$language->delete();
|
$language->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($paymentTerm = \App\Models\PaymentTerm::whereName('Net 0')->first()) {
|
if ($language = \App\Models\Language::whereLocale('lt')->first()) {
|
||||||
$paymentTerm->delete();
|
$language->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Models\Gateway;
|
use App\Models\Gateway;
|
||||||
|
use App\Models\PaymentTerm;
|
||||||
|
|
||||||
class PaymentLibrariesSeeder extends Seeder
|
class PaymentLibrariesSeeder extends Seeder
|
||||||
{
|
{
|
||||||
@ -34,5 +35,16 @@ class PaymentLibrariesSeeder extends Seeder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$paymentTerms = [
|
||||||
|
['num_days' => -1, 'name' => 'Net 0']
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($paymentTerms as $paymentTerm)
|
||||||
|
{
|
||||||
|
if (!DB::table('payment_terms')->where('name', '=', $paymentTerm['name'])->get())
|
||||||
|
{
|
||||||
|
PaymentTerm::create($paymentTerm);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
5
public/css/built.css
vendored
5
public/css/built.css
vendored
@ -3249,4 +3249,9 @@ div.dataTables_length select {
|
|||||||
|
|
||||||
div.dataTables_length label {
|
div.dataTables_length label {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
a .glyphicon,
|
||||||
|
button .glyphicon {
|
||||||
|
padding-left: 8px;
|
||||||
}
|
}
|
5
public/css/style.css
vendored
5
public/css/style.css
vendored
@ -865,4 +865,9 @@ div.dataTables_length select {
|
|||||||
|
|
||||||
div.dataTables_length label {
|
div.dataTables_length label {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
a .glyphicon,
|
||||||
|
button .glyphicon {
|
||||||
|
padding-left: 8px;
|
||||||
}
|
}
|
@ -33090,83 +33090,6 @@ function roundToTwo(num, toString) {
|
|||||||
function truncate(str, length) {
|
function truncate(str, length) {
|
||||||
return (str && str.length > length) ? (str.substr(0, length-1) + '...') : str;
|
return (str && str.length > length) ? (str.substr(0, length-1) + '...') : str;
|
||||||
}
|
}
|
||||||
|
|
||||||
(function($)
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Auto-growing textareas; technique ripped from Facebook
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* http://github.com/jaz303/jquery-grab-bag/tree/master/javascripts/jquery.autogrow-textarea.js
|
|
||||||
*/
|
|
||||||
$.fn.autogrow = function(options)
|
|
||||||
{
|
|
||||||
return this.filter('textarea').each(function()
|
|
||||||
{
|
|
||||||
var self = this;
|
|
||||||
var $self = $(self);
|
|
||||||
var minHeight = $self.height();
|
|
||||||
var noFlickerPad = $self.hasClass('autogrow-short') ? 0 : parseInt($self.css('lineHeight')) || 0;
|
|
||||||
var settings = $.extend({
|
|
||||||
preGrowCallback: null,
|
|
||||||
postGrowCallback: null
|
|
||||||
}, options );
|
|
||||||
|
|
||||||
var shadow = $('<div></div>').css({
|
|
||||||
position: 'absolute',
|
|
||||||
top: -10000,
|
|
||||||
left: -10000,
|
|
||||||
width: $self.width(),
|
|
||||||
fontSize: $self.css('fontSize'),
|
|
||||||
fontFamily: $self.css('fontFamily'),
|
|
||||||
fontWeight: $self.css('fontWeight'),
|
|
||||||
lineHeight: $self.css('lineHeight'),
|
|
||||||
resize: 'none',
|
|
||||||
'word-wrap': 'break-word'
|
|
||||||
}).appendTo(document.body);
|
|
||||||
|
|
||||||
var update = function(event)
|
|
||||||
{
|
|
||||||
var times = function(string, number)
|
|
||||||
{
|
|
||||||
for (var i=0, r=''; i<number; i++) r += string;
|
|
||||||
return r;
|
|
||||||
};
|
|
||||||
|
|
||||||
var val = self.value.replace(/</g, '<')
|
|
||||||
.replace(/>/g, '>')
|
|
||||||
.replace(/&/g, '&')
|
|
||||||
.replace(/\n$/, '<br/> ')
|
|
||||||
.replace(/\n/g, '<br/>')
|
|
||||||
.replace(/ {2,}/g, function(space){ return times(' ', space.length - 1) + ' ' });
|
|
||||||
|
|
||||||
// Did enter get pressed? Resize in this keydown event so that the flicker doesn't occur.
|
|
||||||
if (event && event.data && event.data.event === 'keydown' && event.keyCode === 13) {
|
|
||||||
val += '<br />';
|
|
||||||
}
|
|
||||||
|
|
||||||
shadow.css('width', $self.width());
|
|
||||||
shadow.html(val + (noFlickerPad === 0 ? '...' : '')); // Append '...' to resize pre-emptively.
|
|
||||||
|
|
||||||
var newHeight=Math.max(shadow.height() + noFlickerPad, minHeight);
|
|
||||||
if(settings.preGrowCallback!=null){
|
|
||||||
newHeight=settings.preGrowCallback($self,shadow,newHeight,minHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
$self.height(newHeight);
|
|
||||||
|
|
||||||
if(settings.postGrowCallback!=null){
|
|
||||||
settings.postGrowCallback($self);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$self.change(update).keyup(update).keydown({event:'keydown'},update);
|
|
||||||
$(window).resize(update);
|
|
||||||
|
|
||||||
update();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
})(jQuery);
|
|
||||||
function GetPdfMake(invoice, javascript, callback) {
|
function GetPdfMake(invoice, javascript, callback) {
|
||||||
var account = invoice.account;
|
var account = invoice.account;
|
||||||
eval(javascript);
|
eval(javascript);
|
||||||
|
@ -604,35 +604,27 @@ return array(
|
|||||||
'auto_wrap' => 'Auto Line Wrap',
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
'view_documentation' => 'View Documentation',
|
'view_documentation' => 'View Documentation',
|
||||||
'app_title' => 'Gratis Open-Source Online Fakturering',
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
'app_description' => 'Invoice Ninja er en gratis, open-source løsning til fakturering af kunder. Med Invoice Ninja, kan du nemt opbygge og sende smukke fakturaer fra enhver enhed, der har adgang til internettet. Dine kunder kan printe dine fakturaer, downloade dem som PDF-filer, og endda betale dig online via systemet.',
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
'plans' => [
|
'rows' => 'rows',
|
||||||
'header' => '<span class="thin">The</span> Plans',
|
'www' => 'www',
|
||||||
'free' => 'Free',
|
'logo' => 'Logo',
|
||||||
'unlimited' => 'Unlimited',
|
'subdomain' => 'Subdomain',
|
||||||
'pro_plan' => 'Pro Plan',
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
|
'chart' => 'Chart',
|
||||||
'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
'number_clients' => 'Number of clients per account',
|
'paid' => 'Paid',
|
||||||
'unlimited_invoices' => 'Unlimited client invoices',
|
'enable_report' => 'Report',
|
||||||
'company_logo' => 'Add your company logo',
|
'enable_chart' => 'Chart',
|
||||||
'live_pdf' => 'Live .PDF invoice creation',
|
'totals' => 'Totals',
|
||||||
'four_templates' => '4 beautiful invoice templates',
|
'run' => 'Run',
|
||||||
'payments' => 'Accept credit card payments',
|
'export' => 'Export',
|
||||||
'additional_templates' => 'Additional invoice templates',
|
'documentation' => 'Documentation',
|
||||||
'multi_user' => 'Multi-user support',
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
'quotes' => 'Quotes/pro-forma invoices',
|
'recurring' => 'Recurring',
|
||||||
'advanced_settings' => 'Advanced invoice settings',
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
'data_vizualizations' => 'Dynamic data vizualizations',
|
|
||||||
'email_support' => 'Priority email support',
|
|
||||||
'remove_created_by' => 'Remove "Created by Invoice Ninja"',
|
|
||||||
'latest_features' => 'Latest and greatest features',
|
|
||||||
'pricing' => 'Pricing',
|
|
||||||
'free_always' => 'Free<span> /Always!</span>',
|
|
||||||
'year_price' => '$50<span> /Year</span>',
|
|
||||||
],
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -595,36 +595,28 @@ return array(
|
|||||||
'auto_wrap' => 'Auto Line Wrap',
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
'view_documentation' => 'View Documentation',
|
'view_documentation' => 'View Documentation',
|
||||||
'app_title' => 'Kostenlose & Open-Source Online-Rechnungsausstellung',
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
'app_description' => 'Invoice Ninja ist eine kostenlose, Open-Source Lösung für die Rechnungsstellung und Abrechnung deiner Kunden. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
'plans' => [
|
'rows' => 'rows',
|
||||||
'header' => '<span class="thin">Die</span> Mitgliedschaften',
|
'www' => 'www',
|
||||||
'free' => 'Kostenlos',
|
'logo' => 'Logo',
|
||||||
'unlimited' => 'Uneingeschränkt',
|
'subdomain' => 'Subdomain',
|
||||||
'pro_plan' => 'Pro-Mitgliedschaft',
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
|
'chart' => 'Chart',
|
||||||
'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
'number_clients' => 'Number of clients per account',
|
'paid' => 'Paid',
|
||||||
'unlimited_invoices' => 'Unlimited client invoices',
|
'enable_report' => 'Report',
|
||||||
'company_logo' => 'Add your company logo',
|
'enable_chart' => 'Chart',
|
||||||
'live_pdf' => 'Live .PDF invoice creation',
|
'totals' => 'Totals',
|
||||||
'four_templates' => '4 beautiful invoice templates',
|
'run' => 'Run',
|
||||||
'payments' => 'Accept credit card payments',
|
'export' => 'Export',
|
||||||
'additional_templates' => 'Additional invoice templates',
|
'documentation' => 'Documentation',
|
||||||
'multi_user' => 'Multi-user support',
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
'quotes' => 'Quotes/pro-forma invoices',
|
'recurring' => 'Recurring',
|
||||||
'advanced_settings' => 'Advanced invoice settings',
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
'data_vizualizations' => 'Dynamic data vizualizations',
|
|
||||||
'email_support' => 'Priority email support',
|
|
||||||
'remove_created_by' => 'Remove "Created by Invoice Ninja"',
|
|
||||||
'latest_features' => 'Latest and greatest features',
|
|
||||||
'pricing' => 'Pricing',
|
|
||||||
'free_always' => 'Kostenlos<span> /Immer!</span>',
|
|
||||||
'year_price' => '$50<span> /Jahre</span>',
|
|
||||||
],
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
@ -625,4 +625,6 @@ return array(
|
|||||||
'recurring' => 'Recurring',
|
'recurring' => 'Recurring',
|
||||||
'last_invoice_sent' => 'Last invoice sent :date',
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
'processed_updates' => 'Successfully completed update',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -565,6 +565,38 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
@ -594,5 +594,37 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
@ -586,5 +586,37 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
@ -595,36 +595,27 @@ return array(
|
|||||||
'auto_wrap' => 'Auto Line Wrap',
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
'view_documentation' => 'View Documentation',
|
'view_documentation' => 'View Documentation',
|
||||||
'app_title' => 'Facturation en ligne libre',
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
'app_description' => 'Invoice Ninja est une solution libre pour la tenue de comptes clients et leur facturation. Avec Invoice Ninja, vous pouvez facilement créer et envoyer de belles factures de n\'importe quel dispositif connecté au web. Vos clients peuvent imprimer leurs factures, les télécharger au format PDF, et même vous payer directement en ligne.',
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
'plans' => [
|
'rows' => 'rows',
|
||||||
'header' => '<span class="thin">The</span> Plans',
|
'www' => 'www',
|
||||||
'free' => 'Free',
|
'logo' => 'Logo',
|
||||||
'unlimited' => 'Unlimited',
|
'subdomain' => 'Subdomain',
|
||||||
'pro_plan' => 'Pro Plan',
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
|
'chart' => 'Chart',
|
||||||
'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
'number_clients' => 'Number of clients per account',
|
'paid' => 'Paid',
|
||||||
'unlimited_invoices' => 'Unlimited client invoices',
|
'enable_report' => 'Report',
|
||||||
'company_logo' => 'Add your company logo',
|
'enable_chart' => 'Chart',
|
||||||
'live_pdf' => 'Live .PDF invoice creation',
|
'totals' => 'Totals',
|
||||||
'four_templates' => '4 beautiful invoice templates',
|
'run' => 'Run',
|
||||||
'payments' => 'Accept credit card payments',
|
'export' => 'Export',
|
||||||
'additional_templates' => 'Additional invoice templates',
|
'documentation' => 'Documentation',
|
||||||
'multi_user' => 'Multi-user support',
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
'quotes' => 'Quotes/pro-forma invoices',
|
'recurring' => 'Recurring',
|
||||||
'advanced_settings' => 'Advanced invoice settings',
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
'data_vizualizations' => 'Dynamic data vizualizations',
|
|
||||||
'email_support' => 'Priority email support',
|
|
||||||
'remove_created_by' => 'Remove "Created by Invoice Ninja"',
|
|
||||||
'latest_features' => 'Latest and greatest features',
|
|
||||||
'pricing' => 'Pricing',
|
|
||||||
'free_always' => 'Free<span> /Always!</span>',
|
|
||||||
'year_price' => '$50<span> /Year</span>',
|
|
||||||
],
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -588,5 +588,36 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -596,6 +596,37 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -603,36 +603,27 @@ return array(
|
|||||||
'auto_wrap' => 'Auto Line Wrap',
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
'view_documentation' => 'View Documentation',
|
'view_documentation' => 'View Documentation',
|
||||||
'app_title' => 'Facturation en ligne libre',
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
'app_description' => 'Invoice Ninja est une solution libre pour la tenue de comptes clients et leur facturation. Avec Invoice Ninja, vous pouvez facilement créer et envoyer de belles factures de n\'importe quel dispositif connecté au web. Vos clients peuvent imprimer leurs factures, les télécharger au format PDF, et même vous payer directement en ligne.',
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
'plans' => [
|
'rows' => 'rows',
|
||||||
'header' => '<span class="thin">The</span> Plans',
|
'www' => 'www',
|
||||||
'free' => 'Free',
|
'logo' => 'Logo',
|
||||||
'unlimited' => 'Unlimited',
|
'subdomain' => 'Subdomain',
|
||||||
'pro_plan' => 'Pro Plan',
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
|
'chart' => 'Chart',
|
||||||
'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
'number_clients' => 'Number of clients per account',
|
'paid' => 'Paid',
|
||||||
'unlimited_invoices' => 'Unlimited client invoices',
|
'enable_report' => 'Report',
|
||||||
'company_logo' => 'Add your company logo',
|
'enable_chart' => 'Chart',
|
||||||
'live_pdf' => 'Live .PDF invoice creation',
|
'totals' => 'Totals',
|
||||||
'four_templates' => '4 beautiful invoice templates',
|
'run' => 'Run',
|
||||||
'payments' => 'Accept credit card payments',
|
'export' => 'Export',
|
||||||
'additional_templates' => 'Additional invoice templates',
|
'documentation' => 'Documentation',
|
||||||
'multi_user' => 'Multi-user support',
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
'quotes' => 'Quotes/pro-forma invoices',
|
'recurring' => 'Recurring',
|
||||||
'advanced_settings' => 'Advanced invoice settings',
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
'data_vizualizations' => 'Dynamic data vizualizations',
|
|
||||||
'email_support' => 'Priority email support',
|
|
||||||
'remove_created_by' => 'Remove "Created by Invoice Ninja"',
|
|
||||||
'latest_features' => 'Latest and greatest features',
|
|
||||||
'pricing' => 'Pricing',
|
|
||||||
'free_always' => 'Free<span> /Always!</span>',
|
|
||||||
'year_price' => '$50<span> /Year</span>',
|
|
||||||
],
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
@ -589,6 +589,37 @@ return array(
|
|||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -588,6 +588,38 @@ return array(
|
|||||||
'knowledge_base' => 'Knowledge Base',
|
'knowledge_base' => 'Knowledge Base',
|
||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -591,6 +591,38 @@ return array(
|
|||||||
'knowledge_base' => 'Knowledge Base',
|
'knowledge_base' => 'Knowledge Base',
|
||||||
'partial' => 'Partial',
|
'partial' => 'Partial',
|
||||||
'partial_remaining' => ':partial of :balance',
|
'partial_remaining' => ':partial of :balance',
|
||||||
|
|
||||||
|
'more_fields' => 'More Fields',
|
||||||
|
'less_fields' => 'Less Fields',
|
||||||
|
'client_name' => 'Client Name',
|
||||||
|
'pdf_settings' => 'PDF Settings',
|
||||||
|
'utf8_invoices' => 'Cyrillic Support <sup>Beta</sup>',
|
||||||
|
'product_settings' => 'Product Settings',
|
||||||
|
'auto_wrap' => 'Auto Line Wrap',
|
||||||
|
'duplicate_post' => 'Warning: the previous page was submitted twice. The second submission had been ignored.',
|
||||||
|
'view_documentation' => 'View Documentation',
|
||||||
|
'app_title' => 'Free Open-Source Online Invoicing',
|
||||||
|
'app_description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
|
||||||
|
|
||||||
|
'rows' => 'rows',
|
||||||
|
'www' => 'www',
|
||||||
|
'logo' => 'Logo',
|
||||||
|
'subdomain' => 'Subdomain',
|
||||||
|
'provide_name_or_email' => 'Please provide a contact name or email',
|
||||||
|
'charts_and_reports' => 'Charts & Reports',
|
||||||
|
'chart' => 'Chart',
|
||||||
|
'report' => 'Report',
|
||||||
|
'group_by' => 'Group by',
|
||||||
|
'paid' => 'Paid',
|
||||||
|
'enable_report' => 'Report',
|
||||||
|
'enable_chart' => 'Chart',
|
||||||
|
'totals' => 'Totals',
|
||||||
|
'run' => 'Run',
|
||||||
|
'export' => 'Export',
|
||||||
|
'documentation' => 'Documentation',
|
||||||
|
'zapier' => 'Zapier <sup>Beta</sup>',
|
||||||
|
'recurring' => 'Recurring',
|
||||||
|
'last_invoice_sent' => 'Last invoice sent :date',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -218,7 +218,7 @@
|
|||||||
->setUrl(url('api/invoices/' . $client->public_id))
|
->setUrl(url('api/invoices/' . $client->public_id))
|
||||||
->setOptions('sPaginationType', 'bootstrap')
|
->setOptions('sPaginationType', 'bootstrap')
|
||||||
->setOptions('bFilter', false)
|
->setOptions('bFilter', false)
|
||||||
->setOptions('aaSorting', [['0', 'asc']])
|
->setOptions('aaSorting', [['0', 'desc']])
|
||||||
->render('datatable') !!}
|
->render('datatable') !!}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -234,7 +234,7 @@
|
|||||||
->setUrl(url('api/payments/' . $client->public_id))
|
->setUrl(url('api/payments/' . $client->public_id))
|
||||||
->setOptions('sPaginationType', 'bootstrap')
|
->setOptions('sPaginationType', 'bootstrap')
|
||||||
->setOptions('bFilter', false)
|
->setOptions('bFilter', false)
|
||||||
->setOptions('aaSorting', [['0', 'asc']])
|
->setOptions('aaSorting', [['0', 'desc']])
|
||||||
->render('datatable') !!}
|
->render('datatable') !!}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -134,7 +134,7 @@
|
|||||||
{{-- Former::select('currency_id')->addOption('', '')->fromQuery($currencies, 'name', 'id')->data_bind("value: currency_id") --}}
|
{{-- Former::select('currency_id')->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">
|
||||||
<label for="recurring" class="control-label col-lg-4 col-sm-4">{{ trans('texts.taxes') }}</label>
|
<label for="taxes" class="control-label col-lg-4 col-sm-4">{{ trans('texts.taxes') }}</label>
|
||||||
<div class="col-lg-8 col-sm-8" style="padding-top: 7px">
|
<div class="col-lg-8 col-sm-8" style="padding-top: 7px">
|
||||||
<a href="#" data-bind="click: $root.showTaxesForm"><i class="glyphicon glyphicon-list-alt"></i> {{ trans('texts.manage_rates') }}</a>
|
<a href="#" data-bind="click: $root.showTaxesForm"><i class="glyphicon glyphicon-list-alt"></i> {{ trans('texts.manage_rates') }}</a>
|
||||||
</div>
|
</div>
|
||||||
@ -368,7 +368,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
@else
|
@else
|
||||||
{!! Button::success(trans("texts.save_{$entityType}"))->withAttributes(array('id' => 'saveButton', 'onclick' => 'onSaveClick()')) !!}
|
{!! Button::success(trans("texts.save_{$entityType}"))->withAttributes(array('id' => 'saveButton', 'onclick' => 'onSaveClick()'))->appendIcon(Icon::create('floppy-disk')) !!}
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if (!$invoice || ($invoice && !$invoice->is_recurring))
|
@if (!$invoice || ($invoice && !$invoice->is_recurring))
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
{{ trans("texts.{$column}") }}
|
{{ trans("texts.{$column}") }}
|
||||||
</th>
|
</th>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach ($displayData as $record)
|
@foreach ($displayData as $record)
|
||||||
@ -121,9 +121,6 @@
|
|||||||
<b>{{ Utils::formatMoney($total, $currencyId) }}</b><br/>
|
<b>{{ Utils::formatMoney($total, $currencyId) }}</b><br/>
|
||||||
@endforeach
|
@endforeach
|
||||||
</td>
|
</td>
|
||||||
<td>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
</table>
|
</table>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user