def get_transition_url(self, leave, user):
        ctx = user_wf_info_as_dict(leave, user)

        transitions = ctx["transitions"]
        transition = transitions[0]
        transition_url = transition.get_app_url(ctx["task"])
        return transition_url
Ejemplo n.º 2
0
    def test_user_wf_info_as_dict(self):
        leave = self.leave
        leave.submit_process()

        info = user_wf_info_as_dict(leave, self.users['tom'])
        self.assertIsNotNone(info['task'])
        self.assertIsNotNone(info['object'])
        self.assertFalse(info['can_give_up'])
        self.assertEqual(info['wf_code'], 'leave')

        info = user_wf_info_as_dict(leave, self.users['owner'])
        self.assertIsNone(info['task'])
        self.assertTrue(info['can_give_up'])

        info = user_wf_info_as_dict(leave, self.users['vicalloy'])
        self.assertIsNone(info['task'])
    def test_user_wf_info_as_dict(self):
        leave = self.leave
        leave.submit_process()

        info = user_wf_info_as_dict(leave, self.users["tom"])
        self.assertIsNotNone(info["task"])
        self.assertIsNotNone(info["object"])
        self.assertFalse(info["can_give_up"])
        self.assertEqual(info["wf_code"], "leave")

        info = user_wf_info_as_dict(leave, self.users["owner"])
        self.assertIsNone(info["task"])
        self.assertTrue(info["can_give_up"])

        info = user_wf_info_as_dict(leave, self.users["vicalloy"])
        self.assertIsNone(info["task"])
    def setUp(self):
        super(ViewTests, self).setUp()
        self.leave.submit_process()

        leave = self.leave
        ctx = user_wf_info_as_dict(leave, self.users["tom"])

        transitions = ctx["transitions"]
        transition = transitions[0]
        self.transition_url = transition.get_app_url(ctx["task"])

        self.task = ctx["task"]

        self.client.login(username="******", password="******")
    def test_batch_reject(self):
        url = reverse("wf_batch_reject")
        ctx = user_wf_info_as_dict(self.leave, self.users["tom"])
        data = {
            "wi": [ctx["task"].pk, 1, 2, 3],
        }
        resp = self.client.post(url, data)
        self.assertEqual(resp.status_code, 200)

        data["do_submit"] = "submit"
        resp = self.client.post(url, data)
        self.assertRedirects(resp, "/wf/todo/")
        leave = Leave.objects.get(pk=self.leave.pk)
        self.assertEqual("Rejected", leave.pinstance.cur_node.name)
Ejemplo n.º 6
0
    def setUp(self):
        super(ViewTests, self).setUp()
        self.leave.submit_process()

        leave = self.leave
        ctx = user_wf_info_as_dict(leave, self.users['tom'])

        transitions = ctx['transitions']
        transition = transitions[0]
        self.transition_url = transition.get_app_url(ctx['task'])

        self.task = ctx['task']

        self.client.login(username='******', password='******')
Ejemplo n.º 7
0
    def test_batch_reject(self):
        url = reverse('wf_batch_reject')
        ctx = user_wf_info_as_dict(self.leave, self.users['tom'])
        data = {
            'wi': [ctx['task'].pk, 1, 2, 3],
        }
        resp = self.client.post(url, data)
        self.assertEqual(resp.status_code, 200)

        data['do_submit'] = 'submit'
        resp = self.client.post(url, data)
        self.assertRedirects(resp, '/wf/todo/')
        leave = Leave.objects.get(pk=self.leave.pk)
        self.assertEqual('Rejected', leave.pinstance.cur_node.name)