checkObjectUniqueness() - wasn't working when adding new Racks/Rows
authorAaron Dummer <aaron@dummer.info>
Sun, 16 Sep 2012 20:30:37 +0000 (13:30 -0700)
committerAaron Dummer <aaron@dummer.info>
Sun, 16 Sep 2012 20:30:37 +0000 (13:30 -0700)
ChangeLog
wwwroot/inc/database.php

index e0bf98c7b4b14f0afef5007067569e9811e1e135..df5bcbf5061d3881a52c82cd0149a4a8cac676dc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
        bugfix: fixed infinite loop when creating default (/0) IP networks
        bugfix: IPs in NAT rules were displayed incorrectly (#600)
        bugfix: Location attributes weren't being saved (#605)
+       bugfix: duplicate names for Racks and Rows weren't allowed (#606)
        new feature: initial Cisco UCS support
 0.20.0 2012-09-09
        bugfix: when long action takes place, other tabs in browser are functional now
index 5bf2544afc739eb352a69cb2e63e9a94730d1ad3..584aa1100783a072a41ab3ba52c4c8713e861979 100644 (file)
@@ -849,17 +849,12 @@ function getObjectType ($object_id) {
 // raise an exception.  Validation is bypassed for certain object types
 // where duplicates are acceptable.
 // NOTE: This could be enforced more strictly at the database level using triggers.
-function checkObjectNameUniqueness ($name, $object_id = 0)
+function checkObjectNameUniqueness ($name, $type_id, $object_id = 0)
 {
        // Some object types do not need unique names
        // 1560 - Rack
        // 1561 - Row
        $dupes_allowed = array (1560, 1561);
-
-       // If a valid object_id was passed, lookup the object type
-       $type_id = 0;
-       if ($object_id != 0)
-               $type_id = getObjectType ($object_id);
        if (in_array ($type_id, $dupes_allowed))
                return;
 
@@ -875,7 +870,7 @@ function checkObjectNameUniqueness ($name, $object_id = 0)
 
 function commitAddObject ($new_name, $new_label, $new_type_id, $new_asset_no, $taglist = array())
 {
-       checkObjectNameUniqueness ($new_name);
+       checkObjectNameUniqueness ($new_name, $new_type_id);
        usePreparedInsertBlade
        (
                'Object',
@@ -898,7 +893,8 @@ function commitAddObject ($new_name, $new_label, $new_type_id, $new_asset_no, $t
 
 function commitRenameObject ($object_id, $new_name)
 {
-       checkObjectNameUniqueness ($new_name, $object_id);
+       $type_id = getObjectType ($object_id);
+       checkObjectNameUniqueness ($new_name, $type_id, $object_id);
        usePreparedUpdateBlade
        (
                'Object',
@@ -916,7 +912,8 @@ function commitRenameObject ($object_id, $new_name)
 
 function commitUpdateObject ($object_id, $new_name, $new_label, $new_has_problems, $new_asset_no, $new_comment)
 {
-       checkObjectNameUniqueness ($new_name, $object_id);
+       $type_id = getObjectType ($object_id);
+       checkObjectNameUniqueness ($new_name, $type_id, $object_id);
        usePreparedUpdateBlade
        (
                'Object',