Custom field value foo could not be found for custom field bar

Greetings!

Had no luck in rt-users list with this question, reposting here.

During some custom fields tests I found out strange behavior.
To be sure I got a fresh install of RT 3.4.2 and fresh new DB.

Next steps:

  1. Creating queue

  2. Creating custom field “bar”
    (type: select one, 2 possible values, “aaa” and “bbb”)

  3. Assigned custom field “bar” to queue

  4. Created a ticket in queue with no value in CF.

  5. Ticket->basics page

  6. Assigned value “aaa” to CF.

    • bar aaa added
  7. Assigned value “bbb” to CF.

    • bar aaa changed to bbb
    • Custom field value aaa could not be found for custom field bar

    So, here the problem is.

If I assign any value to custom field it always says it can’t find old
value in DB. I’ve looked at DB - values are there, but are disabled
(1 in “disabled” column).
I checked execution via $RT::Logger->debug and found out that args to
CustomField::DeleteValueForObject are correct, but
LoadByObjectContentAndCustomField fails. Didn’t investigate further.

Using InnoDB for all RT-related tables.

Searched wiki and google. Have I missed something?

SY, Danial.

Danial Klimkin,
Falk eSolutions AG Russia
St. Petersburg, Russia

Greetings!

Had no luck in rt-users list with this question, reposting here.

During some custom fields tests I found out strange behavior.
To be sure I got a fresh install of RT 3.4.2 and fresh new DB.

IT’s a display bug, I think, not an acutal problem.

Greetings!

Jesse Vincent wrote:

IT’s a display bug, I think, not an acutal problem.

Yes, but… Every old custom field value is left in DB as disabled.
Is it right? Looks like it doesn’t work as designed.

Next steps:

  1. Creating queue

  2. Creating custom field “bar”
    (type: select one, 2 possible values, “aaa” and “bbb”)

  3. Assigned custom field “bar” to queue

  4. Created a ticket in queue with no value in CF.

  5. Ticket->basics page

  6. Assigned value “aaa” to CF.

    • bar aaa added
  7. Assigned value “bbb” to CF.

    • bar aaa changed to bbb
    • Custom field value aaa could not be found for custom field bar

    So, here the problem is.

If I assign any value to custom field it always says it can’t find old
value in DB. I’ve looked at DB - values are there, but are disabled
(1 in “disabled” column).

SY, Danial.

Danial Klimkin,
Falk eSolutions AG Russia
St. Petersburg, Russia

Greetings!

Jesse Vincent wrote:

IT’s a display bug, I think, not an acutal problem.

Yes, but… Every old custom field value is left in DB as disabled.
Is it right? Looks like it doesn’t work as designed.

Yes. “Disabled” is the key word. Ticket history tracks custom
fields by id, not by value.

This bug was well described for version 3.4.2 in:
http://lists.fsck.com/pipermail/rt-devel/2005-June/007345.html

It’s harmless, but annoying, and my users don’t take well to “just ignore
that error
message”.

Here’s my attempt to patch it in 3.6.1:

Hope this is useful …

Harry

cf_values.patch (699 Bytes)

Greetings!

During some custom fields tests I found out strange behavior.
To be sure I got a fresh install of RT 3.4.2 and fresh new DB.

Next steps:

  1. Creating queue

  2. Creating custom field “bar”
    (type: select one, 2 possible values, “aaa” and “bbb”)

  3. Assigned custom field “bar” to queue

  4. Created a ticket in queue with no value in CF.

  5. Ticket->basics page

  6. Assigned value “aaa” to CF.

    • bar aaa added
  7. Assigned value “bbb” to CF.

    • bar aaa changed to bbb
    • Custom field value aaa could not be found for custom field bar

    So, here the problem is.

If I assign any value to custom field it always says it can’t find old
value in DB. I’ve looked at DB - values are there, but are disabled
(1 in “disabled” column).
I checked execution via $RT::Logger->debug and found out that args to
CustomField::DeleteValueForObject are correct, but
LoadByObjectContentAndCustomField fails. Didn’t investigate further.

Using InnoDB for all RT-related tables.

Searched wiki and google. Have I missed something?

SY, Danial.

Danial Klimkin,
Falk eSolutions AG Russia