r4086 Don't allow changing object's type after it is added to database,
authorDenis Ovsienko <infrastation@yandex.ru>
Sun, 9 Jan 2011 11:30:19 +0000 (11:30 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sun, 9 Jan 2011 11:30:19 +0000 (11:30 +0000)
this was known to cause minor side-effects.

renderEditObjectForm(): dismiss object type SELECT
updateObject(): update respectively
commitUpdateObject(): update respectively

ChangeLog
inc/database.php
inc/interface.php
inc/ophandlers.php

index 9cf9407..7e2c7f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@
        new feature: merge "objectlog" extension (by Ernest Shaffer)
        update: cache image files thumbnails and make them JPEGs (#369, by Matt Mills)
        update: enhance rackspace click helpers (by Jeroen Benda)
+       update: object type cannot be changed after the object is created
        bugfix: the feature of remembering last opened tab of realm page is now working
        update: UI: ports/IPs/nets highlighting enhancements
        bugfix: UI: pager in ipv4net shows appropriate page when IP is highlighted
index 6612a2a..c460b95 100644 (file)
@@ -635,20 +635,17 @@ function commitAddObject ($new_name, $new_label, $new_barcode, $new_type_id, $ne
        return $last_insert_id;
 }
 
-function commitUpdateObject ($object_id = 0, $new_name = '', $new_label = '', $new_barcode = '', $new_type_id = 0, $new_has_problems = 'no', $new_asset_no = '', $new_comment = '')
+function commitUpdateObject ($object_id = 0, $new_name = '', $new_label = '', $new_barcode = '', $new_has_problems = 'no', $new_asset_no = '', $new_comment = '')
 {
-       if ($new_type_id == 0)
-               throw new InvalidArgException ('$new_type_id', $new_type_id);
        $ret = FALSE !== usePreparedExecuteBlade
        (
-               'UPDATE RackObject SET name=?, label=?, barcode=?, objtype_id=?, has_problems=?, ' .
+               'UPDATE RackObject SET name=?, label=?, barcode=?, has_problems=?, ' .
                'asset_no=?, comment=? WHERE id=?',
                array
                (
                        !strlen ($new_name) ? NULL : $new_name,
                        $new_label,
                        !strlen ($new_barcode) ? NULL : $new_barcode,
-                       $new_type_id,
                        $new_has_problems,
                        !strlen ($new_asset_no) ? NULL : $new_asset_no,
                        $new_comment,
index 45e0b08..0a9b2a0 100644 (file)
@@ -671,9 +671,6 @@ function renderEditObjectForm ($object_id)
        // static attributes
        echo '<table border=0 cellspacing=0 cellpadding=3 align=center>';
        echo "<tr><td>&nbsp;</td><th colspan=2><h2>Attributes</h2></th></tr>";
-       echo "<tr><td>&nbsp;</td><th class=tdright>Type:</th><td class=tdleft>";
-       printNiftySelect (cookOptgroups (readChapter (CHAP_OBJTYPE, 'o')), array ('name' => 'object_type_id'), $object['objtype_id']);
-       echo "</td></tr>\n";
        // baseline info
        echo "<tr><td>&nbsp;</td><th class=tdright>Common name:</th><td class=tdleft><input type=text name=object_name value='${object['name']}'></td></tr>\n";
        echo "<tr><td>&nbsp;</td><th class=tdright>Visible label:</th><td class=tdleft><input type=text name=object_label value='${object['label']}'></td></tr>\n";
index 94645db..6a85db6 100644 (file)
@@ -879,7 +879,6 @@ function updateObject ()
 {
        assertUIntArg ('num_attrs', TRUE);
        assertUIntArg ('object_id');
-       assertUIntArg ('object_type_id');
        assertStringArg ('object_name', TRUE);
        assertStringArg ('object_label', TRUE);
        assertStringArg ('object_barcode', TRUE);
@@ -894,7 +893,6 @@ function updateObject ()
                $_REQUEST['object_name'],
                $_REQUEST['object_label'],
                $_REQUEST['object_barcode'],
-               $_REQUEST['object_type_id'],
                $has_problems,
                $_REQUEST['object_asset_no'],
                $_REQUEST['object_comment']