r1649 + renderRackSpaceForObject(): fixed working copy building
authorDenis Ovsienko <infrastation@yandex.ru>
Fri, 1 Feb 2008 13:12:12 +0000 (13:12 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Fri, 1 Feb 2008 13:12:12 +0000 (13:12 +0000)
+ add RACK_PRESELECT_THRESHOLD to where it is normally should be

ChangeLog
inc/interface.php
inc/ophandlers.php
install/init-dictbase.sql
upgrade.php

index 04451d85728e2653d6c0de5882acd0c7c7db97c8..e061dabafd28c49ca09eac53238633506e3cffec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,10 +3,10 @@
        bugfix: sticker reset icon did not work sometimes
        bugfix: don't fail rendering an empty rack row
        bugfix: rack operations were broken in 0.14.9
-       update: always put the only rack into working copy by default
        new feature: LDAP authentication
        new feature: borrow URL detection from Mantis BTS (suggested by Joakim Kasimir)
        new feature: Live PTR tab for DNS sync
+       new feature: rack population threshold for rackspace allocation
 0.14.9 2008-01-30
        bugfix: upgrade to 0.14.8 broke IPv4 prefix creation
        bugfix: more DB cleanups
index 5824b641f7401109069f719d2b5755dbc7524100..21e16c397da844cecf274aa81049a7f243003320 100644 (file)
@@ -1285,10 +1285,23 @@ function renderRackSpaceForObject ($object_id = 0)
        echo "<td class=pcleft height='1%'>";
        startPortlet ('Racks');
        $allRacksData = getRacksForRow();
-       if (count ($allRacksData) == 1)
-               renderRackMultiSelect ('rackmulti[]', $allRacksData, array_keys ($allRacksData));
-       else
-               renderRackMultiSelect ('rackmulti[]', $allRacksData, array_keys ($workingRacksData));
+       if (count ($allRacksData) <= getConfigVar ('RACK_PRESELECT_THRESHOLD'))
+       {
+               foreach (array_keys ($allRacksData) as $rack_id)
+               {
+                       $rackData = getRackData ($rack_id);
+                       if ($rackData == NULL)
+                       {
+                               showError ('getRackData() failed', __FUNCTION__);
+                               return NULL;
+                       }
+                       $workingRacksData[$rack_id] = $rackData;
+               }
+               foreach ($workingRacksData as &$rackData)
+                       applyObjectMountMask ($rackData, $object_id);
+               unset ($rackData);
+       }
+       renderRackMultiSelect ('rackmulti[]', $allRacksData, array_keys ($workingRacksData));
        echo "<br>";
        echo "<br>";
        finishPortlet();
index 389363b120936c8cff5006804c0eb7930e167df8..abaf2ab73f6f19e838f76b91c5575501b74c331a 100644 (file)
@@ -919,6 +919,7 @@ function resetUIConfig()
        setConfigVar ('IPV4_PERFORMERS','1,4,7,8,12,14');
        setConfigVar ('NATV4_PERFORMERS','4,7,8');
        setConfigVar ('DETECT_URLS','no');
+       setConfigVar ('RACK_PRESELECT_THRESHOLD','1');
        return "${root}?page=${pageno}&tab=default&message=" . urlencode ("Reset complete");
 }
 
index ec5009eed2399d9c5c8e1c41b648da5a721009e3..cc6ffa9c70164e3057253aac6b3e17571cfcc741 100644 (file)
@@ -219,6 +219,7 @@ INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, descriptio
 INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('NATV4_PERFORMERS','4,7,8','string','yes','no','NATv4-capable object types');
 INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('USER_AUTH_SRC','database','string','no','no','User authentication source');
 INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('DETECT_URLS','no','string','yes','no','Detect URLs in text fields');
+INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('RACK_PRESELECT_THRESHOLD','1','uint','no','no','Rack pre-selection threshold');
 INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('DB_VERSION','0.14.10','string','no','yes','Database version.');
 
 INSERT INTO `UserPermission` (`user_id`, `page`, `tab`, `access`) VALUES (1,'%','%','yes');
index 82e34c71d391b9689899f7da9f0ce7bab1615b8f..a326c04d910c34b244df15a61a985c9fad00c678 100644 (file)
@@ -633,6 +633,7 @@ CREATE TABLE `IPVirtualService` (
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('DETECT_URLS','no','string','yes','no','Detect URLs in text fields')";
                        $query[] = "alter table RackHistory modify column height tinyint(3) unsigned";
                        $query[] = "alter table RackHistory add column thumb_data blob after comment";
+                       $query[] = "INSERT INTO `Config` VALUES ('RACK_PRESELECT_THRESHOLD','1','uint','no','no','Rack pre-selection threshold')";
                        $query[] = "update Config set varvalue = '0.14.10' where varname = 'DB_VERSION'";
                        break; // --------------------------------------------
 #              case '0.14.11':