Ejemplo n.º 1
0
def _process_log_subreport(domain, xform):
    form_data = xform.form_data
    logs = _get_logs(form_data, 'log_subreport', 'log')
    logged_in_username = None
    logged_in_user_id = None
    to_save = []
    for i, log in enumerate(logs):
        if not log:
            continue
        if log["type"] == 'login':
            # j2me log = user_id_prefix-username
            logged_in_username = log["msg"].split('-')[1]
            cc_username = format_username(logged_in_username, domain)
            logged_in_user_id = get_user_id_by_username(cc_username)
        elif log["type"] == 'user' and log["msg"][:5] == 'login':
            # android log = login|username|user_id
            msg_split = log["msg"].split('|')
            logged_in_username = msg_split[1]
            logged_in_user_id = msg_split[2]

        to_save.append(DeviceReportEntry(
            xform_id=xform.form_id,
            i=i,
            domain=domain,
            type=log["type"],
            msg=log["msg"],
            # must accept either date or datetime string
            date=log["@date"],
            server_date=xform.received_on,
            app_version=form_data.get('app_version'),
            device_id=form_data.get('device_id'),
            username=logged_in_username,
            user_id=logged_in_user_id,
        ))
    DeviceReportEntry.objects.bulk_create(to_save)
Ejemplo n.º 2
0
def _get_user_info_from_log(domain, log):
    logged_in_username = None
    logged_in_user_id = None
    if log["type"] == 'login':
        # j2me log = user_id_prefix-username
        logged_in_username = log["msg"].split('-')[1]
        cc_username = format_username(logged_in_username, domain)
        logged_in_user_id = get_user_id_by_username(cc_username)
    elif log["type"] == 'user' and log["msg"][:5] == 'login':
        # android log = login|username|user_id
        msg_split = log["msg"].split('|')
        logged_in_username = msg_split[1]
        logged_in_user_id = msg_split[2]

    return logged_in_username, logged_in_user_id
Ejemplo n.º 3
0
def _get_user_info_from_log(domain, log):
    logged_in_username = None
    logged_in_user_id = None
    if log["type"] == 'login':
        # j2me log = user_id_prefix-username
        logged_in_username = log["msg"].split('-')[1]
        cc_username = format_username(logged_in_username, domain)
        logged_in_user_id = get_user_id_by_username(cc_username)
    elif log["type"] == 'user' and log["msg"][:5] == 'login':
        # android log = login|username|user_id
        msg_split = log["msg"].split('|')
        logged_in_username = msg_split[1]
        logged_in_user_id = msg_split[2]

    return logged_in_username, logged_in_user_id
Ejemplo n.º 4
0
def _process_log_subreport(domain, xform):
    form_data = xform.form_data
    logs = _get_logs(form_data, 'log_subreport', 'log')
    logged_in_username = None
    logged_in_user_id = None
    to_save = []
    for i, log in enumerate(logs):
        if not log:
            continue
        if log["type"] == 'login':
            # j2me log = user_id_prefix-username
            logged_in_username = log["msg"].split('-')[1]
            cc_username = format_username(logged_in_username, domain)
            logged_in_user_id = get_user_id_by_username(cc_username)
        elif log["type"] == 'user' and log["msg"][:5] == 'login':
            # android log = login|username|user_id
            msg_split = log["msg"].split('|')
            logged_in_username = msg_split[1]
            logged_in_user_id = msg_split[2]

        to_save.append(
            DeviceReportEntry(
                xform_id=xform.form_id,
                i=i,
                domain=domain,
                type=log["type"],
                msg=log["msg"],
                # must accept either date or datetime string
                date=log["@date"],
                server_date=xform.received_on,
                app_version=form_data.get('app_version'),
                device_id=form_data.get('device_id'),
                username=logged_in_username,
                user_id=logged_in_user_id,
            ))
    DeviceReportEntry.objects.bulk_create(to_save)
Ejemplo n.º 5
0
 def test_get_id_by_username(self):
     user_id = get_user_id_by_username(self.ccuser_1.username)
     self.assertEqual(user_id, self.ccuser_1._id)