def setControlInitValues(self): self.dateFormatRadioBox.SetSelection(self.dateFormatChoice) self.dateFormatRadioBox.Refresh() self.netPayTextCtrl.LabelText = self.netpay self.netPayTextCtrl.Refresh() ref_date_type = type(self.ref_date) if ref_date_type is str or ref_date_type is DateTime: ref_date_parsed = Date.parse_date( self, self.ref_date, Date.get_global_date_format(self)) ref_date = Date.convertDateFormat(self, ref_date_parsed, self.dateFormat, self.dateFormat) self.ref_date = ref_date self.refPayDatePicker.SetValue(ref_date["dt"]) self.refPayDatePicker.Refresh() self.refPayDateTextCtrl.LabelText = ref_date["str"] self.refPayDateTextCtrl.Refresh() else: self.MsgBox( "Unknown ref date type %s ignored - ref date intfo ignored" % (type(self.ref_date))) try: self.payDepositChoice = self.payment_accounts.index( self.payDepositAcct) except: self.payDepositChoice = -1 if self.payDepositChoice == -1: self.payDepositChoice = 0 self.MsgBox("Unknown payment account %s ignored - default to %s" % (self.payDepositAcct, self.payment_accounts[self.payDepositChoice])) self.payAcctCtrl.SetSelection(self.payDepositChoice) self.payAcctCtrl.Refresh() self.payTypeRadioBox.SetSelection(self.payType) self.payTypeRadioBox.Refresh()
def onDateFormatchanged(self, event): self.inDateFormat = self.dateFormats[self.dateFormatChoice] self.dateFormatChoice = event.GetInt() self.dateFormat = self.dateFormats[self.dateFormatChoice] self.__log('Desired date format: %s' % self.dateFormat) self.ref_date = Date.convertDateFormat(self, self.ref_date, self.inDateFormat, self.dateFormat) #self.refPayDateTextCtrl.LabelText = self.ref_date{"str"} #self.refPayDateTextCtrl.Refresh() self.refPayDatePicker.SetValue(self.ref_date["dt"]) self.refPayDatePicker.Refresh()
def update_date_grid_dates(self, oldDateFormat, newDateFormat): if oldDateFormat != newDateFormat: self.curr_date = Date.convertDateFormat(self, self.curr_date, oldDateFormat, newDateFormat) self.currDate.LabelText = self.curr_date["str"] self.currDate.Refresh() try: if oldDateFormat != newDateFormat: self.proj_date = Date.convertDateFormat( self, self.proj_date, oldDateFormat, newDateFormat) if self.proj_date == None: self.projDateInput.LabelText = newDateFormat.replace( "%m", "mm").replace("%d", "dd").replace("%y", "yy").replace("%Y", "yyyy") else: self.projDateInput.LabelText = self.proj_date except: self.projDateInput.LabelText = newDateFormat.replace( "%m", "mm").replace("%d", "dd").replace("%y", "yy").replace("%Y", "yyyy") self.projDateInput.Refresh() if oldDateFormat != newDateFormat: self.currPayDate = Date.convertDateFormat(self, self.currPayDate, oldDateFormat, newDateFormat) self.currPayDateOutput.LabelText = Date.get_curr_paydate(self) self.currPayDateOutput.Refresh() if oldDateFormat != newDateFormat: self.nextPayDate = Date.convertDateFormat(self, self.nextPayDate, oldDateFormat, newDateFormat) self.nextPayDateOutput.LabelText = Date.get_next_paydate(self) self.nextPayDateOutput.Refresh()
def onRefPayDateEntered(self, event): ref_date = event.String dateFormat = Date.get_date_format(self) ref_date_parsed = Date.parse_date(self, ref_date, dateFormat) if ref_date_parsed != None: ref_date = Date.convertDateFormat(self, ref_date_parsed, dateFormat, dateFormat) self.__log("Month: %02d, Day: %02d, Year: %04d" % (ref_date_parsed["month"], ref_date_parsed["day"], ref_date_parsed["year"])) self.updateRefPayDateControls(ref_date, "entered") else: dateFormat = dateFormat.replace("%y", "yy").replace( "%m", "mm").replace("%d", "dd").replace("%Y", "yyyy") error = "Bad input reference date (%s) entered - format is %s - try again" % ( ref_date, dateFormat) self.MsgBox(error)
def onRefPayDatePicked(self, event): year = event.Date.year month = event.Date.month day = event.Date.day self.__log("Month: %02d, Day: %02d, Year: %04d" % (month + 1, day, year)) ref_date = wx.DateTime.FromDMY(day, month, year) dateFormat = Date.get_date_format(self) ref_date_parsed = Date.parse_date(self, ref_date, dateFormat) if ref_date_parsed != None: ref_date = Date.convertDateFormat(self, ref_date_parsed, dateFormat, dateFormat) self.updateRefPayDateControls(ref_date, "picked") else: dateFormat = dateFormat.replace("%y", "yy").replace( "%m", "mm").replace("%d", "dd").replace("%Y", "yyyy") error = "Bad input reference date (%s) picked - format is %s - try again" % ( ref_date, dateFormat) self.MsgBox(error)
def onSave(self, event): error = "" if self.payType == -1: error = "Bad pay type" else: self.payType = self.payTypes[self.payType] if self.ref_date == None: if len(error) > 0: error = "%s; " % (error) error = "%sBad reference date" % (error) if self.netpay == None: if len(error) > 0: error = "%s; " % (error) error = "%sBad net pay" % (error) if error != "": self.MsgBox(error) else: self.dateFormat = self.dateFormats[self.dateFormatChoice] Date.set_global_date_format(self, self.dateFormat) Date.set_global_date_sep(self, self.dateSep) payType = self.payType ref_date = Date.convertDateFormat(self, self.ref_date, self.dateFormat, self.dateFormat) self.ref_date = ref_date["str"] print("%s, %s, %s, %s, %s" % (self.dateFormat, payType, self.ref_date, self.netpay, self.payDepositAcct)) Date.updatePayDates(self) if self.assetFrame != None: self.assetFrame.setDateFormat(self.dateFormat) self.assetFrame.setPayType(payType) self.assetFrame.setRefDate(self.ref_date) self.assetFrame.setNetPay(self.netpay) self.assetFrame.setPayDepositAcct(self.payDepositAcct) self.assetFrame.writeConfigFile() self.assetFrame.update_all_Date_Formats( self.inDateFormat, self.dateFormat) self.assetFrame.update_date_grid_dates(self.dateFormat, self.dateFormat) self.Parent.Destroy()