Guest User

Untitled

a guest
Jan 16th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. ## views.py
  2.  
  3. def learn_more(request):
  4. form = LearnMoreForm(request.POST or None)
  5. if form.is_valid():
  6. form.save()
  7.  
  8. if request.is_ajax():
  9. return HttpResponse(simplejson.dumps({
  10. 'success':True,
  11. 'message':'Thank you for signing up!'}), mimetype='application/json')
  12.  
  13. messages.success(request, 'Thank you for signing up!')
  14. form = None
  15. return HttpResponseRedirect(request.META['HTTP_REFERER'])
  16.  
  17. if request.is_ajax():
  18. return HttpResponse(simplejson.dumps({
  19. 'success':False,
  20. 'message':'There was an error processing your email'}), mimetype='application/json')
  21.  
  22. messages.error('There was an error processing your email')
  23. return HttpResponseRedirect(request.META['HTTP_REFERER'])
  24.  
  25. ##javascript
  26.  
  27. $(function(){
  28.  
  29. $('a.email').click(function(){
  30. var v = Base64.decode(unescape($(this).attr('data-hash')));
  31. $(this).text(v);
  32. $(this).removeClass('email');
  33. $(this).addClass('decoded-email');
  34. return false;
  35. });
  36. $('a.decoded-email').live('click', function(){
  37. $(this).attr('href', 'mailto:'+$(this).text());
  38. return false;
  39. });
  40. $('a.addthis').each(function(){
  41. addthis.button($(this).get());
  42. });
  43. $('html').ajaxSend(function(event, xhr, settings) {
  44. function getCookie(name) {
  45. var cookieValue = null;
  46. if (document.cookie && document.cookie != '') {
  47. var cookies = document.cookie.split(';');
  48. for (var i = 0; i < cookies.length; i++) {
  49. var cookie = jQuery.trim(cookies[i]);
  50. // Does this cookie string begin with the name we want?
  51. if (cookie.substring(0, name.length + 1) == (name + '=')) {
  52. cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
  53. break;
  54. }
  55. }
  56. }
  57. return cookieValue;
  58. }
  59.  
  60. if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url)) || /localhost:*/.test(settings.url)) {
  61. // Only send the token to relative URLs i.e. locally.
  62. xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
  63. }
  64. });
  65.  
  66. //need to limit it to the scope of signup yo
  67. if($('form.newsletter').length){
  68. //apply the goodies - ajax up in there
  69. $("form.newsletter #id_email").labelify({labelledClass: "inputHighlight"});
  70. $('form.newsletter').each(function(){
  71. $(this).validate({
  72. rules: {
  73. email: {
  74. required: true,
  75. email: true
  76. }
  77. },
  78. messages: {
  79. email: "Email address is required!"
  80. },
  81. errorElement: 'span',
  82. errorPlacement: function(error, element){
  83. error.insertBefore(element.prev());
  84. },
  85. submitHandler: function(form){
  86. $('input[type="submit"]', $(form)).attr('disabled', 'true');
  87. //form.submit();
  88. $.post($(form).attr('action'),$(form).serialize(),function(data, textStatus){
  89. if(data.success){
  90. //empty form contents
  91. $(form).empty();
  92. $(form).append('<p class="message success">'+data.message+'</p>');
  93. }else{
  94. $(form).append('<p class="message error">'+data.message+'</p>');
  95. }
  96. });
  97. }
  98. });
  99. });
  100. }
  101. });
Add Comment
Please, Sign In to add comment