예제 #1
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())]
예제 #2
0
def update_report(report):
    """ Supression  """
    try:
        p = Reports.filter(deleted=False, date__gt=report.date).get()
        p.save()
    except Exception as e:
        print("update_report", e)
        pass

    report.delete_instance()
예제 #3
0
def lastes_reports():
    list_rep = []
    for store in Store.select():
        for prod in Product.select():
            try:
                list_rep.append(Reports.filter(deleted=False, store=store,
                                               product=prod)
                                       .order_by(Reports.date.desc()).get())
            except Exception as e:
                # print(e)
                pass
    return list_rep
예제 #4
0
    def changed_value(self, refresh=False):
        """ Calcule les Resultat """
        current_store = self.parent.liste_store[
            self.parent.box_store.currentIndex()]

        for row_num in xrange(0, self.data.__len__()):
            self.isvalid = True
            try:
                last_report = Reports.filter(store=current_store,
                                             product__name=str(self.item(row_num, 1)
                                                               .text())).order_by(Reports.date.desc()).get()
                qtremaining = last_report.remaining

                date_out = str(self.parent.date_out.text())
                if last_report.date > date_on_or_end(date_out, on=False):
                    self.parent.date_out.setStyleSheet("font-size:15px;"
                                                       "color:red")
                    self.parent.date_out.setToolTip(u"Cette date est "
                                                    u"Inférieure à la date "
                                                    u"de la dernière rapport"
                                                    u" (%s) " %
                                                    last_report.date)
                    self.isvalid = False
                    return False

            except Exception as e:
                print(e)
                qtremaining = 0

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

            self._update_data(row_num, [qtsaisi])
            viderreur_qtsaisi = ""
            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

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

            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
예제 #5
0
    def annulation(self):
        reply = QMessageBox.question(self, 'Confirmation',
                                    u"<h2 style='color:red;'>Voulez vous vraiment annuler cette"
                                    u" facture?</h2>",
                                    QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            from ui.dashboard import DashbordViewWidget
            rep = Reports()
            rep.store = 1
            for item in Reports.filter(invoice=self.invoice):
                item.delete_instance()
            self.invoice.delete_instance()
            self.change_main_context(DashbordViewWidget)