Esempio n. 1
0
    def __init__(self, width, height):
        super(FactuurData, self).__init__(width, height)

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

        self.otherPartyLabel = Label(0, 1, "Vereniging/Leverancier")
        self.otherPartyValue = VerenigingLine(1)

        self.leverDatumLabel = Label(0, 1, "Leverdatum")
        self.leverDatumValue = Textline(0)

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

        self.verantwoordelijkeLabel = Label(0, 1, "Verantwoordelijke")
        self.verantwoordelijkeValue = Textline(0)

        self.specialBudgetLabel = Label(0, 1, "Speciaal budget")
        self.specialBudgetValue = BudgetLine(1)

        self.typeValue = Optionbox(1, 1)
        self.typeValue.addOption('inkoop')
        self.typeValue.addOption('verkoop')

        self.btwValue = Optionbox(1, 1)
        self.btwValue.addOption('metbtw')
        self.btwValue.addOption('zonderbtw')

        self.typeValueIdx = self.addChild(0, 0, self.typeValue)
        self.btwValueIdx = self.addChild(0, 0, self.btwValue)
        self.otherPartyLabelIdx = self.addChild(0, 0, self.otherPartyLabel)
        self.otherPartyValueIdx = self.addChild(0, 0, self.otherPartyValue)
        self.leverDatumLabelIdx = self.addChild(0, 0, self.leverDatumLabel)
        self.leverDatumValueIdx = self.addChild(0, 0, self.leverDatumValue)
        self.separatorFillIdx = self.addChild(0, 0, self.separatorFill)
        self.verantwoordelijkeLabelIdx = self.addChild(
            0, 0, self.verantwoordelijkeLabel)
        self.verantwoordelijkeValueIdx = self.addChild(
            0, 0, self.verantwoordelijkeValue)
        self.specialBudgetLabelIdx = self.addChild(0, 0,
                                                   self.specialBudgetLabel)
        self.specialBudgetValueIdx = self.addChild(0, 0,
                                                   self.specialBudgetValue)

        self.resize(width, 0)
Esempio n. 2
0
 def __init__(self, width, height, vereniging_list, manager):
     super(verenigingList, self).__init__(width, height)
     self.manager = manager
     self.header = Label(width, 1, "Madmin ReTeX", curses.A_REVERSE)
     self.listbox = Listbox(width, height - 2)
     for vereniging_info in vereniging_list:
         self.listbox.append(
             verenigingListItem(width, vereniging_info, manager))
     self.headerId = self.addChild(0, 0, self.header)
     self.listboxId = self.addChild(0, 2, self.listbox)
Esempio n. 3
0
    def __init__(self, width, height):
        super(FactuurInputHeader, self).__init__(width, height)

        self.totalWeight = 0
        self.fieldLabel = []
        self.fieldLabelIdx = []
        for i in range(0, len(_regelLayout)):
            self.totalWeight += _regelLayout[i][1]
            self.fieldLabel.append(Label(0,0,_regelLayout[i][0], curses.A_BOLD))
            self.fieldLabelIdx.append(self.addChild(0,0,self.fieldLabel[-1]))

        self.resize(width, height)
Esempio n. 4
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)
Esempio n. 5
0
    def __init__(self, width, height, factuurregel):
        super(factuurRegel, self).__init__(width, height)
        self.factuurRegel = factuurregel

        self.totalWeight = 0
        self.fieldLabel = []
        self.fieldLabelIdx = []
        for i in range(0, len(_regelLayout)):
            self.totalWeight += _regelLayout[i][2]
            self.fieldLabel.append(
                Label(0, 0,
                      _regelLayout[i][3](factuurregel[_regelLayout[i][1]])))
            self.fieldLabelIdx.append(self.addChild(0, 0, self.fieldLabel[-1]))

        self.resize(width, height)
Esempio n. 6
0
    def __init__(self, width, height):
        super(FactuurInput, self).__init__(width, height)

        self.factuurData = FactuurData(1, 1)
        self.factuurListHeader = FactuurInputHeader(1, 1)
        self.factuurRegelList = FactuurRegelList(1, 1)
        self.statusLine = Label(1, 1, "")
        self.submitButton = Button(1, 1, self.sendFactuur, "Submit")

        self.factuurListHeaderIdx = self.addChild(0, 0, self.factuurListHeader)
        self.statusLineIdx = self.addChild(0, 0, self.statusLine)
        self.submitButtonIdx = self.addChild(0, 0, self.submitButton)
        self.factuurDataIdx = self.addChild(0, 0, self.factuurData)
        self.factuurRegelListIdx = self.addChild(0, 0, self.factuurRegelList)

        self.resize(width, height)
Esempio n. 7
0
    def __init__(self, width, height, facturen, manager):
        super(factuurOverigeList, self).__init__(width, height)
        self.manager = manager
        self.header = Label(width, 1, "Leveranciers en overige", curses.A_REVERSE)
        self.factuurOverigeListbox = Listbox(width, height-2)
        self.groups = {}
        self.ordering = []
        for factuur in reversed(facturen):
            if factuur["leverancier"] not in self.groups.keys():
                self.groups[factuur["leverancier"]] = []
                self.ordering.append(factuur["leverancier"])
            self.groups[factuur["leverancier"]].append(factuur)
        for key in self.ordering:
            self.factuurOverigeListbox.append(factuurOverigeListItem(width, str(key), self.groups[key][::-1], manager))

        self.factuurOverigeListboxIndex = self.addChild(0,2, self.factuurOverigeListbox)
        self.headerIndex = self.addChild(0,0, self.header)
Esempio n. 8
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)
Esempio n. 9
0
    def __init__(self, width, height, factuur, manager):
        super(factuurDetail, self).__init__(width, height)

        #Associated data object
        self.factuur = factuur
        self.manager = manager

        self.infobox = factuurInfobox(width, 0, factuur)
        self.infoboxIdx = self.addChild(0, 0, self.infobox)

        self.factuurRegelHeader = factuurRegelHeader(width, 1)
        self.factuurRegelHeaderIdx = self.addChild(0, 0,
                                                   self.factuurRegelHeader)

        self.factuurRegelBox = Listbox(width, 0)
        self.factuurRegelBoxIdx = self.addChild(0, 0, self.factuurRegelBox)

        self.factuurBorrelTotaal = 0
        self.factuurKantineTotaal = 0
        self.factuurEmballageTotaal = 0
        self.factuurOverigeTotaal = 0
        self.factuurBorrelTotaalOnafgerond = 0
        self.factuurKantineTotaalOnafgerond = 0
        self.factuurEmballageTotaalOnafgerond = 0
        self.factuurOverigeTotaalOnafgerond = 0

        for regel in factuur['regels']:
            self.factuurRegelBox.append(factuurRegel(width, 1, regel))
            if 'prd_id' in regel:
                type = getProductType(regel['prd_id'])
                if type == 'kantine':
                    self.factuurKantineTotaal += copysign(
                        regel['totaalprijs'], regel['aantal'])
                    self.factuurKantineTotaalOnafgerond += regel[
                        'stukprijs'] * regel['aantal']
                elif type == 'borrel':
                    self.factuurBorrelTotaal += copysign(
                        regel['totaalprijs'], regel['aantal'])
                    self.factuurBorrelTotaalOnafgerond += regel[
                        'stukprijs'] * regel['aantal']
                elif type == 'emballage':
                    self.factuurEmballageTotaal += copysign(
                        regel['totaalprijs'], regel['aantal'])
                    self.factuurEmballageTotaalOnafgerond += regel[
                        'stukprijs'] * regel['aantal']
                else:
                    self.factuurOverigeTotaal += copysign(
                        regel['totaalprijs'], regel['aantal'])
                    self.factuurOverigeTotaalOnafgerond += regel[
                        'stukprijs'] * regel['aantal']
            else:
                self.factuurOverigeTotaal += copysign(regel['totaalprijs'],
                                                      regel['aantal'])
                self.factuurOverigeTotaalOnafgerond += regel[
                    'stukprijs'] * regel['aantal']

        self.factuurBorrelTotaalLabel = Label(
            0, 0,
            "Borreltotaal: " + moneyConvert(int(self.factuurBorrelTotaal)))
        self.factuurBorrelTotaalLabelIdx = self.addChild(
            0, 0, self.factuurBorrelTotaalLabel)
        self.factuurBorrelmargeTotaalLabel = Label(
            0, 0, "Borrelmargetotaal: " +
            moneyConvert(int(floor(self.factuurBorrelTotaal / 1.03))))
        self.factuurBorrelmargeTotaalLabelIdx = self.addChild(
            0, 0, self.factuurBorrelmargeTotaalLabel)
        self.factuurKantineTotaalLabel = Label(
            0, 0,
            "Kantinetotaal: " + moneyConvert(int(self.factuurKantineTotaal)))
        self.factuurKantineTotaalLabelIdx = self.addChild(
            0, 0, self.factuurKantineTotaalLabel)
        self.factuurEmballageTotaalLabel = Label(
            0, 0, "Emballagetotaal: " +
            moneyConvert(int(self.factuurEmballageTotaal)))
        self.factuurEmballageTotaalLabelIdx = self.addChild(
            0, 0, self.factuurEmballageTotaalLabel)
        self.factuurOverigeTotaalLabel = Label(
            0, 0,
            "Overigetotaal: " + moneyConvert(int(self.factuurOverigeTotaal)))
        self.factuurOverigeTotaalLabelIdx = self.addChild(
            0, 0, self.factuurOverigeTotaalLabel)
        self.factuurTotaalLabel = Label(
            0, 0, "Totaal: " + moneyConvert(
                int(self.factuurBorrelTotaal + self.factuurKantineTotaal +
                    self.factuurEmballageTotaal + self.factuurOverigeTotaal)))
        self.factuurTotaalLabelIdx = self.addChild(0, 0,
                                                   self.factuurTotaalLabel)

        # added details:

        self.factuurBorrelTotaalOnafgerondLabel = Label(
            0, 0, "Borreltotaal-onafgerond: " +
            moneyConvert(int(self.factuurBorrelTotaalOnafgerond)))
        self.factuurBorrelTotaalOnafgerondLabelIdx = self.addChild(
            0, 0, self.factuurBorrelTotaalOnafgerondLabel)
        self.factuurKantineTotaalOnafgerondLabel = Label(
            0, 0, "Kantinetotaal-onafgerond: " +
            moneyConvert(int(self.factuurKantineTotaalOnafgerond)))
        self.factuurKantineTotaalOnafgerondLabelIdx = self.addChild(
            0, 0, self.factuurKantineTotaalOnafgerondLabel)
        self.factuurEmballageTotaalOnafgerondLabel = Label(
            0, 0, "Emballagetotaal-onafgerond: " +
            moneyConvert(int(self.factuurEmballageTotaalOnafgerond)))
        self.factuurEmballageTotaalOnafgerondLabelIdx = self.addChild(
            0, 0, self.factuurEmballageTotaalOnafgerondLabel)
        self.factuurOverigeTotaalOnafgerondLabel = Label(
            0, 0, "Overigetotaal-onafgerond: " +
            moneyConvert(int(self.factuurOverigeTotaalOnafgerond)))
        self.factuurOverigeTotaalOnafgerondLabelIdx = self.addChild(
            0, 0, self.factuurOverigeTotaalOnafgerondLabel)
        self.factuurTotaalOnafgerondLabel = Label(
            0, 0, "Totaal-onafgerond: " + moneyConvert(
                int(self.factuurBorrelTotaalOnafgerond +
                    self.factuurKantineTotaalOnafgerond +
                    self.factuurEmballageTotaalOnafgerond +
                    self.factuurOverigeTotaalOnafgerond)))
        self.factuurTotaalOnafgerondLabelIdx = self.addChild(
            0, 0, self.factuurTotaalOnafgerondLabel)

        self.factuurAfrondingLabel = Label(
            0, 0, "Afronding: " + moneyConvert(
                int(self.factuurBorrelTotaalOnafgerond -
                    self.factuurBorrelTotaal +
                    self.factuurKantineTotaalOnafgerond -
                    self.factuurKantineTotaal +
                    self.factuurEmballageTotaalOnafgerond -
                    self.factuurEmballageTotaal +
                    self.factuurOverigeTotaalOnafgerond -
                    self.factuurOverigeTotaal)))
        self.factuurAfrondingLabelIdx = self.addChild(
            0, 0, self.factuurAfrondingLabel)

        self.resize(width, height)