示例#1
0
    def on_save_button_clicked(self, button):
        self.logger.debug("on_save_button_clicked")

        vehicle = self.validate_vehicle()

        if vehicle is None:
            dialog = Gtk.MessageDialog(
                    self.window, 0, Gtk.MessageType.ERROR,
                    Gtk.ButtonsType.CANCEL, "Invalid values")

            dialog.run()
            dialog.destroy()
        else:
            self.logger.debug("Trying to find vehicle: %s", vehicle.number)

            query = Vehicle.select().where(Vehicle.number == vehicle.number)
            if query.exists():
                dialog = Gtk.MessageDialog(
                        self.window, 0, Gtk.MessageType.QUESTION,
                        Gtk.ButtonsType.YES_NO,
                        "The vehicle already exists, do you want to update it?"
                        )

                if dialog.run() == Gtk.ResponseType.YES:
                    self.update_vehicle(vehicle)

                dialog.destroy()
            else:
                self.create_vehicle(vehicle)

            self.clean_form()
示例#2
0
    def on_row_activated(self, treeview, path, column):
        self.logger.debug("on_row_activated")

        tree_iter = self.vehicles_model.get_iter(path)
        number = self.vehicles_model.get_value(tree_iter, self.NUMBER_COLUMN)
        vehicle = Vehicle.select().where(Vehicle.number == number).get()

        if column.get_sort_column_id() == self.REMOVE_COLUMN:
            dialog = Gtk.MessageDialog(
                    self.window, 0, Gtk.MessageType.QUESTION,
                    Gtk.ButtonsType.YES_NO,
                    "Are you sure to remove the vehicle?")

            if dialog.run() == Gtk.ResponseType.YES:
                self.delete_vehicle(vehicle)

            dialog.destroy()
        else:
            self.populate_form(vehicle)
    def validate_delivery_note(self):
        self.logger.debug("validate_delivery_note")

        delivery_note = None
        try:
            code = self.code_entry.get_text()
            date = self.date_entry.get_text()
            vehicle_number = self.vehicle_number_combo.get_active_text()

            vehicle = Vehicle.select().where(
                    Vehicle.number == vehicle_number
                    ).get()

            delivery_note = DeliveryNote(
                code=code, date=date, company=self.company, vehicle=vehicle,
                invoiced=False
                )

        except Exception as ex:
            self.logger.error("Exception: %: %", ex.errno, ex.strerror)
            self.logger.error("Invalid data")

        return delivery_note
示例#4
0
 def load_data_from_database(self):
     self.logger.debug("Loading data from db...")
     self.vehicles = Vehicle.select()
     self.logger.debug("%s vehicles loaded", len(self.vehicles))
示例#5
0
def query_all():
    data = [parse(v) for v in Vehicle.select()]
    return { "success": True, "data": data }
 def populate_vehicle_names_combo(self):
     for vehicle in Vehicle.select():
         self.vehicle_number_combo.append(
                 str(vehicle.number), str(vehicle.number)
                 )