[Rt-devel] PATCH: silence warnings
Ticket/Elements/EditCustomFieldSelect
Jesse Vincent
jesse at bestpractical.com
Wed Nov 16 19:55:12 EST 2005
> 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.
It's very hard to see what you actually changed with the big indent
change. Could you do this as two layered patches?
>
> 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
> --- 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>
> _______________________________________________
> Rt-devel mailing list
> Rt-devel at lists.bestpractical.com
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
--
More information about the Rt-devel
mailing list