I have done some digging: I think that the issue is with function
ticket_user_can_edit_project_p. This select statement:
select
count(*) into count_check
from
user_group_map
where
user_id= v_user_id
and (role=''internal'' or role=''administrator'')
and group_id in (select team_id
from ticket_project_teams
where parent_project_p(project_id,v_project_id)=''t'');
only picks employees that are labled as 'internal' (which is only an
option when one creates teams from /team), while all employees added
from project level show up as 'member'.
The question is, then, whether employees should be added as 'internal'
at the project level or whehther the function in question should
include
or role=''member'' in its definition. I would opt
for the second solution.