Author: sevein
Date: Sat Jul 21 10:38:15 2012
New Revision: 11951

Log:
Remove sourceCulture (not necessary even if default_culture != en), some other 
fixes, including update AUTO_NUMERIC issue (see QubitMigrate::updateAutoNumeric)

Modified:
   trunk/lib/task/migrate/QubitMigrate.class.php
   trunk/lib/task/migrate/arUpgrader110.class.php
   trunk/lib/task/migrate/arUpgrader120.class.php

Modified: trunk/lib/task/migrate/QubitMigrate.class.php
==============================================================================
--- trunk/lib/task/migrate/QubitMigrate.class.php       Sat Jul 21 10:37:13 
2012        (r11950)
+++ trunk/lib/task/migrate/QubitMigrate.class.php       Sat Jul 21 10:38:15 
2012        (r11951)
@@ -456,6 +456,13 @@
     return $columns;
   }
 
+  public static function updateAutoNumeric()
+  {
+    $last = QubitPdo::fetchOne('SELECT (MAX(id) + 1) AS last FROM 
object')->last;
+
+    QubitPdo::modify("ALTER TABLE object AUTO_INCREMENT = $last");
+  }
+
   public static function addTerm(QubitTerm $object, $configuration)
   {
     $connection = Propel::getConnection();
@@ -483,6 +490,8 @@
         }
 
         $connection->exec('SET FOREIGN_KEY_CHECKS = 1');
+
+        self::updateAutoNumeric();
       }
 
       $object->save();
@@ -490,6 +499,8 @@
     catch (Exception $e)
     {
       $connection->rollback();
+
+      throw $e;
     }
 
     $connection->commit();
@@ -522,6 +533,8 @@
         }
 
         $connection->exec('SET FOREIGN_KEY_CHECKS = 1');
+
+        self::updateAutoNumeric();
       }
 
       $object->save();
@@ -562,7 +575,7 @@
               $object->id));
         }
 
-        $connection->exec('SET FOREIGN_KEY_CHECKS = 1');
+        self::updateAutoNumeric();
       }
 
       $object->save();

Modified: trunk/lib/task/migrate/arUpgrader110.class.php
==============================================================================
--- trunk/lib/task/migrate/arUpgrader110.class.php      Sat Jul 21 10:37:13 
2012        (r11950)
+++ trunk/lib/task/migrate/arUpgrader110.class.php      Sat Jul 21 10:38:15 
2012        (r11951)
@@ -45,8 +45,6 @@
         // Add accession mask user setting
         $setting = new QubitSetting;
         $setting->name  = 'accession_mask';
-        $setting->editable = 1;
-        $setting->sourceCulture = 'en';
         $setting->value = '%Y-%m-%d/#i';
         $setting->culture = 'en';
         $setting->save();
@@ -54,8 +52,6 @@
         // Add accession counter setting
         $setting = new QubitSetting;
         $setting->name  = 'accession_counter';
-        $setting->editable = 1;
-        $setting->sourceCulture = 'en';
         $setting->value = '0';
         $setting->culture = 'en';
         $setting->save();
@@ -70,7 +66,6 @@
         $node->parentId = QubitMenu::ADD_EDIT_ID;
         $node->name = 'addAccessionRecord';
         $node->path = 'accession/add';
-        $node->sourceCulture = 'en';
         $node->label = 'Accession records';
 
         foreach (array(
@@ -100,7 +95,6 @@
         $node->parentId = QubitMenu::MAIN_MENU_ID;
         $node->name = 'manage';
         $node->path = 'accession/browse';
-        $node->sourceCulture = 'en';
 
         foreach (array(
           'en' => 'Manage',
@@ -134,7 +128,6 @@
         $node->parentId = QubitMenu::MANAGE_ID;
         $node->name = 'accessions';
         $node->path = 'accession/browse';
-        $node->sourceCulture = 'en';
         $node->label = 'Accession records';
         $node->culture = 'en';
 
@@ -164,7 +157,6 @@
         $node->parentId = QubitMenu::MANAGE_ID;
         $node->name = 'donors';
         $node->path = 'donor/browse';
-        $node->sourceCulture = 'en';
         $node->label = 'Donors';
         $node->culture = 'en';
 
@@ -184,7 +176,7 @@
 
         $node->save();
 
-        // Introduce it before "accessions"
+        // Introduce it after "accessions"
         if (null !== $target = QubitMenu::getByName('accessions'))
         {
           $node->moveToNextSiblingOf($target);
@@ -195,7 +187,6 @@
         $node->parentId = QubitMenu::MANAGE_ID;
         $node->name = 'rightsholders';
         $node->path = 'rightsholder/browse';
-        $node->sourceCulture = 'en';
         $node->label = 'Rights holders';
         $node->culture = 'en';
 
@@ -215,10 +206,10 @@
 
         $node->save();
 
-        // Introduce it before "taxonomies"
-        if (null !== $target = QubitMenu::getByName('taxonomies'))
+        // Introduce it after "donors"
+        if (null !== $target = QubitMenu::getByName('donors'))
         {
-          $node->moveToPrevSiblingOf($target);
+          $node->moveToNextSiblingOf($target);
         }
 
         // New type of relation: accession
@@ -226,7 +217,6 @@
         $term->id = QubitTerm::ACCESSION_ID;
         $term->parentId = QubitTerm::ROOT_ID;
         $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-        $term->sourceCulture = 'en';
         $termI18n = new QubitTermI18n;
         $termI18n->name = 'Accession';
         $termI18n->culture = 'en';
@@ -238,7 +228,6 @@
         $term->id = QubitTerm::RIGHT_ID;
         $term->parentId = QubitTerm::ROOT_ID;
         $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-        $term->sourceCulture = 'en';
         $termI18n = new QubitTermI18n;
         $termI18n->name = 'Right';
         $termI18n->culture = 'en';
@@ -250,7 +239,6 @@
         $term->id = QubitTerm::DONOR_ID;
         $term->parentId = QubitTerm::ROOT_ID;
         $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-        $term->sourceCulture = 'en';
         $termI18n = new QubitTermI18n;
         $termI18n->name = 'Donor';
         $termI18n->culture = 'en';
@@ -260,10 +248,8 @@
         // Accession resource type taxonomy and its terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::ACCESSION_RESOURCE_TYPE_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Accession resource type';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Accession resource type';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy, $configuration);
 
         foreach (array(
@@ -274,21 +260,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::ACCESSION_RESOURCE_TYPE_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Accession acquisition type taxonomy and its terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::ACCESSION_ACQUISITION_TYPE_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Accession acquisition type';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Accession acquisition type';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy, $configuration);
 
         foreach (array(
@@ -300,21 +281,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::ACCESSION_ACQUISITION_TYPE_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Processing priority taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::ACCESSION_PROCESSING_PRIORITY_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Processing priority';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Processing priority';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy, $configuration);
 
         foreach (array(
@@ -325,21 +301,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::ACCESSION_PROCESSING_PRIORITY_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Processing status taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::ACCESSION_PROCESSING_STATUS_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Processing status';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Processing status';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy, $configuration);
 
         foreach (array(
@@ -350,21 +321,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::ACCESSION_PROCESSING_STATUS_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Deaccession scope taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::DEACCESSION_SCOPE_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Deaccession scope';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Deaccession scope';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy, $configuration);
 
         foreach (array(
@@ -374,21 +340,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::DEACCESSION_SCOPE_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Right act taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::RIGHT_ACT_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Rights act';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Rights act';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy);
 
         foreach (array(
@@ -403,21 +364,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::RIGHT_ACT_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Right basis taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::RIGHT_BASIS_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Rights basis';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Rights basis';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy);
 
         foreach (array(
@@ -430,21 +386,16 @@
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::RIGHT_BASIS_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
         // Copyright status taxonomy and terms
         $taxonomy = new QubitTaxonomy;
         $taxonomy->id = QubitTaxonomy::COPYRIGHT_STATUS_ID;
-        $taxonomy->sourceCulture = 'en';
-        $taxonomyI18n = new QubitTaxonomyI18n;
-        $taxonomyI18n->name = 'Copyright status';
-        $taxonomyI18n->culture = 'en';
+        $taxonomy->name = 'Copyright status';
+        $taxonomy->culture = 'en';
         QubitMigrate::addTaxonomy($taxonomy);
 
         foreach (array(
@@ -454,12 +405,9 @@
         {
           $term = new QubitTerm;
           $term->parentId = QubitTerm::ROOT_ID;
-          $term->taxonomyId = QubitTaxonomy::RIGHT_BASIS_ID;
-          $term->sourceCulture = 'en';
-          $termI18n = new QubitTermI18n;
-          $termI18n->name = $item;
-          $termI18n->culture = 'en';
-          $term->termI18ns[] = $termI18n;
+          $term->taxonomyId = QubitTaxonomy::COPYRIGHT_STATUS_ID;
+          $term->name = $item;
+          $term->culture = 'en';
           QubitMigrate::addTerm($term, $configuration);
         }
 
@@ -490,7 +438,6 @@
         $node->parentId = QubitMenu::IMPORT_ID;
         $node->name = 'importCsv';
         $node->path = 'object/importSelect?type=csv';
-        $node->sourceCulture = 'en';
         $node->label= 'CSV';
         $node->save();
 
@@ -502,7 +449,6 @@
         $node->parentId = QubitMenu::ADMIN_ID;
         $node->name = 'globalReplace';
         $node->path = 'search/globalReplace';
-        $node->sourceCulture = 'en';
         $node->label = 'Global search/replace';
         $node->save();
 
@@ -512,9 +458,6 @@
       case 67:
         $setting = new QubitSetting;
         $setting->name  = 'repository_quota';
-        $setting->editable = 1;
-        $setting->deleteable = 0;
-        $setting->sourceCulture = 'en';
         $setting->value = '-1';
         $setting->culture = 'en';
         $setting->save();
@@ -525,9 +468,6 @@
       case 68:
         $setting = new QubitSetting;
         $setting->name  = 'separator_character';
-        $setting->editable = 1;
-        $setting->deleteable = 0;
-        $setting->sourceCulture = 'en';
         $setting->value = '-';
         $setting->culture = 'en';
         $setting->save();
@@ -536,12 +476,10 @@
 
       // Add themes menu and update plugins menu path
       case 69:
-        // Create manage donor menu node
         $node = new QubitMenu;
         $node->parentId = QubitMenu::ADMIN_ID;
         $node->name = 'themes';
         $node->path = 'sfPluginAdminPlugin/themes';
-        $node->sourceCulture = 'en';
         $node->label = 'Themes';
 
         foreach (array(
@@ -560,8 +498,8 @@
 
         $node->save();
 
-        // Introduce it before "settings"
-        if (null !== $target = QubitMenu::getByName('settings'))
+        // Introduce it before "plugins"
+        if (null !== $target = QubitMenu::getByName('plugins'))
         {
           $node->moveToPrevSiblingOf($target);
         }
@@ -672,7 +610,6 @@
         $node->parentId = QubitMenu::MANAGE_ID;
         $node->name = 'browsePhysicalObjects';
         $node->path = 'physicalobject/browse';
-        $node->sourceCulture = 'en';
         $node->label = 'Physical storage';
 
         foreach (array(
@@ -691,10 +628,10 @@
 
         $node->save();
 
-        // Introduce it before "rightsholders"
-        if (null !== $target = QubitMenu::getByName('rightsholders'))
+        // Introduce it after "donors"
+        if (null !== $target = QubitMenu::getByName('donors'))
         {
-          $node->moveToPrevSiblingOf($target);
+          $node->moveToNextSiblingOf($target);
         }
 
         break;
@@ -704,7 +641,7 @@
         if (null !== $setting = QubitSetting::getSettingByName('plugins'))
         {
           $plugin = 'sfClassicPlugin';
-          $replacement = 'sfCaribouPlugin';
+          $replacement = 'qtTrilliumPlugin';
 
           $settings = unserialize($setting->getValue(array('sourceCulture' => 
true)));
 
@@ -714,8 +651,11 @@
             // Replace
             $settings[$index] = $replacement;
 
-            // Save
+            // Serialize
             $setting->setValue(serialize($settings), array('sourceCulture' => 
true));
+
+            // Save
+            $setting->save();
           }
         }
 

Modified: trunk/lib/task/migrate/arUpgrader120.class.php
==============================================================================
--- trunk/lib/task/migrate/arUpgrader120.class.php      Sat Jul 21 10:37:13 
2012        (r11950)
+++ trunk/lib/task/migrate/arUpgrader120.class.php      Sat Jul 21 10:38:15 
2012        (r11951)
@@ -97,20 +97,22 @@
       // Add 'Language note' term
       case 79:
         $term = new QubitTerm;
+        $term->id = QubitTerm::LANGUAGE_NOTE_ID;
         $term->parentId = QubitTerm::ROOT_ID;
         $term->taxonomyId = QubitTaxonomy::NOTE_TYPE_ID;
-        $term->name = 'Language note';
-        $term->culture = 'en';
+        $termI18n = new QubitTermI18n;
+        $termI18n->name = 'Language note';
+        $termI18n->culture = 'en';
+        $term->termI18ns[] = $termI18n;
 
-        $term->save();
+        QubitMigrate::addTerm($term, $configuration);
 
         break;
 
       // Add 'active' column to user table
       case 80:
         // NOTE: ALTER automatically sets `active`=1 (the DEFAULT) for 
existing rows
-        $sql = sprintf('ALTER TABLE %s ADD COLUMN active TINYINT DEFAULT 1;', 
QubitUser::TABLE_NAME);
-        QubitPdo::modify($sql);
+        QubitMigrate::addColumn(QubitUser::TABLE_NAME, 'active TINYINT DEFAULT 
1', array('after' => 'salt'));
 
         break;
 
@@ -259,7 +261,6 @@
         $term->id = QubitTerm::ACCRUAL_ID;
         $term->parentId = QubitTerm::ROOT_ID;
         $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-        $term->sourceCulture = 'en';
         $termI18n = new QubitTermI18n;
         $termI18n->culture = 'en';
         $termI18n->name = 'Accrual';
@@ -280,6 +281,7 @@
 
       // Fix issue 2344
       case 86:
+        break;
         // Type of relation: right
         // Check first wether it exists
         $criteria = new Criteria;
@@ -294,7 +296,6 @@
           $term->id = QubitTerm::RIGHT_ID;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-          $term->sourceCulture = 'en';
           $termI18n = new QubitTermI18n;
           $termI18n->name = 'Right';
           $termI18n->culture = 'en';
@@ -316,7 +317,6 @@
           $term->id = QubitTerm::DONOR_ID;
           $term->parentId = QubitTerm::ROOT_ID;
           $term->taxonomyId = QubitTaxonomy::RELATION_TYPE_ID;
-          $term->sourceCulture = 'en';
           $termI18n = new QubitTermI18n;
           $termI18n->name = 'Donor';
           $termI18n->culture = 'en';

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to