Exemple #1
0
    def __init__(self, task, project, on_status_change=None, on_assigned_to_change=None):
        self.task = task

        if data.task_finished_date(task):
            is_closed = urwid.AttrMap(generic.ListText("☑"), "green", "focus")
        else:
            is_closed = urwid.AttrMap(generic.ListText("☒"), "red", "focus")
        colum_items = [("weight", 0.05, is_closed)]

        task_ref_and_subject = "Task #{0: <4} {1}".format(data.task_ref(task), data.task_subject(task))
        if task.get("is_iocaine", False):
            task_ref_and_subject = [task_ref_and_subject + " ", (("magenta"), "☣")]
        colum_items.append(("weight", 1, generic.ListText(task_ref_and_subject, align="left")))

        memberships = [{"user": None, "full_name": "Unassigned"}] + list(data.active_memberships(project).values())
        items = tuple(((urwid.AttrSpec("h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))), "default"),
                        s.get("full_name", "")), s.get("user", None)) for s in memberships)
        selected = task.get("assigned_to", None)
        assigned_to_combo = generic.ComboBox(items, selected_value=selected, style="cyan", enable_markup=True,
                                             on_state_change=on_assigned_to_change, user_data=task)
        colum_items.append(("weight", 0.2, assigned_to_combo))

        task_statuses = data.task_statuses(project)
        items = tuple(((urwid.AttrSpec("h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))), "default"),
                        s.get("name", "")), s.get("id", None)) for s in task_statuses.values())
        selected = task.get("status", None) or project.get("default_task_status", None)
        status_combo = generic.ComboBox(items, selected_value=selected, style="cyan", enable_markup=True,
                                        on_state_change=on_status_change, user_data=task)
        colum_items.append(("weight", 0.2, status_combo))

        self.widget = urwid.Columns(colum_items)
        super().__init__(urwid.AttrMap(self.widget, "default", "focus"))
    def __init__(self,
                 task,
                 project,
                 on_status_change=None,
                 on_assigned_to_change=None):
        self.task = task

        if data.task_finished_date(task):
            is_closed = urwid.AttrMap(generic.ListText("☑"), "green", "focus")
        else:
            is_closed = urwid.AttrMap(generic.ListText("☒"), "red", "focus")
        colum_items = [("weight", 0.05, is_closed)]

        task_ref_and_subject = "Task #{0: <4} {1}".format(
            data.task_ref(task), data.task_subject(task))
        if task.get("is_iocaine", False):
            task_ref_and_subject = [
                task_ref_and_subject + " ", (("magenta"), "☣")
            ]
        colum_items.append(
            ("weight", 1, generic.ListText(task_ref_and_subject,
                                           align="left")))

        memberships = [{
            "user": None,
            "full_name": "Unassigned"
        }] + list(data.active_memberships(project).values())
        items = tuple(((urwid.AttrSpec(
            "h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))),
            "default"), s.get("full_name", "")), s.get("user", None))
                      for s in memberships)
        selected = task.get("assigned_to", None)
        assigned_to_combo = generic.ComboBox(
            items,
            selected_value=selected,
            style="cyan",
            enable_markup=True,
            on_state_change=on_assigned_to_change,
            user_data=task)
        colum_items.append(("weight", 0.2, assigned_to_combo))

        task_statuses = data.task_statuses(project)
        items = tuple(((urwid.AttrSpec(
            "h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))),
            "default"), s.get("name", "")), s.get("id", None))
                      for s in task_statuses.values())
        selected = task.get("status", None) or project.get(
            "default_task_status", None)
        status_combo = generic.ComboBox(items,
                                        selected_value=selected,
                                        style="cyan",
                                        enable_markup=True,
                                        on_state_change=on_status_change,
                                        user_data=task)
        colum_items.append(("weight", 0.2, status_combo))

        self.widget = urwid.Columns(colum_items)
        super().__init__(urwid.AttrMap(self.widget, "default", "focus"))
Exemple #3
0
    def _status_input(self):
        task_statuses = data.task_statuses(self.project)
        items = tuple(((urwid.AttrSpec("h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))), "default"),
                        s.get("name", "")), s.get("id", None)) for s in task_statuses.values())
        selected = self.task.get("status", None) or self.project.get("default_task_status", None)

        self._status_combo = generic.ComboBox(items, selected_value=selected, style="cyan")

        colum_items = [(17, urwid.Padding(generic.ListText("Status", align="right"), right=4))]
        colum_items.append(self._status_combo)
        return urwid.Columns(colum_items)
    def _status_input(self):
        task_statuses = data.task_statuses(self.project)
        items = tuple(((urwid.AttrSpec(
            "h{0}".format(utils.color_to_hex(s.get("color", "#ffffff"))),
            "default"), s.get("name", "")), s.get("id", None))
                      for s in task_statuses.values())
        selected = self.task.get("status", None) or self.project.get(
            "default_task_status", None)

        self._status_combo = generic.ComboBox(items,
                                              selected_value=selected,
                                              style="cyan")

        colum_items = [(17,
                        urwid.Padding(generic.ListText("Status",
                                                       align="right"),
                                      right=4))]
        colum_items.append(self._status_combo)
        return urwid.Columns(colum_items)