You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

772 lines
28KB

  1. $(document).ready(function() {
  2. chat_calendar() ;
  3. chat_datepicker() ;
  4. chat_vrac() ;
  5. chat_email_masse() ;
  6. $('button[data-toggle=popover]').popover() ;
  7. chat_ordre_produits() ;
  8. chat_index_commandes_liste_produits() ;
  9. chat_index_commandes_points_vente() ;
  10. chat_index_commandes_points_vente_livraison() ;
  11. chat_btn_plus_moins() ;
  12. chat_commandeauto() ;
  13. chat_points_vente_acces() ;
  14. chat_tooltip() ;
  15. chat_points_vente_jours_livraison() ;
  16. chat_index_commandes_maj_points_vente() ;
  17. // admin
  18. chat_select_etablissement() ;
  19. }) ;
  20. var UrlManager = {
  21. getBaseUrl: function() {
  22. return $('meta[name=baseurl]').attr('content')+'/' ;
  23. },
  24. getBaseUrlAbsolute: function() {
  25. return $('meta[name=baseurl-absolute]').attr('content')+'/' ;
  26. }
  27. };
  28. function chat_tooltip() {
  29. $('[data-toggle="tooltip"]').tooltip();
  30. }
  31. function chat_nl2br(str, is_xhtml) {
  32. var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
  33. return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
  34. }
  35. function chat_index_commandes_points_vente_livraison() {
  36. $('#productionpointvente-productions_point_vente input[type=checkbox]').change(function() {
  37. var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
  38. if(nb == 0) {
  39. $(this).prop('checked',true) ;
  40. chat_alert('danger','Vous devez avoir au moins un point de vente activé') ;
  41. }
  42. else {
  43. var val = $(this).val() ;
  44. var arr_val = val.split('-') ;
  45. var livraison = 0 ;
  46. if($(this).prop('checked'))
  47. livraison = 1 ;
  48. $.get(UrlManager.getBaseUrl()+'commande/ajax-point-vente-livraison',{
  49. id_production: arr_val[0],
  50. id_point_vente: arr_val[1],
  51. bool_livraison: livraison
  52. }, function(data) {
  53. chat_alert('success','Point de vente modifié') ;
  54. }) ;
  55. chat_index_commandes_maj_points_vente() ;
  56. }
  57. }) ;
  58. }
  59. function chat_index_commandes_maj_points_vente() {
  60. if($('#productions-point-vente').size()) {
  61. var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
  62. if(nb == 0)
  63. {
  64. $('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').hide() ;
  65. $('#panel-commandes .alert-danger').show();
  66. }
  67. else {
  68. $('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').show() ;
  69. $('#panel-commandes .alert-danger').hide();
  70. }
  71. }
  72. var id_production = $('#id-production').val() ;
  73. if(id_production) {
  74. $('#tabs-points-vente li').each(function() {
  75. var id_point_vente = $(this).find('a').attr('id').replace('btn-point-vente-','') ;
  76. var nb_commandes = parseInt($(this).find('.badge-success').html()) ;
  77. var checked = $('#productionpointvente-productions_point_vente input[value='+id_production+'-'+id_point_vente+']').prop('checked') ;
  78. if(checked || nb_commandes > 0)
  79. {
  80. $(this).show() ;
  81. }
  82. else {
  83. $(this).hide() ;
  84. }
  85. }) ;
  86. $('#tabs-points-vente li:visible:first a').click() ;
  87. }
  88. }
  89. function chat_points_vente_jours_livraison() {
  90. $('#pointvente-point_fabrication').change(function() {
  91. chat_points_vente_jours_livraison_event() ;
  92. }) ;
  93. chat_points_vente_jours_livraison_event();
  94. }
  95. function chat_points_vente_jours_livraison_event() {
  96. if($('#pointvente-point_fabrication').prop('checked')) {
  97. $('#jours-livraison').hide() ;
  98. }
  99. else {
  100. $('#jours-livraison').fadeIn() ;
  101. }
  102. }
  103. function chat_points_vente_acces() {
  104. // affichage du bloc acces restreint
  105. $('#pointvente-acces_restreint').change(function() {
  106. chat_points_vente_acces_event() ;
  107. }) ;
  108. chat_points_vente_acces_event() ;
  109. // affichage du champs commentaire
  110. $('#pointvente-users input[type=checkbox]').change(function() {
  111. chat_points_vente_commentaire_event() ;
  112. }) ;
  113. chat_points_vente_commentaire_event() ;
  114. }
  115. function chat_points_vente_commentaire_event() {
  116. $('#pointvente-users input[type=checkbox]').each(function() {
  117. if($(this).prop('checked')) {
  118. $(this).parent().find('.commentaire').fadeIn() ;
  119. }
  120. else {
  121. $(this).parent().find('.commentaire').hide() ;
  122. }
  123. }) ;
  124. }
  125. function chat_points_vente_acces_event() {
  126. if($('#pointvente-acces_restreint').prop('checked')) {
  127. $('#pointvente-users').fadeIn() ;
  128. }
  129. else {
  130. $('#pointvente-users').hide() ;
  131. }
  132. }
  133. function chat_select_etablissement() {
  134. $('select[name="select_etablissement"]').change(function() {
  135. window.location.href = UrlManager.getBaseUrlAbsolute()+'/site/change-etablissement?id='+$(this).val() ;
  136. }) ;
  137. }
  138. function chat_commandeauto() {
  139. // dates
  140. $('#commandeautoform-date_debut, #commandeautoform-date_fin').datepicker() ;
  141. }
  142. function chat_index_commandes_points_vente() {
  143. $('#commandes-points-vente .liste-commandes a').unbind('click').click(function() {
  144. var id_pv = $(this).data('pv-id') ;
  145. // affiche la commande
  146. var id_commande = $(this).data('id-commande') ;
  147. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  148. }) ;
  149. $('#commandes-points-vente .bloc-point-vente').each(function() {
  150. var id_pv = $(this).data('id-pv') ;
  151. // edit
  152. $('#point-vente-'+id_pv+' .btn-edit').unbind('click').click(function() {
  153. // boutons
  154. $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
  155. $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
  156. $('#point-vente-'+id_pv+' .tr-total').hide() ;
  157. // inputs
  158. chat_index_commandes_inputs_commande(id_pv, true) ;
  159. }) ;
  160. // remove
  161. $('#point-vente-'+id_pv+' .btn-remove').unbind('click').click(function() {
  162. var id_commande = $(this).data('id-commande') ;
  163. $(this).attr('disabled', 'disabled') ;
  164. $.get(UrlManager.getBaseUrl()+'commande/ajax-delete',{
  165. date: $('#date-production').val(),
  166. id_commande: id_commande
  167. }, function(data) {
  168. $('#point-vente-'+id_pv+' .btn-remove').removeAttr('disabled') ;
  169. if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  170. if($('#point-vente-'+id_pv+' .liste-commandes li:last-child a').is('.active')) {
  171. var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().prev().find('a') ;
  172. }
  173. else {
  174. var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().next().find('a') ;
  175. }
  176. $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().remove() ;
  177. if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  178. chat_index_commandes_affiche_commande(id_pv, commande_next.data('id-commande')) ;
  179. }
  180. else {
  181. $('#point-vente-'+id_pv+' .liste-commandes').hide() ;
  182. $('#point-vente-'+id_pv+' .creer-commande').trigger('click') ;
  183. }
  184. }
  185. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  186. chat_index_commandes_maj_total_commandes() ;
  187. chat_alert('success','Commande supprimée') ;
  188. }, 'json') ;
  189. });
  190. // cancel
  191. $('#point-vente-'+id_pv+' .btn-cancel').unbind('click').click(function() {
  192. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  193. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  194. $('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
  195. chat_index_commandes_affiche_commande(id_pv, $(this).data('id-commande')) ;
  196. }) ;
  197. // save
  198. $('#point-vente-'+id_pv+' .btn-save').unbind('click').click(function() {
  199. var tab_produits = {} ;
  200. var cpt_produits = 0 ;
  201. $('#point-vente-'+id_pv+' .table-produits tr').each(function() {
  202. tab_produits[$(this).data('id-produit')] = $(this).find('.quantite').val() ;
  203. if($(this).find('.quantite').val())
  204. cpt_produits ++ ;
  205. }) ;
  206. if(cpt_produits) {
  207. // création
  208. if($(this).hasClass('is-create')) {
  209. if($('#point-vente-'+id_pv+' .user-id').val() || $('#point-vente-'+id_pv+' .username').val().length) {
  210. $(this).attr('disabled', 'disabled') ;
  211. $.get(UrlManager.getBaseUrl()+'commande/ajax-create',{
  212. date: $('#date-production').val(),
  213. id_pv: id_pv,
  214. id_user: $('#point-vente-'+id_pv+' .user-id').val(),
  215. username: $('#point-vente-'+id_pv+' .username').val(),
  216. produits: JSON.stringify(tab_produits),
  217. commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
  218. }, function(data) {
  219. $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
  220. $('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
  221. $('#point-vente-'+id_pv+' .liste-commandes').append(data.commande) ;
  222. chat_index_commandes_points_vente() ;
  223. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  224. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  225. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  226. $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ;
  227. $('#point-vente-'+id_pv+' .user-id').val(0) ;
  228. $('#point-vente-'+id_pv+' .user-id').val('') ;
  229. chat_index_commandes_affiche_commande(id_pv, data.id_commande) ;
  230. chat_alert('success', 'Commande créée') ;
  231. }, 'json') ;
  232. }
  233. else {
  234. chat_alert('danger', 'Veuillez choisir ou saisir un nom d\'utilisateur') ;
  235. }
  236. }
  237. // modification
  238. else {
  239. var id_commande = $(this).data('id-commande') ;
  240. $(this).attr('disabled', 'disabled') ;
  241. $.get(UrlManager.getBaseUrl()+'commande/ajax-update',{
  242. id_commande: id_commande,
  243. produits: JSON.stringify(tab_produits),
  244. date: $('#date-production').val(),
  245. commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
  246. }, function(data) {
  247. $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
  248. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande);
  249. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(data.json_commande.str_montant) ;
  250. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  251. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  252. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  253. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  254. chat_alert('success','Commande modifiée') ;
  255. }, 'json') ;
  256. }
  257. }
  258. else {
  259. chat_alert('danger', 'Veuillez saisir au moins un produit') ;
  260. }
  261. chat_index_commandes_maj_total_commandes() ;
  262. }) ;
  263. // create
  264. $('.creer-commande').unbind('click').click(function() {
  265. var id_pv = $(this).data('pv-id') ;
  266. $('#point-vente-'+id_pv+' .bloc-commande').fadeIn() ;
  267. $('#point-vente-'+id_pv+' .liste-commandes a.active').removeClass('active') ;
  268. $('#point-vente-'+id_pv+' .tr-total').hide() ;
  269. $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
  270. $('#point-vente-'+id_pv+' .the-title').hide() ;
  271. $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
  272. $('#point-vente-'+id_pv+' .choix-user').show() ;
  273. $('#point-vente-'+id_pv+' .choix-user .user-id').val(0) ;
  274. $('#point-vente-'+id_pv+' .choix-user .username').val('') ;
  275. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  276. $('#point-vente-'+id_pv+' .btn-save').addClass('is-create');
  277. /*if(!$('#point-vente-'+id_pv+' .btn-cancel').data('id-commande') &&
  278. $('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  279. $('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',$('#point-vente-'+id_pv+' .liste-commandes li:first a').data('id-commande')) ;
  280. }*/
  281. $('#point-vente-'+id_pv+' .btn-save').data('id-commande',0) ;
  282. chat_index_commandes_inputs_commande(id_pv, false) ;
  283. $('#point-vente-'+id_pv+' .title-user').show() ;
  284. }) ;
  285. }) ;
  286. $('#commandes-points-vente .liste-commandes').each(function() {
  287. //$(this).find('a:first').trigger('click') ;
  288. }) ;
  289. }
  290. function chat_index_commandes_maj_total_commandes() {
  291. $.get(UrlManager.getBaseUrl()+'commande/ajax-total-commandes',{
  292. date: $('#date-production').val()
  293. }, function(data) {
  294. $('#bloc-totaux').html(data.html_totaux) ;
  295. }, 'json') ;
  296. }
  297. function chat_index_commandes_maj_recap_pv(id_pv, total) {
  298. $('#point-vente-'+id_pv+' .recap-pv .recettes').html(total) ;
  299. var nb_commandes = $('#point-vente-'+id_pv+' .liste-commandes li').size() ;
  300. if(nb_commandes == 0) {
  301. $('#point-vente-'+id_pv+' .recap-pv .commandes').html('Aucune commande') ;
  302. $('#point-vente-'+id_pv+' .recap-pv .recettes').hide() ;
  303. $('#point-vente-'+id_pv+' .liste-commandes').addClass('no-commande') ;
  304. }
  305. else if(nb_commandes == 1) {
  306. $('#point-vente-'+id_pv+' .recap-pv .commandes').html('1 commande') ;
  307. $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
  308. $('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
  309. }
  310. else {
  311. $('#point-vente-'+id_pv+' .recap-pv .commandes').html(nb_commandes+' commandes') ;
  312. $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
  313. $('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
  314. }
  315. $('#btn-point-vente-'+id_pv+' .badge').html(nb_commandes) ;
  316. }
  317. function chat_index_commandes_inputs_commande(id_pv, use_quantite) {
  318. // commentaire
  319. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  320. $('#point-vente-'+id_pv+' .textarea-commentaire').show() ;
  321. var id_commande = $('#point-vente-'+id_pv+' .btn-save').data('id-commande') ;
  322. if(id_commande) {
  323. var link = $('a[data-id-commande='+id_commande+']') ;
  324. if(!$.isPlainObject(link.attr('data-commande'))) {
  325. var commande = JSON.parse(link.attr('data-commande')) ;
  326. if(commande.commentaire && commande.commentaire.length)
  327. $('#point-vente-'+id_pv+' .textarea-commentaire').val(commande.commentaire) ;
  328. }
  329. }
  330. else {
  331. $('#point-vente-'+id_pv+' .textarea-commentaire').val('') ;
  332. }
  333. // produits
  334. $('#point-vente-'+id_pv+' .table-produits tr').each(function() {
  335. var quantite = '' ;
  336. if(use_quantite)
  337. quantite = $(this).find('.td-commande').html() ;
  338. var id_produit = $(this).data('id-produit') ;
  339. $(this).find('.td-commande').html('<div class="input-group">'+
  340. '<span class="input-group-btn">'+
  341. '<button class="btn btn-default btn-moins" type="button"><span class="glyphicon glyphicon-minus"></span></button>'+
  342. '</span>'+
  343. '<input type="text" class="form-control quantite" value="'+quantite+'" name="produit_'+id_produit+'">'+
  344. '<span class="input-group-btn">'+
  345. '<button class="btn btn-default btn-plus" type="button"><span class="glyphicon glyphicon-plus"></span></button>'+
  346. '</span>'+
  347. '</div>') ;
  348. }) ;
  349. // plus / moins
  350. chat_btn_plus_moins() ;
  351. }
  352. function chat_btn_plus_moins() {
  353. $('.btn-plus').each(function() {
  354. $(this).click(function() {
  355. var input = $(this).parent().parent().find('input') ;
  356. var value = input.val() ;
  357. if(value)
  358. value ++ ;
  359. else
  360. value = 1 ;
  361. input.val(value) ;
  362. }) ;
  363. }) ;
  364. $('.btn-moins').each(function() {
  365. $(this).click(function() {
  366. var input = $(this).parent().parent().find('input') ;
  367. var value = input.val() ;
  368. if(value && value > 1)
  369. value -- ;
  370. else
  371. value = '' ;
  372. input.val(value) ;
  373. }) ;
  374. }) ;
  375. }
  376. function chat_index_commandes_affiche_commande(id_pv, id_commande) {
  377. var link = $("a[data-id-commande="+id_commande+"]") ;
  378. if(id_commande) {
  379. $('#point-vente-'+id_pv+' .bloc-commande').hide() ;
  380. $('#point-vente-'+id_pv+' .liste-commandes a').removeClass('active') ;
  381. link.addClass('active') ;
  382. var commande = link.attr('data-commande') ;
  383. if(!$.isPlainObject(link.attr('data-commande'))) {
  384. commande = JSON.parse(link.attr('data-commande')) ;
  385. }
  386. // maj ligne commande
  387. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').removeClass('paye') ;
  388. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant .glyphicon').remove() ;
  389. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html() ;
  390. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(commande.str_montant) ;
  391. if(commande.montant_paye >= commande.montant) {
  392. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').addClass('paye') ;
  393. if(commande.montant_paye > commande.montant) {
  394. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').append(' <span class="glyphicon glyphicon-warning-sign"></span>') ;
  395. }
  396. }
  397. // commentaire
  398. if(commande.commentaire && commande.commentaire.length) {
  399. if(!$('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .glyphicon-comment').size()) {
  400. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').append(' <span class="glyphicon glyphicon-comment"></span>') ;
  401. }
  402. console.log(id_pv+' '+commande.commentaire) ;
  403. $('#point-vente-'+id_pv+' .commentaire').html(chat_nl2br(commande.commentaire)).show() ;
  404. }
  405. else {
  406. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .glyphicon-comment').remove() ;
  407. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  408. }
  409. // set id_commande
  410. $('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',id_commande) ;
  411. $('#point-vente-'+id_pv+' .btn-save').data('id-commande',id_commande) ;
  412. $('#point-vente-'+id_pv+' .btn-remove').data('id-commande',id_commande) ;
  413. $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ;
  414. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  415. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  416. $('#point-vente-'+id_pv+' .choix-user').hide() ;
  417. $('#point-vente-'+id_pv+' .the-title').show() ;
  418. $('#point-vente-'+id_pv+' .textarea-commentaire').hide() ;
  419. $('#point-vente-'+id_pv+' .td-commande').html('') ;
  420. $('#point-vente-'+id_pv+' .td-total').html('') ;
  421. $('#point-vente-'+id_pv+' tr').removeClass('active') ;
  422. $.each(commande.produits, function(i, item) {
  423. $('#point-vente-'+id_pv+' .produit-'+i+' .td-commande').html(item) ;
  424. $('#point-vente-'+id_pv+' .produit-'+i).addClass('active') ;
  425. }) ;
  426. $('#point-vente-'+id_pv+' .td-total').html('<span>'+commande.str_montant+'</span>') ;
  427. $('#point-vente-'+id_pv+' .tr-total').show() ;
  428. /*var commentaire = link.data('commentaire') ;
  429. if(commentaire) {
  430. $('#point-vente-'+id_pv+' .commentaire').html(commentaire).show() ;
  431. }
  432. else {
  433. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  434. }*/
  435. $('#point-vente-'+id_pv+' .title-user span.the-title').html(link.find('.user').html()+" <small>"+link.data('date')+"</small>") ;
  436. $('#point-vente-'+id_pv+' .bloc-commande').fadeIn() ;
  437. $('#point-vente-'+id_pv+' .title-user').show() ;
  438. $('#point-vente-'+id_pv+' .tr-total').show() ;
  439. // paiement
  440. $.get(UrlManager.getBaseUrl()+'commande/statut-paiement',{
  441. id_commande: id_commande
  442. }, function(data) {
  443. $('#point-vente-'+id_pv+' .bloc-commande .td-paiement').html(data.html_statut_paiement) ;
  444. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande) ;
  445. chat_index_commandes_boutons_paiement(id_pv, id_commande) ;
  446. },'json') ;
  447. }
  448. else {
  449. $('#point-vente-'+id_pv+' .bloc-commande').hide() ;
  450. }
  451. }
  452. function chat_index_commandes_boutons_paiement(id_pv, id_commande) {
  453. // boutons paiement/remboursement
  454. $('#point-vente-'+id_pv+' .payer, #point-vente-'+id_pv+' .rembourser').click(function() {
  455. $.get(UrlManager.getBaseUrl()+'commande/paiement',{
  456. id_commande: id_commande,
  457. type: $(this).data('type'),
  458. montant: $(this).data('montant')
  459. }, function(data) {
  460. $('#point-vente-'+id_pv+' .bloc-commande .td-paiement').html(data.html_statut_paiement) ;
  461. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande) ;
  462. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  463. chat_index_commandes_boutons_paiement(id_pv, id_commande) ;
  464. }, 'json') ;
  465. }) ;
  466. }
  467. function chat_index_commandes_liste_produits() {
  468. $('#produits-production .td-max input').click(function() {
  469. $(this).select() ;
  470. }) ;
  471. $('#produits-production .td-actif input').change(function() {
  472. if($(this).prop('checked')) {
  473. $(this).parent().parent().addClass('active') ;
  474. }
  475. else {
  476. $(this).parent().parent().removeClass('active') ;
  477. }
  478. }) ;
  479. }
  480. function chat_alert(type, message) {
  481. var id = 'alert-'+$('#alerts-fixed .alert').size() + 1 ;
  482. $('#alerts-fixed').append('<div id="'+id+'" class="alert alert-'+type+'">'+message+'</div>') ;
  483. setTimeout('$("#'+id+'").fadeOut();',3000) ;
  484. }
  485. function chat_ordre_produits() {
  486. var fixHelper = function(e, ui) {
  487. ui.children().each(function() {
  488. $(this).width($(this).width());
  489. });
  490. return ui;
  491. };
  492. $(".produit-index table tbody").sortable({
  493. items: "> tr",
  494. appendTo: "parent",
  495. cursor: "move",
  496. placeholder: "ui-state-highlight",
  497. handle: '.btn-order',
  498. //helper: "clone"
  499. helper: fixHelper,
  500. stop: function(event, ui) {
  501. var tab_ordre = {} ;
  502. var ordre = 1 ;
  503. $(".produit-index table tbody tr").each(function() {
  504. tab_ordre[$(this).attr('data-key')] = ordre ;
  505. ordre++ ;
  506. }) ;
  507. console.log(tab_ordre) ;
  508. $.get(UrlManager.getBaseUrl()+'produit/ordre',{
  509. tab: JSON.stringify(tab_ordre)
  510. }) ;
  511. }
  512. }).disableSelection();
  513. }
  514. function chat_email_masse() {
  515. $('#ids-users .label').click(function() {
  516. if($(this).hasClass('label-default')) {
  517. $(this).removeClass('label\-default') ;
  518. $(this).addClass('label-danger') ;
  519. }
  520. else if($(this).hasClass('label-danger'))
  521. $(this).removeClass('label-danger').addClass('label-default') ;
  522. }) ;
  523. $('#email-masse-form button[type=submit]').click(function() {
  524. $(this).attr('disabled','disabled').html('Envoyer ...') ;
  525. chat_email_masse_send() ;
  526. return false ;
  527. }) ;
  528. }
  529. function chat_email_masse_send() {
  530. var user = $('#ids-users .label-default:first') ;
  531. if(user.size()) {
  532. $('input[name=id_user]').val(user.data('id')) ;
  533. $.post(UrlManager.getBaseUrl()+'user/mail',$('#email-masse-form').serialize(), function(retour) {
  534. user.removeClass('label-default').addClass('label-success') ;
  535. setTimeout("chat_email_masse_send()",30000) ;
  536. }) ;
  537. }
  538. else {
  539. alert('Fini !') ;
  540. }
  541. }
  542. function chat_vrac() {
  543. $('.edit-vrac').click(function() {
  544. if($('.vrac').css('display') == 'none')
  545. $('.vrac').show() ;
  546. else
  547. $('.vrac').hide() ;
  548. }) ;
  549. }
  550. function chat_datepicker() {
  551. $('.datepicker').datepicker({dateFormat:'dd/mm/yy'}) ;
  552. }
  553. function chat_calendar() {
  554. if($('#page-commande').size()) {
  555. var events = new Array ;
  556. $('ul#jours-production li').each(function() {
  557. var date = $(this).html() ;
  558. events.push({
  559. title: 'Production',
  560. start: date,
  561. allDay: true
  562. }) ;
  563. }) ;
  564. jQuery('#calendar').fullCalendar({
  565. header: {
  566. left:"prev,next",
  567. center: "title",
  568. //right:"month,agendaWeek,agendaDay"
  569. right:""
  570. },
  571. lang:"fr-fr",
  572. loading:function loading(bool) {
  573. if (bool) $('#loading').show();
  574. else $('#loading').hide();
  575. },
  576. dayClick: function(date, jsEvent, view) {
  577. var url = $(location).attr('href') ;
  578. var tab_url = url.split('?') ;
  579. $(location).attr('href',tab_url[0]+'?r=commande/index&date='+date.format());
  580. },
  581. eventRender: function (event, element) {
  582. var dataToFind = moment(event.start).format('YYYY-MM-DD');
  583. $("td[data-date='"+dataToFind+"']").addClass('dayWithEvent');
  584. },
  585. //eventBackgroundColor: '#000000',
  586. events: events,
  587. id:"calendar"
  588. });
  589. if($('#current-date').val())
  590. $('td[data-date='+$('#current-date').val()+']').addClass('current-date') ;
  591. }
  592. }
  593. /* French initialisation for the jQuery UI date picker plugin. */
  594. /* Written by Keith Wood (kbwood{at}iinet.com.au),
  595. Stéphane Nahmani (sholby@sholby.net),
  596. Stéphane Raimbault <stephane.raimbault@gmail.com> */
  597. (function( factory ) {
  598. if ( typeof define === "function" && define.amd ) {
  599. // AMD. Register as an anonymous module.
  600. define([ "../jquery.ui.datepicker" ], factory );
  601. } else {
  602. // Browser globals
  603. factory( jQuery.datepicker );
  604. }
  605. }(function( datepicker ) {
  606. datepicker.regional['fr'] = {
  607. closeText: 'Fermer',
  608. prevText: 'Précédent',
  609. nextText: 'Suivant',
  610. currentText: 'Aujourd\'hui',
  611. monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
  612. 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
  613. monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
  614. 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
  615. dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
  616. dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
  617. dayNamesMin: ['D','L','M','M','J','V','S'],
  618. weekHeader: 'Sem.',
  619. dateFormat: 'dd/mm/yy',
  620. firstDay: 1,
  621. isRTL: false,
  622. showMonthAfterYear: false,
  623. yearSuffix: ''};
  624. datepicker.setDefaults(datepicker.regional['fr']);
  625. return datepicker.regional['fr'];
  626. }));