コード例 #1
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)
コード例 #2
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)
コード例 #3
0
ファイル: factuurDetail.py プロジェクト: mrngm/madmin
    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)
コード例 #4
0
ファイル: factuurData.py プロジェクト: mrngm/madmin
    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('zonderbtw')
        self.btwValue.addOption('metbtw')

        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)
コード例 #5
0
class factuurInfobox(Container):
    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)

    def resize(self, width, height):
        #ignore height, we determine that ourselves
        self.width = width

        if (self.width - 1) / 2 - self.labelWidth >= self.minValueWidth:
            #two column layout
            colWidth = (self.width - 1) / 2
            colOffset = colWidth + 1
            valueWidth = max(0, colWidth - self.labelWidth)

            self.separatorFill.resize(1, 2)
            self.setChildPos(self.separatorFillIdx, colWidth, 0)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 0)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 0)

            self.volgnummerLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.volgnummerLabelIdx, 0, 1)
            self.volgnummerValue.resize(valueWidth, 1)
            self.setChildPos(self.volgnummerValueIdx, self.labelWidth, 1)

            self.factuurDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.factuurDatumLabelIdx, colOffset, 0)
            self.factuurDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.factuurDatumValueIdx,
                             colOffset + self.labelWidth, 0)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, colOffset, 1)
            self.leverDatumValue.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumValueIdx,
                             colOffset + self.labelWidth, 1)

            if self.hasVerantwoordelijke:
                self.height = 3
                self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
                self.setChildPos(self.verantwoordelijkeLabelIdx, 0, 2)
                self.verantwoordelijkeValue.resize(width - self.labelWidth, 1)
                self.setChildPos(self.verantwoordelijkeValueIdx,
                                 self.labelWidth, 2)
            else:
                self.height = 2
        else:
            #one column layout
            valueWidth = max(0, width - self.labelWidth)

            self.separatorFill.resize(0, 0)
            self.setChildPos(self.separatorFillIdx, 0, 0)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 0)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 0)

            self.volgnummerLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.volgnummerLabelIdx, 0, 1)
            self.volgnummerValue.resize(valueWidth, 1)
            self.setChildPos(self.volgnummerValueIdx, self.labelWidth, 1)

            self.factuurDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.factuurDatumLabelIdx, 0, 2)
            self.factuurDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.factuurDatumValueIdx, self.labelWidth, 2)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, 0, 3)
            self.leverDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.leverDatumValueIdx, self.labelWidth, 3)

            if self.hasVerantwoordelijke:
                self.height = 5
                self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
                self.setChildPos(self.verantwoordelijkeLabelIdx, 0, 4)
                self.verantwoordelijkeValue.resize(valueWidth, 1)
                self.setChildPos(self.verantwoordelijkeValueIdx,
                                 self.labelWidth, 4)
            else:
                self.height = 4
コード例 #6
0
ファイル: factuurDetail.py プロジェクト: mrngm/madmin
class factuurInfobox(Container):
    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)

    def resize(self, width, height):
        #ignore height, we determine that ourselves
        self.width = width

        if (self.width - 1)/2 - self.labelWidth >= self.minValueWidth:
            #two column layout
            colWidth = (self.width-1)/2
            colOffset = colWidth+1
            valueWidth = max(0, colWidth-self.labelWidth)

            self.separatorFill.resize(1,2)
            self.setChildPos(self.separatorFillIdx, colWidth,0)

            self.otherPartyLabel.resize(self.labelWidth,1)
            self.setChildPos(self.otherPartyLabelIdx,0,0)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx,self.labelWidth,0)

            self.volgnummerLabel.resize(self.labelWidth,1)
            self.setChildPos(self.volgnummerLabelIdx,0,1)
            self.volgnummerValue.resize(valueWidth, 1)
            self.setChildPos(self.volgnummerValueIdx,self.labelWidth,1)

            self.factuurDatumLabel.resize(self.labelWidth,1)
            self.setChildPos(self.factuurDatumLabelIdx, colOffset,0)
            self.factuurDatumValue.resize(valueWidth,1)
            self.setChildPos(self.factuurDatumValueIdx, colOffset + self.labelWidth,0)

            self.leverDatumLabel.resize(self.labelWidth,1)
            self.setChildPos(self.leverDatumLabelIdx, colOffset,1)
            self.leverDatumValue.resize(self.labelWidth,1)
            self.setChildPos(self.leverDatumValueIdx, colOffset + self.labelWidth, 1)

            if self.hasVerantwoordelijke:
                self.height = 3
                self.verantwoordelijkeLabel.resize(self.labelWidth,1)
                self.setChildPos(self.verantwoordelijkeLabelIdx, 0, 2)
                self.verantwoordelijkeValue.resize(width-self.labelWidth,1)
                self.setChildPos(self.verantwoordelijkeValueIdx, self.labelWidth, 2)
            else:
                self.height = 2
        else:
            #one column layout
            valueWidth = max(0, width-self.labelWidth)

            self.separatorFill.resize(0,0)
            self.setChildPos(self.separatorFillIdx, 0,0)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx,0,0)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx,self.labelWidth,0)

            self.volgnummerLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.volgnummerLabelIdx,0,1)
            self.volgnummerValue.resize(valueWidth, 1)
            self.setChildPos(self.volgnummerValueIdx,self.labelWidth,1)

            self.factuurDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.factuurDatumLabelIdx,0,2)
            self.factuurDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.factuurDatumValueIdx,self.labelWidth,2)

            self.leverDatumLabel.resize(self.labelWidth,1)
            self.setChildPos(self.leverDatumLabelIdx,0,3)
            self.leverDatumValue.resize(valueWidth,1)
            self.setChildPos(self.leverDatumValueIdx,self.labelWidth,3)

            if self.hasVerantwoordelijke:
                self.height = 5
                self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
                self.setChildPos(self.verantwoordelijkeLabelIdx,0,4)
                self.verantwoordelijkeValue.resize(valueWidth,1)
                self.setChildPos(self.verantwoordelijkeValueIdx,self.labelWidth,4)
            else:
                self.height = 4
コード例 #7
0
ファイル: factuurData.py プロジェクト: mrngm/madmin
class FactuurData(Container):
    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('zonderbtw')
        self.btwValue.addOption('metbtw')

        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)

    def resize(self, width, height):
        #  ignore height, selfdetermined
        self.width = width

        self.typeValue.resize(int(width/2.),1)
        self.btwValue.resize(int(width/2.),1)
        self.setChildPos(self.typeValueIdx, 0,0)
        self.setChildPos(self.btwValueIdx, int(width/2.), 0)

        if (self.width-1)/2 - self.labelWidth >= self.minValueWidth:
            #two column layout
            colWidth = (self.width-1)/2
            colOffset = colWidth+1
            valueWidth = max(0, colWidth - self.labelWidth)

            self.separatorFill.resize(1,2)
            self.setChildPos(self.separatorFillIdx, colWidth, 1)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 1)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 1)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, 0, 2)
            self.leverDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.leverDatumValueIdx, self.labelWidth, 2)

            self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.verantwoordelijkeLabelIdx, colOffset, 1)
            self.verantwoordelijkeValue.resize(valueWidth, 1)
            self.setChildPos(self.verantwoordelijkeValueIdx, colOffset + self.labelWidth, 1)

            self.specialBudgetLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.specialBudgetLabelIdx, colOffset, 2)
            self.specialBudgetValue.resize(valueWidth, 1)
            self.setChildPos(self.specialBudgetValueIdx, colOffset + self.labelWidth, 2)

            self.height = 3
        else:
            valueWidth = max(0, self.width - self.labelWidth)

            self.separatorFill.resize(0,0)
            self.setChildPos(self.separatorFillIdx, 0,0)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 1)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 1)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, 0, 2)
            self.leverDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.leverDatumValueIdx, self.labelWidth, 2)

            self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.verantwoordelijkeLabelIdx, 0, 3)
            self.verantwoordelijkeValue.resize(valueWidth, 1)
            self.setChildPos(self.verantwoordelijkeValueIdx, self.labelWidth, 3)

            self.specialBudgetLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.specialBudgetLabelIdx, 0, 4)
            self.specialBudgetValue.resize(valueWidth, 1)
            self.setChildPos(self.specialBudgetValueIdx, self.labelWidth, 4)

            self.height = 5

    def generateFactuur(self):
        if self.otherPartyValue.text == "":
            return (False, False, "Mis vereniging/leverancier")
        if self.leverDatumValue.text == "":
            return (False, False, "Mis leverdatum")

        try:
            datetime.datetime.strptime(self.leverDatumValue.text, "%Y-%m-%d")
        except ValueError:
            return (False, False, "Ongeldige leverdatum")

        result = {}

        result['type'] = self.typeValue.text
        result['dobtw'] = self.btwValue.text

        if self.otherPartyValue.currentID is not None:
            result['vereniging'] = self.otherPartyValue.currentID
            if self.specialBudgetValue.currentID is not None:
                result['saldo_speciaal'] = self.specialBudgetValue.currentID
        else:
            result['leverancier'] = self.otherPartyValue.text

        result['leverdatum'] = self.leverDatumValue.text
        result['factuurdatum'] = datetime.datetime.today().strftime("%Y-%m-%d")

        if self.verantwoordelijkeValue.text != "":
            result['verantwoordelijke'] = self.verantwoordelijkeValue.text

        return (True, True, result)
コード例 #8
0
class FactuurData(Container):
    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)

    def resize(self, width, height):
        #  ignore height, selfdetermined
        self.width = width

        self.typeValue.resize(int(width / 2.), 1)
        self.btwValue.resize(int(width / 2.), 1)
        self.setChildPos(self.typeValueIdx, 0, 0)
        self.setChildPos(self.btwValueIdx, int(width / 2.), 0)

        if (self.width - 1) / 2 - self.labelWidth >= self.minValueWidth:
            #two column layout
            colWidth = (self.width - 1) / 2
            colOffset = colWidth + 1
            valueWidth = max(0, colWidth - self.labelWidth)

            self.separatorFill.resize(1, 2)
            self.setChildPos(self.separatorFillIdx, colWidth, 1)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 1)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 1)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, 0, 2)
            self.leverDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.leverDatumValueIdx, self.labelWidth, 2)

            self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.verantwoordelijkeLabelIdx, colOffset, 1)
            self.verantwoordelijkeValue.resize(valueWidth, 1)
            self.setChildPos(self.verantwoordelijkeValueIdx,
                             colOffset + self.labelWidth, 1)

            self.specialBudgetLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.specialBudgetLabelIdx, colOffset, 2)
            self.specialBudgetValue.resize(valueWidth, 1)
            self.setChildPos(self.specialBudgetValueIdx,
                             colOffset + self.labelWidth, 2)

            self.height = 3
        else:
            valueWidth = max(0, self.width - self.labelWidth)

            self.separatorFill.resize(0, 0)
            self.setChildPos(self.separatorFillIdx, 0, 0)

            self.otherPartyLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.otherPartyLabelIdx, 0, 1)
            self.otherPartyValue.resize(valueWidth, 1)
            self.setChildPos(self.otherPartyValueIdx, self.labelWidth, 1)

            self.leverDatumLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.leverDatumLabelIdx, 0, 2)
            self.leverDatumValue.resize(valueWidth, 1)
            self.setChildPos(self.leverDatumValueIdx, self.labelWidth, 2)

            self.verantwoordelijkeLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.verantwoordelijkeLabelIdx, 0, 3)
            self.verantwoordelijkeValue.resize(valueWidth, 1)
            self.setChildPos(self.verantwoordelijkeValueIdx, self.labelWidth,
                             3)

            self.specialBudgetLabel.resize(self.labelWidth, 1)
            self.setChildPos(self.specialBudgetLabelIdx, 0, 4)
            self.specialBudgetValue.resize(valueWidth, 1)
            self.setChildPos(self.specialBudgetValueIdx, self.labelWidth, 4)

            self.height = 5

    def generateFactuur(self):
        if self.otherPartyValue.text == "":
            return (False, False, "Mis vereniging/leverancier")
        if self.leverDatumValue.text == "":
            return (False, False, "Mis leverdatum")

        try:
            datetime.datetime.strptime(self.leverDatumValue.text, "%Y-%m-%d")
        except ValueError:
            return (False, False, "Ongeldige leverdatum")

        result = {}

        result['type'] = self.typeValue.text
        result['dobtw'] = self.btwValue.text

        if self.otherPartyValue.currentID is not None:
            result['vereniging'] = self.otherPartyValue.currentID
            if self.specialBudgetValue.currentID is not None:
                result['saldo_speciaal'] = self.specialBudgetValue.currentID
        else:
            result['leverancier'] = self.otherPartyValue.text

        result['leverdatum'] = self.leverDatumValue.text
        result['factuurdatum'] = datetime.datetime.today().strftime("%Y-%m-%d")

        if self.verantwoordelijkeValue.text != "":
            result['verantwoordelijke'] = self.verantwoordelijkeValue.text

        return (True, True, result)