_form.html.erb 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <%= form_for(@pos_config, :html => { class: "form-horizontal" }) do |f| %>
  2. <div class="portlet-body form">
  3. <% if @pos_config.errors.any? %>
  4. <div class="alert alert-danger">
  5. <strong>Tiene <%= pluralize(@pos_config.errors.count, "error") %> no se puede guardar la configuración</strong><br>
  6. </div>
  7. <% end %>
  8. <div class="form-body">
  9. <div class="row">
  10. <div class="col-md-11 col-sm-12">
  11. <div class="form-group">
  12. <%= f.label :cancel_partial_payment, { class: "col-md-3 col-sm-6 control-label" } do %>Días para cancelar abono
  13. <span class="required">*</span>
  14. <% end %>
  15. <div class="col-md-1 col-sm-3">
  16. <%= f.number_field :cancel_partial_payment, { class: "form-control input-xsmall" } %>
  17. </div>
  18. <%= f.label :refund_sale, { class: "col-md-3 col-sm-6 control-label" } do %>Días para aceptar devolución
  19. <span class="required">*</span>
  20. <% end %>
  21. <div class="col-md-1 col-sm-3">
  22. <%= f.number_field :refund_sale, { class: "form-control input-xsmall" } %>
  23. </div>
  24. </div>
  25. <div class="form-group">
  26. <%= f.label :days_cancel_sale, { class: "col-md-3 col-sm-6 control-label" } do %>Días para cancelar venta
  27. <span class="required">*</span>
  28. <% end %>
  29. <div class="col-md-1 col-sm-3">
  30. <%= f.number_field :days_cancel_sale, { class: "form-control input-xsmall" } %>
  31. </div>
  32. <%= f.label :days_cancel_purchase, { class: "col-md-3 col-sm-6 control-label"} do %>Días para cancelar compra
  33. <span class="required">*</span>
  34. <% end %>
  35. <div class="col-md-1 col-sm-3">
  36. <%= f.number_field :days_cancel_purchase, { class: "form-control input-xsmall" } %>
  37. </div>
  38. </div>
  39. <div class="form-group">
  40. <%= f.label :reserve_sale_percent, { class: "col-md-3 col-sm-6 control-label" } do %>Porcentaje para realizar apartado
  41. <span class="required">*</span>
  42. <% end %>
  43. <div class="col-md-1 col-sm-3">
  44. <%= f.number_field :reserve_sale_percent, { class: "form-control input-xsmall" } %>
  45. </div>
  46. <%= f.label :days_cancel_reserved, { class: "col-md-3 control-label" } do %>Días para cancelar apartado
  47. <span class="required">*</span>
  48. <% end %>
  49. <div class="col-md-1">
  50. <%= f.number_field :days_cancel_reserved, { class: "form-control input-xsmall" } %>
  51. </div>
  52. </div>
  53. <div class="form-group">
  54. <%= f.label :tax_percent, { class: "col-md-3 control-label" } do %>IVA a aplicar
  55. <span class="required">*</span>
  56. <% end %>
  57. <div class="col-md-1">
  58. <%= f.number_field :tax_percent, { class: "form-control input-xsmall" } %>
  59. </div>
  60. <%= f.label :commission_percent, { class: "col-md-3 control-label" } do %>Porcentaje por comisión de venta
  61. <span class="required">*</span>
  62. <% end %>
  63. <div class="col-md-1">
  64. <%= f.number_field :commission_percent, { class: "form-control input-xsmall" } %>
  65. </div>
  66. </div>
  67. <div class="form-group">
  68. <%= f.label :gain_margin, { class: "col-md-3 control-label" } do %>Porcentaje de margen de ganancia
  69. <span class="required">*</span>
  70. <% end %>
  71. <div class="col-md-1">
  72. <%= f.number_field :gain_margin, { class: "form-control input-xsmall" } %>
  73. </div>
  74. <%= f.label :enable_haggle, { class: "col-md-3 control-label" } do %> ¿Permitir regateo en ventas? <span class="required">*</span><% end %>
  75. <div class="col-md-1">
  76. <%= f.check_box(:enable_haggle,
  77. {
  78. class: "make-switch",
  79. data: {
  80. on_color: "success",
  81. off_color: "danger",
  82. on_text: "Si",
  83. off_text: "No"
  84. }
  85. }, "true","false"
  86. ) %>
  87. <%= f.hidden_field :enable_haggle %>
  88. </div>
  89. </div>
  90. <div class="form-group">
  91. <div id="haggle_div" class="<%= 'hidden' unless @pos_config.enable_haggle %>">
  92. <%= f.label :haggle_in_sale_percent, { class: "col-md-3 control-label" } do %>Porcentaje máximo de regateo para ventas
  93. <span class="required">*</span>
  94. <% end %>
  95. <div class="col-md-3">
  96. <%= f.number_field :haggle_in_sale_percent, { class: "form-control input-xsmall" } %>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="form-group">
  101. <%= f.label :time_zone, { class: "col-md-3 control-label" } do %>Zona horaria
  102. <span class="required">*</span>
  103. <% end %>
  104. <div class="col-md-1">
  105. <%= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones, {}, {:class => 'form-control select2 input-large' } %>
  106. </div>
  107. </div>
  108. <div class="form-group">
  109. <%= f.label :ticket_description, { class: "col-md-3 control-label" } do %>Encabezado para tickets
  110. <span class="required">*</span>
  111. <% end %>
  112. <div class="col-md-7">
  113. <%= f.text_area :ticket_description, { class: "form-control", rows: 5 } %>
  114. <span class="help-block">Si no se especifica un encabezado para cada uno de los puntos de venta, se usará este de manera general.</span>
  115. </div>
  116. </div>
  117. <div class="form-group">
  118. <%= f.label :ticket_footer, { class: "col-md-3 control-label" } do %>Pie de página para tickets
  119. <span class="required">*</span>
  120. <% end %>
  121. <div class="col-md-7">
  122. <%= f.text_area :ticket_footer, { class: "form-control", rows: 5 } %>
  123. </div>
  124. </div>
  125. <div class="form-group">
  126. <%= f.label :ticket_img, "Imagen para el ticket", { class: "col-md-3 control-label"} %>
  127. <div class="col-md-9">
  128. <div class="fileinput fileinput-new" data-provides="fileinput">
  129. <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">
  130. <% if @pos_config.ticket_img? %>
  131. <%= image_tag @pos_config.ticket_img %>
  132. <% else %>
  133. <%= image_tag "no-image.png" %>
  134. <% end %>
  135. </div>
  136. <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;"> </div>
  137. <div>
  138. <span class="btn default btn-file">
  139. <span class="fileinput-new"> Seleccione imagen </span>
  140. <span class="fileinput-exists"> Cambiar </span>
  141. <%= f.file_field :ticket_img, { class: "default"} %>
  142. <%= f.hidden_field :ticket_img_cache %>
  143. </span>
  144. <a href="javascript:;" class="btn red fileinput-exists" data-dismiss="fileinput"> Borrar </a>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <div class="form-actions">
  153. <div class="row">
  154. <div class="col-md-offset-1 col-md-9">
  155. <%= f.submit 'Guardar', { class: "btn green" } %>
  156. <%= link_to 'Cancelar', root_path, { class: "btn default" } %>
  157. </div>
  158. </div>
  159. </div>
  160. </div>
  161. <% end %>
  162. <script type="text/javascript">
  163. $(document).on("page:change", function() {
  164. App.init();
  165. });
  166. $('input[name="pos_config[enable_haggle]"]').on('switchChange.bootstrapSwitch', function(event, state) {
  167. if (state) {
  168. $("#haggle_div").removeClass("hidden");
  169. } else {
  170. $("#haggle_div").addClass("hidden");
  171. }
  172. $('input[name="pos_config[enable_haggle]"]').val(state);
  173. });
  174. </script>