Esempio n. 1
0
    def obj_get_list(self, bundle, **kwargs):
        custom_fields = []
        domain = bundle.request.GET.get('domain')
        case_type = bundle.request.GET.get('case_type')
        create = bundle.request.GET.get('create')

        if not domain or not case_type:
            return []

        custom_fields.append(
            CustomField(
                dict(type='unicode', key='case_name', label='Case name')))

        if create == "False":
            custom_fields.append(
                CustomField(
                    dict(type='unicode', key='case_id', label='Case ID')))

        for prop in get_all_case_properties_for_case_type(domain, case_type):
            custom_fields.append(
                CustomField(
                    dict(type='unicode',
                         key=prop,
                         label=self._build_label(prop))))

        return custom_fields
Esempio n. 2
0
    def obj_get_list(self, bundle, **kwargs):

        custom_fields = []
        domain = bundle.request.GET.get('domain')
        case_type = bundle.request.GET.get('case_type')

        if not domain or not case_type:
            return []

        props = get_all_case_properties_for_case_type(domain, case_type)
        for prop in props:
            custom_fields.append(CustomField(
                dict(
                    type='unicode',
                    key="properties__" + prop,
                    label=self._build_label(prop)
                )
            ))
        for case_prop, case_prop_zapier_name in six.iteritems(CASE_PROPERTIES):
            custom_fields.append(CustomField(
                dict(
                    type='unicode',
                    key=case_prop,
                    label=case_prop_zapier_name
                )
            ))

        return custom_fields
Esempio n. 3
0
def get_suggested_case_fields(domain, case_type, exclude=None):
    exclude_fields = set(RESERVED_FIELDS) | set(exclude or [])

    special_field_specs = (field_spec for field_spec in get_special_fields(domain))

    dynamic_field_specs = (FieldSpec(field=field, show_in_menu=True)
                           for field in get_all_case_properties_for_case_type(domain, case_type))

    return _combine_field_specs(
        itertools.chain(special_field_specs, dynamic_field_specs),
        exclude_fields=exclude_fields
    )
Esempio n. 4
0
def get_suggested_case_fields(domain, case_type, exclude=None):
    exclude_fields = set(RESERVED_FIELDS) | set(exclude or [])

    special_field_specs = (field_spec
                           for field_spec in get_special_fields(domain))

    dynamic_field_specs = (
        FieldSpec(field=field, show_in_menu=True)
        for field in get_all_case_properties_for_case_type(domain, case_type))

    return _combine_field_specs(itertools.chain(special_field_specs,
                                                dynamic_field_specs),
                                exclude_fields=exclude_fields)
    def case_properties(self):
        if self.case_type is not None:
            case_properties = get_all_case_properties_for_case_type(
                self.domain, self.case_type
            )
            if self.current_value is not None:
                case_properties.append(self.current_value)
            case_properties = set(case_properties)
            final_properties = []
            for prop in case_properties:
                if prop == self.current_value:
                    final_properties.append(
                        self._fmt_result(prop, 'label-info', _("current"))
                    )
                elif prop not in self.excluded_types:
                    final_properties.append(
                        self._fmt_result(prop, 'label-default', self.case_type)
                    )
            return final_properties

        case_properties = get_flattened_case_properties(
            self.domain, include_parent_properties=False
        )
        property_to_types = {}
        for meta in case_properties:
            name = meta['name']

            if name in self.excluded_types:
                # skip case properties that are already added or reserved
                continue

            if name not in property_to_types:
                property_to_types[name] = []
            property_to_types[name].append(meta['case_type'])

        all_properties = []
        for name, case_types in property_to_types.items():
            if len(case_types) > 1:
                label = _("{num} cases".format(num=len(case_types)))
            else:
                label = case_types[0]
            all_properties.append(self._fmt_result(name, 'label-default', label))

        return all_properties
Esempio n. 6
0
def get_suggested_case_fields(domain, case_type, exclude=None):
    exclude_fields = set(RESERVED_FIELDS) | set(exclude or [])
    hints_dict = get_values_hints_dict(domain, case_type)
    deprecated_fields = get_deprecated_fields(domain, case_type)

    special_field_specs = (field_spec
                           for field_spec in get_special_fields(domain))

    dynamic_field_specs = (
        FieldSpec(field=field,
                  show_in_menu=True,
                  values_hints=hints_dict[field],
                  deprecated=field in deprecated_fields)
        for field in get_all_case_properties_for_case_type(
            domain, case_type, exclude_deprecated_properties=False))

    return _combine_field_specs(itertools.chain(special_field_specs,
                                                dynamic_field_specs),
                                exclude_fields=exclude_fields)
Esempio n. 7
0
    def obj_get_list(self, bundle, **kwargs):

        custom_fields = []
        domain = bundle.request.GET.get('domain')
        case_type = bundle.request.GET.get('case_type')

        if not domain or not case_type:
            return []

        props = get_all_case_properties_for_case_type(domain, case_type)
        for prop in props:
            custom_fields.append(
                CustomField(
                    dict(type='unicode',
                         key="properties__" + prop,
                         label=self._build_label(prop))))
        for case_prop, case_prop_zapier_name in CASE_PROPERTIES.items():
            custom_fields.append(
                CustomField(
                    dict(type='unicode',
                         key=case_prop,
                         label=case_prop_zapier_name)))

        return custom_fields
Esempio n. 8
0
    def obj_get_list(self, bundle, **kwargs):
        custom_fields = []
        domain = bundle.request.GET.get('domain')
        case_type = bundle.request.GET.get('case_type')
        create = bundle.request.GET.get('create')

        if not domain or not case_type:
            return []

        custom_fields.append(CustomField(
            dict(
                type='unicode',
                key='case_name',
                label='Case name'
            )
        ))

        if create == "False":
            custom_fields.append(CustomField(
                dict(
                    type='unicode',
                    key='case_id',
                    label='Case ID'
                )
            ))

        for prop in get_all_case_properties_for_case_type(domain, case_type):
            custom_fields.append(CustomField(
                dict(
                    type='unicode',
                    key=prop,
                    label=self._build_label(prop)
                )
            ))

        return custom_fields