hamyar_paygah.controllers.widgets.personnel_analyzer_tab_controller =================================================================== .. py:module:: hamyar_paygah.controllers.widgets.personnel_analyzer_tab_controller .. autoapi-nested-parse:: Controller for the personnel analyzer tab. Attributes ---------- .. autoapisummary:: hamyar_paygah.controllers.widgets.personnel_analyzer_tab_controller.COUNT_PERSIAN_TEXT Classes ------- .. autoapisummary:: hamyar_paygah.controllers.widgets.personnel_analyzer_tab_controller.PersonnelAnalyzerTab Module Contents --------------- .. py:data:: COUNT_PERSIAN_TEXT :type: str :value: 'تعداد' Persian text for the word (count) .. py:class:: PersonnelAnalyzerTab Bases: :py:obj:`PySide6.QtWidgets.QWidget` Tab that analyzes the personnel and shows its details. .. py:attribute:: ui .. py:method:: _populate_region_picker() Populates the region picker with regions dictionary. .. py:method:: on_from_date_picker_userDateChanged(new_date) Ensure from date is always equal or less than the to date. :param new_date: User input date when from date picker is changed. :type new_date: PySide6.QtCore.QDate .. py:method:: on_to_date_picker_userDateChanged(new_date) Ensure to date is always equal or more that the from date. :param new_date: User input date when to date picker is changed. :type new_date: PySide6.QtCore.QDate .. py:method:: on_load_button_clicked() :async: Dynamically load the missions list from the server and build the tabs based on it. .. py:method:: _clear_data() Clears all the fields and checkboxes in the UI. .. py:method:: _build_tabs(missions_list) :async: Build dynamic tabs per personnel and one overall tab. .. py:method:: _group_missions_by_personnel_code(missions_list) :async: Groups the missions by personnel code. :param missions_list: List of missions to be grouped. :type missions_list: list[Mission] :returns: A dictionary where the keys are personnel codes and the values are lists of missions. :rtype: dict[int, list[Mission]] .. py:method:: _sorted_counter(counter) .. py:method:: _create_summary_widget(missions_list) :async: Create a simple summary display widget for a mission list. .. py:method:: _summarize_missions(missions_list) :async: Compute basic statistics from the missions list. .. py:method:: _process_missions(missions_list, progress_callback) :async: Process missions asynchronously with progress reporting. .. py:method:: _populate_missions_per_code_table(missions_per_code, ui) Populate the missions per code table with the given data.