_form.html.erb 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <div id="form_wizard_1">
  2. <%= form_for(@user, :html => {:class=>"form-horizontal", :id=> "submit_form"}) do |f| %>
  3. <div class="portlet-body form">
  4. <% if @user.errors.any? %>
  5. <div class="alert alert-danger">
  6. <strong>Tiene <%= pluralize(@user.errors.count, "error") %> no se puede guardar el usuario</strong><br>
  7. </div>
  8. <% end %>
  9. <div id="error_explanation"></div>
  10. <div class="form-wizard">
  11. <div class="form-body">
  12. <ul class="nav nav-pills nav-justified steps">
  13. <li class="active">
  14. <a href="#tab1" data-toggle="tab" class="step" aria-expanded="true">
  15. <span class="number">1 </span>
  16. <span class="desc">
  17. <i class="fa fa-check"></i> Usuario del sistema </span>
  18. </a>
  19. </li>
  20. <li>
  21. <a href="#tab2" data-toggle="tab" class="step">
  22. <span class="number">2 </span>
  23. <span class="desc">
  24. <i class="fa fa-check"></i> Información del usuario </span>
  25. </a>
  26. </li>
  27. <li>
  28. <a href="#tab3" data-toggle="tab" class="step">
  29. <span class="number">3 </span>
  30. <span class="desc">
  31. <i class="fa fa-check"></i> Confirmar </span>
  32. </a>
  33. </li>
  34. </ul>
  35. <div id="bar" class="progress progress-striped" role="progressbar">
  36. <div class="progress-bar progress-bar-success" style="width: 25%;">
  37. </div>
  38. </div>
  39. <div class="tab-content">
  40. <div class="alert alert-error hide">
  41. <button class="close" data-dismiss="alert"></button>
  42. Tienes algunos errores. Favor de verificar.
  43. </div>
  44. <div class="alert alert-success hide">
  45. <button class="close" data-dismiss="alert"></button>
  46. Información Correcta!
  47. </div>
  48. <div class="tab-pane active" id="tab1">
  49. <h3 class="block">Proporciona la información de la cuenta de usuario</h3>
  50. <div id="error_explanation"></div>
  51. <div class="form-group">
  52. <%= f.label :usertype, "", {:class=>"col-md-3 control-label"} do %> Tipo de usuario
  53. <span class="required">*</span><% end %>
  54. <div class="col-md-4">
  55. <%= f.select :usertype, (current_user.usertype=="A" ? Rails.application.config.usertypes_for_admin : Rails.application.config.usertypes_for_manager), {:prompt => "Seleccione"}, { :class => 'form-control select2' } %>
  56. </div>
  57. </div>
  58. <div class="form-group hidden" id="pointsale_div">
  59. <%= f.label :pointsale_id, "", {:class=>"col-md-3 control-label"} do %> Punto de venta
  60. <span class="required">*</span><% end %>
  61. <div class="col-md-4">
  62. <%= f.collection_select :pointsale_id, Pointsale.activos, :id, :name, {:prompt => "Seleccione", :selected => (current_user.usertype == 'G' ? current_user.pointsale_id : @user.pointsale_id) }, {:class => "form-control select2",
  63. :disabled => (true if current_user.usertype == 'G') } %>
  64. <%= f.hidden_field :pointsale_id, :value => (current_user.usertype == 'G' ? current_user.pointsale_id : @user.pointsale_id), :id => 'pointsale_id' %>
  65. </div>
  66. </div>
  67. <% if current_user.usertype == "A" %>
  68. <div class="form-group hidden" id="warehouse_div">
  69. <%= f.label :warehouse_id, "", {:class=>"col-md-3 control-label"} do %> Almacen
  70. <span class="required">*</span><% end %>
  71. <div class="col-md-4">
  72. <%= f.collection_select :warehouse_id, Warehouse.activos, :id, :name, {:prompt => "Seleccione"}, {:class => "form-control select2" } %>
  73. </div>
  74. </div>
  75. <% end %>
  76. <div class="form-group">
  77. <%= f.label :userid, "Nombre de usuario", {:class=>"col-md-3 control-label"} do %> Usuario
  78. <span class="required">*</span>
  79. <% end %>
  80. <div class="col-md-4">
  81. <%= f.text_field :userid, {:class=>"form-control", :disabled => @user.persisted?} %>
  82. <span class="help-block"> El usuario no debe de contener espacios. </span>
  83. </div>
  84. </div>
  85. <% unless @user.persisted? %>
  86. <div class="form-group">
  87. <%= f.label :password, "Contraseña", {:class=>"col-md-3 control-label"} do %> Contraseña
  88. <span class="required">*</span>
  89. <% end %>
  90. <div class="col-md-4">
  91. <%= f.password_field :password, {:class=>"form-control"} %>
  92. </div>
  93. </div>
  94. <div class="form-group">
  95. <%= f.label :password_confirmation, "Confirmar contraseña", {:class=>"col-md-3 control-label"} do %> Confirmar Contraseña
  96. <span class="required">*</span>
  97. <% end %>
  98. <div class="col-md-4">
  99. <%= f.password_field :password_confirmation, {:class=>"form-control"} %>
  100. </div>
  101. </div>
  102. <% end %>
  103. </div>
  104. <div class="tab-pane" id="tab2">
  105. <h3 class="block">Proporciona los datos particulares del usuario</h3>
  106. <div class="form-group">
  107. <%= f.label :first_name, "Nombre", {:class=>"col-md-3 control-label"} do %> Nombre
  108. <span class="required">*</span>
  109. <% end %>
  110. <div class="col-md-4">
  111. <%= f.text_field :first_name, {:class=>"form-control"} %>
  112. </div>
  113. </div>
  114. <div class="form-group">
  115. <%= f.label :last_name, "Apellidos", {:class=>"col-md-3 control-label"} do %> Apellidos
  116. <span class="required">*</span>
  117. <% end %>
  118. <div class="col-md-4">
  119. <%= f.text_field :last_name, {:class=>"form-control"} %>
  120. </div>
  121. </div>
  122. <div class="form-group">
  123. <%= f.label :email, "Correo", {:class=>"col-md-3 control-label"} do %> Correo electrónico <span class="required">*</span>
  124. <% end %>
  125. <div class="col-md-4">
  126. <div class="input-icon">
  127. <i class="fa fa-envelope"></i>
  128. <%= f.text_field :email, {:class=>"form-control", :placeholder=>"ejemplo@correo.com" } %>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. <div class="tab-pane" id="tab3">
  134. <h3 class="block">Confirma la cuenta</h3>
  135. <h4 class="form-section">Información del usuario</h4>
  136. <div class="form-group">
  137. <label class="control-label col-md-3">Usuario</label>
  138. <div class="col-md-4">
  139. <span class="form-control-static" data-display="user[userid]"></span>
  140. </div>
  141. </div>
  142. <div class="form-group hidden" id="pointsale_info_div">
  143. <label class="control-label col-md-3">Punto de venta</label>
  144. <div class="col-md-4">
  145. <span class="form-control-static" data-display="user[pointsale_id]"></span>
  146. </div>
  147. </div>
  148. <div class="form-group hidden" id="warehouse_info_div">
  149. <label class="control-label col-md-3">Almacén</label>
  150. <div class="col-md-4">
  151. <span class="form-control-static" data-display="user[warehouse_id]"></span>
  152. </div>
  153. </div>
  154. <div class="form-group">
  155. <label class="control-label col-md-3">Tipo de usuario</label>
  156. <div class="col-md-4">
  157. <span class="form-control-static" data-display="user[usertype]"></span>
  158. </div>
  159. </div>
  160. <h4 class="form-section">Datos particulares del usuario</h4>
  161. <div class="form-group">
  162. <label class="control-label col-md-3">Nombre:</label>
  163. <div class="col-md-4">
  164. <span class="form-control-static" data-display="user[first_name]"></span>
  165. </div>
  166. </div>
  167. <div class="form-group">
  168. <label class="control-label col-md-3">Apellidos:</label>
  169. <div class="col-md-4">
  170. <span class="form-control-static" data-display="user[last_name]"></span>
  171. </div>
  172. </div>
  173. <div class="form-group">
  174. <label class="control-label col-md-3">Correo electrónico:</label>
  175. <div class="col-md-4">
  176. <span class="form-control-static" data-display="user[email]"></span>
  177. </div>
  178. </div>
  179. </div>
  180. <div class="form-actions">
  181. <div class="row">
  182. <div class="col-md-offset-3 col-md-9">
  183. <a href="javascript:;" class="btn default button-previous disabled" style="display: none;">
  184. <i class="fa fa-angle-left"></i> Regresar </a>
  185. <a href="javascript:;" class="btn blue button-next">
  186. Siguiente <i class="fa fa-angle-right"></i>
  187. </a>
  188. <a href="javascript:;" class="btn green button-submit" style="display: none;">
  189. Guardar <i class="fa fa-check"></i>
  190. </a>
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. <% end %>
  199. </div>
  200. <script type="text/javascript">
  201. $(document).on("page:change", function() {
  202. App.init();
  203. <% if @user.persisted? %>
  204. <% if @user.pointsale.present? %>
  205. $('#pointsale_info_div').removeClass('hidden');
  206. $('#pointsale_div').removeClass('hidden');
  207. $("#user_pointsale_id").select2();
  208. <% else %>
  209. $('#warehouse_info_div').removeClass('hidden');
  210. $('#warehouse_div').removeClass('hidden');
  211. $("#user_warehouse_id").select2();
  212. <% end %>
  213. <% end %>
  214. });
  215. $('#user_pointsale_id').on('change', function() {
  216. $('#pointsale_id').val($(this).val());
  217. });
  218. $('#user_usertype').on('change', function() {
  219. if($(this).val() == 'S') {
  220. $('#warehouse_info_div').removeClass('hidden');
  221. $('#pointsale_info_div').addClass('hidden');
  222. $('#user_pointsale_id').select2('val', null);
  223. $('#warehouse_div').removeClass('hidden');
  224. $("#user_warehouse_id").select2();
  225. $('#pointsale_div').addClass('hidden');
  226. } else {
  227. $('#pointsale_info_div').removeClass('hidden');
  228. $('#warehouse_info_div').addClass('hidden');
  229. $('#user_warehouse_id').select2('val', null);
  230. $('#pointsale_div').removeClass('hidden');
  231. $("#user_pointsale_id").select2();
  232. $('#warehouse_div').addClass('hidden');
  233. }
  234. });
  235. </script>