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)
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)
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
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)