<!--
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Sat May 18 12:44:14 UTC 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.doctrine-project.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+DC+AND+resolution+%3D+Unresolved+AND+component+%3D+I18n+ORDER+BY+priority+DESC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://www.doctrine-project.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Doctrine Project</title>
        <link>http://www.doctrine-project.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+DC+AND+resolution+%3D+Unresolved+AND+component+%3D+I18n+ORDER+BY+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="13" total="13"/>
                <build-info>
            <version>5.2.7</version>
            <build-number>850</build-number>
            <build-date>21-02-2013</build-date>
        </build-info>
<item>
            <title>[DC-1031] CLONE -Multiple connections and i18n (raised as unresolved - original ticket marked as resolved)</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1031</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;I used to work with a single database named &quot;doctrine&quot;. The query was working properly.&lt;/p&gt;

&lt;p&gt;I then decided to use 2 databases so I got my schema like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;connection: doctrine&lt;/p&gt;

&lt;p&gt;Category:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      actAs:&lt;br/&gt;
        Sluggable:&lt;br/&gt;
          fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name&amp;#93;&lt;/span&gt;&lt;br/&gt;
        Timestampable: ~&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name, description&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
    id: ~&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: true&lt;br/&gt;
    description: string&lt;/p&gt;

&lt;p&gt;User:&lt;br/&gt;
  connection: second&lt;br/&gt;
  columns:&lt;br/&gt;
    id: ~&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull: true&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I did setup my connections in config/databases.yml this way:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;all:&lt;br/&gt;
  doctrine:&lt;br/&gt;
   // ....&lt;br/&gt;
  second:&lt;br/&gt;
   // ....&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;build-model, build-forms, build-filters and cc got ran. But now, I got an exception saying the &quot;Translation&quot; relation doesn&apos;t exist. The Base Models include correctly the bindComponent line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Doctrine_Manager::getInstance()-&amp;gt;bindComponent(&apos;Category&apos;, &apos;doctrine&apos;);&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;For now, I managed to kind of fixing it with simply swapping the databases order in my config/databases.yml and it&apos;s now working again perfectly.&lt;/p&gt;

&lt;p&gt;I forgot to mention that in the CategoryTable when i call $this-&amp;gt;getConnection()-&amp;gt;getName(), it outputs &quot;second&quot;&lt;/p&gt;</description>
                <environment>MySQL 5.1.37&lt;br/&gt;
PHP 5.2.11&lt;br/&gt;
symfony 1.2.11 DEV&lt;br/&gt;
&lt;br/&gt;
symfony 1.4.13&lt;br/&gt;
PHP 5.3.6 &lt;br/&gt;
Postgres 8.4.8&lt;br/&gt;
</environment>
            <key id="12962">DC-1031</key>
            <summary>CLONE -Multiple connections and i18n (raised as unresolved - original ticket marked as resolved)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sarcas">James Bell</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Aug 2011 14:26:27 +0000</created>
                <updated>Wed, 28 Mar 2012 08:20:53 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                                <fixVersion>1.2.3</fixVersion>
                                <component>Connection</component>
                <component>I18n</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16370" author="sarcas" created="Tue, 23 Aug 2011 14:28:15 +0000"  >&lt;p&gt;Original issue: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-363&quot; title=&quot;Multiple connections and i18n&quot;&gt;&lt;del&gt;DC-363&lt;/del&gt;&lt;/a&gt; (&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DC-363&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DC-363&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;There are some additional comments in there that explain the issue as currently being seen in released versions of Doctrine 1.2. Can I help verify that this is the same ticket? &lt;/p&gt;

&lt;p&gt;What is needed to help with debug (in addition to the extra information already provided)?&lt;/p&gt;
</comment>
                    <comment id="17664" author="lvqingan" created="Wed, 28 Mar 2012 08:20:53 +0000"  >&lt;p&gt;meet the same issue and it really blocked my project, seems no one will maintain 1.x. I&apos;m considering whether to replace symfony 1.4 with 2.0.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-880] Versionable + I18n creates additional migration with irrelevant data</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-880</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;First run of generate-migrations-diff and migrate creates 2 migration diff files. First one for new tables, second one for new indexes and foreign keys. Than if I run generate-migrations-diff again another version is created although nothing was changed and following is inside:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;1st entry tries to drop a foreign key never been created and not existing in file&lt;/li&gt;
	&lt;li&gt;next entry tries to create a foreign key already existing&lt;/li&gt;
	&lt;li&gt;3rd entry tries to create an existing index&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;After a long try and errorI found out that it&apos;s only happening with I18n plus Versionable behavior.&lt;/p&gt;

&lt;p&gt;As I already have spent much time for a report please have also a look at: &lt;a href=&quot;http://forum.diem-project.org/viewtopic.php?f=2&amp;amp;t=173&amp;amp;sid=5e0e3349c0e15a169bc9990a3104b3f6#p465&quot; class=&quot;external-link&quot;&gt;http://forum.diem-project.org/viewtopic.php?f=2&amp;amp;t=173&amp;amp;sid=5e0e3349c0e15a169bc9990a3104b3f6#p465&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I&apos;m quite new to Doctrine and Symfony systems I cannot get further, but willing for more investigation if just one could give me a hint where to start.&lt;/p&gt;</description>
                <environment>PHP 5.2, Symfony 1.4, Diem 5.1, Doctrine 1.2.2</environment>
            <key id="11982">DC-880</key>
            <summary>Versionable + I18n creates additional migration with irrelevant data</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sanshao">Thomas</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Oct 2010 14:37:39 +0000</created>
                <updated>Mon, 19 Sep 2011 08:20:21 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Behaviors</component>
                <component>I18n</component>
                <component>Migrations</component>
                <component>Relations</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="14551" author="andrewcoulton" created="Sun, 10 Oct 2010 20:50:17 +0000"  >&lt;p&gt;I think this is because the versionable behaviour doesn&apos;t define a table name in the Doctrine_Template_Versionable class. As a result, if using model prefixes, the prefixes are not discarded from the table names when the behaviour model classes are built. This means that the tables have different names to what is expected, so they have different index keys, so the indexes are dropped and recreated as part of the migration.&lt;/p&gt;

&lt;p&gt;I have committed unit tests and patch for this issue (which applies to Searchable also) to &lt;a href=&quot;http://github.com/acoulton/doctrine1/tree/DC-880&quot; class=&quot;external-link&quot;&gt;http://github.com/acoulton/doctrine1/tree/DC-880&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16492" author="xdade" created="Mon, 19 Sep 2011 08:19:31 +0000"  >&lt;p&gt;I experienced the same problem in the latest version 1.2.4, and the patch proposed by Andrew Coulton solves the problem.&lt;br/&gt;
Why the fix is not included in official release?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-450] ORACLE: The generate DQL with i18n behavior doesn&apos;t correct</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-450</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;My schema:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;---
Country:
  tableName:          country
  actAs:
    SoftDelete:       ~
    Timestampable:    ~
    I18n:
      fields:         [name]
      className:      %CLASS%I18n
      tableName:      %TABLE%_i18n
      length:         5
  columns:
    id:
      type:           integer(3)
      primary:        true
      unsigned:       true
      sequence:       country
    created_at:
      type:           timestamp
    updated_at:
      type:           timestamp
    enabled_at:
      type:           timestamp
      notnull:        true
    disabled_at:
      type:           timestamp
    iso_code:
      type:           string(2)
    marc_code:
      type:           string(3)
    name:
      type:           string(255)
      notnull:        true
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;DQL query:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$country = Doctrine::getTable(&apos;Country&apos;)-&amp;gt;findOneByMarcCode(&apos;sz&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Error:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
ORA-00904: &lt;span class=&quot;code-quote&quot;&gt;&quot;C&quot;&lt;/span&gt;.&lt;span class=&quot;code-quote&quot;&gt;&quot;NAME&quot;&lt;/span&gt;: invalid identifier : SELECT a.* FROM ( SELECT c.id AS c__id, c.created_at AS c__created_at, c.updated_at AS c__updated_at, c.enabled_at AS 
c__enabled_at, c.disabled_at AS c__disabled_at, c.iso_code AS c__iso_code, c.marc_code AS c__marc_code, c.name AS c__name, c.deleted_at AS c__deleted_at FROM
common.country c WHERE (c.marc_code = :oci_b_var_1) ) a WHERE ROWNUM &amp;lt;= 1 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;In this line, i show the field &quot;name&quot;, but this field is in table translation. The DQL above is very complicated for only simple request. Why ?&lt;/p&gt;

&lt;p&gt;Thank&apos;s&lt;/p&gt;

&lt;p&gt;Bertrand&lt;/p&gt;</description>
                <environment></environment>
            <key id="10776">DC-450</key>
            <summary>ORACLE: The generate DQL with i18n behavior doesn&apos;t correct</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="garfield-fr">Bertrand Zuchuat</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jan 2010 11:22:54 +0000</created>
                <updated>Thu, 18 Mar 2010 06:54:44 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>I18n</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12323" author="garfield-fr" created="Thu, 18 Mar 2010 06:54:44 +0000"  >&lt;p&gt;I don&apos;t have a real connection on Oracle Server. This test doesn&apos;t return the error above.&lt;/p&gt;

&lt;p&gt;Please test on real connection.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10491" name="DC450TestCase.php" size="4518" author="garfield-fr" created="Thu, 18 Mar 2010 06:53:00 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-443] Incorrect insert order in i18n entities</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-443</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;If the schema has an entity MyMain with all its fields i18n and an entity MySecondary related to MyMain and you try to create a new MySecondary item using Symfony forms you get an error.&lt;/p&gt;

&lt;p&gt;I think the error is doctrine and in i18n because if you remove a field from the i18n behavior (&lt;tt&gt;fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;a,b,c,d&amp;#93;&lt;/span&gt;&lt;/tt&gt;, for example) all works ok.&lt;br/&gt;
I&apos;ve included a symfony project to help developpers replicate the error.&lt;/p&gt;

&lt;p&gt;My Schema&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
MyMain:
  actAs:
    I18n:
      fields: [a,b,c,d, e]
  columns:
    a:  { type: string(255), notnull: true }
    b:  { type: string(255), notnull: true }
    c:  string
    d:  string
    e:  string

MySecondary:
  columns:
    my_main_id:  integer
    a:        string(255)
    b:        string(255)
  relations:
    MyMain:
      local: my_main_id
      foreign: id
      foreignType: one
      cascade: [delete]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;And the form code&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;class MyMainForm extends BaseMyMainForm
{
  public function configure()
  {
    $this-&amp;gt;embedI18n(array(&apos;en&apos;, &apos;es&apos;));
  }
}

class MySecondaryForm extends BaseMySecondaryForm
{
  public function configure()
  {
    $this-&amp;gt;widgetSchema[&apos;my_main_id&apos;] = new sfWidgetFormInputHidden();
    $this-&amp;gt;embedRelation(&apos;MyMain as main_subform&apos;);
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And last the queries (and its order when you get the error)&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;INSERT INTO my_secondary (my_main_id, a, b) VALUES (?, ?, ?) - (, my_secondary[a], my_secondary[b])
INSERT INTO my_main_translation (id, lang, a, b, c, d, e) VALUES (?, ?, ?, ?, ?, ?, ?) - 
  (, en, my_secondary[main_subform][en][a], my_secondary[main_subform][en][b], my_secondary[main_subform][en][c], 
   my_secondary[main_subform][en][d], my_secondary[main_subform][en][e])
Error Doctrine_Connection_Mysql_Exception	SQLSTATE[23000]: Integrity constraint violation: 1048 Column &apos;id&apos; cannot be null 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Linux (2.6.21 kernel)&lt;br/&gt;
Apache/2.2.6&lt;br/&gt;
PHP 5.2.6&lt;br/&gt;
symfony version 1.4.1&lt;br/&gt;
doctrine 1.2</environment>
            <key id="10758">DC-443</key>
            <summary>Incorrect insert order in i18n entities</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rodrigobb">Rodrigo Borrego Bernab&#233;</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Jan 2010 11:29:13 +0000</created>
                <updated>Fri, 22 Jan 2010 11:29:13 +0000</updated>
                                                                    <component>I18n</component>
                <component>Relations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10308" name="i18nrelation_problem.tgz" size="27753" author="rodrigobb" created="Fri, 22 Jan 2010 11:29:13 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-438] Nesting Taggable and I18N</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-438</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;The Taggable extension doesnt work correctly when nested under I18N. &lt;br/&gt;
The  page_translation_taggable_tag table appears to be correctly created, it has 3 columns: id, lang, tag_id&lt;br/&gt;
But when you save a tag like this&lt;br/&gt;
$page-&amp;gt;Translation&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;en&amp;#39;&amp;#93;&lt;/span&gt;-&amp;gt;setTags(&apos;tag 1, tag2&apos;);&lt;br/&gt;
the lang column in page_translation_taggable_tag is empty&lt;br/&gt;
and this doesnt work either:&lt;br/&gt;
$page-&amp;gt;setTags(&apos;tag 1, tag2&apos;);&lt;/p&gt;

&lt;p&gt;Schema is this:&lt;br/&gt;
Page:&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields:          &lt;span class=&quot;error&quot;&gt;&amp;#91;title, contents&amp;#93;&lt;/span&gt;&lt;br/&gt;
      actAs:&lt;br/&gt;
        Taggable: ~&lt;br/&gt;
  columns:&lt;br/&gt;
    title:                &lt;/p&gt;
{type: string(255), notnull: true}
&lt;p&gt;    contents:       clob&lt;/p&gt;</description>
                <environment>PHP 5.2.6, MySQL 5.0.75, Symfony 1.3.1</environment>
            <key id="10749">DC-438</key>
            <summary>Nesting Taggable and I18N</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sorin">Sorin Neacsu</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Jan 2010 09:53:48 +0000</created>
                <updated>Tue, 19 Jan 2010 09:53:48 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>Extensions</component>
                <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-412] Error defining &quot;unique&quot; constraint in a translated (i18n) column</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-412</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Let&apos;s suppose we have a class &quot;Element&quot;  with columns &quot;name&quot; and &quot;description&quot;.&lt;/p&gt;

&lt;p&gt;We want to set an &quot;unique&quot; constraint in column &quot;name&quot;, and set the I18n behavior to columns name and description.&lt;/p&gt;

&lt;p&gt;In the generated translation table &quot;element_translation&quot;, doctrine sets an unique constraint in the column &quot;name&quot;. This is an error, as various languages could translate that string in the same way. I think that the &quot;unique&quot; constraint should be set to the combination of columns &quot;name&quot; and &quot;lang&quot;, so the restriction applies for a given language.&lt;/p&gt;</description>
                <environment></environment>
            <key id="10705">DC-412</key>
            <summary>Error defining &quot;unique&quot; constraint in a translated (i18n) column</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="davefx">David Mar&#237;n Carre&#241;o</reporter>
                        <labels>
                    </labels>
                <created>Sat, 9 Jan 2010 08:53:18 +0000</created>
                <updated>Sun, 10 Jan 2010 21:18:56 +0000</updated>
                                                                    <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-372] I18n record generator assumes relation alias is the table name</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-372</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;In Doctrine/I18n.php, method setTableDefinition, line 108:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;        foreach($relations as $table =&amp;gt; $relation) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But the $relations array key is not a table name, but a relation alias.&lt;/p&gt;

&lt;p&gt;So currently the generator assumes the relation alias IS the table name.&lt;br/&gt;
When it&apos;s not true, the I18n table definition fails.&lt;/p&gt;</description>
                <environment>latest symfony 1.4 SVN.</environment>
            <key id="10637">DC-372</key>
            <summary>I18n record generator assumes relation alias is the table name</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ornicar">thibault duplessis</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Dec 2009 14:03:24 +0000</created>
                <updated>Sun, 20 Dec 2009 14:03:24 +0000</updated>
                                    <version>1.2.1</version>
                                                <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-373] Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-373</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection.&lt;/p&gt;

&lt;p&gt;First, I defined the following schema.yml::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt; 
  Example:
    actAs:
      I18n:
        fields: [title]
    columns:
        title: string(128)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, I prepared the following fixture &lt;a href=&quot;file::&quot; class=&quot;external-link&quot;&gt;file::&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt; 
  Example:
    Example_1:
      Translation:
        en:
          title: &quot;Title&quot;
        ja:
          title: &quot;&#38988;&#21517;&quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, I run &quot;build-all-reload&quot; task. The table was created and data was loaded.&lt;/p&gt;

&lt;p&gt;And I write the following code::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; 
  Doctrine_Core::loadModels(&apos;models&apos;);
  $example = Doctrine_Core::getTable(&apos;Example&apos;)-&amp;gt;find(1);
  
  var_dump(
    $example-&amp;gt;Translation[&apos;en&apos;]-&amp;gt;title,
    $example-&amp;gt;Translation[&apos;ja&apos;]-&amp;gt;title
  );
  
  Doctrine_Manager::resetInstance();
  Doctrine_Manager::getInstance()-&amp;gt;openConnection(DSN, &apos;doctrine&apos;);
  
  $example2 = Doctrine_Core::getTable(&apos;Example&apos;)-&amp;gt;find(1);
  var_dump(
    $example2-&amp;gt;Translation[&apos;en&apos;]-&amp;gt;title,
    $example2-&amp;gt;Translation[&apos;ja&apos;]-&amp;gt;title
  );
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I try executing my code, but I got the following error::&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-none&quot;&gt;  string(5) &quot;Title&quot;
  string(6) &quot;&#38988;&#21517;&quot;
  
  Doctrine_Connection_Mysql_Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column &apos;e.title&apos; in &apos;field list&apos; in /path/to/doctrine/Doctrine/Connection.php on line 1082
  
  Call Stack:
      0.0055      65352   1. {main}() /path/to/my/code/test.php:0
      0.2776    5873388   2. Doctrine_Table-&amp;gt;find() /path/to/my/code/test.php:52
      0.2793    5881152   3. Doctrine_Query-&amp;gt;fetchOne() /path/to/doctrine/Doctrine/Table.php:1611
      0.2793    5881296   4. Doctrine_Query_Abstract-&amp;gt;execute() /path/to/doctrine/Doctrine/Query.php:281
      0.2793    5881892   5. Doctrine_Query_Abstract-&amp;gt;_execute() /path/to/doctrine/Doctrine/Query/Abstract.php:1026
      0.3127    5890712   6. Doctrine_Connection-&amp;gt;execute() /path/to/doctrine/Doctrine/Query/Abstract.php:976
      0.3164    5892632   7. Doctrine_Connection_Statement-&amp;gt;execute() /path/to/doctrine/Doctrine/Connection.php:1006
      0.3181    5907408   8. Doctrine_Connection-&amp;gt;rethrowException() /path/to/doctrine/Doctrine/Connection/Statement.php:269
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>PHP 5.2.11 (with Suhosin-Patch 0.9.7)&lt;br/&gt;
PHP 5.3.6</environment>
            <key id="10638">DC-373</key>
            <summary>Relating to Translation table (generated by Doctrine_I18n) doesn&apos;t work correctly after resetting connection</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="co3k">Kousuke Ebihara</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Dec 2009 22:54:24 +0000</created>
                <updated>Tue, 11 Sep 2012 13:16:23 +0000</updated>
                                    <version>1.2.1</version>
                <version>1.2.2</version>
                <version>1.2.3</version>
                <version>1.2.4</version>
                                                <component>Connection</component>
                <component>I18n</component>
                        <due></due>
                    <votes>2</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="14659" author="arnaud.charlier@gmail.com" created="Tue, 2 Nov 2010 04:55:46 +0000"  >&lt;p&gt;Good Morning,&lt;/p&gt;

&lt;p&gt;First, thanks a lot for your work on Doctrine. It&apos;s a real great tool we love to use.&lt;/p&gt;

&lt;p&gt;Currently in one of our big application we have exactly the same issue.&lt;br/&gt;
It seems when we close the connection, the reference with the objectTranslation is lost.&lt;br/&gt;
Re-open the connection seems not able to reinstantiate this Translation link to the objectTranslation.&lt;/p&gt;

&lt;p&gt;Currently we have no solution, but we are still investigating this.&lt;/p&gt;

&lt;p&gt;I&apos;m available to go deep in the code with you, but any Doctrine Team help will be really nice.&lt;/p&gt;

&lt;p&gt;Thanks to let me know as soon as possible.&lt;/p&gt;

&lt;p&gt;Arnaud&lt;/p&gt;</comment>
                    <comment id="15891" author="jsiponen" created="Fri, 27 May 2011 14:51:51 +0000"  >&lt;p&gt;I&apos;ve just now battled with the very same problem in Doctrine 1.2 (the version bundled with symfony 1.4) and the problem seems to be caused by the fact that Doctrine_Record_Generator simply isn&apos;t written such that it is able to reinitialize generators for unloaded table instances after a connection is closed.  This problem also manifests itself after a table has been loaded in a connection and one tries retrieve a table again after Doctrine_Connection-&amp;gt;evictTables() has been called. This makes it impossible to to open more than one connection at a time in a request/script when using behaviors that dynamically modify table instances (such as the i18n behavior).&lt;/p&gt;

&lt;p&gt;Doctrine_Record_Generator determines if it needs to run its initialization methods simply by checking if the to-be generated class, as defined by the className option, exists using a class_exists call. This means that the first time this method is called the initialization happens but for every subsequent call no initialization is made. Now, in the i18m behavior, the important initialization happens in its setTableDefinition method in which it removes any of the translated fields from the table instance that is been setup and redefines them as relations on the to-be-created Translation class. It then finishes off by dynamically declaring the new class for the translation record using its generateClassFromTable method.&lt;/p&gt;

&lt;p&gt;Thus, the first time everything goes smoothly and the i18n generator&apos;s setTableDefinition is called and the table instance is properly initialized. Everything will now work as expected while the current connection is open since the connection instance keeps the i18n modified table instances alive and well for callers.&lt;/p&gt;

&lt;p&gt;But, when the current connection is closed the i18n modified table instances it holds are also removed (goes out of scope). Then, when a new connection is opened, this new connection will start without having any table instances. This means that the next time one asks the new connection for a table instance of the same class with the i18n behavior the i18n behaviors will fail to initialize because the generator at this time believes its class has actually been initialized which, in turn, means that the table using the i18n behavior isn&apos;t properly initialized. No initialization means that this table will now include the non-existant i18n fields in the select part of its queries (those are in the translation table) causing those queries to fail miserably.&lt;/p&gt;

&lt;p&gt;I believe this could be fixed by adding a static attribute to Doctrine_Record_Generator that tracks the spl_object_hash of the underlying dbh instance variable of the doctrine connection of the table parameter. If the hash is the same the next time that the initialize method is called the generator can decide not to reinitialize itself but if it detects that the hash of the current connection is different then that is definitely a clue to the generator that it needs to reinitialize itself (i.e. run all of the initialization methods but generateClassFromTable which should&apos;t be called more than once).&lt;/p&gt;

&lt;p&gt;Maybe do it like this perhaps:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
abstract class Doctrine_Record_Generator extends Doctrine_Record_Abstract
{
  public function initialize(Doctrine_Table $table)
  {
    /* ... */ 
  
    $currentConnectionHash = spl_object_hash($table-&amp;gt;getConnection()-&amp;gt;getDbh());
    
    //Next part is called if this is the first connection made or if this is a new open connection with new table instances
    if ($currentConnectionHash != self::$lastConnectionHash)
    {
      self::$lastConnectionHash = $currentConnectionHash;
      
      $this-&amp;gt;buildTable();

      $fk = $this-&amp;gt;buildForeignKeys($this-&amp;gt;_options[&apos;table&apos;]);

      $this-&amp;gt;_table-&amp;gt;setColumns($fk);

      $this-&amp;gt;buildRelation();

      $this-&amp;gt;setTableDefinition();
      $this-&amp;gt;setUp();
      
      if ($this-&amp;gt;_options[&apos;generateFiles&apos;] === false &amp;amp;&amp;amp; class_exists($this-&amp;gt;_options[&apos;className&apos;])) {
        $this-&amp;gt;generateClassFromTable($this-&amp;gt;_table); //Don&apos;t generate the class more than once ever
      }
      
      $this-&amp;gt;buildChildDefinitions();

      $this-&amp;gt;_table-&amp;gt;initIdentifier();
    }
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </comment>
                    <comment id="16003" author="jsiponen" created="Thu, 16 Jun 2011 20:28:21 +0000"  >&lt;p&gt;Failing test case attached&lt;/p&gt;</comment>
                    <comment id="18060" author="co3k" created="Fri, 8 Jun 2012 07:53:37 +0000"  >&lt;p&gt;Good job, Joe Siponen! Thanks for your nice patch!&lt;/p&gt;

&lt;p&gt;I can&apos;t understand why the Doctrine team discontinued maintenance of Doctrine 1 without any fixes for some serious issues like this problem...&lt;/p&gt;

&lt;p&gt;Joe, would you send your patch by pull-request in GitHub? They might notice this problem and try to fix in official repository by your request. If you cannnot, I will do it as your proxy. (Of course I&apos;m going to describe your credit)&lt;/p&gt;</comment>
                    <comment id="18626" author="co3k" created="Tue, 11 Sep 2012 13:16:23 +0000"  >&lt;p&gt;I&apos;ve tested Joe Siponen&apos;s patch, it would be good in a situation of single connection, but it doesn&apos;t work in multiple connections.&lt;/p&gt;

&lt;p&gt;So I modified your patch to fit my needs. I&apos;m testing my arranged patch and I want to publish it ASAP...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11015" name="DC373TestCase.php" size="6100" author="jsiponen" created="Thu, 16 Jun 2011 20:28:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-831] Importing fixtures fails when GoogleI18n used with &quot;Couldn&apos;t create collection index. Record field &apos;lang&apos; was null.&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-831</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;There&apos;s a problem with Doctrine_Data_Import. When trying to load a fixture record with translations, and GoogleI18n (or similar) instead of I18n is used (via actAs()), the following crash happens:&lt;br/&gt;
Couldn&apos;t create collection index. Record field &apos;lang&apos; was null.&lt;/p&gt;

&lt;p&gt;#0 /Users/argasek/Sites/fwm/library/doctrine/Doctrine/Access.php(131): Doctrine_Collection-&amp;gt;add(Object(Fwm_Shop_Catalog_CategoryTranslation))&lt;br/&gt;
#1 /Users/argasek/Sites/test/library/doctrine/Doctrine/Data/Import.php(241): Doctrine_Access-&amp;gt;offsetSet(NULL, Object(Test_Shop_Catalog_CategoryTranslation))&lt;br/&gt;
#2 /Users/argasek/Sites/test/library/doctrine/Doctrine/Data/Import.php(335): Doctrine_Data_Import-&amp;gt;_processRow(&apos;(catalog_catego...&apos;, Array)&lt;br/&gt;
#3 /Users/argasek/Sites/test/library/doctrine/Doctrine/Data/Import.php(118): Doctrine_Data_Import-&amp;gt;_loadData(Array)&lt;br/&gt;
#4 /Users/argasek/Sites/test/library/doctrine/Doctrine/Data.php(222): Doctrine_Data_Import-&amp;gt;doImport(false)&lt;br/&gt;
#5 /Users/argasek/Sites/test/library/doctrine/Doctrine/Core.php(1011): Doctrine_Data-&amp;gt;importData(&apos;/Users/argasek/...&apos;, &apos;yml&apos;, Array, false)&lt;br/&gt;
#6 /Users/argasek/Sites/test/library/doctrine/Doctrine/Task/LoadData.php(43): Doctrine_Core::loadData(&apos;/Users/argasek/...&apos;, false)&lt;br/&gt;
#7 /Users/argasek/Sites/test/library/doctrine/Doctrine/Cli.php(516): Doctrine_Task_LoadData-&amp;gt;execute()&lt;br/&gt;
#8 /Users/argasek/Sites/test/library/doctrine/Doctrine/Cli.php(498): Doctrine_Cli-&amp;gt;executeTask(Object(Doctrine_Task_LoadData), Array)&lt;br/&gt;
#9 /Users/argasek/Sites/test/library/doctrine/Doctrine/Cli.php(452): Doctrine_Cli-&amp;gt;_run(Array)&lt;br/&gt;
#10 /Users/argasek/Sites/test/scripts/doctrine-cli.php(29): Doctrine_Cli-&amp;gt;run(Array)&lt;br/&gt;
#11 &lt;/p&gt;
{main}

&lt;p&gt;I have narrowed down the problem to the line 135 of Doctrine/Data/Import.php, ie.&lt;/p&gt;

&lt;p&gt;if ($table-&amp;gt;hasRelation($key) &amp;amp;&amp;amp; is_array($value) &amp;amp;&amp;amp; ! $table-&amp;gt;hasTemplate(&apos;Doctrine_Template_I18n&apos;)) {&lt;/p&gt;

&lt;p&gt;In case of GoogleI18n, $table-&amp;gt;hasTemplate(&apos;Doctrine_Template_I18n&apos;) returns false.&lt;/p&gt;

&lt;p&gt;I have no idea how to patch this in a sane way. Adding another condition (&amp;amp;&amp;amp; ! $table-&amp;gt;hasTemplate(&apos;Doctrine_Template_GoogleI18n&apos;) serves well as a workaround, but such condition would be required for any class similar to Doctrine_Template_GoogleI18n. I guess the condition should check if it&apos;s a Doctrine_Template_I18n template or any template iherited from this class?...&lt;/p&gt;</description>
                <environment>Mac OS X 10.6.4, Zend Server CE 5.0.2 (irrelevant, I guess)</environment>
            <key id="11784">DC-831</key>
            <summary>Importing fixtures fails when GoogleI18n used with &quot;Couldn&apos;t create collection index. Record field &apos;lang&apos; was null.&quot;</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="argasek">Jakub Argasi&#324;ski</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Aug 2010 06:55:40 +0000</created>
                <updated>Wed, 13 Oct 2010 08:02:30 +0000</updated>
                                    <version>1.2.2</version>
                <version>1.2.3</version>
                                <fixVersion>1.2.4</fixVersion>
                                <component>Data Fixtures</component>
                <component>I18n</component>
                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13975" author="argasek" created="Tue, 17 Aug 2010 07:40:42 +0000"  >&lt;p&gt;I have provided a quick workaround patch for this problem, with an approach described in my report, ie. checking whether table has a template being an instance of or a child of Doctrine_Template_I18n.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10743" name="fix_google18n_and_similiar_import_problem.patch" size="1387" author="argasek" created="Tue, 17 Aug 2010 07:40:42 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-806] i8n behavior </title>
                <link>http://www.doctrine-project.org/jira/browse/DC-806</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;hi everyone &lt;/p&gt;

&lt;p&gt;I&apos;m trying to use the Doctrine i18n behavior but ... something wrong happen! &lt;/p&gt;

&lt;p&gt;I have this Doctrine_Connection_Mysql_Exception :&lt;/p&gt;

&lt;p&gt;SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;42S22&amp;#93;&lt;/span&gt;: Column not found: 1054 Unknown column &apos;p.label&apos; in &apos;field list&apos; ( ie : linked screenshot )&lt;/p&gt;

&lt;p&gt;with this request :&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Doctrine_Query::create()-&amp;gt;from(&apos;OrderProduct o&apos;)&lt;br/&gt;
                  -&amp;gt;leftJoin(&apos;o.Product p&apos;)&lt;br/&gt;
                  -&amp;gt;addWhere(&apos;o.order_id = ?&apos;, $currentOrderId)&lt;br/&gt;
                  -&amp;gt;orderBy(&apos;o.created_at ASC&apos;)&lt;br/&gt;
                  -&amp;gt;execute();&lt;br/&gt;
&amp;#8212;&lt;/p&gt;



&lt;p&gt;I don&apos;t understand why doctrine try to get the label field from &quot;Product&quot;, this field is in the Translation table :s &lt;/p&gt;

&lt;p&gt;Here an extract from my schema.yml :&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
Product:&lt;br/&gt;
  tableName:                   product&lt;br/&gt;
  actAs:&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields:                  &lt;span class=&quot;error&quot;&gt;&amp;#91;label, label_2&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
    code:                      &lt;/p&gt;
{type: string(64), notnull: true, primary: true}
&lt;p&gt;    label:                     &lt;/p&gt;
{type: string(64)}
&lt;p&gt;    label_2:                   &lt;/p&gt;
{type: string(64)}
&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;i don&apos;t know if my problem is in my code ( i don&apos;t think ), in Doctrine or in Symfony implementation of doctrine and thats why i post this message.&lt;/p&gt;

&lt;p&gt;If you want more details ask me &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; I have one working copy &quot;freezed&quot; just for this bug ( and for my work i use a system without i18n behavior :s )&lt;/p&gt;

&lt;p&gt;thx in advance&lt;/p&gt;</description>
                <environment>Symfony 1.4.0, PHP 5.2.6 &amp;amp; 5.3.1</environment>
            <key id="11703">DC-806</key>
            <summary>i8n behavior </summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fmeynard">Fabien MEYNARD</reporter>
                        <labels>
                    </labels>
                <created>Sat, 31 Jul 2010 13:51:36 +0000</created>
                <updated>Sat, 31 Jul 2010 13:51:36 +0000</updated>
                                                                    <component>I18n</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="10714" name="Capture d&#8217;&#233;cran 2010-07-30 &#224; 12.43.50.png" size="208155" author="fmeynard" created="Sat, 31 Jul 2010 13:51:36 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-779] sf1.4 i18n form create/update item extra insert</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-779</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;config/doctrine/schema.yml:&lt;br/&gt;
JobeetCategory:&lt;br/&gt;
  actAs:&lt;br/&gt;
    Timestampable: ~&lt;br/&gt;
    I18n:&lt;br/&gt;
      fields: &lt;span class=&quot;error&quot;&gt;&amp;#91;name&amp;#93;&lt;/span&gt;&lt;br/&gt;
  columns:&lt;br/&gt;
    id:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
      primary:  true&lt;br/&gt;
      autoincrement:  true&lt;br/&gt;
    num:&lt;br/&gt;
      type: integer(4)&lt;br/&gt;
    name:&lt;br/&gt;
      type: string(255)&lt;br/&gt;
      notnull:  true&lt;/p&gt;

&lt;p&gt;lib/form/doctrine/JobeetCategoryForm.class.php:&lt;br/&gt;
class JobeetCategoryForm extends BaseJobeetCategoryForm&lt;br/&gt;
{&lt;br/&gt;
  public function configure()&lt;/p&gt;
  {
    $this-&amp;gt;embedI18n(array(&apos;nl&apos;));
  }
&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;then running:&lt;br/&gt;
./symfony doctrine:generate-module --non-verbose-templates --with-show backend category JobeetCategory&lt;/p&gt;

&lt;p&gt;surfing to:&lt;br/&gt;
backend_dev.php/category/new&lt;/p&gt;

&lt;p&gt;everything looks fine but as soon as I post valid data i get the following error:&lt;br/&gt;
500 | Internal Server Error | Doctrine_Connection_Mysql_Exception&lt;br/&gt;
SQLSTATE&lt;span class=&quot;error&quot;&gt;&amp;#91;23000&amp;#93;&lt;/span&gt;: Integrity constraint violation: 1062 Duplicate entry &apos;1-nl&apos; for key &apos;PRIMARY&apos;&lt;/p&gt;

&lt;p&gt;And in my sql log i see it tries to execute the following (and fails):&lt;br/&gt;
START TRANSACTION&lt;br/&gt;
INSERT INTO `jobeet_category` (`created_at`, `updated_at`) VALUES (&apos;2005-01-01 00:00:00&apos;, &apos;2005-01-01 00:01:00&apos;)&lt;br/&gt;
INSERT INTO `jobeet_category_translation` (`id`, `lang`, `name`) VALUES (&apos;1&apos;, &apos;nl&apos;, &apos;2378&apos;)&lt;br/&gt;
INSERT INTO `jobeet_category_translation` (`id`, `lang`) VALUES (&apos;1&apos;, &apos;nl_NL&apos;)&lt;br/&gt;
ROLLBACK&lt;/p&gt;

&lt;p&gt;Obviously this third insert is not ok, but why is doctrine running it?&lt;/p&gt;

&lt;p&gt;I tried the Jobeet demo locally to see if I get the same issues with editing the I18n categories in the backend, but that all runs fine..&lt;/p&gt;

&lt;p&gt;I tried a apps/backend/config/settings.yml with:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;i18n&lt;br/&gt;
    i18n:                   true&lt;br/&gt;
    default_culture:        nl&lt;br/&gt;
    standard_helpers:       &lt;span class=&quot;error&quot;&gt;&amp;#91;Partial, I18N&amp;#93;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;and I also tried it commenting it all out. Still doesn&apos;t work.&lt;/p&gt;

&lt;p&gt;I really don&apos;t know why Doctrine runs this third insert and why it is using the incorrect &quot;nl_NL&quot; instead of &quot;nl&quot;.&lt;/p&gt;</description>
                <environment>problem arises \w Symfony 1.4.6 on Mac OS X 10.6.4 with Mysql 5.1.38 and a also on Ubuntu 10.04 Lucid \w bundled Apache 2.2.14 and Mysql 5.1.41</environment>
            <key id="11600">DC-779</key>
            <summary>sf1.4 i18n form create/update item extra insert</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="kuijsten">Tim</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Jul 2010 19:53:54 +0000</created>
                <updated>Thu, 14 Oct 2010 06:29:50 +0000</updated>
                                    <version>1.2.2</version>
                                                <component>I18n</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14565" author="jpasquier" created="Thu, 14 Oct 2010 06:29:50 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I had the same problem, and was able to solve it setting the culture of the user.&lt;/p&gt;

&lt;p&gt;In my case, I had two languages: &quot;ca&quot; and &quot;es&quot; (catalan and spanish), and my default culture defined in settings.yml was &quot;ca_ES&quot;&lt;/p&gt;

&lt;p&gt;Every time I tried to save a symfony form with embeded translation forms, I got an error similar to the following one:&lt;br/&gt;
Integrity constraint violation: 1062 Duplicate entry &apos;3-ca&apos; for key &apos;PRIMARY&apos;&lt;/p&gt;

&lt;p&gt;Basically, symfony or Doctrine, was trying to do 3 inserts: one with the &quot;ca&quot; language, one with the &quot;es&quot; language and one with the &quot;ca_ES&quot; language!&lt;/p&gt;

&lt;p&gt;Here is the symfony log:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Mysql} exec : SET NAMES &apos;UTF8&apos; - ()
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : SELECT COUNT(*) AS num_results FROM client c WHERE c.id = ? - (1)
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : INSERT INTO campanya (client_id, idiomes, created_at, updated_at) VALUES (?, ?, ?, ?) - (1, a:1:{i:0;s:2:&quot;ca&quot;;}, 2010-10-13 14:38:46, 2010-10-13 14:38:46)
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : SELECT c.id AS c__id, c.lang AS c__lang, c.slug AS c__slug FROM campanya_translation c WHERE (c.slug LIKE ? AND c.lang = ? AND c.nom = ?) - (aixo-es-una-nova-campanya-en-catala%, ca, Aix&#242; &#233;s una nova campanya, en catal&#224;)
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : INSERT INTO campanya_translation (id, lang, nom, descripcio, slug) VALUES (?, ?, ?, ?, ?) - (3, ca, Aix&#242; &#233;s una nova campanya, en catal&#224;, Lorem ipsum dolor...
Hic et nunc!, aixo-es-una-nova-campanya-en-catala)
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : SELECT c.id AS c__id, c.lang AS c__lang, c.slug AS c__slug FROM campanya_translation c WHERE (c.slug LIKE ? AND c.lang = ? AND c.nom = ?) - (%, es, )
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : INSERT INTO campanya_translation (id, lang, nom, descripcio, slug) VALUES (?, ?, ?, ?, ?) - (3, es, , , )
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : SELECT c.id AS c__id, c.lang AS c__lang, c.slug AS c__slug FROM campanya_translation c WHERE (c.slug LIKE ? AND c.lang = ? AND c.nom IS NULL) - (%, ca_ES)
Oct 13 14:38:46 symfony [info] {Doctrine_Connection_Statement} execute : INSERT INTO campanya_translation (id, lang, slug) VALUES (?, ?, ?) - (3, ca_ES, )
Oct 13 14:38:46 symfony [err] {Doctrine_Connection_Mysql_Exception} SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry &apos;3-ca&apos; for key &apos;PRIMARY&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Finally, I was able to solve it doing a:&lt;br/&gt;
$this-&amp;gt;getUser()-&amp;gt;setCulture(&apos;ca&apos;);&lt;br/&gt;
when users log into my application.&lt;/p&gt;

&lt;p&gt;I&apos;m using symfony 1.4.9&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-728] Updating slug in I18N behaviour yields non-unique slug</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-728</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;There seems to be a bug in the way, doctrine tries to find a unique slug for a table that is I18N-enabled and has a slug in it.&lt;/p&gt;

&lt;p&gt;Following example:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Problem:
  actAs:
    I18n:
      fields: [name]
      actAs:
        Sluggable: { fields: [name], uniqueBy: [lang, name], canUpdate: true }
  columns:
    name: { type: string(255), notnull: true }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Now, if we insert a new entry, the slug get&apos;s created as expected. If we now insert another entry that would yield the same slug, the slug is made unique by adding the postfix as expected - all well so far.&lt;/p&gt;

&lt;p&gt;Now, if we try to update the entry with the slug with the postfix, what i think is an error happens (Excerpt from Sluggable.php, lib/Doctrine/Template/Listener/Sluggable.php):&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
public function getUniqueSlug($record, $slugFromFields)
...
if ($record-&amp;gt;exists()) {
            $identifier = $record-&amp;gt;identifier();
            $whereString .= &apos; AND r.&apos; . implode(&apos; != ? AND r.&apos;, $table-&amp;gt;getIdentifierColumnNames()) . &apos; != ?&apos;;
            $whereParams = array_merge($whereParams, array_values($identifier));
        }

        foreach ($this-&amp;gt;_options[&apos;uniqueBy&apos;] as $uniqueBy) {
            if (is_null($record-&amp;gt;$uniqueBy)) {
                $whereString .= &apos; AND r.&apos;.$uniqueBy.&apos; IS NULL&apos;;
            } else {
                $whereString .= &apos; AND r.&apos;.$uniqueBy.&apos; = ?&apos;;
                $value = $record-&amp;gt;$uniqueBy;
                if ($value instanceof Doctrine_Record) {
                    $value = current((array) $value-&amp;gt;identifier());
                }
                $whereParams[] = $value;
            }
        }
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;So, the $record-&amp;gt;exists() check evaluates to true and $table-&amp;gt;getIdentifierColumnNames() yields the fields id and lang, so the whereString is something like&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
AND r.id != ? AND r.lang != ?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Now for the problematic part:&lt;br/&gt;
uniqueBy is lang and name; so the code adds to the whereString:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
AND r.lang = ? AND r.name = ?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;So the resulting whereString has something like&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
r.lang != ? AND r.lang = ?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;which will never yield a result in my eyes, thus, the postfix is never incremented and the slug defaults to the the slug of name without postfix.&lt;/p&gt;</description>
                <environment>Symfony 1.4.5&lt;br/&gt;
Doctrine ORM</environment>
            <key id="11474">DC-728</key>
            <summary>Updating slug in I18N behaviour yields non-unique slug</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vsknight">Florian Aschenbrenner</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Jun 2010 05:35:43 +0000</created>
                <updated>Tue, 5 Oct 2010 11:28:43 +0000</updated>
                                    <version>1.2.0</version>
                <version>1.2.1</version>
                <version>1.2.2</version>
                                                <component>I18n</component>
                <component>Sluggable</component>
                        <due></due>
                    <votes>5</votes>
                        <watches>5</watches>
                        <comments>
                    <comment id="13408" author="rodrigobb" created="Thu, 24 Jun 2010 13:11:47 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;We&apos;ve also found this problem and make a temporal workaround. But maybe our workaround can give someone an idea on how to fix the bug so I&apos;m pasting the changed code here&lt;/p&gt;

&lt;p&gt;In file &lt;em&gt;sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Template\Listener\Sluggable.php&lt;/em&gt; (getUniqueSlug method)&lt;/p&gt;

&lt;p&gt;Replace&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($record-&amp;gt;exists()) {
  $identifier = $record-&amp;gt;identifier();
  $whereString .= &apos; AND r.&apos; . implode(&apos; != ? AND r.&apos;, $table-&amp;gt;getIdentifierColumnNames()) . &apos; != ?&apos;;
  $whereParams = array_merge($whereParams, array_values($identifier));
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($record-&amp;gt;exists()) {
  $identifier = $record-&amp;gt;identifier();
  $commonFields = array_uintersect($table-&amp;gt;getIdentifierColumnNames(), $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_options[&apos;uniqueBy&apos;], &lt;span class=&quot;code-quote&quot;&gt;&quot;strcasecmp&quot;&lt;/span&gt;);
  foreach ($commonFields as $key =&amp;gt; $value)
    unset ($identifier[$value]);
  
  $whereFields = array_diff($table-&amp;gt;getIdentifierColumnNames(), $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_options[&apos;uniqueBy&apos;]);
  $whereString .= &apos; AND r.&apos; . implode(&apos; != ? AND r.&apos;, $whereFields) . &apos; != ?&apos;;
  $whereParams = array_merge($whereParams, array_values($identifier));
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14532" author="caponica" created="Tue, 5 Oct 2010 11:28:43 +0000"  >&lt;p&gt;Rodrigo, I think the solution is simpler than you might expect...&lt;/p&gt;

&lt;p&gt;The problem is that it is doing an AND where it should be doing an OR to find records other than the current one.&lt;/p&gt;

&lt;p&gt;So, you just need to replace this part of Sluggable::getUniqueSlug():&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Sluggable::getUniqueSlug()&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;...
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($record-&amp;gt;exists()) {
            $identifier = $record-&amp;gt;identifier();
            $whereString .= &apos; AND r.&apos; . implode(&apos; != ? AND r.&apos;, $table-&amp;gt;getIdentifierColumnNames()) . &apos; != ?&apos;;
            $whereParams = array_merge($whereParams, array_values($identifier));
        }
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With this code (the 3rd line has extra brackets and OR instead of AND):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: solid;&quot;&gt;&lt;b&gt;Sluggable::getUniqueSlug() (modified)&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($record-&amp;gt;exists()) {
            $identifier = $record-&amp;gt;identifier();
            $whereString .= &apos; AND (r.&apos; . implode(&apos; != ? OR r.&apos;, $table-&amp;gt;getIdentifierColumnNames()) . &apos; != ?)&apos;;
            $whereParams = array_merge($whereParams, array_values($identifier));
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;In more detail, the WHERE clause being built up is saying: &lt;br/&gt;
&quot;find me records WHERE (the slug begins with the same string) AND (it&apos;s not the same record) AND (the other key uniqueBy values are the same)&quot;&lt;/p&gt;

&lt;p&gt;However, to check that it&apos;s not the same record you just need one of the key values to be different (not all of them) so the check should be something like:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;... AND (p.id != &apos;2&apos; OR p.lang != &apos;en&apos;) ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;instead of:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;... AND p.id != &apos;2&apos; AND p.lang != &apos;en&apos; ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The modification to the code as stated above generates queries that look like this, which I&apos;m pretty sure is correct:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;... WHERE (p.url LIKE &apos;foo%&apos; AND (p.id != &apos;2&apos; OR p.lang != &apos;en&apos;) AND p.lang = &apos;en&apos; AND p.other_uniqueby_field = &apos;1&apos;)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;C&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DC-1029] Extensions of Doctrine_Template_I18n incompatible with Doctrine_Import</title>
                <link>http://www.doctrine-project.org/jira/browse/DC-1029</link>
                <project id="10031" key="DC">Doctrine 1</project>
                        <description>&lt;p&gt;Extending Doctrine_Template_I18n class make Doctrine_Import on YAML data with translation fails...&lt;/p&gt;

&lt;p&gt;Why ? Just because of this line :&lt;/p&gt;

&lt;p&gt;Doctrine_Import.php, line 135 :&lt;br/&gt;
                if ($table-&amp;gt;hasRelation($key) &amp;amp;&amp;amp; is_array($value) &amp;amp;&amp;amp; ! $table-&amp;gt;hasTemplate(&apos;Doctrine_Template_I18n&apos;)) {&lt;/p&gt;

&lt;p&gt;In fact, having a template named &quot;Doctrine_Template_I18n&quot; is not strong enough to be sure that the current object has an I18n behavior.&lt;/p&gt;


&lt;p&gt;The bug is very simple to reproduce :&lt;/p&gt;

&lt;p&gt;1. Get a classic I18n fixtures like :&lt;/p&gt;

&lt;p&gt;Article:&lt;br/&gt;
  Translation:&lt;br/&gt;
     en:&lt;br/&gt;
       title: Lorem Ipsum&lt;/p&gt;

&lt;p&gt;2. Then make a simple extension of the I18n template (do not do anything else but extends the Doctrine_Template_I18n class) :&lt;/p&gt;

&lt;p&gt;class My_Doctrine_Template_I18n extends Doctrine_Template_I18n {}&lt;/p&gt;

&lt;p&gt;3. Load the extension, assign it to your model and try to import your fixtures again. It will not work anymore.&lt;/p&gt;


&lt;p&gt;Thanks&lt;/p&gt;</description>
                <environment>Windows 7, XAMPP 1.7.4 with APC and Curl, symfony 1.4.8</environment>
            <key id="12931">DC-1029</key>
            <summary>Extensions of Doctrine_Template_I18n incompatible with Doctrine_Import</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/trivial.png">Trivial</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="loops">Pierrot Evrard</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Aug 2011 11:16:34 +0000</created>
                <updated>Thu, 18 Aug 2011 11:36:19 +0000</updated>
                                    <version>1.2.4</version>
                                                <component>Data Fixtures</component>
                <component>I18n</component>
                <component>Import/Export</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16350" author="loops" created="Thu, 18 Aug 2011 11:18:51 +0000"  >&lt;p&gt;See this patch where to check if the table has the I18n plugin, I check if one of the templates has a getI18n() method.&lt;/p&gt;

&lt;p&gt;This is probably not strong enough but it can do the job until you find a better solution.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="16351" author="loops" created="Thu, 18 Aug 2011 11:36:19 +0000"  >&lt;p&gt;Another possibility to check that templates are I18n template, will be to create an Doctrine_I18n_Interface. Also, every template that include this interface can be considered as I18n templates.&lt;/p&gt;

&lt;p&gt;What do you think about that ?&lt;/p&gt;

&lt;p&gt;NB: May the interface can define the method getI18n() to be declared...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11056" name="DC-1029.patch" size="1184" author="loops" created="Thu, 18 Aug 2011 11:18:51 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>