def editable_udf_models(self): from treemap.plugin import feature_enabled from treemap.models import Tree, Plot from treemap.udf import UDFModel from treemap.util import leaf_models_of_class gsi_enabled = feature_enabled(self, 'green_infrastructure') core_models = {Tree, Plot} gsi_models = {clz for clz in leaf_models_of_class(UDFModel) if gsi_enabled and clz.__name__ in self.map_feature_types and getattr(clz, 'is_editable', False) and clz not in core_models} all_models = core_models | gsi_models return {'core': core_models, 'gsi': gsi_models, 'all': all_models}
def feature_enabled(self, feature): # Delayed import to prevent circular imports from treemap.plugin import feature_enabled return feature_enabled(self, feature)
urlpatterns = patterns( '', url(r'^$', list_imports_endpoint, name='list_imports'), url(r'^refresh$', refresh_imports_endpoint, name='refresh_imports'), url(r'^start_import$', start_import_endpoint, name='start_import'), url(r'^status/%s/' % _import_api_pattern, show_import_status_endpoint, name='status'), url(r'^status_panel/%s/' % _import_api_pattern, show_status_panel_endpoint, name='status_panel'), url(r'^species/solve(?P<import_event_id>\d+)/(?P<row_index>\d+)/$', solve_endpoint, name='solve'), url(r'^update/%s/(?P<row_id>\d+)/$' % _type_pattern, update_row_endpoint, name='update_row'), url(r'^commit/%s/$' % _import_api_pattern, commit_endpoint, name='commit'), url(r'^export/species/all', export_all_species, name='export_all_species'), url(r'^export/species/(?P<import_event_id>\d+)$', export_single_species_import, name='export_single_species_import'), url(r'^export/tree/(?P<import_event_id>\d+)$', export_single_tree_import, name='export_single_tree_import'), # API url(r'^api/merge$', merge_species, name='merge'), url(r'^api/counts', counts, name='counts'), url(r'^api/species/similar', find_similar_species, name='find_similar_species'), ) if not feature_enabled(None, 'bulk_upload'): urlpatterns = patterns('')