Changeset 74e9f09


Ignore:
Timestamp:
Mar 16, 2012, 5:34:38 AM (14 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage
Children:
9a30b56
Parents:
080bf9a
git-author:
Alex Dehnert <adehnert@…> (03/16/12 05:34:38)
git-committer:
Alex Dehnert <adehnert@…> (03/16/12 05:34:38)
Message:

Mailman list updater improvements

  • Don't remove people if either their old or new address was blank (the former because it won't work, and the latter because we want them to keep getting mail)
  • Don't add people if their address is blank
Location:
asadb
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • asadb/groups/diffs.py

    r080bf9a r74e9f09  
    144144        self.add = []
    145145        self.delete = []
     146        self.notes = []
    146147
    147148    def end_run(self, ):
     
    156157                'delete': self.delete,
    157158                'errors': errors,
     159                'notes': self.notes,
    158160            }
    159161            util.emails.email_from_template(
     
    164166
    165167    def handle_group(self, before, after, before_fields, after_fields, ):
    166         if before_fields['officer_email'] != after_fields['officer_email']:
     168        before_addr = before_fields['officer_email']
     169        after_addr  = after_fields['officer_email']
     170        if before_addr != after_addr:
    167171            name = after_fields['name']
    168             self.add.append((after_fields['name'], after_fields['officer_email'], ))
    169             self.delete.append(before_fields['officer_email'])
     172            if after_addr:
     173                self.add.append((name, after_addr, ))
     174            else:
     175                self.notes.append("%s: Not adding because address is blank." % (name, ))
     176            if before_addr and after_addr:
     177                # Don't remove an address unless there's a replacement
     178                self.delete.append(before_fields['officer_email'])
     179            else:
     180                self.notes.append("%s: Not removing '%s' (to add '%s') because at least one is blank." % (name, before_addr, after_addr, ))
    170181
    171182    def new_group(self, after, after_fields, ):
  • asadb/template/groups/diffs/asa-official-update.txt

    rea217bd r74e9f09  
    1414{% for email in delete %}{{email}}
    1515{% endfor %}
     16
     17Notes:
     18{% for note in notes %}{{note}}
     19{% empty %}No notes.
     20{% endfor %}
    1621{% endautoescape %}
Note: See TracChangeset for help on using the changeset viewer.