コード例 #1
0
ファイル: empleados_grid.py プロジェクト: jose8club/Local
	def __init__(self, parent=None, id_local=None):
		QtGui.QDialog.__init__(self, parent)
		self.ui =  Ui_Dialog()
		self.ui.setupUi(self)
		self.ui.agregar.clicked.connect(self.conectar)
		self.ui.aceptar.clicked.connect(self.cancel)
		self.ui.eliminar.clicked.connect(self.eliminar)
		self.ui.tableView.doubleClicked.connect(self.editar)
		self.ui.idlocal.setText(str(id_local))
		self.cargar_grid()
		self.show()
コード例 #2
0
ファイル: empleados_grid.py プロジェクト: jose8club/Local
class Form(QtGui.QDialog):
	def __init__(self, parent=None, id_local=None):
		QtGui.QDialog.__init__(self, parent)
		self.ui =  Ui_Dialog()
		self.ui.setupUi(self)
		self.ui.agregar.clicked.connect(self.conectar)
		self.ui.aceptar.clicked.connect(self.cancel)
		self.ui.eliminar.clicked.connect(self.eliminar)
		self.ui.tableView.doubleClicked.connect(self.editar)
		self.ui.idlocal.setText(str(id_local))
		self.cargar_grid()
		self.show()

	def conectar(self):
		"""función que conecta la grilla de empleados con la forma de ingreso de empleados"""	
		form = empleados_form.Form(self)
		form.setWindowTitle("Agregar un empleado")
		form.rejected.connect(self.cargar_grid)	
		form.ui.local_bar.setText(self.ui.idlocal.text())	
		form.ui.add_btn.clicked.connect(form.add)
		form.exec_()
	

	def editar(self):
		"""función que conecta la grilla de empleados con la forma de ingreso de empleados"""
		model = self.ui.tableView.model()
		index = self.ui.tableView.currentIndex()
		rut = model.index(index.row(), 0, QtCore.QModelIndex()).data()
		form = empleados_form.Form(self,rut)
		form.ui.add_btn.clicked.connect(form.edit)
		form.rejected.connect(self.cargar_grid)	
		form.setWindowTitle("Editar Empleado")
		form.exec_()	

	def cargar_grid(self):
		"""función que muestra los empleados de un local en específico, usando su id_local"""
		empleados = c.obtener_empleados_por_local(self.ui.idlocal.text())
		#Creamos el modelo asociado a la tabla
		self.model = QtGui.QStandardItemModel(len(empleados), 6)
		self.model.setHorizontalHeaderItem(0, QtGui.QStandardItem(u"RUT"))
		self.model.setHorizontalHeaderItem(1, QtGui.QStandardItem(u"Nombre"))
		self.model.setHorizontalHeaderItem(2, QtGui.QStandardItem(u"Cargo"))
		self.model.setHorizontalHeaderItem(3, QtGui.QStandardItem(u"Genero"))
		self.model.setHorizontalHeaderItem(4, QtGui.QStandardItem(u"Sueldo"))
		self.model.setHorizontalHeaderItem(5, QtGui.QStandardItem(u"local"))
		r = 0
		for row in empleados:
			#print row
			index = self.model.index(r, 0, QtCore.QModelIndex()) 
			self.model.setData(index, row[0])
			index = self.model.index(r, 1, QtCore.QModelIndex()) 
			self.model.setData(index, row[1])
			index = self.model.index(r, 2, QtCore.QModelIndex()) 
			self.model.setData(index, row[2])
			index = self.model.index(r, 3, QtCore.QModelIndex())
			self.model.setData(index, row[3])
			index = self.model.index(r, 4, QtCore.QModelIndex())
			self.model.setData(index, row[4])
			index = self.model.index(r, 5, QtCore.QModelIndex())
			self.model.setData(index, row[5])
			r = r+1
		self.ui.tableView.setModel(self.model)

		self.ui.tableView.setColumnWidth(0, 120)
		self.ui.tableView.setColumnWidth(1, 120)
		self.ui.tableView.setColumnWidth(2, 120)
		self.ui.tableView.setColumnWidth(3, 120)
		self.ui.tableView.setColumnWidth(4, 120)
		self.ui.tableView.setColumnWidth(5, 120)


	def eliminar(self):
		"""función que elimina los empleados de cada local que solo pueden ser eliminados a través de la selección del registro a eliminar"""
		model = self.ui.tableView.model()
		index = self.ui.tableView.currentIndex()
		if index.row() == -1: #No se ha seleccionado una fila
			msgBox = QtGui.QMessageBox.information(self,"Error","debe seleccionar una fila")
			return False
		else:
			rut = model.index(index.row(), 0, QtCore.QModelIndex()).data()
			id_local = model.index(index.row(), 5, QtCore.QModelIndex()).data()
			if (c.eliminar_empleado(rut)):
				self.cargar_grid()
				msgBox = QtGui.QMessageBox()
				msgBox.setText("EL empleado de este local fue eliminado.")
				msgBox.exec_()
				return True
			else:
				self.ui.errorMessageDialog = QtGui.QErrorMessage(self)
				self.ui.errorMessageDialog.showMessage("Error al eliminar el registro del empleado de este local")
				return False

	def cancel(self):
		"""ventana que permite la cancelación de la ventana"""
		self.reject()