Beispiel #1
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))
Beispiel #2
0
    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))