Commit 717c117b46f575765c5594ee610b42b6e986c827
Exists in
master
Merge branch 'master' of http://gitlab.nologostudio.ru/alarionov/rekamore-su
Showing 1 changed file Inline Diff
resources/views/admin/message/index.blade.php
1 | @extends('layout.admin', ['title' => 'Админка - Сообщения адмистратора']) | 1 | @extends('layout.admin', ['title' => 'Админка - Сообщения адмистратора']) |
2 | 2 | ||
3 | @section('script') | 3 | @section('script') |
4 | <script> | 4 | <script> |
5 | $(document).ready(function() { | 5 | $(document).ready(function() { |
6 | $('.rejecte-button').click(function(){ | 6 | $('.rejecte-button').click(function(){ |
7 | var this_btn = $(this); | 7 | var this_btn = $(this); |
8 | var wrap = this_btn.closest('tr'); | 8 | var wrap = this_btn.closest('tr'); |
9 | var message_id = wrap.data('message-id'); | 9 | var message_id = wrap.data('message-id'); |
10 | var target = wrap.find('.user-name').text(); | 10 | var target = wrap.find('.user-name').text(); |
11 | 11 | ||
12 | $('#rejecte_message').data('message-id', message_id); | 12 | $('#rejecte_message').data('message-id', message_id); |
13 | $('#rejecte_message').find('.user-name').text(target.trim()); | 13 | $('#rejecte_message').find('.user-name').text(target.trim()); |
14 | $('#rejecte_message').find('.message-id').text(message_id); | 14 | $('#rejecte_message').find('.message-id').text(message_id); |
15 | }); | 15 | }); |
16 | 16 | ||
17 | $('.send-button').click(function(){cl(1000); | 17 | $('.send-button').click(function(){cl(1000); |
18 | var this_btn = $(this); | 18 | var this_btn = $(this); |
19 | var wrap = this_btn.closest('tr'); | 19 | var wrap = this_btn.closest('tr'); |
20 | var message_id = wrap.data('message-id'); | 20 | var message_id = wrap.data('message-id'); |
21 | var target = wrap.find('.user-name').text(); | 21 | var target = wrap.find('.user-name').text(); |
22 | 22 | ||
23 | $('#send_message').data('message-id', message_id); | 23 | $('#send_message').data('message-id', message_id); |
24 | $('#send_message').find('.user-name').text(target.trim()); | 24 | $('#send_message').find('.user-name').text(target.trim()); |
25 | $('#send_message').find('.message-id').text(message_id); | 25 | $('#send_message').find('.message-id').text(message_id); |
26 | }); | 26 | }); |
27 | 27 | ||
28 | $(document).on('change', '.checkread', function () { | 28 | $(document).on('change', '.checkread', function () { |
29 | var this_ = $(this); | 29 | var this_ = $(this); |
30 | var value = this_.val(); | 30 | var value = this_.val(); |
31 | var ajax_block = $('#ajax_block'); | 31 | var ajax_block = $('#ajax_block'); |
32 | var bool = 0; | 32 | var bool = 0; |
33 | 33 | ||
34 | if(this.checked){ | 34 | if(this.checked){ |
35 | bool = 1; | 35 | bool = 1; |
36 | } else { | 36 | } else { |
37 | bool = 0; | 37 | bool = 0; |
38 | } | 38 | } |
39 | 39 | ||
40 | $.ajax({ | 40 | $.ajax({ |
41 | type: "GET", | 41 | type: "GET", |
42 | url: "{{ url()->full()}}", | 42 | url: "{{ url()->full()}}", |
43 | data: "id=" + value + "&flag_new=" + bool, | 43 | data: "id=" + value + "&flag_new=" + bool, |
44 | success: function (data) { | 44 | success: function (data) { |
45 | console.log('Обновление таблицы сообщений администратора '); | 45 | console.log('Обновление таблицы сообщений администратора '); |
46 | //data = JSON.parse(data); | 46 | //data = JSON.parse(data); |
47 | //console.log(data); | 47 | //console.log(data); |
48 | ajax_block.html(data); | 48 | ajax_block.html(data); |
49 | }, | 49 | }, |
50 | headers: { | 50 | headers: { |
51 | 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') | 51 | 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') |
52 | }, | 52 | }, |
53 | error: function (data) { | 53 | error: function (data) { |
54 | console.log('Error: ' + data); | 54 | console.log('Error: ' + data); |
55 | } | 55 | } |
56 | }); | 56 | }); |
57 | }); | 57 | }); |
58 | 58 | ||
59 | }); | 59 | }); |
60 | </script> | 60 | </script> |
61 | @endsection | 61 | @endsection |
62 | 62 | ||
63 | @section('content') | 63 | @section('content') |
64 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> | 64 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> |
65 | <div class="w-full overflow-x-auto"> | 65 | <div class="w-full overflow-x-auto"> |
66 | <table class="w-full whitespace-no-wrap"> | 66 | <table class="w-full"> |
67 | <thead> | 67 | <thead> |
68 | <tr | 68 | <tr |
69 | class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" | 69 | class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" |
70 | > | 70 | > |
71 | <th class="px-4 py-3">№</th> | 71 | <th class="px-4 py-3">№</th> |
72 | <th class="px-4 py-3">От юзера</th> | 72 | <th class="px-4 py-3">От юзера</th> |
73 | <th class="px-4 py-3">Должности</th> | 73 | <th class="px-4 py-3">Должности</th> |
74 | <th class="px-4 py-3">Текст</th> | 74 | <th class="px-4 py-3">Текст</th> |
75 | <th class="px-4 py-3">Дата</th> | 75 | <th class="px-4 py-3">Дата</th> |
76 | <th class="px-4 py-3">Прочтено</th> | 76 | <th class="px-4 py-3"></th> |
77 | </tr> | 77 | </tr> |
78 | </thead> | 78 | </thead> |
79 | <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> | 79 | <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> |
80 | @foreach($Msgs as $msg) | 80 | @foreach($Msgs as $msg) |
81 | <tr class="text-gray-700 dark:text-gray-400" data-message-id="{{ $msg->id }}"> | 81 | <tr class="text-gray-700 dark:text-gray-400" data-message-id="{{ $msg->id }}"> |
82 | <td class="px-4 py-3"> | 82 | <td class="px-4 py-3"> |
83 | {{ $msg->id }} | 83 | {{ $msg->id }} |
84 | </td> | 84 | </td> |
85 | <td class="px-4 py-3"> | 85 | <td class="px-4 py-3"> |
86 | <div class="user-name"> | 86 | <div class="user-name"> |
87 | @if (isset($msg->user->name)) | 87 | @if (isset($msg->user->name)) |
88 | {{$msg->user->name}} ({{$msg->user->id}}) | 88 | {{$msg->user->name}} ({{$msg->user->id}}) |
89 | @else | 89 | @else |
90 | Пользователь удален | 90 | Пользователь удален |
91 | @endif | 91 | @endif |
92 | </div> | 92 | </div> |
93 | </td> | 93 | </td> |
94 | <td class="px-4 py-3"> | 94 | <td class="px-4 py-3"> |
95 | @if($msg->job_titles) | 95 | @if($msg->job_titles) |
96 | @foreach($msg->jobs as $job) | 96 | @foreach($msg->jobs as $job) |
97 | {{ $job->name }} | 97 | {{ $job->name }} |
98 | @if(!$loop->last) | 98 | @if(!$loop->last) |
99 | <br> | 99 | <br> |
100 | @endif | 100 | @endif |
101 | @endforeach | 101 | @endforeach |
102 | @endif | 102 | @endif |
103 | </td> | 103 | </td> |
104 | <td class="px-4 py-3"> | 104 | <td class="px-4 py-3"> |
105 | <div> | 105 | <div> |
106 | {{ $msg->text }} | 106 | {{ $msg->text }} |
107 | </div> | 107 | </div> |
108 | </td> | 108 | </td> |
109 | <td class="px-4 py-3 text-sm"> | 109 | <td class="px-4 py-3 text-sm"> |
110 | {{ date('d.m.Y h:i:s', strtotime($msg->created_at)) }} | 110 | {{ date('d.m.Y h:i:s', strtotime($msg->created_at)) }} |
111 | </td> | 111 | </td> |
112 | <td class="px-4 py-3"> | 112 | <td class="px-4 py-3"> |
113 | @if($msg->is_rejected) | 113 | @if($msg->is_rejected) |
114 | Отклонено | 114 | Отклонено |
115 | @elseif($msg->is_sent) | 115 | @elseif($msg->is_sent) |
116 | Отправлено | 116 | Отправлено |
117 | @else | 117 | @else |
118 | <div class=""> | 118 | <div class=""> |
119 | <button class="rejecte-button px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-red-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 119 | <button class="rejecte-button mb-10 px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-red-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
120 | data-fancybox data-src="#rejecte_message" | 120 | data-fancybox data-src="#rejecte_message" |
121 | > | 121 | > |
122 | Отклонить | 122 | Отклонить |
123 | </button> | 123 | </button> |
124 | <button class="send-button px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-green-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 124 | <button class="send-button px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-green-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
125 | data-fancybox data-src="#send_message" | 125 | data-fancybox data-src="#send_message" |
126 | > | 126 | > |
127 | Отправить | 127 | Отправить |
128 | </button> | 128 | </button> |
129 | </div> | 129 | </div> |
130 | @endif | 130 | @endif |
131 | </td> | 131 | </td> |
132 | </tr> | 132 | </tr> |
133 | @endforeach | 133 | @endforeach |
134 | </tbody> | 134 | </tbody> |
135 | </table> | 135 | </table> |
136 | </div> | 136 | </div> |
137 | 137 | ||
138 | <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> | 138 | <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> |
139 | <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?> | 139 | <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?> |
140 | </div> | 140 | </div> |
141 | </div><br> | 141 | </div><br> |
142 | 142 | ||
143 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block2"> | 143 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block2"> |
144 | 144 | ||
145 | <form method="POST" action="{{ route('admin.admin-messages-post') }}" enctype="multipart/form-data"> | 145 | <form method="POST" action="{{ route('admin.admin-messages-post') }}" enctype="multipart/form-data"> |
146 | @csrf | 146 | @csrf |
147 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> | 147 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> |
148 | <h3 class="text-gray-700 dark:text-gray-400">Отправка сообщения</h3> | 148 | <h3 class="text-gray-700 dark:text-gray-400">Отправка сообщения</h3> |
149 | <hr> | 149 | <hr> |
150 | <label for="ad_employer_id" class="block text-sm"> | 150 | <label for="ad_employer_id" class="block text-sm"> |
151 | <input type="hidden" name="user_id" id="user_id" value="{{ $id_admin }}"/> | 151 | <input type="hidden" name="user_id" id="user_id" value="{{ $id_admin }}"/> |
152 | 152 | ||
153 | <span class="text-gray-700 dark:text-gray-400">Кому:</span> | 153 | <span class="text-gray-700 dark:text-gray-400">Кому:</span> |
154 | 154 | ||
155 | <select name="to_user_id" id="to_user_id" class="block change_js mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"> | 155 | <select name="to_user_id" id="to_user_id" class="block change_js mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"> |
156 | @foreach($users as $user) | 156 | @foreach($users as $user) |
157 | <option value="{{ $user->id }}">{{ $user->name }} ({{ $user->id }})</option> | 157 | <option value="{{ $user->id }}">{{ $user->name }} ({{ $user->id }})</option> |
158 | @endforeach | 158 | @endforeach |
159 | </select> | 159 | </select> |
160 | </label><br> | 160 | </label><br> |
161 | 161 | ||
162 | <label class="block text-sm"> | 162 | <label class="block text-sm"> |
163 | <span class="text-gray-700 dark:text-gray-400">Заголовок</span> | 163 | <span class="text-gray-700 dark:text-gray-400">Заголовок</span> |
164 | <input name="title" id="title" | 164 | <input name="title" id="title" |
165 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 165 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
166 | placeholder="Заголовок" value="{{ old('title') ?? '' }}" | 166 | placeholder="Заголовок" value="{{ old('title') ?? '' }}" |
167 | /> | 167 | /> |
168 | @error('title') | 168 | @error('title') |
169 | <span class="text-xs text-red-600 dark:text-red-400"> | 169 | <span class="text-xs text-red-600 dark:text-red-400"> |
170 | {{ $message }} | 170 | {{ $message }} |
171 | </span> | 171 | </span> |
172 | @enderror | 172 | @enderror |
173 | </label><br> | 173 | </label><br> |
174 | 174 | ||
175 | <label class="block text-sm"> | 175 | <label class="block text-sm"> |
176 | <span class="text-gray-700 dark:text-gray-400">Текст</span> | 176 | <span class="text-gray-700 dark:text-gray-400">Текст</span> |
177 | <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" name="text" placeholder="Текст" required | 177 | <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" name="text" placeholder="Текст" required |
178 | rows="4">{{ old('text') ?? '' }}</textarea> | 178 | rows="4">{{ old('text') ?? '' }}</textarea> |
179 | @error('text') | 179 | @error('text') |
180 | <span class="text-xs text-red-600 dark:text-red-400"> | 180 | <span class="text-xs text-red-600 dark:text-red-400"> |
181 | {{ $message }} | 181 | {{ $message }} |
182 | </span> | 182 | </span> |
183 | @enderror | 183 | @enderror |
184 | </label><br> | 184 | </label><br> |
185 | 185 | ||
186 | 186 | ||
187 | <label class="block text-sm"> | 187 | <label class="block text-sm"> |
188 | <span class="text-gray-700 dark:text-gray-400">Файл</span> | 188 | <span class="text-gray-700 dark:text-gray-400">Файл</span> |
189 | <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 | 189 | <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 |
190 | focus:border-purple-400 focus:outline-none focus:shadow-outline-purple | 190 | focus:border-purple-400 focus:outline-none focus:shadow-outline-purple |
191 | dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 191 | dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
192 | id="file" name="file"> | 192 | id="file" name="file"> |
193 | @error('file') | 193 | @error('file') |
194 | <span class="text-xs text-red-600 dark:text-red-400"> | 194 | <span class="text-xs text-red-600 dark:text-red-400"> |
195 | {{ $message }} | 195 | {{ $message }} |
196 | </span> | 196 | </span> |
197 | @enderror | 197 | @enderror |
198 | </label><br> | 198 | </label><br> |
199 | 199 | ||
200 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> | 200 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> |
201 | <div> | 201 | <div> |
202 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> | 202 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> |
203 | Отправить | 203 | Отправить |
204 | </button> | 204 | </button> |
205 | </div> | 205 | </div> |
206 | </div> | 206 | </div> |
207 | </div> | 207 | </div> |
208 | </form> | 208 | </form> |
209 | </div> | 209 | </div> |
210 | 210 | ||
211 | @include('modals.admin.messages.rejecte_message') | 211 | @include('modals.admin.messages.rejecte_message') |
212 | @include('modals.admin.messages.send_message') | 212 | @include('modals.admin.messages.send_message') |
213 | @endsection | 213 | @endsection |
214 | 214 |