| | 411 | def diff(obj, dict_): |
|---|
| | 412 | added, changed, removed = [], [], [] |
|---|
| | 413 | for key in dict_.keys(): |
|---|
| | 414 | if key in [f.name for f in obj._meta.fields]: |
|---|
| | 415 | if dict_[key] is None and getattr(obj, key) is not None: |
|---|
| | 416 | removed.append(key) |
|---|
| | 417 | elif dict_[key] is not None and getattr(obj, key) is None: |
|---|
| | 418 | added.append(key) |
|---|
| | 419 | elif dict_[key] != getattr(obj, key): |
|---|
| | 420 | changed.append(key) |
|---|
| | 421 | return added, changed, removed |
|---|
| | 422 | |
|---|
| 425 | | #if manipulator.fields_added: |
|---|
| 426 | | #change_message.append(_('Added %s.') % get_text_list(manipulator.fields_added, _('and'))) |
|---|
| 427 | | #if manipulator.fields_changed: |
|---|
| 428 | | #change_message.append(_('Changed %s.') % get_text_list(manipulator.fields_changed, _('and'))) |
|---|
| 429 | | #if manipulator.fields_deleted: |
|---|
| 430 | | #change_message.append(_('Deleted %s.') % get_text_list(manipulator.fields_deleted, _('and'))) |
|---|
| 431 | | #change_message = ' '.join(change_message) |
|---|
| | 437 | if added: |
|---|
| | 438 | change_message.append(_('Added %s.') % ' and '.join(added)) |
|---|
| | 439 | if changed: |
|---|
| | 440 | change_message.append(_('Changed %s.') % ' and '.join(changed)) |
|---|
| | 441 | if removed: |
|---|
| | 442 | change_message.append(_('Deleted %s.') % ' and '.join(removed)) |
|---|
| | 443 | change_message = ' '.join(change_message) |
|---|