[Rt-commit] rt branch, 4.0/rest-delete-custom-field-value, created. rt-4.0.6-221-gd18a253

Ruslan Zakirov ruz at bestpractical.com
Mon Jul 2 10:16:02 EDT 2012


The branch, 4.0/rest-delete-custom-field-value has been created
        at  d18a253cf1a652701afd8fbf51c9bf696bcbe63d (commit)

- Log -----------------------------------------------------------------
commit d18a253cf1a652701afd8fbf51c9bf696bcbe63d
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Mon Jul 2 17:15:06 2012 +0300

    REST: delete CF value rather than add when value is empty
    
    AddCustomFieldValue doesn't handle empty case, caller should
    take care. If we don't then RT records that an empty value
    was added

diff --git a/share/html/REST/1.0/Forms/ticket/default b/share/html/REST/1.0/Forms/ticket/default
index 032e6c9..db00601 100755
--- a/share/html/REST/1.0/Forms/ticket/default
+++ b/share/html/REST/1.0/Forms/ticket/default
@@ -382,7 +382,15 @@ else {
             else {
                 my $vals = $ticket->CustomFieldValues($cf->id);
 
-                if ( $cf->SingleValue ) {
+                if ( !defined $val || !length $val ) {
+                    while ( my $val = $vals->Next ) {
+                        ($n, $s) = $ticket->DeleteCustomFieldValue(
+                            Field => $cf, ValueId => $val->id,
+                        );
+                        $s =~ s/^# // if defined $s;
+                    }
+                }
+                elsif ( $cf->SingleValue ) {
                     my $old = $vals->Next;
                     if ( $old ) {
                         if ( $val ne $old->Content ) {

-----------------------------------------------------------------------


More information about the Rt-commit mailing list