PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/resources/views/user/applicants.blade.php

https://bitbucket.org/inets_company/erb_payment
PHP | 444 lines | 379 code | 35 blank | 30 comment | 34 complexity | 9f450174d01ac6b8b80e3344816e201f MD5 | raw file
Possible License(s): Apache-2.0
  1. @extends('layouts.app')
  2. @section('content')
  3. <!-- page start-->
  4. <div class="row">
  5. <div class="col-sm-12">
  6. <section class="panel">
  7. <header class="panel-heading">
  8. Applicants
  9. </header>
  10. <?php
  11. // dd(md5('ERB-MIS'));
  12. if (can_access('add_invoices')) {
  13. $type='';
  14. if (request('user_type') == 120) {
  15. } else if (request('user_type') == 7) {
  16. $type = '<a href="' . url('invoice/create/?bulk=1') . '" class="btn btn-primary">Create Sponsored Invoice</a>';
  17. } else if (request('user_type') == 9) {
  18. $type = '<a href="' . url('invoice/create/?bulk=1') . '" class="btn btn-primary">Create Non-Sponsored Invoice </a>';
  19. }
  20. ?>
  21. <p>
  22. <br/>
  23. &nbsp;
  24. <?=$type?>
  25. </p>
  26. <?php } ?>
  27. <div class="row">
  28. <div class="col-md-3">
  29. <div class="mini-stat clearfix">
  30. <span class="mini-stat-icon orange"><i class="fa fa-user"></i></span>
  31. <div class="mini-stat-info">
  32. <span><?= \App\Model\User::count() ?></span>
  33. Total Participants
  34. </div>
  35. </div>
  36. </div>
  37. <div class="col-md-3">
  38. <div class="mini-stat clearfix">
  39. <span class="mini-stat-icon tar"><i class="fa fa-money"></i></span>
  40. <div class="mini-stat-info">
  41. <span><?= \App\Model\Payment::count() ?></span>
  42. Total Payments
  43. </div>
  44. </div>
  45. </div>
  46. <div class="col-md-3">
  47. <div class="mini-stat clearfix">
  48. <span class="">Search By Barcode</span>
  49. <div class="mini-stat-info">
  50. <input type="text" autofocus="true" class="form-control" id="search_input_tag"/>
  51. </div>
  52. <span id="attendance_search_loader"></span>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="panel-body">
  57. <div class="row" id="search_checked_table" style="display:none">
  58. <a type="button" target="_blank" tags='' id="nametag_link" href="" value="" name="" class="btn btn-sm btn-danger link"><i class="fa fa-cloud"></i> Print NameTag (HP Printer)</a>
  59. <a type="button" target="_blank" tags='' id="nametag_link2" href="" value="" name="" class="btn btn-sm btn-primary link"><i class="fa fa-cloud"></i> Print single NameTag (EPSON Printer) </a>
  60. <table class="table table-striped">
  61. <thead>
  62. <tr>
  63. <th>#</th>
  64. <th>Number</th>
  65. <th>Name</th>
  66. <th>Email</th>
  67. <th>Phone</th>
  68. <th>Action</th>
  69. </tr>
  70. </thead>
  71. <tbody>
  72. <tr id="search_checked"></tr>
  73. </tbody>
  74. </table>
  75. </div>
  76. <?php if ((int) request('paid') != 1) { ?>
  77. <div class="row">
  78. <div class="form-group ">
  79. <label for="number" class="control-label col-lg-3 text-right">Sort</label>
  80. <div class="col-lg-6">
  81. <select class="form-control" id="sort_user" name="user_type">
  82. <option value=""></option>
  83. <option value="0">All</option>
  84. <option value="120">Employers</option>
  85. <?php $user_types = \App\Model\User_type::all(); ?>
  86. @foreach ($user_types as $user_type)
  87. <option value="{{$user_type->id}}">{{$user_type->name}}</option> @endforeach;
  88. </select>
  89. </div>
  90. </div>
  91. </div>
  92. <?php } ?>
  93. <br/>
  94. <section id="unseen">
  95. <table class="table table-bordered table-striped table-condensed dataTable">
  96. <thead>
  97. <tr>
  98. <th>#</th>
  99. <th>Name</th>
  100. <th class="numeric">Phone</th>
  101. <th class="numeric">Email</th>
  102. <th class="numeric">Type</th>
  103. <th class="numeric">Employer</th>
  104. <th class="numeric">Specialization</th>
  105. <th class="numeric col-sm-4">Action</th>
  106. <th class="numeric col-sm-2">Print Count</th>
  107. <th><input type="checkbox" name="all" id="toggle_all"/></th>
  108. </tr>
  109. </thead>
  110. <tbody>
  111. <?php
  112. $i = 1;
  113. ?>
  114. @foreach($applicants as $applicant)
  115. <tr id="row<?= $applicant->id ?>">
  116. <td>{{$i}}</td>
  117. <td>{{$applicant->name}}</td>
  118. <td class="numeric">{{$applicant->phone}}</td>
  119. <td class="numeric">{{$applicant->email}}</td>
  120. <td>{{$applicant->userType->name}}</td>
  121. <td>{{$applicant->employer->name}}</td>
  122. <td>{{$applicant->profession->name}}</td>
  123. <td>
  124. <?= can_access('delete_users') ? btn_delete('user/' . $applicant->id, 'user') : '' ?>
  125. <a href="<?= url('user/profile/' . $applicant->id) ?>" class="btn btn-xs btn-primary">View</a> &nbsp; &nbsp;
  126. <?php if (can_access('edit_users')) { ?>
  127. <a data-toggle="modal" href="#myModal" onmousedown="open_edit_model('<?= $applicant->id ?>', '<?= url('setting/' . $applicant->id . '/edit') ?>')" class="btn btn-xs btn-info">Edit</a>
  128. <?php } ?>
  129. <?php if ($applicant->is_employer <> 1 && $applicant->payment()->count() > 0) { ?>
  130. <a href="<?= url('user/ticket/' . $applicant->id) ?>" class="btn btn-xs btn-warning">Barcode</a> &nbsp; &nbsp;
  131. <a href="<?= url('user/nametag/' . $applicant->id) ?>" class="btn btn-xs btn-default">Tag</a>
  132. <?php } ?>
  133. </td>
  134. <td>{{$applicant->nametagPrintlog()->count()}}</td>
  135. <td><input type="checkbox" class="check" name="select[]" value="<?= $applicant->id ?>"/></td>
  136. </tr>
  137. <?php $i++; ?>
  138. @endforeach
  139. </tbody>
  140. </table>
  141. <?php if (count($applicants) && (int) request('paid') != 1) { ?>
  142. <?php } ?>
  143. </section>
  144. <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
  145. <div class="modal-dialog">
  146. <form class="cmxform form-horizontal " id="commentForm" method="post" action="<?= url('invoice') ?>">
  147. <div class="modal-content">
  148. <div class="modal-header">
  149. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  150. <h4 class="modal-title" id="title_page">Add New User</h4>
  151. </div>
  152. <div class="modal-body">
  153. <div class="panel-body">
  154. <div class="form-group ">
  155. <label for="type" class="control-label col-lg-3">Employer</label>
  156. <div class="col-lg-6">
  157. <select class="form-control" name="employer_id" id="employer_id">
  158. <option value=""></option>
  159. <?php $userype = \App\Model\Employer::orderBy('name')->get() ?>
  160. @foreach ($userype as $type)
  161. <option value="{{$type->id}}">{{$type->name}}</option> @endforeach;
  162. </select>
  163. </div>
  164. <?php echo form_error($errors, 'employer_id'); ?>
  165. </div>
  166. <div class="form-group ">
  167. <label for="cname" class="control-label col-lg-3">Name (required)</label>
  168. <div class="col-lg-6">
  169. <input class=" form-control" id="name" name="name" minlength="2" type="text" required="" value="{{old('name')}}" pattern="[a-zA-Z\. ]{5,}" onblur="this.value = this.value.toUpperCase()">
  170. </div>
  171. @if ($errors->has('name'))
  172. <span class="invalid-feedback">
  173. <strong>{{ $errors->first('name') }}</strong>
  174. </span>
  175. @endif
  176. </div>
  177. <div class="form-group ">
  178. <label for="cemail" class="control-label col-lg-3">E-Mail (required)</label>
  179. <div class="col-lg-6">
  180. <input class="form-control " id="email" type="email" name="email" required="" value="<?= old('email') ?>" onblur="this.value = this.value.toLowerCase()">
  181. </div>
  182. @if ($errors->has('email'))
  183. <span class="invalid-feedback">
  184. <strong>{{ $errors->first('email') }}</strong>
  185. </span>
  186. @endif
  187. </div>
  188. <div class="form-group ">
  189. <label for="phone" class="control-label col-lg-3">Phone Number</label>
  190. <div class="col-lg-6">
  191. <input class="form-control " id="phone" type="text" name="phone" value="<?= old('phone') ?>">
  192. </div>
  193. @if ($errors->has('phone'))
  194. <span class="invalid-feedback">
  195. <strong>{{ $errors->first('phone') }}</strong>
  196. </span>
  197. @endif
  198. </div>
  199. <div class="form-group ">
  200. <label for="number" class="control-label col-lg-3">Specialization (Required)</label>
  201. <div class="col-lg-6">
  202. <select class="form-control" name="profession_id" id="profession_id">
  203. <option value=""></option>
  204. <?php $professions = App\Model\Profession::where('invitee', 0)->orderBy('name')->get(); ?>
  205. @foreach ($professions as $profession)
  206. <option value="{{$profession->id}}">{{$profession->name}}</option> @endforeach;
  207. </select>
  208. </div>
  209. <?php echo form_error($errors, 'profession_id'); ?>
  210. <!--<a data-toggle="modal" href="#myModal">Or Add new</a>-->
  211. </div>
  212. </div>
  213. </div>
  214. <div class="modal-footer">
  215. <?= csrf_field() ?>
  216. <input type="hidden" name="user" value="user"/>
  217. <button data-dismiss="modal" class="btn btn-default" type="button">Close</button>
  218. <button class="btn btn-success" type="submit">Save changes</button>
  219. </div>
  220. </div>
  221. </form>
  222. </div>
  223. </div>
  224. </div>
  225. </section>
  226. </div>
  227. </div>
  228. <!-- page end-->
  229. <script type="text/javascript">
  230. ajax_barcode_search = function () {
  231. document.addEventListener('keydown', function (event) {
  232. if (event.keyCode == 17 || event.keyCode == 74)
  233. event.preventDefault();
  234. });
  235. $('#search_input_tag').keyup(function (e) {
  236. if (e.keyCode == 13) {
  237. var pasteData = $(this).val();
  238. $.ajax({
  239. type: 'GET',
  240. url: "<?= url('find') ?>",
  241. data: {
  242. "s": pasteData,
  243. 'type': 1,
  244. user_id_tags: $('#user_id_tags').attr('content')
  245. },
  246. dataType: "html ",
  247. beforeSend: function (xhr) {
  248. $('#search_loader').html('<a href="#/refresh"><i class="fa fa-spinner"></i> </a>');
  249. },
  250. complete: function (xhr, status) {
  251. $('#search_input_tag').val('');
  252. $('#search_loader').html('');
  253. },
  254. success: function (data) {
  255. var val = $('#search_page_result').text();
  256. if (val == '') {
  257. $('#search_page_result').html(data);
  258. } else {
  259. $('#search_page_result').html(data);
  260. }
  261. }});
  262. }
  263. });
  264. }
  265. $(document).ready(ajax_barcode_search);
  266. open_edit_model = function (a, b) {
  267. $.ajax({
  268. type: 'POST',
  269. url: "<?= url('setting/getedit') ?>",
  270. data: {
  271. "id": a,
  272. "table": "user"
  273. },
  274. dataType: "json",
  275. success: function (data) {
  276. $('#title_page').html('Edit user type');
  277. $('#commentForm').attr('action', b);
  278. $("#commentForm").attr("method", "get");
  279. $.each(data, function (i, item) {
  280. $('#' + i).val(item);
  281. });
  282. }
  283. });
  284. }
  285. reset_form = function () {
  286. $('#title_page').html('Add New User Type');
  287. $('#commentForm').attr('action', '<?= url('user') ?>');
  288. $("#commentForm").attr("method", "post");
  289. $("input:not(:hidden)").val('');
  290. $('.delete').html('Delete');
  291. }
  292. sort_user = function () {
  293. $('#sort_user').change(function () {
  294. var type = $(this).val();
  295. window.location.href = '<?= url()->current() ?>/?user_type=' + type;
  296. });
  297. }
  298. search_checked = function () {
  299. $('.check').click(function () {
  300. var value = $(this).val();
  301. var status = $(this).is(':checked');
  302. if (status === true) {
  303. var text = $('#row' + value).html();
  304. $('#search_checked_table').show();
  305. $('#search_checked').after('<tr id="s_table' + value + '">' + text + '</tr>');
  306. var ex = $('.link').attr('tags');
  307. var url = '<?= url('user/bulknametag?ids=') ?>';
  308. var url2 = '<?= url('user/bulknametag?single=1&ids=') ?>';
  309. var param = ex.split(",");
  310. param.push(value);
  311. $('#nametag_link').attr('tags', param.join(","));
  312. $('#nametag_link').attr('href', url + param.join(","));
  313. $('#nametag_link2').attr('tags', param.join(","));
  314. $('#nametag_link2').attr('href', url2 + param.join(","));
  315. console.log(param);
  316. } else {
  317. var ex = $('.link').attr('tags');
  318. var url = '<?= url('user/bulknametag?ids=') ?>';
  319. var url2 = '<?= url('user/bulknametag?single=1&ids=') ?>';
  320. var param = ex.split(",");
  321. param = jQuery.grep(param, function (val) {
  322. return val != value;
  323. });
  324. var arr = param;
  325. var result = arr.filter(function (elem) {
  326. return elem != value;
  327. });
  328. console.log(result);
  329. $('#nametag_link').attr('tags', result.join(","));
  330. $('#nametag_link').attr('href', url + result.join(","));
  331. $('#nametag_link2').attr('tags', param.join(","));
  332. $('#nametag_link2').attr('href', url2 + param.join(","));
  333. $('#s_table' + value).remove();
  334. }
  335. });
  336. }
  337. toggle_all = function () {
  338. $('#toggle_all').click(function () {
  339. var status = $(this).is(':checked');
  340. if ($("#toggle_all").prop('checked')) {
  341. $('.check').prop("checked", true);
  342. } else {
  343. $('.check').prop("checked", false);
  344. }
  345. if (status === true) {
  346. //select all
  347. $.ajax({
  348. type: 'GET',
  349. url: "<?= url('user/getApplicants') ?>",
  350. data: {
  351. "type": '<?= request('type') ?>',
  352. },
  353. dataType: "html",
  354. success: function (data) {
  355. console.log(data);
  356. $('#search_checked_table').show();
  357. var ex = data;
  358. var url = '<?= url('user/bulknametag?ids=') ?>';
  359. var url2 = '<?= url('user/bulknametag?single=1&ids=') ?>';
  360. var param = ex.split(",");
  361. $('#nametag_link').attr('tags', param.join(","));
  362. $('#nametag_link').attr('href', url + param.join(","));
  363. $('#nametag_link2').attr('tags', param.join(","));
  364. $('#nametag_link2').attr('href', url2 + param.join(","));
  365. console.log(param);
  366. }
  367. });
  368. } else {
  369. //diselect all
  370. $('#nametag_link').attr('tags', '');
  371. $('#nametag_link').attr('href', '');
  372. $('#nametag_link2').attr('tags', '');
  373. $('#nametag_link2').attr('href', '');
  374. $('#search_checked_table').hide();
  375. }
  376. });
  377. };
  378. // $('#search_input_tag2').on('paste', function (e) {
  379. // var pasteData = e.originalEvent.clipboardData.getData('text');
  380. // $.ajax({
  381. // type: 'GET',
  382. // url: "<?= url('find') ?>",
  383. // data: {
  384. // "s": pasteData,
  385. // 'type': 1,
  386. // user_id_tags: $('#user_id_tags').attr('content')
  387. // },
  388. // dataType: "html ",
  389. // beforeSend: function (xhr) {
  390. // $('#search_loader').html('<a href="#/refresh"><i class="fa fa-spinner"></i> </a>');
  391. // },
  392. // complete: function (xhr, status) {
  393. // $('#search_input_tag').val('');
  394. // $('#search_loader').html('');
  395. // },
  396. // success: function (data) {
  397. // var val = $('#search_page_result').text();
  398. // if (val == '') {
  399. // $('#search_page_result').html(data);
  400. // } else {
  401. // $('#search_page_result').html(data);
  402. // }
  403. // }});
  404. // });
  405. $(document).ready(toggle_all);
  406. $(document).ready(search_checked);
  407. $(document).ready(sort_user);
  408. </script>
  409. @endsection