[Rt-devel] [PATCH] 3.6.HEAD REST fix.

Dmitri Tikhonov dtikhonov at yahoo.com
Tue Jul 25 22:50:41 EDT 2006


Hi Ruslan,

thanks for the commit (5652).  However, the second part of the patch
(casesensitive => 0) should still be applied.  I now tested with SQLite
and Postgres, and without this patch custom fields with upper-case
letters in them cannot get updated using REST interface.

  - Dmitri.


--- Dmitri Tikhonov <dtikhonov at yahoo.com> wrote:

> Hi List,
> 
> the attached patch fixes REST's custom field handling in RT 3.6.HEAD
> (the patch is against revision 5647).
> 
> RT/CustomField_Overlay.pm is changed because
> REST/1.0/Forms/ticket/default lowercases all keys and $cf->LoadByName
> cannot find "broken in", for instance (defined as "Broken in").
> 
> If this significantly changes semantics of other parts of rt, the fix
> may have to be moved to REST/1.0/Forms/ticket/default -- keep the
> original, not lowercased, version of $key for CF's consumption.
> 
> I tested using SQLite.
> 
>   - Dmitri.
> 
> Reference:
>
http://lists.bestpractical.com/pipermail/rt-devel/2006-July/008665.html
> > Index: RT/CustomField_Overlay.pm
> ===================================================================
> RCS file: /home/dmitri/cvs/rt3/lib/RT/CustomField_Overlay.pm,v
> retrieving revision 1.1.1.1
> retrieving revision 1.2
> diff -u -r1.1.1.1 -r1.2
> --- RT/CustomField_Overlay.pm	22 Jul 2006 23:24:32 -0000	1.1.1.1
> +++ RT/CustomField_Overlay.pm	23 Jul 2006 23:36:38 -0000	1.2
> @@ -289,7 +289,7 @@
>  
>      my $CFs = RT::CustomFields->new($self->CurrentUser);
>  
> -    $CFs->Limit( FIELD => 'Name', VALUE => $args{'Name'} );
> +    $CFs->Limit( FIELD => 'Name', VALUE => $args{'Name'},
> CASESENSITIVE => 0 );
>      # Don't limit to queue if queue is 0.  Trying to do so breaks
>      # RT::Group type CFs.
>      if (defined $args{'Queue'}) {
> Index: RT/Interface/REST.pm
> ===================================================================
> RCS file: /home/dmitri/cvs/rt3/lib/RT/Interface/REST.pm,v
> retrieving revision 1.1.1.1
> retrieving revision 1.2
> diff -u -r1.1.1.1 -r1.2
> --- RT/Interface/REST.pm	22 Jul 2006 23:24:32 -0000	1.1.1.1
> +++ RT/Interface/REST.pm	23 Jul 2006 23:37:39 -0000	1.2
> @@ -60,7 +60,7 @@
>      @EXPORT = qw(expand_list form_parse form_compose vpush vsplit);
>  }
>  
> -my $field = '[a-zA-Z][a-zA-Z0-9_-]*';
> +my $field = '(?:[a-zA-Z][a-zA-Z0-9_-]*|[Cc][Ff]-[a-zA-Z0-9_ -]+)';
>  
>  # WARN: this code is duplicated in bin/rt.in,
>  # change both functions at once
> > _______________________________________________
> List info:
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
> 
> Best Practical is hiring! Come hack Perl for us:
http://bestpractical.com/about/jobs.html



More information about the Rt-devel mailing list