Exemplo n.º 1
0
 def _fill_base_template(self, log):
     from corehq.apps.receiverwrapper.util import (
         get_version_from_appversion_text,
         get_commcare_version_from_appversion_text,
     )
     template = (
         "[log_date={log_date}] "
         "[log_submission_date={log_submission_date}] "
         "[log_type={log_type}] "
         "[domain={domain}] "
         "[username={username}] "
         "[device_id={device_id}] "
         "[app_version={app_version}] "
         "[cc_version={cc_version}] "
         "[msg={msg}]"
     )
     appversion_text = self.xform.form_data.get('app_version')
     return template.format(
         log_date=log.get("@date"),
         log_submission_date=self.xform.received_on if self.xform.received_on else None,
         log_type=log.get("type"),
         domain=self.domain,
         username=self._get_user_info(log)[0],
         device_id=self.xform.form_data.get('device_id'),
         app_version=get_version_from_appversion_text(appversion_text),
         cc_version=get_commcare_version_from_appversion_text(appversion_text),
         msg=log["msg"],
     )
Exemplo n.º 2
0
 def commcare_version(self):
     from corehq.apps.receiverwrapper.util import get_commcare_version_from_appversion_text
     from distutils.version import LooseVersion
     version_text = get_commcare_version_from_appversion_text(
         self.appVersion)
     if version_text:
         return LooseVersion(version_text)
Exemplo n.º 3
0
 def _fill_base_template(self, log):
     from corehq.apps.receiverwrapper.util import (
         get_version_from_appversion_text,
         get_commcare_version_from_appversion_text,
     )
     template = ("[log_date={log_date}] "
                 "[log_submission_date={log_submission_date}] "
                 "[log_type={log_type}] "
                 "[domain={domain}] "
                 "[username={username}] "
                 "[device_id={device_id}] "
                 "[app_version={app_version}] "
                 "[cc_version={cc_version}] "
                 "[msg={msg}]")
     appversion_text = self.xform.form_data.get('app_version')
     return template.format(
         log_date=log.get("@date"),
         log_submission_date=self.xform.received_on
         if self.xform.received_on else None,
         log_type=log.get("type"),
         domain=self.domain,
         username=self._get_user_info(log)[0],
         device_id=self.xform.form_data.get('device_id'),
         app_version=get_version_from_appversion_text(appversion_text),
         cc_version=get_commcare_version_from_appversion_text(
             appversion_text),
         msg=log["msg"],
     )
Exemplo n.º 4
0
    def _create_row(self, log, matching_id, _device_users_by_xform, user_query, device_query):
        log_date = (ServerTime(log.date)
                    .user_time(self.timezone).ui_string())

        server_date = (ServerTime(log.server_date)
                       .user_time(self.timezone).ui_string())

        username = log.username
        username_fmt = self._username_fmt % {
            "url": "%s?%s=%s&%s" % (
                self.get_url(domain=self.domain),
                DeviceLogUsersFilter.slug,
                DeviceLogUsersFilter.value_to_param(username),
                user_query,
            ),
            "username": (
                username if username
                else '<span class="label label-info">Unknown</span>'
            )
        }

        device_users = _device_users_by_xform(log.xform_id)
        device_users_fmt = ', '.join([
            self._device_users_fmt % {
                "url": "%s?%s=%s&%s" % (self.get_url(domain=self.domain),
                                        DeviceLogUsersFilter.slug,
                                        device_username,
                                        user_query),
                "username": device_username,
            }
            for device_username in device_users
        ])

        log_tag = log.type or 'unknown'
        tag_classes = ["label"]
        if log_tag in self.tag_labels:
            tag_classes.append(self.tag_labels[log_tag])

        if len(tag_classes) == 1:
            tag_classes.append('label-info')

        log_tag_format = self._log_tag_fmt % {
            "url": "%s?goto=%s" % (self.get_url(domain=self.domain),
                                   html.escape(json.dumps(log.id))),
            "classes": " ".join(tag_classes),
            "text": log_tag,
            "extra_params": (' data-datatable-highlight-closest="tr"'
                             if log.id == matching_id else ''),
            "tooltip": "Show the surrounding 100 logs."
        }

        device = log.device_id
        device_fmt = self._device_id_fmt % {
            "url": "%s?%s=%s&%s" % (self.get_url(domain=self.domain),
                                    DeviceLogDevicesFilter.slug,
                                    device,
                                    device_query),
            "device": device
        }

        app_version = get_version_from_appversion_text(log.app_version) or "unknown"
        commcare_version = get_commcare_version_from_appversion_text(log.app_version) or "unknown"
        return [log_date, server_date, log_tag_format, username_fmt,
                device_users_fmt, device_fmt, log.msg, app_version, commcare_version]
Exemplo n.º 5
0
    def _create_row(self, log, matching_id, _device_users_by_xform, user_query, device_query):
        log_date = (ServerTime(log.date)
                    .user_time(self.timezone).ui_string())

        server_date = (ServerTime(log.server_date)
                       .user_time(self.timezone).ui_string())

        username = log.username
        username_fmt = self._username_fmt % {
            "url": "%s?%s=%s&%s" % (
                self.get_url(domain=self.domain),
                DeviceLogUsersFilter.slug,
                DeviceLogUsersFilter.value_to_param(username),
                user_query,
            ),
            "username": (
                username if username
                else '<span class="label label-info">Unknown</span>'
            )
        }

        device_users = _device_users_by_xform(log.xform_id)
        device_users_fmt = ', '.join([
            self._device_users_fmt % {
                "url": "%s?%s=%s&%s" % (self.get_url(domain=self.domain),
                                        DeviceLogUsersFilter.slug,
                                        device_username,
                                        user_query),
                "username": device_username,
            }
            for device_username in device_users
        ])

        log_tag = log.type or 'unknown'
        tag_classes = ["label"]
        if log_tag in self.tag_labels:
            tag_classes.append(self.tag_labels[log_tag])

        if len(tag_classes) == 1:
            tag_classes.append('label-info')

        log_tag_format = self._log_tag_fmt % {
            "url": "%s?goto=%s" % (self.get_url(domain=self.domain),
                                   html.escape(json.dumps(log.id))),
            "classes": " ".join(tag_classes),
            "text": log_tag,
            "extra_params": (' data-datatable-highlight-closest="tr"'
                             if log.id == matching_id else ''),
            "tooltip": "Show the surrounding 100 logs."
        }

        device = log.device_id
        device_fmt = self._device_id_fmt % {
            "url": "%s?%s=%s&%s" % (self.get_url(domain=self.domain),
                                    DeviceLogDevicesFilter.slug,
                                    device,
                                    device_query),
            "device": device
        }

        app_version = get_version_from_appversion_text(log.app_version) or "unknown"
        commcare_version = get_commcare_version_from_appversion_text(log.app_version) or "unknown"
        return [log_date, server_date, log_tag_format, username_fmt,
                device_users_fmt, device_fmt, log.msg, app_version, commcare_version]
Exemplo n.º 6
0
 def commcare_version(self):
     from corehq.apps.receiverwrapper.util import get_commcare_version_from_appversion_text
     from distutils.version import LooseVersion
     version_text = get_commcare_version_from_appversion_text(self.appVersion)
     if version_text:
         return LooseVersion(version_text)