@@ -39,51 +39,29 @@ def index(self):
3939 )
4040 self ._finished ()
4141
42- def _get_signers (self , show_message = True ):
43- """Get the list of held_positions to be used as signer.
44-
45- :return: list of signer infos with "held_position", "name" and "function"
46- """
47- res = []
48- for signer_info in ISignable (self .context ).get_signers ():
49- if not signer_info ["held_position" ]:
50- if show_message is True :
51- api .portal .show_message (
52- _ (
53- "Problem with certified signatories, make sure a held position "
54- 'is selected for each signatory (check "${name}/${function}")!' ,
55- mapping = {"name" : signer_info ["name" ], "function" : signer_info ["function" ]},
56- ),
57- request = self .request ,
58- type = "warning" ,
59- )
60- return []
61- res .append (signer_info )
62- return res
63-
6442 def get_signers (self ):
65- """List of signers, should not be overrided, rely on self._get_signers .
43+ """Get the list of held_positions to be used as signer .
6644
67- :return: list of signer infos (userid, email, fullname, position)
45+ :return: list of signer infos with "held_position", "name",
46+ "function", "userid" and "email"
6847 """
69- res = []
70- signer_infos = self ._get_signers ()
71- # signers is a list of held_positions
72- for signer_info in signer_infos :
73- # get email from user
74- hp = signer_info ["held_position" ]
75- signer_person = hp .get_person ()
76- userid = signer_person .userid
77- user = api .user .get (userid )
78- email = user .getProperty ("email" )
79- person_title = signer_info ["name" ] or signer_person .get_title (include_person_title = False )
80- hp_label = signer_info ["function" ] or hp .label or u""
81- res .append ((userid , email , person_title , hp_label ))
82- return tuple (res )
48+ try :
49+ signers = ISignable (self .context ).get_signers ()
50+ except ValueError , msg :
51+ signers = []
52+ api .portal .show_message (
53+ _ (
54+ "Problem getting signers: \" ${error}\" )!" ,
55+ mapping = {"error" : msg },
56+ ),
57+ request = self .request ,
58+ type = "warning" ,
59+ )
60+ return signers
8361
8462 def get_observers (self ):
8563 """List of observers."""
86- return ()
64+ return ISignable ( self . context ). get_observers ()
8765
8866 def get_context_uid (self ):
8967 """ """
0 commit comments