| | 411 | def diff(obj, dict_): |
|---|
| | 412 | added, changed, removed = [], [], [] |
|---|
| | 413 | fields = [f.name for f in obj._meta.fields] |
|---|
| | 414 | for key in dict_.keys(): |
|---|
| | 415 | if key in fields: |
|---|
| | 416 | if dict_[key] is None and getattr(obj, key) is not None: |
|---|
| | 417 | removed.append(key) |
|---|
| | 418 | elif dict_[key] is not None and getattr(obj, key) is None: |
|---|
| | 419 | added.append(key) |
|---|
| | 420 | elif dict_[key] != getattr(obj, key): |
|---|
| | 421 | changed.append(key) |
|---|
| | 422 | return added, changed, removed |
|---|
| | 423 | |
|---|
| 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) |
|---|
| | 438 | if added: |
|---|
| | 439 | change_message.append(_('Added %s.') % ' and '.join(added)) |
|---|
| | 440 | if changed: |
|---|
| | 441 | change_message.append(_('Changed %s.') % ' and '.join(changed)) |
|---|
| | 442 | if removed: |
|---|
| | 443 | change_message.append(_('Deleted %s.') % ' and '.join(removed)) |
|---|
| | 444 | change_message = ' '.join(change_message) |
|---|