codigo actual del servidor, con avances de joan

This commit is contained in:
Jose Sanchez
2023-08-07 15:52:04 -04:00
commit 3cd9b8bbe8
3070 changed files with 532255 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
@extends('frontend.layouts.user_panel')
@section('panel_content')
<div class="aiz-titlebar mb-4">
<div class="row align-items-center">
<div class="col-md-6">
<h1 class="fs-20 fw-700 text-dark">{{ translate('Support Ticket') }}</h1>
</div>
</div>
</div>
<!-- Create a Ticket -->
<div class="p-4 mb-3 c-pointer text-center bg-light has-transition border h-100 hov-bg-soft-light" data-toggle="modal" data-target="#ticket_modal">
<i class="las la-plus la-3x mb-2"></i>
<div class="fs-14 fw-600 text-dark">{{ translate('Create a Ticket') }}</div>
</div>
<!-- Tickets -->
<div class="card rounded-0 shadow-none border">
<div class="card-header border-bottom-0">
<h5 class="mb-0 fs-20 fw-700 text-dark text-center text-md-left">{{ translate('Tickets')}}</h5>
</div>
<div class="card-body py-0">
<table class="table aiz-table mb-4">
<thead class="text-gray fs-12">
<tr>
<th data-breakpoints="lg" class="pl-0">{{ translate('Ticket ID') }}</th>
<th data-breakpoints="lg">{{ translate('Sending Date') }}</th>
<th>{{ translate('Subject')}}</th>
<th>{{ translate('Status')}}</th>
<th data-breakpoints="lg" class="text-right pr-0">{{ translate('Options')}}</th>
</tr>
</thead>
<tbody class="fs-14">
@foreach ($tickets as $key => $ticket)
<tr>
<td class="pl-0 fw-700">#{{ $ticket->code }}</td>
<td>{{ date('Y.m.d h:i:m', strtotime($ticket->created_at)) }}</td>
<td>{{ $ticket->subject }}</td>
<td>
@if ($ticket->status == 'pending')
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Pending')}}</span>
@elseif ($ticket->status == 'open')
<span class="badge badge-inline badge-secondary p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Open')}}</span>
@else
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{ translate('Solved')}}</span>
@endif
</td>
<td class="text-right pr-0">
<a href="{{route('support_ticket.show', encrypt($ticket->id))}}" class="btn btn-styled btn-link fw-700 py-1 px-0 icon-anim text-decoration-none">
{{ translate('View Details')}}
<i class="la la-angle-right fw-900 text-sm"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- Pagination -->
<div class="aiz-pagination">
{{ $tickets->links() }}
</div>
</div>
</div>
@endsection
@section('modal')
<!-- Ticket modal -->
<div class="modal fade" id="ticket_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title strong-600 heading-5">{{ translate('Create a Ticket')}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body px-3 pt-3">
<form class="" action="{{ route('support_ticket.store') }}" method="post" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-md-2">
<label>{{ translate('Subject')}}</label>
</div>
<div class="col-md-10">
<input type="text" class="form-control mb-3 rounded-0" placeholder="{{ translate('Subject')}}" name="subject" required>
</div>
</div>
<div class="row">
<div class="col-md-2">
<label>{{ translate('Provide a detailed description')}}</label>
</div>
<div class="col-md-10">
<textarea type="text" class="form-control mb-3 rounded-0" rows="3" name="details" placeholder="{{ translate('Type your reply')}}" data-buttons="bold,underline,italic,|,ul,ol,|,paragraph,|,undo,redo" required></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-md-2 col-form-label">{{ translate('Photo') }}</label>
<div class="col-md-10">
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
<div class="input-group-prepend">
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
</div>
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
<input type="hidden" name="attachments" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
<div class="text-right mt-4">
<button type="button" class="btn btn-secondary rounded-0 w-150px" data-dismiss="modal">{{ translate('cancel')}}</button>
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{ translate('Send Ticket')}}</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,128 @@
@extends('frontend.layouts.user_panel')
@section('panel_content')
<div class="card rounded-0 shadow-none border">
<!-- Ticket info -->
<div class="card-header border-bottom-0">
<div class="text-center text-md-left">
<h5 class="mb-md-0 fs-20 fw-700 text-dark">{{ $ticket->subject }} #{{ $ticket->code }}</h5>
<div class="mt-4 fs-14">
<span class="fw-700 text-dark"> {{ $ticket->user->name }} </span>
<span class="ml-2 text-secondary"> {{ $ticket->created_at }} </span>
<span class="badge badge-inline badge-gray ml-2 p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;"> {{ ucfirst($ticket->status) }} </span>
</div>
</div>
</div>
<hr class="mx-4">
<div class="card-body">
<!-- Reply form -->
<form action="{{route('support_ticket.seller_store')}}" method="POST" enctype="multipart/form-data">
@csrf
<input type="hidden" name="ticket_id" value="{{$ticket->id}}" required>
<input type="hidden" name="user_id" value="{{$ticket->user_id}}">
<div class="form-group">
<textarea class="aiz-text-editor rounded-0" name="reply" data-buttons='[["font", ["bold", "underline", "italic"]],["para", ["ul", "ol"]],["view", ["undo","redo"]]]' required></textarea>
</div>
<div class="form-group row">
<div class="col-md-12">
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="true">
<div class="input-group-prepend">
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
</div>
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
<input type="hidden" name="attachments" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary rounded-0 w-150px" onclick="submit_reply('pending')">{{ translate('Send Reply') }}</button>
</div>
</form>
<div class="pad-top">
<ul class="list-group list-group-flush mt-3">
<!-- Replies -->
@foreach($ticket->ticketreplies as $ticketreply)
<li class="list-group-item px-0 border-bottom-0">
<div class="media">
<a class="media-left" href="#">
@if($ticketreply->user->avatar_original != null)
<span class="avatar avatar-sm mr-3">
<img src="{{ uploaded_asset($ticketreply->user->avatar_original) }}" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
</span>
@else
<span class="avatar avatar-sm mr-3">
<img src="{{ static_asset('assets/img/avatar-place.png') }}">
</span>
@endif
</a>
<div class="media-body">
<div class="comment-header">
<span class="fs-14 fw-700 text-dark">{{ $ticketreply->user->name }}</span>
<p class="text-muted text-sm fs-12 mt-2">{{ date('d.m.Y h:i:m', strtotime($ticketreply->created_at)) }}</p>
</div>
</div>
</div>
<div class="fs-14 fw-400">
{!! $ticketreply->reply !!}
<br>
<br>
@foreach ((explode(",",$ticketreply->files)) as $key => $file)
@php $file_detail = \App\Models\Upload::where('id', $file)->first(); @endphp
@if($file_detail != null)
<a href="{{ uploaded_asset($file) }}" download="" class="badge badge-lg badge-inline badge-light mb-1">
<i class="las la-download text-muted">{{ $file_detail->file_original_name.'.'.$file_detail->extension }}</i>
</a>
<br>
@endif
@endforeach
</div>
</li>
@endforeach
<!-- Ticket Details -->
<li class="list-group-item px-0">
<div class="media">
<a class="media-left" href="#">
@if($ticket->user->avatar_original != null)
<span class="avatar avatar-sm mr-3">
<img src="{{ uploaded_asset($ticket->user->avatar_original) }}" onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
</span>
@else
<span class="avatar avatar-sm mr-3">
<img src="{{ static_asset('assets/img/avatar-place.png') }}">
</span>
@endif
</a>
<div class="media-body">
<div class="comment-header">
<span class="fs-14 fw-700 text-dark">{{ $ticket->user->name }}</span>
<p class="text-muted text-sm fs-12 mt-2">{{ date('d.m.Y h:i:m', strtotime($ticket->created_at)) }}</p>
</div>
</div>
</div>
<div>
{!! $ticket->details !!}
<br>
<br>
@foreach ((explode(",",$ticket->files)) as $key => $file)
@php $file_detail = \App\Models\Upload::where('id', $file)->first(); @endphp
@if($file_detail != null)
<a href="{{ uploaded_asset($file) }}" download="" class="badge badge-lg badge-inline badge-light mb-1">
<i class="las la-download text-muted">{{ $file_detail->file_original_name.'.'.$file_detail->extension }}</i>
</a>
<br>
@endif
@endforeach
</div>
</li>
</ul>
</div>
</div>
</div>
@endsection