Exemple #1
0
    def get(self):
        manager = self.request.environ['current_user']

        user_departments_keys = []

        prs = PerformanceReview.all().filter('manager',
                                             manager)

        for pr in prs:
            if pr.period.is_open:
                if not pr.employee.dept.key() in user_departments_keys:
                    user_departments_keys.append(pr.employee.dept.key())

        user_departments = map(lambda x: Dept.get(x), user_departments_keys)

        archived_periods = PerformanceReviewPeriod.gql("WHERE is_open = false ORDER BY start_date DESC").fetch(1000)

        def manager_has_pr_in_period(period):
            for pr in period.performance_reviews:
                if pr.manager.email == manager.email:
                    return True

        archived_periods = filter(manager_has_pr_in_period, archived_periods)

        comments = CommentToForm.gql("WHERE manager = :manager", manager = manager).fetch(1000)
        comments = filter(lambda x: x.pr.period.is_open, comments)

        template_values = {"departments": user_departments,
                           "archived_periods": archived_periods,
                           "comments": comments
                           }

        path = 'templates/api.manager.home.html'
        self.response.out.write(template.render(path, template_values))
Exemple #2
0
    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))