def use_related_widget_where_appropriate(self, db_field, kwargs, formfield): if self.is_related_widget_appropriate(kwargs, formfield): request = kwargs.pop("request", None) related_modeladmin = self.admin_site._registry.get(db_field.rel.to) can_change_related = bool(related_modeladmin and related_modeladmin.has_change_permission(request)) can_delete_related = bool(related_modeladmin and related_modeladmin.has_delete_permission(request)) widget = RelatedFieldWidgetWrapper.from_contrib_wrapper( formfield.widget, can_change_related, can_delete_related ) formfield.widget = widget
def use_related_widget_where_appropriate(self, db_field, kwargs, formfield): if self.is_related_widget_appropriate(kwargs, formfield): request = kwargs.pop('request', None) related_modeladmin = self.admin_site._registry.get(db_field.rel.to) can_change_related = bool(related_modeladmin and related_modeladmin.has_change_permission(request)) can_delete_related = bool(related_modeladmin and related_modeladmin.has_delete_permission(request)) widget = RelatedFieldWidgetWrapper.from_contrib_wrapper(formfield.widget, can_change_related, can_delete_related) formfield.widget = widget
def use_related_widget_where_appropriate(self, db_field, kwargs, formfield): if self.is_related_widget_appropriate(kwargs, formfield): request = kwargs.pop('request', None) related_modeladmin = self.admin_site._registry.get(db_field.rel.to) can_change_related = bool(related_modeladmin and related_modeladmin.has_change_permission(request)) can_delete_related = bool(related_modeladmin and related_modeladmin.has_delete_permission(request)) # FIXME: # This is a hack to workaround github issue #748 # https://github.com/metashare/META-SHARE/issues/748 # There is probably a better way to fix it but this # will have to do for now until a cleaner solution is found if db_field.rel.to == distributionInfoType_model: can_delete_related = False # END FIXME widget = RelatedFieldWidgetWrapper.from_contrib_wrapper(formfield.widget, can_change_related, can_delete_related) formfield.widget = widget
def use_related_widget_where_appropriate(self, db_field, kwargs, formfield): if self.is_related_widget_appropriate(kwargs, formfield): request = kwargs.pop('request', None) related_modeladmin = self.admin_site._registry.get(db_field.rel.to) can_change_related = bool( related_modeladmin and related_modeladmin.has_change_permission(request)) can_delete_related = bool( related_modeladmin and related_modeladmin.has_delete_permission(request)) # FIXME: # This is a hack to workaround github issue #748 # https://github.com/metashare/META-SHARE/issues/748 # There is probably a better way to fix it but this # will have to do for now until a cleaner solution is found if db_field.rel.to == distributionInfoType_model: can_delete_related = False # END FIXME widget = RelatedFieldWidgetWrapper.from_contrib_wrapper( formfield.widget, can_change_related, can_delete_related) formfield.widget = widget