[Rt-devel] PATCH: silence warnings
Ticket/Elements/EditCustomFieldSelect
Jim Meyer
purp at acm.org
Wed Nov 16 19:51:15 EST 2005
[Once more, with right filename and patch attached ... please ignore previous]
Attached.
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.
I desperately wanted to refactor to eliminate the "if (1)" bit, but I
don't have time to get clear on how the semi-global @levels is being
used. Maybe later.
Cheers!
--j
--
Jim Meyer, Geek at Large purp at acm.org
-------------- next part --------------
--- share/html/Elements/EditCustomFieldSelect 2005-08-18 19:39:27.000000000 -0700
+++ local/html/Elements/EditCustomFieldSelect 2005-11-16 16:22:15.000000000 -0800
@@ -84,34 +84,36 @@
% my $selected;
% my $CFVs = $CustomField->Values;
% my @levels;
% while ($CFVs and my $value = $CFVs->Next ) {
-% my $category = $value->Category;
-% if (1) { # length $category) {
-% my $level = (split(/:/, $category))[0];
-% while (@levels) {
-% if ($levels[-1] eq $level) {
-% undef $level;
-% last;
-% } elsif (index($level, $levels[-1]) != 0) {
+% my $category = $value->Category;
+% if (1) { # length $category) {
+% my $level = (split(/:/, $category || ''))[0];
+% while (@levels) {
+% if ($levels[-1] eq $level) {
+% undef $level;
+% last;
+% } elsif (index($level, $levels[-1]) != 0) {
</optgroup>
-% pop @levels;
-% } else {
-% last;
-% }
-% }
-% if (length $level) {
-% push @$CategoryRef, [0+ at levels, $level];
+% pop @levels;
+% } else {
+% last;
+% }
+% }
+% if ($level) {
+% push @$CategoryRef, [0+ at levels, $level];
<optgroup style="padding-left: <% @levels/2 %>em" label="<%$category%>">
-% push @levels, $level;
-% }
-% }
+% 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) &&
+% $$SelectedRef == 1) {
+% if (($Values && $Values->HasEntry($value->Name)) ||
+% ($Default && ($Default eq $value->Name))) {
+ 'SELECTED'
+% }
+% }
><% $value->Name%></option>
% }
% for (@levels) {
</optgroup>
More information about the Rt-devel
mailing list