Closed Bug 185181 Opened 22 years ago Closed 22 years ago

Missing keywords in show_bug.cgi

Categories

(Bugzilla :: Creating/Changing Bugs, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jussi, Assigned: myk)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212

I recently lost all keywords in show_bug.cgi in a bugzilla installation 
I updated to tip. After a bit of testing, it seems that the problem 
could be solved by removing a join from the line where keywords are listed.

edit.html.tmpl line 265:
value="[% bug.keywords.join(', ') FILTER html %]" size="60">

If I understand the bug hash correctly, bug.keywords is already a string 
formatted as "key1, key2" so the join is redundant but not harmful?

Here is a few tests I used:

[% bug.keywords.join(', ') %]
[% bug.keywords %]
[% bug.keywords.list.join(', ') %]
[% bug.keywords.list.join('xyz') %]

First one returns an empty string, and the other ones a correct list of 
keywords.

My perl version is 5.6.1 and Template toolkit version 2.08.

Reproducible: Always

Steps to Reproduce:
hmm, although the code looks exactly like what you suggest is wrong here, this
works for me on landfill.  I couldn't get it to not display the keywords.
Bug.pm prejoins the keywords, so that join is unneeded, I guess. Although it may
make more sense to return an array, I guess.

Was the field shown, but not blank, or was it just not shown?
The field was blank. Since I could not reproduce this either in another
computer, this could be a perl configuration issue. 

In report.html.tmpl I needed to join two lines to generate the correct html.
This could be caused by the same thing. The line was this fromaturl line:

[% formaturl = "report.cgi?$switchbase&width=$width&height=$height" _
   "&action=wrap" %]

Is there or what is the best way to debug bugzilla templates? I would imagine
that I need to give at least a few environment variables to show_bug.cgi.
Hmm. Did you at one point install an earlier TT version without using the XS
stash, and then have the current version use XS?

That would cause mixups, because of the different directies + directory search
paths.

Check that all teh Template/.pm files are under the same library root dir.
That was a good error diagnosis. The server that has this problem is not hosted
by me and it had a template toolkit version 2.06 preinstalled, I installed the
latest 2.08 under my home directory and everything seemed to be ok, until now. I
asked them to upgrade the site version so we will see if that solves the problem.

I had set the PER5LIB environment variable in the main bugzilla dir .htaccess
file to point to the newer version, but is there some other variables that
should be set also?
PERL5LIB doesn't get honored in taint mode.  You can only use the site-wide
modules that way (unless you compiled your own perl as well).
That's it. When I added the path as a command line -I the script started to work.
Thanks.
per reporter (comment 7)  WORKSFORME
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
PERL5LIB won't work, because that setting is ignored in taint mode, which
bugzilla uses.

There are a couple of bugs on a configurable library path; we'll probably have
to deal with that before mod_perl.
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.