예제 #1
0
    def edit(self, cmb1, cmb2, itemType):
	#rint'editing type:',itemType
	nextItem = ''
        self.restore_id, restoreString = fetch.cmbIDV(cmb1)
	if not self.restore_id:
	    # prepare data for new entry
	    if itemType=='country':
		self.nextItemID = 0
	    else:
		#rintitemType
		nextItemID, nextItem = fetch.cmbIDV(cmb2)
		if not nextItemID:
		    fetch.msg('Please Select A Follow On Item')
		    return
        
        dlg = DlgAddrItemEditor.create(None)
        try:
            dlg.displayData(self.restore_id, itemType, nextItem)
            if dlg.ShowModal() == wx.ID_OK:
                itemName = dlg.itemName
		if not itemName: return
		
		# prevent duplicate name if country
		# prevent duplicate name where next item same
		# warning of other duplicate names -if not kelurahan
		
                if self.restore_id: # editing an item
		    if itemName == restoreString:
			return
                    else:
			sql = "UPDATE addressItems \
				  SET itemName ='%s' \
				WHERE %id = %d" % (itemName, self.restore_id)
			#rintsql
			cmb1.SetValue(itemName)
			
                else: # insert a new item
		    #  
                    sql = "INSERT INTO addressItems \
		                  (itemName, itemType, nextItemID) \
                           VALUES ('%s', '%s', '%s')" % (
			           itemName, itemType, self.nextItemID)
		    #rintsql
                      
        finally:    
            dlg.Destroy()
예제 #2
0
    def edit(self, cmb1, cmb2, itemType):
	self.restore_str = fetch.cmbValue(cmb1)
	nextItem = fetch.cmbValue(cmb2)
	if not nextItem: return
	
	nextItemID = fetch.cmbID(cmb2)
	
	dlg = DlgAddrItemEditor.create(None)
	try:
	    dlg.displayData(self.restore_str)
	    if dlg.ShowModal() == wx.ID_OK:
		itemName = dlg.itemName
		if self.restore_str: # update an edited item
		    if itemName and itemName != self.restore_str:
			# test to make sure name is unique
			#rint'save ', itemName
			#rint'next item id ='
			cmb1.SetValue(itemName)
		    else: # insert a new item
			sql = "INSERT INTO addressItems (itemName, itemType, nextItemID) \
	                                         VALUES ('%s', '%s', '%s')" % (itemName, itemType, self.nextItemID)
		      
	finally:    
	    dlg.Destroy()
예제 #3
0
    def edit(self, cmb1, cmb2):
	self.restore_str = fetch.cmbValue(cmb1)
	nextItem = fetch.cmbValue(cmb2)
	if not nextItem: return
	
	
	sql = "SELECT " # warning - how may records will be effected
	
	if not self.restore_str: return
	
	dlg = DlgAddrItemEditor.create(None)
	try:
	    dlg.displayData(self.restore_str)
	    if dlg.ShowModal() == wx.ID_OK:
		itemName = dlg.itemName
		
		if itemName and itemName != self.restore_str:
		    # test to make sure name is unique
		    #rint'save ', itemName
		    #rint'next item id ='
		    cmb1.SetValue(itemName)
		    
	finally:    
	    dlg.Destroy()