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)
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())
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)
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)