Fixes for designs and client compatibility

This commit is contained in:
David Bomba 2023-02-15 21:11:34 +11:00
parent 342f33b5e1
commit 55bdc6b1cc
25 changed files with 342 additions and 88 deletions

View File

@ -913,8 +913,7 @@ class BaseController extends Controller
$query->where('user_id', '=', auth()->user()->id); $query->where('user_id', '=', auth()->user()->id);
} }
elseif(in_array($this->entity_type, [Design::class, GroupSetting::class, PaymentTerm::class, TaskStatus::class])){ elseif(in_array($this->entity_type, [Design::class, GroupSetting::class, PaymentTerm::class, TaskStatus::class])){
nlog("inside"); // nlog($this->entity_type);
nlog($this->entity_type);
} }
else else
$query->where('user_id', '=', auth()->user()->id)->orWhere('assigned_user_id', auth()->user()->id); $query->where('user_id', '=', auth()->user()->id)->orWhere('assigned_user_id', auth()->user()->id);

View File

@ -29,7 +29,7 @@ class UpdateTaskRequest extends Request
* @return bool * @return bool
*/ */
public function authorize() : bool public function authorize() : bool
{ {nlog("oioi");
//prevent locked tasks from updating //prevent locked tasks from updating
if($this->task->invoice_id && $this->task->company->invoice_task_lock) if($this->task->invoice_id && $this->task->company->invoice_task_lock)
return false; return false;

View File

@ -649,6 +649,9 @@ class NinjaMailerJob implements ShouldQueue
public function failed($exception = null) public function failed($exception = null)
{ {
if($exception)
nlog($exception->getMessage());
config(['queue.failed.driver' => null]); config(['queue.failed.driver' => null]);
} }

View File

@ -432,8 +432,6 @@ class MailBuild
$pdf = ((new CreateRawPdf($this->mail_entity->invitation, $this->mail_entity->invitation->company->db))->handle()); $pdf = ((new CreateRawPdf($this->mail_entity->invitation, $this->mail_entity->invitation->company->db))->handle());
nlog($this->mail_entity->mail_object->attachments);
$this->mail_entity->mail_object->attachments = array_merge($this->mail_entity->mail_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->mail_entity->invitation->{$this->mail_entity->mail_object->entity_string}->numberFormatter().'.pdf']]); $this->mail_entity->mail_object->attachments = array_merge($this->mail_entity->mail_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->mail_entity->invitation->{$this->mail_entity->mail_object->entity_string}->numberFormatter().'.pdf']]);
if ($this->client->getSetting('document_email_attachment') !== false && $this->mail_entity->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) { if ($this->client->getSetting('document_email_attachment') !== false && $this->mail_entity->company->account->hasFeature(Account::FEATURE_DOCUMENTS)) {

View File

@ -147,7 +147,7 @@ class HtmlEngine
$data['$invoice.datetime'] = &$data['$entity.datetime']; $data['$invoice.datetime'] = &$data['$entity.datetime'];
$data['$quote.datetime'] = &$data['$entity.datetime']; $data['$quote.datetime'] = &$data['$entity.datetime'];
$data['$credit.datetime'] = &$data['$entity.datetime']; $data['$credit.datetime'] = &$data['$entity.datetime'];
$data['$payment_button'] = ['value' => '<a class="button" href="'.$this->invitation->getPaymentLink().'">'.ctrans('texts.pay_now').'</a>', 'label' => ctrans('texts.pay_now')]; $data['$payment_button'] = ['value' => $this->buildViewButton($this->invitation->getPaymentLink(), ctrans('texts.pay_now')), 'label' => ctrans('texts.pay_now')];
$data['$payment_link'] = ['value' => $this->invitation->getPaymentLink(), 'label' => ctrans('texts.pay_now')]; $data['$payment_link'] = ['value' => $this->invitation->getPaymentLink(), 'label' => ctrans('texts.pay_now')];
$data['$payment_qrcode'] = ['value' => $this->invitation->getPaymentQrCode(), 'label' => ctrans('texts.pay_now')]; $data['$payment_qrcode'] = ['value' => $this->invitation->getPaymentQrCode(), 'label' => ctrans('texts.pay_now')];
@ -159,7 +159,7 @@ class HtmlEngine
$data['$number_short'] = ['value' => $this->entity->number ?: '&nbsp;', 'label' => ctrans('texts.invoice_number_short')]; $data['$number_short'] = ['value' => $this->entity->number ?: '&nbsp;', 'label' => ctrans('texts.invoice_number_short')];
$data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.invoice_terms')]; $data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.invoice_terms')];
$data['$terms'] = &$data['$entity.terms']; $data['$terms'] = &$data['$entity.terms'];
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_invoice').'</a>', 'label' => ctrans('texts.view_invoice')]; $data['$view_link'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_invoice')), 'label' => ctrans('texts.view_invoice')];
$data['$viewLink'] = &$data['$view_link']; $data['$viewLink'] = &$data['$view_link'];
$data['$viewButton'] = &$data['$view_link']; $data['$viewButton'] = &$data['$view_link'];
$data['$view_button'] = &$data['$view_link']; $data['$view_button'] = &$data['$view_link'];
@ -218,11 +218,11 @@ class HtmlEngine
$data['$number_short'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.quote_number_short')]; $data['$number_short'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.quote_number_short')];
$data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.quote_terms')]; $data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.quote_terms')];
$data['$terms'] = &$data['$entity.terms']; $data['$terms'] = &$data['$entity.terms'];
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_quote').'</a>', 'label' => ctrans('texts.view_quote')]; $data['$view_link'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_quote')), 'label' => ctrans('texts.view_quote')];
$data['$viewLink'] = &$data['$view_link']; $data['$viewLink'] = &$data['$view_link'];
$data['$viewButton'] = &$data['$view_link']; $data['$viewButton'] = &$data['$view_link'];
$data['$view_button'] = &$data['$view_link']; $data['$view_button'] = &$data['$view_link'];
$data['$approveButton'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_quote').'</a>', 'label' => ctrans('texts.approve')]; $data['$approveButton'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_quote')), 'label' => ctrans('texts.approve')];
$data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_quote')]; $data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_quote')];
$data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->client->date_format(), $this->client->locale()) ?: '&nbsp;', 'label' => ctrans('texts.quote_date')]; $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->client->date_format(), $this->client->locale()) ?: '&nbsp;', 'label' => ctrans('texts.quote_date')];
@ -263,7 +263,7 @@ class HtmlEngine
$data['$number_short'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.credit_number_short')]; $data['$number_short'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.credit_number_short')];
$data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.credit_terms')]; $data['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.credit_terms')];
$data['$terms'] = &$data['$entity.terms']; $data['$terms'] = &$data['$entity.terms'];
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_credit').'</a>', 'label' => ctrans('texts.view_credit')]; $data['$view_link'] = ['value' => $this->buildViewButton($this->invitation->getLink(), ctrans('texts.view_credit')), 'label' => ctrans('texts.view_credit')];
$data['$viewButton'] = &$data['$view_link']; $data['$viewButton'] = &$data['$view_link'];
$data['$view_button'] = &$data['$view_link']; $data['$view_button'] = &$data['$view_link'];
$data['$viewLink'] = &$data['$view_link']; $data['$viewLink'] = &$data['$view_link'];
@ -489,7 +489,7 @@ class HtmlEngine
$data['$contact.last_name'] = ['value' => isset($this->contact) ? $this->contact->last_name : '', 'label' => ctrans('texts.last_name')]; $data['$contact.last_name'] = ['value' => isset($this->contact) ? $this->contact->last_name : '', 'label' => ctrans('texts.last_name')];
$data['$portal_button'] = ['value' => '<a class="button" href="'.$this->contact->getLoginLink().'?client_hash='.$this->client->client_hash.'">'.ctrans('texts.view_client_portal').'</a>', 'label' => ctrans('view_client_portal')]; $data['$portal_button'] = ['value' => $this->buildViewButton($this->contact->getLoginLink().'?client_hash='.$this->client->client_hash, ctrans('texts.view_client_portal')), 'label' => ctrans('view_client_portal')];
$data['$contact.portal_button'] = &$data['$portal_button']; $data['$contact.portal_button'] = &$data['$portal_button'];
$data['$portalButton'] = &$data['$portal_button']; $data['$portalButton'] = &$data['$portal_button'];
@ -984,4 +984,24 @@ html {
return $html; return $html;
} }
/**
* buildViewButton
*
* @param string $link
* @param string $text
* @return string
*/
private function buildViewButton(string $link, string $text): string
{
return '
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="'. $link .'" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">'. $text .'</a>
</td>
</tr>
</table>
';
}
} }

View File

@ -3,8 +3,20 @@
<h1>{{ ctrans('texts.credits_backup_subject') }}</h1> <h1>{{ ctrans('texts.credits_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}"> <!-- <a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }} {{ ctrans('texts.download') }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.document_download_subject') }}</h1> <h1>{{ ctrans('texts.document_download_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}"> <!-- <a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }} {{ ctrans('texts.download') }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,8 +3,15 @@
<h1>{{ ctrans('texts.download_backup_subject') }}</h1> <h1>{{ ctrans('texts.download_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}"> <table border="0" cellspacing="0" cellpadding="0" align="center">
{{ ctrans('texts.download') }} <tr style="border: 0 !important; ">
</a> <td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">{{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.invoices_backup_subject') }}</h1> <h1>{{ ctrans('texts.invoices_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}"> <!-- <a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }} {{ ctrans('texts.download') }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.purchase_orders_backup_subject') }}</h1> <h1>{{ ctrans('texts.purchase_orders_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}"> <!-- <a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }} {{ ctrans('texts.download') }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -2,9 +2,20 @@
<div class="center"> <div class="center">
<h1>{{ ctrans('texts.quotes_backup_subject') }}</h1> <h1>{{ ctrans('texts.quotes_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p> <p>{{ ctrans('texts.download_timeframe') }}</p>
<!--
<a target="_blank" class="button" href="{{ $url }}"> <a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }} {{ ctrans('texts.download') }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,5 +3,16 @@
<h1>{{ ctrans('texts.download_files') }}</h1> <h1>{{ ctrans('texts.download_files') }}</h1>
<p>{{ ctrans('texts.download_report_description') }}</p> <p>{{ ctrans('texts.download_report_description') }}</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans('texts.download') }}</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -27,7 +27,18 @@
@endisset @endisset
@isset($url) @isset($url)
<a href="{{ $url }}" class="button" target="_blank">{{ ctrans($button) }}</a>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;"> {{ ctrans($button) }}</a>
</td>
</tr>
</table>
@endisset @endisset
@isset($signature) @isset($signature)

View File

@ -5,7 +5,15 @@
{{ ctrans("texts.{$body}") }} {{ ctrans("texts.{$body}") }}
@isset($view_link) @isset($view_link)
<a class="button" href="{{ $view_link}}" target="_blank">{{{ $view_text }}}</a>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $view_link }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">{{ $view_text }}</a>
</td>
</tr>
</table>
@endisset @endisset
@isset($signature) @isset($signature)

View File

@ -2,8 +2,20 @@
<div class="center"> <div class="center">
<p>{{ ctrans('texts.confirmation_message') }}</p> <p>{{ ctrans('texts.confirmation_message') }}</p>
<a href="{{ url("/user/confirm/{$user->confirmation_code}") }}" target="_blank" class="button"> <!-- <a href="{{ url("/user/confirm/{$user->confirmation_code}") }}" target="_blank" class="button">
{{ ctrans('texts.confirm') }}
</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ url("/user/confirm/{$user->confirmation_code}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.confirm') }} {{ ctrans('texts.confirm') }}
</a> </a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -3,6 +3,17 @@
<h1>{{ ctrans('texts.login_link_requested_label') }}</h1> <h1>{{ ctrans('texts.login_link_requested_label') }}</h1>
<p>{{ ctrans('texts.login_link_requested') }}</p> <p>{{ ctrans('texts.login_link_requested') }}</p>
<a href="{{ $url }}" target="_blank" class="button"> {{ ctrans('texts.login')}}</a> <!-- <a href="{{ $url }}" target="_blank" class="button"> {{ ctrans('texts.login')}}</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.login')}}
</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -21,7 +21,18 @@
@endisset @endisset
@isset($url) @isset($url)
<a href="{{ $url }}" class="button" target="_blank">{{ ctrans($button) }}</a> <!-- <a href="{{ $url }}" class="button" target="_blank">{{ ctrans($button) }}</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans($button) }}
</a>
</td>
</tr>
</table>
@endisset @endisset
@isset($signature) @isset($signature)

View File

@ -1,3 +1,12 @@
<a href="{{ $url }}" target="_blank" class="button"> <!-- <a href="{{ $url }}" target="_blank" class="button">
{{ $slot }} {{ $slot }}
</a> </a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ $slot }}
</a>
</td>
</tr>
</table>

View File

@ -3,6 +3,17 @@
<h1>{{ ctrans('texts.ach_verification_notification_label') }}</h1> <h1>{{ ctrans('texts.ach_verification_notification_label') }}</h1>
<p>{{ ctrans('texts.ach_verification_notification') }}</p> <p>{{ ctrans('texts.ach_verification_notification') }}</p>
<a class="button" href="{{ $url }}">{{ ctrans('texts.complete_verification') }}</a> <!-- <a class="button" href="{{ $url }}">{{ ctrans('texts.complete_verification') }}</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ $url }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.complete_verification') }}
</a>
</td>
</tr>
</table>
</div> </div>
@endcomponent @endcomponent

View File

@ -96,7 +96,17 @@
</table> </table>
@endif @endif
<a href="{{ url('/') }}" target="_blank" class="button">{{ ctrans('texts.account_login')}}</a> <!-- <a href="{{ url('/') }}" target="_blank" class="button">{{ ctrans('texts.account_login')}}</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ url('/') }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.account_login') }}
</a>
</td>
</tr>
</table>
<p>{{ ctrans('texts.email_signature')}}</p> <p>{{ ctrans('texts.email_signature')}}</p>
<p>{{ ctrans('texts.email_from') }}</p> <p>{{ ctrans('texts.email_from') }}</p>

View File

@ -93,7 +93,17 @@
</table> </table>
@endif @endif
<a href="{{ url('/') }}" target="_blank" class="button">{{ ctrans('texts.account_login')}}</a> <!-- <a href="{{ url('/') }}" target="_blank" class="button">{{ ctrans('texts.account_login')}}</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ url('/') }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.account_login') }}
</a>
</td>
</tr>
</table>
<p>{{ ctrans('texts.email_signature')}}</p> <p>{{ ctrans('texts.email_signature')}}</p>
<p>{{ ctrans('texts.email_from') }}</p> <p>{{ ctrans('texts.email_from') }}</p>

View File

@ -2,10 +2,20 @@
<div class="center"> <div class="center">
<h1>{{ ctrans('texts.migration_completed')}}</h1> <h1>{{ ctrans('texts.migration_completed')}}</h1>
<p>{{ ctrans('texts.migration_completed_description')}}</p> <p>{{ ctrans('texts.migration_completed_description')}}</p>
<!--
<a href="{{ url('/') }}" target="_blank" class="button"> <a href="{{ url('/') }}" target="_blank" class="button">
{{ ctrans('texts.account_login')}} {{ ctrans('texts.account_login')}}
</a> -->
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr style="border: 0 !important; ">
<td class="new_button" style="padding: 12px 18px 12px 18px; border-radius:5px;" align="center">
<a href="{{ url('/') }}") }}" target="_blank" style="border: 0 !important;font-size: 18px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; display: inline-block;">
{{ ctrans('texts.account_login') }}
</a> </a>
</td>
</tr>
</table>
<p>{{ ctrans('texts.email_signature')}}<br/> {{ ctrans('texts.email_from') }}</p> <p>{{ ctrans('texts.email_signature')}}<br/> {{ ctrans('texts.email_from') }}</p>
</div> </div>

View File

@ -68,9 +68,26 @@
.btn-white, .btn-white,
[data-ogsc] .btn-white { [data-ogsc] .btn-white {
background-color: #fefefe !important; background-color: #fefefe !important;
mso-padding-alt: 40px;
mso-border-alt: 40px solid #fefefe;
mso-padding-alt: 0;
mso-ansi-font-size:20px !important;
mso-line-height-alt:150%;
mso-border-left-alt: 20 #fefefe 0;
mso-border-right-alt: 20 #fefefe 0;
} }
@endif @endif
.btn-white {
mso-padding-alt: 40px;
mso-border-alt: 40px solid #fefefe;
mso-padding-alt: 0;
mso-ansi-font-size:20px !important;
mso-line-height-alt:150%;
mso-border-left-alt: 20 #FFFFFF 0;
mso-border-right-alt: 20 #FFFFFF 0;
}
/** Content-specific styles. **/ /** Content-specific styles. **/
#content .button { #content .button {
display: inline-block; display: inline-block;
@ -131,6 +148,12 @@
z-index:200 !important; z-index:200 !important;
position: fixed; position: fixed;
} }
.new_button {
background-color: {{ $primary_color }};
}
</style> </style>
</head> </head>
@ -139,8 +162,7 @@
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%"> <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td> <td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570" <table align="center" border="0" cellpadding="0" cellspacing="0" width="570" style="border: 1px solid #c2c2c2;">
style="border-collapse: collapse;">
<tr> <tr>
<div style="text-align: center;margin-top: 25px; margin-bottom: 10px;"> <div style="text-align: center;margin-top: 25px; margin-bottom: 10px;">
<!-- Top side spacing. --> <!-- Top side spacing. -->
@ -148,18 +170,9 @@
</tr> </tr>
<tr> <tr>
<td align="center"> <td align="center">
<div class="dark-bg" <div class="dark-bg" style="background-color:#f9f9f9; padding-bottom: 20px;">
style="background-color:#f9f9f9; border: 1px solid #c2c2c2; border-bottom: none; padding-bottom: 20px; border-top-left-radius: 3px; border-top-right-radius: 3px;">
<!--[if gte mso 9]>
<img src="{{ $logo ?? '' }}" alt="" width="155" border="0" align="middle" style="display:block;" />
<div style="mso-hide:all;">
<![endif]-->
<img class="logo-light" src="{{ $logo ?? '' }}" alt="" width="400" style="margin-top: 10px; max-width: 200px; display: block; margin-left: auto; margin-right: auto;"/>
<!--[if gte mso 9]>
</div>
<![endif]-->
<img class="logo-light" src="{{ $logo ?? '' }}" width="640" height="" alt="alt_text" border="0" style="width: 100%; max-width: 570px; height: auto; display: block;" class="g-img">
</div> </div>
</td> </td>
@ -167,13 +180,20 @@
<tr> <tr>
<td> <td>
<div class="dark-bg-base" id="content" <div class="dark-bg-base" id="content"
style="border: 1px solid #c2c2c2; border-top: none; border-bottom: none; padding: 20px;"> style="border: none; padding: 20px;">
{{ $slot }} {{ $slot }}
</div> <!-- End replaceable content. --> </div> <!-- End replaceable content. -->
</td> </td>
</tr> </tr>
<!--[if mso]>
<tr class="dark-bg" style="margin-top:20px; border: none; border-bottom-color: {{ $primary_color }};">
<td style="border: none; border-bottom: none; padding: 20px;"></td>
</tr>
<![endif]-->
<tr class="dark-bg" <tr class="dark-bg"
style="background-color: {{ $primary_color }}; border: 1px solid #c2c2c2; border-top: none; border-bottom-color: {{ $primary_color }};"> style="background-color: {{ $primary_color }}; ccborder-bottom-color: {{ $primary_color }};">
<td> <td>
<div style="text-align: center; margin-top: 25px;"> <div style="text-align: center; margin-top: 25px;">
<h2 <h2
@ -183,37 +203,66 @@
<div style="text-align:center; margin-bottom: 35px; margin-top: 25px;"> <div style="text-align:center; margin-bottom: 35px; margin-top: 25px;">
<!--[if mso]>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="text-align: center;"i valign="center">
<tr height="40">
<td height="40">
<![endif]-->
<a href="https://forum.invoiceninja.com" target="_blank" class="btn-white" <a href="https://forum.invoiceninja.com" target="_blank" class="btn-white"
style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;"> style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/forum.png') }}" width="13"> <img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/forum.png') }}" width="13">
<span>Forums</span> <span style="padding-left:4px;">Forums</span>
</a> </a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<a href="http://slack.invoiceninja.com/" target="_blank" class="btn-white" <a href="http://slack.invoiceninja.com/" target="_blank" class="btn-white"
style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;"> style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/slack.png') }}" width="13"> <img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/slack.png') }}" width="13">
<span>Slack</span> <span style="padding-left:4px;">Slack</span>
</a> </a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<a href="https://www.invoiceninja.com/contact/" target="_blank" class="btn-white" <a href="https://www.invoiceninja.com/contact/" target="_blank" class="btn-white"
style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;"> style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/email.png') }}" width="13"> <img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/email.png') }}" width="13">
<span>E-mail</span> <span style="padding-left:4px;">E-mail</span>
</a> </a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<a href="https://invoiceninja.github.io/" target="_blank" class="btn-white" <a href="https://invoiceninja.github.io/" target="_blank" class="btn-white"
style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;"> style="vertical-align: middle;display: inline-block;background-color: #ffffff; color: {{ $primary_color }}; display: inline-block; text-decoration: none; width: 100px; text-align: center; font-size: 12px; height: 35px; line-height: 35px; margin-left: 10px; margin-right: 10px;">
<span>Support Docs</span> <span style="padding-left:4px;">Support Docs</span>
</a> </a>
<!--[if mso]>
</td>
</tr>
</table>
<![endif]-->
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="dark-bg-base" <td class="dark-bg-base"
style="background-color: #242424; border: 1px solid #c2c2c2; border-top-color: #242424; border-bottom-color: #242424;"> style="background-color: #242424; border: none;">
<div style="padding-top: 10px;padding-bottom: 10px;"> <div style="padding-top: 10px;padding-bottom: 10px;">
<p style="text-align: center; color: #ffffff; font-size: 10px; <p style="text-align: center; color: #ffffff; font-size: 10px;
font-family: Verdana, Geneva, Tahoma, sans-serif;"{{ date('Y') }} Invoice Ninja, All Rights Reserved font-family: Verdana, Geneva, Tahoma, sans-serif;"{{ date('Y') }} Invoice Ninja, All Rights Reserved

View File

@ -117,6 +117,9 @@
color: inherit !important; color: inherit !important;
} }
.new_button {
background-color: {{ $primary_color }};
}
</style> </style>
@ -135,30 +138,22 @@
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%"> <table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td> <td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570" <table align="center" border="0" cellpadding="0" cellspacing="0" width="570" style="border: 1px solid #c2c2c2;">
style="border-collapse: collapse;" class="dark-bg-base">
<tr> <tr>
<div style="text-align: center;margin-top: 25px; margin-bottom: 10px;"></div> <div style="text-align: center;margin-top: 25px; margin-bottom: 10px;"></div>
</tr> </tr>
<tr> <tr>
<td align="center" cellpadding="20"> <td align="center" cellpadding="20">
<div style="border: 1px solid #c2c2c2; border-bottom: none; padding-bottom: 10px; border-top-left-radius: 3px; border-top-right-radius: 3px;"> <div style="padding-bottom: 10px; padding-top:10px; border-top-left-radius: 3px; border-top-right-radius: 3px;">
<!--[if gte mso 9]> <img class="logo-light" src="{{ $logo ?? '' }}" width="640" height="" alt="alt_text" border="0" style="width: 100%; max-width: 570px; height: auto; display: block;" class="g-img">
<img src="{{ $logo ?? '' }}" alt="" width="400" border="0" align="middle" style="display:block;" />
<div style="mso-hide:all;">
<![endif]-->
<img src="{{ $logo ?? '' }}" alt="" width="400" style="margin-top: 40px; max-width: 200px; display: block; margin-left: auto; margin-right: auto;"/>
<!--[if gte mso 9]>
</div>
<![endif]-->
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td cellpadding="5"> <td cellpadding="5">
<div style="border: 1px solid #c2c2c2; border-top: none; border-bottom: none; padding: 20px; text-align: {{ $email_alignment }}" id="content"> <div style="padding: 20px; text-align: {{ $email_alignment }}" id="content">
<div style="padding-top: 10px;"></div> <div style="padding-top: 10px;"></div>
{{ $slot ?? '' }} {{ $slot ?? '' }}
@ -166,7 +161,7 @@
<div> <div>
<a href="#" <a href="#"
style="display: inline-block;background-color: {{ $primary_color }}; color: #ffffff; text-transform: uppercase;letter-spacing: 2px; text-decoration: none; font-size: 13px; font-weight: 600;"> style="display: inline-block; background-color: {{ $primary_color }} ; color: #ffffff; text-transform: uppercase;letter-spacing: 2px; text-decoration: none; font-size: 13px; font-weight: 600;">
</a> </a>
</div> </div>
@ -188,14 +183,20 @@
<tr> <tr>
<td height="0"> <td height="0">
<div style="border: 1px solid #c2c2c2; border-top: none; border-bottom: none; padding: 5px; text-align: center" id="content"> </div> <div style="padding: 5px; text-align: center" id="content"> </div>
</td> </td>
</tr> </tr>
<!--[if mso]>
<tr class="dark-bg" style="margin-top:20px; border: none; border-bottom-color: {{ $primary_color }};">
<td style="border: none; border-bottom: none; padding: 20px;"></td>
</tr>
<![endif]-->
<tr> <tr>
<td cellpadding="20" bgcolor="#f9f9f9"> <td cellpadding="20" bgcolor="#f9f9f9">
<div class="dark-bg dark-text-white" <div class="dark-bg dark-text-white"
style="text-align: center; padding-top: 10px; padding-bottom: 25px; background-color: #f9f9f9; border: 1px solid #c2c2c2; border-top: none; border-bottom-color: #f9f9f9;"> style="text-align: center; padding-top: 10px; padding-bottom: 25px; background-color: #f9f9f9; ">
@isset($signature) @isset($signature)
<p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 400; margin-bottom: 30px;"> <p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 400; margin-bottom: 30px;">
{!! nl2br($signature) !!} {!! nl2br($signature) !!}
@ -217,7 +218,7 @@
<tr> <tr>
<td bgcolor="#242424" cellpadding="20"> <td bgcolor="#242424" cellpadding="20">
<div class="dark-bg-base" <div class="dark-bg-base"
style="padding-top: 10px;padding-bottom: 10px; background-color: #242424; border: 1px solid #c2c2c2; border-top-color: #242424; border-bottom-color: #242424;"> style="padding-top: 10px;padding-bottom: 10px; background-color: #242424; ">
@if(isset($company)) @if(isset($company))
@if($company->account->isPaid()) @if($company->account->isPaid())
<p style="text-align: center; color: #ffffff; font-size: 10px; <p style="text-align: center; color: #ffffff; font-size: 10px;

View File

@ -81,6 +81,13 @@
</head> </head>
<body class="antialiased"> <body class="antialiased">
@if(\App\Utils\Ninja::isHosted())
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WMJ5W23"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
@endif
@if(session()->has('message')) @if(session()->has('message'))
<div class="py-1 text-sm text-center text-white bg-primary disposable-alert"> <div class="py-1 text-sm text-center text-white bg-primary disposable-alert">
{{ session('message') }} {{ session('message') }}