Skip to content

Commit 83b3fd7

Browse files
committed
Merge branch 'develop'
2 parents 6a98f31 + a4f95d8 commit 83b3fd7

File tree

24 files changed

+234
-33
lines changed

24 files changed

+234
-33
lines changed

resources/lang/en/lang.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
'expected_close_date' => 'expected close date',
8181
'add_person' => 'add person',
8282
'name' => 'name',
83+
'edit_deal' => 'edit deal',
8384
'open_deals' => 'open deals',
8485
'lost_deals' => 'lost deals',
8586
'won_deals' => 'won deals',
@@ -104,6 +105,7 @@
104105
'person_stored' => 'person stored',
105106
'person_updated' => 'person updated',
106107
'person_deleted' => 'person deleted',
108+
'edit_user' => 'edit user',
107109
'user_stored' => 'user stored',
108110
'user_updated' => 'user updated',
109111
'user_deleted' => 'user deleted',

resources/views/deals/partials/card-index.blade.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
@endslot
88

99
@slot('actions')
10+
@can('create crm deals')
1011
<span class="float-right"><a type="button" class="btn btn-primary btn-sm" href="{{ url(route('laravel-crm.deals.create')) }}"><span class="fa fa-plus"></span> {{ ucfirst(__('laravel-crm::lang.add_deal')) }}</a></span>
12+
@endcan
1113
@endslot
1214

1315
@endcomponent
@@ -41,19 +43,27 @@
4143
<td>{{ ($deal->expected_close) ? $deal->expected_close->toFormattedDateString() : null }}</td>
4244
<td>{{ $deal->assignedToUser->name ?? null }}</td>
4345
<td class="disable-link text-right">
46+
@can('edit crm deals')
4447
@if(!$deal->closed_at)
4548
<a href="{{ route('laravel-crm.deals.won',$deal) }}" class="btn btn-success btn-sm">{{ ucfirst(__('laravel-crm::lang.won')) }}</a>
4649
<a href="{{ route('laravel-crm.deals.lost',$deal) }}" class="btn btn-danger btn-sm">{{ ucfirst(__('laravel-crm::lang.lost')) }}</a>
4750
@else
4851
<a href="{{ route('laravel-crm.deals.reopen',$deal) }}" class="btn btn-outline-secondary btn-sm">{{ ucfirst(__('laravel-crm::lang.reopen')) }}</a>
4952
@endif
53+
@endcan
54+
@can('view crm deals')
5055
<a href="{{ route('laravel-crm.deals.show',$deal) }}" class="btn btn-outline-secondary btn-sm"><span class="fa fa-eye" aria-hidden="true"></span></a>
56+
@endcan
57+
@can('edit crm deals')
5158
<a href="{{ route('laravel-crm.deals.edit',$deal) }}" class="btn btn-outline-secondary btn-sm"><span class="fa fa-edit" aria-hidden="true"></span></a>
59+
@endcan
60+
@can('delete crm deals')
5261
<form action="{{ route('laravel-crm.deals.destroy',$deal) }}" method="POST" class="form-check-inline mr-0 form-delete-button">
5362
{{ method_field('DELETE') }}
5463
{{ csrf_field() }}
5564
<button class="btn btn-danger btn-sm" type="submit" data-model="{{ __('laravel-crm::lang.deal') }}"><span class="fa fa-trash-o" aria-hidden="true"></span></button>
5665
</form>
66+
@endcan
5767
</td>
5868
</tr>
5969
@endforeach

resources/views/deals/partials/card-show.blade.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,25 @@
99
@slot('actions')
1010
<span class="float-right">
1111
<a type="button" class="btn btn-outline-secondary btn-sm" href="{{ url(route('laravel-crm.deals.index')) }}"><span class="fa fa-angle-double-left"></span> {{ ucfirst(__('laravel-crm::lang.back_to_deals')) }}</a> |
12+
@can('edit crm deals')
1213
@if(!$deal->closed_at)
1314
<a href="{{ route('laravel-crm.deals.won',$deal) }}" class="btn btn-success btn-sm">{{ ucfirst(__('laravel-crm::lang.won')) }}</a>
1415
<a href="{{ route('laravel-crm.deals.lost',$deal) }}" class="btn btn-danger btn-sm">{{ ucfirst(__('laravel-crm::lang.lost')) }}</a>
1516
@else
1617
<a href="{{ route('laravel-crm.deals.reopen',$deal) }}" class="btn btn-outline-secondary btn-sm">{{ ucfirst(__('laravel-crm::lang.reopen')) }}</a>
1718
@endif
19+
@endcan
1820
@include('laravel-crm::partials.navs.activities') |
21+
@can('edit crm deals')
1922
<a href="{{ url(route('laravel-crm.deals.edit', $deal)) }}" type="button" class="btn btn-outline-secondary btn-sm"><span class="fa fa-edit" aria-hidden="true"></span></a>
23+
@endcan
24+
@can('delete crm deals')
2025
<form action="{{ route('laravel-crm.deals.destroy',$deal) }}" method="POST" class="form-check-inline mr-0 form-delete-button">
2126
{{ method_field('DELETE') }}
2227
{{ csrf_field() }}
2328
<button class="btn btn-danger btn-sm" type="submit" data-model="{{ __('laravel-crm::lang.deal') }}"><span class="fa fa-trash-o" aria-hidden="true"></span></button>
2429
</form>
30+
@endcan
2531
</span>
2632
@endslot
2733

@@ -52,7 +58,7 @@
5258
<hr />
5359
<p><span class="fa fa-building" aria-hidden="true"></span> {{ $deal->organisation->name ?? null }}</p>
5460
<p><span class="fa fa-map-marker" aria-hidden="true"></span> {{ ($organisation_address) ? \VentureDrake\LaravelCrm\Http\Helpers\AddressLine\addressSingleLine($organisation_address) : null }} </p>
55-
61+
@can('view crm products')
5662
<h6 class="text-uppercase mt-4 section-h6-title-table"><span>{{ ucfirst(__('laravel-crm::lang.products')) }} ({{ $deal->dealProducts->count() }})</span></h6>
5763
<table class="table table-hover">
5864
<thead>
@@ -74,6 +80,7 @@
7480
@endforeach
7581
</tbody>
7682
</table>
83+
@endcan
7784
</div>
7885
<div class="col-sm-6">
7986
<h6 class="text-uppercase">{{ ucfirst(__('laravel-crm::lang.notes')) }}</h6>

resources/views/layouts/partials/nav-settings.blade.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
<ul class="nav nav-tabs card-header-tabs" id="bologna-list" role="tablist">
2+
@can('view crm settings')
23
<li class="nav-item">
34
<a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.settings') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.settings.edit')) }}" role="tab" aria-controls="settings" aria-selected="true">{{ ucwords(__('laravel-crm::lang.general_settings')) }}</a>
45
</li>
6+
@endcan
7+
@can('view crm product categories')
58
<li class="nav-item">
69
<a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.product-categories') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.product-categories.index')) }}" role="tab" aria-controls="product-categories" aria-selected="false">{{ ucwords(__('laravel-crm::lang.product_categories')) }}</a>
710
</li>
11+
@endcan
12+
@can('view crm roles')
813
<li class="nav-item">
914
<a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.roles') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.roles.index')) }}" role="tab" aria-controls="roles" aria-selected="false">{{ ucwords(__('laravel-crm::lang.roles_and_permissions')) }}</a>
1015
</li>
16+
@endcan
1117
{{--<li class="nav-item">
1218
<a class="nav-link" href="#integrations" role="tab" aria-controls="integrations" aria-selected="false">{{ ucwords(__('laravel-crm::lang.integrations')) }}</a>
1319
</li>--}}

resources/views/layouts/partials/nav.blade.php

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,51 @@
22
<div class="card-body py-3">
33
<ul class="nav nav-pills flex-column">
44
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.dashboard') === 0) ? 'active' : '' }}" aria-current="dashboard" href="{{ url(route('laravel-crm.dashboard')) }}">{{ ucfirst(__('laravel-crm::lang.dashboard')) }}</a></li>
5+
@can('view crm leads')
56
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.leads') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.leads.index')) }}">{{ ucfirst(__('laravel-crm::lang.leads')) }}</a></li>
7+
@endcan
8+
@can('view crm deals')
69
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.deals') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.deals.index')) }}">{{ ucfirst(__('laravel-crm::lang.deals')) }}</a></li>
10+
@endcan
11+
@canany(['view crm people', 'dview crm organisations'])
712
<li class="dropdown-divider"></li>
13+
@endcan
814
{{--<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.activities') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.activities.index')) }}">{{ ucfirst(__('laravel-crm::lang.activities')) }}</a></li>--}}
915
{{--<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.contacts') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.contacts.index')) }}">{{ ucfirst(__('laravel-crm::lang.contacts')) }}</a></li>--}}
16+
@can('view crm people')
1017
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.people') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.people.index')) }}">{{ ucfirst(__('laravel-crm::lang.people')) }}</a></li>
18+
@endcan
19+
@can('view crm organisations')
1120
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.organisations') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.organisations.index')) }}">{{ ucfirst(__('laravel-crm::lang.organizations')) }}</a></li>
21+
@endcan
22+
@can('view crm users')
1223
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.users') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.users.index')) }}">{{ ucfirst(__('laravel-crm::lang.users')) }}</a></li>
24+
@endcan
25+
@can('view crm users')
1326
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.teams') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.teams.index')) }}">{{ ucfirst(__('laravel-crm::lang.teams')) }}</a></li>
14-
<li class="dropdown-divider"></li>
15-
{{-- <li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.email')) }}</a></li>
27+
@endcan
28+
@canany(['view crm products'])
29+
<li class="dropdown-divider"></li>
30+
@endcan
31+
{{-- <li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.email')) }}</a></li>
1632
<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.documents')) }}</a></li>
1733
<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.projects')) }}</a></li>--}}
34+
@can('view crm products')
1835
<li class="nav-item"><a class="nav-link {{ (strpos(Route::currentRouteName(), 'laravel-crm.products') === 0) ? 'active' : '' }}" href="{{ url(route('laravel-crm.products.index')) }}">{{ ucfirst(__('laravel-crm::lang.products')) }}</a></li>
36+
@endcan
1937
{{--<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.subscriptions')) }}</a></li>
2038
<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.invoices')) }}</a></li>
2139
<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.payments')) }}</a></li>
2240
<li class="nav-item"><a class="nav-link" href="#">{{ ucfirst(__('laravel-crm::lang.reports')) }}</a></li>--}}
23-
<li class="dropdown-divider"></li>
41+
@canany(['view crm settings', 'view crm updates'])
42+
<li class="dropdown-divider"></li>
43+
@endcan
44+
@can('view crm settings')
2445
<li class="nav-item"><a class="nav-link {{ Str::contains(Route::currentRouteName(),['laravel-crm.settings','laravel-crm.roles']) ? 'active' : '' }}" href="{{ url(route('laravel-crm.settings.edit')) }}">{{ ucfirst(__('laravel-crm::lang.settings')) }}</a></li>
46+
@endcan
47+
@can('view crm updates')
2548
<li class="nav-item"><a class="nav-link {{ Str::contains(Route::currentRouteName(),['laravel-crm.updates']) ? 'active' : '' }}" href="{{ url(route('laravel-crm.updates.index')) }}">{{ ucfirst(__('laravel-crm::lang.updates')) }}</a></li>
49+
@endcan
2650
</ul>
2751
</div>
2852
</div>

resources/views/layouts/partials/search.blade.php

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,40 @@
11
<form role="search" method="post" action="@php
22
3-
if(strpos(Route::currentRouteName(), 'laravel-crm.leads') === 0){
4-
echo url(route('laravel-crm.leads.search'));
5-
$currentAction = ucfirst(__('laravel-crm::lang.leads'));
6-
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.deals') === 0){
7-
echo url(route('laravel-crm.deals.search'));
8-
$currentAction = ucfirst(__('laravel-crm::lang.deals'));
9-
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.people') === 0){
10-
echo url(route('laravel-crm.people.search'));
11-
$currentAction = ucfirst(__('laravel-crm::lang.people'));
12-
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.organisations') === 0){
13-
echo url(route('laravel-crm.organisations.search'));
14-
$currentAction = ucfirst(__('laravel-crm::lang.organizations'));
15-
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.products') === 0){
16-
echo url(route('laravel-crm.products.search'));
17-
$currentAction = ucfirst(__('laravel-crm::lang.products'));
18-
}
3+
if(strpos(Route::currentRouteName(), 'laravel-crm.leads') === 0 && auth()->user()->can('view crm leads')){
4+
echo url(route('laravel-crm.leads.search'));
5+
$currentAction = ucfirst(__('laravel-crm::lang.leads'));
6+
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.deals') === 0 && auth()->user()->can('view crm deals')){
7+
echo url(route('laravel-crm.deals.search'));
8+
$currentAction = ucfirst(__('laravel-crm::lang.deals'));
9+
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.people') === 0 && auth()->user()->can('view crm people')){
10+
echo url(route('laravel-crm.people.search'));
11+
$currentAction = ucfirst(__('laravel-crm::lang.people'));
12+
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.organisations') === 0 && auth()->user()->can('view crm organisations')){
13+
echo url(route('laravel-crm.organisations.search'));
14+
$currentAction = ucfirst(__('laravel-crm::lang.organizations'));
15+
}elseif(strpos(Route::currentRouteName(), 'laravel-crm.products') === 0 && auth()->user()->can('view crm products')){
16+
echo url(route('laravel-crm.products.search'));
17+
$currentAction = ucfirst(__('laravel-crm::lang.products'));
18+
}
19+
20+
if(!isset($currentAction)){
21+
if(auth()->user()->can('view crm leads')){
22+
echo url(route('laravel-crm.leads.search'));
23+
$currentAction = ucfirst(__('laravel-crm::lang.leads'));
24+
}elseif(auth()->user()->can('view crm deals')){
25+
echo url(route('laravel-crm.deals.search'));
26+
$currentAction = ucfirst(__('laravel-crm::lang.deals'));
27+
}elseif(auth()->user()->can('view crm people')){
28+
echo url(route('laravel-crm.people.search'));
29+
$currentAction = ucfirst(__('laravel-crm::lang.people'));
30+
}elseif( auth()->user()->can('view crm organisations')){
31+
echo url(route('laravel-crm.organisations.search'));
32+
$currentAction = ucfirst(__('laravel-crm::lang.organizations'));
33+
}elseif(auth()->user()->can('view crm products')){
34+
echo url(route('laravel-crm.products.search'));
35+
$currentAction = ucfirst(__('laravel-crm::lang.products'));
36+
}
37+
}
1938
2039
@endphp" name="formSearch" class="navbar-form-custom">
2140
@csrf
@@ -26,11 +45,21 @@
2645
<button class="btn btn-outline-secondary" type="submit"><i class="fa fa-search"></i> <span class="action-current">{{ $currentAction ?? ucfirst(__('laravel-crm::lang.leads')) }}</span></button>
2746
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
2847
<div class="dropdown-menu dropdown-menu-right">
48+
@can('view crm leads')
2949
<a class="dropdown-item" href="#leads" data-type="leads" data-action="{{ url(route('laravel-crm.leads.search')) }}">{{ ucfirst(__('laravel-crm::lang.leads')) }}</a>
50+
@endcan
51+
@can('view crm deals')
3052
<a class="dropdown-item" href="#deals" data-type="deals" data-action="{{ url(route('laravel-crm.deals.search')) }}">{{ ucfirst(__('laravel-crm::lang.deals')) }}</a>
53+
@endcan
54+
@can('view crm people')
3155
<a class="dropdown-item" href="#people" data-type="people" data-action="{{ url(route('laravel-crm.people.search')) }}">{{ ucfirst(__('laravel-crm::lang.people')) }}</a>
56+
@endcan
57+
@can('view crm organisations')
3258
<a class="dropdown-item" href="#organisations" data-type="organisations" data-action="{{ url(route('laravel-crm.organisations.search')) }}">{{ ucfirst(__('laravel-crm::lang.organizations')) }}</a>
59+
@endcan
60+
@can('view crm products')
3361
<a class="dropdown-item" href="#products" data-type="products" data-action="{{ url(route('laravel-crm.products.search')) }}">{{ ucfirst(__('laravel-crm::lang.products')) }}</a>
62+
@endcan
3463
</div>
3564
</div>
3665
</div>

resources/views/leads/partials/card-index.blade.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
@endslot
88

99
@slot('actions')
10+
@can('create crm leads')
1011
<span class="float-right"><a type="button" class="btn btn-primary btn-sm" href="{{ url(route('laravel-crm.leads.create')) }}"><span class="fa fa-plus"></span> {{ ucfirst(__('laravel-crm::lang.add_lead')) }}</a></span>
12+
@endcan
1113
@endslot
1214

1315
@endcomponent
@@ -41,14 +43,22 @@
4143
<td>{{ $lead->created_at->diffForHumans() }}</td>
4244
<td>{{ $lead->assignedToUser->name }}</td>
4345
<td class="disable-link text-right">
46+
@can('edit crm leads')
4447
<a href="{{ route('laravel-crm.leads.convert-to-deal',$lead) }}" class="btn btn-success btn-sm"> {{ ucfirst(__('laravel-crm::lang.convert')) }}</a>
48+
@endcan
49+
@can('view crm leads')
4550
<a href="{{ route('laravel-crm.leads.show',$lead) }}" class="btn btn-outline-secondary btn-sm"><span class="fa fa-eye" aria-hidden="true"></span></a>
51+
@endcan
52+
@can('edit crm leads')
4653
<a href="{{ route('laravel-crm.leads.edit',$lead) }}" class="btn btn-outline-secondary btn-sm"><span class="fa fa-edit" aria-hidden="true"></span></a>
54+
@endcan
55+
@can('delete crm leads')
4756
<form action="{{ route('laravel-crm.leads.destroy',$lead) }}" method="POST" class="form-check-inline mr-0 form-delete-button">
48-
{{ method_field('DELETE') }}
49-
{{ csrf_field() }}
57+
{{ method_field('DELETE') }}
58+
{{ csrf_field() }}
5059
<button class="btn btn-danger btn-sm" type="submit" data-model="{{ __('laravel-crm::lang.lead') }}"><span class="fa fa-trash-o" aria-hidden="true"></span></button>
5160
</form>
61+
@endcan
5262
</td>
5363
</tr>
5464
@endforeach

0 commit comments

Comments
 (0)