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

Dmitri Tikhonov dtikhonov at yahoo.com
Wed Aug 9 19:34:36 EDT 2006


The problem still exists in 3.6.1 (tested with PostgreSQL).  However,
now I am a bit confused -- I was able to create custom fields "Broken
in", "broken in", and "broken in" again -- is that the desired
behavior?

  - Dmitri.

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

> 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
> 
> _______________________________________________
> 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