show.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. @extends('layouts.main')
  2. @section('content')
  3. <!-- CONTENT HEADER -->
  4. <section class="content-header">
  5. <div class="container-fluid">
  6. <div class="row mb-2">
  7. <div class="col-sm-6">
  8. <h1>{{ __('Ticket') }}</h1>
  9. </div>
  10. <div class="col-sm-6">
  11. <ol class="breadcrumb float-sm-right">
  12. <li class="breadcrumb-item"><a href="{{ route('home') }}">{{ __('Dashboard') }}</a></li>
  13. <li class="breadcrumb-item"><a class="text-muted"
  14. href="{{ route('ticket.index') }}">{{ __('Ticket') }}</a>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. </div>
  20. </section>
  21. <!-- END CONTENT HEADER -->
  22. <!-- MAIN CONTENT -->
  23. <section class="content">
  24. <div class="container-fluid">
  25. <div class="row">
  26. <div class="col-lg-12">
  27. <div class="card">
  28. <div class="card-header">
  29. <div class="d-flex justify-content-between">
  30. <h5 class="card-title"><i class="fas fa-users mr-2"></i>#{{ $ticket->ticket_id }}</h5>
  31. </div>
  32. </div>
  33. <div class="card-body">
  34. <div class="ticket-info">
  35. @if(!empty($server))
  36. <p><b>Server:</b> <a href="{{ config('SETTINGS::SYSTEM:PTERODACTYL:URL') }}/server/{{ $server->identifier }}" target="__blank">{{ $server->name }} </a></p>
  37. @endif
  38. <p><b>Title:</b> {{ $ticket->title }}</p>
  39. <p><b>Category:</b> {{ $ticketcategory->name }}</p>
  40. <p>
  41. @if ($ticket->status === 'Open')
  42. <b>Status:</b> <span class="badge badge-success">Open</span>
  43. @elseif ($ticket->status === 'Closed')
  44. <b>Status:</b> <span class="badge badge-danger">Closed</span>
  45. @elseif ($ticket->status === 'Answered')
  46. <b>Status:</b> <span class="badge badge-info">Answered</span>
  47. @elseif ($ticket->status === 'Client Reply')
  48. <b>Status:</b> <span class="badge badge-warning">Client Reply</span>
  49. @endif
  50. </p>
  51. <p><b>Created on:</b> {{ $ticket->created_at->diffForHumans() }}</p>
  52. @if($ticket->status!='Closed')
  53. <form class="d-inline" method="post"
  54. action="{{route('ticket.close', ['ticket_id' => $ticket->ticket_id ])}}">
  55. {{csrf_field()}}
  56. {{method_field("POST") }}
  57. <button data-content="{{__("Close")}}" data-toggle="popover"
  58. data-trigger="hover" data-placement="top"
  59. class="btn btn-sm text-white btn-warning mr-1"><i
  60. class="fas fa-times"></i>{{__("Close")}}</button>
  61. </form>
  62. @endif
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="col-lg-12">
  68. <div class="card">
  69. <div class="card-header">
  70. <div class="d-flex justify-content-between">
  71. <h5 class="card-title"><i class="fas fa-cloud mr-2"></i>{{__('Comment')}}</h5>
  72. </div>
  73. </div>
  74. <div class="card-body">
  75. <div class="card">
  76. <div class="card-header">
  77. <div class="d-flex justify-content-between">
  78. <h5 class="card-title"><img
  79. src="https://www.gravatar.com/avatar/{{ md5(strtolower($ticket->user->email)) }}?s=25"
  80. class="user-image" alt="User Image">
  81. <a href="/admin/users/{{$ticket->user->id}}">{{ $ticket->user->name }} </a>
  82. @if($ticket->user->role === "member")
  83. <span class="badge badge-secondary"> Member </span>
  84. @elseif ($ticket->user->role === "client")
  85. <span class="badge badge-success"> Client </span>
  86. @elseif ($ticket->user->role === "moderator")
  87. <span class="badge badge-info"> Moderator </span>
  88. @elseif ($ticket->user->role === "admin")
  89. <span class="badge badge-danger"> Admin </span>
  90. @endif
  91. </h5>
  92. <span class="badge badge-primary">{{ $ticket->created_at->diffForHumans() }}</span>
  93. </div>
  94. </div>
  95. <div class="card-body" style="white-space:pre-wrap">{{ $ticket->message }}</div>
  96. </div>
  97. @foreach ($ticketcomments as $ticketcomment)
  98. <div class="card">
  99. <div class="card-header">
  100. <div class="d-flex justify-content-between">
  101. <h5 class="card-title"><img
  102. src="https://www.gravatar.com/avatar/{{ md5(strtolower($ticketcomment->user->email)) }}?s=25"
  103. class="user-image" alt="User Image">
  104. <a href="/admin/users/{{$ticketcomment->user->id}}">{{ $ticketcomment->user->name }}</a>
  105. @if($ticketcomment->user->role === "member")
  106. <span class="badge badge-secondary"> Member </span>
  107. @elseif ($ticketcomment->user->role === "client")
  108. <span class="badge badge-success"> Client </span>
  109. @elseif ($ticketcomment->user->role === "moderator")
  110. <span class="badge badge-info"> Moderator </span>
  111. @elseif ($ticketcomment->user->role === "admin")
  112. <span class="badge badge-danger"> Admin </span>
  113. @endif
  114. </h5>
  115. <span class="badge badge-primary">{{ $ticketcomment->created_at->diffForHumans() }}</span>
  116. </div>
  117. </div>
  118. <div class="card-body" style="white-space:pre-wrap">{{ $ticketcomment->ticketcomment }}</div>
  119. </div>
  120. @endforeach
  121. <div class="comment-form">
  122. <form action="{{ route('ticket.reply')}}" method="POST" class="form reply-form">
  123. {!! csrf_field() !!}
  124. <input type="hidden" name="ticket_id" value="{{ $ticket->id }}">
  125. <div class="form-group{{ $errors->has('ticketcomment') ? ' has-error' : '' }}">
  126. <textarea rows="10" id="ticketcomment" class="form-control" name="ticketcomment"></textarea>
  127. @if ($errors->has('ticketcomment'))
  128. <span class="help-block">
  129. <strong>{{ $errors->first('ticketcomment') }}</strong>
  130. </span>
  131. @endif
  132. </div>
  133. <div class="form-group">
  134. <button type="submit" class="btn btn-primary reply-once">Submit</button>
  135. </div>
  136. </form>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </section>
  144. <!-- END CONTENT -->
  145. <script type="text/javascript">
  146. $(".reply-form").submit(function (e) {
  147. $(".reply-once").attr("disabled", true);
  148. return true;
  149. })
  150. </script>
  151. @endsection