Merge branch 'master' of https://github.com/hillelcoren/invoice-ninja
Merging files from parent.
1
.gitignore
vendored
@ -4,6 +4,7 @@
|
|||||||
/app/config/ubuntu
|
/app/config/ubuntu
|
||||||
/app/config/packages/anahkiasen/rocketeer/
|
/app/config/packages/anahkiasen/rocketeer/
|
||||||
/app/storage
|
/app/storage
|
||||||
|
/public/logo
|
||||||
/public/build
|
/public/build
|
||||||
/public/vendor
|
/public/vendor
|
||||||
/bootstrap/compiled.php
|
/bootstrap/compiled.php
|
||||||
|
@ -39,18 +39,8 @@ class AccountController extends \BaseController {
|
|||||||
|
|
||||||
if (!$user)
|
if (!$user)
|
||||||
{
|
{
|
||||||
$account = new Account;
|
$account = $this->accountRepo->create();
|
||||||
$account->ip = Request::getClientIp();
|
$user = $account->users()->first();
|
||||||
$account->account_key = str_random(RANDOM_KEY_LENGTH);
|
|
||||||
$account->save();
|
|
||||||
|
|
||||||
$random = str_random(RANDOM_KEY_LENGTH);
|
|
||||||
|
|
||||||
$user = new User;
|
|
||||||
$user->password = $random;
|
|
||||||
$user->password_confirmation = $random;
|
|
||||||
$user->username = $random;
|
|
||||||
$account->users()->save($user);
|
|
||||||
|
|
||||||
Session::forget(RECENTLY_VIEWED);
|
Session::forget(RECENTLY_VIEWED);
|
||||||
}
|
}
|
||||||
@ -73,8 +63,8 @@ class AccountController extends \BaseController {
|
|||||||
$ninjaAccount = $this->getNinjaAccount();
|
$ninjaAccount = $this->getNinjaAccount();
|
||||||
$ninjaClient = $this->getNinjaClient($ninjaAccount);
|
$ninjaClient = $this->getNinjaClient($ninjaAccount);
|
||||||
|
|
||||||
|
//$invoice = new Invoice();
|
||||||
|
//$ninjaClient->invoices()->save($invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getNinjaAccount()
|
private function getNinjaAccount()
|
||||||
@ -651,7 +641,7 @@ class AccountController extends \BaseController {
|
|||||||
{
|
{
|
||||||
$path = Input::file('logo')->getRealPath();
|
$path = Input::file('logo')->getRealPath();
|
||||||
File::delete('logo/' . $account->account_key . '.jpg');
|
File::delete('logo/' . $account->account_key . '.jpg');
|
||||||
Image::make($path)->resize(null, 120, true, false)->save('logo/' . $account->account_key . '.jpg');
|
Image::make($path)->resize(200, 120, true, false)->save('logo/' . $account->account_key . '.jpg');
|
||||||
}
|
}
|
||||||
|
|
||||||
Event::fire('user.refresh');
|
Event::fire('user.refresh');
|
||||||
|
@ -356,6 +356,8 @@ class InvoiceController extends \BaseController {
|
|||||||
*/
|
*/
|
||||||
public function show($publicId)
|
public function show($publicId)
|
||||||
{
|
{
|
||||||
|
Session::reflash();
|
||||||
|
|
||||||
return Redirect::to('invoices/'.$publicId.'/edit');
|
return Redirect::to('invoices/'.$publicId.'/edit');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ class AddLanguageSupport extends Migration {
|
|||||||
DB::table('languages')->insert(['name' => 'German', 'locale' => 'de']);
|
DB::table('languages')->insert(['name' => 'German', 'locale' => 'de']);
|
||||||
DB::table('languages')->insert(['name' => 'French', 'locale' => 'fr']);
|
DB::table('languages')->insert(['name' => 'French', 'locale' => 'fr']);
|
||||||
DB::table('languages')->insert(['name' => 'Brazilian Portuguese', 'locale' => 'pt_BR']);
|
DB::table('languages')->insert(['name' => 'Brazilian Portuguese', 'locale' => 'pt_BR']);
|
||||||
|
DB::table('languages')->insert(['name' => 'Dutch', 'locale' => 'nl']);
|
||||||
|
DB::table('languages')->insert(['name' => 'Spanish', 'locale' => 'es']);
|
||||||
|
|
||||||
Schema::table('accounts', function($table)
|
Schema::table('accounts', function($table)
|
||||||
{
|
{
|
||||||
|
@ -23,7 +23,9 @@ App::before(function($request)
|
|||||||
|
|
||||||
if (Input::has('lang'))
|
if (Input::has('lang'))
|
||||||
{
|
{
|
||||||
App::setLocale(Input::get('lang'));
|
$locale = Input::get('lang');
|
||||||
|
Session::set(SESSION_LOCALE, $locale);
|
||||||
|
App::setLocale($locale);
|
||||||
}
|
}
|
||||||
else if (Auth::check())
|
else if (Auth::check())
|
||||||
{
|
{
|
||||||
|
@ -252,9 +252,8 @@ return array(
|
|||||||
'confirmation_subject' => 'Invoice Ninja Konto Bestätigung',
|
'confirmation_subject' => 'Invoice Ninja Konto Bestätigung',
|
||||||
'confirmation_header' => 'Konto Bestätigung',
|
'confirmation_header' => 'Konto Bestätigung',
|
||||||
'confirmation_message' => 'Bitte klicke auf den folgenden Link um dein Konto zu bestätigen.',
|
'confirmation_message' => 'Bitte klicke auf den folgenden Link um dein Konto zu bestätigen.',
|
||||||
'invoice_subject' => 'Neue Rechnung :invoice',
|
|
||||||
'invoice_message' => 'Um Ihre Rechnung über :amount einzusehen, klicken Sie bitte auf den folgenden Link.',
|
'invoice_message' => 'Um Ihre Rechnung über :amount einzusehen, klicken Sie bitte auf den folgenden Link.',
|
||||||
'payment_subject' => 'Zahlungseingang :invoice',
|
'payment_subject' => 'Zahlungseingang',
|
||||||
'payment_message' => 'Vielen Dank für Ihre Zahlung von :amount.',
|
'payment_message' => 'Vielen Dank für Ihre Zahlung von :amount.',
|
||||||
'email_salutation' => 'Sehr geehrte/r :name,',
|
'email_salutation' => 'Sehr geehrte/r :name,',
|
||||||
'email_signature' => 'Freundliche Grüße,',
|
'email_signature' => 'Freundliche Grüße,',
|
||||||
@ -293,5 +292,18 @@ return array(
|
|||||||
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already regiestered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
'invoice_subject' => 'New invoice from :account',
|
||||||
|
'close' => 'Close',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -96,6 +96,7 @@ return array(
|
|||||||
'import' => 'Import',
|
'import' => 'Import',
|
||||||
'download' => 'Download',
|
'download' => 'Download',
|
||||||
'cancel' => 'Cancel',
|
'cancel' => 'Cancel',
|
||||||
|
'close' => 'Close',
|
||||||
'provide_email' => 'Please provide a valid email address',
|
'provide_email' => 'Please provide a valid email address',
|
||||||
'powered_by' => 'Powered by',
|
'powered_by' => 'Powered by',
|
||||||
'no_items' => 'No items',
|
'no_items' => 'No items',
|
||||||
@ -230,10 +231,10 @@ return array(
|
|||||||
'cloned_invoice' => 'Successfully cloned invoice',
|
'cloned_invoice' => 'Successfully cloned invoice',
|
||||||
'emailed_invoice' => 'Successfully emailed invoice',
|
'emailed_invoice' => 'Successfully emailed invoice',
|
||||||
'and_created_client' => 'and created client',
|
'and_created_client' => 'and created client',
|
||||||
'archived_invoice' => 'Successfully archived credit',
|
'archived_invoice' => 'Successfully archived invoice',
|
||||||
'archived_invoices' => 'Successfully archived :count credits',
|
'archived_invoices' => 'Successfully archived :count invoices',
|
||||||
'deleted_invoice' => 'Successfully deleted credit',
|
'deleted_invoice' => 'Successfully deleted invoice',
|
||||||
'deleted_invoices' => 'Successfully deleted :count credits',
|
'deleted_invoices' => 'Successfully deleted :count invoices',
|
||||||
|
|
||||||
'created_payment' => 'Successfully created payment',
|
'created_payment' => 'Successfully created payment',
|
||||||
'archived_payment' => 'Successfully archived payment',
|
'archived_payment' => 'Successfully archived payment',
|
||||||
@ -252,9 +253,9 @@ return array(
|
|||||||
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
||||||
'confirmation_header' => 'Account Confirmation',
|
'confirmation_header' => 'Account Confirmation',
|
||||||
'confirmation_message' => 'Please access the link below to confirm your account.',
|
'confirmation_message' => 'Please access the link below to confirm your account.',
|
||||||
'invoice_subject' => 'New invoice :invoice',
|
'invoice_subject' => 'New invoice from :account',
|
||||||
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
||||||
'payment_subject' => 'Payment Received :invoice',
|
'payment_subject' => 'Payment Received',
|
||||||
'payment_message' => 'Thank you for your payment of :amount.',
|
'payment_message' => 'Thank you for your payment of :amount.',
|
||||||
'email_salutation' => 'Dear :name,',
|
'email_salutation' => 'Dear :name,',
|
||||||
'email_signature' => 'Regards,',
|
'email_signature' => 'Regards,',
|
||||||
@ -294,4 +295,16 @@ return array(
|
|||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
);
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already registered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
|
||||||
|
|
||||||
|
);
|
||||||
|
@ -95,6 +95,7 @@ return array(
|
|||||||
'import' => 'Import',
|
'import' => 'Import',
|
||||||
'download' => 'Download',
|
'download' => 'Download',
|
||||||
'cancel' => 'Cancel',
|
'cancel' => 'Cancel',
|
||||||
|
'close' => 'Close',
|
||||||
'provide_email' => 'Please provide a valid email address',
|
'provide_email' => 'Please provide a valid email address',
|
||||||
'powered_by' => 'Powered by',
|
'powered_by' => 'Powered by',
|
||||||
'no_items' => 'No items',
|
'no_items' => 'No items',
|
||||||
@ -229,10 +230,10 @@ return array(
|
|||||||
'cloned_invoice' => 'Successfully cloned invoice',
|
'cloned_invoice' => 'Successfully cloned invoice',
|
||||||
'emailed_invoice' => 'Successfully emailed invoice',
|
'emailed_invoice' => 'Successfully emailed invoice',
|
||||||
'and_created_client' => 'and created client',
|
'and_created_client' => 'and created client',
|
||||||
'archived_invoice' => 'Successfully archived credit',
|
'archived_invoice' => 'Successfully archived invoice',
|
||||||
'archived_invoices' => 'Successfully archived :count credits',
|
'archived_invoices' => 'Successfully archived :count invoices',
|
||||||
'deleted_invoice' => 'Successfully deleted credit',
|
'deleted_invoice' => 'Successfully deleted invoice',
|
||||||
'deleted_invoices' => 'Successfully deleted :count credits',
|
'deleted_invoices' => 'Successfully deleted :count invoices',
|
||||||
|
|
||||||
'created_payment' => 'Successfully created payment',
|
'created_payment' => 'Successfully created payment',
|
||||||
'archived_payment' => 'Successfully archived payment',
|
'archived_payment' => 'Successfully archived payment',
|
||||||
@ -251,9 +252,9 @@ return array(
|
|||||||
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
||||||
'confirmation_header' => 'Account Confirmation',
|
'confirmation_header' => 'Account Confirmation',
|
||||||
'confirmation_message' => 'Please access the link below to confirm your account.',
|
'confirmation_message' => 'Please access the link below to confirm your account.',
|
||||||
'invoice_subject' => 'New invoice :invoice',
|
'invoice_subject' => 'New invoice from :account',
|
||||||
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
||||||
'payment_subject' => 'Payment Received :invoice',
|
'payment_subject' => 'Payment Received',
|
||||||
'payment_message' => 'Thank you for your payment of :amount.',
|
'payment_message' => 'Thank you for your payment of :amount.',
|
||||||
'email_salutation' => 'Dear :name,',
|
'email_salutation' => 'Dear :name,',
|
||||||
'email_signature' => 'Regards,',
|
'email_signature' => 'Regards,',
|
||||||
@ -292,6 +293,17 @@ return array(
|
|||||||
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already regiestered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -96,6 +96,7 @@ return array(
|
|||||||
'import' => 'Import',
|
'import' => 'Import',
|
||||||
'download' => 'Download',
|
'download' => 'Download',
|
||||||
'cancel' => 'Cancel',
|
'cancel' => 'Cancel',
|
||||||
|
'close' => 'Close',
|
||||||
'provide_email' => 'Please provide a valid email address',
|
'provide_email' => 'Please provide a valid email address',
|
||||||
'powered_by' => 'Powered by',
|
'powered_by' => 'Powered by',
|
||||||
'no_items' => 'No items',
|
'no_items' => 'No items',
|
||||||
@ -230,10 +231,10 @@ return array(
|
|||||||
'cloned_invoice' => 'Successfully cloned invoice',
|
'cloned_invoice' => 'Successfully cloned invoice',
|
||||||
'emailed_invoice' => 'Successfully emailed invoice',
|
'emailed_invoice' => 'Successfully emailed invoice',
|
||||||
'and_created_client' => 'and created client',
|
'and_created_client' => 'and created client',
|
||||||
'archived_invoice' => 'Successfully archived credit',
|
'archived_invoice' => 'Successfully archived invoice',
|
||||||
'archived_invoices' => 'Successfully archived :count credits',
|
'archived_invoices' => 'Successfully archived :count invoices',
|
||||||
'deleted_invoice' => 'Successfully deleted credit',
|
'deleted_invoice' => 'Successfully deleted invoice',
|
||||||
'deleted_invoices' => 'Successfully deleted :count credits',
|
'deleted_invoices' => 'Successfully deleted :count invoices',
|
||||||
|
|
||||||
'created_payment' => 'Successfully created payment',
|
'created_payment' => 'Successfully created payment',
|
||||||
'archived_payment' => 'Successfully archived payment',
|
'archived_payment' => 'Successfully archived payment',
|
||||||
@ -252,9 +253,9 @@ return array(
|
|||||||
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
||||||
'confirmation_header' => 'Account Confirmation',
|
'confirmation_header' => 'Account Confirmation',
|
||||||
'confirmation_message' => 'Please access the link below to confirm your account.',
|
'confirmation_message' => 'Please access the link below to confirm your account.',
|
||||||
'invoice_subject' => 'New invoice :invoice',
|
'invoice_subject' => 'New invoice from :account',
|
||||||
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
||||||
'payment_subject' => 'Payment Received :invoice',
|
'payment_subject' => 'Payment Received',
|
||||||
'payment_message' => 'Thank you for your payment of :amount.',
|
'payment_message' => 'Thank you for your payment of :amount.',
|
||||||
'email_salutation' => 'Dear :name,',
|
'email_salutation' => 'Dear :name,',
|
||||||
'email_signature' => 'Regards,',
|
'email_signature' => 'Regards,',
|
||||||
@ -293,6 +294,17 @@ return array(
|
|||||||
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
'remove_logo' => ':link to remove the Invoice Ninja logo by joining the pro plan',
|
||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already regiestered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -96,6 +96,7 @@ return array(
|
|||||||
'import' => 'Import',
|
'import' => 'Import',
|
||||||
'download' => 'Download',
|
'download' => 'Download',
|
||||||
'cancel' => 'Cancel',
|
'cancel' => 'Cancel',
|
||||||
|
'close' => 'Close',
|
||||||
'provide_email' => 'Please provide a valid email address',
|
'provide_email' => 'Please provide a valid email address',
|
||||||
'powered_by' => 'Powered by',
|
'powered_by' => 'Powered by',
|
||||||
'no_items' => 'No items',
|
'no_items' => 'No items',
|
||||||
@ -230,10 +231,10 @@ return array(
|
|||||||
'cloned_invoice' => 'Successfully cloned invoice',
|
'cloned_invoice' => 'Successfully cloned invoice',
|
||||||
'emailed_invoice' => 'Successfully emailed invoice',
|
'emailed_invoice' => 'Successfully emailed invoice',
|
||||||
'and_created_client' => 'and created client',
|
'and_created_client' => 'and created client',
|
||||||
'archived_invoice' => 'Successfully archived credit',
|
'archived_invoice' => 'Successfully archived invoice',
|
||||||
'archived_invoices' => 'Successfully archived :count credits',
|
'archived_invoices' => 'Successfully archived :count invoices',
|
||||||
'deleted_invoice' => 'Successfully deleted credit',
|
'deleted_invoice' => 'Successfully deleted invoice',
|
||||||
'deleted_invoices' => 'Successfully deleted :count credits',
|
'deleted_invoices' => 'Successfully deleted :count invoices',
|
||||||
|
|
||||||
'created_payment' => 'Successfully created payment',
|
'created_payment' => 'Successfully created payment',
|
||||||
'archived_payment' => 'Successfully archived payment',
|
'archived_payment' => 'Successfully archived payment',
|
||||||
@ -252,9 +253,9 @@ return array(
|
|||||||
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
'confirmation_subject' => 'Invoice Ninja Account Confirmation',
|
||||||
'confirmation_header' => 'Account Confirmation',
|
'confirmation_header' => 'Account Confirmation',
|
||||||
'confirmation_message' => 'Please access the link below to confirm your account.',
|
'confirmation_message' => 'Please access the link below to confirm your account.',
|
||||||
'invoice_subject' => 'New invoice :invoice',
|
'invoice_subject' => 'New invoice from :account',
|
||||||
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
'invoice_message' => 'To view your invoice for :amount, click the link below.',
|
||||||
'payment_subject' => 'Payment Received :invoice',
|
'payment_subject' => 'Payment Received',
|
||||||
'payment_message' => 'Thank you for your payment of :amount.',
|
'payment_message' => 'Thank you for your payment of :amount.',
|
||||||
'email_salutation' => 'Dear :name,',
|
'email_salutation' => 'Dear :name,',
|
||||||
'email_signature' => 'Regards,',
|
'email_signature' => 'Regards,',
|
||||||
@ -294,6 +295,17 @@ return array(
|
|||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already regiestered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
20
app/lang/nl/pagination.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the simple pagination links. You are free to change them to anything
|
||||||
|
| you want to customize your views to better match your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Vorige',
|
||||||
|
|
||||||
|
'next' => 'Volgende »',
|
||||||
|
|
||||||
|
);
|
24
app/lang/nl/reminders.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reminder Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are the default lines which match reasons
|
||||||
|
| that are given by the password broker for a password update attempt
|
||||||
|
| has failed, such as for an invalid token or invalid new password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
"password" => "Wachtwoord moet minimaal zes tekens lang zijn en de wachtwoorden moeten overeenkomen.",
|
||||||
|
|
||||||
|
"user" => "Geen gebruiker bekend met dat e-mailadres.",
|
||||||
|
|
||||||
|
"token" => "Dit wachtwoord reset token is niet geldig.",
|
||||||
|
|
||||||
|
"sent" => "Wachtwoord herinnering verzonden!",
|
||||||
|
|
||||||
|
);
|
309
app/lang/nl/texts.php
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
// client
|
||||||
|
'organization' => 'Organisatie',
|
||||||
|
'name' => 'Naam',
|
||||||
|
'website' => 'Website',
|
||||||
|
'work_phone' => 'Telefoon',
|
||||||
|
'address' => 'Adres',
|
||||||
|
'address1' => 'Straat',
|
||||||
|
'address2' => 'Bus/Suite',
|
||||||
|
'city' => 'Gemeente',
|
||||||
|
'state' => 'Staat/Provincie',
|
||||||
|
'postal_code' => 'Postcode',
|
||||||
|
'country_id' => 'Land',
|
||||||
|
'contacts' => 'Contacten',
|
||||||
|
'first_name' => 'Voornaam',
|
||||||
|
'last_name' => 'Achternaam',
|
||||||
|
'phone' => 'Telefoon',
|
||||||
|
'email' => 'E-mail',
|
||||||
|
'additional_info' => 'Extra Informatie',
|
||||||
|
'payment_terms' => 'Betalingsvoorwaarden',
|
||||||
|
'currency_id' => 'Munteenheid',
|
||||||
|
'size_id' => 'Grootte',
|
||||||
|
'industry_id' => 'Industrie',
|
||||||
|
'private_notes' => 'Privé Bericht',
|
||||||
|
|
||||||
|
// invoice
|
||||||
|
'invoice' => 'Factuur',
|
||||||
|
'client' => 'Klant',
|
||||||
|
'invoice_date' => 'Factuurdatum',
|
||||||
|
'due_date' => 'Vervaldatum',
|
||||||
|
'invoice_number' => 'Factuur nummer',
|
||||||
|
'invoice_number_short' => 'Factuur #',
|
||||||
|
'po_number' => 'Bestelnummer',
|
||||||
|
'po_number_short' => 'Bestel #',
|
||||||
|
'frequency_id' => 'Hoe vaak',
|
||||||
|
'discount' => 'Korting',
|
||||||
|
'taxes' => 'Belastingen',
|
||||||
|
'tax' => 'Belasting',
|
||||||
|
'item' => 'Naam',
|
||||||
|
'description' => 'Beschrijving',
|
||||||
|
'unit_cost' => 'Eenheidsprijs',
|
||||||
|
'quantity' => 'Aantal',
|
||||||
|
'line_total' => 'Totaal lijn',
|
||||||
|
'subtotal' => 'Subtotaal',
|
||||||
|
'paid_to_date' => 'Betaal Datum',
|
||||||
|
'balance_due' => 'Openstaand saldo',
|
||||||
|
'invoice_design_id' => 'Ontwerp',
|
||||||
|
'terms' => 'Voorwaarden',
|
||||||
|
'your_invoice' => 'Jouw factuur',
|
||||||
|
|
||||||
|
'remove_contact' => 'Verwijder contact',
|
||||||
|
'add_contact' => 'Voeg contact toe',
|
||||||
|
'create_new_client' => 'Maak nieuwe klant',
|
||||||
|
'edit_client_details' => 'Pas klantdetails aan',
|
||||||
|
'enable' => 'Activeer',
|
||||||
|
'learn_more' => 'Meer te weten komen',
|
||||||
|
'manage_rates' => 'Beheer prijzen',
|
||||||
|
'note_to_client' => 'Bericht aan klant',
|
||||||
|
'invoice_terms' => 'Factuur voorwaarden',
|
||||||
|
'save_as_default_terms' => 'Opslaan als standaard voorwaarden',
|
||||||
|
'download_pdf' => 'Download PDF',
|
||||||
|
'pay_now' => 'Betaal nu',
|
||||||
|
'save_invoice' => 'Sla Factuur op',
|
||||||
|
'clone_invoice' => 'Kopieer Factuur',
|
||||||
|
'archive_invoice' => 'Archiveer Factuur',
|
||||||
|
'delete_invoice' => 'Verwijder Factuur',
|
||||||
|
'email_invoice' => 'E-mail Factuur',
|
||||||
|
'enter_payment' => 'Betaling ingeven',
|
||||||
|
'tax_rates' => 'BTW tarief',
|
||||||
|
'rate' => 'Tarief',
|
||||||
|
'settings' => 'Instellingen',
|
||||||
|
'enable_invoice_tax' => 'Activeer instelling van <b>BTW op volledige factuur</b>',
|
||||||
|
'enable_line_item_tax' => 'Activeer instelling van <b>BTW per lijn</b>',
|
||||||
|
|
||||||
|
// navigation
|
||||||
|
'dashboard' => 'Dashboard',
|
||||||
|
'clients' => 'Klanten',
|
||||||
|
'invoices' => 'Facturen',
|
||||||
|
'payments' => 'Betalingen',
|
||||||
|
'credits' => 'Kredietnota\'s',
|
||||||
|
'history' => 'Geschiedenis',
|
||||||
|
'search' => 'Zoeken',
|
||||||
|
'sign_up' => 'Aanmelden',
|
||||||
|
'guest' => 'Gast',
|
||||||
|
'company_details' => 'Bedrijfsdetails',
|
||||||
|
'online_payments' => 'Online betalingen',
|
||||||
|
'notifications' => 'Meldingen',
|
||||||
|
'import_export' => 'Importeer/Exporteer',
|
||||||
|
'done' => 'Klaar',
|
||||||
|
'save' => 'Opslaan',
|
||||||
|
'create' => 'Aanmaken',
|
||||||
|
'upload' => 'Uploaden',
|
||||||
|
'import' => 'Importeer',
|
||||||
|
'download' => 'Downloaden',
|
||||||
|
'cancel' => 'Annuleren',
|
||||||
|
'provide_email' => 'Geef een geldig e-mailadres aub.',
|
||||||
|
'powered_by' => 'Factuur gemaakt via',
|
||||||
|
'no_items' => 'Geen artikelen',
|
||||||
|
|
||||||
|
// recurring invoices
|
||||||
|
'recurring_invoices' => 'Terugkerende facturen',
|
||||||
|
'recurring_help' => '<p>Zend klanten automatisch wekelijks, twee keer per maand, maandelijks, per kwartaal of jaarlijks dezelfde facturen.</p>
|
||||||
|
<p>Gebruik :MONTH, :QUARTER of :YEAR voor dynamische datums. Eenvoudige wiskunde werkt ook, bijvoorbeeld :MONTH-1.</p>
|
||||||
|
<p>Voorbeelden van dynamische factuur variabelen:</p>
|
||||||
|
<ul>
|
||||||
|
<li>"Fitness lidmaatschap voor de maand :MONTH" => "Fitness lidmaatschap voor de maand juli"</li>
|
||||||
|
<li>"Jaarlijks abonnement :YEAR+1" => "Jaarlijks abonnement 2015"</li>
|
||||||
|
<li>"Betaling voor :QUARTER+1" => "Betaling voor Q2"</li>
|
||||||
|
</ul>',
|
||||||
|
|
||||||
|
// dashboard
|
||||||
|
'in_total_revenue' => 'in totale opbrengst',
|
||||||
|
'billed_client' => 'Gefactureerde klant',
|
||||||
|
'billed_clients' => 'Gefactureerde klanten',
|
||||||
|
'active_client' => 'Actieve klant',
|
||||||
|
'active_clients' => 'Actieve klanten',
|
||||||
|
'invoices_past_due' => 'Vervallen facturen',
|
||||||
|
'upcoming_invoices' => 'Aankomende facturen',
|
||||||
|
'average_invoice' => 'Gemiddelde factuur',
|
||||||
|
|
||||||
|
// list pages
|
||||||
|
'archive' => 'Archiveer',
|
||||||
|
'delete' => 'Verwijder',
|
||||||
|
'archive_client' => 'Archiveer klant',
|
||||||
|
'delete_client' => 'Verwijder klant',
|
||||||
|
'archive_payment' => 'Archiveer betaling',
|
||||||
|
'delete_payment' => 'Verwijder betaling',
|
||||||
|
'archive_credit' => 'Archiveer kredietnota',
|
||||||
|
'delete_credit' => 'Verwijder kredietnota',
|
||||||
|
'show_archived_deleted' => 'Toon gearchiveerde/verwijderde',
|
||||||
|
'filter' => 'Filter',
|
||||||
|
'new_client' => 'Nieuwe Klant',
|
||||||
|
'new_invoice' => 'Nieuwe Factuur',
|
||||||
|
'new_payment' => 'Nieuwe Betaling',
|
||||||
|
'new_credit' => 'Nieuwe Kredietnota',
|
||||||
|
'contact' => 'Contact',
|
||||||
|
'date_created' => 'Aanmaakdatum',
|
||||||
|
'last_login' => 'Laatste login',
|
||||||
|
'balance' => 'Saldo',
|
||||||
|
'action' => 'Actie',
|
||||||
|
'status' => 'Status',
|
||||||
|
'invoice_total' => 'Factuur totaal',
|
||||||
|
'frequency' => 'Frequentie',
|
||||||
|
'start_date' => 'Startdatum',
|
||||||
|
'end_date' => 'Einddatum',
|
||||||
|
'transaction_reference' => 'Transactie Referentie',
|
||||||
|
'method' => 'Methode',
|
||||||
|
'payment_amount' => 'Betalingsbedrag',
|
||||||
|
'payment_date' => 'Betalingsdatum',
|
||||||
|
'credit_amount' => 'Kredietbedrag',
|
||||||
|
'credit_balance' => 'Kredietsaldo',
|
||||||
|
'credit_date' => 'Kredietdatum',
|
||||||
|
'empty_table' => 'Geen gegevens beschikbaar in de tabel',
|
||||||
|
'select' => 'Selecteer',
|
||||||
|
'edit_client' => 'Klant aanpassen',
|
||||||
|
'edit_invoice' => 'Factuur aanpassen',
|
||||||
|
|
||||||
|
// client view page
|
||||||
|
'create_invoice' => 'Factuur aanmaken',
|
||||||
|
'enter_credit' => 'Kredietnota ingeven',
|
||||||
|
'last_logged_in' => 'Laatste login',
|
||||||
|
'details' => 'Details',
|
||||||
|
'standing' => 'Openstaand',
|
||||||
|
'credit' => 'Krediet',
|
||||||
|
'activity' => 'Activiteit',
|
||||||
|
'date' => 'Datum',
|
||||||
|
'message' => 'Bericht',
|
||||||
|
'adjustment' => 'Aanpassing',
|
||||||
|
'are_you_sure' => 'Ben je zeker?',
|
||||||
|
|
||||||
|
// payment pages
|
||||||
|
'payment_type_id' => 'Betalingstype',
|
||||||
|
'amount' => 'Bedrag',
|
||||||
|
|
||||||
|
// account/company pages
|
||||||
|
'work_email' => 'E-mail',
|
||||||
|
'language_id' => 'Taal',
|
||||||
|
'timezone_id' => 'Tijdszone',
|
||||||
|
'date_format_id' => 'Formaat datum',
|
||||||
|
'datetime_format_id' => 'Datum/Tijd Formaat',
|
||||||
|
'users' => 'Gebruikers',
|
||||||
|
'localization' => 'Localisatie',
|
||||||
|
'remove_logo' => 'Verwijder logo',
|
||||||
|
'logo_help' => 'Ondersteund: JPEG, GIF en PNG. Aangeraden hoogte: 120px',
|
||||||
|
'payment_gateway' => 'Betalingsmiddel',
|
||||||
|
'gateway_id' => 'Leverancier',
|
||||||
|
'email_notifications' => 'E-mail meldingen',
|
||||||
|
'email_sent' => 'E-mail me wanneer een factuur is <b>verzonden</b>',
|
||||||
|
'email_viewed' => 'E-mail me wanneer een factuur is <b>bekeken</b>',
|
||||||
|
'email_paid' => 'E-mail me wanneer een factuur is <b>betaald</b>',
|
||||||
|
'site_updates' => 'Site Aanpassingen',
|
||||||
|
'custom_messages' => 'Aangepaste berichten',
|
||||||
|
'default_invoice_terms' => 'Stel standaard factuursvoorwaarden in',
|
||||||
|
'default_email_footer' => 'Stel standaard e-mail signatuur in',
|
||||||
|
'import_clients' => 'Importeer Klant Gegevens',
|
||||||
|
'csv_file' => 'Selecteer CSV bestand',
|
||||||
|
'export_clients' => 'Exporteer Klant Gegevens',
|
||||||
|
'select_file' => 'Selecteer alstublieft een bestand',
|
||||||
|
'first_row_headers' => 'Gebruik eerste rij als hoofdding',
|
||||||
|
'column' => 'Kolom',
|
||||||
|
'sample' => 'Voorbeeld',
|
||||||
|
'import_to' => 'Importeer naar',
|
||||||
|
'client_will_create' => 'klant zal aangemaakt worden',
|
||||||
|
'clients_will_create' => 'klanten zullen aangemaakt worden',
|
||||||
|
|
||||||
|
// application messages
|
||||||
|
'created_client' => 'Klant succesvol aangemaakt',
|
||||||
|
'created_clients' => ':count klanten succesvol aangemaakt',
|
||||||
|
'updated_settings' => 'Instellingen succesvol aangepast',
|
||||||
|
'removed_logo' => 'Logo succesvol verwijderd',
|
||||||
|
'sent_message' => 'Bericht succesvol verzonden',
|
||||||
|
'invoice_error' => 'Selecteer een klant alstublieft en corrigeer mogelijke fouten',
|
||||||
|
'limit_clients' => 'Sorry, dit zal de klantenlimiet van :count klanten overschrijden',
|
||||||
|
'payment_error' => 'Er was een fout bij het verwerken van uw betaling. Probeer later alstublieft opnieuw.',
|
||||||
|
'registration_required' => 'Meld je aan om een factuur te mailen',
|
||||||
|
'confirmation_required' => 'Bevestig je e-mail adres alstublieft',
|
||||||
|
|
||||||
|
'updated_client' => 'Klant succesvol aangepast',
|
||||||
|
'created_client' => 'Klant succesvol aangemaakt',
|
||||||
|
'archived_client' => 'Klant succesvol gearchiveerd',
|
||||||
|
'archived_clients' => ':count klanten succesvol gearchiveerd',
|
||||||
|
'deleted_client' => 'Klant succesvol verwijderd',
|
||||||
|
'deleted_clients' => ':count klanten succesvol verwijderd',
|
||||||
|
|
||||||
|
'updated_invoice' => 'Factuur succesvol aangepast',
|
||||||
|
'created_invoice' => 'Factuur succesvol aangemaakt',
|
||||||
|
'cloned_invoice' => 'Factuur succesvol gekopieerd',
|
||||||
|
'emailed_invoice' => 'Factuur succesvol gemaild',
|
||||||
|
'and_created_client' => 'en klant aangemaakt',
|
||||||
|
'archived_invoice' => 'Factuur succesvol gearchiveerd',
|
||||||
|
'archived_invoices' => ':count facturen succesvol gearchiveerd',
|
||||||
|
'deleted_invoice' => 'Factuur succesvol verwijderd',
|
||||||
|
'deleted_invoices' => ':count facturen succesvol verwijderd',
|
||||||
|
|
||||||
|
'created_payment' => 'Betaling succesvol aangemaakt',
|
||||||
|
'archived_payment' => 'Betaling succesvol gearchiveerd',
|
||||||
|
'archived_payments' => ':count betalingen succesvol gearchiveerd',
|
||||||
|
'deleted_payment' => 'Betaling succesvol verwijderd',
|
||||||
|
'deleted_payments' => ':count betalingen succesvol verwijderd',
|
||||||
|
'applied_payment' => 'Betaling succesvol toegepast',
|
||||||
|
|
||||||
|
'created_credit' => 'Kredietnota succesvol aangemaakt',
|
||||||
|
'archived_credit' => 'Kredietnota succesvol gearchiveerd',
|
||||||
|
'archived_credits' => ':count kredietnota\'s succesvol gearchiveerd',
|
||||||
|
'deleted_credit' => 'Kredietnota succesvol verwijderd',
|
||||||
|
'deleted_credits' => ':count kredietnota\'s succesvol verwijderd',
|
||||||
|
|
||||||
|
// E-mails
|
||||||
|
'confirmation_subject' => 'Invoice Ninja Bevestiging Account',
|
||||||
|
'confirmation_header' => 'Bevestiging Account',
|
||||||
|
'confirmation_message' => 'Ga alstublieft naar onderstaande link om je account te bevestiging.',
|
||||||
|
'invoice_message' => 'Om je factuur voor :amount te bekijken, klik op onderstaande link.',
|
||||||
|
'payment_subject' => 'Betaling ontvangen',
|
||||||
|
'payment_message' => 'Bedankt voor je betaling van :amount.',
|
||||||
|
'email_salutation' => 'Beste :name,',
|
||||||
|
'email_signature' => 'Met vriendelijke groeten,',
|
||||||
|
'email_from' => 'Het InvoiceNinja Team',
|
||||||
|
'user_email_footer' => 'Ga alstublieft naar http://www.invoiceninja.com/company/notifications om je e-mail notificatie instellingen aan te passen ',
|
||||||
|
'invoice_link_message' => 'Klik op volgende link om de Factuur van je klant te bekijken:',
|
||||||
|
'notification_paid_subject' => 'Factuur :invoice is betaald door :client',
|
||||||
|
'notification_sent_subject' => 'Factuur :invoice is gezonden door :client',
|
||||||
|
'notification_viewed_subject' => 'Factuur :invoice is bekeken door :client',
|
||||||
|
'notification_paid' => 'Een betaling voor :amount is gemaakt door klant :client voor Factuur :invoice.',
|
||||||
|
'notification_sent' => 'De volgende klant :client heeft Factuur :invoice voor :amount gemaild gekregen.',
|
||||||
|
'notification_viewed' => 'De volgende klant :client heeft Factuur :invoice voor :amount bekeken.',
|
||||||
|
'reset_password' => 'Je kan het paswoord van je account resetten door op volgende link te klikken:',
|
||||||
|
'reset_password_footer' => 'Als je deze paswoord reset niet aangevraagd hebt contacteer dan onze helpdesk alstublieft: ' . CONTACT_EMAIL,
|
||||||
|
|
||||||
|
// Payment page
|
||||||
|
'secure_payment' => 'Veilige betaling',
|
||||||
|
'card_number' => 'Kaart nummer',
|
||||||
|
'expiration_month' => 'Verval maand',
|
||||||
|
'expiration_year' => 'Verval jaar',
|
||||||
|
'cvv' => 'CVV',
|
||||||
|
|
||||||
|
// Security alerts
|
||||||
|
'confide' => [
|
||||||
|
'too_many_attempts' => 'Te veel pogingen. Probeer opnieuw binnen enkele minuten.',
|
||||||
|
'wrong_credentials' => 'Verkeerd e-mailadres of paswoord.',
|
||||||
|
'confirmation' => 'Je account is bevestigd!',
|
||||||
|
'wrong_confirmation' => 'Verkeerde bevestigingscode.',
|
||||||
|
'password_forgot' => 'De informatie over je paswoord reset is verzonden naar je e-mailadres.',
|
||||||
|
'password_reset' => 'Je paswoord is succesvol aangepast.',
|
||||||
|
'wrong_password_reset' => 'Ongeldig paswoord. Probeer opnieuw',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Pro Plan
|
||||||
|
'pro_plan' => [
|
||||||
|
'remove_logo' => ':link om het Invoice Ninja logo te verwijderen door het pro plan te nemen',
|
||||||
|
'remove_logo_link' => 'Klik hier',
|
||||||
|
],
|
||||||
|
|
||||||
|
'logout' => 'Afmelden',
|
||||||
|
'sign_up_to_save' => 'Registreer je om je werk op te slaan',
|
||||||
|
'agree_to_terms' =>'Ik accepteer de Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Gebruiksvoorwaarden',
|
||||||
|
'email_taken' => 'Het e-mailadres is al geregistreerd',
|
||||||
|
'working' => 'Actief',
|
||||||
|
'success' => 'Succes',
|
||||||
|
'success_message' => 'Je bent succesvol geregistreerd. Ga alstublieft naar de link in de bevestigingsmail om je e-mailadres te verifiëren.',
|
||||||
|
'erase_data' => 'Dit zal uw data permanent verwijderen.',
|
||||||
|
'password' => 'Wachtwoord',
|
||||||
|
'invoice_subject' => 'Nieuwe factuur van :account',
|
||||||
|
'close' => 'Sluiten',
|
||||||
|
|
||||||
|
);
|
107
app/lang/nl/validation.php
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used by
|
||||||
|
| the validator class. Some of these rules have multiple versions such
|
||||||
|
| such as the size rules. Feel free to tweak each of these messages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
"accepted" => ":attribute moet geaccepteerd zijn.",
|
||||||
|
"active_url" => ":attribute is geen geldige URL.",
|
||||||
|
"after" => ":attribute moet een datum na :date zijn.",
|
||||||
|
"alpha" => ":attribute mag alleen letters bevatten.",
|
||||||
|
"alpha_dash" => ":attribute mag alleen letters, nummers, onderstreep(_) en strepen(-) bevatten.",
|
||||||
|
"alpha_num" => ":attribute mag alleen letters en nummers bevatten.",
|
||||||
|
"array" => ":attribute moet geselecteerde elementen bevatten.",
|
||||||
|
"before" => ":attribute moet een datum voor :date zijn.",
|
||||||
|
"between" => array(
|
||||||
|
"numeric" => ":attribute moet tussen :min en :max zijn.",
|
||||||
|
"file" => ":attribute moet tussen :min en :max kilobytes zijn.",
|
||||||
|
"string" => ":attribute moet tussen :min en :max karakters zijn.",
|
||||||
|
"array" => ":attribute moet tussen :min en :max items bevatten."
|
||||||
|
),
|
||||||
|
"confirmed" => ":attribute bevestiging komt niet overeen.",
|
||||||
|
"count" => ":attribute moet precies :count geselecteerde elementen bevatten.",
|
||||||
|
"countbetween" => ":attribute moet tussen :min en :max geselecteerde elementen bevatten.",
|
||||||
|
"countmax" => ":attribute moet minder dan :max geselecteerde elementen bevatten.",
|
||||||
|
"countmin" => ":attribute moet minimaal :min geselecteerde elementen bevatten.",
|
||||||
|
"date_format" => ":attribute moet een geldig datum formaat bevatten.",
|
||||||
|
"different" => ":attribute en :other moeten verschillend zijn.",
|
||||||
|
"email" => ":attribute is geen geldig e-mailadres.",
|
||||||
|
"exists" => ":attribute bestaat niet.",
|
||||||
|
"image" => ":attribute moet een afbeelding zijn.",
|
||||||
|
"in" => ":attribute is ongeldig.",
|
||||||
|
"integer" => ":attribute moet een getal zijn.",
|
||||||
|
"ip" => ":attribute moet een geldig IP-adres zijn.",
|
||||||
|
"match" => "Het formaat van :attribute is ongeldig.",
|
||||||
|
"max" => array(
|
||||||
|
"numeric" => ":attribute moet minder dan :max zijn.",
|
||||||
|
"file" => ":attribute moet minder dan :max kilobytes zijn.",
|
||||||
|
"string" => ":attribute moet minder dan :max karakters zijn.",
|
||||||
|
"array" => ":attribute mag maximaal :max items bevatten."
|
||||||
|
),
|
||||||
|
"mimes" => ":attribute moet een bestand zijn van het bestandstype :values.",
|
||||||
|
"min" => array(
|
||||||
|
"numeric" => ":attribute moet minimaal :min zijn.",
|
||||||
|
"file" => ":attribute moet minimaal :min kilobytes zijn.",
|
||||||
|
"string" => ":attribute moet minimaal :min karakters zijn.",
|
||||||
|
"array" => ":attribute moet minimaal :min items bevatten."
|
||||||
|
),
|
||||||
|
"not_in" => "Het formaat van :attribute is ongeldig.",
|
||||||
|
"numeric" => ":attribute moet een nummer zijn.",
|
||||||
|
"required" => ":attribute is verplicht.",
|
||||||
|
"required_with" => ":attribute is verplicht i.c.m. :values",
|
||||||
|
"required_with_all" => ":attribute is verplicht i.c.m. :values",
|
||||||
|
"required_without" => ":attribute is verplicht als :values niet ingevuld is.",
|
||||||
|
"required_without_all" => ":attribute is verplicht als :values niet ingevuld zijn.",
|
||||||
|
"same" => ":attribute en :other moeten overeenkomen.",
|
||||||
|
"size" => array(
|
||||||
|
"numeric" => ":attribute moet :size zijn.",
|
||||||
|
"file" => ":attribute moet :size kilobyte zijn.",
|
||||||
|
"string" => ":attribute moet :size characters zijn.",
|
||||||
|
"array" => ":attribute moet :size items bevatten."
|
||||||
|
),
|
||||||
|
"unique" => ":attribute is al in gebruik.",
|
||||||
|
"url" => ":attribute is geen geldige URL.",
|
||||||
|
|
||||||
|
"positive" => ":attribute moet groter zijn dan nul.",
|
||||||
|
"has_credit" => "De klant heeft niet voldoende krediet.",
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify custom validation messages for attributes using the
|
||||||
|
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||||
|
| specify a specific custom language line for a given attribute rule.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'custom' => array(
|
||||||
|
'attribute-name' => array(
|
||||||
|
'rule-name' => 'custom-message',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Attributes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap attribute place-holders
|
||||||
|
| with something more reader friendly such as E-Mail Address instead
|
||||||
|
| of "email". This simply helps us make messages a little cleaner.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => array(),
|
||||||
|
|
||||||
|
);
|
@ -229,10 +229,10 @@ return array(
|
|||||||
'cloned_invoice' => 'Fatura clonada com sucesso',
|
'cloned_invoice' => 'Fatura clonada com sucesso',
|
||||||
'emailed_invoice' => 'Fatura enviada por email com sucesso',
|
'emailed_invoice' => 'Fatura enviada por email com sucesso',
|
||||||
'and_created_client' => 'e o cliente foi criado',
|
'and_created_client' => 'e o cliente foi criado',
|
||||||
'archived_invoice' => 'Crédito arquivado com sucesso',
|
'archived_invoice' => 'Fatura arquivado com sucesso',
|
||||||
'archived_invoices' => ':count créditos arquivados com sucesso',
|
'archived_invoices' => ':count faturas arquivados com sucesso',
|
||||||
'deleted_invoice' => 'Créditos apagados com sucesso',
|
'deleted_invoice' => 'Fatura apagados com sucesso',
|
||||||
'deleted_invoices' => ':count créditos apagados com sucesso',
|
'deleted_invoices' => ':count faturas apagados com sucesso',
|
||||||
|
|
||||||
'created_payment' => 'Pagamento criado com sucesso',
|
'created_payment' => 'Pagamento criado com sucesso',
|
||||||
'archived_payment' => 'Pagamento arquivado com sucesso',
|
'archived_payment' => 'Pagamento arquivado com sucesso',
|
||||||
@ -251,9 +251,7 @@ return array(
|
|||||||
'confirmation_subject' => 'Confirmação de Conta do Invoice Ninja',
|
'confirmation_subject' => 'Confirmação de Conta do Invoice Ninja',
|
||||||
'confirmation_header' => 'Confirmação de Conta',
|
'confirmation_header' => 'Confirmação de Conta',
|
||||||
'confirmation_message' => 'Favor acessar o link abaixo para confirmar a sua conta.',
|
'confirmation_message' => 'Favor acessar o link abaixo para confirmar a sua conta.',
|
||||||
'invoice_subject' => 'Nova fatura :invoice',
|
|
||||||
'invoice_message' => 'Para visualizar a sua fatura de :amount, clique no link abaixo.',
|
'invoice_message' => 'Para visualizar a sua fatura de :amount, clique no link abaixo.',
|
||||||
'payment_subject' => 'Recebido Pagamento de :invoice',
|
|
||||||
'payment_message' => 'Obrigado pelo seu pagamento de :amount.',
|
'payment_message' => 'Obrigado pelo seu pagamento de :amount.',
|
||||||
'email_salutation' => 'Caro :name,',
|
'email_salutation' => 'Caro :name,',
|
||||||
'email_signature' => 'Até mais,',
|
'email_signature' => 'Até mais,',
|
||||||
@ -282,5 +280,18 @@ return array(
|
|||||||
'remove_logo_link' => 'Click here',
|
'remove_logo_link' => 'Click here',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'logout' => 'Log Out',
|
||||||
|
'sign_up_to_save' => 'Sign up to save your work',
|
||||||
|
'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
|
||||||
|
'terms_of_service' => 'Terms of Service',
|
||||||
|
'email_taken' => 'The email address is already regiestered',
|
||||||
|
'working' => 'Working',
|
||||||
|
'success' => 'Success',
|
||||||
|
'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
|
||||||
|
'erase_data' => 'This will permanently erase your data.',
|
||||||
|
'password' => 'Password',
|
||||||
|
'close' => 'Close',
|
||||||
|
'invoice_subject' => 'New invoice from :account',
|
||||||
|
'payment_subject' => 'Recebido Pagamento de', // I remove the invoice number, is it still correct? Thanks!
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -52,6 +52,13 @@ class Invoice extends EntityModel
|
|||||||
return $this->invoice_status_id >= INVOICE_STATUS_VIEWED;
|
return $this->invoice_status_id >= INVOICE_STATUS_VIEWED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isPaid()
|
||||||
|
{
|
||||||
|
return $this->invoice_status_id >= INVOICE_STATUS_PAID;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function hidePrivateFields()
|
public function hidePrivateFields()
|
||||||
{
|
{
|
||||||
$this->setVisible(['invoice_number', 'discount', 'po_number', 'invoice_date', 'due_date', 'terms', 'public_notes', 'amount', 'balance', 'invoice_items', 'client', 'tax_name', 'tax_rate', 'account', 'invoice_design_id']);
|
$this->setVisible(['invoice_number', 'discount', 'po_number', 'invoice_date', 'due_date', 'terms', 'public_notes', 'amount', 'balance', 'invoice_items', 'client', 'tax_name', 'tax_rate', 'account', 'invoice_design_id']);
|
||||||
|
@ -13,11 +13,11 @@ class ContactMailer extends Mailer {
|
|||||||
|
|
||||||
public function sendInvoice(Invoice $invoice)
|
public function sendInvoice(Invoice $invoice)
|
||||||
{
|
{
|
||||||
$view = 'invoice';
|
|
||||||
$subject = trans('texts.invoice_subject', ['invoice' => $invoice->invoice_number]);
|
|
||||||
|
|
||||||
$invoice->load('invitations', 'client', 'account');
|
$invoice->load('invitations', 'client', 'account');
|
||||||
|
|
||||||
|
$view = 'invoice';
|
||||||
|
$subject = trans('texts.invoice_subject', ['invoice' => $invoice->invoice_number, 'account' => $invoice->account->getDisplayName()]);
|
||||||
|
|
||||||
foreach ($invoice->invitations as $invitation)
|
foreach ($invoice->invitations as $invitation)
|
||||||
{
|
{
|
||||||
if (!$invitation->user->email)
|
if (!$invitation->user->email)
|
||||||
|
@ -2,9 +2,44 @@
|
|||||||
|
|
||||||
use Client;
|
use Client;
|
||||||
use Contact;
|
use Contact;
|
||||||
|
use Account;
|
||||||
|
use Request;
|
||||||
|
use Session;
|
||||||
|
use Language;
|
||||||
|
use User;
|
||||||
|
|
||||||
class AccountRepository
|
class AccountRepository
|
||||||
{
|
{
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$account = new Account;
|
||||||
|
$account->ip = Request::getClientIp();
|
||||||
|
$account->account_key = str_random(RANDOM_KEY_LENGTH);
|
||||||
|
|
||||||
|
if (Session::has(SESSION_LOCALE))
|
||||||
|
{
|
||||||
|
$locale = Session::get(SESSION_LOCALE);
|
||||||
|
$language = Language::whereLocale($locale)->first();
|
||||||
|
|
||||||
|
if ($language)
|
||||||
|
{
|
||||||
|
$account->language_id = $language->id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$account->save();
|
||||||
|
|
||||||
|
$random = str_random(RANDOM_KEY_LENGTH);
|
||||||
|
|
||||||
|
$user = new User;
|
||||||
|
$user->password = $random;
|
||||||
|
$user->password_confirmation = $random;
|
||||||
|
$user->username = $random;
|
||||||
|
$account->users()->save($user);
|
||||||
|
|
||||||
|
return $account;
|
||||||
|
}
|
||||||
|
|
||||||
public function getSearchData()
|
public function getSearchData()
|
||||||
{
|
{
|
||||||
$clients = \DB::table('clients')
|
$clients = \DB::table('clients')
|
||||||
|
@ -113,20 +113,13 @@ HTML::macro('menu_link', function($type) {
|
|||||||
$Type = ucfirst($type);
|
$Type = ucfirst($type);
|
||||||
$Types = ucfirst($types);
|
$Types = ucfirst($types);
|
||||||
$class = ( Request::is($types) || Request::is('*'.$type.'*')) ? ' active' : '';
|
$class = ( Request::is($types) || Request::is('*'.$type.'*')) ? ' active' : '';
|
||||||
$str= '<li class="dropdown '.$class.'">
|
|
||||||
<a href="'.URL::to($types).'" class="dropdown-toggle">'.$Types.'</a>
|
return '<li class="dropdown '.$class.'">
|
||||||
<ul class="dropdown-menu" id="menu1">
|
<a href="'.URL::to($types).'" class="dropdown-toggle">'.trans("texts.$types").'</a>
|
||||||
<li><a href="'.URL::to($types.'/create').'">New '.$Type.'</a></li>';
|
<ul class="dropdown-menu" id="menu1">
|
||||||
//<li><a href="'.URL::to($types).'">View '.$Types.'</a></li>';
|
<li><a href="'.URL::to($types.'/create').'">'.trans("texts.new_$type").'</a></li>
|
||||||
|
</ul>
|
||||||
/*
|
</li>';
|
||||||
if ($Type == 'Invoice') {
|
|
||||||
$str .= '<li><a href="'.URL::to('recurring_invoices').'">Recurring Invoices</a></li>';
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
return $str . '</ul>
|
|
||||||
</li>';
|
|
||||||
});
|
});
|
||||||
|
|
||||||
HTML::macro('image_data', function($imagePath) {
|
HTML::macro('image_data', function($imagePath) {
|
||||||
|
@ -108,11 +108,11 @@
|
|||||||
|
|
||||||
<div class="navbar-form navbar-right">
|
<div class="navbar-form navbar-right">
|
||||||
@if (Auth::check() && !Auth::user()->registered)
|
@if (Auth::check() && !Auth::user()->registered)
|
||||||
{{ Button::sm_success_primary('Sign up', array('id' => 'signUpButton', 'data-toggle'=>'modal', 'data-target'=>'#signUpModal')) }}
|
{{ Button::sm_success_primary(trans('texts.sign_up'), array('id' => 'signUpButton', 'data-toggle'=>'modal', 'data-target'=>'#signUpModal')) }}
|
||||||
|
|
||||||
@if (Auth::check() && Auth::user()->showSignUpPopOver())
|
@if (Auth::check() && Auth::user()->showSignUpPopOver())
|
||||||
<button id="signUpPopOver" type="button" class="btn btn-default" data-toggle="popover" data-placement="bottom" data-content="Sign up to save your work" data-html="true" style="display:none">
|
<button id="signUpPopOver" type="button" class="btn btn-default" data-toggle="popover" data-placement="bottom" data-content="{{ trans('texts.sign_up_to_save') }}" data-html="true" style="display:none">
|
||||||
Sign Up
|
{{ trans('texts.sign_up') }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -133,19 +133,19 @@
|
|||||||
@if (Auth::user()->registered)
|
@if (Auth::user()->registered)
|
||||||
{{ Auth::user()->getFullName() }}
|
{{ Auth::user()->getFullName() }}
|
||||||
@else
|
@else
|
||||||
Guest
|
{{ trans('texts.guest') }}
|
||||||
@endif
|
@endif
|
||||||
</span>
|
</span>
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu" role="menu">
|
<ul class="dropdown-menu" role="menu">
|
||||||
<li>{{ link_to('company/details', 'Company Details') }}</li>
|
<li>{{ link_to('company/details', trans('texts.company_details')) }}</li>
|
||||||
<li>{{ link_to('company/payments', 'Online Payments') }}</li>
|
<li>{{ link_to('company/payments', trans('texts.online_payments')) }}</li>
|
||||||
<li>{{ link_to('company/notifications', 'Notifications') }}</li>
|
<li>{{ link_to('company/notifications', trans('texts.notifications')) }}</li>
|
||||||
<li>{{ link_to('company/import_export', 'Import/Export') }}</li>
|
<li>{{ link_to('company/import_export', trans('texts.import_export')) }}</li>
|
||||||
|
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li>{{ link_to('#', 'Logout', array('onclick'=>'logout()')) }}</li>
|
<li>{{ link_to('#', trans('texts.logout'), array('onclick'=>'logout()')) }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -242,7 +242,7 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||||
<h4 class="modal-title" id="myModalLabel">Sign up</h4>
|
<h4 class="modal-title" id="myModalLabel">{{ trans('texts.sign_up') }}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="background-color: #fff; padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onclick="validateSignUp()" onkeydown="checkForEnter(event)">
|
<div style="background-color: #fff; padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onclick="validateSignUp()" onkeydown="checkForEnter(event)">
|
||||||
@ -257,23 +257,21 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice
|
|||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{ Former::hidden('path')->value(Request::path()) }}
|
{{ Former::hidden('path')->value(Request::path()) }}
|
||||||
{{ Former::text('new_first_name')->label('First name') }}
|
{{ Former::text('new_first_name')->label(trans('texts.first_name')) }}
|
||||||
{{ Former::text('new_last_name')->label('Last name') }}
|
{{ Former::text('new_last_name')->label(trans('texts.last_name')) }}
|
||||||
{{ Former::text('new_email')->label('Email') }}
|
{{ Former::text('new_email')->label(trans('texts.email')) }}
|
||||||
{{ Former::password('new_password')->label('Password') }}
|
{{ Former::password('new_password')->label(trans('texts.password')) }}
|
||||||
{{ Former::checkbox('terms_checkbox')->label(' ')->text('I agree to the Invoice Ninja <a href="'.URL::to('terms').'" target="_blank">Terms of Service</a>') }}
|
{{ Former::checkbox('terms_checkbox')->label(' ')->text(trans('texts.agree_to_terms', ['terms' => '<a href="'.URL::to('terms').'" target="_blank">'.trans('texts.terms_of_service').'</a>'])) }}
|
||||||
{{ Former::close() }}
|
{{ Former::close() }}
|
||||||
|
|
||||||
<center><div id="errorTaken" style="display:none"> <br/>The email address is already regiestered</div></center>
|
<center><div id="errorTaken" style="display:none"> <br/>{{ trans('texts.email_taken') }}</div></center>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
||||||
<h3>Working...</h3>
|
<h3>{{ trans('texts.working') }}...</h3>
|
||||||
<div class="progress progress-striped active">
|
<div class="progress progress-striped active">
|
||||||
<div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
|
<div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -281,15 +279,14 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice
|
|||||||
|
|
||||||
<div style="background-color: #fff; padding-right:20px;padding-left:20px; display:none" id="signUpSuccessDiv">
|
<div style="background-color: #fff; padding-right:20px;padding-left:20px; display:none" id="signUpSuccessDiv">
|
||||||
<br/>
|
<br/>
|
||||||
<h3>Success</h3>
|
<h3>{{ trans('texts.success') }}</h3>
|
||||||
You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.
|
{{ trans('texts.success_message') }}<br/>
|
||||||
<br/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close <i class="glyphicon glyphicon-remove-circle"></i></button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.close') }} <i class="glyphicon glyphicon-remove-circle"></i></button>
|
||||||
<button type="button" class="btn btn-primary" id="saveSignUpButton" onclick="validateServerSignUp()" disabled>Save <i class="glyphicon glyphicon-floppy-disk"></i></button>
|
<button type="button" class="btn btn-primary" id="saveSignUpButton" onclick="validateServerSignUp()" disabled>{{ trans('texts.save') }} <i class="glyphicon glyphicon-floppy-disk"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -301,17 +298,17 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||||
<h4 class="modal-title" id="myModalLabel">Logout</h4>
|
<h4 class="modal-title" id="myModalLabel">{{ trans('texts.logout') }}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h3>Are you sure?</h3>
|
<h3>{{ trans('texts.are_you_sure') }}</h3>
|
||||||
<p>This will permanently erase your data.</p>
|
<p>{{ trans('texts.erase_data') }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer" id="signUpFooter">
|
<div class="modal-footer" id="signUpFooter">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.cancel') }}</button>
|
||||||
<button type="button" class="btn btn-primary" onclick="logout(true)">Logout</button>
|
<button type="button" class="btn btn-primary" onclick="logout(true)">{{ trans('texts.logout') }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -274,7 +274,7 @@
|
|||||||
<iframe id="theFrame" style="display:none" frameborder="1" width="100%" height="1180"></iframe>
|
<iframe id="theFrame" style="display:none" frameborder="1" width="100%" height="1180"></iframe>
|
||||||
<canvas id="theCanvas" style="display:none;width:100%;border:solid 1px #CCCCCC;"></canvas>
|
<canvas id="theCanvas" style="display:none;width:100%;border:solid 1px #CCCCCC;"></canvas>
|
||||||
|
|
||||||
@if (!Auth::user()->isPro())
|
@if (false && !Auth::user()->isPro())
|
||||||
{{ trans('texts.pro_plan.remove_logo', ['link'=>link_to('account/enable_pro_plan', trans('texts.pro_plan.remove_logo_link'))]) }}
|
{{ trans('texts.pro_plan.remove_logo', ['link'=>link_to('account/enable_pro_plan', trans('texts.pro_plan.remove_logo_link'))]) }}
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
@if ($invoice->client->account->isGatewayConfigured())
|
@if ($invoice->client->account->isGatewayConfigured() && !$invoice->isPaid())
|
||||||
<div class="pull-right" style="width:270px">
|
<div class="pull-right" style="width:270px">
|
||||||
{{ Button::normal(trans('texts.download_pdf'), array('onclick' => 'onDownloadClick()', 'class' => 'btn-lg')) }}
|
{{ Button::normal(trans('texts.download_pdf'), array('onclick' => 'onDownloadClick()', 'class' => 'btn-lg')) }}
|
||||||
{{ Button::primary_link(URL::to('payment/' . $invitation->invitation_key), trans('texts.pay_now'), array('class' => 'btn-lg pull-right')) }}
|
{{ Button::primary_link(URL::to('payment/' . $invitation->invitation_key), trans('texts.pay_now'), array('class' => 'btn-lg pull-right')) }}
|
||||||
|
@ -1,86 +1,90 @@
|
|||||||
@extends('public.header')
|
@extends('public.header')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<section class="hero3" data-speed="2" data-type="background">
|
<section class="hero background hero3" data-speed="2" data-type="background">
|
||||||
<div class="container">
|
<div class="caption-side"></div>
|
||||||
<div class="caption">
|
<div class="container">
|
||||||
<h1>WHY INVOICE NINJA?
|
<div class="row" style="margin:0;">
|
||||||
</h1>
|
<div class="caption-wrap">
|
||||||
</div>
|
<div class="caption">
|
||||||
</div>
|
<h1>About <span style="color:#ecd816"> InvoiceNinja</span></h1>
|
||||||
</section>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section class="about center">
|
<section class="about center">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8 col-md-offset-2">
|
<div class="col-md-8 col-md-offset-2">
|
||||||
<h2>Open Source Platform</h2>
|
<h2>What is Invoice Ninja?</h2>
|
||||||
<p>Free yourself from online invoicing platforms with high monthly fees and limited functionality. Being <a href="https://github.com/hillelcoren/invoice-ninja" target="_blank">open source</a> allows us fast app development, security audits by the open-course community, and we can keep it <strong>FREE!</strong></p>
|
<p>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. </p>
|
||||||
|
<p>Yeah, there are other tools that do similar things, but ours is easier to use, better looking, faster, more powerful, more secure and costs less. In fact, you can use Invoice Ninja 100% free of charge. <strong>Forever</strong>.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="about white-bg">
|
<section class="team white-bg center">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-5">
|
|
||||||
<div class="screendump">
|
|
||||||
<img src="images/about1.jpg">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-7">
|
|
||||||
<h2>Live PDF Creation</h2>
|
|
||||||
<p><strong>Look professional from day #1.</strong> Select one of our beautiful invoice templates to suit your company identity, switch between designs in real time to preview invoices & email them to clients with one click. The live preview PDF function was designed for an efficient and hassle-free experience, and it’s awesome!
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section class="about">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-7">
|
|
||||||
<h2>Online Payments</h2>
|
|
||||||
<p><strong>Authorize.net, Beanstream, PayPal?</strong> InvoiceNinja supports the most popular online payment gateways! If you need help integrating a third party gateway we don’t yet support, please contact us! We’re happy to help! If you need assistance of want to learn more about online payment solutions, contact us!</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-5">
|
|
||||||
<div class="screendump">
|
|
||||||
<img src="images/about2.jpg">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!--
|
|
||||||
<section class="about center white-bg">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-8 col-md-offset-2">
|
<div class="col-md-8 col-md-offset-2">
|
||||||
<h2>Info about the company/story</h2>
|
<h2>Team Ninja</h2>
|
||||||
<p>Donec id elit non mi porta gravida at eget metus.
|
<p>Invoice Ninja is managed by a team of seasoned web workers. We’ve worked plenty with the other products out there, and we thought it was high time that a better, more powerful, lighter and less evil online invoicing tool became available. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.</p>
|
||||||
Fusce dapibus, tellus ac cursus commodo, tortor mauris
|
|
||||||
condimentum nibh, ut fermentum massa justo sit amet
|
|
||||||
risus. Etiam porta sem malesuada magna mollis euismod.
|
|
||||||
Donec sed odio dui.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
-->
|
|
||||||
<section class="upper-footer">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-3 center-block">
|
|
||||||
<a href="#">
|
|
||||||
<div class="cta">
|
|
||||||
<h2 onclick="return getStarted()">Invoice Now <span>+</span></h2>
|
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<img src="images/shalomstark.jpg" alt="Shalom Stark" class="img-circle">
|
||||||
|
<h2>SHALOM STARK</h2>
|
||||||
|
<p class="blue-text">Co-Founder, CEO</p>
|
||||||
|
<p>Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.</p>
|
||||||
|
<p><span class="social"><a href="https://twitter.com/shalomstark" target="_blank"><img src="images/twitter.svg" alt="Twitter"></a></span>
|
||||||
|
<span class="social"><a href="https://twitter.com/shalomstark" target="_blank"><img src="images/linkedin.svg" alt="LinkedIn"></a></span>
|
||||||
|
</p>
|
||||||
|
<p class="blue-text" style="margin-bottom: 2px;"><a href="http://shalomisraeltours.com/">shalomisraeltours.com</a></p>
|
||||||
|
<p class="blue-text"><a href="http://shalomholytours.com/" target="_blank">shalomholytours.com</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<img src="images/hillelcoren.jpg" alt="Hillel Coren" class="img-circle">
|
||||||
|
<h2>HILLEL COREN</h2>
|
||||||
|
<p class="blue-text">Co-Founder, CTO</p>
|
||||||
|
<p>Hillel has been developing enterprise applications for nearly 15 years. His open-source <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1721530">AutoComplete component</a> has been used by thousands of developers around the world.</p>
|
||||||
|
<p><span class="social"><a href="https://twitter.com/hillelcoren" target="_blank"><img src="images/twitter.svg" alt="Twitter"></a></span>
|
||||||
|
<span class="social"><a href="http://www.linkedin.com/profile/view?id=105143214" target="_blank"><img src="images/linkedin.svg" alt="LinkedIn"></a></span>
|
||||||
|
</p>
|
||||||
|
<p class="blue-text"><a href="http://hillelcoren.com/" target="_blank">hillelcoren.com</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<img src="images/razikantorp.jpg" alt="Razi Kantorp" class="img-circle">
|
||||||
|
<h2>RAZI KANTORP</h2>
|
||||||
|
<p class="blue-text">Designer</p>
|
||||||
|
<p>Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn't busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in</p>
|
||||||
|
<p><span class="social"><a href="https://twitter.com/kantorpweglin" target="_blank"><img src="images/twitter.svg" alt="Twitter"></a></span>
|
||||||
|
<span class="social"><a href="http://www.linkedin.com/profile/view?id=105143214" target="_blank"><img src="images/linkedin.svg" alt="LinkedIn"></a></span>
|
||||||
|
<span class="social"><a href="http://instagram.com/kantorpweglin" target="_blank"><img src="images/instagram.svg" alt="Twitter"></a>
|
||||||
|
</p>
|
||||||
|
<p class="blue-text"><a href="http://kantorp-wegl.in/" target="_blank">kantorp-wegl.in</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<img src="images/benjacobson.jpg" alt="Ben Jacobsen" class="img-circle">
|
||||||
|
<h2>BEN JACOBSON</h2>
|
||||||
|
<p class="blue-text">Marketing</p>
|
||||||
|
<p>A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs. Ben issues electronic invoices like they were free.
|
||||||
|
</p>
|
||||||
|
<p><span class="social"><a href="https://twitter.com/osbennn" target="_blank"><img src="images/twitter.svg" alt="Twitter"></a></span>
|
||||||
|
<span class="social"><a href="https://www.linkedin.com/pub/razi-kantorp/35/368/973" target="_blank"><img src="images/linkedin.svg" alt="LinkedIn"></a></span>
|
||||||
|
<span class="social"><a href="http://about.me/osbennn" target="_blank"><img src="images/me.svg" alt="about.me"></a></span>
|
||||||
|
</p>
|
||||||
|
<p class="blue-text"><a href="http://actionpackedmedia.com/" target="_blank">actionpackedmedia.com</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@stop
|
@stop
|
@ -115,6 +115,7 @@ var contactForm = {
|
|||||||
<h2>Other ways to reach us</h2>
|
<h2>Other ways to reach us</h2>
|
||||||
<p><span class="glyphicon glyphicon-send"></span><a href="mailto:contact@invoiceninja.com">contact@invoiceninja.com</a></p>
|
<p><span class="glyphicon glyphicon-send"></span><a href="mailto:contact@invoiceninja.com">contact@invoiceninja.com</a></p>
|
||||||
<p><span class="glyphicon glyphicon-earphone"></span>+1-800-763-1948</p>
|
<p><span class="glyphicon glyphicon-earphone"></span>+1-800-763-1948</p>
|
||||||
|
<p><span class="glyphicon glyphicon-comment"></span><a href="http://www.invoiceninja.org" target="_blank">Google Group</a></p>
|
||||||
<p><span class="github"></span><div style="padding-top:10px"> <a href="https://github.com/hillelcoren/invoice-ninja" target="_blank">GitHub Project</a></div></p>
|
<p><span class="github"></span><div style="padding-top:10px"> <a href="https://github.com/hillelcoren/invoice-ninja" target="_blank">GitHub Project</a></div></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -64,8 +64,9 @@
|
|||||||
<a class="brand" href="/"><img src=
|
<a class="brand" href="/"><img src=
|
||||||
"images/invoiceninja-logo.png"></a>
|
"images/invoiceninja-logo.png"></a>
|
||||||
<ul class="navbar-list">
|
<ul class="navbar-list">
|
||||||
<li>{{ link_to('features', 'Features' ) }}</li>
|
<!-- <li>{{ link_to('features', 'Features' ) }}</li> -->
|
||||||
<li>{{ link_to('faq', 'FAQ' ) }}</li>
|
<!-- <li>{{ link_to('faq', 'FAQ' ) }}</li> -->
|
||||||
|
<li>{{ link_to('about', 'About Us' ) }}</li>
|
||||||
<li>{{ link_to('contact', 'Contact Us' ) }}</li>
|
<li>{{ link_to('contact', 'Contact Us' ) }}</li>
|
||||||
<li>{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
|
<li>{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -121,8 +122,9 @@
|
|||||||
|
|
||||||
<div class="navbar-inner">
|
<div class="navbar-inner">
|
||||||
<ul class="navbar-list">
|
<ul class="navbar-list">
|
||||||
<li>{{ link_to('features', 'Features' ) }}</li>
|
<!-- <li>{{ link_to('features', 'Features' ) }}</li> -->
|
||||||
<li>{{ link_to('faq', 'FAQ' ) }}</li>
|
<!-- <li>{{ link_to('faq', 'FAQ' ) }}</li> -->
|
||||||
|
<li>{{ link_to('about', 'About Us' ) }}</li>
|
||||||
<li>{{ link_to('contact', 'Contact Us' ) }}</li>
|
<li>{{ link_to('contact', 'Contact Us' ) }}</li>
|
||||||
<li>{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
|
<li>{{ link_to('login', Auth::check() ? 'My Account' : 'Login' ) }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -138,7 +140,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer><script src="{{ asset('/js/retina-1.1.0.min.js') }}" type="text/javascript"></script>
|
</footer>
|
||||||
|
|
||||||
|
<script src="{{ asset('/js/retina-1.1.0.min.js') }}" type="text/javascript"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('.expander').simpleexpand();
|
$('.expander').simpleexpand();
|
||||||
</script>
|
</script>
|
||||||
|
@ -289,15 +289,20 @@ section.blue .col-md-6 h1 span {
|
|||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
section.about {
|
section.about, section.team {
|
||||||
padding: 70px 0;
|
padding: 70px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
section.about h2 {
|
section.about h2, section.team h2 {
|
||||||
margin: 0 0 25px;
|
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
|
margin: 0 0 25px;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
section.team .col-md-3 h2 {
|
||||||
|
font-size: 20px;
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
section.about .screendump {
|
section.about .screendump {
|
||||||
height: 220px;
|
height: 220px;
|
||||||
@ -310,9 +315,25 @@ section.about.white-bg .col-md-5 {
|
|||||||
padding-right: 43px;
|
padding-right: 43px;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
}
|
}
|
||||||
section.about img {
|
section.about img, section.team img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 100%;
|
min-width: 100%;
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
section.team .col-md-3 {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
section.team .col-md-3 p {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
section.team .social {
|
||||||
|
width: 30px;
|
||||||
|
display:inline-block;
|
||||||
|
margin: 3px 3px 0 3px;
|
||||||
|
}
|
||||||
|
section.team .social img{
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
section.contact .address .glyphicon {
|
section.contact .address .glyphicon {
|
||||||
|
BIN
public/images/benjacobson.jpg
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
public/images/hillelcoren.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
20
public/images/instagram.svg
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="412px" height="412px" viewBox="50 50 412 412" enable-background="new 50 50 412 412" xml:space="preserve">
|
||||||
|
<circle fill="#1A1818" cx="256" cy="256" r="158.548"/>
|
||||||
|
<path id="instagram-circle-icon" fill="#EDD71E" d="M353.894,166.068v25.315c0,4.059-3.291,7.349-7.351,7.349h-24.771
|
||||||
|
c-4.06,0-7.35-3.291-7.35-7.349v-25.315c0-4.059,3.29-7.35,7.35-7.35h24.771C350.603,158.718,353.894,162.009,353.894,166.068z
|
||||||
|
M259,290.811c18.642,0,33.752-15.11,33.752-33.752s-15.11-33.751-33.752-33.751c-18.643,0-33.753,15.11-33.753,33.751
|
||||||
|
C225.247,275.699,240.358,290.811,259,290.811z M462,256c0,113.771-92.229,206-206,206c-113.771,0-206-92.229-206-206
|
||||||
|
c0-113.771,92.229-206,206-206C369.771,50,462,142.229,462,256z M374.837,222.731h-67.676c6.896,9.689,10.968,21.529,10.968,34.328
|
||||||
|
c0,32.738-26.541,59.279-59.279,59.279c-32.739,0-59.28-26.541-59.28-59.279c0-12.798,4.069-24.639,10.967-34.328h-67.372v103.89
|
||||||
|
c0,25.306,20.516,45.82,45.82,45.82h140.032c25.306,0,45.82-20.516,45.82-45.82V222.731z M258.85,302.729
|
||||||
|
c25.183,0,45.668-20.487,45.668-45.67c0-13.672-6.047-25.95-15.596-34.328c-3.352-2.938-7.13-5.392-11.235-7.259
|
||||||
|
c-5.748-2.614-12.121-4.083-18.837-4.083c-6.715,0-13.09,1.469-18.839,4.083c-4.104,1.867-7.884,4.321-11.234,7.259
|
||||||
|
c-9.549,8.377-15.597,20.656-15.597,34.328C213.18,282.24,233.668,302.729,258.85,302.729z M374.837,185.379
|
||||||
|
c0-25.307-20.516-45.82-45.82-45.82H203.804v57.766h-9.394v-57.766h-5.427c-0.354,0-0.705,0.018-1.059,0.026v57.74h-9.396v-56.554
|
||||||
|
c-2.274,0.531-4.484,1.229-6.615,2.086v54.468h-9.396v-49.34c-11.708,8.301-19.355,21.949-19.355,37.394v30.093h73.454
|
||||||
|
c10.751-10.917,25.697-17.693,42.231-17.693c16.532,0,31.479,6.776,42.232,17.693h73.755v-30.093H374.837z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
15
public/images/linkedin.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="411.999px" height="412px" viewBox="50.417 50 411.999 412" enable-background="new 50.417 50 411.999 412"
|
||||||
|
xml:space="preserve">
|
||||||
|
<circle fill="#1A1818" cx="267.952" cy="246.5" r="158.548"/>
|
||||||
|
<path id="linkedin-circle-icon" fill="#EDD71E" d="M256.417,50c-113.771,0-206,92.229-206,206c0,113.771,92.229,206,206,206
|
||||||
|
c113.771,0,205.999-92.229,205.999-206C462.416,142.229,370.188,50,256.417,50z M201.456,355.592h-45.229V209.469h45.229V355.592z
|
||||||
|
M178.626,190.333c-14.771,0-26.746-12.072-26.746-26.963c0-14.891,11.975-26.963,26.746-26.963
|
||||||
|
c14.77,0,26.745,12.072,26.745,26.963C205.371,178.261,193.396,190.333,178.626,190.333z M370.952,355.592h-45.01
|
||||||
|
c0,0,0-55.666,0-76.703s-7.991-32.781-24.626-32.781c-18.103,0-27.562,12.231-27.562,32.781c0,22.504,0,76.703,0,76.703h-43.38
|
||||||
|
V209.469h43.38v19.679c0,0,13.047-24.137,44.031-24.137c30.986,0,53.165,18.918,53.165,58.058
|
||||||
|
C370.952,302.209,370.952,355.592,370.952,355.592z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
26
public/images/me.svg
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="412px" height="412px" viewBox="51.622 53.023 412 412" enable-background="new 51.622 53.023 412 412"
|
||||||
|
xml:space="preserve">
|
||||||
|
<circle fill="#EDD71E" cx="257.622" cy="259.023" r="206"/>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path fill="#1A1818" d="M115.904,314.482V203.564h17.388v15.549c3.598-5.435,8.379-9.787,14.354-13.108
|
||||||
|
c5.978-3.297,12.785-4.958,20.408-4.958c8.493,0,15.45,1.712,20.898,5.121c5.449,3.409,9.26,8.19,11.487,14.306
|
||||||
|
c9.071-12.947,20.886-19.427,35.417-19.427c11.399,0,20.13,3.045,26.247,9.134c6.113,6.104,9.172,15.489,9.172,28.159v76.143
|
||||||
|
H251.96v-69.878c0-7.523-0.641-12.933-1.887-16.242c-1.271-3.31-3.56-5.964-6.869-7.99c-3.31-2.013-7.185-3.031-11.651-3.031
|
||||||
|
c-8.065,0-14.77,2.604-20.093,7.787c-5.334,5.184-7.988,13.488-7.988,24.912v64.442h-19.44v-72.066
|
||||||
|
c0-8.354-1.584-14.619-4.743-18.797c-3.17-4.177-8.354-6.278-15.551-6.278c-5.474,0-10.53,1.396-15.173,4.188
|
||||||
|
c-4.644,2.78-8.002,6.846-10.09,12.205c-2.103,5.385-3.134,13.11-3.134,23.201v57.547H115.904z"/>
|
||||||
|
<path fill="#1A1818" d="M378.606,278.764l20.095,2.402c-3.185,11.349-9.035,20.155-17.604,26.435
|
||||||
|
c-8.58,6.266-19.501,9.398-32.837,9.398c-16.771,0-30.058-4.996-39.896-14.997c-9.814-9.99-14.734-24.006-14.734-42.048
|
||||||
|
c0-18.646,4.97-33.14,14.91-43.443c9.927-10.304,22.811-15.464,38.65-15.464c15.337,0,27.855,5.059,37.567,15.148
|
||||||
|
c9.714,10.09,14.583,24.308,14.583,42.627c0,1.107-0.038,2.78-0.101,5.007h-85.518c0.705,12.179,4.267,21.515,10.682,27.994
|
||||||
|
c6.404,6.479,14.394,9.712,23.969,9.712c7.134,0,13.223-1.798,18.256-5.422C371.661,292.49,375.65,286.702,378.606,278.764z
|
||||||
|
M314.806,248.367h64.026c-0.867-9.323-3.308-16.319-7.36-20.999c-6.188-7.234-14.203-10.857-24.067-10.857
|
||||||
|
c-8.92,0-16.432,2.881-22.509,8.668C318.806,230.967,315.447,238.691,314.806,248.367z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/images/razikantorp.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
public/images/shalomstark.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
14
public/images/twitter.svg
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="412px" height="412px" viewBox="50 50 412 412" enable-background="new 50 50 412 412" xml:space="preserve">
|
||||||
|
<circle fill="#1A1818" cx="262.452" cy="256.384" r="149.048"/>
|
||||||
|
<path id="twitter-4-icon" fill="#EDD71E" d="M256,50C142.229,50,50,142.229,50,256c0,113.771,92.229,206,206,206
|
||||||
|
c113.771,0,206-92.229,206-206C462,142.229,369.771,50,256,50z M359.599,220.506c3.021,67.199-47.096,142.124-135.802,142.124
|
||||||
|
c-26.981,0-52.096-7.911-73.238-21.466c25.347,2.986,50.646-4.044,70.734-19.786c-20.907-0.386-38.556-14.198-44.632-33.181
|
||||||
|
c7.484,1.432,14.851,1.013,21.573-0.816c-22.976-4.617-38.839-25.316-38.319-47.453c6.438,3.58,13.81,5.729,21.642,5.977
|
||||||
|
c-21.278-14.221-27.303-42.318-14.785-63.789c23.563,28.906,58.771,47.928,98.479,49.92c-6.971-29.886,15.702-58.667,46.54-58.667
|
||||||
|
c13.742,0,26.16,5.802,34.874,15.088c10.886-2.143,21.108-6.119,30.343-11.594c-3.567,11.157-11.146,20.521-21.01,26.433
|
||||||
|
c9.665-1.153,18.874-3.722,27.441-7.523C377.033,205.355,368.935,213.771,359.599,220.506z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -91,7 +91,7 @@ function GetReportTemplate4(doc, invoice, layout, checkMath) {
|
|||||||
doc.rect(left, top, width, height, 'FD');
|
doc.rect(left, top, width, height, 'FD');
|
||||||
|
|
||||||
doc.setFontType("bold");
|
doc.setFontType("bold");
|
||||||
doc.text(layout.footerLeft, y, 'Balance Due');
|
doc.text(layout.footerLeft, y, invoiceLabels.balance_due);
|
||||||
|
|
||||||
total = formatMoney(invoice.balance_amount, currencyId);
|
total = formatMoney(invoice.balance_amount, currencyId);
|
||||||
var totalX = layout.headerRight - (doc.getStringUnitWidth(total) * doc.internal.getFontSize());
|
var totalX = layout.headerRight - (doc.getStringUnitWidth(total) * doc.internal.getFontSize());
|
||||||
@ -761,7 +761,7 @@ function GetReportTemplate1(doc, invoice, layout, checkMath)
|
|||||||
|
|
||||||
|
|
||||||
doc.setFontSize(10);
|
doc.setFontSize(10);
|
||||||
Msg='Balance Due';
|
Msg = invoiceLabels.balance_due;
|
||||||
var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
|
var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
|
||||||
|
|
||||||
doc.text(TmpMsgX, y, Msg);
|
doc.text(TmpMsgX, y, Msg);
|
||||||
@ -936,7 +936,7 @@ function GetReportTemplate2(doc, invoice, layout, checkMath)
|
|||||||
|
|
||||||
doc.setFontSize(12);
|
doc.setFontSize(12);
|
||||||
x += doc.internal.getFontSize()*4;
|
x += doc.internal.getFontSize()*4;
|
||||||
Msg='Balance Due';
|
Msg = invoiceLabels.balance_due;
|
||||||
var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
|
var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
|
||||||
|
|
||||||
|
|
||||||
@ -1172,7 +1172,7 @@ function GetReportTemplate3(doc, invoice, layout, checkMath)
|
|||||||
SetPdfColor('White', doc);
|
SetPdfColor('White', doc);
|
||||||
doc.setFontSize(12);
|
doc.setFontSize(12);
|
||||||
|
|
||||||
var label='Balance Due';
|
var label = invoiceLabels.balance_due;
|
||||||
var labelX = layout.unitCostRight-(doc.getStringUnitWidth(label) * doc.internal.getFontSize());
|
var labelX = layout.unitCostRight-(doc.getStringUnitWidth(label) * doc.internal.getFontSize());
|
||||||
doc.text(labelX, y+2, label);
|
doc.text(labelX, y+2, label);
|
||||||
|
|
||||||
|