Exemple #1
0
    def do_next_action(self, date_query):
        day_kwargs = {"data_type__in": [5, 7, 8, 9, 10, 11, 12, 13, 14]}
        week_kwargs = {"data_type": models.type_list["nextaction_week"]}
        Q = models.models.Q
        view_range = self.options.get("view_range")
        show_finished = self.options["show_finished_card"]
        show_unfinished = self.options["show_unfinished_card"]
        if not view_range:
            if show_unfinished:
                day_kwargs.setdefault("target_date__lt", date.today())
                day_kwargs.setdefault("finished_date__isnull", True)
                week_kwargs.setdefault("target_date__lt", date.next_week())
                week_kwargs.setdefault("finished_date__isnull", True)
            elif not show_finished:
                day_kwargs.setdefault("finished_date__isnull", True)
                week_kwargs.setdefault("finished_date__isnull", True)
            return Q(**day_kwargs) | Q(**week_kwargs)

        view_start, view_end = view_range.get(date_query)
        week_view_start, week_view_end = view_range.get_week(date_query)
        if show_unfinished:
            day_kwargs["target_date__lt"] = view_start
            day_kwargs["finished_date__isnull"] = True
            week_kwargs["target_date__lt"] = week_view_end
            week_kwargs["finished_date__isnull"] = True
            return Q(**day_kwargs) | Q(**week_kwargs)
        else:
            day_kwargs["target_date__range"] = [view_start, view_end]
            week_kwargs["target_date__range"] = [
                week_view_start, week_view_end
            ]
            if not show_finished:
                day_kwargs["finished_date__isnull"] = True
                week_kwargs["finished_date__isnull"] = True
            return Q(**day_kwargs) | Q(**week_kwargs)
Exemple #2
0
    def do_next_action(self, date_query):
        day_kwargs = {"data_type__in":[5, 7, 8, 9, 10, 11, 12, 13, 14]}
        week_kwargs = {"data_type":models.type_list["nextaction_week"]}
        Q = models.models.Q
        view_range = self.options.get("view_range")
        show_finished = self.options["show_finished_card"]
        show_unfinished = self.options["show_unfinished_card"]
        if not view_range:
            if show_unfinished:
                day_kwargs.setdefault("target_date__lt", date.today())
                day_kwargs.setdefault("finished_date__isnull", True)
                week_kwargs.setdefault("target_date__lt", date.next_week())
                week_kwargs.setdefault("finished_date__isnull", True)
            elif not show_finished:
                day_kwargs.setdefault("finished_date__isnull", True)
                week_kwargs.setdefault("finished_date__isnull", True)
            return Q(**day_kwargs) | Q(**week_kwargs)

        view_start, view_end = view_range.get(date_query)
        week_view_start, week_view_end = view_range.get_week(date_query)
        if show_unfinished:
            day_kwargs["target_date__lt"] = view_start
            day_kwargs["finished_date__isnull"] = True
            week_kwargs["target_date__lt"] = week_view_end
            week_kwargs["finished_date__isnull"] = True
            return Q(**day_kwargs) | Q(**week_kwargs)
        else:
            day_kwargs["target_date__range"] = [view_start, view_end]
            week_kwargs["target_date__range"] = [week_view_start, week_view_end]
            if not show_finished:
                day_kwargs["finished_date__isnull"] = True
                week_kwargs["finished_date__isnull"] = True
            return Q(**day_kwargs) | Q(**week_kwargs)
Exemple #3
0
    def format_date(self):
        if self.finished_date:
            if type_list[self.data_type] == "memo":
                return self.finished_date.strftime("%m/%d")
            return self.finished_date.strftime("%m/%d %H:%M")
        if self.target_date is None:
            return ""
        if self.target_date:
            unfinished = self.target_date < date.today()
        else:
            unfinished = False
        if type_list[self.data_type] == "nextaction_week":
            start, end = date.OneWeek.get(self.target_date)
            datestr = "%s - %s" % (start.strftime("%m/%d"), end.strftime("%m/%d"))
            unfinished = end < date.today()

        elif self.target_date.hour == 0 and self.target_date.minute == 0:
            datestr = self.target_date.strftime("%m/%d")
        else:
            datestr = self.target_date.strftime("%m/%d %H:%M")
        if unfinished:
            return '<span class="date unfinished">%s</span>' % datestr
        return '<span class="date">%s</span>' % datestr
Exemple #4
0
    def format_date(self):
        if self.finished_date:
            if type_list[self.data_type] == "memo":
                return self.finished_date.strftime("%m/%d")
            return self.finished_date.strftime("%m/%d %H:%M")
        if self.target_date is None:
            return ""
        if self.target_date:
            unfinished = self.target_date < date.today()
        else:
            unfinished = False
        if type_list[self.data_type] == "nextaction_week":
            start, end = date.OneWeek.get(self.target_date)
            datestr = "%s - %s" % (start.strftime("%m/%d"),
                                   end.strftime("%m/%d"))
            unfinished = end < date.today()

        elif self.target_date.hour == 0 and self.target_date.minute == 0:
            datestr = self.target_date.strftime("%m/%d")
        else:
            datestr = self.target_date.strftime("%m/%d %H:%M")
        if unfinished:
            return '<span class="date unfinished">%s</span>' % datestr
        return '<span class="date">%s</span>' % datestr
Exemple #5
0
    def do(self, date_query):
        kwargs = {}
        Q = models.models.Q
        if self.options["show_nextaction"]:
            return self.do_next_action(date_query)
        elif self.options["show_inbox"]:
            kwargs["data_type"] = models.type_list["inbox"]
        elif self.options["show_task"]:
            kwargs["data_type"] = models.type_list["calender"]
        elif self.options["show_memo"]:
            kwargs["data_type"] = models.type_list["memo"]
            kwargs["finished_date__isnull"] = False
        elif self.options["show_someday_task"]:
            kwargs["data_type"] = models.type_list["someday"]
        view_range = self.options.get("view_range")
        show_finished = self.options["show_finished_card"]
        show_unfinished = self.options["show_unfinished_card"]
        show_doing = self.options["show_doing"]
        if not view_range:
            if show_doing:
                kwargs.setdefault("finished_date__isnull", True)
                kwargs.setdefault("start_date__isnull", False)
            else:
                if show_unfinished:
                    kwargs.setdefault("target_date__lt", date.today())
                    kwargs.setdefault("finished_date__isnull", True)
                elif not show_finished:
                    kwargs.setdefault("finished_date__isnull", True)
            return Q(**kwargs)

        view_start, view_end = view_range.get(date_query)
        if show_unfinished:
            kwargs["target_date__lt"] = view_start
            kwargs["finished_date__isnull"] = True
            return Q(**kwargs)
        else:
            kwargs["target_date__range"] = [view_start, view_end]
            if not show_finished:
                kwargs["finished_date__isnull"] = True
            return Q(**kwargs)
Exemple #6
0
    def do(self, date_query):
        kwargs = {}
        Q = models.models.Q
        if self.options["show_nextaction"]:
            return self.do_next_action(date_query)
        elif self.options["show_inbox"]:
            kwargs["data_type"] = models.type_list["inbox"]
        elif self.options["show_task"]:
            kwargs["data_type"] = models.type_list["calender"]
        elif self.options["show_memo"]:
            kwargs["data_type"] = models.type_list["memo"]
            kwargs["finished_date__isnull"] = False
        elif self.options["show_someday_task"]:
            kwargs["data_type"] = models.type_list["someday"]
        view_range = self.options.get("view_range")
        show_finished = self.options["show_finished_card"]
        show_unfinished = self.options["show_unfinished_card"]
        show_doing = self.options["show_doing"]
        if not view_range:
            if show_doing:
                    kwargs.setdefault("finished_date__isnull", True)
                    kwargs.setdefault("start_date__isnull", False)
            else:
                if show_unfinished:
                    kwargs.setdefault("target_date__lt", date.today())
                    kwargs.setdefault("finished_date__isnull", True)
                elif not show_finished:
                    kwargs.setdefault("finished_date__isnull", True)
            return Q(**kwargs)

        view_start, view_end = view_range.get(date_query)
        if show_unfinished:
            kwargs["target_date__lt"] = view_start
            kwargs["finished_date__isnull"] = True
            return Q(**kwargs)
        else:
            kwargs["target_date__range"] = [view_start, view_end]
            if not show_finished:
                kwargs["finished_date__isnull"] = True
            return Q(**kwargs)