Exemple #1
0
 def __init__(self, width, factuur, manager, number, ppointer):
     self.manager = manager
     super(factuurListItem, self).__init__(
         width, 1,
         getVerenigingNaam(factuur['vereniging_id']).encode('utf-8') + " " +
         str(factuur['volgnummer']))
     self.factuur = factuur
     self.number = number
     self.ppointer = ppointer
     self.final = False
Exemple #2
0
 def __init__(self, width, factuur, manager, number, ppointer):
     self.manager = manager
     super(factuurListItem, self).__init__(
         width, 1,
         getVerenigingNaam(factuur['vereniging_id']).encode('utf-8') +
             " " + str(factuur['volgnummer']))
     self.factuur = factuur
     self.number = number
     self.ppointer = ppointer
     self.final = False
Exemple #3
0
    def __init__(self, width, height, factuur):
        super(factuurInfobox, self).__init__(width, height)

        #Associated data object
        self.factuur = factuur

        #Layout settings
        self.labelWidth = 19
        self.minValueWidth = 20

        if 'vereniging_id' in factuur:
            self.otherPartyLabel = Label(0, 1, "Vereniging:")
            self.otherPartyValue = Label(
                0, 1,
                getVerenigingNaam(factuur['vereniging_id']).encode('utf-8'))
        else:
            self.otherPartyLabel = Label(0, 1, "Leverancier:")
            self.otherPartyValue = Label(
                0, 1, factuur['leverancier'].encode('utf-8'))
        self.volgnummerLabel = Label(0, 1, "Volgnummer:")
        self.volgnummerValue = Label(0, 1, str(factuur['volgnummer']))

        self.factuurDatumLabel = Label(0, 1, "Factuurdatum:")
        self.factuurDatumValue = Label(0, 1,
                                       factuur['factuurdatum'].encode('utf-8'))
        self.leverDatumLabel = Label(0, 1, "Leverdatum:")
        self.leverDatumValue = Label(0, 1,
                                     factuur['leverdatum'].encode('utf-8'))

        self.separatorFill = Fill(0, 0, '|')
        self.separatorFillIdx = self.addChild(0, 0, self.separatorFill)

        self.hasVerantwoordelijke = False
        if 'verantwoordelijke' in factuur:
            self.hasVerantwoordelijke = True
            self.verantwoordelijkeLabel = Label(0, 1, "Verantwoordelijke:")
            self.verantwoordelijkeValue = Label(
                0, 1, factuur['verantwoordelijke'].encode('utf-8'))

        self.otherPartyLabelIdx = self.addChild(0, 0, self.otherPartyLabel)
        self.otherPartyValueIdx = self.addChild(0, 0, self.otherPartyValue)
        self.volgnummerLabelIdx = self.addChild(0, 0, self.volgnummerLabel)
        self.volgnummerValueIdx = self.addChild(0, 0, self.volgnummerValue)
        self.factuurDatumLabelIdx = self.addChild(0, 0, self.factuurDatumLabel)
        self.factuurDatumValueIdx = self.addChild(0, 0, self.factuurDatumValue)
        self.leverDatumLabelIdx = self.addChild(0, 0, self.leverDatumLabel)
        self.leverDatumValueIdx = self.addChild(0, 0, self.leverDatumValue)
        if self.hasVerantwoordelijke:
            self.verantwoordelijkeLabelIdx = self.addChild(
                0, 0, self.verantwoordelijkeLabel)
            self.verantwoordelijkeValueIdx = self.addChild(
                0, 0, self.verantwoordelijkeValue)

        self.resize(width, 0)
Exemple #4
0
 def __init__(self, width, factuur, manager):
     self.manager = manager
     if 'vereniging_id' in factuur:
         super(factuurListItem, self).__init__(
                 width, 1,
                 getVerenigingNaam(factuur['vereniging_id']).encode('utf-8') +
                         " " + str(factuur['volgnummer']))
     else:
         super(factuurListItem, self).__init__(
                 width, 1,
                 factuur['leverancier'].encode('utf-8') + " " + str(factuur['volgnummer']))
     self.factuur = factuur
Exemple #5
0
    def __init__(self, width, height, facturen, manager):
        super(factuurList, self).__init__(width, height)
        if 'vereniging_id' in facturen[0]:
            self.name = getVerenigingNaam(facturen[0]['vereniging_id']).encode('utf-8')
        else:
            self.name = "Leveranciers en overige"
        self.manager = manager
        self.header = Label(width, 1, self.name, curses.A_REVERSE)
        self.factuurListbox = Listbox(width, height-2)
        for factuur in reversed(facturen):
            self.factuurListbox.append(factuurListItem(width, factuur, manager))

        self.factuurListboxIndex = self.addChild(0,2, self.factuurListbox)
        self.headerIndex = self.addChild(0,0, self.header)
Exemple #6
0
    def __init__(self, width, height, factuur):
        super(factuurInfobox, self).__init__(width, height)

        #Associated data object
        self.factuur = factuur

        #Layout settings
        self.labelWidth = 19
        self.minValueWidth = 20

        if 'vereniging_id' in factuur:
            self.otherPartyLabel = Label(0,1,"Vereniging:")
            self.otherPartyValue = Label(0,1,getVerenigingNaam(factuur['vereniging_id']).encode('utf-8'))
        else:
            self.otherPartyLabel = Label(0,1,"Leverancier:")
            self.otherPartyValue = Label(0,1,factuur['leverancier'].encode('utf-8'))
        self.volgnummerLabel = Label(0,1,"Volgnummer:")
        self.volgnummerValue = Label(0,1,str(factuur['volgnummer']))

        self.factuurDatumLabel = Label(0,1,"Factuurdatum:")
        self.factuurDatumValue = Label(0,1,factuur['factuurdatum'].encode('utf-8'))
        self.leverDatumLabel = Label(0,1, "Leverdatum:")
        self.leverDatumValue = Label(0,1,factuur['leverdatum'].encode('utf-8'))

        self.separatorFill = Fill(0,0,'|')
        self.separatorFillIdx = self.addChild(0,0,self.separatorFill)

        self.hasVerantwoordelijke = False
        if 'verantwoordelijke' in factuur:
            self.hasVerantwoordelijke = True
            self.verantwoordelijkeLabel = Label(0,1,"Verantwoordelijke:")
            self.verantwoordelijkeValue = Label(0,1,factuur['verantwoordelijke'].encode('utf-8'))

        self.otherPartyLabelIdx = self.addChild(0,0,self.otherPartyLabel)
        self.otherPartyValueIdx = self.addChild(0,0,self.otherPartyValue)
        self.volgnummerLabelIdx = self.addChild(0,0,self.volgnummerLabel)
        self.volgnummerValueIdx = self.addChild(0,0,self.volgnummerValue)
        self.factuurDatumLabelIdx = self.addChild(0,0,self.factuurDatumLabel)
        self.factuurDatumValueIdx = self.addChild(0,0,self.factuurDatumValue)
        self.leverDatumLabelIdx = self.addChild(0,0,self.leverDatumLabel)
        self.leverDatumValueIdx = self.addChild(0,0,self.leverDatumValue)
        if self.hasVerantwoordelijke:
            self.verantwoordelijkeLabelIdx = self.addChild(0,0,self.verantwoordelijkeLabel)
            self.verantwoordelijkeValueIdx = self.addChild(0,0,self.verantwoordelijkeValue)

        self.resize(width, 0)
Exemple #7
0
def factuurRetex(factuur, budget):
    #process regels
    regels = ""
    totaal = 0
    indx = 0
    for regel in factuur['regels']:
        indx+=1
        if 'naam' in regel:
            naam = regel['naam']
        else:
            naam = prd.getProductNaam(regel['product_id'])
        regels += naam + " & " + str(regel['aantal']) + " & "
        regels += _moneyConvert(regel['stukprijs']) + " & " + _moneyConvert(regel['totaalprijs']) + "\\\\\n"
        totaal += copysign(regel['totaalprijs'], regel['aantal'])

    info = {}
    _assoc = vrn.getVerenigingNaam(factuur['vereniging_id']).encode('utf-8')
    info['factuurregels'] = regels
    info['vereniging'] = _assoc
    info['factuurnummer'] = factuur['volgnummer']
    info['factuurdatum'] = factuur['factuurdatum']
    info['afnamedatum'] = factuur['leverdatum']
    info['totaal'] = totaal / 100.0
    if 'verantwoordelijke' in factuur:
        info['verantwoordelijke'] = tex_escape(factuur['verantwoordelijke'])
    else:
        info['verantwoordelijke'] = ""

    if 'saldo_basis_na' in factuur:
        info['borrelsaldo'] = budget/100.0
    else:
        info['borrelsaldo'] = 0.0

    budget += totaal

    if 'saldo_speciaal' in factuur:
        info['speciaalsaldo'] = ""
        info['speciaalsaldona'] = factuur['saldo_speciaal_na'] / 100.0
    else:
        info['speciaalsaldo'] = ""
        info['speciaalsaldona'] = 0.0

    clear()
    oldpath = os.getcwd()
    path = "/".join(sys.argv[0].split("/")[:-1])
    os.chdir(path)

    texCode = template % info

    texFilename = "facturen/" + _assoc + "_" + str(info['factuurnummer']) + ".tex"
    auxFilename = _assoc + "_" + str(info['factuurnummer']) + ".aux"
    logFilename = _assoc + "_" + str(info['factuurnummer']) + ".log"
    pdfFilename = _assoc + "_" + str(info['factuurnummer']) + ".pdf"
    pdf2Filename = "facturen/" + _assoc + "_" + str(info['factuurnummer']) + ".pdf"

    texfile = open(texFilename, "w")
    texfile.write(texCode)
    texfile.close()

    if subprocess.check_call(["pdflatex", texFilename],
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE) != 0:
        print "Was unable to compile PDF."
        sys.exit()
    else:
        print "Pdf produced"
        os.system("mv " + pdfFilename + " " + pdf2Filename)
        os.system("rm " + auxFilename)
        os.system("rm " + logFilename)
    os.chdir(oldpath)
    return budget
Exemple #8
0
def factuurRetex(factuur, budget):
    #process regels
    regels = ""
    totaal = 0
    indx = 0
    for regel in factuur['regels']:
        indx += 1
        if 'naam' in regel:
            naam = regel['naam']
        else:
            naam = prd.getProductNaam(regel['product_id'])
        regels += naam + " & " + str(regel['aantal']) + " & "
        regels += _moneyConvert(regel['stukprijs']) + " & " + _moneyConvert(
            regel['totaalprijs']) + "\\\\\n"
        totaal += copysign(regel['totaalprijs'], regel['aantal'])

    info = {}
    _assoc = vrn.getVerenigingNaam(factuur['vereniging_id']).encode('utf-8')
    info['factuurregels'] = regels
    info['vereniging'] = _assoc
    info['factuurnummer'] = factuur['volgnummer']
    info['factuurdatum'] = factuur['factuurdatum']
    info['afnamedatum'] = factuur['leverdatum']
    info['totaal'] = totaal / 100.0
    if 'verantwoordelijke' in factuur:
        info['verantwoordelijke'] = tex_escape(factuur['verantwoordelijke'])
    else:
        info['verantwoordelijke'] = ""

    if 'saldo_basis_na' in factuur:
        info['borrelsaldo'] = budget / 100.0
    else:
        info['borrelsaldo'] = 0.0

    budget += totaal

    if 'saldo_speciaal' in factuur:
        info['speciaalsaldo'] = ""
        info['speciaalsaldona'] = factuur['saldo_speciaal_na'] / 100.0
    else:
        info['speciaalsaldo'] = ""
        info['speciaalsaldona'] = 0.0

    clear()
    oldpath = os.getcwd()
    path = "/".join(sys.argv[0].split("/")[:-1])
    os.chdir(path)

    texCode = template % info

    texFilename = "facturen/" + _assoc + "_" + str(
        info['factuurnummer']) + ".tex"
    auxFilename = _assoc + "_" + str(info['factuurnummer']) + ".aux"
    logFilename = _assoc + "_" + str(info['factuurnummer']) + ".log"
    pdfFilename = _assoc + "_" + str(info['factuurnummer']) + ".pdf"
    pdf2Filename = "facturen/" + _assoc + "_" + str(
        info['factuurnummer']) + ".pdf"

    texfile = open(texFilename, "w")
    texfile.write(texCode)
    texfile.close()

    if subprocess.check_call(["pdflatex", texFilename],
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE) != 0:
        print "Was unable to compile PDF."
        sys.exit()
    else:
        print "Pdf produced"
        os.system("mv " + pdfFilename + " " + pdf2Filename)
        os.system("rm " + auxFilename)
        os.system("rm " + logFilename)
    os.chdir(oldpath)
    return budget