Commit f5d2b08ddc9ddaae1297b58641413c6b200bff1f

Authored by Tallys Martins
1 parent 4de02a20
Exists in blog_page_bug

Fixing javascript bug on new blog page

- Slug generator javascript was broken

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Tallys Martins <tallysmartins@gmail.com>
Signed-off-by: Simião Carvalho <simiaosimis@gmail.com>
app/views/cms/_blog.html.erb
@@ -4,25 +4,40 @@ @@ -4,25 +4,40 @@
4 4
5 <%= render :file => 'shared/tiny_mce' %> 5 <%= render :file => 'shared/tiny_mce' %>
6 6
7 -<%= required f.text_field(:name, :size => '64', :maxlength => 150, :onchange => "updateUrlField(this, 'article_slug')") %> 7 +<%= required f.text_field(:name, :size => '64', :maxlength => 150, :onchange => "updateUrlField(this, '#article_slug')") %>
8 8
9 <%= render :partial => 'general_fields' %> 9 <%= render :partial => 'general_fields' %>
10 10
11 <script type="text/javascript"> 11 <script type="text/javascript">
  12 + "use strict";
  13 +
12 function submit_button(index) { 14 function submit_button(index) {
13 - var form = $($("#article_slug")[0].form)  
14 - return form.find("input[type=submit]")[index]; 15 + var form = $($("#article_slug")[0].form);
  16 + return form.find("input[type=submit]")[index];
15 } 17 }
  18 +
16 function warn_value_change() { 19 function warn_value_change() {
17 - show_warning('article-formitem', "slug-change-confirmation");  
18 - disable_button(submit_button(0));  
19 - disable_button(submit_button(1)); 20 + var slug_val = jQuery("#article_slug").val();
  21 + var old_slug = jQuery("#old_article_slug").val();
  22 +
  23 + if(old_slug == ""){
  24 + jQuery("#old_article_slug").val(jQuery("#article_slug").val());
  25 + }else{
  26 + if(old_slug != slug_val){
  27 + show_warning('article-formitem', "slug-change-confirmation");
  28 + disable_button(submit_button(0));
  29 + disable_button(submit_button(1));
  30 + }else{}
  31 + }
20 } 32 }
  33 +
21 function confirm_change() { 34 function confirm_change() {
22 enable_button(submit_button(0)); 35 enable_button(submit_button(0));
23 enable_button(submit_button(1)); 36 enable_button(submit_button(1));
24 hide_warning('slug-change-confirmation'); 37 hide_warning('slug-change-confirmation');
  38 + jQuery("#old_article_slug").val(jQuery("#article_slug").val());
25 } 39 }
  40 +
26 function no_change() { 41 function no_change() {
27 jQuery("#article_slug").val(jQuery("#old_article_slug").val()); 42 jQuery("#article_slug").val(jQuery("#old_article_slug").val());
28 enable_button(submit_button(0)); 43 enable_button(submit_button(0));
public/javascripts/application.js
@@ -107,15 +107,13 @@ function convToValidEmail( str ) { @@ -107,15 +107,13 @@ function convToValidEmail( str ) {
107 } 107 }
108 108
109 function updateUrlField(name_field, id) { 109 function updateUrlField(name_field, id) {
110 - url_field = $(id);  
111 - old_url_value = url_field.value;  
112 - new_url_value = convToValidIdentifier(name_field.value, "-"); 110 + var url_field = $(id);
  111 + var old_url_value = url_field.val();
  112 + var new_url_value = convToValidIdentifier(name_field.value, "-");
113 113
114 - url_field.value = new_url_value; 114 + url_field.val(new_url_value);
115 115
116 - if (!/^\s*$/.test(old_url_value)  
117 - && old_url_value != new_url_value  
118 - ) { 116 + if (old_url_value != new_url_value) {
119 warn_value_change(url_field); 117 warn_value_change(url_field);
120 } 118 }
121 } 119 }