def _get_custom_icon_app_locale_and_value(custom_icon_form, custom_icon_text, form=None, module=None): if form: return id_strings.form_custom_icon_locale( form, custom_icon_form), custom_icon_text elif module: return id_strings.module_custom_icon_locale( module, custom_icon_form), custom_icon_text
def _get_custom_icon_app_locale_and_value(custom_icon_form, custom_icon_text, form=None, module=None): if form: return id_strings.form_custom_icon_locale(form, custom_icon_form), custom_icon_text elif module: return id_strings.module_custom_icon_locale(module, custom_icon_form), custom_icon_text
def entry_for_module(self, module): # avoid circular dependency from corehq.apps.app_manager.models import Module, AdvancedModule results = [] for form in module.get_suite_forms(): e = Entry() e.form = form.xmlns # Ideally all of this version check should happen in Command/Display class if self.app.enable_localized_menu_media: form_custom_icon = form.custom_icon e.command = LocalizedCommand( id=id_strings.form_command(form, module), menu_locale_id=id_strings.form_locale(form), media_image=bool(len(form.all_image_paths())), media_audio=bool(len(form.all_audio_paths())), image_locale_id=id_strings.form_icon_locale(form), audio_locale_id=id_strings.form_audio_locale(form), custom_icon_locale_id=(id_strings.form_custom_icon_locale(form, form_custom_icon.form) if form_custom_icon and not form_custom_icon.xpath else None), custom_icon_form=(form_custom_icon.form if form_custom_icon else None), custom_icon_xpath=(form_custom_icon.xpath if form_custom_icon and form_custom_icon.xpath else None), ) else: e.command = Command( id=id_strings.form_command(form, module), locale_id=id_strings.form_locale(form), media_image=form.default_media_image, media_audio=form.default_media_audio, ) config_entry = { 'module_form': self.configure_entry_module_form, 'advanced_form': self.configure_entry_advanced_form, 'shadow_form': self.configure_entry_advanced_form, }[form.form_type] config_entry(module, e, form) if form.uses_usercase(): EntriesHelper.add_usercase_id_assertion(e) if ( self.app.commtrack_enabled and session_var('supply_point_id') in getattr(form, 'source', "") ): from corehq.apps.app_manager.models import AUTO_SELECT_LOCATION datum, assertions = EntriesHelper.get_userdata_autoselect( 'commtrack-supply-point', 'supply_point_id', AUTO_SELECT_LOCATION, ) e.datums.append(datum) e.assertions.extend(assertions) results.append(e) if hasattr(module, 'case_list') and module.case_list.show: e = Entry() if self.app.enable_localized_menu_media: e.command = LocalizedCommand( id=id_strings.case_list_command(module), menu_locale_id=id_strings.case_list_locale(module), media_image=bool(len(module.case_list.all_image_paths())), media_audio=bool(len(module.case_list.all_audio_paths())), image_locale_id=id_strings.case_list_icon_locale(module), audio_locale_id=id_strings.case_list_audio_locale(module), ) else: e.command = Command( id=id_strings.case_list_command(module), locale_id=id_strings.case_list_locale(module), media_image=module.case_list.default_media_image, media_audio=module.case_list.default_media_audio, ) if isinstance(module, Module): for datum_meta in self.get_case_datums_basic_module(module): e.datums.append(datum_meta.datum) elif isinstance(module, AdvancedModule): detail_inline = self.get_detail_inline_attr(module, module, "case_short") detail_confirm = None if not detail_inline: detail_confirm = self.details_helper.get_detail_id_safe(module, 'case_long') e.datums.append(SessionDatum( id='case_id_case_%s' % module.case_type, nodeset=(EntriesHelper.get_nodeset_xpath(module.case_type)), value="./@case_id", detail_select=self.details_helper.get_detail_id_safe(module, 'case_short'), detail_confirm=detail_confirm, detail_persistent=self.get_detail_persistent_attr(module, module, "case_short"), detail_inline=detail_inline, autoselect=module.auto_select_case, )) if self.app.commtrack_enabled: e.datums.append(SessionDatum( id='product_id', nodeset=ProductInstanceXpath().instance(), value="./@id", detail_select=self.details_helper.get_detail_id_safe(module, 'product_short') )) results.append(e) for entry in module.get_custom_entries(): results.append(entry) return results
def entry_for_module(self, module): # avoid circular dependency from corehq.apps.app_manager.models import Module, AdvancedModule results = [] for form in module.get_suite_forms(): e = Entry() e.form = form.xmlns # Ideally all of this version check should happen in Command/Display class if self.app.enable_localized_menu_media: form_custom_icon = form.custom_icon e.command = LocalizedCommand( id=id_strings.form_command(form, module), menu_locale_id=id_strings.form_locale(form), media_image=bool(len(form.all_image_paths())), media_audio=bool(len(form.all_audio_paths())), image_locale_id=id_strings.form_icon_locale(form), audio_locale_id=id_strings.form_audio_locale(form), custom_icon_locale_id=(id_strings.form_custom_icon_locale(form, form_custom_icon.form) if form_custom_icon and not form_custom_icon.xpath else None), custom_icon_form=(form_custom_icon.form if form_custom_icon else None), custom_icon_xpath=(form_custom_icon.xpath if form_custom_icon and form_custom_icon.xpath else None), ) else: e.command = Command( id=id_strings.form_command(form, module), locale_id=id_strings.form_locale(form), media_image=form.default_media_image, media_audio=form.default_media_audio, ) config_entry = { 'module_form': self.configure_entry_module_form, 'advanced_form': self.configure_entry_advanced_form, 'shadow_form': self.configure_entry_advanced_form, }[form.form_type] config_entry(module, e, form) if form.uses_usercase(): EntriesHelper.add_usercase_id_assertion(e) EntriesHelper.add_custom_assertions(e, form) if ( self.app.commtrack_enabled and session_var('supply_point_id') in getattr(form, 'source', "") ): from corehq.apps.app_manager.models import AUTO_SELECT_LOCATION datum, assertions = EntriesHelper.get_userdata_autoselect( 'commtrack-supply-point', 'supply_point_id', AUTO_SELECT_LOCATION, ) e.datums.append(datum) e.assertions.extend(assertions) results.append(e) if hasattr(module, 'case_list') and module.case_list.show: e = Entry() if self.app.enable_localized_menu_media: e.command = LocalizedCommand( id=id_strings.case_list_command(module), menu_locale_id=id_strings.case_list_locale(module), media_image=bool(len(module.case_list.all_image_paths())), media_audio=bool(len(module.case_list.all_audio_paths())), image_locale_id=id_strings.case_list_icon_locale(module), audio_locale_id=id_strings.case_list_audio_locale(module), ) else: e.command = Command( id=id_strings.case_list_command(module), locale_id=id_strings.case_list_locale(module), media_image=module.case_list.default_media_image, media_audio=module.case_list.default_media_audio, ) if isinstance(module, Module): for datum_meta in self.get_case_datums_basic_module(module): e.datums.append(datum_meta.datum) elif isinstance(module, AdvancedModule): detail_inline = self.get_detail_inline_attr(module, module, "case_short") detail_confirm = None if not detail_inline: detail_confirm = self.details_helper.get_detail_id_safe(module, 'case_long') e.datums.append(SessionDatum( id='case_id_case_%s' % module.case_type, nodeset=(EntriesHelper.get_nodeset_xpath(module.case_type)), value="./@case_id", detail_select=self.details_helper.get_detail_id_safe(module, 'case_short'), detail_confirm=detail_confirm, detail_persistent=self.get_detail_persistent_attr(module, module, "case_short"), detail_inline=detail_inline, autoselect=module.auto_select_case, )) if self.app.commtrack_enabled: e.datums.append(SessionDatum( id='product_id', nodeset=ProductInstanceXpath().instance(), value="./@id", detail_select=self.details_helper.get_detail_id_safe(module, 'product_short') )) results.append(e) for entry in module.get_custom_entries(): results.append(entry) return results