#5447: has_{add,change,delete}_permission not working correctly
------------------------------+---------------------------------------------
   Reporter:  anonymous       |                Owner:  apollo13              
     Status:  reopened        |            Component:  Admin interface       
    Version:  newforms-admin  |           Resolution:                        
   Keywords:                  |                Stage:  Design decision needed
  Has_patch:  0               |           Needs_docs:  0                     
Needs_tests:  0               |   Needs_better_patch:  0                     
------------------------------+---------------------------------------------
Comment (by anonymous):

 Replying to [comment:7 apollo13]:
 
 > The add link works fine for me (no special options...)
 
 here i've made a little testcase (i'm using r6184)
 here the output of {{{$find . -type f -print  -exec cat {} \;}}}
 
 
 {{{
 ./settings.py
 # Django settings for testprj project.
 
 DEBUG = True
 TEMPLATE_DEBUG = DEBUG
 
 ADMINS = (
     # ('Your Name', '[EMAIL PROTECTED]'),
 )
 
 MANAGERS = ADMINS
 
 DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2',
 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
 DATABASE_NAME = '/tmp/test.db'             # Or path to database file if
 using sqlite3.
 DATABASE_USER = ''             # Not used with sqlite3.
 DATABASE_PASSWORD = ''         # Not used with sqlite3.
 DATABASE_HOST = ''             # Set to empty string for localhost. Not
 used with sqlite3.
 DATABASE_PORT = ''             # Set to empty string for default. Not used
 with sqlite3.
 
 # Local time zone for this installation. Choices can be found here:
 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
 # although not all choices may be avilable on all operating systems.
 # If running in a Windows environment this must be set to the same as your
 # system time zone.
 TIME_ZONE = 'America/Chicago'
 
 # Language code for this installation. All choices can be found here:
 # http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
 LANGUAGE_CODE = 'en-us'
 
 SITE_ID = 1
 
 # If you set this to False, Django will make some optimizations so as not
 # to load the internationalization machinery.
 USE_I18N = True
 
 # Absolute path to the directory that holds media.
 # Example: "/home/media/media.lawrence.com/"
 MEDIA_ROOT = ''
 
 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
 # trailing slash if there is a path component (optional in other cases).
 # Examples: "http://media.lawrence.com";, "http://example.com/media/";
 MEDIA_URL = ''
 
 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to
 use a
 # trailing slash.
 # Examples: "http://foo.com/media/";, "/media/".
 ADMIN_MEDIA_PREFIX = '/media/'
 
 # Make this unique, and don't share it with anybody.
 SECRET_KEY = 'o([EMAIL PROTECTED]@@[EMAIL PROTECTED])49vmb$3'
 
 # List of callables that know how to import templates from various
 sources.
 TEMPLATE_LOADERS = (
     'django.template.loaders.filesystem.load_template_source',
     'django.template.loaders.app_directories.load_template_source',
 #     'django.template.loaders.eggs.load_template_source',
 )
 
 MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.middleware.doc.XViewMiddleware',
 )
 
 ROOT_URLCONF = 'testprj.urls'
 
 TEMPLATE_DIRS = (
     # Put strings here, like "/home/html/django_templates" or
 "C:/www/django/templates".
     # Always use forward slashes, even on Windows.
     # Don't forget to use absolute paths, not relative paths.
 )
 
 INSTALLED_APPS = (
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.admin',
     'testprj.testapp'
 )
 ./manage.py
 #!/usr/bin/env python
 from django.core.management import execute_manager
 try:
     import settings # Assumed to be in the same directory.
 except ImportError:
     import sys
     sys.stderr.write("Error: Can't find the file 'settings.py' in the
 directory containing %r. It appears you've customized things.\nYou'll have
 to run django-admin.py, passing it your settings module.\n(If the file
 settings.py does indeed exist, it's causing an ImportError somehow.)\n" %
 __file__)
     sys.exit(1)
 
 if __name__ == "__main__":
     execute_manager(settings)
 ./urls.py
 from django.conf.urls.defaults import *
 
 # Uncomment this for admin:
 from django.contrib import admin
 
 urlpatterns = patterns('',
     # Example:
     # (r'^testprj/', include('testprj.foo.urls')),
 
     # Uncomment this for admin docs:
     #(r'^admin/doc/', include('django.contrib.admindocs.urls')),
 
     # Uncomment this for admin:
     ('^admin/(.*)', admin.site.root),
 )
 ./__init__.py
 ./testapp/__init__.py
 ./testapp/models.py
 from django.db import models
 from django.contrib import admin
 
 # Create your models here.
 class TestModel(models.Model):
     notes=models.TextField()
 
 class TestModelOptions(admin.ModelAdmin):
     def has_add_permission(self,req):
         return False
 
 admin.site.register(TestModel,TestModelOptions)
 ./testapp/views.py
 # Create your views here.
 
 }}}

-- 
Ticket URL: <http://code.djangoproject.com/ticket/5447#comment:8>
Django Code <http://code.djangoproject.com/>
The web framework for perfectionists with deadlines
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to