コード例 #1
0
def trigger_emails():
    """Send emails to Employees at the given hour asking
	them what did they work on today"""
    groups = frappe.get_all("Daily Work Summary Group")
    for d in groups:
        group_doc = frappe.get_doc("Daily Work Summary Group", d)
        if (is_current_hour(group_doc.send_emails_at)
                and not is_holiday(group_doc.holiday_list)
                and group_doc.enabled):
            emails = get_user_emails_from_group(group_doc)
            # find emails relating to a company
            if emails:
                daily_work_summary = frappe.get_doc(
                    dict(doctype="Daily Work Summary",
                         daily_work_summary_group=group_doc.name)).insert()
                daily_work_summary.send_mails(group_doc, emails)
コード例 #2
0
def get_data(filters):
	daily_summary_emails = frappe.get_all('Daily Work Summary',
		fields=["name"],
		filters=[["creation","Between", filters.range]])
	daily_summary_emails = [d.get('name') for d in daily_summary_emails]
	replies = frappe.get_all('Communication',
			fields=['content', 'text_content', 'sender'],
			filters=[['reference_doctype','=', 'Daily Work Summary'],
				['reference_name', 'in', daily_summary_emails],
				['communication_type', '=', 'Communication'],
				['sent_or_received', '=', 'Received']],
			order_by='creation asc')
	data = []
	total = len(daily_summary_emails)
	for user in get_user_emails_from_group(filters.group):
		user_name = frappe.get_value('User', user, 'full_name')
		count = len([d for d in replies if d.sender == user])
		data.append([user_name, count, total])
	return data
コード例 #3
0
def get_data(filters):
	daily_summary_emails = frappe.get_all('Daily Work Summary',
		fields=["name"],
		filters=[["creation","Between", filters.range]])
	daily_summary_emails = [d.get('name') for d in daily_summary_emails]
	replies = frappe.get_all('Communication',
			fields=['content', 'text_content', 'sender'],
			filters=[['reference_doctype','=', 'Daily Work Summary'],
				['reference_name', 'in', daily_summary_emails],
				['communication_type', '=', 'Communication'],
				['sent_or_received', '=', 'Received']],
			order_by='creation asc')
	data = []
	total = len(daily_summary_emails)
	for user in get_user_emails_from_group(filters.group):
		user_name = frappe.get_value('User', user, 'full_name')
		count = len([d for d in replies if d.sender == user])
		data.append([user_name, count, total])
	return data
コード例 #4
0
def get_data(filters):
    daily_summary_emails = frappe.get_all(
        "Daily Work Summary",
        fields=["name"],
        filters=[["creation", "Between", filters.range]])
    daily_summary_emails = [d.get("name") for d in daily_summary_emails]
    replies = frappe.get_all(
        "Communication",
        fields=["content", "text_content", "sender"],
        filters=[
            ["reference_doctype", "=", "Daily Work Summary"],
            ["reference_name", "in", daily_summary_emails],
            ["communication_type", "=", "Communication"],
            ["sent_or_received", "=", "Received"],
        ],
        order_by="creation asc",
    )
    data = []
    total = len(daily_summary_emails)
    for user in get_user_emails_from_group(filters.group):
        user_name = frappe.get_value("User", user, "full_name")
        count = len([d for d in replies if d.sender == user])
        data.append([user_name, count, total])
    return data