diff options
Diffstat (limited to 'modules/tag')
| -rw-r--r-- | modules/tag/controllers/admin_tags.php | 15 | ||||
| -rw-r--r-- | modules/tag/js/tag.js | 6 | 
2 files changed, 16 insertions, 5 deletions
| diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php index 8b8dde21..3301566b 100644 --- a/modules/tag/controllers/admin_tags.php +++ b/modules/tag/controllers/admin_tags.php @@ -81,15 +81,20 @@ class Admin_Tags_Controller extends Admin_Controller {        kohana::show_404();      } -    $form = tag::get_rename_form($tag); -    $valid = $form->validate(); +    //Don't use a form as the form is dynamically created in the js +    $post = new Validation($_POST); +    $post->add_rules("name", "required", "length[1,64]"); +    $valid = $post->validate();      if ($valid) { -      $new_name = $form->rename_tag->inputs["name"]->value; +      $new_name = $this->input->post("name");        $new_tag = ORM::factory("tag")->where("name", $new_name)->find();        if ($new_tag->loaded) { -        $form->rename_tag->inputs["name"]->add_error("in_use", 1); +        $error_msg = "There is already a tag with that name";          $valid = false;        } +    } else { +      $error_msg = $post->errors(); +      $error_msg = $error_msg[0];      }      if ($valid) { @@ -110,7 +115,7 @@ class Admin_Tags_Controller extends Admin_Controller {      } else {        print json_encode(          array("result" => "error", -              "form" => $form->__toString())); +              "message" => $error_msg));      }    }  } diff --git a/modules/tag/js/tag.js b/modules/tag/js/tag.js index aaae9e72..d656da36 100644 --- a/modules/tag/js/tag.js +++ b/modules/tag/js/tag.js @@ -19,6 +19,7 @@ function ajaxify_tag_form() {  function closeEditInPlaceForms() {    // closes currently open inplace edit forms    if ($("#gRenameTagForm").length) { +    $("#gEditErrorMessage").remove();      var li = $("#gRenameTagForm").parent();      $("#gRenameTagForm").parent().html($("#gRenameTagForm").parent().data("revert"));      li.height(""); @@ -66,6 +67,11 @@ function editInPlace(element) {            $("#gTag-" + data.tag_id).text(data.new_tagname); // update tagname            console.log(data);            window.location.reload(); +        } else if (data.result == "error") { +          $("#gRenameTagForm #name") +            .css("border", "2px solid red") +            .focus(); +          $("#gTagAdmin").before("<p id=\"gEditErrorMessage\" class=\"gError\">" + data.message + "</p>");          }        }      }); | 
