Author Topic: logged_user() return wrong data.  (Read 1878 times)

brg

  • Freshman
  • *
  • Posts: 22
    • View Profile
logged_user() return wrong data.
« on: April 29, 2010, 08:00:20 am »
logged_user()  function can return User object (if i am log in) or NULL (if i am not log in) .. ok, but some methods like ProjectTasks::getLateTasksByUser() call logged_user()->getTimezone() without checking what data return logged_user() function.

Second moment .. if i want get in cron job (run from wget without user login) all task ProjectTasks::getProjectTasks() or ProjectTasks::getLateTasksByUser() i get Fatal error because permissions_sql_for_listings() call $user->getId() method .. but $user was "NULL" value if i run cron.php without authorization.

-----------------

Something strange ..
getLateTasksByUser() method was User $user argument, but never use it .. always return late tasks logged user has access to

I am modify:
Code: [Select]
$permissions = ' AND ( ' . permissions_sql_for_listings(ProjectTasks::instance(),ACCESS_LEVEL_READ, logged_user(), 'project_id') .')';
to:
Code: [Select]
$permissions = ' AND ( ' . permissions_sql_for_listings(ProjectTasks::instance(),ACCESS_LEVEL_READ, $user, 'project_id') .')';
And maybe:
Code: [Select]
$to_date = DateTimeValueLib::now()->add('h', logged_user()->getTimezone())->beginningOfDay();
to:
Code: [Select]
$to_date = DateTimeValueLib::now()->add('h', $user->getTimezone())->beginningOfDay();
« Last Edit: April 29, 2010, 08:27:14 am by brg »

cabeza

  • Administrator
  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
    • Feng Office
Re: logged_user() return wrong data.
« Reply #1 on: May 13, 2010, 02:50:32 pm »
We'll take a look.