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

768 行
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. function chat_tooltip() {
  21. $('[data-toggle="tooltip"]').tooltip();
  22. }
  23. function chat_nl2br(str, is_xhtml) {
  24. var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
  25. return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
  26. }
  27. function chat_index_commandes_points_vente_livraison() {
  28. $('#productionpointvente-productions_point_vente input[type=checkbox]').change(function() {
  29. var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
  30. if(nb == 0) {
  31. $(this).prop('checked',true) ;
  32. chat_alert('danger','Vous devez avoir au moins un point de vente activé') ;
  33. }
  34. else {
  35. var val = $(this).val() ;
  36. var arr_val = val.split('-') ;
  37. var livraison = 0 ;
  38. if($(this).prop('checked'))
  39. livraison = 1 ;
  40. $.get('index.php',{
  41. r: 'commande/ajax-point-vente-livraison',
  42. id_production: arr_val[0],
  43. id_point_vente: arr_val[1],
  44. bool_livraison: livraison
  45. }, function(data) {
  46. chat_alert('success','Point de vente modifié') ;
  47. }) ;
  48. chat_index_commandes_maj_points_vente() ;
  49. }
  50. }) ;
  51. }
  52. function chat_index_commandes_maj_points_vente() {
  53. var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
  54. if(nb == 0)
  55. {
  56. $('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').hide() ;
  57. $('#panel-commandes .alert-danger').show();
  58. }
  59. else {
  60. $('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').show() ;
  61. $('#panel-commandes .alert-danger').hide();
  62. }
  63. var id_production = $('#id-production').val() ;
  64. if(id_production) {
  65. $('#tabs-points-vente li').each(function() {
  66. var id_point_vente = $(this).find('a').attr('id').replace('btn-point-vente-','') ;
  67. var nb_commandes = parseInt($(this).find('.badge-success').html()) ;
  68. var checked = $('#productionpointvente-productions_point_vente input[value='+id_production+'-'+id_point_vente+']').prop('checked') ;
  69. if(checked || nb_commandes > 0)
  70. {
  71. $(this).show() ;
  72. }
  73. else {
  74. $(this).hide() ;
  75. }
  76. }) ;
  77. $('#tabs-points-vente li:visible:first a').click() ;
  78. }
  79. }
  80. function chat_points_vente_jours_livraison() {
  81. $('#pointvente-point_fabrication').change(function() {
  82. chat_points_vente_jours_livraison_event() ;
  83. }) ;
  84. chat_points_vente_jours_livraison_event();
  85. }
  86. function chat_points_vente_jours_livraison_event() {
  87. if($('#pointvente-point_fabrication').prop('checked')) {
  88. $('#jours-livraison').hide() ;
  89. }
  90. else {
  91. $('#jours-livraison').fadeIn() ;
  92. }
  93. }
  94. function chat_points_vente_acces() {
  95. // affichage du bloc acces restreint
  96. $('#pointvente-acces_restreint').change(function() {
  97. chat_points_vente_acces_event() ;
  98. }) ;
  99. chat_points_vente_acces_event() ;
  100. // affichage du champs commentaire
  101. $('#pointvente-users input[type=checkbox]').change(function() {
  102. chat_points_vente_commentaire_event() ;
  103. }) ;
  104. chat_points_vente_commentaire_event() ;
  105. }
  106. function chat_points_vente_commentaire_event() {
  107. $('#pointvente-users input[type=checkbox]').each(function() {
  108. if($(this).prop('checked')) {
  109. $(this).parent().find('.commentaire').fadeIn() ;
  110. }
  111. else {
  112. $(this).parent().find('.commentaire').hide() ;
  113. }
  114. }) ;
  115. }
  116. function chat_points_vente_acces_event() {
  117. if($('#pointvente-acces_restreint').prop('checked')) {
  118. $('#pointvente-users').fadeIn() ;
  119. }
  120. else {
  121. $('#pointvente-users').hide() ;
  122. }
  123. }
  124. function chat_select_etablissement() {
  125. $('select[name="select_etablissement"]').change(function() {
  126. window.location.href = 'index.php?r=site/change-etablissement&id='+$(this).val() ;
  127. }) ;
  128. }
  129. function chat_commandeauto() {
  130. // dates
  131. $('#commandeautoform-date_debut, #commandeautoform-date_fin').datepicker() ;
  132. }
  133. function chat_index_commandes_points_vente() {
  134. $('#commandes-points-vente .liste-commandes a').unbind('click').click(function() {
  135. var id_pv = $(this).data('pv-id') ;
  136. // affiche la commande
  137. var id_commande = $(this).data('id-commande') ;
  138. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  139. }) ;
  140. $('#commandes-points-vente .bloc-point-vente').each(function() {
  141. var id_pv = $(this).data('id-pv') ;
  142. // edit
  143. $('#point-vente-'+id_pv+' .btn-edit').unbind('click').click(function() {
  144. // boutons
  145. $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
  146. $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
  147. $('#point-vente-'+id_pv+' .tr-total').hide() ;
  148. // inputs
  149. chat_index_commandes_inputs_commande(id_pv, true) ;
  150. }) ;
  151. // remove
  152. $('#point-vente-'+id_pv+' .btn-remove').unbind('click').click(function() {
  153. var id_commande = $(this).data('id-commande') ;
  154. $(this).attr('disabled', 'disabled') ;
  155. $.get('index.php',{
  156. r: 'commande/ajax-delete',
  157. date: $('#date-production').val(),
  158. id_commande: id_commande
  159. }, function(data) {
  160. $('#point-vente-'+id_pv+' .btn-remove').removeAttr('disabled') ;
  161. if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  162. if($('#point-vente-'+id_pv+' .liste-commandes li:last-child a').is('.active')) {
  163. var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().prev().find('a') ;
  164. }
  165. else {
  166. var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().next().find('a') ;
  167. }
  168. $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().remove() ;
  169. if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  170. chat_index_commandes_affiche_commande(id_pv, commande_next.data('id-commande')) ;
  171. }
  172. else {
  173. $('#point-vente-'+id_pv+' .liste-commandes').hide() ;
  174. $('#point-vente-'+id_pv+' .creer-commande').trigger('click') ;
  175. }
  176. }
  177. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  178. chat_index_commandes_maj_total_commandes() ;
  179. chat_alert('success','Commande supprimée') ;
  180. }, 'json') ;
  181. });
  182. // cancel
  183. $('#point-vente-'+id_pv+' .btn-cancel').unbind('click').click(function() {
  184. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  185. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  186. $('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
  187. chat_index_commandes_affiche_commande(id_pv, $(this).data('id-commande')) ;
  188. }) ;
  189. // save
  190. $('#point-vente-'+id_pv+' .btn-save').unbind('click').click(function() {
  191. var tab_produits = {} ;
  192. var cpt_produits = 0 ;
  193. $('#point-vente-'+id_pv+' .table-produits tr').each(function() {
  194. tab_produits[$(this).data('id-produit')] = $(this).find('.quantite').val() ;
  195. if($(this).find('.quantite').val())
  196. cpt_produits ++ ;
  197. }) ;
  198. if(cpt_produits) {
  199. // création
  200. if($(this).hasClass('is-create')) {
  201. if($('#point-vente-'+id_pv+' .user-id').val() || $('#point-vente-'+id_pv+' .username').val().length) {
  202. $(this).attr('disabled', 'disabled') ;
  203. $.get('index.php',{
  204. r: 'commande/ajax-create',
  205. date: $('#date-production').val(),
  206. id_pv: id_pv,
  207. id_user: $('#point-vente-'+id_pv+' .user-id').val(),
  208. username: $('#point-vente-'+id_pv+' .username').val(),
  209. produits: JSON.stringify(tab_produits),
  210. commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
  211. }, function(data) {
  212. $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
  213. $('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
  214. $('#point-vente-'+id_pv+' .liste-commandes').append(data.commande) ;
  215. chat_index_commandes_points_vente() ;
  216. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  217. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  218. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  219. $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ;
  220. $('#point-vente-'+id_pv+' .user-id').val(0) ;
  221. $('#point-vente-'+id_pv+' .user-id').val('') ;
  222. chat_index_commandes_affiche_commande(id_pv, data.id_commande) ;
  223. chat_alert('success', 'Commande créée') ;
  224. }, 'json') ;
  225. }
  226. else {
  227. chat_alert('danger', 'Veuillez choisir ou saisir un nom d\'utilisateur') ;
  228. }
  229. }
  230. // modification
  231. else {
  232. var id_commande = $(this).data('id-commande') ;
  233. $(this).attr('disabled', 'disabled') ;
  234. $.get('index.php',{
  235. r: 'commande/ajax-update',
  236. id_commande: id_commande,
  237. produits: JSON.stringify(tab_produits),
  238. date: $('#date-production').val(),
  239. commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
  240. }, function(data) {
  241. $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
  242. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande);
  243. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(data.json_commande.str_montant) ;
  244. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  245. chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
  246. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  247. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  248. chat_alert('success','Commande modifiée') ;
  249. }, 'json') ;
  250. }
  251. }
  252. else {
  253. chat_alert('danger', 'Veuillez saisir au moins un produit') ;
  254. }
  255. chat_index_commandes_maj_total_commandes() ;
  256. }) ;
  257. // create
  258. $('.creer-commande').unbind('click').click(function() {
  259. var id_pv = $(this).data('pv-id') ;
  260. $('#point-vente-'+id_pv+' .bloc-commande').fadeIn() ;
  261. $('#point-vente-'+id_pv+' .liste-commandes a.active').removeClass('active') ;
  262. $('#point-vente-'+id_pv+' .tr-total').hide() ;
  263. $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
  264. $('#point-vente-'+id_pv+' .the-title').hide() ;
  265. $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
  266. $('#point-vente-'+id_pv+' .choix-user').show() ;
  267. $('#point-vente-'+id_pv+' .choix-user .user-id').val(0) ;
  268. $('#point-vente-'+id_pv+' .choix-user .username').val('') ;
  269. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  270. $('#point-vente-'+id_pv+' .btn-save').addClass('is-create');
  271. /*if(!$('#point-vente-'+id_pv+' .btn-cancel').data('id-commande') &&
  272. $('#point-vente-'+id_pv+' .liste-commandes li').size()) {
  273. $('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',$('#point-vente-'+id_pv+' .liste-commandes li:first a').data('id-commande')) ;
  274. }*/
  275. $('#point-vente-'+id_pv+' .btn-save').data('id-commande',0) ;
  276. chat_index_commandes_inputs_commande(id_pv, false) ;
  277. $('#point-vente-'+id_pv+' .title-user').show() ;
  278. }) ;
  279. }) ;
  280. $('#commandes-points-vente .liste-commandes').each(function() {
  281. //$(this).find('a:first').trigger('click') ;
  282. }) ;
  283. }
  284. function chat_index_commandes_maj_total_commandes() {
  285. $.get('index.php',{
  286. r: 'commande/ajax-total-commandes',
  287. date: $('#date-production').val()
  288. }, function(data) {
  289. $('#bloc-totaux').html(data.html_totaux) ;
  290. }, 'json') ;
  291. }
  292. function chat_index_commandes_maj_recap_pv(id_pv, total) {
  293. $('#point-vente-'+id_pv+' .recap-pv .recettes').html(total) ;
  294. var nb_commandes = $('#point-vente-'+id_pv+' .liste-commandes li').size() ;
  295. if(nb_commandes == 0) {
  296. $('#point-vente-'+id_pv+' .recap-pv .commandes').html('Aucune commande') ;
  297. $('#point-vente-'+id_pv+' .recap-pv .recettes').hide() ;
  298. $('#point-vente-'+id_pv+' .liste-commandes').addClass('no-commande') ;
  299. }
  300. else if(nb_commandes == 1) {
  301. $('#point-vente-'+id_pv+' .recap-pv .commandes').html('1 commande') ;
  302. $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
  303. $('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
  304. }
  305. else {
  306. $('#point-vente-'+id_pv+' .recap-pv .commandes').html(nb_commandes+' commandes') ;
  307. $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
  308. $('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
  309. }
  310. $('#btn-point-vente-'+id_pv+' .badge').html(nb_commandes) ;
  311. }
  312. function chat_index_commandes_inputs_commande(id_pv, use_quantite) {
  313. // commentaire
  314. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  315. $('#point-vente-'+id_pv+' .textarea-commentaire').show() ;
  316. var id_commande = $('#point-vente-'+id_pv+' .btn-save').data('id-commande') ;
  317. if(id_commande) {
  318. var link = $('a[data-id-commande='+id_commande+']') ;
  319. if(!$.isPlainObject(link.attr('data-commande'))) {
  320. var commande = JSON.parse(link.attr('data-commande')) ;
  321. if(commande.commentaire && commande.commentaire.length)
  322. $('#point-vente-'+id_pv+' .textarea-commentaire').val(commande.commentaire) ;
  323. }
  324. }
  325. else {
  326. $('#point-vente-'+id_pv+' .textarea-commentaire').val('') ;
  327. }
  328. // produits
  329. $('#point-vente-'+id_pv+' .table-produits tr').each(function() {
  330. var quantite = '' ;
  331. if(use_quantite)
  332. quantite = $(this).find('.td-commande').html() ;
  333. var id_produit = $(this).data('id-produit') ;
  334. $(this).find('.td-commande').html('<div class="input-group">'+
  335. '<span class="input-group-btn">'+
  336. '<button class="btn btn-default btn-moins" type="button"><span class="glyphicon glyphicon-minus"></span></button>'+
  337. '</span>'+
  338. '<input type="text" class="form-control quantite" value="'+quantite+'" name="produit_'+id_produit+'">'+
  339. '<span class="input-group-btn">'+
  340. '<button class="btn btn-default btn-plus" type="button"><span class="glyphicon glyphicon-plus"></span></button>'+
  341. '</span>'+
  342. '</div>') ;
  343. }) ;
  344. // plus / moins
  345. chat_btn_plus_moins() ;
  346. }
  347. function chat_btn_plus_moins() {
  348. $('.btn-plus').each(function() {
  349. $(this).click(function() {
  350. var input = $(this).parent().parent().find('input') ;
  351. var value = input.val() ;
  352. if(value)
  353. value ++ ;
  354. else
  355. value = 1 ;
  356. input.val(value) ;
  357. }) ;
  358. }) ;
  359. $('.btn-moins').each(function() {
  360. $(this).click(function() {
  361. var input = $(this).parent().parent().find('input') ;
  362. var value = input.val() ;
  363. if(value && value > 1)
  364. value -- ;
  365. else
  366. value = '' ;
  367. input.val(value) ;
  368. }) ;
  369. }) ;
  370. }
  371. function chat_index_commandes_affiche_commande(id_pv, id_commande) {
  372. var link = $("a[data-id-commande="+id_commande+"]") ;
  373. if(id_commande) {
  374. $('#point-vente-'+id_pv+' .bloc-commande').hide() ;
  375. $('#point-vente-'+id_pv+' .liste-commandes a').removeClass('active') ;
  376. link.addClass('active') ;
  377. var commande = link.attr('data-commande') ;
  378. if(!$.isPlainObject(link.attr('data-commande'))) {
  379. commande = JSON.parse(link.attr('data-commande')) ;
  380. }
  381. // maj ligne commande
  382. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').removeClass('paye') ;
  383. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant .glyphicon').remove() ;
  384. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html() ;
  385. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(commande.str_montant) ;
  386. if(commande.montant_paye >= commande.montant) {
  387. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').addClass('paye') ;
  388. if(commande.montant_paye > commande.montant) {
  389. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').append(' <span class="glyphicon glyphicon-warning-sign"></span>') ;
  390. }
  391. }
  392. // commentaire
  393. if(commande.commentaire && commande.commentaire.length) {
  394. if(!$('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .glyphicon-comment').size()) {
  395. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').append(' <span class="glyphicon glyphicon-comment"></span>') ;
  396. }
  397. console.log(id_pv+' '+commande.commentaire) ;
  398. $('#point-vente-'+id_pv+' .commentaire').html(chat_nl2br(commande.commentaire)).show() ;
  399. }
  400. else {
  401. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .glyphicon-comment').remove() ;
  402. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  403. }
  404. // set id_commande
  405. $('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',id_commande) ;
  406. $('#point-vente-'+id_pv+' .btn-save').data('id-commande',id_commande) ;
  407. $('#point-vente-'+id_pv+' .btn-remove').data('id-commande',id_commande) ;
  408. $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ;
  409. $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
  410. $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
  411. $('#point-vente-'+id_pv+' .choix-user').hide() ;
  412. $('#point-vente-'+id_pv+' .the-title').show() ;
  413. $('#point-vente-'+id_pv+' .textarea-commentaire').hide() ;
  414. $('#point-vente-'+id_pv+' .td-commande').html('') ;
  415. $('#point-vente-'+id_pv+' .td-total').html('') ;
  416. $('#point-vente-'+id_pv+' tr').removeClass('active') ;
  417. $.each(commande.produits, function(i, item) {
  418. $('#point-vente-'+id_pv+' .produit-'+i+' .td-commande').html(item) ;
  419. $('#point-vente-'+id_pv+' .produit-'+i).addClass('active') ;
  420. }) ;
  421. $('#point-vente-'+id_pv+' .td-total').html('<span>'+commande.str_montant+'</span>') ;
  422. $('#point-vente-'+id_pv+' .tr-total').show() ;
  423. /*var commentaire = link.data('commentaire') ;
  424. if(commentaire) {
  425. $('#point-vente-'+id_pv+' .commentaire').html(commentaire).show() ;
  426. }
  427. else {
  428. $('#point-vente-'+id_pv+' .commentaire').hide() ;
  429. }*/
  430. $('#point-vente-'+id_pv+' .title-user span.the-title').html(link.find('.user').html()+" <small>"+link.data('date')+"</small>") ;
  431. $('#point-vente-'+id_pv+' .bloc-commande').fadeIn() ;
  432. $('#point-vente-'+id_pv+' .title-user').show() ;
  433. $('#point-vente-'+id_pv+' .tr-total').show() ;
  434. // paiement
  435. $.get('index.php',{
  436. r: 'commande/statut-paiement',
  437. id_commande: id_commande
  438. }, function(data) {
  439. $('#point-vente-'+id_pv+' .bloc-commande .td-paiement').html(data.html_statut_paiement) ;
  440. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande) ;
  441. chat_index_commandes_boutons_paiement(id_pv, id_commande) ;
  442. },'json') ;
  443. }
  444. else {
  445. $('#point-vente-'+id_pv+' .bloc-commande').hide() ;
  446. }
  447. }
  448. function chat_index_commandes_boutons_paiement(id_pv, id_commande) {
  449. // boutons paiement/remboursement
  450. $('#point-vente-'+id_pv+' .payer, #point-vente-'+id_pv+' .rembourser').click(function() {
  451. $.get('index.php',{
  452. r: 'commande/paiement',
  453. id_commande: id_commande,
  454. type: $(this).data('type'),
  455. montant: $(this).data('montant')
  456. }, function(data) {
  457. $('#point-vente-'+id_pv+' .bloc-commande .td-paiement').html(data.html_statut_paiement) ;
  458. $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande) ;
  459. chat_index_commandes_affiche_commande(id_pv, id_commande) ;
  460. chat_index_commandes_boutons_paiement(id_pv, id_commande) ;
  461. }, 'json') ;
  462. }) ;
  463. }
  464. function chat_index_commandes_liste_produits() {
  465. $('#produits-production .td-max input').click(function() {
  466. $(this).select() ;
  467. }) ;
  468. $('#produits-production .td-actif input').change(function() {
  469. if($(this).prop('checked')) {
  470. $(this).parent().parent().addClass('active') ;
  471. }
  472. else {
  473. $(this).parent().parent().removeClass('active') ;
  474. }
  475. }) ;
  476. }
  477. function chat_alert(type, message) {
  478. var id = 'alert-'+$('#alerts-fixed .alert').size() + 1 ;
  479. $('#alerts-fixed').append('<div id="'+id+'" class="alert alert-'+type+'">'+message+'</div>') ;
  480. setTimeout('$("#'+id+'").fadeOut();',3000) ;
  481. }
  482. function chat_ordre_produits() {
  483. var fixHelper = function(e, ui) {
  484. ui.children().each(function() {
  485. $(this).width($(this).width());
  486. });
  487. return ui;
  488. };
  489. $(".produit-index table tbody").sortable({
  490. items: "> tr",
  491. appendTo: "parent",
  492. cursor: "move",
  493. placeholder: "ui-state-highlight",
  494. handle: '.btn-order',
  495. //helper: "clone"
  496. helper: fixHelper,
  497. stop: function(event, ui) {
  498. var tab_ordre = {} ;
  499. var ordre = 1 ;
  500. $(".produit-index table tbody tr").each(function() {
  501. tab_ordre[$(this).attr('data-key')] = ordre ;
  502. ordre++ ;
  503. }) ;
  504. console.log(tab_ordre) ;
  505. $.get('index.php',{
  506. r: '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('index.php?r=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. }));