Skip to content

Commit

Permalink
[per-object-permissions] Fixed a bug where the RLP for an inline obje…
Browse files Browse the repository at this point in the history
…ct would only be set when changing an object not adding

git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3896 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
Christopher Long committed Oct 4, 2006
1 parent 46f6dc7 commit 3f60a8e
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions django/db/models/manipulators.py
Expand Up @@ -130,6 +130,7 @@ def save(self, new_data):

expanded_data = DotExpandedDict(dict(new_data))
self.new_rel_objs = []

# Save many-to-one objects. Example: Add the Choice objects for a Poll.
for related in self.opts.get_all_related_objects():
# Create obj_list, which is a DotExpandedDict such as this:
Expand Down Expand Up @@ -208,12 +209,14 @@ def save(self, new_data):
if self.change:
if not old_rel_obj: # This object didn't exist before.
self.fields_added.append('%s "%s"' % (related.opts.verbose_name, new_rel_obj))
self.new_rel_objs.append(new_rel_obj)
else:
for f in related.opts.fields:
if not f.primary_key and f != related.field and str(getattr(old_rel_obj, f.attname)) != str(getattr(new_rel_obj, f.attname)):
self.fields_changed.append('%s for %s "%s"' % (f.verbose_name, related.opts.verbose_name, new_rel_obj))


if not old_rel_obj:
self.new_rel_objs.append(new_rel_obj)

# Save many-to-many objects.
for f in related.opts.many_to_many:
if child_follow.get(f.name, None) and not f.rel.edit_inline:
Expand Down

0 comments on commit 3f60a8e

Please sign in to comment.