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()
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
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))
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) )