Exemple #1
0
 def save_model(self, request, obj, form, change):
     """
     After saving the payrun we need to automatically
     get the records from Vista.
     """
     obj.save()
     if not change:
         from efms.utils import stateless_vista_query
         stateless_vista_query(request.user, obj.get_vista_pay_run)
Exemple #2
0
    def test_get_vista_pay_run(self):
        from efms.utils import stateless_vista_query
        run = PayRun(fy=13, pay_period=15, cp_nbr='015')
        stateless_vista_query(self.user, run.get_vista_pay_run)
        self.assertEqual(559, run.ien)
        self.assertEqual(39, PayRunRecord.objects.count())
        self.assertEqual(39, run.records.count())

        run = PayRun(fy=13, pay_period=15, cp_nbr='016')
        stateless_vista_query(self.user, run.get_vista_pay_run)
        self.assertEqual(559, run.ien)
        self.assertEqual(126, PayRunRecord.objects.count())
        self.assertEqual(87, run.records.count())

        run = PayRun(fy=13, pay_period=16, cp_nbr='015')
        stateless_vista_query(self.user, run.get_vista_pay_run)
        self.assertEqual(560, run.ien)
        self.assertEqual(165, PayRunRecord.objects.count())
        self.assertEqual(39, run.records.count())

        run = PayRun(fy=13, pay_period=16, cp_nbr='016')
        stateless_vista_query(self.user, run.get_vista_pay_run)
        self.assertEqual(560, run.ien)
        self.assertEqual(250, PayRunRecord.objects.count())
        self.assertEqual(85, run.records.count())
Exemple #3
0
 def test_get_fms_line_items(self):
     cp_nbr = '1382'
     fy = '12'
     qtr = '2'
     current_balances = [0.0, 0.0]
     from efms.utils import stateless_vista_query
     fms_line_items = stateless_vista_query(self.user, get_fms_line_items, cp_nbr, int(fy), int(qtr), current_balances)
     self.assertTrue(fms_line_items is not None)
Exemple #4
0
def report(request, cp_nbr, fy, qtr):
    if report_in_session(request, cp_nbr, fy, qtr):
        fms_line_items = request.session['RunningBalanceReport'].line_items
    else:
        # get the FMS line items
        current_balances = [0.0, 0.0]
        from efms.utils import stateless_vista_query
        fms_line_items = stateless_vista_query(request.user, get_fms_line_items, cp_nbr, int(fy), int(qtr), current_balances)

    # update our line items
    cp = ControlPoint.objects.get(slug='%s-%s' % (cp_nbr, fy))
    cp.update_line_items(fms_line_items)

    request.session['RunningBalanceReport'] = RunningBalanceReport(cp_nbr, fy, qtr, fms_line_items)
    # request.session.set_expiry(0)

    table = ReportLineItemTable(fms_line_items)
    RequestConfig(request, paginate={"per_page": 2000}).configure(table)
    header = '%s-%s-%s' % (fy, qtr, cp_nbr)
    context = {
        'header': header,
        'table': table,
        }
    return render(request, 'report.html', context)