Update service update to use components, enhanced form handling and submission. Added pppoe to broadband and changed validation to allow for longer service number.
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 33s
Create Docker Image / Final Docker Image Manifest (push) Successful in 8s

This commit is contained in:
2024-07-24 14:14:11 +10:00
parent 46075745d2
commit d6a2c70146
9 changed files with 269 additions and 218 deletions

View File

@@ -1,3 +1,5 @@
@use(App\Models\Product)
@extends('adminlte::layouts.app')
@section('htmlheader_title')
@@ -26,25 +28,18 @@
<div class="card">
<div class="card-header bg-dark d-flex p-0">
<ul class="nav nav-pills w-100 p-2">
{{--
<li class="nav-item"><a class="nav-link active" href="#product" data-toggle="tab">Product</a></li>
<li class="nav-item"><a class="nav-link" href="#traffic" data-toggle="tab">Traffic</a></li>
--}}
@if (! $o->suspend_billing AND ! $o->external_billing)
<li class="nav-item"><a class="nav-link {{ (! session()->has('service_update')) ? 'active' : '' }}" href="#pending_items" data-toggle="tab">Pending Items</a></li>
@endif
@if ($o->product->hasUsage())
<li class="nav-item"><a class="nav-link {{ (! $o->isBilled() && (! session()->has('service_update'))) ? 'active' : '' }}" href="#traffic" data-toggle="tab">Traffic</a></li>
@if ($x=! ($o->suspend_billing || $o->external_billing))
<li class="nav-item"><a @class(['nav-link','active'=>! session()->has('service_update')]) href="#pending_items" data-toggle="tab">Pending Items</a></li>
@endif
@if ($o->product->hasUsage())
<li class="nav-item"><a @class(['nav-link','active'=>! ($x || session()->has('service_update'))]) href="#traffic" data-toggle="tab">Traffic</a></li>
@endif
{{--
<li class="nav-item"><a class="nav-link" href="#invoices" data-toggle="tab">Invoices</a></li>
<li class="nav-item"><a class="nav-link" href="#emails" data-toggle="tab">Emails</a></li>
--}}
@can('wholesaler')
<li class="nav-item ml-auto"><a class="nav-link" href="#billing" data-toggle="tab">Billing History</a></li>
<li class="nav-item"><a class="nav-link" href="#internal" data-toggle="tab">Internal</a></li>
<li class="nav-item"><a class="nav-link {{ session()->has('service_update') ? 'active' : '' }}" href="#update" data-toggle="tab">Update</a></li>
<li class="nav-item"><a @class(['nav-link','active'=>session()->has('service_update')]) href="#update" data-toggle="tab">Update</a></li>
@endcan
</ul>
@@ -54,58 +49,51 @@
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">ACTION <span class="caret"></span></a>
<div class="dropdown-menu dropdown-menu-right">
@foreach($o->actions() as $stage => $title)
<a class="dropdown-item" tabindex="-1" href="{{ url('u/service',['id'=>$o->id,'action'=>'change','stage'=>$stage]) }}">{{ $title }}</a>
@endforeach
{{-- <div class="dropdown-divider"></div> --}}
@foreach($o->actions() as $stage => $title)
<a class="dropdown-item" tabindex="-1" href="{{ url('u/service',['id'=>$o->id,'action'=>'change','stage'=>$stage]) }}">{{ $title }}</a>
@endforeach
{{-- <div class="dropdown-divider"></div> --}}
</div>
</li>
</ul>
@endcan
</div><!-- /.card-header -->
</div>
<div class="card-body">
<div class="tab-content">
<div class="tab-pane fade" id="product" role="tabpanel">
Product.
</div>
@if (! $o->suspend_billing AND ! $o->external_billing)
<div class="tab-pane fade {{ (! session()->has('service_update')) ? 'active show' : '' }}" id="pending_items" role="tabpanel">
@if ($x=! ($o->suspend_billing || $o->external_billing))
<div @class(['tab-pane','fade','show active'=>! session()->has('service_update')]) id="pending_items">
@include('theme.backend.adminlte.service.widget.invoice')
</div>
@endif
@if ($o->product->hasUsage())
<div class="tab-pane fade {{ (! $o->isBilled() && (! session()->has('service_update'))) ? 'active show' : '' }}" id="traffic" role="tabpanel">
<div @class(['tab-pane','fade','show active'=>! ($x || session()->has('service_update'))]) id="traffic">
@if ($o->type->usage(30)->count())
@include('theme.backend.adminlte.service.widget.'.$o->product->category.'.usagegraph',['o'=>$o->type])
@endif
</div>
@endif
<div class="tab-pane fade" id="invoices" role="tabpanel">
Invoices.
</div>
<div class="tab-pane fade" id="emails" role="tabpanel">
Email.
</div>
@can('wholesaler')
<div class="tab-pane fade" id="billing" role="tabpanel">
<div class="tab-pane fade" id="billing">
@include('theme.backend.adminlte.service.widget.billinghistory',['o'=>$o])
</div>
<div class="tab-pane fade" id="internal" role="tabpanel">
<div class="tab-pane fade" id="internal">
@if(($x=$o->changes()->where('service__change.active',TRUE)->where('complete',FALSE)->get()->pop()))
@include('theme.backend.adminlte.service.widget.internal',['o'=>$o,'p'=>$x])
@else
@include('theme.backend.adminlte.service.widget.internal',['o'=>$o,'p'=>new \App\Models\Product()])
@include('theme.backend.adminlte.service.widget.internal',['o'=>$o,'p'=>new Product()])
@endif
</div>
<div class="tab-pane fade {{ session()->pull('service_update') ? 'active show' : '' }}" id="update" role="tabpanel">
<div @class(['tab-pane','fade','show active'=>session()->has('service_update')]) id="update">
@include('theme.backend.adminlte.service.widget.update')
</div>
@endcan
</div>
</div>
<!-- /.card -->
</div>
</div>
</div>