Some logic problem

Hello champs,

I am in dilemma here. I have structure like this:-

                               EmployeeA
                                   |
                  EmployeeB    EmployeeC     EmployeeD
                      |                          |
                  EmployeeE                  EmployeeH
                      |
                  EmployeeF

Currently if i login with EmployeeA account, It shows me its direct
reports. Like wise if i’ll login with EmployeeD then it’ll show me only
EmployeeH. If i’ll login with EmployeeB account then it’ll only show me
EmployeeE.

But i want it like this:-

If i’ll login with EmployeeA, it should show me all.
If i’ll login with EmployeeB, it should show me E & F.

Currently i am trying it like this:-

def get_all_reports(employee)
direct_reports = employee.managed_employees
@all_reports += direct_reports
direct_reports.each do |report|
get_all_reports(report)
end
@all_reports
end

My logic is fine, i think but do not know where i am doing mistake …
The error coming out is stack level too deep…

I hope you people got me right and help me for sure…

On Fri, Mar 19, 2010 at 12:03 AM, Hemant B.
[email protected]wrote:

                 EmployeeF

end
You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected][email protected]
.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.

Perhaps you have a loop.

EmployeeX manages EmployeeY and EmployeeY manages EmployeeX

Hi josh,

Thanks for a quickie, But how to get rid of this loop …

Josh C. wrote:

Perhaps you have a loop.

EmployeeX manages EmployeeY and EmployeeY manages EmployeeX

On 19 March 2010 06:39, Hemant B. [email protected] wrote:

Hi josh,

Thanks for a quickie, But how to get rid of this loop …

Josh C. wrote:

Perhaps you have a loop.

EmployeeX manages EmployeeY and EmployeeY manages EmployeeX

Remove it from the database and put in validations to stop it happening
again.
The infinite recursion could also be caused by an employee managing
himself.

Colin

Thanks colin.

Resolved it as well. Cheers … !!

Colin L. wrote:

Remove it from the database and put in validations to stop it happening
again.
The infinite recursion could also be caused by an employee managing
himself.

Colin