mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-09 20:52:56 +01:00
Bug fixes
This commit is contained in:
parent
bb04eba0fe
commit
60daef8d58
@ -425,8 +425,7 @@ class PaymentController extends BaseController
|
||||
$details['customerReference'] = $token;
|
||||
} else {
|
||||
$this->error('Token-No-Ref', $this->paymentService->lastError, $accountGateway);
|
||||
return Redirect::to('payment/'.$invitationKey)
|
||||
->withInput(Request::except('cvv'));
|
||||
return Redirect::to('payment/'.$invitationKey)->withInput(Request::except('cvv'));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -471,8 +470,12 @@ class PaymentController extends BaseController
|
||||
Session::save();
|
||||
$response->redirect();
|
||||
} else {
|
||||
$this->error('Fatal', $response->getMessage(), $accountGateway);
|
||||
return Utils::fatalError('Sorry, there was an error processing your payment. Please try again later.<p>', $response->getMessage());
|
||||
$this->error('Unknown', $response->getMessage(), $accountGateway);
|
||||
if ($onSite) {
|
||||
return Redirect::to('payment/'.$invitationKey)->withInput(Request::except('cvv'));
|
||||
} else {
|
||||
return Redirect::to('view/'.$invitationKey);
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$this->error('Uncaught', false, $accountGateway, $e);
|
||||
|
@ -175,7 +175,7 @@ class TaskController extends BaseController
|
||||
{
|
||||
$action = Input::get('action');
|
||||
|
||||
if (in_array($action, ['archive', 'delete', 'invoice', 'restore', 'add_to_invoice'])) {
|
||||
if (in_array($action, ['archive', 'delete', 'restore'])) {
|
||||
return self::bulk();
|
||||
}
|
||||
|
||||
@ -190,6 +190,10 @@ class TaskController extends BaseController
|
||||
$task = $this->taskRepo->save($publicId, Input::all());
|
||||
Session::flash('message', trans($publicId ? 'texts.updated_task' : 'texts.created_task'));
|
||||
|
||||
if (in_array($action, ['invoice', 'add_to_invoice'])) {
|
||||
return self::bulk();
|
||||
}
|
||||
|
||||
return Redirect::to("tasks/{$task->public_id}/edit");
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Routes
|
||||
@ -435,7 +434,7 @@ if (!defined('CONTACT_EMAIL')) {
|
||||
define('NINJA_GATEWAY_CONFIG', 'NINJA_GATEWAY_CONFIG');
|
||||
define('NINJA_WEB_URL', 'https://www.invoiceninja.com');
|
||||
define('NINJA_APP_URL', 'https://app.invoiceninja.com');
|
||||
define('NINJA_VERSION', '2.4.8');
|
||||
define('NINJA_VERSION', '2.4.8.1');
|
||||
define('NINJA_DATE', '2000-01-01');
|
||||
|
||||
define('SOCIAL_LINK_FACEBOOK', 'https://www.facebook.com/invoiceninja');
|
||||
@ -510,7 +509,8 @@ if (!defined('CONTACT_EMAIL')) {
|
||||
define('API_SERIALIZER_JSON', 'json');
|
||||
|
||||
define('EMAIL_DESIGN_PLAIN', 1);
|
||||
define('FLAT_BUTTON_CSS', 'border:0 none;border-radius:6px;padding:12px 40px;margin:0 6px;cursor:hand;display:inline-block;font-size:14px;color:#fff;text-transform:none');
|
||||
define('EMAIL_DESIGN_LIGHT', 2);
|
||||
define('EMAIL_DESIGN_DARK', 3);
|
||||
|
||||
$creditCards = [
|
||||
1 => ['card' => 'images/credit_cards/Test-Visa-Icon.png', 'text' => 'Visa'],
|
||||
|
BIN
public/images/emails/dark.png
Normal file
BIN
public/images/emails/dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
public/images/emails/light.png
Normal file
BIN
public/images/emails/light.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
public/images/emails/plain.png
Normal file
BIN
public/images/emails/plain.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
@ -981,5 +981,13 @@
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
|
||||
);
|
||||
|
@ -983,4 +983,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -272,7 +272,7 @@ return array(
|
||||
'notification_invoice_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.',
|
||||
'notification_invoice_sent' => 'The following client :client was emailed Invoice :invoice for :amount.',
|
||||
'notification_invoice_viewed' => 'The following client :client viewed Invoice :invoice for :amount.',
|
||||
'reset_password' => 'You can reset your account password by clicking the following link:',
|
||||
'reset_password' => 'You can reset your account password by clicking the following button:',
|
||||
'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL,
|
||||
|
||||
|
||||
@ -989,5 +989,7 @@ return array(
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -959,4 +959,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -980,4 +980,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -974,4 +974,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -974,4 +974,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -976,4 +976,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -270,7 +270,7 @@ return array(
|
||||
'notification_invoice_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.',
|
||||
'notification_invoice_sent' => 'The following client :client was emailed Invoice :invoice for :amount.',
|
||||
'notification_invoice_viewed' => 'The following client :client viewed Invoice :invoice for :amount.',
|
||||
'reset_password' => 'You can reset your account password by clicking the following link:',
|
||||
'reset_password' => 'You can reset your account password by clicking the following button:',
|
||||
'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL,
|
||||
|
||||
|
||||
@ -983,5 +983,13 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
||||
|
@ -981,4 +981,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -977,4 +977,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -973,4 +973,12 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
);
|
||||
|
@ -978,4 +978,13 @@ return array(
|
||||
'next_invoice_number' => 'The next invoice number is :number.',
|
||||
'next_quote_number' => 'The next quote number is :number.',
|
||||
|
||||
'days_before' => 'days before',
|
||||
'days_after' => 'days after',
|
||||
'field_due_date' => 'due date',
|
||||
'field_invoice_date' => 'invoice date',
|
||||
'schedule' => 'Schedule',
|
||||
'email_designs' => 'Email Designs',
|
||||
'assigned_when_sent' => 'Assigned when sent',
|
||||
|
||||
|
||||
);
|
||||
|
@ -53,10 +53,11 @@
|
||||
<div class="panel-body form-padding-right">
|
||||
|
||||
{!! Former::select('email_design_id')
|
||||
->style('width: 200px')
|
||||
->addOption(trans('texts.plain'), 1)
|
||||
->addOption(trans('texts.light'), 2)
|
||||
->addOption(trans('texts.dark'), 3)
|
||||
->appendIcon('question-sign')
|
||||
->addGroupClass('email_design_id')
|
||||
->addOption(trans('texts.plain'), EMAIL_DESIGN_PLAIN)
|
||||
->addOption(trans('texts.light'), EMAIL_DESIGN_LIGHT)
|
||||
->addOption(trans('texts.dark'), EMAIL_DESIGN_DARK)
|
||||
->help(trans('texts.email_design_help')) !!}
|
||||
|
||||
|
||||
@ -105,6 +106,39 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="designHelpModal" tabindex="-1" role="dialog" aria-labelledby="designHelpModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" style="min-width:150px">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title" id="designHelpModalLabel">{{ trans('texts.email_designs') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="row" style="text-align:center">
|
||||
<div class="col-md-4">
|
||||
<h4>{{ trans('texts.plain') }}</h4><br/>
|
||||
<img src="{{ asset('images/emails/plain.png') }}" class="img-responsive"/>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h4>{{ trans('texts.light') }}</h4><br/>
|
||||
<img src="{{ asset('images/emails/light.png') }}" class="img-responsive"/>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h4>{{ trans('texts.dark') }}</h4><br/>
|
||||
<img src="{{ asset('images/emails/dark.png') }}" class="img-responsive"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer" style="margin-top: 0px">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">{{ trans('texts.close') }}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::close() !!}
|
||||
|
||||
<script type="text/javascript">
|
||||
@ -132,6 +166,9 @@
|
||||
$('#iframeHelpModal').modal('show');
|
||||
});
|
||||
|
||||
$('.email_design_id .input-group-addon').click(function() {
|
||||
$('#designHelpModal').modal('show');
|
||||
});
|
||||
|
||||
$(function() {
|
||||
onCustomLinkChange();
|
||||
|
@ -20,11 +20,11 @@
|
||||
</td>
|
||||
<td width="183" style="border-collapse: collapse; vertical-align: middle;" valign="middle">
|
||||
<p class="left" style="line-height: 22px; margin: 0; padding: 2px 0 0;">
|
||||
<span style="font-size: 11px; color: #8f8d8e;">
|
||||
@if ($invoice->due_date)
|
||||
<span style="font-size: 11px; color: #8f8d8e;">
|
||||
{{ strtoupper(trans('texts.due_by', ['date' => $account->formatDate($invoice->due_date)])) }}
|
||||
@endif
|
||||
</span><br />
|
||||
@endif
|
||||
<span style="font-size: 18px;">
|
||||
{{ trans("texts.{$entityType}") }} {{ $invoice->invoice_number }}
|
||||
</span>
|
||||
|
@ -20,11 +20,11 @@
|
||||
</td>
|
||||
<td width="183" style="border-collapse: collapse; vertical-align: middle; line-height: 16px;" valign="middle">
|
||||
<p class="left" style="line-height: 22px; margin: 3px 0 0; padding: 0;">
|
||||
<span style="font-size: 11px; color: #8f8d8e;">
|
||||
@if ($invoice->due_date)
|
||||
<span style="font-size: 11px; color: #8f8d8e;">
|
||||
{{ strtoupper(trans('texts.due_by', ['date' => $account->formatDate($invoice->due_date)])) }}
|
||||
@endif
|
||||
</span><br />
|
||||
@endif
|
||||
<span style="font-size: 19px; color: #FFFFFF;">
|
||||
{{ trans("texts.{$entityType}") }} {{ $invoice->invoice_number }}
|
||||
</span>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
|
||||
<body style="min-height: 600px; color: #000000; font-family: Arial, Helvetica, sans-serif; font-size: 12px; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; background: #F4F5F5; margin: 0; padding: 0;"
|
||||
<body style="min-height: 700px; color: #000000; font-family: Arial, Helvetica, sans-serif; font-size: 12px; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; background: #F4F5F5; margin: 0; padding: 0;"
|
||||
alink="#FF0000" link="#FF0000" bgcolor="#F4F5F5" text="#000000" yahoo="fix">
|
||||
@yield('markup')
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="body_style" style="min-height: 600px; color: #2E2B2B; font-family: Helvetica, sans-serif; font-size: 16px;
|
||||
<div id="body_style" style="min-height: 700px; color: #2E2B2B; font-family: Helvetica, sans-serif; font-size: 16px;
|
||||
background: #F4F5F5; padding: 0px 15px;">
|
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF" width="600" align="center">
|
||||
|
@ -1,9 +1,26 @@
|
||||
{{ trans('texts.email_salutation', ['name' => $user->username]) }} <p/>
|
||||
@extends('emails.master_user')
|
||||
|
||||
{{ trans('texts.reset_password') }} <br/>
|
||||
{!! url('password/reset/'.$token) !!}<p/>
|
||||
|
||||
{{ trans('texts.email_signature') }} <br/>
|
||||
{{ trans('texts.email_from') }} <p/>
|
||||
|
||||
{{ trans('texts.reset_password_footer') }} <p/>
|
||||
@section('body')
|
||||
<div>
|
||||
{{ trans('texts.reset_password') }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<center>
|
||||
@include('partials.email_button', [
|
||||
'link' => URL::to("password/reset/{$token}"),
|
||||
'field' => 'reset',
|
||||
'color' => '#36c157',
|
||||
])
|
||||
</center>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{ trans('texts.email_signature') }}<br/>
|
||||
{{ trans('texts.email_from') }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{ trans('texts.reset_password_footer') }}
|
||||
</div>
|
||||
@stop
|
@ -857,7 +857,7 @@
|
||||
invoice.contact = _.findWhere(invoice.client.contacts, {send_invoice: true});
|
||||
|
||||
if (invoice.is_recurring) {
|
||||
invoice.invoice_number = '0000';
|
||||
invoice.invoice_number = "{{ trans('texts.assigned_when_sent') }}";
|
||||
if (invoice.start_date) {
|
||||
invoice.invoice_date = invoice.start_date;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user