Bug#468494: Day view in Calendar not working for users, only for groups

2008-02-29 Thread Stefan Bellon
Package: egroupware-infolog
Version: 1.2.107-2.dfsg-2
Severity: serious
Tags: patch

--- Please enter the report below this line. ---

After upgrading to egroupware version 1.2.107, the day view in the
calendar does not work for single users anymore, only for groups. Week
and month views still work for single users. The error message one gets
when visiting a person's day view is the following:


Database error: Invalid SQL: SELECT main.info_id FROM egw_infolog main
WHERE ( ((info_owner=6 AND info_responsible=0 OR
','||info_responsible||',' LIKE '%,6,%') AND (info_owner=6 OR
(','||info_responsible||',' LIKE '%,6,%' AND info_access='public') OR
info_owner IN (6) OR (info_access='public' AND info_owner
IN(-11,6,12,7,9,-1,8,-10))) ) AND NOT (info_status IN
('done','billed','cancelled')) AND info_startdate  '1204326000' )
pgsql Error: -1 (ERROR: operator does not exist: character varying =
integer LINE 1: ... main WHERE ( ((info_owner=6 AND info_responsible=0
OR ','|... ^ HINT: No operator matches the given name and argument
type(s). You might need to add explicit type casts.)

File: /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php
Line: 590
Function: soinfolog::search / boinfolog::search /
boinfolog::cal_to_include /
ExecMethod(infolog.boinfolog.cal_to_include) / hooks::single /
hooks::process / uiviews::get_todos / uiviews::day /
ExecMethod(calendar.uiviews.day)

Session halted.


Having looked at the database schema of egw_infolog I verified that
postgresql is correct here as the info_responsible column is of type
character varying but gets compared to integer. Having looked
inside /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php I
indeed spotted the problem in line 167 where info_responsible=0 is
missing the quotation marks to make the 0 a string literal. After
replacing it with info_responsible='0', the day view works again.



--- System information. ---
Architecture: i386
Kernel:   Linux 2.6.16

Debian Release: lenny/sid
  500 unstablewww.debian-multimedia.org 
  500 unstableftp.debian.org 

--- Package information. ---
Depends (Version) | Installed
=-+-=
egroupware-core  (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2
egroupware-etemplate (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2


-- 
Stefan Bellon



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#468494: Day view in Calendar not working for users, only for groups

2008-02-29 Thread Ralf Becker
Hi Stefan,

thanks for the bug report.

The bug (and other ones related to newer postgres versions) are fixed in
the current release 1.4. The old version 1.2 is no longer supported by
the egroupware project.

Committing the fix is of cause easy, thought there would be no new 1.2
release, as 1.2 also has other security, php5 and postgres related problems.

I can only recommend to update eGroupWare version 1.4, which is still in
testing in debian afaik.

Ralf

Stefan Bellon schrieb:
 Package: egroupware-infolog
 Version: 1.2.107-2.dfsg-2
 Severity: serious
 Tags: patch
 
 --- Please enter the report below this line. ---
 
 After upgrading to egroupware version 1.2.107, the day view in the
 calendar does not work for single users anymore, only for groups. Week
 and month views still work for single users. The error message one gets
 when visiting a person's day view is the following:
 
 
 Database error: Invalid SQL: SELECT main.info_id FROM egw_infolog main
 WHERE ( ((info_owner=6 AND info_responsible=0 OR
 ','||info_responsible||',' LIKE '%,6,%') AND (info_owner=6 OR
 (','||info_responsible||',' LIKE '%,6,%' AND info_access='public') OR
 info_owner IN (6) OR (info_access='public' AND info_owner
 IN(-11,6,12,7,9,-1,8,-10))) ) AND NOT (info_status IN
 ('done','billed','cancelled')) AND info_startdate  '1204326000' )
 pgsql Error: -1 (ERROR: operator does not exist: character varying =
 integer LINE 1: ... main WHERE ( ((info_owner=6 AND info_responsible=0
 OR ','|... ^ HINT: No operator matches the given name and argument
 type(s). You might need to add explicit type casts.)
 
 File: /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php
 Line: 590
 Function: soinfolog::search / boinfolog::search /
 boinfolog::cal_to_include /
 ExecMethod(infolog.boinfolog.cal_to_include) / hooks::single /
 hooks::process / uiviews::get_todos / uiviews::day /
 ExecMethod(calendar.uiviews.day)
 
 Session halted.
 
 
 Having looked at the database schema of egw_infolog I verified that
 postgresql is correct here as the info_responsible column is of type
 character varying but gets compared to integer. Having looked
 inside /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php I
 indeed spotted the problem in line 167 where info_responsible=0 is
 missing the quotation marks to make the 0 a string literal. After
 replacing it with info_responsible='0', the day view works again.
 
 
 
 --- System information. ---
 Architecture: i386
 Kernel:   Linux 2.6.16
 
 Debian Release: lenny/sid
   500 unstablewww.debian-multimedia.org 
   500 unstableftp.debian.org 
 
 --- Package information. ---
 Depends (Version) | Installed
 =-+-=
 egroupware-core  (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2
 egroupware-etemplate (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2
 
 

-- 
Ralf Becker
eGroupWare Training  Support == http://www.egroupware-support.de
Outdoor Unlimited Training GmbH [www.outdoor-training.de]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 (0)631 31657-0