Skip to content
Snippets Groups Projects
Select Git revision
  • 649e5cb8740e6b9bcc15c7747c99923cf7fa8f7f
  • master default protected
  • v5
3 results

layout_patch.js

Blame
  • functions.py 1.75 KiB
    from wagtail.blocks import StructValue
    
    from shared.blocks import ProgramItemBlock
    
    from .getters import get_issue_list, get_issue_overall_percentage
    
    
    def fill_data_from_redmine_for_page(page):
        """
        Naplní hondnotu completion_percentage a program_items pro RedmineProgramBlock
        pro danou Page (musí mít atribut content s blockem redmine_program_block)
        """
        for program_block in page.content:
            if program_block.block_type == "redmine_program_block":
                redmine_issue_id = program_block.value["redmine_issue"]
                fill_overall_percentage_from_redmine(program_block.value, redmine_issue_id)
                fill_program_items_from_redmine(program_block.value, redmine_issue_id)
    
    
    def fill_overall_percentage_from_redmine(program_block_value: dict, issue_id: int):
        """
        Naplní hondnotu completion_percentage pro RedmineProgramBlock hodnoutou z Redmine.
        """
        program_block_value["completion_percentage"] = get_issue_overall_percentage(
            issue_id
        )
    
    
    def fill_program_items_from_redmine(program_block_value: dict, issue_id: int):
        """
        Naplní hondnotu program_items pro RedmineProgramBlock. Nejdříve hodnotu (list)
        promaže a pak z getných issues naplní pomocí StructValue
        """
        issue_list = get_issue_list(issue_id)
        program_block_value["program_items"].clear()
    
        for issue in issue_list:
            sv = StructValue(ProgramItemBlock)
            sv.update(
                {
                    "completion_percentage": issue.get("done_ratio", None),
                    "title": issue.get("subject", ""),
                    "issue_link": "https://redmine.pirati.cz/issues/{}".format(
                        issue.get("id", "")
                    ),
                }
            )
            program_block_value["program_items"].append(sv)