PageRenderTime 26ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/assets/js/framework.js

https://gitlab.com/lazypdf/afi-framework
JavaScript | 300 lines | 265 code | 21 blank | 14 comment | 35 complexity | 5479686793e25126273bea6298b5bb67 MD5 | raw file
  1. //tooltips
  2. $(document).ready(function() {
  3. $(".hasTip").tooltip();
  4. });
  5. //messages
  6. window.setTimeout(function() { $("#message").alert('close'); }, 7000);
  7. function setCookie(c_name,value,exdays) {
  8. var exdate=new Date();
  9. exdate.setDate(exdate.getDate() + exdays);
  10. var c_value=escape(value) + ((exdays===null) ? "" : "; expires="+exdate.toUTCString());
  11. document.cookie=c_name + "=" + c_value;
  12. }
  13. function getCookie(c_name) {
  14. var name = c_name + "=";
  15. var ca = document.cookie.split(';');
  16. for(var i=0; i<ca.length; i++) {
  17. var c = ca[i].trim();
  18. if (c.indexOf(name)===0) return c.substring(name.length,c.length);
  19. }
  20. return "";
  21. }
  22. //change remember checkbox value
  23. function setValue() {
  24. if($('#remember').is(':checked')) {
  25. $('#remember').val(1);
  26. if(getCookie('dz_remember') != 1) { $("#cookieModal").modal("show"); }
  27. } else {
  28. $('#remember').val(0);
  29. }
  30. }
  31. $(document).ready(function(){
  32. $('.checkbox').click(function() {
  33. if(this.checked == true) {
  34. $(this).val(1);
  35. } else {
  36. $(this).val(0);
  37. }
  38. });
  39. });
  40. $(document).ready(function(){
  41. $(".clickable").click(function() {
  42. var id = $(this).attr('data-id');
  43. $.ajax({
  44. type:'GET',
  45. url: "index.php?view=cpanel&task=clientData&tmpl=raw",
  46. dataType: "json",
  47. data: 'clientid=' + id,
  48. cache: false,
  49. success: function(response){
  50. $('#NomFiscal').html(response.NomFiscal);
  51. $('#NomComercial').html(response.NomComercial);
  52. $('#Adreca').html(response.Adreca);
  53. $('#Poblacio').html(response.Poblacio);
  54. $('#Telefon1').html(response.Telefon1);
  55. if(response.Telefon2 != null) {
  56. $('#Telefon2').html(response.Telefon2);
  57. }
  58. $('#NIF').html(response.NIF);
  59. $('#GPS').html(response.GPS);
  60. $('#saldo').html(response.saldo);
  61. $('#edit').css('display', '');
  62. $('#edit').attr('href', 'index.php?view=cpanel&layout=edit&id='+id);
  63. $('#clientid').html(response.NomFiscal + ' <span class="glyphicon glyphicon-chevron-down"></span>');
  64. }
  65. });
  66. });
  67. $(".getpdf").click(function() {
  68. var id = $(this).attr('data-id');
  69. $('#pdf').css('display', '');
  70. $('#pdf').attr('href', 'index.php?view=diposits&task=getPdf&id='+id+'&tmpl=raw');
  71. $('#edit').css('display', '');
  72. $('#edit').attr('href', 'index.php?view=diposits&layout=edit&id='+id);
  73. });
  74. $(".getpdf_albarans").click(function() {
  75. var id = $(this).attr('data-id');
  76. $('#pdf').css('display', '');
  77. $('#pdf').attr('href', 'index.php?view=albarans&task=getPdf&id='+id+'&tmpl=raw');
  78. $('#edit').css('display', '');
  79. $('#edit').attr('href', 'index.php?view=albarans&layout=edit&id='+id);
  80. });
  81. $(".getpdf_factures").click(function() {
  82. var id = $(this).attr('data-id');
  83. $('#pdf').css('display', '');
  84. $('#pdf').attr('href', 'index.php?view=factures&task=getPdf&id='+id+'&tmpl=raw');
  85. $('#edit').css('display', '');
  86. $('#edit').attr('href', 'index.php?view=factures&layout=edit&id='+id);
  87. });
  88. $(".getpdf_notes").click(function() {
  89. var id = $(this).attr('data-id');
  90. $('#pdf').css('display', '');
  91. $('#pdf').attr('href', 'index.php?view=notes&task=getPdf&id='+id+'&tmpl=raw');
  92. $('#edit').css('display', '');
  93. $('#edit').attr('href', 'index.php?view=notes&layout=edit&id='+id);
  94. });
  95. });
  96. //password validation
  97. function checkPassword() {
  98. var pass = $("#password").val();
  99. var passRegex = (/^(?=.*\d)[0-9a-zA-Z]{6,}$/);
  100. var msg = $( "#password" ).attr( "data-message" );
  101. var valid = passRegex.test(pass);
  102. if (!valid) {
  103. $('#password-field').addClass('has-error');
  104. $('#password-field').removeClass('has-success');
  105. $('#btnRegister').attr('disabled', true);
  106. $('#password-msg').html(msg);
  107. return false;
  108. } else {
  109. $('#password-field').addClass('has-success');
  110. $('#password-field').removeClass('has-error');
  111. $('#btnRegister').removeAttr('disabled');
  112. $('#password-msg').html('');
  113. return true;
  114. }
  115. }
  116. //password2 validation
  117. function checkPasswordMatch() {
  118. var pass = $("#password").val();
  119. var pass2 = $("#password2").val();
  120. var msg = $( "#password2" ).attr( "data-message" );
  121. if (pass2 !== pass) {
  122. $('#password2-field').addClass('has-error');
  123. $('#password2-field').removeClass('has-success');
  124. $('#btnRegister').attr('disabled', true);
  125. $('#password2-msg').html(msg);
  126. return false;
  127. } else {
  128. $('#password2-field').addClass('has-success');
  129. $('#password2-field').removeClass('has-error');
  130. $('#btnRegister').removeAttr('disabled');
  131. $('#password2-msg').html('');
  132. return true;
  133. }
  134. }
  135. function checkEmailExists() {
  136. var email = $("#email").val();
  137. //check if username exists...
  138. $.ajax({
  139. type:'GET',
  140. dataType: 'text',
  141. url: 'index.php?view=register&task=checkEmail&tmpl=raw&email='+email,
  142. data: 'email=' + email,
  143. cache: false,
  144. success: function(data) {
  145. //alert(data);
  146. if(data == 1) {
  147. $('#email-field').addClass('has-success');
  148. $('#email-field').removeClass('has-error');
  149. $('#btnRegister').removeAttr('disabled');
  150. $('#email-msg').html('');
  151. return true;
  152. } else {
  153. $('#email-field').addClass('has-error');
  154. $('#email-field').removeClass('has-success');
  155. $('#btnRegister').attr('disabled', true);
  156. $('#email-msg').html(email+' already registered');
  157. return false;
  158. }
  159. }
  160. });
  161. }
  162. //email validation
  163. function checkEmail() {
  164. var email = $("#email").val();
  165. var msg = $("#email").attr( "data-message" );
  166. var emailRegex = new RegExp(/^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/i);
  167. var valid = emailRegex.test(email);
  168. if (!valid) {
  169. $('#email-field').addClass('has-error');
  170. $('#email-field').removeClass('has-success');
  171. $('#btnRegister').attr('disabled', true);
  172. $('#email-msg').html(msg);
  173. return false;
  174. } else {
  175. $('#email-field').addClass('has-success');
  176. $('#email-field').removeClass('has-error');
  177. $('#btnRegister').removeAttr('disabled');
  178. $('#email-msg').html('');
  179. return true;
  180. }
  181. }
  182. function checkUsernameExists() {
  183. var username = $("#username").val();
  184. //check if username exists...
  185. $.ajax({
  186. type:'GET',
  187. dataType: 'text',
  188. url: 'index.php?view=register&task=checkUsername&tmpl=raw&username='+username,
  189. data: 'username=' + username,
  190. cache: false,
  191. success: function(data) {
  192. //alert(data);
  193. if(data == 1) {
  194. $('#username-field').addClass('has-success');
  195. $('#username-field').removeClass('has-error');
  196. $('#btnRegister').removeAttr('disabled');
  197. $('#username-msg').html('');
  198. return true;
  199. } else {
  200. $('#username-field').addClass('has-error');
  201. $('#username-field').removeClass('has-success');
  202. $('#btnRegister').attr('disabled', true);
  203. $('#username-msg').html(username+' already exists in database');
  204. return false;
  205. }
  206. }
  207. });
  208. }
  209. //username validation
  210. function checkUsername() {
  211. var username = $("#username").val();
  212. var msg = $( "#username" ).attr( "data-message" );
  213. //check deziro's blacklist...
  214. var blacklist = ['polla', 'pollas', 'culo', 'culos', 'pene', 'penes', 'follador', 'fucker', 'motherfucker', 'bitch', 'puta', 'marica', 'maricon'];
  215. var length = blacklist.length;
  216. for(var i = 0; i < length; i++) {
  217. if(blacklist[i] == username) {
  218. $('#username-field').addClass('has-error');
  219. $('#username-field').removeClass('has-success');
  220. $('#username-msg').html(msg);
  221. $('#btnRegister').attr('disabled', true);
  222. return false;
  223. }
  224. }
  225. //check if empty or min lenght...
  226. if(username !== "" && username.length > 2) {
  227. $('#username-field').addClass('has-success');
  228. $('#username-field').removeClass('has-error');
  229. $('#btnRegister').removeAttr('disabled');
  230. $('#username-msg').html('');
  231. return true;
  232. } else {
  233. $('#username-field').addClass('has-error');
  234. $('#username-field').removeClass('has-success');
  235. $('#btnRegister').attr('disabled', true);
  236. $('#username-msg').html(msg);
  237. return false;
  238. }
  239. }
  240. function validateRegister() {
  241. var pass = checkPassword();
  242. var pass2 = checkPasswordMatch();
  243. var email = checkEmail();
  244. var email2 = checkEmailExists();
  245. var user = checkUsername();
  246. var user2 = checkUsernameExists();
  247. if(pass === true && pass2 === true && email === true && user === true) {
  248. return true;
  249. } else {
  250. return false;
  251. }
  252. }
  253. //plugin bootstrap minus and plus
  254. $(document).ready(function(){
  255. $('.btn-minuse').on('click', function() {
  256. var row = $(this).attr('data-row');
  257. if($(this).parent().siblings('input').val() > 0) {
  258. $(this).parent().siblings('input').val(parseInt($(this).parent().siblings('input').val()) - 1);
  259. var qty = parseInt($(this).parent().siblings('input').val());
  260. var brut = parseFloat($('#Preu'+row).val()) * qty;
  261. var ImportDte = (parseFloat(brut) * parseFloat($('#PercDte'+row).val())) / 100;
  262. var base = parseFloat(brut) - parseFloat(ImportDte);
  263. $('#ImportBrut'+row).val(brut);
  264. $('#ImportDte'+row).val(ImportDte);
  265. $('#Base'+row).val(base);
  266. }
  267. })
  268. $('.btn-pluss').on('click', function() {
  269. var row = $(this).attr('data-row');
  270. $(this).parent().siblings('input').val(parseInt($(this).parent().siblings('input').val()) + 1);
  271. var qty = parseInt($(this).parent().siblings('input').val());
  272. var brut = parseFloat($('#Preu'+row).val()) * qty;
  273. var ImportDte = (parseFloat(brut) * parseFloat($('#PercDte'+row).val())) / 100;
  274. var base = parseFloat(brut) - parseFloat(ImportDte);
  275. $('#ImportBrut'+row).val(brut);
  276. $('#ImportDte'+row).val(ImportDte);
  277. $('#Base'+row).val(base);
  278. })
  279. });