Forum OpenACS CMS: Response to (from a newbie) Forgetful glossary...

Collapse
Posted by Ola Hansson on
Hi Eric,

The query that pulls the items from the db is wrong in both PG and Oracle.

This is the oracle version:
db_multirow glossary_term_item glossary_term_items_select {
    select i.item_id as glossary_term_item_id , title as term,
    decode(acs_permission.permission_p(i.item_id,
                                       :user_id,
                                       'glossary_term_modify'),
           't', 1,
           'f', 0) as term_edit_p
    from glossary_termsx gt, cr_items i, cr_child_rels ch
    where ch.parent_id = :item_id
    and ch.child_id = gt.item_id
    and i.publish_status = 'live'
    and i.content_type = 'glossary_term'
    and i.live_revision = gt.revision_id
   and publish_date > sysdate -1
    and publish_date < sysdate
    and acs_permission.permission_p(i.item_id, :user_id, 'read') = 't'
    order by term
}
The marked line should read: "and publish_date < sysdate", i.e., < insead of > and without -1

A big patch that fixes this (at least for PG) and more is posted here.

Hope this helps.