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): customergroup.Group.__init__(self) self.custgrpentry = numberentry.NumberEntry(10) self.builder.get_object("custGrpBox").add(self.custgrpentry) self.custgrpentry.show() self.custIntroducerEntry = numberentry.NumberEntry(10) self.builder.get_object("custIntroducerBox").add( self.custIntroducerEntry) self.custIntroducerEntry.show() self.boxCommissionRateEntry = decimalentry.DecimalEntry(10) self.builder.get_object("boxCommissionRateEntry").add( self.boxCommissionRateEntry) self.boxCommissionRateEntry.show() self.boxDiscRateEntry = decimalentry.DecimalEntry(10) self.builder.get_object("boxDiscRateEntry").add(self.boxDiscRateEntry) self.boxDiscRateEntry.show() self.boxBalanceEntry = decimalentry.DecimalEntry(10) self.builder.get_object("boxBalanceEntry").add(self.boxBalanceEntry) self.boxBalanceEntry.show() self.boxCreditEntry = decimalentry.DecimalEntry(10) self.builder.get_object("boxCreditEntry").add(self.boxCreditEntry) self.boxCreditEntry.show()
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, 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): 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, 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, 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, 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()