def get(self): open_periods = PerformanceReviewPeriod.all().order("-start_date").filter('is_open', True).fetch(1000) closed_periods = PerformanceReviewPeriod.all().order("-start_date").filter('is_open', False).fetch(1000) for period in open_periods: period.register = 'disabled' period.delete = 'inline' period.departments = [] for pr in period.performance_reviews: if pr.period.is_open: if not pr.employee.dept.key() in period.departments: period.departments.append(pr.employee.dept.key()) period.departments = map(lambda x: Dept.get(x), period.departments) for pr in period.performance_reviews: if pr.manager_form or pr.employee_form: period.delete = 'none' for department in period.departments: department.prs = filter(lambda x: x.employee.dept.name == department.name, period.performance_reviews) for pr in department.prs: pr.register = 'disabled' if pr.manager_form: if pr.manager_form.status == 'submitted': department.register = '' pr.register = '' template_values = {'open_periods': open_periods, 'closed_periods': closed_periods} path = 'templates/hr_table.html' self.response.out.write(template.render(path, template_values))
def get(self, name): user = self.request.environ['current_user'] name = urllib.unquote(name).decode('utf-8') prs = PerformanceReview.all().filter('manager', user).order("-date").fetch(1000) def get_sub_prs(manager, prs): current_manager_prs = PerformanceReview.all().filter('manager', manager).order("-date").fetch(1000) prs.extend(current_manager_prs) for manager in manager.subs: get_sub_prs(manager, prs) return prs if user.edit_sub_reviews: prs = [] get_sub_prs(user, prs) periods = PerformanceReviewPeriod.all().filter('description', name).fetch(1000) for period in periods: period.prs = filter(lambda x: x.period.key() == period.key(), prs) template_values = {'name': name, 'periods': periods, 'current_user': user.email} path = 'templates/api.manager.periods.html' self.response.out.write(template.render(path, template_values))