Package arcjobtool :: Module CertSignDialog
[hide private]
[frames] | no frames]

Source Code for Module arcjobtool.CertSignDialog

  1  # -*- coding: utf-8 -*- 
  2  # generated by wxGlade HG on Wed Apr 21 15:10:35 2010 
  3   
  4  import wx 
  5   
  6  # begin wxGlade: dependencies 
  7  # end wxGlade 
  8   
  9  # begin wxGlade: extracode 
 10   
 11  # end wxGlade 
 12   
 13  from CertUtils import CertificateRequest 
 14   
15 -class CertSignDialog(wx.Dialog):
16 - def __init__(self, *args, **kwds):
17 # begin wxGlade: CertSignDialog.__init__ 18 kwds["style"] = wx.DEFAULT_DIALOG_STYLE 19 wx.Dialog.__init__(self, *args, **kwds) 20 self.label_1 = wx.StaticText(self, -1, "Certificate request text") 21 self.certRequestText = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY|wx.TE_RICH) 22 self.emailFromLabel = wx.StaticText(self, -1, "From:") 23 self.emailFromText = wx.TextCtrl(self, -1, "") 24 self.caEmailLabel = wx.StaticText(self, -1, "CA/RA Email address (To):") 25 self.caEmailText = wx.TextCtrl(self, -1, "") 26 self.emailSubjectLabel = wx.StaticText(self, -1, "Subject:") 27 self.emailSubjectText = wx.TextCtrl(self, -1, "Certificate request", style=wx.TE_READONLY) 28 self.caNoteText = wx.TextCtrl(self, -1, "Please note that in some cases you should not send the certificate request to the specified CA email address instead to your registration RA. Please look at http://ca.nordugrid.org/ra.html for more information. If in doubt send it directly to the CA.", style=wx.TE_MULTILINE|wx.TE_READONLY) 29 self.copyToClipboardButton = wx.Button(self, -1, "Copy to clipboard") 30 self.sendRequestButton = wx.Button(self, -1, "Send") 31 self.closeButton = wx.Button(self, -1, "Close") 32 33 self.__set_properties() 34 self.__do_layout() 35 36 self.Bind(wx.EVT_BUTTON, self.onCopyToClipboard, self.copyToClipboardButton) 37 self.Bind(wx.EVT_BUTTON, self.onSendRequest, self.sendRequestButton) 38 self.Bind(wx.EVT_BUTTON, self.onClose, self.closeButton)
39 # end wxGlade 40
41 - def __set_properties(self):
42 # begin wxGlade: CertSignDialog.__set_properties 43 self.SetTitle("Send Certificate signing request") 44 self.SetSize((616, 438)) 45 self.certRequestText.SetFont(wx.Font(10, wx.SCRIPT, wx.NORMAL, wx.NORMAL, 0, "Courier")) 46 self.emailFromLabel.SetMinSize((200, -1)) 47 self.caEmailLabel.SetMinSize((200, -1)) 48 self.emailSubjectLabel.SetMinSize((200, -1)) 49 self.emailSubjectText.SetBackgroundColour(wx.SystemSettings_GetColour(wx.SYS_COLOUR_3DFACE)) 50 self.caNoteText.SetBackgroundColour(wx.SystemSettings_GetColour(wx.SYS_COLOUR_INFOBK))
51 # end wxGlade 52
53 - def __do_layout(self):
54 # begin wxGlade: CertSignDialog.__do_layout 55 mainSizer = wx.BoxSizer(wx.VERTICAL) 56 buttonRowSizer = wx.BoxSizer(wx.HORIZONTAL) 57 emailSubjectSizer = wx.BoxSizer(wx.HORIZONTAL) 58 caEmailSizer = wx.BoxSizer(wx.HORIZONTAL) 59 emailFromSizer = wx.BoxSizer(wx.HORIZONTAL) 60 mainSizer.Add(self.label_1, 0, wx.LEFT|wx.RIGHT|wx.TOP, 4) 61 mainSizer.Add(self.certRequestText, 4, wx.ALL|wx.EXPAND, 4) 62 emailFromSizer.Add(self.emailFromLabel, 0, wx.LEFT|wx.ALIGN_CENTER_VERTICAL, 4) 63 emailFromSizer.Add(self.emailFromText, 1, wx.LEFT|wx.RIGHT|wx.TOP, 4) 64 mainSizer.Add(emailFromSizer, 0, wx.EXPAND, 0) 65 caEmailSizer.Add(self.caEmailLabel, 0, wx.LEFT|wx.ALIGN_CENTER_VERTICAL, 4) 66 caEmailSizer.Add(self.caEmailText, 1, wx.LEFT|wx.RIGHT|wx.TOP, 4) 67 mainSizer.Add(caEmailSizer, 0, wx.EXPAND, 0) 68 emailSubjectSizer.Add(self.emailSubjectLabel, 0, wx.LEFT|wx.ALIGN_CENTER_VERTICAL, 4) 69 emailSubjectSizer.Add(self.emailSubjectText, 1, wx.LEFT|wx.RIGHT|wx.TOP, 4) 70 mainSizer.Add(emailSubjectSizer, 0, wx.EXPAND, 0) 71 mainSizer.Add(self.caNoteText, 0, wx.ALL|wx.EXPAND, 4) 72 buttonRowSizer.Add(self.copyToClipboardButton, 0, wx.ADJUST_MINSIZE, 0) 73 buttonRowSizer.Add(self.sendRequestButton, 0, 0, 0) 74 buttonRowSizer.Add(self.closeButton, 0, 0, 0) 75 mainSizer.Add(buttonRowSizer, 0, wx.TOP|wx.BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 4) 76 self.SetSizer(mainSizer) 77 self.Layout() 78 self.Centre() 79 # end wxGlade 80 81 self.__initDialog()
82
83 - def __initDialog(self):
84 """ 85 Initiate dialog instance variables. 86 """ 87 self.__certRequest = None
88
89 - def __updateControls(self):
90 """ 91 Update user interface controls. 92 """ 93 requestFile = open(self.__certRequest.certRequestFilename, "r") 94 certRequestString = requestFile.read() 95 requestFile.close() 96 self.certRequestText.SetValue(certRequestString) 97 self.caEmailText.SetValue(self.__certRequest.CAEmail) 98 self.emailSubjectText.SetValue(self.__certRequest.emailSubject) 99 self.emailFromText.SetValue(self.__certRequest.email)
100
101 - def setCertRequest(self, request):
102 """ 103 Assigne CertRequest instance. 104 """ 105 self.__certRequest = request 106 self.__updateControls()
107
108 - def getCertRequest(self):
109 """ 110 Return CertRequest instance. 111 """ 112 return self.__certRequest
113
114 - def onSendRequest(self, event): # wxGlade: CertSignDialog.<event_handler>
115 """ 116 Send signing request. 117 """ 118 119 self.__certRequest.emailSMTPServer = wx.GetTextFromUser("Enter outgoing mailserver", "Certificate request", self.__certRequest.emailSMTPServer) 120 121 if self.__certRequest.emailSMTPServer == "": 122 wx.MessageBox("Empty string for outgoing mail server given.", "Certificate request") 123 return 124 125 self.__certRequest.emailTo = self.caEmailText.GetValue() 126 self.__certRequest.emailFrom = self.emailFromText.GetValue() 127 128 errorMessage = self.__certRequest.sendSigningRequest() 129 130 if errorMessage == "": 131 wx.MessageBox("Certificate request sent") 132 self.Close() 133 else: 134 wx.MessageBox(errorMessage)
135
136 - def onClose(self, event): # wxGlade: CertSignDialog.<event_handler>
137 """ 138 Close dialog. 139 """ 140 self.Close() 141
142 - def onCopyToClipboard(self, event): # wxGlade: CertSignDialog.<event_handler>
143 """ 144 Copy certificate request text to clipboard. 145 """ 146 self.certRequestText.SetSelection(-1, -1) 147 self.certRequestText.Copy() 148 wx.MessageBox("Certificate request text has been copied to the clipboard.", "Certificate request") 149 150 certRequest = property(getCertRequest, setCertRequest) 151 152 153 154 # end of class CertSignDialog 155