1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00

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);
}
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
$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
*/
public function authorize() : bool
{
{nlog("oioi");
//prevent locked tasks from updating
if($this->task->invoice_id && $this->task->company->invoice_task_lock)
return false;

View File

@ -649,6 +649,9 @@ class NinjaMailerJob implements ShouldQueue
public function failed($exception = null)
{
if($exception)
nlog($exception->getMessage());
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());
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']]);
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['$quote.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_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['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.invoice_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['$viewButton'] = &$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['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.quote_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['$viewButton'] = &$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['$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['$entity.terms'] = ['value' => Helpers::processReservedKeywords(\nl2br($this->entity->terms ?: ''), $this->client) ?: '', 'label' => ctrans('texts.credit_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['$view_button'] = &$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['$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['$portalButton'] = &$data['$portal_button'];
@ -984,4 +984,24 @@ 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>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}">
<!-- <a target="_blank" class="button" href="{{ $url }}">
{{ 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>
@endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.document_download_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}">
<!-- <a target="_blank" class="button" href="{{ $url }}">
{{ 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>
@endcomponent

View File

@ -3,8 +3,15 @@
<h1>{{ ctrans('texts.download_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}">
{{ ctrans('texts.download') }}
</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>
@endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.invoices_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}">
<!-- <a target="_blank" class="button" href="{{ $url }}">
{{ 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>
@endcomponent

View File

@ -3,8 +3,19 @@
<h1>{{ ctrans('texts.purchase_orders_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<a target="_blank" class="button" href="{{ $url }}">
<!-- <a target="_blank" class="button" href="{{ $url }}">
{{ 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>
@endcomponent

View File

@ -2,9 +2,20 @@
<div class="center">
<h1>{{ ctrans('texts.quotes_backup_subject') }}</h1>
<p>{{ ctrans('texts.download_timeframe') }}</p>
<!--
<a target="_blank" class="button" href="{{ $url }}">
{{ 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>
@endcomponent

View File

@ -3,5 +3,16 @@
<h1>{{ ctrans('texts.download_files') }}</h1>
<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>
@endcomponent

View File

@ -27,7 +27,18 @@
@endisset
@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
@isset($signature)

View File

@ -5,7 +5,15 @@
{{ ctrans("texts.{$body}") }}
@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
@isset($signature)

View File

@ -2,8 +2,20 @@
<div class="center">
<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>
</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') }}
</a>
</td>
</tr>
</table>
</div>
@endcomponent

View File

@ -3,6 +3,17 @@
<h1>{{ ctrans('texts.login_link_requested_label') }}</h1>
<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>
@endcomponent

View File

@ -21,7 +21,18 @@
@endisset
@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
@isset($signature)

View File

@ -1,3 +1,12 @@
<a href="{{ $url }}" target="_blank" class="button">
<!-- <a href="{{ $url }}" target="_blank" class="button">
{{ $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>
<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>
@endcomponent

View File

@ -96,7 +96,17 @@
</table>
@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_from') }}</p>

View File

@ -93,7 +93,17 @@
</table>
@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_from') }}</p>

View File

@ -2,10 +2,20 @@
<div class="center">
<h1>{{ ctrans('texts.migration_completed')}}</h1>
<p>{{ ctrans('texts.migration_completed_description')}}</p>
<!--
<a href="{{ url('/') }}" target="_blank" class="button">
{{ ctrans('texts.account_login')}}
</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.account_login') }}
</a>
</td>
</tr>
</table>
<p>{{ ctrans('texts.email_signature')}}<br/> {{ ctrans('texts.email_from') }}</p>
</div>

View File

@ -68,9 +68,26 @@
.btn-white,
[data-ogsc] .btn-white {
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
.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 .button {
display: inline-block;
@ -131,6 +148,12 @@
z-index:200 !important;
position: fixed;
}
.new_button {
background-color: {{ $primary_color }};
}
</style>
</head>
@ -139,8 +162,7 @@
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570"
style="border-collapse: collapse;">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570" style="border: 1px solid #c2c2c2;">
<tr>
<div style="text-align: center;margin-top: 25px; margin-bottom: 10px;">
<!-- Top side spacing. -->
@ -148,18 +170,9 @@
</tr>
<tr>
<td align="center">
<div class="dark-bg"
style="background-color:#f9f9f9; border: 1px solid #c2c2c2; border-bottom: none; padding-bottom: 20px; border-top-left-radius: 3px; border-top-right-radius: 3px;">
<div class="dark-bg" style="background-color:#f9f9f9; padding-bottom: 20px;">
<!--[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>
</td>
@ -167,13 +180,20 @@
<tr>
<td>
<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 }}
</div> <!-- End replaceable content. -->
</td>
</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"
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>
<div style="text-align: center; margin-top: 25px;">
<h2
@ -183,37 +203,66 @@
<div style="text-align:center; margin-bottom: 35px; margin-top: 25px;">
<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;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/forum.png') }}" width="13">
<span>Forums</span>
</a>
<!--[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"
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">
<span style="padding-left:4px;">Forums</span>
</a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<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;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/slack.png') }}" width="13">
<span>Slack</span>
</a>
<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;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/slack.png') }}" width="13">
<span style="padding-left:4px;">Slack</span>
</a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<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;">
<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>
</a>
<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;">
<img style="width: 13px; margin-right: 4px; display: inline-block; vertical-align:middle;" src="{{ asset('images/emails/email.png') }}" width="13">
<span style="padding-left:4px;">E-mail</span>
</a>
<!--[if mso]>
</td><td height="40">
<![endif]-->
<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;">
<span style="padding-left:4px;">Support Docs</span>
</a>
<!--[if mso]>
</td>
</tr>
</table>
<![endif]-->
<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;">
<span>Support Docs</span>
</a>
</div>
</td>
</tr>
<tr>
<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;">
<p style="text-align: center; color: #ffffff; font-size: 10px;
font-family: Verdana, Geneva, Tahoma, sans-serif;"{{ date('Y') }} Invoice Ninja, All Rights Reserved

View File

@ -117,6 +117,9 @@
color: inherit !important;
}
.new_button {
background-color: {{ $primary_color }};
}
</style>
@ -135,30 +138,22 @@
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570"
style="border-collapse: collapse;" class="dark-bg-base">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570" style="border: 1px solid #c2c2c2;">
<tr>
<div style="text-align: center;margin-top: 25px; margin-bottom: 10px;"></div>
</tr>
<tr>
<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 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]-->
<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>
</td>
</tr>
<tr>
<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>
{{ $slot ?? '' }}
@ -166,7 +161,7 @@
<div>
<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>
</div>
@ -188,14 +183,20 @@
<tr>
<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>
</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>
<td cellpadding="20" bgcolor="#f9f9f9">
<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)
<p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 400; margin-bottom: 30px;">
{!! nl2br($signature) !!}
@ -217,7 +218,7 @@
<tr>
<td bgcolor="#242424" cellpadding="20">
<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($company->account->isPaid())
<p style="text-align: center; color: #ffffff; font-size: 10px;

View File

@ -81,6 +81,13 @@
</head>
<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'))
<div class="py-1 text-sm text-center text-white bg-primary disposable-alert">
{{ session('message') }}