2015-03-17 07:45:25 +10:00
|
|
|
@extends('header')
|
|
|
|
|
|
2015-10-06 20:55:55 +03:00
|
|
|
@section('head')
|
|
|
|
|
@parent
|
|
|
|
|
|
2016-11-24 11:22:37 +02:00
|
|
|
<script src="{{ asset('js/select2.min.js') }}" type="text/javascript"></script>
|
|
|
|
|
<link href="{{ asset('css/select2.css') }}" rel="stylesheet" type="text/css"/>
|
|
|
|
|
|
2015-10-06 20:55:55 +03:00
|
|
|
@stop
|
2015-03-17 07:45:25 +10:00
|
|
|
|
|
|
|
|
|
2015-10-06 20:55:55 +03:00
|
|
|
@section('content')
|
|
|
|
|
|
2016-02-04 20:36:39 +02:00
|
|
|
<div class="row">
|
2016-02-22 12:26:26 +02:00
|
|
|
<div class="col-md-7">
|
2016-10-18 17:55:07 +03:00
|
|
|
<ol class="breadcrumb">
|
|
|
|
|
<li>{{ link_to('/clients', trans('texts.clients')) }}</li>
|
|
|
|
|
<li class='active'>{{ $client->getDisplayName() }}</li> {!! $client->present()->statusLabel !!}
|
|
|
|
|
</ol>
|
2016-02-04 20:36:39 +02:00
|
|
|
</div>
|
2016-02-22 12:26:26 +02:00
|
|
|
<div class="col-md-5">
|
2016-02-04 20:36:39 +02:00
|
|
|
<div class="pull-right">
|
2018-03-14 13:03:30 +02:00
|
|
|
{!! Former::open('clients/bulk')->autocomplete('off')->addClass('mainForm') !!}
|
2016-02-04 20:36:39 +02:00
|
|
|
<div style="display:none">
|
|
|
|
|
{!! Former::text('action') !!}
|
|
|
|
|
{!! Former::text('public_id')->value($client->public_id) !!}
|
|
|
|
|
</div>
|
2015-03-17 07:45:25 +10:00
|
|
|
|
2016-02-04 20:36:39 +02:00
|
|
|
@if ($gatewayLink)
|
2016-06-20 17:14:43 +03:00
|
|
|
{!! Button::normal(trans('texts.view_in_gateway', ['gateway'=>$gatewayName]))
|
|
|
|
|
->asLinkTo($gatewayLink)
|
|
|
|
|
->withAttributes(['target' => '_blank']) !!}
|
2016-02-04 20:36:39 +02:00
|
|
|
@endif
|
2015-03-17 07:45:25 +10:00
|
|
|
|
2016-10-10 11:40:04 +03:00
|
|
|
@if ( ! $client->is_deleted)
|
2016-04-25 21:53:39 -04:00
|
|
|
@can('edit', $client)
|
2016-10-10 11:40:04 +03:00
|
|
|
{!! DropdownButton::normal(trans('texts.edit_client'))
|
|
|
|
|
->withAttributes(['class'=>'normalDropDown'])
|
|
|
|
|
->withContents([
|
|
|
|
|
($client->trashed() ? false : ['label' => trans('texts.archive_client'), 'url' => "javascript:onArchiveClick()"]),
|
|
|
|
|
['label' => trans('texts.delete_client'), 'url' => "javascript:onDeleteClick()"],
|
2018-03-14 19:51:49 +02:00
|
|
|
auth()->user()->is_admin ? \DropdownButton::DIVIDER : false,
|
|
|
|
|
auth()->user()->is_admin ? ['label' => trans('texts.purge_client'), 'url' => "javascript:onPurgeClick()"] : false,
|
2016-10-10 11:40:04 +03:00
|
|
|
]
|
|
|
|
|
)->split() !!}
|
2016-04-25 21:53:39 -04:00
|
|
|
@endcan
|
2016-10-10 11:40:04 +03:00
|
|
|
@if ( ! $client->trashed())
|
|
|
|
|
@can('create', ENTITY_INVOICE)
|
2017-01-23 17:00:44 +02:00
|
|
|
{!! DropdownButton::primary(trans('texts.view_statement'))
|
2016-10-10 11:40:04 +03:00
|
|
|
->withAttributes(['class'=>'primaryDropDown'])
|
|
|
|
|
->withContents($actionLinks)->split() !!}
|
|
|
|
|
@endcan
|
|
|
|
|
@endif
|
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
@if ($client->trashed())
|
2016-04-25 21:53:39 -04:00
|
|
|
@can('edit', $client)
|
2018-07-08 16:38:45 +03:00
|
|
|
@if (auth()->user()->is_admin && $client->is_deleted)
|
2018-04-26 10:28:50 +03:00
|
|
|
{!! Button::danger(trans('texts.purge_client'))
|
|
|
|
|
->appendIcon(Icon::create('warning-sign'))
|
|
|
|
|
->withAttributes(['onclick' => 'onPurgeClick()']) !!}
|
|
|
|
|
@endif
|
2016-10-10 11:40:04 +03:00
|
|
|
{!! Button::primary(trans('texts.restore_client'))
|
|
|
|
|
->appendIcon(Icon::create('cloud-download'))
|
|
|
|
|
->withAttributes(['onclick' => 'onRestoreClick()']) !!}
|
2016-04-25 21:53:39 -04:00
|
|
|
@endcan
|
2016-02-04 20:36:39 +02:00
|
|
|
@endif
|
2016-10-10 11:40:04 +03:00
|
|
|
|
|
|
|
|
|
2016-02-04 20:36:39 +02:00
|
|
|
{!! Former::close() !!}
|
2015-03-17 07:45:25 +10:00
|
|
|
|
2016-02-04 20:36:39 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-03-17 07:45:25 +10:00
|
|
|
|
|
|
|
|
@if ($client->last_login > 0)
|
|
|
|
|
<h3 style="margin-top:0px"><small>
|
2015-03-26 16:24:02 +10:00
|
|
|
{{ trans('texts.last_logged_in') }} {{ Utils::timestampToDateTimeString(strtotime($client->last_login)) }}
|
2015-03-17 07:45:25 +10:00
|
|
|
</small></h3>
|
|
|
|
|
@endif
|
|
|
|
|
|
2015-04-21 23:09:45 +03:00
|
|
|
<div class="panel panel-default">
|
|
|
|
|
<div class="panel-body">
|
2015-03-17 07:45:25 +10:00
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
|
|
<div class="col-md-3">
|
|
|
|
|
<h3>{{ trans('texts.details') }}</h3>
|
2015-03-31 21:50:58 +03:00
|
|
|
@if ($client->id_number)
|
2015-04-01 18:44:55 +03:00
|
|
|
<p><i class="fa fa-id-number" style="width: 20px"></i>{{ trans('texts.id_number').': '.$client->id_number }}</p>
|
2015-03-31 21:50:58 +03:00
|
|
|
@endif
|
2015-04-01 18:44:55 +03:00
|
|
|
@if ($client->vat_number)
|
|
|
|
|
<p><i class="fa fa-vat-number" style="width: 20px"></i>{{ trans('texts.vat_number').': '.$client->vat_number }}</p>
|
|
|
|
|
@endif
|
|
|
|
|
|
2018-04-04 16:24:59 +03:00
|
|
|
@if ($client->account->customLabel('client1') && $client->custom_value1)
|
2018-04-05 13:12:03 +03:00
|
|
|
{{ $client->account->present()->customLabel('client1') . ': ' }} {!! nl2br(e($client->custom_value1)) !!}<br/>
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
2018-04-04 16:24:59 +03:00
|
|
|
@if ($client->account->customLabel('client2') && $client->custom_value2)
|
2018-04-05 13:12:03 +03:00
|
|
|
{{ $client->account->present()->customLabel('client2') . ': ' }} {!! nl2br(e($client->custom_value2)) !!}<br/>
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
@if ($client->work_phone)
|
2015-10-06 20:55:55 +03:00
|
|
|
<i class="fa fa-phone" style="width: 20px"></i>{{ $client->work_phone }}
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
|
|
|
|
|
2017-10-17 13:57:20 +03:00
|
|
|
@if (floatval($client->task_rate))
|
|
|
|
|
<p>{{ trans('texts.task_rate') }}: {{ Utils::roundSignificant($client->task_rate) }}</p>
|
|
|
|
|
@endif
|
|
|
|
|
|
2017-11-20 10:56:02 +02:00
|
|
|
<p/>
|
|
|
|
|
|
2017-05-16 16:00:56 +03:00
|
|
|
@if ($client->public_notes)
|
2018-01-08 12:06:09 +02:00
|
|
|
<p><i>{!! nl2br(e($client->public_notes)) !!}</i></p>
|
2017-05-16 16:00:56 +03:00
|
|
|
@endif
|
|
|
|
|
|
2015-04-01 18:44:55 +03:00
|
|
|
@if ($client->private_notes)
|
2018-01-08 12:06:09 +02:00
|
|
|
<p><i>{!! nl2br(e($client->private_notes)) !!}</i></p>
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
2016-06-20 17:14:43 +03:00
|
|
|
|
2018-01-20 21:50:32 +02:00
|
|
|
@if ($client->industry || $client->size)
|
2018-03-13 08:14:24 +02:00
|
|
|
@if ($client->industry)
|
|
|
|
|
{{ $client->industry->name }}
|
|
|
|
|
@endif
|
2018-01-20 21:50:32 +02:00
|
|
|
@if ($client->industry && $client->size)
|
|
|
|
|
|
|
|
|
|
|
@endif
|
2018-02-26 19:53:31 +02:00
|
|
|
@if ($client->size)
|
|
|
|
|
{{ $client->size->name }}<br/>
|
|
|
|
|
@endif
|
2016-06-20 17:14:43 +03:00
|
|
|
@endif
|
2015-04-01 18:44:55 +03:00
|
|
|
|
|
|
|
|
@if ($client->website)
|
2015-10-13 18:44:01 +03:00
|
|
|
<p>{!! Utils::formatWebsite($client->website) !!}</p>
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
|
|
|
|
|
2015-09-10 20:50:09 +03:00
|
|
|
@if ($client->language)
|
|
|
|
|
<p><i class="fa fa-language" style="width: 20px"></i>{{ $client->language->name }}</p>
|
|
|
|
|
@endif
|
|
|
|
|
|
2017-02-01 13:09:26 +02:00
|
|
|
<p>{{ $client->present()->paymentTerms }}</p>
|
2017-11-30 19:33:27 +02:00
|
|
|
|
|
|
|
|
<div class="text-muted" style="padding-top:8px">
|
|
|
|
|
@if ($client->show_tasks_in_portal)
|
|
|
|
|
• {{ trans('texts.can_view_tasks') }}<br/>
|
|
|
|
|
@endif
|
|
|
|
|
@if ($client->account->hasReminders() && ! $client->send_reminders)
|
|
|
|
|
• {{ trans('texts.is_not_sent_reminders') }}</br>
|
|
|
|
|
@endif
|
|
|
|
|
</div>
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2017-11-19 22:34:34 +02:00
|
|
|
<div class="col-md-3">
|
|
|
|
|
<h3>{{ trans('texts.address') }}</h3>
|
|
|
|
|
|
2018-02-14 14:05:40 +02:00
|
|
|
@if ($client->addressesMatch())
|
|
|
|
|
{!! $client->present()->address(ADDRESS_BILLING) !!}
|
|
|
|
|
@else
|
|
|
|
|
{!! $client->present()->address(ADDRESS_BILLING, true) !!}<br/>
|
|
|
|
|
{!! $client->present()->address(ADDRESS_SHIPPING, true) !!}
|
|
|
|
|
@endif
|
2017-11-19 22:34:34 +02:00
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
<div class="col-md-3">
|
|
|
|
|
<h3>{{ trans('texts.contacts') }}</h3>
|
2018-03-29 10:56:20 +03:00
|
|
|
@foreach ($client->contacts as $contact)
|
2015-04-01 18:44:55 +03:00
|
|
|
@if ($contact->first_name || $contact->last_name)
|
|
|
|
|
<b>{{ $contact->first_name.' '.$contact->last_name }}</b><br/>
|
|
|
|
|
@endif
|
|
|
|
|
@if ($contact->email)
|
2018-03-29 10:56:20 +03:00
|
|
|
<i class="fa fa-envelope" style="width: 20px"></i>{!! HTML::mailto($contact->email, $contact->email) !!}<br/>
|
2015-04-01 18:44:55 +03:00
|
|
|
@endif
|
|
|
|
|
@if ($contact->phone)
|
2015-10-06 20:55:55 +03:00
|
|
|
<i class="fa fa-phone" style="width: 20px"></i>{{ $contact->phone }}<br/>
|
2016-05-24 17:02:28 -04:00
|
|
|
@endif
|
2017-04-16 14:31:14 +03:00
|
|
|
|
2018-04-04 16:24:59 +03:00
|
|
|
@if ($client->account->customLabel('contact1') && $contact->custom_value1)
|
|
|
|
|
{{ $client->account->present()->customLabel('contact1') . ': ' . $contact->custom_value1 }}<br/>
|
2017-04-16 14:31:14 +03:00
|
|
|
@endif
|
2018-04-04 16:24:59 +03:00
|
|
|
@if ($client->account->customLabel('contact2') && $contact->custom_value2)
|
|
|
|
|
{{ $client->account->present()->customLabel('contact2') . ': ' . $contact->custom_value2 }}<br/>
|
2017-04-16 14:31:14 +03:00
|
|
|
@endif
|
|
|
|
|
|
2016-09-06 12:12:36 +03:00
|
|
|
@if (Auth::user()->confirmed && $client->account->enable_client_portal)
|
2017-02-19 22:47:16 +02:00
|
|
|
<i class="fa fa-dashboard" style="width: 20px"></i><a href="{{ $contact->link }}"
|
2019-07-21 09:19:39 +03:00
|
|
|
onclick="window.open('{{ $contact->link }}?silent=true', '_blank');return false;">{{ trans('texts.view_in_portal') }}</a>
|
2018-03-29 10:56:20 +03:00
|
|
|
@if (config('services.postmark'))
|
2019-07-21 09:19:39 +03:00
|
|
|
<div style="padding-top:10px">
|
|
|
|
|
<a href="#" class="btn btn-sm btn-primary" onclick="showEmailHistory('{{ $contact->email }}')">
|
|
|
|
|
{{ trans('texts.email_history') }}
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
2018-03-29 10:56:20 +03:00
|
|
|
@endif
|
|
|
|
|
<br/>
|
2016-07-04 21:47:05 +03:00
|
|
|
@endif
|
2017-02-26 14:09:57 +02:00
|
|
|
<br/>
|
2018-03-29 10:56:20 +03:00
|
|
|
@endforeach
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2017-11-19 22:34:34 +02:00
|
|
|
<div class="col-md-3">
|
2015-03-17 07:45:25 +10:00
|
|
|
<h3>{{ trans('texts.standing') }}
|
2015-10-06 20:55:55 +03:00
|
|
|
<table class="table" style="width:100%">
|
2015-03-17 07:45:25 +10:00
|
|
|
<tr>
|
|
|
|
|
<td><small>{{ trans('texts.paid_to_date') }}</small></td>
|
2015-06-10 11:34:20 +03:00
|
|
|
<td style="text-align: right">{{ Utils::formatMoney($client->paid_to_date, $client->getCurrencyId()) }}</td>
|
2015-03-17 07:45:25 +10:00
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><small>{{ trans('texts.balance') }}</small></td>
|
2015-06-10 11:34:20 +03:00
|
|
|
<td style="text-align: right">{{ Utils::formatMoney($client->balance, $client->getCurrencyId()) }}</td>
|
2015-03-17 07:45:25 +10:00
|
|
|
</tr>
|
|
|
|
|
@if ($credit > 0)
|
|
|
|
|
<tr>
|
|
|
|
|
<td><small>{{ trans('texts.credit') }}</small></td>
|
2015-06-10 11:34:20 +03:00
|
|
|
<td style="text-align: right">{{ Utils::formatMoney($credit, $client->getCurrencyId()) }}</td>
|
2015-03-17 07:45:25 +10:00
|
|
|
</tr>
|
|
|
|
|
@endif
|
|
|
|
|
</table>
|
|
|
|
|
</h3>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-04-21 23:09:45 +03:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2015-03-17 07:45:25 +10:00
|
|
|
|
2016-12-25 09:57:33 +02:00
|
|
|
@if ($client->showMap())
|
2019-02-03 11:52:02 +11:00
|
|
|
|
|
|
|
|
<iframe
|
|
|
|
|
width="100%"
|
|
|
|
|
height="200px"
|
|
|
|
|
frameborder="0" style="border:0"
|
|
|
|
|
src="https://www.google.com/maps/embed/v1/place?key={{ env('GOOGLE_MAPS_API_KEY') }}&q={!! e("{$client->address1} {$client->address2} {$client->city} {$client->state} {$client->postal_code} " . ($client->country ? $client->country->getName() : '')) !!}" allowfullscreen>
|
|
|
|
|
</iframe>
|
|
|
|
|
|
2015-10-06 20:55:55 +03:00
|
|
|
@endif
|
|
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
<ul class="nav nav-tabs nav-justified">
|
2016-03-02 15:36:42 +02:00
|
|
|
{!! Form::tab_link('#activity', trans('texts.activity'), true) !!}
|
2018-03-15 23:07:20 +02:00
|
|
|
@if ($hasTasks)
|
2016-03-02 15:36:42 +02:00
|
|
|
{!! Form::tab_link('#tasks', trans('texts.tasks')) !!}
|
2015-05-27 19:52:10 +03:00
|
|
|
@endif
|
2018-03-15 23:07:20 +02:00
|
|
|
@if ($hasExpenses)
|
|
|
|
|
{!! Form::tab_link('#expenses', trans('texts.expenses')) !!}
|
|
|
|
|
@endif
|
|
|
|
|
@if ($hasQuotes)
|
2016-03-02 15:36:42 +02:00
|
|
|
{!! Form::tab_link('#quotes', trans('texts.quotes')) !!}
|
2015-03-17 07:45:25 +10:00
|
|
|
@endif
|
2016-11-24 11:22:37 +02:00
|
|
|
@if ($hasRecurringInvoices)
|
|
|
|
|
{!! Form::tab_link('#recurring_invoices', trans('texts.recurring')) !!}
|
|
|
|
|
@endif
|
2016-03-02 15:36:42 +02:00
|
|
|
{!! Form::tab_link('#invoices', trans('texts.invoices')) !!}
|
|
|
|
|
{!! Form::tab_link('#payments', trans('texts.payments')) !!}
|
2018-03-15 23:07:20 +02:00
|
|
|
@if ($account->isModuleEnabled(ENTITY_CREDIT))
|
|
|
|
|
{!! Form::tab_link('#credits', trans('texts.credits')) !!}
|
|
|
|
|
@endif
|
2016-11-24 11:22:37 +02:00
|
|
|
</ul><br/>
|
2015-03-17 07:45:25 +10:00
|
|
|
|
|
|
|
|
<div class="tab-content">
|
|
|
|
|
|
|
|
|
|
<div class="tab-pane active" id="activity">
|
2015-03-26 16:24:02 +10:00
|
|
|
{!! Datatable::table()
|
2015-03-17 07:45:25 +10:00
|
|
|
->addColumn(
|
|
|
|
|
trans('texts.date'),
|
|
|
|
|
trans('texts.message'),
|
|
|
|
|
trans('texts.balance'),
|
|
|
|
|
trans('texts.adjustment'))
|
|
|
|
|
->setUrl(url('api/activities/'. $client->public_id))
|
2015-11-29 18:00:50 +02:00
|
|
|
->setCustomValues('entityType', 'activity')
|
2016-11-25 12:53:35 +02:00
|
|
|
->setCustomValues('clientId', $client->public_id)
|
2016-12-25 23:43:57 +02:00
|
|
|
->setCustomValues('rightAlign', [2, 3])
|
2015-03-17 07:45:25 +10:00
|
|
|
->setOptions('sPaginationType', 'bootstrap')
|
|
|
|
|
->setOptions('bFilter', false)
|
|
|
|
|
->setOptions('aaSorting', [['0', 'desc']])
|
2015-03-26 16:24:02 +10:00
|
|
|
->render('datatable') !!}
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2015-05-27 19:52:10 +03:00
|
|
|
@if ($hasTasks)
|
|
|
|
|
<div class="tab-pane" id="tasks">
|
2016-11-24 11:22:37 +02:00
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_TASK,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\TaskDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/tasks/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
2015-05-27 19:52:10 +03:00
|
|
|
</div>
|
|
|
|
|
@endif
|
|
|
|
|
|
2018-03-15 23:07:20 +02:00
|
|
|
@if ($hasExpenses)
|
|
|
|
|
<div class="tab-pane" id="expenses">
|
|
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_EXPENSE,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\ExpenseDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/client_expenses/' . $client->public_id),
|
2018-03-15 23:07:20 +02:00
|
|
|
])
|
|
|
|
|
</div>
|
|
|
|
|
@endif
|
2015-05-27 19:52:10 +03:00
|
|
|
|
2016-04-18 22:35:18 -04:00
|
|
|
@if (Utils::hasFeature(FEATURE_QUOTES) && $hasQuotes)
|
2015-03-17 07:45:25 +10:00
|
|
|
<div class="tab-pane" id="quotes">
|
2016-11-24 11:22:37 +02:00
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_QUOTE,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\InvoiceDatatable(true, true, ENTITY_QUOTE),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/quotes/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
|
|
|
|
</div>
|
|
|
|
|
@endif
|
2015-03-17 07:45:25 +10:00
|
|
|
|
2016-11-24 11:22:37 +02:00
|
|
|
@if ($hasRecurringInvoices)
|
|
|
|
|
<div class="tab-pane" id="recurring_invoices">
|
|
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_RECURRING_INVOICE,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\RecurringInvoiceDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/recurring_invoices/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
<div class="tab-pane" id="invoices">
|
2016-11-24 11:22:37 +02:00
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_INVOICE,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\InvoiceDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/invoices/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2016-11-24 11:22:37 +02:00
|
|
|
<div class="tab-pane" id="payments">
|
|
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_PAYMENT,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\PaymentDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/payments/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2018-03-15 23:07:20 +02:00
|
|
|
@if ($account->isModuleEnabled(ENTITY_CREDIT))
|
2016-11-24 11:22:37 +02:00
|
|
|
<div class="tab-pane" id="credits">
|
|
|
|
|
@include('list', [
|
|
|
|
|
'entityType' => ENTITY_CREDIT,
|
|
|
|
|
'datatable' => new \App\Ninja\Datatables\CreditDatatable(true, true),
|
|
|
|
|
'clientId' => $client->public_id,
|
2018-05-08 22:54:12 +03:00
|
|
|
'url' => url('api/credits/' . $client->public_id),
|
2016-11-24 11:22:37 +02:00
|
|
|
])
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
2018-03-15 23:07:20 +02:00
|
|
|
@endif
|
2016-11-24 11:22:37 +02:00
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
</div>
|
|
|
|
|
|
2018-02-25 10:47:15 +02:00
|
|
|
<div class="modal fade" id="emailHistoryModal" tabindex="-1" role="dialog" aria-labelledby="emailHistoryModalLabel" aria-hidden="true">
|
|
|
|
|
<div class="modal-dialog">
|
|
|
|
|
<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="myModalLabel">{{ trans('texts.email_history') }}</h4>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="container" style="width: 100%; padding-bottom: 0px !important">
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
|
<div class="panel-body">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.close') }} </button>
|
2018-02-25 13:51:20 +02:00
|
|
|
<button type="button" class="btn btn-danger" onclick="onReactivateClick()" id="reactivateButton" style="display:none;">{{ trans('texts.reactivate') }} </button>
|
2018-02-25 10:47:15 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
2015-11-29 18:00:50 +02:00
|
|
|
var loadedTabs = {};
|
|
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
$(function() {
|
2017-10-24 20:58:22 +03:00
|
|
|
$('.normalDropDown:not(.dropdown-toggle)').click(function(event) {
|
|
|
|
|
openUrlOnClick('{{ URL::to('clients/' . $client->public_id . '/edit') }}', event);
|
2015-03-17 07:45:25 +10:00
|
|
|
});
|
2017-10-24 20:58:22 +03:00
|
|
|
$('.primaryDropDown:not(.dropdown-toggle)').click(function(event) {
|
|
|
|
|
openUrlOnClick('{{ URL::to('clients/statement/' . $client->public_id ) }}', event);
|
2015-03-17 07:45:25 +10:00
|
|
|
});
|
2015-11-11 18:24:48 +02:00
|
|
|
|
2015-11-29 18:00:50 +02:00
|
|
|
// load datatable data when tab is shown and remember last tab selected
|
2015-11-11 18:24:48 +02:00
|
|
|
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
|
|
|
|
|
var target = $(e.target).attr("href") // activated tab
|
2015-11-29 18:00:50 +02:00
|
|
|
target = target.substring(1);
|
2017-03-20 15:40:10 +02:00
|
|
|
if (isStorageSupported()) {
|
|
|
|
|
localStorage.setItem('client_tab', target);
|
|
|
|
|
}
|
2017-07-17 13:51:20 +03:00
|
|
|
if (!loadedTabs.hasOwnProperty(target) && window['load_' + target]) {
|
2015-11-29 18:00:50 +02:00
|
|
|
loadedTabs[target] = true;
|
|
|
|
|
window['load_' + target]();
|
|
|
|
|
}
|
2015-11-11 18:24:48 +02:00
|
|
|
});
|
2016-12-04 12:24:48 +02:00
|
|
|
|
|
|
|
|
var tab = window.location.hash || (localStorage.getItem('client_tab') || '');
|
2016-12-05 11:50:23 +02:00
|
|
|
tab = tab.replace('#', '');
|
|
|
|
|
var selector = '.nav-tabs a[href="#' + tab + '"]';
|
2017-07-17 13:59:44 +03:00
|
|
|
|
|
|
|
|
if (tab && tab != 'activity' && $(selector).length && window['load_' + tab]) {
|
2016-01-10 20:25:15 +02:00
|
|
|
$(selector).tab('show');
|
2015-11-29 18:00:50 +02:00
|
|
|
} else {
|
|
|
|
|
window['load_activity']();
|
2015-11-11 18:24:48 +02:00
|
|
|
}
|
2015-03-17 07:45:25 +10:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function onArchiveClick() {
|
|
|
|
|
$('#action').val('archive');
|
|
|
|
|
$('.mainForm').submit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onRestoreClick() {
|
|
|
|
|
$('#action').val('restore');
|
|
|
|
|
$('.mainForm').submit();
|
|
|
|
|
}
|
|
|
|
|
|
2018-03-14 19:51:49 +02:00
|
|
|
function onDeleteClick() {
|
2016-07-28 19:55:23 +03:00
|
|
|
sweetConfirm(function() {
|
2015-03-17 07:45:25 +10:00
|
|
|
$('#action').val('delete');
|
|
|
|
|
$('.mainForm').submit();
|
2016-07-28 19:55:23 +03:00
|
|
|
});
|
2015-03-17 07:45:25 +10:00
|
|
|
}
|
|
|
|
|
|
2018-03-14 19:51:49 +02:00
|
|
|
function onPurgeClick() {
|
|
|
|
|
sweetConfirm(function() {
|
|
|
|
|
$('#action').val('purge');
|
|
|
|
|
$('.mainForm').submit();
|
2018-07-07 22:13:02 +03:00
|
|
|
}, "{{ trans('texts.purge_client_warning') . "\\n\\n" . trans('texts.mobile_refresh_warning') . "\\n\\n" . trans('texts.no_undo') }}");
|
2018-03-14 19:51:49 +02:00
|
|
|
}
|
|
|
|
|
|
2018-02-25 10:47:15 +02:00
|
|
|
function showEmailHistory(email) {
|
2018-02-25 13:51:20 +02:00
|
|
|
window.emailBounceId = false;
|
2018-02-25 10:47:15 +02:00
|
|
|
$('#emailHistoryModal .panel-body').html("{{ trans('texts.loading') }}...");
|
2018-02-25 13:51:20 +02:00
|
|
|
$('#reactivateButton').hide();
|
2018-02-25 10:47:15 +02:00
|
|
|
$('#emailHistoryModal').modal('show');
|
|
|
|
|
$.post('{{ url('/email_history') }}', {email: email}, function(data) {
|
2018-02-25 13:51:20 +02:00
|
|
|
$('#emailHistoryModal .panel-body').html(data.str);
|
|
|
|
|
window.emailBounceId = data.bounce_id;
|
|
|
|
|
$('#reactivateButton').toggle(!! window.emailBounceId);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onReactivateClick() {
|
|
|
|
|
$.post('{{ url('/reactivate_email') }}/' + window.emailBounceId, function(data) {
|
|
|
|
|
$('#emailHistoryModal').modal('hide');
|
|
|
|
|
swal("{{ trans('texts.reactivated_email') }}")
|
2018-02-25 10:47:15 +02:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-17 07:45:25 +10:00
|
|
|
</script>
|
|
|
|
|
|
2015-06-24 04:37:51 -07:00
|
|
|
@stop
|