本文整理汇总了Python中corehq.apps.reminders.models.CaseReminderHandler.get_reminders方法的典型用法代码示例。如果您正苦于以下问题:Python CaseReminderHandler.get_reminders方法的具体用法?Python CaseReminderHandler.get_reminders怎么用?Python CaseReminderHandler.get_reminders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corehq.apps.reminders.models.CaseReminderHandler
的用法示例。
在下文中一共展示了CaseReminderHandler.get_reminders方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_complex_reminder_schedule
# 需要导入模块: from corehq.apps.reminders.models import CaseReminderHandler [as 别名]
# 或者: from corehq.apps.reminders.models.CaseReminderHandler import get_reminders [as 别名]
def add_complex_reminder_schedule(request, domain, handler_id=None):
if handler_id:
h = CaseReminderHandler.get(handler_id)
if h.doc_type != 'CaseReminderHandler' or h.domain != domain:
raise Http404
else:
h = None
form_list = get_form_list(domain)
sample_list = get_sample_list(domain)
if request.method == "POST":
form = ComplexCaseReminderForm(request.POST)
if form.is_valid():
if h is None:
h = CaseReminderHandler(domain=domain)
h.ui_type = UI_COMPLEX
else:
if h.start_condition_type != form.cleaned_data["start_condition_type"]:
for reminder in h.get_reminders():
reminder.retire()
h.active = form.cleaned_data["active"]
h.case_type = form.cleaned_data["case_type"]
h.nickname = form.cleaned_data["nickname"]
h.default_lang = form.cleaned_data["default_lang"]
h.method = form.cleaned_data["method"]
h.recipient = form.cleaned_data["recipient"]
h.start_property = form.cleaned_data["start_property"]
h.start_value = form.cleaned_data["start_value"]
h.start_date = form.cleaned_data["start_date"]
h.start_offset = form.cleaned_data["start_offset"]
h.start_match_type = form.cleaned_data["start_match_type"]
h.schedule_length = form.cleaned_data["schedule_length"]
h.event_interpretation = form.cleaned_data["event_interpretation"]
h.max_iteration_count = form.cleaned_data["max_iteration_count"]
h.until = form.cleaned_data["until"]
h.events = form.cleaned_data["events"]
h.submit_partial_forms = form.cleaned_data["submit_partial_forms"]
h.include_case_side_effects = form.cleaned_data["include_case_side_effects"]
h.ui_frequency = form.cleaned_data["frequency"]
h.start_condition_type = form.cleaned_data["start_condition_type"]
h.max_question_retries = form.cleaned_data["max_question_retries"]
if form.cleaned_data["start_condition_type"] == "ON_DATETIME":
dt = parse(form.cleaned_data["start_datetime_date"]).date()
tm = parse(form.cleaned_data["start_datetime_time"]).time()
h.start_datetime = datetime.combine(dt, tm)
else:
h.start_datetime = None
h.sample_id = form.cleaned_data["sample_id"]
h.save()
return HttpResponseRedirect(reverse('list_reminders', args=[domain]))
else:
if h is not None:
initial = {
"active" : h.active,
"case_type" : h.case_type,
"nickname" : h.nickname,
"default_lang" : h.default_lang,
"method" : h.method,
"recipient" : h.recipient,
"start_property" : h.start_property,
"start_value" : h.start_value,
"start_date" : h.start_date,
"start_match_type" : h.start_match_type,
"start_offset" : h.start_offset,
"schedule_length" : h.schedule_length,
"event_interpretation" : h.event_interpretation,
"max_iteration_count" : h.max_iteration_count,
"until" : h.until,
"events" : h.events,
"submit_partial_forms" : h.submit_partial_forms,
"include_case_side_effects" : h.include_case_side_effects,
"start_condition_type" : h.start_condition_type,
"start_datetime_date" : str(h.start_datetime.date()) if isinstance(h.start_datetime, datetime) else None,
"start_datetime_time" : str(h.start_datetime.time()) if isinstance(h.start_datetime, datetime) else None,
"frequency" : h.ui_frequency,
"sample_id" : h.sample_id,
"use_until" : "Y" if h.until is not None else "N",
"max_question_retries" : h.max_question_retries,
}
else:
initial = {
"events" : [CaseReminderEvent(day_num=0, fire_time=time(0,0), message={"":""}, callback_timeout_intervals=[], form_unique_id=None)],
"use_until" : "N",
"max_question_retries" : QUESTION_RETRY_CHOICES[-1],
"active" : True,
}
form = ComplexCaseReminderForm(initial=initial)
return render(request, "reminders/partial/add_complex_reminder.html", {
"domain": domain,
"form": form,
"form_list": form_list,
"handler_id": handler_id,
"sample_list": sample_list,
})