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.

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