def __init__(self): ui_module.UI.__init__(self) self.radio_initialized = False self.project_radios = {} self._load_prerequisite() UIDGenerator.GUID() database_manager.DB() self._connect_ui() self.load_project_radios() self.update_file_validation_status()
def upload_files(self): _file_path = self.tab_upload_browse_file_field.text() if os.path.isfile(_file_path) and os.path.exists(_file_path): database_manager.DB().add_to_db( _file_path, self.get_selected_project_radio().name, self.tab_upload_validation_status.text()) curr_file_name = os.path.basename(_file_path) utility.copy_files_to_server( _file_path, os.path.join( config.projects[self.get_selected_project_radio().name. lower()]["folder_path"], curr_file_name)) self.run_file_validation(reset=True) self.create_message_window( "File has been uploaded for review, Please check the dashboard tab for updates.", "Upload Info") else: self.create_message_window("Please select files for upload", "Error")
def reload_files(self): UIDGenerator.GUID().reload_guid_file() database_manager.DB().reload_database() self.update_current_tab()
def download_files(self, _guid): print("Download requested for : ", _guid) print("---> {}".format(database_manager.DB().db_data[str(_guid)]))
def validation_status(self, status, _guid): _data = database_manager.DB().db_data[str(_guid)] _data["status"] = status _data["reviewer_name"] = utility.get_windows_display_name() database_manager.DB().write_to_disk() self.update_current_tab()
def populate_table_information(self, tab_name): eval("self.tab_{}_table.clear()".format(tab_name)) eval("self.tab_{}_table.setRowCount(0)".format(tab_name)) eval("self.tab_{}_table.setColumnCount(0)".format(tab_name)) _radio_setting = self.get_selected_project_radio().name.lower() _reduction_counter = 0 _reduction_radio_counter = 0 for _index, v in enumerate(database_manager.DB().db_data.values()): if tab_name != "dashboard": if _radio_setting != v["project_type"].lower(): _reduction_radio_counter += 1 continue else: if tab_name != "submissions": if v["status"] == "Rejected" or v[ "status"] == "Approved": _reduction_radio_counter += 1 continue _index = _index - _reduction_radio_counter if tab_name == "submissions": if v["status"] != "Approved": _reduction_counter += 1 continue else: _index = _index - _reduction_counter _reduction_counter = 0 eval("self.tab_{}_table.insertRow(int(_index))".format(tab_name)) create_columns = True if eval("self.tab_{0}_table.columnCount() >= len(config.{0}_columns)" .format(tab_name)): create_columns = False for _iter, column_name in enumerate( eval("config.{}_columns".format(tab_name))): if create_columns: eval("self.tab_{}_table.insertColumn(_iter)".format( tab_name)) _item = QtWidgets.QTableWidgetItem(str(v[column_name])) _item.setTextAlignment( QtCore.Qt.AlignHCenter) # change the alignment eval( "self.tab_{}_table.setItem(int(_index), int(_iter), _item)" .format(tab_name)) if tab_name == "reviewer": download_files_button = ui_module.AdvancedButton( "Download", v["guid"]) approve_button = ui_module.AdvancedButton( "Approved", v["guid"]) reject_button = ui_module.AdvancedButton("Rejected", v["guid"]) approve_button.clicked.connect( partial(self.validation_status, approve_button.status, approve_button.guid)) reject_button.clicked.connect( partial(self.validation_status, reject_button.status, reject_button.guid)) download_files_button.clicked.connect( partial(self.download_files, download_files_button.guid)) for _i, but in enumerate( [download_files_button, approve_button, reject_button], start=len(eval("config.{}_columns".format(tab_name)))): if create_columns: eval("self.tab_{}_table.insertColumn(_i)".format( tab_name)) eval( "self.tab_{}_table.setCellWidget(int(_index), _i, but)" .format(tab_name)) if tab_name == "submissions": submit_button = ui_module.AdvancedButton("Submit", v["guid"]) submit_button.clicked.connect( partial(self.submit_files, submit_button.guid)) if create_columns: eval( "self.tab_{0}_table.insertColumn(len(config.{0}_columns))" .format(tab_name)) eval( "self.tab_{0}_table.setCellWidget(int(_index), len(config.{0}_columns), submit_button)" .format(tab_name)) eval( "self.tab_{0}_table.setHorizontalHeaderLabels(config.{0}_header_labels)" .format(tab_name)) eval("self.tab_{}_table.resizeColumnsToContents()".format(tab_name))