mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 22:27:31 -05:00 
			
		
		
		
	Added ability to customize emails
This commit is contained in:
		
							parent
							
								
									2c6cce1707
								
							
						
					
					
						commit
						2a297e3d3f
					
				@ -208,8 +208,9 @@ class AccountController extends \BaseController
 | 
				
			|||||||
        } elseif ($section == ACCOUNT_IMPORT_EXPORT) {
 | 
					        } elseif ($section == ACCOUNT_IMPORT_EXPORT) {
 | 
				
			||||||
            return View::make('accounts.import_export');
 | 
					            return View::make('accounts.import_export');
 | 
				
			||||||
        } elseif ($section == ACCOUNT_ADVANCED_SETTINGS) {
 | 
					        } elseif ($section == ACCOUNT_ADVANCED_SETTINGS) {
 | 
				
			||||||
 | 
					            $account = Auth::user()->account;
 | 
				
			||||||
            $data = [
 | 
					            $data = [
 | 
				
			||||||
                'account' => Auth::user()->account,
 | 
					                'account' => $account,
 | 
				
			||||||
                'feature' => $subSection,
 | 
					                'feature' => $subSection,
 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -242,6 +243,11 @@ class AccountController extends \BaseController
 | 
				
			|||||||
                $data['invoice'] = $invoice;
 | 
					                $data['invoice'] = $invoice;
 | 
				
			||||||
                $data['invoiceDesigns'] = InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())
 | 
					                $data['invoiceDesigns'] = InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())
 | 
				
			||||||
                    ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get();
 | 
					                    ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get();
 | 
				
			||||||
 | 
					            } else if ($subSection == ACCOUNT_EMAIL_TEMPLATES) {
 | 
				
			||||||
 | 
					                $data['invoiceEmail'] = $account->getEmailTemplate(ENTITY_INVOICE);
 | 
				
			||||||
 | 
					                $data['quoteEmail'] = $account->getEmailTemplate(ENTITY_QUOTE);
 | 
				
			||||||
 | 
					                $data['paymentEmail'] = $account->getEmailTemplate(ENTITY_PAYMENT);
 | 
				
			||||||
 | 
					                $data['emailFooter'] = $account->getEmailFooter();                
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return View::make("accounts.{$subSection}", $data);
 | 
					            return View::make("accounts.{$subSection}", $data);
 | 
				
			||||||
@ -273,12 +279,31 @@ class AccountController extends \BaseController
 | 
				
			|||||||
                return AccountController::saveInvoiceSettings();
 | 
					                return AccountController::saveInvoiceSettings();
 | 
				
			||||||
            } elseif ($subSection == ACCOUNT_INVOICE_DESIGN) {
 | 
					            } elseif ($subSection == ACCOUNT_INVOICE_DESIGN) {
 | 
				
			||||||
                return AccountController::saveInvoiceDesign();
 | 
					                return AccountController::saveInvoiceDesign();
 | 
				
			||||||
 | 
					            } elseif ($subSection == ACCOUNT_EMAIL_TEMPLATES) {
 | 
				
			||||||
 | 
					                return AccountController::saveEmailTemplates();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } elseif ($section == ACCOUNT_PRODUCTS) {
 | 
					        } elseif ($section == ACCOUNT_PRODUCTS) {
 | 
				
			||||||
            return AccountController::saveProducts();
 | 
					            return AccountController::saveProducts();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private function saveEmailTemplates()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (Auth::user()->account->isPro()) {
 | 
				
			||||||
 | 
					            $account = Auth::user()->account;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $account->email_template_invoice = Input::get('email_template_invoice', $account->getEmailTemplate(ENTITY_INVOICE));
 | 
				
			||||||
 | 
					            $account->email_template_quote = Input::get('email_template_quote', $account->getEmailTemplate(ENTITY_QUOTE));
 | 
				
			||||||
 | 
					            $account->email_template_payment = Input::get('email_template_payment', $account->getEmailTemplate(ENTITY_PAYMENT));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $account->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Session::flash('message', trans('texts.updated_settings'));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        return Redirect::to('company/advanced_settings/email_templates');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function saveProducts()
 | 
					    private function saveProducts()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $account = Auth::user()->account;
 | 
					        $account = Auth::user()->account;
 | 
				
			||||||
@ -288,7 +313,6 @@ class AccountController extends \BaseController
 | 
				
			|||||||
        $account->save();
 | 
					        $account->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Session::flash('message', trans('texts.updated_settings'));
 | 
					        Session::flash('message', trans('texts.updated_settings'));
 | 
				
			||||||
 | 
					 | 
				
			||||||
        return Redirect::to('company/products');
 | 
					        return Redirect::to('company/products');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Illuminate\Database\Schema\Blueprint;
 | 
				
			||||||
 | 
					use Illuminate\Database\Migrations\Migration;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AddEmailTemplates extends Migration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Run the migrations.
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * @return void
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function up()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					        Schema::table('accounts', function($table)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            $table->text('email_template_invoice')->nullable();
 | 
				
			||||||
 | 
					            $table->text('email_template_quote')->nullable();
 | 
				
			||||||
 | 
					            $table->text('email_template_payment')->nullable();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Reverse the migrations.
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * @return void
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function down()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					        Schema::table('accounts', function($table)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            $table->dropColumn('email_template_invoice');
 | 
				
			||||||
 | 
					            $table->dropColumn('email_template_quote');
 | 
				
			||||||
 | 
					            $table->dropColumn('email_template_payment');
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -499,5 +499,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
				
			|||||||
@ -489,5 +489,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Version auswählen',
 | 
					  'select_versiony' => 'Version auswählen',
 | 
				
			||||||
  'view_history' => 'Historie anzeigen',
 | 
					  'view_history' => 'Historie anzeigen',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
				
			|||||||
@ -503,5 +503,10 @@ return array(
 | 
				
			|||||||
  'restore_user' => 'Restore User',
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
  'restored_user' => 'Successfully restored user',
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
  'show_deleted_users' => 'Show deleted users',
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
				
			|||||||
@ -469,5 +469,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
@ -490,5 +490,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Choix de la verison',
 | 
					  'select_versiony' => 'Choix de la verison',
 | 
				
			||||||
  'view_history' => 'Consulter l\'historique',
 | 
					  'view_history' => 'Consulter l\'historique',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
@ -492,5 +492,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
				
			|||||||
@ -500,5 +500,17 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -498,6 +498,18 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
@ -493,6 +493,18 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
@ -480,6 +480,18 @@ return array(
 | 
				
			|||||||
  'select_versiony' => 'Select version',
 | 
					  'select_versiony' => 'Select version',
 | 
				
			||||||
  'view_history' => 'View History',
 | 
					  'view_history' => 'View History',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  'edit_payment' => 'Edit Payment',
 | 
				
			||||||
 | 
					  'updated_payment' => 'Successfully updated payment',
 | 
				
			||||||
 | 
					  'deleted' => 'Deleted',
 | 
				
			||||||
 | 
					  'restore_user' => 'Restore User',
 | 
				
			||||||
 | 
					  'restored_user' => 'Successfully restored user',
 | 
				
			||||||
 | 
					  'show_deleted_users' => 'Show deleted users',
 | 
				
			||||||
 | 
					  'email_templates' => 'Email Templates',
 | 
				
			||||||
 | 
					  'invoice_email' => 'Invoice Email',
 | 
				
			||||||
 | 
					  'payment_email' => 'Payment Email',
 | 
				
			||||||
 | 
					  'quote_email' => 'Quote Email',
 | 
				
			||||||
 | 
					  'reset_all' => 'Reset All',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
				
			|||||||
@ -302,4 +302,36 @@ class Account extends Eloquent
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        return $this;
 | 
					        return $this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function getEmailTemplate($entityType, $message = false)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $field = "email_template_$entityType";
 | 
				
			||||||
 | 
					        $template = $this->$field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ($template) {
 | 
				
			||||||
 | 
					            return $template;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $template = "<p>\$client,</p>\r\n" .
 | 
				
			||||||
 | 
					                    "<p>" . trans("texts.{$entityType}_message", ['amount' => '$amount']) . "</p>\r\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ($entityType != ENTITY_PAYMENT) {
 | 
				
			||||||
 | 
					            $template .= "<p><a href=\"\$link\">\$link</a></p>\r\n";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ($message) {
 | 
				
			||||||
 | 
					            $template .= "<p>$message</p>\r\n";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $template . "<p>\$footer</p>";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function getEmailFooter()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if ($this->email_footer) {
 | 
				
			||||||
 | 
					            return $this->email_footer;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            return "<p>" . trans('texts.email_signature') . "<br>\$account</p>";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,8 @@ class ContactMailer extends Mailer
 | 
				
			|||||||
        $view = 'invoice';
 | 
					        $view = 'invoice';
 | 
				
			||||||
        $subject = trans("texts.{$entityType}_subject", ['invoice' => $invoice->invoice_number, 'account' => $invoice->account->getDisplayName()]);
 | 
					        $subject = trans("texts.{$entityType}_subject", ['invoice' => $invoice->invoice_number, 'account' => $invoice->account->getDisplayName()]);
 | 
				
			||||||
        $accountName = $invoice->account->getDisplayName();
 | 
					        $accountName = $invoice->account->getDisplayName();
 | 
				
			||||||
 | 
					        $emailTemplate = $invoice->account->getEmailTemplate($entityType);
 | 
				
			||||||
 | 
					        $invoiceAmount = Utils::formatMoney($invoice->amount, $invoice->client->currency_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        foreach ($invoice->invitations as $invitation) {
 | 
					        foreach ($invoice->invitations as $invitation) {
 | 
				
			||||||
            if (!$invitation->user || !$invitation->user->email) {
 | 
					            if (!$invitation->user || !$invitation->user->email) {
 | 
				
			||||||
@ -29,17 +31,17 @@ class ContactMailer extends Mailer
 | 
				
			|||||||
            $invitation->sent_date = \Carbon::now()->toDateTimeString();
 | 
					            $invitation->sent_date = \Carbon::now()->toDateTimeString();
 | 
				
			||||||
            $invitation->save();
 | 
					            $invitation->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $data = [
 | 
					            $variables = [
 | 
				
			||||||
                'entityType' => $entityType,
 | 
					                '$footer' => $invoice->account->getEmailFooter(),
 | 
				
			||||||
                'link' => $invitation->getLink(),
 | 
					                '$link' => $invitation->getLink(),
 | 
				
			||||||
                'clientName' => $invoice->client->getDisplayName(),
 | 
					                '$client' => $invoice->client->getDisplayName(),
 | 
				
			||||||
                'accountName' => $accountName,
 | 
					                '$account' => $accountName,
 | 
				
			||||||
                'contactName'    => $invitation->contact->getDisplayName(),
 | 
					                '$contact' => $invitation->contact->getDisplayName(),
 | 
				
			||||||
                'invoiceAmount' => Utils::formatMoney($invoice->amount, $invoice->client->currency_id),
 | 
					                '$amount' => $invoiceAmount
 | 
				
			||||||
                'emailFooter' => $invoice->account->email_footer,
 | 
					 | 
				
			||||||
                'showNinjaFooter' => !$invoice->account->isPro(),
 | 
					 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $data['body'] = str_replace(array_keys($variables), array_values($variables), $emailTemplate);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
            $fromEmail = $invitation->user->email;
 | 
					            $fromEmail = $invitation->user->email;
 | 
				
			||||||
            $this->sendTo($invitation->contact->email, $fromEmail, $accountName, $subject, $view, $data);
 | 
					            $this->sendTo($invitation->contact->email, $fromEmail, $accountName, $subject, $view, $data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -56,42 +58,43 @@ class ContactMailer extends Mailer
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public function sendPaymentConfirmation(Payment $payment)
 | 
					    public function sendPaymentConfirmation(Payment $payment)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        $invoice = $payment->invoice;
 | 
				
			||||||
        $view = 'payment_confirmation';
 | 
					        $view = 'payment_confirmation';
 | 
				
			||||||
        $subject = trans('texts.payment_subject', ['invoice' => $payment->invoice->invoice_number]);
 | 
					        $subject = trans('texts.payment_subject', ['invoice' => $invoice->invoice_number]);
 | 
				
			||||||
        $accountName = $payment->account->getDisplayName();
 | 
					        $accountName = $payment->account->getDisplayName();
 | 
				
			||||||
 | 
					        $emailTemplate = $invoice->account->getEmailTemplate(ENTITY_PAYMENT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $data = [
 | 
					        $variables = [
 | 
				
			||||||
            'accountName' => $accountName,
 | 
					            '$footer' => $payment->account->getEmailFooter(),
 | 
				
			||||||
            'clientName' => $payment->client->getDisplayName(),
 | 
					            '$client' => $payment->client->getDisplayName(),
 | 
				
			||||||
            'emailFooter' => $payment->account->email_footer,
 | 
					            '$account' => $accountName,
 | 
				
			||||||
            'paymentAmount' => Utils::formatMoney($payment->amount, $payment->client->currency_id),
 | 
					            '$amount' => Utils::formatMoney($payment->amount, $payment->client->currency_id)
 | 
				
			||||||
            'showNinjaFooter' => !$payment->account->isPro(),
 | 
					 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $data = ['body' => str_replace(array_keys($variables), array_values($variables), $emailTemplate)];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $user = $payment->invitation->user;
 | 
					        $user = $payment->invitation->user;
 | 
				
			||||||
        $this->sendTo($payment->contact->email, $user->email, $accountName, $subject, $view, $data);
 | 
					        $this->sendTo($payment->contact->email, $user->email, $accountName, $subject, $view, $data);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function sendLicensePaymentConfirmation($name, $email, $amount, $license, $productId)
 | 
					    public function sendLicensePaymentConfirmation($name, $email, $amount, $license, $productId)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $view = 'payment_confirmation';
 | 
					        $view = 'license_confirmation';
 | 
				
			||||||
        $subject = trans('texts.payment_subject');
 | 
					        $subject = trans('texts.payment_subject');
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        if ($productId == PRODUCT_ONE_CLICK_INSTALL) {
 | 
					        if ($productId == PRODUCT_ONE_CLICK_INSTALL) {
 | 
				
			||||||
            $message = "Softaculous install license: $license";
 | 
					            $license = "Softaculous install license: $license";
 | 
				
			||||||
        } elseif ($productId == PRODUCT_INVOICE_DESIGNS) {
 | 
					        } elseif ($productId == PRODUCT_INVOICE_DESIGNS) {
 | 
				
			||||||
            $message = "Invoice designs license: $license";
 | 
					            $license = "Invoice designs license: $license";
 | 
				
			||||||
        } elseif ($productId == PRODUCT_WHITE_LABEL) {
 | 
					        } elseif ($productId == PRODUCT_WHITE_LABEL) {
 | 
				
			||||||
            $message = "White label license: $license";
 | 
					            $license = "White label license: $license";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        $data = [
 | 
					        $data = [
 | 
				
			||||||
            'accountName' => trans('texts.email_from'),
 | 
					            'account' => trans('texts.email_from'),
 | 
				
			||||||
            'clientName' => $name,
 | 
					            'client' => $name,
 | 
				
			||||||
            'emailFooter' => false,
 | 
					            'amount' => Utils::formatMoney($amount, 1),
 | 
				
			||||||
            'paymentAmount' => Utils::formatMoney($amount, 1),
 | 
					            'license' => $license
 | 
				
			||||||
            'showNinjaFooter' => false,
 | 
					 | 
				
			||||||
            'emailMessage' => $message,
 | 
					 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        $this->sendTo($email, CONTACT_EMAIL, CONTACT_NAME, $subject, $view, $data);
 | 
					        $this->sendTo($email, CONTACT_EMAIL, CONTACT_NAME, $subject, $view, $data);
 | 
				
			||||||
 | 
				
			|||||||
@ -193,6 +193,7 @@ define('ACCOUNT_INVOICE_DESIGN', 'invoice_design');
 | 
				
			|||||||
define('ACCOUNT_CHART_BUILDER', 'chart_builder');
 | 
					define('ACCOUNT_CHART_BUILDER', 'chart_builder');
 | 
				
			||||||
define('ACCOUNT_USER_MANAGEMENT', 'user_management');
 | 
					define('ACCOUNT_USER_MANAGEMENT', 'user_management');
 | 
				
			||||||
define('ACCOUNT_DATA_VISUALIZATIONS', 'data_visualizations');
 | 
					define('ACCOUNT_DATA_VISUALIZATIONS', 'data_visualizations');
 | 
				
			||||||
 | 
					define('ACCOUNT_EMAIL_TEMPLATES', 'email_templates');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define("ACTIVITY_TYPE_CREATE_CLIENT", 1);
 | 
					define("ACTIVITY_TYPE_CREATE_CLIENT", 1);
 | 
				
			||||||
define("ACTIVITY_TYPE_ARCHIVE_CLIENT", 2);
 | 
					define("ACTIVITY_TYPE_ARCHIVE_CLIENT", 2);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										109
									
								
								app/views/accounts/email_templates.blade.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								app/views/accounts/email_templates.blade.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,109 @@
 | 
				
			|||||||
 | 
					@extends('accounts.nav')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@section('head')
 | 
				
			||||||
 | 
					    @parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <style type="text/css">
 | 
				
			||||||
 | 
					        textarea {
 | 
				
			||||||
 | 
					            min-height: 100px !important;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@stop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@section('content')
 | 
				
			||||||
 | 
					    @parent
 | 
				
			||||||
 | 
					    @include('accounts.nav_advanced')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
 | 
				
			||||||
 | 
					    {{ Former::populateField('email_template_invoice', $invoiceEmail) }}
 | 
				
			||||||
 | 
					    {{ Former::populateField('email_template_quote', $quoteEmail) }}
 | 
				
			||||||
 | 
					    {{ Former::populateField('email_template_payment', $paymentEmail) }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{ Former::legend('invoice_email') }}
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col-md-7">
 | 
				
			||||||
 | 
					            {{ Former::textarea('email_template_invoice')->raw() }}
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="col-md-5" id="invoice_preview"></div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p> </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{ Former::legend('quote_email') }}
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col-md-7">
 | 
				
			||||||
 | 
					            {{ Former::textarea('email_template_quote')->raw() }}
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="col-md-5" id="quote_preview"></div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p> </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{ Former::legend('payment_email') }}
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col-md-7">
 | 
				
			||||||
 | 
					            {{ Former::textarea('email_template_payment')->raw() }}
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="col-md-5" id="payment_preview"></div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p> </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @if (Auth::user()->isPro())
 | 
				
			||||||
 | 
					        {{ Former::actions( 
 | 
				
			||||||
 | 
					            Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk')
 | 
				
			||||||
 | 
					        ) }}
 | 
				
			||||||
 | 
					    @else
 | 
				
			||||||
 | 
					        <script>
 | 
				
			||||||
 | 
					            $(function() {
 | 
				
			||||||
 | 
					                $('form.warn-on-exit input').prop('disabled', true);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        </script>
 | 
				
			||||||
 | 
					    @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {{ Former::close() }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script type="text/javascript">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $(function() {
 | 
				
			||||||
 | 
					            $('#email_template_invoice').keyup(refreshInvoice);
 | 
				
			||||||
 | 
					            $('#email_template_quote').keyup(refreshQuote);
 | 
				
			||||||
 | 
					            $('#email_template_payment').keyup(refreshPayment);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            refreshInvoice();
 | 
				
			||||||
 | 
					            refreshQuote();
 | 
				
			||||||
 | 
					            refreshPayment();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function refreshInvoice() {
 | 
				
			||||||
 | 
					            $('#invoice_preview').html(processVariables($('#email_template_invoice').val()));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function refreshQuote() {
 | 
				
			||||||
 | 
					            $('#quote_preview').html(processVariables($('#email_template_quote').val()));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function refreshPayment() {
 | 
				
			||||||
 | 
					            $('#payment_preview').html(processVariables($('#email_template_payment').val()));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function processVariables(str) {
 | 
				
			||||||
 | 
					            if (!str) {
 | 
				
			||||||
 | 
					                return '';
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            keys = ['footer', 'account', 'client', 'amount', 'link'];
 | 
				
			||||||
 | 
					            vals = [{{ json_encode($emailFooter) }}, '{{ Auth::user()->account->getDisplayName() }}', 'Client Name', formatMoney(100), '{{ NINJA_WEB_URL }}']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for (var i=0; i<keys.length; i++) {
 | 
				
			||||||
 | 
					                var regExp = new RegExp('\\$'+keys[i], 'g');
 | 
				
			||||||
 | 
					                str = str.replace(regExp, vals[i]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return str;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@stop
 | 
				
			||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
<ul class="nav nav-tabs nav nav-justified">
 | 
					<ul class="nav nav-tabs nav nav-justified">
 | 
				
			||||||
  {{ HTML::nav_link('company/advanced_settings/invoice_settings', 'invoice_settings') }}
 | 
					  {{ HTML::nav_link('company/advanced_settings/invoice_settings', 'invoice_settings') }}
 | 
				
			||||||
  {{ HTML::nav_link('company/advanced_settings/invoice_design', 'invoice_design') }}
 | 
					  {{ HTML::nav_link('company/advanced_settings/invoice_design', 'invoice_design') }}
 | 
				
			||||||
 | 
					  {{ HTML::nav_link('company/advanced_settings/email_templates', 'email_templates') }}
 | 
				
			||||||
  {{ HTML::nav_link('company/advanced_settings/data_visualizations', 'data_visualizations') }}
 | 
					  {{ HTML::nav_link('company/advanced_settings/data_visualizations', 'data_visualizations') }}
 | 
				
			||||||
  {{ HTML::nav_link('company/advanced_settings/chart_builder', 'chart_builder') }}
 | 
					  {{ HTML::nav_link('company/advanced_settings/chart_builder', 'chart_builder') }}
 | 
				
			||||||
  {{ HTML::nav_link('company/advanced_settings/user_management', 'user_management') }}
 | 
					  {{ HTML::nav_link('company/advanced_settings/user_management', 'user_management') }}
 | 
				
			||||||
 | 
				
			|||||||
@ -3,24 +3,5 @@
 | 
				
			|||||||
    <head>
 | 
					    <head>
 | 
				
			||||||
        <meta charset="utf-8">
 | 
					        <meta charset="utf-8">
 | 
				
			||||||
    </head>
 | 
					    </head>
 | 
				
			||||||
    <body>
 | 
					    <body>{{ $body }}</body>
 | 
				
			||||||
 | 
					 | 
				
			||||||
      {{ $clientName }},<p/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      {{ trans("texts.{$entityType}_message", ['amount' => $invoiceAmount]) }}<p/>      
 | 
					 | 
				
			||||||
      <a href="{{ $link }}">{{ $link }}</a><p/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @if ($emailFooter)
 | 
					 | 
				
			||||||
      {{ nl2br($emailFooter) }}
 | 
					 | 
				
			||||||
      @else
 | 
					 | 
				
			||||||
      {{ trans('texts.email_signature') }}<br/>
 | 
					 | 
				
			||||||
      {{ $accountName }}
 | 
					 | 
				
			||||||
      @endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @if ($showNinjaFooter)
 | 
					 | 
				
			||||||
      <p/>
 | 
					 | 
				
			||||||
      {{ trans('texts.ninja_email_footer', ['site' => '<a href="' . NINJA_WEB_URL . '/?utm_source=invoice_email_footer">Invoice Ninja</a>']) }}
 | 
					 | 
				
			||||||
      @endif    
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </body>
 | 
					 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,16 +1 @@
 | 
				
			|||||||
{{ $clientName }},
 | 
					{{ strip_tags($body) }}
 | 
				
			||||||
 | 
					 | 
				
			||||||
{{ trans("texts.{$entityType}_message", ['amount' => $invoiceAmount]) }}
 | 
					 | 
				
			||||||
{{ $link }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@if ($emailFooter)
 | 
					 | 
				
			||||||
{{ $emailFooter }}
 | 
					 | 
				
			||||||
@else
 | 
					 | 
				
			||||||
{{ trans('texts.email_signature') }}
 | 
					 | 
				
			||||||
{{ $accountName }}
 | 
					 | 
				
			||||||
@endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@if ($showNinjaFooter)
 | 
					 | 
				
			||||||
{{ trans('texts.ninja_email_footer', ['site' => 'Invoice Ninja']) }}
 | 
					 | 
				
			||||||
{{ NINJA_WEB_URL }}
 | 
					 | 
				
			||||||
@endif
 | 
					 | 
				
			||||||
							
								
								
									
										18
									
								
								app/views/emails/license_confirmation_html.blade.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								app/views/emails/license_confirmation_html.blade.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <meta charset="utf-8">
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
 | 
					    <body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{ $client }},<p/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{ trans('texts.payment_message', ['amount' => $amount]) }}<p/>      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{ $license }}<p/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {{ trans('texts.email_signature') }}<br/>      
 | 
				
			||||||
 | 
					      {{ $account }}
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					    </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										8
									
								
								app/views/emails/license_confirmation_text.blade.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app/views/emails/license_confirmation_text.blade.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					{{ $client }},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ trans('texts.payment_message', ['amount' => $amount]) }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ $license }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{ trans('texts.email_signature') }}
 | 
				
			||||||
 | 
					{{ $account }}
 | 
				
			||||||
@ -3,27 +3,5 @@
 | 
				
			|||||||
    <head>
 | 
					    <head>
 | 
				
			||||||
        <meta charset="utf-8">
 | 
					        <meta charset="utf-8">
 | 
				
			||||||
    </head>
 | 
					    </head>
 | 
				
			||||||
    <body>
 | 
					    <body>{{ $body }}</body>
 | 
				
			||||||
 | 
					 | 
				
			||||||
      {{ $clientName }},<p/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      {{ trans('texts.payment_message', ['amount' => $paymentAmount]) }}<p/>      
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @if (isset($emailMessage) && $emailMessage)
 | 
					 | 
				
			||||||
      {{ $emailMessage }}<p/>
 | 
					 | 
				
			||||||
      @endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @if ($emailFooter)
 | 
					 | 
				
			||||||
      {{ nl2br($emailFooter) }}
 | 
					 | 
				
			||||||
      @else
 | 
					 | 
				
			||||||
      {{ trans('texts.email_signature') }}<br/>      
 | 
					 | 
				
			||||||
      {{ $accountName }}
 | 
					 | 
				
			||||||
      @endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @if ($showNinjaFooter)
 | 
					 | 
				
			||||||
      <p/>
 | 
					 | 
				
			||||||
      {{ trans('texts.ninja_email_footer', ['site' => '<a href="' . NINJA_WEB_URL . '/?utm_source=payment_email_footer">Invoice Ninja</a>']) }}
 | 
					 | 
				
			||||||
      @endif
 | 
					 | 
				
			||||||
      
 | 
					 | 
				
			||||||
    </body>
 | 
					 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,19 +1 @@
 | 
				
			|||||||
{{ $clientName }},
 | 
					{{ strip_tags($body) }}
 | 
				
			||||||
 | 
					 | 
				
			||||||
{{ trans('texts.payment_message', ['amount' => $paymentAmount]) }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@if (isset($emailMessage) && $emailMessage)
 | 
					 | 
				
			||||||
{{ $emailMessage }}
 | 
					 | 
				
			||||||
@endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@if ($emailFooter)
 | 
					 | 
				
			||||||
{{ $emailFooter }}
 | 
					 | 
				
			||||||
@else
 | 
					 | 
				
			||||||
{{ trans('texts.email_signature') }}
 | 
					 | 
				
			||||||
{{ $accountName }}
 | 
					 | 
				
			||||||
@endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@if ($showNinjaFooter)
 | 
					 | 
				
			||||||
{{ trans('texts.ninja_email_footer', ['site' => 'Invoice Ninja']) }}
 | 
					 | 
				
			||||||
{{ NINJA_WEB_URL }}
 | 
					 | 
				
			||||||
@endif
 | 
					 | 
				
			||||||
@ -83,7 +83,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        <div class="btn-group">
 | 
					        <div class="btn-group">
 | 
				
			||||||
          <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
 | 
					          <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
 | 
				
			||||||
            <div id="myAccountButton" class="ellipsis" style="max-width:120px">
 | 
					            <div id="myAccountButton" class="ellipsis" style="max-width:100px">
 | 
				
			||||||
              {{ Auth::user()->getDisplayName() }}
 | 
					              {{ Auth::user()->getDisplayName() }}
 | 
				
			||||||
              <span class="caret"></span>
 | 
					              <span class="caret"></span>
 | 
				
			||||||
            </div>            
 | 
					            </div>            
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user