def __init__(self): gobject.GObject.__init__(self) self.builder = get_builder("warehousing" ) self.window = None self.treestore = None #self.grpCodeEntry = numberentry.NumberEntry() #box = self.builder.get_object("grpCodeBox") #box.add(self.grpCodeEntry) #self.grpCodeEntry.show() self.sellCodeEntry = numberentry.NumberEntry() box = self.builder.get_object("sellCodeBox") box.add(self.sellCodeEntry) self.sellCodeEntry.show() self.sellCodeEntry.connect("activate", self.selectSellingSubject) self.sellCodeEntry.set_tooltip_text(_("Press Enter to see available subjects.")) self.buyCodeEntry = numberentry.NumberEntry() box = self.builder.get_object("buyCodeBox") box.add(self.buyCodeEntry) self.buyCodeEntry.show() self.buyCodeEntry.connect("activate", self.selectBuyingSubject) self.buyCodeEntry.set_tooltip_text(_("Press Enter to see available subjects.")) self.builder.connect_signals(self)
def __init__(self): self.builder = get_builder("report") self.window = self.builder.get_object("window3") self.date = DateEntry() box = self.builder.get_object("datebox1") box.add(self.date) self.date.set_sensitive(False) self.date.set_activates_default(True) self.date.show() self.fdate = DateEntry() box = self.builder.get_object("fdatebox1") box.add(self.fdate) self.fdate.set_sensitive(False) self.fdate.set_activates_default(True) self.fdate.show() self.tdate = DateEntry() box = self.builder.get_object("tdatebox1") box.add(self.tdate) self.tdate.set_sensitive(False) self.tdate.set_activates_default(True) self.tdate.show() self.builder.get_object("allcontent1").set_active(True) self.window.show_all() self.builder.connect_signals(self)
def __init__(self): gobject.GObject.__init__(self) self.builder = get_builder("warehousing") self.window = None self.treestore = None #self.grpCodeEntry = numberentry.NumberEntry() #box = self.builder.get_object("grpCodeBox") #box.add(self.grpCodeEntry) #self.grpCodeEntry.show() self.sellCodeEntry = numberentry.NumberEntry() box = self.builder.get_object("sellCodeBox") box.add(self.sellCodeEntry) self.sellCodeEntry.show() self.sellCodeEntry.connect("activate", self.selectSellingSubject) self.sellCodeEntry.set_tooltip_text( _("Press Enter to see available subjects.")) self.buyCodeEntry = numberentry.NumberEntry() box = self.builder.get_object("buyCodeBox") box.add(self.buyCodeEntry) self.buyCodeEntry.show() self.buyCodeEntry.connect("activate", self.selectBuyingSubject) self.buyCodeEntry.set_tooltip_text( _("Press Enter to see available subjects.")) self.builder.connect_signals(self)
def __init__(self, background): self.main_window_background = background self.bank_names_count = 0 self.owner_id = -1 self.builder = helpers.get_builder('bankaccounts') self.builder.connect_signals(self) self.bankaccounts_class = class_bankaccounts.BankAccountsClass() combo = self.builder.get_object('bank_names_combo') model = Gtk.ListStore(str) combo.set_model(model) cell = Gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 0) for item in self.bankaccounts_class.get_bank_names(): iter = model.append() model.set(iter, 0, item.Name) self.bank_names_count += 1 combo = self.builder.get_object('account_types_combo') model = Gtk.ListStore(str) combo.set_model(model) cell = Gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 0) for item in (_("Current Account"), _("Savings Account")): iter = model.append() model.set(iter, 0, item) treeview = self.builder.get_object('treeview') model = Gtk.ListStore(str, str, str, str, str, str) treeview.set_model(model) column = Gtk.TreeViewColumn(_('Id'), Gtk.CellRendererText(), text=0) treeview.append_column(column) column = Gtk.TreeViewColumn(_('Account Name'), Gtk.CellRendererText(), text=1) treeview.append_column(column) column = Gtk.TreeViewColumn(_('Number'), Gtk.CellRendererText(), text=2) treeview.append_column(column) column = Gtk.TreeViewColumn(_('Owner'), Gtk.CellRendererText(), text=3) treeview.append_column(column) column = Gtk.TreeViewColumn(_('Type'), Gtk.CellRendererText(), text=4) treeview.append_column(column) column = Gtk.TreeViewColumn(_('Bank Name'), Gtk.CellRendererText(), text=5) treeview.append_column(column)
def __init__(self, background): self.main_window_background = background self.bank_names_count = 0 self.owner_id = -1 self.builder = helpers.get_builder('bankaccounts') self.builder.connect_signals(self) self.bankaccounts_class = class_bankaccounts.BankAccountsClass() combo = self.builder.get_object('bank_names_combo') model = gtk.ListStore(str) combo.set_model(model) cell = gtk.CellRendererText() combo.pack_start(cell) combo.add_attribute(cell, 'text', 0) for item in self.bankaccounts_class.get_bank_names(): iter = model.append() model.set(iter, 0, item.Name) self.bank_names_count+=1 combo = self.builder.get_object('account_types_combo') model = gtk.ListStore(str) combo.set_model(model) cell = gtk.CellRendererText() combo.pack_start(cell) combo.add_attribute(cell, 'text', 0) for item in ('جاری', 'حساب پس انداز'): iter = model.append() model.set(iter, 0, item) treeview = self.builder.get_object('treeview') model = gtk.ListStore(str, str, str, str, str, str) treeview.set_model(model) column = gtk.TreeViewColumn('id', gtk.CellRendererText(), text=0) treeview.append_column(column) column = gtk.TreeViewColumn('Account Name', gtk.CellRendererText(), text=1) treeview.append_column(column) column = gtk.TreeViewColumn('Number', gtk.CellRendererText(), text=2) treeview.append_column(column) column = gtk.TreeViewColumn('Owner', gtk.CellRendererText(), text=3) treeview.append_column(column) column = gtk.TreeViewColumn('Type', gtk.CellRendererText(), text=4) treeview.append_column(column) column = gtk.TreeViewColumn('Bank Name', gtk.CellRendererText(), text=5) treeview.append_column(column)
def __init__(self): gobject.GObject.__init__(self) self.builder = get_builder("customers") self.window = None self.treestore = None self.grpCodeEntry = numberentry.NumberEntry() box = self.builder.get_object("grpCodeBox") box.add(self.grpCodeEntry) self.grpCodeEntry.show() self.builder.connect_signals(self)
def __init__(self): self.builder = get_builder("report") self.window = self.builder.get_object("window2") self.number = numberentry.NumberEntry() box = self.builder.get_object("numbox") box.add(self.number) self.number.set_activates_default(True) self.number.show() config.db.session = config.db.session self.window.show_all() self.builder.connect_signals(self)
def __init__(self): self.builder = get_builder("report") self.window = self.builder.get_object("window2") self.number = Gtk.Entry() #numberentry.NumberEntry() box = self.builder.get_object("numbox") box.add(self.number) self.number.set_activates_default(True) self.number.show() self.builder.get_object("message").set_text("") self.window.show_all() self.builder.get_object("buttonPreview").connect( "clicked", self.previewReport) self.builder.get_object("buttonExport").connect( "clicked", self.exportToCSV) self.builder.get_object("buttonPrint").connect("clicked", self.printReport)
def __init__(self, content, heading=None): self.content = content self.heading = heading self.lines_per_page = 20 self.setDrawFunction("drawDefaultReport") self.builder = get_builder("report") self.treeview = self.builder.get_object("previewBox") self.treeview.set_direction(gtk.TEXT_DIR_LTR) self.liststore = gtk.ListStore(*([str] * len(self.heading))) self.pagecount = self.builder.get_object("pagecount") self.pageNumber = self.builder.get_object("pageNumber") self.current_page = 1 self.pageNumber.set_value(self.current_page) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL: halign = 1 else: halign = 0 index = 0 for label in self.heading: column = gtk.TreeViewColumn(label, gtk.CellRendererText(), text=index) column.set_alignment(halign) column.set_spacing(10) column.set_resizable(True) self.treeview.append_column(column) index += 1 self.treeview.set_model(self.liststore) self.window = self.builder.get_object("previewWidget") self.window.show_all() self.builder.connect_signals(self)
def __init__(self, content, heading=None): self.content = content self.heading = heading self.lines_per_page = 20 self.setDrawFunction("drawDefaultReport") self.builder = get_builder("report") self.treeview = self.builder.get_object("previewBox") self.treeview.set_direction(gtk.TEXT_DIR_LTR) self.liststore = gtk.ListStore(*([str] * len(self.heading))) self.pagecount = self.builder.get_object("pagecount") self.pageNumber = self.builder.get_object("pageNumber") self.current_page = 1 self.pageNumber.set_value(self.current_page) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 index = 0 for label in self.heading: column = gtk.TreeViewColumn(label, gtk.CellRendererText(), text=index) column.set_alignment(halign) column.set_spacing(10) column.set_resizable(True) self.treeview.append_column(column) index += 1 self.treeview.set_model(self.liststore) self.window = self.builder.get_object("previewWidget") self.window.show_all() self.builder.connect_signals(self)
def __init__(self): gobject.GObject.__init__(self) self.builder = get_builder("setting") self.window = self.builder.get_object("window1") self.filechooser = self.builder.get_object("filechooser") self.filename = self.builder.get_object("filename") self.treeview = self.builder.get_object("databases-table") self.treeview.set_direction(gtk.TEXT_DIR_LTR) self.liststore = gtk.ListStore(gobject.TYPE_BOOLEAN, str, str) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 crtoggle = gtk.CellRendererToggle() crtoggle.set_radio(True) # crtoggle.set_activatable(True) crtoggle.connect('toggled', self.changeCurrentDb, 0) column = gtk.TreeViewColumn(_("Current"), crtoggle, active=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Name"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Path"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.set_model(self.liststore) i = 0 for dbpath in config.dblist: if i == config.currentdb - 1: self.active_iter = self.liststore.append((True, config.dbnames[i], dbpath)) else: self.liststore.append((False, config.dbnames[i], dbpath)) i += 1 # self.olddb = self.builder.get_object("olddb") # self.newdb = self.builder.get_object("newdb") self.infolabel = self.builder.get_object("infolabel") self.infolabel.set_text(config.db.dbfile) self.langlist = self.builder.get_object("language") comboInsertItems(self.langlist, config.langlist) self.langlist.set_active(config.localelist.index(config.locale)) self.dateformat = self.builder.get_object("dateformat") comboInsertItems(self.dateformat, config.datetypes) self.dateformat.set_active(config.datetype) self.delimiter = self.builder.get_object("delimiter") comboInsertItems(self.delimiter, config.datedelims) self.delimiter.set_active(config.datedelim) self.dateorder = self.builder.get_object("dateorder") comboInsertItems(self.dateorder, []) for order in config.dateorders: self.dateorder.append_text(order[0] + " - " + order[1] + " - " + order[2]) self.dateorder.set_active(config.dateorder) self.uselatin = self.builder.get_object("uselatin") if config.digittype == 0: self.uselatin.set_active(True) else: self.uselatin.set_active(False) self.repair_atstart = self.builder.get_object("repair_atstart") self.repair_atstart.set_active(config.repair_atstart) self.builder.get_object("topmargin").set_value(config.topmargin) self.builder.get_object("botmargin").set_value(config.botmargin) self.builder.get_object("rightmargin").set_value(config.rightmargin) self.builder.get_object("leftmargin").set_value(config.leftmargin) self.builder.get_object("namefont").set_value(config.namefont) self.builder.get_object("headerfont").set_value(config.headerfont) self.builder.get_object("contentfont").set_value(config.contentfont) self.builder.get_object("footerfont").set_value(config.footerfont) paper_size = gtk.paper_size_new_from_ppd(config.paper_ppd, config.paper_name, config.paper_width, config.paper_height) self.page_setup = gtk.PageSetup() self.page_setup.set_paper_size(paper_size) self.page_setup.set_orientation(config.paper_orientation) self.builder.get_object("papersize").set_text(config.paper_name) self.setup_config_tab() self.window.show_all() self.builder.connect_signals(self)
def __init__(self): self.mode = None self.liststore = None # Chosen Type self.type_index = None self.from_id = self.to_id = -1 self.from_code = self.to_code = "" self.from_name = self.to_name = "" self.builder = helpers.get_builder('automaticaccounting') self.builder.connect_signals(self) self.chequeui = chequeui.ChequeUI(self.builder.get_object('non-cash-payment-label'),self.builder.get_object('spend-cheque-label')) # Date entry date_box = self.builder.get_object('date-box') self.date_entry = dateentry.DateEntry() date_box.pack_start(self.date_entry, False, False) self.current_time = self.date_entry.getDateObject() # type combo type_combo = self.builder.get_object('select-type') model = gtk.ListStore(str, str) type_combo.set_model(model) cell = gtk.CellRendererText() cell.set_visible(False) type_combo.pack_start(cell) type_combo.add_attribute(cell, 'text', 0) cell = gtk.CellRendererText() type_combo.pack_start(cell) type_combo.add_attribute(cell, 'text', 1) for item in self.type_names: iter = model.append() model.set(iter, 0, item[0], 1, item[1]) # payment table table = self.builder.get_object('payment-table') self.cash_payment_entry = decimalentry.DecimalEntry() self.cash_payment_entry.connect('changed', self.on_cash_payment_entry_change) table.attach(self.cash_payment_entry, 1, 2, 0, 1) self.discount_entry = decimalentry.DecimalEntry() self.discount_entry.connect('changed', self.on_discount_entry_change) table.attach(self.discount_entry, 1, 2, 3, 4) # names table table = self.builder.get_object('names-table') self.from_entry = gtk.Entry() self.from_entry.set_sensitive(False) table.attach(self.from_entry, 1, 2, 0, 1) self.to_entry = gtk.Entry() self.to_entry.set_sensitive(False) table.attach(self.to_entry, 1, 2, 1, 2) self.total_credit_entry = decimalentry.DecimalEntry() self.total_credit_entry.connect('changed', self.on_total_credit_entry_change) table.attach(self.total_credit_entry, 1, 2, 2, 3) # choose first type type_combo.set_active(0)
def __init__(self, number=0): self.builder = get_builder("document") self.window = self.builder.get_object("window1") self.window.set_title(_("Register new document")) self.date = dateentry.DateEntry() box = self.builder.get_object("datebox") box.add(self.date) self.date.show() self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() self.code.connect("activate", self.selectSubject) self.code.set_tooltip_text(_("Press Enter to see available subjects.")) self.amount = numberentry.NumberEntry() box = self.builder.get_object("amountbox") box.add(self.amount) self.amount.set_activates_default(True) self.amount.show() self.treeview = self.builder.get_object("treeview") self.treeview.set_direction(gtk.TEXT_DIR_LTR) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL: halign = 1 else: halign = 0 self.liststore = gtk.ListStore(str, str, str, str, str, str) column = gtk.TreeViewColumn(_("Index"), gtk.CellRendererText(), text=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) money_cell_renderer = gtk.CellRendererText() #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16 self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Description"), gtk.CellRendererText(), text=5) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE) # self.session = config.db.session self.debt_sum = 0 self.credit_sum = 0 self.numrows = 0 self.permanent = False if number > 0: query = config.db.session.query(Bill).select_from(Bill) bill = query.filter(Bill.number == number).first() self.docnumber = number if bill == None: numstring = str(number) if config.digittype == 1: numstring = utility.convertToPersian(numstring) msg = _( "No document found with number %s\nDo you want to register a document with this number?" ) % numstring msgbox = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL, msg) msgbox.set_title(_("No Documents found")) result = msgbox.run() msgbox.destroy() if result == gtk.RESPONSE_CANCEL: return else: self.docid = 0 docnum = str(self.docnumber) if config.digittype == 1: docnum = utility.convertToPersian(docnum) self.builder.get_object("docnumber").set_text(docnum) else: self.showRows(number) self.permanent = bill.permanent self.window.set_title(_("Edit document")) else: self.docnumber = 0 self.docid = 0 self.treeview.set_model(self.liststore) self.window.show_all() if self.permanent: self.builder.get_object("editable").hide() self.builder.get_object("non-editable").show() else: self.builder.get_object("editable").show() self.builder.get_object("non-editable").hide() self.builder.connect_signals(self)
def __init__(self, number=0): self.builder = get_builder("document") self.window = self.builder.get_object("window1") self.window.set_title(_("Register new document")) self.date = dateentry.DateEntry() box = self.builder.get_object("datebox") box.add(self.date) self.date.show() self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() self.code.connect("activate", self.selectSubject) self.code.set_tooltip_text(_("Press Enter to see available subjects.")) self.amount = numberentry.NumberEntry() box = self.builder.get_object("amountbox") box.add(self.amount) self.amount.set_activates_default(True) self.amount.show() self.treeview = self.builder.get_object("treeview") self.treeview.set_direction(gtk.TEXT_DIR_LTR) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 self.liststore = gtk.ListStore(str, str, str, str, str, str) column = gtk.TreeViewColumn(_("Index"), gtk.CellRendererText(), text=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) money_cell_renderer = gtk.CellRendererText() #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16 self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Description"), gtk.CellRendererText(), text=5) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE) # self.session = config.db.session self.debt_sum = 0 self.credit_sum = 0 self.numrows = 0 self.permanent = False if number > 0: query = config.db.session.query(Bill).select_from(Bill) bill = query.filter(Bill.number == number).first() self.docnumber = number if bill == None: numstring = str(number) if config.digittype == 1: numstring = utility.convertToPersian(numstring) msg = _("No document found with number %s\nDo you want to register a document with this number?") % numstring msgbox = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL, msg) msgbox.set_title(_("No Documents found")) result = msgbox.run() msgbox.destroy() if result == gtk.RESPONSE_CANCEL: return else: self.docid = 0 docnum = str(self.docnumber) if config.digittype == 1: docnum = utility.convertToPersian(docnum) self.builder.get_object("docnumber").set_text (docnum) else: self.showRows(number) self.permanent = bill.permanent self.window.set_title(_("Edit document")) else: self.docnumber = 0 self.docid = 0 self.treeview.set_model(self.liststore) self.window.show_all() if self.permanent: self.builder.get_object("editable").hide() self.builder.get_object("non-editable").show() else: self.builder.get_object("editable").show() self.builder.get_object("non-editable").hide() self.builder.connect_signals(self)
def __init__(self, number=0, background=None): self.main_window_background = background self.new_items = [] self.deleted_items = [] self.edit_items = [] self.builder = get_builder("document") self.window = self.builder.get_object("window1") self.window.set_title(_("Register new document")) self.date = dateentry.DateEntry() box = self.builder.get_object("datebox") box.add(self.date) self.date.show() self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() self.code.connect("activate", self.selectSubject) self.code.set_tooltip_text(_("Press Enter to see available subjects.")) self.amount = numberentry.NumberEntry() box = self.builder.get_object("amountbox") box.add(self.amount) self.amount.set_activates_default(True) self.amount.show() self.treeview = self.builder.get_object("treeview") #self.treeview.set_direction(gtk.TEXT_DIR_LTR) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 self.liststore = gtk.ListStore(str, str, str, str, str, str, str) column = gtk.TreeViewColumn(_("Index"), gtk.CellRendererText(), text=0) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=1) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=2) column.set_spacing(5) column.set_resizable(True) money_cell_renderer = gtk.CellRendererText() #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16 self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Description"), gtk.CellRendererText(), text=5) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) #column = gtk.TreeViewColumn(_("Notebook ID") , gtk.CellRendererText(), text=6) #column.set_alignment(halign) #column.set_spacing(5) #column.set_resizable(True) #self.treeview.append_column(column) self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE) self.debt_sum = 0 self.credit_sum = 0 self.numrows = 0 self.auto_win = None self.cl_document = class_document.Document() if number > 0: if self.cl_document.set_bill(number): self.showRows() self.window.set_title(_("Edit document")) else: numstring = utility.LN(number) msg = _("No document found with number %s\nDo you want to register a document with this number?") % numstring msgbox = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL, msg) msgbox.set_title(_("No Documents found")) result = msgbox.run() msgbox.destroy() if result == gtk.RESPONSE_CANCEL: return else: self.builder.get_object("docnumber").set_text (numstring) self.treeview.set_model(self.liststore) self.window.show_all() if self.cl_document.permanent: self.builder.get_object("editable").hide() self.builder.get_object("non-editable").show() else: self.builder.get_object("editable").show() self.builder.get_object("non-editable").hide() self.builder.connect_signals(self)
def __init__(self, number=0, background=None): self.main_window_background = background self.new_items = [] self.deleted_items = [] self.edit_items = [] self.builder = get_builder("document") self.window = self.builder.get_object("window1") # self.window.set_title(_("Register new document")) self.date = dateentry.DateEntry() box = self.builder.get_object("datebox") box.add(self.date) self.date.show() self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() self.code.connect("activate", self.selectSubject) self.code.set_tooltip_text(_("Press Enter to see available subjects.")) self.amount = decimalentry.DecimalEntry() box = self.builder.get_object("amountbox") box.add(self.amount) self.amount.set_activates_default(True) self.amount.show() self.treeview = self.builder.get_object("treeview") #self.treeview.set_direction(Gtk.TextDirection.LTR) # if Gtk.widget_get_default_direction() == Gtk.TextDirection.RTL : # halign = 1 # else: # halign = 0 self.liststore = Gtk.ListStore(str, str, str, str, str, str, str) column = Gtk.TreeViewColumn(_("Index"), Gtk.CellRendererText(), text=0) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Subject Code"), Gtk.CellRendererText(), text=1) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Subject Name"), Gtk.CellRendererText(), text=2) column.set_spacing(5) column.set_resizable(True) money_cell_renderer = Gtk.CellRendererText() #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16 self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Description"), Gtk.CellRendererText(), text=5) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) #column = Gtk.TreeViewColumn(_("Notebook ID") , Gtk.CellRendererText(), text=6) #column.set_alignment(halign) #column.set_spacing(5) #column.set_resizable(True) #self.treeview.append_column(column) self.treeview.get_selection().set_mode(Gtk.SelectionMode.SINGLE) self.debt_sum = 0 self.credit_sum = 0 self.numrows = 0 self.auto_win = None self.cl_document = class_document.Document() if number > 0: if self.cl_document.set_bill(number): self.showRows() self.window.set_title(_("Edit document")) else: numstring = utility.LN(number) msg = _( "No document found with number %s\nDo you want to register a document with this number?" ) % numstring msgbox = Gtk.MessageDialog(self.window, Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING, Gtk.ButtonsType.OK_CANCEL, msg) msgbox.set_title(_("No Documents found")) result = msgbox.run() msgbox.destroy() if result == Gtk.ResponseType.CANCEL: return else: self.builder.get_object("docnumber").set_text(numstring) self.treeview.set_model(self.liststore) self.window.show_all() self.builder.get_object("editable").hide() self.builder.get_object("non-editable").hide() if self.cl_document.permanent: # Pbill = config.db.session.query(Notebook).filter(Notebook.bill_id ==1).filter(or_(Notebook.chqId != 0 , Notebook.factorId != 0 ) ).first() # if Pbill : if number != 1: self.builder.get_object("non-editable").show() else: self.builder.get_object("editable").show() self.builder.connect_signals(self)
def __init__(self, transId=0, billId=0,transCode=0): #temp for vackground self.bank_names_count = 0 self.background = gtk.Fixed() self.background.put(gtk.image_new_from_file(os.path.join(config.data_path, "media", "background.png")), 0, 0) self.background.show_all() gobject.GObject.__init__(self) self.session = config.db.session self.builder = get_builder("SellingForm") self.window = self.builder.get_object("showPymnts") self.totalAmount = 0 self.numrecpts = 0 self.numcheqs = 0 self.transId = transId self.billId = billId self.transCode=transCode self.payer = None self.pymntAmntEntry = decimalentry.DecimalEntry() self.builder.get_object("pymntAmntBox").add(self.pymntAmntEntry) self.pymntAmntEntry.show() self.dueDateEntry = dateentry.DateEntry() self.builder.get_object("pymntDueDateBox").add(self.dueDateEntry) self.dueDateEntry.show() self.writeDateEntry = dateentry.DateEntry() self.builder.get_object("pymntWritingDateBox").add(self.writeDateEntry) self.writeDateEntry.show() self.cheqStatusList = self.builder.get_object("cheqStatusComboBox") comboInsertItems(self.cheqStatusList, self.chequeStatus) self.cheqStatusList.set_active(0) self.isCheque = self.builder.get_object("chequeRadioButton") self.isRecpt = self.builder.get_object("recieptRadioButton") self.pymntDescEntry = self.builder.get_object("pymntDescEntry") self.bankEntry = self.builder.get_object("bankEntry") # add for bankcombo 23/11/92 self.bankaccounts_class = class_bankaccounts.BankAccountsClass() self.bankCombo = self.builder.get_object('bank_names_combo') model = gtk.ListStore(str) self.bankCombo.set_model(model) cell = gtk.CellRendererText() self.bankCombo.pack_start(cell) self.bankCombo.add_attribute(cell, 'text', 0) for item in self.bankaccounts_class.get_bank_names(): iter = model.append() model.set(iter, 0, item.Name) self.bank_names_count+=1 self.serialNoEntry = self.builder.get_object("serialNoEntry") self.payerEntry = self.builder.get_object("payerNameEntry") self.payerEntry.set_sensitive(False) self.builder.get_object("choose Payer").set_sensitive(False) self.trackingCodeEntry = self.builder.get_object("trackingCodeEntry") self.bankAccountEntry = self.builder.get_object("bankAccountEntry") self.paysTreeView = self.builder.get_object("receiptTreeView") self.paysListStore = gtk.ListStore(str, str, str, str, str, str, str, str, str) self.paysListStore.clear() self.paysTreeView.set_model(self.paysListStore) self.cheqTreeView = self.builder.get_object("chequeTreeView") self.cheqListStore = gtk.ListStore(str, str, str, str, str, str, str, str, str) self.cheqListStore.clear() self.cheqTreeView.set_model(self.cheqListStore) payHeaders = (_("No."), _("Paid by"), _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Track Code"), _("Description")) txt = 0 for header in payHeaders: column = gtk.TreeViewColumn(header,gtk.CellRendererText(),text = txt) column.set_spacing(5) column.set_resizable(True) self.paysTreeView.append_column(column) txt += 1 cheqHeaders = (_("No."), _("Paid by"), _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Status"), _("Description")) txt = 0 for header in cheqHeaders: column = gtk.TreeViewColumn(header,gtk.CellRendererText(),text = txt) column.set_spacing(5) column.set_resizable(True) self.cheqTreeView.append_column(column) txt += 1 self.builder.connect_signals(self)
def __init__(self, non_cash_label=None, spend_label=None): ## A list contains information about new cheques # # to remove all cheques for reseting form cheques_ui_obj.new_cheques = [] self.cheque_class = class_cheque.ClassCheque() self.new_cheques = [] #self.is_edit is a var that check the form called by add function or edit function ## a list contains informations about selected cheques for spending #self.spend_cheques only keep serial of cheque and values self.spend_cheques = [] self.is_edit = 0 self.non_cash_payment_label = non_cash_label self.spend_label = spend_label self.mode = 'our' self.bank_accounts = class_bankaccounts.BankAccountsClass() # User Interface self.builder = helpers.get_builder('cheque') self.builder.connect_signals(self) self.amount_entry = decimalentry.DecimalEntry() self.write_date = dateentry.DateEntry() self.due_date = dateentry.DateEntry() add_table = self.builder.get_object('add_table') add_table.attach(self.amount_entry, 1, 2, 1, 2, gtk.EXPAND | gtk.FILL, gtk.SHRINK) add_table.attach(self.write_date, 1, 2, 3, 4, gtk.EXPAND | gtk.FILL, gtk.SHRINK) add_table.attach(self.due_date, 1, 2, 4, 5, gtk.EXPAND | gtk.FILL, gtk.SHRINK) self.builder.get_object('list_cheque_window').resize(400, 1) self.builder.get_object('desc_frame').set_size_request(0, 100) model = gtk.ListStore(str, str, str, str, str, str, str) treeview = self.builder.get_object('list_cheque_treeview') treeview.set_model(model) column = gtk.TreeViewColumn(_("Customer"), gtk.CellRendererText(), text=0) treeview.append_column(column) column = gtk.TreeViewColumn(_("Bank Account"), gtk.CellRendererText(), text=1) treeview.append_column(column) column = gtk.TreeViewColumn(_("Bank/Branch"), gtk.CellRendererText(), text=2) treeview.append_column(column) column = gtk.TreeViewColumn(_("Serial"), gtk.CellRendererText(), text=3) treeview.append_column(column) column = gtk.TreeViewColumn(_("Amount"), gtk.CellRendererText(), text=4) treeview.append_column(column) self.new_cheques = [] column = gtk.TreeViewColumn(_("Due Date"), gtk.CellRendererText(), text=5) treeview.append_column(column) model = gtk.ListStore(str, str, str) combo = self.builder.get_object('bank_accounts') combo.set_model(model) cell = gtk.CellRendererText() cell.set_visible(False) combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 0) cell = gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 1) cell = gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 2)
def __init__(self, ledgers_only=False, parent_id=[ 0, ], multiselect=False): GObject.GObject.__init__(self) self.builder = get_builder("notebook") self.window = self.builder.get_object("subjectswindow") self.window.set_modal(True) self.treeview = self.builder.get_object("treeview") # if Gtk.widget_get_default_direction() == Gtk.TextDirection.RTL : # halign = 1 # else: # halign = 0 self.treestore = Gtk.TreeStore(str, str, str, str, str) column = Gtk.TreeViewColumn(_("Subject Code"), Gtk.CellRendererText(), text=0) # column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Subject Name"), Gtk.CellRendererText(), text=1) # column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Debtor or Creditor"), Gtk.CellRendererText(), text=2) # column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Sum"), Gtk.CellRendererText(), text=3) # column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = Gtk.TreeViewColumn(_("Permanent"), Gtk.CellRendererText(), text=4) # column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.get_selection().set_mode(Gtk.SelectionMode.SINGLE) self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() #config.db.session = config.db.session Subject1 = aliased(Subject, name="s1") Subject2 = aliased(Subject, name="s2") #Find top level ledgers (with parent_id equal to 0) query = config.db.session.query(Subject1.code, Subject1.name, Subject1.type, Subject1.lft, Subject1.rgt, count(Subject2.id), Subject1.permanent) query = query.select_from( outerjoin(Subject1, Subject2, Subject1.id == Subject2.parent_id)) if len(parent_id) == 1: result = query.filter(Subject1.parent_id == parent_id[0]).group_by( Subject1.id).all() else: result = query.filter(Subject1.id.in_(parent_id)).group_by( Subject1.id).all() for a in result: type = _(self.subjecttypes[a[2]]) permanent = _("Permanent") if a[6] == True else "-" code = LN(a[0], False) #-------- subject_sum = config.db.session.query(sum( Notebook.value)).select_from( outerjoin(Subject, Notebook, Subject.id == Notebook.subject_id)) subject_sum = subject_sum.filter( and_(Subject.lft >= a.lft, Subject.lft <= a.rgt)).first() subject_sum = subject_sum[0] if (subject_sum == None): subject_sum = LN("0") else: if (subject_sum < 0): subject_sum = "( -" + LN(-subject_sum) + " )" else: subject_sum = LN(subject_sum) iter = self.treestore.append( None, (code, a[1], type, subject_sum, permanent)) if (a[5] != 0 and ledgers_only == False): #Add empty subledger to show expander for ledgers which have chidren self.treestore.append(iter, ("", "", "", "", "")) if ledgers_only == True: btn = self.builder.get_object("addsubtoolbutton") btn.hide() self.treeview.set_model(self.treestore) self.treestore.set_sort_column_id(0, Gtk.SortType.ASCENDING) self.window.show_all() self.builder.connect_signals(self) #self.rebuild_nested_set(0, 0) if multiselect: self.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) self.builder.get_object('toolbar4').hide() self.builder.get_object('statusbar1').hide() else: self.builder.get_object('hbox5').hide()
def __init__(self, transId=0, billId=0, transCode=0): #temp for vackground self.bank_names_count = 0 self.background = gtk.Fixed() self.background.put( gtk.image_new_from_file( os.path.join(config.data_path, "media", "background.png")), 0, 0) self.background.show_all() gobject.GObject.__init__(self) self.session = config.db.session self.builder = get_builder("SellingForm") self.window = self.builder.get_object("showPymnts") self.totalAmount = 0 self.numrecpts = 0 self.numcheqs = 0 self.transId = transId self.billId = billId self.transCode = transCode self.payer = None self.pymntAmntEntry = decimalentry.DecimalEntry() self.builder.get_object("pymntAmntBox").add(self.pymntAmntEntry) self.pymntAmntEntry.show() self.dueDateEntry = dateentry.DateEntry() self.builder.get_object("pymntDueDateBox").add(self.dueDateEntry) self.dueDateEntry.show() self.writeDateEntry = dateentry.DateEntry() self.builder.get_object("pymntWritingDateBox").add(self.writeDateEntry) self.writeDateEntry.show() self.cheqStatusList = self.builder.get_object("cheqStatusComboBox") comboInsertItems(self.cheqStatusList, self.chequeStatus) self.cheqStatusList.set_active(0) self.isCheque = self.builder.get_object("chequeRadioButton") self.isRecpt = self.builder.get_object("recieptRadioButton") self.pymntDescEntry = self.builder.get_object("pymntDescEntry") self.bankEntry = self.builder.get_object("bankEntry") # add for bankcombo 23/11/92 self.bankaccounts_class = class_bankaccounts.BankAccountsClass() self.bankCombo = self.builder.get_object('bank_names_combo') model = gtk.ListStore(str) self.bankCombo.set_model(model) cell = gtk.CellRendererText() self.bankCombo.pack_start(cell) self.bankCombo.add_attribute(cell, 'text', 0) for item in self.bankaccounts_class.get_bank_names(): iter = model.append() model.set(iter, 0, item.Name) self.bank_names_count += 1 self.serialNoEntry = self.builder.get_object("serialNoEntry") self.payerEntry = self.builder.get_object("payerNameEntry") self.payerEntry.set_sensitive(False) self.builder.get_object("choose Payer").set_sensitive(False) self.trackingCodeEntry = self.builder.get_object("trackingCodeEntry") self.bankAccountEntry = self.builder.get_object("bankAccountEntry") self.paysTreeView = self.builder.get_object("receiptTreeView") self.paysListStore = gtk.ListStore(str, str, str, str, str, str, str, str, str) self.paysListStore.clear() self.paysTreeView.set_model(self.paysListStore) self.cheqTreeView = self.builder.get_object("chequeTreeView") self.cheqListStore = gtk.ListStore(str, str, str, str, str, str, str, str, str) self.cheqListStore.clear() self.cheqTreeView.set_model(self.cheqListStore) payHeaders = (_("No."), _("Paid by"), _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Track Code"), _("Description")) txt = 0 for header in payHeaders: column = gtk.TreeViewColumn(header, gtk.CellRendererText(), text=txt) column.set_spacing(5) column.set_resizable(True) self.paysTreeView.append_column(column) txt += 1 cheqHeaders = (_("No."), _("Paid by"), _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Status"), _("Description")) txt = 0 for header in cheqHeaders: column = gtk.TreeViewColumn(header, gtk.CellRendererText(), text=txt) column.set_spacing(5) column.set_resizable(True) self.cheqTreeView.append_column(column) txt += 1 self.builder.connect_signals(self)
def __init__(self, ledgers_only=False, parent_id=[ 0, ], multiselect=False): GObject.GObject.__init__(self) self.builder = get_builder("user") self.window = self.builder.get_object("viewUsers") self.userTreeview = self.builder.get_object("usersTreeview") self.userTreestore = Gtk.TreeStore(int, str, str, str) column = Gtk.TreeViewColumn(_("ID"), Gtk.CellRendererText(), text=0) column.set_spacing(5) column.set_resizable(True) self.userTreeview.append_column(column) column = Gtk.TreeViewColumn(_("Name"), Gtk.CellRendererText(), text=1) column.set_spacing(5) column.set_resizable(True) self.userTreeview.append_column(column) column = Gtk.TreeViewColumn(_("Username"), Gtk.CellRendererText(), text=2) column.set_spacing(5) column.set_resizable(True) self.userTreeview.append_column(column) column = Gtk.TreeViewColumn(_("Permission"), Gtk.CellRendererText(), text=3) column.set_spacing(5) column.set_resizable(True) self.userTreeview.append_column(column) #Find top level ledgers (with parent_id equal to 0) result = config.db.session.query(Users.id, Users.name, Users.username, Users.permission).all() for a in result: permissionName = config.db.session.query(Permissions.name).filter( Permissions.id == a.permission).first() if permissionName: iter = self.userTreestore.append( None, (a.id, a.name, a.username, permissionName[0])) if ledgers_only == True: btn = self.builder.get_object("addsubtoolbutton") btn.hide() self.userTreeview.set_model(self.userTreestore) self.userTreestore.set_sort_column_id(0, Gtk.SortType.ASCENDING) self.window.show_all() self.builder.connect_signals(self) if checkPermission(2): self.builder.get_object("addUserButton").hide() if checkPermission(8): self.builder.get_object("editUserButton").hide() if checkPermission(16): self.builder.get_object("deleteUserBtn").hide() if multiselect: self.userTreeview.get_selection().set_mode( Gtk.SelectionMode.MULTIPLE) self.groupTreestore.get_selection().set_mode( Gtk.SelectionMode.MULTIPLE) self.builder.get_object('toolbar4').hide() self.builder.get_object('statusbar1').hide() else: self.builder.get_object('hbox5').hide() self.numberOfCheckboxes = 24
def __init__(self, type=1): self.builder = get_builder("report") self.window = self.builder.get_object("window1") self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() self.code.connect("activate", self.selectSubject) self.code.set_tooltip_text(_("Press Enter to see available subjects.")) self.date = DateEntry() box = self.builder.get_object("datebox") box.add(self.date) self.date.set_sensitive(False) self.date.set_activates_default(True) self.date.show() self.fdate = DateEntry() box = self.builder.get_object("fdatebox") box.add(self.fdate) self.fdate.set_sensitive(False) self.fdate.set_activates_default(True) self.fdate.show() self.tdate = DateEntry() box = self.builder.get_object("tdatebox") box.add(self.tdate) self.tdate.set_sensitive(False) self.tdate.set_activates_default(True) self.tdate.show() self.fnum = numberentry.NumberEntry() box = self.builder.get_object("fnumbox") box.add(self.fnum) self.fnum.set_sensitive(False) self.fnum.set_activates_default(True) self.fnum.show() self.tnum = numberentry.NumberEntry() box = self.builder.get_object("tnumbox") box.add(self.tnum) self.tnum.set_sensitive(False) self.tnum.set_activates_default(True) self.tnum.show() self.builder.get_object("allcontent").set_active(True) self.type = type self.subcode = "" self.subname = "" self.window.show_all() self.builder.connect_signals(self) if type == self.__class__.DAILY: self.builder.get_object("subjectbox").hide() self.window.set_title(_("Daily NoteBook")) elif type == self.__class__.LEDGER: self.window.set_title(_("Ledgers NoteBook")) else: self.window.set_title(_("Sub-ledgers NoteBook"))
def __init__(self, ledgers_only=False): gobject.GObject.__init__(self) self.builder = get_builder("notebook") self.window = self.builder.get_object("subjectswindow") self.window.set_modal(True) self.treeview = self.builder.get_object("treeview") self.treeview.set_direction(gtk.TEXT_DIR_LTR) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL: halign = 1 else: halign = 0 self.treestore = gtk.TreeStore(str, str, str, str) column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Debtor or Creditor"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Sum"), gtk.CellRendererText(), text=3) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE) self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() config.db.session = config.db.session Subject1 = aliased(Subject, name="s1") Subject2 = aliased(Subject, name="s2") #Find top level ledgers (with parent_id equal to 0) query = config.db.session.query(Subject1.code, Subject1.name, Subject1.type, Subject1.lft, Subject1.rgt, count(Subject2.id)) query = query.select_from( outerjoin(Subject1, Subject2, Subject1.id == Subject2.parent_id)) result = query.filter(Subject1.parent_id == 0).group_by( Subject1.id).all() for a in result: type = _(self.__class__.subjecttypes[a[2]]) code = a[0] if config.digittype == 1: code = utility.convertToPersian(code) #-------- subject_sum = config.db.session.query(sum( Notebook.value)).select_from( outerjoin(Subject, Notebook, Subject.id == Notebook.subject_id)) subject_sum = subject_sum.filter( and_(Subject.lft >= a.lft, Subject.lft <= a.rgt)).first() subject_sum = subject_sum[0] if (subject_sum == None): subject_sum = utility.showNumber("0") else: if (subject_sum < 0): subject_sum = "( -" + utility.showNumber( -subject_sum) + " )" else: subject_sum = utility.showNumber(subject_sum) iter = self.treestore.append(None, (code, a[1], type, subject_sum)) if (a[5] != 0 and ledgers_only == False): #Add empty subledger to show expander for ledgers which have chidren self.treestore.append(iter, ("", "", "", "")) if ledgers_only == True: btn = self.builder.get_object("addsubtoolbutton") btn.hide() self.treeview.set_model(self.treestore) self.treestore.set_sort_column_id(0, gtk.SORT_ASCENDING) self.window.show_all() self.builder.connect_signals(self)
def __init__ (self, ledgers_only=False): gobject.GObject.__init__(self) self.builder = get_builder("notebook") self.window = self.builder.get_object("subjectswindow") self.window.set_modal(True) self.treeview = self.builder.get_object("treeview") self.treeview.set_direction(gtk.TEXT_DIR_LTR) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 self.treestore = gtk.TreeStore(str, str, str, str) column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Debtor or Creditor"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Sum"), gtk.CellRendererText(), text=3) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE) self.code = numberentry.NumberEntry() box = self.builder.get_object("codebox") box.add(self.code) self.code.show() config.db.session = config.db.session Subject1 = aliased(Subject, name="s1") Subject2 = aliased(Subject, name="s2") #Find top level ledgers (with parent_id equal to 0) query = config.db.session.query(Subject1.code, Subject1.name, Subject1.type, Subject1.lft, Subject1.rgt, count(Subject2.id)) query = query.select_from(outerjoin(Subject1, Subject2, Subject1.id == Subject2.parent_id)) result = query.filter(Subject1.parent_id == 0).group_by(Subject1.id).all() for a in result : type = _(self.__class__.subjecttypes[a[2]]) code = a[0] if config.digittype == 1: code = utility.convertToPersian(code) #-------- subject_sum = config.db.session.query(sum(Notebook.value)).select_from(outerjoin(Subject, Notebook, Subject.id == Notebook.subject_id)) subject_sum = subject_sum.filter(and_(Subject.lft >= a.lft, Subject.lft <= a.rgt)).first() subject_sum = subject_sum[0] if(subject_sum == None): subject_sum = utility.showNumber("0") else : if(subject_sum < 0): subject_sum = "( -" + utility.showNumber(-subject_sum) + " )" else : subject_sum = utility.showNumber(subject_sum) iter = self.treestore.append(None, (code, a[1], type, subject_sum)) if (a[5] != 0 and ledgers_only == False) : #Add empty subledger to show expander for ledgers which have chidren self.treestore.append(iter, ("", "", "", "")) if ledgers_only == True: btn = self.builder.get_object("addsubtoolbutton") btn.hide() self.treeview.set_model(self.treestore) self.treestore.set_sort_column_id(0, gtk.SORT_ASCENDING) self.window.show_all() self.builder.connect_signals(self)
def __init__(self, transId=0, sellFlag=1, spendCheque=False): #temp for vackground self.bank_names_count = 0 self.sellFlag = sellFlag self.chequesList = [] self.lastChqID = 0 #self.background = Gtk.Fixed() #self.background.put(Gtk.Image.new_from_file(os.path.join(config.data_path, "media", "background.png")), 0, 0) # not working ! #self.background.show_all() GObject.GObject.__init__(self) self.session = config.db.session self.builder = get_builder("cheque") self.window = self.builder.get_object("showPymnts") self.addPymntDlg = self.builder.get_object("addPaymentDlg") #self.spendCheque = spendCheque if spendCheque: # if is from automatic accounting-> spend cheque self.builder.get_object("addpaymentBtn").set_sensitive(False) self.builder.get_object("editPaymentBtn").set_sensitive(False) self.builder.get_object("selectPayBtn").set_sensitive(True) if transId: # if is from adding/editing factors self.builder.get_object("selectPayBtn").set_sensitive(True) self.totalAmount = 0 self.numrecpts = 0 self.numcheqs = 0 self.transId = transId self.payer = None self.pymntAmntEntry = decimalentry.DecimalEntry() self.builder.get_object("pymntAmntBox").add(self.pymntAmntEntry) self.pymntAmntEntry.show() self.dueDateEntry = dateentry.DateEntry() self.builder.get_object("pymntDueDateBox").add(self.dueDateEntry) self.dueDateEntry.show() self.writeDateEntry = dateentry.DateEntry() self.builder.get_object("pymntWritingDateBox").add(self.writeDateEntry) self.writeDateEntry.show() self.chequeStatusLbl = self.builder.get_object("chequeStatusLbl") self.isCheque = self.builder.get_object("chequeRadioButton") self.pymntDescEntry = self.builder.get_object("pymntDescEntry") self.bankEntry = self.builder.get_object("bankEntry") if not self.sellFlag: self.builder.get_object("chooseBankBtn").set_sensitive(False) # add for bankcombo 23/11/92 self.bankaccounts_class = class_bankaccounts.BankAccountsClass() self.bankCombo = self.builder.get_object('bank_names_combo') model = Gtk.ListStore(str) self.bankCombo.set_model(model) cell = Gtk.CellRendererText() self.bankCombo.pack_start(cell, True) # self.bankCombo.add_attribute(cell, 'text', 0) self.serialNoEntry = self.builder.get_object("serialNoEntry") self.payerEntry = self.builder.get_object("payerNameEntry") self.customerNameLbl = self.builder.get_object("customerNameLbl") self.cheqTreeView = self.builder.get_object("chequeTreeView") self.cheqListStore = Gtk.ListStore(str, str, str, str, str, str, str, str, str, str) self.cheqListStore.clear() self.cheqTreeView.set_model(self.cheqListStore) payByTo = _("Payid by") if sellFlag else _("Payid to") cheqHeaders = (_("ID"), _("No."), payByTo, _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Status"), _("Description")) txt = 0 for header in cheqHeaders: column = Gtk.TreeViewColumn(header, Gtk.CellRendererText(), text=txt) column.set_spacing(5) column.set_resizable(True) self.cheqTreeView.append_column(column) txt += 1 self.chqSltWindow = self.builder.get_object("selectCheque") self.freeChequesTreeview = self.builder.get_object( "freeChequesTreeview") self.sltCheqListStore = Gtk.ListStore(str, str, str, str, str, str, str, str, str, str) self.sltCheqListStore.clear() self.freeChequesTreeview.set_model(self.sltCheqListStore) payByTo = "Customer" cheqHeaders = (_("ID"), _("No."), payByTo, _("Amount"), _("Writing date"), _("Due Date"), _("Bank"), _("Serial No."), _("Status"), _("Description")) txt = 0 for header in cheqHeaders: column = Gtk.TreeViewColumn(header, Gtk.CellRendererText(), text=txt) column.set_spacing(5) column.set_resizable(True) self.freeChequesTreeview.append_column(column) txt += 1 self.builder.connect_signals(self)
def __init__(self): self.builder = get_builder("chequereport") self.window = self.builder.get_object("windowChequeReport") self.window.set_title(_("Cheques Report")) self.treeviewIncoming = self.builder.get_object("treeviewIncoming") self.treeviewOutgoing = self.builder.get_object("treeviewOutgoing") self.treeviewNotPassed = self.builder.get_object("treeviewNotPassed") self.treeviewNotCashed = self.builder.get_object("treeviewNotCashed") self.treeviewDeleted = self.builder.get_object("treeviewDeleted") self.treeviewCashed = self.builder.get_object("treeviewCashed") self.treeviewPassed = self.builder.get_object("treeviewPassed") self.treeviewSpent = self.builder.get_object("treeviewSpent") self.treeviewBounced = self.builder.get_object("treeviewBounced") self.treeviewBouncedP = self.builder.get_object("treeviewBouncedP") self.treeviewReturnedT = self.builder.get_object("treeviewReturnedT") self.treeviewReturnedF = self.builder.get_object("treeviewReturnedF") self.treeviewFloat = self.builder.get_object("treeviewFloat") self.treestoreIncoming = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreOutgoing = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreNotPassed = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreNotCashed = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreDeleted = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestorePassed = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreCashed = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreSpent = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreBounced = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreBouncedP = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreReturnedT = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreReturnedF = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treestoreFloat = Gtk.TreeStore(str, str, str, str, str, str, str, str, str, str) self.treeviewIncoming.set_model(self.treestoreIncoming) self.treeviewOutgoing.set_model(self.treestoreOutgoing) self.treeviewNotPassed.set_model(self.treestoreNotPassed) self.treeviewNotCashed.set_model(self.treestoreNotCashed) self.treeviewDeleted.set_model(self.treestoreDeleted) self.treeviewPassed.set_model(self.treestorePassed) self.treeviewCashed.set_model(self.treestoreCashed) self.treeviewSpent.set_model(self.treestoreSpent) self.treeviewBounced.set_model(self.treestoreBounced) self.treeviewBouncedP.set_model(self.treestoreBouncedP) self.treeviewReturnedT.set_model(self.treestoreReturnedT) self.treeviewReturnedF.set_model(self.treestoreReturnedF) self.treeviewFloat.set_model(self.treestoreFloat) headers = (_("ID"), _("Amount"), _("Write Date"), _("Due Date"), _("Serial"), _("Customer Name"), _("Account"), _("Description"), _("Bill ID"), _("Status")) for treeview in self.treeviews: i = 0 for header in headers: column = Gtk.TreeViewColumn(str(header), Gtk.CellRendererText(), text=i) column.set_spacing(5) column.set_resizable(True) column.set_sort_column_id(i) column.set_sort_indicator(True) self.builder.get_object(treeview).append_column(column) i += 1 self.window.show_all() self.builder.connect_signals(self) dateFromEntry = self.builder.get_object("dateFromSearchentry") dateToEntry = self.builder.get_object("dateToSearchentry") dateFromEntry1 = self.builder.get_object("dateFromSearchentry1") dateToEntry1 = self.builder.get_object("dateToSearchentry1") if share.config.datetypes[share.config.datetype] == "jalali": (year, month, day) = ("1397", "12", "20") else: (year, month, day) = ("2018", "12", "20") datelist = ["", "", ""] datelist[share.config.datefields["year"]] = year datelist[share.config.datefields["month"]] = month datelist[share.config.datefields["day"]] = day delimiter = share.config.datedelims[share.config.datedelim] placeH = datelist[0] + delimiter + datelist[1] + delimiter + datelist[2] dateToEntry.set_placeholder_text(placeH) dateFromEntry.set_placeholder_text(placeH) dateToEntry1.set_placeholder_text(placeH) dateFromEntry1.set_placeholder_text(placeH) self.date_entry = dateentry.DateEntry() self.current_time = self.date_entry.getDateObject() self.createHistoryTreeview()
def __init__(self): gobject.GObject.__init__(self) self.builder = get_builder("setting") self.window = self.builder.get_object("window1") self.filechooser = self.builder.get_object("filechooser") self.filename = self.builder.get_object("filename") self.treeview = self.builder.get_object("databases-table") self.treeview.set_direction(gtk.TEXT_DIR_LTR) self.liststore = gtk.ListStore(gobject.TYPE_BOOLEAN, str, str) if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL : halign = 1 else: halign = 0 crtoggle = gtk.CellRendererToggle() crtoggle.set_radio(True) # crtoggle.set_activatable(True) crtoggle.connect('toggled', self.changeCurrentDb, 0) column = gtk.TreeViewColumn(_("Current"), crtoggle, active=0) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Name"), gtk.CellRendererText(), text=1) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) column = gtk.TreeViewColumn(_("Path"), gtk.CellRendererText(), text=2) column.set_alignment(halign) column.set_spacing(5) column.set_resizable(True) self.treeview.append_column(column) self.treeview.set_model(self.liststore) i = 0 for dbpath in config.dblist: if i == config.currentdb - 1: self.active_iter = self.liststore.append((True, config.dbnames[i], dbpath)) else: self.liststore.append((False, config.dbnames[i], dbpath)) i += 1 # self.olddb = self.builder.get_object("olddb") # self.newdb = self.builder.get_object("newdb") self.infolabel = self.builder.get_object("infolabel") self.infolabel.set_text(config.db.dbfile) self.langlist = self.builder.get_object("language") comboInsertItems(self.langlist, config.langlist) self.langlist.set_active(config.localelist.index(config.locale)) self.dateformat = self.builder.get_object("dateformat") comboInsertItems(self.dateformat, config.datetypes) self.dateformat.set_active(config.datetype) self.delimiter = self.builder.get_object("delimiter") comboInsertItems(self.delimiter, config.datedelims) self.delimiter.set_active(config.datedelim) self.dateorder = self.builder.get_object("dateorder") comboInsertItems(self.dateorder, []) for order in config.dateorders: self.dateorder.append_text(order[0] + " - " + order[1] + " - " + order[2]) self.dateorder.set_active(config.dateorder) self.uselatin = self.builder.get_object("uselatin") if config.digittype == 0: self.uselatin.set_active(True) else: self.uselatin.set_active(False) self.repair_atstart = self.builder.get_object("repair_atstart") self.repair_atstart.set_active(config.repair_atstart) self.builder.get_object("topmargin").set_value(config.topmargin) self.builder.get_object("botmargin").set_value(config.botmargin) self.builder.get_object("rightmargin").set_value(config.rightmargin) self.builder.get_object("leftmargin").set_value(config.leftmargin) self.builder.get_object("namefont").set_value(config.namefont) self.builder.get_object("headerfont").set_value(config.headerfont) self.builder.get_object("contentfont").set_value(config.contentfont) self.builder.get_object("footerfont").set_value(config.footerfont) paper_size = gtk.paper_size_new_from_ppd(config.paper_ppd, config.paper_name, config.paper_width, config.paper_height) self.page_setup = gtk.PageSetup() self.page_setup.set_paper_size(paper_size) self.page_setup.set_orientation(config.paper_orientation) self.builder.get_object("papersize").set_text(config.paper_name) self.window.show_all() self.builder.connect_signals(self)
def __init__(self, non_cash_label=None, spend_label = None): ## A list contains information about new cheques # # to remove all cheques for reseting form cheques_ui_obj.new_cheques = [] self.cheque_class = class_cheque.ClassCheque() self.new_cheques = [] #self.is_edit is a var that check the form called by add function or edit function ## a list contains informations about selected cheques for spending #self.spend_cheques only keep serial of cheque and values self.spend_cheques = [] self.is_edit = 0 self.non_cash_payment_label = non_cash_label self.spend_label = spend_label self.mode = 'our' self.bank_accounts = class_bankaccounts.BankAccountsClass() # User Interface self.builder = helpers.get_builder('cheque') self.builder.connect_signals(self) self.amount_entry = decimalentry.DecimalEntry() self.write_date = dateentry.DateEntry() self.due_date = dateentry.DateEntry() add_table = self.builder.get_object('add_table') add_table.attach(self.amount_entry, 1, 2, 1, 2, gtk.EXPAND|gtk.FILL, gtk.SHRINK) add_table.attach(self.write_date , 1, 2, 3, 4, gtk.EXPAND|gtk.FILL, gtk.SHRINK) add_table.attach(self.due_date , 1, 2, 4, 5, gtk.EXPAND|gtk.FILL, gtk.SHRINK) self.builder.get_object('list_cheque_window').resize(400, 1) self.builder.get_object('desc_frame').set_size_request(0, 100) model = gtk.ListStore(str, str, str, str, str, str, str) treeview = self.builder.get_object('list_cheque_treeview') treeview.set_model(model) column = gtk.TreeViewColumn(_("Customer"), gtk.CellRendererText(), text=0) treeview.append_column(column) column = gtk.TreeViewColumn(_("Bank Account"), gtk.CellRendererText(), text=1) treeview.append_column(column) column = gtk.TreeViewColumn(_("Bank/Branch"), gtk.CellRendererText(), text=2) treeview.append_column(column) column = gtk.TreeViewColumn(_("Serial"), gtk.CellRendererText(), text=3) treeview.append_column(column) column = gtk.TreeViewColumn(_("Amount"), gtk.CellRendererText(), text=4) treeview.append_column(column) self.new_cheques = [] column = gtk.TreeViewColumn(_("Due Date"), gtk.CellRendererText(), text=5) treeview.append_column(column) model = gtk.ListStore(str, str, str) combo = self.builder.get_object('bank_accounts') combo.set_model(model) cell = gtk.CellRendererText() cell.set_visible(False) combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 0) cell = gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 1) cell = gtk.CellRendererText() combo.pack_start(cell, True) combo.add_attribute(cell, 'text', 2)