選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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