コード例 #1
0
ファイル: options.py プロジェクト: mrc75/django-iadmin
 def add_view(self, request, form_url='', extra_context=None):
     context = self.get_context_data(**(extra_context or {} ))
     return DjangoModelAdmin.add_view(self, request, form_url, context)
コード例 #2
0
    extra_context['menu_option_types'] = MenuOption.MODEL_TYPE_CHOICES
    if option_type is not None:
      # Hack to detect if we need to specify the javascript url or not.
      try:
        reverse('admin:jsi18n')
      except NoReverseMatch, e:
        extra_context['jsurl'] = "../../../../jsi18n/"
      option_type = int(option_type)
      type = dict(MenuOption.MODEL_TYPE_CHOICES)[option_type]
      extra_context['crumb'] = _("Add %(name)s") % {'name':type}
      admin_class = self.fetch_admin_class(option_type)
      admin_instance = admin_class(MenuOption, self.admin_site)
      return admin_instance.add_view(request, form_url, extra_context)
    else:
      extra_context['default_form'] = True
      return ModelAdmin.add_view(self, request, form_url, extra_context)

  def change_view(self, request, object_id, extra_context=None):
    try:
      obj = self.queryset(request).get(pk=int(object_id))
      option_type = obj.option_type
    except (self.model.DoesNotExist, ValueError), e:
      option_type = None
    if extra_context is None:
      extra_context = {}
    extra_context['app_label'] = _("GDT Nav")
    extra_context['menu_option_types'] = MenuOption.MODEL_TYPE_CHOICES
    if option_type is not None:
      option_type = int(option_type)
      extra_context['crumb'] = obj.name
      admin_class = self.fetch_admin_class(option_type)