_form.html.erb 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <%= form_for(OpenCashRegister.new, remote: true, :html => {:class=>"form-horizontal", :id=> "open_cash_register_form"}) do |f| %>
  2. <div class="portlet-body form">
  3. <div id="error_explanation"></div>
  4. <div class="row">
  5. <div class="col-md-12">
  6. <%
  7. available_cash = Array.new
  8. open_cash_registers = current_user.pointsale.open_cash_registers.abiertas
  9. current_user.pointsale.cash_registers.activos.each do |cash|
  10. is_opened = OpenCashRegister.where(:cash_register_id => cash.id, :status => '0').any?
  11. available_cash << cash if is_opened == false
  12. end
  13. %>
  14. <% unless open_cash_registers.blank? %>
  15. <div class="alert alert-warning">
  16. <strong>Ya hay caja(s) abiertas en el punto de venta:</strong><br>
  17. <% open_cash_registers.each do |open_cash| %>
  18. -<%= open_cash.cash_register.name %> <br>
  19. <% end %>
  20. </div>
  21. <% end %>
  22. <!-- caja registradora -->
  23. <div class="form-group">
  24. <%= f.label :cash_register_id, "Caja registradora", {:class=>"col-md-offset-1 col-md-3 control-label"} do %> Caja registradora
  25. <span class="required">*</span>
  26. <% end %>
  27. <div class="input-group col-md-4 select2-bootstrap-prepend">
  28. <%= f.collection_select :cash_register_id, available_cash, :id, :name, {:prompt => "Seleccione", :selected => (available_cash[0] if available_cash.size == 1)}, {:class => "form-control select2", :disabled => (true if available_cash.size == 1) } %>
  29. <%= f.hidden_field :cash_register_id, {:id=>'cash_id'} %>
  30. </div>
  31. </div>
  32. <!-- initial cash -->
  33. <div class="form-group">
  34. <%= f.label :initial_cash, "Efectivo inicial", {:class=>"col-md-offset-1 col-md-3 control-label"} do %> Efectivo inicial <span class="required">*</span>
  35. <% end %>
  36. <div class="col-md-4" style="padding-left: 0px;padding-right:0px">
  37. <%= f.number_field :initial_cash, {:class=>"form-control"} %>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. <h4 class="form-section" style="margin:20px 0px 10px 0px"></h4>
  43. <div class="actions">
  44. <%= f.submit 'guardar', {:class=>"hidden"} %>
  45. <button type="button" class="btn btn-success disable-when-ajax" onclick="submitForm()" id="openCashButton" disabled>Abrir caja</button>
  46. </div>
  47. </div>
  48. <% end %>
  49. <script type="text/javascript">
  50. toastr.options = {
  51. "closeButton": false,
  52. "debug": false,
  53. "positionClass": "toast-top-center",
  54. "onclick": null,
  55. "showDuration": "1000",
  56. "hideDuration": "1000",
  57. "timeOut": "5000",
  58. "extendedTimeOut": "1000",
  59. "showEasing": "swing",
  60. "hideEasing": "linear",
  61. "showMethod": "fadeIn",
  62. "hideMethod": "fadeOut"
  63. }
  64. if ($('#open_cash_register_cash_register_id').val()) {
  65. getCashFund($('#open_cash_register_cash_register_id').val());
  66. $('#cash_id').val($('#open_cash_register_cash_register_id').val());
  67. }
  68. $('#open_cash_register_cash_register_id').on('change', function() {
  69. if ($(this).val() != "") {
  70. getCashFund($(this).val());
  71. $('#cash_id').val($('#open_cash_register_cash_register_id').val());
  72. } else {
  73. $('#openCashButton').attr('disabled', true);
  74. }
  75. });
  76. function submitForm() {
  77. if ($('#open_cash_register_cash_register_id').val() != "") {
  78. $('#open_cash_register_form').submit();
  79. } else {
  80. toastr["warning"]("Se debe indicar efectivo inicial.");
  81. }
  82. }
  83. function getCashFund(id) {
  84. $.ajax({
  85. type: "get",
  86. url: '/cash_registers/' + id +'/get_cash_fund',
  87. dataType: 'json',
  88. success: function(data) {
  89. $('#open_cash_register_initial_cash').val(data);
  90. $('#openCashButton').attr('disabled', false);
  91. },
  92. });
  93. }
  94. </script>