Django

Code

Changeset 3518

Show
Ignore:
Timestamp:
08/02/06 10:47:11 (2 years ago)
Author:
clong
Message:

[per-object-permissions] Renamed the attribute in RLPs to be model instead of type

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/per-object-permissions/django/contrib/admin/row_level_perm_manipulator.py

    r3486 r3518  
    3333        owner_ct = ContentType.objects.get_for_model(owner)     
    3434 
    35         model_ct = rlp.type_ct 
    36         model = model_ct.get_object_for_this_type (pk=rlp.type_id) 
     35        model_ct = rlp.model_ct 
     36        model = model_ct.get_object_for_this_type (pk=rlp.model_id) 
    3737         
    3838        perm = Permission.objects.get(pk=new_data['perm']) 
    3939         
    4040         
    41         field_name_list = ('owner_ct', 'owner_id', 'type_ct', 'type_id', 'permission') 
     41        field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission') 
    4242        field_data = owner_ct.id 
    43         all_data = {'owner_id':owner.id, 'type_ct_id':model_ct.id, 'type_id':model.id, 'permission_id':perm.id} 
     43        all_data = {'owner_id':owner.id, 'model_ct_id':model_ct.id, 'model_id':model.id, 'permission_id':perm.id} 
    4444        manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data) 
    4545         
     
    7575            perm = Permission.objects.get(pk=i) 
    7676 
    77             field_name_list = ('owner_ct', 'owner_id', 'type_ct', 'type_id', 'permission') 
     77            field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission') 
    7878            field_data = ct.id 
    79             all_data = {'owner_id':owner.id, 'type_ct_id':self.ct.id, 'type_id':self.obj_instance.id, 'permission_id':perm.id} 
     79            all_data = {'owner_id':owner.id, 'model_ct_id':self.ct.id, 'model_id':self.obj_instance.id, 'permission_id':perm.id} 
    8080            manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data)             
    8181             
  • django/branches/per-object-permissions/django/contrib/admin/templates/admin/change_form.html

    r3487 r3518  
    6868 
    6969{% if new_rlp_form  %} 
     70<h1>{% trans "Row Level Permissions" %}</h1> 
     71<div> 
    7072{% include "admin/row_level_permission.html" %} 
     73</div> 
    7174{% endif %} 
    7275 
  • django/branches/per-object-permissions/django/contrib/admin/templates/admin/row_level_permission.html

    r3486 r3518  
    11{% load i18n admin_modify %} 
     2{% include_admin_script "js/ajax/prototype.js" %} 
     3{% include_admin_script "js/ajax/scriptaculous.js" %} 
    24{% include_admin_script "js/row_level_permission.js" %} 
    35<table id="rlpTable"> 
     
    1618</th> 
    1719</tr> 
    18 <form id="addRLPForm" method="POST" name="addRLPForm" action="../../../auth/row_level_permission/add/{{ content_type_id }}/{{ object_id }}/" onSubmit="addButtonPressed({{ obj_ct }}, {{ obj_id }}); return false;"> 
     20<form id="addRLPForm" method="POST" name="addRLPForm" action="../../../auth/row_level_permission/add/{{ content_type_id }}/{{ object_id }}/" onSubmit="addButtonPressed({{ content_type_id }}, {{ object_id }}); return false;"> 
    1921<tr> 
    2022<th colspan=4> 
     
    7476{% endfor %} 
    7577{% else %} 
    76 <tr><td>No row level permissions</td></tr> 
     78<tr><td colspan=4><em>No row level permissions</em></td></tr> 
    7779{% endif %} 
    7880</TBODY> 
  • django/branches/per-object-permissions/django/contrib/admin/views/row_level_permissions.py

    r3487 r3518  
    1212    if utils.verify_objref_hash(ct_id, rlp_id, hash): 
    1313        rlp = get_object_or_404(RowLevelPermission, pk=rlp_id) 
    14         ct = rlp.type_ct 
    15         obj = rlp.type 
     14        ct = rlp.model_ct 
     15        obj = rlp.model 
    1616        opts = rlp._meta 
    1717        if not request.user.has_perm(opts.app_label + '.' + opts.get_delete_permission()): 
    1818            raise PermissionDenied    
    19         if not request.user.has_perm(obj._meta.app_label + '.' + obj._meta.get_change_permission()()): 
     19        if not request.user.has_perm(obj._meta.app_label + '.' + obj._meta.get_change_permission()): 
    2020            raise PermissionDenied            
    2121        rlp.delete() 
     
    9393        raise PermissionDenied   
    9494 
    95     object_model = rlp.type_ct.model_class() 
     95    object_model = rlp.model_ct.model_class() 
    9696    if not request.user.has_perm(object_model._meta.app_label + '.' + object_model._meta.get_change_permission()): 
    9797        raise PermissionDenied 
     
    112112        return HttpResponse(simplejson.dumps(msg), 'text/javascript') 
    113113    request.user.message_set.create(message=msg['text']) 
    114     return HttpResponseRedirect("../../../../../../%s/%s/%s" % (object_model._meta.app_label, object_model._meta.module_name , str(rlp.type_id))) 
     114    return HttpResponseRedirect("../../../../../../%s/%s/%s" % (object_model._meta.app_label, object_model._meta.module_name , str(rlp.model_id))) 
  • django/branches/per-object-permissions/django/contrib/auth/models.py

    r3464 r3518  
    4949 
    5050class RowLevelPermissionManager(models.Manager): 
    51     def create_row_level_permission(self, object_instance, owner, permission, negative=False): 
     51    def create_row_level_permission(self, model_instance, owner, permission, negative=False): 
    5252        if isinstance(permission, str): 
    5353            permission = Permission.objects.get(codename__exact=permission) 
    54         type_ct=ContentType.objects.get_for_model(object_instance) 
    55         if type_ct != permission.content_type: 
     54        model_ct=ContentType.objects.get_for_model(model_instance) 
     55        if model_ct != permission.content_type: 
    5656            raise TypeError, "Invalid value: Permission content type(%s) and object content type(%s) do not match" % (permission.content_type, type_ct) 
    5757         
    58         rowLvlPerm = self.model(type_id=object_instance.id, type_ct=ContentType.objects.get_for_model(object_instance)
     58        rowLvlPerm = self.model(model_id=model_instance.id, model_ct=model_ct
    5959                                                 owner_id=owner.id, owner_ct=ContentType.objects.get_for_model(owner), 
    6060                                                 permission=permission, negative=negative) 
     
    6262        return rowLvlPerm 
    6363     
    64     def create_default_row_permissions(self, type, owner, change=True, delete=True, negChange=False, negDel=False): 
     64    def create_default_row_permissions(self, model_instance, owner, change=True, delete=True, negChange=False, negDel=False): 
    6565        ret_dict = {} 
     66        model_ct = ContentType.objects.get_for_model(model_instance) 
    6667        if change: 
    67             change_str = "change_%s" % (ContentType.objects.get_for_model(type)
    68             ret_dict[change_str]=self.create_row_level_permission(type, owner, change_str, negative=negChange) 
     68            change_str = "change_%s" % (model_ct
     69            ret_dict[change_str]=self.create_row_level_permission(model_instance, owner, change_str, negative=negChange) 
    6970        if delete: 
    70             delete_str = "delete_%s" % (ContentType.objects.get_for_model(type)
    71             ret_dict[delete_str]=self.create_row_level_permission(type, owner, delete_str, negative=negDel) 
     71            delete_str = "delete_%s" % (model_ct
     72            ret_dict[delete_str]=self.create_row_level_permission(model_instance, owner, delete_str, negative=negDel) 
    7273        return ret_dict     
    7374 
     
    7778    permissions table using a many to one relation. 
    7879    """ 
    79     type_id = models.PositiveIntegerField("'Type' ID") 
    80     type_ct = models.ForeignKey(ContentType, verbose_name="'Type' content type", related_name="type_ct") 
     80    model_id = models.PositiveIntegerField("'Model' ID") 
     81    model_ct = models.ForeignKey(ContentType, verbose_name="'Model' content type", related_name="model_ct") 
    8182    owner_id = models.PositiveIntegerField("'Owner' ID") 
    8283    owner_ct = models.ForeignKey(ContentType, verbose_name="'Owner' content type", related_name="owner_ct") 
     
    8485    permission = models.ForeignKey(Permission) 
    8586     
    86     type = models.GenericForeignKey(fk_field='type_id', ct_field='type_ct') 
     87    model = models.GenericForeignKey(fk_field='model_id', ct_field='model_ct') 
    8788    owner = models.GenericForeignKey(fk_field='owner_id', ct_field='owner_ct') 
    8889     
     
    9293        verbose_name = _('row level permission') 
    9394        verbose_name_plural = _('row level permissions') 
    94         unique_together = (('type_ct', 'type_id', 'owner_id', 'owner_ct', 'permission'),)         
     95        unique_together = (('model_ct', 'model_id', 'owner_id', 'owner_ct', 'permission'),)         
    9596         
    9697 
    9798    def __str__(self): 
    98         return "%s | %s:%s | %s:%s" % (self.permission, self.owner_ct, self.owner, self.type_ct, self.type
     99        return "%s | %s:%s | %s:%s" % (self.permission, self.owner_ct, self.owner, self.model_ct, self.model
    99100     
    100101    def __repr__(self): 
    101         return "%s | %s:%s | %s:%s" % (self.permission, self.owner_ct, self.owner, self.type_ct, self.type
     102        return "%s | %s:%s | %s:%s" % (self.permission, self.owner_ct, self.owner, self.model_ct, self.model
    102103 
    103104 
  • django/branches/per-object-permissions/django/db/models/base.py

    r3464 r3518  
    6464        if getattr(new_class._meta, 'row_level_permissions', None): 
    6565            from django.contrib.auth.models import RowLevelPermission 
    66             gen_rel = django.db.models.GenericRelation(RowLevelPermission, object_id_field="type_id", content_type_field="type_ct") 
     66            gen_rel = django.db.models.GenericRelation(RowLevelPermission, object_id_field="model_id", content_type_field="model_ct") 
    6767            new_class.add_to_class("row_level_permissions", gen_rel) 
    6868