[Rt-devel] PATCH: silence warnings Elements/EditCustomFieldSelect
Jim Meyer
purp at acm.org
Mon Nov 21 20:06:59 EST 2005
Hello again!
On Wed, 2005-11-16 at 17:40, Jim Meyer wrote:
> On Wed, 2005-11-16 at 16:55, Jesse Vincent wrote:
> > > While there's a bit of a refactor involved toward the end, this diff is
> > > largely just a rework of the indents to be consistent (which makes it
> > > easier to refactor =). I pulled a bunch of "... && ... && ... &&" stuff
> > > out of a <%%> element around the 'SELECTED' line and collapsed the logic
> > > a bit.
> >
> > It's very hard to see what you actually changed with the big indent
> > change. Could you do this as two layered patches?
>
> Happily so, and I've corrected the subject's misplaced location, too.
>
> Attached are the indent revision (EditCustomFieldSelect.indent.patch)
> and the silencing of the warnings (EditCustomFieldSelect.fixes.patch).
Please drop the previous EditCustomFieldSelect.fixes.patch and make use
of this one. The last one buggered the logic as I misread the second
term of:
<%$Values->HasEntry($value->Name) && ($$SelectedRef = 1) && 'SELECTED'%>
... as a condition (==) rather than assignment; little wonder I didn't
much like the original logic. I also left the single-quotes on SELECTED
while making it an HTML literal, so the whole thing started misbehaving
on me (though it was very quiet about it ;p).
Cheers!
--j
--
Jim Meyer, Geek at Large purp at acm.org
-------------- next part --------------
--- share/html/Elements/EditCustomFieldSelect.indents 2005-11-21 16:46:32.000000000 -0800
+++ share/html/Elements/EditCustomFieldSelect 2005-11-21 16:48:46.000000000 -0800
@@ -86,9 +86,9 @@
% my @levels;
% while ($CFVs and my $value = $CFVs->Next ) {
% my $category = $value->Category;
% if (1) { # length $category) {
-% my $level = (split(/:/, $category))[0];
+% my $level = (split(/:/, $category || ''))[0];
% while (@levels) {
% if ($levels[-1] eq $level) {
% undef $level;
% last;
@@ -98,20 +98,21 @@
% } else {
% last;
% }
% }
-% if (length $level) {
+% if ($level) {
% push @$CategoryRef, [0+ at levels, $level];
<optgroup style="padding-left: <% @levels/2 %>em" label="<%$category%>">
% push @levels, $level;
% }
% }
<option value="<%$value->Name%>"
-% if ($Values) {
- <% $Values->HasEntry($value->Name) && ($$SelectedRef = 1) && 'SELECTED' %>
-% } elsif ($Default) {
- <% ($Default eq $value->Name) && ($$SelectedRef = 1) && 'SELECTED' %>
-% }
+% if ($value->Name && $SelectedRef && ref($SelectedRef) &&
+% (($Values && $Values->HasEntry($value->Name)) ||
+% ($Default && ($Default eq $value->Name)))) {
+% $$SelectedRef = 1;
+ SELECTED
+% }
><% $value->Name%></option>
% }
% for (@levels) {
</optgroup>
More information about the Rt-devel
mailing list