예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 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