def __load(self, months): employees = Employee.get_all() assignments = Assignment.get_for_timeframe(months[0], months[-1]) employee_assignments = {} for assignment in assignments: if assignment['employee_id'] not in employee_assignments: employee_assignments[assignment['employee_id']] = [] employee_assignments[assignment['employee_id']].append(assignment) for employee in employees: row = EffortRow(employee) for month in months: cell = EffortCell(month) if employee['id'] not in employee_assignments: continue for emp_asn in employee_assignments[employee['id']]: if int(month) < emp_asn['first_month'] or int(month) > emp_asn['last_month']: continue cell.total += emp_asn['effort'] cell.percent_efforts.append( PercentEffort(emp_asn['project'], emp_asn['effort']) ) row.effort_cells.append(cell) if row.effort_cells: self.effort_rows.append(row)
def __load(self, months): employees = Employee.get_all() assignments = Assignment.get_for_timeframe(months[0], months[-1]) employee_assignments = {} for assignment in assignments: if assignment['employee_id'] not in employee_assignments: employee_assignments[assignment['employee_id']] = [] employee_assignments[assignment['employee_id']].append(assignment) for employee in employees: row = EffortRow(employee) for month in months: cell = EffortCell(month) if employee['id'] not in employee_assignments: continue for emp_asn in employee_assignments[employee['id']]: if int(month) < emp_asn['first_month'] or int( month) > emp_asn['last_month']: continue cell.total += emp_asn['effort'] cell.percent_efforts.append( PercentEffort(emp_asn['project'], emp_asn['effort'])) row.effort_cells.append(cell) if row.effort_cells: self.effort_rows.append(row)