def test_unset_by_user(self):
     unset_practice_mode_configured_apps(self.domain, "user2")
     self.reset_apps()
     self.assertEqual(self.app1.practice_mobile_worker_id, None)
     self.assertEqual(self.app2.practice_mobile_worker_id, 'user1')
     self.assertEqual(self.app3.build_profiles['build1'].practice_mobile_worker_id, 'user1')
     self.assertEqual(self.app3.build_profiles['build2'].practice_mobile_worker_id, None)
Пример #2
0
def toggle_demo_mode(request, domain, user_id):
    user = CommCareUser.get_by_user_id(user_id, domain)
    demo_mode = request.POST.get('demo_mode', 'no')
    demo_mode = True if demo_mode == 'yes' else False

    edit_user_url = reverse(EditCommCareUserView.urlname, args=[domain, user_id])
    # handle bad POST param
    if user.is_demo_user == demo_mode:
        warning = _("User is already in Demo mode!") if user.is_demo_user else _("User is not in Demo mode!")
        messages.warning(request, warning)
        return HttpResponseRedirect(edit_user_url)

    if demo_mode:
        download = DownloadBase()
        res = turn_on_demo_mode_task.delay(user.get_id, domain)
        download.set_task(res)
        return HttpResponseRedirect(
            reverse(
                DemoRestoreStatusView.urlname,
                args=[domain, download.download_id, user_id]
            )
        )
    else:
        from corehq.apps.app_manager.views.utils import unset_practice_mode_configured_apps, \
            get_practice_mode_configured_apps
        # if the user is being used as practice user on any apps, check/ask for confirmation
        apps = get_practice_mode_configured_apps(domain)
        confirm_turn_off = True if (request.POST.get('confirm_turn_off', 'no')) == 'yes' else False
        if apps and not confirm_turn_off:
            return HttpResponseRedirect(reverse(ConfirmTurnOffDemoModeView.urlname, args=[domain, user_id]))

        turn_off_demo_mode(user)
        unset_practice_mode_configured_apps(domain, user.get_id)
        messages.success(request, _("Successfully turned off demo mode!"))
    return HttpResponseRedirect(edit_user_url)
Пример #3
0
 def test_unset_by_user(self):
     unset_practice_mode_configured_apps(self.domain, "user2")
     self.reset_apps()
     self.assertEqual(self.app1.practice_mobile_worker_id, None)
     self.assertEqual(self.app2.practice_mobile_worker_id, 'user1')
     self.assertEqual(self.app3.build_profiles['build1'].practice_mobile_worker_id, 'user1')
     self.assertEqual(self.app3.build_profiles['build2'].practice_mobile_worker_id, None)
Пример #4
0
def toggle_demo_mode(request, domain, user_id):
    user = CommCareUser.get_by_user_id(user_id, domain)
    demo_mode = request.POST.get('demo_mode', 'no')
    demo_mode = True if demo_mode == 'yes' else False

    edit_user_url = reverse(EditCommCareUserView.urlname, args=[domain, user_id])
    # handle bad POST param
    if user.is_demo_user == demo_mode:
        warning = _("User is already in Demo mode!") if user.is_demo_user else _("User is not in Demo mode!")
        messages.warning(request, warning)
        return HttpResponseRedirect(edit_user_url)

    if demo_mode:
        download = DownloadBase()
        res = turn_on_demo_mode_task.delay(user.get_id, domain)
        download.set_task(res)
        return HttpResponseRedirect(
            reverse(
                DemoRestoreStatusView.urlname,
                args=[domain, download.download_id, user_id]
            )
        )
    else:
        from corehq.apps.app_manager.views.utils import unset_practice_mode_configured_apps, \
            get_practice_mode_configured_apps
        # if the user is being used as practice user on any apps, check/ask for confirmation
        apps = get_practice_mode_configured_apps(domain)
        confirm_turn_off = True if (request.POST.get('confirm_turn_off', 'no')) == 'yes' else False
        if apps and not confirm_turn_off:
            return HttpResponseRedirect(reverse(ConfirmTurnOffDemoModeView.urlname, args=[domain, user_id]))

        turn_off_demo_mode(user)
        unset_practice_mode_configured_apps(domain, user.get_id)
        messages.success(request, _("Successfully turned off demo mode!"))
    return HttpResponseRedirect(edit_user_url)
Пример #5
0
 def response_practice_mobile_workers(project, new_plan_version):
     from corehq.apps.app_manager.views.utils import unset_practice_mode_configured_apps
     unset_practice_mode_configured_apps(project.name)
Пример #6
0
 def response_practice_mobile_workers(project, new_plan_version):
     from corehq.apps.app_manager.views.utils import unset_practice_mode_configured_apps
     unset_practice_mode_configured_apps(project.name)