Exemplo n.º 1
0
    def extend_rows(self):

        pw = (self.parentWidget().width()) / (len(self.hheaders) + 2)
        # if pw == 14:
        #     pw = 125
        self.setColumnWidth(0, pw * 3)
        self.setColumnWidth(1, pw)
        self.setColumnWidth(2, pw)
        self.setColumnWidth(3, pw)
        self.setColumnWidth(4, pw)

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows, 0, 2, 2)
        mtt_ttc = QTableWidgetItem(u"TOTAUX: ")
        mtt_ttc.setTextAlignment(Qt.AlignRight)
        self.setItem(nb_rows + 1, 2, mtt_ttc)

        self.montant_ht = 0
        self.montant_b = 0
        for row_num in xrange(0, self.data.__len__()):
            mtt = is_int(self.item(row_num, 3).text())
            mttb = is_int(self.item(row_num, 4).text())
            self.montant_ht += mtt
            self.montant_b += mttb
        # Montant TTC
        montant_t = QTableWidgetItem(formatted_number(self.montant_ht))
        montant_t.setTextAlignment(Qt.AlignRight)
        montant_tb = QTableWidgetItem(formatted_number(self.montant_b))
        montant_tb.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 2, 3, montant_t)
        self.setItem(row_num + 2, 4, montant_tb)
Exemplo n.º 2
0
 def set_data_for(self, on, end):
     self.data = [(rap.type_, rap.store.name, rap.product,
                   formatted_number(rap.qty_use),
                   formatted_number(rap.remaining),
                   show_date(rap.date), rap.id)
                  for rap in Reports.filter(deleted=False, date__gte=on, date__lte=end)
                  .order_by(Reports.date.desc())]
Exemplo n.º 3
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows + 2, 2, 2, 4)
        self.totals_debit = 0
        self.totals_credit = 0
        self.balance_tt = 0
        cp = 0
        for row_num in range(0, self.data.__len__()):
            mtt_debit = is_int(unicode(self.item(row_num, 2).text()))
            mtt_credit = is_int(unicode(self.item(row_num, 3).text()))
            if cp == 0:
                last_balance = is_int(unicode(self.item(row_num, 4).text()))
            self.totals_debit += mtt_debit
            self.totals_credit += mtt_credit
            cp += 1

        self.balance_tt = last_balance
        # self.balance_tt = self.totals_debit - self.totals_credit

        self.label_mov_tt = u"Totals mouvements: "
        self.setItem(nb_rows, 1, TotalsWidget(self.label_mov_tt))
        self.setItem(nb_rows, 2,
                     TotalsWidget(formatted_number(self.totals_debit)))
        self.setItem(nb_rows, 3,
                     TotalsWidget(formatted_number(self.totals_credit)))
        self.parent.soldeField.setText(formatted_number(self.balance_tt))
Exemplo n.º 4
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        # self.setSpan(nb_rows, 0, 1, 1)
        mtt_ttc = QTableWidgetItem(u"TOTAUX: ")
        mtt_ttc.setTextAlignment(Qt.AlignRight)
        self.setItem(nb_rows, 0, mtt_ttc)

        ttl_remainig = 0
        tall_in = 0
        tall_out = 0

        for row_num in xrange(0, self.data.__len__()):
            all_in = is_int(unicode(self.item(row_num, 1).text()))
            tall_in += all_in
            all_out = is_int(unicode(self.item(row_num, 2).text()))
            tall_out += all_out
            remaining = is_int(unicode(self.item(row_num, 3).text()))
            ttl_remainig += remaining

        # Montant TTC
        tall_in = QTableWidgetItem(formatted_number(tall_in))
        tall_in.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 1, tall_in)
        tall_out = QTableWidgetItem(formatted_number(tall_out))
        tall_out.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 2, tall_out)

        ttl_remainig = QTableWidgetItem(formatted_number(ttl_remainig))
        ttl_remainig.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 3, ttl_remainig)
Exemplo n.º 5
0
    def extend_rows(self):

        pw = (self.parentWidget().width()) / (len(self.hheaders) + 2)
        # if pw == 14:
        #     pw = 125
        self.setColumnWidth(0, pw * 3)
        self.setColumnWidth(1, pw)
        self.setColumnWidth(2, pw)
        self.setColumnWidth(3, pw)
        self.setColumnWidth(4, pw)

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows, 0, 2, 2)
        mtt_ttc = QTableWidgetItem(u"TOTAUX: ")
        mtt_ttc.setTextAlignment(Qt.AlignRight)
        self.setItem(nb_rows + 1, 2, mtt_ttc)

        self.montant_ht = 0
        self.montant_b = 0
        for row_num in xrange(0, self.data.__len__()):
            mtt = is_int(self.item(row_num, 3).text())
            mttb = is_int(self.item(row_num, 4).text())
            self.montant_ht += mtt
            self.montant_b += mttb
        # Montant TTC
        montant_t = QTableWidgetItem(formatted_number(self.montant_ht))
        montant_t.setTextAlignment(Qt.AlignRight)
        montant_tb = QTableWidgetItem(formatted_number(self.montant_b))
        montant_tb.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 2, 3, montant_t)
        self.setItem(row_num + 2, 4, montant_tb)
Exemplo n.º 6
0
 def set_data_for(self):
     self.data = [(rap.type_, rap.store.name, rap.product,
                   formatted_number(rap.qty_use),
                   formatted_number(rap.remaining),
                   show_date(rap.date))
                  for rap in Reports.select().where(
         Reports.date < date_on_or_end(self.today, on=False),
         Reports.date > date_on_or_end(self.today)
     ).order_by(Reports.id.desc())]
Exemplo n.º 7
0
 def set_data_for(self):
     date = self.parent.date_.text()
     self.data = [
         (rap.product.name, formatted_number(rap.qty),
          formatted_number(rap.selling_price), rap.qty * rap.selling_price)
         for rap in Report.select().where(
             Report.type_ == Report.S,
             Report.date < date_on_or_end(date, on=False),
             Report.date > date_on_or_end(date)).order_by(Report.id.desc())
     ]
     self.refresh()
Exemplo n.º 8
0
 def set_data_for(self):
     date = self.parent.date_.text()
     self.data = [(rap.product.name,
                   formatted_number(rap.qty),
                   formatted_number(rap.selling_price),
                   rap.qty * rap.selling_price)
                  for rap in Report.select().where(
         Report.type_ == Report.S,
         Report.date < date_on_or_end(date, on=False),
         Report.date > date_on_or_end(date)
     ).order_by(Report.id.desc())]
     self.refresh()
Exemplo n.º 9
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        self.setItem(nb_rows, 3, TotalsWidget(u"Totaux: "))

        v_amount_tt_item = TotalsWidget(formatted_number(self.v_amount_tt))
        self.setItem(nb_rows, 4, v_amount_tt_item)
        self.setItem(nb_rows, 6, TotalsWidget(formatted_number(self.b_f_tt)))
        # self.cancelbutton = DeletedBtt(u"Annuler l'achat")
        # self.cancelbutton.released.connect(self.parent.cancellation)
        self.setSpan(nb_rows, 0, 1, 3)
Exemplo n.º 10
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        self.setItem(nb_rows, 3, TotalsWidget("Totaux: "))

        v_amount_tt_item = TotalsWidget(formatted_number(self.v_amount_tt))
        self.setItem(nb_rows, 4, v_amount_tt_item)
        self.setItem(nb_rows, 6, TotalsWidget(formatted_number(self.b_f_tt)))
        # self.cancelbutton = Deleted_btt(u"Annuler l'achat")
        # self.cancelbutton.released.connect(self.parent.cancellation)
        self.setSpan(nb_rows, 0, 1, 3)
Exemplo n.º 11
0
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        self.mtt_ht = 0
        # self.button.setEnabled(False)
        for row_num in xrange(0, self.data.__len__()):
            product = Product.get(
                Product.name == unicode(self.item(row_num, 0).text()))
            last_report = product.last_report
            last_price = product.last_price()
            qtremaining = last_report.remaining
            selling_price = last_price
            invoice_date = unicode(self.parent.invoice_date.text())

            qtsaisi = is_int(self.cellWidget(row_num, 1).text())
            pusaisi = is_int(self.cellWidget(row_num, 2).text())

            if check_is_empty(self.parent.num_invoice):
                return
            if check_is_empty(self.parent.name_client_field.lineEdit()):
                return
            # if check_field(self.parent.invoice_date,
            #                "Le {} est Inférieure à la date de la dernière rapport (<b>{}</b>)".format(date_to_datetime(invoice_date), last_report.date), (last_report.date > date_to_datetime(invoice_date))):
            #     return
            if (pusaisi and check_is_empty(self.cellWidget(row_num, 1))):
                return
            if (pusaisi and check_is_empty(self.cellWidget(row_num, 2))):
                return
            if check_field(
                    self.cellWidget(row_num, 1),
                    u"<b>{}</b> est supérieur à la quantité restante (<b>{}</b>)"
                    .format(qtsaisi, qtremaining), qtremaining < qtsaisi):
                return
            if check_field(
                    self.cellWidget(row_num, 2),
                    u"<b>{}</b> est inférieure au prix minimum de vente<b> {} CFA</b>"
                    .format(pusaisi, selling_price), pusaisi < selling_price):
                print("E")
                # return

            montant = (qtsaisi * pusaisi)
            self.mtt_ht += montant
            self.setItem(row_num, 3, TotalsWidget(formatted_number(montant)))
            self._update_data(row_num, [qtsaisi, pusaisi, self.mtt_ht])
        self.setItem(row_num + 1, 3,
                     TotalsWidget(formatted_number(self.mtt_ht)))
        typ = self.parent.liste_type_invoice[
            self.parent.box_type_inv.currentIndex()]
        self.paid_amount_field.setText(
            str(self.mtt_ht) if typ == Invoice.TYPE_BON else "0")
        self.button.setEnabled(True)
Exemplo n.º 12
0
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        mtt_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            last_report = Product.filter(name=str(self.item(row_num, 1)
                                         .text())).get().last_report
            try:
                qtremaining = last_report.remaining
            except AttributeError:
                qtremaining = 0

            qtsaisi = is_int(self.cellWidget(row_num, 0).text())
            pu = is_int(self.cellWidget(row_num, 2).text())

            self.isvalid = True
            viderreur_qtsaisi = ""
            viderreur_pu = ""
            stylerreur = "background-color: rgb(255, 235, 235);" + \
                         "border: 3px double SeaGreen"
            if qtsaisi == 0:
                viderreur_qtsaisi = stylerreur
                self.cellWidget(row_num, 0).setToolTip(u"obligatoire")
                self.isvalid = False
            if pu == 0:
                viderreur_pu = stylerreur
                self.cellWidget(row_num, 0).setToolTip(u"obligatoire")
                self.isvalid = False

            self.cellWidget(row_num, 0).setStyleSheet(viderreur_qtsaisi)
            self.cellWidget(row_num, 2).setStyleSheet(viderreur_pu)

            self.cellWidget(row_num, 0).setToolTip("")
            if qtremaining < qtsaisi:
                self.cellWidget(row_num, 0).setStyleSheet("font-size:20px;"
                                                          " color: red")
                self.cellWidget(row_num,
                                0).setToolTip(u"%s est > %s (stock"
                                              u" remaining)" % (qtsaisi,  qtremaining))
                # self.isvalid = False
                # return False

            ui_item = (qtsaisi * pu)
            mtt_ht += ui_item
            montt = QTableWidgetItem(formatted_number(ui_item))
            montt.setTextAlignment(Qt.AlignRight)
            self.setItem(row_num, 3, montt)
        monttc = QTableWidgetItem(formatted_number(mtt_ht))
        monttc.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 3, monttc)
Exemplo n.º 13
0
    def changed_value(self, refresh=False):

        some = 0
        for row_num in xrange(0, self.data.__len__()):
            ui_item = (is_int(self.item(row_num, 1).text()) *
                       is_int(self.cellWidget(row_num, 2).text()))
            some += ui_item
            ui_item_ = QTableWidgetItem(formatted_number(ui_item))
            ui_item_.setTextAlignment(Qt.AlignRight)
            self.setItem(row_num, 3, ui_item_)
        row_num += 1
        som_val = QTableWidgetItem(formatted_number(some))
        som_val.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 2, QTableWidgetItem(u"%s" % u"TOTAUX"))
        self.setItem(row_num + 1, 3, som_val)
Exemplo n.º 14
0
    def changed_value(self, refresh=False):

        some = 0
        for row_num in xrange(0, self.data.__len__()):
            ui_item = (is_int(self.item(row_num, 1).text()) *
                       is_int(self.cellWidget(row_num, 2).text()))
            some += ui_item
            ui_item_ = QTableWidgetItem(formatted_number(ui_item))
            ui_item_.setTextAlignment(Qt.AlignRight)
            self.setItem(row_num, 3, ui_item_)
        row_num += 1
        som_val = QTableWidgetItem(formatted_number(some))
        som_val.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 1, 2, QTableWidgetItem(u"%s" % u"TOTAUX"))
        self.setItem(row_num + 1, 3, som_val)
Exemplo n.º 15
0
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        self.mtt_ht = 0
        # self.button.setEnabled(False)
        for row_num in xrange(0, self.data.__len__()):
            product = Product.get(
                Product.name == unicode(self.item(row_num, 0).text()))
            last_report = product.last_report
            last_price = product.last_price()
            qtremaining = last_report.remaining
            selling_price = last_price
            invoice_date = unicode(self.parent.invoice_date.text())

            qtsaisi = is_int(self.cellWidget(row_num, 1).text())
            pusaisi = is_int(self.cellWidget(row_num, 2).text())

            if check_is_empty(self.parent.num_invoice):
                return
            if check_is_empty(self.parent.name_client_field.lineEdit()):
                return
            # if check_field(self.parent.invoice_date,
            #                "Le {} est Inférieure à la date de la dernière rapport (<b>{}</b>)".format(date_to_datetime(invoice_date), last_report.date), (last_report.date > date_to_datetime(invoice_date))):
            #     return
            if (pusaisi and check_is_empty(self.cellWidget(row_num, 1))):
                return
            if (pusaisi and check_is_empty(self.cellWidget(row_num, 2))):
                return
            if check_field(self.cellWidget(row_num, 1),
                           u"<b>{}</b> est supérieur à la quantité restante (<b>{}</b>)".format(
                    qtsaisi, qtremaining), qtremaining < qtsaisi):
                return
            if check_field(self.cellWidget(row_num, 2),
                           u"<b>{}</b> est inférieure au prix minimum de vente<b> {} CFA</b>".format(
                    pusaisi, selling_price), pusaisi < selling_price):
                print("E")
                # return

            montant = (qtsaisi * pusaisi)
            self.mtt_ht += montant
            self.setItem(row_num, 3, TotalsWidget(formatted_number(montant)))
            self._update_data(row_num, [qtsaisi, pusaisi, self.mtt_ht])
        self.setItem(
            row_num + 1, 3, TotalsWidget(formatted_number(self.mtt_ht)))
        typ = self.parent.liste_type_invoice[
            self.parent.box_type_inv.currentIndex()]
        self.paid_amount_field.setText(
            str(self.mtt_ht) if typ == Invoice.TYPE_BON else "0")
        self.button.setEnabled(True)
Exemplo n.º 16
0
    def __init__(self, table_p, parent, provid_clt=None, type_=None, refund=None, *args, **kwargs):
        QDialog.__init__(self, parent, *args, **kwargs)

        self.type_ = type_
        self.refund = refund
        self.parent = parent
        self.table_p = table_p
        self.provid_clt = provid_clt
        self.new = True
        if self.refund:
            self.new = False
            self.last_r = self.refund
            self.type_ = refund.type_
            self.refund_date_field = FormatDate(self.refund.date)
            self.refund_date_field.setEnabled(False)
            self.title = u"Modification de {} {}".format(self.refund.type_,
                                                         self.refund.invoice.client)
            self.succes_msg = u"{} a été bien mise à jour".format(
                self.refund.type_)
            self.amount = refund.amount
            self.provid_clt = refund.provider_client
        else:
            self.refund_date_field = FormatDate(QDate.currentDate())
            self.succes_msg = u"Client a été bien enregistré"
            self.title = u"Création d'un nouvel client"
            self.amount = ""
            self.refund = Refund()
            self.last_r = Refund.select().where(
                Refund.provider_client == provid_clt).order_by(Refund.date.desc()).get()

        self.setWindowTitle(self.title)
        self.amount_field = IntLineEdit(unicode(self.amount))

        vbox = QVBoxLayout()
        self.last_remaining = self.last_r.refund_remaing()
        print(self.last_remaining)
        # try:
        #     self.last_r.refund_remaing()
        # self.remaining = self.last_r.remaining
        # except Exception as e:
        #     self
        #     print("last_r except ", e)
        #     self.last_r = None
        # self.close()

        formbox = QFormLayout()
        formbox.addRow(FormLabel("Client :"),
                       FormLabel(self.provid_clt.name))
        formbox.addRow(FormLabel("Dette restante :"),
                       FormLabel(str(formatted_number(self.last_remaining)) + Config.DEVISE))
        formbox.addRow(FormLabel(u"Date : *"), self.refund_date_field)
        formbox.addRow(FormLabel(u"Montant : *"), self.amount_field)

        butt = Button_save(u"Enregistrer")
        butt.clicked.connect(self.save_edit)
        formbox.addRow("", butt)
        # formbox.addRow("", "Le client {} n'est pas endetté")

        vbox.addLayout(formbox)
        self.setLayout(vbox)
Exemplo n.º 17
0
 def display_name(self):
     from Common.ui.util import formatted_number
     ctct = "{}".format(formatted_number(self.number))
     if self.name:
         ctct = u"({number}) {name}".format(name=self.name.title(),
                                            number=ctct)
     return ctct
Exemplo n.º 18
0
 def display_name(self):
     from Common.ui.util import formatted_number
     ctct = "{}".format(formatted_number(self.number))
     if self.name:
         ctct = u"({number}) {name}".format(
             name=self.name.title(), number=ctct)
     return ctct
Exemplo n.º 19
0
    def __init__(self, table_p, parent, provid_clt=None, type_=None, refund=None, *args, **kwargs):
        QDialog.__init__(self, parent, *args, **kwargs)

        self.type_ = type_
        self.refund = refund
        self.parent = parent
        self.table_p = table_p
        self.provid_clt = provid_clt
        self.new = True
        if self.refund:
            self.new = False
            self.last_r = self.refund
            self.type_ = refund.type_
            self.refund_date_field = FormatDate(self.refund.date)
            self.refund_date_field.setEnabled(False)
            self.title = u"Modification de {} {}".format(self.refund.type_,
                                                         self.refund.invoice.client)
            self.succes_msg = u"{} a été bien mise à jour".format(
                self.refund.type_)
            self.amount = refund.amount
            self.provid_clt = refund.provider_client
        else:
            self.refund_date_field = FormatDate(QDate.currentDate())
            self.succes_msg = u"Client a été bien enregistré"
            self.title = u"Création d'un nouvel client"
            self.amount = ""
            self.refund = Refund()
            self.last_r = Refund.select().where(
                Refund.provider_client == provid_clt).order_by(Refund.date.desc()).get()

        self.setWindowTitle(self.title)
        self.amount_field = IntLineEdit(unicode(self.amount))

        vbox = QVBoxLayout()
        self.last_remaining = self.last_r.refund_remaing()
        # try:
        #     self.last_r.refund_remaing()
        # self.remaining = self.last_r.remaining
        # except Exception as e:
        #     self
        #     print("last_r except ", e)
        #     self.last_r = None
        # self.close()

        formbox = QFormLayout()
        formbox.addRow(FormLabel("Client :"),
                       FormLabel(self.provid_clt.name))
        formbox.addRow(FormLabel("Dette restante :"),
                       FormLabel(str(formatted_number(self.last_remaining))))
        formbox.addRow(FormLabel(u"Date : *"), self.refund_date_field)
        formbox.addRow(FormLabel(u"Montant : *"), self.amount_field)

        butt = ButtonSave(u"Enregistrer")
        butt.clicked.connect(self.save_edit)
        formbox.addRow("", butt)
        # formbox.addRow("", "Le client {} n'est pas endetté")

        vbox.addLayout(formbox)
        self.setLayout(vbox)
Exemplo n.º 20
0
 def set_data_for(self):
     """ completed the table """
     self._data = [
         (transfer.contact.display_name(),
          formatted_number(transfer.amount), transfer.date.strftime(u"%c"),
          transfer.response)
         for transfer in Transfer.select().order_by(Transfer.date.desc())
     ]
Exemplo n.º 21
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)

        self.montant_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            self.montant_ht += (is_int(self.item(row_num, 0).text())
                                * is_int(self.item(row_num, 2).text()))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Totaux : "))
        self.setItem(
            row_num, 3, TotalsWidget(formatted_number(self.montant_ht)))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Montant payé : "))
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(self.montant_ht - self.parent.invoice.paid_amount)))
        self.setSpan(nb_rows, 0, 2, 2)
Exemplo n.º 22
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)

        self.montant_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            self.montant_ht += (is_int(self.item(row_num, 0).text())
                                * is_int(self.item(row_num, 2).text()))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Totaux : "))
        self.setItem(
            row_num, 3, TotalsWidget(formatted_number(self.montant_ht)))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Montant payé : "))
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(self.montant_ht - self.parent.invoice.paid_amount)))
        self.setSpan(nb_rows, 0, 2, 2)
Exemplo n.º 23
0
    def set_data_for(self, number):
        if not number:
            return

        try:
            self.data = [(transf.contact.number, transf.date.strftime(u"%c"),
                          formatted_number(transf.amount), transf.response)
                         for transf in Transfer.filter(contact__number=number).order_by(Transfer.date.desc())]
        except AttributeError:
            raise
            self.hheaders = [u"Vide", ]
            self.data = ["", "Aucun transfers", "", ]
Exemplo n.º 24
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows, 0, 2, 2)
        self.setItem(nb_rows + 1, 2, TotalsWidget(u"TOTAUX: "))

        self.sum_totals = 0
        for row_num in xrange(0, self.data.__len__()):
            self.sum_totals += is_int(self.item(row_num, 3).text())
        self.setItem(
            row_num + 2, 3, TotalsWidget(formatted_number(self.sum_totals)))
Exemplo n.º 25
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows, 0, 2, 2)
        self.setItem(nb_rows + 1, 2, TotalsWidget(u"TOTAUX: "))

        self.sum_totals = 0
        for row_num in xrange(0, self.data.__len__()):
            self.sum_totals += is_int(self.item(row_num, 3).text())
        self.setItem(row_num + 2, 3,
                     TotalsWidget(formatted_number(self.sum_totals)))
Exemplo n.º 26
0
    def extend_rows(self):

        self.parent.btt_export.setEnabled(True)
        nb_rows = self.rowCount()
        date = self.parent.date_.text()

        self.setRowCount(nb_rows + 4)

        self.amount_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            mtt = is_int(self.item(row_num, 3).text())
            self.amount_ht += mtt

        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Total vente : "))
        self.amount_apricot = self.amount_ht
        self.setItem(
            row_num, 3,
            TotalsWidget(formatted_number(formatted_number(self.amount_ht))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Dette du jour : "))
        self.total_debt = Refund.select(fn.SUM(Refund.amount)).where(
            Refund.type_ == Refund.DT,
            Refund.date < date_on_or_end(date, on=False),
            Refund.date > date_on_or_end(date)).scalar() or 0
        if self.total_debt:
            self.amount_apricot -= self.total_debt
        self.setItem(
            row_num, 3,
            TotalsWidget(formatted_number(formatted_number(self.total_debt))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Dette reglée : "))
        self.total_refund = Refund.select(fn.SUM(Refund.amount)).where(
            Refund.type_ == Refund.RB,
            Refund.date < date_on_or_end(date, on=False),
            Refund.date > date_on_or_end(date)).scalar() or 0
        if self.total_refund:
            self.amount_apricot += self.total_refund
        self.setItem(
            row_num, 3,
            TotalsWidget(formatted_number(formatted_number(
                self.total_refund))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Caise : "))
        self.setItem(
            row_num, 3,
            TotalsWidget(
                formatted_number(formatted_number(self.amount_apricot))))
        self.setSpan(nb_rows, 0, 4, 2)
Exemplo n.º 27
0
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        b_f_tt = 0
        v_amount_tt = 0
        for row_num in xrange(0, self.data.__len__()):

            qtsaisi = is_int(self.cellWidget(row_num, 1).text()) or 1
            cost_buying = is_int(self.cellWidget(row_num, 2).text())
            selling_price = is_int(self.cellWidget(row_num, 3).text())

            self.isvalid = True
            # if not selling_price:
            #     return
            if (selling_price and check_is_empty(self.cellWidget(row_num, 1))):
                self.isvalid = False
            if (selling_price and check_is_empty(self.cellWidget(row_num, 2))):
                self.isvalid = False
            if (check_is_empty(self.cellWidget(row_num, 3))):
                self.isvalid = False

            r_amount = qtsaisi * cost_buying
            v_amount = qtsaisi * selling_price
            b_f = v_amount - r_amount
            b_f_u = b_f / qtsaisi

            b_f_tt += b_f
            v_amount_tt += v_amount
            # montt.setTextAlignment(Qt.AlignRight)
            self.setItem(row_num, 4, TotalsWidget(formatted_number(v_amount)))
            self.setItem(row_num, 5, TotalsWidget(formatted_number(b_f_u)))
            self.setItem(row_num, 6, TotalsWidget(formatted_number(b_f)))
            # Mise à jour
            self._update_data(
                row_num,
                [qtsaisi, cost_buying, selling_price, v_amount, b_f_u, b_f])
        row_num += 1
        self.setItem(row_num, 4, TotalsWidget(formatted_number(v_amount_tt)))
        self.setItem(row_num, 6, TotalsWidget(formatted_number(b_f_tt)))
Exemplo n.º 28
0
    def extend_rows(self):
        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 2)
        self.setItem(nb_rows, 3, TotalsWidget(u"Montant"))
        self.setItem(nb_rows, 6, TotalsWidget(formatted_number(u"%d" % 0)))

        nb_rows += 1
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 6)
        bicon = QIcon.fromTheme('', QIcon(u"{}".format(Config.img_cmedia)))
        self.button = QPushButton(bicon, u"Enregistrer")
        self.button.released.connect(self.parent.save_b)
        self.setCellWidget(nb_rows, 6, self.button)
Exemplo n.º 29
0
Arquivo: buy.py Projeto: Ciwara/GCiss
    def extend_rows(self):
        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 2)
        self.setItem(nb_rows, 3, TotalsWidget(u"Montant"))
        self.setItem(nb_rows, 6, TotalsWidget(formatted_number(u"%d" % 0)))

        nb_rows += 1
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 6)
        bicon = QIcon.fromTheme('', QIcon(u"{}".format(Config.img_cmedia)))
        self.button = QPushButton(bicon, u"Enregistrer")
        self.button.released.connect(self.parent.save_b)
        self.setCellWidget(nb_rows, 6, self.button)
Exemplo n.º 30
0
Arquivo: buy.py Projeto: Ciwara/GCiss
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        b_f_tt = 0
        v_amount_tt = 0
        for row_num in xrange(0, self.data.__len__()):

            qtsaisi = is_int(self.cellWidget(row_num, 1).text()) or 1
            cost_buying = is_int(self.cellWidget(row_num, 2).text())
            selling_price = is_int(self.cellWidget(row_num, 3).text())

            self.isvalid = True
            # if not selling_price:
            #     return
            if (selling_price and check_is_empty(self.cellWidget(row_num, 1))):
                self.isvalid = False
            if (selling_price and check_is_empty(self.cellWidget(row_num, 2))):
                self.isvalid = False
            if (check_is_empty(self.cellWidget(row_num, 3))):
                self.isvalid = False

            r_amount = qtsaisi * cost_buying
            v_amount = qtsaisi * selling_price
            b_f = v_amount - r_amount
            b_f_u = b_f / qtsaisi

            b_f_tt += b_f
            v_amount_tt += v_amount
            # montt.setTextAlignment(Qt.AlignRight)
            self.setItem(row_num, 4, TotalsWidget(formatted_number(v_amount)))
            self.setItem(row_num, 5, TotalsWidget(formatted_number(b_f_u)))
            self.setItem(row_num, 6, TotalsWidget(formatted_number(b_f)))
            # Mise à jour
            self._update_data(
                row_num, [qtsaisi, cost_buying, selling_price, v_amount, b_f_u, b_f])
        row_num += 1
        self.setItem(row_num, 4, TotalsWidget(formatted_number(v_amount_tt)))
        self.setItem(row_num, 6, TotalsWidget(formatted_number(b_f_tt)))
Exemplo n.º 31
0
    def _format_for_table(self, value):
        ''' formats input value for string in table widget

            override it to add more formats'''
        if isinstance(value, basestring):
            return value
        if isinstance(value, (int, float, long)):
            return formatted_number(value)
        elif isinstance(value, datetime.datetime):
            return value.strftime("%A %d/%m/%Y à %Hh:%Mmn")
        elif isinstance(value, datetime.date):
            return value.strftime("%A %d/%m/%Y")

        if value == None:
            return ''

        return u"%s" % value
Exemplo n.º 32
0
    def set_data_for(self, provid_clt_id=None, search=None):
        self.provid_clt_id = provid_clt_id
        qs = Refund.select().where(Refund.status == False).order_by(
            Refund.date.desc())

        self.remaining = 0
        if isinstance(provid_clt_id, int):
            qs = qs.select().where(
                Refund.provider_client == ProviderOrClient.get(
                    id=provid_clt_id))
        else:
            for prov in ProviderOrClient.select().where(
                    ProviderOrClient.type_ == ProviderOrClient.CLT):
                self.remaining += prov.last_remaining()
        self.parent.remaining_box.setText(
            self.display_remaining(formatted_number(self.remaining)))

        self.data = [(ref.id, ref.type_, ref.date, ref.invoice.number,
                      ref.amount, ref.remaining) for ref in qs.iterator()]
Exemplo n.º 33
0
    def extend_rows(self):
        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 2)
        self.setItem(nb_rows, 2, QTableWidgetItem(u"Montant"))
        monttc = QTableWidgetItem(formatted_number(u"%d" % 0))
        monttc.setTextAlignment(Qt.AlignRight)
        self.setItem(nb_rows, 3, monttc)

        nb_rows += 1
        self.setRowCount(nb_rows + 1)
        self.setSpan(nb_rows, 0, 1, 3)
        self.button = Button_save(u"Enregistrer")
        self.button.released.connect(self.parent.save_b)
        self.setCellWidget(nb_rows, 3, self.button)

        pw = (self.parentWidget().width()) / 5
        self.setColumnWidth(0, pw)
        self.setColumnWidth(1, pw * 2)
Exemplo n.º 34
0
    def extend_rows(self):
        nb_rows = self.rowCount()
        date = self.parent.date_.text()

        self.setRowCount(nb_rows + 4)

        self.amount_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            mtt = is_int(self.item(row_num, 3).text())
            self.amount_ht += mtt

        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Total vente : "))
        self.amount_apricot = self.amount_ht
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(formatted_number(self.amount_ht))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Dette du jour : "))
        self.total_debt = Refund.select(fn.SUM(Refund.amount)).where(
            Refund.type_ == Refund.DT, Refund.date < date_on_or_end(
                date, on=False),  Refund.date > date_on_or_end(date)).scalar() or 0
        if self.total_debt:
            self.amount_apricot -= self.total_debt
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(formatted_number(self.total_debt))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Dette reglée : "))
        self.total_refund = Refund.select(fn.SUM(Refund.amount)).where(
            Refund.type_ == Refund.RB, Refund.date < date_on_or_end(
                date, on=False),  Refund.date > date_on_or_end(date)).scalar() or 0
        if self.total_refund:
            self.amount_apricot += self.total_refund
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(formatted_number(self.total_refund))))
        row_num += 1
        self.setItem(row_num, 2, TotalsWidget(u"Caise : "))
        self.setItem(row_num, 3, TotalsWidget(
            formatted_number(formatted_number(self.amount_apricot))))
        self.setSpan(nb_rows, 0, 4, 2)
Exemplo n.º 35
0
    def extend_rows(self):

        self.nb_rows = self.rowCount()
        self.setRowCount(self.nb_rows + 1)
        self.setItem(self.nb_rows, 0, TotalsWidget(u"Totaux: "))
        self.setItem(
            self.nb_rows, 7, TotalsWidget(formatted_number(self.totals)))
        self.setItem(
            self.nb_rows, 1, TotalsWidget(formatted_number(self.total_sum_d1)))
        self.setItem(
            self.nb_rows, 2, TotalsWidget(formatted_number(self.total_sum_d2)))
        self.setItem(
            self.nb_rows, 3, TotalsWidget(formatted_number(self.total_sum_d3)))
        self.setItem(
            self.nb_rows, 4, TotalsWidget(formatted_number(self.total_sum_d4)))
        self.setItem(
            self.nb_rows, 5, TotalsWidget(formatted_number(self.total_sum_d5)))
        self.setItem(
            self.nb_rows, 6, TotalsWidget(formatted_number(self.total_sum_d6)))
Exemplo n.º 36
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        nb_rows += 1
        self.setItem(nb_rows, 3, TotalsWidget(u"Dette restante: "))

        if isinstance(self.provid_clt_id, int):
            self.remaining = is_int(
                self.item(self.data.__len__() - 1, 5).text())
        else:
            self.remaining = 0
            # for prov in ProviderOrClient.select().where(
            #         ProviderOrClient.type_ == ProviderOrClient.CLT):
            #     rmaing = Refund.select(Refund.provider_client == prov).order_by(
            #         Refund.date.desc()).get()
            #     self.remaining += rmaing.remaining if rmaing else 0
        self.setItem(
            nb_rows, 4, TotalsWidget(formatted_number(self.remaining)))
        self.btt_refund = QPushButton(u"Reglement")
        self.setSpan(nb_rows - 1, 0, 2, 3)
Exemplo n.º 37
0
    def extend_rows(self):

        self.nb_rows = self.rowCount()
        self.setRowCount(self.nb_rows + 1)
        self.setItem(self.nb_rows, 0, TotalsWidget(u"Totaux: "))
        self.setItem(
            self.nb_rows, 7, TotalsWidget(formatted_number(self.totals)))
        self.setItem(
            self.nb_rows, 1, TotalsWidget(formatted_number(self.total_sum_d1)))
        self.setItem(
            self.nb_rows, 2, TotalsWidget(formatted_number(self.total_sum_d2)))
        self.setItem(
            self.nb_rows, 3, TotalsWidget(formatted_number(self.total_sum_d3)))
        self.setItem(
            self.nb_rows, 4, TotalsWidget(formatted_number(self.total_sum_d4)))
        self.setItem(
            self.nb_rows, 5, TotalsWidget(formatted_number(self.total_sum_d5)))
        self.setItem(
            self.nb_rows, 6, TotalsWidget(formatted_number(self.total_sum_d6)))
Exemplo n.º 38
0
    def extend_rows(self):
        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 3)
        self.setItem(nb_rows, 2, TotalsWidget(u"Montant"))
        monttc = TotalsWidget(formatted_number(u"%d" % 0))
        self.setItem(nb_rows, 3, monttc)
        nb_rows += 1
        bicon = QIcon.fromTheme('',
                                QIcon(u"{}save.png".format(Config.img_media)))
        self.button = QPushButton(bicon, u"Enregistrer")
        self.button.released.connect(self.parent.save_b)
        self.button.setEnabled(False)
        self.setItem(nb_rows, 2, TotalsWidget(u"Reste à payer"))
        self.paid_amount_field = IntLineEdit()
        self.setCellWidget(nb_rows, 3, self.paid_amount_field)
        self.setCellWidget(nb_rows + 1, 3, self.button)
        self.setSpan(nb_rows - 1, 0, 3, 2)

        pw = self.parent.parent.page_width() / 7
        self.setColumnWidth(0, pw * 2)
        self.setColumnWidth(1, pw)
        self.setColumnWidth(2, pw)
Exemplo n.º 39
0
    def extend_rows(self):
        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 3)
        self.setItem(nb_rows, 2, TotalsWidget(u"Montant"))
        monttc = TotalsWidget(formatted_number(u"%d" % 0))
        self.setItem(nb_rows, 3, monttc)
        nb_rows += 1
        bicon = QIcon.fromTheme(
            '', QIcon(u"{}save.png".format(Config.img_media)))
        self.button = QPushButton(bicon, u"Enregistrer")
        self.button.released.connect(self.parent.save_b)
        self.button.setEnabled(False)
        self.setItem(nb_rows, 2, TotalsWidget(u"Reste à payer"))
        self.paid_amount_field = IntLineEdit()
        self.setCellWidget(nb_rows, 3, self.paid_amount_field)
        self.setCellWidget(nb_rows + 1, 3, self.button)
        self.setSpan(nb_rows - 1, 0, 3, 2)

        pw = self.parent.parent.page_width() / 7
        self.setColumnWidth(0, pw * 2)
        self.setColumnWidth(1, pw)
        self.setColumnWidth(2, pw)
Exemplo n.º 40
0
    def extend_rows(self):

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 3)
        self.setSpan(nb_rows, 0, 3, 2)
        mtt_ttc = QTableWidgetItem(u"Total: ")
        mtt_ttc.setTextAlignment(Qt.AlignRight)
        self.setItem(nb_rows + 1, 2, mtt_ttc)

        montant_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            quantity = is_int(self.item(row_num, 0).text())
            pu = is_int(self.item(row_num, 2).text())
            montant_ht += (quantity * pu)
        # Montant TTC
        montant_ttc = QTableWidgetItem(formatted_number(montant_ht))
        montant_ttc.setTextAlignment(Qt.AlignRight)
        self.setItem(row_num + 2, 3, montant_ttc)

        # bicon = QIcon.fromTheme('', QIcon(u"{}del.png".format(Config.img_media)))
        # self.button = QPushButton(bicon, u"Annuler la facture")
        self.button = Deleted_btt(u"Annuler la facture")
        self.button.released.connect(self.parent.annulation)
Exemplo n.º 41
0
    def extend_rows(self):

        pw = (self.parentWidget().width()) / 4
        self.setColumnWidth(0, pw)
        self.setColumnWidth(1, pw)
        self.setColumnWidth(2, pw)
        self.setColumnWidth(3, pw)

        nb_rows = self.rowCount()
        self.setRowCount(nb_rows + 2)
        self.setSpan(nb_rows, 0, 2, 2)
        mtt_ttc = QtGui.QTableWidgetItem(u"TOTAUX: ")
        mtt_ttc.setTextAlignment(QtCore.Qt.AlignRight)
        self.setItem(nb_rows + 1, 2, mtt_ttc)

        self.montant_ht = 0
        for row_num in xrange(0, self.data.__len__()):
            mtt = is_int(self.item(row_num, 3).text())
            self.montant_ht += mtt
        # Montant TTC
        montant_ttc = QtGui.QTableWidgetItem(formatted_number(self.montant_ht))
        montant_ttc.setTextAlignment(QtCore.Qt.AlignRight)
        self.setItem(row_num + 2, 3, montant_ttc)
Exemplo n.º 42
0
def pdf_view(invoice):
    """
        cette views est cree pour la generation du PDF
    """
    # print(filename)
    # on recupere les items de la facture
    items_invoice = invoice.get("data")
    file_name = invoice.get("file_name")
    # title = invoice.get("title")

    # Static source pdf to be overlayed
    template_pdf = 'templates/fact_source.pdf'
    tmp_file = 'tmp.pdf'
    # DATE_FORMAT = u"%d/%m/%Y"

    # DEFAULT_FONT_SIZE = 11
    # FONT = 'Courier-Bold'
    # A simple function to return a leading 0 on any single digit int.

    def double_zero(value):
        try:
            return '%02d' % value
        except TypeError:
            return value

    # setup the empty canvas
    from io import FileIO as file
    # from Common.pyPdf import PdfFileWriter, PdfFileReader
    from PyPDF2 import PdfFileWriter, PdfFileReader

    # PDF en entrée
    input1 = PdfFileReader(file(template_pdf, "rb"))

    # PDF en sortie
    output = PdfFileWriter()
    # Récupération du nombre de pages
    n_pages = input1.getNumPages()
    # Pour chaque page
    for i in range(n_pages):
        # Récupération de la page du doc initial (input1)
        page = input1.getPage(i)

        p = canvas.Canvas(tmp_file, pagesize=A4)
        # p.setFont(FONT, DEFAULT_FONT_SIZE)

        p.drawString(50, 683, invoice.get("invoice_type") +
                     " N° : " + str(invoice.get("number")))
        p.drawString(50, 667, "Doit à :" +
                     str(invoice.get("name_client")))
        p.drawString(450, 683, "Date : " + str(invoice.get("invoice_date")))
        # On ecrit les invoiceitem
        x, y = 20, 625
        cpt = 1
        ht = 0
        print(items_invoice)
        for qtty, designation, amount, montant in items_invoice:
            # montant = qtty * amount
            p.drawString(x + 43, y, str(cpt))
            p.drawString(x + 55, y, str(designation))
            p.drawRightString(
                x + 378, y, str(formatted_number(qtty)))
            p.drawRightString(
                x + 452, y, str(formatted_number(amount)))
            p.drawRightString(
                x + 535, y, str(formatted_number(montant)))
            y -= 20
            ht += montant
            cpt += 1

        ht_en_lettre = num2words(ht)
        p.drawRightString(555, 223, str(formatted_number(ht)))
        ht_en_lettre1, ht_en_lettre2 = controle_caratere(
            "Arrêté la présente facture à la somme de : " + ht_en_lettre +
            " francs CFA", 10, 90)
        p.drawString(50, 176, (ht_en_lettre1))
        p.drawString(55, 160, (ht_en_lettre2))
        p.drawString(450, 120, ('Le Fournisseur'))

        p.showPage()
        # Sauvegarde de la page
        p.save()
        # Création du watermark
        watermark = PdfFileReader(file(tmp_file, "rb"))
        # Création page_initiale+watermark
        page.mergePage(watermark.getPage(0))
        # Création de la nouvelle page
        output.addPage(page)
    file_dest = file_name
    output_stream = file(file_dest, u"wb")
    output.write(output_stream)
    output_stream.close()

    return file_dest
Exemplo n.º 43
0
def pdf_view(filename, invoice):
    """
        cette views est cree pour la generation du PDF
    """

    if not filename:
        filename = get_temp_filename('pdf')
        # print(filename)
    # on recupere les items de la facture
    items_invoice = Report.filter(invoice=invoice)
    # Static source pdf to be overlayed
    PDFSOURCE = Config.INV_TEMPLATE_PDF
    TMP_FILE = os.path.join(Config.ROOT_DIR, 'tmp.pdf')
    DATE_FORMAT = u"%d/%m/%Y"
    DEFAULT_FONT_SIZE = 11
    FONT = 'Times-Roman'

    # PDF en entrée
    input1 = PdfFileReader(file(PDFSOURCE, "rb"))
    # PDF en sortie
    output = PdfFileWriter()
    # Récupération du nombre de pages
    n_pages = input1.getNumPages()
    # Pour chaque page

    for i in range(n_pages):
        # Récupération de la page du doc initial (input1)
        page = input1.getPage(i)
        p = canvas.Canvas(TMP_FILE, pagesize=A4)
        p.setFont(FONT, DEFAULT_FONT_SIZE)
        p.drawString(115, 639, str(invoice.number))
        p.drawString(82, 625, (invoice.client.name))
        p.drawString(445, 625, str(invoice.date.strftime(DATE_FORMAT)))
        # On ecrit les invoiceitem
        x, y = 122, 574
        x_qty = x
        x_description = x + 10
        x_price = x + 340
        x_amount = x + 433

        for i in items_invoice:
            p.drawRightString(x_qty, y, str(i.qty))
            p.drawString(x_description, y, str(i.product.name))
            p.drawRightString(x_price, y, str(
                formatted_number(i.selling_price)))
            p.drawRightString(x_amount, y, str(formatted_number(
                i.selling_price * i.qty)))
            y -= 17
        # On calcul le montant total hors taxe et sa conversion en lettre
        ht = sum([(val.selling_price * val.qty) for val in items_invoice])
        tax_rate = invoice.tax_rate if invoice.tax else 0
        mt_tax = int((ht * tax_rate) / 100)
        htt = mt_tax + ht
        ht_en_lettre = num2words(ht, lang="fr")
        ht_en_lettre1, ht_en_lettre2 = controle_caratere(
            ht_en_lettre + " francs CFA", 50, 50)
        p.drawString(260, 191, (ht_en_lettre1))
        p.drawString(50, 175, (ht_en_lettre2))
        p.setFont('Times-Bold', 11)
        p.drawString(52, 639, "Facture N° :")
        p.drawString(x_price - 20, 248, str(tax_rate) + "%")
        # TVA
        p.drawRightString(x_amount, 248, device_amount(mt_tax))
        # Hors Taxe
        p.drawRightString(x_amount, 265, str(device_amount(ht)))
        # Tout Taxe
        p.drawRightString(x_amount, 232, str(device_amount(htt)))
        x_foot = 145
        p.drawString(50, x_foot, "Acceptation" if invoice.type_ ==
                     "Proforma" else "Acquit")
        p.drawString(490, x_foot, "Fournisseur")
        p.showPage()
        # Sauvegarde de la page
        p.save()
        # Création du watermark
        watermark = PdfFileReader(file(TMP_FILE, "rb"))
        # Création page_initiale+watermark
        page.mergePage(watermark.getPage(0))
        # Création de la nouvelle page
        output.addPage(page)
    # Nouveau pdf
    file_dest = filename + ".pdf"
    try:
        outputStream = file(file_dest, u"wb")
        output.write(outputStream)
        outputStream.close()
        return file_dest
    except OSError as e:
        from Common.ui.util import raise_error
        raise_error(u"Impossible de lancer le PDF", """
                    Car un autre en cours d'utilistation. Kill le \n{}""".format(e))
        return
Exemplo n.º 44
0
 def extend_rows(self):
     if isinstance(self.provid_clt_id, int):
         self.remaining = is_int(self.item(0, 5).text())
         self.parent.remaining_box.setText(
             self.display_remaining(formatted_number(self.remaining)))
Exemplo n.º 45
0
 def set_data_for(self):
     """ completed the table """
     self._data = [(transfer.contact.display_name(),
                    formatted_number(transfer.amount),
                    transfer.date.strftime(u"%c"), transfer.response)
                   for transfer in Transfer.select().order_by(Transfer.date.desc())]