Exemple #1
0
    def get(self, payroll_user=None, week=None):
        start_date = utils.get_last_monday(datetime.date.today())
        end_date = start_date + datetime.timedelta(days=6)
        if week:
            start_date = utils.get_last_monday(
                datetime.date.fromtimestamp(float(week)))
            end_date = start_date + datetime.timedelta(days=6)
            records = TimeRecord.get_current_week(
                payroll_user or self.user.username, start_date)
        else:
            records = TimeRecord.get_current_week(payroll_user
                                                  or self.user.username)
        if not records:
            return abort(404)

        next_date = start_date + datetime.timedelta(days=7)
        prev_date = start_date - datetime.timedelta(days=7)
        context = {
            'nav': 'payroll',
            'user': self.user,
            'table_rows': records,
            'payroll_username': payroll_user or self.user.username,
            'start_date': start_date,
            'end_date': end_date,
            'prev_timestamp': time.mktime(prev_date.timetuple()),
            'next_timestamp': time.mktime(next_date.timetuple()),
        }
        return render_template('payroll.html', **context)
Exemple #2
0
    def get(self, payroll_user=None, week=None):
        if self.user is not None:
          start_date = utils.get_last_monday(datetime.date.today())
          end_date = start_date + datetime.timedelta(days=6)
          if week:
              start_date = utils.get_last_monday(datetime.date.fromtimestamp(float(week)))
              end_date = start_date + datetime.timedelta(days=6)
              records = TimeRecord.get_current_week(payroll_user or self.user.username, start_date)
          else:
              records = TimeRecord.get_current_week(payroll_user or self.user.username)
          if not records:
              return abort(404)

          next_date = start_date + datetime.timedelta(days=7)
          prev_date = start_date - datetime.timedelta(days=7)
          context = {
              'nav':  'payroll',
              'user': self.user,
              'table_rows': records,
              'payroll_username': payroll_user or self.user.username,
              'start_date': start_date,
              'end_date': end_date,
              'prev_timestamp': time.mktime(prev_date.timetuple()),
              'next_timestamp': time.mktime(next_date.timetuple()),
          }
          return render_template('payroll.html', **context)
        else:
	  flash("Please log in before accessing the payroll system")
	  return render_template('index.html')
Exemple #3
0
    def get(self, payroll_user=None, week=None):
        # check logged in
        if not self.user or not self.user.username or not self.user.is_authenticated:
            return redirect('/logout?byebye=yes')

        # if a payroll user is specified, the logged in user must be an approver (or it must be thier own account)
        if payroll_user:
            payroll_user = crypto.encrypt(payroll_user)
            if not self.user.is_approver:
                if not payroll_user == self.user.username:
                    return redirect('/logout?byebye=yes')

        # sanitize input for week parameter
        if week:
            if not utils.sanitize_number_input(week):
                return redirect('/logout?byebye=yes')

        start_date = utils.get_last_monday(datetime.date.today())
        end_date = start_date + datetime.timedelta(days=6)
        if week:
            start_date = utils.get_last_monday(datetime.date.fromtimestamp(float(week)))
            end_date = start_date + datetime.timedelta(days=6)
            records = TimeRecord.get_current_week(payroll_user or self.user.username, start_date)
        else:
            records = TimeRecord.get_current_week(payroll_user or self.user.username)
        if not records:
            return abort(404)

        next_date = start_date + datetime.timedelta(days=7)
        prev_date = start_date - datetime.timedelta(days=7)
        context = {
            'user': self.user,
            'table_rows': records,
            'payroll_username' : payroll_user or self.user.username,
            'start_date': start_date,
            'end_date': end_date,
            'prev_timestamp': time.mktime(prev_date.timetuple()),
            'next_timestamp': time.mktime(next_date.timetuple()),
        }
        return render_template('payroll.html', **context)