I looked up the answer 
(http://stackoverflow.com/questions/6062655/remove-or-hide-default-permissions-from-django),
 
it worked, but suddenly it stopped working, i am not sure, what i did or if 
I reinstaled something. I have this solution:

from django.contrib import admin
from django.contrib.auth.models import Permission
from django.contrib.auth.models import User, Group
from django.contrib.auth.admin import GroupAdmin, UserAdmin
from django.contrib.auth.forms import UserChangeForm

#
# In the models listed below standard permissions "add_model", 
"change_model"
# and "delete_model" will be created by syncdb, but hidden from admin 
interface.
# This is convenient in case you use your own set of permissions so the list
# in the admin interface wont be confusing.
# Feel free to add your models here. The first element is the app name 
(this is
# the directory your app is in) and the second element is the name of your 
model
# from models.py module of your app (Note: both names must be lowercased).
#
MODELS_TO_HIDE_STD_PERMISSIONS = (
    ("auth", "permission"),
    ("auth", "group"),
    ("auth", "user"),
    ("contenttypes", "contenttype"),
    ("sessions", "session"),
    ("sites", "site"),
    ("admin", "logentry"),
    ("mainpage","novinkymodel"),
    ("mainpage", "komentarknovinkymodel"),
    ("mainpage", "clovek"),
    ("mainpage", "ucitel"),
    ("mainpage", "trida"),
    ("mainpage", "predmety"),
    ("mainpage", "administrator"),
    ("mainpage", "student"),
    ("mainpage", "rodic"),
    ("kalendar", "udalost"),
    ("fotogalerie", "slozka"),
    ("fotogalerie", "fotka"),
    ("south", "migrationhistory")
    )

def _get_corrected_permissions():
    perms = Permission.objects.all()
    for app_name, model_name in MODELS_TO_HIDE_STD_PERMISSIONS:
        perms = perms.exclude(content_type__app_label=app_name, 
codename='add_%s' % model_name)
        perms = perms.exclude(content_type__app_label=app_name, 
codename='change_%s' % model_name)
        perms = perms.exclude(content_type__app_label=app_name, 
codename='delete_%s' % model_name)
    return perms

class MyGroupAdminForm(forms.ModelForm):

    class Meta:
        model = Group

    permissions = forms.ModelMultipleChoiceField(
        _get_corrected_permissions(),
        widget=admin.widgets.FilteredSelectMultiple(('permissions'), False),
        help_text = 'Hold down "Control", or "Command" on a Mac, to select 
more than one.'
    )

class MyGroupAdmin(GroupAdmin):

    form = MyGroupAdminForm

class MyUserChangeForm(UserChangeForm):

    user_permissions = forms.ModelMultipleChoiceField(
        _get_corrected_permissions(),
        widget=admin.widgets.FilteredSelectMultiple(('user_permissions'), 
False),
        help_text = 'Hold down "Control", or "Command" on a Mac, to select 
more than one.'
    )

class MyUserAdmin(UserAdmin):

    form = MyUserChangeForm

admin.site.unregister(Group)
admin.site.register(Group, MyGroupAdmin)
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)



I am using Django 1.6.4 and Python 3.4. This code is in my app and file 
admin.py

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/2f5c18da-d3ef-45d9-9e30-fb4f8837fb47%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to