show.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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="{{ $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><b>{{__("Status")}}:</b>
  41. @switch($ticket->status)
  42. @case("Open")
  43. <span class="badge badge-success">{{__("Open")}}</span>
  44. @break
  45. @case("Reopened")
  46. <span class="badge badge-success">{{__("Reopened")}}</span>
  47. @break
  48. @case("Closed")
  49. <span class="badge badge-danger">{{__("Closed")}}</span>
  50. @break
  51. @case("Answered")
  52. <span class="badge badge-info">{{__("Answered")}}</span>
  53. @break
  54. @case("Client Reply")
  55. <span class="badge badge-warning">{{__("Client Reply")}}</span>
  56. @break
  57. @endswitch
  58. </p>
  59. <p><b>Priority:</b>
  60. @switch($ticket->priority)
  61. @case("Low")
  62. <span class="badge badge-success">{{__("Low")}}</span>
  63. @break
  64. @case("Medium")
  65. <span class="badge badge-warning">{{__("Medium")}}</span>
  66. @break
  67. @case("High")
  68. <span class="badge badge-danger">{{__("High")}}</span>
  69. @break
  70. @endswitch
  71. </p>
  72. <p><b>{{__("Created on")}}:</b> {{ $ticket->created_at->diffForHumans() }}</p>
  73. @if($ticket->status=='Closed')
  74. <form class="d-inline" method="post"
  75. action="{{route('ticket.changeStatus', ['ticket_id' => $ticket->ticket_id ])}}">
  76. {{csrf_field()}}
  77. {{method_field("POST") }}
  78. <button data-content="{{__("Reopen")}}" data-toggle="popover"
  79. data-trigger="hover" data-placement="top"
  80. class="btn btn-sm text-white btn-success mr-1"><i
  81. class="fas fa-redo"></i>{{__("Reopen")}}</button>
  82. </form>
  83. @else
  84. <form class="d-inline" method="post"
  85. action="{{route('ticket.changeStatus', ['ticket_id' => $ticket->ticket_id ])}}">
  86. {{csrf_field()}}
  87. {{method_field("POST") }}
  88. <button data-content="{{__("Close")}}" data-toggle="popover"
  89. data-trigger="hover" data-placement="top"
  90. class="btn btn-sm text-white btn-warning mr-1"><i
  91. class="fas fa-times"></i>{{__("Close")}}</button>
  92. </form>
  93. @endif
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <div class="col-lg-12">
  99. <div class="card">
  100. <div class="card-header">
  101. <div class="d-flex justify-content-between">
  102. <h5 class="card-title"><i class="fas fa-cloud mr-2"></i>{{__('Comment')}}</h5>
  103. </div>
  104. </div>
  105. <div class="card-body">
  106. <div class="card">
  107. <div class="card-header">
  108. <div class="d-flex justify-content-between">
  109. <h5 class="card-title"><img
  110. src="https://www.gravatar.com/avatar/{{ md5(strtolower($ticket->user->email)) }}?s=25"
  111. class="user-image" alt="User Image">
  112. <a href="/admin/users/{{$ticket->user->id}}">{{ $ticket->user->name }} </a>
  113. @foreach ($ticket->user->roles as $role)
  114. <span style='background-color: {{$role->color}}' class='badge'>{{$role->name}}</span>
  115. @endforeach
  116. </h5>
  117. <span
  118. class="badge badge-primary">{{ $ticket->created_at->diffForHumans() }}</span>
  119. </div>
  120. </div>
  121. <div class="card-body" style="white-space:pre-wrap">{{ $ticket->message }}</div>
  122. </div>
  123. @foreach ($ticketcomments as $ticketcomment)
  124. <div class="card">
  125. <div class="card-header">
  126. <div class="d-flex justify-content-between">
  127. <h5 class="card-title"><img
  128. src="https://www.gravatar.com/avatar/{{ md5(strtolower($ticketcomment->user->email)) }}?s=25"
  129. class="user-image" alt="User Image">
  130. <a href="/admin/users/{{$ticketcomment->user->id}}">{{ $ticketcomment->user->name }}</a>
  131. @foreach ($ticketcomment->user->roles as $role)
  132. <span style='background-color: {{$role->color}}' class='badge'>{{$role->name}}</span>
  133. @endforeach
  134. </h5>
  135. <span
  136. class="badge badge-primary">{{ $ticketcomment->created_at->diffForHumans() }}</span>
  137. </div>
  138. </div>
  139. <div class="card-body"
  140. style="white-space:pre-wrap">{{ $ticketcomment->ticketcomment }}</div>
  141. </div>
  142. @endforeach
  143. <div class="comment-form">
  144. <form action="{{ route('ticket.reply')}}" method="POST" class="form reply-form">
  145. {!! csrf_field() !!}
  146. <input type="hidden" name="ticket_id" value="{{ $ticket->id }}">
  147. <div class="form-group{{ $errors->has('ticketcomment') ? ' has-error' : '' }}">
  148. <textarea rows="10" id="ticketcomment" class="form-control"
  149. name="ticketcomment"></textarea>
  150. @if ($errors->has('ticketcomment'))
  151. <span class="help-block">
  152. <strong>{{ $errors->first('ticketcomment') }}</strong>
  153. </span>
  154. @endif
  155. </div>
  156. <div class="form-group">
  157. <button type="submit" class="btn btn-primary reply-once">Submit</button>
  158. </div>
  159. </form>
  160. </div>
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. </section>
  167. <!-- END CONTENT -->
  168. <script type="text/javascript">
  169. $(".reply-form").submit(function (e) {
  170. $(".reply-once").attr("disabled", true);
  171. return true;
  172. })
  173. </script>
  174. @endsection