def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() self.handler_c_id = main.connect("contacts_changed", self.populate_customer_store) self.handler_p_id = main.connect("products_changed", self.populate_product_store) self.customer_id = 0 self.job_id = 0 self.job_store = self.builder.get_object('job_store') self.customer_store = self.builder.get_object('customer_store') self.populate_customer_store() self.product_store = self.builder.get_object('product_store') self.populate_product_store() customer_completion = self.builder.get_object('customer_completion') customer_completion.set_match_func(self.customer_match_func) qty_column = self.builder.get_object('treeviewcolumn1') qty_renderer = self.builder.get_object('cellrendererspin1') qty_column.set_cell_data_func(qty_renderer, self.qty_cell_func) self.window = self.builder.get_object('window1') self.window.show_all()
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() main.connect("products_changed", self.populate_products) self.product_store = self.builder.get_object('product_store') self.populate_products() product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_func) self.catalog_store = self.builder.get_object('catalog_store') dnd = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) treeview = self.builder.get_object('treeview1') treeview.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, [dnd], Gdk.DragAction.MOVE) enforce_target = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) treeview.drag_dest_set(Gtk.DestDefaults.ALL, [enforce_target], Gdk.DragAction.MOVE) treeview.drag_dest_set_target_list([enforce_target]) self.window = self.builder.get_object('window1') self.window.show_all() scale = self.builder.get_object('scale1') for i in [16, 32, 64, 128, 256]: scale.add_mark(i, Gtk.PositionType.BOTTOM, str(i))
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() main.connect("contacts_changed", self.populate_contacts) self.builder.get_object('treeview1').set_model(main.revenue_acc) self.contact_store = self.builder.get_object('contact_store') contact_completion = self.builder.get_object('contact_completion') contact_completion.set_match_func(self.contact_match_func) self.contact_id = None self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.day_selected) self.date = None self.populate_contacts() self.window = self.builder.get_object('window1') self.window.show_all() self.check_entry = self.builder.get_object('entry1') self.credit_entry = self.builder.get_object('entry2') self.cash_entry = self.builder.get_object('entry3') self.payment_type_id = 0
def __init__(self): main.server = "irc.subluminal.net" main.port = 6667 main.nick = "pyBot" main.login = "******" main.realname = "pyBot" main.mode = "0" main.channel = "#" + input("Channel: #") main.connect()
def __init__(self, main, id_ = None): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) main.connect("shutdown", self.main_shutdown) self.main = main self.db = main.db self.cursor = main.db.cursor() self.editing = False self.timer_timeout = None self.resource_store = self.builder.get_object('resource_store') self.contact_store = self.builder.get_object('contact_store') self.contact_completion = self.builder.get_object('contact_completion') self.contact_completion.set_match_func(self.contact_match_func) self.tag_store = self.builder.get_object('tag_store') textview = self.builder.get_object('textview1') spell_check.add_checker_to_widget (textview) self.dated_for_calendar = DateTimeCalendar() no_date_button = self.builder.get_object('button5') self.dated_for_calendar.pack_start(no_date_button) date_label = self.builder.get_object('treeviewcolumn5').get_widget() self.dated_for_calendar.set_relative_to(date_label) self.dated_for_calendar.connect('day-selected', self.dated_for_calendar_day_selected ) self.older_than_calendar = DateTimeCalendar() self.older_than_calendar.connect('day-selected', self.older_than_date_selected ) self.older_than_calendar.set_today() self.populate_stores() self.populate_resource_store () if id_ != None: selection = self.builder.get_object('treeview-selection1') for row in self.resource_store: if row[0] == id_: selection.select_path(row.path) self.editing_buffer = True self.cursor.execute("SELECT notes FROM resources " "WHERE id = %s", (id_,)) for row in self.cursor.fetchall(): text = row[0] self.builder.get_object('textbuffer1').set_text(text) break else: self.builder.get_object('textbuffer1').set_text('') self.editing_buffer = False self.window = self.builder.get_object('window1') self.window.show_all()
def insert_data_bus(): create_table_bus() print("------------------------------") print("You are in insert function") busno = input("Enter bus no : ") result = checkbus(busno) if result: dest = input("Enter a destination:--->") time = input("Enter a time for bus:--> ") seats = int(input("Enter seats number:->")) conn, cur = main.connect() try: cur.execute('INSERT INTO bus VALUES(%s, %s, %s, %s)', (busno, dest, time, seats)) print("Data insertion Successfull") print("------------------------------>") busdetails() except Exception as e: print('error', e) # commiting the transaction. conn.commit() else: print("Error while inserting the data ") busdetails()
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() self.aisle_text = "" self.product_text = "" self.rack_text = "" self.cart_text = "" self.shelf_text = "" self.cabinet_text = "" self.drawer_text = "" self.bin_text = "" self.ascending = False self.product_location_store = self.builder.get_object('location_treeview_store') self.product_location_store.set_sort_column_id(1, Gtk.SortType.ASCENDING) self.location_store = self.builder.get_object('location_store') self.filtered_location_store = self.builder.get_object('filtered_location_store') self.filtered_location_store.set_visible_func(self.filter_func) self.treeview = self.builder.get_object('treeview1') self.populate_product_location_treeview() self.populate_location_combo() self.handler_id = main.connect("products_changed", self.populate_product_location_treeview) self.window = self.builder.get_object('window1') self.window.show_all()
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.customer_store = self.builder.get_object('customer_store') self.product_store = self.builder.get_object('credit_products_store') self.credit_items_store = self.builder.get_object('credit_items_store') self.db = main.db self.cursor = self.db.cursor() self.handler_c_id = main.connect("contacts_changed", self.populate_customer_store) self.populate_customer_store() self.date_returned_calendar = DateTimeCalendar() self.date_returned_calendar.connect('day-selected', self.return_day_selected) date_column = self.builder.get_object('label3') self.date_returned_calendar.set_relative_to(date_column) self.date_calendar = DateTimeCalendar() self.date_calendar.connect('day-selected', self.day_selected) product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_func) customer_completion = self.builder.get_object('customer_completion') customer_completion.set_match_func(self.customer_match_func) self.window = self.builder.get_object('window1') self.window.show_all()
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() self.product_name = '' self.ext_name = '' self.barcode = '' self.vendor = '' self.order_number = '' self.vendor_barcode = '' self.treeview = self.builder.get_object('treeview1') dnd = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.treeview.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, [dnd], Gdk.DragAction.COPY) self.treeview.connect('drag_data_get', self.on_drag_data_get) self.treeview.drag_source_set_target_list([dnd]) self.product_store = self.builder.get_object('product_store') self.product_store.set_sort_column_id(1, Gtk.SortType.ASCENDING) self.filtered_product_store = self.builder.get_object( 'filtered_product_store') self.filtered_product_store.set_visible_func(self.filter_func) self.populate_product_treeview_store() self.handler_id = main.connect("products_changed", self.populate_product_treeview_store) self.window = self.builder.get_object('window1') self.window.show_all()
def insert_data_emp(): create_table_emp() print("------------------------------") print("you are in insert function") id = input("enter customer id : ") result = checkemp(id) if result: name = input("enter a name:") salary = int(input("enter a salary amount---> ")) busno = input("enter a bus number--->") conn, cur = main.connect() try: cur.execute('INSERT INTO emp VALUES(%s, %s, %s, %s)', (id, name, salary, busno)) print("Data insertion succesfull") print("---------------------------------") empdetails() except Exception as e: print('error', e) # commiting the transaction. conn.commit() else: print("employee already exist ") empdetails()
def execute_query(prob: str): cursor_dict = {'cursor_factory': psycopg2.extras.NamedTupleCursor} conn = connect(**cursor_dict) ddl_sql = open(f'sql/{prob}.sql', 'r').read() with conn, conn.cursor() as cur: cur.execute(ddl_sql) for row in cur.fetchall(): print(row)
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() main.connect("contacts_changed", self.populate_service_providers) self.expense_account_store = main.expense_acc self.builder.get_object('cellrenderercombo1').set_property( 'model', main.expense_acc) self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.calendar_day_selected) self.date = None price_column = self.builder.get_object('treeviewcolumn2') price_renderer = self.builder.get_object('cellrenderertext1') price_column.set_cell_data_func(price_renderer, self.price_cell_func) provider_completion = self.builder.get_object('provider_completion') provider_completion.set_match_func(self.provider_match_func) self.populating = False self.service_provider_store = self.builder.get_object( 'service_provider_store') self.expense_percentage_store = self.builder.get_object( 'expense_percentage_store') self.bank_account_store = self.builder.get_object('bank_account_store') self.cash_account_store = self.builder.get_object('cash_account_store') self.credit_card_store = self.builder.get_object('credit_card_store') self.populate_stores() self.populate_service_providers() self.expense_percentage_store.append([0, Decimal('0.00'), 0, ""]) self.calculate_percentages() self.window = self.builder.get_object('window1') self.window.show_all() self.file_data = None
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.db = main.db self.cursor = self.db.cursor() self.product_store = self.builder.get_object('product_store') self.contact_store = self.builder.get_object('contact_store') self.serial_number_store = self.builder.get_object( 'serial_number_treeview_store') self.handler_p_id = main.connect("products_changed", self.populate_product_store) self.handler_c_id = main.connect("contacts_changed", self.populate_contact_store) product_completion = self.builder.get_object('add_product_completion') product_completion.set_match_func(self.product_match_func) product_completion = self.builder.get_object( 'event_product_completion') product_completion.set_match_func(self.product_match_func) contact_completion = self.builder.get_object('contact_completion') contact_completion.set_match_func(self.contact_match_func) self.product_name = '' self.contact_name = '' self.serial_number = '' self.filtered_serial_store = self.builder.get_object( 'serial_number_treeview_filter') self.filtered_serial_store.set_visible_func(self.filter_func) self.product_id = 0 self.populate_product_store() self.populate_contact_store() self.populate_serial_number_history() self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.calendar_day_selected) self.calendar.set_today() self.window = self.builder.get_object('window1') self.window.show_all()
def create_table_emp(): conn, cur = main.connect() try: cur.execute( 'CREATE TABLE emp (id VARCHAR(10), name VARCHAR(10), salary INT, busno INT)') except: print('Table already exist please insert the data') conn.commit()
def create_table_bus(): conn, cur = main.connect() try: cur.execute( 'CREATE TABLE bus (busno VARCHAR(10), dest VARCHAR(10), time VARCHAR(10), seats INT)') except: print('Table already exist please insert data') conn.commit()
def fetch_data_emp(): conn, cur = main.connect() try: cur.execute('SELECT * FROM emp') except: print('error !') data = cur.fetchall() return data
def fetch_data_announcement(): conn, cur = main.connect() try: cur.execute('SELECT * FROM news ') except: print('Error !') data = cur.fetchall() return data
def create_table_news(): conn, cur = main.connect() try: cur.execute( 'CREATE TABLE news (date VARCHAR(10), subject VARCHAR(10), message VARCHAR(10))') except: print('Table already exist please insert the data') conn.commit()
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) main.connect("shutdown", self.main_shutdown) enforce_target = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.assembly_treeview = self.builder.get_object('treeview2') self.assembly_treeview.drag_dest_set(Gtk.DestDefaults.ALL, [enforce_target], Gdk.DragAction.COPY) self.assembly_treeview.connect("drag-data-received", self.on_drag_data_received) self.assembly_treeview.drag_dest_set_target_list([enforce_target]) dnd = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.assembly_treeview.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, [dnd], Gdk.DragAction.COPY) self.assembly_treeview.connect('drag_data_get', self.on_drag_data_get) self.assembly_treeview.drag_source_set_target_list([dnd]) self.main = main self.db = main.db self.cursor = self.db.cursor() self.product_store = self.builder.get_object('product_store') self.assembly_store = self.builder.get_object('assembly_store') product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_string) self.assembled_product_store = self.builder.get_object( 'assembled_product_store') self.populate_stores() self.window = self.builder.get_object('window1') self.window.show_all()
def addannouncement(): create_table_news() print("Type a announcement message here") print("----------------------------------") date = input("Enter todays date-->") subject = input("Subject---->(Lost/Found/Delay):") message = input("Message---------->") conn, cur = main.connect() try: cur.execute('INSERT INTO news VALUES(%s, %s, %s)', (date, subject, message)) print("Announcement made successfully!!!!") except Exception as e: print('Error', e) admin()
def del_data_bus(): print("You are in delete function") Busno = input("Enter a bus no:-->") result = checkbus(Busno) if result: print("This bus no doesnot exist in the list") else: conn, cur = main.connect() try: cur.execute("DELETE from bus where busno=Busno;") print(" You have successfully deleted Bus details of busno:--->", Busno) print("---------------------------------------------") except: print("Error while deleting") conn.commit() busdetails()
def del_data_emp(): print("you are in delete function") Id = input("enter a id:") result = checkemp(Id) conn, cur = main.connect() if result: print("this id doesnot exist in the list") else: try: cur.execute("DELETE from emp where id=Id;") print(" you have successfully deleted details of employe id:--->", Id) print("---------------------------------------------") empdetails() except: print("error while deleting") conn.commit() empdetails()
def test_connect(): "connect(host, email) should close the socket and return True if RCPT TO works" with mock.patch('main.socket.socket') as socket_class: # Given that our socket function will always return an error socket_class.return_value.recv.side_effect = [ '220 Successfuly Connected', # Response for connect '250 Hi there', # Response for HELO '250 Sup!', # Response for MAIL FROM '250 I know this addr!' # Response for RCPT TO ] # When we try to connect() output = main.connect('mx.clarete.li', '*****@*****.**') # We see that the socket object was closed and that the output # was true socket_class.return_value.close.assert_called_once_with() output.should.be.true
def __init__(self, main, parent = None): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.main = main self.handler = main.connect('clock_entries_changed', self.populate_employees) self.db = main.db self.cursor = self.db.cursor() self.stack = self.builder.get_object('time_clock_stack') self.employee_store = self.builder.get_object('employee_store') self.project_store = self.builder.get_object('project_store') self.populate_employees () self.window = self.builder.get_object('window1') self.window.show_all() self.parent = parent
def __init__(self, main, edit_po_id=None): self.purchase_order_id = None self.vendor_id = 0 #self.contact_id_from_existing = contact_id_from_existing self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.edited_renderer_text = 1 self.qty_renderer_value = 1 self.focusing = False self.menu_visible = False self.order_number_completion = self.builder.get_object( 'order_number_completion') self.order_number_store = self.builder.get_object('order_number_store') self.revenue_account_store = self.builder.get_object( 'revenue_account_store') self.expense_account_store = self.builder.get_object( 'expense_account_store') self.p_o_store = self.builder.get_object('purchase_order_store') self.vendor_store = self.builder.get_object('vendor_store') self.barcodes_not_found_store = self.builder.get_object( 'barcodes_not_found_store') vendor_completion = self.builder.get_object('vendor_completion') vendor_completion.set_match_func(self.vendor_match_func) self.main = main self.db = main.db self.cursor = self.db.cursor() self.handler_c_id = main.connect("contacts_changed", self.populate_vendor_store) self.handler_p_id = main.connect("products_changed", self.populate_product_store) self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.calendar_day_selected) self.calendar.set_today() self.cursor.execute( "SELECT qty_prec, price_prec FROM settings.purchase_order") for row in self.cursor.fetchall(): qty_prec = row[0] price_prec = row[1] self.qty_places = Decimal(10)**-qty_prec self.price_places = Decimal(10)**-price_prec self.product_store = self.builder.get_object('product_store') product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_string) self.populate_product_store() enforce_target = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.treeview = self.builder.get_object('treeview2') self.treeview.drag_dest_set(Gtk.DestDefaults.ALL, [enforce_target], Gdk.DragAction.COPY) self.treeview.drag_dest_set_target_list([enforce_target]) self.populate_vendor_store() if edit_po_id != None: self.cursor.execute( "SELECT name, vendor_id FROM purchase_orders " "WHERE id = %s", (edit_po_id, )) for row in self.cursor.fetchall(): po_name = row[0] self.vendor_id = row[1] self.builder.get_object('combobox1').set_active_id( str(self.vendor_id)) self.builder.get_object('button2').set_sensitive(True) self.builder.get_object('button3').set_sensitive(True) self.builder.get_object('menuitem5').set_sensitive(True) self.builder.get_object('menuitem2').set_sensitive(True) self.purchase_order_id = int(edit_po_id) self.products_from_existing_po() qty_column = self.builder.get_object('treeviewcolumn1') qty_renderer = self.builder.get_object('cellrenderertext') qty_column.set_cell_data_func(qty_renderer, self.qty_cell_func) price_column = self.builder.get_object('treeviewcolumn6') price_renderer = self.builder.get_object('cellrenderertext6') price_column.set_cell_data_func(price_renderer, self.price_cell_func) ext_price_column = self.builder.get_object('treeviewcolumn7') ext_price_renderer = self.builder.get_object('cellrenderertext7') ext_price_column.set_cell_data_func(ext_price_renderer, self.ext_price_cell_func) self.tax = 0 self.cursor.execute("SELECT print_direct FROM settings") self.builder.get_object('menuitem1').set_active( self.cursor.fetchone()[0]) #set the direct print checkbox self.window = self.builder.get_object('window') self.window.show_all() GLib.idle_add(self.load_settings)
def __init__(self, main): self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.edited_renderer_text = 1 self.qty_renderer_value = 1 self.main = main self.db = main.db self.cursor = self.db.cursor() self.handler_c_id = main.connect ("contacts_changed", self.populate_customer_store ) self.handler_p_id = main.connect ("products_changed", self.populate_product_store ) self.document_id = 0 self.documents_store = self.builder.get_object('documents_store') self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.calendar_day_selected) enforce_target = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.treeview = self.builder.get_object('treeview2') self.treeview.drag_dest_set(Gtk.DestDefaults.ALL, [enforce_target], Gdk.DragAction.COPY) #self.treeview.drag_dest_set(Gtk.DestDefaults.ALL, [], Gdk.DragAction.COPY) self.treeview.connect("drag-data-received", self.on_drag_data_received) self.treeview.drag_dest_set_target_list([enforce_target]) #self.treeview.drag_dest_set_target_list(None) #self.treeview.drag_dest_add_text_targets() self.import_store = self.builder.get_object('import_store') self.customer_store = self.builder.get_object('customer_store') self.product_store = self.builder.get_object('product_store') product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_func) customer_completion = self.builder.get_object('customer_completion') customer_completion.set_match_func(self.customer_match_func) self.retailer_completion = self.builder.get_object('retailer_completion') self.retailer_completion.set_match_func(self.customer_match_func) qty_column = self.builder.get_object ('treeviewcolumn1') qty_renderer = self.builder.get_object ('cellrenderertext2') qty_column.set_cell_data_func(qty_renderer, self.qty_cell_func) minimum_column = self.builder.get_object ('treeviewcolumn8') minimum_renderer = self.builder.get_object ('cellrenderertext9') minimum_column.set_cell_data_func(minimum_renderer, self.minimum_cell_func) maximum_column = self.builder.get_object ('treeviewcolumn9') maximum_renderer = self.builder.get_object ('cellrenderertext10') maximum_column.set_cell_data_func(maximum_renderer, self.maximum_cell_func) price_column = self.builder.get_object ('treeviewcolumn4') price_renderer = self.builder.get_object ('cellrenderertext5') price_column.set_cell_data_func(price_renderer, self.price_cell_func) s_price_column = self.builder.get_object ('treeviewcolumn13') s_price_renderer = self.builder.get_object ('cellrenderertext13') s_price_column.set_cell_data_func(s_price_renderer, self.s_price_cell_func) ext_price_column = self.builder.get_object ('treeviewcolumn6') ext_price_renderer = self.builder.get_object ('cellrenderertext7') ext_price_column.set_cell_data_func(ext_price_renderer, self.ext_price_cell_func) self.populate_product_store () self.populate_customer_store () self.calculate_totals () self.load_settings() self.window = self.builder.get_object('window') self.window.show_all()
import oandapyV20.endpoints.orders as orders from main import connect import traceback import settings accountID = "101-009-13639425-001" access_token = settings.ACCESS_TOKEN api = connect() def make_order(kind: str, units: int, order_type: str): if kind not in ["buy", "sell"]: raise Exception('kind must be "buy" or "sell"') if order_type not in ["MARKET", "STOP", "LIMIT"]: raise Exception('order_type must be "MARKET", "STOP" or "LIMIT"\ \n"MARKET"...成行\ \n"STOP"...逆指値\ \n"LIMIT"...指値') if kind == 'buy': units = "+" + str(units) if kind == 'sell': units = "-" + str(units) order_data = { "order": { "instrument": "USD_JPY", "units": units,
import main main.no_debug() main.connect()
def __init__(self, main, invoice_id = None): self.invoice_id = invoice_id self.builder = Gtk.Builder() self.builder.add_from_file(UI_FILE) self.builder.connect_signals(self) self.window = self.builder.get_object('window') self.edited_renderer_text = 1 self.qty_renderer_value = 1 self.invoice = None self.main = main self.db = main.db self.populating = False self.invoice_store = self.builder.get_object('invoice_store') self.location_store = self.builder.get_object('location_store') self.document_list_store = self.builder.get_object('document_list_store') enforce_target = Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags(1), 129) self.treeview = self.builder.get_object('treeview2') self.treeview.drag_dest_set(Gtk.DestDefaults.ALL, [enforce_target], Gdk.DragAction.COPY) self.treeview.connect("drag-data-received", self.on_drag_data_received) self.treeview.drag_dest_set_target_list([enforce_target]) self.cursor = self.db.cursor() self.handler_c_id = main.connect ("contacts_changed", self.populate_customer_store ) self.handler_p_id = main.connect ("products_changed", self.populate_product_store ) self.customer_id = 0 self.menu_visible = False textview = self.builder.get_object('comment_textview') spell_check.add_checker_to_widget (textview) self.customer_store = self.builder.get_object('customer_store') self.product_store = self.builder.get_object('product_store') self.barcodes_not_found_store = self.builder.get_object('barcodes_not_found_store') product_completion = self.builder.get_object('product_completion') product_completion.set_match_func(self.product_match_func) customer_completion = self.builder.get_object('customer_completion') customer_completion.set_match_func(self.customer_match_func) qty_column = self.builder.get_object ('treeviewcolumn1') qty_renderer = self.builder.get_object ('cellrenderertext2') qty_column.set_cell_data_func(qty_renderer, self.qty_cell_func) price_column = self.builder.get_object ('treeviewcolumn4') price_renderer = self.builder.get_object ('cellrenderertext5') price_column.set_cell_data_func(price_renderer, self.price_cell_func) tax_column = self.builder.get_object ('treeviewcolumn5') tax_renderer = self.builder.get_object ('cellrenderertext6') tax_column.set_cell_data_func(tax_renderer, self.tax_cell_func) ext_price_column = self.builder.get_object ('treeviewcolumn6') ext_price_renderer = self.builder.get_object ('cellrenderertext7') ext_price_column.set_cell_data_func(ext_price_renderer, self.ext_price_cell_func) self.document_type = "Invoice" self.populate_location_store () self.populate_customer_store () self.populate_product_store () self.builder.get_object('combobox2').set_active(0) self.calendar = DateTimeCalendar(self.db) self.calendar.connect('day-selected', self.calendar_day_selected) self.calendar.set_relative_to(self.builder.get_object('entry1')) self.calendar.set_today() if invoice_id != None: # edit an existing invoice; put all the existing items in the liststore self.populate_customer_store () self.set_widgets_sensitive () self.populate_invoice_items() self.cursor.execute("SELECT customer_id, COALESCE(dated_for, now())" "FROM invoices " "WHERE id = %s", (self.invoice_id,)) for row in self.cursor.fetchall(): customer_id = row[0] date = row[1] self.calendar.set_date(date) self.builder.get_object('combobox1').set_active_id(str(customer_id)) self.tax = 0 self.window.show_all() self.calculate_totals () GLib.idle_add(self.load_settings)