def on_orderProcessButton_clicked(self): selection = self.orderTableWidget.selectedItems() if not selection: return index = self.indexFromOrderStatus() prevmsg = MM_util.searchlistbyhash(self.listDict[index], str(selection[4].text())) offer = self.do_offerfromordermsg(prevmsg) vendor = MM_util.searchlistbyhash(self.listDict['ident'], prevmsg.obj['vendorid']) if index == 'conf': # Send pay based on this conf replyindex = 'pay' if not self.yorn("Are you sure?"): return for ver in self.listDict['pay']: if ver.obj['confhash'] == prevmsg.hash: self.info("This Order is already Paid.") return order = MM_util.searchlistbyhash(self.listDict['order'], prevmsg.obj['orderhash']) msgstr = MM_util.createpay(self.myid.hash, self.btcaddr, prevmsg, order, offer, self.getFee()) elif index == 'rec': # Send final based on this rec replyindex = 'final' flag = self.yorn("Click Yes to Finalize this purchase, " + \ "or click No to collect the refund.") if not self.yorn("Are you sure?"): return for ver in self.listDict['final']: if ver.obj['rechash'] == prevmsg.hash: self.info("This Order has already been Finalized.") return price = decimal.Decimal(offer.obj['price']) msgstr = MM_util.createfinal(self.myid.hash, self.btcaddr, \ flag, prevmsg, vendor, offer, price) elif index == 'final': # Send feedback based on this final replyindex = 'feedback' flag = self.yorn("Click Yes to give positive feedback on this purchase, " + \ "or click No to give negative feedback.") if not self.yorn("Are you sure?"): return for ver in self.listDict['feedback']: if ver.obj['finalhash'] == prevmsg.hash: self.info("You've already given feedback on this Order.") return message = self.input("Leave a message with your feedback.") order = None for ver in self.listDict['order']: if ver.obj['offerhash'] == offer.hash: order = ver break msgstr = MM_util.createfeedback(self.btcaddr, \ "buyer", flag, message, prevmsg, offer, order) else: self.info("Buyers cannot process this type of message.") return hash = MM_util.MM_writefile(msgstr) MM_util.appendindex(replyindex, hash) self.do_sendmsgviabm(vendor.obj['bmaddr'], msgstr) self.info("Message sent to Vendor!")