summaryrefslogtreecommitdiff
path: root/src/mailman_pgp/workflows/key_change.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/workflows/key_change.py')
-rw-r--r--src/mailman_pgp/workflows/key_change.py20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/mailman_pgp/workflows/key_change.py b/src/mailman_pgp/workflows/key_change.py
index fce7b71..b2fac65 100644
--- a/src/mailman_pgp/workflows/key_change.py
+++ b/src/mailman_pgp/workflows/key_change.py
@@ -28,10 +28,9 @@ from zope.interface import implementer
from mailman_pgp.config import config
from mailman_pgp.database import transaction
-from mailman_pgp.model.address import PGPAddress
-from mailman_pgp.model.list import PGPMailingList
from mailman_pgp.pgp.wrapper import PGPWrapper
from mailman_pgp.utils.email import copy_headers
+from mailman_pgp.workflows.base import PGPMixin
from mailman_pgp.workflows.mod_approval import (
ModeratorKeyChangeApprovalMixin)
@@ -48,29 +47,18 @@ Token: {}
"""
-class KeyChangeBase(Workflow):
+class KeyChangeBase(Workflow, PGPMixin):
save_attributes = (
'address_key',
'pubkey_key'
)
def __init__(self, mlist, pgp_address=None, pubkey=None):
- super().__init__()
- self.mlist = mlist
- self.pgp_list = PGPMailingList.for_list(mlist)
- self.pgp_address = pgp_address
+ Workflow.__init__(self)
+ PGPMixin.__init__(self, mlist, pgp_address)
self.pubkey = pubkey
@property
- def address_key(self):
- return self.pgp_address.email
-
- @address_key.setter
- def address_key(self, value):
- self.pgp_address = PGPAddress.for_email(value)
- self.member = self.mlist.regular_members.get_member(value)
-
- @property
def pubkey_key(self):
return str(self.pubkey)