[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Removed lines in responsible
From: |
Lars Henriksen |
Subject: |
Re: Removed lines in responsible |
Date: |
Thu, 31 Oct 2002 21:29:27 +0100 |
User-agent: |
Mutt/1.4i |
On Mon, Oct 28, 2002 at 09:37:28AM +0100, Lars Henriksen wrote:
> On Sun, Oct 27, 2002 at 10:48:14PM +0100, Yngve Svendsen wrote:
> > At 13:25 24.10.2002 +0200, Lars Henriksen wrote:
> > ...
> > Committed. there were some problems with hash references, but I cleaned it
> > up.
>
> Oops. Sorry about that. Some of my local changes crept in here. I have found
> that with many categories and many responsibles, it's nice to have the menues
> alphabetically sorted (as they were in gnatsweb 2.9.3). I have been planning
> to submit a patch so here it comes (see below).
Unfortunately I managed to mess up my own changes so the patch mentioned above
wasn't quite correct.
I you want alphabetically sorted Category and Responsible menues (like in
gnatsweb 2.9.3) here is the patch.
Lars Henriksen
Index: gnatsweb.pl
===================================================================
RCS file: /cvsroot/gnatsweb/gnatsweb/gnatsweb.pl,v
retrieving revision 1.115
diff -u -r1.115 gnatsweb.pl
--- gnatsweb.pl 27 Oct 2002 22:33:18 -0000 1.115
+++ gnatsweb.pl 31 Oct 2002 20:25:59 -0000
@@ -1063,7 +1063,11 @@
# Get default value(s).
my $default = fieldinfo($_, 'default');
- my $values = fieldinfo($_, 'values');
+ my @values = @{fieldinfo($_, 'values')};
+ if ($_ eq $CATEGORY_FIELD || $_ eq $SUBMITTER_ID_FIELD)
+ {
+ @values = sort {lc($a) cmp lc($b)} @values;
+ }
# The "intro" provides a way for the site callback to print something
# at the top of a given field.
@@ -1081,16 +1085,16 @@
# Force user to choose a category.
if ($_ eq $CATEGORY_FIELD)
{
- push(@$values, "unknown") if (!grep /^unknown$/, @$values);
+ push(@values, "unknown") if (!grep /^unknown$/, @values);
$default = "unknown";
}
- print popup_or_scrolling_menu($_, $values, $default),
+ print popup_or_scrolling_menu($_, address@hidden, $default),
"</td>\n</tr>\n";
}
elsif (fieldinfo ($_, 'fieldtype') eq 'multienum')
{
my $defaultsref = parse_multienum($default, $_);
- print multiselect_menu($_, $values, $defaultsref),
+ print multiselect_menu($_, address@hidden, $defaultsref),
"</td>\n</tr>\n";
}
elsif (fieldinfo($_, 'fieldtype') eq "multitext")
@@ -1563,7 +1567,12 @@
$field_number++;
- my $values = fieldinfo($_, 'values');
+ my @values = @{fieldinfo ($_, 'values')};
+ if ($_ eq $CATEGORY_FIELD ||
+ $_ eq $SUBMITTER_ID_FIELD ||
+ $_ eq $RESPONSIBLE_FIELD) {
+ @values = sort {lc($a) cmp lc($b)} @values;
+ }
# The "intro" provides a way for the site callback to print something
# at the top of a given field.
@@ -1576,18 +1585,18 @@
{
my $default = $fields{$_};
# Check whether field value is a known enumeration value.
- if (!(grep /^$default$/, @$values))
+ if (!(grep /^$default$/, @values))
{
- push(@$values, 'unknown') if (!grep /^unknown$/, @$values);
+ push(@values, 'unknown') if (!grep /^unknown$/, @values);
$default = 'unknown';
}
- print popup_or_scrolling_menu($_, $values, $default),
+ print popup_or_scrolling_menu($_, address@hidden, $default),
"</td>\n</tr>\n";
}
elsif (fieldinfo ($_, 'fieldtype') eq 'multienum')
{
my $defaultsref = parse_multienum($fields{$_}, $_);
- print multiselect_menu($_, $values, $defaultsref),
+ print multiselect_menu($_, address@hidden, $defaultsref),
"</td>\n</tr>\n";
}
elsif (fieldinfo ($_, 'fieldtype') eq 'multitext')
@@ -1867,8 +1876,12 @@
if (fieldinfo($_, 'fieldtype') =~ /enum/)
{
print "<tr><td valign=top>$_:</td>\n<td>";
- my $value_list=fieldinfo($_, 'values');
- my @values=('any', @$value_list);
+ my @values = @{fieldinfo($_, 'values')};
+ if ($_ eq $RESPONSIBLE_FIELD || $_ eq $CATEGORY_FIELD)
+ {
+ @values=sort {lc($a) cmp lc($b)} @values;
+ }
+ @values=('any', @values);
if (fieldinfo($_, 'fieldtype') eq 'enum')
{
print popup_or_scrolling_menu ($_, address@hidden, $values[0]);
@@ -2054,11 +2067,15 @@
print "<td>";
if (fieldinfo($_, 'fieldtype') =~ 'enum')
{
- my $ary_ref = fieldinfo($_, 'values');
- my $size = scalar(@$ary_ref);
+ my @values = @{fieldinfo($_, 'values')};
+ if ($_ eq $RESPONSIBLE_FIELD || $_ eq $CATEGORY_FIELD)
+ {
+ @values = sort {lc($a) cmp lc($b)} @values;
+ }
+ my $size = @values;
$size = 4 if $size > 4;
print $q->scrolling_list(-name=>$_,
- -values=>$ary_ref,
+ -values=>address@hidden,
-multiple=>1,
-size=>$size);
}
Re: Removed lines in responsible, Lars Henriksen, 2002/10/23